void Scene50::Tooltip::highlight(bool btnDown) { Scene50 *scene = (Scene50 *)BF_GLOBALS._sceneManager._scene; scene->_field382 = _newSceneNumber; if ((scene->_field380 != 0) || (scene->_field380 != _newSceneNumber)) update(); if (btnDown) { if ((BF_GLOBALS._bikiniHutState == 14) && BF_GLOBALS.getFlag(98)) scene->_sceneNumber = 600; else if (BF_GLOBALS._bikiniHutState == 5) scene->_sceneNumber = 410; else { BF_GLOBALS._v4CEF4 = _newSceneNumber; switch (BF_GLOBALS._v4CEF2) { case 330: case 340: case 342: BF_GLOBALS._player.disableControl(); if (_locationId != BF_GLOBALS._mapLocationId) { scene->_sceneNumber = 330; } else { scene->_sceneNumber = (BF_GLOBALS._v4CEA2 != 1) || (BF_GLOBALS._bikiniHutState < 1) || (BF_GLOBALS._bikiniHutState >= 2) ? 342 : 340; } break; case 410: case 551: if (BF_GLOBALS.getFlag((BF_GLOBALS._v4CEF2 == 410) ? 41 : 40)) { BF_GLOBALS._mapLocationId = _locationId; BF_GLOBALS._player.disableControl(); scene->_sceneNumber = _newSceneNumber; } else { BF_GLOBALS._v4CEA8 = 4; BF_GLOBALS._sceneManager.changeScene(666); return; } break; case 300: if (_locationId == 1) { BF_GLOBALS._v4CEF4 = 300; _newSceneNumber = 300; } // Deliberate fall through to default default: BF_GLOBALS._mapLocationId = _locationId; BF_GLOBALS._player.disableControl(); scene->_sceneNumber = _newSceneNumber; break; } // Signal the scene to change to the new scene scene->_sceneMode = 1; scene->signal(); } } }
void Scene50::Tooltip::highlight(bool btnDown) { Scene50 *scene = (Scene50 *)BF_GLOBALS._sceneManager._scene; scene->_field382 = _newSceneNumber; if ((scene->_field380 != 0) || (scene->_field380 != _newSceneNumber)) update(); if (btnDown) { if ((BF_GLOBALS._bookmark == bCalledToDrunkStop) && BF_GLOBALS.getFlag(beenToJRDay2)) scene->_sceneNumber = 600; else if (BF_GLOBALS._bookmark == bBookedGreen) scene->_sceneNumber = 410; else { BF_GLOBALS._driveToScene = _newSceneNumber; switch (BF_GLOBALS._driveFromScene) { case 330: case 340: case 342: BF_GLOBALS._player.disableControl(); BF_GLOBALS._mapLocationId = _locationId; if (BF_GLOBALS._driveToScene == 330) { scene->_sceneNumber = 330; } else { scene->_sceneNumber = (BF_GLOBALS._dayNumber != 1) || (BF_GLOBALS._bookmark < bStartOfGame) || (BF_GLOBALS._bookmark >= bCalledToDomesticViolence) ? 342 : 340; } break; case 410: case 551: if (BF_GLOBALS.getFlag((BF_GLOBALS._driveFromScene == 410) ? fSearchedTruck : didDrunk)) { BF_GLOBALS._mapLocationId = _locationId; BF_GLOBALS._player.disableControl(); scene->_sceneNumber = _newSceneNumber; } else { BF_GLOBALS._v4CEA8 = 4; BF_GLOBALS._sceneManager.changeScene(666); return; } break; case 300: if (_locationId == 1) { BF_GLOBALS._driveToScene = 300; _newSceneNumber = 300; } // Deliberate fall through to default default: BF_GLOBALS._mapLocationId = _locationId; BF_GLOBALS._player.disableControl(); scene->_sceneNumber = _newSceneNumber; break; } // Signal the scene to change to the new scene scene->_sceneMode = 1; scene->signal(); } } }