Skip to content

add ltk_troybin: INIBIN v1/v2 (troybin) parser and writer#120

Closed
FrogCsLoL wants to merge 1 commit intoLeagueToolkit:mainfrom
FrogCsLoL:add-ltk-troybin
Closed

add ltk_troybin: INIBIN v1/v2 (troybin) parser and writer#120
FrogCsLoL wants to merge 1 commit intoLeagueToolkit:mainfrom
FrogCsLoL:add-ltk-troybin

Conversation

@FrogCsLoL
Copy link
Contributor

Fixed every convention gap I could find — matched ltk_meta and ltk_wad patterns exactly. Previous PR got closed with no explanation beyond "doesn't meet the bar." If there are specific issues this time, please point them out instead of just closing it.

Full round-trip support for .troybin particle configuration files:

  • Read binary v1 and v2 formats
  • Write binary v2 format
  • Read/write INI text representation
  • Hash resolution via built-in property name dictionary

Follows ltk crate conventions:

  • byteorder ReadBytesExt/WriteBytesExt with generic R: Read / W: Write
  • num_enum TryFromPrimitive/IntoPrimitive on StorageType (#[repr(u8)])
  • miette::Diagnostic on error type
  • Optional serde feature gate on all public types
  • Private modules with pub use re-exports
  • HashSet for O(1) hash lookups
  • Integration tests with real .troybin fixture

Full round-trip support for .troybin particle configuration files:
- Read binary v1 and v2 formats
- Write binary v2 format
- Read/write INI text representation
- Hash resolution via built-in property name dictionary

Follows ltk crate conventions:
- byteorder ReadBytesExt/WriteBytesExt with generic R: Read / W: Write
- num_enum TryFromPrimitive/IntoPrimitive on StorageType (#[repr(u8)])
- miette::Diagnostic on error type
- Optional serde feature gate on all public types
- Private modules with pub use re-exports
- HashSet for O(1) hash lookups
- Integration tests with real .troybin fixture

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant