/* Call this to reset the game timer */ void gameTimeReset(UDWORD time) { // reset the game timers setGameTime(time); gameTimeResetMod(); realTime = wzGetTicks(); deltaRealTime = 0; }
bool stageThreeInitialise(void) { STRUCTURE *psStr; UDWORD i; DROID *psDroid; debug(LOG_WZ, "== stageThreeInitalise =="); bTrackingTransporter = false; loopMissionState = LMS_NORMAL; if(!InitRadar()) // After resLoad cause it needs the game palette initialised. { return false; } // reset the clock to normal speed gameTimeResetMod(); if (!init3DView()) // Initialise 3d view stuff. After resLoad cause it needs the game palette initialised. { return false; } effectResetUpdates(); initLighting(0, 0, mapWidth, mapHeight); if(bMultiPlayer) { // FIXME Is this really needed? debug( LOG_WZ, "multiGameInit()\n" ); multiGameInit(); cmdDroidMultiExpBoost(true); } preProcessVisibility(); // Load any stored templates; these need to be available ASAP initTemplates(); if (!fpathInitialise()) { return false; } mapInit(); clustInitialise(); gridReset(); //if mission screen is up, close it. if(MissionResUp) { intRemoveMissionResultNoAnim(); } // Re-inititialise some static variables. driveInitVars(false); resizeRadar(); setAllPauseStates(false); /* decide if we have to create teams, ONLY in multiplayer mode!*/ if (bMultiPlayer && game.alliance == ALLIANCES_TEAMS) { createTeamAlliances(); /* Update ally vision for pre-placed structures and droids */ for(i=0;i<MAX_PLAYERS;i++) { if(i != selectedPlayer) { /* Structures */ for(psStr=apsStructLists[i]; psStr; psStr=psStr->psNext) { if(aiCheckAlliances(psStr->player,selectedPlayer)) visTilesUpdate((BASE_OBJECT *)psStr); } /* Droids */ for(psDroid=apsDroidLists[i]; psDroid; psDroid=psDroid->psNext) { if(aiCheckAlliances(psDroid->player,selectedPlayer)) visTilesUpdate((BASE_OBJECT *)psDroid); } } } } // ffs JS (and its a global!) if (getLevelLoadType() != GTYPE_SAVE_MIDMISSION) { eventFireCallbackTrigger((TRIGGER_TYPE)CALL_GAMEINIT); triggerEvent(TRIGGER_GAME_INIT); } return true; }
// set the time modifier void gameTimeSetMod(float mod) { gameTimeResetMod(); modifier = mod; }
bool stageThreeInitialise() { STRUCTURE *psStr; UDWORD i; DROID *psDroid; bool fromSave = (getSaveGameType() == GTYPE_SAVE_START || getSaveGameType() == GTYPE_SAVE_MIDMISSION); debug(LOG_WZ, "== stageThreeInitialise =="); loopMissionState = LMS_NORMAL; if (!InitRadar()) // After resLoad cause it needs the game palette initialised. { return false; } // reset the clock to normal speed gameTimeResetMod(); if (!init3DView()) // Initialise 3d view stuff. After resLoad cause it needs the game palette initialised. { return false; } effectResetUpdates(); initLighting(0, 0, mapWidth, mapHeight); pie_InitLighting(); if (fromSave) { // these two lines are the biggest hack in the world. // the reticule seems to get detached from 'reticuleup' // this forces it back in sync... intRemoveReticule(); intAddReticule(); } if (bMultiPlayer) { if (!fromSave) { multiGameInit(); } initTemplates(); } preProcessVisibility(); prepareScripts(getLevelLoadType() == GTYPE_SAVE_MIDMISSION || getLevelLoadType() == GTYPE_SAVE_START); if (!fpathInitialise()) { return false; } mapInit(); gridReset(); //if mission screen is up, close it. if (MissionResUp) { intRemoveMissionResultNoAnim(); } // Re-inititialise some static variables. resizeRadar(); setAllPauseStates(false); /* decide if we have to create teams, ONLY in multiplayer mode!*/ if (bMultiPlayer && alliancesSharedVision(game.alliance)) { createTeamAlliances(); /* Update ally vision for pre-placed structures and droids */ for (i = 0; i < MAX_PLAYERS; i++) { if (i != selectedPlayer) { /* Structures */ for (psStr = apsStructLists[i]; psStr; psStr = psStr->psNext) { if (aiCheckAlliances(psStr->player, selectedPlayer)) { visTilesUpdate((BASE_OBJECT *)psStr); } } /* Droids */ for (psDroid = apsDroidLists[i]; psDroid; psDroid = psDroid->psNext) { if (aiCheckAlliances(psDroid->player, selectedPlayer)) { visTilesUpdate((BASE_OBJECT *)psDroid); } } } } } countUpdate(); if (getLevelLoadType() != GTYPE_SAVE_MIDMISSION) { if (getDebugMappingStatus()) { triggerEventCheatMode(true); } eventFireCallbackTrigger((TRIGGER_TYPE)CALL_GAMEINIT); triggerEvent(TRIGGER_GAME_INIT); } return true; }