Files
Client/CHANGELOG.md
arDTDev 17204aba1d Improve Debug build and JIT script execution
- Use VirtualAlloc with PAGE_EXECUTE_READWRITE for JIT code buffers
- Remove DEP disable flag, rely on proper memory allocation instead
- Allow Debug build to use command-line IP args (fallback to 127.0.0.1)
- Add CHANGELOG.md documenting all recent fixes
2025-11-30 19:41:45 +09:00

31 lines
1.8 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
## [2024-11-30] - Build System & Script Engine Fixes
### Fixed
- **Release_NoGD Configuration**: Added missing compiler settings (SSE2, OpenMP, warning suppressions) to match Release configuration
- **Debug Build Linker Error**: Added `_USE_32BIT_TIME_T` preprocessor definition to GlobalScript Debug configuration to fix `ParsePacket::HandleUserLogin` time_t size mismatch (LNK2019)
- **Script Execution Crash**: Implemented VirtualAlloc with PAGE_EXECUTE_READWRITE for JIT code buffer allocation to resolve DEP-related memory access violations
- **Standalone Debugging**: Modified `_RYL_TEST` mode to automatically enable `ADMIN_L3` without requiring Login.exe
### Changed
- **Working Directory**: Set LocalDebuggerWorkingDirectory to `F:\YouxiLand\ROW` for all configurations to enable proper resource loading during debugging
- **Server IP Handling**: Modified `GetServerInfo()` to respect command-line IP arguments even in Debug builds, falling back to `127.0.0.1` only when no IP is provided
- **Memory Management**: Enhanced `CVirtualMachine::Destroy()` to properly detect and free VirtualAlloc-allocated memory using VirtualQuery
### Added
- **Debug Logging**: Added MCF file decryption logging (`.decrypted.log` files) for script debugging
- **Execute State Logging**: Added comprehensive state logging to `script_execute.log` before script execution
### Technical Details
- MCF XOR encryption key: `0x82fac623 ^ 0x601f1ac4`
- Stack reserve size increased to 8MB for Debug configuration
- Code buffer now allocated with executable permissions for JIT execution compatibility with Windows 10/11 DEP
### Notes
- Visual Studio 2010 project
- DirectX 8 graphics API
- Custom JIT script engine with x86 machine code execution