tron@2186: /* $Id$ */ tron@2186: belugas@6179: /** @file functions.h */ belugas@6179: truelight@0: #ifndef FUNCTIONS_H truelight@0: #define FUNCTIONS_H truelight@0: skidd13@7935: #include "core/random_func.hpp" rubidium@8119: #include "command_type.h" rubidium@8138: #include "tile_cmd.h" KUDr@5636: belugas@6179: /* clear_land.cpp */ Darkvater@2436: void DrawHillyLandTile(const TileInfo *ti); Darkvater@2436: void DrawClearLandTile(const TileInfo *ti, byte set); tron@2220: void DrawClearLandFence(const TileInfo *ti); tron@1420: void TileLoopClearHelper(TileIndex tile); truelight@0: belugas@6179: /* players.cpp */ rubidium@6943: bool CheckPlayerHasMoney(CommandCost cost); rubidium@6943: void SubtractMoneyFromPlayer(CommandCost cost); rubidium@6943: void SubtractMoneyFromPlayerFract(PlayerID player, CommandCost cost); Darkvater@4849: bool CheckOwnership(Owner owner); tron@1977: bool CheckTileOwnership(TileIndex tile); truelight@0: belugas@6179: /* texteff.cpp */ rubidium@7694: void AddAnimatedTile(TileIndex tile); tron@1977: void DeleteAnimatedTile(TileIndex tile); rubidium@6247: void AnimateAnimatedTiles(); rubidium@6247: void InitializeAnimatedTiles(); truelight@0: belugas@6179: /* misc_cmd.cpp */ rubidium@6247: void PlaceTreesRandomly(); truelight@0: truelight@0: void InitializeLandscapeVariables(bool only_constants); truelight@0: belugas@6179: /* misc.cpp */ peter1138@4862: bool IsCustomName(StringID id); peter1138@8258: char *CopyFromOldName(StringID id); truelight@0: truelight@0: /* misc functions */ rubidium@7545: /** rubidium@7545: * Mark a tile given by its coordinate dirty for repaint. rubidium@7545: * rubidium@7545: * @ingroup dirty rubidium@7545: */ truelight@0: void MarkTileDirty(int x, int y); rubidium@7545: rubidium@7545: /** rubidium@7545: * Mark a tile given by its index dirty for repaint. rubidium@7545: * rubidium@7545: * @ingroup dirty rubidium@7545: */ truelight@0: void MarkTileDirtyByTile(TileIndex tile); rubidium@7545: rubidium@7545: /** rubidium@7545: * Mark all viewports dirty for repaint. rubidium@7545: * rubidium@7545: * @ingroup dirty rubidium@7545: */ truelight@0: void MarkAllViewportsDirty(int left, int top, int right, int bottom); rubidium@6990: void ShowCostOrIncomeAnimation(int x, int y, int z, Money cost); rubidium@6990: void ShowFeederIncomeAnimation(int x, int y, int z, Money cost); truelight@0: maedhros@6879: void ShowHighscoreTable(int difficulty, int8 rank); maedhros@6879: rubidium@6247: void AskExitGame(); rubidium@6247: void AskExitToGameMenu(); truelight@0: rubidium@6247: void RedrawAutosave(); truelight@0: truelight@0: StringID RemapOldStringID(StringID s); truelight@0: truelight@0: void UpdateViewportSignPos(ViewportSign *sign, int left, int top, StringID str); truelight@0: truelight@0: belugas@6179: /* callback from drivers that is called if the game size changes dynamically */ rubidium@6247: void GameSizeChanged(); Darkvater@3329: const char *GetCurrentLocale(const char *param); truelight@0: truelight@0: int ttd_main(int argc, char* argv[]); rubidium@6247: void HandleExitGameRequest(); truelight@0: truelight@0: #endif /* FUNCTIONS_H */