chore: clean up debug logging, document remaining differences
Browse filesRemove temporary watchpoint and debug logging from ddgame_init.rs
and game_session.rs.
Remaining 5 DDGame field differences vs original constructor:
- +0x041C/+0x0420 (sprite_cache_2[38,39]): set by display system
side effect during layer.spr loading via message pump callback.
Traced to FUN_005733b0 called from display vtable[37] (0x56A4C0,
RET 0x10). Exact callback mechanism TBD.
- +0x7820/+0x7824/+0x7828: 3 extra sequential sprite index values
(0x8D-0x8F) in Rust, likely from load_resource_list storing
slightly different sprite ID counts.
None of these affect determinism (headless PASS) or gameplay.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
crates/openwa-core/src/engine/ddgame.rs
CHANGED
|
@@ -1816,10 +1816,6 @@ unsafe fn init_graphics_and_resources(
|
|
| 1816 |
let hud_load: unsafe extern "thiscall" fn(*mut u8, *mut DDGame, *mut u8) =
|
| 1817 |
core::mem::transmute(rb(va::DDGAME_LOAD_HUD_AND_WEAPON_SPRITES) as usize);
|
| 1818 |
hud_load(gfx_handler, ddgame, (*wrapper)._field_4c4);
|
| 1819 |
-
let _ = crate::log::log_line(&format!(
|
| 1820 |
-
"[DDGame] after LoadHudAndWeaponSprites: +0x37C=0x{:08X}",
|
| 1821 |
-
(*ddgame).sprite_cache[144] as u32,
|
| 1822 |
-
));
|
| 1823 |
}
|
| 1824 |
|
| 1825 |
// ββ Loading progress ticks (2 of 4 β after LoadHudAndWeaponSprites) ββ
|
|
|
|
| 1816 |
let hud_load: unsafe extern "thiscall" fn(*mut u8, *mut DDGame, *mut u8) =
|
| 1817 |
core::mem::transmute(rb(va::DDGAME_LOAD_HUD_AND_WEAPON_SPRITES) as usize);
|
| 1818 |
hud_load(gfx_handler, ddgame, (*wrapper)._field_4c4);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1819 |
}
|
| 1820 |
|
| 1821 |
// ββ Loading progress ticks (2 of 4 β after LoadHudAndWeaponSprites) ββ
|
crates/openwa-wormkit/src/replacements/ddgame_init.rs
CHANGED
|
@@ -120,6 +120,7 @@ static FIND_ENTRY_LOG_COUNT: core::sync::atomic::AtomicU32 = core::sync::atomic:
|
|
| 120 |
|
| 121 |
extern "cdecl" fn impl_find_entry(name: u32, gfx_handler: u32) -> u32 {
|
| 122 |
let result = unsafe { gfx_dir_find_entry(name as *const u8, gfx_handler as *mut u8) };
|
|
|
|
| 123 |
// Log first 20 lookups for debugging
|
| 124 |
let count = FIND_ENTRY_LOG_COUNT.fetch_add(1, core::sync::atomic::Ordering::Relaxed);
|
| 125 |
if count < 20 {
|
|
|
|
| 120 |
|
| 121 |
extern "cdecl" fn impl_find_entry(name: u32, gfx_handler: u32) -> u32 {
|
| 122 |
let result = unsafe { gfx_dir_find_entry(name as *const u8, gfx_handler as *mut u8) };
|
| 123 |
+
|
| 124 |
// Log first 20 lookups for debugging
|
| 125 |
let count = FIND_ENTRY_LOG_COUNT.fetch_add(1, core::sync::atomic::Ordering::Relaxed);
|
| 126 |
if count < 20 {
|