Commit graph

455 commits

Author SHA1 Message Date
e795e276da Profile(Manager),SaveTool: get rid of that legacy nonsense. 2022-11-21 19:03:00 +01:00
bf820f65ec Profile: setResource() now can create an array if it's missing. 2022-11-21 18:59:30 +01:00
fb6246cff7 Profile: ensure a profile is invalid if the GVAS underneath is too. 2022-11-21 18:58:57 +01:00
7257b9865c Profile: clean headers up a bit. 2022-11-21 18:58:19 +01:00
45bc2b97d9 Profile: add property names. 2022-11-21 18:58:01 +01:00
9de62db449 MassManager: use Logger. 2022-11-21 18:12:42 +01:00
44656b32d5 Mass: use Logger.
Oh, and some stuff didn't initially get logged, so now I can have better
insight in case of errors.
2022-11-21 18:01:29 +01:00
9ec88fa521 Mass: QoL changes.
Now property names are behind defines, so if a name changes, I don't
have to hunt it down in up to six source files.
2022-11-21 18:00:38 +01:00
ee540b601e Mass: do some header cleanup. 2022-11-21 12:31:01 +01:00
fe10bbb3f3 Main: use Logger. 2022-11-21 10:17:13 +01:00
bb066d3134 CMakeLists: add Logger from the old 1.4 branch. 2022-11-21 10:15:10 +01:00
e21e7a1aba Main: add processor detection. 2022-11-21 09:51:21 +01:00
714d8cc6bb Main: force UTF-8 locale. 2022-11-21 09:50:43 +01:00
a33cbdfad6 SaveTool: fix includes. 2022-11-21 09:49:01 +01:00
b7cd78ca21 Main: reformat includes. 2022-11-21 09:48:33 +01:00
453c5391a4 Main: Improve some dialogs. 2022-11-21 09:47:21 +01:00
05611d59b1 Main: update log. 2022-11-21 09:30:38 +01:00
a5a8db289a Main: update formatting. 2022-11-21 09:30:13 +01:00
6130734764 Application.manifest: add HiDPI and force UTF-8 codepage. 2022-11-21 09:29:51 +01:00
16b8807eb7 SaveTool: remove unsafe mode.
It was just not good at all.
2022-11-21 09:20:21 +01:00
f1ea2bda25 CMakeLists: officially start work on version 1.4. 2022-11-21 09:20:21 +01:00
42cec59c71 CMakeLists: improve formatting. 2022-11-21 09:20:21 +01:00
e6c597ffbc Disable Interconnect.
Nope, it's just not needed.
2022-11-21 09:20:02 +01:00
6cb52761be Bump version number. 2022-07-06 17:23:34 +02:00
6f2b19dbc3 SaveTool: fix a condition. 2022-07-06 17:22:55 +02:00
e61d4bba85 Adapt to Corrade/Magnum changes. 2022-07-06 17:22:40 +02:00
8ba8ec3219 CMakeLists: bump version number. 2022-05-03 20:29:18 +02:00
55eb367eb2 UESaveFile: fix a bug that shouldn't have been there in the first place. 2022-05-03 20:25:32 +02:00
b6398f3373 CMakeLists: bump version number. 2022-04-17 13:50:09 +02:00
b598476809 UESaveFile: fix a bug when working with a temp file. 2022-04-17 12:46:25 +02:00
0ce03f5395 CMakeLists: bump version number. 2022-04-15 12:20:04 +02:00
0fd157f33c SaveTool: add weapon part mappings and the ability to change parts.
With that, I think I'm ready to push 1.3.2.
2022-04-15 11:05:01 +02:00
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
42b4974b43 SaveTool: make the weapon part radio buttons match the game. 2022-04-08 14:12:56 +02:00
c35735b2fc SaveTool: fix an issue with the damage type radio buttons. 2022-04-08 14:12:14 +02:00
32a1a6d014 Mass: fix a bug when writing armour parts. 2022-04-08 12:44:30 +02:00
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
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
c1ae793800 SaveTool: add a help marker for the melee effect colour picker. 2022-04-04 09:22:12 +02:00
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
704f6e2f49 Maps: why was this double-indented ?
WTF, CLion ?
2022-04-02 21:44:50 +02:00
dbc52ec28f SaveTool: allow changing the equipped accessory. 2022-04-02 21:34:45 +02:00
11c089d408 Mass,Profile: improve safety by checking the save type. 2022-04-02 19:54:32 +02:00
6b280b2668 UESaveFile: add a new API and change some stuff. 2022-04-02 19:53:58 +02:00
213269521d Maps: update the accessory map. 2022-04-02 19:53:34 +02:00
b6ad795383 SaveTool: fragment files more.
SaveTool.cpp was getting on the unmanageable side.
2022-04-01 09:36:33 +02:00
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
a36d9134bf SaveTool: update formatting. 2022-03-31 18:43:39 +02:00
0e3e3145b7 MassManager: update formatting. 2022-03-31 17:58:47 +02:00
3be094febc ToastQueue: make toasts wrap instead of cutting them off. 2022-03-31 17:58:37 +02:00
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
b909aa85b7 SaveTool: handle error code 0 (blocked by firewall). 2022-03-31 09:00:57 +02:00
94f6192aa8 CMakeLists: bump version number.
I'm technically working on 1.3.2, so...
2022-03-30 21:58:36 +02:00
5705f408a5 MassManager: this piece of code is in SaveTool.
Why the Hell is it still here ?
2022-03-30 20:35:04 +02:00
4ed7aff835 MassManager: change how hangars are handled. 2022-03-30 20:34:37 +02:00
718a6fd754 Mass: improve logging. 2022-03-30 19:51:00 +02:00
677bf21c9f Mass: slight formatting update.
Seriously, how did this slip through the cracks ?
2022-03-30 19:46:09 +02:00
2c2e5ad936 SaveTool: remove the dependency on json.hpp. 2022-03-30 15:15:54 +02:00
ef05c075ba main: improve logging. 2022-03-30 14:18:23 +02:00
14d75e0e83 Save Tool: improve logging and reorganise stuff. 2022-03-30 14:18:08 +02:00
63a8cf7075 SaveTool: fix another bug in the updater. 2022-03-28 09:58:22 +02:00
bf3288772e SaveTool: ensure old_filename isn't SSO'd so it can be released. 2022-03-28 09:46:29 +02:00
bde6fc41a0 Main: don't include <fstream> in debug builds. 2022-03-27 22:09:56 +02:00
ac1276761e SaveTool: fix "external changes detected" on saving in the tool.
I hope.
2022-03-22 09:59:30 +01:00
fd3306b175 CMakeLists: bump version number. 2022-03-21 16:47:44 +01:00
cf72cbe2c6 SaveTool: fix a bug in the update checker. 2022-03-21 16:47:29 +01:00
f4adb9e26a SaveTool: fix a few bugs. 2022-03-21 16:31:29 +01:00
592fd2ba3a SaveTool: what is that comment doing here ? 2022-03-21 15:37:06 +01:00
84b1e276a1 SaveTool: don't pass a StringView to ImGui, it doesn't like that. 2022-03-21 15:36:49 +01:00
0c8c2601ce CMakeLists: bump version number. 2022-03-21 15:22:46 +01:00
147c38669f StoryProgress: add missing story events as well as the "new" chapter 3. 2022-03-21 15:21:45 +01:00
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
133c34f5f7 SaveTool: make the tuning tab present only in debug builds. 2022-03-20 11:32:08 +01:00
47890f6939 ArmourSets: add Axial Core. 2022-03-20 11:31:37 +01:00
354c3ff3d9 LastMissionId: add missing IDs. 2022-03-20 11:31:15 +01:00
04beebbc1c SaveTool: implement the UI for BL placement editing. 2022-03-20 10:17:14 +01:00
47520b89e3 Mass: implement BL attachment writing.
Needs testing, though.
2022-03-20 10:16:39 +01:00
ce0ca07afc SaveTool: various UI tweaks. 2022-03-20 09:14:46 +01:00
e91c015c00 SaveTool,ProfileManager: make backups 0.8-ready. 2022-03-20 09:14:11 +01:00
75d77413f6 Mass: add a new value to BulletLauncherSockets.hpp. 2022-03-13 15:26:00 +01:00
ddad6536c6 Mass: fix a condition. 2022-03-13 15:25:11 +01:00
d9f6470dc6 Mass: make the code look in the right places.
Time to facepalm...
2022-03-13 11:02:43 +01:00
f963ce31ad SaveTool: fix a condition that prevented armour accessories from being editable. 2022-03-13 10:48:32 +01:00
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
d61977d758 Weapon: change how enums are built. 2022-03-11 15:39:49 +01:00
f36782bff0 ArmourPart: auto-fill ArmourSlot using ArmourSlots.hpp. 2022-03-11 10:58:13 +01:00
76613c2ec5 Mass: add a few missing string views. 2022-03-11 10:57:16 +01:00
e997312286 SaveTool: rename tabs in the build viewer. 2022-03-11 10:56:52 +01:00
e2d31854b4 SaveTool: use ImGui's {Begin,End}Disabled API. 2022-03-11 09:20:24 +01:00
ccf630c385 MassManager: fix a condition. 2022-03-09 14:03:08 +01:00
4ae9f83ab3 SaveTool: fix a segfault. 2022-03-09 14:02:56 +01:00
dd9dcdb5f6 SaveTool: change how file update events are handled. 2022-03-09 13:27:45 +01:00
f1a4b64219 SaveTool: use the shorthand getters added in the previous commit. 2022-03-09 13:27:21 +01:00
8f4708f518 Profile: provide shorthand getters. 2022-03-09 13:25:26 +01:00
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
db6836ec33 Profile(Manager): add basic 0.8 profile support. 2022-03-06 14:42:24 +01:00
89bba618fb SaveTool: eliminate a few format warnings. 2022-03-06 14:30:04 +01:00
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
fdb7567aea PropertySerialiser: make into a singleton.
Also update UESaveFile to match.
2022-03-06 13:21:56 +01:00
771e008e62 Mass: fragment into smaller files.
Should help navigation and maintenance.
2022-03-06 09:52:11 +01:00
4d9fc46003 SaveTool: fix a mistake in drawAbout. 2022-03-06 09:25:23 +01:00
db3eba5b59 SaveTool: move some stuff into its own function. 2022-03-06 09:12:40 +01:00
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
f522d20dd4 SaveTool: fragment SaveTool_MassViewer.cpp.
This will make maintenance easier. I hope.
2022-03-02 14:43:02 +01:00
6208825aa6 Mass: fix a bug that prevented global styles from being read. 2022-03-02 14:10:13 +01:00
572585e648 SaveTool: optimise code readability.
...mostly for Clang/CLion. :D
2022-03-02 11:46:31 +01:00
de2ba9ce7f Mass(Manager),SaveTool: improve error handling. 2022-02-26 14:48:45 +01:00
d0ddc73852 Profile: fix a compile error. 2022-02-25 21:00:32 +01:00
a1c17b7138 Profile(Manager),SaveTool: improve error handling and fix bugs. 2022-02-24 14:00:47 +01:00
350ad59f8e SaveTool: add a convenience wrapper over ImGui stuff. 2022-02-23 21:59:00 +01:00
883d5d3f41 Mass,SaveTool: improve error handling. 2022-02-23 15:47:34 +01:00
77d7eaefad SaveTool: fix a condition. 2022-02-23 10:18:58 +01:00
82170b3078 Mass,SaveTool: optimise the effect colour mode. 2022-02-17 20:22:33 +01:00
88abf91047 Mass,SaveTool: add some future-proofing. 2022-02-17 20:01:59 +01:00
955ec010b8 Crc32: make the polynomial literal explicitly unsigned. 2022-02-16 11:48:39 +01:00
7cb9ea28b2 BinaryReader: add a way to read arbitrary types. 2022-02-16 11:47:49 +01:00
975f471a68 BinaryReader: add a way to seek into the file. 2022-02-14 09:31:20 +01:00
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
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
2ff32c4c78 Add a CRC32 algorithm. 2022-02-13 15:02:08 +01:00
4000421a8c Mass,SaveTool: refactor even more code. 2022-02-13 10:31:55 +01:00
8f1e3668a3 BinaryWriter: allow writing string literals. 2022-02-12 11:21:23 +01:00
a6c0614979 BinaryWriter: make non-copyable. 2022-02-11 19:44:16 +01:00
2cabe6a3ba MassManager: adapt to Mass changes.
Should have caught it earlier. Ugh.
2022-02-11 18:31:45 +01:00
afc163f344 Mass: rename a member.
SteamIDs aren't used anymore in 0.8+ save files.
2022-02-09 20:16:14 +01:00
353a71d8ab Weapon: remove an unneeded blank line. 2022-02-09 18:28:23 +01:00
bbc40d7c93 Weapon: update formatting. 2022-02-09 18:12:11 +01:00
28db82c8a9 Weapon,Mass,SaveTool: refactor some more code. 2022-02-09 14:17:05 +01:00
9f324c30fd Delete WeaponTypes.h.
It's not needed anymore.
2022-02-09 13:54:44 +01:00
41cd92352d Mass: refactor and optimise some parts. 2022-02-09 13:41:55 +01:00
940fe3feee SaveTool: implement weapon copying. 2022-01-30 14:04:22 +01:00
d74a7bc219 Mass: make Weapon copyable.
This is necessary to add weapon copying.
2022-01-30 14:02:30 +01:00
51faed7210 Update copyright years.
I should have done that earlier... and of course I forgot a few files...
2022-01-30 11:38:22 +01:00
8fb837bfc0 SaveTool: finish implementing weapon reordering. 2022-01-30 09:48:14 +01:00
0ac1e759ca Profile(Manager),SaveTool: prepare for legacy/normal distinction. 2022-01-20 19:42:27 +01:00
a4045e8e9b Add a few IDs to maps. 2022-01-20 11:39:36 +01:00
1ec4522baf SaveTool: make the clickthrough hint have priority. 2022-01-15 13:26:12 +01:00
13d09e4aa0 SaveTool: prepare for the better import/export system. 2022-01-15 11:31:33 +01:00
ed0c4a73bb SaveTool: mark profiles as "legacy" in the manager.
I'll probably have to redesign that whole part of the UI anyway, so...
2022-01-15 11:31:06 +01:00
8102d1d83a SaveTool: improve the ShellExecuteW call. 2022-01-15 11:30:12 +01:00
9a9c08391a SaveTool: change how story progress is handled. 2022-01-15 11:01:11 +01:00
51602c713a SaveTool: update layout. 2022-01-14 13:42:09 +01:00
1621a4dbd5 SaveTool: move M.A.S.S. viewer state tracking.
That way, it's easier to reset. Some states, such as the current tab or
which headers are open/collapsed, are internal to ImGui, though, so I
can't do much there. Well, I could use the internal ImGui API, but, it's
still a pain in the ass.
2022-01-14 13:22:51 +01:00
7fb269f862 SaveTool: change viewer window ID. 2022-01-07 09:35:32 +01:00
1378676bbc SaveTool: fix old code. 2022-01-03 12:46:13 +01:00
96768c1aab SaveTool: add a conversion operator. 2022-01-03 12:10:20 +01:00
bd05a98820 SaveTool: make pre-releases considered up-to-date if they're more recent than the latest stable. 2022-01-03 11:56:34 +01:00
7059295cb3 Strip the release executable.
For *some* reason, there's debug info in one of the MinGW-w64 libs,
which account for roughly half the bloat of the release exe.
2021-12-03 00:14:22 +01:00
065e63f27c SaveTool: skip prereleases in update check. 2021-12-02 20:37:47 +01:00
a05f3eeed0 Prepare the pre-release. 2021-12-02 20:12:54 +01:00
321e8feed0 SaveTool: change how versions are evaluated.
This allows pre-releases and beta versions to be considered out of date
once complete versions are released.
2021-12-02 19:52:26 +01:00
c6de9c1940 SaveTool: finish most of the M.A.S.S. viewer.
Some parts are very unfinished, but do work.
2021-12-02 19:23:28 +01:00
fe0db983ce Mass: add tuning reading support.
Writing support SOON™.
2021-12-02 15:27:00 +01:00
bd8ff47f1e Mass: fix data ordering issue with joint sliders. 2021-11-01 11:19:34 +01:00
83fa5822bf MassManager: fix bugs in path handling. 2021-11-01 09:40:33 +01:00
8d87cdd619 Mass: fix a check. 2021-10-29 14:41:52 +02:00
0900f92b9f Mass: finish implementing the saving feature.
Oh, and also remove a blank line, but that's not important.
2021-10-29 10:23:34 +02:00
af71806e13 Mass: finish getWeaponType(). 2021-10-18 14:54:28 +02:00
247578a386 Mass: add getDecals() and getAccessories(). 2021-10-18 14:54:04 +02:00
4ca6f62d9b Mass: remove as many hardcoded values as possible. 2021-10-17 15:29:16 +02:00
e461d5a505 Mass: add getCustomStyles(); 2021-10-17 15:28:54 +02:00
d79debe69f Mass: change how setCustomStyle() works.
This'll allow usage with weapon styles.
2021-10-17 10:52:57 +02:00
83fe02a8dc Mass: improve readability and reliability. 2021-10-17 09:24:44 +02:00
7e452db3a4 Mass: improve readability. 2021-10-17 08:44:23 +02:00
80bb85c0d8 Mass: add weapon reading.
Writing will come SOON™.
2021-10-17 08:37:12 +02:00
4df90efd67 Mass: rename a field. 2021-10-16 11:36:31 +02:00
b92c37e4b6 Mass: fix another bug with importing. 2021-10-14 15:06:03 +02:00
dd460b4313 MassManager: fix a bug with importing. 2021-10-13 14:49:31 +02:00
05a2b1cfb0 SaveTool: change a drag widget to a slider. 2021-10-12 16:53:19 +02:00
8fedbdd4e5 Add armour sets and slots maps. 2021-10-12 16:52:40 +02:00
3ac5288f12 Mass: prepare decals for edition. 2021-10-12 16:35:49 +02:00
8bae723018 Mass: finish implementing armour part support. 2021-10-11 17:17:14 +02:00
3714162b50 UnrealPropertyBase: initialise valueLength. 2021-10-05 10:31:06 +02:00
a22aa6f7ae Mass: update CustomStyle default values to match game. 2021-10-05 10:10:18 +02:00
d03e75a8e9 Mass: not all parts can have 8 decals in the demo.
For now, at least. Just like the code that treats a lack of global
styles as a demo thing, I'll remove it in due time.
2021-10-05 10:03:52 +02:00
4429e581f3 Mass: reorganise a whole chunk of code. 2021-10-04 18:18:53 +02:00
2d0d5817f2 SaveTool: add a basic guide to the help menu. 2021-10-04 18:18:20 +02:00
bfe9a2c3a8 Profile: fix a crash that happens when restoring a backup. 2021-10-04 18:17:51 +02:00
8c81b7811b Mass: add support for reading armour parts. 2021-10-03 16:32:47 +02:00
0904384e0d SaveTool: fixed a condition for drag and dropping builds. 2021-10-03 00:14:07 +02:00
6f3da0b4a7 Mass: add some sanity checks. 2021-10-02 19:23:35 +02:00
19c00a3ce3 Mass: rename Armour to ArmourPart.
This is more consistent with WeaponPart, which designates a part of the
full weapon.
2021-10-02 19:22:52 +02:00
79762e176e Mass: add (partial) support for custom style edition. 2021-10-02 14:52:48 +02:00
b5b5b3b38c Mass: rename some members. 2021-10-02 14:51:39 +02:00
e4cfd3834a Mass: update CustomStyle. 2021-09-29 11:07:10 +02:00
e77cce5b42 Mass: add missing value to CustomStyle. 2021-09-27 21:55:05 +02:00
18aa7f659e SaveTool: move the tw macro so all SaveTool files can use it. 2021-09-27 20:51:48 +02:00
1612e4372b SaveTool: make the file watcher less aggressive. 2021-09-27 20:50:37 +02:00
b377e0de6c Mass: add a missing variable to CustomStyle. 2021-09-27 20:50:03 +02:00
0a438a4d72 MassManager: adapt to Mass changes. 2021-09-27 17:54:42 +02:00
e839d1c19b SaveTool: adapt to Mass changes. 2021-09-27 17:54:30 +02:00
5689ec6c1a SaveTool: adapt to Profile changes. 2021-09-27 17:53:56 +02:00
c2d0fbd941 Mass: adapt to UESaveFile. 2021-09-27 17:52:47 +02:00
2b2320ae0a UESaveFile: clear properties when reloading data. 2021-09-27 16:21:39 +02:00
10368e09db Profile: add default values for some members. 2021-09-27 16:18:03 +02:00
bd255ef8d5 Profile: ensure (in)validity. 2021-09-27 16:17:32 +02:00
911e18fc0a UESaveFile: add a few sanity things. 2021-09-27 16:16:47 +02:00
0c257bcfa6 GenericStructProperty: remove a redundant function. 2021-09-25 15:46:01 +02:00
9bc4aaf66b Profile: add data caching.
Querying the properties each frame isn't performant because of all the
casts and pointer indirections.
2021-09-24 21:51:06 +02:00
79e3193309 ArrayProperty: update at() to cast as well. 2021-09-23 21:54:59 +02:00