From 9b229f1713b69809554cd7245a2c93aca0360dab Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Thu, 24 Jan 2019 19:55:59 +0000 Subject: [PATCH] Apply IWYU changes These are the changes made by running IWYU as described in DEVELOPER_TOOLING.md. --- src/action.cpp | 9 ++++++++ src/active_item_cache.cpp | 1 + src/active_item_cache.h | 3 +-- src/activity_handlers.cpp | 31 ++++++++++++++++++++++++++ src/activity_handlers.h | 4 ++++ src/activity_item_handling.cpp | 15 ++++++++++++- src/activity_type.cpp | 3 +++ src/activity_type.h | 2 ++ src/addiction.cpp | 6 ++++++ src/addiction.h | 4 ++++ src/advanced_inv.cpp | 16 +++++++++++++- src/advanced_inv.h | 2 ++ src/ammo.cpp | 1 + src/ammo.h | 1 + src/anatomy.cpp | 5 +++++ src/anatomy.h | 3 +++ src/animation.cpp | 11 ++++++++++ src/armor_layers.cpp | 2 ++ src/artifact.cpp | 14 +++++++++++- src/artifact.h | 1 + src/auto_pickup.cpp | 9 +++++++- src/ballistics.cpp | 16 +++++++++++++- src/basecamp.cpp | 15 ++++--------- src/bionics.cpp | 21 ++++++++++++++++-- src/bionics.h | 6 ++++++ src/bodypart.cpp | 5 ++++- src/bodypart.h | 4 ++++ src/bonuses.cpp | 4 +++- src/bonuses.h | 1 + src/calendar.cpp | 1 + src/calendar.h | 4 ++-- src/cata_tiles.cpp | 18 ++++++++++++++++ src/cata_tiles.h | 5 +++-- src/cata_utility.cpp | 11 +++++++--- src/cata_utility.h | 6 +++--- src/catacharset.cpp | 2 +- src/catacharset.h | 1 + src/catalua.cpp | 24 ++++++++++++++------- src/catalua.h | 4 +++- src/character.cpp | 12 +++++++++++ src/character.h | 24 ++++++++++++++++----- src/chkjson/chkjson.cpp | 18 +++++++--------- src/clzones.cpp | 10 +++++++++ src/clzones.h | 6 +++++- src/color.cpp | 6 ++++++ src/color.h | 4 +++- src/computer.cpp | 20 +++++++++++++++++ src/computer.h | 1 - src/construction.cpp | 17 ++++++++++++++- src/construction.h | 2 ++ src/consumption.cpp | 6 ++++++ src/craft_command.cpp | 7 +++++- src/craft_command.h | 6 +----- src/crafting.cpp | 22 +++++++++++++++++++ src/crafting.h | 2 -- src/crafting_gui.cpp | 15 ++++++++++++- src/crash.cpp | 6 +++++- src/creature.cpp | 18 +++++++++++++--- src/creature.h | 10 ++++++--- src/creature_tracker.cpp | 4 +++- src/creature_tracker.h | 1 + src/cursesdef.h | 1 + src/cursesport.cpp | 3 ++- src/cursesport.h | 4 ++-- src/damage.cpp | 3 +++ src/damage.h | 5 +++-- src/debug.cpp | 19 +++++++++++----- src/debug.h | 2 ++ src/debug_menu.cpp | 21 ++++++++++++++++++ src/debug_menu.h | 3 +-- src/defense.cpp | 11 ++++++++-- src/dependency_tree.cpp | 4 ++++ src/dependency_tree.h | 2 ++ src/descriptions.cpp | 8 ++++++- src/dialogue.h | 16 +++++++------- src/dialogue_win.cpp | 4 +--- src/dialogue_win.h | 6 +++++- src/drawing_primitives.cpp | 1 + src/dump.cpp | 13 ++++++++++- src/editmap.cpp | 22 +++++++++++++++---- src/editmap.h | 12 +++++++++-- src/effect.cpp | 5 +++++ src/effect.h | 8 ++++--- src/emit.cpp | 3 ++- src/emit.h | 4 +++- src/enums.h | 3 ++- src/event.cpp | 7 ++++++ src/event.h | 1 - src/explosion.cpp | 29 +++++++++++++++++++++---- src/faction.cpp | 4 +++- src/faction.h | 3 ++- src/faction_camp.cpp | 30 ++++++++++++++++++++------ src/faction_camp.h | 11 +--------- src/fault.cpp | 2 ++ src/fault.h | 5 ++++- src/field.cpp | 20 +++++++++++++++++ src/filesystem.cpp | 4 +++- src/flag.cpp | 2 +- src/fungal_effects.cpp | 12 +++++++++++ src/game.cpp | 32 +++++++++++++++++++++++---- src/game.h | 32 ++++++++++++++++----------- src/game_inventory.cpp | 25 +++++++++++++++++++++ src/game_inventory.h | 5 ++++- src/game_ui.cpp | 2 ++ src/gamemode.cpp | 1 - src/gamemode.h | 2 ++ src/gates.cpp | 16 ++++++++++++++ src/grab.cpp | 8 +++++++ src/handle_action.cpp | 17 +++++++++++++++ src/harvest.cpp | 3 +++ src/harvest.h | 2 ++ src/help.cpp | 8 +++++++ src/help.h | 1 + src/iexamine.cpp | 26 ++++++++++++++++++++++ src/iexamine.h | 8 +++---- src/init.cpp | 8 ++++++- src/init.h | 1 + src/input.cpp | 8 +++++++ src/input.h | 2 ++ src/inventory.cpp | 18 ++++++++++++++-- src/inventory.h | 13 +++++++---- src/inventory_ui.cpp | 12 +++++++++-- src/inventory_ui.h | 15 ++++++++----- src/item.cpp | 22 ++++++++++++++++++- src/item.h | 22 +++++++++++++------ src/item_action.cpp | 15 +++++++++++-- src/item_factory.cpp | 21 ++++++++++++++++-- src/item_factory.h | 16 ++++++++++---- src/item_group.cpp | 8 ++++++- src/item_group.h | 3 ++- src/item_location.cpp | 9 +++++++- src/item_location.h | 3 ++- src/item_search.cpp | 6 +++++- src/item_search.h | 2 ++ src/item_stack.cpp | 1 + src/item_stack.h | 3 +-- src/iteminfo_query.h | 1 + src/itype.cpp | 4 +++- src/itype.h | 15 ++++++++++--- src/iuse.cpp | 33 +++++++++++++++++++++++----- src/iuse.h | 5 +---- src/iuse_actor.cpp | 23 +++++++++++++++++++- src/iuse_actor.h | 18 ++++++++++++++++ src/iuse_software.cpp | 1 + src/iuse_software_kitten.cpp | 1 + src/iuse_software_lightson.cpp | 6 +++++- src/iuse_software_lightson.h | 6 +----- src/iuse_software_minesweeper.cpp | 7 ++++++ src/iuse_software_snake.cpp | 4 ++++ src/iuse_software_sokoban.cpp | 8 ++++++- src/iuse_software_sokoban.h | 2 ++ src/json.cpp | 7 ++++-- src/json.h | 4 +--- src/lightmap.cpp | 16 ++++++++++++++ src/lightmap.h | 2 ++ src/line.cpp | 5 +++++ src/line.h | 2 +- src/live_view.cpp | 2 ++ src/loading_ui.cpp | 2 ++ src/loading_ui.h | 1 + src/lua_console.cpp | 4 ++++ src/lua_console.h | 1 + src/main.cpp | 17 ++++++++++----- src/main_menu.cpp | 11 ++++++++++ src/main_menu.h | 3 +-- src/map.cpp | 26 ++++++++++++++++++++++ src/map.h | 26 ++++++++++++---------- src/map_extras.cpp | 20 +++++++++++++++++ src/map_extras.h | 2 ++ src/map_item_stack.cpp | 3 +++ src/map_memory.cpp | 3 +++ src/map_memory.h | 2 ++ src/map_selector.cpp | 3 +++ src/map_selector.h | 2 -- src/mapbuffer.cpp | 16 ++++++++++++++ src/mapbuffer.h | 3 +-- src/mapdata.cpp | 6 +++++- src/mapdata.h | 3 +++ src/mapgen.cpp | 18 +++++++++++++++- src/mapgen.h | 10 +++++++-- src/mapgen_functions.cpp | 14 ++++++++++++ src/mapgenformat.cpp | 2 +- src/mapgenformat.h | 4 ++++ src/mapsharing.cpp | 5 +++-- src/mapsharing.h | 1 - src/martialarts.cpp | 13 +++++++++++ src/martialarts.h | 7 ++++++ src/material.cpp | 4 ++++ src/material.h | 4 ++++ src/mattack_actors.cpp | 14 +++++++++++- src/mattack_actors.h | 6 ++++++ src/mattack_common.h | 1 - src/melee.cpp | 27 ++++++++++++++++++++++- src/messages.cpp | 6 ++++++ src/messages.h | 1 + src/mission.cpp | 9 +++++++- src/mission.h | 3 +-- src/mission_companion.cpp | 36 +++++++++++++++++++++++++------ src/mission_companion.h | 14 ++++-------- src/mission_end.cpp | 5 +++++ src/mission_fail.cpp | 2 ++ src/mission_start.cpp | 13 ++++++++++- src/mission_ui.cpp | 7 +++++- src/missiondef.cpp | 3 +++ src/mod_manager.cpp | 7 ++++-- src/mod_manager.h | 7 +++--- src/mod_manager_ui.cpp | 2 ++ src/mod_tileset.cpp | 2 +- src/monattack.cpp | 27 ++++++++++++++++++++++- src/mondeath.cpp | 17 +++++++++++++++ src/mondefense.cpp | 8 ++++++- src/monexamine.cpp | 3 +++ src/monfaction.cpp | 5 +++++ src/mongroup.cpp | 3 +++ src/mongroup.h | 4 ++++ src/monmove.cpp | 9 +++++++- src/monster.cpp | 13 ++++++++++- src/monster.h | 23 ++++++++++++++++---- src/monstergenerator.cpp | 12 +++++++---- src/monstergenerator.h | 12 +++++------ src/morale.cpp | 7 +++++- src/morale.h | 6 ++++++ src/morale_types.cpp | 5 +++++ src/morale_types.h | 4 +++- src/mtype.h | 10 +++++++-- src/mutation.cpp | 9 ++++++++ src/mutation.h | 10 +++++---- src/mutation_data.cpp | 3 ++- src/mutation_ui.cpp | 2 -- src/name.cpp | 3 +++ src/newcharacter.cpp | 19 +++++++--------- src/npc.cpp | 28 ++++++++++++++++++++++-- src/npc.h | 28 ++++++++++++++++++------ src/npc_class.cpp | 7 ++++++ src/npc_class.h | 7 +++++- src/npc_favor.h | 3 +++ src/npctalk.cpp | 34 ++++++++++++++++++++++------- src/npctalk.h | 4 ++-- src/npctalk_funcs.cpp | 23 +++++++++++++++++--- src/npctrade.cpp | 14 +++++++----- src/npctrade.h | 14 ++++++++---- src/omdata.h | 7 +++++- src/options.cpp | 5 +++++ src/output.cpp | 7 ++++++ src/output.h | 10 ++++++++- src/overlay_ordering.cpp | 3 +++ src/overlay_ordering.h | 3 +-- src/overmap.cpp | 7 ++++++ src/overmap.h | 18 +++++++--------- src/overmap_connection.cpp | 4 ++++ src/overmap_connection.h | 4 +++- src/overmap_location.cpp | 3 +++ src/overmap_location.h | 2 +- src/overmap_ui.cpp | 26 ++++++++++++++++++++++ src/overmapbuffer.cpp | 11 ++++++++++ src/overmapbuffer.h | 7 ++++-- src/path_info.cpp | 2 +- src/pathfinding.cpp | 6 ++++++ src/pathfinding.h | 2 -- src/pickup.cpp | 22 +++++++++++++++++++ src/pickup.h | 5 +---- src/player.cpp | 19 ++++++++++++++++ src/player.h | 34 ++++++++++++++++++++++++++--- src/player_activity.cpp | 4 +++- src/player_activity.h | 3 ++- src/player_display.cpp | 5 +++++ src/player_hardcoded_effects.cpp | 7 +++++- src/pldata.h | 7 +++++- src/popup.cpp | 6 ++++++ src/popup.h | 3 +++ src/profession.cpp | 7 ++++++ src/profession.h | 11 +++++++--- src/projectile.cpp | 3 +++ src/projectile.h | 5 +---- src/ranged.cpp | 24 +++++++++++++++++++++ src/recipe.cpp | 9 +++++++- src/recipe.h | 7 +++++- src/recipe_dictionary.cpp | 12 +++++++++-- src/recipe_dictionary.h | 3 ++- src/recipe_groups.cpp | 7 ++++-- src/recipe_groups.h | 3 +-- src/regional_settings.cpp | 1 + src/regional_settings.h | 4 +++- src/requirements.cpp | 14 ++++++++++-- src/requirements.h | 5 ++++- src/rng.cpp | 5 ++--- src/rng.h | 11 ++++------ src/rotatable_symbols.cpp | 2 ++ src/safemode_ui.cpp | 8 ++++++- src/safemode_ui.h | 1 + src/savegame.cpp | 15 +++++++------ src/savegame_json.cpp | 34 +++++++++++++++++++++++++++-- src/savegame_legacy.cpp | 17 +++++++++++++++ src/scenario.cpp | 4 ++-- src/scenario.h | 8 +++---- src/scent_map.cpp | 4 +++- src/scent_map.h | 2 ++ src/sdl_wrappers.cpp | 3 +++ src/sdlsound.cpp | 7 ++++++ src/sdlsound.h | 2 +- src/sdltiles.cpp | 14 ++++++++---- src/shadowcasting.h | 6 +++++- src/sidebar.cpp | 12 +++++++++++ src/skill.cpp | 4 ++++ src/skill.h | 2 ++ src/sounds.cpp | 16 ++++++++++++++ src/sounds.h | 4 ++-- src/speech.cpp | 1 + src/start_location.cpp | 13 ++++++++++- src/start_location.h | 5 +++-- src/string_formatter.cpp | 2 ++ src/string_formatter.h | 1 + src/string_input_popup.cpp | 5 +++++ src/string_input_popup.h | 2 +- src/submap.cpp | 1 + src/submap.h | 6 +++++- src/text_snippets.cpp | 3 +++ src/tileray.cpp | 2 +- src/trait_group.cpp | 5 +++++ src/trait_group.h | 2 ++ src/translations.cpp | 11 +++++++--- src/trap.cpp | 10 +++++++++ src/trap.h | 3 +++ src/trapfunc.cpp | 15 +++++++++++++ src/turret.cpp | 4 ++++ src/tutorial.cpp | 17 +++++++++++++++ src/ui.cpp | 4 ++++ src/ui.h | 5 ++--- src/veh_interact.cpp | 16 ++++++++++++-- src/veh_interact.h | 9 +++++++- src/veh_type.cpp | 10 ++++++++- src/veh_type.h | 10 ++++++--- src/veh_utils.cpp | 14 +++++++++++- src/vehicle.cpp | 12 +++++++++-- src/vehicle.h | 22 +++++++++++++++++-- src/vehicle_display.cpp | 6 ++++-- src/vehicle_group.cpp | 4 ++++ src/vehicle_group.h | 7 ++++++ src/vehicle_move.cpp | 12 ++++++++--- src/vehicle_part.cpp | 3 ++- src/vehicle_selector.cpp | 3 +++ src/vehicle_selector.h | 1 + src/vehicle_use.cpp | 17 ++++++++++----- src/visitable.cpp | 12 ++++++++++- src/visitable.h | 5 +++-- src/vitamin.cpp | 1 + src/vitamin.h | 3 +++ src/vpart_position.h | 3 +++ src/vpart_range.h | 9 ++++---- src/vpart_reference.h | 2 ++ src/weather.cpp | 15 +++++++++++++ src/weather.h | 4 ++-- src/weather_data.cpp | 2 ++ src/weather_gen.cpp | 2 -- src/weather_gen.h | 6 ++++-- src/wish.cpp | 15 +++++++++++++ src/worldfactory.cpp | 11 ++++++++-- src/worldfactory.h | 4 ++++ tests/bionics_test.cpp | 11 ++++++++++ tests/catacharset_test.cpp | 1 + tests/crafting_test.cpp | 15 ++++++++++++- tests/creature_test.cpp | 5 +++++ tests/encumbrance_test.cpp | 12 +++++++++++ tests/explosion_balance.cpp | 6 +++++- tests/fake_messages.cpp | 12 +++++++++++ tests/fold_string_test.cpp | 2 ++ tests/ground_destroy_test.cpp | 3 +++ tests/hash_test.cpp | 4 +++- tests/health_test.cpp | 7 ++++-- tests/invlet_test.cpp | 14 ++++++++++++ tests/item_test.cpp | 6 ++++++ tests/iteminfo_test.cpp | 4 ++++ tests/iuse_test.cpp | 10 ++++++++- tests/line_test.cpp | 7 ++++++ tests/map_helpers.cpp | 9 ++++++++ tests/map_iterator_test.cpp | 1 + tests/map_memory.cpp | 5 +++++ tests/map_test.cpp | 4 ++++ tests/math_functions.cpp | 1 + tests/melee_test.cpp | 6 +++++- tests/mod_test.cpp | 2 ++ tests/mondefense_test.cpp | 2 ++ tests/monster_test.cpp | 12 +++++++++-- tests/morale_test.cpp | 6 +----- tests/mutation_test.cpp | 6 +++++- tests/new_character_test.cpp | 9 +++++++- tests/npc_talk_test.cpp | 9 ++++++++ tests/npc_test.cpp | 14 ++++++++++++ tests/optional_test.cpp | 3 +++ tests/overmap_test.cpp | 9 ++++++++ tests/player_helpers.cpp | 5 ++++- tests/player_test.cpp | 6 ++++++ tests/ranged_balance.cpp | 16 ++++++++++++-- tests/reload_magazine.cpp | 13 ++++++++++- tests/reload_option.cpp | 3 +++ tests/reloading_test.cpp | 8 +++++++ tests/rewrite_vsnprintf_test.cpp | 2 ++ tests/savegame_test.cpp | 11 +++++++++- tests/shadowcasting_test.cpp | 8 +++++++ tests/string_formatter_test.cpp | 3 ++- tests/test_main.cpp | 17 +++++++++++++-- tests/test_statistics.h | 3 +++ tests/throwing_test.cpp | 12 +++++++++-- tests/time_duration_test.cpp | 1 + tests/vehicle_drag.cpp | 16 ++++++++++---- tests/vehicle_efficiency.cpp | 21 +++++++++++++++++- tests/vehicle_interact_test.cpp | 9 ++++++++ tests/vehicle_power_test.cpp | 6 ++++++ tests/vehicle_split_test.cpp | 6 +++++- tests/vehicle_test.cpp | 5 ++++- tests/vehicle_turrets.cpp | 13 +++++++++++ tests/vision_test.cpp | 14 +++++++++++- tests/visitable_remove.cpp | 12 +++++++++++ tests/wield_times_test.cpp | 5 +++++ 414 files changed, 2959 insertions(+), 534 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index 4db3b614a404e..e7d527e53b8a0 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -1,8 +1,11 @@ #include "action.h" +#include #include #include #include +#include +#include #include "cata_utility.h" #include "debug.h" @@ -22,6 +25,12 @@ #include "ui.h" #include "vehicle.h" #include "vpart_position.h" +#include "cursesdef.h" +#include "enums.h" +#include "item.h" +#include "ret_val.h" + +class inventory; void parse_keymap( std::istream &keymap_txt, std::map &kmap, std::set &unbound_keymap ); diff --git a/src/active_item_cache.cpp b/src/active_item_cache.cpp index dd45f3d272280..754571f1b5c29 100644 --- a/src/active_item_cache.cpp +++ b/src/active_item_cache.cpp @@ -1,6 +1,7 @@ #include "active_item_cache.h" #include +#include #include "debug.h" #include "item.h" diff --git a/src/active_item_cache.h b/src/active_item_cache.h index bb0062277f2d2..2e4a80e30d8b9 100644 --- a/src/active_item_cache.h +++ b/src/active_item_cache.h @@ -6,8 +6,7 @@ #include #include "enums.h" - -class item; +#include "item.h" // A struct used to uniquely identify an item within a submap or vehicle. struct item_reference { diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 195de47f549d4..a84f6699b2b0b 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -1,7 +1,16 @@ #include "activity_handlers.h" +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include #include "action.h" #include "advanced_inv.h" @@ -39,6 +48,28 @@ #include "vehicle.h" #include "vpart_position.h" #include "map_selector.h" +#include "bodypart.h" +#include "calendar.h" +#include "cata_utility.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "int_id.h" +#include "item.h" +#include "item_location.h" +#include "item_stack.h" +#include "iuse.h" +#include "line.h" +#include "monster.h" +#include "optional.h" +#include "pimpl.h" +#include "pldata.h" +#include "ret_val.h" +#include "string_id.h" +#include "units.h" + +class recipe; #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/activity_handlers.h b/src/activity_handlers.h index bcce59db9ca1a..5b3c9372245ab 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -6,10 +6,14 @@ #include #include #include +#include #include "player_activity.h" class player; +class Character; +class item; +struct tripoint; std::vector get_sorted_tiles_by_distance( const tripoint &abspos, const std::unordered_set &tiles ); diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 0036827d71911..440609945df14 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -1,11 +1,17 @@ #include "activity_handlers.h" // IWYU pragma: associated +#include +#include #include #include #include #include +#include +#include +#include +#include +#include -#include "action.h" #include "clzones.h" #include "creature.h" #include "debug.h" @@ -33,6 +39,13 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "calendar.h" +#include "character.h" +#include "game_constants.h" +#include "inventory.h" +#include "item_stack.h" +#include "line.h" +#include "units.h" void cancel_aim_processing(); diff --git a/src/activity_type.cpp b/src/activity_type.cpp index c4130f18aac82..a4650e3749726 100644 --- a/src/activity_type.cpp +++ b/src/activity_type.cpp @@ -2,6 +2,8 @@ #include #include +#include +#include #include "activity_handlers.h" #include "assign.h" @@ -10,6 +12,7 @@ #include "json.h" #include "player.h" #include "translations.h" +#include "player_activity.h" // activity_type functions static std::map< activity_id, activity_type > activity_type_all; diff --git a/src/activity_type.h b/src/activity_type.h index b98ed4b4169e8..2908ef849dbf4 100644 --- a/src/activity_type.h +++ b/src/activity_type.h @@ -2,6 +2,8 @@ #ifndef ACTIVITY_TYPE_H #define ACTIVITY_TYPE_H +#include + #include "string_id.h" class activity_type; diff --git a/src/addiction.cpp b/src/addiction.cpp index cf32d30c4b71c..4a93dc8cd4c6b 100644 --- a/src/addiction.cpp +++ b/src/addiction.cpp @@ -1,11 +1,17 @@ #include "addiction.h" +#include +#include +#include + #include "morale_types.h" #include "output.h" #include "player.h" #include "pldata.h" #include "rng.h" #include "translations.h" +#include "calendar.h" +#include "creature.h" const efftype_id effect_hallu( "hallu" ); const efftype_id effect_shakes( "shakes" ); diff --git a/src/addiction.h b/src/addiction.h index 6669f0f5a460e..3657882cf4f67 100644 --- a/src/addiction.h +++ b/src/addiction.h @@ -2,12 +2,16 @@ #ifndef ADDICTION_H #define ADDICTION_H +#include + #include "string_id.h" class addiction; class player; + enum add_type : int; class morale_type_data; + using morale_type = string_id; constexpr int MIN_ADDICTION_LEVEL = 3; // Minimum intensity before effects are seen diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index 16665021e71ce..d663ab2638f52 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -26,6 +26,16 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "calendar.h" +#include "color.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "line.h" +#include "optional.h" +#include "pldata.h" +#include "string_id.h" #ifdef __ANDROID__ #include @@ -36,9 +46,13 @@ #include #include #include -#include #include #include +#include +#include +#include +#include +#include enum aim_exit { exit_none = 0, diff --git a/src/advanced_inv.h b/src/advanced_inv.h index 9495a050eb644..2f21efefa804f 100644 --- a/src/advanced_inv.h +++ b/src/advanced_inv.h @@ -2,6 +2,8 @@ #ifndef ADVANCED_INV_H #define ADVANCED_INV_H +#include +#include #include #include #include diff --git a/src/ammo.cpp b/src/ammo.cpp index f203392637a28..61f80494486e7 100644 --- a/src/ammo.cpp +++ b/src/ammo.cpp @@ -6,6 +6,7 @@ #include "item.h" #include "json.h" #include "translations.h" +#include "string_id.h" namespace { diff --git a/src/ammo.h b/src/ammo.h index 9aaaee235aea2..9c56b7404a042 100644 --- a/src/ammo.h +++ b/src/ammo.h @@ -3,6 +3,7 @@ #define AMMO_H #include +#include class JsonObject; diff --git a/src/anatomy.cpp b/src/anatomy.cpp index 678b79ab77258..8c483626f7ee8 100644 --- a/src/anatomy.cpp +++ b/src/anatomy.cpp @@ -1,8 +1,10 @@ #include "anatomy.h" +#include #include #include #include +#include #include "cata_utility.h" #include "generic_factory.h" @@ -10,6 +12,9 @@ #include "output.h" #include "rng.h" #include "weighted_list.h" +#include "debug.h" +#include "int_id.h" +#include "json.h" anatomy_id human_anatomy( "human_anatomy" ); diff --git a/src/anatomy.h b/src/anatomy.h index 1ee445855633f..87f40b3b832fe 100644 --- a/src/anatomy.h +++ b/src/anatomy.h @@ -3,11 +3,14 @@ #define ANATOMY_H #include +#include #include "bodypart.h" #include "string_id.h" class anatomy; +class JsonObject; + using anatomy_id = string_id; /** diff --git a/src/animation.cpp b/src/animation.cpp index c64331c983e26..816221808bee2 100644 --- a/src/animation.cpp +++ b/src/animation.cpp @@ -9,6 +9,12 @@ #include "player.h" #include "popup.h" #include "weather.h" +#include "creature.h" +#include "cursesdef.h" +#include "enums.h" +#include "game_constants.h" +#include "posix_time.h" +#include "translations.h" #ifdef TILES #include @@ -19,6 +25,11 @@ extern std::unique_ptr tilecontext; // obtained from sdltiles.cpp #endif #include +#include +#include +#include +#include +#include bool is_valid_in_w_terrain( int x, int y ); // see game.cpp diff --git a/src/armor_layers.cpp b/src/armor_layers.cpp index a1f1123a61d05..c8930231bddf7 100644 --- a/src/armor_layers.cpp +++ b/src/armor_layers.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "cata_utility.h" #include "catacharset.h" // used for utf8_width() @@ -14,6 +15,7 @@ #include "output.h" #include "string_formatter.h" #include "translations.h" +#include "debug.h" namespace { diff --git a/src/artifact.cpp b/src/artifact.cpp index ba91dd41775e7..15e9645cada99 100644 --- a/src/artifact.cpp +++ b/src/artifact.cpp @@ -1,8 +1,14 @@ #include "artifact.h" +#include #include -#include #include +#include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "item_factory.h" @@ -10,6 +16,12 @@ #include "rng.h" #include "string_formatter.h" #include "translations.h" +#include "bodypart.h" +#include "color.h" +#include "damage.h" +#include "iuse.h" +#include "optional.h" +#include "units.h" template inline units::quantity rng( const units::quantity &min, diff --git a/src/artifact.h b/src/artifact.h index 33959a294ad1b..f6093c339b6e1 100644 --- a/src/artifact.h +++ b/src/artifact.h @@ -9,6 +9,7 @@ class JsonObject; class JsonOut; +class item; enum art_effect_active : int { AEA_NULL = 0, diff --git a/src/auto_pickup.cpp b/src/auto_pickup.cpp index e3aad65720e17..a3b9223d62862 100644 --- a/src/auto_pickup.cpp +++ b/src/auto_pickup.cpp @@ -1,7 +1,12 @@ #include "auto_pickup.h" +#include #include #include +#include +#include +#include +#include #include "cata_utility.h" #include "debug.h" @@ -17,9 +22,11 @@ #include "path_info.h" #include "player.h" #include "string_formatter.h" -#include "string_id.h" #include "string_input_popup.h" #include "translations.h" +#include "color.h" +#include "cursesdef.h" +#include "item.h" auto_pickup &get_auto_pickup() { diff --git a/src/ballistics.cpp b/src/ballistics.cpp index 7d0ef73a2b514..bff729a8932e7 100644 --- a/src/ballistics.cpp +++ b/src/ballistics.cpp @@ -1,6 +1,13 @@ #include "ballistics.h" +#include +#include #include +#include +#include +#include +#include +#include #include "creature.h" #include "dispersion.h" @@ -17,8 +24,15 @@ #include "rng.h" #include "sounds.h" #include "trap.h" -#include "vehicle.h" #include "vpart_position.h" +#include "calendar.h" +#include "damage.h" +#include "debug.h" +#include "enums.h" +#include "item.h" +#include "optional.h" +#include "translations.h" +#include "units.h" const efftype_id effect_bounced( "bounced" ); diff --git a/src/basecamp.cpp b/src/basecamp.cpp index cbddf7347261e..b4ae173c88f93 100644 --- a/src/basecamp.cpp +++ b/src/basecamp.cpp @@ -1,30 +1,23 @@ #include "basecamp.h" #include -#include #include #include #include #include +#include -#include "output.h" #include "string_formatter.h" #include "translations.h" #include "enums.h" #include "item_group.h" -#include "map.h" -#include "map_iterator.h" -#include "mapbuffer.h" -#include "mapdata.h" -#include "overmap.h" -#include "overmap_ui.h" #include "overmapbuffer.h" #include "npc.h" -#include "recipe.h" #include "recipe_groups.h" -#include "requirements.h" -#include "skill.h" #include "faction_camp.h" +#include "compatibility.h" +#include "omdata.h" +#include "string_id.h" static const std::string base_dir = "[B]"; static const std::string prefix = "faction_base_"; diff --git a/src/bionics.cpp b/src/bionics.cpp index d7d7eb542f68b..5d38f86e74f33 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -1,13 +1,19 @@ #include "bionics.h" +#include +#include +#include #include //std::min #include +#include +#include +#include +#include #include "action.h" #include "ballistics.h" #include "cata_utility.h" #include "debug.h" -#include "dispersion.h" #include "effect.h" #include "field.h" #include "game.h" @@ -21,7 +27,6 @@ #include "mutation.h" #include "options.h" #include "output.h" -#include "overmap.h" #include "overmapbuffer.h" #include "player.h" #include "projectile.h" @@ -34,6 +39,18 @@ #include "vpart_position.h" #include "weather.h" #include "weather_gen.h" +#include "calendar.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "damage.h" +#include "enums.h" +#include "line.h" +#include "optional.h" +#include "pimpl.h" +#include "pldata.h" +#include "units.h" const skill_id skilll_electronics( "electronics" ); const skill_id skilll_firstaid( "firstaid" ); diff --git a/src/bionics.h b/src/bionics.h index 38e35edabf83a..60c1d6647f4c8 100644 --- a/src/bionics.h +++ b/src/bionics.h @@ -2,9 +2,12 @@ #ifndef BIONICS_H #define BIONICS_H +#include #include #include #include +#include +#include #include "bodypart.h" #include "string_id.h" @@ -14,10 +17,13 @@ class JsonObject; class JsonIn; class JsonOut; struct quality; + using quality_id = string_id; struct mutation_branch; + using trait_id = string_id; struct bionic_data; + using bionic_id = string_id; struct bionic_data { diff --git a/src/bodypart.cpp b/src/bodypart.cpp index dd85188d65e77..d15e2848f6d89 100644 --- a/src/bodypart.cpp +++ b/src/bodypart.cpp @@ -2,12 +2,15 @@ #include #include +#include +#include +#include #include "anatomy.h" #include "debug.h" #include "generic_factory.h" -#include "rng.h" #include "translations.h" +#include "json.h" side opposite_side( side s ) { diff --git a/src/bodypart.h b/src/bodypart.h index 68bb534182d42..36f867e04a038 100644 --- a/src/bodypart.h +++ b/src/bodypart.h @@ -2,8 +2,11 @@ #ifndef BODYPART_H #define BODYPART_H +#include #include #include +#include +#include #include "int_id.h" #include "string_id.h" @@ -45,6 +48,7 @@ constexpr std::array all_body_parts = {{ }; struct body_part_struct; + using bodypart_ids = string_id; using bodypart_id = int_id; diff --git a/src/bonuses.cpp b/src/bonuses.cpp index d62dddde2af5d..3108fcb2a33e7 100644 --- a/src/bonuses.cpp +++ b/src/bonuses.cpp @@ -3,12 +3,14 @@ #include #include #include +#include +#include #include "character.h" #include "damage.h" #include "json.h" -#include "output.h" #include "translations.h" +#include "string_formatter.h" bool needs_damage_type( affected_stat as ) { diff --git a/src/bonuses.h b/src/bonuses.h index 720ff77fe5222..1a1ca3c709d3c 100644 --- a/src/bonuses.h +++ b/src/bonuses.h @@ -4,6 +4,7 @@ #include #include +#include enum damage_type : int; diff --git a/src/calendar.cpp b/src/calendar.cpp index 4d86fcbafcd0d..ced283db0ec0b 100644 --- a/src/calendar.cpp +++ b/src/calendar.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "options.h" #include "rng.h" diff --git a/src/calendar.h b/src/calendar.h index db08f60a8bf66..8a6fabc26d907 100644 --- a/src/calendar.h +++ b/src/calendar.h @@ -3,8 +3,8 @@ #define CALENDAR_H #include - -#include "optional.h" +#include +#include class time_duration; class time_point; diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index bc37a8c2d04d6..34170816a251f 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -1,11 +1,17 @@ #if (defined TILES) #include "cata_tiles.h" +#include #include #include #include #include #include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "catacharset.h" @@ -41,6 +47,18 @@ #include "vpart_reference.h" #include "weather.h" #include "weighted_list.h" +#include "calendar.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "int_id.h" +#include "map_memory.h" +#include "math_defines.h" +#include "optional.h" +#include "string_id.h" +#include "tileray.h" +#include "translations.h" #define dbg(x) DebugLog((DebugLevel)(x),D_SDL) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/cata_tiles.h b/src/cata_tiles.h index 6844f0365862a..fc08d4ffd79c8 100644 --- a/src/cata_tiles.h +++ b/src/cata_tiles.h @@ -2,12 +2,15 @@ #ifndef CATA_TILES_H #define CATA_TILES_H +#include #include #include #include #include #include #include +#include +#include #include "sdl_wrappers.h" #include "animation.h" @@ -19,11 +22,9 @@ #include "enums.h" #include "weighted_list.h" -class cata_tiles; class Creature; class player; class JsonObject; -struct visibility_variables; extern void set_displaybuffer_rendertarget(); diff --git a/src/cata_utility.cpp b/src/cata_utility.cpp index dc2ae5b722d87..1372c8f15c617 100644 --- a/src/cata_utility.cpp +++ b/src/cata_utility.cpp @@ -1,21 +1,26 @@ #include "cata_utility.h" +#include +#include #include #include -#include #include +#include +#include +#include +#include +#include #include "debug.h" -#include "enums.h" #include "filesystem.h" #include "json.h" #include "mapsharing.h" -#include "material.h" #include "options.h" #include "output.h" #include "rng.h" #include "translations.h" #include "units.h" +#include "catacharset.h" static double pow10( unsigned int n ) { diff --git a/src/cata_utility.h b/src/cata_utility.h index 171c5b276d95f..165a4f674fa9a 100644 --- a/src/cata_utility.h +++ b/src/cata_utility.h @@ -7,12 +7,11 @@ #include #include #include +#include +#include #include "units.h" -class item; -class Creature; -struct tripoint; class JsonIn; class JsonOut; @@ -380,6 +379,7 @@ class ofstream_wrapper bool write_to_file( const std::string &path, const std::function &writer, const char *fail_message ); class JsonDeserializer; + /** * Try to open and read from given file using the given callback. * diff --git a/src/catacharset.cpp b/src/catacharset.cpp index b540b9f2135a7..00e83aee3037e 100644 --- a/src/catacharset.cpp +++ b/src/catacharset.cpp @@ -3,8 +3,8 @@ #include #include #include +#include -#include "cursesdef.h" #include "options.h" #include "wcwidth.h" diff --git a/src/catacharset.h b/src/catacharset.h index b7d54e81d7512..d6c9c20095eb0 100644 --- a/src/catacharset.h +++ b/src/catacharset.h @@ -2,6 +2,7 @@ #ifndef CATACHARSET_H #define CATACHARSET_H +#include #include #include diff --git a/src/catalua.cpp b/src/catalua.cpp index a4af4b89bdd0a..4fa303d9107d3 100644 --- a/src/catalua.cpp +++ b/src/catalua.cpp @@ -1,6 +1,11 @@ #include "catalua.h" +#include #include +#include +#include +#include +#include #include "action.h" #include "debug.h" @@ -8,20 +13,26 @@ #include "item.h" #include "item_factory.h" #include "map.h" -#include "mapgen.h" -#include "mapgen_functions.h" #include "messages.h" #include "monstergenerator.h" #include "omdata.h" #include "output.h" #include "overmap.h" #include "path_info.h" -#include "player.h" -#include "pldata.h" #include "requirements.h" #include "string_formatter.h" #include "translations.h" -#include "weather_gen.h" +#include "calendar.h" +#include "iuse.h" +#include "mattack_common.h" +#include "monster.h" +#include "ret_val.h" +#include "string_id.h" +#include "units.h" + +class Creature; +class JsonObject; +class player; #ifdef LUA @@ -33,16 +44,13 @@ #include "field.h" // IWYU pragma: keep #include "filesystem.h" #include "gun_mode.h" -#include "itype.h" #include "line.h" // IWYU pragma: keep #include "mapdata.h" -#include "mongroup.h" #include "morale_types.h" // IWYU pragma: keep #include "mtype.h" #include "mutation.h" // IWYU pragma: keep #include "npc.h" // IWYU pragma: keep #include "optional.h" -#include "overmap.h" #include "overmap_ui.h" // IWYU pragma: keep #include "requirements.h" // IWYU pragma: keep #include "rng.h" // IWYU pragma: keep diff --git a/src/catalua.h b/src/catalua.h index 1a55063e2bfcb..deddd20d9bc46 100644 --- a/src/catalua.h +++ b/src/catalua.h @@ -6,10 +6,12 @@ #include #include -#include "creature.h" #include "enums.h" #include "int_id.h" #include "item.h" +#include "bodypart.h" + +class Creature; enum CallbackArgumentType : int { Integer, diff --git a/src/character.cpp b/src/character.cpp index 500ce45982804..b64cfb1b89214 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -1,8 +1,13 @@ #include "character.h" +#include +#include +#include #include #include #include +#include +#include #include "activity_handlers.h" #include "bionics.h" @@ -30,6 +35,13 @@ #include "veh_interact.h" #include "vehicle.h" #include "vehicle_selector.h" +#include "catacharset.h" +#include "game_constants.h" +#include "item_location.h" +#include "lightmap.h" +#include "mapdata.h" +#include "rng.h" +#include "ui.h" const efftype_id effect_bandaged( "bandaged" ); const efftype_id effect_beartrap( "beartrap" ); diff --git a/src/character.h b/src/character.h index c25fcea9234bd..1a780b1ab3424 100644 --- a/src/character.h +++ b/src/character.h @@ -2,11 +2,18 @@ #ifndef CHARACTER_H #define CHARACTER_H +#include #include #include #include #include #include +#include +#include +#include +#include +#include +#include #include "bodypart.h" #include "calendar.h" @@ -14,27 +21,34 @@ #include "inventory.h" #include "pimpl.h" #include "pldata.h" -#include "rng.h" #include "visitable.h" +#include "color.h" +#include "damage.h" +#include "enums.h" +#include "item.h" +#include "optional.h" +#include "string_formatter.h" +#include "string_id.h" +#include "units.h" class Skill; struct pathfinding_settings; +class item_location; + using skill_id = string_id; class SkillLevel; class SkillLevelMap; + enum field_id : int; class JsonObject; class JsonIn; class JsonOut; -class field; -class field_entry; class vehicle; -struct resistances; struct mutation_branch; class bionic_collection; struct bionic_data; + using bionic_id = string_id; -class recipe; enum vision_modes { DEBUG_NIGHTVISION, diff --git a/src/chkjson/chkjson.cpp b/src/chkjson/chkjson.cpp index 13d1f963a9fc6..875b2e9a77987 100644 --- a/src/chkjson/chkjson.cpp +++ b/src/chkjson/chkjson.cpp @@ -4,23 +4,21 @@ * Who knows */ #include +#include +#include +#include #include -#include -#include - #include // for strcmp #include // for stack (obviously) -#include - -// FILE I/O -#include -#include -#include "json.h" - #include #include #include #include // for throwing errors +#include +#include +#include + +#include "json.h" // copypasta: file_finder.cpp std::vector get_files_from_path(std::string extension, std::string root_path, bool recursive_search, bool match_extension) diff --git a/src/clzones.cpp b/src/clzones.cpp index d39104ffbcde8..b56deb602e984 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -1,5 +1,11 @@ #include "clzones.h" +#include +#include +#include +#include +#include + #include "cata_utility.h" #include "debug.h" #include "game.h" @@ -15,6 +21,10 @@ #include "ui.h" #include "vehicle.h" #include "vpart_reference.h" +#include "item.h" +#include "mapdata.h" +#include "player.h" +#include "vpart_position.h" zone_manager::zone_manager() { diff --git a/src/clzones.h b/src/clzones.h index 73c3b6d6fb312..d25d8173312e4 100644 --- a/src/clzones.h +++ b/src/clzones.h @@ -7,14 +7,18 @@ #include #include #include +#include +#include +#include #include "enums.h" -#include "item.h" #include "optional.h" #include "string_id.h" class JsonIn; class JsonOut; +class JsonObject; +class item; class zone_type { diff --git a/src/color.cpp b/src/color.cpp index bd8b1bab8af07..fdc823221a9bd 100644 --- a/src/color.cpp +++ b/src/color.cpp @@ -1,6 +1,11 @@ #include "color.h" +#include #include // for std::count +#include +#include +#include +#include #include "cata_utility.h" #include "debug.h" @@ -12,6 +17,7 @@ #include "string_formatter.h" #include "translations.h" #include "ui.h" +#include "cursesdef.h" void nc_color::serialize( JsonOut &jsout ) const { diff --git a/src/color.h b/src/color.h index 6965885f8a5b8..49105320678d2 100644 --- a/src/color.h +++ b/src/color.h @@ -3,11 +3,13 @@ #define COLOR_H #include -#include #include #include #include #include +#include + +class nc_color; #define all_colors get_all_colors() diff --git a/src/computer.cpp b/src/computer.cpp index e26d181dd0950..3ea5611989ea7 100644 --- a/src/computer.cpp +++ b/src/computer.cpp @@ -1,8 +1,15 @@ #include "computer.h" +#include +#include #include #include #include +#include +#include +#include +#include +#include #include "coordinate_conversions.h" #include "debug.h" @@ -31,6 +38,19 @@ #include "text_snippets.h" #include "translations.h" #include "trap.h" +#include "bodypart.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "item_stack.h" +#include "omdata.h" +#include "optional.h" +#include "pldata.h" +#include "string_id.h" const mtype_id mon_manhack( "mon_manhack" ); const mtype_id mon_secubot( "mon_secubot" ); diff --git a/src/computer.h b/src/computer.h index 75ecafc054fe7..a81fab5220f2c 100644 --- a/src/computer.h +++ b/src/computer.h @@ -8,7 +8,6 @@ #include "calendar.h" #include "cursesdef.h" -class game; class player; class JsonObject; diff --git a/src/construction.cpp b/src/construction.cpp index 05d48c521e3a9..943535a4d0e39 100644 --- a/src/construction.cpp +++ b/src/construction.cpp @@ -2,6 +2,10 @@ #include #include +#include +#include +#include +#include #include "action.h" #include "cata_utility.h" @@ -9,7 +13,6 @@ #include "debug.h" #include "game.h" #include "input.h" -#include "inventory.h" #include "item_group.h" #include "iuse.h" #include "json.h" @@ -32,6 +35,18 @@ #include "veh_type.h" #include "vehicle.h" #include "vpart_position.h" +#include "calendar.h" +#include "character.h" +#include "color.h" +#include "cursesdef.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "player_activity.h" +#include "pldata.h" + +class inventory; static const skill_id skill_fabrication( "fabrication" ); static const skill_id skill_electronics( "electronics" ); diff --git a/src/construction.h b/src/construction.h index e3935ad01ca57..d71402acdc938 100644 --- a/src/construction.h +++ b/src/construction.h @@ -2,10 +2,12 @@ #ifndef CONSTRUCTION_H #define CONSTRUCTION_H +#include #include #include #include #include +#include #include "optional.h" #include "string_id.h" diff --git a/src/consumption.cpp b/src/consumption.cpp index 8c0f58f9dfcba..1d24a34dae71a 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -1,7 +1,12 @@ #include "player.h" // IWYU pragma: associated +#include +#include #include #include +#include +#include +#include #include "addiction.h" #include "cata_utility.h" @@ -21,6 +26,7 @@ #include "translations.h" #include "units.h" #include "vitamin.h" +#include "rng.h" namespace { diff --git a/src/craft_command.cpp b/src/craft_command.cpp index ebd702273dbf8..dab4acffb3bca 100644 --- a/src/craft_command.cpp +++ b/src/craft_command.cpp @@ -1,5 +1,7 @@ #include "craft_command.h" +#include +#include #include #include @@ -7,13 +9,16 @@ #include "game_constants.h" #include "inventory.h" #include "item.h" -#include "itype.h" #include "output.h" #include "player.h" #include "recipe.h" #include "requirements.h" #include "translations.h" #include "uistate.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "player_activity.h" template std::string comp_selection::nname() const diff --git a/src/craft_command.h b/src/craft_command.h index 4458f077d7664..c084502cd01ae 100644 --- a/src/craft_command.h +++ b/src/craft_command.h @@ -4,6 +4,7 @@ #include #include +#include #include "requirements.h" #include "string_id.h" @@ -13,11 +14,6 @@ class item; class player; class recipe; -struct component; -struct tool_comp; -struct item_comp; - -struct requirement_data; using requirement_id = string_id; /** diff --git a/src/crafting.cpp b/src/crafting.cpp index da2632dd582ac..a3a0c9d4ff631 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -1,9 +1,16 @@ #include "crafting.h" +#include +#include #include #include #include #include +#include +#include +#include +#include +#include #include "activity_handlers.h" #include "ammo.h" @@ -29,6 +36,21 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "item_location.h" +#include "item_stack.h" +#include "line.h" +#include "mapdata.h" +#include "optional.h" +#include "pimpl.h" +#include "player.h" +#include "player_activity.h" +#include "recipe.h" +#include "ret_val.h" +#include "string_formatter.h" +#include "string_id.h" const efftype_id effect_contacts( "contacts" ); diff --git a/src/crafting.h b/src/crafting.h index 884a9121c561b..4649ce9cd643e 100644 --- a/src/crafting.h +++ b/src/crafting.h @@ -5,8 +5,6 @@ #include class item; -class inventory; -class npc; class player; class recipe; diff --git a/src/crafting_gui.cpp b/src/crafting_gui.cpp index c938244805320..3eeb2f9ed12b2 100644 --- a/src/crafting_gui.cpp +++ b/src/crafting_gui.cpp @@ -1,14 +1,19 @@ #include "crafting_gui.h" +#include #include #include #include #include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "catacharset.h" #include "crafting.h" -#include "debug.h" #include "game.h" #include "input.h" #include "itype.h" @@ -23,6 +28,14 @@ #include "translations.h" #include "ui.h" #include "uistate.h" +#include "calendar.h" +#include "color.h" +#include "cursesdef.h" +#include "item.h" +#include "recipe.h" + +class inventory; +class npc; enum TAB_MODE { NORMAL, diff --git a/src/crash.cpp b/src/crash.cpp index 013357bde6b3f..4384b1f6d36e5 100644 --- a/src/crash.cpp +++ b/src/crash.cpp @@ -2,12 +2,16 @@ #include "crash.h" +#include #include #include -#include #include #include #include +#include +#include +#include +#include #ifdef TILES # if defined(_MSC_VER) && defined(USE_VCPKG) diff --git a/src/creature.cpp b/src/creature.cpp index bf7ee98116685..7ba23ea1db4d4 100644 --- a/src/creature.cpp +++ b/src/creature.cpp @@ -1,16 +1,16 @@ #include "creature.h" +#include #include -#include #include +#include +#include -#include "item.h" #include "anatomy.h" #include "debug.h" #include "effect.h" #include "field.h" #include "game.h" -#include "itype.h" #include "map.h" #include "messages.h" #include "monster.h" @@ -22,6 +22,18 @@ #include "translations.h" #include "vehicle.h" #include "vpart_position.h" +#include "calendar.h" +#include "color.h" +#include "cursesdef.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "lightmap.h" +#include "line.h" +#include "mapdata.h" +#include "optional.h" +#include "player.h" const efftype_id effect_blind( "blind" ); const efftype_id effect_bounced( "bounced" ); diff --git a/src/creature.h b/src/creature.h index 0b332f3ba3587..5edc3dc517a1e 100644 --- a/src/creature.h +++ b/src/creature.h @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include "bodypart.h" #include "pimpl.h" @@ -18,19 +20,19 @@ enum game_message_type : int; class nc_color; class effect; class effects_map; + namespace catacurses { class window; } // namespace catacurses class field; class field_entry; -class game; class JsonObject; class JsonOut; struct tripoint; -struct point; class time_duration; class material_type; + enum damage_type : int; enum field_id : int; enum m_flag : int; @@ -40,14 +42,16 @@ struct damage_unit; struct dealt_damage_instance; struct dealt_projectile_attack; struct pathfinding_settings; -struct projectile; struct trap; class effect_type; + using efftype_id = string_id; using material_id = string_id; struct mutation_branch; + using trait_id = string_id; class ma_technique; + using matec_id = string_id; enum m_size : int { diff --git a/src/creature_tracker.cpp b/src/creature_tracker.cpp index 290e70ca47708..993c4bc3f8bbe 100644 --- a/src/creature_tracker.cpp +++ b/src/creature_tracker.cpp @@ -1,9 +1,11 @@ #include "creature_tracker.h" #include +#include +#include +#include #include "debug.h" -#include "item.h" #include "mongroup.h" #include "monster.h" #include "mtype.h" diff --git a/src/creature_tracker.h b/src/creature_tracker.h index 3aab87c2ceb52..0592e584a695d 100644 --- a/src/creature_tracker.h +++ b/src/creature_tracker.h @@ -2,6 +2,7 @@ #ifndef CREATURE_TRACKER_H #define CREATURE_TRACKER_H +#include #include #include #include diff --git a/src/cursesdef.h b/src/cursesdef.h index 667709d730218..a389b15eaeea7 100644 --- a/src/cursesdef.h +++ b/src/cursesdef.h @@ -4,6 +4,7 @@ #include #include +#include #include "string_formatter.h" diff --git a/src/cursesport.cpp b/src/cursesport.cpp index 20e08a66543b4..d163a810fb2c0 100644 --- a/src/cursesport.cpp +++ b/src/cursesport.cpp @@ -1,7 +1,8 @@ #if (defined TILES || defined _WIN32 || defined WINDOWS) #include "cursesport.h" -#include +#include +#include #include "catacharset.h" #include "color.h" diff --git a/src/cursesport.h b/src/cursesport.h index 92d7fc117db9b..ad945426fb7b9 100644 --- a/src/cursesport.h +++ b/src/cursesport.h @@ -5,12 +5,12 @@ #include #include #include - -class nc_color; +#include namespace catacurses { class window; + enum base_color : short; } // namespace catacurses diff --git a/src/damage.cpp b/src/damage.cpp index 1d5c17cb5dace..950305576d2ac 100644 --- a/src/damage.cpp +++ b/src/damage.cpp @@ -1,8 +1,10 @@ #include "damage.h" +#include #include #include #include +#include #include "debug.h" #include "item.h" @@ -10,6 +12,7 @@ #include "monster.h" #include "mtype.h" #include "translations.h" +#include "cata_utility.h" bool damage_unit::operator==( const damage_unit &other ) const { diff --git a/src/damage.h b/src/damage.h index 4c36595fafca3..ab423c3974cdb 100644 --- a/src/damage.h +++ b/src/damage.h @@ -4,16 +4,17 @@ #include #include +#include -#include "enums.h" #include "string_id.h" class item; class monster; class JsonObject; class JsonArray; - class Skill; +class JsonIn; + using skill_id = string_id; enum body_part : int; diff --git a/src/debug.cpp b/src/debug.cpp index 888ae89f0a238..c46e52999b9a2 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -1,17 +1,23 @@ #include "debug.h" #include +#include +#include #include #include -#include #include #include #include -#include #include #include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include "cursesdef.h" #include "filesystem.h" @@ -19,6 +25,10 @@ #include "input.h" #include "output.h" #include "path_info.h" +#include "cata_utility.h" +#include "color.h" +#include "optional.h" +#include "translations.h" #ifndef _MSC_VER #include @@ -34,7 +44,6 @@ #else #include #include -#include #endif #endif diff --git a/src/debug.h b/src/debug.h index f9e69dca42ae0..d1739940ec157 100644 --- a/src/debug.h +++ b/src/debug.h @@ -48,6 +48,8 @@ // --------------------------------------------------------------------- #include #include +#include +#include #define STRING2(x) #x #define STRING(x) STRING2(x) diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index 78d9846be5208..cf1a353b26f25 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -1,8 +1,18 @@ #include "debug_menu.h" +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "action.h" #include "coordinate_conversions.h" @@ -22,6 +32,17 @@ #include "string_input_popup.h" #include "ui.h" #include "vitamin.h" +#include "color.h" +#include "debug.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "omdata.h" +#include "optional.h" +#include "pldata.h" +#include "translations.h" namespace debug_menu { diff --git a/src/debug_menu.h b/src/debug_menu.h index c4c967cdefb3c..01f4c66c847d4 100644 --- a/src/debug_menu.h +++ b/src/debug_menu.h @@ -2,7 +2,7 @@ #ifndef DEBUG_MENU_H #define DEBUG_MENU_H -#include "enums.h" +struct tripoint; namespace cata { @@ -27,7 +27,6 @@ void wishskill( player *p ); void mutation_wish(); void draw_benchmark( const int max_difference ); -class mission_debug; } diff --git a/src/defense.cpp b/src/defense.cpp index 7384a7819e6b1..fe97bf5fa4b67 100644 --- a/src/defense.cpp +++ b/src/defense.cpp @@ -1,7 +1,7 @@ #include "gamemode.h" // IWYU pragma: associated -#include #include +#include #include "action.h" #include "color.h" @@ -10,7 +10,6 @@ #include "game.h" #include "input.h" #include "item_group.h" -#include "itype.h" #include "map.h" #include "map_iterator.h" #include "messages.h" @@ -25,6 +24,14 @@ #include "string_formatter.h" #include "string_input_popup.h" #include "translations.h" +#include "character.h" +#include "cursesdef.h" +#include "game_constants.h" +#include "item.h" +#include "mapdata.h" +#include "monster.h" +#include "omdata.h" +#include "pldata.h" #define SPECIAL_WAVE_CHANCE 5 // One in X chance of single-flavor wave #define SPECIAL_WAVE_MIN 5 // Don't use a special wave with < X monsters diff --git a/src/dependency_tree.cpp b/src/dependency_tree.cpp index 99b37c6f1e11f..52a67d9926130 100644 --- a/src/dependency_tree.cpp +++ b/src/dependency_tree.cpp @@ -2,6 +2,10 @@ #include #include +#include +#include +#include +#include #include "debug.h" #include "output.h" diff --git a/src/dependency_tree.h b/src/dependency_tree.h index b234b4b73d846..e161a3e9a538e 100644 --- a/src/dependency_tree.h +++ b/src/dependency_tree.h @@ -5,10 +5,12 @@ #include #include #include +#include #include "string_id.h" struct MOD_INFORMATION; + using mod_id = string_id; enum NODE_ERROR_TYPE { diff --git a/src/descriptions.cpp b/src/descriptions.cpp index 2993975d38c57..614f928ce30d1 100644 --- a/src/descriptions.cpp +++ b/src/descriptions.cpp @@ -1,6 +1,9 @@ #include "game.h" // IWYU pragma: associated +#include #include +#include +#include #include "calendar.h" #include "harvest.h" @@ -10,7 +13,10 @@ #include "output.h" #include "player.h" #include "string_formatter.h" -#include "ui.h" +#include "color.h" +#include "damage.h" +#include "pldata.h" +#include "translations.h" const skill_id skill_survival( "survival" ); diff --git a/src/dialogue.h b/src/dialogue.h index 34e954cf64496..7ad58a3bfcc93 100644 --- a/src/dialogue.h +++ b/src/dialogue.h @@ -5,23 +5,23 @@ #include #include #include +#include +#include +#include #include "dialogue_win.h" #include "npc.h" #include "npc_class.h" +#include "json.h" +#include "mapdata.h" +#include "pldata.h" +#include "string_id.h" -class JsonObject; class mission; class time_duration; -class time_point; -class npc; -class item; -struct tripoint; class player; -template -class string_id; - struct dialogue; +class martialart; enum talk_trial_type : unsigned char { TALK_TRIAL_NONE, // No challenge here! diff --git a/src/dialogue_win.cpp b/src/dialogue_win.cpp index 529dd6567261a..da67df3d12a3a 100644 --- a/src/dialogue_win.cpp +++ b/src/dialogue_win.cpp @@ -3,11 +3,9 @@ #include #include #include +#include -#include "debug.h" -#include "game.h" #include "input.h" -#include "map.h" #include "output.h" #include "translations.h" diff --git a/src/dialogue_win.h b/src/dialogue_win.h index f6fc353a76565..3709a3a504b82 100644 --- a/src/dialogue_win.h +++ b/src/dialogue_win.h @@ -2,9 +2,13 @@ #ifndef DIALOGUE_WIN_H #define DIALOGUE_WIN_H +#include #include +#include +#include -#include "ui.h" +#include "color.h" +#include "cursesdef.h" using talk_data = std::pair; diff --git a/src/drawing_primitives.cpp b/src/drawing_primitives.cpp index 62f04aa8eb000..edc8ee3f7ecda 100644 --- a/src/drawing_primitives.cpp +++ b/src/drawing_primitives.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "enums.h" #include "line.h" diff --git a/src/dump.cpp b/src/dump.cpp index 64c4ed1df3e08..b9ca5322ddcfd 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -1,14 +1,17 @@ #include "game.h" // IWYU pragma: associated +#include #include #include #include +#include +#include +#include #include "ammo.h" #include "compatibility.h" // needed for the workaround for the std::to_string bug in some compilers #include "init.h" #include "item_factory.h" -#include "iuse_actor.h" #include "loading_ui.h" #include "npc.h" #include "player.h" @@ -17,6 +20,14 @@ #include "veh_type.h" #include "vehicle.h" #include "vitamin.h" +#include "bodypart.h" +#include "damage.h" +#include "itype.h" +#include "mapdata.h" +#include "recipe.h" +#include "ret_val.h" +#include "translations.h" +#include "units.h" bool game::dump_stats( const std::string &what, dump_mode mode, const std::vector &opts ) diff --git a/src/editmap.cpp b/src/editmap.cpp index a2689d59220fd..89404de60392e 100644 --- a/src/editmap.cpp +++ b/src/editmap.cpp @@ -1,21 +1,23 @@ #include "editmap.h" -#include #include #include #include #include #include #include +#include +#include +#include +#include +#include +#include -#include "artifact.h" -#include "auto_pickup.h" #include "calendar.h" #include "compatibility.h" // needed for the workaround for the std::to_string bug in some compilers #include "computer.h" #include "coordinate_conversions.h" #include "coordinates.h" -#include "debug.h" #include "debug_menu.h" #include "field.h" #include "game.h" @@ -39,6 +41,18 @@ #include "uistate.h" #include "vehicle.h" #include "vpart_position.h" +#include "active_item_cache.h" +#include "basecamp.h" +#include "cata_utility.h" +#include "creature.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "item_stack.h" +#include "omdata.h" +#include "player.h" +#include "shadowcasting.h" +#include "string_id.h" #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/editmap.h b/src/editmap.h index a769198f83d16..09a9b6ebee6e1 100644 --- a/src/editmap.h +++ b/src/editmap.h @@ -4,14 +4,21 @@ #include #include +#include #include "map.h" -#include "omdata.h" #include "optional.h" #include "trap.h" -#include "ui.h" +#include "color.h" +#include "cursesdef.h" +#include "enums.h" struct real_coords; +class Creature; +class field; +class uilist; +class vehicle; + enum field_id : int; enum shapetype { @@ -19,6 +26,7 @@ enum shapetype { }; class editmap; + struct editmap_hilight { std::vector blink_interval; int cur_blink; diff --git a/src/effect.cpp b/src/effect.cpp index ae766ea701af6..bf97915bd6d09 100644 --- a/src/effect.cpp +++ b/src/effect.cpp @@ -2,6 +2,9 @@ #include #include +#include +#include +#include #include "debug.h" #include "json.h" @@ -10,6 +13,8 @@ #include "player.h" #include "rng.h" #include "string_formatter.h" +#include "color.h" +#include "creature.h" namespace { diff --git a/src/effect.h b/src/effect.h index 9b7f6db6c04e9..f2ddb95be836b 100644 --- a/src/effect.h +++ b/src/effect.h @@ -2,24 +2,26 @@ #ifndef EFFECT_H #define EFFECT_H +#include #include #include #include +#include +#include #include "bodypart.h" #include "calendar.h" -#include "enums.h" -#include "pldata.h" #include "string_id.h" #include "translations.h" #include "tuple_hash.h" class effect_type; -class Creature; class player; + enum game_message_type : int; using efftype_id = string_id; struct mutation_branch; + using trait_id = string_id; class JsonObject; class JsonIn; diff --git a/src/emit.cpp b/src/emit.cpp index eab44f89d19da..f372b73fdb7e3 100644 --- a/src/emit.cpp +++ b/src/emit.cpp @@ -1,9 +1,10 @@ #include "emit.h" #include +#include +#include #include "debug.h" -#include "generic_factory.h" #include "json.h" static std::map emits_all; diff --git a/src/emit.h b/src/emit.h index 211d1f3c5387e..f98a8cbbd50d0 100644 --- a/src/emit.h +++ b/src/emit.h @@ -3,13 +3,15 @@ #define EMIT_H #include +#include #include "field.h" #include "string_id.h" +#include "game_constants.h" class JsonObject; - class emit; + using emit_id = string_id; class emit diff --git a/src/enums.h b/src/enums.h index e27f5b0d34090..7755bbbf3a45b 100644 --- a/src/enums.h +++ b/src/enums.h @@ -4,7 +4,8 @@ #include #include -#include +#include +#include class JsonOut; class JsonIn; diff --git a/src/event.cpp b/src/event.cpp index f8a5238dfbac1..ba384f4b89c10 100644 --- a/src/event.cpp +++ b/src/event.cpp @@ -1,5 +1,8 @@ #include "event.h" +#include +#include + #include "debug.h" #include "game.h" #include "line.h" @@ -12,6 +15,10 @@ #include "rng.h" #include "sounds.h" #include "translations.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "player.h" const mtype_id mon_amigara_horror( "mon_amigara_horror" ); const mtype_id mon_copbot( "mon_copbot" ); diff --git a/src/event.h b/src/event.h index 4c03b01742412..df11bb9fe4f9a 100644 --- a/src/event.h +++ b/src/event.h @@ -2,7 +2,6 @@ #ifndef EVENT_H #define EVENT_H -#include #include #include "calendar.h" diff --git a/src/explosion.cpp b/src/explosion.cpp index ef7ae5dbb6782..43da124b6d6d9 100644 --- a/src/explosion.cpp +++ b/src/explosion.cpp @@ -1,11 +1,21 @@ #include "explosion.h" // IWYU pragma: associated #include "fragment_cloud.h" // IWYU pragma: associated +#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "cata_utility.h" -#include "character.h" #include "creature.h" #include "debug.h" #include "field.h" @@ -23,9 +33,20 @@ #include "translations.h" #include "vehicle.h" #include "vpart_position.h" - -#include -#include +#include "bodypart.h" +#include "calendar.h" +#include "color.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "itype.h" +#include "line.h" +#include "mapdata.h" +#include "optional.h" +#include "rng.h" +#include "string_formatter.h" +#include "units.h" static const itype_id null_itype( "null" ); diff --git a/src/faction.cpp b/src/faction.cpp index daca35a892b5b..3ce6e0a2306a8 100644 --- a/src/faction.cpp +++ b/src/faction.cpp @@ -1,9 +1,10 @@ #include "faction.h" -#include #include #include #include +#include +#include #include "catacharset.h" #include "cursesdef.h" @@ -16,6 +17,7 @@ #include "rng.h" #include "string_formatter.h" #include "translations.h" +#include "color.h" static std::map _all_faction_templates; diff --git a/src/faction.h b/src/faction.h index abeab4d60b60b..a25a9b34dc680 100644 --- a/src/faction.h +++ b/src/faction.h @@ -3,6 +3,7 @@ #define FACTION_H #include +#include #include "string_id.h" @@ -15,7 +16,6 @@ std::string fac_wealth_text( int val, int size ); std::string fac_food_supply_text( int val, int size ); std::string fac_combat_ability_text( int val ); -class player; class JsonObject; class JsonIn; class JsonOut; @@ -83,6 +83,7 @@ struct faction_value_datum { }; class faction; + using faction_id = string_id; class faction_template diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp index 9d9e0a39425fa..f3e88fb0f911a 100644 --- a/src/faction_camp.cpp +++ b/src/faction_camp.cpp @@ -1,19 +1,20 @@ #include "faction_camp.h" // IWYU pragma: associated +#include #include -#include #include #include +#include +#include +#include +#include +#include -#include "ammo.h" #include "bionics.h" #include "catacharset.h" #include "compatibility.h" // needed for the workaround for the std::to_string bug in some compilers -#include "construction.h" #include "coordinate_conversions.h" -#include "craft_command.h" #include "debug.h" -#include "dialogue.h" #include "editmap.h" #include "game.h" #include "iexamine.h" @@ -27,7 +28,6 @@ #include "messages.h" #include "mission.h" #include "mission_companion.h" -#include "mtype.h" #include "npc.h" #include "output.h" #include "overmap.h" @@ -45,6 +45,24 @@ #include "vpart_range.h" #include "vpart_reference.h" #include "basecamp.h" +#include "calendar.h" +#include "color.h" +#include "cursesdef.h" +#include "enums.h" +#include "faction.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "monster.h" +#include "optional.h" +#include "pimpl.h" +#include "player.h" +#include "string_formatter.h" +#include "string_id.h" +#include "ui.h" +#include "units.h" +#include "weighted_list.h" const skill_id skill_dodge( "dodge" ); const skill_id skill_gun( "gun" ); diff --git a/src/faction_camp.h b/src/faction_camp.h index 50695f69e0593..134f52a70fa18 100644 --- a/src/faction_camp.h +++ b/src/faction_camp.h @@ -4,25 +4,16 @@ #include #include +#include namespace catacurses { class window; } // namespace catacurses -class martialart; -class JsonObject; -class mission; -class time_point; class npc; -class item; struct point; struct tripoint; -struct comp_rank; struct mission_entry; -class player; -class npc_template; -template -class string_id; enum camp_tab_mode { TAB_MAIN, diff --git a/src/fault.cpp b/src/fault.cpp index 6ab0a8aec0086..a62b0421e5536 100644 --- a/src/fault.cpp +++ b/src/fault.cpp @@ -1,5 +1,7 @@ #include "fault.h" +#include + #include "debug.h" #include "json.h" #include "requirements.h" diff --git a/src/fault.h b/src/fault.h index ebf8859640e90..7f32788e9c372 100644 --- a/src/fault.h +++ b/src/fault.h @@ -3,18 +3,21 @@ #define FAULT_H #include +#include #include "string_id.h" class JsonObject; - class fault; + using fault_id = string_id; class Skill; + using skill_id = string_id; struct requirement_data; + using requirement_id = string_id; class fault diff --git a/src/field.cpp b/src/field.cpp index b2a1569a9ac82..bc2c30c0b8340 100644 --- a/src/field.cpp +++ b/src/field.cpp @@ -1,7 +1,15 @@ #include "field.h" +#include +#include #include #include +#include +#include +#include +#include +#include +#include #include "calendar.h" #include "cata_utility.h" @@ -27,6 +35,18 @@ #include "translations.h" #include "vehicle.h" #include "vpart_position.h" +#include "bodypart.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "int_id.h" +#include "item.h" +#include "line.h" +#include "optional.h" +#include "player.h" +#include "pldata.h" +#include "string_id.h" +#include "units.h" const species_id FUNGUS( "FUNGUS" ); diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 53fe066b06af6..b87ce6d0992d1 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -2,15 +2,17 @@ // FILE I/O #include +#include #include #include -#include #include #include #include #include #include #include +#include +#include #include "debug.h" diff --git a/src/flag.cpp b/src/flag.cpp index 19674d3d9707f..a0066e624f720 100644 --- a/src/flag.cpp +++ b/src/flag.cpp @@ -1,7 +1,7 @@ #include "flag.h" -#include #include +#include #include "debug.h" #include "json.h" diff --git a/src/fungal_effects.cpp b/src/fungal_effects.cpp index ac18444c285d5..7341c734bc817 100644 --- a/src/fungal_effects.cpp +++ b/src/fungal_effects.cpp @@ -1,5 +1,8 @@ #include "fungal_effects.h" +#include +#include + #include "creature.h" #include "field.h" #include "game.h" @@ -11,6 +14,15 @@ #include "mtype.h" #include "output.h" #include "player.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "enums.h" +#include "item.h" +#include "item_stack.h" +#include "pldata.h" +#include "rng.h" +#include "translations.h" const mtype_id mon_fungal_blossom( "mon_fungal_blossom" ); const mtype_id mon_spore( "mon_spore" ); diff --git a/src/game.cpp b/src/game.cpp index 0bfeeabe062ee..e50e80115f887 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1,8 +1,8 @@ #include "game.h" +#include +#include #include -#include -#include #include #include #include @@ -14,12 +14,19 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "action.h" #include "activity_handlers.h" #include "artifact.h" #include "auto_pickup.h" -#include "bionics.h" #include "bodypart.h" #include "cata_utility.h" #include "catacharset.h" @@ -34,7 +41,6 @@ #include "debug_menu.h" #include "dependency_tree.h" #include "editmap.h" -#include "effect.h" #include "enums.h" #include "event.h" #include "faction.h" @@ -115,6 +121,24 @@ #include "weather_gen.h" #include "worldfactory.h" #include "map_selector.h" +#include "character.h" +#include "color.h" +#include "damage.h" +#include "field.h" +#include "inventory.h" +#include "item_stack.h" +#include "itype.h" +#include "iuse.h" +#include "player.h" +#include "player_activity.h" +#include "pldata.h" +#include "recipe.h" +#include "regional_settings.h" +#include "ret_val.h" +#include "tileray.h" +#include "ui.h" +#include "units.h" +#include "weighted_list.h" #ifdef TILES #include "cata_tiles.h" diff --git a/src/game.h b/src/game.h index 48b7276d6c932..167df7ca9a05b 100644 --- a/src/game.h +++ b/src/game.h @@ -2,12 +2,17 @@ #ifndef GAME_H #define GAME_H +#include +#include #include #include #include #include #include #include +#include +#include +#include #include "calendar.h" #include "cursesdef.h" @@ -17,12 +22,16 @@ #include "item_location.h" #include "optional.h" #include "pimpl.h" -#include "posix_time.h" +#include "creature.h" +#include "item.h" +#include "string_id.h" +#include "monster.h" extern bool test_mode; // The reference to the one and only game instance. class game; + extern std::unique_ptr g; extern bool trigdist; @@ -36,6 +45,7 @@ extern const int savegame_version; extern int savegame_loading_version; class input_context; + input_context get_default_mode_input_context(); enum class dump_mode { @@ -63,50 +73,46 @@ enum weather_type : int; enum action_id : int; enum target_mode : int; -class item_location; -class item; struct targeting_data; struct special_game; -struct itype; struct mtype; + using mtype_id = string_id; struct species_type; + using species_id = string_id; using itype_id = std::string; class ammunition_type; + using ammotype = string_id; -class mission; class map; -class Creature; class zone_type; + using zone_type_id = string_id; -class Character; class faction_manager; class player; class npc; class monster; struct MOD_INFORMATION; + using mod_id = string_id; class vehicle; class Creature_tracker; -class calendar; class scenario; -class DynamicDataLoader; -class salvage_actor; -class input_context; class map_item_stack; struct WORLD; class save_t; + typedef WORLD *WORLDPTR; class overmap; class event_manager; + enum event_type : int; -struct vehicle_part; struct ter_t; + using ter_id = int_id; class weather_generator; struct weather_printable; -class faction; class live_view; class nc_color; struct w_point; diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index 5e3521e881ca9..31c63baae4371 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -1,6 +1,12 @@ #include "game_inventory.h" +#include #include +#include +#include +#include +#include +#include #include "game.h" #include "inventory_ui.h" @@ -14,6 +20,25 @@ #include "recipe_dictionary.h" #include "skill.h" #include "string_formatter.h" +#include "calendar.h" +#include "cata_utility.h" +#include "color.h" +#include "compatibility.h" +#include "damage.h" +#include "debug.h" +#include "enums.h" +#include "input.h" +#include "inventory.h" +#include "item_location.h" +#include "iuse.h" +#include "optional.h" +#include "recipe.h" +#include "requirements.h" +#include "ret_val.h" +#include "translations.h" +#include "units.h" + +class Character; typedef std::function item_filter; typedef std::function item_location_filter; diff --git a/src/game_inventory.h b/src/game_inventory.h index b625f45423e6b..49dbc082ed359 100644 --- a/src/game_inventory.h +++ b/src/game_inventory.h @@ -3,10 +3,13 @@ #define GAME_INVENTORY_H #include +#include +#include -#include "enums.h" #include "inventory_ui.h" +struct tripoint; + namespace cata { template diff --git a/src/game_ui.cpp b/src/game_ui.cpp index d730705de4e80..c9af2be0eb8d8 100644 --- a/src/game_ui.cpp +++ b/src/game_ui.cpp @@ -1,5 +1,7 @@ #include "game_ui.h" +#include + #include "game.h" void game_ui::init_ui() diff --git a/src/gamemode.cpp b/src/gamemode.cpp index 472c1c8e8cd03..0e34af481e012 100644 --- a/src/gamemode.cpp +++ b/src/gamemode.cpp @@ -1,7 +1,6 @@ #include "gamemode.h" #include "debug.h" -#include "output.h" #include "translations.h" std::string special_game_name( special_game_id id ) diff --git a/src/gamemode.h b/src/gamemode.h index bc4787a2ed0c0..fe12e21f56120 100644 --- a/src/gamemode.h +++ b/src/gamemode.h @@ -4,6 +4,7 @@ #include #include +#include #include "calendar.h" #include "enums.h" @@ -17,6 +18,7 @@ class window; } // namespace catacurses struct special_game; struct mtype; + using mtype_id = string_id; std::string special_game_name( special_game_id id ); diff --git a/src/gates.cpp b/src/gates.cpp index 38c6f68594036..e27ef01e070fd 100644 --- a/src/gates.cpp +++ b/src/gates.cpp @@ -3,6 +3,9 @@ #include #include #include +#include +#include +#include #include "game.h" // TODO: This is a circular dependency #include "generic_factory.h" @@ -15,6 +18,18 @@ #include "player.h" #include "vehicle.h" #include "vpart_position.h" +#include "character.h" +#include "creature.h" +#include "debug.h" +#include "enums.h" +#include "int_id.h" +#include "item.h" +#include "item_stack.h" +#include "optional.h" +#include "player_activity.h" +#include "string_id.h" +#include "translations.h" +#include "units.h" // Gates namespace @@ -22,6 +37,7 @@ namespace { struct gate_data; + using gate_id = string_id; struct gate_data { diff --git a/src/grab.cpp b/src/grab.cpp index 0b10bb92db430..ac03b807c9337 100644 --- a/src/grab.cpp +++ b/src/grab.cpp @@ -1,5 +1,8 @@ #include "game.h" // IWYU pragma: associated +#include +#include + #include "map.h" #include "messages.h" #include "output.h" @@ -7,6 +10,11 @@ #include "sounds.h" #include "vehicle.h" #include "vpart_position.h" +#include "debug.h" +#include "rng.h" +#include "tileray.h" +#include "translations.h" +#include "units.h" bool game::grabbed_veh_move( const tripoint &dp ) { diff --git a/src/handle_action.cpp b/src/handle_action.cpp index c7f87b3f435c7..9ef4f94e64ecb 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -1,6 +1,11 @@ #include "game.h" // IWYU pragma: associated +#include #include +#include +#include +#include +#include #include "action.h" #include "advanced_inv.h" @@ -43,6 +48,18 @@ #include "vpart_reference.h" #include "weather.h" #include "worldfactory.h" +#include "bodypart.h" +#include "character.h" +#include "color.h" +#include "damage.h" +#include "lightmap.h" +#include "line.h" +#include "player_activity.h" +#include "rng.h" +#include "string_formatter.h" +#include "translations.h" +#include "ui.h" +#include "units.h" #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/harvest.cpp b/src/harvest.cpp index 0899f83964738..29cd581b20755 100644 --- a/src/harvest.cpp +++ b/src/harvest.cpp @@ -4,12 +4,15 @@ #include #include #include +#include #include "assign.h" #include "debug.h" #include "item.h" #include "item_group.h" #include "output.h" +#include "json.h" +#include "mapdata.h" // @todo: Make a generic factory static std::map harvest_all; diff --git a/src/harvest.h b/src/harvest.h index 786e212c22ed6..2b0323b045ace 100644 --- a/src/harvest.h +++ b/src/harvest.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include "string_id.h" diff --git a/src/help.cpp b/src/help.cpp index 09c109d43c815..96662ffd348c1 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -1,7 +1,11 @@ #include "help.h" +#include #include #include +#include +#include +#include #include "action.h" #include "catacharset.h" @@ -12,6 +16,10 @@ #include "path_info.h" #include "text_snippets.h" #include "translations.h" +#include "cata_utility.h" +#include "color.h" +#include "debug.h" +#include "string_formatter.h" help &get_help() { diff --git a/src/help.h b/src/help.h index e9531dcef3dfa..7bd85bcd53e3d 100644 --- a/src/help.h +++ b/src/help.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "cursesdef.h" #include "input.h" diff --git a/src/iexamine.cpp b/src/iexamine.cpp index bbfa7bb5b7311..0952ec0a220d0 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -1,8 +1,17 @@ #include "iexamine.h" +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include "ammo.h" #include "basecamp.h" @@ -45,6 +54,23 @@ #include "units.h" #include "vpart_position.h" #include "weather.h" +#include "bodypart.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "item_location.h" +#include "item_stack.h" +#include "iuse.h" +#include "optional.h" +#include "pimpl.h" +#include "player_activity.h" +#include "pldata.h" const mtype_id mon_dark_wyrm( "mon_dark_wyrm" ); const mtype_id mon_fungal_blossom( "mon_fungal_blossom" ); diff --git a/src/iexamine.h b/src/iexamine.h index fb497a3e9e24b..2767c0e837206 100644 --- a/src/iexamine.h +++ b/src/iexamine.h @@ -10,18 +10,18 @@ #define IEXAMINE_H #include +#include +#include +#include #include "itype.h" #include "string_id.h" -class game; class item; class player; -class npc; -class map; struct tripoint; -struct itype; struct mtype; + using mtype_id = string_id; using seed_tuple = std::tuple; diff --git a/src/init.cpp b/src/init.cpp index a90fad6ed2bd7..48511f15e7337 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1,16 +1,20 @@ #include "init.h" +#include #include #include #include // for throwing errors #include #include +#include +#include +#include +#include #include "activity_type.h" #include "ammo.h" #include "anatomy.h" #include "bionics.h" -#include "clzones.h" #include "construction.h" #include "crafting_gui.h" #include "debug.h" @@ -63,6 +67,8 @@ #include "vehicle_group.h" #include "vitamin.h" #include "worldfactory.h" +#include "bodypart.h" +#include "translations.h" #if defined(TILES) void load_tileset(); diff --git a/src/init.h b/src/init.h index 4db808decd94b..ce4d7bd97fede 100644 --- a/src/init.h +++ b/src/init.h @@ -7,6 +7,7 @@ #include #include #include +#include class loading_ui; class JsonObject; diff --git a/src/input.cpp b/src/input.cpp index cd35cdebe85cd..7abd0cc1a9ab8 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -5,6 +5,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include "action.h" #include "cata_utility.h" @@ -23,6 +29,8 @@ #include "string_formatter.h" #include "string_input_popup.h" #include "translations.h" +#include "color.h" +#include "enums.h" using std::min; // from using std::max; diff --git a/src/input.h b/src/input.h index c40fd4665e6a9..16b46b85b34ee 100644 --- a/src/input.h +++ b/src/input.h @@ -2,6 +2,7 @@ #ifndef INPUT_H #define INPUT_H +#include #include #include #include @@ -13,6 +14,7 @@ #endif struct tripoint; + namespace cata { template diff --git a/src/inventory.cpp b/src/inventory.cpp index 22bf16d40bece..776012ed9761c 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -1,12 +1,16 @@ #include "inventory.h" +#include +#include +#include #include +#include +#include +#include #include "debug.h" #include "game.h" #include "iexamine.h" -#include "itype.h" -#include "iuse_actor.h" #include "map.h" #include "map_iterator.h" #include "mapdata.h" @@ -18,6 +22,16 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "optional.h" +#include "player.h" +#include "rng.h" + +struct itype; const invlet_wrapper inv_chars( "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#&()*+.:;=@[\\]^_{|}" ); diff --git a/src/inventory.h b/src/inventory.h index e6efe200b253b..92cacec897dc0 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -2,19 +2,26 @@ #ifndef INVENTORY_H #define INVENTORY_H +#include #include #include #include #include #include #include +#include +#include -#include "enums.h" #include "item.h" #include "visitable.h" +#include "units.h" -class map; class npc; +class Character; +class JsonIn; +class JsonOut; +class player; +struct tripoint; typedef std::list< std::list > invstack; typedef std::vector< std::list* > invslice; @@ -22,8 +29,6 @@ typedef std::vector< const std::list* > const_invslice; typedef std::vector< std::pair*, int> > indexed_invslice; typedef std::unordered_map< itype_id, std::list > itype_bin; -class salvage_actor; - /** * Wrapper to handled a set of valid "inventory" letters. "inventory" can be any set of * objects that the player can access via a single character (e.g. bionics). diff --git a/src/inventory_ui.cpp b/src/inventory_ui.cpp index 52a192fcba089..23e2b951e509b 100644 --- a/src/inventory_ui.cpp +++ b/src/inventory_ui.cpp @@ -6,9 +6,7 @@ #include "item.h" #include "item_category.h" #include "item_search.h" -#include "itype.h" #include "map.h" -#include "map_selector.h" #include "options.h" #include "output.h" #include "player.h" @@ -19,6 +17,14 @@ #include "vehicle_selector.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "character.h" +#include "debug.h" +#include "enums.h" +#include "inventory.h" +#include "line.h" +#include "optional.h" +#include "string_id.h" +#include "visitable.h" #ifdef __ANDROID__ #include @@ -33,6 +39,8 @@ #include #include #include +#include +#include /** The maximum distance from the screen edge, to snap a window to it */ static const size_t max_win_snap_distance = 4; diff --git a/src/inventory_ui.h b/src/inventory_ui.h index fd414e9c4f0bc..ebd789ba967b7 100644 --- a/src/inventory_ui.h +++ b/src/inventory_ui.h @@ -2,25 +2,30 @@ #ifndef INVENTORY_UI_H #define INVENTORY_UI_H +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include #include "color.h" #include "cursesdef.h" -#include "enums.h" #include "input.h" #include "item_location.h" #include "pimpl.h" #include "units.h" +#include "item_category.h" class Character; - class item; -class item_category; -class item_location; - class player; +struct tripoint; enum class navigation_mode : int { ITEM = 0, diff --git a/src/item.cpp b/src/item.cpp index 705e58dfc8568..20f3f42316655 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -1,5 +1,7 @@ #include "item.h" +#include +#include #include #include #include @@ -7,6 +9,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "advanced_inv.h" #include "ammo.h" @@ -54,11 +61,24 @@ #include "translations.h" #include "units.h" #include "vehicle.h" -#include "vehicle_selector.h" #include "vitamin.h" #include "vpart_position.h" #include "vpart_reference.h" #include "weather.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "explosion.h" +#include "int_id.h" +#include "inventory.h" +#include "item_group.h" +#include "iuse.h" +#include "line.h" +#include "mapdata.h" +#include "monster.h" +#include "optional.h" +#include "recipe.h" +#include "rng.h" static const std::string GUN_MODE_VAR_NAME( "item::mode" ); diff --git a/src/item.h b/src/item.h index ccdb98115bcea..f9aefd28e2f62 100644 --- a/src/item.h +++ b/src/item.h @@ -8,9 +8,12 @@ #include #include #include +#include +#include +#include +#include #include "calendar.h" -#include "cata_utility.h" #include "debug.h" #include "enums.h" #include "io_tags.h" @@ -18,7 +21,8 @@ #include "string_id.h" #include "units.h" #include "visitable.h" -#include "requirements.h" + +struct item_comp; namespace cata { @@ -26,7 +30,6 @@ template class optional; } // namespace cata class nc_color; -class JsonObject; class JsonIn; class JsonOut; class iteminfo_query; @@ -34,21 +37,23 @@ template class ret_val; class gun_type_type; class gunmod_location; -class game; class gun_mode; + using gun_mode_id = string_id; class Character; class player; -class npc; class recipe; struct itype; struct mtype; + using mtype_id = string_id; struct islot_armor; struct use_function; class material_type; + using material_id = string_id; class item_category; + enum art_effect_passive : int; enum phase_id : int; enum body_part : int; @@ -56,17 +61,20 @@ enum m_size : int; enum class side : int; class body_part_set; class ammunition_type; + using ammotype = string_id; using itype_id = std::string; class ma_technique; + using matec_id = string_id; -struct point; -struct tripoint; class Skill; + using skill_id = string_id; class fault; + using fault_id = string_id; struct quality; + using quality_id = string_id; struct fire_data; struct damage_instance; diff --git a/src/item_action.cpp b/src/item_action.cpp index a26a00db8280b..1b693f5279f10 100644 --- a/src/item_action.cpp +++ b/src/item_action.cpp @@ -3,8 +3,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include -#include "action.h" #include "debug.h" #include "game.h" #include "input.h" @@ -12,13 +17,19 @@ #include "item.h" #include "item_factory.h" #include "itype.h" -#include "iuse_actor.h" #include "json.h" #include "output.h" #include "player.h" #include "ret_val.h" #include "translations.h" #include "ui.h" +#include "calendar.h" +#include "catacharset.h" +#include "character.h" +#include "cursesdef.h" +#include "iuse.h" + +struct tripoint; static item_action nullaction; static const std::string errstring( "ERROR" ); diff --git a/src/item_factory.cpp b/src/item_factory.cpp index 93dec6dfd9e55..01224fa65df8f 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -1,9 +1,14 @@ #include "item_factory.h" +#include #include #include #include #include +#include +#include +#include +#include #include "addiction.h" #include "ammo.h" @@ -12,7 +17,6 @@ #include "catacharset.h" #include "debug.h" #include "enums.h" -#include "field.h" #include "init.h" #include "item.h" #include "item_category.h" @@ -21,7 +25,6 @@ #include "json.h" #include "material.h" #include "options.h" -#include "overmap.h" #include "recipe_dictionary.h" #include "requirements.h" #include "string_formatter.h" @@ -30,6 +33,20 @@ #include "ui.h" #include "veh_type.h" #include "vitamin.h" +#include "bodypart.h" +#include "calendar.h" +#include "color.h" +#include "creature.h" +#include "damage.h" +#include "explosion.h" +#include "game_constants.h" +#include "omdata.h" +#include "optional.h" +#include "recipe.h" +#include "string_id.h" +#include "units.h" + +class player; typedef std::set t_string_set; static t_string_set item_blacklist; diff --git a/src/item_factory.h b/src/item_factory.h index 1200f54531a89..80fde126c9880 100644 --- a/src/item_factory.h +++ b/src/item_factory.h @@ -9,8 +9,20 @@ #include #include #include +#include +#include +#include #include "itype.h" +#include "item.h" +#include "item_category.h" +#include "item_group.h" +#include "iuse.h" + +namespace cata +{ +template class optional; +} // namespace cata bool item_is_blacklisted( const std::string &id ); @@ -18,10 +30,6 @@ typedef std::string Item_tag; typedef std::string Group_tag; typedef std::vector Item_list; -class Item_spawn_data; -class Item_group; -class item; -class item_category; class Item_factory; class JsonObject; class JsonArray; diff --git a/src/item_group.cpp b/src/item_group.cpp index be951609f5051..04ac4fdf0914e 100644 --- a/src/item_group.cpp +++ b/src/item_group.cpp @@ -2,7 +2,9 @@ #include #include -#include +#include +#include +#include #include "ammo.h" #include "debug.h" @@ -11,6 +13,10 @@ #include "itype.h" #include "json.h" #include "rng.h" +#include "calendar.h" +#include "compatibility.h" +#include "enums.h" +#include "string_id.h" static const std::string null_item_id( "null" ); diff --git a/src/item_group.h b/src/item_group.h index da604b1256c28..d8383e0056c04 100644 --- a/src/item_group.h +++ b/src/item_group.h @@ -5,12 +5,13 @@ #include #include #include +#include #include "optional.h" +#include "item.h" typedef std::string Item_tag; typedef std::string Group_tag; -class item; class JsonObject; class JsonIn; class time_point; diff --git a/src/item_location.cpp b/src/item_location.cpp index c8b7c0b2de37e..0af8e00b7d560 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "character.h" #include "debug.h" @@ -14,13 +16,18 @@ #include "json.h" #include "map.h" #include "map_selector.h" -#include "output.h" #include "player.h" #include "translations.h" #include "vehicle.h" #include "vehicle_selector.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "color.h" +#include "item.h" +#include "iuse.h" +#include "line.h" +#include "optional.h" +#include "visitable.h" template static int find_index( const T &sel, const item *obj ) diff --git a/src/item_location.h b/src/item_location.h index 1cc04575f07f7..4d27fe9da4cf1 100644 --- a/src/item_location.h +++ b/src/item_location.h @@ -4,13 +4,13 @@ #include #include +#include #include "map_selector.h" struct tripoint; class item; class Character; -class map_cursor; class vehicle_cursor; class JsonIn; class JsonOut; @@ -104,6 +104,7 @@ class item_location private: class impl; + std::shared_ptr ptr; /* Not implemented on purpose. This triggers a compiler / linker diff --git a/src/item_search.cpp b/src/item_search.cpp index 37c672d047b67..a85c1f4d8e614 100644 --- a/src/item_search.cpp +++ b/src/item_search.cpp @@ -1,10 +1,14 @@ #include "item_search.h" +#include +#include + #include "cata_utility.h" #include "item.h" #include "item_category.h" #include "material.h" -#include "recipe_dictionary.h" +#include "requirements.h" +#include "string_id.h" std::pair get_both( const std::string &a ); diff --git a/src/item_search.h b/src/item_search.h index e9bbd564b25bc..081d590e7fcb6 100644 --- a/src/item_search.h +++ b/src/item_search.h @@ -2,9 +2,11 @@ #ifndef ITEM_SEARCH_H #define ITEM_SEARCH_H +#include #include #include #include +#include #include "output.h" diff --git a/src/item_stack.cpp b/src/item_stack.cpp index 0625c17bf9fc4..15e840010565c 100644 --- a/src/item_stack.cpp +++ b/src/item_stack.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "item.h" #include "units.h" diff --git a/src/item_stack.h b/src/item_stack.h index 6a3610dd730bc..6f6a05ac11946 100644 --- a/src/item_stack.h +++ b/src/item_stack.h @@ -6,8 +6,7 @@ #include #include "units.h" - -class item; +#include "item.h" // A wrapper class to bundle up the references needed for a caller to safely manipulate // items and obtain information about items at a particular map x/y location. diff --git a/src/iteminfo_query.h b/src/iteminfo_query.h index a775ea561321a..e35b9dc4a7738 100644 --- a/src/iteminfo_query.h +++ b/src/iteminfo_query.h @@ -2,6 +2,7 @@ #ifndef ITEMINFO_QUERY_H #define ITEMINFO_QUERY_H +#include #include #include #include diff --git a/src/itype.cpp b/src/itype.cpp index ba9ca8d07918f..e9bcbefee60b6 100644 --- a/src/itype.cpp +++ b/src/itype.cpp @@ -1,11 +1,13 @@ #include "itype.h" -#include +#include #include "debug.h" #include "output.h" #include "player.h" #include "translations.h" +#include "item.h" +#include "ret_val.h" std::string gunmod_location::name() const { diff --git a/src/itype.h b/src/itype.h index 8dff2b6aaba60..4b1c929b06043 100644 --- a/src/itype.h +++ b/src/itype.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "bodypart.h" // body_part::num_bp #include "calendar.h" @@ -24,37 +25,45 @@ // see item.h class item_category; class gun_mode; + using gun_mode_id = string_id; class Item_factory; -class recipe; class emit; + using emit_id = string_id; -struct itype; class Skill; + using skill_id = string_id; struct bionic_data; + using bionic_id = string_id; class player; class item; class vitamin; + using vitamin_id = string_id; class ma_technique; + using matec_id = string_id; enum art_effect_active : int; enum art_charge : int; enum art_charge_req : int; enum art_effect_passive : int; -struct artifact_dream_datum; class material_type; + using material_id = string_id; typedef std::string itype_id; class ammunition_type; + using ammotype = string_id; class fault; + using fault_id = string_id; struct quality; + using quality_id = string_id; struct MonsterGroup; + using mongroup_id = string_id; enum field_id : int; diff --git a/src/iuse.cpp b/src/iuse.cpp index 0932c144ee649..003a54fc6d381 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -1,19 +1,22 @@ #include "iuse.h" +#include #include #include #include #include #include -#include #include +#include +#include +#include +#include +#include #include "action.h" #include "artifact.h" #include "calendar.h" #include "cata_utility.h" -#include "coordinate_conversions.h" -#include "crafting.h" #include "debug.h" #include "effect.h" // for weed_msg #include "event.h" @@ -21,7 +24,6 @@ #include "fungal_effects.h" #include "game.h" #include "game_inventory.h" -#include "iexamine.h" #include "inventory.h" #include "iuse_actor.h" // For firestarter #include "json.h" @@ -52,12 +54,33 @@ #include "translations.h" #include "trap.h" #include "ui.h" -#include "uistate.h" #include "vehicle.h" #include "vpart_position.h" #include "vpart_range.h" #include "veh_type.h" #include "weather.h" +#include "bodypart.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory_ui.h" +#include "item.h" +#include "item_location.h" +#include "itype.h" +#include "monster.h" +#include "omdata.h" +#include "optional.h" +#include "pimpl.h" +#include "player_activity.h" +#include "pldata.h" +#include "recipe.h" +#include "string_id.h" +#include "vpart_reference.h" +#include "weather_gen.h" #define RADIO_PER_TURN 25 // how many characters per turn of radio diff --git a/src/iuse.h b/src/iuse.h index 3bc13dfc37920..6019ba4dcf754 100644 --- a/src/iuse.h +++ b/src/iuse.h @@ -6,17 +6,14 @@ #include #include -#include "enums.h" #include "units.h" class item; class player; class JsonObject; -class MonsterGenerator; - template class ret_val; - struct iteminfo; + typedef std::string itype_id; struct tripoint; diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index 1618d10ca2fdb..80682e294464c 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -1,7 +1,16 @@ #include "iuse_actor.h" +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include #include "action.h" #include "ammo.h" @@ -19,7 +28,6 @@ #include "field.h" #include "game.h" #include "game_inventory.h" -#include "generic_factory.h" #include "item.h" #include "item_factory.h" #include "itype.h" @@ -50,6 +58,19 @@ #include "vehicle.h" #include "vitamin.h" #include "weather.h" +#include "character.h" +#include "creature.h" +#include "enums.h" +#include "int_id.h" +#include "inventory.h" +#include "item_location.h" +#include "json.h" +#include "line.h" +#include "player_activity.h" +#include "recipe.h" +#include "rng.h" + +class npc; const skill_id skill_mechanics( "mechanics" ); const skill_id skill_survival( "survival" ); diff --git a/src/iuse_actor.h b/src/iuse_actor.h index ecc820ba32f75..05c76feb6da72 100644 --- a/src/iuse_actor.h +++ b/src/iuse_actor.h @@ -2,9 +2,12 @@ #ifndef IUSE_ACTOR_H #define IUSE_ACTOR_H +#include #include #include #include +#include +#include #include "calendar.h" #include "color.h" @@ -14,29 +17,43 @@ #include "ret_val.h" #include "string_id.h" #include "units.h" +#include "optional.h" class vitamin; +class item; +class player; +struct iteminfo; +struct tripoint; + using vitamin_id = string_id; struct vehicle_prototype; + using vproto_id = string_id; enum field_id : int; enum hp_part : int; enum body_part : int; struct mtype; + using mtype_id = string_id; class JsonObject; class Skill; + using skill_id = string_id; class effect_type; + using efftype_id = string_id; class ammunition_type; + using ammotype = string_id; using itype_id = std::string; class material_type; + using material_id = string_id; class emit; + using emit_id = string_id; struct bionic_data; + using bionic_id = string_id; struct furn_t; struct itype; @@ -890,6 +907,7 @@ class heal_actor : public iuse_actor struct ter_t; struct trap; + class place_trap_actor : public iuse_actor { public: diff --git a/src/iuse_software.cpp b/src/iuse_software.cpp index 0abc4c9303c49..a092d7004fd3e 100644 --- a/src/iuse_software.cpp +++ b/src/iuse_software.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "cursesdef.h" #include "iuse_software_kitten.h" diff --git a/src/iuse_software_kitten.cpp b/src/iuse_software_kitten.cpp index 8ff89a1add831..e621473908594 100644 --- a/src/iuse_software_kitten.cpp +++ b/src/iuse_software_kitten.cpp @@ -1,6 +1,7 @@ #include "iuse_software_kitten.h" #include // Needed for rand() +#include #include "cursesdef.h" #include "input.h" diff --git a/src/iuse_software_lightson.cpp b/src/iuse_software_lightson.cpp index 126a98589ac9e..1461e038ccae3 100644 --- a/src/iuse_software_lightson.cpp +++ b/src/iuse_software_lightson.cpp @@ -3,13 +3,17 @@ #include #include #include +#include #include "cursesdef.h" #include "input.h" #include "output.h" #include "rng.h" #include "translations.h" -#include "ui.h" +#include "catacharset.h" +#include "color.h" +#include "enums.h" +#include "optional.h" void lightson_game::new_level() { diff --git a/src/iuse_software_lightson.h b/src/iuse_software_lightson.h index 81b2715406ee8..78d2915b39655 100644 --- a/src/iuse_software_lightson.h +++ b/src/iuse_software_lightson.h @@ -3,14 +3,10 @@ #define SOFTWARE_LIGHTSON_H #include +#include #include "cursesdef.h" -namespace catacurses -{ -class window; -} // namespace catacurses - class lightson_game { private: diff --git a/src/iuse_software_minesweeper.cpp b/src/iuse_software_minesweeper.cpp index 8f28b322b0b27..fee37aa7352bb 100644 --- a/src/iuse_software_minesweeper.cpp +++ b/src/iuse_software_minesweeper.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "catacharset.h" #include "input.h" @@ -11,6 +13,11 @@ #include "string_input_popup.h" #include "translations.h" #include "ui.h" +#include "color.h" +#include "compatibility.h" +#include "cursesdef.h" +#include "enums.h" +#include "optional.h" std::vector closest_tripoints_first( int radius, const tripoint &p ); diff --git a/src/iuse_software_snake.cpp b/src/iuse_software_snake.cpp index 8d57eb25bc2ab..c3d6a5fed208a 100644 --- a/src/iuse_software_snake.cpp +++ b/src/iuse_software_snake.cpp @@ -1,8 +1,11 @@ #include "iuse_software_snake.h" +#include #include #include #include +#include +#include #include "catacharset.h" // utf8_width() #include "cursesdef.h" @@ -11,6 +14,7 @@ #include "rng.h" #include "string_formatter.h" #include "translations.h" +#include "color.h" snake_game::snake_game() = default; diff --git a/src/iuse_software_sokoban.cpp b/src/iuse_software_sokoban.cpp index d67f1ccf48b1e..683c5637f3fb5 100644 --- a/src/iuse_software_sokoban.cpp +++ b/src/iuse_software_sokoban.cpp @@ -1,16 +1,22 @@ #include "iuse_software_sokoban.h" #include +#include +#include +#include +#include #include "cata_utility.h" #include "catacharset.h" #include "cursesdef.h" -#include "debug.h" #include "input.h" #include "output.h" #include "path_info.h" #include "string_formatter.h" #include "translations.h" +#include "color.h" +#include "enums.h" +#include "optional.h" sokoban_game::sokoban_game() = default; diff --git a/src/iuse_software_sokoban.h b/src/iuse_software_sokoban.h index 0aa402831978d..f6b36dc7cdd25 100644 --- a/src/iuse_software_sokoban.h +++ b/src/iuse_software_sokoban.h @@ -2,10 +2,12 @@ #ifndef SOFTWARE_SOKOBAN_H #define SOFTWARE_SOKOBAN_H +#include #include #include #include #include +#include namespace catacurses { diff --git a/src/json.cpp b/src/json.cpp index 7b8a1f95f6dc3..af5d82da3914d 100644 --- a/src/json.cpp +++ b/src/json.cpp @@ -1,10 +1,9 @@ #include "json.h" +#include #include // pow #include // strtoul #include // strcmp -#include -#include #include // ensure user's locale doesn't interfere with output #include #include @@ -12,6 +11,10 @@ #include #include #include +#include +#include +#include +#include // JSON parsing and serialization tools for Cataclysm-DDA. // For documentation, see the included header, json.h. diff --git a/src/json.h b/src/json.h index 2d4e367e808a7..c1f1b67911008 100644 --- a/src/json.h +++ b/src/json.h @@ -1,12 +1,12 @@ #ifndef JSON_H #define JSON_H +#include #include #include #include #include #include -#include #include #include #include @@ -26,8 +26,6 @@ * Further documentation can be found below. */ -class JsonIn; -class JsonOut; class JsonObject; class JsonArray; class JsonSerializer; diff --git a/src/lightmap.cpp b/src/lightmap.cpp index e0b05b54e028e..1be9a873bd402 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -1,8 +1,14 @@ #include "lightmap.h" // IWYU pragma: associated #include "shadowcasting.h" // IWYU pragma: associated +#include #include #include +#include +#include +#include +#include +#include #include "fragment_cloud.h" // IWYU pragma: keep #include "game.h" @@ -19,6 +25,16 @@ #include "vpart_range.h" #include "vpart_reference.h" #include "weather.h" +#include "calendar.h" +#include "character.h" +#include "enums.h" +#include "field.h" +#include "item.h" +#include "line.h" +#include "optional.h" +#include "player.h" +#include "string_formatter.h" +#include "tileray.h" #define LIGHTMAP_CACHE_X MAPSIZE_X #define LIGHTMAP_CACHE_Y MAPSIZE_Y diff --git a/src/lightmap.h b/src/lightmap.h index 1f21d3dea227f..f435c7621c00e 100644 --- a/src/lightmap.h +++ b/src/lightmap.h @@ -2,6 +2,8 @@ #ifndef LIGHTMAP_H #define LIGHTMAP_H +#include + #define LIGHT_SOURCE_LOCAL 0.1f #define LIGHT_SOURCE_BRIGHT 10 diff --git a/src/line.cpp b/src/line.cpp index 05f44970de27b..7c4982b0007fd 100644 --- a/src/line.cpp +++ b/src/line.cpp @@ -2,6 +2,11 @@ #include #include +#include +#include +#include +#include +#include #include "translations.h" #include "string_formatter.h" diff --git a/src/line.h b/src/line.h index c09b4ad3f9b74..969f0e9e3b690 100644 --- a/src/line.h +++ b/src/line.h @@ -8,7 +8,7 @@ #include #include "enums.h" -#include "game_constants.h" +#include "math_defines.h" /** Converts degrees to radians */ constexpr double DEGREES( double v ) diff --git a/src/live_view.cpp b/src/live_view.cpp index 4d04d5686f2c5..7de0866f1b32a 100644 --- a/src/live_view.cpp +++ b/src/live_view.cpp @@ -7,6 +7,7 @@ #include "output.h" #include "string_formatter.h" #include "translations.h" +#include "cursesdef.h" #if (defined TILES || defined _WIN32 || defined WINDOWS) #include "cursesport.h" @@ -14,6 +15,7 @@ #include // min & max #include +#include namespace { diff --git a/src/loading_ui.cpp b/src/loading_ui.cpp index de19ea2ab5ab6..bdcf544ca3460 100644 --- a/src/loading_ui.cpp +++ b/src/loading_ui.cpp @@ -3,6 +3,8 @@ #include "color.h" #include "output.h" #include "ui.h" +#include "cursesdef.h" +#include "translations.h" #ifdef TILES # if defined(_MSC_VER) && defined(USE_VCPKG) diff --git a/src/loading_ui.h b/src/loading_ui.h index 656b56c5cef87..5c5d91acfa5e6 100644 --- a/src/loading_ui.h +++ b/src/loading_ui.h @@ -4,6 +4,7 @@ #include #include +#include class uilist; diff --git a/src/lua_console.cpp b/src/lua_console.cpp index 8579593fea96a..59e3f7e9ed3e1 100644 --- a/src/lua_console.cpp +++ b/src/lua_console.cpp @@ -1,10 +1,14 @@ #include "lua_console.h" #include +#include +#include #include "catalua.h" #include "input.h" #include "string_input_popup.h" +#include "color.h" +#include "translations.h" lua_console::lua_console() : cWin( catacurses::newwin( lines, width, 0, 0 ) ), iWin( catacurses::newwin( 1, width, lines, 0 ) ) diff --git a/src/lua_console.h b/src/lua_console.h index 0f2bdf7158b4f..9ad01580fce7b 100644 --- a/src/lua_console.h +++ b/src/lua_console.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "cursesdef.h" #include "output.h" diff --git a/src/main.cpp b/src/main.cpp index 9782f6ac1cedc..bed126a89716a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,21 +4,26 @@ * Who knows */ +#include +#include +#include #include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include #if defined _WIN32 || defined WINDOWS #include "platform_win.h" #else #include #endif -#include -#ifdef LOCALIZE -#include -#endif - #include "color.h" #include "crash.h" #include "cursesdef.h" @@ -33,6 +38,8 @@ #include "path_info.h" #include "rng.h" #include "translations.h" +#include "input.h" +#include "worldfactory.h" #ifdef TILES # if defined(_MSC_VER) && defined(USE_VCPKG) diff --git a/src/main_menu.cpp b/src/main_menu.cpp index 70a1e564009fc..01344ce6201ff 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -2,6 +2,12 @@ #include #include +#include +#include +#include +#include +#include +#include #include "auto_pickup.h" #include "cata_utility.h" @@ -25,6 +31,11 @@ #include "text_snippets.h" #include "translations.h" #include "worldfactory.h" +#include "color.h" +#include "enums.h" +#include "options.h" +#include "pldata.h" +#include "string_formatter.h" #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/main_menu.h b/src/main_menu.h index b83c77b8a2ada..9ba88d8d1ee4e 100644 --- a/src/main_menu.h +++ b/src/main_menu.h @@ -2,8 +2,7 @@ #ifndef MAIN_MENU_H #define MAIN_MENU_H -class player; - +#include #include #include diff --git a/src/map.cpp b/src/map.cpp index c6ec1e423d642..41bd1d3289ce3 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1,10 +1,16 @@ #include "map.h" +#include #include #include #include #include #include +#include +#include +#include +#include +#include #include "ammo.h" #include "artifact.h" @@ -51,6 +57,26 @@ #include "vpart_range.h" #include "vpart_reference.h" #include "weather.h" +#include "active_item_cache.h" +#include "basecamp.h" +#include "bodypart.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "damage.h" +#include "field.h" +#include "item_location.h" +#include "itype.h" +#include "iuse.h" +#include "map_memory.h" +#include "math_defines.h" +#include "omdata.h" +#include "optional.h" +#include "player.h" +#include "player_activity.h" +#include "tileray.h" +#include "weighted_list.h" const mtype_id mon_zombie( "mon_zombie" ); diff --git a/src/map.h b/src/map.h index fa7cf11d1a6a0..9be1b1420d7ca 100644 --- a/src/map.h +++ b/src/map.h @@ -2,6 +2,7 @@ #ifndef MAP_H #define MAP_H +#include #include #include #include @@ -10,6 +11,8 @@ #include #include #include +#include +#include #include "calendar.h" #include "enums.h" @@ -20,6 +23,7 @@ #include "shadowcasting.h" #include "string_id.h" #include "units.h" +#include "item.h" //TODO: include comments about how these variables work. Where are they used. Are they constant etc. #define CAMPSIZE 1 @@ -29,20 +33,15 @@ namespace catacurses { class window; } // namespace catacurses -namespace cata -{ -template -class optional; -} // namespace cata class emit; + using emit_id = string_id; -class vpart_position; class optional_vpart_position; class player; class monster; -class item; class Creature; class tripoint_range; + enum field_id : int; class field; class field_entry; @@ -54,14 +53,11 @@ class map_cursor; struct maptile; class basecamp; class computer; -struct itype; -struct mapgendata; -class map_cursor; class Character; -class item_location; class zone_data; struct trap; struct oter_t; + enum direction : unsigned; using itype_id = std::string; using trap_id = int_id; @@ -71,17 +67,21 @@ class visitable; struct regional_settings; struct mongroup; struct ter_t; + using ter_id = int_id; using ter_str_id = string_id; struct furn_t; + using furn_id = int_id; using furn_str_id = string_id; struct mtype; + using mtype_id = string_id; struct projectile; struct veh_collision; class tileray; class harvest_list; + using harvest_id = string_id; class npc_template; @@ -98,12 +98,16 @@ struct wrapped_vehicle { typedef std::vector VehicleList; typedef std::string items_location; struct vehicle_prototype; + using vproto_id = string_id; class VehicleGroup; + using vgroup_id = string_id; struct MonsterGroup; + using mongroup_id = string_id; class map; + enum ter_bitflags : int; struct pathfinding_cache; struct pathfinding_settings; diff --git a/src/map_extras.cpp b/src/map_extras.cpp index 430cab1534e32..ceff6c5125466 100644 --- a/src/map_extras.cpp +++ b/src/map_extras.cpp @@ -1,5 +1,14 @@ #include "map_extras.h" +#include +#include +#include +#include +#include +#include +#include +#include + #include "cellular_automata.h" #include "debug.h" #include "field.h" @@ -17,6 +26,17 @@ #include "vehicle_group.h" #include "vpart_position.h" #include "vpart_range.h" +#include "calendar.h" +#include "cata_utility.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "line.h" +#include "optional.h" +#include "string_id.h" +#include "translations.h" +#include "vpart_reference.h" namespace MapExtras { diff --git a/src/map_extras.h b/src/map_extras.h index 728c7ca7f726e..7420beb319bd0 100644 --- a/src/map_extras.h +++ b/src/map_extras.h @@ -2,6 +2,8 @@ #ifndef MAP_EXTRAS_H #define MAP_EXTRAS_H +#include + #include "mapgen.h" namespace MapExtras diff --git a/src/map_item_stack.cpp b/src/map_item_stack.cpp index 8edfd68221dd8..6fae33ddcaa15 100644 --- a/src/map_item_stack.cpp +++ b/src/map_item_stack.cpp @@ -1,6 +1,9 @@ #include "map_item_stack.h" #include +#include +#include +#include #include "item.h" #include "item_category.h" diff --git a/src/map_memory.cpp b/src/map_memory.cpp index c84d0789bb773..53ba9f1d47dc1 100644 --- a/src/map_memory.cpp +++ b/src/map_memory.cpp @@ -1,5 +1,8 @@ #include "map_memory.h" +#include +#include + template T lru_cache::get( const tripoint &pos, const T &default_ ) const { diff --git a/src/map_memory.h b/src/map_memory.h index 709b612789f91..c65a9c122f6c7 100644 --- a/src/map_memory.h +++ b/src/map_memory.h @@ -5,11 +5,13 @@ #include #include #include +#include #include "enums.h" // IWYU pragma: keep class JsonOut; class JsonObject; +class JsonIn; struct memorized_terrain_tile { std::string tile; diff --git a/src/map_selector.cpp b/src/map_selector.cpp index 8c3d8be4300cc..62ef21aa64893 100644 --- a/src/map_selector.cpp +++ b/src/map_selector.cpp @@ -1,12 +1,15 @@ #include "map_selector.h" #include +#include +#include #include "game.h" #include "map.h" #include "map_iterator.h" #include "optional.h" #include "rng.h" +#include "game_constants.h" map_selector::map_selector( const tripoint &pos, int radius, bool accessible ) { diff --git a/src/map_selector.h b/src/map_selector.h index a3a2d77c1a0ba..1ff45322216e1 100644 --- a/src/map_selector.h +++ b/src/map_selector.h @@ -7,8 +7,6 @@ #include "enums.h" #include "visitable.h" -class map; - class map_cursor : public tripoint, public visitable { public: diff --git a/src/mapbuffer.cpp b/src/mapbuffer.cpp index 03f04a8b4b15d..7a04cfedab246 100644 --- a/src/mapbuffer.cpp +++ b/src/mapbuffer.cpp @@ -1,6 +1,13 @@ #include "mapbuffer.h" #include +#include +#include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "computer.h" @@ -16,6 +23,15 @@ #include "translations.h" #include "trap.h" #include "vehicle.h" +#include "active_item_cache.h" +#include "basecamp.h" +#include "calendar.h" +#include "field.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "string_id.h" +#include "visitable.h" #define dbg(x) DebugLog((DebugLevel)(x),D_MAP) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/mapbuffer.h b/src/mapbuffer.h index 1ccd341109766..5a39264dca4ef 100644 --- a/src/mapbuffer.h +++ b/src/mapbuffer.h @@ -9,9 +9,8 @@ #include "enums.h" -struct point; -struct tripoint; struct submap; +class JsonIn; /** * Store, buffer, save and load the entire world map. diff --git a/src/mapdata.cpp b/src/mapdata.cpp index caeeca57b518c..dbb8089c5cd21 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -1,11 +1,14 @@ #include "mapdata.h" #include +#include +#include +#include +#include #include "calendar.h" #include "color.h" #include "debug.h" -#include "game_constants.h" #include "generic_factory.h" #include "harvest.h" #include "iexamine.h" @@ -14,6 +17,7 @@ #include "string_formatter.h" #include "translations.h" #include "trap.h" +#include "json.h" namespace { diff --git a/src/mapdata.h b/src/mapdata.h index 9be517391f7ce..f06d2dec1ff68 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -2,10 +2,12 @@ #ifndef MAPDATA_H #define MAPDATA_H +#include #include #include #include #include +#include #include "color.h" #include "int_id.h" @@ -20,6 +22,7 @@ struct furn_t; class harvest_list; class player; struct tripoint; + using iexamine_function = void ( * )( player &, const tripoint & ); using trap_id = int_id; diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 164be5c26d952..c7714bf145f8f 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -1,11 +1,18 @@ #include "mapgen.h" +#include +#include #include -#include #include #include #include #include +#include +#include +#include +#include +#include +#include #include "ammo.h" #include "catalua.h" @@ -44,6 +51,15 @@ #include "vehicle_group.h" #include "vpart_position.h" #include "vpart_range.h" +#include "calendar.h" +#include "common_types.h" +#include "field.h" +#include "game_constants.h" +#include "item.h" +#include "pldata.h" +#include "string_id.h" +#include "tileray.h" +#include "weighted_list.h" #define dbg(x) DebugLog((DebugLevel)(x),D_MAP_GEN) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/mapgen.h b/src/mapgen.h index 0faa8f201574d..7c7d73d653293 100644 --- a/src/mapgen.h +++ b/src/mapgen.h @@ -2,28 +2,34 @@ #ifndef MAPGEN_H #define MAPGEN_H +#include #include #include #include #include +#include #include "int_id.h" +#include "mapgen_functions.h" +#include "regional_settings.h" class time_point; struct ter_t; + using ter_id = int_id; struct furn_t; + using furn_id = int_id; struct oter_t; + using oter_id = int_id; struct point; class JsonArray; class JsonObject; -struct mapgendata; struct tripoint; class map; + typedef void ( *building_gen_pointer )( map *, oter_id, mapgendata, const time_point &, float ); -struct ter_furn_id; ////////////////////////////////////////////////////////////////////////// ///// function pointer class; provides abstract referencing of diff --git a/src/mapgen_functions.cpp b/src/mapgen_functions.cpp index a8424bf5b6cf4..1d65c82a97f1b 100644 --- a/src/mapgen_functions.cpp +++ b/src/mapgen_functions.cpp @@ -1,10 +1,16 @@ #include "mapgen_functions.h" +#include #include #include #include #include #include +#include +#include +#include +#include +#include #include "computer.h" #include "debug.h" @@ -23,6 +29,14 @@ #include "trap.h" #include "vehicle_group.h" #include "vpart_position.h" +#include "calendar.h" +#include "game_constants.h" +#include "monster.h" +#include "regional_settings.h" +#include "rng.h" +#include "string_id.h" + +class npc_template; #define dbg(x) DebugLog((DebugLevel)(x),D_MAP_GEN) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/mapgenformat.cpp b/src/mapgenformat.cpp index 2f117a0498aff..5e80fc1830d6d 100644 --- a/src/mapgenformat.cpp +++ b/src/mapgenformat.cpp @@ -1,11 +1,11 @@ #include "mapgenformat.h" +#include #include #include #include "map.h" #include "mapdata.h" -#include "output.h" namespace mapf { diff --git a/src/mapgenformat.h b/src/mapgenformat.h index 93d90a655e340..925b1ce9945cf 100644 --- a/src/mapgenformat.h +++ b/src/mapgenformat.h @@ -2,14 +2,18 @@ #ifndef MAPGENFORMAT_H #define MAPGENFORMAT_H +#include #include #include +#include #include "int_id.h" struct ter_t; + using ter_id = int_id; struct furn_t; + using furn_id = int_id; class map; diff --git a/src/mapsharing.cpp b/src/mapsharing.cpp index 2962b3f2bcd20..89fb428abc944 100644 --- a/src/mapsharing.cpp +++ b/src/mapsharing.cpp @@ -1,12 +1,13 @@ #include "mapsharing.h" +#include + #ifdef __linux__ #include #include -#include -#include #include #include +#include #endif // __linux__ bool MAP_SHARING::sharing; diff --git a/src/mapsharing.h b/src/mapsharing.h index 3f06ad507e356..7a21bf7c40215 100644 --- a/src/mapsharing.h +++ b/src/mapsharing.h @@ -2,7 +2,6 @@ #ifndef MAPSHARING_H #define MAPSHARING_H -#include #include #include #include diff --git a/src/martialarts.cpp b/src/martialarts.cpp index fb6a84a4716a2..a603c96dc5f8c 100644 --- a/src/martialarts.cpp +++ b/src/martialarts.cpp @@ -3,6 +3,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "damage.h" #include "debug.h" @@ -16,6 +21,14 @@ #include "skill.h" #include "string_formatter.h" #include "translations.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "item.h" +#include "mapdata.h" +#include "pimpl.h" +#include "pldata.h" const skill_id skill_melee( "melee" ); const skill_id skill_bashing( "bashing" ); diff --git a/src/martialarts.h b/src/martialarts.h index a9a5d9600ff82..c942c1a0bf346 100644 --- a/src/martialarts.h +++ b/src/martialarts.h @@ -2,6 +2,7 @@ #ifndef MARTIALARTS_H #define MARTIALARTS_H +#include #include #include #include @@ -11,6 +12,7 @@ #include "calendar.h" #include "string_id.h" #include "ui.h" +#include "input.h" enum damage_type : int; class JsonObject; @@ -19,14 +21,19 @@ class player; class item; struct itype; class martialart; + using matype_id = string_id; class ma_buff; + using mabuff_id = string_id; class ma_technique; + using matec_id = string_id; class effect_type; + using efftype_id = string_id; class Skill; + using skill_id = string_id; matype_id martial_art_learned_from( const itype & ); diff --git a/src/material.cpp b/src/material.cpp index e840c23e1bec5..d55b5d03f9c83 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -2,6 +2,10 @@ #include #include +#include +#include +#include +#include #include "assign.h" #include "damage.h" // damage_type diff --git a/src/material.h b/src/material.h index 6d430710496b2..3fed2a8615e7b 100644 --- a/src/material.h +++ b/src/material.h @@ -2,10 +2,12 @@ #ifndef MATERIAL_H #define MATERIAL_H +#include #include #include #include #include +#include #include "fire.h" #include "game_constants.h" @@ -14,10 +16,12 @@ enum damage_type : int; class material_type; + using material_id = string_id; using itype_id = std::string; class JsonObject; class vitamin; + using vitamin_id = string_id; using mat_burn_products = std::vector>; using mat_compacts_into = std::vector; diff --git a/src/mattack_actors.cpp b/src/mattack_actors.cpp index 3d8d5898fd493..0588002243a04 100644 --- a/src/mattack_actors.cpp +++ b/src/mattack_actors.cpp @@ -1,9 +1,12 @@ #include "mattack_actors.h" +#include +#include +#include + #include "game.h" #include "generic_factory.h" #include "gun_mode.h" -#include "itype.h" #include "line.h" #include "map.h" #include "map_iterator.h" @@ -13,6 +16,15 @@ #include "output.h" #include "sounds.h" #include "translations.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "enums.h" +#include "item.h" +#include "json.h" +#include "mapdata.h" +#include "player.h" +#include "rng.h" const efftype_id effect_grabbed( "grabbed" ); const efftype_id effect_bite( "bite" ); diff --git a/src/mattack_actors.h b/src/mattack_actors.h index 23d457ac2fa18..fd07486982f39 100644 --- a/src/mattack_actors.h +++ b/src/mattack_actors.h @@ -2,18 +2,24 @@ #ifndef MATTACK_ACTORS_H #define MATTACK_ACTORS_H +#include #include #include +#include +#include #include "damage.h" #include "mattack_common.h" #include "mtype.h" #include "string_id.h" #include "weighted_list.h" +#include "bodypart.h" class JsonObject; class monster; class gun_mode; +class Creature; + using gun_mode_id = string_id; class leap_actor : public mattack_actor diff --git a/src/mattack_common.h b/src/mattack_common.h index b8071f945f25d..96db26e42b900 100644 --- a/src/mattack_common.h +++ b/src/mattack_common.h @@ -7,7 +7,6 @@ class JsonObject; class monster; -class mattack_actor; using mattack_id = std::string; using mon_action_attack = bool ( * )( monster * ); diff --git a/src/melee.cpp b/src/melee.cpp index bcecf708e8bce..e9ff0ef8a4f7b 100644 --- a/src/melee.cpp +++ b/src/melee.cpp @@ -1,12 +1,22 @@ #include "melee.h" +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "debug.h" -#include "field.h" #include "game.h" #include "game_inventory.h" #include "itype.h" @@ -25,6 +35,21 @@ #include "sounds.h" #include "string_formatter.h" #include "translations.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "item_location.h" +#include "mapdata.h" +#include "optional.h" +#include "pldata.h" +#include "string_id.h" +#include "units.h" +#include "weighted_list.h" static const bionic_id bio_cqb( "bio_cqb" ); diff --git a/src/messages.cpp b/src/messages.cpp index 32306c0291a03..24921848a5755 100644 --- a/src/messages.cpp +++ b/src/messages.cpp @@ -11,6 +11,9 @@ #include "string_formatter.h" #include "string_input_popup.h" #include "translations.h" +#include "catacharset.h" +#include "color.h" +#include "cursesdef.h" #ifdef __ANDROID__ #include @@ -21,6 +24,9 @@ #include #include #include +#include +#include +#include // sidebar messages flow direction extern bool log_from_top; diff --git a/src/messages.h b/src/messages.h index c909586058f71..a3bfbdc231fc1 100644 --- a/src/messages.h +++ b/src/messages.h @@ -2,6 +2,7 @@ #ifndef MESSAGES_H #define MESSAGES_H +#include #include #include #include diff --git a/src/mission.cpp b/src/mission.cpp index c292b35724853..e6476e2b94833 100644 --- a/src/mission.cpp +++ b/src/mission.cpp @@ -3,10 +3,11 @@ #include #include #include +#include +#include #include "debug.h" #include "game.h" -#include "io.h" #include "line.h" #include "npc.h" #include "npc_class.h" @@ -16,6 +17,12 @@ #include "skill.h" #include "string_formatter.h" #include "translations.h" +#include "creature.h" +#include "inventory.h" +#include "json.h" +#include "mapdata.h" +#include "monster.h" +#include "player.h" #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/mission.h b/src/mission.h index 37f5673e47101..9a183bb9511fa 100644 --- a/src/mission.h +++ b/src/mission.h @@ -12,11 +12,10 @@ #include "calendar.h" #include "enums.h" #include "npc_favor.h" +#include "string_id.h" class player; class mission; -class game; -class npc; class Creature; class npc_class; class JsonObject; diff --git a/src/mission_companion.cpp b/src/mission_companion.cpp index 4930b69fac4f8..91ee5f49faabf 100644 --- a/src/mission_companion.cpp +++ b/src/mission_companion.cpp @@ -1,16 +1,17 @@ #include "mission_companion.h" +#include #include #include #include +#include +#include +#include +#include -#include "bionics.h" #include "calendar.h" #include "compatibility.h" // needed for the workaround for the std::to_string bug in some compilers #include "coordinate_conversions.h" -#include "craft_command.h" -#include "dialogue.h" -#include "editmap.h" #include "faction_camp.h" #include "input.h" #include "item_group.h" @@ -23,10 +24,31 @@ #include "overmap.h" #include "overmapbuffer.h" #include "rng.h" -#include "string_input_popup.h" #include "translations.h" -#include "vehicle.h" -#include "vpart_range.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "enums.h" +#include "faction.h" +#include "game.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "item_stack.h" +#include "map.h" +#include "monster.h" +#include "npc.h" +#include "npc_class.h" +#include "optional.h" +#include "output.h" +#include "pimpl.h" +#include "player.h" +#include "pldata.h" +#include "string_formatter.h" +#include "string_id.h" +#include "ui.h" +#include "weighted_list.h" const skill_id skill_dodge( "dodge" ); const skill_id skill_gun( "gun" ); diff --git a/src/mission_companion.h b/src/mission_companion.h index 9952c18297a97..8b1484ed8a70e 100644 --- a/src/mission_companion.h +++ b/src/mission_companion.h @@ -6,24 +6,18 @@ #include #include -#include "game.h" -#include "map.h" -#include "npc.h" -#include "output.h" +#include "calendar.h" +#include "damage.h" +#include "translations.h" -class martialart; -class JsonObject; -class mission; -class time_point; -class time_duration; class npc; class item; struct tripoint; struct comp_rank; -class player; class npc_template; template class string_id; +class monster; struct mission_entry { std::string id; diff --git a/src/mission_end.cpp b/src/mission_end.cpp index 1e1661a5f1d22..203b010f74dcb 100644 --- a/src/mission_end.cpp +++ b/src/mission_end.cpp @@ -1,5 +1,7 @@ #include "mission.h" // IWYU pragma: associated +#include + #include "debug.h" #include "game.h" #include "messages.h" @@ -7,6 +9,9 @@ #include "output.h" #include "rng.h" #include "translations.h" +#include "creature.h" +#include "item.h" +#include "player.h" const efftype_id effect_infection( "infection" ); diff --git a/src/mission_fail.cpp b/src/mission_fail.cpp index 05a747fefe673..d28eee7cac73b 100644 --- a/src/mission_fail.cpp +++ b/src/mission_fail.cpp @@ -1,5 +1,7 @@ #include "mission.h" // IWYU pragma: associated +#include + #include "game.h" #include "npc.h" #include "overmapbuffer.h" diff --git a/src/mission_start.cpp b/src/mission_start.cpp index f3992b01584f1..f5a2add344ac4 100644 --- a/src/mission_start.cpp +++ b/src/mission_start.cpp @@ -1,6 +1,7 @@ #include "mission.h" // IWYU pragma: associated -#include +#include +#include #include "computer.h" #include "coordinate_conversions.h" @@ -26,6 +27,16 @@ #include "string_formatter.h" #include "translations.h" #include "trap.h" +#include "bodypart.h" +#include "creature.h" +#include "faction.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "monster.h" +#include "optional.h" +#include "player.h" +#include "rng.h" const mtype_id mon_charred_nightmare( "mon_charred_nightmare" ); const mtype_id mon_dog( "mon_dog" ); diff --git a/src/mission_ui.cpp b/src/mission_ui.cpp index b8f37613ce26f..8e7debe0ad96b 100644 --- a/src/mission_ui.cpp +++ b/src/mission_ui.cpp @@ -1,18 +1,23 @@ #include "game.h" // IWYU pragma: associated +#include #include #include #include +#include #include "mission.h" #include "calendar.h" // needed for the workaround for the std::to_string bug in some compilers #include "compatibility.h" // IWYU pragma: keep -#include "game.h" #include "input.h" #include "output.h" #include "player.h" #include "npc.h" +#include "color.h" +#include "debug.h" +#include "string_formatter.h" +#include "translations.h" void game::list_missions() { diff --git a/src/missiondef.cpp b/src/missiondef.cpp index 9ad3e787f09ec..25af0bf678f66 100644 --- a/src/missiondef.cpp +++ b/src/missiondef.cpp @@ -1,12 +1,15 @@ #include "mission.h" // IWYU pragma: associated #include +#include #include "assign.h" #include "calendar.h" #include "generic_factory.h" #include "item.h" #include "rng.h" +#include "debug.h" +#include "json.h" enum legacy_mission_type_id { MISSION_NULL, diff --git a/src/mod_manager.cpp b/src/mod_manager.cpp index 5dc60b56610d9..45474c12eda7f 100644 --- a/src/mod_manager.cpp +++ b/src/mod_manager.cpp @@ -1,18 +1,21 @@ #include "mod_manager.h" #include +#include +#include +#include +#include #include "cata_utility.h" #include "debug.h" #include "dependency_tree.h" #include "filesystem.h" -#include "generic_factory.h" #include "json.h" -#include "output.h" #include "path_info.h" #include "string_formatter.h" #include "translations.h" #include "worldfactory.h" +#include "assign.h" static const std::string MOD_SEARCH_FILE( "modinfo.json" ); diff --git a/src/mod_manager.h b/src/mod_manager.h index 14022ae4b1928..c48f5aba8aa73 100644 --- a/src/mod_manager.h +++ b/src/mod_manager.h @@ -2,20 +2,20 @@ #ifndef MOD_MANAGER_H #define MOD_MANAGER_H +#include #include #include #include #include +#include #include "pimpl.h" #include "string_id.h" struct WORLD; + typedef WORLD *WORLDPTR; class dependency_tree; -class mod_ui; -class game; -class worldfactory; class JsonObject; class mod_manager; @@ -24,6 +24,7 @@ const std::vector > &get_mod_list_tabs(); const std::map &get_mod_list_cat_tab(); struct MOD_INFORMATION; + using mod_id = string_id; struct MOD_INFORMATION { diff --git a/src/mod_manager_ui.cpp b/src/mod_manager_ui.cpp index 7417d9dfd26cd..732baeaa6fe91 100644 --- a/src/mod_manager_ui.cpp +++ b/src/mod_manager_ui.cpp @@ -1,6 +1,8 @@ #include "mod_manager.h" // IWYU pragma: associated #include +#include +#include #include "debug.h" #include "dependency_tree.h" diff --git a/src/mod_tileset.cpp b/src/mod_tileset.cpp index 0dec2d13b9c5b..ff7fa4bd4e635 100644 --- a/src/mod_tileset.cpp +++ b/src/mod_tileset.cpp @@ -1,7 +1,7 @@ #include "mod_tileset.h" #include -#include +#include #include "json.h" diff --git a/src/monattack.cpp b/src/monattack.cpp index 9ef8a9c0b5ddd..4ad3fd9bfc83f 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -1,13 +1,22 @@ #include "monattack.h" +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "ballistics.h" #include "bodypart.h" #include "debug.h" -#include "dispersion.h" #include "effect.h" #include "event.h" #include "field.h" @@ -37,6 +46,22 @@ #include "vehicle.h" #include "vpart_position.h" #include "weighted_list.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "explosion.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "item_stack.h" +#include "iuse.h" +#include "optional.h" +#include "pathfinding.h" +#include "player.h" +#include "string_formatter.h" +#include "tileray.h" const mtype_id mon_ant( "mon_ant" ); const mtype_id mon_ant_acid( "mon_ant_acid" ); diff --git a/src/mondeath.cpp b/src/mondeath.cpp index c22bf62f5cf1a..9039e82d32c49 100644 --- a/src/mondeath.cpp +++ b/src/mondeath.cpp @@ -1,8 +1,15 @@ #include "mondeath.h" +#include #include #include #include +#include +#include +#include +#include +#include +#include #include "event.h" #include "field.h" @@ -24,6 +31,16 @@ #include "sounds.h" #include "string_formatter.h" #include "translations.h" +#include "bodypart.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "item.h" +#include "item_stack.h" +#include "iuse.h" +#include "pldata.h" +#include "units.h" +#include "weighted_list.h" const mtype_id mon_blob( "mon_blob" ); const mtype_id mon_blob_brain( "mon_blob_brain" ); diff --git a/src/mondefense.cpp b/src/mondefense.cpp index a59134ba3b430..879d8d4c4b953 100644 --- a/src/mondefense.cpp +++ b/src/mondefense.cpp @@ -1,12 +1,16 @@ #include "mondefense.h" +#include #include +#include +#include +#include +#include #include "ballistics.h" #include "bodypart.h" #include "creature.h" #include "damage.h" -#include "dispersion.h" #include "game.h" #include "messages.h" #include "monster.h" @@ -15,6 +19,8 @@ #include "projectile.h" #include "rng.h" #include "translations.h" +#include "enums.h" +#include "item.h" std::vector closest_tripoints_first( int radius, const tripoint &p ); diff --git a/src/monexamine.cpp b/src/monexamine.cpp index 4eb0fb1806d7f..eb67b6f930c7b 100644 --- a/src/monexamine.cpp +++ b/src/monexamine.cpp @@ -1,6 +1,9 @@ #include "monexamine.h" #include +#include +#include +#include #include "calendar.h" #include "game.h" diff --git a/src/monfaction.cpp b/src/monfaction.cpp index f68120ffa226c..0dbd4e1494ef9 100644 --- a/src/monfaction.cpp +++ b/src/monfaction.cpp @@ -1,7 +1,12 @@ #include "monfaction.h" +#include #include #include +#include +#include +#include +#include #include "debug.h" #include "json.h" diff --git a/src/mongroup.cpp b/src/mongroup.cpp index ccf73f246f9d8..b150ce3005a68 100644 --- a/src/mongroup.cpp +++ b/src/mongroup.cpp @@ -1,5 +1,8 @@ #include "mongroup.h" +#include +#include + #include "assign.h" #include "calendar.h" #include "debug.h" diff --git a/src/mongroup.h b/src/mongroup.h index 3ccdea55d7814..2bf0f15462fde 100644 --- a/src/mongroup.h +++ b/src/mongroup.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "calendar.h" #include "enums.h" @@ -18,12 +19,15 @@ class JsonObject; class JsonIn; class JsonOut; struct MonsterGroup; + using mongroup_id = string_id; struct mtype; + using mtype_id = string_id; struct MonsterGroupEntry; + typedef std::vector FreqDef; typedef FreqDef::iterator FreqDef_iter; diff --git a/src/monmove.cpp b/src/monmove.cpp index f12b0ad83ecd4..64dbca857b21b 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -2,9 +2,12 @@ #include "monster.h" // IWYU pragma: associated +#include #include +#include +#include +#include -#include "cursesdef.h" #include "debug.h" #include "field.h" #include "game.h" @@ -22,6 +25,10 @@ #include "sounds.h" #include "translations.h" #include "trap.h" +#include "game_constants.h" +#include "mattack_common.h" +#include "pathfinding.h" +#include "player.h" #define MONSTER_FOLLOW_DIST 8 diff --git a/src/monster.cpp b/src/monster.cpp index f8fc276423406..ba5455ee0aa5c 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -1,8 +1,11 @@ #include "monster.h" +#include #include -#include #include +#include +#include +#include #include "coordinate_conversions.h" #include "cursesdef.h" @@ -33,6 +36,14 @@ #include "string_formatter.h" #include "translations.h" #include "trap.h" +#include "character.h" +#include "compatibility.h" +#include "game_constants.h" +#include "mattack_common.h" +#include "pimpl.h" +#include "player.h" + +struct pathfinding_settings; // Limit the number of iterations for next upgrade_time calculations. // This also sets the percentage of monsters that will never upgrade. diff --git a/src/monster.h b/src/monster.h index 53bde3b964005..161772b5afc9b 100644 --- a/src/monster.h +++ b/src/monster.h @@ -2,6 +2,8 @@ #ifndef MONSTER_H #define MONSTER_H +#include +#include #include #include #include @@ -13,17 +15,29 @@ #include "creature.h" #include "enums.h" #include "int_id.h" +#include "bodypart.h" +#include "color.h" +#include "cursesdef.h" +#include "damage.h" +#include "item.h" +#include "mtype.h" +#include "optional.h" +#include "output.h" +#include "pldata.h" +#include "string_id.h" +#include "units.h" class JsonObject; class JsonIn; class JsonOut; -class map; -class game; -class item; class monfaction; class player; class Character; -struct mtype; +class effect; +struct dealt_projectile_attack; +struct pathfinding_settings; +struct trap; + enum monster_trigger : int; enum field_id : int; @@ -31,6 +45,7 @@ using mfaction_id = int_id; using mtype_id = string_id; class monster; + typedef std::map< mfaction_id, std::set< monster * > > mfactions; class mon_special_attack diff --git a/src/monstergenerator.cpp b/src/monstergenerator.cpp index f48d1c272c6a0..b0be7ac37e64a 100644 --- a/src/monstergenerator.cpp +++ b/src/monstergenerator.cpp @@ -2,13 +2,13 @@ #include "monstergenerator.h" // IWYU pragma: associated #include +#include +#include #include "catacharset.h" -#include "color.h" #include "creature.h" #include "debug.h" #include "generic_factory.h" -#include "harvest.h" #include "item.h" #include "item_group.h" #include "json.h" @@ -20,9 +20,13 @@ #include "mongroup.h" #include "mtype.h" #include "options.h" -#include "output.h" #include "rng.h" -#include "translations.h" +#include "assign.h" +#include "bodypart.h" +#include "damage.h" +#include "mapdata.h" +#include "pathfinding.h" +#include "units.h" extern bool test_mode; diff --git a/src/monstergenerator.h b/src/monstergenerator.h index 00082ec52a248..b0d8681cd04e8 100644 --- a/src/monstergenerator.h +++ b/src/monstergenerator.h @@ -5,31 +5,31 @@ #include #include #include +#include #include "enums.h" #include "mattack_common.h" #include "pimpl.h" #include "string_id.h" +#include "generic_factory.h" +#include "mtype.h" class JsonObject; class Creature; -struct mtype; + enum m_flag : int; enum monster_trigger : int; enum m_size : int; class monster; -class Creature; struct dealt_projectile_attack; + using mon_action_death = void ( * )( monster & ); using mon_action_attack = bool ( * )( monster * ); using mon_action_defend = void ( * )( monster &, Creature *, dealt_projectile_attack const * ); using mtype_id = string_id; struct species_type; -using species_id = string_id; -class mattack_actor; -template -class generic_factory; +using species_id = string_id; struct species_type { species_id id; diff --git a/src/morale.cpp b/src/morale.cpp index 356645ead6194..00a6856820a51 100644 --- a/src/morale.cpp +++ b/src/morale.cpp @@ -1,7 +1,10 @@ #include "morale.h" +#include #include #include +#include +#include #include "bodypart.h" #include "cata_utility.h" @@ -10,11 +13,13 @@ #include "debug.h" #include "input.h" #include "item.h" -#include "itype.h" #include "morale_types.h" #include "options.h" #include "output.h" #include "translations.h" +#include "color.h" +#include "creature.h" +#include "player.h" static const efftype_id effect_cold( "cold" ); static const efftype_id effect_hot( "hot" ); diff --git a/src/morale.h b/src/morale.h index 133459a3d3d54..e9475180fc5cc 100644 --- a/src/morale.h +++ b/src/morale.h @@ -5,10 +5,14 @@ #include #include #include +#include +#include +#include #include "bodypart.h" #include "calendar.h" #include "morale_types.h" +#include "string_id.h" class item; class JsonIn; @@ -17,8 +21,10 @@ class JsonObject; struct itype; struct morale_mult; class effect_type; + using efftype_id = string_id; struct mutation_branch; + using trait_id = string_id; class player_morale diff --git a/src/morale_types.cpp b/src/morale_types.cpp index 061717838f3a3..fca40ee988cf8 100644 --- a/src/morale_types.cpp +++ b/src/morale_types.cpp @@ -1,9 +1,14 @@ #include "morale_types.h" +#include +#include +#include + #include "generic_factory.h" #include "itype.h" #include "json.h" #include "string_formatter.h" +#include "debug.h" const morale_type &morale_type_data::convert_legacy( int lmt ) { diff --git a/src/morale_types.h b/src/morale_types.h index a3a4ba7933e06..f41e0e72df80c 100644 --- a/src/morale_types.h +++ b/src/morale_types.h @@ -2,11 +2,13 @@ #ifndef MORALE_TYPES_H #define MORALE_TYPES_H +#include + #include "string_id.h" class JsonObject; - class morale_type_data; + using morale_type = string_id; struct itype; diff --git a/src/mtype.h b/src/mtype.h index c19a0e93e0e8f..2203622570e41 100644 --- a/src/mtype.h +++ b/src/mtype.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "color.h" #include "damage.h" @@ -20,9 +21,11 @@ class Creature; class monster; class monfaction; class emit; + using emit_id = string_id; struct dealt_projectile_attack; struct species_type; + enum field_id : int; enum body_part : int; enum m_size : int; @@ -31,25 +34,28 @@ using mon_action_death = void ( * )( monster & ); using mon_action_attack = bool ( * )( monster * ); using mon_action_defend = void ( * )( monster &, Creature *, dealt_projectile_attack const * ); struct MonsterGroup; + using mongroup_id = string_id; struct mtype; + using mtype_id = string_id; using mfaction_id = int_id; using species_id = string_id; class effect_type; + using efftype_id = string_id; class JsonArray; -class JsonIn; class JsonObject; class material_type; + using material_id = string_id; typedef std::string itype_id; -class emit; using emit_id = string_id; class harvest_list; + using harvest_id = string_id; // These are triggers which may affect the monster's anger or morale. diff --git a/src/mutation.cpp b/src/mutation.cpp index aaae82d423bd5..558a4349dbafd 100644 --- a/src/mutation.cpp +++ b/src/mutation.cpp @@ -1,6 +1,9 @@ #include "mutation.h" +#include #include +#include +#include #include "action.h" #include "field.h" @@ -15,6 +18,12 @@ #include "player.h" #include "translations.h" #include "ui.h" +#include "creature.h" +#include "int_id.h" +#include "optional.h" +#include "player_activity.h" +#include "pldata.h" +#include "rng.h" const efftype_id effect_stunned( "stunned" ); diff --git a/src/mutation.h b/src/mutation.h index b129cf4971dad..6e27ad539cb58 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -7,6 +7,8 @@ #include #include #include +#include +#include #include "bodypart.h" #include "calendar.h" @@ -19,19 +21,19 @@ class nc_color; class JsonObject; class vitamin; +class player; + using vitamin_id = string_id; class martialart; + using matype_id = string_id; struct dream; struct mutation_branch; class item; + using trait_id = string_id; using itype_id = std::string; -struct mutation_category_trait; - class Trait_group; -class Trait_creation_data; -class JsonObject; class JsonArray; namespace trait_group diff --git a/src/mutation_data.cpp b/src/mutation_data.cpp index 0cd2c6a439c5f..17d6c017cade4 100644 --- a/src/mutation_data.cpp +++ b/src/mutation_data.cpp @@ -4,13 +4,14 @@ #include #include #include +#include +#include #include "bodypart.h" #include "color.h" #include "debug.h" #include "enums.h" // tripoint #include "json.h" -#include "pldata.h" // traits #include "trait_group.h" #include "translations.h" #include "generic_factory.h" diff --git a/src/mutation_ui.cpp b/src/mutation_ui.cpp index 39e42294399f3..8627e40955f08 100644 --- a/src/mutation_ui.cpp +++ b/src/mutation_ui.cpp @@ -4,8 +4,6 @@ #include #include "mutation.h" -#include "catacharset.h" -#include "debug.h" #include "game.h" #include "input.h" #include "output.h" diff --git a/src/name.cpp b/src/name.cpp index 0f871d6827d21..395e10e8cbde5 100644 --- a/src/name.cpp +++ b/src/name.cpp @@ -1,7 +1,10 @@ #include "name.h" +#include #include #include +#include +#include #include "cata_utility.h" #include "json.h" diff --git a/src/newcharacter.cpp b/src/newcharacter.cpp index 4bef001af5802..a6e399b66e279 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -1,11 +1,16 @@ #include "player.h" // IWYU pragma: associated +#include +#include +#include +#include +#include +#include + #include "addiction.h" #include "bionics.h" #include "cata_utility.h" #include "catacharset.h" -#include "crafting.h" -#include "debug.h" #include "game.h" #include "input.h" #include "json.h" @@ -27,15 +32,7 @@ #include "translations.h" #include "ui.h" #include "worldfactory.h" - -#ifndef _MSC_VER -#include -#endif - -#include -#include -#include -#include +#include "recipe.h" // Colors used in this file: (Most else defaults to c_light_gray) #define COL_STAT_ACT c_white // Selected stat diff --git a/src/npc.cpp b/src/npc.cpp index 60e916b6a2b47..f056c69be461c 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -1,7 +1,15 @@ #include "npc.h" +#include +#include +#include +#include +#include +#include +#include +#include + #include "ammo.h" -#include "auto_pickup.h" #include "coordinate_conversions.h" #include "game.h" #include "item_group.h" @@ -12,7 +20,6 @@ #include "mapdata.h" #include "messages.h" #include "mission.h" -#include "monfaction.h" #include "morale_types.h" #include "mtype.h" #include "mutation.h" @@ -28,6 +35,23 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" // IWYU pragma: keep +#include "bodypart.h" +#include "cata_utility.h" +#include "character.h" +#include "debug.h" +#include "game_constants.h" +#include "item.h" +#include "iuse.h" +#include "line.h" +#include "math_defines.h" +#include "monster.h" +#include "pathfinding.h" +#include "ret_val.h" +#include "rng.h" +#include "tileray.h" +#include "translations.h" +#include "units.h" +#include "visitable.h" const skill_id skill_mechanics( "mechanics" ); const skill_id skill_electronics( "electronics" ); diff --git a/src/npc.h b/src/npc.h index 628e0538006e9..3f57177edc035 100644 --- a/src/npc.h +++ b/src/npc.h @@ -7,29 +7,46 @@ #include #include #include +#include +#include +#include +#include #include "calendar.h" #include "faction.h" #include "optional.h" #include "pimpl.h" #include "player.h" +#include "auto_pickup.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "damage.h" +#include "enums.h" +#include "int_id.h" +#include "inventory.h" +#include "item_location.h" +#include "mapdata.h" +#include "pldata.h" +#include "string_formatter.h" +#include "string_id.h" class JsonObject; class JsonIn; class JsonOut; class item; -class overmap; -class player; -class field_entry; class npc_class; -class auto_pickup; class monfaction; struct mission_type; -struct npc_companion_mission; struct overmap_location; +class Character; +class mission; +class vehicle; +struct pathfinding_settings; enum game_message_type : int; class gun_mode; + using npc_class_id = string_id; using mission_type_id = string_id; using mfaction_id = int_id; @@ -434,7 +451,6 @@ struct npc_chatbin { void deserialize( JsonIn &jsin ); }; -class npc; class npc_template; struct epilogue; diff --git a/src/npc_class.cpp b/src/npc_class.cpp index f40ffdf82cc61..7529ab44802f0 100644 --- a/src/npc_class.cpp +++ b/src/npc_class.cpp @@ -1,6 +1,12 @@ #include "npc_class.h" +#include #include +#include +#include +#include +#include +#include #include "debug.h" #include "generic_factory.h" @@ -9,6 +15,7 @@ #include "rng.h" #include "skill.h" #include "trait_group.h" +#include "json.h" static const std::array legacy_ids = {{ npc_class_id( "NC_NONE" ), diff --git a/src/npc_class.h b/src/npc_class.h index e6c60b89edc99..c113448ff5f51 100644 --- a/src/npc_class.h +++ b/src/npc_class.h @@ -5,24 +5,29 @@ #include #include #include +#include #include "string_id.h" +#include "int_id.h" class JsonObject; - class npc_class; + using npc_class_id = string_id; class Skill; + using skill_id = string_id; struct mutation_branch; + using trait_id = string_id; typedef std::string Group_tag; typedef std::string Mutation_category_tag; class Trait_group; + namespace trait_group { diff --git a/src/npc_favor.h b/src/npc_favor.h index 27962e06f7ff5..d2c61d76dccad 100644 --- a/src/npc_favor.h +++ b/src/npc_favor.h @@ -2,10 +2,13 @@ #ifndef NPC_FAVOR_H #define NPC_FAVOR_H +#include + #include "string_id.h" using itype_id = std::string; class Skill; + using skill_id = string_id; class JsonIn; class JsonOut; diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 1bc9404bac21a..851f20b20f0cb 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -1,40 +1,42 @@ #include "dialogue.h" // IWYU pragma: associated +#include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include #include "ammo.h" -#include "basecamp.h" #include "cata_utility.h" -#include "catacharset.h" // needed for the workaround for the std::to_string bug in some compilers #include "compatibility.h" // IWYU pragma: keep -#include "coordinate_conversions.h" #include "debug.h" #include "editmap.h" #include "faction_camp.h" #include "game.h" #include "help.h" #include "input.h" -#include "item_group.h" #include "itype.h" #include "json.h" #include "line.h" #include "map.h" -#include "map_selector.h" #include "martialarts.h" #include "messages.h" #include "mission.h" #include "mission_companion.h" -#include "morale_types.h" #include "npc.h" #include "npc_class.h" #include "npctalk.h" #include "npctrade.h" #include "output.h" -#include "overmap.h" #include "overmapbuffer.h" #include "rng.h" #include "skill.h" @@ -45,8 +47,24 @@ #include "ui.h" #include "units.h" #include "vehicle.h" -#include "vehicle_selector.h" #include "vpart_position.h" +#include "auto_pickup.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "color.h" +#include "damage.h" +#include "enums.h" +#include "faction.h" +#include "game_constants.h" +#include "int_id.h" +#include "item.h" +#include "material.h" +#include "omdata.h" +#include "optional.h" +#include "pimpl.h" +#include "player.h" +#include "player_activity.h" const skill_id skill_speech( "speech" ); const skill_id skill_barter( "barter" ); diff --git a/src/npctalk.h b/src/npctalk.h index f4f76228049ea..73023528b6a0e 100644 --- a/src/npctalk.h +++ b/src/npctalk.h @@ -2,16 +2,16 @@ #ifndef NPCTALK_H #define NPCTALK_H -#include "auto_pickup.h" - #include #include "string_id.h" class martialart; + using matype_id = string_id; class npc; class Skill; + using skill_id = string_id; class time_duration; diff --git a/src/npctalk_funcs.cpp b/src/npctalk_funcs.cpp index fcbbfe511ea99..34fde89c92836 100644 --- a/src/npctalk_funcs.cpp +++ b/src/npctalk_funcs.cpp @@ -1,14 +1,16 @@ #include "npctalk.h" // IWYU pragma: associated +#include #include #include #include +#include +#include #include "basecamp.h" #include "bionics.h" #include "debug.h" #include "game.h" -#include "itype.h" #include "line.h" #include "map.h" #include "messages.h" @@ -17,14 +19,29 @@ #include "npc.h" #include "npctrade.h" #include "output.h" -#include "overmap.h" #include "overmapbuffer.h" #include "requirements.h" #include "rng.h" #include "string_formatter.h" #include "translations.h" #include "ui.h" -#include "units.h" +#include "auto_pickup.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "enums.h" +#include "faction.h" +#include "game_constants.h" +#include "item.h" +#include "item_location.h" +#include "mapdata.h" +#include "pimpl.h" +#include "player.h" +#include "player_activity.h" +#include "pldata.h" + +struct itype; #define dbg(x) DebugLog((DebugLevel)(x), D_NPC) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/npctrade.cpp b/src/npctrade.cpp index 71ff6ac79bc57..a6f5db2a0ef66 100644 --- a/src/npctrade.cpp +++ b/src/npctrade.cpp @@ -1,24 +1,28 @@ #include "npctrade.h" +#include #include #include #include +#include +#include #include "cata_utility.h" -#include "debug.h" #include "game.h" -#include "help.h" #include "input.h" -#include "item_group.h" -#include "map.h" #include "map_selector.h" #include "npc.h" #include "output.h" #include "skill.h" #include "string_formatter.h" #include "translations.h" -#include "vehicle.h" #include "vehicle_selector.h" +#include "color.h" +#include "cursesdef.h" +#include "item.h" +#include "player.h" +#include "units.h" +#include "visitable.h" const skill_id skill_barter( "barter" ); diff --git a/src/npctrade.h b/src/npctrade.h index 67407ec2b38b8..a65707d08d119 100644 --- a/src/npctrade.h +++ b/src/npctrade.h @@ -2,12 +2,18 @@ #ifndef NPCTRADE_H #define NPCTRADE_H -#include #include +#include +#include +#include -#include "game.h" -#include "itype.h" -#include "npc.h" +#include "inventory.h" +#include "item_location.h" + +class Character; +class item; +class npc; +class player; struct item_pricing { item_pricing( Character &c, item *it, int v, bool s ) : loc( c, it ), price( v ), selected( s ) { diff --git a/src/omdata.h b/src/omdata.h index 90ead051bcae7..38f6b2cf94948 100644 --- a/src/omdata.h +++ b/src/omdata.h @@ -2,10 +2,14 @@ #ifndef OMDATA_H #define OMDATA_H +#include +#include #include #include #include #include +#include +#include #include "color.h" #include "common_types.h" @@ -15,15 +19,16 @@ #include "translations.h" struct MonsterGroup; + using mongroup_id = string_id; struct city; struct oter_t; -struct oter_type_t; struct overmap_location; class JsonObject; class overmap_connection; class overmap_special_batch; class overmap_special; + using overmap_special_id = string_id; /** Direction on the overmap. */ diff --git a/src/options.cpp b/src/options.cpp index 63bd2bbeb436b..5c1ba7a147b00 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -1,5 +1,7 @@ #include "options.h" +#include + #include "cata_utility.h" #include "catacharset.h" #include "cursesdef.h" @@ -18,6 +20,7 @@ #include "string_input_popup.h" #include "translations.h" #include "worldfactory.h" +#include "color.h" #ifdef TILES #include "cata_tiles.h" @@ -37,6 +40,8 @@ #include #include #include +#include +#include bool trigdist; bool use_tiles; diff --git a/src/output.cpp b/src/output.cpp index f8710c5764e2f..b7e4935aac81b 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -1,5 +1,9 @@ #include "output.h" +#include +#include +#include +#include #include #include #include @@ -9,6 +13,8 @@ #include #include #include +#include +#include #include "cata_utility.h" #include "catacharset.h" @@ -24,6 +30,7 @@ #include "string_formatter.h" #include "string_input_popup.h" #include "units.h" +#include "enums.h" #if (defined TILES || defined _WIN32 || defined WINDOWS) #include "cursesport.h" diff --git a/src/output.h b/src/output.h index 71af646037c0f..d179f06578262 100644 --- a/src/output.h +++ b/src/output.h @@ -2,9 +2,15 @@ #ifndef OUTPUT_H #define OUTPUT_H +#include #include #include #include +#include +#include +#include +#include +#include #include "catacharset.h" #include "color.h" @@ -12,14 +18,16 @@ #include "string_formatter.h" #include "translations.h" #include "units.h" +#include "debug.h" struct input_event; struct iteminfo; + enum direction : unsigned; -class input_context; namespace catacurses { class window; + using chtype = int; } // namespace catacurses diff --git a/src/overlay_ordering.cpp b/src/overlay_ordering.cpp index 071db26ff53ea..4c971a2b0ca19 100644 --- a/src/overlay_ordering.cpp +++ b/src/overlay_ordering.cpp @@ -1,5 +1,8 @@ #include "overlay_ordering.h" +#include +#include + #include "json.h" std::map base_mutation_overlay_ordering; diff --git a/src/overlay_ordering.h b/src/overlay_ordering.h index f44c5ba5c3ef3..323c08a57284a 100644 --- a/src/overlay_ordering.h +++ b/src/overlay_ordering.h @@ -3,8 +3,7 @@ #define OVERLAY_ORDERING_H #include - -#include "string_id.h" +#include class JsonObject; diff --git a/src/overmap.cpp b/src/overmap.cpp index 7650d62561539..0aa2385c0c442 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include "cata_utility.h" #include "coordinate_conversions.h" @@ -41,6 +43,11 @@ #include "rotatable_symbols.h" #include "simple_pathfinding.h" #include "translations.h" +#include "assign.h" +#include "item.h" +#include "math_defines.h" +#include "monster.h" +#include "string_formatter.h" #define dbg(x) DebugLog((DebugLevel)(x),D_MAP_GEN) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/overmap.h b/src/overmap.h index add89a950b042..79bd0cd78c94e 100644 --- a/src/overmap.h +++ b/src/overmap.h @@ -2,6 +2,7 @@ #ifndef OVERMAP_H #define OVERMAP_H +#include #include #include #include @@ -11,24 +12,21 @@ #include #include #include +#include +#include #include "game_constants.h" -#include "monster.h" #include "omdata.h" #include "overmap_types.h" // IWYU pragma: keep #include "regional_settings.h" -#include "weighted_list.h" +#include "enums.h" +#include "mongroup.h" -class input_context; -class JsonObject; class npc; -class overmapbuffer; class overmap_connection; -namespace catacurses -{ -class window; -} // namespace catacurses -struct mongroup; +class JsonIn; +class JsonOut; +class monster; namespace pf { diff --git a/src/overmap_connection.cpp b/src/overmap_connection.cpp index 2fdc748fe1b04..cb1caca7fa343 100644 --- a/src/overmap_connection.cpp +++ b/src/overmap_connection.cpp @@ -1,11 +1,15 @@ #include "overmap_connection.h" +#include #include #include +#include +#include #include "generic_factory.h" #include "json.h" #include "overmap_location.h" +#include "debug.h" namespace { diff --git a/src/overmap_connection.h b/src/overmap_connection.h index df5ab699594ac..1840ffc93b22f 100644 --- a/src/overmap_connection.h +++ b/src/overmap_connection.h @@ -4,14 +4,16 @@ #include #include +#include +#include -#include "enums.h" #include "int_id.h" #include "omdata.h" #include "string_id.h" class JsonObject; class JsonIn; +struct overmap_location; class overmap_connection { diff --git a/src/overmap_location.cpp b/src/overmap_location.cpp index 65b8ab259f0d9..eb40279cb968b 100644 --- a/src/overmap_location.cpp +++ b/src/overmap_location.cpp @@ -1,10 +1,13 @@ #include "overmap_location.h" #include +#include #include "generic_factory.h" #include "omdata.h" #include "rng.h" +#include "debug.h" +#include "json.h" namespace { diff --git a/src/overmap_location.h b/src/overmap_location.h index 964b9c815ead4..fa1a137877bb6 100644 --- a/src/overmap_location.h +++ b/src/overmap_location.h @@ -3,12 +3,12 @@ #define OVERMAP_LOCATION_H #include +#include #include "int_id.h" #include "string_id.h" class JsonObject; - struct oter_t; struct oter_type_t; diff --git a/src/overmap_ui.cpp b/src/overmap_ui.cpp index 2c210712d9f26..b920f3d0bfb34 100644 --- a/src/overmap_ui.cpp +++ b/src/overmap_ui.cpp @@ -1,5 +1,17 @@ #include "overmap_ui.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include "cata_utility.h" #include "clzones.h" #include "coordinate_conversions.h" @@ -21,6 +33,20 @@ #include "uistate.h" #include "weather.h" #include "weather_gen.h" +#include "calendar.h" +#include "catacharset.h" +#include "color.h" +#include "game_constants.h" +#include "int_id.h" +#include "omdata.h" +#include "optional.h" +#include "overmap_types.h" +#include "pldata.h" +#include "regional_settings.h" +#include "rng.h" +#include "string_formatter.h" +#include "string_id.h" +#include "translations.h" #ifdef __ANDROID__ #include diff --git a/src/overmapbuffer.cpp b/src/overmapbuffer.cpp index e12dc8985eb95..bf271b61092f3 100644 --- a/src/overmapbuffer.cpp +++ b/src/overmapbuffer.cpp @@ -1,9 +1,13 @@ #include "overmapbuffer.h" +#include #include #include #include #include +#include +#include +#include #include "cata_utility.h" #include "coordinate_conversions.h" @@ -21,6 +25,13 @@ #include "simple_pathfinding.h" #include "string_formatter.h" #include "vehicle.h" +#include "calendar.h" +#include "common_types.h" +#include "game_constants.h" +#include "player.h" +#include "rng.h" +#include "string_id.h" +#include "translations.h" overmapbuffer overmap_buffer; diff --git a/src/overmapbuffer.h b/src/overmapbuffer.h index 5b619099e102b..e296ba73c3cfb 100644 --- a/src/overmapbuffer.h +++ b/src/overmapbuffer.h @@ -6,19 +6,22 @@ #include #include #include +#include +#include +#include #include "enums.h" #include "int_id.h" #include "omdata.h" #include "overmap_types.h" -#include "string_id.h" +#include "optional.h" struct mongroup; class monster; class npc; struct om_vehicle; +class overmap_special_batch; -struct oter_t; using oter_id = int_id; class overmap; struct radio_tower; diff --git a/src/path_info.cpp b/src/path_info.cpp index 668c4012d46c6..981078d36747a 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -2,10 +2,10 @@ #include #include +#include #include "filesystem.h" #include "options.h" -#include "translations.h" #if (defined _WIN32 || defined WINDOW) #include diff --git a/src/pathfinding.cpp b/src/pathfinding.cpp index 1055e44cc948c..b2008e4d8399b 100644 --- a/src/pathfinding.cpp +++ b/src/pathfinding.cpp @@ -1,8 +1,13 @@ #include "pathfinding.h" +#include #include #include #include +#include +#include +#include +#include #include "cata_utility.h" #include "coordinates.h" @@ -17,6 +22,7 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "line.h" enum astar_state { ASL_NONE, diff --git a/src/pathfinding.h b/src/pathfinding.h index e0f9794b0f28e..b66c1bc29b28d 100644 --- a/src/pathfinding.h +++ b/src/pathfinding.h @@ -4,8 +4,6 @@ #include "game_constants.h" -class JsonObject; - enum pf_special : char { PF_NORMAL = 0x00, // Plain boring tile (grass, dirt, floor etc.) PF_SLOW = 0x01, // Tile with move cost >2 diff --git a/src/pickup.cpp b/src/pickup.cpp index 1af8c22724c16..c7e852647e162 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -1,8 +1,16 @@ #include "pickup.h" +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include #include "auto_pickup.h" #include "cata_utility.h" @@ -26,6 +34,20 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "calendar.h" +#include "character.h" +#include "clzones.h" +#include "color.h" +#include "cursesdef.h" +#include "enums.h" +#include "int_id.h" +#include "item.h" +#include "line.h" +#include "optional.h" +#include "player_activity.h" +#include "ret_val.h" +#include "string_id.h" +#include "units.h" typedef std::pair ItemCount; typedef std::map PickupMap; diff --git a/src/pickup.h b/src/pickup.h index 859e447a2ba3f..90db0d1de04f2 100644 --- a/src/pickup.h +++ b/src/pickup.h @@ -4,13 +4,10 @@ #include -#include "enums.h" - -class vehicle; class item; class Character; -class player; class map; +struct tripoint; namespace Pickup { diff --git a/src/player.cpp b/src/player.cpp index 4afd9f8cbcdd5..d4126146ea5d0 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -1,5 +1,6 @@ #include "player.h" +#include #include #include #include @@ -8,6 +9,10 @@ #include #include #include +#include +#include +#include +#include #include "action.h" #include "activity_handlers.h" @@ -75,6 +80,20 @@ #include "vpart_reference.h" #include "weather.h" #include "weather_gen.h" +#include "compatibility.h" +#include "field.h" +#include "fire.h" +#include "int_id.h" +#include "iuse.h" +#include "lightmap.h" +#include "line.h" +#include "monster.h" +#include "omdata.h" +#include "pathfinding.h" +#include "recipe.h" +#include "rng.h" +#include "units.h" +#include "visitable.h" constexpr double SQRT_2 = 1.41421356237309504880; diff --git a/src/player.h b/src/player.h index 5588a4a827b2c..18346ca88c158 100644 --- a/src/player.h +++ b/src/player.h @@ -2,9 +2,20 @@ #ifndef PLAYER_H #define PLAYER_H +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "calendar.h" #include "character.h" @@ -18,11 +29,26 @@ #include "player_activity.h" #include "ret_val.h" #include "weighted_list.h" +#include "bodypart.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "enums.h" +#include "inventory.h" +#include "item_location.h" +#include "pldata.h" +#include "string_id.h" + +class effect; +class npc; +struct itype; +struct pathfinding_settings; static const std::string DEFAULT_HOTKEYS( "1234567890abcdefghijklmnopqrstuvwxyz" ); class craft_command; class recipe_subset; + enum action_id : int; struct bionic; class JsonObject; @@ -30,30 +56,32 @@ class JsonIn; class JsonOut; struct dealt_projectile_attack; class dispersion_sources; -class monster; -class game; struct trap; class mission; class profession; + nc_color encumb_color( int level ); enum game_message_type : int; class ma_technique; class martialart; class recipe; + using recipe_id = string_id; -struct component; struct item_comp; struct tool_comp; template struct comp_selection; class vehicle; class vitamin; + using vitamin_id = string_id; class start_location; + using start_location_id = string_id; struct w_point; struct points_left; struct targeting_data; class morale_type_data; + using morale_type = string_id; namespace debug_menu diff --git a/src/player_activity.cpp b/src/player_activity.cpp index af42e8d960254..369af068ff0c9 100644 --- a/src/player_activity.cpp +++ b/src/player_activity.cpp @@ -1,10 +1,12 @@ #include "player_activity.h" #include +#include +#include +#include #include "activity_handlers.h" #include "activity_type.h" -#include "craft_command.h" #include "player.h" player_activity::player_activity() : type( activity_id::NULL_ID() ) { } diff --git a/src/player_activity.h b/src/player_activity.h index dad471e843e16..ed31d87d1e369 100644 --- a/src/player_activity.h +++ b/src/player_activity.h @@ -2,9 +2,11 @@ #ifndef PLAYER_ACTIVITY_H #define PLAYER_ACTIVITY_H +#include #include #include #include +#include #include "enums.h" #include "item_location.h" @@ -14,7 +16,6 @@ class player; class Character; class JsonIn; class JsonOut; -class player_activity; class activity_type; using activity_id = string_id; diff --git a/src/player_display.cpp b/src/player_display.cpp index 92c3504306122..805491a414f9e 100644 --- a/src/player_display.cpp +++ b/src/player_display.cpp @@ -1,6 +1,8 @@ #include "player.h" // IWYU pragma: associated +#include #include +#include #include "addiction.h" #include "bionics.h" @@ -15,6 +17,9 @@ #include "string_formatter.h" #include "units.h" #include "weather.h" +#include "cata_utility.h" +#include "catacharset.h" +#include "translations.h" const skill_id skill_swimming( "swimming" ); diff --git a/src/player_hardcoded_effects.cpp b/src/player_hardcoded_effects.cpp index 5506bdbe26929..675df843c2db9 100644 --- a/src/player_hardcoded_effects.cpp +++ b/src/player_hardcoded_effects.cpp @@ -1,7 +1,9 @@ #include "player.h" // IWYU pragma: associated +#include +#include + #include "effect.h" -#include "field.h" #include "fungal_effects.h" #include "game.h" #include "map.h" @@ -14,6 +16,8 @@ #include "output.h" #include "sounds.h" #include "weather.h" +#include "rng.h" +#include "translations.h" #ifdef TILES # if defined(_MSC_VER) && defined(USE_VCPKG) @@ -24,6 +28,7 @@ #endif // TILES #include +#include const mtype_id mon_dermatik_larva( "mon_dermatik_larva" ); diff --git a/src/pldata.h b/src/pldata.h index 8ef573f99ba98..9bc4d0cfee7ab 100644 --- a/src/pldata.h +++ b/src/pldata.h @@ -2,22 +2,27 @@ #ifndef PLDATA_H #define PLDATA_H +#include + #include "calendar.h" #include "string_id.h" class JsonIn; class JsonOut; - class martialart; + using matype_id = string_id; class ma_buff; + using mabuff_id = string_id; class ma_technique; + using matec_id = string_id; struct mutation_branch; + using trait_id = string_id; typedef std::string dis_type; diff --git a/src/popup.cpp b/src/popup.cpp index 133c511e6c14b..60833b60872d0 100644 --- a/src/popup.cpp +++ b/src/popup.cpp @@ -1,7 +1,13 @@ #include "popup.h" +#include +#include +#include + #include "input.h" #include "output.h" +#include "catacharset.h" +#include "color.h" extern bool test_mode; diff --git a/src/popup.h b/src/popup.h index ce6ad776e5ff4..eeede5a96c9fc 100644 --- a/src/popup.h +++ b/src/popup.h @@ -2,12 +2,15 @@ #ifndef POPUP_H #define POPUP_H +#include #include #include #include +#include #include "cursesdef.h" #include "input.h" +#include "string_formatter.h" class nc_color; diff --git a/src/profession.cpp b/src/profession.cpp index 73bb531becb35..6fbb2eaf304b4 100644 --- a/src/profession.cpp +++ b/src/profession.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "addiction.h" #include "debug.h" @@ -14,6 +16,11 @@ #include "pldata.h" #include "text_snippets.h" #include "translations.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "item.h" +#include "mapdata.h" namespace { diff --git a/src/profession.h b/src/profession.h index bab02649fd897..5d427f0a3d58d 100644 --- a/src/profession.h +++ b/src/profession.h @@ -5,26 +5,31 @@ #include #include #include +#include +#include #include "string_id.h" +#include "pldata.h" template class generic_factory; -class profession; + using Group_tag = std::string; class item; + using itype_id = std::string; class player; -class JsonArray; class JsonObject; -class addiction; struct mutation_branch; + using trait_id = string_id; struct bionic_data; + using bionic_id = string_id; enum add_type : int; class Skill; + using skill_id = string_id; class profession diff --git a/src/projectile.cpp b/src/projectile.cpp index d80f7810b9a33..e5d31f5a7f2c1 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -1,5 +1,7 @@ #include "projectile.h" +#include + #include "explosion.h" #include "field.h" #include "game.h" @@ -7,6 +9,7 @@ #include "map.h" #include "map_iterator.h" #include "rng.h" +#include "game_constants.h" projectile::projectile() : speed( 0 ), range( 0 ), drop( nullptr ), custom_explosion( nullptr ) diff --git a/src/projectile.h b/src/projectile.h index 959ca06bb09a1..59e63701fc468 100644 --- a/src/projectile.h +++ b/src/projectile.h @@ -8,13 +8,10 @@ #include "damage.h" #include "enums.h" -#include "explosion.h" class Creature; -class dispersion_sources; -class vehicle; struct explosion_data; -struct itype; +class item; struct projectile { damage_instance impact; diff --git a/src/ranged.cpp b/src/ranged.cpp index 69d79c902eb68..d590e207a43ee 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -1,9 +1,18 @@ #include "ranged.h" +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "ballistics.h" #include "cata_utility.h" @@ -31,6 +40,21 @@ #include "vehicle.h" #include "vpart_position.h" #include "trap.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "color.h" +#include "creature.h" +#include "cursesdef.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "mapdata.h" +#include "optional.h" +#include "player.h" +#include "player_activity.h" +#include "string_id.h" +#include "units.h" const skill_id skill_throw( "throw" ); const skill_id skill_gun( "gun" ); diff --git a/src/recipe.cpp b/src/recipe.cpp index a69877d1a74cb..448c31a4dee6e 100644 --- a/src/recipe.cpp +++ b/src/recipe.cpp @@ -6,15 +6,22 @@ #include "calendar.h" #include "game_constants.h" -#include "generic_factory.h" #include "item.h" #include "itype.h" #include "output.h" #include "skill.h" #include "uistate.h" #include "string_formatter.h" +#include "assign.h" +#include "character.h" +#include "json.h" +#include "mapdata.h" +#include "optional.h" +#include "player.h" +#include "translations.h" struct oter_t; + using oter_str_id = string_id; recipe::recipe() : skill_used( skill_id::NULL_ID() ) {} diff --git a/src/recipe.h b/src/recipe.h index 436112e759a7e..11a7a270ba081 100644 --- a/src/recipe.h +++ b/src/recipe.h @@ -2,20 +2,25 @@ #ifndef RECIPE_H #define RECIPE_H +#include #include #include #include +#include +#include #include "requirements.h" #include "string_id.h" -class recipe_dictionary; class Skill; class item; +class JsonObject; + using skill_id = string_id; using itype_id = std::string; // From itype.h using requirement_id = string_id; class recipe; + using recipe_id = string_id; class Character; diff --git a/src/recipe_dictionary.cpp b/src/recipe_dictionary.cpp index d58948b928f57..bfa620a1b9dcf 100644 --- a/src/recipe_dictionary.cpp +++ b/src/recipe_dictionary.cpp @@ -1,10 +1,11 @@ #include "recipe_dictionary.h" #include +#include +#include +#include #include "cata_utility.h" -#include "crafting.h" -#include "generic_factory.h" #include "init.h" #include "item.h" #include "item_factory.h" @@ -12,6 +13,13 @@ #include "output.h" #include "skill.h" #include "uistate.h" +#include "debug.h" +#include "json.h" +#include "mapdata.h" +#include "optional.h" +#include "player.h" +#include "requirements.h" +#include "units.h" recipe_dictionary recipe_dict; diff --git a/src/recipe_dictionary.h b/src/recipe_dictionary.h index 56d3b5baf59f2..d941f20f86635 100644 --- a/src/recipe_dictionary.h +++ b/src/recipe_dictionary.h @@ -2,6 +2,7 @@ #ifndef RECIPE_DICTIONARY_H #define RECIPE_DICTIONARY_H +#include #include #include #include @@ -15,8 +16,8 @@ class JsonIn; class JsonOut; class JsonObject; + typedef std::string itype_id; -class recipe; using recipe_id = string_id; class recipe_dictionary diff --git a/src/recipe_groups.cpp b/src/recipe_groups.cpp index be247ac7a0f40..41f166398a49b 100644 --- a/src/recipe_groups.cpp +++ b/src/recipe_groups.cpp @@ -2,12 +2,14 @@ #include #include +#include +#include -#include "game.h" // TODO: This is a circular dependency #include "generic_factory.h" #include "json.h" -#include "messages.h" #include "player.h" +#include "debug.h" +#include "string_id.h" // recipe_groups namespace @@ -15,6 +17,7 @@ namespace { struct recipe_group_data; + using group_id = string_id; struct recipe_group_data { diff --git a/src/recipe_groups.h b/src/recipe_groups.h index f8e4ab88a37cd..8b4b8c5746a56 100644 --- a/src/recipe_groups.h +++ b/src/recipe_groups.h @@ -3,8 +3,7 @@ #define RECIPE_GROUPS_H #include - -#include "map.h" +#include class JsonObject; diff --git a/src/regional_settings.cpp b/src/regional_settings.cpp index 1e97045c9897a..ae885343671a6 100644 --- a/src/regional_settings.cpp +++ b/src/regional_settings.cpp @@ -10,6 +10,7 @@ #include "options.h" #include "rng.h" #include "string_formatter.h" +#include "translations.h" ter_furn_id::ter_furn_id() : ter( t_null ), furn( f_null ) { } diff --git a/src/regional_settings.h b/src/regional_settings.h index 87783e7cad1a5..8ffc4c29fdda5 100644 --- a/src/regional_settings.h +++ b/src/regional_settings.h @@ -7,11 +7,14 @@ #include #include #include +#include #include "mapdata.h" #include "omdata.h" #include "weather_gen.h" #include "weighted_list.h" +#include "int_id.h" +#include "string_id.h" class JsonObject; @@ -181,7 +184,6 @@ struct map_extras { map_extras( const unsigned int embellished ) : chance( embellished ) {} }; -struct sid_or_sid; /* * Spationally relevant overmap and mapgen variables grouped into a set of suggested defaults; * eventually region mapping will modify as required and allow for transitions of biomes / demographics in a smoooth fashion diff --git a/src/requirements.cpp b/src/requirements.cpp index 51f8820aafefd..ab65a1b089900 100644 --- a/src/requirements.cpp +++ b/src/requirements.cpp @@ -1,11 +1,15 @@ #include "requirements.h" +#include #include -#include #include #include +#include +#include +#include +#include +#include -#include "calendar.h" #include "debug.h" #include "game.h" #include "generic_factory.h" @@ -17,6 +21,12 @@ #include "player.h" #include "string_formatter.h" #include "translations.h" +#include "cata_utility.h" +#include "color.h" +#include "creature.h" +#include "item.h" +#include "mapdata.h" +#include "visitable.h" static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); diff --git a/src/requirements.h b/src/requirements.h index 2cda53602b627..3cbb3b0ae0f1c 100644 --- a/src/requirements.h +++ b/src/requirements.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include "string_id.h" @@ -12,13 +14,14 @@ class nc_color; class JsonObject; class JsonArray; class inventory; - struct requirement_data; + using requirement_id = string_id; // Denotes the id of an item type typedef std::string itype_id; struct quality; + using quality_id = string_id; enum available_status { diff --git a/src/rng.cpp b/src/rng.cpp index 01ccdf8b32707..68cb3bd3f85a1 100644 --- a/src/rng.cpp +++ b/src/rng.cpp @@ -1,11 +1,10 @@ #include "rng.h" #include -#include #include #include - -#include "output.h" +#include +#include long rng( long val1, long val2 ) { diff --git a/src/rng.h b/src/rng.h index ad8967dd54796..65ed8871531ab 100644 --- a/src/rng.h +++ b/src/rng.h @@ -2,8 +2,12 @@ #ifndef RNG_H #define RNG_H +#include #include #include +#include +#include +#include #include "optional.h" @@ -137,13 +141,6 @@ inline V random_entry_removed( C &container ) container.erase( iter ); return result; } - -namespace cata -{ -template -class optional; -} // namespace cata - class map; struct tripoint; class tripoint_range; diff --git a/src/rotatable_symbols.cpp b/src/rotatable_symbols.cpp index 3c174a4ad5ce1..026984bd09bbd 100644 --- a/src/rotatable_symbols.cpp +++ b/src/rotatable_symbols.cpp @@ -1,7 +1,9 @@ #include "rotatable_symbols.h" +#include #include #include +#include #include "generic_factory.h" #include "json.h" diff --git a/src/safemode_ui.cpp b/src/safemode_ui.cpp index 9d595ca9e59ac..d07b0c04cf130 100644 --- a/src/safemode_ui.cpp +++ b/src/safemode_ui.cpp @@ -2,8 +2,11 @@ #include #include -#include #include +#include +#include +#include +#include #include "cata_utility.h" #include "debug.h" @@ -20,6 +23,9 @@ #include "string_formatter.h" #include "string_input_popup.h" #include "translations.h" +#include "color.h" +#include "compatibility.h" +#include "cursesdef.h" safemode &get_safemode() { diff --git a/src/safemode_ui.h b/src/safemode_ui.h index 80759dfce610c..90a8b377986d1 100644 --- a/src/safemode_ui.h +++ b/src/safemode_ui.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "creature.h" #include "enums.h" diff --git a/src/savegame.cpp b/src/savegame.cpp index 68111c69d532a..6146803c157bb 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -1,24 +1,22 @@ #include "game.h" // IWYU pragma: associated +#include #include -#include #include #include #include #include #include +#include +#include +#include -#include "artifact.h" -#include "auto_pickup.h" -#include "computer.h" #include "coordinate_conversions.h" #include "creature_tracker.h" #include "debug.h" #include "faction.h" #include "io.h" -#include "line.h" #include "map.h" -#include "mapdata.h" #include "messages.h" #include "mission.h" #include "mongroup.h" @@ -31,6 +29,11 @@ #include "scent_map.h" #include "translations.h" #include "tuple_hash.h" +#include "json.h" +#include "omdata.h" +#include "overmap_types.h" +#include "player.h" +#include "regional_settings.h" #ifdef __ANDROID__ #include "input.h" diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index b8c6d245cde07..d69bdc5bc8f5c 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -5,18 +5,29 @@ #include "npc_favor.h" // IWYU pragma: associated #include "pldata.h" // IWYU pragma: associated +#include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "ammo.h" #include "auto_pickup.h" #include "basecamp.h" #include "bionics.h" #include "calendar.h" -#include "crafting.h" -#include "cursesdef.h" #include "debug.h" #include "effect.h" #include "game.h" @@ -47,6 +58,25 @@ #include "vpart_reference.h" #include "creature_tracker.h" #include "overmapbuffer.h" +#include "active_item_cache.h" +#include "bodypart.h" +#include "character.h" +#include "clzones.h" +#include "creature.h" +#include "faction.h" +#include "game_constants.h" +#include "item_location.h" +#include "itype.h" +#include "map_memory.h" +#include "mattack_common.h" +#include "morale_types.h" +#include "optional.h" +#include "pimpl.h" +#include "recipe.h" +#include "tileray.h" +#include "visitable.h" + +struct oter_type_t; #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/savegame_legacy.cpp b/src/savegame_legacy.cpp index 9f115627b7536..cd98c0a1920f7 100644 --- a/src/savegame_legacy.cpp +++ b/src/savegame_legacy.cpp @@ -1,7 +1,16 @@ +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "debug.h" // for legacy classdata loaders @@ -14,6 +23,14 @@ #include "options.h" #include "overmap.h" #include "player_activity.h" +#include "cata_utility.h" +#include "enums.h" +#include "game_constants.h" +#include "inventory.h" +#include "monster.h" +#include "omdata.h" +#include "regional_settings.h" +#include "rng.h" namespace std { diff --git a/src/scenario.cpp b/src/scenario.cpp index 8eaa232b913c4..17e5a652ae4ea 100644 --- a/src/scenario.cpp +++ b/src/scenario.cpp @@ -1,9 +1,8 @@ #include "scenario.h" +#include #include -#include -#include "addiction.h" #include "debug.h" #include "generic_factory.h" #include "json.h" @@ -12,6 +11,7 @@ #include "player.h" #include "profession.h" #include "translations.h" +#include "rng.h" namespace { diff --git a/src/scenario.h b/src/scenario.h index e9f871c7804ce..60c2c87209972 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -4,21 +4,21 @@ #include #include +#include #include "string_id.h" -class scenario; class profession; -class player; -class JsonArray; class JsonObject; -class addiction; + enum add_type : int; class start_location; + using start_location_id = string_id; template class generic_factory; struct mutation_branch; + using trait_id = string_id; class scenario diff --git a/src/scent_map.cpp b/src/scent_map.cpp index 0f6d090691d92..8c59e12777599 100644 --- a/src/scent_map.cpp +++ b/src/scent_map.cpp @@ -1,13 +1,15 @@ #include "scent_map.h" +#include #include -#include +#include #include "calendar.h" #include "color.h" #include "game.h" #include "map.h" #include "output.h" +#include "cursesdef.h" static constexpr int SCENT_RADIUS = 40; diff --git a/src/scent_map.h b/src/scent_map.h index ff0756b5f98c2..91c74ec5b40bf 100644 --- a/src/scent_map.h +++ b/src/scent_map.h @@ -3,6 +3,7 @@ #define SCENT_H #include +#include #include "calendar.h" #include "enums.h" // IWYU pragma: keep @@ -13,6 +14,7 @@ static constexpr int SCENT_MAP_Z_REACH = 1; class map; class game; + namespace catacurses { class window; diff --git a/src/sdl_wrappers.cpp b/src/sdl_wrappers.cpp index 534415d24e536..a39a58100ca1a 100644 --- a/src/sdl_wrappers.cpp +++ b/src/sdl_wrappers.cpp @@ -3,6 +3,9 @@ #include "sdl_wrappers.h" #include +#include +#include +#include #include "debug.h" diff --git a/src/sdlsound.cpp b/src/sdlsound.cpp index dff13ef9fd7a9..82c204f5914fe 100644 --- a/src/sdlsound.cpp +++ b/src/sdlsound.cpp @@ -2,6 +2,7 @@ #include "sdlsound.h" +#include #include #include #include @@ -9,6 +10,11 @@ #include #include #include +#include +#include +#include +#include +#include #if defined(_MSC_VER) && defined(USE_VCPKG) # include @@ -24,6 +30,7 @@ #include "path_info.h" #include "rng.h" #include "sdl_wrappers.h" +#include "sounds.h" #define dbg(x) DebugLog((DebugLevel)(x),D_SDL) << __FILE__ << ":" << __LINE__ << ": " diff --git a/src/sdlsound.h b/src/sdlsound.h index c8266a896907a..2615050bec75e 100644 --- a/src/sdlsound.h +++ b/src/sdlsound.h @@ -2,8 +2,8 @@ #ifndef SDL_SOUND_H #define SDL_SOUND_H +#include #ifdef SDL_SOUND -# include "sounds.h" /** * Attempt to initialize an audio device. Returns false if initialization fails. diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 2e5f3440637f7..e1c6345d33b9d 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -10,6 +10,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #if defined(_MSC_VER) && defined(USE_VCPKG) # include @@ -18,7 +25,6 @@ #endif #include "cata_tiles.h" -#include "cata_utility.h" #include "catacharset.h" #include "color.h" #include "color_loader.h" @@ -29,18 +35,18 @@ #include "game.h" #include "game_ui.h" #include "get_version.h" -#include "init.h" #include "input.h" -#include "loading_ui.h" #include "options.h" #include "output.h" #include "path_info.h" #include "player.h" -#include "rng.h" #include "sdlsound.h" #include "sdl_wrappers.h" #include "string_formatter.h" #include "translations.h" +#include "enums.h" +#include "json.h" +#include "optional.h" #ifdef __linux__ # include // getenv()/setenv() diff --git a/src/shadowcasting.h b/src/shadowcasting.h index fdc197d07cd0a..a9ad3dede9227 100644 --- a/src/shadowcasting.h +++ b/src/shadowcasting.h @@ -5,9 +5,13 @@ #include #include #include +#include +#include -#include "enums.h" #include "game_constants.h" +#include "lightmap.h" + +struct tripoint; // For light we store four values, depending on the direction that the light // comes from. This allows us to determine whether the side of the wall the diff --git a/src/sidebar.cpp b/src/sidebar.cpp index 5c1dbca70050b..62f4d7f2c8f85 100644 --- a/src/sidebar.cpp +++ b/src/sidebar.cpp @@ -3,6 +3,10 @@ #include #include #include +#include +#include +#include +#include #include "cata_utility.h" #include "color.h" @@ -21,6 +25,14 @@ #include "vehicle.h" #include "vpart_position.h" #include "weather.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "item_location.h" +#include "pldata.h" +#include "tileray.h" +#include "units.h" static const trait_id trait_SELFAWARE( "SELFAWARE" ); static const trait_id trait_THRESH_FELINE( "THRESH_FELINE" ); diff --git a/src/skill.cpp b/src/skill.cpp index 19b35c2125a0c..007ae2f71029f 100644 --- a/src/skill.cpp +++ b/src/skill.cpp @@ -1,7 +1,11 @@ #include "skill.h" +#include #include #include +#include +#include +#include #include "debug.h" #include "item.h" diff --git a/src/skill.h b/src/skill.h index 57d1400d1b73b..e671cc8759c26 100644 --- a/src/skill.h +++ b/src/skill.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "calendar.h" #include "string_id.h" @@ -16,6 +17,7 @@ class JsonOut; class Skill; class recipe; class item; + using skill_id = string_id; class Skill diff --git a/src/sounds.cpp b/src/sounds.cpp index d5ac03f9b62d4..8fc2255de5cf0 100644 --- a/src/sounds.cpp +++ b/src/sounds.cpp @@ -1,8 +1,14 @@ #include "sounds.h" +#include #include #include #include +#include +#include +#include +#include +#include #include "coordinate_conversions.h" #include "debug.h" @@ -23,6 +29,16 @@ #include "string_formatter.h" #include "translations.h" #include "weather.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "game_constants.h" +#include "mapdata.h" +#include "optional.h" +#include "player_activity.h" +#include "rng.h" +#include "units.h" #ifdef SDL_SOUND # if defined(_MSC_VER) && defined(USE_VCPKG) diff --git a/src/sounds.h b/src/sounds.h index 93bd75502ecb3..37a2b1e05689c 100644 --- a/src/sounds.h +++ b/src/sounds.h @@ -4,14 +4,14 @@ #include #include - -#include "enums.h" // For point +#include class monster; class player; class Creature; class item; class JsonObject; +struct tripoint; namespace sounds { diff --git a/src/speech.cpp b/src/speech.cpp index 21e0ea3bddf3d..5c15ae97f160e 100644 --- a/src/speech.cpp +++ b/src/speech.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "json.h" #include "rng.h" diff --git a/src/start_location.cpp b/src/start_location.cpp index 677e83e901755..221a84dcb2be6 100644 --- a/src/start_location.cpp +++ b/src/start_location.cpp @@ -1,8 +1,10 @@ #include "start_location.h" +#include #include #include #include +#include #include "coordinate_conversions.h" #include "debug.h" @@ -10,7 +12,6 @@ #include "field.h" #include "game.h" #include "generic_factory.h" -#include "json.h" #include "map.h" #include "map_extras.h" #include "mapdata.h" @@ -18,6 +19,16 @@ #include "overmap.h" #include "overmapbuffer.h" #include "player.h" +#include "calendar.h" +#include "creature.h" +#include "game_constants.h" +#include "int_id.h" +#include "omdata.h" +#include "pldata.h" +#include "rng.h" +#include "translations.h" + +class item; const efftype_id effect_bleed( "bleed" ); diff --git a/src/start_location.h b/src/start_location.h index d4b602482fc9b..0b2be8f2d7f82 100644 --- a/src/start_location.h +++ b/src/start_location.h @@ -2,20 +2,21 @@ #ifndef START_LOCATION_H #define START_LOCATION_H +#include #include #include +#include #include "string_id.h" -class overmap; class tinymap; class player; class JsonObject; struct tripoint; -class start_location; template class generic_factory; struct MonsterGroup; + using mongroup_id = string_id; class start_location diff --git a/src/string_formatter.cpp b/src/string_formatter.cpp index fb8fedfe109b6..db35be0311c0f 100644 --- a/src/string_formatter.cpp +++ b/src/string_formatter.cpp @@ -1,6 +1,8 @@ #include "string_formatter.h" +#include #include +#include char cata::string_formatter::consume_next_input() { diff --git a/src/string_formatter.h b/src/string_formatter.h index 4b5f29be27c53..4b5f9ce631d3d 100644 --- a/src/string_formatter.h +++ b/src/string_formatter.h @@ -2,6 +2,7 @@ #ifndef STRING_FORMATTER_H #define STRING_FORMATTER_H +#include #include #include #include diff --git a/src/string_input_popup.cpp b/src/string_input_popup.cpp index e061f9047bbd1..2b08006a3ca90 100644 --- a/src/string_input_popup.cpp +++ b/src/string_input_popup.cpp @@ -1,11 +1,14 @@ #include "string_input_popup.h" +#include + #include "catacharset.h" #include "compatibility.h" // needed for the workaround for the std::to_string bug in some compilers #include "input.h" #include "output.h" #include "ui.h" #include "uistate.h" +#include "translations.h" #ifdef __ANDROID__ #include @@ -14,6 +17,8 @@ #endif #include +#include +#include string_input_popup::string_input_popup() = default; diff --git a/src/string_input_popup.h b/src/string_input_popup.h index 0d2556edf15ed..7e0261a584563 100644 --- a/src/string_input_popup.h +++ b/src/string_input_popup.h @@ -2,6 +2,7 @@ #ifndef STRING_INPUT_POPUP_H #define STRING_INPUT_POPUP_H +#include #include #include #include @@ -11,7 +12,6 @@ #include "cursesdef.h" class input_context; -struct input_event; class utf8_wrapper; /** diff --git a/src/submap.cpp b/src/submap.cpp index 949171229052f..56325405c835a 100644 --- a/src/submap.cpp +++ b/src/submap.cpp @@ -5,6 +5,7 @@ #include "mapdata.h" #include "trap.h" #include "vehicle.h" +#include "computer.h" submap::submap() { diff --git a/src/submap.h b/src/submap.h index 04783b389f422..25f7ac6302853 100644 --- a/src/submap.h +++ b/src/submap.h @@ -2,19 +2,22 @@ #ifndef SUBMAP_H #define SUBMAP_H +#include #include #include #include +#include +#include #include "active_item_cache.h" #include "basecamp.h" #include "calendar.h" -#include "computer.h" #include "field.h" #include "game_constants.h" #include "int_id.h" #include "item.h" #include "string_id.h" +#include "enums.h" class map; class vehicle; @@ -28,6 +31,7 @@ using ter_id = int_id; using furn_id = int_id; using furn_str_id = string_id; struct mtype; + using mtype_id = string_id; struct spawn_point { diff --git a/src/text_snippets.cpp b/src/text_snippets.cpp index 26f4a21224dc0..59083ec189563 100644 --- a/src/text_snippets.cpp +++ b/src/text_snippets.cpp @@ -1,7 +1,10 @@ #include "text_snippets.h" +#include #include #include +#include +#include #include "json.h" #include "rng.h" diff --git a/src/tileray.cpp b/src/tileray.cpp index 86b5fb99f417a..85feea465dff6 100644 --- a/src/tileray.cpp +++ b/src/tileray.cpp @@ -3,7 +3,7 @@ #include #include -#include "game_constants.h" +#include "math_defines.h" static const int sx[4] = { 1, -1, -1, 1 }; static const int sy[4] = { 1, 1, -1, -1 }; diff --git a/src/trait_group.cpp b/src/trait_group.cpp index 7220910bee5ad..9d548ec1f36ea 100644 --- a/src/trait_group.cpp +++ b/src/trait_group.cpp @@ -1,14 +1,19 @@ #include "trait_group.h" +#include #include #include #include +#include +#include +#include #include "debug.h" #include "json.h" #include "rng.h" #include "translations.h" #include "ui.h" +#include "compatibility.h" using namespace trait_group; diff --git a/src/trait_group.h b/src/trait_group.h index de4daf5937828..70963008d38cc 100644 --- a/src/trait_group.h +++ b/src/trait_group.h @@ -4,9 +4,11 @@ #include #include +#include #include "mutation.h" #include "string_id.h" +#include "int_id.h" class JsonObject; class JsonIn; diff --git a/src/translations.cpp b/src/translations.cpp index 14fb5e848bafe..f2632c4c8c88e 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -1,5 +1,7 @@ #include "translations.h" +#include + #if defined(LOCALIZE) && defined(__STRICT_ANSI__) #undef __STRICT_ANSI__ // _putenv in minGW need that #include @@ -10,11 +12,16 @@ #include #include #include +#include +#include +#include +#include +#include -#include "cata_utility.h" #include "json.h" #include "name.h" #include "path_info.h" +#include "cursesdef.h" // Names depend on the language settings. They are loaded from different files // based on the currently used language. If that changes, we have to reload the @@ -26,8 +33,6 @@ static void reload_names() } #ifdef LOCALIZE -#include // for getenv()/setenv()/putenv() - #include "options.h" #include "debug.h" #include "ui.h" diff --git a/src/trap.cpp b/src/trap.cpp index e3b3a0435eed2..4ecddc848e549 100644 --- a/src/trap.cpp +++ b/src/trap.cpp @@ -1,6 +1,7 @@ #include "trap.h" #include +#include #include "debug.h" #include "generic_factory.h" @@ -12,6 +13,15 @@ #include "player.h" #include "string_id.h" #include "translations.h" +#include "assign.h" +#include "bodypart.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "item.h" +#include "mapdata.h" +#include "pldata.h" +#include "rng.h" namespace { diff --git a/src/trap.h b/src/trap.h index 66f7eb0ca5a69..a9b6f060e193b 100644 --- a/src/trap.h +++ b/src/trap.h @@ -2,8 +2,10 @@ #ifndef TRAP_H #define TRAP_H +#include #include #include +#include #include "color.h" #include "int_id.h" @@ -17,6 +19,7 @@ class map; struct trap; struct tripoint; class JsonObject; + using trap_id = int_id; using trap_str_id = string_id; diff --git a/src/trapfunc.cpp b/src/trapfunc.cpp index 907e4c87859d1..fd407541cecc1 100644 --- a/src/trapfunc.cpp +++ b/src/trapfunc.cpp @@ -1,5 +1,10 @@ #include "trap.h" // IWYU pragma: associated +#include +#include +#include +#include + #include "debug.h" #include "event.h" #include "game.h" @@ -13,6 +18,16 @@ #include "rng.h" #include "sounds.h" #include "translations.h" +#include "bodypart.h" +#include "calendar.h" +#include "character.h" +#include "creature.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "player.h" +#include "pldata.h" const mtype_id mon_blob( "mon_blob" ); const mtype_id mon_shadow( "mon_shadow" ); diff --git a/src/turret.cpp b/src/turret.cpp index 64e70f730af68..a20042adaef00 100644 --- a/src/turret.cpp +++ b/src/turret.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "game.h" #include "gun_mode.h" @@ -18,6 +19,9 @@ #include "ui.h" #include "veh_type.h" #include "vehicle_selector.h" +#include "creature.h" +#include "debug.h" +#include "optional.h" static const itype_id fuel_type_battery( "battery" ); const efftype_id effect_on_roof( "on_roof" ); diff --git a/src/tutorial.cpp b/src/tutorial.cpp index 286fa4496f08b..721f907906f27 100644 --- a/src/tutorial.cpp +++ b/src/tutorial.cpp @@ -1,5 +1,11 @@ #include "tutorial.h" +#include +#include +#include +#include +#include + #include "action.h" #include "coordinate_conversions.h" #include "game.h" @@ -16,6 +22,17 @@ #include "scent_map.h" #include "translations.h" #include "trap.h" +#include "calendar.h" +#include "enums.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "item_stack.h" +#include "monster.h" +#include "omdata.h" +#include "pldata.h" +#include "units.h" const mtype_id mon_zombie( "mon_zombie" ); diff --git a/src/ui.cpp b/src/ui.cpp index de1eae01fc213..b5f856ddcd739 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -1,7 +1,11 @@ #include "ui.h" +#include +#include +#include #include #include +#include #include "cata_utility.h" #include "catacharset.h" diff --git a/src/ui.h b/src/ui.h index b50124e708e43..8cffa1521c834 100644 --- a/src/ui.h +++ b/src/ui.h @@ -6,6 +6,7 @@ #include #include #include +#include #include "color.h" #include "cursesdef.h" @@ -128,6 +129,7 @@ class ui_container * */ class uilist; + /** * uilist::query() handles most input events first, * and then passes the event to the callback if it can't handle it. @@ -153,9 +155,6 @@ class uilist_callback * uilist: scrolling vertical list menu */ -class ui_element; -class ui_element_input; - class uilist: public ui_container { public: diff --git a/src/veh_interact.cpp b/src/veh_interact.cpp index 56e913f61324f..46471b9d4edd8 100644 --- a/src/veh_interact.cpp +++ b/src/veh_interact.cpp @@ -1,15 +1,19 @@ #include "veh_interact.h" +#include #include -#include #include #include #include #include #include #include +#include +#include +#include +#include +#include -#include "action.h" #include "activity_handlers.h" #include "cata_utility.h" #include "catacharset.h" @@ -37,6 +41,14 @@ #include "vpart_position.h" #include "vpart_range.h" #include "vpart_reference.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "optional.h" +#include "requirements.h" +#include "tileray.h" +#include "units.h" static inline const std::string status_color( bool status ) { diff --git a/src/veh_interact.h b/src/veh_interact.h index e33b34c4a7885..4155c95c9ad54 100644 --- a/src/veh_interact.h +++ b/src/veh_interact.h @@ -2,19 +2,26 @@ #ifndef VEH_INTERACT_H #define VEH_INTERACT_H +#include #include #include #include +#include +#include #include "color.h" #include "cursesdef.h" #include "input.h" #include "inventory.h" #include "player_activity.h" -#include "requirements.h" #include "string_id.h" +#include "item.h" +#include "item_location.h" class vpart_info; +struct requirement_data; +struct tripoint; + using vpart_id = string_id; /** Represents possible return values from the cant_do function. */ diff --git a/src/veh_type.cpp b/src/veh_type.cpp index cc59cc2d946cd..ad43ea644091c 100644 --- a/src/veh_type.cpp +++ b/src/veh_type.cpp @@ -1,16 +1,19 @@ #include "veh_type.h" +#include +#include #include #include #include #include +#include +#include #include "ammo.h" #include "character.h" #include "color.h" #include "debug.h" #include "flag.h" -#include "generic_factory.h" #include "init.h" #include "item_group.h" #include "itype.h" @@ -21,6 +24,11 @@ #include "translations.h" #include "vehicle.h" #include "vehicle_group.h" +#include "assign.h" +#include "cata_utility.h" +#include "game_constants.h" +#include "item.h" +#include "mapdata.h" const skill_id skill_mechanics( "mechanics" ); diff --git a/src/veh_type.h b/src/veh_type.h index 0c7ae8e337977..21ee2961aa488 100644 --- a/src/veh_type.h +++ b/src/veh_type.h @@ -10,6 +10,7 @@ #include #include #include +#include #include "calendar.h" #include "color.h" @@ -18,24 +19,27 @@ #include "optional.h" #include "string_id.h" #include "units.h" +#include "vehicle.h" using itype_id = std::string; class vpart_info; + using vpart_id = string_id; struct vehicle_prototype; + using vproto_id = string_id; -class vehicle; class JsonObject; -struct vehicle_item_spawn; struct quality; + using quality_id = string_id; class Character; - struct requirement_data; + using requirement_id = string_id; class Skill; + using skill_id = string_id; // bitmask backing store of -certain- vpart_info.flags, ones that diff --git a/src/veh_utils.cpp b/src/veh_utils.cpp index f904ef1f41d7a..e157818d8cdae 100644 --- a/src/veh_utils.cpp +++ b/src/veh_utils.cpp @@ -2,16 +2,28 @@ #include #include +#include +#include +#include +#include +#include +#include #include "calendar.h" #include "craft_command.h" #include "game.h" -#include "messages.h" #include "map.h" #include "output.h" #include "player.h" #include "veh_type.h" #include "vehicle.h" +#include "character.h" +#include "enums.h" +#include "game_constants.h" +#include "inventory.h" +#include "item.h" +#include "requirements.h" +#include "translations.h" namespace veh_utils { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 6eb761d4eb6be..c1056c1a643d7 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "ammo.h" #include "cata_utility.h" @@ -30,16 +31,23 @@ #include "mapdata.h" #include "messages.h" #include "output.h" -#include "overmap.h" #include "overmapbuffer.h" #include "sounds.h" #include "string_formatter.h" #include "submap.h" #include "translations.h" -#include "veh_interact.h" #include "veh_type.h" #include "vehicle_selector.h" #include "weather.h" +#include "character.h" +#include "field.h" +#include "math_defines.h" +#include "pimpl.h" +#include "player.h" +#include "player_activity.h" +#include "pldata.h" +#include "rng.h" +#include "weather_gen.h" /* * Speed up all those if ( blarg == "structure" ) statements that are used everywhere; diff --git a/src/vehicle.h b/src/vehicle.h index 48a49933fe62b..b7e343b370729 100644 --- a/src/vehicle.h +++ b/src/vehicle.h @@ -2,11 +2,18 @@ #ifndef VEHICLE_H #define VEHICLE_H +#include +#include #include #include #include #include #include +#include +#include +#include +#include +#include #include "active_item_cache.h" #include "calendar.h" @@ -18,22 +25,33 @@ #include "line.h" #include "string_id.h" #include "tileray.h" -#include "ui.h" #include "units.h" +#include "enums.h" +#include "game_constants.h" +#include "item_location.h" class nc_color; -class map; class player; class npc; class vehicle; class vpart_info; class vehicle_part_range; +class JsonIn; +class JsonOut; +class vehicle_cursor; +class zone_data; +struct itype; +struct uilist_entry; +template class visitable; + enum vpart_bitflags : int; using vpart_id = string_id; struct vehicle_prototype; + using vproto_id = string_id; template class vehicle_part_with_feature_range; + namespace catacurses { class window; diff --git a/src/vehicle_display.cpp b/src/vehicle_display.cpp index 882d46d7a3d43..c5bbe476b2042 100644 --- a/src/vehicle_display.cpp +++ b/src/vehicle_display.cpp @@ -1,16 +1,16 @@ #include "vehicle.h" // IWYU pragma: associated +#include #include #include #include +#include #include "calendar.h" #include "cata_utility.h" #include "catacharset.h" -#include "coordinate_conversions.h" #include "cursesdef.h" #include "debug.h" -#include "game.h" #include "itype.h" #include "options.h" #include "output.h" @@ -18,6 +18,8 @@ #include "translations.h" #include "veh_type.h" #include "vpart_position.h" +#include "color.h" +#include "optional.h" static const std::string part_location_structure( "structure" ); static const itype_id fuel_type_muscle( "muscle" ); diff --git a/src/vehicle_group.cpp b/src/vehicle_group.cpp index 53deddf147d74..243c485d8f242 100644 --- a/src/vehicle_group.cpp +++ b/src/vehicle_group.cpp @@ -1,5 +1,9 @@ #include "vehicle_group.h" +#include +#include +#include + #include "debug.h" #include "enums.h" #include "json.h" diff --git a/src/vehicle_group.h b/src/vehicle_group.h index f3d32e5cca333..381ccd9a7ddc4 100644 --- a/src/vehicle_group.h +++ b/src/vehicle_group.h @@ -4,6 +4,8 @@ #include #include +#include +#include #include "mapgen.h" #include "optional.h" @@ -13,12 +15,17 @@ class JsonObject; class VehicleGroup; +class map; + using vgroup_id = string_id; class VehicleSpawn; + using vspawn_id = string_id; struct vehicle_prototype; + using vproto_id = string_id; struct point; + extern std::unordered_map vgroups; /** diff --git a/src/vehicle_move.cpp b/src/vehicle_move.cpp index 2a24a221eef96..3e4ebb2602682 100644 --- a/src/vehicle_move.cpp +++ b/src/vehicle_move.cpp @@ -2,12 +2,12 @@ #include #include -#include #include #include #include +#include +#include -#include "coordinate_conversions.h" #include "debug.h" #include "game.h" #include "item.h" @@ -21,7 +21,13 @@ #include "translations.h" #include "trap.h" #include "veh_type.h" -#include "vpart_reference.h" +#include "bodypart.h" +#include "creature.h" +#include "math_defines.h" +#include "optional.h" +#include "player.h" +#include "rng.h" +#include "vpart_position.h" static const std::string part_location_structure( "structure" ); static const itype_id fuel_type_muscle( "muscle" ); diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index c491bcb6a0172..36a3b600f3c87 100644 --- a/src/vehicle_part.cpp +++ b/src/vehicle_part.cpp @@ -4,8 +4,8 @@ #include #include #include +#include -#include "coordinate_conversions.h" #include "debug.h" #include "game.h" #include "item.h" @@ -19,6 +19,7 @@ #include "veh_type.h" #include "vpart_position.h" #include "weather.h" +#include "optional.h" static const itype_id fuel_type_none( "null" ); static const itype_id fuel_type_battery( "battery" ); diff --git a/src/vehicle_selector.cpp b/src/vehicle_selector.cpp index 91eddddbc910e..87efd4a6443d7 100644 --- a/src/vehicle_selector.cpp +++ b/src/vehicle_selector.cpp @@ -1,8 +1,11 @@ #include "vehicle_selector.h" +#include + #include "game.h" #include "map.h" #include "vpart_position.h" +#include "optional.h" vehicle_selector::vehicle_selector( const tripoint &pos, int radius, bool accessible, bool visibility_only ) diff --git a/src/vehicle_selector.h b/src/vehicle_selector.h index aafbf7adb4788..ed13b3cad3f4e 100644 --- a/src/vehicle_selector.h +++ b/src/vehicle_selector.h @@ -3,6 +3,7 @@ #define VEHICLE_SELECTOR_H #include +#include #include "visitable.h" diff --git a/src/vehicle_use.cpp b/src/vehicle_use.cpp index 75b730b4b2f6b..9d301dc3cc476 100644 --- a/src/vehicle_use.cpp +++ b/src/vehicle_use.cpp @@ -2,12 +2,12 @@ #include #include -#include #include #include #include +#include +#include -#include "coordinate_conversions.h" #include "activity_handlers.h" #include "debug.h" #include "game.h" @@ -19,20 +19,27 @@ #include "map_iterator.h" #include "mapdata.h" #include "messages.h" -#include "mtype.h" #include "output.h" #include "overmapbuffer.h" #include "sounds.h" #include "string_formatter.h" #include "translations.h" #include "ui.h" -#include "veh_interact.h" #include "veh_type.h" -#include "vehicle_selector.h" #include "vpart_position.h" #include "vpart_range.h" #include "vpart_reference.h" #include "string_input_popup.h" +#include "color.h" +#include "input.h" +#include "int_id.h" +#include "inventory.h" +#include "iuse.h" +#include "player.h" +#include "player_activity.h" +#include "pldata.h" +#include "requirements.h" +#include "rng.h" static const itype_id fuel_type_none( "null" ); static const itype_id fuel_type_battery( "battery" ); diff --git a/src/visitable.cpp b/src/visitable.cpp index 307485d7f083e..93527b2bfb3a5 100644 --- a/src/visitable.cpp +++ b/src/visitable.cpp @@ -1,5 +1,12 @@ #include "visitable.h" +#include +#include +#include +#include +#include +#include + #include "bionics.h" #include "character.h" #include "debug.h" @@ -9,11 +16,14 @@ #include "map.h" #include "map_selector.h" #include "player.h" -#include "string_id.h" #include "submap.h" #include "veh_type.h" #include "vehicle.h" #include "vehicle_selector.h" +#include "active_item_cache.h" +#include "enums.h" +#include "pimpl.h" +#include "pldata.h" /** @relates visitable */ template diff --git a/src/visitable.h b/src/visitable.h index bd75647da76f5..74498be484a80 100644 --- a/src/visitable.h +++ b/src/visitable.h @@ -8,10 +8,11 @@ #include #include +#include "string_id.h" + class item; -template -class string_id; struct quality; + using quality_id = string_id; enum class VisitResponse { diff --git a/src/vitamin.cpp b/src/vitamin.cpp index 800a02714dccc..b15faa032fa14 100644 --- a/src/vitamin.cpp +++ b/src/vitamin.cpp @@ -1,6 +1,7 @@ #include "vitamin.h" #include +#include #include "assign.h" #include "calendar.h" diff --git a/src/vitamin.h b/src/vitamin.h index bec4dc2801608..2f2a013bbc107 100644 --- a/src/vitamin.h +++ b/src/vitamin.h @@ -5,14 +5,17 @@ #include #include #include +#include #include "calendar.h" #include "string_id.h" class JsonObject; class vitamin; + using vitamin_id = string_id; class effect_type; + using efftype_id = string_id; class vitamin diff --git a/src/vpart_position.h b/src/vpart_position.h index a0f2724e55eb0..62214df679740 100644 --- a/src/vpart_position.h +++ b/src/vpart_position.h @@ -2,12 +2,15 @@ #ifndef VPART_POSITION_H #define VPART_POSITION_H +#include #include #include +#include #include "optional.h" class vehicle; + enum vpart_bitflags : int; class vpart_reference; struct tripoint; diff --git a/src/vpart_range.h b/src/vpart_range.h index 7d818113191cb..3aa6b6cfb31ac 100644 --- a/src/vpart_range.h +++ b/src/vpart_range.h @@ -2,12 +2,15 @@ #ifndef VPART_RANGE_H #define VPART_RANGE_H -#include #include #include +#include +#include +#include #include "optional.h" #include "vpart_reference.h" +#include "vehicle.h" // Some functions have templates with default values that may seem pointless, // but they allow to use the type in question without including the header @@ -15,7 +18,6 @@ // Example: `some_range.begin() == some_range.end()` works without including // "vpart_reference.h", but `*some_range.begin()` requires it. -class vpart_reference; enum class part_status_flag : int; /** @@ -142,7 +144,6 @@ class generic_vehicle_part_range } }; -class vehicle_part_range; /** A range that contains all parts of the vehicle. */ class vehicle_part_range : public generic_vehicle_part_range { @@ -154,8 +155,6 @@ class vehicle_part_range : public generic_vehicle_part_range } }; -template -class vehicle_part_with_feature_range; /** A range that contains parts that have a given feature and (optionally) are not broken. */ template class vehicle_part_with_feature_range : public diff --git a/src/vpart_reference.h b/src/vpart_reference.h index 89d6400537a7f..ffb5fccba96b1 100644 --- a/src/vpart_reference.h +++ b/src/vpart_reference.h @@ -2,6 +2,7 @@ #ifndef VPART_REFERENCE_H #define VPART_REFERENCE_H +#include #include #include "vpart_position.h" @@ -9,6 +10,7 @@ class vehicle; struct vehicle_part; class vpart_info; + enum vpart_bitflags : int; /** diff --git a/src/weather.cpp b/src/weather.cpp index 17ecc0c2eac6a..c29918541d901 100644 --- a/src/weather.cpp +++ b/src/weather.cpp @@ -3,6 +3,10 @@ #include #include #include +#include +#include +#include +#include #include "calendar.h" #include "cata_utility.h" @@ -21,6 +25,17 @@ #include "translations.h" #include "trap.h" #include "weather_gen.h" +#include "bodypart.h" +#include "character.h" +#include "creature.h" +#include "enums.h" +#include "item.h" +#include "mapdata.h" +#include "math_defines.h" +#include "pldata.h" +#include "rng.h" +#include "string_id.h" +#include "units.h" const efftype_id effect_glare( "glare" ); const efftype_id effect_blind( "blind" ); diff --git a/src/weather.h b/src/weather.h index 4cafa96ab3aa2..93c7f93709a08 100644 --- a/src/weather.h +++ b/src/weather.h @@ -3,6 +3,7 @@ #define WEATHER_H #include "color.h" +#include "int_id.h" /** * @name BODYTEMP @@ -32,9 +33,8 @@ class item; struct point; struct tripoint; struct trap; -template -class int_id; struct oter_t; + using oter_id = int_id; /** diff --git a/src/weather_data.cpp b/src/weather_data.cpp index 741b3749e327c..d8780d8ecb55c 100644 --- a/src/weather_data.cpp +++ b/src/weather_data.cpp @@ -1,9 +1,11 @@ #include "weather.h" // IWYU pragma: associated +#include #include #include #include #include +#include #include "color.h" #include "game_constants.h" diff --git a/src/weather_gen.cpp b/src/weather_gen.cpp index 13217aefaa46d..32def6c9154f7 100644 --- a/src/weather_gen.cpp +++ b/src/weather_gen.cpp @@ -5,13 +5,11 @@ #include #include #include -#include #include #include #include "enums.h" #include "json.h" -#include "messages.h" #include "rng.h" #include "simplexnoise.h" #include "weather.h" diff --git a/src/weather_gen.h b/src/weather_gen.h index d859572e6c995..7034b37af1700 100644 --- a/src/weather_gen.h +++ b/src/weather_gen.h @@ -2,11 +2,13 @@ #ifndef WEATHER_GEN_H #define WEATHER_GEN_H +#include + #include "calendar.h" -struct point; + struct tripoint; -class time_point; class JsonObject; + enum weather_type : int; struct w_point { diff --git a/src/wish.cpp b/src/wish.cpp index 8d6188517e60f..6006be9add7f0 100644 --- a/src/wish.cpp +++ b/src/wish.cpp @@ -1,5 +1,13 @@ #include "debug_menu.h" // IWYU pragma: associated +#include +#include +#include +#include +#include +#include +#include + #include "debug.h" #include "game.h" #include "input.h" @@ -17,6 +25,13 @@ #include "translations.h" #include "ui.h" #include "uistate.h" +#include "calendar.h" +#include "color.h" +#include "cursesdef.h" +#include "enums.h" +#include "item.h" +#include "itype.h" +#include "optional.h" class wish_mutate_callback: public uilist_callback { diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 5662d37941740..09e79079b7009 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -1,6 +1,14 @@ #include "worldfactory.h" +#include #include +#include +#include +#include +#include +#include +#include +#include #include "cata_utility.h" #include "catacharset.h" @@ -9,16 +17,15 @@ #include "debug.h" #include "enums.h" #include "filesystem.h" -#include "gamemode.h" #include "input.h" #include "json.h" -#include "mapsharing.h" #include "mod_manager.h" #include "name.h" #include "output.h" #include "path_info.h" #include "string_formatter.h" #include "translations.h" +#include "color.h" using namespace std::placeholders; diff --git a/src/worldfactory.h b/src/worldfactory.h index daafa8e4827fd..99d0e383c98ee 100644 --- a/src/worldfactory.h +++ b/src/worldfactory.h @@ -2,11 +2,13 @@ #ifndef WORLDFACTORY_H #define WORLDFACTORY_H +#include #include #include #include #include #include +#include #include "options.h" #include "pimpl.h" @@ -14,12 +16,14 @@ class JsonIn; class JsonObject; + enum special_game_id : int; namespace catacurses { class window; } // namespace catacurses struct MOD_INFORMATION; + using mod_id = string_id; class save_t diff --git a/tests/bionics_test.cpp b/tests/bionics_test.cpp index 9051d1830a616..daa24821e9e70 100644 --- a/tests/bionics_test.cpp +++ b/tests/bionics_test.cpp @@ -1,9 +1,20 @@ +#include +#include +#include +#include +#include +#include + #include "catch/catch.hpp" #include "ammo.h" #include "bionics.h" #include "game.h" #include "item.h" #include "player.h" +#include "calendar.h" +#include "character.h" +#include "pimpl.h" +#include "string_id.h" void clear_bionics( player &p ) { diff --git a/tests/catacharset_test.cpp b/tests/catacharset_test.cpp index bfea3fd0c2e84..cb04e52404e59 100644 --- a/tests/catacharset_test.cpp +++ b/tests/catacharset_test.cpp @@ -1,4 +1,5 @@ #include +#include #include "catch/catch.hpp" #include "catacharset.h" diff --git a/tests/crafting_test.cpp b/tests/crafting_test.cpp index 19847854498c6..50f9b6818b1fd 100644 --- a/tests/crafting_test.cpp +++ b/tests/crafting_test.cpp @@ -1,5 +1,10 @@ +#include +#include +#include +#include +#include + #include "catch/catch.hpp" -#include "crafting.h" #include "game.h" #include "itype.h" #include "map_helpers.h" @@ -7,6 +12,14 @@ #include "player.h" #include "player_helpers.h" #include "recipe_dictionary.h" +#include "calendar.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" +#include "mapdata.h" +#include "optional.h" +#include "recipe.h" +#include "requirements.h" TEST_CASE( "recipe_subset" ) { diff --git a/tests/creature_test.cpp b/tests/creature_test.cpp index 4787ffbde4a43..0ceaea4d5be75 100644 --- a/tests/creature_test.cpp +++ b/tests/creature_test.cpp @@ -1,8 +1,13 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "creature.h" #include "monster.h" #include "mtype.h" #include "test_statistics.h" +#include "bodypart.h" float expected_weights_base[][12] = { { 20, 0, 0, 0, 15, 15, 0, 0, 25, 25, 0, 0 }, { 33.33, 2.33, 0.33, 0, 20, 20, 0, 0, 12, 12, 0, 0 }, diff --git a/tests/encumbrance_test.cpp b/tests/encumbrance_test.cpp index 0d4677bc087a9..6b2dff6c8bb6d 100644 --- a/tests/encumbrance_test.cpp +++ b/tests/encumbrance_test.cpp @@ -1,7 +1,19 @@ +#include +#include +#include +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "npc.h" #include "player.h" +#include "bodypart.h" +#include "character.h" +#include "item.h" +#include "mapdata.h" +#include "pldata.h" void test_encumbrance_on( player &p, diff --git a/tests/explosion_balance.cpp b/tests/explosion_balance.cpp index 166e277b762af..b8310bb693640 100644 --- a/tests/explosion_balance.cpp +++ b/tests/explosion_balance.cpp @@ -1,4 +1,8 @@ #include +#include +#include +#include +#include #include "catch/catch.hpp" #include "enums.h" @@ -8,10 +12,10 @@ #include "line.h" #include "map.h" #include "map_helpers.h" -#include "monster.h" #include "test_statistics.h" #include "vehicle.h" #include "vpart_position.h" +#include "creature.h" void check_lethality( const std::string &explosive_id, const int range, float lethality, float margin ) diff --git a/tests/fake_messages.cpp b/tests/fake_messages.cpp index a7f2ec8594b84..b5b8d829d65a6 100644 --- a/tests/fake_messages.cpp +++ b/tests/fake_messages.cpp @@ -1,5 +1,17 @@ +#include +#include +#include +#include + #include "messages.h" +class JsonObject; +class JsonOut; +namespace catacurses +{ +class window; +} // namespace catacurses + /** * Stubs to turn all Messages calls into no-ops for unit testing. */ diff --git a/tests/fold_string_test.cpp b/tests/fold_string_test.cpp index d6b0e0b84063e..acc66b6c6dc8d 100644 --- a/tests/fold_string_test.cpp +++ b/tests/fold_string_test.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "catch/catch.hpp" #include "output.h" diff --git a/tests/ground_destroy_test.cpp b/tests/ground_destroy_test.cpp index 975b75052a888..68ed783f5c049 100755 --- a/tests/ground_destroy_test.cpp +++ b/tests/ground_destroy_test.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "catch/catch.hpp" #include "game.h" @@ -9,6 +10,8 @@ #include "map_helpers.h" #include "mapdata.h" #include "options.h" +#include "enums.h" +#include "int_id.h" // Destroying pavement with a pickaxe should not leave t_flat_roof. // See issue #24707: diff --git a/tests/hash_test.cpp b/tests/hash_test.cpp index f0d073250eac9..c5f1ebe6da265 100644 --- a/tests/hash_test.cpp +++ b/tests/hash_test.cpp @@ -1,9 +1,11 @@ #include #include #include +#include +#include +#include #include "catch/catch.hpp" -#include "map.h" #include "enums.h" #ifdef RELEASE diff --git a/tests/health_test.cpp b/tests/health_test.cpp index 43719b984491e..7007a2a71a2b6 100644 --- a/tests/health_test.cpp +++ b/tests/health_test.cpp @@ -1,9 +1,12 @@ +#include #include +#include +#include #include "catch/catch.hpp" -#include "item.h" #include "npc.h" -#include "player.h" +#include "calendar.h" +#include "enums.h" static void test_diet( const time_duration dur, npc &dude, const std::array hmod_changes_per_day, int min, int max ) diff --git a/tests/invlet_test.cpp b/tests/invlet_test.cpp index af552ca8bb439..86fa0457b571d 100644 --- a/tests/invlet_test.cpp +++ b/tests/invlet_test.cpp @@ -1,4 +1,11 @@ #include +#include +#include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "game.h" @@ -6,6 +13,13 @@ #include "options.h" #include "player.h" #include "map_helpers.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" +#include "item_stack.h" +#include "mapdata.h" +#include "player_activity.h" +#include "pldata.h" const trait_id trait_debug_storage( "DEBUG_STORAGE" ); diff --git a/tests/item_test.cpp b/tests/item_test.cpp index 954fe90089244..37b10bb71b68a 100644 --- a/tests/item_test.cpp +++ b/tests/item_test.cpp @@ -1,9 +1,15 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "calendar.h" #include "itype.h" #include "ret_val.h" #include "units.h" #include "item.h" +#include "enums.h" +#include "optional.h" TEST_CASE( "item_volume", "[item]" ) { diff --git a/tests/iteminfo_test.cpp b/tests/iteminfo_test.cpp index c0100ca3394d8..945f72eb6451f 100644 --- a/tests/iteminfo_test.cpp +++ b/tests/iteminfo_test.cpp @@ -1,3 +1,7 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "item.h" diff --git a/tests/iuse_test.cpp b/tests/iuse_test.cpp index 11fea98062209..ec2e2d2725296 100644 --- a/tests/iuse_test.cpp +++ b/tests/iuse_test.cpp @@ -1,9 +1,17 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" -#include "iuse.h" #include "monster.h" #include "mtype.h" #include "player.h" +#include "bodypart.h" +#include "calendar.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" player &get_sanitized_player( ) { diff --git a/tests/line_test.cpp b/tests/line_test.cpp index 8c58aa9c50865..9709b4536fa50 100644 --- a/tests/line_test.cpp +++ b/tests/line_test.cpp @@ -1,9 +1,16 @@ +#include #include #include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "line.h" #include "rng.h" +#include "enums.h" #define SGN(a) (((a)<0) ? -1 : 1) // Compare all future line_to implementations to the canonical one. diff --git a/tests/map_helpers.cpp b/tests/map_helpers.cpp index 1b298ec819fe6..ed4b462a10547 100644 --- a/tests/map_helpers.cpp +++ b/tests/map_helpers.cpp @@ -1,3 +1,8 @@ +#include +#include +#include +#include + #include "creature_tracker.h" #include "game.h" #include "map.h" @@ -5,6 +10,10 @@ #include "monster.h" #include "player.h" #include "field.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "pimpl.h" void wipe_map_terrain() { diff --git a/tests/map_iterator_test.cpp b/tests/map_iterator_test.cpp index 3ac466c5db132..8255b0552ff64 100644 --- a/tests/map_iterator_test.cpp +++ b/tests/map_iterator_test.cpp @@ -3,6 +3,7 @@ #include "catch/catch.hpp" #include "map_iterator.h" +#include "enums.h" std::array range_1_2d_centered = { { {-1, -1, 0}, { 0, -1, 0}, { 1, -1, 0}, diff --git a/tests/map_memory.cpp b/tests/map_memory.cpp index f516f3d202a18..69ae06b681e54 100644 --- a/tests/map_memory.cpp +++ b/tests/map_memory.cpp @@ -1,9 +1,14 @@ +#include #include +#include +#include +#include #include "catch/catch.hpp" #include "map_memory.h" #include "json.h" #include "game_constants.h" +#include "enums.h" static constexpr tripoint p1{ 0, 0, 1 }; static constexpr tripoint p2{ 0, 0, 2 }; diff --git a/tests/map_test.cpp b/tests/map_test.cpp index 0b48fb8f8b64d..f8119ddd82f98 100644 --- a/tests/map_test.cpp +++ b/tests/map_test.cpp @@ -1,8 +1,12 @@ +#include + #include "catch/catch.hpp" #include "game.h" #include "map.h" #include "map_helpers.h" #include "player.h" +#include "enums.h" +#include "mapdata.h" TEST_CASE( "destroy_grabbed_furniture" ) { diff --git a/tests/math_functions.cpp b/tests/math_functions.cpp index c4c3eb9ae1280..c3c3d8846401f 100644 --- a/tests/math_functions.cpp +++ b/tests/math_functions.cpp @@ -1,3 +1,4 @@ +#include #include #include diff --git a/tests/melee_test.cpp b/tests/melee_test.cpp index e9bf0d8b1d8f8..67e87d521ac17 100644 --- a/tests/melee_test.cpp +++ b/tests/melee_test.cpp @@ -1,11 +1,15 @@ +#include #include #include #include "catch/catch.hpp" -#include "game.h" #include "monattack.h" #include "monster.h" #include "npc.h" +#include "creature.h" +#include "item.h" +#include "mapdata.h" +#include "player.h" static float brute_probability( Creature &attacker, Creature &target, const size_t iters ) { diff --git a/tests/mod_test.cpp b/tests/mod_test.cpp index 8417e3f58f6ab..09659f5ce66ec 100644 --- a/tests/mod_test.cpp +++ b/tests/mod_test.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "catch/catch.hpp" #include "item.h" diff --git a/tests/mondefense_test.cpp b/tests/mondefense_test.cpp index 2263d262cf0fa..b0a11f033a789 100644 --- a/tests/mondefense_test.cpp +++ b/tests/mondefense_test.cpp @@ -4,6 +4,8 @@ #include "monster.h" #include "npc.h" #include "projectile.h" +#include "character.h" +#include "creature.h" void test_zapback( Creature &attacker, const bool expect_damage, const dealt_projectile_attack *proj = nullptr ) diff --git a/tests/monster_test.cpp b/tests/monster_test.cpp index 3c43e504f0a1c..1b5b5bf72714c 100644 --- a/tests/monster_test.cpp +++ b/tests/monster_test.cpp @@ -1,10 +1,15 @@ +#include #include #include #include #include +#include +#include +#include +#include +#include #include "catch/catch.hpp" -#include "creature.h" #include "game.h" #include "map.h" #include "map_helpers.h" @@ -12,7 +17,10 @@ #include "options.h" #include "player.h" #include "test_statistics.h" -#include "vehicle.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "line.h" typedef statistics move_statistics; diff --git a/tests/morale_test.cpp b/tests/morale_test.cpp index 5945feefd4df3..17c140166cea2 100644 --- a/tests/morale_test.cpp +++ b/tests/morale_test.cpp @@ -1,13 +1,9 @@ -#include - #include "catch/catch.hpp" #include "bodypart.h" -#include "effect.h" -#include "game.h" #include "item.h" -#include "itype.h" #include "morale.h" #include "morale_types.h" +#include "calendar.h" TEST_CASE( "player_morale" ) { diff --git a/tests/mutation_test.cpp b/tests/mutation_test.cpp index 6b2ad6792a489..b521864b9556e 100644 --- a/tests/mutation_test.cpp +++ b/tests/mutation_test.cpp @@ -1,10 +1,14 @@ #include +#include +#include +#include +#include #include "catch/catch.hpp" -#include "game.h" #include "mutation.h" #include "npc.h" #include "player.h" +#include "string_id.h" std::string get_mutations_as_string( const player &p ); diff --git a/tests/new_character_test.cpp b/tests/new_character_test.cpp index 9b5eff57f88e6..3832ba9c82af9 100644 --- a/tests/new_character_test.cpp +++ b/tests/new_character_test.cpp @@ -3,16 +3,23 @@ #include #include #include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "game.h" #include "item.h" #include "itype.h" -#include "mutation.h" #include "player.h" #include "profession.h" #include "scenario.h" #include "string_id.h" +#include "optional.h" +#include "pldata.h" +#include "ret_val.h" std::ostream &operator<<( std::ostream &s, const std::vector &v ) { diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index aa37bd5916438..ca969bae51e0a 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -1,4 +1,7 @@ +#include #include +#include +#include #include "catch/catch.hpp" #include "calendar.h" @@ -11,6 +14,12 @@ #include "npc.h" #include "overmapbuffer.h" #include "player.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" +#include "npc_class.h" +#include "pimpl.h" +#include "string_id.h" const efftype_id effect_gave_quest_item( "gave_quest_item" ); const efftype_id effect_currently_busy( "currently_busy" ); diff --git a/tests/npc_test.cpp b/tests/npc_test.cpp index ee41cf9ce28f0..83583dc660f28 100644 --- a/tests/npc_test.cpp +++ b/tests/npc_test.cpp @@ -1,4 +1,9 @@ +#include #include +#include +#include +#include +#include #include "catch/catch.hpp" #include "common_types.h" @@ -15,6 +20,15 @@ #include "vehicle.h" #include "vpart_position.h" #include "vpart_reference.h" // IWYU pragma: keep +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "line.h" +#include "mapdata.h" +#include "optional.h" +#include "pimpl.h" +#include "string_id.h" void on_load_test( npc &who, const time_duration &from, const time_duration &to ) { diff --git a/tests/optional_test.cpp b/tests/optional_test.cpp index f8f250456a251..1cb64534a34f9 100644 --- a/tests/optional_test.cpp +++ b/tests/optional_test.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "catch/catch.hpp" #include "optional.h" diff --git a/tests/overmap_test.cpp b/tests/overmap_test.cpp index aeef7134bcd52..a1a39a6d5ac3a 100644 --- a/tests/overmap_test.cpp +++ b/tests/overmap_test.cpp @@ -1,7 +1,16 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "map.h" #include "overmap.h" #include "overmapbuffer.h" +#include "calendar.h" +#include "common_types.h" +#include "enums.h" +#include "omdata.h" +#include "overmap_types.h" TEST_CASE( "set_and_get_overmap_scents" ) { diff --git a/tests/player_helpers.cpp b/tests/player_helpers.cpp index dba22652af865..fe3e5f836438e 100644 --- a/tests/player_helpers.cpp +++ b/tests/player_helpers.cpp @@ -1,12 +1,15 @@ #include "player_helpers.h" #include +#include +#include #include "enums.h" #include "game.h" #include "item.h" -#include "map.h" #include "player.h" +#include "inventory.h" +#include "pldata.h" int get_remaining_charges( const std::string &tool_id ) { diff --git a/tests/player_test.cpp b/tests/player_test.cpp index ac84af28e9f73..3850467f76b1b 100644 --- a/tests/player_test.cpp +++ b/tests/player_test.cpp @@ -1,9 +1,15 @@ #include +#include +#include +#include #include "catch/catch.hpp" #include "game.h" #include "player.h" #include "weather.h" +#include "bodypart.h" +#include "calendar.h" +#include "item.h" // Set the stage for a particular ambient and target temperature and run update_bodytemp() until // core body temperature settles. diff --git a/tests/ranged_balance.cpp b/tests/ranged_balance.cpp index ce1ff807fcf5b..4e8b9d33e3819 100644 --- a/tests/ranged_balance.cpp +++ b/tests/ranged_balance.cpp @@ -1,14 +1,26 @@ #include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "ballistics.h" #include "dispersion.h" -#include "game.h" #include "map_helpers.h" -#include "monster.h" #include "npc.h" #include "test_statistics.h" #include "units.h" +#include "bodypart.h" +#include "calendar.h" +#include "enums.h" +#include "game_constants.h" +#include "inventory.h" +#include "item.h" +#include "item_location.h" +#include "mapdata.h" +#include "player.h" typedef statistics firing_statistics; diff --git a/tests/reload_magazine.cpp b/tests/reload_magazine.cpp index 26b35f743696a..fbd8cc2a0d34a 100644 --- a/tests/reload_magazine.cpp +++ b/tests/reload_magazine.cpp @@ -1,8 +1,19 @@ +#include +#include +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" -#include "itype.h" #include "player.h" #include "visitable.h" +#include "calendar.h" +#include "inventory.h" +#include "item.h" +#include "item_location.h" +#include "mapdata.h" +#include "string_id.h" TEST_CASE( "reload_magazine", "[magazine] [visitable] [item] [item_location]" ) { diff --git a/tests/reload_option.cpp b/tests/reload_option.cpp index e4bb50cbe10ec..4b666686fb6e7 100644 --- a/tests/reload_option.cpp +++ b/tests/reload_option.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "catch/catch.hpp" #include "item.h" #include "item_location.h" diff --git a/tests/reloading_test.cpp b/tests/reloading_test.cpp index b026eb554524f..08a35b16ff2fd 100644 --- a/tests/reloading_test.cpp +++ b/tests/reloading_test.cpp @@ -1,9 +1,17 @@ +#include +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "item.h" #include "item_location.h" #include "itype.h" #include "player.h" +#include "calendar.h" +#include "inventory.h" +#include "optional.h" TEST_CASE( "reload_gun_with_integral_magazine", "[reload],[gun]" ) { diff --git a/tests/rewrite_vsnprintf_test.cpp b/tests/rewrite_vsnprintf_test.cpp index 75f5ce3611490..8a1e1e5870b13 100644 --- a/tests/rewrite_vsnprintf_test.cpp +++ b/tests/rewrite_vsnprintf_test.cpp @@ -1,3 +1,5 @@ +#include + #include "catch/catch.hpp" std::string rewrite_vsnprintf( const char *msg ); diff --git a/tests/savegame_test.cpp b/tests/savegame_test.cpp index 104d6c59bcb46..b7d952030e2d7 100644 --- a/tests/savegame_test.cpp +++ b/tests/savegame_test.cpp @@ -1,12 +1,21 @@ #include #include -#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "filesystem.h" #include "mongroup.h" #include "npc.h" #include "overmap.h" +#include "damage.h" +#include "enums.h" +#include "item.h" +#include "monster.h" +#include "omdata.h" +#include "string_id.h" // Intentionally ignoring the name member. bool operator==( const city &a, const city &b ) diff --git a/tests/shadowcasting_test.cpp b/tests/shadowcasting_test.cpp index 2ffb06ceda428..a414b800cc413 100644 --- a/tests/shadowcasting_test.cpp +++ b/tests/shadowcasting_test.cpp @@ -1,11 +1,19 @@ #include #include #include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "line.h" // For rl_dist. #include "map.h" #include "shadowcasting.h" +#include "enums.h" +#include "game_constants.h" +#include "lightmap.h" // Constants setting the ratio of set to unset tiles. constexpr unsigned int NUMERATOR = 1; diff --git a/tests/string_formatter_test.cpp b/tests/string_formatter_test.cpp index 2af780ce17a16..8be01fa5606a6 100644 --- a/tests/string_formatter_test.cpp +++ b/tests/string_formatter_test.cpp @@ -1,7 +1,8 @@ #include +#include +#include #include "catch/catch.hpp" -#include "output.h" #include "string_formatter.h" // Same as @ref string_format, but does not swallow errors and throws them instead. diff --git a/tests/test_main.cpp b/tests/test_main.cpp index 0950dd67b1a65..ff36e13a68217 100644 --- a/tests/test_main.cpp +++ b/tests/test_main.cpp @@ -13,9 +13,20 @@ #endif // _GLIBCXX_DEBUG #define CATCH_CONFIG_RUNNER +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "debug.h" @@ -23,13 +34,15 @@ #include "game.h" #include "loading_ui.h" #include "map.h" -#include "mod_manager.h" #include "overmap.h" #include "overmapbuffer.h" #include "path_info.h" -#include "pathfinding.h" #include "player.h" #include "worldfactory.h" +#include "color.h" +#include "options.h" +#include "pldata.h" +#include "rng.h" typedef std::pair name_value_pair_t; typedef std::vector option_overrides_t; diff --git a/tests/test_statistics.h b/tests/test_statistics.h index 90076867f47fa..aaf73a0a71956 100644 --- a/tests/test_statistics.h +++ b/tests/test_statistics.h @@ -5,6 +5,9 @@ #include #include #include +#include +#include +#include #include "catch/catch.hpp" diff --git a/tests/throwing_test.cpp b/tests/throwing_test.cpp index b295c3fc37b07..7a9c97c89f2c4 100644 --- a/tests/throwing_test.cpp +++ b/tests/throwing_test.cpp @@ -1,11 +1,13 @@ #include #include +#include +#include +#include +#include #include "catch/catch.hpp" -#include "dispersion.h" #include "game.h" #include "item.h" -#include "itype.h" #include "line.h" #include "map_helpers.h" #include "monster.h" @@ -13,6 +15,12 @@ #include "player.h" #include "projectile.h" #include "test_statistics.h" +#include "character.h" +#include "damage.h" +#include "enums.h" +#include "game_constants.h" +#include "inventory.h" +#include "mapdata.h" TEST_CASE( "throwing distance test", "[throwing], [balance]" ) { diff --git a/tests/time_duration_test.cpp b/tests/time_duration_test.cpp index acdda3d91b596..501c31feff4de 100644 --- a/tests/time_duration_test.cpp +++ b/tests/time_duration_test.cpp @@ -1,4 +1,5 @@ #include +#include #include "catch/catch.hpp" #include "calendar.h" diff --git a/tests/vehicle_drag.cpp b/tests/vehicle_drag.cpp index c5b76bdf5af7f..f44e231474530 100644 --- a/tests/vehicle_drag.cpp +++ b/tests/vehicle_drag.cpp @@ -1,4 +1,7 @@ -#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "game.h" @@ -8,11 +11,16 @@ #include "veh_type.h" #include "vpart_range.h" #include "vpart_reference.h" -#include "itype.h" #include "player.h" -#include "cata_utility.h" -#include "options.h" #include "test_statistics.h" +#include "bodypart.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "mapdata.h" + +class monster; typedef statistics efficiency_stat; diff --git a/tests/vehicle_efficiency.cpp b/tests/vehicle_efficiency.cpp index ff517c9916b05..ec6888c6cc78a 100644 --- a/tests/vehicle_efficiency.cpp +++ b/tests/vehicle_efficiency.cpp @@ -1,7 +1,15 @@ +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include "catch/catch.hpp" -#include "cata_utility.h" #include "game.h" #include "itype.h" #include "map.h" @@ -12,6 +20,17 @@ #include "vehicle.h" #include "vpart_range.h" #include "vpart_reference.h" +#include "bodypart.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "game_constants.h" +#include "item.h" +#include "line.h" +#include "mapdata.h" +#include "units.h" + +class monster; typedef statistics efficiency_stat; diff --git a/tests/vehicle_interact_test.cpp b/tests/vehicle_interact_test.cpp index 14d17db4a3a6a..c0ad2999b69b3 100644 --- a/tests/vehicle_interact_test.cpp +++ b/tests/vehicle_interact_test.cpp @@ -1,3 +1,8 @@ +#include +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "map.h" @@ -7,6 +12,10 @@ #include "requirements.h" #include "veh_type.h" #include "vehicle.h" +#include "calendar.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" static void test_repair( const std::vector &tools, bool expect_craftable ) { diff --git a/tests/vehicle_power_test.cpp b/tests/vehicle_power_test.cpp index 761e168fcc7a9..5bc007db08454 100644 --- a/tests/vehicle_power_test.cpp +++ b/tests/vehicle_power_test.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "map.h" @@ -8,6 +11,9 @@ #include "itype.h" #include "calendar.h" #include "weather.h" +#include "enums.h" +#include "game_constants.h" +#include "mapdata.h" static const itype_id fuel_type_battery( "battery" ); static const itype_id fuel_type_plut_cell( "plut_cell" ); diff --git a/tests/vehicle_split_test.cpp b/tests/vehicle_split_test.cpp index 931ba2c6862f7..2b3776551d1f8 100644 --- a/tests/vehicle_split_test.cpp +++ b/tests/vehicle_split_test.cpp @@ -1,9 +1,13 @@ +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "map.h" #include "player.h" -#include "veh_type.h" #include "vehicle.h" +#include "enums.h" TEST_CASE( "vehicle_split_section" ) { diff --git a/tests/vehicle_test.cpp b/tests/vehicle_test.cpp index b150855efccea..38bf9883fd5c0 100644 --- a/tests/vehicle_test.cpp +++ b/tests/vehicle_test.cpp @@ -1,9 +1,12 @@ +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "map.h" #include "player.h" -#include "veh_type.h" #include "vehicle.h" +#include "enums.h" TEST_CASE( "destroy_grabbed_vehicle_section" ) { diff --git a/tests/vehicle_turrets.cpp b/tests/vehicle_turrets.cpp index a7296f2404e1e..66d1ae3c0bc64 100644 --- a/tests/vehicle_turrets.cpp +++ b/tests/vehicle_turrets.cpp @@ -1,3 +1,10 @@ +#include +#include +#include +#include +#include +#include + #include "catch/catch.hpp" #include "ammo.h" #include "game.h" @@ -6,6 +13,12 @@ #include "player.h" #include "veh_type.h" #include "vehicle.h" +#include "enums.h" +#include "item.h" +#include "item_location.h" +#include "optional.h" +#include "string_id.h" +#include "units.h" static std::vector turret_types() { diff --git a/tests/vision_test.cpp b/tests/vision_test.cpp index 06141819c441b..f062d205f8421 100644 --- a/tests/vision_test.cpp +++ b/tests/vision_test.cpp @@ -1,13 +1,25 @@ +#include #include #include +#include +#include +#include +#include +#include +#include #include "catch/catch.hpp" #include "game.h" #include "player.h" #include "field.h" -#include "string.h" #include "map.h" #include "map_helpers.h" +#include "calendar.h" +#include "creature.h" +#include "enums.h" +#include "item.h" +#include "lightmap.h" +#include "shadowcasting.h" void full_map_test( const std::vector &setup, const std::vector &expected_results, diff --git a/tests/visitable_remove.cpp b/tests/visitable_remove.cpp index bfcd548d9b627..9588a76f33e50 100644 --- a/tests/visitable_remove.cpp +++ b/tests/visitable_remove.cpp @@ -1,3 +1,9 @@ +#include +#include +#include +#include +#include + #include "catch/catch.hpp" #include "game.h" #include "itype.h" @@ -10,6 +16,12 @@ #include "visitable.h" #include "vpart_position.h" #include "vpart_reference.h" +#include "calendar.h" +#include "enums.h" +#include "inventory.h" +#include "item.h" +#include "mapdata.h" +#include "optional.h" template static int count_items( const T &src, const itype_id &id ) diff --git a/tests/wield_times_test.cpp b/tests/wield_times_test.cpp index aa500f96f7b11..41a762b4886dd 100644 --- a/tests/wield_times_test.cpp +++ b/tests/wield_times_test.cpp @@ -1,4 +1,7 @@ +#include #include +#include +#include #include "catch/catch.hpp" #include "game.h" @@ -6,6 +9,8 @@ #include "map_helpers.h" #include "player.h" #include "player_helpers.h" +#include "enums.h" +#include "item.h" void wield_check_internal( player &dummy, item &the_item, const char *section_text, const std::string &var_name, const int expected_cost )