/** * Handle changing of climate. * @param p1 New climate. * @param p2 Unused. * @return New climate. */ static int32 ClickChangeClimateCheat(int32 p1, int32 p2) { if (p1 == -1) p1 = 3; if (p1 == 4) p1 = 0; _settings_game.game_creation.landscape = p1; GamelogStartAction(GLAT_CHEAT); GamelogTestMode(); ReloadNewGRFData(); GamelogStopAction(); return _settings_game.game_creation.landscape; }
/** Callback function for the newgrf 'apply changes' confirmation window * @param w Window which is calling this callback * @param confirmed boolean value, true when yes was clicked, false otherwise */ static void NewGRFConfirmationCallback(Window *w, bool confirmed) { if (confirmed) { NewGRFWindow *nw = dynamic_cast<NewGRFWindow*>(w); GRFConfig *c; int i = 0; GamelogStartAction(GLAT_GRF); GamelogGRFUpdate(_grfconfig, nw->list); // log GRF changes CopyGRFConfigList(nw->orig_list, nw->list, false); ReloadNewGRFData(); GamelogStopAction(); /* Show new, updated list */ for (c = nw->list; c != NULL && c != nw->sel; c = c->next, i++) {} CopyGRFConfigList(&nw->list, *nw->orig_list, false); for (c = nw->list; c != NULL && i > 0; c = c->next, i--) {} nw->sel = c; w->SetDirty(); } }
void InitializeGame(uint size_x, uint size_y, bool reset_date, bool reset_settings) { /* Make sure there isn't any window that can influence anything * related to the new game we're about to start/load. */ UnInitWindowSystem(); AllocateMap(size_x, size_y); _pause_mode = PM_UNPAUSED; _fast_forward = 0; _tick_counter = 0; _cur_tileloop_tile = 0; _thd.redsq = INVALID_TILE; if (reset_settings) MakeNewgameSettingsLive(); if (reset_date) { SetDate(ConvertYMDToDate(_settings_game.game_creation.starting_year, 0, 1), 0); InitializeOldNames(); } PoolBase::Clean(PT_NORMAL); ResetPersistentNewGRFData(); InitializeSound(); InitializeMusic(); InitializeVehicles(); InitNewsItemStructs(); InitializeLandscape(); InitializeRailGui(); InitializeRoadGui(); InitializeAirportGui(); InitializeDockGui(); InitializeObjectGui(); InitializeAIGui(); InitializeTrees(); InitializeIndustries(); InitializeObjects(); InitializeBuildingCounts(); InitializeNPF(); InitializeCompanies(); AI::Initialize(); Game::Initialize(); InitializeCheats(); InitTextEffects(); #ifdef ENABLE_NETWORK NetworkInitChatMessage(); #endif /* ENABLE_NETWORK */ InitializeAnimatedTiles(); InitializeEconomy(); ResetObjectToPlace(); GamelogReset(); GamelogStartAction(GLAT_START); GamelogRevision(); GamelogMode(); GamelogGRFAddList(_grfconfig); GamelogStopAction(); }