Recent Posts

Pages: [1] 2 3 ... 10
1
Army Editor Tech Support / Re: Weapon profiles ?
« Last post by Mickey3D on September 20, 2018, 02:24:46 PM »
Thanks for your answer.

Maybe I was not clear in my explanation :
- I know all these variables are available today in the editor but they have to be repeated for each unit despite the fact they seems to be closely related to the kind of weapon of the unit.
- My idea is not to have a predefined list of weapon profiles (may be just a few examples) but to let users of the editor define their own profiles (the same way you can today define accuracies).

So :
- Users keep full control and freedom on the units definition.
- If I want to change the range of the Brown Bess from 300 to 250 meters, I just need to do it in one place (i.e. the weapon profile) and all my units will automatically inherit the change.
2
Army Editor Tech Support / Re: Weapon profiles ?
« Last post by Dr D Ezra Sidran on September 18, 2018, 06:25:08 AM »
You've basically described the system that we have, that is to say for every unit you can specify all these variables. However, I want to stay away from 'pre-designed weapons profiles' for a number of reasons:
  • While researching the range of the Brown Bess (for the video demo that I posted) I came up with all kinds of ranges. First 300 meters, somewhere else 250 meters. And then Andy O'Neill emailed me that he thought even those numbers were too high. So, I don't feel in a position to make a 'definitive' statement about these things.
  • We want to give the users complete freedom to change all these variables and use values that reflect their research.
  • We don't want to limit the user to a set number of pre-defined weapons.

I think that you will find you can create any weapons profile that you want for the Black Powder era with the General Staff Black Powder Army Editor. And, with the copy and paste function, will be able to rapidly duplicate these variables for whatever units in your OOB that you wish.

We very much appreciate your feedback.
3
Army Editor Tech Support / Weapon profiles ?
« Last post by Mickey3D on September 17, 2018, 02:50:44 PM »
I know that the following idea might change your design but, basically, the shooting effect, the accuracy, the range, the close combat and the reload are all related to the type of weapon (e.g. rifled musket, smoothbore musket, revolver, repeating rifle, sharpshooter rifle, ...). So my idea would be to create weapon profiles defining all these values and then to assign a weapon to each unit of the army.

Quality of the unit might then have an impact on these values (an elite unit might fire quickly with better accuracy and fight better in close combat).
4
Army Editor Tech Support / Re: Catching errors
« Last post by Dr D Ezra Sidran on September 11, 2018, 07:52:46 AM »
There is a new build (very minor changes and one new Preferences menu option). Thanks for bringing this to my attachment. I'll upload new builds today. I was planning on working on a video tutorial today, too, which I'll add to the Fandom Wiki.

5
Army Editor Tech Support / Re: Catching errors
« Last post by Mickey3D on September 07, 2018, 11:32:15 AM »
Is the new editor available on the download page (date on the page is still August 20, 2018) ?
6
General Staff Support Forum / Re: Changelog - picture heavy
« Last post by Andy ONeill on September 06, 2018, 01:34:22 PM »
Army Editor

Several changes to the Accuracy editing. This is for both editing values of a unit and a txt file.
The x and Y axis are now labelled.
You're working with proportions and a percentage per slice for both.
If you have entered a range for a unit then that will be used when you're editing a unit's values.

There is also the facility to draw a curve.
You click the "Draw" button and a low opacity overlay is added on top of whatever curve you have.
Draw a line and when you finish it will be interpreted into values and those will replace whatever you had for that unit/file in memory.
You can then choose to save, close the window and abandon your changes or redo.
I can't manage to draw a smooth curve with a mouse despite multiple tries.
You may be better at this but my approach is to get near-enough and then edit the values.

You must left mouse ( or stylus ) down, draw continuously and then left mouse up.
You can't draw a bit, stop then draw a bit more.
The process is per continuous drawn line.

This picture is snagged mid-draw.



You can see the original curve behind the line I'm drawing.
Pretty much as soon as I mouse up, the old curve is replaced by a new one.
The screen capture approach I used doesn't capture the cursor.
It's a pen.
You're drawing with ink here so the curve can be a bit smoother than you'd get otherwise.

The process works by dividing the line into 100 vertical slices and working out where you drew in each of these.
If you don't start from near enough to the left axis then there will be nothing in "missed" slices and 1.0 is substituted.
Towards the right hand side, similarly 0.01 will be substituted.
In the below picture I stopped part way.
On this pc there is no noticeable lag between drawing the line and the processed result.



 
7
General Staff Support Forum / Re: Changelog - picture heavy
« Last post by Andy ONeill on September 05, 2018, 07:21:00 AM »
Army Editor

Added a message which says which file name you just selected when you set the accuracy values.
This includes the initial set when you add a new unit.
This is because the values are initially set to the default - whichever file name contains "Musket" in the name.
As mentioned previously, if you have either none or more than one such file qualifies then strange things might happen.
8
General Staff Support Forum / Re: Changelog - picture heavy
« Last post by Andy ONeill on September 05, 2018, 03:43:31 AM »
Army Editor

Smoothed out the values in the accuracy .txt files.

Reload accuracies when saving a change to a file.
When you use the preferences > Accuracies to edit files and save changes.
Previously, you would have needed to close the app and re-open to pick up changes to an accuracy file.
Having said that.
Extensive changes to accuracy files should not be necessary.

Change the accuracy drop down combo to include the name of the file.
(Ezra felt a tooltip wasn't obvious enough.)
Also added a border round the little graphs.

Note that picking a curve is a one off process.
You pick the curve out the combobox and it's values are applied to the unit.
You're not setting the unit to have Muskets or Pistols, you're just copying the values.
This then allows you to edit the values for a specific unit if you really wanted to.
It also means units and accuracy files are totally separate.
Someone else you give an army file does not need the various accuracy files you used to create it.
If you wanted to, you could have a different set of files you use for different periods and switch out which you have in the Accuracies folder as you work on armies for each period.
9
Army Editor Tech Support / Re: Catching errors
« Last post by Andy ONeill on September 03, 2018, 05:27:20 AM »
I've implemented this.
I chose clipboard because the apps are fairly heavily multi threaded.
Showing a window is kind of risky.
UI controls ( and windows ) are thread sensitive.
You can't show a window from a non ui thread.
It can also be tricky to get a window to stick around when an app is in a closing down state due to an error.

What I wanted to definitely avoid is the possibility of an infinite loop of an error causing the error handler to show window... causing an error... which causes the error handler to show a window... infinite death spiral.




10
General Staff Support Forum / Re: Changelog - picture heavy
« Last post by Andy ONeill on September 03, 2018, 05:17:12 AM »
All - Global error handler

I've added code which attempts to capture the details of any error.
The idea being to make it easier for beta testers to report errors with a stack trace.
You don't see any difference from the current behaviour, there's no extra form shown.
The error description and stacktrace are copied to the clipboard.
You can then just paste that into notepad or a forum post.
Testing this is kind of tricky since I needed to simulate an error.
An example of the result from this is below.

Note that this isn't always anywhere near enough to diagnose a problem and a description of what you were doing at the time you saw a problem is still invaluable.



Parameter cannot be null
Parameter name: original
GSBPArmyEditor
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at GalaSoft.MvvmLight.Helpers.WeakAction.Execute() in C:\Users\lbugn\Documents\MVVMLight\GalaSoft.MvvmLight\GalaSoft.MvvmLight (PCL)\Helpers\WeakAction.cs:line 357
   at GalaSoft.MvvmLight.CommandWpf.RelayCommand.Execute(Object parameter) in C:\Users\lbugn\Documents\MVVMLight\GalaSoft.MvvmLight\GalaSoft.MvvmLight (PCL)\Command\RelayCommand.cs:line 230
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at ArmyEditor.App.Main()

Pages: [1] 2 3 ... 10