1.5: Fuckin' UE5... #38

Manually merged
williamjcm merged 126 commits from one-point-five into master 2024-07-22 11:06:13 +02:00

126 commits

Author SHA1 Message Date
40f2d88433
CMakeLists: bump version number 2024-07-22 11:00:13 +02:00
57f6364b7f
Managers,Application: adapt to StagedMassManager. 2024-07-20 13:29:54 +02:00
db4632182a
Managers: implement StagedMassManager. 2024-07-20 13:22:15 +02:00
4787415432
CMakeLists: change the codename. 2024-07-16 13:01:39 +02:00
fdb8704f00
GameData: fill missing story/mission data. 2024-07-16 13:01:06 +02:00
07832e6a89
GameObjects: fix a condition. 2024-07-15 15:31:16 +02:00
380f77cc80
Application,Game{Data,Objects}: support 0.11 materials. 2024-07-15 15:30:32 +02:00
ce2a8df6a1
GameData: add the new weapon parts. 2024-07-15 12:57:36 +02:00
f2927acd50
Maps: reorder the armour slots. 2024-07-14 20:35:03 +02:00
d975dd9723
GameData: add the IDs for the Zenith set. 2024-07-14 20:34:32 +02:00
c303345437
CMakeLists: mark 0.11 support as official.
Some of the new stuff still isn't supported yet, but it'll be when
the release happens.
2024-07-14 19:38:08 +02:00
8b8fbee6ba
Gvas,GameObjects,Application: fix UE5 builds. 2024-07-14 19:26:12 +02:00
53c58ba979
Switch to C++17.
Also change namespace definitions to nested ones.
2024-07-14 16:28:17 +02:00
bbf457beb6
GameData: update the accessory list. 2024-07-14 15:32:44 +02:00
a290542f6e
Gvas: add support for UE5 saves.
Fuckers at Epic added four more bytes to the file header, and not
even equivalent Rust libraries know what those bytes are for.
2024-07-13 15:03:30 +02:00
3e0c0bb7a4
Application: disable the tree view for backups.
As mentioned in the commit, something's wrong. Probably on ImGui's
side, but I'll have to investigate more.
2024-07-13 13:29:42 +02:00
e1e82c0c43 Application: rewrite drawBackupFolder().
Though there's another issue, which I'll have to investigate further.
2024-07-13 12:34:39 +02:00
165ca39e84
Application: early UI work for the backup tree view. 2024-07-13 11:32:13 +02:00
c1ad757f80
Managers: redesign the VFS and adapt BackupManager. 2024-07-13 11:00:28 +02:00
c0bf16144f
CMakeLists: re-enable the debug define. 2024-07-12 15:08:06 +02:00
90a67f30d9
Logger: flush to file after each log entry in release. 2024-07-12 15:06:02 +02:00
e9a356fa21
Managers: remove a redundant statement. 2024-07-12 15:03:39 +02:00
03cbb7f8ae
Managers: invert an assert condition.
Somehow, it made the app crash _only_ in release mode, while debug
was unaffected.
2024-07-12 14:12:35 +02:00
b8584f26bb Update libzip.
This fixes a compilation issue with MinGW-w64 on MSYS2. Probably
MinGW-w64 on Linux too, but I haven't checked yet.
2024-07-12 12:46:25 +02:00
e10a2df906
Managers: add a VFS to BackupManager.
Crashes at runtime. Needs debugging.
2024-07-12 11:37:47 +02:00
e11fa34c09
Managers: add a VFS to help with #36. 2024-07-11 19:54:30 +02:00
79e2ff38c5
Update Corrade, Magnum, ImGui. 2024-07-11 18:06:57 +02:00
9f570a004b
Managers: prepare BackupManager for the upcoming VFS. 2024-07-11 18:06:08 +02:00
ccbafe5e30
Managers: make BackupManager::scanSubdir() actually work. 2024-04-23 21:26:26 +02:00
902e31e160
Managers: make BackupManager constructor explicit. 2024-04-18 18:05:41 +02:00
f2a021cd78
Application: improve the M.A.S.S. manager. 2024-04-16 15:41:02 +02:00
b9fe38782d
Configuration: avoid a deadlock. 2024-04-14 18:30:39 +02:00
028d991b74
CMakeLists: change a condition to be more reliable. 2024-04-14 10:44:46 +02:00
fd367619e2
Application: add a TODO for later. 2024-04-14 10:29:49 +02:00
555cfcaadd
Application: add initial UI for style import/export. 2024-04-14 10:29:05 +02:00
2f70aa7672
Application: minor style changes. 2024-04-14 10:25:23 +02:00
e10e457ad8
Managers: simplify MassManager. 2024-04-09 00:39:35 +02:00
661f6acd12
Managers: cleanup includes and add an assert. 2024-04-08 11:17:48 +02:00
fbfcce1d86
Managers: split ProfileManager functionality.
There's now a BackupManager class, which handles all backup
management functionalities ProfileManager used to have.
ProfileManager also got adapted to paths being available from
Configuration, which was long overdue.

Application was adapted to the various changes.
2024-04-07 20:45:31 +02:00
e06a65ec71
Update all dependencies. 2024-04-07 15:50:49 +02:00
bd360b9268
CMakeLists: reorganise how system deps are handled.
Allowing each dependency to be system-wide or not is gonna be an
improvement, especially when it comes to IDE memory usage.
2024-04-07 15:40:45 +02:00
35c96af509
CMakeLists: reorder lines for consistency. 2024-04-07 15:20:47 +02:00
3ffac15c26
CMakeLists: add new common variable for dependencies. 2024-04-07 15:20:03 +02:00
c48165614a
CMakeLists: remove an unnecessary option.
Logger doesn't output coloured text to the console anymore. As a
result, we don't need to tell Corrade to use ANSI colour codes on
Windows anymore.
2024-04-07 15:11:33 +02:00
1db00ba892
Logger: add a missing string view operator. 2024-04-07 15:10:52 +02:00
8ecd1922f1
Utilities: add temp file management functions. 2024-03-30 23:47:04 +01:00
12995367eb
Logger: remove an unnecessary include. 2024-03-30 17:06:04 +01:00
bf5a9872e1
Application: remove a default value.
This'll stop Clang-Tidy's complaining that "default values in
virtual/override methods are prohibited". Dunno how prohibited they
are, but better safe than sorry, even though there was no compile
error/warning.
2024-03-30 16:07:24 +01:00
9f0386d5b3
{Mass,Profile}Manager: rename classes.
Partial revert of 04d2ab9dc7.

I forgot about the Backup struct when I was working on the backup
manager, and was about to run into a conflict sooner or later.
2024-03-30 16:03:11 +01:00
8a809b7752
CMakeLists: reorder some files. 2024-03-28 17:42:56 +01:00
04d2ab9dc7
{Mass,Profile}Manager: move into new namespace. 2024-03-28 13:32:34 +01:00
9d1d0af70a
GameObjects: merge the two property name headers. 2024-03-28 13:18:56 +01:00
29b6e57956
GameObjects: move files into a dedicated folder. 2024-03-28 13:15:47 +01:00
0b2796e94b
GameData: move headers into a dedicated folder.
From now on, Maps will only be for preprocessor-powered
multi-directional mapping fuckery.
2024-03-28 12:50:15 +01:00
72e71b575a
README: mention zlib needs to be installed.
It might already be a dependency of other packages installed through
the command-line, but better safe than sorry.
2024-03-28 12:23:25 +01:00
fd9f9e5e36
Use Utility::move() instead of std::move(). 2024-03-25 14:34:27 +01:00
90a2a9edd9
Add ImportExport, with custom style support. 2024-03-25 12:08:35 +01:00
04e99d4953
BinaryIo: fix Reader::readValue().
std::fread() returns how many things it read, not the amount of
bytes read. Worst thing is, I got this right everywhere else.
2024-03-25 12:02:12 +01:00
c9ac1ad4c8
Utility/Crc32: fix naming. 2024-03-17 15:57:31 +01:00
d242431d78
Mass: how did that space get here ? 2024-03-14 15:09:08 +01:00
20f116d832
Mass: improve formatting slightly. 2024-03-11 22:16:51 +01:00
5cb04e7c20
Application: slightly improve code style. 2024-03-11 20:52:24 +01:00
e9fad7600b
Application: reorganise profile manager UI code. 2024-03-10 14:03:51 +01:00
387647669f
Application: use ImGui::BeginTooltip() correctly. 2024-03-10 12:49:02 +01:00
cd5213a3f9
Application: change a menu entry icon. 2024-03-09 20:24:30 +01:00
0b46403ede
Application: add menu entries for the new folders. 2024-03-09 18:36:53 +01:00
efc3fe0dc7
Application: move folder management to Configuration.
Also, add new folders for the upcoming weapon/armour/style
export/import mechanism.
2024-03-09 18:09:27 +01:00
43420d2277
main: improve an error message. 2024-03-09 17:38:52 +01:00
ba3769404d
Configuration: update formatting. 2024-03-08 21:53:12 +01:00
f68dee939e
Gvas: improve a loop to avoid a useless move. 2024-03-08 21:20:11 +01:00
3c79f39046
Gvas: separate Binary{Reader,Writer}.
The functionality has been moved to BinaryIo::{Reader,Writer} to
prepare for exporting build parts.
2024-03-08 21:18:17 +01:00
3bc750436f
Logger,Gvas: reintegrate into main project.
Separate libraries made things a bit messy, to be honest.
2024-03-08 20:55:05 +01:00
e156196b98
Update copyright year.
Now's a good time as any, I guess.
2024-03-08 20:25:32 +01:00
3a3b5bfdff
GameData: change the style name map's, well, name. 2024-03-08 19:27:44 +01:00
ca050b0e48
Update Corrade, Magnum, ImGui. 2024-03-08 19:27:22 +01:00
22f5fc947c
Application: use iterators for TextUnformatted calls.
Corrade's string views aren't guaranteed to be null-terminated,
though most of them come from strings, which _are_
null-terminated. Still, safety first.
2024-02-08 11:08:14 +01:00
7ce726f933
Application: redo the whole armour tab. 2023-12-04 15:25:02 +01:00
570134ced0
Application: fix link to MBST's Git repo. 2023-12-04 15:24:05 +01:00
ca7b71fb36
Application: tweak decal editor layout. 2023-12-04 13:44:57 +01:00
132c46da89
Application: remove a separator in the weapons tab. 2023-12-04 12:03:33 +01:00
d9755a31fe
Application: update layout in the frame editor.
That table for the joint sliders was ugly as fuck. I'm glad to be
rid of it.
2023-11-29 13:51:36 +01:00
bf7f6d24f3
Application: adapt to ImGui changes. 2023-11-29 13:12:18 +01:00
df9e6bcd17
CMakeLists: change how libcurl is found. 2023-11-29 13:00:31 +01:00
90fd22225f
ProfileManager: adapt to Corrade changes. 2023-11-29 13:00:05 +01:00
5af4ad0e66
Update submodules.
libzip also changed its branch name from master to main, so adapt to
that too.
2023-11-29 12:58:52 +01:00
819e144410
Reorganise code.
This is a big one. Namespacing, general formatting updates, and
renaming, among others.
2023-11-29 12:33:26 +01:00
9e7547a1cd SaveTool: fix an issue with the file watcher.
Closes #32.
2023-10-29 16:46:08 +01:00
066ce6ac70 CMakeLists: only set the WIN32 property in release mode.
I can't find the setting that allows CLion to capture stdout when
running normally anymore, so this is the next best thing.
2023-10-29 15:45:22 +01:00
57b4af4637 SaveTool: fix the checker mutex not unlocking properly. 2023-10-29 15:42:15 +01:00
e4ef5d4423 SaveTool: remove a debug message. 2023-10-29 15:41:46 +01:00
a7b0c894d0 UpdateChecker: fix segfault when checking for updates.
Couldn't have known the lambda would have caused issues.
2023-10-29 15:26:26 +01:00
088f357a6b CMakeLists: fix issues finding libzip and efsw. 2023-10-29 15:25:34 +01:00
938bf7b8b5 Logger: go back to outputting to the console.
Considering I went back to Windows, this is gonna be better than
outputting to a file.
2023-10-29 15:24:27 +01:00
389dabfc77
SaveTool: separate update checking mechanism.
THIS IS BROKEN, ONLY BUILD THIS COMMIT FOR DEBUGGING PURPOSES!
2023-10-29 11:32:17 +01:00
07cbaefeac
General code maintenance. 2023-10-29 11:31:21 +01:00
f9aa4bc817
SaveTool: Update the M.A.S.S. viewer weapon screen. 2023-10-29 10:48:31 +01:00
e634ef037d
Change how the project version is defined. 2023-10-29 10:40:02 +01:00
bb85c3d6b0
src/CMakeLists: make project less Windows-only. 2023-10-29 10:36:46 +01:00
b19c3e0025
Logger: indent some preprocessor stuff.
Should have been indented from the get-go, but I forgot about it.
2023-09-30 11:06:19 +02:00
1851867b7e
Update copyright year.
This was long overdue...
2023-09-02 18:30:29 +02:00
d612b0afe6
SaveTool: various fixes for HiDPI screens. 2023-09-02 14:28:28 +02:00
f7a8962194
main,SaveTool,Configuration: further Wine support. 2023-08-31 12:34:34 +02:00
a1a155d0ac
Update CMake Find* modules. 2023-08-31 11:52:52 +02:00
ecdf7d736f
SaveTool: add a TODO for later. 2023-08-28 15:47:39 +02:00
3fc9243c81
Logger: also output to a file in debug mode.
CLion can't grab stdout on Wine/Proton, so this is the only way to get any
kind of output there.
2023-08-28 15:46:13 +02:00
81430de345
main: support running the app in Wine/Proton.
Turns out the flag I used for SHGetKnownFolderPath() is not only deprecated
starting with Win10 1703, but it also isn't implemented in Wine. It also was
completely useless because the Save Tool isn't a "packaged process", as the
docs call it. Ah, the joys of using WinAPI...
2023-08-28 15:03:11 +02:00
39d71a7a09
SaveTool: remove licences for third-party deps.
This should thin the exe up a bit.
2023-08-28 13:32:06 +02:00
4b3912f6ef
src/CMakeLists: change how deps are linked to.
This might break submodule builds on MSYS2. Not like I care anyway, as they
were already broken on my Arch rig.
2023-08-28 13:17:54 +02:00
4e98a89b9d
CMakeLists: add a better way to force static zlib.
This requires a minimum CMake version bump, but most systems should have
access to 3.24 by now, as it was released last year.
2023-08-28 13:14:00 +02:00
9f8c8191ca
CMakeLists: fix a condition.
Submodules should _not_ be used when using system libs, after all. Derp.
2023-08-28 13:10:41 +02:00
e9ce919fd0
CMakeLists: allow using system libs.
This should be useful for some setups, like my current one (see #31's opening
message).
2023-08-27 22:31:54 +02:00
1af948fe03
CMakeLists: add potential support for MSVC.
I won't provide actual support for it because MSVC sucks, but if someone wants
to use it or Clang-cl, now they can.
2023-08-27 21:58:14 +02:00
abac0570a4
CMakeLists: WHY IS THIS COMMAND SCREAMING ? 2023-08-27 21:56:06 +02:00
245b741590
CMakeLists: remove a duplicated variable.
Additionally, I started signing my commits with my SSH key, starting with the
previous one (eef4c72d3d). That was long overdue.
2023-08-27 21:51:16 +02:00
eef4c72d3d
Update SDL2 to latest version.
The .gitmodules file was also updated so that future submodule updates will
track the SDL2 branch from the repo. This will prevent updates from
accidentally checking out SDL3.
2023-08-27 21:40:45 +02:00
c3453ebfc7 Update most dependencies.
I'll update SDL2 separately.
2023-08-27 15:54:06 +02:00
c4f061aa65 CMakeLists: reorganise the sub-libs. 2023-01-13 10:03:28 +01:00
dc8fd24cb7 CMakeLists: we're working on 1.5 now. 2023-01-13 10:03:24 +01:00
5f43e143dc CMakeLists: change how defines are handled. 2023-01-13 10:02:29 +01:00
03472e56dc Profile,SaveTool: change how materials are handled. 2023-01-13 10:02:29 +01:00
8e0f0e5beb SaveTool: update a TextUnformatted() call. 2023-01-13 10:02:29 +01:00
9c074c24bd Update coding style.
Magnum's type names are fine, but I'd rather limit what depends on
Magnum as much as possible. Vector types are still allowed, though. No
way I'll write my own.
2023-01-13 10:02:29 +01:00
3c2cb001ff Match the new coding style I use. 2023-01-13 10:02:29 +01:00
c1701c19f4 Configuration: add missing licence text. 2023-01-13 10:02:29 +01:00
e336b37d81 SaveTool: move the configuration to its own class. 2023-01-13 10:02:29 +01:00
5ce73712cc SaveTool: add a wrapper over ImGui::Checkbox().
This way, I can make it work like radio buttons or selectables.
2023-01-13 10:02:29 +01:00