From fcd2ecffab59db8aef8b668fd14525031d06d34d Mon Sep 17 00:00:00 2001 From: Dethrace Labs <78985374+dethrace-labs@users.noreply.github.com> Date: Mon, 13 Oct 2025 17:31:44 +1300 Subject: [PATCH] SummCheckGameOver matching --- src/DETHRACE/common/racesumm.c | 59 +++++++++++++++++----------------- src/S3/s3.c | 1 + 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/src/DETHRACE/common/racesumm.c b/src/DETHRACE/common/racesumm.c index 7e0879fd..d8a276f0 100644 --- a/src/DETHRACE/common/racesumm.c +++ b/src/DETHRACE/common/racesumm.c @@ -399,37 +399,38 @@ int SummCheckGameOver(int* pCurrent_choice, int* pCurrent_mode) { int i; tS3_sound_tag sound_tag; - if (gTemp_credits > 0) { + if (gTemp_credits <= 0) { + S3StopOutletSound(gEffects_outlet); + RemoveTransientBitmaps(1); + for (i = 0; i < 7; i++) { + DrawInBox( + gCurrent_graf_data->summ1_credits_box_left, + gCurrent_graf_data->summ1_credits_left, + gCurrent_graf_data->summ1_total_top, + gCurrent_graf_data->summ1_credits_right, + gCurrent_graf_data->summ1_total_bottom, + 2, -1); + ProcessFlicQueue(gFrame_period); + PDScreenBufferSwap(0); + SoundService(); + WaitFor(300); + DrawInBox( + gCurrent_graf_data->summ1_credits_box_left, + gCurrent_graf_data->summ1_credits_left, + gCurrent_graf_data->summ1_total_top, + gCurrent_graf_data->summ1_credits_right, + gCurrent_graf_data->summ1_total_bottom, + 2, 0); + ProcessFlicQueue(gFrame_period); + PDScreenBufferSwap(0); + SoundService(); + WaitFor(300); + } + S3StopAllOutletSounds(); + return 1; + } else { return 0; } - S3StopOutletSound(gEffects_outlet); - RemoveTransientBitmaps(1); - for (i = 0; i < 7; i++) { - DrawInBox( - gCurrent_graf_data->summ1_credits_box_left, - gCurrent_graf_data->summ1_credits_left, - gCurrent_graf_data->summ1_total_top, - gCurrent_graf_data->summ1_credits_right, - gCurrent_graf_data->summ1_total_bottom, - 2, -1); - ProcessFlicQueue(gFrame_period); - PDScreenBufferSwap(0); - SoundService(); - WaitFor(300); - DrawInBox( - gCurrent_graf_data->summ1_credits_box_left, - gCurrent_graf_data->summ1_credits_left, - gCurrent_graf_data->summ1_total_top, - gCurrent_graf_data->summ1_credits_right, - gCurrent_graf_data->summ1_total_bottom, - 2, 0); - ProcessFlicQueue(gFrame_period); - PDScreenBufferSwap(0); - SoundService(); - WaitFor(300); - } - S3StopAllOutletSounds(); - return 1; } // IDA: tSO_result __cdecl DoEndRaceSummary1() diff --git a/src/S3/s3.c b/src/S3/s3.c index 6ebfd737..1e2f0b4b 100644 --- a/src/S3/s3.c +++ b/src/S3/s3.c @@ -850,6 +850,7 @@ int S3ServiceChannel(tS3_channel* chan) { } } +// FUNCTION: CARM95 0x0049C7CF void S3StopAllOutletSounds(void) { tS3_outlet* o; // [esp+Ch] [ebp-4h]