- 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
1.8 KiB
1.8 KiB
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_Tpreprocessor definition to GlobalScript Debug configuration to fixParsePacket::HandleUserLogintime_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_TESTmode to automatically enableADMIN_L3without requiring Login.exe
Changed
- Working Directory: Set LocalDebuggerWorkingDirectory to
F:\YouxiLand\ROWfor 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 to127.0.0.1only 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.logfiles) for script debugging - Execute State Logging: Added comprehensive state logging to
script_execute.logbefore 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