summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
Diffstat (limited to 'include/d')
-rw-r--r--include/d/a/d_a_alink.h23
-rw-r--r--include/d/a/d_a_horse_static.h2
-rw-r--r--include/d/a/d_a_item_static.h3
-rw-r--r--include/d/a/d_a_itembase_static.h3
-rw-r--r--include/d/a/d_a_npc.h5
-rw-r--r--include/d/a/d_a_obj_ss_base.h2
-rw-r--r--include/d/a/d_a_player.h8
-rw-r--r--include/d/bg/d_bg_plc.h3
-rw-r--r--include/d/bg/d_bg_s.h7
-rw-r--r--include/d/bg/d_bg_s_acch.h5
-rw-r--r--include/d/bg/d_bg_s_lin_chk.h3
-rw-r--r--include/d/bg/d_bg_s_movebg_actor.h2
-rw-r--r--include/d/bg/d_bg_s_sph_chk.h1
-rw-r--r--include/d/bg/d_bg_w.h16
-rw-r--r--include/d/bg/d_bg_w_base.h15
-rw-r--r--include/d/bg/d_bg_w_kcol.h4
-rw-r--r--include/d/cc/d_cc_mass_s.h1
-rw-r--r--include/d/cc/d_cc_s.h5
-rw-r--r--include/d/cc/d_cc_uty.h3
-rw-r--r--include/d/com/d_com_inf_game.h9
-rw-r--r--include/d/d_attention.h5
-rw-r--r--include/d/d_bomb.h1
-rw-r--r--include/d/d_camera.h5
-rw-r--r--include/d/d_demo.h10
-rw-r--r--include/d/d_door_param2.h4
-rw-r--r--include/d/d_drawlist.h17
-rw-r--r--include/d/d_eye_hl.h6
-rw-r--r--include/d/d_gameover.h1
-rw-r--r--include/d/d_item.h1
-rw-r--r--include/d/d_jnt_col.h5
-rw-r--r--include/d/d_kantera_icon_meter.h4
-rw-r--r--include/d/d_ky_thunder.h3
-rw-r--r--include/d/d_lib.h6
-rw-r--r--include/d/d_model.h5
-rw-r--r--include/d/d_name.h11
-rw-r--r--include/d/d_path.h6
-rw-r--r--include/d/d_resorce.h7
-rw-r--r--include/d/d_select_cursor.h2
-rw-r--r--include/d/d_simple_model.h3
-rw-r--r--include/d/d_spline_path.h4
-rw-r--r--include/d/d_stage.h7
-rw-r--r--include/d/d_timer.h8
-rw-r--r--include/d/d_tresure.h2
-rw-r--r--include/d/d_vibration.h2
-rw-r--r--include/d/event/d_event.h8
-rw-r--r--include/d/event/d_event_data.h6
-rw-r--r--include/d/event/d_event_lib.h3
-rw-r--r--include/d/event/d_event_manager.h3
-rw-r--r--include/d/file/d_file_sel_info.h5
-rw-r--r--include/d/file/d_file_sel_warning.h4
-rw-r--r--include/d/file/d_file_select.h25
-rw-r--r--include/d/kankyo/d_kankyo.h7
-rw-r--r--include/d/kankyo/d_kankyo_wether.h1
-rw-r--r--include/d/map/d_map_path.h1
-rw-r--r--include/d/map/d_map_path_dmap.h4
-rw-r--r--include/d/menu/d_menu_calibration.h8
-rw-r--r--include/d/menu/d_menu_collect.h9
-rw-r--r--include/d/menu/d_menu_dmap.h11
-rw-r--r--include/d/menu/d_menu_fishing.h13
-rw-r--r--include/d/menu/d_menu_fmap.h10
-rw-r--r--include/d/menu/d_menu_insect.h9
-rw-r--r--include/d/menu/d_menu_letter.h9
-rw-r--r--include/d/menu/d_menu_option.h10
-rw-r--r--include/d/menu/d_menu_ring.h11
-rw-r--r--include/d/menu/d_menu_save.h14
-rw-r--r--include/d/menu/d_menu_skill.h9
-rw-r--r--include/d/menu/d_menu_window.h15
-rw-r--r--include/d/meter/d_meter2.h12
-rw-r--r--include/d/meter/d_meter2_draw.h11
-rw-r--r--include/d/meter/d_meter2_info.h14
-rw-r--r--include/d/meter/d_meter_HIO.h5
-rw-r--r--include/d/meter/d_meter_map.h4
-rw-r--r--include/d/msg/d_msg_class.h7
-rw-r--r--include/d/msg/d_msg_flow.h5
-rw-r--r--include/d/msg/d_msg_object.h10
-rw-r--r--include/d/msg/d_msg_out_font.h5
-rw-r--r--include/d/msg/d_msg_string.h4
-rw-r--r--include/d/msg/d_msg_string_base.h5
-rw-r--r--include/d/pane/d_pane_class.h2
-rw-r--r--include/d/pane/d_pane_class_alpha.h8
-rw-r--r--include/d/particle/d_particle.h13
-rw-r--r--include/d/particle/d_particle_copoly.h4
-rw-r--r--include/d/s/d_s_logo.h11
-rw-r--r--include/d/s/d_s_play.h6
-rw-r--r--include/d/save/d_save.h3
-rw-r--r--include/d/shop/d_shop_item_ctrl.h2
-rw-r--r--include/d/shop/d_shop_system.h3
87 files changed, 381 insertions, 193 deletions
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h
index d05a1591c6..f918ad216a 100644
--- a/include/d/a/d_a_alink.h
+++ b/include/d/a/d_a_alink.h
@@ -3,35 +3,38 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
+#include "JSystem/JParticle/JPAParticle.h"
#include "Z2AudioLib/Z2Creature.h"
#include "Z2AudioLib/Z2WolfHowlMgr.h"
#include "d/a/d_a_player.h"
-#include "d/bg/d_bg_s.h"
+#include "d/bg/d_bg_s_acch.h"
+#include "d/bg/d_bg_s_lin_chk.h"
+#include "d/bg/d_bg_w_base.h"
#include "d/cc/d_cc_d.h"
-#include "d/cc/d_cc_mass_s.h"
#include "d/d_attention.h"
-#include "d/d_drawlist.h"
#include "d/d_eye_hl.h"
#include "d/d_jnt_col.h"
-#include "d/kankyo/d_kankyo.h"
#include "d/meter/d_meter2_info.h"
#include "d/msg/d_msg_flow.h"
#include "d/particle/d_particle.h"
#include "d/particle/d_particle_copoly.h"
+#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
-#include "f_op/f_op_scene.h"
+#include "global.h"
#include "rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h"
#include "rel/d/a/tag/d_a_tag_mmsg/d_a_tag_mmsg.h"
-class fopEn_enemy_c;
-class daAlinkHIO_anm_c;
-class J3DAnmTevRegKey;
-class dDemo_actor_c;
-class daScex_c;
+class J2DAnmColorKey;
+class J2DAnmTransformKey;
class J2DScreen;
class J2DPane;
class J2DAnmBase;
+class J3DAnmTevRegKey;
+class dDemo_actor_c;
+class daAlinkHIO_anm_c;
+class daScex_c;
+class fopEn_enemy_c;
class daAlink_lockCursor_c : public dDlst_base_c {
public:
diff --git a/include/d/a/d_a_horse_static.h b/include/d/a/d_a_horse_static.h
index d2b4f4223b..a9918b7af2 100644
--- a/include/d/a/d_a_horse_static.h
+++ b/include/d/a/d_a_horse_static.h
@@ -2,7 +2,7 @@
#define D_A_D_A_HORSE_STATIC_H
#include "dolphin/types.h"
-#include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h"
+#include "f_op/f_op_actor.h"
class daTagHstop_c : public fopAc_ac_c {
public:
diff --git a/include/d/a/d_a_item_static.h b/include/d/a/d_a_item_static.h
index 16b521d874..9a19d3e2e1 100644
--- a/include/d/a/d_a_item_static.h
+++ b/include/d/a/d_a_item_static.h
@@ -2,9 +2,10 @@
#define D_A_D_A_ITEM_STATIC_H
#include "SSystem/SComponent/c_lib.h"
+#include "Z2AudioLib/Z2SoundObject.h"
#include "dolphin/types.h"
#include "d/a/d_a_itembase.h"
-#include "d/a/d_a_itembase_static.h"
+#include "d/cc/d_cc_d.h"
#include "d/particle/d_particle.h"
class daItem_c;
diff --git a/include/d/a/d_a_itembase_static.h b/include/d/a/d_a_itembase_static.h
index 3c7f96b55d..d44917a789 100644
--- a/include/d/a/d_a_itembase_static.h
+++ b/include/d/a/d_a_itembase_static.h
@@ -1,9 +1,10 @@
#ifndef D_A_D_A_ITEMBASE_STATIC_H
#define D_A_D_A_ITEMBASE_STATIC_H
-#include "d/a/d_a_itembase.h"
#include "dolphin/types.h"
+class fopAc_ac_c;
+
void CheckFieldItemCreateHeap(fopAc_ac_c* actor);
#endif /* D_A_D_A_ITEMBASE_STATIC_H */
diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h
index a904b9e7b7..40620561ef 100644
--- a/include/d/a/d_a_npc.h
+++ b/include/d/a/d_a_npc.h
@@ -1,9 +1,12 @@
#ifndef D_A_D_A_NPC_H
#define D_A_D_A_NPC_H
+#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
+#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_path.h"
-#include "d/msg/d_msg_object.h"
+#include "d/msg/d_msg_flow.h"
+#include "d/particle/d_particle_copoly.h"
#include "dolphin/types.h"
#include "global.h"
diff --git a/include/d/a/d_a_obj_ss_base.h b/include/d/a/d_a_obj_ss_base.h
index 29bf74248a..2c25613874 100644
--- a/include/d/a/d_a_obj_ss_base.h
+++ b/include/d/a/d_a_obj_ss_base.h
@@ -1,7 +1,7 @@
#ifndef A_OBJ_D_A_OBJ_SS_BASE_H
#define A_OBJ_D_A_OBJ_SS_BASE_H
-#include "f_op/f_op_actor_mng.h"
+#include "f_op/f_op_actor.h"
class daObj_SSBase_c : public fopAc_ac_c {
public:
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h
index 34b0ea5b88..ede65e9781 100644
--- a/include/d/a/d_a_player.h
+++ b/include/d/a/d_a_player.h
@@ -1,16 +1,12 @@
#ifndef D_A_D_A_PLAYER_H
#define D_A_D_A_PLAYER_H
-#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
-#include "JSystem/JUtility/JUTTexture.h"
-#include "SSystem/SComponent/c_bg_s_poly_info.h"
#include "d/d_drawlist.h"
-#include "d/d_resorce.h"
-#include "d/d_stage.h"
-#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
+struct ResTIMG;
+
class daPy_sightPacket_c : public dDlst_base_c {
public:
daPy_sightPacket_c() {}
diff --git a/include/d/bg/d_bg_plc.h b/include/d/bg/d_bg_plc.h
index fde627bb51..208448c179 100644
--- a/include/d/bg/d_bg_plc.h
+++ b/include/d/bg/d_bg_plc.h
@@ -1,9 +1,10 @@
#ifndef D_BG_D_BG_PLC_H
#define D_BG_D_BG_PLC_H
-#include "d/bg/d_bg_pc.h"
#include "dolphin/types.h"
+struct sBgPc;
+
enum {
/* 0x14 */ ZELDA_CODE_SIZE = 0x14
};
diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h
index b2a7e66f56..befe2aed02 100644
--- a/include/d/bg/d_bg_s.h
+++ b/include/d/bg/d_bg_s.h
@@ -4,9 +4,12 @@
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
#include "SSystem/SComponent/c_bg_s_poly_info.h"
-#include "d/bg/d_bg_w.h"
+#include "d/bg/d_bg_w_base.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+#include "global.h"
+
+class dBgW;
+class fopAc_ac_c;
class cBgS_ChkElm {
public:
diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h
index b2b4210101..8088837a38 100644
--- a/include/d/bg/d_bg_s_acch.h
+++ b/include/d/bg/d_bg_s_acch.h
@@ -6,13 +6,12 @@
#include "SSystem/SComponent/c_m3d_g_cyl.h"
#include "SSystem/SComponent/c_m3d_g_lin.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
-#include "d/a/d_a_player.h"
#include "d/bg/d_bg_s_gnd_chk.h"
-#include "d/bg/d_bg_s_lin_chk.h"
#include "d/bg/d_bg_s_roof_chk.h"
#include "d/bg/d_bg_s_wtr_chk.h"
#include "dolphin/types.h"
-//#include "d/bg/d_bg_s.h"
+
+class fopAc_ac_c;
class dBgS_AcchCir : public cBgS_PolyInfo {
private:
diff --git a/include/d/bg/d_bg_s_lin_chk.h b/include/d/bg/d_bg_s_lin_chk.h
index e00cb38caf..3b39c15779 100644
--- a/include/d/bg/d_bg_s_lin_chk.h
+++ b/include/d/bg/d_bg_s_lin_chk.h
@@ -4,7 +4,8 @@
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
#include "d/bg/d_bg_s_chk.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class fopAc_ac_c;
class dBgS_LinChk : public cBgS_LinChk, public dBgS_Chk {
public:
diff --git a/include/d/bg/d_bg_s_movebg_actor.h b/include/d/bg/d_bg_s_movebg_actor.h
index 5393f1dff1..0623dd94e2 100644
--- a/include/d/bg/d_bg_s_movebg_actor.h
+++ b/include/d/bg/d_bg_s_movebg_actor.h
@@ -2,8 +2,8 @@
#define D_BG_D_BG_S_MOVEBG_ACTOR_H
#include "SSystem/SComponent/c_bg_s_poly_info.h"
-#include "d/bg/d_bg_w.h"
#include "dolphin/types.h"
+#include "f_op/f_op_actor.h"
class dBgW;
typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, csXyz*,
diff --git a/include/d/bg/d_bg_s_sph_chk.h b/include/d/bg/d_bg_s_sph_chk.h
index dfe60878d4..d6ed2b4712 100644
--- a/include/d/bg/d_bg_s_sph_chk.h
+++ b/include/d/bg/d_bg_s_sph_chk.h
@@ -1,6 +1,7 @@
#ifndef D_BG_D_BG_S_SPH_CHK_H
#define D_BG_D_BG_S_SPH_CHK_H
+#include "SSystem/SComponent/c_bg_s_chk.h"
#include "SSystem/SComponent/c_bg_s_poly_info.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "SSystem/SComponent/c_m3d_g_sph.h"
diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h
index e1b161626c..c2c9f23210 100644
--- a/include/d/bg/d_bg_w.h
+++ b/include/d/bg/d_bg_w.h
@@ -1,17 +1,15 @@
#ifndef D_BG_D_BG_W_H
#define D_BG_D_BG_W_H
-#include "JSystem/J3DGraphBase/J3DVertex.h"
-#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
-#include "SSystem/SComponent/c_bg_s_lin_chk.h"
-#include "SSystem/SComponent/c_bg_s_poly_info.h"
-#include "SSystem/SComponent/c_m3d_g_tri.h"
-#include "d/bg/d_bg_s_acch.h"
-#include "d/bg/d_bg_s_grp_pass_chk.h"
-#include "d/bg/d_bg_s_poly_pass_chk.h"
+#include "SSystem/SComponent/c_m3d_g_aab.h"
+#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "d/bg/d_bg_w_base.h"
+#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class cBgS_GrpPassChk;
+class cBgS_PolyPassChk;
+class fopAc_ac_c;
struct dBgS_CaptPoly {};
diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h
index d18386aeea..264af2e2e2 100644
--- a/include/d/bg/d_bg_w_base.h
+++ b/include/d/bg/d_bg_w_base.h
@@ -1,17 +1,20 @@
#ifndef D_BG_D_BG_W_BASE_H
#define D_BG_D_BG_W_BASE_H
-#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
-#include "SSystem/SComponent/c_bg_s_lin_chk.h"
#include "SSystem/SComponent/c_bg_s_poly_info.h"
-#include "SSystem/SComponent/c_bg_s_shdw_draw.h"
#include "SSystem/SComponent/c_bg_w.h"
-#include "d/bg/d_bg_s_acch.h"
-#include "d/bg/d_bg_s_sph_chk.h"
+#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+class cBgS_GndChk;
+class cBgS_LinChk;
+class cBgS_ShdwDraw;
+class dBgS_Acch;
struct dBgS_CaptPoly;
+class dBgS_RoofChk;
+class dBgS_SphChk;
+class dBgS_SplGrpChk;
+class fopAc_ac_c;
class dBgW_Base : public cBgW_BgId {
public:
diff --git a/include/d/bg/d_bg_w_kcol.h b/include/d/bg/d_bg_w_kcol.h
index b3dee70ba3..12c5f303cc 100644
--- a/include/d/bg/d_bg_w_kcol.h
+++ b/include/d/bg/d_bg_w_kcol.h
@@ -1,10 +1,14 @@
#ifndef D_BG_D_BG_W_KCOL_H
#define D_BG_D_BG_W_KCOL_H
+#include "SSystem/SComponent/c_m3d_g_aab.h"
#include "d/bg/d_bg_plc.h"
#include "d/bg/d_bg_w_base.h"
#include "dolphin/types.h"
+class cBgS_GrpPassChk;
+class cBgS_PolyPassChk;
+struct dBgPc;
struct dBgS_CaptPoly;
struct KC_PrismData {
diff --git a/include/d/cc/d_cc_mass_s.h b/include/d/cc/d_cc_mass_s.h
index 9a0a0ec2cb..f420a789dd 100644
--- a/include/d/cc/d_cc_mass_s.h
+++ b/include/d/cc/d_cc_mass_s.h
@@ -3,6 +3,7 @@
#include "SSystem/SComponent/c_cc_d.h"
#include "dolphin/types.h"
+#include "global.h"
typedef void (*dCcMassS_ObjCallback)(fopAc_ac_c*, cXyz*, u32);
diff --git a/include/d/cc/d_cc_s.h b/include/d/cc/d_cc_s.h
index 7ad3000abe..d43a28bd5a 100644
--- a/include/d/cc/d_cc_s.h
+++ b/include/d/cc/d_cc_s.h
@@ -2,9 +2,12 @@
#define D_CC_D_CC_S_H
#include "SSystem/SComponent/c_cc_s.h"
-#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_mass_s.h"
#include "dolphin/types.h"
+#include "global.h"
+
+class dCcD_GObjInf;
+class dCcD_GStts;
class dCcS : public cCcS {
public:
diff --git a/include/d/cc/d_cc_uty.h b/include/d/cc/d_cc_uty.h
index 3e5cf8256a..7cab514f07 100644
--- a/include/d/cc/d_cc_uty.h
+++ b/include/d/cc/d_cc_uty.h
@@ -3,7 +3,8 @@
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class fopAc_ac_c;
enum dCcU_AtType {
/* 0x01 */ HIT_TYPE_LINK_NORMAL_ATTACK = 1,
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index 88e1846ab2..852e262cdd 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -1,14 +1,11 @@
#ifndef D_COM_D_COM_INF_GAME_H
#define D_COM_D_COM_INF_GAME_H
-#include "d/a/d_a_alink.h"
#include "d/bg/d_bg_s.h"
#include "d/cc/d_cc_s.h"
#include "d/d_attention.h"
#include "d/d_drawlist.h"
-#include "d/d_procname.h"
#include "d/d_resorce.h"
-#include "d/d_simple_model.h"
#include "d/d_stage.h"
#include "d/d_vibration.h"
#include "d/event/d_event.h"
@@ -16,9 +13,13 @@
#include "d/particle/d_particle.h"
#include "d/save/d_save.h"
#include "f_op/f_op_camera_mng.h"
-#include "f_op/f_op_scene_mng.h"
+#include "global.h"
+class JKRAramArchive;
+class dSmplMdl_draw_c;
class dTimer_c;
+class daPy_py_c;
+class scene_class;
class __d_timer_info_c {
public:
diff --git a/include/d/d_attention.h b/include/d/d_attention.h
index ccf6630703..bb4782e1fd 100644
--- a/include/d/d_attention.h
+++ b/include/d/d_attention.h
@@ -2,11 +2,12 @@
#define D_D_ATTENTION_H
#include "SSystem/SComponent/c_angle.h"
-#include "d/a/d_a_player.h"
-#include "d/save/d_save.h"
#include "dolphin/types.h"
+#include "global.h"
#include "m_Do/m_Do_ext.h"
+class fopAc_ac_c;
+
class dAttHint_c {
public:
dAttHint_c() {}
diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h
index 9b1760d693..e24ae1b0c8 100644
--- a/include/d/d_bomb.h
+++ b/include/d/d_bomb.h
@@ -3,6 +3,7 @@
#include "Z2AudioLib/Z2SoundObject.h"
#include "d/bg/d_bg_s_acch.h"
+#include "d/bg/d_bg_s_lin_chk.h"
#include "d/cc/d_cc_d.h"
#include "d/kankyo/d_kankyo.h"
#include "f_op/f_op_actor_mng.h"
diff --git a/include/d/d_camera.h b/include/d/d_camera.h
index 08c4fe7396..e379c716c7 100644
--- a/include/d/d_camera.h
+++ b/include/d/d_camera.h
@@ -5,10 +5,11 @@
#include "SSystem/SComponent/c_xyz.h"
#include "d/bg/d_bg_s_lin_chk.h"
#include "d/bg/d_bg_s_gnd_chk.h"
+#include "d/d_cam_param.h"
+#include "d/d_drawlist.h"
#include "d/d_stage.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
-#include "d/d_drawlist.h"
-#include "d/d_cam_param.h"
class fopAc_ac_c;
diff --git a/include/d/d_demo.h b/include/d/d_demo.h
index 82d79c0b63..2099bdb0b9 100644
--- a/include/d/d_demo.h
+++ b/include/d/d_demo.h
@@ -2,7 +2,6 @@
#define D_D_DEMO_H
#include "JSystem/JGadget/binary.h"
-#include "JSystem/JMessage/control.h"
#include "JSystem/JStage/JSGAmbientLight.h"
#include "JSystem/JStage/JSGCamera.h"
#include "JSystem/JStage/JSGFog.h"
@@ -11,13 +10,20 @@
#include "JSystem/JStudio/JStudio_JAudio2/control.h"
#include "JSystem/JStudio/JStudio_JParticle/object-particle.h"
#include "JSystem/JStudio/JStudio_JStage/object.h"
-#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_sxyz.h"
+#include "SSystem/SComponent/c_xyz.h"
+#include "dolphin/gx/GXEnum.h"
+#include "dolphin/gx/GXStruct.h"
+class J3DModel;
class dDemo_actor_c;
class dDemo_camera_c;
class dDemo_ambient_c;
class dDemo_light_c;
class dDemo_fog_c;
+class fopAc_ac_c;
+struct jmessage_tControl;
+
class dDemo_object_c {
public:
/* 80038F54 */ dDemo_object_c();
diff --git a/include/d/d_door_param2.h b/include/d/d_door_param2.h
index 0ae93871b8..398af65311 100644
--- a/include/d/d_door_param2.h
+++ b/include/d/d_door_param2.h
@@ -1,7 +1,9 @@
#ifndef D_D_DOOR_PARAM2_H
#define D_D_DOOR_PARAM2_H
-#include "f_op/f_op_actor_mng.h"
+#include "dolphin/types.h"
+
+class fopAc_ac_c;
class door_param2_c {
public:
diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h
index 1a7f1f00dc..5443d858f0 100644
--- a/include/d/d_drawlist.h
+++ b/include/d/d_drawlist.h
@@ -2,18 +2,21 @@
#define D_D_DRAWLIST_H
#include "JSystem/J2DGraph/J2DPicture.h"
-#include "JSystem/J2DGraph/J2DScreen.h"
-#include "JSystem/J3DGraphAnimator/J3DModel.h"
-#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
-#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "SSystem/SComponent/c_xyz.h"
-#include "d/kankyo/d_kankyo.h"
-#include "dolphin/gx/GX.h"
+#include "dolphin/gx/GXStruct.h"
+#include "dolphin/mtx/mtx.h"
#include "dolphin/mtx/mtx44.h"
-#include "dolphin/mtx/mtxvec.h"
#include "dolphin/types.h"
#include "f_op/f_op_view.h"
+#include "m_Do/m_Do_ext.h"
+#include "global.h"
+
+class J3DDrawBuffer;
+class J3DModel;
+class J3DPacket;
+class JUTFont;
+class dKy_tevstr_c;
class cM_rnd_c {
public:
diff --git a/include/d/d_eye_hl.h b/include/d/d_eye_hl.h
index 2976dfc113..dffddb10ac 100644
--- a/include/d/d_eye_hl.h
+++ b/include/d/d_eye_hl.h
@@ -1,10 +1,10 @@
#ifndef D_D_EYE_HL_H
#define D_D_EYE_HL_H
-#include "JSystem/J3DGraphAnimator/J3DModelData.h"
-#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
-#include "JSystem/JUtility/JUTTexture.h"
+#include "dolphin/types.h"
+class J3DModelData;
+struct ResTIMG;
class dEyeHL_c;
class dEyeHL_mng_c {
diff --git a/include/d/d_gameover.h b/include/d/d_gameover.h
index c3935e8159..80efa1f995 100644
--- a/include/d/d_gameover.h
+++ b/include/d/d_gameover.h
@@ -3,6 +3,7 @@
#include "SSystem/SComponent/c_phase.h"
#include "d/menu/d_menu_save.h"
+#include "dolphin/gx/GXStruct.h"
#include "f_op/f_op_msg.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_hostIO.h"
diff --git a/include/d/d_item.h b/include/d/d_item.h
index cab6dcbc38..cb9e78cdab 100644
--- a/include/d/d_item.h
+++ b/include/d/d_item.h
@@ -1,7 +1,6 @@
#ifndef D_D_ITEM_H
#define D_D_ITEM_H
-#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
void execItemGet(u8 item_id);
diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h
index 9e2ccfbc21..ac4717885d 100644
--- a/include/d/d_jnt_col.h
+++ b/include/d/d_jnt_col.h
@@ -3,8 +3,11 @@
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "SSystem/SComponent/c_m3d_g_lin.h"
+#include "SSystem/SComponent/c_sxyz.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class fopAc_ac_c;
class dJntColData_c {
public:
diff --git a/include/d/d_kantera_icon_meter.h b/include/d/d_kantera_icon_meter.h
index ad0a52cf4b..5ddd37ec7a 100644
--- a/include/d/d_kantera_icon_meter.h
+++ b/include/d/d_kantera_icon_meter.h
@@ -1,11 +1,11 @@
#ifndef D_D_KANTERA_ICON_METER_H
#define D_D_KANTERA_ICON_METER_H
-#include "d/com/d_com_inf_game.h"
#include "d/d_drawlist.h"
-#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
+class CPaneMgr;
+
class dDlst_KanteraIcon_c : public dDlst_base_c {
public:
/* 801AECB8 */ virtual void draw();
diff --git a/include/d/d_ky_thunder.h b/include/d/d_ky_thunder.h
index ab099ac2a0..a66794cd09 100644
--- a/include/d/d_ky_thunder.h
+++ b/include/d/d_ky_thunder.h
@@ -1,10 +1,11 @@
#ifndef D_D_KY_THUNDER_H
#define D_D_KY_THUNDER_H
-#include "JSystem/JKernel/JKRSolidHeap.h"
#include "f_op/f_op_kankyo.h"
#include "m_Do/m_Do_ext.h"
+class JKRSolidHeap;
+
class dThunder_modelInfo_c {
public:
/* 0x00 */ J3DModel* mpModel;
diff --git a/include/d/d_lib.h b/include/d/d_lib.h
index 3c8f01c5cf..dddaaa9c5c 100644
--- a/include/d/d_lib.h
+++ b/include/d/d_lib.h
@@ -1,9 +1,11 @@
#ifndef D_D_LIB_H
#define D_D_LIB_H
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/mtx/quat.h"
-#include "dolphin/os/OS.h"
-#include "f_op/f_op_actor.h"
+#include "dolphin/os/OSTime.h"
+
+class fopAc_ac_c;
struct JKRAramArchive;
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
diff --git a/include/d/d_model.h b/include/d/d_model.h
index 690dd1b570..2a68d5bf39 100644
--- a/include/d/d_model.h
+++ b/include/d/d_model.h
@@ -1,9 +1,12 @@
#ifndef D_D_MODEL_H
#define D_D_MODEL_H
-#include "d/com/d_com_inf_game.h"
+#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "dolphin/types.h"
+class J3DModelData;
+class dKy_tevstr_c;
+
class dMdl_obj_c {
public:
MtxP getMtx() { return mMtx; }
diff --git a/include/d/d_name.h b/include/d/d_name.h
index b2a4101efd..d2150301ec 100644
--- a/include/d/d_name.h
+++ b/include/d/d_name.h
@@ -1,9 +1,18 @@
#ifndef D_D_NAME_H
#define D_D_NAME_H
-#include "d/com/d_com_inf_game.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgr;
+class CPaneMgrAlpha;
+class J2DAnmColorKey;
+class J2DAnmTextureSRTKey;
+class J2DTextBox;
+class JUTFont;
+struct STControl;
+class dSelect_cursor_c;
+
class dNm_HIO_c {
public:
/* 8024E3E0 */ dNm_HIO_c();
diff --git a/include/d/d_path.h b/include/d/d_path.h
index e7f58a88cd..96a51bd243 100644
--- a/include/d/d_path.h
+++ b/include/d/d_path.h
@@ -1,9 +1,11 @@
#ifndef D_D_PATH_H
#define D_D_PATH_H
-#include "d/d_stage.h"
+#include "dolphin/types.h"
-class dStage_dPnt_c;
+class cBgS_PolyInfo;
+struct cXyz;
+struct dStage_dPnt_c;
struct dPath {
/* 0x0 */ u16 m_num;
diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h
index 1af4ce76bf..a8bd1b0dbb 100644
--- a/include/d/d_resorce.h
+++ b/include/d/d_resorce.h
@@ -1,13 +1,16 @@
#ifndef D_D_RESORCE_H
#define D_D_RESORCE_H
-#include "JSystem/JKernel/JKRArchive.h"
-#include "JSystem/JKernel/JKRHeap.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
+#include "global.h"
#include "m_Do/m_Do_dvd_thread.h"
#include "m_Do/m_Do_ext.h"
+class JKRArchive;
+class JKRHeap;
+class JKRSolidHeap;
+
class dRes_info_c {
public:
/* 8003A260 */ dRes_info_c();
diff --git a/include/d/d_select_cursor.h b/include/d/d_select_cursor.h
index 7c9d372d35..8d08fe368b 100644
--- a/include/d/d_select_cursor.h
+++ b/include/d/d_select_cursor.h
@@ -6,6 +6,8 @@
#include "d/d_drawlist.h"
#include "d/d_select_icon.h"
+class J2DAnmTransformKey;
+
class dSelect_cursorHIO_c {
public:
/* 801941E4 */ dSelect_cursorHIO_c();
diff --git a/include/d/d_simple_model.h b/include/d/d_simple_model.h
index 72ff3a98aa..04477ea16c 100644
--- a/include/d/d_simple_model.h
+++ b/include/d/d_simple_model.h
@@ -2,9 +2,10 @@
#define D_D_SIMPLE_MODEL_H
#include "JSystem/J3DGraphAnimator/J3DModel.h"
-#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dolphin/types.h"
+class JKRSolidHeap;
+
class modelList_c {
public:
void init() {
diff --git a/include/d/d_spline_path.h b/include/d/d_spline_path.h
index b03f0c83ab..49d8c5aaf2 100644
--- a/include/d/d_spline_path.h
+++ b/include/d/d_spline_path.h
@@ -1,8 +1,10 @@
#ifndef D_D_SPLINE_PATH_H
#define D_D_SPLINE_PATH_H
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
-#include "d/d_path.h"
+
+struct dPath;
struct dPathCurve {
/* 80097C5C */ void Init(dPath*);
diff --git a/include/d/d_stage.h b/include/d/d_stage.h
index daf9f20a8d..77a8dd91c8 100644
--- a/include/d/d_stage.h
+++ b/include/d/d_stage.h
@@ -1,13 +1,16 @@
#ifndef D_D_STAGE_H
#define D_D_STAGE_H
-#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_lib.h"
#include "d/kankyo/d_kankyo.h"
#include "d/kankyo/d_kankyo_data.h"
#include "d/save/d_save.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+#include "f_pc/f_pc_priority.h"
+#include "global.h"
+
+class JKRExpHeap;
struct stage_vrboxcol_info_class {
// VRB
diff --git a/include/d/d_timer.h b/include/d/d_timer.h
index 397de45ce7..d1eff06749 100644
--- a/include/d/d_timer.h
+++ b/include/d/d_timer.h
@@ -2,13 +2,17 @@
#define D_D_TIMER_H
#include "JSystem/J2DGraph/J2DPane.h"
-#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_phase.h"
#include "SSystem/SComponent/c_xyz.h"
-#include "f_op/f_op_msg.h"
+#include "d/d_drawlist.h"
#include "d/msg/d_msg_object.h"
#include "dolphin/os/OSTime.h"
#include "dolphin/types.h"
+#include "f_op/f_op_msg.h"
+
+class CPaneMgr;
+class JKRArchive;
+class JKRExpHeap;
s32 dTimer_createStockTimer();
s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, f32 param_5,
diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h
index b8feddbd26..cd6232c2a9 100644
--- a/include/d/d_tresure.h
+++ b/include/d/d_tresure.h
@@ -1,7 +1,7 @@
#ifndef D_D_TRESURE_H
#define D_D_TRESURE_H
-#include "dolphin/mtx/mtxvec.h"
+#include "dolphin/mtx/vec.h"
#include "dolphin/types.h"
class dTres_c {
diff --git a/include/d/d_vibration.h b/include/d/d_vibration.h
index 26543a574a..2bc721a34d 100644
--- a/include/d/d_vibration.h
+++ b/include/d/d_vibration.h
@@ -1,7 +1,7 @@
#ifndef D_D_VIBRATION_H
#define D_D_VIBRATION_H
-#include "d/save/d_save.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "d/d_vib_pattern.h"
#include "dolphin/types.h"
diff --git a/include/d/event/d_event.h b/include/d/event/d_event.h
index 56662ebb1e..6fdd117143 100644
--- a/include/d/event/d_event.h
+++ b/include/d/event/d_event.h
@@ -2,11 +2,11 @@
#define D_EVENT_D_EVENT_H
#include "d/a/d_a_itembase.h"
-#include "d/a/d_a_player.h"
-#include "d/d_stage.h"
-#include "d/event/d_event_manager.h"
-#include "d/save/d_save.h"
#include "dolphin/types.h"
+#include "global.h"
+
+struct dStage_MapEvent_dt_c;
+class fopAc_ac_c;
#if DEBUG
class dEvDb_bit_c {
diff --git a/include/d/event/d_event_data.h b/include/d/event/d_event_data.h
index 1b2d413e90..acf2561210 100644
--- a/include/d/event/d_event_data.h
+++ b/include/d/event/d_event_data.h
@@ -1,9 +1,9 @@
#ifndef D_EVENT_D_EVENT_DATA_H
#define D_EVENT_D_EVENT_DATA_H
-#include "d/d_stage.h"
-#include "f_op/f_op_msg.h"
-#include "d/save/d_save.h"
+#include "global.h"
+
+class msg_class;
struct event_binary_data_header {
/* 0x00 */ u32 eventTop; // offset to Event chunk
diff --git a/include/d/event/d_event_lib.h b/include/d/event/d_event_lib.h
index 5019a47c0a..7dc9f688c0 100644
--- a/include/d/event/d_event_lib.h
+++ b/include/d/event/d_event_lib.h
@@ -2,7 +2,8 @@
#define D_EVENT_D_EVENT_LIB_H
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class fopAc_ac_c;
template <typename A0>
struct action_class {
diff --git a/include/d/event/d_event_manager.h b/include/d/event/d_event_manager.h
index 1d8177b925..3993688b76 100644
--- a/include/d/event/d_event_manager.h
+++ b/include/d/event/d_event_manager.h
@@ -1,9 +1,12 @@
#ifndef D_EVENT_D_EVENT_MANAGER_H
#define D_EVENT_D_EVENT_MANAGER_H
+#include "SSystem/SComponent/c_xyz.h"
#include "d/event/d_event_data.h"
#include "dolphin/types.h"
+class fopAc_ac_c;
+
class dEvent_exception_c {
public:
dEvent_exception_c() { mEventInfoIdx = -1; }
diff --git a/include/d/file/d_file_sel_info.h b/include/d/file/d_file_sel_info.h
index ac5a790d69..060b90517f 100644
--- a/include/d/file/d_file_sel_info.h
+++ b/include/d/file/d_file_sel_info.h
@@ -1,9 +1,12 @@
#ifndef D_FILE_D_FILE_SEL_INFO_H
#define D_FILE_D_FILE_SEL_INFO_H
-#include "d/com/d_com_inf_game.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgrAlpha;
+class dSv_save_c;
+
class dFile_info_c {
public:
/* 80192434 */ dFile_info_c(JKRArchive*, u8);
diff --git a/include/d/file/d_file_sel_warning.h b/include/d/file/d_file_sel_warning.h
index 8353dcdc79..d347b7ee86 100644
--- a/include/d/file/d_file_sel_warning.h
+++ b/include/d/file/d_file_sel_warning.h
@@ -1,7 +1,9 @@
#ifndef D_FILE_D_FILE_SEL_WARNING_H
#define D_FILE_D_FILE_SEL_WARNING_H
-#include "d/com/d_com_inf_game.h"
+#include "JSystem/JUtility/TColor.h"
+
+class JKRArchive;
class dFile_warning_c {
public:
diff --git a/include/d/file/d_file_select.h b/include/d/file/d_file_select.h
index f223124fcc..b1113c2011 100644
--- a/include/d/file/d_file_select.h
+++ b/include/d/file/d_file_select.h
@@ -2,13 +2,24 @@
#define D_FILE_D_FILE_SELECT_H
#include "dolphin/types.h"
-#include "d/com/d_com_inf_game.h"
-#include "m_Do/m_Do_MemCard.h"
-#include "d/file/d_file_sel_warning.h"
-#include "d/d_name.h"
-#include "d/msg/d_msg_string.h"
-#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
-#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
+#include "global.h"
+
+class CPaneMgr;
+class CPaneMgrAlpha;
+class J2DAnmBase;
+class J2DAnmTransform;
+class J2DPane;
+class J2DPicture;
+class J2DScreen;
+class JKRArchive;
+class JUTFont;
+struct STControl;
+struct cXyz;
+class dFile_warning_c;
+class dMsgString_c;
+class dName_c;
+class dSelect_cursor_c;
+class dSv_save_c;
class dDlst_FileSel_c {
public:
diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h
index f9ca7ce440..6daa055ab8 100644
--- a/include/d/kankyo/d_kankyo.h
+++ b/include/d/kankyo/d_kankyo.h
@@ -1,17 +1,16 @@
#ifndef D_KANKYO_D_KANKYO_H
#define D_KANKYO_D_KANKYO_H
-#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/J3DGraphBase/J3DStruct.h"
-#include "JSystem/JParticle/JPAParticle.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
-#include "Z2AudioLib/Z2EnvSeMgr.h"
#include "d/kankyo/d_kankyo_wether.h"
-#include "dolphin/gx/GX.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
+#include "global.h"
#include "m_Do/m_Do_ext.h"
+class JPABaseEmitter;
class cBgS_PolyInfo;
void dKankyo_DayProc();
diff --git a/include/d/kankyo/d_kankyo_wether.h b/include/d/kankyo/d_kankyo_wether.h
index f0f443fad2..2a99d418b5 100644
--- a/include/d/kankyo/d_kankyo_wether.h
+++ b/include/d/kankyo/d_kankyo_wether.h
@@ -4,6 +4,7 @@
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
void dKyw_wether_draw();
diff --git a/include/d/map/d_map_path.h b/include/d/map/d_map_path.h
index 670b172441..2d0fef74e1 100644
--- a/include/d/map/d_map_path.h
+++ b/include/d/map/d_map_path.h
@@ -3,6 +3,7 @@
#include "d/d_drawlist.h"
#include "dolphin/types.h"
+#include "global.h"
class dDrawPath_c : public dDlst_base_c {
public:
diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h
index 957afae8b6..08af8253fb 100644
--- a/include/d/map/d_map_path_dmap.h
+++ b/include/d/map/d_map_path_dmap.h
@@ -1,11 +1,13 @@
#ifndef D_MAP_D_MAP_PATH_DMAP_H
#define D_MAP_D_MAP_PATH_DMAP_H
-#include "d/d_stage.h"
#include "d/d_tresure.h"
#include "d/map/d_map_path.h"
#include "dolphin/types.h"
+class dStage_FileList2_dt_c;
+struct stage_tgsc_data_class;
+
class dMpath_c {
public:
/* 8003F758 */ static bool isExistMapPathData();
diff --git a/include/d/menu/d_menu_calibration.h b/include/d/menu/d_menu_calibration.h
index a937a01e51..4498fa3195 100644
--- a/include/d/menu/d_menu_calibration.h
+++ b/include/d/menu/d_menu_calibration.h
@@ -1,8 +1,12 @@
#ifndef D_MENU_D_MENU_CALIBRATION_H
#define D_MENU_D_MENU_CALIBRATION_H
-#include "d/com/d_com_inf_game.h"
-#include "d/msg/d_msg_string.h"
+#include "JSystem/J2DGraph/J2DTextBox.h"
+
+class CPaneMgr;
+class JKRExpHeap;
+class dMsgString_c;
+class dSelect_cursor_c;
class dMenu_Calibration_c {
public:
diff --git a/include/d/menu/d_menu_collect.h b/include/d/menu/d_menu_collect.h
index 264ffd7a1d..26ca21fb31 100644
--- a/include/d/menu/d_menu_collect.h
+++ b/include/d/menu/d_menu_collect.h
@@ -1,11 +1,13 @@
#ifndef D_MENU_D_MENU_COLLECT_H
#define D_MENU_D_MENU_COLLECT_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
+#include "d/kankyo/d_kankyo.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+struct STControl;
class dMsgString_c;
class dMenu_save_c;
class dMenu_Option_c;
@@ -13,6 +15,7 @@ class dMenu_Letter_c;
class dMenu_Fishing_c;
class dMenu_Skill_c;
class dMenu_Insect_c;
+class dSelect_cursor_c;
class dMenu_Collect2D_c;
class dMenu_Collect2DTop_c : public dDlst_base_c {
diff --git a/include/d/menu/d_menu_dmap.h b/include/d/menu/d_menu_dmap.h
index 1bef68c63e..1b65c12d92 100644
--- a/include/d/menu/d_menu_dmap.h
+++ b/include/d/menu/d_menu_dmap.h
@@ -1,11 +1,18 @@
#ifndef D_MENU_D_MENU_DMAP_H
#define D_MENU_D_MENU_DMAP_H
-#include "JSystem/J2DGraph/J2DOrthoGraph.h"
-#include "d/d_lib.h"
#include "d/d_select_cursor.h"
+#include "dolphin/mtx/vec.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+class J2DOrthoGraph;
+class J2DPicture;
+class J2DScreen;
+class JKRArchive;
+class JKRExpHeap;
+struct STControl;
class dMenu_DmapMapCtrl_c;
class dMenu_DmapBg_c;
class mDoDvdThd_mountArchive_c;
diff --git a/include/d/menu/d_menu_fishing.h b/include/d/menu/d_menu_fishing.h
index a1f99185f6..45e2d7057d 100644
--- a/include/d/menu/d_menu_fishing.h
+++ b/include/d/menu/d_menu_fishing.h
@@ -1,14 +1,15 @@
#ifndef D_MENU_D_MENU_FISHING_H
#define D_MENU_D_MENU_FISHING_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
-#include "m_Do/m_Do_dvd_thread.h"
-#include "d/msg/d_msg_string.h"
-
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+struct STControl;
+class dMsgString_c;
+class mDoDvdThd_mountArchive_c;
class dMenu_Fishing_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_fmap.h b/include/d/menu/d_menu_fmap.h
index fdd4e1228f..4b9dd93418 100644
--- a/include/d/menu/d_menu_fmap.h
+++ b/include/d/menu/d_menu_fmap.h
@@ -1,12 +1,16 @@
#ifndef D_MENU_D_MENU_FMAP_H
#define D_MENU_D_MENU_FMAP_H
-#include "d/d_drawlist.h"
-#include "d/d_lib.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "d/msg/d_msg_flow.h"
-#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
+struct CSTControl;
+class J2DAnmTextureSRTKey;
+class JKRArchive;
+class JKRExpHeap;
+class JKRHeap;
+struct STControl;
class dMenu_Fmap_stage_data_c;
class dMenu_Fmap_world_data_c;
class dMenu_Fmap_region_data_c;
diff --git a/include/d/menu/d_menu_insect.h b/include/d/menu/d_menu_insect.h
index 40cc9ebf3f..5ae137e84c 100644
--- a/include/d/menu/d_menu_insect.h
+++ b/include/d/menu/d_menu_insect.h
@@ -1,13 +1,16 @@
#ifndef D_MENU_D_MENU_INSECT_H
#define D_MENU_D_MENU_INSECT_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+struct STControl;
class dMsgScrn3Select_c;
class dMsgString_c;
+class dSelect_cursor_c;
class dMenu_Insect_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_letter.h b/include/d/menu/d_menu_letter.h
index f4c553562b..efe88ea01a 100644
--- a/include/d/menu/d_menu_letter.h
+++ b/include/d/menu/d_menu_letter.h
@@ -1,14 +1,17 @@
#ifndef D_MENU_D_MENU_LETTER_H
#define D_MENU_D_MENU_LETTER_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+struct STControl;
class mDoDvdThd_mountArchive_c;
class dMsgString_c;
class dMsgScrnArrow_c;
+class dSelect_cursor_c;
class dMenu_Letter_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_option.h b/include/d/menu/d_menu_option.h
index 7018bc7526..666de957c5 100644
--- a/include/d/menu/d_menu_option.h
+++ b/include/d/menu/d_menu_option.h
@@ -1,16 +1,20 @@
#ifndef D_MENU_D_MENU_OPTION_H
#define D_MENU_D_MENU_OPTION_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+class JUTFont;
+struct STControl;
class dFile_warning_c;
class dMenu_Calibration_c;
class mDoDvdThd_mountArchive_c;
class dMsgString_c;
class dMeterHaihai_c;
+class dSelect_cursor_c;
class dMenu_Option_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_ring.h b/include/d/menu/d_menu_ring.h
index fe7cd2e8a2..3d1e87f07a 100644
--- a/include/d/menu/d_menu_ring.h
+++ b/include/d/menu/d_menu_ring.h
@@ -1,14 +1,17 @@
#ifndef D_MENU_D_MENU_RING_H
#define D_MENU_D_MENU_RING_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
-class dMsgString_c;
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+struct STControl;
class dKantera_icon_c;
+class dMsgString_c;
class dMenu_ItemExplain_c;
+class dSelect_cursor_c;
class dMenu_Ring_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_save.h b/include/d/menu/d_menu_save.h
index 201cb0a27b..e57da5ec3a 100644
--- a/include/d/menu/d_menu_save.h
+++ b/include/d/menu/d_menu_save.h
@@ -1,17 +1,23 @@
#ifndef D_MENU_D_MENU_SAVE_H
#define D_MENU_D_MENU_SAVE_H
-#include "JSystem/J2DGraph/J2DScreen.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
-#include "m_Do/m_Do_dvd_thread.h"
#include "d/save/d_save.h"
+class CPaneMgr;
+class CPaneMgrAlpha;
+struct CSTControl;
+class J2DAnmColorKey;
+class J2DAnmTransformKey;
+class JUTFont;
+struct STControl;
class dMsgString_c;
class dFile_warning_c;
class dFile_info_c;
class dMsgScrnExplain_c;
+class dSelect_cursor_c;
+class mDoDvdThd_mountArchive_c;
class dDlst_MenuSaveExplain_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_skill.h b/include/d/menu/d_menu_skill.h
index 62a1f7a7d5..eb46672d0a 100644
--- a/include/d/menu/d_menu_skill.h
+++ b/include/d/menu/d_menu_skill.h
@@ -1,13 +1,16 @@
#ifndef D_MENU_D_MENU_SKILL_H
#define D_MENU_D_MENU_SKILL_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "d/d_lib.h"
-#include "d/d_select_cursor.h"
+#include "d/d_drawlist.h"
#include "dolphin/types.h"
+class CPaneMgr;
+struct CSTControl;
+class J2DTextBox;
+struct STControl;
class mDoDvdThd_mountArchive_c;
class dMsgString_c;
+class dSelect_cursor_c;
class dMenu_Skill_c : public dDlst_base_c {
public:
diff --git a/include/d/menu/d_menu_window.h b/include/d/menu/d_menu_window.h
index 0713418675..ac7cebce94 100644
--- a/include/d/menu/d_menu_window.h
+++ b/include/d/menu/d_menu_window.h
@@ -2,17 +2,22 @@
#define D_MENU_D_MENU_WINDOW_H
#include "d/d_drawlist.h"
-#include "d/menu/d_menu_collect.h"
-#include "d/meter/d_meter2_info.h"
#include "f_op/f_op_msg.h"
#include "dolphin/types.h"
-#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
-#include "m_Do/m_Do_mtx.h"
-class dMenu_Ring_c;
+struct CSTControl;
+struct STControl;
+class dMenu_Collect_c;
class dMenu_Dmap_c;
+class dMenu_Fishing_c;
class dMenu_Fmap_c;
+class dMenu_Insect_c;
+class dMenu_Letter_c;
+class dMenu_Option_c;
+class dMenu_Ring_c;
+class dMenu_Skill_c;
+class dMenu_save_c;
class dDlst_MENU_CAPTURE_c : public dDlst_base_c {
public:
diff --git a/include/d/meter/d_meter2.h b/include/d/meter/d_meter2.h
index 087143a594..e705ccdfee 100644
--- a/include/d/meter/d_meter2.h
+++ b/include/d/meter/d_meter2.h
@@ -1,13 +1,17 @@
#ifndef D_METER_D_METER2_H
#define D_METER_D_METER2_H
-#include "JSystem/JKernel/JKRExpHeap.h"
-#include "d/com/d_com_inf_game.h"
-#include "d/meter/d_meter2_draw.h"
-#include "d/meter/d_meter_map.h"
+#include "d/d_drawlist.h"
#include "f_op/f_op_msg.h"
#include "dolphin/types.h"
+class CPaneMgr;
+class J2DAnmColor;
+class J2DAnmTextureSRTKey;
+class J2DAnmTransformKey;
+class JKRExpHeap;
+class JKRHeap;
+class dMeter2Draw_c;
class dMeterMap_c;
class dMeterSub_c : public dDlst_base_c {
diff --git a/include/d/meter/d_meter2_draw.h b/include/d/meter/d_meter2_draw.h
index 30676db42a..c1bc990ed5 100644
--- a/include/d/meter/d_meter2_draw.h
+++ b/include/d/meter/d_meter2_draw.h
@@ -1,14 +1,17 @@
#ifndef D_METER_D_METER2_DRAW_H
#define D_METER_D_METER2_DRAW_H
-#include "JSystem/J2DGraph/J2DAnimation.h"
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JUtility/TColor.h"
#include "d/d_drawlist.h"
-#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
+class CPaneMgr;
+class CPaneMgrAlpha;
+class J2DAnmColorKey;
+class J2DAnmTransformKey;
+class JKRExpHeap;
+class JKRHeap;
+
enum dMeter2Draw_actionFlag {
/* 0x0 */ ACTION_FLG_DEFAULT,
/* 0x2 */ ACTION_FLG_EMPHASIS = 2,
diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h
index 27a9d90192..4948d7b061 100644
--- a/include/d/meter/d_meter2_info.h
+++ b/include/d/meter/d_meter2_info.h
@@ -1,14 +1,12 @@
#ifndef D_METER_D_METER2_INFO_H
#define D_METER_D_METER2_INFO_H
-#include "JSystem/JUtility/JUTTexture.h"
-#include "d/d_resorce.h"
-#include "d/menu/d_menu_window.h"
-#include "d/meter/d_meter2.h"
-#include "d/msg/d_msg_class.h"
-#include "d/msg/d_msg_flow.h"
-#include "d/pane/d_pane_class.h"
-#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_xyz.h"
+
+class CPaneMgr;
+class J2DTextBox;
+class JMSMesgEntry_c;
+class JUTFont;
struct dMenu_LetterData {
u16 mSubject;
diff --git a/include/d/meter/d_meter_HIO.h b/include/d/meter/d_meter_HIO.h
index d58a06ecf4..01b77684e7 100644
--- a/include/d/meter/d_meter_HIO.h
+++ b/include/d/meter/d_meter_HIO.h
@@ -1,12 +1,13 @@
#ifndef D_METER_D_METER_HIO_H
#define D_METER_D_METER_HIO_H
-#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JUtility/TColor.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
-#include "m_Do/m_Do_ext.h"
+#include "global.h"
+
+class JKRArchive;
class dMeter_menuHIO_c {
public:
diff --git a/include/d/meter/d_meter_map.h b/include/d/meter/d_meter_map.h
index 33b0e506b1..dfdfea6e71 100644
--- a/include/d/meter/d_meter_map.h
+++ b/include/d/meter/d_meter_map.h
@@ -1,11 +1,11 @@
#ifndef D_METER_D_METER_MAP_H
#define D_METER_D_METER_MAP_H
-#include "JSystem/J2DGraph/J2DPicture.h"
-#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/map/d_map_path_dmap.h"
#include "dolphin/types.h"
+class J2DPicture;
+
// move renderingAmap_c + dMap_c later
class renderingAmap_c : public renderingPlusDoorAndCursor_c {
public:
diff --git a/include/d/msg/d_msg_class.h b/include/d/msg/d_msg_class.h
index 1b04e9eaf8..ebd33b7940 100644
--- a/include/d/msg/d_msg_class.h
+++ b/include/d/msg/d_msg_class.h
@@ -3,8 +3,11 @@
#include "JSystem/JMessage/control.h"
#include "JSystem/JMessage/processor.h"
-#include "d/msg/d_msg_out_font.h"
-#include "f_op/f_op_msg.h"
+#include "SSystem/SComponent/c_xyz.h"
+
+class COutFont_c;
+class J2DTextBox;
+class JUTFont;
struct JMSMesgEntry_c {
/* 0x00 */ u32 mStringOffset;
diff --git a/include/d/msg/d_msg_flow.h b/include/d/msg/d_msg_flow.h
index 4e975d941b..6ea756bba7 100644
--- a/include/d/msg/d_msg_flow.h
+++ b/include/d/msg/d_msg_flow.h
@@ -1,7 +1,10 @@
#ifndef D_MSG_D_MSG_FLOW_H
#define D_MSG_D_MSG_FLOW_H
-#include "f_op/f_op_msg.h"
+#include "dolphin/types.h"
+
+class fopAc_ac_c;
+class msg_class;
// all mesg_flow_node structs members might be wrong
struct mesg_flow_node {
diff --git a/include/d/msg/d_msg_object.h b/include/d/msg/d_msg_object.h
index e82c0ecc33..99642f6463 100644
--- a/include/d/msg/d_msg_object.h
+++ b/include/d/msg/d_msg_object.h
@@ -1,15 +1,19 @@
#ifndef D_MSG_D_MSG_OBJECT_H
#define D_MSG_D_MSG_OBJECT_H
-#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/JMessage/control.h"
-#include "JSystem/JMessage/processor.h"
#include "JSystem/JMessage/resource.h"
#include "d/com/d_com_inf_game.h"
-#include "d/msg/d_msg_class.h"
+#include "f_op/f_op_msg.h"
class COutFont_c;
+class J2DTextBox;
+class JUTFont;
class dMsgScrnBase_c;
+class dMsgString_c;
+struct jmessage_tReference;
+struct jmessage_tRenderingProcessor;
+struct jmessage_tSequenceProcessor;
class dMsgObject_c : public msg_class {
public:
diff --git a/include/d/msg/d_msg_out_font.h b/include/d/msg/d_msg_out_font.h
index e11307c730..5f55372c14 100644
--- a/include/d/msg/d_msg_out_font.h
+++ b/include/d/msg/d_msg_out_font.h
@@ -2,8 +2,9 @@
#define D_MSG_D_MSG_OUT_FONT_H
#include "dolphin/types.h"
-#include "JSystem/J2DGraph/J2DTextBox.h"
-#include "JSystem/J2DGraph/J2DPicture.h"
+
+class J2DPicture;
+class J2DTextBox;
class COutFontSet_c {
public:
diff --git a/include/d/msg/d_msg_string.h b/include/d/msg/d_msg_string.h
index d9943b8384..09ea58b379 100644
--- a/include/d/msg/d_msg_string.h
+++ b/include/d/msg/d_msg_string.h
@@ -2,7 +2,9 @@
#define D_MSG_D_MSG_STRING_H
#include "d/msg/d_msg_string_base.h"
-#include "d/msg/d_msg_out_font.h"
+
+class COutFont_c;
+class JUTFont;
class dMsgString_c : public dMsgStringBase_c {
public:
diff --git a/include/d/msg/d_msg_string_base.h b/include/d/msg/d_msg_string_base.h
index 0dcb053c29..838a7dbe66 100644
--- a/include/d/msg/d_msg_string_base.h
+++ b/include/d/msg/d_msg_string_base.h
@@ -1,8 +1,11 @@
#ifndef D_MSG_D_MSG_STRING_BASE_H
#define D_MSG_D_MSG_STRING_BASE_H
-#include "d/msg/d_msg_object.h"
+#include "JSystem/JMessage/resource.h"
+class COutFont_c;
+class J2DTextBox;
+class JUTFont;
struct jmessage_string_tControl;
struct jmessage_string_tReference;
struct jmessage_string_tSequenceProcessor;
diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h
index 3265b1268e..1a6f716e9e 100644
--- a/include/d/pane/d_pane_class.h
+++ b/include/d/pane/d_pane_class.h
@@ -1,7 +1,7 @@
#ifndef D_PANE_D_PANE_CLASS_H
#define D_PANE_D_PANE_CLASS_H
-#include "JSystem/J2DGraph/J2DTextBox.h"
+#include "JSystem/JUtility/TColor.h"
#include "d/pane/d_pane_class_alpha.h"
#include "dolphin/types.h"
diff --git a/include/d/pane/d_pane_class_alpha.h b/include/d/pane/d_pane_class_alpha.h
index 79c67f6bf4..1ad577ef13 100644
--- a/include/d/pane/d_pane_class_alpha.h
+++ b/include/d/pane/d_pane_class_alpha.h
@@ -1,11 +1,13 @@
#ifndef D_PANE_D_PANE_CLASS_ALPHA_H
#define D_PANE_D_PANE_CLASS_ALPHA_H
-#include "JSystem/J2DGraph/J2DScreen.h"
-#include "JSystem/J2DGraph/J2DWindow.h"
-#include "JSystem/JKernel/JKRExpHeap.h"
+#include "JSystem/J2DGraph/J2DPane.h"
#include "dolphin/types.h"
+class J2DPane;
+class J2DScreen;
+class JKRExpHeap;
+
class CPaneMgrAlpha {
public:
/* 8025546C */ virtual ~CPaneMgrAlpha();
diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h
index 94fd475066..0214eba663 100644
--- a/include/d/particle/d_particle.h
+++ b/include/d/particle/d_particle.h
@@ -2,9 +2,18 @@
#define D_PARTICLE_D_PARTICLE_H
#include "JSystem/JParticle/JPAParticle.h"
-#include "d/particle/d_particle_name.h"
+#include "SSystem/SComponent/c_sxyz.h"
+#include "SSystem/SComponent/c_xyz.h"
+#include "dolphin/gx/GXStruct.h"
#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+
+class J3DAnmTexPattern;
+class J3DModel;
+class J3DModelData;
+class JKRExpHeap;
+class JKRSolidHeap;
+class dKy_tevstr_c;
+class fopAc_ac_c;
class dPa_levelEcallBack : public JPAEmitterCallBack {
public:
diff --git a/include/d/particle/d_particle_copoly.h b/include/d/particle/d_particle_copoly.h
index 6364c0bee7..9919f70aa7 100644
--- a/include/d/particle/d_particle_copoly.h
+++ b/include/d/particle/d_particle_copoly.h
@@ -1,9 +1,11 @@
#ifndef D_PARTICLE_D_PARTICLE_COPOLY_H
#define D_PARTICLE_D_PARTICLE_COPOLY_H
-#include "d/bg/d_bg_s_acch.h"
+#include "SSystem/SComponent/c_sxyz.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
+class dBgS_Acch;
struct dKy_tevstr_c;
class dPaPo_c {
diff --git a/include/d/s/d_s_logo.h b/include/d/s/d_s_logo.h
index 8acfd8a38c..9f6502979c 100644
--- a/include/d/s/d_s_logo.h
+++ b/include/d/s/d_s_logo.h
@@ -1,9 +1,16 @@
#ifndef D_S_D_S_LOGO_H
#define D_S_D_S_LOGO_H
-#include "d/com/d_com_inf_game.h"
+#include "SSystem/SComponent/c_phase.h"
#include "dolphin/types.h"
-#include "SSystem/SComponent/c_lib.h"
+#include "f_op/f_op_scene.h"
+
+class JKRExpHeap;
+class JKRHeap;
+struct ResTIMG;
+class dDlst_2D_c;
+class mDoDvdThd_mountXArchive_c;
+class mDoDvdThd_toMainRam_c;
class dLog_HIO_c {
public:
diff --git a/include/d/s/d_s_play.h b/include/d/s/d_s_play.h
index 299e70f85f..1c85842d72 100644
--- a/include/d/s/d_s_play.h
+++ b/include/d/s/d_s_play.h
@@ -1,10 +1,14 @@
#ifndef D_S_D_S_PLAY_H
#define D_S_D_S_PLAY_H
-#include "d/com/d_com_inf_game.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene.h"
+class mDoDvdThd_mountXArchive_c;
+class mDoDvdThd_toMainRam_c;
+
class dScnPly_reg_HIO_c {
public:
/* 8025AD78 */ virtual ~dScnPly_reg_HIO_c();
diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h
index 8acbe2582c..fa3f80cdea 100644
--- a/include/d/save/d_save.h
+++ b/include/d/save/d_save.h
@@ -3,8 +3,9 @@
#include "MSL_C/string.h"
#include "SSystem/SComponent/c_xyz.h"
-#include "dolphin/os/OS.h"
+#include "dolphin/os/OSTime.h"
#include "dolphin/types.h"
+#include "global.h"
#define DEFAULT_SELECT_ITEM_INDEX 0
#define MAX_SELECT_ITEM 4
diff --git a/include/d/shop/d_shop_item_ctrl.h b/include/d/shop/d_shop_item_ctrl.h
index 9a3e956c22..5a486dc093 100644
--- a/include/d/shop/d_shop_item_ctrl.h
+++ b/include/d/shop/d_shop_item_ctrl.h
@@ -1,7 +1,7 @@
#ifndef D_SHOP_D_SHOP_ITEM_CTRL_H
#define D_SHOP_D_SHOP_ITEM_CTRL_H
-#include "d/a/d_a_shop_item_static.h"
+#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
class dShopItemCtrl_c {
diff --git a/include/d/shop/d_shop_system.h b/include/d/shop/d_shop_system.h
index e7d0c9db22..048398c6ad 100644
--- a/include/d/shop/d_shop_system.h
+++ b/include/d/shop/d_shop_system.h
@@ -5,6 +5,9 @@
#include "d/shop/d_shop_item_ctrl.h"
#include "dolphin/types.h"
+class dSelect_cursor_c;
+struct STControl;
+
typedef int (*ShopCam_actionFunc)(void);
class ShopCam_action_c {