Commit Graph

31 Commits

Author SHA1 Message Date
fcab069041 Bump version to 0.4.2 2023-10-31 23:17:41 -04:00
fac957fafa Also implement serde Deserialize on public structs 2023-10-31 23:16:49 -04:00
66ca50650b Bump version to 0.4.1 2022-10-01 17:50:08 -04:00
5e3a07dfa6 Tolerate trailing or missing null bytes at end of decompressed CELL record data
Fixes some crashes when dealing with wierd decompressed CELL data. More details here: https://en.uesp.net/wiki/Skyrim_Mod_talk:Mod_File_Format/CELL#Trailing_or_missing_null_bytes_at_end_of_decompressed_CELL_data
2022-10-01 17:49:43 -04:00
4f70f90d2b Bump version to 0.4.0
Minor version change for the breaking change in the public API of Plugin (now uses HashSet instead of Vec for cells and worlds).
2022-09-30 16:44:16 -04:00
e79480794f Use HashSet for cells and in Plugin public API 2022-09-30 16:43:19 -04:00
22c5744cd5 Bump to version 0.3.4 2022-09-30 12:26:42 -04:00
2adcce94ba Store worlds in a HashSet to deduplicate
Came across a valid plugin file that has multiple WRLD records for the same world. I didn't know that was possible, so this change prevents that from outputting duplicate worlds in the worlds array.
2022-09-30 12:26:03 -04:00
7932d98e72 Bump version to 0.3.3 2022-03-26 16:26:46 -04:00
85494df510 Derive Clone on Cell and World 2022-03-26 16:26:20 -04:00
3ae52b32bb Bump version to 0.3.2 2022-03-03 01:06:08 -05:00
1c67ea7943 Export World from root 2022-03-03 01:05:42 -05:00
f6a74ded01 Bump version to 0.3.1 2021-08-27 00:41:28 -04:00
f8ddd6f939 Only skip flags in XCLC if they exist
I guess older esp files don't have flags in the struct, which wasn't mentioned by the UESP mod file format page.
2021-08-27 00:40:33 -04:00
173289a7e8 Bump version to 0.3.0
Bumping minor version because type change in `PluginHeader` from `&str` to `Cow<str>`.
2021-07-23 23:15:33 -04:00
151ff191cc Parse strings in Windows-1252 encoding
According to UESP, this is what strings in plugin files are encoded in: https://en.uesp.net/wiki/Skyrim_Mod:File_Format_Conventions

Decoding from this encoding fixes parsing some files with zstrings that contain special characters like umlauts.
2021-07-23 23:14:08 -04:00
261c0e21c3 Bump version to 0.2.1 2021-07-21 22:23:28 -04:00
979f70177e Fix handling of XXXX fields in plugin header 2021-07-21 22:22:49 -04:00
bb08e26b95 Bump version to 0.2.0 2021-07-19 00:24:48 -04:00
66da86fed9 Parse WRLD records & link cells to worlds
Cell coordinates are useless without knowing the worldspace that they index into.
2021-07-19 00:19:26 -04:00
c20f4f71dd Bump to version 0.1.4 2021-07-15 10:35:36 -04:00
4eaa287905 Don't crash on unknown record flag bits 2021-07-15 10:35:04 -04:00
1bc8f59a5c Remove break that breaks parsing of some plugins
Think I left this in on accident from some testing a long time ago
2021-07-15 10:34:23 -04:00
12beff1014 Prevent reading past TES4 record in header parse
Bump version to 0.1.3
2021-06-12 22:54:10 -04:00
c952eeac7a Upgrade version to 0.1.2 2021-05-29 16:22:38 -04:00
9b33136604 Handle special XXXX fields 2021-05-29 16:21:58 -04:00
0e3d127779 Patch version 0.1.1 2021-05-20 22:22:17 -04:00
9c7d850298 Typo fix 2021-05-20 22:21:27 -04:00
af8e66fa66 Add documentation 2021-05-20 20:47:50 -04:00
447ad25c8a Clean some code, add README 2021-05-20 19:30:26 -04:00
200cf73248 Add parser and cli, basic extraction done 2021-05-20 01:33:11 -04:00