Commit Graph

323 Commits

Author SHA1 Message Date
Guillaume Jacquemin 918ead0733 SaveTool: add "unequip" button to shield parts and BL projectiles.
It doesn't actually unequip them (the game has no concept of that,
unlike accessories), but replaces the ID with one that doesn't exist.
2022-04-08 14:33:17 +02:00
Guillaume Jacquemin 42b4974b43 SaveTool: make the weapon part radio buttons match the game. 2022-04-08 14:12:56 +02:00
Guillaume Jacquemin c35735b2fc SaveTool: fix an issue with the damage type radio buttons. 2022-04-08 14:12:14 +02:00
Guillaume Jacquemin 32a1a6d014 Mass: fix a bug when writing armour parts. 2022-04-08 12:44:30 +02:00
Guillaume Jacquemin 71d38f4a91 SaveTool,MassManager: improve staged file updates.
No need to redo the whole staged list when only one file gets updated.
Considering the call to refreshStagedMasses() is blocking (I might look
into threading stuff), its time complexity is O(n) at worst, which can
be bad on slower systems.
2022-04-04 10:37:09 +02:00
Guillaume Jacquemin 869ca07b20 SaveTool: remove an extraneous call to data().
Corrade arrays implicitly decay to their T* form (wchar_t here), after
all.
2022-04-04 09:58:12 +02:00
Guillaume Jacquemin c1ae793800 SaveTool: add a help marker for the melee effect colour picker. 2022-04-04 09:22:12 +02:00
Guillaume Jacquemin 70ddb0ce39 UESaveFile: don't create a backup if the file is already temporary.
Also improve error handling.
2022-04-04 09:21:31 +02:00
Guillaume Jacquemin 704f6e2f49 Maps: why was this double-indented ?
WTF, CLion ?
2022-04-02 21:44:50 +02:00
Guillaume Jacquemin dbc52ec28f SaveTool: allow changing the equipped accessory. 2022-04-02 21:34:45 +02:00
Guillaume Jacquemin 11c089d408 Mass,Profile: improve safety by checking the save type. 2022-04-02 19:54:32 +02:00
Guillaume Jacquemin 6b280b2668 UESaveFile: add a new API and change some stuff. 2022-04-02 19:53:58 +02:00
Guillaume Jacquemin 213269521d Maps: update the accessory map. 2022-04-02 19:53:34 +02:00
Guillaume Jacquemin b6ad795383 SaveTool: fragment files more.
SaveTool.cpp was getting on the unmanageable side.
2022-04-01 09:36:33 +02:00
Guillaume Jacquemin 94979907b1 SaveTool::drawAbout(): update for cpr removal, add a link, fix various issues.
That function was in _dire_ need of an update...
2022-03-31 19:20:11 +02:00
Guillaume Jacquemin a36d9134bf SaveTool: update formatting. 2022-03-31 18:43:39 +02:00
Guillaume Jacquemin 0e3e3145b7 MassManager: update formatting. 2022-03-31 17:58:47 +02:00
Guillaume Jacquemin 3be094febc ToastQueue: make toasts wrap instead of cutting them off. 2022-03-31 17:58:37 +02:00
Guillaume Jacquemin a166948aec SaveTool: remove dependency on cpr, switch to raw libcurl.
Took me pretty much a whole day, but I managed to do it.
2022-03-31 17:57:53 +02:00
Guillaume Jacquemin b909aa85b7 SaveTool: handle error code 0 (blocked by firewall). 2022-03-31 09:00:57 +02:00
Guillaume Jacquemin 94f6192aa8 CMakeLists: bump version number.
I'm technically working on 1.3.2, so...
2022-03-30 21:58:36 +02:00
Guillaume Jacquemin 5705f408a5 MassManager: this piece of code is in SaveTool.
Why the Hell is it still here ?
2022-03-30 20:35:04 +02:00
Guillaume Jacquemin 4ed7aff835 MassManager: change how hangars are handled. 2022-03-30 20:34:37 +02:00
Guillaume Jacquemin 718a6fd754 Mass: improve logging. 2022-03-30 19:51:00 +02:00
Guillaume Jacquemin 677bf21c9f Mass: slight formatting update.
Seriously, how did this slip through the cracks ?
2022-03-30 19:46:09 +02:00
Guillaume Jacquemin 2c2e5ad936 SaveTool: remove the dependency on json.hpp. 2022-03-30 15:15:54 +02:00
Guillaume Jacquemin ef05c075ba main: improve logging. 2022-03-30 14:18:23 +02:00
Guillaume Jacquemin 14d75e0e83 Save Tool: improve logging and reorganise stuff. 2022-03-30 14:18:08 +02:00
Guillaume Jacquemin 63a8cf7075 SaveTool: fix another bug in the updater. 2022-03-28 09:58:22 +02:00
Guillaume Jacquemin bf3288772e SaveTool: ensure old_filename isn't SSO'd so it can be released. 2022-03-28 09:46:29 +02:00
Guillaume Jacquemin bde6fc41a0 Main: don't include <fstream> in debug builds. 2022-03-27 22:09:56 +02:00
Guillaume Jacquemin ac1276761e SaveTool: fix "external changes detected" on saving in the tool.
I hope.
2022-03-22 09:59:30 +01:00
Guillaume Jacquemin fd3306b175 CMakeLists: bump version number. 2022-03-21 16:47:44 +01:00
Guillaume Jacquemin cf72cbe2c6 SaveTool: fix a bug in the update checker. 2022-03-21 16:47:29 +01:00
Guillaume Jacquemin f4adb9e26a SaveTool: fix a few bugs. 2022-03-21 16:31:29 +01:00
Guillaume Jacquemin 592fd2ba3a SaveTool: what is that comment doing here ? 2022-03-21 15:37:06 +01:00
Guillaume Jacquemin 84b1e276a1 SaveTool: don't pass a StringView to ImGui, it doesn't like that. 2022-03-21 15:36:49 +01:00
Guillaume Jacquemin 0c8c2601ce CMakeLists: bump version number. 2022-03-21 15:22:46 +01:00
Guillaume Jacquemin 147c38669f StoryProgress: add missing story events as well as the "new" chapter 3. 2022-03-21 15:21:45 +01:00
Guillaume Jacquemin 1871440a7b UESaveFile: copy the temp file over the old one.
This is to prevent an issue where updating a profile save makes the app
think it's deleted.
2022-03-21 15:20:36 +01:00
Guillaume Jacquemin 133c34f5f7 SaveTool: make the tuning tab present only in debug builds. 2022-03-20 11:32:08 +01:00
Guillaume Jacquemin 47890f6939 ArmourSets: add Axial Core. 2022-03-20 11:31:37 +01:00
Guillaume Jacquemin 354c3ff3d9 LastMissionId: add missing IDs. 2022-03-20 11:31:15 +01:00
Guillaume Jacquemin 04beebbc1c SaveTool: implement the UI for BL placement editing. 2022-03-20 10:17:14 +01:00
Guillaume Jacquemin 47520b89e3 Mass: implement BL attachment writing.
Needs testing, though.
2022-03-20 10:16:39 +01:00
Guillaume Jacquemin ce0ca07afc SaveTool: various UI tweaks. 2022-03-20 09:14:46 +01:00
Guillaume Jacquemin e91c015c00 SaveTool,ProfileManager: make backups 0.8-ready. 2022-03-20 09:14:11 +01:00
Guillaume Jacquemin 75d77413f6 Mass: add a new value to BulletLauncherSockets.hpp. 2022-03-13 15:26:00 +01:00
Guillaume Jacquemin ddad6536c6 Mass: fix a condition. 2022-03-13 15:25:11 +01:00
Guillaume Jacquemin d9f6470dc6 Mass: make the code look in the right places.
Time to facepalm...
2022-03-13 11:02:43 +01:00
Guillaume Jacquemin f963ce31ad SaveTool: fix a condition that prevented armour accessories from being editable. 2022-03-13 10:48:32 +01:00
Guillaume Jacquemin be06c2d552 Mass: add reading support for 0.8 BL placement.
Then, it's UI design time, followed by writing support.
2022-03-12 09:34:19 +01:00
Guillaume Jacquemin d61977d758 Weapon: change how enums are built. 2022-03-11 15:39:49 +01:00
Guillaume Jacquemin f36782bff0 ArmourPart: auto-fill ArmourSlot using ArmourSlots.hpp. 2022-03-11 10:58:13 +01:00
Guillaume Jacquemin 76613c2ec5 Mass: add a few missing string views. 2022-03-11 10:57:16 +01:00
Guillaume Jacquemin e997312286 SaveTool: rename tabs in the build viewer. 2022-03-11 10:56:52 +01:00
Guillaume Jacquemin e2d31854b4 SaveTool: use ImGui's {Begin,End}Disabled API. 2022-03-11 09:20:24 +01:00
Guillaume Jacquemin ccf630c385 MassManager: fix a condition. 2022-03-09 14:03:08 +01:00
Guillaume Jacquemin 4ae9f83ab3 SaveTool: fix a segfault. 2022-03-09 14:02:56 +01:00
Guillaume Jacquemin dd9dcdb5f6 SaveTool: change how file update events are handled. 2022-03-09 13:27:45 +01:00
Guillaume Jacquemin f1a4b64219 SaveTool: use the shorthand getters added in the previous commit. 2022-03-09 13:27:21 +01:00
Guillaume Jacquemin 8f4708f518 Profile: provide shorthand getters. 2022-03-09 13:25:26 +01:00
Guillaume Jacquemin b859bf7ab5 Update Corrade/Magnum and adapt to changes.
Also a few misc things, but nothing really noteworthy.
2022-03-09 11:04:19 +01:00
Guillaume Jacquemin db6836ec33 Profile(Manager): add basic 0.8 profile support. 2022-03-06 14:42:24 +01:00
Guillaume Jacquemin 89bba618fb SaveTool: eliminate a few format warnings. 2022-03-06 14:30:04 +01:00
Guillaume Jacquemin 88afaaceec UESaveFile/Serialisers: make types() return an ArrayView of Strings.
It's the best way to avoid dangling views for now.
2022-03-06 14:29:09 +01:00
Guillaume Jacquemin fdb7567aea PropertySerialiser: make into a singleton.
Also update UESaveFile to match.
2022-03-06 13:21:56 +01:00
Guillaume Jacquemin 771e008e62 Mass: fragment into smaller files.
Should help navigation and maintenance.
2022-03-06 09:52:11 +01:00
Guillaume Jacquemin 4d9fc46003 SaveTool: fix a mistake in drawAbout. 2022-03-06 09:25:23 +01:00
Guillaume Jacquemin db3eba5b59 SaveTool: move some stuff into its own function. 2022-03-06 09:12:40 +01:00
Guillaume Jacquemin 8791eb32ac Use Corrade's String(View) types where possible.
Utility::Directory, efsw, cpr, and json.hpp are the only obstacles to a
complete removal of std::string usages.
2022-03-04 21:18:55 +01:00
Guillaume Jacquemin f522d20dd4 SaveTool: fragment SaveTool_MassViewer.cpp.
This will make maintenance easier. I hope.
2022-03-02 14:43:02 +01:00
Guillaume Jacquemin 6208825aa6 Mass: fix a bug that prevented global styles from being read. 2022-03-02 14:10:13 +01:00
Guillaume Jacquemin 572585e648 SaveTool: optimise code readability.
...mostly for Clang/CLion. :D
2022-03-02 11:46:31 +01:00
Guillaume Jacquemin de2ba9ce7f Mass(Manager),SaveTool: improve error handling. 2022-02-26 14:48:45 +01:00
Guillaume Jacquemin d0ddc73852 Profile: fix a compile error. 2022-02-25 21:00:32 +01:00
Guillaume Jacquemin a1c17b7138 Profile(Manager),SaveTool: improve error handling and fix bugs. 2022-02-24 14:00:47 +01:00
Guillaume Jacquemin 350ad59f8e SaveTool: add a convenience wrapper over ImGui stuff. 2022-02-23 21:59:00 +01:00
Guillaume Jacquemin 883d5d3f41 Mass,SaveTool: improve error handling. 2022-02-23 15:47:34 +01:00
Guillaume Jacquemin 77d7eaefad SaveTool: fix a condition. 2022-02-23 10:18:58 +01:00
Guillaume Jacquemin 82170b3078 Mass,SaveTool: optimise the effect colour mode. 2022-02-17 20:22:33 +01:00
Guillaume Jacquemin 88abf91047 Mass,SaveTool: add some future-proofing. 2022-02-17 20:01:59 +01:00
Guillaume Jacquemin 955ec010b8 Crc32: make the polynomial literal explicitly unsigned. 2022-02-16 11:48:39 +01:00
Guillaume Jacquemin 7cb9ea28b2 BinaryReader: add a way to read arbitrary types. 2022-02-16 11:47:49 +01:00
Guillaume Jacquemin 975f471a68 BinaryReader: add a way to seek into the file. 2022-02-14 09:31:20 +01:00
Guillaume Jacquemin 76210e147a BinaryWriter: add a way to access the temp array.
That way, I'll be able to easily compute the CRC32 of it.
2022-02-13 15:09:07 +01:00
Guillaume Jacquemin 5e06c48492 BinaryWriter: fix an issue with writeValueToArray().
The view needs to be of type T, not U (which can potentially be T&).
2022-02-13 15:03:45 +01:00
Guillaume Jacquemin 2ff32c4c78 Add a CRC32 algorithm. 2022-02-13 15:02:08 +01:00
Guillaume Jacquemin 4000421a8c Mass,SaveTool: refactor even more code. 2022-02-13 10:31:55 +01:00
Guillaume Jacquemin 8f1e3668a3 BinaryWriter: allow writing string literals. 2022-02-12 11:21:23 +01:00
Guillaume Jacquemin a6c0614979 BinaryWriter: make non-copyable. 2022-02-11 19:44:16 +01:00
Guillaume Jacquemin 2cabe6a3ba MassManager: adapt to Mass changes.
Should have caught it earlier. Ugh.
2022-02-11 18:31:45 +01:00
Guillaume Jacquemin afc163f344 Mass: rename a member.
SteamIDs aren't used anymore in 0.8+ save files.
2022-02-09 20:16:14 +01:00
Guillaume Jacquemin 353a71d8ab Weapon: remove an unneeded blank line. 2022-02-09 18:28:23 +01:00
Guillaume Jacquemin bbc40d7c93 Weapon: update formatting. 2022-02-09 18:12:11 +01:00
Guillaume Jacquemin 28db82c8a9 Weapon,Mass,SaveTool: refactor some more code. 2022-02-09 14:17:05 +01:00
Guillaume Jacquemin 9f324c30fd Delete WeaponTypes.h.
It's not needed anymore.
2022-02-09 13:54:44 +01:00
Guillaume Jacquemin 41cd92352d Mass: refactor and optimise some parts. 2022-02-09 13:41:55 +01:00
Guillaume Jacquemin 940fe3feee SaveTool: implement weapon copying. 2022-01-30 14:04:22 +01:00
Guillaume Jacquemin d74a7bc219 Mass: make Weapon copyable.
This is necessary to add weapon copying.
2022-01-30 14:02:30 +01:00