1565 Commits

Author SHA1 Message Date
Matt Nadareski
a7a622e118 Revert incorrect assumption 2026-03-26 23:14:38 -04:00
Matt Nadareski
225922e5bc TypeHelper comment and formatting cleanup 2026-03-26 23:10:06 -04:00
Matt Nadareski
465ece5ea3 Fix namespace mixup 2026-03-26 23:07:12 -04:00
Matt Nadareski
8de1fbc52f Reduce enum overhead in metadata 2026-03-26 22:51:14 -04:00
Matt Nadareski
29620c0c4f Metadata code cleanup 2026-03-26 20:40:49 -04:00
Matt Nadareski
3a3b20df11 Reduce repeated lookups and reads 2026-03-26 16:52:07 -04:00
Matt Nadareski
85aefc8d90 Move required extension 2026-03-26 15:16:12 -04:00
Matt Nadareski
52ad2ff89c Move required extension 2026-03-26 15:15:59 -04:00
Matt Nadareski
8356fc5970 Thin out ModelBackedItem wrapper class 2026-03-26 13:52:00 -04:00
HeroponRikiBestest
e61aec89ea Use correct section size for matroschka package extraction (#71)
Not sure how it took this long for me to encounter an issue.
2026-03-26 13:40:21 -04:00
Matt Nadareski
363ffee738 AttributeHelper code was only ever used in converters 2026-03-26 11:30:40 -04:00
Matt Nadareski
ce2ddf1636 Simplify SabreTools.Metadata base namespace 2026-03-26 11:27:29 -04:00
Matt Nadareski
dd29c8245a Slight simplification to GetDepotPath 2026-03-26 11:23:30 -04:00
Matt Nadareski
fdee2103ad Rename GetAttribute to GetMappingAttribute to be more accurate 2026-03-26 11:17:43 -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
c216129b37 Be more explicit about support 2026-03-26 09:05:58 -04:00
Deterous
2fdc2407dd Extract blank directories from ISO9660 filesystem (#70) 2026-03-25 09:04:14 -04:00
Matt Nadareski
5205fac739 Add non-published packages to publish scripts 2026-03-24 21:20:11 -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
e11a08b587 Port metadata functionality from ST 2026-03-24 18:03:01 -04:00
Matt Nadareski
5f0fdcfd8d Update to IO 2.0.0 2026-03-24 18:02:49 -04:00
Matt Nadareski
1053ff7f23 Add ConditionalHashEquals tests 2026-03-22 20:26:28 -04:00
Matt Nadareski
de6a08539a Wrong filename 2026-03-22 20:22:22 -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
1acd448838 Make validation methods public 2026-03-22 02:05:43 -04:00
Matt Nadareski
a8ed7a38f8 Fix issue with 3DS key assignment 2026-03-22 01:58:11 -04:00
Matt Nadareski
5208fc3e33 Add removal comment 2026-03-22 01:53:40 -04:00
Matt Nadareski
3dfbd23867 Pass in fixed crypto key flag as bool 2026-03-22 01:52:26 -04:00
Matt Nadareski
994a366770 Put initial value generators in common region 2026-03-22 01:35:36 -04:00
Matt Nadareski
d1b061fac5 Port 3DS decrypt/encrypt in a functional manner 2026-03-22 01:34:36 -04:00
Matt Nadareski
6e73c93c89 Port PartitionKeys class from NDecrypt 2026-03-22 01:10:39 -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
50e27f926d Use separate libraries as references in executables 2026-03-21 16:41:09 -04:00
Matt Nadareski
ecc88316bd Nicer readme linking 2026-03-21 16:34:52 -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
Matt Nadareski
bec0aeb04c Another size read mismatch in IRD 2026-03-20 22:09:07 -04:00
Matt Nadareski
2f8ee5545e IRD game title is UTF-8 2026-03-20 22:07:35 -04:00
Matt Nadareski
015ad062ac Prefix sizes were being read incorrectly for IRD parsing 2026-03-20 22:01:13 -04:00
Matt Nadareski
ae6608e2a7 Allow GCF checksum header to have dummy0 value of 0 (fixes #69) 2026-03-19 16:18:24 -04:00
Matt Nadareski
ca78898e93 Move wrapper factory file after namespace change 2026-03-18 22:17:07 -04:00
Matt Nadareski
a6ee92da32 Fix build 2026-03-18 17:27:06 -04:00
Matt Nadareski
b2eb0b5e67 Extensions classes should be named as such 2026-03-18 17:15:03 -04:00
Matt Nadareski
685fadbfdf Move wrapper utility classes into Wrappers namespace 2026-03-18 16:55:48 -04:00
Matt Nadareski
638934e6b0 Attributes should live in the Models namespace where it's used 2026-03-18 16:49:14 -04:00