From a25246bebe860aa7057e4c8901234c9d5f52b814 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Tue, 14 Nov 2017 11:34:39 -0600 Subject: FULLPIPE: Remove unnecessary extra allocation for RNG --- engines/fullpipe/behavior.cpp | 6 +++--- engines/fullpipe/floaters.cpp | 10 +++++----- engines/fullpipe/fullpipe.cpp | 7 ++++--- engines/fullpipe/fullpipe.h | 2 +- engines/fullpipe/scenes/scene02.cpp | 8 ++++---- engines/fullpipe/scenes/scene04.cpp | 8 ++++---- engines/fullpipe/scenes/scene05.cpp | 8 ++++---- engines/fullpipe/scenes/scene06.cpp | 2 +- engines/fullpipe/scenes/scene12.cpp | 6 +++--- engines/fullpipe/scenes/scene15.cpp | 2 +- engines/fullpipe/scenes/scene17.cpp | 6 +++--- engines/fullpipe/scenes/scene18and19.cpp | 2 +- engines/fullpipe/scenes/scene20.cpp | 10 +++++----- engines/fullpipe/scenes/scene25.cpp | 16 ++++++++-------- engines/fullpipe/scenes/scene27.cpp | 4 ++-- engines/fullpipe/scenes/scene28.cpp | 6 +++--- engines/fullpipe/scenes/scene29.cpp | 4 ++-- engines/fullpipe/scenes/scene34.cpp | 4 ++-- engines/fullpipe/scenes/scene35.cpp | 8 ++++---- engines/fullpipe/scenes/scene38.cpp | 28 ++++++++++++++-------------- 20 files changed, 74 insertions(+), 73 deletions(-) (limited to 'engines') diff --git a/engines/fullpipe/behavior.cpp b/engines/fullpipe/behavior.cpp index 8c0bf9198c..61327c21c1 100644 --- a/engines/fullpipe/behavior.cpp +++ b/engines/fullpipe/behavior.cpp @@ -139,7 +139,7 @@ void BehaviorManager::updateBehavior(BehaviorInfo *behaviorInfo, BehaviorAnim *e mq->sendNextCommand(); bhi->_flags &= 0xFFFFFFFD; - } else if (behaviorInfo->_counter >= bhi->_delay && bhi->_percent && g_fp->_rnd->getRandomNumber(32767) <= entry->_behaviorMoves[i]->_percent) { + } else if (behaviorInfo->_counter >= bhi->_delay && bhi->_percent && g_fp->_rnd.getRandomNumber(32767) <= entry->_behaviorMoves[i]->_percent) { MessageQueue *mq = new MessageQueue(bhi->_messageQueue, 0, 1); mq->sendNextCommand(); @@ -156,7 +156,7 @@ void BehaviorManager::updateStaticAniBehavior(StaticANIObject *ani, int delay, B MessageQueue *mq = 0; if (bhe->_flags & 1) { - uint rnd = g_fp->_rnd->getRandomNumber(32767); + uint rnd = g_fp->_rnd.getRandomNumber(32767); uint runPercent = 0; for (int i = 0; i < bhe->_movesCount; i++) { if (!(bhe->_behaviorMoves[i]->_flags & 1) && bhe->_behaviorMoves[i]->_percent) { @@ -171,7 +171,7 @@ void BehaviorManager::updateStaticAniBehavior(StaticANIObject *ani, int delay, B for (int i = 0; i < bhe->_movesCount; i++) { if (!(bhe->_behaviorMoves[i]->_flags & 1) && delay >= bhe->_behaviorMoves[i]->_delay) { if (bhe->_behaviorMoves[i]->_percent) { - if (g_fp->_rnd->getRandomNumber(32767) <= bhe->_behaviorMoves[i]->_percent) { + if (g_fp->_rnd.getRandomNumber(32767) <= bhe->_behaviorMoves[i]->_percent) { mq = new MessageQueue(bhe->_behaviorMoves[i]->_messageQueue, 0, 1); break; } diff --git a/engines/fullpipe/floaters.cpp b/engines/fullpipe/floaters.cpp index aaeefb2c74..01afa240cc 100644 --- a/engines/fullpipe/floaters.cpp +++ b/engines/fullpipe/floaters.cpp @@ -111,7 +111,7 @@ void Floaters::genFlies(Scene *sc, int x, int y, int priority, int flags) { else nummoves = ani->_movement->_dynamicPhases.size(); - ani->_movement->setDynamicPhaseIndex(g_fp->_rnd->getRandomNumber(nummoves - 1)); + ani->_movement->setDynamicPhaseIndex(g_fp->_rnd.getRandomNumber(nummoves - 1)); FloaterArray2 *arr2 = new FloaterArray2; @@ -165,7 +165,7 @@ void Floaters::update() { if (_array2[i]->val4 == _array2[i]->val2 && _array2[i]->val5 == _array2[i]->val3) { _array2[i]->val9 = 0.0; - _array2[i]->val13 = g_fp->_rnd->getRandomNumber(200) + 20; + _array2[i]->val13 = g_fp->_rnd.getRandomNumber(200) + 20; if (_array2[i]->fflags & 1) { g_fp->_currentScene->deleteStaticANIObject(_array2[i]->ani); @@ -190,7 +190,7 @@ void Floaters::update() { _array2[i]->val3 = _array2[i]->val7; } else { if (_array2[i]->fflags & 2) { - int idx1 = g_fp->_rnd->getRandomNumber(_array1.size() - 1); + int idx1 = g_fp->_rnd.getRandomNumber(_array1.size() - 1); _array2[i]->val2 = _array1[idx1]->val1; _array2[i]->val3 = _array1[idx1]->val2; @@ -202,8 +202,8 @@ void Floaters::update() { _hRgn->getBBox(&rect); - int x2 = rect.left + g_fp->_rnd->getRandomNumber(rect.right - rect.left); - int y2 = rect.top + g_fp->_rnd->getRandomNumber(rect.bottom - rect.top); + int x2 = rect.left + g_fp->_rnd.getRandomNumber(rect.right - rect.left); + int y2 = rect.top + g_fp->_rnd.getRandomNumber(rect.bottom - rect.top); if (_hRgn->pointInRegion(x2, y2)) { int dx = _array2[i]->val2 - x2; diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index 122b68511c..4bcdac7561 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -48,7 +48,10 @@ namespace Fullpipe { FullpipeEngine *g_fp = 0; Vars *g_vars = 0; -FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) { +FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) : + Engine(syst), + _gameDescription(gameDesc), + _rnd("fullpipe") { DebugMan.addDebugChannel(kDebugPathfinding, "path", "Pathfinding"); DebugMan.addDebugChannel(kDebugDrawing, "drawing", "Drawing"); DebugMan.addDebugChannel(kDebugLoading, "loading", "Scene loading"); @@ -69,7 +72,6 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _sfxVolume = ConfMan.getInt("sfx_volume") * 39 - 10000; _musicVolume = ConfMan.getInt("music_volume"); - _rnd = new Common::RandomSource("fullpipe"); _console = 0; _gameProjectVersion = 0; @@ -203,7 +205,6 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) } FullpipeEngine::~FullpipeEngine() { - delete _rnd; delete _console; delete _globalMessageQueueList; delete _soundStream1; diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index d5aa730e07..ddcb5ad637 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -115,7 +115,7 @@ public: bool isDemo(); Common::Language getLanguage() const; - Common::RandomSource *_rnd; + Common::RandomSource _rnd; Common::KeyCode _keyState; uint16 _buttonState; diff --git a/engines/fullpipe/scenes/scene02.cpp b/engines/fullpipe/scenes/scene02.cpp index fd542d580d..e2350a958a 100644 --- a/engines/fullpipe/scenes/scene02.cpp +++ b/engines/fullpipe/scenes/scene02.cpp @@ -56,7 +56,7 @@ void scene02_initScene(Scene *sc) { g_vars->scene02_boxOpen = false; } else { g_vars->scene02_boxOpen = true; - g_vars->scene02_boxDelay = 100 * g_fp->_rnd->getRandomNumber(32767) + 150; + g_vars->scene02_boxDelay = 100 * g_fp->_rnd.getRandomNumber(32767) + 150; } g_fp->_floaters->init(g_fp->_gameLoader->_gameVar->getSubVarByName("SC_2")); @@ -116,13 +116,13 @@ int sceneHandler02(ExCommand *ex) { if (g_fp->_floaters->_array2[0]->val5 == -50) { g_fp->_floaters->stopAll(); g_vars->scene02_boxOpen = false; - g_vars->scene02_boxDelay = 100 * g_fp->_rnd->getRandomNumber(32767) + 150; + g_vars->scene02_boxDelay = 100 * g_fp->_rnd.getRandomNumber(32767) + 150; } else { g_fp->_floaters->_array2[0]->val3 = -50; } } else { - g_fp->_floaters->genFlies(g_fp->_currentScene, g_fp->_rnd->getRandomNumber(700) + 100, -50, 0, 0); - g_vars->scene02_boxDelay = 500 * g_fp->_rnd->getRandomNumber(32767) + 1000; + g_fp->_floaters->genFlies(g_fp->_currentScene, g_fp->_rnd.getRandomNumber(700) + 100, -50, 0, 0); + g_vars->scene02_boxDelay = 500 * g_fp->_rnd.getRandomNumber(32767) + 1000; } } diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 228fc77aae..b78d66d54c 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -56,7 +56,7 @@ void scene04_speakerCallback(int *phase) { if (scene04_speakerPhases[g_vars->scene04_speakerPhase + 6 * g_vars->scene04_speakerVariant] < 0) { g_vars->scene04_speakerPhase = 0; - g_vars->scene04_speakerVariant = g_fp->_rnd->getRandomNumber(2); + g_vars->scene04_speakerVariant = g_fp->_rnd.getRandomNumber(2); } } else { ++g_vars->scene04_speakerPhase; @@ -709,9 +709,9 @@ MessageQueue *sceneHandler04_kozFly6(StaticANIObject *ani) { mkQueue.ani = ani; mkQueue.staticsId2 = ST_KZW_SIT; - mkQueue.x1 = 397 - 4 * g_fp->_rnd->getRandomNumber(1); + mkQueue.x1 = 397 - 4 * g_fp->_rnd.getRandomNumber(1); mkQueue.field_1C = ani->_priority; - mkQueue.y1 = g_vars->scene04_bottle->_oy - 4 * g_fp->_rnd->getRandomNumber(1) + 109; + mkQueue.y1 = g_vars->scene04_bottle->_oy - 4 * g_fp->_rnd.getRandomNumber(1) + 109; mkQueue.field_10 = 1; mkQueue.flags = 78; mkQueue.movementId = MV_KZW_JUMPROTATE; @@ -1253,7 +1253,7 @@ void sceneHandler04_bigBallWalkIn() { && (!ball || !(ball->_flags & 4)) && g_vars->scene04_ladder->collisionDetection(g_fp->_aniMan) > 3) { - if (!g_fp->_rnd->getRandomNumber(49)) { + if (!g_fp->_rnd.getRandomNumber(49)) { if (g_vars->scene04_bigBallFromLeft) chainQueue(QU_BALL_WALKR, 0); else diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp index b8ecdc4934..35fd24eb99 100644 --- a/engines/fullpipe/scenes/scene05.cpp +++ b/engines/fullpipe/scenes/scene05.cpp @@ -151,12 +151,12 @@ void sceneHandler05_genFlies() { if (g_vars->scene05_floatersTicker <= 1000) return; - if (g_fp->_rnd->getRandomNumber(1)) { - int numFlies = g_fp->_rnd->getRandomNumber(3) + 1; + if (g_fp->_rnd.getRandomNumber(1)) { + int numFlies = g_fp->_rnd.getRandomNumber(3) + 1; for (int i = 0; i < numFlies; i++) { - int x = g_fp->_rnd->getRandomNumber(55) + 538; - int y = g_fp->_rnd->getRandomNumber(60) + i * 30 + 520; + int x = g_fp->_rnd.getRandomNumber(55) + 538; + int y = g_fp->_rnd.getRandomNumber(60) + i * 30 + 520; g_fp->_floaters->genFlies(g_fp->_currentScene, x, y, 5, 1); g_fp->_floaters->_array2.back()->val2 = 585; diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp index 4e003c6954..f434848c05 100644 --- a/engines/fullpipe/scenes/scene06.cpp +++ b/engines/fullpipe/scenes/scene06.cpp @@ -382,7 +382,7 @@ void sceneHandler06_throwBall() { } void sceneHandler06_eggieWalk() { - if (15 - g_vars->scene06_numBallsGiven >= 4 && !g_fp->_rnd->getRandomNumber(9)) { + if (15 - g_vars->scene06_numBallsGiven >= 4 && !g_fp->_rnd.getRandomNumber(9)) { StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_EGGIE, -1); if (!ani || !(ani->_flags & 4)) { diff --git a/engines/fullpipe/scenes/scene12.cpp b/engines/fullpipe/scenes/scene12.cpp index f63bb9a9fd..23bab31912 100644 --- a/engines/fullpipe/scenes/scene12.cpp +++ b/engines/fullpipe/scenes/scene12.cpp @@ -42,15 +42,15 @@ void scene12_initScene(Scene *sc) { g_vars->scene12_fly = g_fp->getObjectState(sO_Fly_12); if (g_vars->scene12_fly) - g_vars->scene12_flyCountdown = g_fp->_rnd->getRandomNumber(600) + 600; + g_vars->scene12_flyCountdown = g_fp->_rnd.getRandomNumber(600) + 600; - g_fp->setObjectState(sO_Fly_12, g_fp->_rnd->getRandomNumber(1)); + g_fp->setObjectState(sO_Fly_12, g_fp->_rnd.getRandomNumber(1)); } void sceneHandler12_updateFloaters() { g_fp->_floaters->genFlies(g_fp->_currentScene, 397, -50, 100, 6); - g_fp->_floaters->_array2[0]->countdown = g_fp->_rnd->getRandomNumber(6) + 4; + g_fp->_floaters->_array2[0]->countdown = g_fp->_rnd.getRandomNumber(6) + 4; g_fp->_floaters->_array2[0]->val6 = 397; g_fp->_floaters->_array2[0]->val7 = -50; } diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp index 436a04376d..cb4ae39806 100644 --- a/engines/fullpipe/scenes/scene15.cpp +++ b/engines/fullpipe/scenes/scene15.cpp @@ -128,7 +128,7 @@ int sceneHandler15(ExCommand *cmd) { break; case MSG_SC15_ASSDRYG: - if (g_fp->_rnd->getRandomNumber(1)) + if (g_fp->_rnd.getRandomNumber(1)) g_fp->playSound(SND_15_011, 0); else g_fp->playSound(SND_15_006, 0); diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp index 3ea35b7024..a830a8f985 100644 --- a/engines/fullpipe/scenes/scene17.cpp +++ b/engines/fullpipe/scenes/scene17.cpp @@ -62,9 +62,9 @@ void scene17_restoreState() { g_vars->scene17_flyState = g_fp->getObjectState(sO_Fly_17); if (g_vars->scene17_flyState <= 0 ) { - g_vars->scene17_flyCountdown = g_fp->_rnd->getRandomNumber(600) + 600; + g_vars->scene17_flyCountdown = g_fp->_rnd.getRandomNumber(600) + 600; - g_vars->scene17_flyState = g_fp->_rnd->getRandomNumber(4) + 1; + g_vars->scene17_flyState = g_fp->_rnd.getRandomNumber(4) + 1; } g_fp->setObjectState(sO_Fly_17, g_vars->scene17_flyState - 1); @@ -157,7 +157,7 @@ void sceneHandler17_moonshineFill() { void sceneHandler17_updateFlies() { g_fp->_floaters->genFlies(g_fp->_currentScene, 239, -50, 20, 4); - g_fp->_floaters->_array2[0]->countdown = g_fp->_rnd->getRandomNumber(5) + 6; + g_fp->_floaters->_array2[0]->countdown = g_fp->_rnd.getRandomNumber(5) + 6; g_fp->_floaters->_array2[0]->val6 = 239; g_fp->_floaters->_array2[0]->val7 = -50; } diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index eb338ead88..7e26632cee 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -181,7 +181,7 @@ void scene18_setupSwingers(StaticANIObject *ani, Scene *sc) { else ani->startAnim(MV_KSL_SWING, 0, -1); - ani->_movement->setDynamicPhaseIndex(g_fp->_rnd->getRandomNumber(17)); + ani->_movement->setDynamicPhaseIndex(g_fp->_rnd.getRandomNumber(17)); g_vars->scene18_swingers.push_back(swinger); } diff --git a/engines/fullpipe/scenes/scene20.cpp b/engines/fullpipe/scenes/scene20.cpp index ab3e474070..9085f02325 100644 --- a/engines/fullpipe/scenes/scene20.cpp +++ b/engines/fullpipe/scenes/scene20.cpp @@ -84,13 +84,13 @@ void scene20_initScene(Scene *sc) { g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_20")); for (int i = 0; i < 3; i++) { - g_fp->_floaters->genFlies(sc, g_fp->_rnd->getRandomNumber(101) + 70, g_fp->_rnd->getRandomNumber(51) + 175, 100, 0); - g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val13 = g_fp->_rnd->getRandomNumber(9); + g_fp->_floaters->genFlies(sc, g_fp->_rnd.getRandomNumber(101) + 70, g_fp->_rnd.getRandomNumber(51) + 175, 100, 0); + g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val13 = g_fp->_rnd.getRandomNumber(9); } g_fp->_currentScene = oldsc; - g_vars->scene20_fliesCountdown = g_fp->_rnd->getRandomNumber(200) + 400; + g_vars->scene20_fliesCountdown = g_fp->_rnd.getRandomNumber(200) + 400; } void sceneHandler20_updateFlies() { @@ -101,7 +101,7 @@ void sceneHandler20_updateFlies() { g_fp->_floaters->_array2[sz - 1]->val2 = 250; g_fp->_floaters->_array2[sz - 1]->val3 = 200; } else { - int idx = g_fp->_rnd->getRandomNumber(sz); + int idx = g_fp->_rnd.getRandomNumber(sz); g_fp->_floaters->_array2[idx]->countdown = 0; g_fp->_floaters->_array2[idx]->fflags |= 4u; @@ -112,7 +112,7 @@ void sceneHandler20_updateFlies() { g_fp->_floaters->_array2[idx]->ani->_priority = 200; } - g_vars->scene20_fliesCountdown = g_fp->_rnd->getRandomNumber(200) + 400; + g_vars->scene20_fliesCountdown = g_fp->_rnd.getRandomNumber(200) + 400; } int sceneHandler20(ExCommand *cmd) { diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index 8323e3d705..248049f757 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -229,29 +229,29 @@ void sceneHandler25_toLadder() { } void sceneHandler25_animateBearders() { - if (g_fp->_rnd->getRandomNumber(32767) < 218) { + if (g_fp->_rnd.getRandomNumber(32767) < 218) { MessageQueue *mq; mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC25_BEARDED), 0, 1); mq->setParamInt(-1, g_vars->scene25_bearders[0]->_odelay); - mq->getExCommandByIndex(0)->_x = g_fp->_rnd->getRandomNumber(650) + 100; + mq->getExCommandByIndex(0)->_x = g_fp->_rnd.getRandomNumber(650) + 100; mq->chain(0); g_vars->scene25_beardersCounter = 0; - if (g_fp->_rnd->getRandomNumber(32767) < 0x1FFF) { + if (g_fp->_rnd.getRandomNumber(32767) < 0x1FFF) { mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC25_BEARDED2), 0, 1); mq->setParamInt(-1, g_vars->scene25_bearders[1]->_odelay); - mq->getExCommandByIndex(0)->_x = g_fp->_rnd->getRandomNumber(650) + 100; + mq->getExCommandByIndex(0)->_x = g_fp->_rnd.getRandomNumber(650) + 100; mq->chain(0); - if (g_fp->_rnd->getRandomNumber(32767) < 8191) { + if (g_fp->_rnd.getRandomNumber(32767) < 8191) { mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC25_BEARDED3), 0, 1); mq->setParamInt(-1, g_vars->scene25_bearders[2]->_odelay); - mq->getExCommandByIndex(0)->_x = g_fp->_rnd->getRandomNumber(650) + 100; + mq->getExCommandByIndex(0)->_x = g_fp->_rnd.getRandomNumber(650) + 100; mq->chain(0); } } @@ -259,7 +259,7 @@ void sceneHandler25_animateBearders() { } void sceneHandler25_sneeze() { - if (g_fp->_rnd->getRandomNumber(32767) % 10) { + if (g_fp->_rnd.getRandomNumber(32767) % 10) { if (g_fp->_aniMan->_statics->_staticsId == ST_MAN25_ONBOARD) { g_fp->_aniMan->startAnim(MV_MAN25_ONBOARD, 0, -1); } else if (g_fp->_aniMan->_statics->_staticsId == (ST_MAN25_ONBOARD|0x4000)) { @@ -570,7 +570,7 @@ int sceneHandler25(ExCommand *cmd) { break; case MSG_BRD_TURN: - switch (g_fp->_rnd->getRandomNumber(3)) { + switch (g_fp->_rnd.getRandomNumber(3)) { case 0: g_fp->playSound(SND_25_025, 0); break; diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index aaf7fab852..7a9a25d563 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -335,7 +335,7 @@ void sceneHandler27_knockBats(int bat1n, int bat2n) { debugC(2, kDebugSceneLogic, "scene27: knockBats(%d, %d)", bat1n, bat2n); if (bat1->power != 0.0) { - double rndF = (double)g_fp->_rnd->getRandomNumber(32767) * 0.03 / 32767.0 - 0.015 + double rndF = (double)g_fp->_rnd.getRandomNumber(32767) * 0.03 / 32767.0 - 0.015 + atan2(bat2->currY - bat1->currY, bat2->currX - bat1->currX); double pow1x = cos(bat1->angle - rndF) * ((bat2->currX - bat1->currX) >= 0 ? bat1->power : -bat1->power); @@ -349,7 +349,7 @@ void sceneHandler27_knockBats(int bat1n, int bat2n) { debugC(3, kDebugSceneLogic, "scene27: knockBats: bat1 to: powerCos: %f powerSin: %f", bat1->powerCos, bat1->powerSin); - double rndF2 = (double)g_fp->_rnd->getRandomNumber(32767) * 0.03 / 32767.0 - 0.015 + double rndF2 = (double)g_fp->_rnd.getRandomNumber(32767) * 0.03 / 32767.0 - 0.015 + atan2(bat1->currY - bat2->currY, bat1->currX - bat2->currX); double pow2x = cos(bat2->angle - rndF2) * ((bat1->currX - bat2->currX) >= 0 ? bat2->power : -bat2->power); double pow2y = sin(bat2->angle - rndF2) * ((bat1->currY - bat2->currY) >= 0 ? bat2->power : -bat2->power); diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp index 275c78802f..7cf683ac97 100644 --- a/engines/fullpipe/scenes/scene28.cpp +++ b/engines/fullpipe/scenes/scene28.cpp @@ -86,7 +86,7 @@ void sceneHandler28_makeFaces(ExCommand *cmd) { for (int i = 0; i < 5; i++) { int pos; - while (frames[pos = g_fp->_rnd->getRandomNumber(4)] == 0) + while (frames[pos = g_fp->_rnd.getRandomNumber(4)] == 0) ; mq->getExCommandByIndex(i)->_messageNum = frames[pos]; @@ -173,12 +173,12 @@ void sceneHandler28_turnOn2() { g_fp->_floaters->genFlies(g_fp->_currentScene, 1013, 329, 60, 4); g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val13 = 30; - g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->countdown = g_fp->_rnd->getRandomNumber(12) + 12; + g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->countdown = g_fp->_rnd.getRandomNumber(12) + 12; g_fp->_floaters->genFlies(g_fp->_currentScene, 1074, 311, 60, 4); g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val13 = 30; - g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->countdown = g_fp->_rnd->getRandomNumber(12) + 12; + g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->countdown = g_fp->_rnd.getRandomNumber(12) + 12; } g_vars->scene28_fliesArePresent = false; diff --git a/engines/fullpipe/scenes/scene29.cpp b/engines/fullpipe/scenes/scene29.cpp index 862b6916d9..62af4385ff 100644 --- a/engines/fullpipe/scenes/scene29.cpp +++ b/engines/fullpipe/scenes/scene29.cpp @@ -569,7 +569,7 @@ void sceneHandler29_manRideBack() { void sceneHandler29_shoot() { if (g_vars->scene29_arcadeIsOn && g_vars->scene29_manX < 1310) { - if (g_fp->_rnd->getRandomNumber(32767) <= 16383|| g_vars->scene29_shooter1->_movement || g_vars->scene29_shooter1->_statics->_staticsId != ST_STR1_RIGHT) { + if (g_fp->_rnd.getRandomNumber(32767) <= 16383|| g_vars->scene29_shooter1->_movement || g_vars->scene29_shooter1->_statics->_staticsId != ST_STR1_RIGHT) { if (!g_vars->scene29_shooter2->_movement && g_vars->scene29_shooter2->_statics->_staticsId == ST_STR2_RIGHT) { if (g_vars->scene29_shooter2->_flags & 4) { g_vars->scene29_shooter2->startAnim(MV_STR2_SHOOT, 0, -1); @@ -637,7 +637,7 @@ void sceneHandler29_animBearded() { if (g_vars->scene29_arcadeIsOn && g_vars->scene29_bearders[i]->wbcounter > 30) { int newx; - if (g_fp->_rnd->getRandomNumber(1)) + if (g_fp->_rnd.getRandomNumber(1)) goto dostuff; if (g_vars->scene29_manX <= 700) { diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp index 69f3cd5293..040d023bb9 100644 --- a/engines/fullpipe/scenes/scene34.cpp +++ b/engines/fullpipe/scenes/scene34.cpp @@ -87,7 +87,7 @@ void scene34_initScene(Scene *sc) { g_vars->scene34_dudeClimbed = false; g_vars->scene34_dudeOnBoard = false; g_vars->scene34_dudeOnCactus = false; - g_vars->scene34_fliesCountdown = g_fp->_rnd->getRandomNumber(500) + 500; + g_vars->scene34_fliesCountdown = g_fp->_rnd.getRandomNumber(500) + 500; g_fp->_floaters->init(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_34")); @@ -164,7 +164,7 @@ void sceneHandler34_genFlies() { g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val6 = 1072; g_fp->_floaters->_array2[g_fp->_floaters->_array2.size() - 1]->val7 = -50; - g_vars->scene34_fliesCountdown = g_fp->_rnd->getRandomNumber(500) + 500; + g_vars->scene34_fliesCountdown = g_fp->_rnd.getRandomNumber(500) + 500; } void sceneHandler34_fromCactus(ExCommand *cmd) { diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp index e8b08b2614..ed2ab46caa 100644 --- a/engines/fullpipe/scenes/scene35.cpp +++ b/engines/fullpipe/scenes/scene35.cpp @@ -123,10 +123,10 @@ void sceneHandler35_genFlies() { StaticANIObject *fly = g_fp->_currentScene->getStaticANIObject1ById(ANI_FLY, -1); int xoff = 0; - if ((!fly || !(fly->_flags & 4)) && !(g_fp->_rnd->getRandomNumber(32767) % 30)) { + if ((!fly || !(fly->_flags & 4)) && !(g_fp->_rnd.getRandomNumber(32767) % 30)) { int x, y; - if (g_fp->_rnd->getRandomNumber(1)) { + if (g_fp->_rnd.getRandomNumber(1)) { x = 600; y = 0; } else { @@ -134,10 +134,10 @@ void sceneHandler35_genFlies() { y = 600; } - int numFlies = g_fp->_rnd->getRandomNumber(3) + 1; + int numFlies = g_fp->_rnd.getRandomNumber(3) + 1; while (numFlies--) { - g_fp->_floaters->genFlies(g_fp->_currentScene, g_fp->_rnd->getRandomNumber(55) + 1057, g_fp->_rnd->getRandomNumber(60) + x + xoff, 4, 1); + g_fp->_floaters->genFlies(g_fp->_currentScene, g_fp->_rnd.getRandomNumber(55) + 1057, g_fp->_rnd.getRandomNumber(60) + x + xoff, 4, 1); xoff += 40; diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp index 2bdae1ce66..3bcbabe452 100644 --- a/engines/fullpipe/scenes/scene38.cpp +++ b/engines/fullpipe/scenes/scene38.cpp @@ -101,7 +101,7 @@ void sceneHandler38_propose() { if (!g_vars->scene38_tally->_movement) { if (g_vars->scene38_tally->_flags & 4) { if (!(g_vars->scene38_tally->_flags & 2) && g_vars->scene38_tallyCounter > 0 - && g_fp->_rnd->getRandomNumber(32767) < 32767) { + && g_fp->_rnd.getRandomNumber(32767) < 32767) { chainQueue(QU_DLD_DENY, 0); g_vars->scene38_tallyCounter = 0; } @@ -112,7 +112,7 @@ void sceneHandler38_propose() { void sceneHandler38_point() { if ((!g_vars->scene38_boss->_movement && ((g_vars->scene38_boss->_flags & 4) || !(g_vars->scene38_boss->_flags & 2))) && g_vars->scene38_bossCounter > 0 - && g_fp->_rnd->getRandomNumber(32767) < 32767) { + && g_fp->_rnd.getRandomNumber(32767) < 32767) { if (g_vars->scene38_boss->_statics->_staticsId == ST_GLV_HAMMER) { chainQueue(QU_GLV_TOSMALL, 0); g_vars->scene38_bossCounter = 0; @@ -130,7 +130,7 @@ void sceneHandler38_hammerKick() { if (g_vars->scene38_shorty->_flags & 4) { if (!(g_vars->scene38_shorty->_flags & 2) && g_vars->scene38_shortyCounter > 1 && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2 - && g_fp->_rnd->getRandomNumber(32767) < 3276) { + && g_fp->_rnd.getRandomNumber(32767) < 3276) { chainQueue(QU_MLS_TURNR, 0); g_vars->scene38_shortyCounter = 0; } @@ -150,7 +150,7 @@ void sceneHandler38_drink() { if (g_vars->scene38_shorty->_flags & 4) { if (!(g_vars->scene38_shorty->_flags & 2) && g_vars->scene38_shortyCounter > 0 && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2 - && g_fp->_rnd->getRandomNumber(32767) < 3276) { + && g_fp->_rnd.getRandomNumber(32767) < 3276) { chainQueue(QU_MLS_TURNR, 0); g_vars->scene38_shortyCounter = 0; } @@ -189,9 +189,9 @@ void sceneHandler38_animateAlcoholics() { } else { int bossAnim = 0; - if (g_fp->_rnd->getRandomNumber(32767) >= 1310 || g_vars->scene38_boss->_statics->_staticsId != ST_GLV_HAMMER) { - if (g_fp->_rnd->getRandomNumber(32767) >= 1310) { - if (g_fp->_rnd->getRandomNumber(32767) < 1310) { + if (g_fp->_rnd.getRandomNumber(32767) >= 1310 || g_vars->scene38_boss->_statics->_staticsId != ST_GLV_HAMMER) { + if (g_fp->_rnd.getRandomNumber(32767) >= 1310) { + if (g_fp->_rnd.getRandomNumber(32767) < 1310) { if (bossSt == ST_GLV_HAMMER) bossAnim = QU_GLV_DRINK; else if (bossSt == ST_GLV_NOHAMMER) @@ -237,10 +237,10 @@ void sceneHandler38_animateAlcoholics() { if (g_vars->scene38_tallyCounter >= 50) { int tallyAnim = 0; - if (g_fp->_rnd->getRandomNumber(32767) >= 1310) { - if (g_fp->_rnd->getRandomNumber(32767) >= 1310) { - if (g_fp->_rnd->getRandomNumber(32767) >= 1310) { - if (g_fp->_rnd->getRandomNumber(32767) < 1310) + if (g_fp->_rnd.getRandomNumber(32767) >= 1310) { + if (g_fp->_rnd.getRandomNumber(32767) >= 1310) { + if (g_fp->_rnd.getRandomNumber(32767) >= 1310) { + if (g_fp->_rnd.getRandomNumber(32767) < 1310) tallyAnim = QU_DLD_ICK; } else { tallyAnim = QU_DLD_GLOT; @@ -285,9 +285,9 @@ void sceneHandler38_animateAlcoholics() { int shortyAnim = 0; - if (g_fp->_rnd->getRandomNumber(32767) >= 1310) { - if (g_fp->_rnd->getRandomNumber(32767) >= 1310 || g_vars->scene38_shorty->_statics->_staticsId != ST_MLS_LEFT2) { - if (g_vars->scene38_boss->_statics->_staticsId != ST_GLV_SLEEP2 && g_vars->scene38_bossCounter > 30 && g_fp->_rnd->getRandomNumber(32767) < 0x3FFF && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2) + if (g_fp->_rnd.getRandomNumber(32767) >= 1310) { + if (g_fp->_rnd.getRandomNumber(32767) >= 1310 || g_vars->scene38_shorty->_statics->_staticsId != ST_MLS_LEFT2) { + if (g_vars->scene38_boss->_statics->_staticsId != ST_GLV_SLEEP2 && g_vars->scene38_bossCounter > 30 && g_fp->_rnd.getRandomNumber(32767) < 0x3FFF && g_vars->scene38_shorty->_statics->_staticsId == ST_MLS_LEFT2) shortyAnim = QU_MLS_HAND; } else { shortyAnim = QU_MLS_BLINK; -- cgit v1.2.3