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

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_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