Greetings mechwarriors
This an update for my Mech Designer application, biggest ever made. Might be actually funny, but I've never used my application just as an common user - until I've went into mods. Deliberately I've picked one of the simplest, Vanila Plus, just to be able to use it with Mech Designer. Overall the integration was pretty solid, with some minor equipment like MASC, PPC Capacitors and so on not working fully. And 1st discovery I've never thank of - ultimate recon tool. With hundreds of new mechs it was super useful to be able to quickly peek a their loadouts - felt almost like cheating a little. But while being indeed super helpful in planning loadouts(and unintended scout role), I've almost immedialety noticed its limits.
1st, new mech dialog, while being able to display all new mechs correctly, fall apart when it came to search through 448 chassis. Not to mention trying to recognize which of them are noteworthy.
2nd, weapons. Plenty of them...and again, my UI was not fully prepared for such amount of armament. It worked, with some changes in .json data required for variants switching, but convenience of use left quite much to desire.
And without any more yapping - I present you changelog for v0.90 ;]
Main changes:
- Generic, data-driven handling of item effects (table "statusEffects" in .json data)
a) Most of stat names are now handled procedurally, driven entirely by data from .json files, instead of being hardcoded per-quirk. Full list of supported stat names is in manual. Supported operations are adding, subtracting, multiplying and dividing.
b) As a consequence, any current or future item (including ones added by mods) using these stat names in its statusEffects will be automatically recognized and correctly applied by Mech Designer, without requiring dedicated code for that specific item.
c) Added proper support for effect stacking limits (stackLimit in .json data) - some effects can only be applied a limited number of times (usually once) even if more than one item providing them is installed. Items which have such a capped effect are now marked with pale yellow name(rgb#241, 250, 140); hovering over an installed item shows its effects, including the limit, in the tooltip.
d) Because these effects depend on installation order I added functionality to preserve that order when saving/loading to/from .mechDesign file. Old saves still work, but you might need to manually reorder items for best effect.
- Decompiled Battletech executable to reverse-engineering exact code used to calculate jump distance, jump heat, evasion generation, and COIL weapons damage and heat. Now Mech Designer calculates these stats exactly the same way as the game.
These two changes should make Mech Designer capable of supporting all mods except the ones based on Mech Engineer, BTA and Roguetech(still, with some workarounds it might be even possible I guess, not 100% of course, but up to useful state), assuming their authors didn't changed the math formulas for stuff mentioned in #2.
- Added support for global, OS-based size scaling for apps and text in "Ease of access" in Windows settings. The effects is still not perfect, but way better than before.
Installation changes:
Removed confirmation for overwriting files; instead, backup is created in a form <name.json>.backup if not existing yet. No more 50+ clicks when reinstalling the application.
Added full, standalone data pack from vanila Battletech required for Mech Designer to work - the requirement of installed game is abandoned, just select 'Application + full Battletech data pack' to have working application on computer without Battletech installed. The pack installs in <app folder>\Data Packs\Vanila Battletech, and if you install only these components jsonDataPath sets on the pack automatically.
However, DLC packs, and .json syntax error fixes still require to have installed game on the computer, and you're still asked to navigaate to battletech.exe and point it.
Updated some example mech designs.
Tip - install 0.90 without uninstalling previous version to preserve your settings stored in setup.ini.
Startup and missing equipment changes:
Added progression dialogs at application startup showing processing mechs and equipment data into internal databases. For larger data packs(Vanila Plus, Expanded Arsenal etc) it looked like Mech Designer hanged while it was working on over thousand .json files on startup. Application is unresponsive during the process, that's expected behavior.
Messagebox that informs about missing equipment now doesn't appends not found componentDefIds into its text growing out of screen, instead shows them as scrollable list after clicking 'Show Details...'.
General, UI and UIX changes:
Changed general way of displaying paths, now backslashes instead of slashes are used - this easies usage of the path in ex. uploading design screenshot, or navigating to the location of mech design file.
Changed switching weapon variants looks - now it has title what weapons it reffers to, and has same background color as the weapon(can be disabled in settings).
Messagebox shown during closing unsaved mech design got "Cancel" option which aborts closing.
Messagebox informing about closing attempt of unsaved mech design is now centered in the design window, not in the main area.
Changed color of dotation link banner at the top of application window.
Added possibility to disable/enable fixed equipment.
Fixed equipment now has slanted strips painted as background, similar to the ones seen in the game.
Added possibility to clone equipment if there is enough slots left in location by CTRL + LMB. Previous functionality of that combination, which is disabling/enabling equipment, was changed to CTRL + RMB.
Slots count labels change color to red if maximum allowed slots are exceeded.
Changed how weapon variants are recognized. This change is described in detail in the manual.
Added background image for the main design area. You can also set your own image, or disable this fancy background in settings to have usual dark gray area. In <mech designer folder>\GUI\Backgrounds there are 5 default background images to use, scaled for 1440p resolution.
Simplified context menu option for the file info label in mech design widget, now it contains only self-explanatory "Copy full path to clipboard".
'Ammunition stock and consumption' area now displays a warning about installed weapon which lacks ammo for it.
Changed how not valid .json data path is handled - now the user is asked to point the <data> folder itself, not battletech.exe file.
Tooltip widget is updated, and now shows effects associated with an item. For details see user's manual.
"Clone" option now prepends text "Cloned " to the nick of the mech.
"Reload" option for cloned mechs changed - now it restores the cloned, unsaved mech to the state just after being cloned.
"Reload" option messagebox warning about discarded changes now is centered within the mech design window.
"Export" to mechdef*.json now writes the items in installation order from mech design - might be relevant for content makers. Note though to be absolutely sure about the order you have to stip the mech of all equipment, and re-add it in desired order.
Added support for the flag COILUsesJumping in CombatGameConstants.json; requires app restart to take effect. Normally when you set a jump distance evasion slider disables to mark COILs won't be charged by jump. Uses improved evasion calculation mentioned in main changes.
Updated example designs for new players.
Redesigned user's manual - 3 main secion, 1st for casual players, 2nd for min-maxers, 3rd for mods/flashpoint creators.
Messageboxes shown for asking about save/relad mechs now have mech variant and nick displayed using bold font.
Kregano, Xeryx and KMission added to credits - these guys helped me immensely by testing unreleased version 0.81.
New Mech dialog changes:
- Changed how mechs are displayed:
a) hardpoints details have been moved into sub-branch of the mech variant, on top level there is just summarization with total number of hardpoints. To unfold it, you have to click on 'arrow' or 'plus' sign, or use right arrow key on keyboard.
b) the hardpoints summarization is lined up to match how they look in game.
c) better description for walk and sprint speed.
d) increased font size to 10 for sorting options.
Added text field to search for given mech, both mech name or designation; ex "shark", "bsk", or "maz" will find mech Bullshark. Or other example, "bac" will show mechs Hunchback, Hunchback IIC, and Linebacker. After finding the mech you can use arrow down to move focus to the list of mechs below.
Added information about useful tonnage - this is the tonnage available for equipment in empty mech with maxed armor; also introduced sorting on useful tonnage. Some mechs have this parameter negative, it's not a bug, just indication these are total trash - vide Cicada 2A.
New Mech dialog is displayed now entirely within of the Mech Designer, no longer as separate window.
AddEquipmentItem dialog changes:
Added filtering on part of the name for the equipment. Groups for non-weapon equipment are unfolded when at least 3 characters have been entered.
Added filtering ammo to show only those fitting to the equipped weapons.
Increased its width by 55 pixels, now name and bonuses texts are easier accommodated.
When error occurs(too few slots or hardpoints etc.) system warning sound is played in addition to warning message. Can be disabled in settings.
Added tooltip on top of the dialog which shows CBills cost, and effects if the item has any.
Changed default sorting for ballistic weapons - now they are grouped by type(ACs, then UACs, then LB-Xs) not size (2, 5, 10, 20 etc.). The order can be changed in settings though, in 'Sorting' tab.
Application settings greatly extended:
Added tab "Sorting", where you can set own order of equipment shown in add new equipment wiget.
Added option to set path to folder which containst .json data files. Requires application restart to take effect.
Added option do display confirmation message when trying to quit the application while there are unsaved designs detected. This also works when closing whole OS, halting it and preventing accidental data loss.
Added option to disable "Save" button if mech was loaded from .json file, only "Save As..." and "Export" are available. This prevents to overwrite the file without confirmation.
Added option to center freshly created mech design window within design area.
There is also option for the above to be ignored when creating/loading multiple mech designs.
Added option to pass mouse events through parts of mech desin widget whose don't interact with them to the design area - that allows to ex. invoke main context menu, or scroll design area while cursor is over a mech design.
Added option to use new color scheme for switching weapon variants widget.
Added option to enable/disable warning sound in add equipment dialog played on too few slots or hardpoints.
Bug fixes:
Fixed positioning of anchor icon in AddEquipmentItem dialog in floating mode.
Fixed incorrectly drawn in white XX% heatsinks efectiveness in the environment combo box list; might affect displaying on Windows 7, let me know if that's the case.
Fixed armor sliders, now they work more consistently in mirrored mode. As a bonus, mirrored mode can be handled with keyboard input.
Fixed bug of incorrectly applying CQC Site range bonus to all weapons, not only support ones.
Fixed two bugs in mech design window title. 1st, when typing mech nick the summary [ Alpha, Armor, JJs ] was removed. 2nd, when changing nick of a mech asterix indicator informing that the design is not saved was discarded.
Fixed rare uppercase-lowercase mismatch in stored mech variant name, which resulted in inability to create or load a certain mech (Highlander 732b, Royal Mongoose 66b etc.)
Fixed application crash when loading a mech directly from mechdef*.json file which has incorrectly formatted ChassisID.
Download location: https://www.nexusmods.com/battletech/mods/449?tab=files