Пример #1
0
/**
 * Handle changing of the current year.
 * @param p1 Unused.
 * @param p2 +1 (increase) or -1 (decrease).
 * @return New year.
 */
static int32 ClickChangeDateCheat(int32 p1, int32 p2)
{
	YearMonthDay ymd;
	ConvertDateToYMD(_date, &ymd);

	p1 = Clamp(p1, MIN_YEAR, MAX_YEAR);
	if (p1 == _cur_year) return _cur_year;

	SetDate(ConvertYMDToDate(p1, ymd.month, ymd.day), _date_fract);
	EnginesMonthlyLoop();
	SetWindowDirty(WC_STATUS_BAR, 0);
	InvalidateWindowClassesData(WC_BUILD_STATION, 0);
	ResetSignalVariant();
	return _cur_year;
}
Пример #2
0
/**
 * Runs various procedures that have to be done monthly
 */
static void OnNewMonth()
{
	if (_settings_client.gui.autosave != 0 && (_cur_month % _autosave_months[_settings_client.gui.autosave]) == 0) {
		_do_autosave = true;
		SetWindowDirty(WC_STATUS_BAR, 0);
	}

	SetWindowClassesDirty(WC_CHEATS);
	CompaniesMonthlyLoop();
	EnginesMonthlyLoop();
	TownsMonthlyLoop();
	IndustryMonthlyLoop();
	SubsidyMonthlyLoop();
	StationMonthlyLoop();
#ifdef ENABLE_NETWORK
	if (_network_server) NetworkServerMonthlyLoop();
#endif /* ENABLE_NETWORK */
}