From b2ecc210a2eef2b1f8dbf8652c81a33bac675a55 Mon Sep 17 00:00:00 2001 From: avolkov Date: Sat, 30 Apr 2005 02:01:22 +0000 Subject: [PATCH] Preliminary cyborg mode battle speed fix. Makes Normal speed actually 'normal'; bug #724 git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1701 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/battle.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sc2/src/sc2code/battle.c b/sc2/src/sc2code/battle.c index 8bb0cfc6b..28ae2da5c 100644 --- a/sc2/src/sc2code/battle.c +++ b/sc2/src/sc2code/battle.c @@ -177,6 +177,7 @@ DoBattle (BATTLE_STATE *bs) { extern UWORD nth_frame; RECT r; + BYTE battle_speed; bs->MenuRepeatDelay = 0; SetMenuSounds (MENU_SOUND_NONE, MENU_SOUND_NONE); @@ -209,11 +210,16 @@ DoBattle (BATTLE_STATE *bs) { return FALSE; } - if (nth_frame) + + battle_speed = HIBYTE (nth_frame); + if (battle_speed == (BYTE)~0) + { // maximum speed, nothing rendered at all TaskSwitch (); + } else { - SleepThreadUntil (bs->NextTime + BATTLE_FRAME_RATE); + SleepThreadUntil (bs->NextTime + + BATTLE_FRAME_RATE / (battle_speed + 1)); bs->NextTime = GetTimeCounter (); } return (BOOLEAN) ((GLOBAL (CurrentActivity) & IN_BATTLE) != 0);