Introduce operation journaling to track how values are read from the
binary stream, enabling future write-back of edited fields.
New components:
- OperationJournal: Records read operations with stream offsets, sizes,
byte order, and original values during parsing
- ReverseEval: Analyzes expressions for invertibility (e.g., x+5 can be
reversed to compute the source field when editing the result)
- Recompiler: Infrastructure for recompiling modified values back to
binary format
Interpreter enhancements:
- Add runTypeInternalWithJournal() for journaled parsing
- Journal scalar reads, byte reads, strings, skip/seek operations
- Add deadrising_lzx() built-in for Dead Rising 2 LZX decompression
- Support _deadrising_lzx_stem context variable for nested archives
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Enhanced XScript parsing capabilities
- Type registry improvements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add support for:
- basename() function for extracting filenames from paths
- cstring() function for reading null-terminated strings
- ascii() function for reading fixed-length ASCII strings
- Enhanced type registry with additional primitive types
- Improved parser with better error handling
These additions enable more flexible XScript definitions for
parsing binary file formats.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>