Skip to content

Instantly share code, notes, and snippets.

@TrueBrain
Created February 9, 2025 15:39
Show Gist options
  • Save TrueBrain/e85ab837c9837f4fb35e718853b8938e to your computer and use it in GitHub Desktop.
Save TrueBrain/e85ab837c9837f4fb35e718853b8938e to your computer and use it in GitHub Desktop.
openttd.cpp according to include-what-you-use
../src/openttd.h should add these lines:
#include <bits/chrono.h> // for steady_clock
#include <stddef.h> // for size_t
#include <stdint.h> // for uint8_t
#include <optional> // for optional
#include <span> // for span
#include <string> // for string
../src/openttd.h should remove these lines:
- #include <chrono> // lines 14-14
The full include-list for ../src/openttd.h:
#include <bits/chrono.h> // for steady_clock
#include <stddef.h> // for size_t
#include <stdint.h> // for uint8_t
#include <atomic> // for atomic
#include <optional> // for optional
#include <span> // for span
#include <string> // for string
#include "core/enum_type.hpp" // for to_underlying, DECLARE_ENUM_AS_BIT_SET
---
../src/openttd.cpp should add these lines:
#include <assert.h> // for assert
#include <bits/chrono.h> // for duration, steady_clock, dur...
#include <stdint.h> // for UINT16_MAX, uint32_t, uint16_t
#include <stdio.h> // for stderr
#include <string.h> // for strchr
#include <sys/types.h> // for uint
#include <unistd.h> // for _exit
#include <algorithm> // for max, min
#include <atomic> // for atomic
#include <cstdlib> // for strtoul, abort, atoi
#include <filesystem> // for path
#include <functional> // for function
#include <iterator> // for back_insert_iterator, back_...
#include <memory> // for unique_ptr, shared_ptr, ope...
#include <optional> // for nullopt, nullopt_t, optional
#include <span> // for span
#include <string> // for basic_string, string, char_...
#include <tuple> // for get, tie, tuple
#include <utility> // for move
#include <vector> // for vector
#include "3rdparty/fmt/core.h" // for format_to, print, format
#include "command_type.h" // for operator&, operator|, Commands
#include "company_base.h" // for Company
#include "company_type.h" // for Owner, CompanyID
#include "core.h" // for compile_string_to_view
#include "core/bitmath_func.hpp" // for HasBit, byteswap
#include "core/enum_type.hpp" // for operator++
#include "core/geometry_type.hpp" // for Dimension
#include "core/pool_type.hpp" // for PT_ALL, PoolBase
#include "core/strong_typedef_type.hpp" // for Typedef, operator==
#include "debug.h" // for Debug, SetDebugString, _deb...
#include "driver.h" // for DriverFactoryBase, Driver
#include "engine_base.h" // for EngineOverrideManager
#include "fileio_func.h" // for DeterminePaths, TarScanner
#include "fileio_type.h" // for SaveLoadOperation, Abstract...
#include "gfx_func.h" // for MarkWholeScreenDirty, Updat...
#include "gfx_type.h" // for Colours, CursorVars, DrawPi...
#include "industry_type.h" // for CheckIndustries
#include "landscape.h" // for RunTileLoop
#include "livery.h" // for LiveryScheme, ResetCompanyL...
#include "map_func.h" // for Map
#include "newgrf_config.h" // for ResetGRFConfig, GRFConfig
#include "newgrf_storage.h" // for BasePersistentStorageArray
#include "openttd.h" // for SwitchMode, GameMode, _swit...
#include "palette_func.h" // for GfxInitPalettes
#include "settings_type.h" // for GameSettings, _settings_game
#include "spritecache.h" // for IncreaseSpriteLRU
#include "string_func.h" // for FormatArrayAsHex, StrEmpty
#include "strings_type.h" // for INVALID_STRING_ID
#include "table/strings.h" // for STR_CONFIG_ERROR, STR_CONFI...
#include "timer/timer_manager.h" // for TimerManager
#include "transparency.h" // for _display_opt
#include "window_func.h" // for CloseWindowById, ResetWindo...
#include "window_gui.h" // for WindowDesc
#include "window_type.h" // for WindowClass
#include "zoom_type.h" // for ZoomLevel
struct LoadFilter;
../src/openttd.cpp should remove these lines:
- #include <system_error> // lines 82-82
- #include "aircraft.h" // lines 30-30
- #include "company_cmd.h" // lines 25-25
- #include "misc_cmd.h" // lines 72-72
- #include "roadstop_base.h" // lines 47-47
- #include "roadveh.h" // lines 31-31
- #include "safeguards.h" // lines 84-84
- #include "ship.h" // lines 33-33
- #include "station_base.h" // lines 51-51
- #include "subsidy_func.h" // lines 64-64
- #include "town.h" // lines 63-63
- #include "train.h" // lines 32-32
The full include-list for ../src/openttd.cpp:
#include <assert.h> // for assert
#include <bits/chrono.h> // for duration, steady_clock, dur...
#include <stdint.h> // for UINT16_MAX, uint32_t, uint16_t
#include <stdio.h> // for stderr
#include <string.h> // for strchr
#include <sys/types.h> // for uint
#include <unistd.h> // for _exit
#include <algorithm> // for max, min
#include <atomic> // for atomic
#include <cstdlib> // for strtoul, abort, atoi
#include <filesystem> // for path
#include <functional> // for function
#include <iterator> // for back_insert_iterator, back_...
#include <memory> // for unique_ptr, shared_ptr, ope...
#include <optional> // for nullopt, nullopt_t, optional
#include <span> // for span
#include <string> // for basic_string, string, char_...
#include <tuple> // for get, tie, tuple
#include <utility> // for move
#include <vector> // for vector
#include "3rdparty/fmt/core.h" // for format_to, print, format
#include "ai/ai.hpp" // for AI
#include "ai/ai_config.hpp" // for AIConfig
#include "animated_tile_func.h" // for AnimateAnimatedTiles
#include "base_media_base.h" // for BaseGraphics, BaseSounds
#include "blitter/factory.hpp" // for BlitterFactory, _blitter_au...
#include "command_func.h" // for Command
#include "command_type.h" // for operator&, operator|, Commands
#include "company_base.h" // for Company
#include "company_func.h" // for SetLocalCompany, UpdateLand...
#include "company_type.h" // for Owner, CompanyID
#include "console_func.h" // for IConsoleCmdExec, IConsoleFree
#include "core.h" // for compile_string_to_view
#include "core/backup_type.hpp" // for Backup
#include "core/bitmath_func.hpp" // for HasBit, byteswap
#include "core/enum_type.hpp" // for operator++
#include "core/geometry_type.hpp" // for Dimension
#include "core/pool_type.hpp" // for PT_ALL, PoolBase
#include "core/random_func.hpp" // for InteractiveRandom
#include "core/strong_typedef_type.hpp" // for Typedef, operator==
#include "crashlog.h" // for CrashLog
#include "debug.h" // for Debug, SetDebugString, _deb...
#include "driver.h" // for DriverFactoryBase, Driver
#include "elrail_func.h" // for SettingsDisableElrail
#include "engine_base.h" // for EngineOverrideManager
#include "engine_func.h" // for CheckEngines
#include "error.h" // for ErrorMessageData, ShowError...
#include "error_func.h" // for UserError, FatalErrorI, Use...
#include "fileio_func.h" // for DeterminePaths, TarScanner
#include "fileio_type.h" // for SaveLoadOperation, Abstract...
#include "fios.h" // for LoadCheckData, _load_check_...
#include "fontcache.h" // for InitFontCache, UninitFontCache
#include "framerate_type.h" // for PerformanceMeasurer, Perfor...
#include "game/game.hpp" // for Game
#include "game/game_config.hpp" // for GameConfig
#include "gamelog.h" // for Gamelog, _gamelog
#include "genworld.h" // for GenerateWorld, GenWorldMode
#include "gfx_func.h" // for MarkWholeScreenDirty, Updat...
#include "gfx_layout.h" // for Layouter
#include "gfx_type.h" // for Colours, CursorVars, DrawPi...
#include "gui.h" // for InitializeGUI
#include "highscore.h" // for LoadFromHighScore, SaveToHi...
#include "hotkeys.h" // for LoadHotkeysFromConfig, Save...
#include "industry.h" // for Industry
#include "industry_type.h" // for CheckIndustries
#include "landscape.h" // for RunTileLoop
#include "linkgraph/linkgraphschedule.h" // for StateGameLoop_LinkGraphPaus...
#include "livery.h" // for LiveryScheme, ResetCompanyL...
#include "map_func.h" // for Map
#include "misc/getoptdata.h" // for OptionData, GetOptData, Opt...
#include "mixer.h" // for SetEffectVolume
#include "music/music_driver.hpp" // for MusicDriver, _ini_musicdriver
#include "network/network.h" // for _network_available, _networ...
#include "network/network_func.h" // for NetworkBackgroundLoop, Netw...
#include "network/network_gui.h" // for ShowNetworkAskSurvey
#include "network/network_survey.h" // for NetworkSurveyHandler, _survey
#include "newgrf.h" // for ResetNewGRFData, GRFLoadedF...
#include "newgrf_config.h" // for ResetGRFConfig, GRFConfig
#include "newgrf_storage.h" // for BasePersistentStorageArray
#include "news_func.h" // for NewsLoop
#include "openttd.h" // for SwitchMode, GameMode, _swit...
#include "palette_func.h" // for GfxInitPalettes
#include "progress.h" // for HasModalProgress
#include "rail_gui.h" // for InitializeRailGUI
#include "rev.h" // for _openttd_revision
#include "road_gui.h" // for InitializeRoadGUI
#include "saveload/saveload.h" // for FileToSaveLoad, _file_to_sa...
#include "screenshot.h" // for InitializeScreenshotFormats
#include "settings_func.h" // for LoadFromConfig, IConsoleSet...
#include "settings_type.h" // for GameSettings, _settings_game
#include "social_integration.h" // for SocialIntegration
#include "sound/sound_driver.hpp" // for SoundDriver, _ini_sounddriver
#include "spritecache.h" // for IncreaseSpriteLRU
#include "stdafx.h" // for FS2OTTD, OTTD2FS, NOT_REACHED
#include "string_func.h" // for FormatArrayAsHex, StrEmpty
#include "strings_func.h" // for InitializeLanguagePacks
#include "strings_type.h" // for INVALID_STRING_ID
#include "table/strings.h" // for STR_CONFIG_ERROR, STR_CONFI...
#include "timer/timer.h" // for IntervalTimer
#include "timer/timer_game_calendar.h" // for TimerGameCalendar, Calendar...
#include "timer/timer_game_economy.h" // for TimerGameEconomy
#include "timer/timer_game_realtime.h" // for TimerGameRealtime
#include "timer/timer_game_tick.h" // for TimerGameTick
#include "timer/timer_manager.h" // for TimerManager
#include "transparency.h" // for _display_opt
#include "vehicle_func.h" // for CallVehicleTicks, RunVehicl...
#include "video/video_driver.hpp" // for VideoDriver, _cur_resolution
#include "viewport_func.h" // for FixTitleGameZoom
#include "viewport_sprite_sorter.h" // for InitializeSpriteSorter
#include "window_func.h" // for CloseWindowById, ResetWindo...
#include "window_gui.h" // for WindowDesc
#include "window_type.h" // for WindowClass
#include "zoom_type.h" // for ZoomLevel
struct LoadFilter;
---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment