Commit Graph

47 Commits

Author SHA1 Message Date
Matt Nadareski
5ccfde54f5 Convert last long key to property 2026-04-03 17:49:45 -04:00
Matt Nadareski
9df08780db Handle an enum that needed to be handled 2026-04-03 17:41:36 -04:00
Matt Nadareski
e01537c2f4 Get rid of Software metadata item
Apparently this was a mistake that has proliferated over a very long time. The Software item that was being modeled was actually the game/machine equivilent from SoftwareList. But because there's both an item called SoftwareList and a DAT type called SoftwareList, some wire got crossed and they were mentally combined. Undoing this allows for a more proper internal model, including a couple of extraneous keys that were included originally.
2026-04-03 17:25:09 -04:00
Matt Nadareski
e3927ca3e6 Fix longstanding TODOs around Software items 2026-04-03 16:02:44 -04:00
Matt Nadareski
52edf9d20c Convert Release fully over to properties 2026-04-03 14:02:03 -04:00
Matt Nadareski
62b2fd3325 Original is cloneable and comparable 2026-04-03 13:48:43 -04:00
Matt Nadareski
716abed8b8 Convert Input mostly over to properties 2026-04-03 13:38:26 -04:00
Matt Nadareski
b6ab8a19be Convert Driver fully over to properties 2026-04-03 13:22:17 -04:00
Matt Nadareski
1d5514b29d Convert Display and Video fully over to properties 2026-04-03 13:08:36 -04:00
Matt Nadareski
2ed0c1f732 Convert Video mostly over to properties 2026-04-03 12:31:24 -04:00
Matt Nadareski
c9c31af8ea Convert Display mostly over to properties 2026-04-03 11:57:30 -04:00
Matt Nadareski
e604ef314b Convert DipLocation fully over to properties 2026-04-03 11:15:57 -04:00
Matt Nadareski
e3d3fe7c1a Fix broken tests 2026-04-03 11:05:59 -04:00
Matt Nadareski
280e65775a Convert ConfLocation fully over to properties 2026-04-03 10:59:04 -04:00
Matt Nadareski
33958d37fd Use ICloneable implementations in DeepClone 2026-04-03 10:33:10 -04:00
Matt Nadareski
dc773dba5e Convert Chip fully over to properties 2026-04-03 10:26:20 -04:00
Matt Nadareski
3f82312943 Convert Control fully over to properties 2026-04-03 09:46:10 -04:00
Matt Nadareski
08e0aa5b77 Convert refresh rates to properties, fix format 2026-04-03 00:04:11 -04:00
Matt Nadareski
3c6cfef070 Convert size keys to size properties 2026-04-02 23:45:17 -04:00
Matt Nadareski
11803aa34c Convert Sound.Channels to long as a test 2026-04-02 22:45:33 -04:00
Matt Nadareski
49d3d9c096 Migrate most header string keys to properties 2026-04-02 22:01:42 -04:00
Matt Nadareski
11c4097cba Rename Clone extension to DeepClone to avoid conflicts 2026-04-02 15:32:24 -04:00
Matt Nadareski
12ec3678b8 Fill in a few more string properties 2026-04-02 14:28:46 -04:00
Matt Nadareski
c61aea7eac Move common string-only to properties 2026-04-02 11:18:49 -04:00
Matt Nadareski
8356aed5b0 Device.Manadatory converted to property 2026-04-02 02:43:29 -04:00
Matt Nadareski
276448a914 Merge branch 'main' into attempt-metadata-overhaul 2026-04-02 02:25:22 -04:00
Matt Nadareski
81c47b297d Editorconfig cleanup of ZAR 2026-04-02 02:23:02 -04:00
Deterous
5bb8557555 ZArchive support (#75)
* ZArchive support

* Fix offset record format

* Simplfiy Extensions

* Delete unused writers and test data

* Rework reader

* Fix build
2026-04-02 02:18:47 -04:00
Matt Nadareski
c4524d20f0 Enum type conversion to property 2026-04-02 02:18:08 -04:00
Matt Nadareski
451e89afff Boolean stuff convert to property 2026-04-01 21:59:16 -04:00
Matt Nadareski
5812d197a5 Change Name to concrete property 2026-04-01 13:18:45 -04:00
Matt Nadareski
4035d9db86 Add some common Metadata objects for NIDB 2026-04-01 10:37:25 -04:00
Matt Nadareski
e9902f0907 Reduce extension confusion 2026-03-27 00:48:44 -04:00
Matt Nadareski
8de1fbc52f Reduce enum overhead in metadata 2026-03-26 22:51:14 -04:00
Matt Nadareski
52ad2ff89c Move required extension 2026-03-26 15:15:59 -04:00
Matt Nadareski
b72fcfc60b Fill in a couple READMEs 2026-03-26 10:58:14 -04:00
Matt Nadareski
3f6e5c2383 Migrate these internal extensions to real extensions 2026-03-26 09:34:19 -04:00
Matt Nadareski
2ae3291a30 BSP and VBSP should not share lump types 2026-03-26 09:29:32 -04:00
Matt Nadareski
8a51f5d8ab Wire through already-added CRC-16 and CRC-64 2026-03-24 21:19:09 -04:00
Matt Nadareski
9c7993f8f1 Run tests and fix the rest 2026-03-24 19:42:36 -04:00
Matt Nadareski
8f49e190d8 Fix everything 2026-03-24 19:17:25 -04:00
Matt Nadareski
5f0fdcfd8d Update to IO 2.0.0 2026-03-24 18:02:49 -04:00
Matt Nadareski
219392e3a0 Port DictionaryBase extensions from ST
Notably, this is missing the equality checking because ST introduces a new type called "ModelBackedItem", which is specifically a type backed by a DictionaryBase item, with extensions. It is very similar to a Wrapper, but has different common utility. If there is a way to migrate that here, then the equality methods can come here as well.
2026-03-22 20:22:04 -04:00
Matt Nadareski
2ade7495c7 This will be public anyway 2026-03-22 02:44:12 -04:00
Matt Nadareski
5544ab0b8a Add majority of data extensions tests, fix minor issues 2026-03-21 20:09:10 -04:00
Matt Nadareski
8bec2087eb Add removal note 2026-03-21 17:55:14 -04:00
Matt Nadareski
7689c6dd07 Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
2026-03-21 16:26:56 -04:00