Commit graph

15 commits

Author SHA1 Message Date
fe745be3e3 Run clippy autofix and fmt 2025-03-02 14:13:41 -05:00
6b436b7af2 Rename PrimaryAssetNameProperty to GenericProperty 2025-03-02 14:12:26 -05:00
4801c2678a Add new PropertyBase trait, implement more things needed for writing
The biggest change is that structs and properties now provide their own name,
which is needed when we want to write everything back to a file. Also a bunch of
reorganization of stuff I didn't understand before.
2025-03-02 14:07:39 -05:00
111af5788d Add support for SoftObjectProperty
With this, my Persistent.sav can be now be parsed without errors!
2025-02-24 18:19:23 -05:00
8f55d00e24 Complete Persistent.sav parsing, fix up a ton of things
This is unfortunately one giant commit, but this now (partially) parses
Persistent.sav. There is still some structs and data left to parse, and
we're suspiciously missing 3KiB of data at the end. But... progress!
2025-02-24 00:30:16 -05:00
46e0cb3fb2 Add writing support for MapProperty 2025-02-23 16:52:54 -05:00
0561036f01 Add writing support for ArrayProperty 2025-02-23 16:50:10 -05:00
8713a48351 De-duplicate all the GUID structs, implement better debug display
This replaces several of the duplicate GUID-like structs, and throws
them into a struct that more closely resembles FGuid.
2025-02-23 16:14:44 -05:00
4eb1e7dd04 Remove old magic-based property enum
This is now replaced by the pre_assert and string-based version, which
is superior.
2025-02-23 16:03:08 -05:00
6b7d4c66dd Improve error handling in the map and array custom parsers 2025-02-23 15:26:52 -05:00
f304304d19 Simplify string reading
A lot of them are just u32 length + byte string, and can be moved into
a common parsing function.
2025-02-23 15:25:50 -05:00
a4615b29ce Remove leftover binrw debugging 2025-02-23 15:04:13 -05:00
e92686e179 Clean up code, imports, and other misc tasks 2025-02-23 14:43:10 -05:00
9dd335f80e Implement proper map parsing, fix array parsing
Finally finished and figured out how maps are handled. It didn't encode
the number of items, it's based on how many bytes you read. I also fixed
arrays so they're also correct, and we'll see if sets break.
2025-02-23 14:38:35 -05:00
aa26d2934f Add initial files 2025-02-19 19:34:13 -05:00