Files
goldeneye-pc-port/src
James Dansereau 73820a0c24 M-23: WS6 Facility playtest — D135/D137/D138/D139 (firefight, aim, freeze, unload)
First real human WS6 playthrough. Each crash is a subsystem the 21-level
boot sweep never exercises.

- D135 (propobj.c) bgTestHitOnObj: unported N64 GBI parser — raw 8-byte-Gfx
  byte/word indices desync on the PC 16-byte Gfx stream, walk off the DL.
  Ported #ifdef PORT to gdl->words.w0/.w1 shifts (mirrors pd_port bg.c:3635).
  Sub-fix: objHit:9717 div-by-0 — texnum recovery not portable, force -1.
- D137 (gunfire.c) gunDrawSight: s32 sp54 holds a Gfx*; 4-byte slot splices
  adjacent stack into the pointer -> wild DL write on right-mouse aim.
  #ifdef PORT: Gfx *sp54.
- D138 (snd.c) sndCreatePostEvent: parked audio never drains evtq->allocList,
  per-objTick positional-sound posts stall the main thread ("1 room from the
  end" freeze). #ifdef PORT no-op until audio lands (D77).
- D139 (cleanup_objects.c) cleanupObjects: read the propDef type via
  (u8)obj[0] — correct only big-endian (type = low byte of the header word).
  On LE that's extrascale -> walk never hits PROPDEF_END -> runs off the blob
  -> frees garbage -> stage-unload crash. #ifdef PORT uses pdef->type.
  UNVERIFIED (fast teardown test hit D140 first).

Open: D140 pause-menu watch-model NULL matrix; D118c aim-mode mouse-down
-> crouch. New harness tools_pc/repro_gdb.sh + build-pc/d136_cmds.txt.

-level_09 unregressed (91.65%). Docs: PCPortResearch §F D135-D140,
PORT-LEARNINGS §B/§C, HANDOFF M-23 + M-24 next-task.
2026-08-30 11:28:50 -04:00
..
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2020-11-20 14:35:54 -06:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2020-11-20 14:35:54 -06:00
2022-06-06 15:07:33 -05:00
2020-11-20 14:35:54 -06:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-10-29 10:41:01 -04:00
2022-06-06 15:07:33 -05:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2021-03-08 12:58:16 -06:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2026-08-16 17:30:25 -04:00
2026-08-16 17:30:25 -04:00
2022-06-06 15:07:33 -05:00
2022-06-06 15:07:33 -05:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00
2023-09-28 11:49:33 -04:00