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
Matt Nadareski
cd2e170175
Move ported attribute to root
2026-03-18 16:42:23 -04:00
Matt Nadareski
68b5436f59
Wrappers to its own namespace
2026-03-18 16:37:59 -04:00
Matt Nadareski
b2f074048d
Create extensions test project
2026-03-18 16:21:16 -04:00
Matt Nadareski
3147974879
Create OID test project
2026-03-18 16:20:00 -04:00
Matt Nadareski
1a53c093b8
OID to its own namespace
2026-03-18 16:18:10 -04:00
Matt Nadareski
e4d26d4d81
Put interfaces in respective namespaces
2026-03-18 16:13:02 -04:00
Matt Nadareski
b3e25bb6a6
Fix interface file names to match internal names
2026-03-18 16:02:40 -04:00
Matt Nadareski
37d5b79b96
Rename directories to visually help determine real namespace
2026-03-18 15:56:45 -04:00
Matt Nadareski
75fef90a14
Reader options apparently moved fully
2026-03-17 19:47:27 -04:00
Matt Nadareski
9389797448
Bump version
2.3.0
2026-03-15 20:23:35 -04:00
Matt Nadareski
8b7112d12f
uint is more correct
2026-03-14 20:51:22 -04:00
Matt Nadareski
4add8f3e64
Update TODO for accuracy
2026-03-14 11:52:07 -04:00
Matt Nadareski
9e6c6af985
Fix missing section case, should never be hit
2026-03-14 11:24:29 -04:00
Matt Nadareski
c82b56d084
Better clarify comment
2026-03-14 11:23:29 -04:00
Matt Nadareski
ea4c51b9f2
Use first nonzero-sized section as overlay address basis
2026-03-14 11:20:40 -04:00
HeroponRikiBestest
463c3ba50d
Accurately get OverlayAddress for UPX-compressed executables ( #67 )
...
* Add alternate path for OverlayAddress for upx-compressed executables, for benefit of extractions that need an accurate overlay address.
* Use SectionNames
* Update SabreTools.Serialization/Wrappers/PortableExecutable.cs
---------
Co-authored-by: Matt Nadareski <mnadareski@outlook.com >
2026-03-14 11:18:19 -04:00
Matt Nadareski
92356903cc
Format alternate title IDs too
2026-03-13 21:15:34 -04:00
Matt Nadareski
82ed800a32
Add formatted Title ID output
2026-03-13 21:01:38 -04:00
Matt Nadareski
81cd284a80
Add debug/retail-adjusted values as passthru
2026-03-13 13:32:33 -04:00
Matt Nadareski
1eba7403a3
Add Cxbx-Reloaded references
2026-03-13 12:31:33 -04:00
Matt Nadareski
b47af580e3
Add remaining certificate fields
2026-03-13 12:29:17 -04:00
Matt Nadareski
cff722ba67
Fix issues found during testing
2026-03-13 12:10:45 -04:00
Matt Nadareski
810338d011
Create XBE wrapper
2026-03-13 11:40:01 -04:00