forked from Ports/goldeneye-pc-port
D160: env-gated diagnostics for the Dam level-end cutscene (GE_D160)
Dam exit should play a scripted cutscene (Bond off the dam / bungee) before the MISSION COMPLETE report; on PC it cuts straight to the report while progression still works (bossReturnTitleStage fires). Add GE_D160=1 trace points to localise whether the cutscene AI runs: - bossReturnTitleStage entry (+ caller return addr) - bondviewSetCameraMode (mode, stage, g_IntroSwirl, intro anim idx, caller) - AI EndLevel/exit_level, CameraLookAtBondFromPad, CameraSwitch (tag lookup result: cdef ptr / TagIndex<0 / tag NOT FOUND) No behaviour change (all #ifdef PORT, getenv-gated).
This commit is contained in:
1 parent
d439dfeaeb
commit
fc844fb9b4
4 files changed
+38
No files matched your search
@@ -10051,6 +10051,11 @@ _AI_CMD(
|
||||
|
||||
_AI_CMD(
|
||||
{
|
||||
#ifdef PORT
|
||||
if (getenv("GE_D160"))
|
||||
osSyncPrintf("D160: AI EndLevel/exit_level cmd chr=%p cameraBufferToggle=%d\n",
|
||||
(void *)ChrEntityp, (int)cameraBufferToggle);
|
||||
#endif
|
||||
if (cameraBufferToggle)
|
||||
{
|
||||
if (cameraFrameCounter2 == FALSE)
|
||||
@@ -10172,6 +10177,10 @@ _AI_CMD(
|
||||
g_CameraLookAtBondPad = (PadRecord *) &g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
set_camera_mode(CAMERAMODE_POSEND);
|
||||
#ifdef PORT
|
||||
if (getenv("GE_D160"))
|
||||
osSyncPrintf("D160: AI CameraLookAtBondFromPad -> POSEND\n");
|
||||
#endif
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
break;
|
||||
})
|
||||
@@ -10223,8 +10232,21 @@ _AI_CMD(
|
||||
dword_CODE_bss_80079A18 = CharArrayTo16(ai->val,1);
|
||||
dword_CODE_bss_80079A1C = CharArrayTo16(ai->val,3);
|
||||
set_camera_mode(CAMERAMODE_POSEND);
|
||||
#ifdef PORT
|
||||
if (getenv("GE_D160"))
|
||||
osSyncPrintf("D160: AI CameraSwitch tag=%d cdef=%p -> POSEND\n",
|
||||
(int)ai->val[0], (void *)cdef);
|
||||
#endif
|
||||
}
|
||||
#ifdef PORT
|
||||
else if (getenv("GE_D160"))
|
||||
osSyncPrintf("D160: AI CameraSwitch tag=%d TagIndex<0 (no cutscene)\n", (int)ai->val[0]);
|
||||
#endif
|
||||
}
|
||||
#ifdef PORT
|
||||
else if (getenv("GE_D160"))
|
||||
osSyncPrintf("D160: AI CameraSwitch tag=%d NOT FOUND\n", (int)ai->val[0]);
|
||||
#endif
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
break;
|
||||
})
|
||||
|
||||
@@ -741,6 +741,11 @@ void bossReturnTitleStage(void) {
|
||||
objectivestatusDisableStatusDisplay();
|
||||
#endif
|
||||
#ifdef PORT
|
||||
if (getenv("GE_D160")) {
|
||||
osSyncPrintf("D160: bossReturnTitleStage ENTER stage=%d allComplete=%d caller=%p\n",
|
||||
(int)bossGetStageNum(), (int)objectiveIsAllComplete(),
|
||||
__builtin_return_address(0));
|
||||
}
|
||||
if (getenv("GE_SAVELOG")) {
|
||||
extern int g_savelogObjOnce;
|
||||
g_savelogObjOnce = 1;
|
||||
|
||||
@@ -787,6 +787,14 @@ void bondviewSetCameraMode(s32 arg0)
|
||||
g_CameraMode = arg0;
|
||||
g_CameraAfterCinema = 0;
|
||||
|
||||
#ifdef PORT
|
||||
if (getenv("GE_D160")) {
|
||||
osSyncPrintf("D160: bondviewSetCameraMode(%d) stage=%d IntroSwirl=%d introAnimIdx=%d caller=%p\n",
|
||||
(int)arg0, (int)bossGetStageNum(), (int)g_IntroSwirl,
|
||||
(int)g_IntroAnimationIndex, __builtin_return_address(0));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (g_CameraMode == CAMERAMODE_INTRO)
|
||||
{
|
||||
if ((ptr_random06cam_entry != NULL) && (get_recording_ramrom_flag() == 0) && (get_is_ramrom_flag() == 0))
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
#include <random.h>
|
||||
#include <snd.h>
|
||||
#include <ultra64.h>
|
||||
#ifdef PORT
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
// hack? used to match as called with 2 args, but decompiled code takes 1
|
||||
extern s32 objectiveGetStatus_WEAK(s32 objectiveNum, s32);
|
||||
|
||||
Reference in new issue
Block a user