b58d615cf2
DX9 to DX12 Migration - Phase 1: Foundation & Planning
...
Major Changes:
- Created comprehensive DX12 migration plan document
- Established DX12 engine module structure
- Implemented core infrastructure:
* DX12Device: Device initialization, adapter selection, feature detection
* DX12CommandQueue: Command queue management with fence synchronization
Architecture:
- DX12/Core: Fundamental objects (device, command queue)
- DX12/Resources: Resource management (planned)
- DX12/Rendering: Rendering abstractions (planned)
Key Features Implemented:
- Automatic adapter selection (chooses best GPU)
- Debug layer integration with GPU-based validation
- Feature level detection (11_0 to 12_1)
- Advanced feature detection (raytracing, mesh shaders, VRS)
- Descriptor size caching
- Fence-based GPU/CPU synchronization
- Command list execution with automatic fence signaling
Migration Strategy:
- Option A: Gradual transition via DX11 (recommended, 8-10 months)
- Option B: Direct DX12 migration (high-risk, 3-4 months)
- Option C: Multi-backend architecture (expert-level)
Technical Details:
- Supports Windows 10 1809+
- Requires DX12 capable GPU (most 2015+ hardware)
- Feature Level 11_0 minimum
- ComPtr for automatic resource management
- Explicit synchronization with fences
Documentation:
- DX9_TO_DX12_MIGRATION_PLAN.md: 15KB comprehensive guide
- Client/Engine/DX12/README.md: Module documentation
Status: Phase 1 Complete
Next: Command list management, swap chain, resource system
Files added: 6 (2 .h, 2 .cpp, 2 .md)
Lines of code: ~400 (core infrastructure)
This is a foundational commit establishing the DX12 architecture.
Full migration will take 3-4 months of development.
2025-12-01 10:23:56 +09:00
fa4459533c
Add DX9 conversion summary report
2025-12-01 09:25:58 +09:00
97264e3d7f
DX8 to DX9 Migration - Phase 1: Core Interfaces and Headers
...
Major Changes:
- Converted all d3d8.h includes to d3d9.h
- Converted all d3dx8.h includes to d3dx9.h
- Updated all DX8 interfaces to DX9:
* LPDIRECT3D8 -> LPDIRECT3D9
* LPDIRECT3DDEVICE8 -> LPDIRECT3DDEVICE9
* IDirect3DTexture8 -> IDirect3DTexture9
* IDirect3DSurface8 -> IDirect3DSurface9
* IDirect3DVertexBuffer8 -> IDirect3DVertexBuffer9
* IDirect3DIndexBuffer8 -> IDirect3DIndexBuffer9
- Updated structs:
* D3DCAPS8 -> D3DCAPS9
* D3DADAPTER_IDENTIFIER8 -> D3DADAPTER_IDENTIFIER9
- Updated API calls:
* Direct3DCreate8 -> Direct3DCreate9
- Updated project files (.vcxproj, .vcproj):
* d3d8.lib -> d3d9.lib
* d3dx8.lib -> d3dx9.lib
* dxerr8.lib -> dxerr.lib
- Fixed d3dfont.h/cpp:
* Updated StateBlock from DWORD handles to IDirect3DStateBlock9*
* Changed BeginStateBlock/EndStateBlock/CaptureStateBlock/ApplyStateBlock
* Updated render states (D3DRS_EDGEANTIALIAS -> D3DRS_ANTIALIASEDLINEENABLE)
* Moved texture sampling states from SetTextureStageState to SetSamplerState
Files affected: 250+ files across Engine and Client directories
Conversion method: Automated sed scripts with manual fixes for stateblocks
Next phase: Build testing and runtime verification
2025-12-01 09:25:06 +09:00
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
955e032217
Fix Debug build and script execution: Add _USE_32BIT_TIME_T, disable DEP for JIT script engine
2025-11-30 19:12:08 +09:00
bd9cb3776e
Fix Debug and Release_NoGD build configurations
...
- Add _USE_32BIT_TIME_T preprocessor definition to GlobalScript Debug build
to resolve LNK2019 error (time_t size mismatch between projects)
- Update Release_NoGD configuration in RYLClient.vcxproj:
* Add SSE2 instruction set support
* Enable OpenMP support
* Add warning suppressions (4996, 4819, 4482, 4566)
* Add ManifestFile setting
* Align with Release configuration settings
- Modify RYLClientMain.cpp:
* Update _RYL_TEST macro to enable ADMIN_L3 mode automatically
* Allow standalone execution without Login.exe in test mode
Issues resolved:
- Debug build: ParsePacket::HandleUserLogin linker error
- Release_NoGD build: Compilation failure due to configuration differences
2025-11-30 18:34:17 +09:00
1626f649c5
Fix Release_NoGD configuration: add SSE2, fix library dependencies, add _RYL_TEST
2025-11-30 17:04:19 +09:00
c6745638bb
Fix library dependencies for Debug and Release_NoGD configurations
...
- Added LUA Release_NoGD configuration to LUA.vcxproj
- Fixed RYLClient Debug/Release_NoGD library dependencies (Effect.lib, SoundLib.lib, Caldron.lib, GlobalScript.lib, etc.)
- Unified library path separators to forward slashes
- Changed OutDir from Game folder to Executable/Configuration folder
- Added copyfile.bat scripts for deployment to S:\YouxiLand\ROW
2025-11-30 15:52:49 +09:00
4d1b7b3d74
Add dxx8 paths and disable C4566/C4819/C4996 warnings for all Client projects
2025-11-30 14:46:14 +09:00
0c927ce065
add user setting files
2025-11-30 10:34:01 +09:00
345bd1d2be
..
2025-11-30 10:33:16 +09:00
c012f46962
Fix Release build compilation issues
...
- Fix enum ExceptionUID to use unsigned __int64 for 64-bit value
- Add TrackFileAccess, CLToolExe, CLToolPath settings to MemoryManager.vcxproj
- Add ExecutablePath for VS2010 compiler tools
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-30 10:02:33 +09:00
39f570a3b1
add files
2025-11-29 21:10:49 +09:00
1bd800bba2
Remove .pdb debug symbol files from tracking
...
Remove 71 .pdb files that were committed before .gitignore was set up.
These are build artifacts and should not be version controlled.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 21:01:12 +09:00
81e6180023
Add type library files (.tlb) to version control
...
- Remove *.tlb from .gitignore
- Add IDAuth.tlb (authentication COM interface)
- Add DirectX SDK type libraries
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:59:20 +09:00
c219b08e42
Add tool executables to version control
...
- Update .gitignore to allow .exe files outside build directories
- Add bison.exe and flex.exe (ScriptEngine parser tools)
- Add dxsetup.exe (DirectX redistributable)
- Add GCMDSTools.exe utility
- Add zlib.dll dependency
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:54:48 +09:00
fcd17b3479
Add resource files (.aps) and tools to version control
...
- Remove *.aps from .gitignore to track Visual Studio resource cache files
- Add various .aps files from RYLClient and Tools directories
- Include DDSHeader and XORenc utility tools
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:53:08 +09:00
04b06a81a0
Add library files (.lib) to version control
...
- Remove *.lib from .gitignore to track library dependencies
- Add DirectX, sound, and utility libraries required for build
- Includes: eax, vorbis, DbgHelp, ijl15, HShield libraries
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:38:17 +09:00
244223ff8a
..
2025-11-29 20:35:55 +09:00
dfb32e0690
add
2025-11-29 20:32:34 +09:00
21af36487b
Move .gitignore to repository root
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:20:31 +09:00
dd97ddec92
Restructure repository to include all source folders
...
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:17:20 +09:00
5d3cd64a25
Fix Debug_MY output directory to use relative path
...
Change hardcoded absolute path (D:\Navezine\ROWTest_MY\) to relative path
(../../Executable/$(Configuration)\) for consistency with other configurations.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 20:13:26 +09:00
e067522598
Initial commit: ROW Client source code
...
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-29 16:24:34 +09:00