- symbols.json: IDirect3DDevice8_IsBusy/KickPushBuffer and IDirect3DBaseTexture8_IsBusy
are static (D3DINLINE is static __forceinline; none is a cachebeta public).
- Three invented static names replaced by first-party names from the 2001-09-25
cachebeta-xbe linker map (atlas 7eacac85, re-anchored on 20 named symbols):
texture_cache_name_block_proc, compare (also January atlas exact tier) and
texture_cache_initialize_hardware_format.
- bitmap_group.h (shared, 45 includers): struct bitmap_data fields per HCEX
(mipmap_pad, long pixels_offset/pixels_size/tag_index/cache_block_index);
bink_playback.c and bitmaps.c adopt the names. The TU-local bitmap_data view
and raw tag_get('bitm') prefix view in xbox_texture_cache.c are gone.
- texture_cache.h declares texture_cache_debug_render (render_debug.c had no
prototype in scope). The Xbox-only public format mappers get the object's own
header cache/xbox_texture_cache.h. Adding them to texture_cache.h regresses
declaration-count-sensitive consumers (decals); this is disclosed in the header.
- Reviewer amendment: the invented pad member reserved006[2] in the TU-private
texture struct is removed (natural alignment; HCEX texture_datum has no pad).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
symbols.json renames the _bss_004d1198 placeholder in place to
_texture_cache_debug_bitmaps (static), the name xbox_texture_cache.c
already declares for its only user; the name is descriptive and marked
provisional in the source (house rule 8 forbids the bss+address form).
The debug listing computes both tab stops from frame_bounds.x0, as
January's bytes do. Full ninja + stable diff: +1 function (784 B),
0 regressions; active parks 220 -> 219.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- _connected_geometry_add_triangle: declare+init, short-index for loops
with the modulo edge neighbour, single-exit NONE result
- _render_inverse_transform_screen_point in xbox_texture_cache and
xbox_sound_cache: add_vectors3d(frustum apex, global_zero_vector3d)
replaces the hand-expanded origin sum (both park reopens; select-any
_add_vectors3d COMDAT, A30 class). The static helper's January register
convention returns at both callers; their fuzzy parks
_texture_cache_debug_render and _sound_cache_debug_render are
re-measured (non-exact before and after, objdiff slightly closer).
Stable diff: 0 regressions; active parks 222 -> 220.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>