487 Commits

Author SHA1 Message Date
njohnson
19459d7aaf Enhance LogManager with file output and entry buffering
- Add log-to-file functionality with configurable path
- Buffer log entries before listeners connect to prevent lost messages
- Add flush mechanism for buffered entries
- Improve utils.h with additional helper functions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:11:16 -05:00
njohnson
c45d5cba86 Add XScript language features and DslKeys abstraction
- Add inline, array, const, and match statement syntax
- Add true/false keywords and deflate() decompression function
- Introduce DslKeys enum for internal metadata key management
- Improve parse_here delegation pattern with variable merging
- Remove deprecated bracket attribute syntax (use ui() instead)
- Enhance script type editor with additional functionality
- Remove obsolete install.cmd

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:08:26 -05:00
njohnson
904abf2e36 Add configurable QuickBMS path with auto-detection
- Add QuickBMS path setting to Settings class with auto-detection
- Add Tools page in Preferences with QuickBMS configuration UI
- Update Compression class to use configurable path instead of hardcoded
- Add startup prompt if QuickBMS not found, with option to locate

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:54:57 -05:00
njohnson
b46c94a47b Update compression and logging libraries
- Enhanced compression support
- Log manager improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:38:25 -05:00
njohnson
c208595473 Update DSL interpreter and type registry
- 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>
2026-01-08 00:38:12 -05:00
njohnson
64db5a19ed Add dynamic file filter to Open dialog
- Add TypeRegistry::supportedExtensions() to extract file extensions
  from loaded XScript definitions by parsing criteria blocks
- Implement File > Open action with QFileDialog
- Generate filter string dynamically from all root type definitions
- Include "All Supported Files" and "All Files" filter options

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:41:46 -05:00
njohnson
d7285b5bbe Enhance DSL interpreter with new built-in functions
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>
2026-01-07 16:35:35 -05:00
njohnson
db78d63e13 Update app to use DSL engine 2026-01-01 22:18:51 -05:00
njohnson
594774c8e8 Remove old script library and JSON definitions 2026-01-01 22:18:33 -05:00
njohnson
d2c22dd997 Add DSL library 2026-01-01 22:18:25 -05:00
njohnson
7e0898d484 Start writing AST to parse script rather than JSON. 2025-12-31 18:13:41 -05:00
njohnson
becf84cdb6 Remove specific ipak code 2025-12-31 18:12:20 -05:00
njohnson
6460a03d07 Remove specific iwi code 2025-12-31 18:12:13 -05:00
njohnson
6b908347be Remove specific dds code 2025-12-31 18:12:06 -05:00
njohnson
3b61ff5a05 Remove specific zonefile code 2025-12-31 18:11:48 -05:00
njohnson
9d6fa35f50 Remove specific zonefile code 2025-12-31 18:11:33 -05:00
njohnson
0ce346c979 Remove specific asset code. 2025-12-31 18:11:22 -05:00
njohnson
f6d32552b0 Remove some libs, fix many assets, update some UIs. 2025-12-19 23:06:03 -05:00
njohnson
8d5e5812ec Refactor: Updated compression functions for LZX format. 2025-09-15 18:52:05 -04:00
njohnson
622323117a Refactor: Improved encryption library performance and stability. 2025-09-15 18:51:45 -04:00
njohnson
2fdbe74a4a Refactor: Update decompression logic for WiiU platform. 2025-09-15 18:51:28 -04:00
njohnson
13af32ed2d Refactor: Improve fastfile decoding. 2025-09-15 18:51:04 -04:00
njohnson
dd00cee809 Update fastfileCod12_pc.cpp: Improve ZLib decompression efficiency and add export functionality. 2025-09-15 18:50:39 -04:00
njohnson
ba83aa5247 Lotta changes 2025-09-10 21:58:26 -04:00
njohnson
324e84eafc Refactor: Default destructor for XCLeafBrushNodeLeaf 2025-09-10 21:57:09 -04:00
njohnson
e290f2aca9 Implement TODO: ParseData for XCLeafBrushNodeLeaf 2025-09-10 21:57:08 -04:00
njohnson
b13001ac90 Fix: Use XDataStream for parsing 2025-09-10 21:57:07 -04:00
njohnson
1e24a2cc81 Fix: Set name in constructor 2025-09-10 21:57:07 -04:00
njohnson
631dbdfa53 Fix: Use XDataStream in ParseData 2025-09-10 21:57:06 -04:00
njohnson
fbf295f2a8 Fix: Parse data stream for XCLeafBrushNodeChildren 2025-09-10 21:57:05 -04:00
njohnson
00c84fd622 Fix: Use qint32 for mContents 2025-09-10 21:57:04 -04:00
njohnson
a8cee21ae8 Fix: ParseData method implementation 2025-09-10 21:57:04 -04:00
njohnson
48d7c3e692 Refactor: Use QVector3D for leaf min/max coordinates 2025-09-10 21:57:03 -04:00
njohnson
c7291b567f Fixes: Parse data from XDataStream 2025-09-10 21:57:02 -04:00
njohnson
ecb0e528c2 Fix: Use XDataStream for parsing 2025-09-10 21:57:01 -04:00
njohnson
2de65b22ec Refactor: ParseData - Use XDataStream instead of QDataStream 2025-09-10 21:57:00 -04:00
njohnson
a01d07ce41 Refactor: Use XDataStream for data parsing 2025-09-10 21:56:59 -04:00
njohnson
348bf2a299 Refactor ParseData to handle data parsing. 2025-09-10 21:56:59 -04:00
njohnson
37c81d78ce Fix: Use qint32 for platform ID 2025-09-10 21:56:58 -04:00
njohnson
33052d2e11 Fix: Correctly parse platform integer from data stream. 2025-09-10 21:56:57 -04:00
njohnson
4603ebd7cf Refactor: Update ParseData to use XDataStream 2025-09-10 21:56:56 -04:00
njohnson
00f0a8a828 Refactor: Add TODO for ParseData implementation. 2025-09-10 21:56:55 -04:00
njohnson
367e4e012e Refactor: Change QDataStream to XDataStream in ParseData 2025-09-10 21:56:54 -04:00
njohnson
3bf4e8b0e5 Refactor: Parse data for XBoneInfo 2025-09-10 21:56:54 -04:00
njohnson
39a5a75333 Fix: Update data stream type in ParseData() 2025-09-10 21:56:53 -04:00
njohnson
20f4dcd798 Fix: Set name and parse surfId 2025-09-10 21:56:52 -04:00
njohnson
8398156122 Refactor: Change QDataStream to XDataStream in ParseData 2025-09-10 21:56:51 -04:00
njohnson
8136ba1d34 Fix: Add missing Clear() implementation for XAudioXmaLoopRegion. 2025-09-10 21:56:51 -04:00
njohnson
2c18b939e7 Fix: Use XDataStream instead of QDataStream 2025-09-10 21:56:50 -04:00
njohnson
01d2b95417 Add XMA format parsing data fields 2025-09-10 21:56:49 -04:00