Commit graph

263 commits

Author SHA1 Message Date
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