Fix compile error

# Conflicts:
#	source/blood/src/ai.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/blood.cpp
#	source/blood/src/choke.cpp
#	source/blood/src/credits.cpp
#	source/blood/src/gamemenu.cpp
#	source/blood/src/gamemenu.h
#	source/blood/src/gui.cpp
#	source/blood/src/mapedit.cpp
#	source/blood/src/replace.cpp
This commit is contained in:
nukeykt 2019-09-07 22:15:39 +09:00 committed by Christoph Oelckers
parent 9715b2281a
commit 7a9209d857
29 changed files with 186 additions and 170 deletions

View file

@ -3055,7 +3055,7 @@ void actKillDude(int a1, spritetype *pSprite, DAMAGE_TYPE a3, int a4)
aiNewState(pSprite, pXSprite, &GDXGenDudeBurnGoto); aiNewState(pSprite, pXSprite, &GDXGenDudeBurnGoto);
actHealDude(pXSprite, dudeInfo[55].startHealth, dudeInfo[55].startHealth); actHealDude(pXSprite, dudeInfo[55].startHealth, dudeInfo[55].startHealth);
if (pXSprite->burnTime <= 0) pXSprite->burnTime = 1200; if (pXSprite->burnTime <= 0) pXSprite->burnTime = 1200;
gDudeExtra[pSprite->extra].at0 = gFrameClock + 360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock + 360;
return; return;
} }
@ -3675,7 +3675,7 @@ int actDamageSprite(int nSource, spritetype *pSprite, DAMAGE_TYPE a3, int a4)
if (a3 == 3 && pSourcePlayer && gFrameClock > pSourcePlayer->at312 && Chance(0x4000)) if (a3 == 3 && pSourcePlayer && gFrameClock > pSourcePlayer->at312 && Chance(0x4000))
{ {
sfxPlay3DSound(pSourcePlayer->pSprite, gPlayerGibThingComments[Random(10)], 0, 2); sfxPlay3DSound(pSourcePlayer->pSprite, gPlayerGibThingComments[Random(10)], 0, 2);
pSourcePlayer->at312 = gFrameClock+3600; pSourcePlayer->at312 = (int)gFrameClock+3600;
} }
break; break;
case 413: case 413:
@ -4348,7 +4348,7 @@ void ProcessTouchObjects(spritetype *pSprite, int nXSprite)
{ {
if (pPlayer->at30e > gFrameClock) if (pPlayer->at30e > gFrameClock)
return; return;
pPlayer->at30e = gFrameClock+60; pPlayer->at30e = (int)gFrameClock+60;
} }
actKickObject(pSprite, pSprite2); actKickObject(pSprite, pSprite2);
sfxPlay3DSound(pSprite->x, pSprite->y, pSprite->z, 357, pSprite->sectnum); sfxPlay3DSound(pSprite->x, pSprite->y, pSprite->z, 357, pSprite->sectnum);
@ -4359,7 +4359,7 @@ void ProcessTouchObjects(spritetype *pSprite, int nXSprite)
{ {
if (pPlayer->at30e > gFrameClock) if (pPlayer->at30e > gFrameClock)
return; return;
pPlayer->at30e = gFrameClock+60; pPlayer->at30e = (int)gFrameClock+60;
} }
actKickObject(pSprite, pSprite2); actKickObject(pSprite, pSprite2);
sfxPlay3DSound(pSprite->x, pSprite->y, pSprite->z, 357, pSprite->sectnum); sfxPlay3DSound(pSprite->x, pSprite->y, pSprite->z, 357, pSprite->sectnum);
@ -4503,9 +4503,9 @@ int MoveThing(spritetype *pSprite)
spritetype *pFX = gFX.fxSpawn(FX_27, pSprite->sectnum, pSprite->x, pSprite->y, pSprite->z, 0); spritetype *pFX = gFX.fxSpawn(FX_27, pSprite->sectnum, pSprite->x, pSprite->y, pSprite->z, 0);
if (pFX) if (pFX)
{ {
int v34 = (gFrameClock*3)&2047; int v34 = ((int)gFrameClock*3)&2047;
int v30 = (gFrameClock*5)&2047; int v30 = ((int)gFrameClock*5)&2047;
int vbx = (gFrameClock*11)&2047; int vbx = ((int)gFrameClock*11)&2047;
int v2c = 0x44444; int v2c = 0x44444;
int v28 = 0; int v28 = 0;
int v24 = 0; int v24 = 0;
@ -6243,7 +6243,7 @@ spritetype * actSpawnThing(int nSector, int x, int y, int z, int nThingType)
pXThing->data2 = 0; pXThing->data2 = 0;
pXThing->data3 = 0; pXThing->data3 = 0;
pXThing->data4 = 318; pXThing->data4 = 318;
pXThing->targetX = gFrameClock+180.0; pXThing->targetX = (int)gFrameClock+180.0;
pXThing->locked = 1; pXThing->locked = 1;
pXThing->state = 1; pXThing->state = 1;
pXThing->triggerOnce = 0; pXThing->triggerOnce = 0;
@ -6258,7 +6258,7 @@ spritetype * actSpawnThing(int nSector, int x, int y, int z, int nThingType)
pXThing->data2 = 0; pXThing->data2 = 0;
pXThing->data3 = 0; pXThing->data3 = 0;
pXThing->data4 = 318; pXThing->data4 = 318;
pXThing->targetX = gFrameClock+180.0; pXThing->targetX = (int)gFrameClock+180.0;
pXThing->locked = 1; pXThing->locked = 1;
pXThing->state = 1; pXThing->state = 1;
pXThing->triggerOnce = 0; pXThing->triggerOnce = 0;
@ -6833,7 +6833,7 @@ void DudeToGibCallback1(int, int nXSprite)
pXSprite->triggerOnce = 0; pXSprite->triggerOnce = 0;
pXSprite->isTriggered = 0; pXSprite->isTriggered = 0;
pXSprite->locked = 0; pXSprite->locked = 0;
pXSprite->targetX = gFrameClock; pXSprite->targetX = (int)gFrameClock;
pXSprite->state = 1; pXSprite->state = 1;
} }
@ -6851,7 +6851,7 @@ void DudeToGibCallback2(int, int nXSprite)
pXSprite->triggerOnce = 0; pXSprite->triggerOnce = 0;
pXSprite->isTriggered = 0; pXSprite->isTriggered = 0;
pXSprite->locked = 0; pXSprite->locked = 0;
pXSprite->targetX = gFrameClock; pXSprite->targetX = (int)gFrameClock;
pXSprite->state = 1; pXSprite->state = 1;
} }

View file

@ -92,12 +92,12 @@ void aiPlay3DSound(spritetype *pSprite, int a2, AI_SFX_PRIORITY a3, int a4)
DUDEEXTRA *pDudeExtra = &gDudeExtra[pSprite->extra]; DUDEEXTRA *pDudeExtra = &gDudeExtra[pSprite->extra];
if (a3 == AI_SFX_PRIORITY_0) if (a3 == AI_SFX_PRIORITY_0)
sfxPlay3DSound(pSprite, a2, a4, 2); sfxPlay3DSound(pSprite, a2, a4, 2);
else if (a3 > pDudeExtra->at5 || pDudeExtra->at0 <= gFrameClock) else if (a3 > pDudeExtra->at5 || pDudeExtra->at0 <= (int)gFrameClock)
{ {
sfxKill3DSound(pSprite, -1, -1); sfxKill3DSound(pSprite, -1, -1);
sfxPlay3DSound(pSprite, a2, a4, 0); sfxPlay3DSound(pSprite, a2, a4, 0);
pDudeExtra->at5 = a3; pDudeExtra->at5 = a3;
pDudeExtra->at0 = gFrameClock+120; pDudeExtra->at0 = (int)gFrameClock+120;
} }
} }
@ -986,7 +986,7 @@ int aiDamageSprite(spritetype *pSprite, XSPRITE *pXSprite, int nSource, DAMAGE_T
aiNewState(pSprite, pXSprite, &cultistBurnGoto); aiNewState(pSprite, pXSprite, &cultistBurnGoto);
aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1); aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1);
aiPlay3DSound(pSprite, 1031+Random(2), AI_SFX_PRIORITY_2, -1); aiPlay3DSound(pSprite, 1031+Random(2), AI_SFX_PRIORITY_2, -1);
gDudeExtra[pSprite->extra].at0 = gFrameClock+360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock+360;
actHealDude(pXSprite, dudeInfo[40].startHealth, dudeInfo[40].startHealth); actHealDude(pXSprite, dudeInfo[40].startHealth, dudeInfo[40].startHealth);
evKill(nSprite, 3, CALLBACK_ID_0); evKill(nSprite, 3, CALLBACK_ID_0);
} }
@ -997,7 +997,7 @@ int aiDamageSprite(spritetype *pSprite, XSPRITE *pXSprite, int nSource, DAMAGE_T
pSprite->type = 239; pSprite->type = 239;
aiNewState(pSprite, pXSprite, &cultistBurnGoto); aiNewState(pSprite, pXSprite, &cultistBurnGoto);
aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1); aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1);
gDudeExtra[pSprite->extra].at0 = gFrameClock+360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock+360;
actHealDude(pXSprite, dudeInfo[39].startHealth, dudeInfo[39].startHealth); actHealDude(pXSprite, dudeInfo[39].startHealth, dudeInfo[39].startHealth);
evKill(nSprite, 3, CALLBACK_ID_0); evKill(nSprite, 3, CALLBACK_ID_0);
} }
@ -1006,7 +1006,7 @@ int aiDamageSprite(spritetype *pSprite, XSPRITE *pXSprite, int nSource, DAMAGE_T
if (Chance(0x4000) && gDudeExtra[pSprite->extra].at0 < gFrameClock) if (Chance(0x4000) && gDudeExtra[pSprite->extra].at0 < gFrameClock)
{ {
aiPlay3DSound(pSprite, 1031+Random(2), AI_SFX_PRIORITY_2, -1); aiPlay3DSound(pSprite, 1031+Random(2), AI_SFX_PRIORITY_2, -1);
gDudeExtra[pSprite->extra].at0 = gFrameClock+360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock+360;
} }
if (Chance(0x600) && (pXSprite->medium == 1 || pXSprite->medium == 2)) if (Chance(0x600) && (pXSprite->medium == 1 || pXSprite->medium == 2))
{ {
@ -1040,18 +1040,18 @@ int aiDamageSprite(spritetype *pSprite, XSPRITE *pXSprite, int nSource, DAMAGE_T
{ {
pSprite->type = 239; pSprite->type = 239;
if (!VanillaMode()) if (!VanillaMode())
pXSprite->scale = -4; // need to change this to 64 later pXSprite->scale = 64;
aiNewState(pSprite, pXSprite, &cultistBurnGoto); aiNewState(pSprite, pXSprite, &cultistBurnGoto);
aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1); aiPlay3DSound(pSprite, 361, AI_SFX_PRIORITY_0, -1);
gDudeExtra[pSprite->extra].at0 = gFrameClock+360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock+360;
actHealDude(pXSprite, dudeInfo[39].startHealth, dudeInfo[39].startHealth); actHealDude(pXSprite, dudeInfo[39].startHealth, dudeInfo[39].startHealth);
evKill(nSprite, 3, CALLBACK_ID_0); evKill(nSprite, 3, CALLBACK_ID_0);
} }
break; break;
case kGDXGenDudeBurning: case kGDXGenDudeBurning:
if (Chance(0x2000) && gDudeExtra[pSprite->extra].at0 < gFrameClock) { if (Chance(0x2000) && gDudeExtra[pSprite->extra].at0 < (int)gFrameClock) {
sfxPlayGDXGenDudeSound(pSprite, 3, pXSprite->data3); sfxPlayGDXGenDudeSound(pSprite, 3, pXSprite->data3);
gDudeExtra[pSprite->extra].at0 = gFrameClock + 360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock + 360;
} }
if (pXSprite->burnTime == 0) pXSprite->burnTime = 2400; if (pXSprite->burnTime == 0) pXSprite->burnTime = 2400;
if (spriteIsUnderwater(pSprite, false)) { if (spriteIsUnderwater(pSprite, false)) {
@ -1091,7 +1091,7 @@ int aiDamageSprite(spritetype *pSprite, XSPRITE *pXSprite, int nSource, DAMAGE_T
aiNewState(pSprite, pXSprite, &GDXGenDudeBurnGoto); aiNewState(pSprite, pXSprite, &GDXGenDudeBurnGoto);
actHealDude(pXSprite, dudeInfo[55].startHealth, dudeInfo[55].startHealth); actHealDude(pXSprite, dudeInfo[55].startHealth, dudeInfo[55].startHealth);
gDudeExtra[pSprite->extra].at0 = gFrameClock + 360; gDudeExtra[pSprite->extra].at0 = (int)gFrameClock + 360;
evKill(nSprite, 3, CALLBACK_ID_0); evKill(nSprite, 3, CALLBACK_ID_0);
} }

View file

@ -470,11 +470,13 @@ static void thinkChase( spritetype* pSprite, XSPRITE* pXSprite )
if ((gFrameClock & 64) == 0 && Chance(0x1000) && !spriteIsUnderwater(pSprite,false)) if ((gFrameClock & 64) == 0 && Chance(0x1000) && !spriteIsUnderwater(pSprite,false))
sfxPlayGDXGenDudeSound(pSprite,6,pXSprite->data3); sfxPlayGDXGenDudeSound(pSprite,6,pXSprite->data3);
if (dist <= 1500) gDudeSlope[sprite[pXSprite->reference].extra] = divscale(pTarget->z - pSprite->z, dist, 13); if (pXSprite->target < 0) aiSetTarget(pXSprite, pXSprite->target);
else if (dist <= 3000) gDudeSlope[sprite[pXSprite->reference].extra] = divscale(pTarget->z - pSprite->z, dist, 11); if (((int)gFrameClock & 64) == 0 && Chance(0x3000) && !spriteIsUnderwater(pSprite, false))
else if (dist > 0) gDudeSlope[sprite[pXSprite->reference].extra] = divscale(pTarget->z - pSprite->z, dist, 10); sfxPlayGDXGenDudeSound(pSprite, 6);
spritetype* pLeech = NULL; gDudeSlope[sprite[pXSprite->reference].extra] = (int)divscale(pTarget->z - pSprite->z, dist, 10);
spritetype* pLeech = NULL; VECTORDATA* meleeVector = &gVectorData[22];
if (pXSprite->data1 >= kThingBase && pXSprite->data1 < kThingMax) { if (pXSprite->data1 >= kThingBase && pXSprite->data1 < kThingMax) {
if (pXSprite->data1 == 431) pXSprite->data1 = kGDXThingCustomDudeLifeLeech; if (pXSprite->data1 == 431) pXSprite->data1 = kGDXThingCustomDudeLifeLeech;
if (klabs(losAngle) < kAng15) { if (klabs(losAngle) < kAng15) {
@ -677,9 +679,7 @@ static void thinkChase( spritetype* pSprite, XSPRITE* pXSprite )
return; return;
} }
vdist = 4200; vdist = 4200; if (((int)gFrameClock & 16) == 0) vdist += Random(800);
if ((gFrameClock & 16) == 0)
vdist += Random(800);
break; break;
} }
} }

View file

@ -436,7 +436,7 @@ void PreloadCache(void)
sndTryPlaySpecialMusic(MUS_LOADING); sndTryPlaySpecialMusic(MUS_LOADING);
gSoundRes.PrecacheSounds(); gSoundRes.PrecacheSounds();
PreloadTiles(); PreloadTiles();
int clock = totalclock.Ticks(); ClockTicks clock = totalclock;
int cnt = 0; int cnt = 0;
int percentDisplayed = -1; int percentDisplayed = -1;
@ -656,7 +656,7 @@ void StartLevel(GAMEOPTIONS *gameOptions)
if (gGameOptions.nGameType == 3) if (gGameOptions.nGameType == 3)
gGameMessageMgr.SetCoordinates(gViewX0S+1,gViewY0S+15); gGameMessageMgr.SetCoordinates(gViewX0S+1,gViewY0S+15);
netWaitForEveryone(0); netWaitForEveryone(0);
gGameClock = 0; totalclock = 0;
gPaused = 0; gPaused = 0;
gGameStarted = 1; gGameStarted = 1;
ready2send = 1; ready2send = 1;
@ -908,7 +908,7 @@ void ProcessFrame(void)
playerProcess(&gPlayer[i]); playerProcess(&gPlayer[i]);
} }
trProcessBusy(); trProcessBusy();
evProcess(gFrameClock); evProcess((int)gFrameClock);
seqProcess(4); seqProcess(4);
DoSectorPanning(); DoSectorPanning();
actProcessSprites(); actProcessSprites();
@ -1353,7 +1353,7 @@ void ParseOptions(void)
void ClockStrobe() void ClockStrobe()
{ {
gGameClock++; //gGameClock++;
} }
#if defined(_WIN32) && defined(DEBUGGINGAIDS) #if defined(_WIN32) && defined(DEBUGGINGAIDS)
@ -1635,7 +1635,7 @@ RESTART:
} }
if (numplayers == 1) if (numplayers == 1)
gBufferJitter = 0; gBufferJitter = 0;
while (gGameClock >= gNetFifoClock && ready2send) while (totalclock >= gNetFifoClock && ready2send)
{ {
netGetInput(); netGetInput();
gNetFifoClock += 4; gNetFifoClock += 4;

View file

@ -92,12 +92,12 @@ void CChoke::sub_84110(int x, int y)
{ {
if (!at4) if (!at4)
return; return;
int v4 = gFrameClock; ClockTicks v4 = gFrameClock;
gFrameClock = gGameClock; gFrameClock = totalclock;
at8->x = x; at8->x = x;
at8->y = y; at8->y = y;
int vd = totalclock.Ticks()-at10; int vd = (int)totalclock-at10;
at10 = totalclock.Ticks(); at10 = (int)totalclock;
atc -= vd; atc -= vd;
if (atc <= 0 || atc > at8->at10) if (atc <= 0 || atc > at8->at10)
atc = at8->at10; atc = at8->at10;
@ -121,7 +121,7 @@ void CChoke::sub_84110(int x, int y)
void CChoke::sub_84218() void CChoke::sub_84218()
{ {
atc = at8->at10; atc = at8->at10;
at10 = totalclock.Ticks(); at10 = (int)totalclock;
} }
void sub_84230(PLAYER *pPlayer) void sub_84230(PLAYER *pPlayer)

View file

@ -61,7 +61,7 @@ int iTurnCount = 0;
int32_t GetTime(void) int32_t GetTime(void)
{ {
return gGameClock; return (int32_t)totalclock;
} }
void ctrlInit(void) void ctrlInit(void)

View file

@ -39,8 +39,8 @@ char exitCredits = 0;
char Wait(int nTicks) char Wait(int nTicks)
{ {
gGameClock = 0; totalclock = 0;
while (gGameClock < nTicks) while (totalclock < nTicks)
{ {
timerUpdate(); timerUpdate();
char key = keyGetScan(); char key = keyGetScan();
@ -58,16 +58,16 @@ char DoFade(char r, char g, char b, int nTicks)
{ {
dassert(nTicks > 0); dassert(nTicks > 0);
scrSetupFade(r, g, b); scrSetupFade(r, g, b);
gGameClock = gFrameClock = 0; totalclock = gFrameClock = 0;
do do
{ {
while (gGameClock < gFrameClock) { timerUpdate();}; while (totalclock < gFrameClock) { timerUpdate();};
gFrameClock += 2; gFrameClock += 2;
scrNextPage(); scrNextPage();
scrFadeAmount(divscale16(ClipHigh(gGameClock, nTicks), nTicks)); scrFadeAmount(divscale16(ClipHigh((int)totalclock, nTicks), nTicks));
if (keyGetScan()) if (keyGetScan())
return 0; return 0;
} while (gGameClock <= nTicks); } while (totalclock <= nTicks);
return 1; return 1;
} }
@ -75,15 +75,15 @@ char DoUnFade(int nTicks)
{ {
dassert(nTicks > 0); dassert(nTicks > 0);
scrSetupUnfade(); scrSetupUnfade();
gGameClock = gFrameClock = 0; totalclock = gFrameClock = 0;
do do
{ {
while (gGameClock < gFrameClock) { timerUpdate(); }; while (totalclock < gFrameClock) { timerUpdate(); };
scrNextPage(); scrNextPage();
scrFadeAmount(0x10000-divscale16(ClipHigh(gGameClock, nTicks), nTicks)); scrFadeAmount(0x10000-divscale16(ClipHigh((int)totalclock, nTicks), nTicks));
if (keyGetScan()) if (keyGetScan())
return 0; return 0;
} while (gGameClock <= nTicks); } while (totalclock <= nTicks);
return 1; return 1;
} }
@ -245,7 +245,7 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav)
UpdateDacs(0, true); UpdateDacs(0, true);
timerUpdate(); timerUpdate();
int32_t nStartTime = totalclock.Ticks(); ClockTicks nStartTime = totalclock;
ctrlClearAllInput(); ctrlClearAllInput();
@ -253,7 +253,7 @@ void credPlaySmk(const char *_pzSMK, const char *_pzWAV, int nWav)
do do
{ {
G_HandleAsync(); G_HandleAsync();
if (scale(totalclock.Ticks() -nStartTime, nFrameRate, kTicRate) < nFrame) if (scale((int)(totalclock-nStartTime), nFrameRate, kTicRate) < nFrame)
continue; continue;
if (ctrlCheckAllInput()) if (ctrlCheckAllInput())

View file

@ -328,7 +328,7 @@ void CDemo::Playback(void)
gGameMenuMgr.Push(&menuMain, -1); gGameMenuMgr.Push(&menuMain, -1);
at2 = 1; at2 = 1;
} }
gNetFifoClock = gGameClock; gNetFifoClock = totalclock;
gViewMode = 3; gViewMode = 3;
_DEMOPLAYBACK: _DEMOPLAYBACK:
while (at1 && !gQuitGame) while (at1 && !gQuitGame)
@ -339,7 +339,7 @@ _DEMOPLAYBACK:
quitevent = 0; quitevent = 0;
} }
MUSIC_Update(); MUSIC_Update();
while (gGameClock >= gNetFifoClock && !gQuitGame) while (totalclock >= gNetFifoClock && !gQuitGame)
{ {
if (!v4) if (!v4)
{ {
@ -390,7 +390,7 @@ _DEMOPLAYBACK:
v4 = 0; v4 = 0;
Close(); Close();
NextDemo(); NextDemo();
gNetFifoClock = gGameClock; gNetFifoClock = totalclock;
goto _DEMOPLAYBACK; goto _DEMOPLAYBACK;
} }
else else

View file

@ -63,7 +63,7 @@ void CEndGameMgr::Draw(void)
viewDrawText(1, "FRAG STATS", 160, nY, -128, 0, 1, 0); viewDrawText(1, "FRAG STATS", 160, nY, -128, 0, 1, 0);
gKillMgr.Draw(); gKillMgr.Draw();
} }
if (/*dword_28E3D4 != 1 && */(gGameClock&32)) if (/*dword_28E3D4 != 1 && */((int)totalclock&32))
{ {
viewDrawText(3, "PRESS A KEY TO CONTINUE", 160, 134, -128, 0, 1, 1); viewDrawText(3, "PRESS A KEY TO CONTINUE", 160, 134, -128, 0, 1, 1);
} }

View file

@ -479,7 +479,7 @@ void evPost(int nIndex, int nType, unsigned int nDelta, COMMAND_ID command)
evn.type = nType; evn.type = nType;
evn.cmd = command; evn.cmd = command;
// Inlined? // Inlined?
eventQ.PQueue->Insert(gFrameClock+nDelta, evn); eventQ.PQueue->Insert((int)gFrameClock+nDelta, evn);
} }
void evPost(int nIndex, int nType, unsigned int nDelta, CALLBACK_ID a4) void evPost(int nIndex, int nType, unsigned int nDelta, CALLBACK_ID a4)
@ -489,7 +489,7 @@ void evPost(int nIndex, int nType, unsigned int nDelta, CALLBACK_ID a4)
evn.type = nType; evn.type = nType;
evn.cmd = kCommandCallback; evn.cmd = kCommandCallback;
evn.funcID = a4; evn.funcID = a4;
eventQ.PQueue->Insert(gFrameClock+nDelta, evn); eventQ.PQueue->Insert((int)gFrameClock+nDelta, evn);
} }
void evProcess(unsigned int nTime) void evProcess(unsigned int nTime)

View file

@ -95,11 +95,11 @@ void FireInit(void)
void FireProcess(void) void FireProcess(void)
{ {
static int lastUpdate; static ClockTicks lastUpdate;
if (gGameClock < lastUpdate || lastUpdate + 2 < gGameClock) if (totalclock < lastUpdate || lastUpdate + 2 < totalclock)
{ {
DoFireFrame(); DoFireFrame();
lastUpdate = gGameClock; lastUpdate = totalclock;
tileInvalidate(2342, -1, -1); tileInvalidate(2342, -1, -1);
} }
} }

View file

@ -175,7 +175,7 @@ void CGameMenuMgr::Draw(void)
if (MOUSEACTIVECONDITIONAL(mouseAdvanceClickState()) || m_mousepos.x != m_prevmousepos.x || m_mousepos.y != m_prevmousepos.y) if (MOUSEACTIVECONDITIONAL(mouseAdvanceClickState()) || m_mousepos.x != m_prevmousepos.x || m_mousepos.y != m_prevmousepos.y)
{ {
m_prevmousepos = m_mousepos; m_prevmousepos = m_mousepos;
m_mouselastactivity = totalclock.Ticks(); m_mouselastactivity = (int)totalclock;
} }
else else
m_mousewake_watchpoint = 0; m_mousewake_watchpoint = 0;
@ -611,7 +611,7 @@ void CGameMenuItemZBool::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
if (m_pzText) if (m_pzText)
gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false); gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false);
const char *value = at20 ? at21 : at25; const char *value = at20 ? at21 : at25;
@ -686,7 +686,7 @@ void CGameMenuItemChain::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int width, height; int width, height;
int x = m_nX; int x = m_nX;
int y = m_nY; int y = m_nY;
@ -772,7 +772,7 @@ void CGameMenuItem7EA1C::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int width; int width;
int x = m_nX; int x = m_nX;
switch (at20) switch (at20)
@ -887,7 +887,7 @@ void CGameMenuItem7EE34::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int width; int width;
int x = m_nX; int x = m_nX;
switch (at24) switch (at24)
@ -1011,7 +1011,7 @@ void CGameMenuItemBitmap::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (bEnable && pMenu->IsFocusItem(this)) if (bEnable && pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int x = m_nX; int x = m_nX;
int y = m_nY; int y = m_nY;
if (m_pzText) if (m_pzText)
@ -1051,7 +1051,7 @@ void CGameMenuItemBitmapLS::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (bEnable && pMenu->IsFocusItem(this)) if (bEnable && pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int x = m_nX; int x = m_nX;
int y = m_nY; int y = m_nY;
if (m_pzText) if (m_pzText)
@ -1156,10 +1156,10 @@ void CGameMenuItemKeyList::Draw(void)
{ {
shade = 32; shade = 32;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
viewDrawText(3, buffer, m_nX, y, shade, 0, 0, false); viewDrawText(3, buffer, m_nX, y, shade, 0, 0, false);
const char *sVal; const char *sVal;
if (bScan && (gGameClock & 32)) if (bScan && ((int)totalclock & 32))
sVal = "____"; sVal = "____";
else else
sVal = buffer2; sVal = buffer2;
@ -1304,13 +1304,13 @@ bool CGameMenuItemKeyList::MouseEvent(CGameMenuEvent &event)
event.at0 = kMenuEventNone; event.at0 = kMenuEventNone;
if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELUP_MOUSE)) if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELUP_MOUSE))
{ {
gGameMenuMgr.m_mouselastactivity = totalclock.Ticks(); gGameMenuMgr.m_mouselastactivity = (int)totalclock;
MOUSE_ClearButton(WHEELUP_MOUSE); MOUSE_ClearButton(WHEELUP_MOUSE);
event.at0 = kMenuEventScrollUp; event.at0 = kMenuEventScrollUp;
} }
else if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELDOWN_MOUSE)) else if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELDOWN_MOUSE))
{ {
gGameMenuMgr.m_mouselastactivity = totalclock.Ticks(); gGameMenuMgr.m_mouselastactivity = (int)totalclock;
MOUSE_ClearButton(WHEELDOWN_MOUSE); MOUSE_ClearButton(WHEELDOWN_MOUSE);
event.at0 = kMenuEventScrollDown; event.at0 = kMenuEventScrollDown;
} }
@ -1389,7 +1389,7 @@ void CGameMenuItemSlider::Draw(void)
int shade2 = bEnable ? 0 : 16; int shade2 = bEnable ? 0 : 16;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
if (m_pzText) if (m_pzText)
gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false); gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false);
int sliderX = m_nX+m_nWidth-1-tilesiz[nSliderTile].x/2; int sliderX = m_nX+m_nWidth-1-tilesiz[nSliderTile].x/2;
@ -1621,7 +1621,7 @@ void CGameMenuItemSliderFloat::Draw(void)
int shade2 = bEnable ? 0 : 16; int shade2 = bEnable ? 0 : 16;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
if (m_pzText) if (m_pzText)
gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false); gMenuTextMgr.DrawText(m_pzText, m_nFont, m_nX, m_nY, shade, pal, false);
int sliderX = m_nX+m_nWidth-1-tilesiz[nSliderTile].x/2; int sliderX = m_nX+m_nWidth-1-tilesiz[nSliderTile].x/2;
@ -1803,7 +1803,7 @@ void CGameMenuItemZEdit::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
if (at30) if (at30)
shade = -128; shade = -128;
if (m_pzText) if (m_pzText)
@ -1831,7 +1831,7 @@ void CGameMenuItemZEdit::Draw(void)
gMenuTextMgr.DrawText(at20, m_nFont, x, m_nY, shade2, pal, false); gMenuTextMgr.DrawText(at20, m_nFont, x, m_nY, shade2, pal, false);
x += width; x += width;
} }
if (at30 && (gGameClock & 32)) if (at30 && ((int)totalclock & 32))
gMenuTextMgr.DrawText("_", m_nFont, x, m_nY, shade, 0, false); gMenuTextMgr.DrawText("_", m_nFont, x, m_nY, shade, 0, false);
int mx = m_nX<<16; int mx = m_nX<<16;
@ -1988,7 +1988,7 @@ void CGameMenuItemZEditBitmap::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
at2c->at24 = -1; at2c->at24 = -1;
if (at34) if (at34)
shade = -128; shade = -128;
@ -2017,7 +2017,7 @@ void CGameMenuItemZEditBitmap::Draw(void)
gMenuTextMgr.DrawText(at20, m_nFont, x, m_nY, shade2, 0, false); gMenuTextMgr.DrawText(at20, m_nFont, x, m_nY, shade2, 0, false);
x += width; x += width;
} }
if (at34 && (gGameClock & 32)) if (at34 && ((int)totalclock & 32))
gMenuTextMgr.DrawText("_", m_nFont, x, m_nY, shade, pal, false); gMenuTextMgr.DrawText("_", m_nFont, x, m_nY, shade, pal, false);
int mx = m_nX<<16; int mx = m_nX<<16;
@ -2148,10 +2148,10 @@ void CGameMenuItemQAV::Draw(void)
videoClearScreen(0); videoClearScreen(0);
if (at24) if (at24)
{ {
int backFC = gFrameClock; ClockTicks backFC = gFrameClock;
gFrameClock = gGameClock; gFrameClock = totalclock;
int nTicks = totalclock.Ticks() - at30; int nTicks = (int)totalclock - at30;
at30 = totalclock.Ticks(); at30 = (int)totalclock;
at2c -= nTicks; at2c -= nTicks;
if (at2c <= 0 || at2c > at28->at10) if (at2c <= 0 || at2c > at28->at10)
{ {
@ -2229,7 +2229,7 @@ bool CGameMenuItemQAV::Event(CGameMenuEvent &event)
at28->y = m_nY; at28->y = m_nY;
at28->Preload(); at28->Preload();
at2c = at28->at10; at2c = at28->at10;
at30 = totalclock.Ticks(); at30 = (int)totalclock;
return false; return false;
} }
gSysRes.Lock(at24); gSysRes.Lock(at24);
@ -2250,7 +2250,7 @@ bool CGameMenuItemQAV::Event(CGameMenuEvent &event)
void CGameMenuItemQAV::Reset(void) void CGameMenuItemQAV::Reset(void)
{ {
at2c = at28->at10; at2c = at28->at10;
at30 = totalclock.Ticks(); at30 = (int)totalclock;
} }
CGameMenuItemZCycleSelect::CGameMenuItemZCycleSelect() CGameMenuItemZCycleSelect::CGameMenuItemZCycleSelect()
@ -2298,7 +2298,7 @@ void CGameMenuItemZCycleSelect::Draw(void)
{ {
shade = 32; shade = 32;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
viewDrawText(3, m_pzStrings[k], m_nX, y, shade, 0, 0, false); viewDrawText(3, m_pzStrings[k], m_nX, y, shade, 0, 0, false);
} }
else else
@ -2396,13 +2396,13 @@ bool CGameMenuItemZCycleSelect::MouseEvent(CGameMenuEvent &event)
event.at0 = kMenuEventNone; event.at0 = kMenuEventNone;
if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELUP_MOUSE)) if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELUP_MOUSE))
{ {
gGameMenuMgr.m_mouselastactivity = totalclock.Ticks(); gGameMenuMgr.m_mouselastactivity = (int)totalclock;
MOUSE_ClearButton(WHEELUP_MOUSE); MOUSE_ClearButton(WHEELUP_MOUSE);
event.at0 = kMenuEventScrollUp; event.at0 = kMenuEventScrollUp;
} }
else if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELDOWN_MOUSE)) else if (MOUSEACTIVECONDITIONAL(MOUSE_GetButtons()&WHEELDOWN_MOUSE))
{ {
gGameMenuMgr.m_mouselastactivity = totalclock.Ticks(); gGameMenuMgr.m_mouselastactivity = (int)totalclock;
MOUSE_ClearButton(WHEELDOWN_MOUSE); MOUSE_ClearButton(WHEELDOWN_MOUSE);
event.at0 = kMenuEventScrollDown; event.at0 = kMenuEventScrollDown;
} }
@ -2464,7 +2464,7 @@ void CGameMenuItemZCycle::Draw(void)
int shade = bEnable ? 32 : 48; int shade = bEnable ? 32 : 48;
int pal = bEnable ? 0 : 5; int pal = bEnable ? 0 : 5;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int x = m_nX; int x = m_nX;
int y = m_nY; int y = m_nY;
@ -2666,7 +2666,7 @@ void CGameMenuItemYesNoQuit::Draw(void)
if (!m_pzText) return; if (!m_pzText) return;
int shade = 32; int shade = 32;
if (pMenu->IsFocusItem(this)) if (pMenu->IsFocusItem(this))
shade = 32-(totalclock.Ticks() &63); shade = 32-((int)totalclock&63);
int width; int width;
int x = m_nX; int x = m_nX;
switch (at20) switch (at20)
@ -2859,7 +2859,7 @@ void CGameMenuItemPassword::Draw(void)
{ {
bool focus = pMenu->IsFocusItem(this); bool focus = pMenu->IsFocusItem(this);
int shade = 32; int shade = 32;
int shadef = 32-(totalclock.Ticks() &63); int shadef = 32-((int)totalclock&63);
int width; int width;
switch (at37) switch (at37)
{ {
@ -2886,7 +2886,7 @@ void CGameMenuItemPassword::Draw(void)
shadef = 32; shadef = 32;
break; break;
case 4: case 4:
if ((totalclock.Ticks() - at5b) & 32) if (((int)totalclock - at5b) & 32)
{ {
gMenuTextMgr.GetFontInfo(m_nFont, kInvalidPasswordMsg, &width, NULL); gMenuTextMgr.GetFontInfo(m_nFont, kInvalidPasswordMsg, &width, NULL);
gMenuTextMgr.DrawText(kInvalidPasswordMsg, m_nFont, m_nX - width / 2, m_nY + 20, shade, 0, false); gMenuTextMgr.DrawText(kInvalidPasswordMsg, m_nFont, m_nX - width / 2, m_nY + 20, shade, 0, false);
@ -2934,7 +2934,7 @@ bool CGameMenuItemPassword::Event(CGameMenuEvent &event)
at37 = 4; at37 = 4;
if (!at36) if (!at36)
{ {
at5b = totalclock.Ticks(); at5b = (int)totalclock;
pMenu->FocusPrevItem(); pMenu->FocusPrevItem();
} }
else else
@ -2962,7 +2962,7 @@ bool CGameMenuItemPassword::Event(CGameMenuEvent &event)
at37 = 0; at37 = 0;
} }
else else
at5b = totalclock.Ticks(); at5b = (int)totalclock;
return false; return false;
case 3: case 3:
strcpy(at20, at29); strcpy(at20, at29);

View file

@ -39,9 +39,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
// alpha increments of 3 --> 255 / 3 = 85 --> round up to power of 2 --> 128 --> divide by 2 --> 64 alphatabs required // alpha increments of 3 --> 255 / 3 = 85 --> round up to power of 2 --> 128 --> divide by 2 --> 64 alphatabs required
// use 16 anyway :P // use 16 anyway :P
#define MOUSEUSEALPHA (videoGetRenderMode() != REND_CLASSIC || numalphatabs >= 15) #define MOUSEUSEALPHA (videoGetRenderMode() != REND_CLASSIC || numalphatabs >= 15)
#define MOUSEALPHA (MOUSEUSEALPHA ? clamp((totalclock.Ticks() - gGameMenuMgr.m_mouselastactivity - 90)*3, 0, 255) : 0) #define MOUSEALPHA (MOUSEUSEALPHA ? clamp(((int)totalclock - gGameMenuMgr.m_mouselastactivity - 90)*3, 0, 255) : 0)
#define CURSORALPHA (MOUSEUSEALPHA ? clamp((totalclock.Ticks() - gGameMenuMgr.m_mouselastactivity - 90)*2 + (255/3), (255/3), 255) : 255/3) #define CURSORALPHA (MOUSEUSEALPHA ? clamp(((int)totalclock - gGameMenuMgr.m_mouselastactivity - 90)*2 + (255/3), (255/3), 255) : 255/3)
#define MOUSEACTIVECONDITION (totalclock - gGameMenuMgr.m_mouselastactivity < M_MOUSETIMEOUT) #define MOUSEACTIVECONDITION ((int)totalclock - gGameMenuMgr.m_mouselastactivity < M_MOUSETIMEOUT)
#define MOUSEACTIVECONDITIONAL(condition) (MOUSEACTIVECONDITION && (condition)) #define MOUSEACTIVECONDITIONAL(condition) (MOUSEACTIVECONDITION && (condition))
#define MOUSEINACTIVECONDITIONAL(condition) (!MOUSEACTIVECONDITION && (condition)) #define MOUSEINACTIVECONDITIONAL(condition) (!MOUSEACTIVECONDITION && (condition))
#define MOUSEWATCHPOINTCONDITIONAL(condition) ((condition) || gGameMenuMgr.m_mousewake_watchpoint || gGameMenuMgr.m_menuchange_watchpoint == 3) #define MOUSEWATCHPOINTCONDITIONAL(condition) ((condition) || gGameMenuMgr.m_mousewake_watchpoint || gGameMenuMgr.m_menuchange_watchpoint == 3)

View file

@ -145,8 +145,8 @@ void CalcFrameRate(void)
static int index; static int index;
if (ticks[index] != gFrameClock) if (ticks[index] != gFrameClock)
{ {
gFrameRate = (120*64)/(gFrameClock-ticks[index]); gFrameRate = (120*64)/((int)gFrameClock-ticks[index]);
ticks[index] = gFrameClock; ticks[index] = (int)gFrameClock;
} }
index = (index+1) & 63; index = (index+1) & 63;
} }

View file

@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include <stdlib.h> #include <stdlib.h>
#include "compat.h" #include "compat.h"
#include "build.h"
#include "common_game.h" #include "common_game.h"
#include "globals.h" #include "globals.h"
#include "resource.h" #include "resource.h"
@ -30,10 +31,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
ud_setup_t gSetup; ud_setup_t gSetup;
bool bVanilla = false; bool bVanilla = false;
int gFrameClock; ClockTicks gFrameClock;
int gFrameTicks; ClockTicks gFrameTicks;
int gFrame; int gFrame;
int volatile gGameClock; //int volatile gGameClock;
int gFrameRate; int gFrameRate;
int gGamma; int gGamma;

View file

@ -21,6 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#pragma once #pragma once
#include "compat.h"
#include "build.h"
#include "resource.h" #include "resource.h"
typedef struct { typedef struct {
@ -35,10 +37,10 @@ typedef struct {
} ud_setup_t; } ud_setup_t;
extern ud_setup_t gSetup; extern ud_setup_t gSetup;
extern int gFrameClock; extern ClockTicks gFrameClock;
extern int gFrameTicks; extern ClockTicks gFrameTicks;
extern int gFrame; extern int gFrame;
extern int volatile gGameClock; //extern ClockTicks gGameClock;
extern int gFrameRate; extern int gFrameRate;
extern int gGamma; extern int gGamma;
extern bool bVanilla; extern bool bVanilla;

View file

@ -159,7 +159,7 @@ void LoadSave::LoadGame(char *pzFile)
gFrame = 0; gFrame = 0;
gCacheMiss = 0; gCacheMiss = 0;
gFrameRate = 0; gFrameRate = 0;
gGameClock = 0; totalclock = 0;
gPaused = 0; gPaused = 0;
gGameStarted = 1; gGameStarted = 1;
bVanilla = false; bVanilla = false;
@ -255,9 +255,9 @@ void MyLoadSave::Load(void)
Read(&gFrameClock, sizeof(gFrameClock)); Read(&gFrameClock, sizeof(gFrameClock));
Read(&gFrameTicks, sizeof(gFrameTicks)); Read(&gFrameTicks, sizeof(gFrameTicks));
Read(&gFrame, sizeof(gFrame)); Read(&gFrame, sizeof(gFrame));
int nGameClock; ClockTicks nGameClock;
Read(&nGameClock, sizeof(nGameClock)); Read(&totalclock, sizeof(totalclock));
gGameClock = nGameClock; totalclock = nGameClock;
Read(&gLevelTime, sizeof(gLevelTime)); Read(&gLevelTime, sizeof(gLevelTime));
Read(&gPaused, sizeof(gPaused)); Read(&gPaused, sizeof(gPaused));
Read(&gbAdultContent, sizeof(gbAdultContent)); Read(&gbAdultContent, sizeof(gbAdultContent));
@ -363,7 +363,7 @@ void MyLoadSave::Save(void)
Write(&gFrameClock, sizeof(gFrameClock)); Write(&gFrameClock, sizeof(gFrameClock));
Write(&gFrameTicks, sizeof(gFrameTicks)); Write(&gFrameTicks, sizeof(gFrameTicks));
Write(&gFrame, sizeof(gFrame)); Write(&gFrame, sizeof(gFrame));
int nGameClock = gGameClock; ClockTicks nGameClock = totalclock;
Write(&nGameClock, sizeof(nGameClock)); Write(&nGameClock, sizeof(nGameClock));
Write(&gLevelTime, sizeof(gLevelTime)); Write(&gLevelTime, sizeof(gLevelTime));
Write(&gPaused, sizeof(gPaused)); Write(&gPaused, sizeof(gPaused));

View file

@ -358,7 +358,7 @@ void CGameMessageMgr::Display(void)
int v18 = at26; int v18 = at26;
int vc = ClipHigh(v10*8, 48); int vc = ClipHigh(v10*8, 48);
int v14 = gViewMode == 3 ? gViewX0S : 0; int v14 = gViewMode == 3 ? gViewX0S : 0;
int v8 = (gViewMode == 3 ? at5 : 0) + at9; int v8 = (gViewMode == 3 ? at5 : 0) + (int)at9;
for (int i = 0; i < v10; i++) for (int i = 0; i < v10; i++)
{ {
messageStruct *pMessage = &at2e[(v18+i)%16]; messageStruct *pMessage = &at2e[(v18+i)%16];
@ -379,7 +379,7 @@ void CGameMessageMgr::Display(void)
v8 += at15; v8 += at15;
vc = ClipLow(vc-64/v10, -128); vc = ClipLow(vc-64/v10, -128);
} }
if (at9) if (at9 != 0)
{ {
at9 = at15*at9/120; at9 = at15*at9/120;
atd += gFrameTicks; atd += gFrameTicks;
@ -435,7 +435,7 @@ void CPlayerMsg::Draw(void)
{ {
char buffer[44]; char buffer[44];
strcpy(buffer, at4); strcpy(buffer, at4);
if (gGameClock & 16) if ((int)totalclock & 16)
strcat(buffer, "_"); strcat(buffer, "_");
int x = gViewMode == 3 ? gViewX0S : 0; int x = gViewMode == 3 ? gViewX0S : 0;
int y = gViewMode == 3 ? gViewY0S : 0; int y = gViewMode == 3 ? gViewY0S : 0;

View file

@ -22,6 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#pragma once #pragma once
#include "compat.h"
#include "build.h"
#include "player.h" #include "player.h"
class CGameMessageMgr class CGameMessageMgr
@ -29,14 +31,14 @@ class CGameMessageMgr
public: public:
struct messageStruct struct messageStruct
{ {
int at0; ClockTicks at0;
char at4[81]; char at4[81];
}; };
char at0; char at0;
int at1; int at1;
int at5; int at5;
int at9; ClockTicks at9;
int atd; ClockTicks atd;
int at11; int at11;
int at15; int at15;
int at19; int at19;

View file

@ -40,7 +40,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
char packet[576]; char packet[576];
bool gStartNewGame = 0; bool gStartNewGame = 0;
PACKETMODE gPacketMode = PACKETMODE_1; PACKETMODE gPacketMode = PACKETMODE_1;
int gNetFifoClock = 0; ClockTicks gNetFifoClock = 0;
int gNetFifoTail = 0; int gNetFifoTail = 0;
int gNetFifoHead[8]; int gNetFifoHead[8];
int gPredictTail = 0; int gPredictTail = 0;
@ -236,7 +236,7 @@ void netSendPacketAll(char *pBuffer, int nSize)
void sub_79760(void) void sub_79760(void)
{ {
gNetFifoClock = gFrameClock = gGameClock = 0; gNetFifoClock = gFrameClock = totalclock = 0;
gNetFifoMasterTail = 0; gNetFifoMasterTail = 0;
gPredictTail = 0; gPredictTail = 0;
gNetFifoTail = 0; gNetFifoTail = 0;
@ -664,14 +664,14 @@ void sub_7AC28(const char *pzString)
void netSendEmptyPackets(void) void netSendEmptyPackets(void)
{ {
int nClock = gGameClock; ClockTicks nClock = totalclock;
char *pPacket = packet; char *pPacket = packet;
PutPacketByte(pPacket, 254); PutPacketByte(pPacket, 254);
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
{ {
if (nClock <= gGameClock) if (nClock <= totalclock)
{ {
nClock = gGameClock+4; nClock = totalclock+4;
netSendPacketAll(packet, pPacket-packet); netSendPacketAll(packet, pPacket-packet);
} }
} }
@ -853,7 +853,7 @@ void netGetInput(void)
} }
else else
t = ksgn(t); t = ksgn(t);
gGameClock -= t<<2; totalclock -= t<<2;
otherMinLag += t; otherMinLag += t;
myMinLag[connecthead] -= t; myMinLag[connecthead] -= t;
} }
@ -935,7 +935,7 @@ void netGetInput(void)
} }
else else
t = ksgn(t); t = ksgn(t);
gGameClock -= t<<2; totalclock -= t<<2;
otherMinLag += t; otherMinLag += t;
myMinLag[connecthead] -= t; myMinLag[connecthead] -= t;
} }

View file

@ -21,6 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#pragma once #pragma once
#include "compat.h"
#include "build.h"
#include "controls.h" #include "controls.h"
enum PACKETMODE { enum PACKETMODE {
@ -41,7 +43,7 @@ enum NETWORKMODE {
extern char packet[576]; extern char packet[576];
extern bool gStartNewGame; extern bool gStartNewGame;
extern PACKETMODE gPacketMode; extern PACKETMODE gPacketMode;
extern int gNetFifoClock; extern ClockTicks gNetFifoClock;
extern int gNetFifoTail; extern int gNetFifoTail;
extern int gNetFifoHead[8]; extern int gNetFifoHead[8];
extern int gPredictTail; extern int gPredictTail;

View file

@ -1019,7 +1019,7 @@ void playerReset(PLAYER *pPlayer)
} }
int dword_21EFB0[8]; int dword_21EFB0[8];
int dword_21EFD0[8]; ClockTicks dword_21EFD0[8];
void playerInit(int nPlayer, unsigned int a2) void playerInit(int nPlayer, unsigned int a2)
{ {

View file

@ -21,6 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#pragma once #pragma once
#include "compat.h"
#include "build.h"
#include "fix16.h" #include "fix16.h"
#include "common_game.h" #include "common_game.h"
#include "actor.h" #include "actor.h"
@ -197,7 +199,7 @@ extern PLAYER *gMe, *gView;
extern PROFILE gProfile[kMaxPlayers]; extern PROFILE gProfile[kMaxPlayers];
extern int dword_21EFB0[kMaxPlayers]; extern int dword_21EFB0[kMaxPlayers];
extern int dword_21EFD0[kMaxPlayers]; extern ClockTicks dword_21EFD0[kMaxPlayers];
extern AMMOINFO gAmmoInfo[]; extern AMMOINFO gAmmoInfo[];
extern POWERUPINFO gPowerUpInfo[kMaxPowerUps]; extern POWERUPINFO gPowerUpInfo[kMaxPowerUps];

View file

@ -36,11 +36,12 @@ int qanimateoffs(int a1, int a2)
int frames = picanm[a1].num; int frames = picanm[a1].num;
if (frames > 0) if (frames > 0)
{ {
int const frameClock = gFrameClock);
int vd; int vd;
if ((a2&0xc000) == 0x8000) if ((a2&0xc000) == 0x8000)
vd = (Bcrc32(&a2, 2, 0)+gFrameClock)>>(picanm[a1].sf&PICANM_ANIMSPEED_MASK); vd = (Bcrc32(&a2, 2, 0)+frameClock)>>(picanm[a1].sf&PICANM_ANIMSPEED_MASK);
else else
vd = gFrameClock>>(picanm[a1].sf&PICANM_ANIMSPEED_MASK); vd = frameClock>>(picanm[a1].sf&PICANM_ANIMSPEED_MASK);
switch (picanm[a1].sf&PICANM_ANIMTYPE_MASK) switch (picanm[a1].sf&PICANM_ANIMTYPE_MASK)
{ {
case PICANM_ANIMTYPE_OSC: case PICANM_ANIMTYPE_OSC:

View file

@ -162,7 +162,7 @@ void DoSectorLighting(void)
{ {
t2 = mulscale16(t2, pXSector->busy); t2 = mulscale16(t2, pXSector->busy);
} }
int v4 = GetWaveValue(t1, pXSector->phase*8+pXSector->freq*gGameClock, t2); int v4 = GetWaveValue(t1, pXSector->phase*8+pXSector->freq*(int)totalclock, t2);
if (pXSector->shadeFloor) if (pXSector->shadeFloor)
{ {
sector[nSector].floorshade = ClipRange(sector[nSector].floorshade+v4, -128, 127); sector[nSector].floorshade = ClipRange(sector[nSector].floorshade+v4, -128, 127);

View file

@ -2837,7 +2837,7 @@ void pastePropertiesInObj(int type, int nDest, EVENT event) {
return; return;
} }
// lets try to look for target that fits better by distance // lets try to look for target that fits better by distance
else if ((gFrameClock & 256) != 0 && (pXSprite->target < 0 || getTargetDist(pSprite, pDudeInfo, pTarget) >= mDist)) { else if (((int)gFrameClock & 256) != 0 && (pXSprite->target < 0 || getTargetDist(pSprite, pDudeInfo, pTarget) >= mDist)) {
pTarget = getTargetInRange(pSprite, 0, mDist, pXSource->data1, pXSource->data2); pTarget = getTargetInRange(pSprite, 0, mDist, pXSource->data1, pXSource->data2);
if (pTarget != NULL) { if (pTarget != NULL) {
pXTarget = &xsprite[pTarget->extra]; pXTarget = &xsprite[pTarget->extra];
@ -2866,7 +2866,7 @@ void pastePropertiesInObj(int type, int nDest, EVENT event) {
} }
} }
if ((pXSprite->target < 0 || pPlayer != NULL) && (gFrameClock & 32) != 0) { if ((pXSprite->target < 0 || pPlayer != NULL) && ((int)gFrameClock & 32) != 0) {
// try find first target that dude can see // try find first target that dude can see
for (int nSprite = headspritestat[6]; nSprite >= 0; nSprite = nextspritestat[nSprite]) { for (int nSprite = headspritestat[6]; nSprite >= 0; nSprite = nextspritestat[nSprite]) {
pTarget = &sprite[nSprite]; pXTarget = &xsprite[pTarget->extra]; pTarget = &sprite[nSprite]; pXTarget = &xsprite[pTarget->extra];
@ -2909,7 +2909,7 @@ void pastePropertiesInObj(int type, int nDest, EVENT event) {
} }
// got no target - let's ask mates if they have targets // got no target - let's ask mates if they have targets
if ((pXSprite->target < 0 || pPlayer != NULL) && pXSource->data2 == 1 && (gFrameClock & 64) != 0) { if ((pXSprite->target < 0 || pPlayer != NULL) && pXSource->data2 == 1 && ((int)gFrameClock & 64) != 0) {
spritetype* pMateTarget = NULL; spritetype* pMateTarget = NULL;
if ((pMateTarget = getMateTargets(pXSprite)) != NULL && pMateTarget->extra > 0) { if ((pMateTarget = getMateTargets(pXSprite)) != NULL && pMateTarget->extra > 0) {
XSPRITE* pXMateTarget = &xsprite[pMateTarget->extra]; XSPRITE* pXMateTarget = &xsprite[pMateTarget->extra];

View file

@ -1217,7 +1217,7 @@ void viewDrawPowerUps(PLAYER* pPlayer)
if (powerups[i].remainingDuration) if (powerups[i].remainingDuration)
{ {
int remainingSeconds = powerups[i].remainingDuration / 100; int remainingSeconds = powerups[i].remainingDuration / 100;
if (remainingSeconds > 5 || (gGameClock & 32)) if (remainingSeconds > 5 || ((int)totalclock & 32))
{ {
DrawStatMaskedSprite(powerups[i].nTile, x, y + powerups[i].yOffset, 0, 0, 256, (int)(65536 * powerups[i].nScaleRatio)); DrawStatMaskedSprite(powerups[i].nTile, x, y + powerups[i].yOffset, 0, 0, 256, (int)(65536 * powerups[i].nScaleRatio));
} }
@ -1308,7 +1308,7 @@ void DrawPackItemInStatusBar2(PLAYER *pPlayer, int x, int y, int x2, int y2, int
char gTempStr[128]; char gTempStr[128];
void UpdateStatusBar(int arg) void UpdateStatusBar(ClockTicks arg)
{ {
PLAYER *pPlayer = gView; PLAYER *pPlayer = gView;
XSPRITE *pXSprite = pPlayer->pXSprite; XSPRITE *pXSprite = pPlayer->pXSprite;
@ -1381,7 +1381,7 @@ void UpdateStatusBar(int arg)
if (gViewSize == 2) if (gViewSize == 2)
{ {
DrawStatSprite(2201, 34, 187, 16, nPalette, 256); DrawStatSprite(2201, 34, 187, 16, nPalette, 256);
if (pXSprite->health >= 16 || (gGameClock&16) || pXSprite->health == 0) if (pXSprite->health >= 16 || ((int)totalclock&16) || pXSprite->health == 0)
{ {
DrawStatNumber("%3d", pXSprite->health>>4, 2190, 8, 183, 0, 0, 256); DrawStatNumber("%3d", pXSprite->health>>4, 2190, 8, 183, 0, 0, 256);
} }
@ -1440,7 +1440,7 @@ void UpdateStatusBar(int arg)
viewDrawPack(pPlayer, 160, 200-tilesiz[2200].y); viewDrawPack(pPlayer, 160, 200-tilesiz[2200].y);
DrawStatMaskedSprite(2200, 160, 172, 16, nPalette); DrawStatMaskedSprite(2200, 160, 172, 16, nPalette);
DrawPackItemInStatusBar(pPlayer, 265, 186, 260, 172); DrawPackItemInStatusBar(pPlayer, 265, 186, 260, 172);
if (pXSprite->health >= 16 || (gGameClock&16) || pXSprite->health == 0) if (pXSprite->health >= 16 || ((int)totalclock&16) || pXSprite->health == 0)
{ {
DrawStatNumber("%3d", pXSprite->health>>4, 2190, 86, 183, 0, 0); DrawStatNumber("%3d", pXSprite->health>>4, 2190, 86, 183, 0, 0);
} }
@ -1531,18 +1531,22 @@ void UpdateStatusBar(int arg)
if (gGameOptions.nGameType == 3) if (gGameOptions.nGameType == 3)
{ {
int x = 1, y = 1; int x = 1, y = 1;
if (dword_21EFD0[0] == 0 || (gGameClock & 8)) if (dword_21EFD0[0] == 0 || ((int)totalclock & 8))
{ {
viewDrawText(0, "BLUE", x, y, -128, 10, 0, 0, 256); viewDrawText(0, "BLUE", x, y, -128, 10, 0, 0, 256);
dword_21EFD0[0] = ClipLow(dword_21EFD0[0]-arg, 0); dword_21EFD0[0] = dword_21EFD0[0]-arg;
if (dword_21EFD0[0] < 0)
dword_21EFD0[0] = 0;
sprintf(gTempStr, "%-3d", dword_21EFB0[0]); sprintf(gTempStr, "%-3d", dword_21EFB0[0]);
viewDrawText(0, gTempStr, x, y+10, -128, 10, 0, 0, 256); viewDrawText(0, gTempStr, x, y+10, -128, 10, 0, 0, 256);
} }
x = 319; x = 319;
if (dword_21EFD0[1] == 0 || (gGameClock & 8)) if (dword_21EFD0[1] == 0 || ((int)totalclock & 8))
{ {
viewDrawText(0, "RED", x, y, -128, 7, 2, 0, 512); viewDrawText(0, "RED", x, y, -128, 7, 2, 0, 512);
dword_21EFD0[1] = ClipLow(dword_21EFD0[1]-arg, 0); dword_21EFD0[1] = dword_21EFD0[1]-arg;
if (dword_21EFD0[1] < 0)
dword_21EFD0[1] = 0;
sprintf(gTempStr, "%3d", dword_21EFB0[1]); sprintf(gTempStr, "%3d", dword_21EFB0[1]);
viewDrawText(0, gTempStr, x, y+10, -128, 7, 2, 0, 512); viewDrawText(0, gTempStr, x, y+10, -128, 7, 2, 0, 512);
} }
@ -1694,7 +1698,7 @@ void UpdateFrame(void)
viewTileSprite(kBackTile, 10, 1, gViewX0-3, gViewY1+1, gViewX1+1, gViewY1+4); viewTileSprite(kBackTile, 10, 1, gViewX0-3, gViewY1+1, gViewX1+1, gViewY1+4);
} }
void viewDrawInterface(int arg) void viewDrawInterface(ClockTicks arg)
{ {
if (gViewMode == 3/* && gViewSize >= 3*/ && (pcBackground != 0 || videoGetRenderMode() >= REND_POLYMOST)) if (gViewMode == 3/* && gViewSize >= 3*/ && (pcBackground != 0 || videoGetRenderMode() >= REND_POLYMOST))
{ {
@ -1750,7 +1754,7 @@ uspritetype *viewAddEffect(int nTSprite, VIEW_EFFECT nViewEffect)
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
{ {
uspritetype *pNSprite = viewInsertTSprite(pTSprite->sectnum, 32767, pTSprite); uspritetype *pNSprite = viewInsertTSprite(pTSprite->sectnum, 32767, pTSprite);
int ang = (gFrameClock*2048)/120; int ang = ((int)gFrameClock*2048)/120;
int nRand1 = dword_172CE0[i][0]; int nRand1 = dword_172CE0[i][0];
int nRand2 = dword_172CE0[i][1]; int nRand2 = dword_172CE0[i][1];
int nRand3 = dword_172CE0[i][2]; int nRand3 = dword_172CE0[i][2];
@ -2153,7 +2157,7 @@ void viewProcessSprites(int32_t cX, int32_t cY, int32_t cZ, int32_t cA, int32_t
qloadvoxel(pTSprite->picnum); qloadvoxel(pTSprite->picnum);
if ((picanm[nTile].extra&7) == 7) if ((picanm[nTile].extra&7) == 7)
{ {
pTSprite->ang = (gGameClock<<3)&2047; pTSprite->ang = ((int)totalclock<<3)&2047;
} }
} }
} }
@ -2542,8 +2546,7 @@ void viewProcessSprites(int32_t cX, int32_t cY, int32_t cZ, int32_t cA, int32_t
int othercameradist = 1280; int othercameradist = 1280;
int cameradist = -1; int cameradist = -1;
int othercameraclock; ClockTicks othercameraclock, cameraclock;
int cameraclock;
void CalcOtherPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsectnum, int nAng, fix16_t zm) void CalcOtherPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsectnum, int nAng, fix16_t zm)
{ {
@ -2583,8 +2586,8 @@ void CalcOtherPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsec
*pX += mulscale16(vX, othercameradist); *pX += mulscale16(vX, othercameradist);
*pY += mulscale16(vY, othercameradist); *pY += mulscale16(vY, othercameradist);
*pZ += mulscale16(vZ, othercameradist); *pZ += mulscale16(vZ, othercameradist);
othercameradist = ClipHigh(othercameradist+((gGameClock-othercameraclock)<<10), 65536); othercameradist = ClipHigh(othercameradist+(((int)(totalclock-othercameraclock))<<10), 65536);
othercameraclock = gGameClock; othercameraclock = totalclock;
dassert(*vsectnum >= 0 && *vsectnum < kMaxSectors); dassert(*vsectnum >= 0 && *vsectnum < kMaxSectors);
FindSector(*pX, *pY, *pZ, vsectnum); FindSector(*pX, *pY, *pZ, vsectnum);
pSprite->cstat = bakCstat; pSprite->cstat = bakCstat;
@ -2629,8 +2632,8 @@ void CalcPosition(spritetype *pSprite, int *pX, int *pY, int *pZ, int *vsectnum,
*pX += mulscale16(vX, cameradist); *pX += mulscale16(vX, cameradist);
*pY += mulscale16(vY, cameradist); *pY += mulscale16(vY, cameradist);
*pZ += mulscale16(vZ, cameradist); *pZ += mulscale16(vZ, cameradist);
cameradist = ClipHigh(cameradist+((gGameClock-cameraclock)<<10), 65536); cameradist = ClipHigh(cameradist+(((int)(totalclock-cameraclock))<<10), 65536);
cameraclock = gGameClock; cameraclock = totalclock;
dassert(*vsectnum >= 0 && *vsectnum < kMaxSectors); dassert(*vsectnum >= 0 && *vsectnum < kMaxSectors);
FindSector(*pX, *pY, *pZ, vsectnum); FindSector(*pX, *pY, *pZ, vsectnum);
pSprite->cstat = bakCstat; pSprite->cstat = bakCstat;
@ -2845,7 +2848,7 @@ void viewUpdateDelirium(void)
if ((powerCount = powerupCheck(gView,28)) != 0) if ((powerCount = powerupCheck(gView,28)) != 0)
{ {
int tilt1 = 170, tilt2 = 170, pitch = 20; int tilt1 = 170, tilt2 = 170, pitch = 20;
int timer = gFrameClock*4; int timer = (int)gFrameClock*4;
if (powerCount < 512) if (powerCount < 512)
{ {
int powerScale = (powerCount<<16) / 512; int powerScale = (powerCount<<16) / 512;
@ -2949,7 +2952,7 @@ int32_t g_frameRate;
void viewDrawScreen(void) void viewDrawScreen(void)
{ {
int nPalette = 0; int nPalette = 0;
static int lastUpdate; static ClockTicks lastUpdate;
int defaultHoriz = gCenterHoriz ? 100 : 90; int defaultHoriz = gCenterHoriz ? 100 : 90;
#ifdef USE_OPENGL #ifdef USE_OPENGL
@ -2957,11 +2960,13 @@ void viewDrawScreen(void)
#endif #endif
timerUpdate(); timerUpdate();
int delta = ClipLow(gGameClock - lastUpdate, 0); ClockTicks delta = totalclock - lastUpdate;
lastUpdate = gGameClock; if (delta < 0)
delta = 0;
lastUpdate = totalclock;
if (!gPaused && (!CGameMenuMgr::m_bActive || gGameOptions.nGameType != 0)) if (!gPaused && (!CGameMenuMgr::m_bActive || gGameOptions.nGameType != 0))
{ {
gInterpolate = divscale16(gGameClock-gNetFifoClock+4, 4); gInterpolate = ((totalclock-gNetFifoClock)+4).toScale16()/4;
} }
if (gInterpolate < 0 || gInterpolate > 65536) if (gInterpolate < 0 || gInterpolate > 65536)
{ {
@ -3057,7 +3062,7 @@ void viewDrawScreen(void)
} }
cZ += fix16_to_int(q16horiz*10); cZ += fix16_to_int(q16horiz*10);
cameradist = -1; cameradist = -1;
cameraclock = gGameClock; cameraclock = totalclock;
} }
else else
{ {
@ -3109,7 +3114,7 @@ void viewDrawScreen(void)
} }
else if (v4 && gNetPlayers > 1) else if (v4 && gNetPlayers > 1)
{ {
int tmp = (gGameClock/240)%(gNetPlayers-1); int tmp = ((int)totalclock/240)%(gNetPlayers-1);
int i = connecthead; int i = connecthead;
while (1) while (1)
{ {
@ -3198,7 +3203,7 @@ RORHACKOTHER:
} }
else else
{ {
othercameraclock = gGameClock; othercameraclock = totalclock;
} }
if (!bDelirium) if (!bDelirium)

View file

@ -21,7 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
#pragma once #pragma once
#include "compat.h"
#include "build.h"
#include "palette.h" #include "palette.h"
#include "common_game.h" #include "common_game.h"
#include "controls.h" #include "controls.h"
@ -131,11 +132,11 @@ void DrawStatNumber(const char *pFormat, int nNumber, int nTile, int x, int y, i
void TileHGauge(int nTile, int x, int y, int nMult, int nDiv, int nStat = 0, int nScale = 65536); void TileHGauge(int nTile, int x, int y, int nMult, int nDiv, int nStat = 0, int nScale = 65536);
void viewDrawPack(PLAYER *pPlayer, int x, int y); void viewDrawPack(PLAYER *pPlayer, int x, int y);
void DrawPackItemInStatusBar(PLAYER *pPlayer, int x, int y, int x2, int y2, int nStat = 0); void DrawPackItemInStatusBar(PLAYER *pPlayer, int x, int y, int x2, int y2, int nStat = 0);
void UpdateStatusBar(int arg); void UpdateStatusBar(ClockTicks arg);
void viewInit(void); void viewInit(void);
void viewResizeView(int size); void viewResizeView(int size);
void UpdateFrame(void); void UpdateFrame(void);
void viewDrawInterface(int arg); void viewDrawInterface(ClockTicks arg);
uspritetype *viewInsertTSprite(int nSector, int nStatnum, uspritetype *pSprite); uspritetype *viewInsertTSprite(int nSector, int nStatnum, uspritetype *pSprite);
uspritetype *viewAddEffect(int nTSprite, VIEW_EFFECT nViewEffect); uspritetype *viewAddEffect(int nTSprite, VIEW_EFFECT nViewEffect);
void viewProcessSprites(int32_t cX, int32_t cY, int32_t cZ, int32_t cA, int32_t smooth); void viewProcessSprites(int32_t cX, int32_t cY, int32_t cZ, int32_t cA, int32_t smooth);

View file

@ -232,14 +232,14 @@ void WeaponDraw(PLAYER *pPlayer, int a2, int a3, int a4, int a5)
QAV *pQAV = weaponQAV[pPlayer->at26]; QAV *pQAV = weaponQAV[pPlayer->at26];
int v4; int v4;
if (pPlayer->atbf == 0) if (pPlayer->atbf == 0)
v4 = gGameClock%pQAV->at10; v4 = (int)totalclock%pQAV->at10;
else else
v4 = pQAV->at10-pPlayer->atbf; v4 = pQAV->at10-pPlayer->atbf;
pQAV->x = a3; pQAV->x = a3;
pQAV->y = a4; pQAV->y = a4;
int flags = 2; int flags = 2;
int nInv = powerupCheck(pPlayer, 13); int nInv = powerupCheck(pPlayer, 13);
if (nInv >= 120*8 || (nInv != 0 && (gGameClock&32))) if (nInv >= 120*8 || (nInv != 0 && ((int)totalclock&32)))
{ {
a2 = -128; a2 = -128;
flags |= 1; flags |= 1;
@ -1727,12 +1727,12 @@ char sub_4F0E0(PLAYER *pPlayer)
{ {
pPlayer->atc3 = 7; pPlayer->atc3 = 7;
pPlayer->at1b2 = 0; pPlayer->at1b2 = 0;
pPlayer->at1b6 = gFrameClock; pPlayer->at1b6 = (int)gFrameClock;
} }
return 1; return 1;
case 7: case 7:
{ {
pPlayer->at1ba = ClipHigh(divscale16(gFrameClock-pPlayer->at1b6,240), 65536); pPlayer->at1ba = ClipHigh(divscale16((int)gFrameClock-pPlayer->at1b6,240), 65536);
if (!pPlayer->atc.buttonFlags.shoot) if (!pPlayer->atc.buttonFlags.shoot)
{ {
if (!pPlayer->at1b2) if (!pPlayer->at1b2)
@ -1765,12 +1765,12 @@ char sub_4F200(PLAYER *pPlayer)
{ {
pPlayer->atc3 = 6; pPlayer->atc3 = 6;
pPlayer->at1b2 = 0; pPlayer->at1b2 = 0;
pPlayer->at1b6 = gFrameClock; pPlayer->at1b6 = (int)gFrameClock;
} }
return 1; return 1;
case 6: case 6:
{ {
pPlayer->at1ba = ClipHigh(divscale16(gFrameClock-pPlayer->at1b6,240), 65536); pPlayer->at1ba = ClipHigh(divscale16((int)gFrameClock-pPlayer->at1b6,240), 65536);
if (!pPlayer->atc.buttonFlags.shoot) if (!pPlayer->atc.buttonFlags.shoot)
{ {
if (!pPlayer->at1b2) if (!pPlayer->at1b2)
@ -1789,7 +1789,7 @@ char sub_4F320(PLAYER *pPlayer)
switch (pPlayer->atc3) switch (pPlayer->atc3)
{ {
case 9: case 9:
pPlayer->at1ba = ClipHigh(divscale16(gFrameClock-pPlayer->at1b6,240), 65536); pPlayer->at1ba = ClipHigh(divscale16((int)gFrameClock-pPlayer->at1b6,240), 65536);
pPlayer->atbf = 0; pPlayer->atbf = 0;
if (!pPlayer->atc.buttonFlags.shoot) if (!pPlayer->atc.buttonFlags.shoot)
{ {
@ -1806,7 +1806,7 @@ char sub_4F3A0(PLAYER *pPlayer)
switch (pPlayer->atc3) switch (pPlayer->atc3)
{ {
case 13: case 13:
pPlayer->at1ba = ClipHigh(divscale16(gFrameClock-pPlayer->at1b6,240), 65536); pPlayer->at1ba = ClipHigh(divscale16((int)gFrameClock-pPlayer->at1b6,240), 65536);
if (!pPlayer->atc.buttonFlags.shoot) if (!pPlayer->atc.buttonFlags.shoot)
{ {
pPlayer->atc3 = 11; pPlayer->atc3 = 11;
@ -2134,7 +2134,7 @@ void WeaponProcess(PLAYER *pPlayer)
case 3: case 3:
pPlayer->atc3 = 6; pPlayer->atc3 = 6;
pPlayer->at1b2 = -1; pPlayer->at1b2 = -1;
pPlayer->at1b6 = gFrameClock; pPlayer->at1b6 = (int)gFrameClock;
StartQAV(pPlayer, 21, nClientExplodeBundle, 0); StartQAV(pPlayer, 21, nClientExplodeBundle, 0);
return; return;
} }
@ -2145,7 +2145,7 @@ void WeaponProcess(PLAYER *pPlayer)
case 7: case 7:
pPlayer->at26 = 27; pPlayer->at26 = 27;
pPlayer->atc3 = 9; pPlayer->atc3 = 9;
pPlayer->at1b6 = gFrameClock; pPlayer->at1b6 = (int)gFrameClock;
return; return;
} }
break; break;
@ -2155,7 +2155,7 @@ void WeaponProcess(PLAYER *pPlayer)
case 10: case 10:
pPlayer->at26 = 36; pPlayer->at26 = 36;
pPlayer->atc3 = 13; pPlayer->atc3 = 13;
pPlayer->at1b6 = gFrameClock; pPlayer->at1b6 = (int)gFrameClock;
return; return;
case 11: case 11:
pPlayer->atc3 = 12; pPlayer->atc3 = 12;