Commit graph

287 commits

Author SHA1 Message Date
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
76e36791d7 Profile: remove Locators.h.
It's not needed anymore.
2021-09-23 19:11:08 +02:00
50a7b1d7f0 Profile: adapt to UESaveFile.
Also change ProfileManager to use growable arrays instead of vectors.
2021-09-23 19:01:42 +02:00
1caa472833 UESaveFile: add more error messages. 2021-09-23 18:25:28 +02:00
d3d065c945 StructSerialiser: fix serialisation of array'd structs.
Not all of them are generic structs, after all.
2021-09-23 18:24:55 +02:00
b8b156a724 Add a serialiser for struct sttResourceItemValue. 2021-09-23 15:09:18 +02:00
9c1aeb753e UESaveFile: add API to append a property. 2021-09-23 15:08:20 +02:00
0006c90a21 UESaveFile: add sanity check when reading files. 2021-09-23 15:07:29 +02:00
0826d4aede UESaveFile: close the file after we're done writing to it. 2021-09-22 21:50:39 +02:00
b3220ca8e1 MapPropertySerialiser: fix serialisation of demo saves. 2021-09-22 21:50:08 +02:00
48210c7186 UESaveFile: prevent reloading data on save. 2021-09-22 19:46:41 +02:00
f500e982e6 MapPropertySerialiser: add support for demo props. 2021-09-22 19:35:16 +02:00
2e1949ed5d BytePropertySerialiser: add support for demo props. 2021-09-22 19:16:33 +02:00
10becfdc31 PropertySerialiser: add an explicit cast. 2021-09-22 18:25:15 +02:00
f286ec0633 UESaveFile,GenericStructProperty: update at(). 2021-09-22 18:23:16 +02:00
ce29d6174c UESaveFile: allow the class to be moved. 2021-09-22 18:22:48 +02:00
de07b760d0 Add UESaveFile. 2021-09-22 17:37:50 +02:00
66d96bd893 SaveTool: update formatting. 2021-09-22 10:47:23 +02:00
918b26ab5e SaveTool: add some frame info display. 2021-09-10 16:16:21 +02:00
32bc179120 SaveTool: change an include.
The old one works on my setup, but might not work on others.
2021-09-10 16:15:27 +02:00
c64684b34c StyleNames: add placeholders for custom/global style names. 2021-09-10 16:14:31 +02:00
40840e3128 Mass: add support for reading joint sliders. 2021-09-10 16:13:29 +02:00
c7c379c419 SaveTool: adapt main manager to Mass changes. 2021-08-29 19:39:29 +02:00
a9a5bfb2af SaveTool: add basic skeleton for the M.A.S.S. viewer. 2021-08-28 21:03:06 +02:00
5f4576a2bc SaveTool: improve readability of the header. 2021-08-28 20:57:06 +02:00
f3318e0ed1 SaveTool: add safety measures in drawMassViewer(). 2021-08-28 20:22:04 +02:00
7fcf8b518e Mass: add functions to read/write frame styles. 2021-08-28 20:21:13 +02:00
69021eacdf Mass: change how the name is obtained, and move the state enum. 2021-08-28 20:20:09 +02:00
bd6e55826d Add StyleNames.h. 2021-08-28 20:16:19 +02:00
597e9dfe98 SaveTool: initial work for the viewer UI. 2021-08-19 20:35:00 +02:00
4cdd1b35ec Mass(Manager): rework to prepare for the viewer. 2021-08-19 20:34:37 +02:00
f323215844 SaveTool: improve a button. 2021-08-19 14:31:17 +02:00
e580736ac6 SaveTool: improve the M.A.S.S. manager UI. 2021-08-19 14:11:18 +02:00
2644a73fc9 SaveTool: change the look of the research inv table. 2021-08-19 14:02:21 +02:00
927da387ea CMakeLists: bump version number. 2021-08-18 20:27:43 +02:00
a244e468d2 SaveTool: add a way to skip the disclaimer. 2021-08-18 20:09:22 +02:00
6d4bafcc2d SaveTool: suppress Nvidia debug message.
I probably won't need it, but if someone has a rendering issue, being
able to debug it using GPU validation will be useful, and avoiding log
pollution will be even better.
2021-08-18 17:16:10 +02:00
d52b381426 SaveTool: improve the settings menu layout. 2021-08-18 16:59:16 +02:00
52f5e8eb0a SaveTool: add a frame limiter.
The FPS slider isn't the most accurate, but it just works™.
Closes #10.
2021-08-18 16:53:29 +02:00
c4fc910ab0 SaveTool: add tier display to the research inventory.
Closes #11.
2021-08-18 15:37:03 +02:00
ded5e9bcb7 Bump version up. 2021-08-01 18:50:53 +02:00
ee639bcdf8 SaveTool: move a PushID call in the profile manager.
Fixes #9.
2021-08-01 18:48:14 +02:00
406349bbe8 Increase version number. 2021-07-28 15:33:54 +02:00
22c9627b84 Main: add single-instance checking. 2021-07-28 15:17:46 +02:00
e99ff14749 SaveTool: add a "cheat mode" toggle. 2021-07-28 15:00:15 +02:00
d0716d6242 SaveTool: add credits for cpr and json.hpp. 2021-07-28 14:27:44 +02:00
512fa4088b SaveTool: remove testing code. 2021-07-28 14:27:19 +02:00
ab124174b0 SaveTool: add rest of response handling. 2021-07-28 14:18:39 +02:00
51127241ef Add json.hpp as the JSON lib. 2021-07-28 14:17:47 +02:00
ee384843e9 SaveTool: launch the thread, and add basic response handling. 2021-07-28 14:17:21 +02:00
7f32166ab0 SaveTool: implement the request thread. 2021-07-28 14:15:39 +02:00
017900afe2 SaveTool: add ToastQueue.
Might be useful for warnings and non-fatal errors, to replace standard
SDL message boxes.
2021-07-28 14:14:12 +02:00
52b60ff2a5 ToastQueue: fix formatting a bit. 2021-07-28 14:12:43 +02:00
14c5a76891 SaveTool: update window flags.
This will prevent them from being drawn over toasts.
2021-07-25 10:52:54 +02:00
d9efe8191e Add ToastQueue for in-app notifications. 2021-07-25 10:52:01 +02:00
445d7323b3 SaveTool: add configuration system. 2021-07-23 14:17:42 +02:00
d0eee0caeb SaveTool: add skeleton for update checking. 2021-07-22 11:39:53 +02:00
4dd2064aae Add cpr. 2021-07-22 11:36:37 +02:00
e2d473da44 SaveTool: change some conditions. 2021-07-22 09:19:59 +02:00
688e61b9ae MassManager: move some fields to SaveTool. 2021-07-21 20:57:39 +02:00
241f5b754d ProfileManager: move some fields to SaveTool. 2021-07-21 20:38:33 +02:00
2a617b3359 MassBuilderManager: move functionality to SaveTool.
And also improve the main menu too.
2021-07-21 14:36:49 +02:00
ec8a6b0c46 MassManager: move initialisation of fields. 2021-07-21 13:41:30 +02:00
a16383183e SaveTool: replace varargs with templates in drawUnsafeText(). 2021-07-21 13:40:55 +02:00
fa78ca2a8a MassManager: remove a redundant initialisation. 2021-07-21 12:38:27 +02:00
3f3166691d SaveTool: make a submenu name clearer. 2021-07-21 12:37:58 +02:00
f7aa89325f CMakeLists: change the exe name in release mode. 2021-07-13 19:00:45 +02:00
935d291a8b SaveTool: change repo link. 2021-07-13 19:00:27 +02:00
ff1782ca9d main: change the name of the log file. 2021-07-13 18:50:38 +02:00