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
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
7531dc88ac
CMakeLists: use macros for stuff like app version.
2021-07-13 18:46:21 +02:00
e0647b907a
CMakeLists: change the name of the debug macro.
2021-07-13 18:35:23 +02:00
ea6bf5b582
Locators: add inventory locators for later use.
2021-07-13 18:12:20 +02:00
1c673f3fa3
SaveTool: rename the tweakable macro.
2021-07-13 18:08:33 +02:00
c5d0d6e089
SaveTool: reduce max materials to 9999.
...
For some reason, the game clamps them to that after a mission.
2021-07-10 16:52:11 +02:00
d7f991cd2e
SaveTool: bump MB version.
2021-07-10 16:50:30 +02:00
898873157f
SaveTool: deleting a profile is an unsafe action.
2021-07-10 16:49:47 +02:00
9e7b6a4153
SaveTool: fix alignment.
2021-07-10 16:48:58 +02:00
69d4484c91
SaveTool: bump max credits for editor.
2021-07-10 16:47:18 +02:00
476eb2b1e6
SaveTool: improve readability.
2021-07-10 16:46:45 +02:00
ed25f7f5fa
SaveTool: remove a redundant initialisation.
2021-07-10 16:46:03 +02:00
14feadc401
SaveTool: add menu items to open the backup and staging folders.
2021-07-10 16:45:25 +02:00
f9a3088094
SaveTool: improve drawUnsafeWidget().
2021-07-10 16:44:39 +02:00
031b7a1c9a
SaveTool: lack of timer should be a failure.
2021-07-10 16:44:09 +02:00
f2fc8e1f44
Profile: no need for a redundant initilisation.
2021-07-10 16:43:34 +02:00
ab84b84d72
Profile/Locators.h: improve readability.
2021-07-10 16:37:48 +02:00
0bb3be13fe
MassManager: shorten this if.
2021-07-10 16:36:49 +02:00
045aaa8dad
MassBuilderManager: use the Known Folders WinAPI.
...
According to the MS docs, it's supposedly better, so even though CSIDLs
are probably not gonna go away because of Microsoft's strong stance on
backwards compatibility, might as well use the "better" stuff.
2021-06-24 21:44:29 +02:00
92cab050ad
SaveTool: reorganise the UI again.
2021-06-21 00:28:16 +02:00
13b4785a43
SaveTool: remove those commented LoCs.
...
Since the research tree might be made in pure ImGui (attempts to do it
in normal GL didn't really pan out), we won't need state changes.
2021-06-21 00:26:56 +02:00
fdb39e1d1d
CMakeLists: we won't need those libraries, in the end.
...
The ImGui integration needs the Flat shader in Magnum::Shaders, so that
one stays on.
2021-06-20 23:56:46 +02:00
441e0c2d1a
SaveTool: replace a chain of ifs with a switch.
2021-06-20 23:49:30 +02:00
057185cb65
SaveTool: reorganise some code.
2021-06-20 23:48:23 +02:00
9fb654c89d
SaveTool: change how the game state is displayed.
2021-06-20 19:36:42 +02:00
d23095f662
SaveTool: remove an unused argument in handleFileAction.
2021-06-20 14:14:10 +02:00
e77f46ecc4
SaveTool: use Magnum types.
2021-06-20 14:13:30 +02:00
3172939b53
SaveTool: add a {Push,Pop}ID pair.
...
There were issues with the buttons in the backup list.
2021-06-20 14:11:18 +02:00
6842b3d3f3
SaveTool: add a fallback if there are no profile backups.
...
The table formatting was messed up when there were no backups, so I'm
working around it by... not displaying the table.
2021-06-20 14:10:09 +02:00
5dc7fbc06c
ProfileManager: use Magnum types.
2021-06-20 14:08:17 +02:00
5bdb710356
Profile: use Magnum types.
2021-06-20 14:07:43 +02:00
6886334d61
MassBuilderManager: use Magnum types.
2021-06-20 14:06:55 +02:00
445c8873ae
Mass: use Magnum types.
2021-06-20 14:06:36 +02:00
a91546d8a5
Mass: make the constructor explicit.
...
Implicit initialisation from a std::string could be dangerous, so, let's
avoid that.
2021-06-20 13:54:35 +02:00
e9d509fd36
StoryProgress: update formatting, and use Magnum types.
...
While I could keep using std::int32_t, as Magnum's Int type maps to it,
I want to be consistent with the rest of Magnum. Also, lots of
whitespace there, but readability is improved.
2021-06-20 13:53:38 +02:00
19262ae05e
LastMissionId: update formatting, and use Magnum types.
...
While I could keep using std::int32_t, as Magnum's Int type maps to it,
I want to be consistent with the rest of Magnum.
2021-06-20 13:43:30 +02:00
b0affadd9a
Add output redirection in release mode.
...
Debug mode gets outputted to std{out,err}. While most IDEs are sane
enough to capture the streams by default (hello, Qt Creator!), others
aren't (such as CLion, but there's a workaround there), and you can
forget about CMD output as well. Ugh, I hate Windows...
2021-06-20 13:39:43 +02:00
61d1e3635f
Add initial files.
...
Feature parity is also reached.
2021-06-11 19:24:52 +02:00