668 Commits

Author SHA1 Message Date
njohnson
bebaeff322 Merge branch 'main' of https://code.redline.llc/njohnson/XPlor 1.7 2026-01-07 16:38:17 -05:00
njohnson
d5fe20d746 Update app with image preview and code style changes
- Integrate ImagePreviewWidget for texture asset preview
- Standardize member variable naming (m_var -> mVar)
- Standardize getter methods (GetXxx -> Xxx)
- Add app resource file for Windows

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:36:53 -05:00
njohnson
0fa26e5256 Expand Call of Duty XScript definitions
Add new asset type definitions:
- GfxWorld and related structures (cells, lights, probes)
- Menu system (menudef, itemdef, windowdef, listboxdef)
- Sound system (soundalias, soundfile, speakermap, sndcurve)
- D3D resources (vertex/index buffers)
- Font glyphs and expression entries

Update existing definitions with improved field annotations
and UI display properties.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:36:40 -05:00
njohnson
381b28c11f Add Asura engine XScript definitions
Add XScript definitions for Rebellion's Asura engine formats:
- Archive chunks (fcsr, acsr, rcsr)
- Texture chunks (tsxt, xbtx2d_chunk)
- Resource chunks and headers

Used by games like Sniper Elite V2 on Xbox 360.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:36:02 -05:00
njohnson
be3ff9303b Add image preview widget with Xbox 360 texture support (WIP)
Add ImagePreviewWidget class for previewing texture assets:
- TGA image loading (uncompressed and RLE)
- Xbox 360 XBTX2D texture format support (work in progress)
- DXT1/DXT5 block decompression
- Xbox 360 texture untiling using SDK algorithms
- Scroll-to-zoom and drag-to-pan functionality
- Debug export to PNG for development

The Xbox 360 texture decoding is still a work in progress and
needs further research for proper implementation.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:35:49 -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
14d507dc48 Update .gitignore for build artifacts and temp files
Add exclusions for:
- Build artifacts (*.lib, *.pdb, ui_*.h, moc_*.cpp)
- Export and doc directories
- Temporary files (stderr.txt, stdout.txt, *.bat)
- Third-party tools directories

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:35:20 -05:00
401a1e812d Add README.md 2026-01-06 14:24:19 -05:00
njohnson
4896affc48 Add XScript syntax highlighting definition 2026-01-01 22:20:58 -05:00
njohnson
db78d63e13 Update app to use DSL engine 2026-01-01 22:18:51 -05:00
njohnson
154fde9666 Add XScript definition files 2026-01-01 22:18:40 -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
a298c622f0 Add hexes submodule 2026-01-01 22:18:10 -05:00
njohnson
7e0898d484 Start writing AST to parse script rather than JSON. 2025-12-31 18:13:41 -05:00
njohnson
e5f6f6e31c Add some JSON definitions. 2025-12-31 18:13:19 -05:00
njohnson
b8a8c83bee Add generic parse code, based on JSON definitions. 2025-12-31 18:13:00 -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
91a79f78cc Refactor: Improve file handling for opening files. 2025-09-15 18:52:21 -04: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
34cafac121 Refactor: Update FastFileFactory and Open to use same parsing logic. 2025-09-15 18:50:18 -04:00
njohnson
4bf4c12159 Refactor: Use of FastFileFactory replaced with FastFile::Open for Factory ingest tests. 2025-09-15 18:50:09 -04:00
njohnson
754c563515 Refactor: Update FastFile::Open to use consistent filename parsing. 2025-09-15 18:49:54 -04:00
njohnson
ea1a829957 Refactored compression and encryption. 2025-09-15 18:49:42 -04:00
njohnson
ccb956a834 Refactor: Replace hardcoded file paths with fastFilePath in testFactory() methods. 2025-09-15 18:49:25 -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