summaryrefslogtreecommitdiff
path: root/include/rel
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2024-05-29 01:49:10 -0600
committerGitHub <noreply@github.com>2024-05-29 00:49:10 -0700
commit2e7510db5fecda69fa5719ff664a29a6649e73ba (patch)
treeb823948bb84531abae5df312ebd21c86882c5e24 /include/rel
parent7c7bc7fbd03f60b4f7555f62e91a289c8c6d2b15 (diff)
Setup d_a_obj Actors (#2161)
* checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * finish * add class comments * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * finish * add class comments * rm duplicate comments * fix build
Diffstat (limited to 'include/rel')
-rw-r--r--include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h1
-rw-r--r--include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h1
-rw-r--r--include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h1
-rw-r--r--include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h1
-rw-r--r--include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h1
-rw-r--r--include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h1
-rw-r--r--include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h1
-rw-r--r--include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h1
-rw-r--r--include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h1
-rw-r--r--include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h1
-rw-r--r--include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h1
-rw-r--r--include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h1
-rw-r--r--include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h1
-rw-r--r--include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h1
-rw-r--r--include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h1
-rw-r--r--include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h1
-rw-r--r--include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h1
-rw-r--r--include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h1
-rw-r--r--include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h2
-rw-r--r--include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h1
-rw-r--r--include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h1
-rw-r--r--include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h1
-rw-r--r--include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h1
-rw-r--r--include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h1
-rw-r--r--include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h1
-rw-r--r--include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h1
-rw-r--r--include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h21
-rw-r--r--include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h48
-rw-r--r--include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h80
-rw-r--r--include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h25
-rw-r--r--include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h23
-rw-r--r--include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h47
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h30
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h50
-rw-r--r--include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h2
-rw-r--r--include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h91
-rw-r--r--include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h13
-rw-r--r--include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h51
-rw-r--r--include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h33
-rw-r--r--include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h23
-rw-r--r--include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h17
-rw-r--r--include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h67
-rw-r--r--include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h54
-rw-r--r--include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h162
-rw-r--r--include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h14
-rw-r--r--include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h33
-rw-r--r--include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h49
-rw-r--r--include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h13
-rw-r--r--include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h17
-rw-r--r--include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h24
-rw-r--r--include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h15
-rw-r--r--include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h17
-rw-r--r--include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h57
-rw-r--r--include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h66
-rw-r--r--include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h23
-rw-r--r--include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h30
-rw-r--r--include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h59
-rw-r--r--include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h57
-rw-r--r--include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h24
-rw-r--r--include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h23
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h25
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h65
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h44
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h69
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h30
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h48
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h57
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h47
-rw-r--r--include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h80
-rw-r--r--include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h87
-rw-r--r--include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h60
-rw-r--r--include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h17
-rw-r--r--include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h47
-rw-r--r--include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h50
-rw-r--r--include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h53
-rw-r--r--include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h42
-rw-r--r--include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h27
-rw-r--r--include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h46
-rw-r--r--include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h65
-rw-r--r--include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h41
-rw-r--r--include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h56
-rw-r--r--include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h36
-rw-r--r--include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h13
-rw-r--r--include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h32
-rw-r--r--include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h13
-rw-r--r--include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h52
-rw-r--r--include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h14
-rw-r--r--include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h47
-rw-r--r--include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h30
-rw-r--r--include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h78
-rw-r--r--include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h78
-rw-r--r--include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h49
-rw-r--r--include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h53
-rw-r--r--include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h43
-rw-r--r--include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h22
-rw-r--r--include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h45
-rw-r--r--include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h2
-rw-r--r--include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h26
-rw-r--r--include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h34
-rw-r--r--include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h39
-rw-r--r--include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h54
-rw-r--r--include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h35
-rw-r--r--include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h45
-rw-r--r--include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h47
-rw-r--r--include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h33
-rw-r--r--include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h29
-rw-r--r--include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h16
-rw-r--r--include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h13
-rw-r--r--include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h135
-rw-r--r--include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h64
-rw-r--r--include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h52
-rw-r--r--include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h64
-rw-r--r--include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h28
-rw-r--r--include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h52
-rw-r--r--include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h12
-rw-r--r--include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h15
-rw-r--r--include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h40
-rw-r--r--include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h48
-rw-r--r--include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h37
-rw-r--r--include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h9
-rw-r--r--include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h11
-rw-r--r--include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h38
-rw-r--r--include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h10
-rw-r--r--include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h31
-rw-r--r--include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h8
-rw-r--r--include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h9
-rw-r--r--include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h10
-rw-r--r--include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h10
-rw-r--r--include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h10
-rw-r--r--include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h9
-rw-r--r--include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h8
-rw-r--r--include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h2
372 files changed, 10174 insertions, 292 deletions
diff --git a/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h b/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h
index 98ef985bfa..a41e6fe5bc 100644
--- a/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h
+++ b/include/rel/d/a/b/d_a_b_yo/d_a_b_yo.h
@@ -1,7 +1,6 @@
#ifndef D_A_B_YO_H
#define D_A_B_YO_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h
index 97e555f175..c8f24eb040 100644
--- a/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h
+++ b/include/rel/d/a/e/d_a_e_bg/d_a_e_bg.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_BG_H
#define D_A_E_BG_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h
index f5d967017d..6f273f4582 100644
--- a/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h
+++ b/include/rel/d/a/e/d_a_e_bug/d_a_e_bug.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_BUG_H
#define D_A_E_BUG_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h
index 0983f050f4..a5a42876b1 100644
--- a/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h
+++ b/include/rel/d/a/e/d_a_e_dk/d_a_e_dk.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_DK_H
#define D_A_E_DK_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h
index e9373ed0eb..799df46364 100644
--- a/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h
+++ b/include/rel/d/a/e/d_a_e_dt/d_a_e_dt.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_DT_H
#define D_A_E_DT_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h
index 13fc12399b..e7a0e7ad9a 100644
--- a/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h
+++ b/include/rel/d/a/e/d_a_e_fb/d_a_e_fb.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_FB_H
#define D_A_E_FB_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h
index 9f39409689..9d2da2d9e9 100644
--- a/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h
+++ b/include/rel/d/a/e/d_a_e_ga/d_a_e_ga.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_GA_H
#define D_A_E_GA_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
struct ga_s {
diff --git a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h
index ba7404e7e9..5321654d0d 100644
--- a/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h
+++ b/include/rel/d/a/e/d_a_e_gi/d_a_e_gi.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_GI_H
#define D_A_E_GI_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h
index 1549393661..edd1a7fc9d 100644
--- a/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h
+++ b/include/rel/d/a/e/d_a_e_gm/d_a_e_gm.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_GM_H
#define D_A_E_GM_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h
index 2f989de18b..f6a9e82d37 100644
--- a/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h
+++ b/include/rel/d/a/e/d_a_e_gs/d_a_e_gs.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_GS_H
#define D_A_E_GS_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h
index 9951a4be0c..7b347033d5 100644
--- a/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h
+++ b/include/rel/d/a/e/d_a_e_hm/d_a_e_hm.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_HM_H
#define D_A_E_HM_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h
index 11822d79b7..36cf6be312 100644
--- a/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h
+++ b/include/rel/d/a/e/d_a_e_hp/d_a_e_hp.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_HP_H
#define D_A_E_HP_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h
index 2256c612e3..ca9200c53d 100644
--- a/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h
+++ b/include/rel/d/a/e/d_a_e_kk/d_a_e_kk.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_KK_H
#define D_A_E_KK_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h
index 95f6af5e21..f791eab64f 100644
--- a/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h
+++ b/include/rel/d/a/e/d_a_e_oc/d_a_e_oc.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_OC_H
#define D_A_E_OC_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h
index 01bd05293c..8d2cfb3348 100644
--- a/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h
+++ b/include/rel/d/a/e/d_a_e_ot/d_a_e_ot.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_OT_H
#define D_A_E_OT_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h
index db7472e806..6cadb83672 100644
--- a/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h
+++ b/include/rel/d/a/e/d_a_e_pz/d_a_e_pz.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_PZ_H
#define D_A_E_PZ_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h
index 8b5f27b3ec..d2f67ecdc7 100644
--- a/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h
+++ b/include/rel/d/a/e/d_a_e_sw/d_a_e_sw.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_SW_H
#define D_A_E_SW_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h
index 248442315f..0dca36acc2 100644
--- a/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h
+++ b/include/rel/d/a/e/d_a_e_tt/d_a_e_tt.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_TT_H
#define D_A_E_TT_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h
index e94b2cb476..9c42889a8f 100644
--- a/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h
+++ b/include/rel/d/a/e/d_a_e_vt/d_a_e_vt.h
@@ -146,6 +146,7 @@ public:
/* 807CD668 */ int create();
/* 807CDAD8 */ daE_VA_c();
+private:
/* 0x005AC */ request_of_phase_process_class mPhase;
/* 0x005B4 */ mDoExt_McaMorfSO* mpMorf;
/* 0x005B8 */ mDoExt_McaMorfSO* mpEndEfMorf;
@@ -286,6 +287,7 @@ public:
/* 807C25EC */ daE_VA_HIO_c();
/* 807CE2AC */ virtual ~daE_VA_HIO_c();
+private:
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 mModelSize;
/* 0x0C */ f32 mAttackRange;
diff --git a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h
index fc18daa936..b0499bde6b 100644
--- a/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h
+++ b/include/rel/d/a/e/d_a_e_warpappear/d_a_e_warpappear.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_WARPAPPEAR_H
#define D_A_E_WARPAPPEAR_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h
index 6e913ca1cf..6838ec6647 100644
--- a/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h
+++ b/include/rel/d/a/e/d_a_e_ws/d_a_e_ws.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_WS_H
#define D_A_E_WS_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h
index 2cc915150b..4919634037 100644
--- a/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h
+++ b/include/rel/d/a/e/d_a_e_ww/d_a_e_ww.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_WW_H
#define D_A_E_WW_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h
index 0031807651..6c640281ba 100644
--- a/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h
+++ b/include/rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_YMB_H
#define D_A_E_YMB_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h
index 3845844fbb..1f10a67134 100644
--- a/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h
+++ b/include/rel/d/a/e/d_a_e_zh/d_a_e_zh.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_ZH_H
#define D_A_E_ZH_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h
index d27b70acd3..42932f59e6 100644
--- a/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h
+++ b/include/rel/d/a/e/d_a_e_zm/d_a_e_zm.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_ZM_H
#define D_A_E_ZM_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h
index c8b12e19f0..99c7be1585 100644
--- a/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h
+++ b/include/rel/d/a/e/d_a_e_zs/d_a_e_zs.h
@@ -1,7 +1,6 @@
#ifndef D_A_E_ZS_H
#define D_A_E_ZS_H
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
/**
diff --git a/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h b/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h
index 4c5c2f6621..7fd0dd06f1 100644
--- a/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h
+++ b/include/rel/d/a/obj/d_a_obj_Lv5Key/d_a_obj_Lv5Key.h
@@ -1,10 +1,21 @@
#ifndef D_A_OBJ_LV5KEY_H
#define D_A_OBJ_LV5KEY_H
-#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+#include "f_op/f_op_actor_mng.h"
-struct daObjLv5Key_c : public fopAc_ac_c {
+
+
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv5Key_c
+ * @brief Snowpeak Ruins Key
+ *
+ * @details
+ *
+ */
+class daObjLv5Key_c : public fopAc_ac_c {
+public:
/* 80B9B9B8 */ void CreateHeap();
/* 80B9BA94 */ void Init();
/* 80B9BB5C */ void setBgc();
@@ -29,8 +40,12 @@ struct daObjLv5Key_c : public fopAc_ac_c {
void keylock_shake_start() { setStatus(1); }
bool is_open() { return mStatus == 3; }
+private:
/* 0x568 */ u8 field_0x568[0x945 - 0x568];
/* 0x945 */ s8 mStatus;
+ /* 0x946 */ u8 field_0x946[0x97c - 0x946];
};
+STATIC_ASSERT(sizeof(daObjLv5Key_c) == 0x97c);
+
#endif /* D_A_OBJ_LV5KEY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h b/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h
index e9a108206b..5488d15572 100644
--- a/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h
+++ b/include/rel/d/a/obj/d_a_obj_Turara/d_a_obj_Turara.h
@@ -1,6 +1,52 @@
#ifndef D_A_OBJ_TURARA_H
#define D_A_OBJ_TURARA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTurara_c
+ * @brief Icicle
+ *
+ * @details
+ *
+ */
+class daTurara_c : public fopAc_ac_c {
+public:
+ /* 80B9CC9C */ void setBaseMtx();
+ /* 80B9CD74 */ void CreateHeap();
+ /* 80B9CED8 */ void create();
+ /* 80B9D468 */ void setFallStat();
+ /* 80B9D4CC */ void Execute(f32 (**)[3][4]);
+ /* 80B9D548 */ void move();
+ /* 80B9D72C */ void init_modeWait();
+ /* 80B9D738 */ void modeWait();
+ /* 80B9D998 */ void eventStart();
+ /* 80B9D9BC */ void init_modeDropInit();
+ /* 80B9DA00 */ void modeDropInit();
+ /* 80B9DA44 */ void init_modeDrop();
+ /* 80B9DB44 */ void modeDrop();
+ /* 80B9DB90 */ void bgCheck();
+ /* 80B9DBD0 */ void init_modeDropEnd();
+ /* 80B9DE48 */ void modeDropEnd();
+ /* 80B9E078 */ void init_modeDropEnd2();
+ /* 80B9E338 */ void modeDropEnd2();
+ /* 80B9E388 */ void Draw();
+ /* 80B9E478 */ void Delete();
+ /* 80B9E710 */ ~daTurara_c();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x998 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTurara_c) == 0x998);
+
+class daTurara_HIO_c {
+public:
+ /* 80B9CB8C */ daTurara_HIO_c();
+ /* 80B9E5B4 */ ~daTurara_HIO_c();
+};
#endif /* D_A_OBJ_TURARA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h b/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h
index e9a4f0ad36..d087b4bb62 100644
--- a/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h
+++ b/include/rel/d/a/obj/d_a_obj_TvCdlst/d_a_obj_TvCdlst.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_TVCDLST_H
#define D_A_OBJ_TVCDLST_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTvCdlst_c
+ * @brief Ordon Torch Stand
+ *
+ * @details
+ *
+ */
+class daTvCdlst_c : public fopAc_ac_c {
+public:
+ /* 80B9ED40 */ void setBaseMtx();
+ /* 80B9EDC8 */ void CreateHeap();
+ /* 80B9EE34 */ void create();
+ /* 80B9F144 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80B9F164 */ void lightInit();
+ /* 80B9F1F0 */ void setLight();
+ /* 80B9F220 */ void cutLight();
+ /* 80B9F250 */ void pointLightProc();
+ /* 80B9F300 */ void Execute();
+ /* 80B9F634 */ void Draw();
+ /* 80B9F6D8 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x754 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTvCdlst_c) == 0x754);
+
+class daTvCdlst_HIO_c {
+public:
+ /* 80B9ECCC */ daTvCdlst_HIO_c();
+ /* 80B9F7B0 */ ~daTvCdlst_HIO_c();
+};
+
#endif /* D_A_OBJ_TVCDLST_H */
diff --git a/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h b/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h
index 8545ca6653..61fca42588 100644
--- a/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h
+++ b/include/rel/d/a/obj/d_a_obj_Y_taihou/d_a_obj_Y_taihou.h
@@ -1,5 +1,40 @@
#ifndef D_A_OBJ_Y_TAIHOU_H
#define D_A_OBJ_Y_TAIHOU_H
+#include "f_op/f_op_actor_mng.h"
+#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjYtaihou_c
+ * @brief Snowpeak Ruins Cannon
+ *
+ * @details
+ *
+ */
+class daObjYtaihou_c : public fopAc_ac_c {
+public:
+ /* 80B9FDE8 */ void create1st();
+ /* 80B9FEB0 */ void setIronBall(daObjCarry_c*);
+ /* 80B9FF08 */ void getEvent(u8);
+ /* 80B9FF1C */ void loadAngle();
+ /* 80B9FFAC */ void saveAngle();
+ /* 80BA0060 */ void setNextAngle();
+ /* 80BA0084 */ void setMtx();
+ /* 80BA0208 */ void rotateCheck();
+ /* 80BA045C */ void shotCheck();
+ /* 80BA0964 */ void eventStart();
+ /* 80BA0974 */ void CreateHeap();
+ /* 80BA09E4 */ void Create();
+ /* 80BA0A94 */ void Execute(f32 (**)[3][4]);
+ /* 80BA0B4C */ void Draw();
+ /* 80BA0C1C */ void Delete();
+ /* 80BA0FA4 */ ~daObjYtaihou_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x778 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjYtaihou_c) == 0x778);
+
#endif /* D_A_OBJ_Y_TAIHOU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h b/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h
index c75f54882c..285911d630 100644
--- a/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h
+++ b/include/rel/d/a/obj/d_a_obj_amiShutter/d_a_obj_amiShutter.h
@@ -1,6 +1,48 @@
#ifndef D_A_OBJ_AMISHUTTER_H
#define D_A_OBJ_AMISHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daAmiShutter_c
+ * @brief Drain Gate
+ *
+ * @details
+ *
+ */
+class daAmiShutter_c : public fopAc_ac_c {
+ /* 80BA155C */ void setBaseMtx();
+ /* 80BA15E4 */ void CreateHeap();
+ /* 80BA1650 */ void create();
+ /* 80BA182C */ void Execute(f32 (**)[3][4]);
+ /* 80BA1888 */ void moveShutter();
+ /* 80BA1974 */ void playerAreaCheck();
+ /* 80BA1B4C */ void init_modeWait();
+ /* 80BA1B58 */ void modeWait();
+ /* 80BA1BCC */ void init_modeWaitEvent();
+ /* 80BA1BD8 */ void modeWaitEvent();
+ /* 80BA1C90 */ void eventStart();
+ /* 80BA1CB4 */ void init_modeClose();
+ /* 80BA1D48 */ void modeClose();
+ /* 80BA1DCC */ void init_modeCloseEvent();
+ /* 80BA1E60 */ void modeCloseEvent();
+ /* 80BA1EEC */ void init_modeCloseEnd();
+ /* 80BA1F7C */ void modeCloseEnd();
+ /* 80BA1F80 */ void init_modeOpen();
+ /* 80BA2004 */ void modeOpen();
+ /* 80BA2080 */ void Draw();
+ /* 80BA2124 */ void Delete();
+ /* 80BA22E8 */ ~daAmiShutter_c();
+private:
+ /* 0x568 */ u8 field_0x568[0x5dc - 0x568];
+};
+STATIC_ASSERT(sizeof(daAmiShutter_c) == 0x5dc);
+
+class daAmiShutter_HIO_c {
+ /* 80BA14CC */ daAmiShutter_HIO_c();
+ /* 80BA21E0 */ ~daAmiShutter_HIO_c();
+};
+
#endif /* D_A_OBJ_AMISHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h b/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h
index 51e3884baf..88c4c4a74e 100644
--- a/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h
+++ b/include/rel/d/a/obj/d_a_obj_ari/d_a_obj_ari.h
@@ -8,6 +8,14 @@
#include "d/a/d_a_player.h"
#include "d/d_insect.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjARI_c
+ * @brief Insect - Ant
+ *
+ * @details
+ *
+ */
class daObjARI_c : public dInsect_c {
public:
/* 80BA26BC */ void InitCcSph();
@@ -32,6 +40,7 @@ public:
/* 80BA483C */ bool CreateChk();
/* 80BA49E8 */ cPhs__Step create();
+private:
/* 0x590 */ dBgS_GndChk mGndChk;
/* 0x5E4 */ u8 field_0x5e4[4];
/* 0x5E8 */ u8 mAction;
diff --git a/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h b/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h
index 86771a2945..afd1495735 100644
--- a/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h
+++ b/include/rel/d/a/obj/d_a_obj_automata/d_a_obj_automata.h
@@ -1,5 +1,43 @@
#ifndef D_A_OBJ_AUTOMATA_H
#define D_A_OBJ_AUTOMATA_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_AutoMata_c
+ * @brief Falbi's Music Box
+ *
+ * @details
+ *
+ */
+class daObj_AutoMata_c : public fopAc_ac_c {
+public:
+ /* 80BA56EC */ ~daObj_AutoMata_c();
+ /* 80BA5990 */ void create();
+ /* 80BA5F88 */ void CreateHeap();
+ /* 80BA60A0 */ void Delete();
+ /* 80BA60D4 */ void Execute();
+ /* 80BA639C */ void Draw();
+ /* 80BA6480 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80BA64A0 */ void srchTHouse(fopAc_ac_c*, void*);
+ /* 80BA6500 */ void setAnm(int, bool);
+ /* 80BA6634 */ void setEnvTevColor();
+ /* 80BA6690 */ void setRoomNo();
+ /* 80BA66D4 */ void setMtx();
+ /* 80BA674C */ void setSe();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb38 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_AutoMata_c) == 0xb38);
+
+class daObj_AutoMata_Param_c {
+public:
+ /* 80BA6BA4 */ ~daObj_AutoMata_Param_c();
+
+ static u8 const m[12];
+};
+
#endif /* D_A_OBJ_AUTOMATA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h b/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h
index 4d94769be7..d1d1c7446f 100644
--- a/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h
+++ b/include/rel/d/a/obj/d_a_obj_avalanche/d_a_obj_avalanche.h
@@ -7,6 +7,14 @@
class dBgW;
+/**
+ * @ingroup actors-objects
+ * @class daObjAvalanche_c
+ * @brief Avalanche
+ *
+ * @details
+ *
+ */
class daObjAvalanche_c : public dBgS_MoveBgActor {
public:
enum Action {
diff --git a/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h b/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h
index 6313903559..b72e62e3a4 100644
--- a/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h
+++ b/include/rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h
@@ -7,6 +7,14 @@
#include "d/cc/d_cc_d.h"
#include "SSystem/SComponent/c_phase.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Balloon_c
+ * @brief Balloon
+ *
+ * @details
+ *
+ */
class daObj_Balloon_c : public fopAc_ac_c {
public:
/* 80BA7FF4 */ int draw();
diff --git a/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h b/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h
index 077047d57a..b16eb25245 100644
--- a/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h
+++ b/include/rel/d/a/obj/d_a_obj_barDesk/d_a_obj_barDesk.h
@@ -6,6 +6,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daBarDesk_c
+ * @brief Kakariko House Desk
+ *
+ * @details
+ *
+ */
class daBarDesk_c : public dBgS_MoveBgActor {
public:
/* 80BA9200 */ void setBaseMtx();
diff --git a/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h b/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h
index cfb06ca694..98c912dc94 100644
--- a/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h
+++ b/include/rel/d/a/obj/d_a_obj_batta/d_a_obj_batta.h
@@ -1,6 +1,46 @@
#ifndef D_A_OBJ_BATTA_H
#define D_A_OBJ_BATTA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBATTA_c
+ * @brief Insect - Grasshopper
+ *
+ * @details
+ *
+ */
+class daObjBATTA_c : public dInsect_c {
+public:
+ /* 80BA9E5C */ void setAction(void (daObjBATTA_c::*)());
+ /* 80BAA1C8 */ void wait();
+ /* 80BAA47C */ void turn();
+ /* 80BAAA18 */ void jump();
+ /* 80BAAD30 */ void fly_up();
+ /* 80BAB234 */ void fly_down();
+ /* 80BAB500 */ void bin_wait();
+ /* 80BAB6C8 */ void bin_action();
+ /* 80BAB820 */ void hook();
+ /* 80BAB934 */ void boomerang();
+ /* 80BABA98 */ void batta_setParticle();
+ /* 80BABCA4 */ void action();
+ /* 80BABD6C */ void hit_check();
+ /* 80BABE20 */ void execute();
+ /* 80BABFA4 */ void _delete();
+ /* 80BAC00C */ void mtx_set();
+ /* 80BAC194 */ void create();
+
+private:
+ /* 0x590 */ u8 field_0x568[0x9f8 - 0x590];
+};
+STATIC_ASSERT(sizeof(daObjBATTA_c) == 0x9f8);
+
+class daObj_BattaHIO_c {
+public:
+ /* 80BA9E2C */ daObj_BattaHIO_c();
+ /* 80BAC874 */ ~daObj_BattaHIO_c();
+};
#endif /* D_A_OBJ_BATTA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h b/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h
index 67a9d12b0a..7657dbe583 100644
--- a/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h
+++ b/include/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h
@@ -5,6 +5,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjBBox_c
+ * @brief B Box
+ *
+ * @details
+ *
+ */
class daObjBBox_c : public dBgS_MoveBgActor {
public:
/* 80BACD38 */ void initBaseMtx();
@@ -23,6 +31,7 @@ private:
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mStts;
/* 0x5E8 */ dCcD_Cyl mCyl;
-}; // Size: 0x724
+};
+STATIC_ASSERT(sizeof(daObjBBox_c) == 0x724);
#endif /* D_A_OBJ_BBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h b/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h
index 14a2876b7c..95fbca663e 100644
--- a/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h
+++ b/include/rel/d/a/obj/d_a_obj_bed/d_a_obj_bed.h
@@ -8,6 +8,14 @@
class dBgW;
+/**
+ * @ingroup actors-objects
+ * @class daObj_Bed_c
+ * @brief Bed
+ *
+ * @details
+ *
+ */
class daObj_Bed_c : public fopAc_ac_c {
public:
/* 0x568 */ u8 field_0x568[4];
diff --git a/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h b/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h
index cb2fabd9e9..2389ef51d9 100644
--- a/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h
+++ b/include/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.h
@@ -1,5 +1,85 @@
#ifndef D_A_OBJ_BEMOS_H
#define D_A_OBJ_BEMOS_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBm_c
+ * @brief Beamos (Movable Object)
+ *
+ * @details
+ *
+ */
+class daObjBm_c : public fopAc_ac_c {
+public:
+ class BgcSrc_c {};
+
+ class Bgc_c {
+ public:
+ /* 80BB0E0C */ Bgc_c();
+ /* 80BB0ED4 */ void wall_pos(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16, f32);
+ /* 80BB1154 */ void chk_wall_pre(fopAc_ac_c const*, daObjBm_c::BgcSrc_c const*, int, s16);
+
+ static u8 const M_lin20[368];
+ static u8 M_lin5[80];
+ static u8 M_gnd_work[1932];
+ static u8 M_wrt_work[84];
+ static u8 M_wall_work[2576];
+ };
+
+ /* 80BAE36C */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
+ /* 80BAE5FC */ void initBaseMtx();
+ /* 80BAE68C */ void setBaseMtx();
+ /* 80BAE778 */ int Create();
+ /* 80BAEADC */ int CreateHeap();
+ /* 80BAEFD8 */ void create1st();
+ /* 80BAF09C */ int Execute(f32 (**)[3][4]);
+ /* 80BAF29C */ void main_proc_call();
+ /* 80BAF328 */ void initActionEnBemos();
+ /* 80BAF37C */ void initActionObjBemos();
+ /* 80BAF46C */ void actionEnBemos();
+ /* 80BAF750 */ void actionObjBemos();
+ /* 80BAF80C */ void setCrawCO();
+ /* 80BAF8F8 */ void calcBeamPos();
+ /* 80BAFC08 */ void calcBeamLenAndAt();
+ /* 80BAFFA8 */ void checkFindPlayer();
+ /* 80BB0104 */ void checkSearchPlayer();
+ /* 80BB0260 */ void getSearchDistance();
+ /* 80BB02B8 */ void getBeamSearchDistance();
+ /* 80BB0310 */ void effect_proc();
+ /* 80BB0580 */ void effectWait();
+ /* 80BB0584 */ void initEffectSet0();
+ /* 80BB0718 */ void effectSet0();
+ /* 80BB071C */ void effectSet1();
+ /* 80BB0720 */ void effectEnd();
+ /* 80BB0724 */ void check_to_walk();
+ /* 80BB0824 */ void mode_wait_init();
+ /* 80BB0888 */ void mode_wait();
+ /* 80BB09C8 */ void mode_walk_init();
+ /* 80BB09E0 */ void mode_walk();
+ /* 80BB0DA8 */ void mode_afl();
+ /* 80BB0DC0 */ void mode_dead_init();
+ /* 80BB0DE4 */ void mode_dead();
+ /* 80BB0DE8 */ void clr_moment_cnt();
+ /* 80BB1194 */ void initActionSwWait();
+ /* 80BB11D4 */ void actionSwWait();
+ /* 80BB14C8 */ void initActionWarning();
+ /* 80BB154C */ void actionWarning();
+ /* 80BB1654 */ void initActionFindPlayer();
+ /* 80BB1814 */ void actionFindPlayer();
+ /* 80BB1960 */ void initActionAttack();
+ /* 80BB1BD0 */ void actionAttack();
+ /* 80BB248C */ void initActionDead();
+ /* 80BB2700 */ void actionDead();
+ /* 80BB2AB0 */ int Draw();
+ /* 80BB2C8C */ int Delete();
+
+ static u8 const M_dir_base[8];
+private:
+ /* 0x568 */ u8 field_0x568[0x1258 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjBm_c) == 0x1258);
+
#endif /* D_A_OBJ_BEMOS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h b/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h
index 350bf297a3..e335ce36a6 100644
--- a/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h
+++ b/include/rel/d/a/obj/d_a_obj_bhashi/d_a_obj_bhashi.h
@@ -1,5 +1,48 @@
#ifndef D_A_OBJ_BHASHI_H
#define D_A_OBJ_BHASHI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBHASHI_c
+ * @brief Morpheel Room Pillar?
+ *
+ * @details
+ *
+ */
+class daObjBHASHI_c : public fopAc_ac_c {
+public:
+ /* 80576A58 */ void initCcCylinder();
+ /* 80576AC4 */ void setCcCylinder();
+ /* 80576B78 */ void Set_Hahen();
+ /* 80576C50 */ void Set_Speed(s16, s16, f32, f32);
+ /* 80577500 */ void Obj_Damage(cXyz);
+ /* 805771EC */ void Obj_Damage();
+ /* 80577E24 */ void Rolling(cXyz*, f32, f32);
+ /* 805781FC */ void setBaseMtx();
+ /* 80578330 */ void CreateHeap();
+ /* 8057842C */ void create();
+ /* 80578788 */ void Create();
+ /* 805787CC */ void Execute(f32 (**)[3][4]);
+ /* 805788EC */ void Draw();
+ /* 805789E8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1464 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjBHASHI_c) == 0x1464);
+
+class Hahen_c {
+public:
+ /* 80577794 */ Hahen_c();
+ /* 805777A4 */ void Wall_Check();
+ /* 80577868 */ void HahenMotion();
+ /* 80577C1C */ void CheckCull();
+ /* 80577DA4 */ void checkViewArea();
+ /* 80577FE0 */ void Roll_Set(cXyz*, f32, s16);
+ /* 80578744 */ ~Hahen_c();
+};
+
#endif /* D_A_OBJ_BHASHI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h b/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h
index 52971f6505..be1fcd19b9 100644
--- a/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h
+++ b/include/rel/d/a/obj/d_a_obj_bhbridge/d_a_obj_bhbridge.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_BHBRIDGE_H
#define D_A_OBJ_BHBRIDGE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBhbridge_c
+ * @brief BH Bridge?
+ *
+ * @details
+ *
+ */
+class daObjBhbridge_c : public fopAc_ac_c {
+public:
+ /* 80BB5318 */ void RideOn_Angle(s16&, f32, s16, f32);
+ /* 80BB5380 */ void Check_RideOn();
+ /* 80BB558C */ void initBaseMtx();
+ /* 80BB55B8 */ void setBaseMtx();
+ /* 80BB5934 */ void CreateHeap();
+ /* 80BB59AC */ void Create();
+ /* 80BB5A14 */ void Execute(f32 (**)[3][4]);
+ /* 80BB5E10 */ void Draw();
+ /* 80BB5EB4 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x810 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjBhbridge_c) == 0x810);
+
#endif /* D_A_OBJ_BHBRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h b/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h
index bc10c61533..ce0ee8f3dd 100644
--- a/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h
+++ b/include/rel/d/a/obj/d_a_obj_bk_leaf/d_a_obj_bk_leaf.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daBkLeaf_c
+ * @brief Baba Stem Leaf
+ *
+ * @details
+ *
+ */
class daBkLeaf_c : public fopAc_ac_c {
public:
/* 80BB60F8 */ void setBokkuri();
diff --git a/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h b/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h
index 037c932643..9c18760089 100644
--- a/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_bkdoor/d_a_obj_bkdoor.h
@@ -6,6 +6,14 @@
class J3DModel;
+/**
+ * @ingroup actors-objects
+ * @class daObjBkDoor_c
+ * @brief Ranch Door
+ *
+ * @details
+ *
+ */
class daObjBkDoor_c : public dBgS_MoveBgActor {
public:
/* 80578D4C */ void initBaseMtx();
diff --git a/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h b/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h
index b341704b66..8440a726fb 100644
--- a/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_bky_rock/d_a_obj_bky_rock.h
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_BKY_ROCK_H
#define D_A_OBJ_BKY_ROCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daBkyRock_c
+ * @brief Bomb Shack Rock
+ *
+ * @details
+ *
+ */
+class daBkyRock_c : public fopAc_ac_c {
+public:
+ struct _pieceData {
+ public:
+ /* 80BB6914 */ _pieceData();
+ };
+
+ /* 80BB6858 */ daBkyRock_c();
+ /* 80BB6B5C */ ~daBkyRock_c();
+ /* 80BB6C4C */ void create();
+ /* 80BB6D60 */ void execute();
+ /* 80BB6D84 */ void draw();
+ /* 80BB6EB8 */ void Delete();
+ /* 80BB6F64 */ void setModelMtx();
+ /* 80BB6FD4 */ void createHeap();
+ /* 80BB7144 */ void init();
+ /* 80BB72FC */ void middleExe();
+ /* 80BB7364 */ void exeModeNoDamage();
+ /* 80BB7458 */ void exeModeDamage();
+ /* 80BB75D8 */ void exeModePiece();
+ /* 80BB7690 */ void chkHitBombArrow();
+ /* 80BB776C */ void initChangeModeBefore();
+ /* 80BB77FC */ void initChangeModeAfter();
+ /* 80BB7818 */ void pieceMove();
+ /* 80BB7988 */ void pieceMoveInit();
+ /* 80BB7C18 */ void callBombEmt(int, u16 const*);
+
+ static u8 const s_CcDCyl[68];
+ static u8 s_exeProc[36];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xf50 - 0x568];
+};
+STATIC_ASSERT(sizeof(daBkyRock_c) == 0xf50);
+
#endif /* D_A_OBJ_BKY_ROCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h b/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h
index 32c68956ff..c6a216dff4 100644
--- a/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h
+++ b/include/rel/d/a/obj/d_a_obj_bmWindow/d_a_obj_bmWindow.h
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daBmWindow_c
+ * @brief Boomerang Window?
+ *
+ * @details
+ *
+ */
class daBmWindow_c : public dBgS_MoveBgActor
{
public:
@@ -31,6 +39,7 @@ public:
/* 80BB9494 */ int Draw();
/* 80BB9548 */ int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ u8 mMode;
@@ -60,6 +69,7 @@ public:
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
};
+STATIC_ASSERT(sizeof(daBmWindow_c) == 0xEE0);
class daBmWindow_HIO_c : public fOpAcm_HIO_entry_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h b/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h
index d856cb6608..5066dfe9c8 100644
--- a/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h
+++ b/include/rel/d/a/obj/d_a_obj_bmshutter/d_a_obj_bmshutter.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_BMSHUTTER_H
#define D_A_OBJ_BMSHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBmSh_c
+ * @brief Boomerang Shutter
+ *
+ * @details
+ *
+ */
+class daObjBmSh_c : public fopAc_ac_c {
+public:
+ /* 80BB9A58 */ void initBaseMtx();
+ /* 80BB9AE4 */ void setBaseMtx();
+ /* 80BB9B84 */ void Create();
+ /* 80BB9C50 */ void CreateHeap();
+ /* 80BB9CC0 */ void create();
+ /* 80BB9DB4 */ void Execute(f32 (**)[3][4]);
+ /* 80BB9F34 */ void checkSw();
+ /* 80BB9FBC */ void checkAnySw();
+ /* 80BBA044 */ void checkMySw();
+ /* 80BBA080 */ void event_proc_call();
+ /* 80BBA13C */ void actionWait();
+ /* 80BBA1A4 */ void actionOrderEvent();
+ /* 80BBA20C */ void actionEvent();
+ /* 80BBA268 */ void actionDead();
+ /* 80BBA26C */ void mode_proc_call();
+ /* 80BBA394 */ void modeWait();
+ /* 80BBA5B4 */ void modeMove();
+ /* 80BBA640 */ void modeEnd();
+ /* 80BBA644 */ void Draw();
+ /* 80BBA6E8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5dc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjBmSh_c) == 0x5dc);
+
#endif /* D_A_OBJ_BMSHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h b/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h
index cb630d6b2b..92f7b14548 100644
--- a/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h
+++ b/include/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.h
@@ -4,6 +4,14 @@
#include "d/com/d_com_inf_game.h"
#include "d/d_bomb.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjBombf_c
+ * @brief Bomb Flower
+ *
+ * @details
+ *
+ */
class daObjBombf_c : public fopAc_ac_c {
public:
/* 80BBA9F8 */ bool createHeap();
@@ -13,6 +21,7 @@ public:
/* 80BBACC0 */ int execute();
/* 80BBADF8 */ int draw();
+private:
/* 0x568 */ request_of_phase_process_class field_0x568;
/* 0x570 */ J3DModel* field_0x570;
/* 0x574 */ u32 field_0x574;
@@ -21,6 +30,7 @@ public:
/* 0x580 */ u16 field_0x580;
/* 0x582 */ u8 field_0x582;
/* 0x584 */ f32 field_0x584;
-}; // Size: 0x588
+};
+STATIC_ASSERT(sizeof(daObjBombf_c) == 0x588);
#endif /* D_A_OBJ_BOMBF_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h b/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h
index 4b5d4fe262..76c987118c 100644
--- a/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h
+++ b/include/rel/d/a/obj/d_a_obj_bosswarp/d_a_obj_bosswarp.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/msg/d_msg_flow.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjBossWarp_c
+ * @brief Boss Warp
+ *
+ * @details
+ *
+ */
class daObjBossWarp_c : public fopAc_ac_c {
public:
enum Action {
@@ -52,6 +60,7 @@ public:
bool isFirst() { return fopAcM_GetParamBit(this, 0x1b, 1); }
void setAction(u8 action) { mAction = action; }
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_btkAnm* mpBtkAnm[2];
@@ -79,7 +88,6 @@ public:
/* 0x620 */ cXyz field_0x620;
/* 0x62C */ bool mScalingUp;
};
-
STATIC_ASSERT(sizeof(daObjBossWarp_c) == 0x630);
#endif /* D_A_OBJ_BOSSWARP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h b/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h
index 6911a0b973..226e899bc3 100644
--- a/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h
+++ b/include/rel/d/a/obj/d_a_obj_boumato/d_a_obj_boumato.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_BOUMATO_H
#define D_A_OBJ_BOUMATO_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_BouMato_c
+ * @brief Stick Target
+ *
+ * @details
+ *
+ */
+class daObj_BouMato_c : public fopAc_ac_c {
+public:
+ /* 80BBAFEC */ ~daObj_BouMato_c();
+ /* 80BBB230 */ void create();
+ /* 80BBB770 */ void CreateHeap();
+ /* 80BBB800 */ void Delete();
+ /* 80BBB834 */ void Execute();
+ /* 80BBBD80 */ void Draw();
+ /* 80BBBE50 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80BBBE70 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
+ /* 80BBBEA0 */ void srchArrow(void*, void*);
+ /* 80BBBF4C */ void deleteStuckArrow();
+ /* 80BBBFF8 */ void getResName();
+ /* 80BBC008 */ void setSwayParam(fopAc_ac_c*);
+ /* 80BBC19C */ void setEnvTevColor();
+ /* 80BBC1F8 */ void setRoomNo();
+ /* 80BBC23C */ void setMtx();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa40 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_BouMato_c) == 0xa40);
+
+class daObj_BouMato_Param_c {
+public:
+ /* 80BBC404 */ ~daObj_BouMato_Param_c();
+
+ static u8 const m[28];
+};
+
#endif /* D_A_OBJ_BOUMATO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h b/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h
index f7029f2e06..e304a64223 100644
--- a/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h
+++ b/include/rel/d/a/obj/d_a_obj_brakeeff/d_a_obj_brakeeff.h
@@ -1,5 +1,21 @@
#ifndef D_A_OBJ_BRAKEEFF_H
#define D_A_OBJ_BRAKEEFF_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_brakeeff_class
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class obj_brakeeff_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x73c - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_brakeeff_class) == 0x73c);
+
#endif /* D_A_OBJ_BRAKEEFF_H */
diff --git a/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h b/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h
index 6997d43c72..324f3a8d05 100644
--- a/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h
+++ b/include/rel/d/a/obj/d_a_obj_brg/d_a_obj_brg.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_BRG_H
#define D_A_OBJ_BRG_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_brg_class
+ * @brief Bridge
+ *
+ * @details
+ *
+ */
+class obj_brg_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xb1f8 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_brg_class) == 0xb1f8);
+
+struct br_s {
+public:
+ /* 80BC1F54 */ ~br_s();
+ /* 80BC2000 */ br_s();
+};
+
#endif /* D_A_OBJ_BRG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h b/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h
index 6f9430e92b..d5f5394d6e 100644
--- a/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h
+++ b/include/rel/d/a/obj/d_a_obj_bsGate/d_a_obj_bsGate.h
@@ -5,6 +5,14 @@
#include "m_Do/m_Do_hostIO.h"
#include "d/bg/d_bg_s_movebg_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daBsGate_c
+ * @brief Boss Gate
+ *
+ * @details
+ *
+ */
class daBsGate_c : public dBgS_MoveBgActor {
public:
enum Mode {
@@ -27,6 +35,7 @@ public:
/* 80BC2F94 */ int Draw();
/* 80BC3038 */ int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
@@ -36,7 +45,6 @@ public:
/* 0x5B0 */ f32 mTargetDist;
/* 0x5B4 */ f32 mOpenDist;
};
-
STATIC_ASSERT(sizeof(daBsGate_c) == 0x5B8);
class daBsGate_HIO_c : public mDoHIO_entry_c {
diff --git a/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h b/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h
index 0de130f3f2..89b61d297e 100644
--- a/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h
+++ b/include/rel/d/a/obj/d_a_obj_bubblePilar/d_a_obj_bubblePilar.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_BUBBLEPILAR_H
#define D_A_OBJ_BUBBLEPILAR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daBubbPilar_c
+ * @brief Bubble Pillar
+ *
+ * @details
+ *
+ */
+class daBubbPilar_c : public fopAc_ac_c {
+public:
+ /* 80BC3460 */ void setBaseMtx();
+ /* 80BC3518 */ void CreateHeap();
+ /* 80BC35D0 */ void create();
+ /* 80BC3934 */ void Execute(f32 (**)[3][4]);
+ /* 80BC3AB8 */ void initModeWait();
+ /* 80BC3AC4 */ void modeWait();
+ /* 80BC3C74 */ void initModeEffOn();
+ /* 80BC3C98 */ void modeEffOn();
+ /* 80BC3DB0 */ void Draw();
+ /* 80BC3E8C */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x750 - 0x568];
+};
+STATIC_ASSERT(sizeof(daBubbPilar_c) == 0x750);
+
+class daBubbPilar_HIO_c {
+public:
+ /* 80BC33EC */ daBubbPilar_HIO_c();
+ /* 80BC3F90 */ ~daBubbPilar_HIO_c();
+};
+
#endif /* D_A_OBJ_BUBBLEPILAR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h b/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h
index 1e5174ae35..3968edac74 100644
--- a/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h
+++ b/include/rel/d/a/obj/d_a_obj_burnbox/d_a_obj_burnbox.h
@@ -1,5 +1,31 @@
#ifndef D_A_OBJ_BURNBOX_H
#define D_A_OBJ_BURNBOX_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjBurnBox_c
+ * @brief Burn Box
+ *
+ * @details
+ *
+ */
+class daObjBurnBox_c : public fopAc_ac_c {
+public:
+ /* 8046E698 */ void initBaseMtx();
+ /* 8046E6D4 */ void setBaseMtx();
+ /* 8046E738 */ void Create();
+ /* 8046E8BC */ void CreateHeap();
+ /* 8046E93C */ void create1st();
+ /* 8046E9EC */ void Execute(f32 (**)[3][4]);
+ /* 8046EABC */ void Draw();
+ /* 8046EC10 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x740 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjBurnBox_c) == 0x740);
+
#endif /* D_A_OBJ_BURNBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h
index ad61c95158..3f9b773d3e 100644
--- a/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h
+++ b/include/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h
@@ -5,22 +5,12 @@
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
-struct daObjCarry_Data {
- /* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000];
- /* 0x0030 */ float field_0x0030;
- /* 0x0034 */ u8 field_0x0034;
- /* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035];
- /* 0x0038 */ float field_0x0038;
- /* 0x003C */ float field_0x003c;
- /* 0x0040 */ float field_0x0040;
- /* 0x0044 */ u8 field_0x0044[0x94-0x44];
-};
-
/**
* @ingroup actors-objects
+ * @class daObjCarry_c
* @brief Carryable Object
*
- * This is a multi-use class for carryable objects.
+ * @details This is a multi-use class for carryable objects.
* It's used by: small and large blue pot, small and large red pot, box, cannon ball, barrel, skull, deku nut, Sols, small and large Twilight pots.
*
*/
@@ -317,4 +307,15 @@ private:
};
STATIC_ASSERT(sizeof(daObjCarry_c) == 0xE28);
+struct daObjCarry_Data {
+ /* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000];
+ /* 0x0030 */ float field_0x0030;
+ /* 0x0034 */ u8 field_0x0034;
+ /* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035];
+ /* 0x0038 */ float field_0x0038;
+ /* 0x003C */ float field_0x003c;
+ /* 0x0040 */ float field_0x0040;
+ /* 0x0044 */ u8 field_0x0044[0x94-0x44];
+};
+
#endif /* D_A_OBJ_CARRY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h b/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h
index c9c63fa43a..d5645976db 100644
--- a/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.h
@@ -4,13 +4,22 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
-struct daObjCatDoor_Door_c {
+class daObjCatDoor_Door_c {
+public:
/* 0x00 */ J3DModel* pmodel;
/* 0x04 */ dBgW bgw;
/* 0xe0 */ Mtx mtx;
/* 0xf4 */ s16 angle;
};
+/**
+ * @ingroup actors-objects
+ * @class daObjCatDoor_c
+ * @brief Cat Door
+ *
+ * @details
+ *
+ */
class daObjCatDoor_c : public fopAc_ac_c {
public:
inline ~daObjCatDoor_c();
diff --git a/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h b/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h
index 5f2123db49..cb3e167e18 100644
--- a/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h
+++ b/include/rel/d/a/obj/d_a_obj_cb/d_a_obj_cb.h
@@ -1,6 +1,27 @@
#ifndef D_A_OBJ_CB_H
#define D_A_OBJ_CB_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_cb_class
+ * @brief Castle Block?
+ *
+ * @details
+ *
+ */
+class obj_cb_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x97c - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_cb_class) == 0x97c);
+
+class daObj_Cb_HIO_c {
+public:
+ /* 80BC4B2C */ daObj_Cb_HIO_c();
+ /* 80BC573C */ ~daObj_Cb_HIO_c();
+};
+
#endif /* D_A_OBJ_CB_H */
diff --git a/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h b/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h
index 71766d4a2f..52bbcdd98d 100644
--- a/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h
+++ b/include/rel/d/a/obj/d_a_obj_cblock/d_a_obj_cblock.h
@@ -1,5 +1,44 @@
#ifndef D_A_OBJ_CBLOCK_H
#define D_A_OBJ_CBLOCK_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCBlk_c
+ * @brief Castle Block?
+ *
+ * @details
+ *
+ */
+class daObjCBlk_c : public fopAc_ac_c {
+public:
+ struct chain_s {
+ public:
+ /* 80BC5E58 */ ~chain_s();
+ /* 80BC5E94 */ chain_s();
+ };
+
+ /* 80BC5A0C */ void initBaseMtx();
+ /* 80BC5A48 */ void setBaseMtx();
+ /* 80BC5ABC */ void Create();
+ /* 80BC5CF8 */ void CreateHeap();
+ /* 80BC5E98 */ void create();
+ /* 80BC6260 */ void Execute(f32 (**)[3][4]);
+ /* 80BC6270 */ void initWait();
+ /* 80BC627C */ void modeWait();
+ /* 80BC6414 */ void initWalk();
+ /* 80BC6430 */ void modeWalk();
+ /* 80BC65CC */ void getChainBasePos(cXyz*);
+ /* 80BC6648 */ void setPower(f32);
+ /* 80BC66DC */ void checkWall();
+ /* 80BC6868 */ bool Draw();
+ /* 80BC6870 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xca8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCBlk_c) == 0xca8);
+
#endif /* D_A_OBJ_CBLOCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h
index eafbdabf4c..30d401edb1 100644
--- a/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h
+++ b/include/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjBoard_c
+ * @brief Clear Board
+ *
+ * @details Actor used to function as an invisible wall.
+ *
+ */
class daObjBoard_c : public dBgS_MoveBgActor {
public:
/* 8057B958 */ void initBaseMtx();
@@ -23,6 +31,7 @@ public:
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ Mtx field_0x5a8;
-}; // Size: 0x5D8
+};
+STATIC_ASSERT(sizeof(daObjBoard_c) == 0x5D8);
#endif /* D_A_OBJ_CBOARD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h b/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h
index cedd0725b8..c84b095cd9 100644
--- a/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h
@@ -4,6 +4,14 @@
#include "SSystem/SComponent/c_phase.h"
#include "d/bg/d_bg_s_movebg_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjCdoor_c
+ * @brief Chain Door
+ *
+ * @details
+ *
+ */
class daObjCdoor_c : public dBgS_MoveBgActor {
public:
enum Mode {
@@ -43,6 +51,7 @@ public:
int getSwitchNum() { return mSw; }
void setChainID(u32 i_id) { mChainID = i_id; }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ bool mEnd;
diff --git a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h
index 40e20b1b61..be5ed12c3f 100644
--- a/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h
+++ b/include/rel/d/a/obj/d_a_obj_chandelier/d_a_obj_chandelier.h
@@ -7,6 +7,14 @@
class daObjChandelier_c;
typedef void (daObjChandelier_c::*daObjChandelier_proc)();
+/**
+ * @ingroup actors-objects
+ * @class daObjChandelier_c
+ * @brief Hyrule Castle Chandelier
+ *
+ * @details
+ *
+ */
class daObjChandelier_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
enum Mode {
@@ -39,6 +47,7 @@ public:
u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); }
s32 getArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
+private:
/* 0x5A8 */ cXyz field_0x5a8;
/* 0x5B4 */ Mtx mMtx;
/* 0x5E4 */ u8 field_0x5e4[4];
diff --git a/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h b/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h
index e15e29b67a..10a07ef35b 100644
--- a/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h
+++ b/include/rel/d/a/obj/d_a_obj_chest/d_a_obj_chest.h
@@ -6,6 +6,14 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjChest_c
+ * @brief Cabinet
+ *
+ * @details
+ *
+ */
class daObjChest_c : public dBgS_MoveBgActor {
public:
enum daObjChest_Action {
@@ -31,6 +39,7 @@ public:
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getArg0() { return fopAcM_GetParamBit(this, 8, 4); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dBgS_ObjAcch mObjAcch;
@@ -48,6 +57,7 @@ public:
/* 0xA9A */ s16 mRandomRotX;
/* 0xA9C */ f32 field_0xa9c;
/* 0xAA0 */ f32 mScaleY;
-}; // Size: 0xAA4
+};
+STATIC_ASSERT(sizeof(daObjChest_c) == 0xAA4);
#endif /* D_A_OBJ_CHEST_H */
diff --git a/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h b/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h
index b16caa4962..5cdebfdced 100644
--- a/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h
+++ b/include/rel/d/a/obj/d_a_obj_cho/d_a_obj_cho.h
@@ -8,6 +8,14 @@
#include "d/a/d_a_player.h"
#include "d/d_insect.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjCHO_c
+ * @brief Insect - Butterfly
+ *
+ * @details
+ *
+ */
class daObjCHO_c : public dInsect_c {
public:
enum Action {
@@ -38,6 +46,7 @@ public:
/* 80BCC01C */ cPhs__Step create();
inline int Draw();
+private:
/* 0x590 */ dBgS_AcchCir mAcchCir;
/* 0x5D0 */ dBgS_ObjAcch mAcch;
/* 0x7A8 */ dCcD_Stts mCcStts;
diff --git a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h
index 0e40f05329..6201637e39 100644
--- a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daCowdoor_c
+ * @brief Ordon Ranch Stable Door
+ *
+ * @details
+ *
+ */
class daCowdoor_c : public dBgS_MoveBgActor {
public:
/* 80BCC7F8 */ void setBaseMtx();
@@ -14,8 +22,10 @@ public:
/* 80BCCA48 */ int Draw();
/* 80BCCAEC */ int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class field_0x5a0;
/* 0x5A8 */ J3DModel* field_0x5a8;
-}; // Size: 0x5AC
+};
+STATIC_ASSERT(sizeof(daCowdoor_c) == 0x5AC);
#endif /* D_A_OBJ_COWDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h b/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h
index b62b382e80..43539203b2 100644
--- a/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h
+++ b/include/rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjCrope_c
+ * @brief Wolf Tightrope
+ *
+ * @details
+ *
+ */
class daObjCrope_c : public fopAc_ac_c {
public:
/* 80BCCCD8 */ int createHeap();
@@ -37,6 +45,7 @@ public:
setBackJoint(-1);
}
+private:
/* 0x0568 */ request_of_phase_process_class mPhase;
/* 0x0570 */ dCcD_Stts mCcStts;
/* 0x05AC */ dCcD_Sph mCollider;
@@ -54,5 +63,7 @@ public:
/* 0x0BD8 */ cXyz field_0xbd8[98];
/* 0x1070 */ mDoExt_3DlineMat1_c mLineMat;
};
+STATIC_ASSERT(sizeof(daObjCrope_c) == 0x10ac);
+
#endif /* D_A_OBJ_CROPE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h b/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h
index 87fed19811..ac5cc2f4e6 100644
--- a/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h
+++ b/include/rel/d/a/obj/d_a_obj_crvfence/d_a_obj_crvfence.h
@@ -1,6 +1,39 @@
#ifndef D_A_OBJ_CRVFENCE_H
#define D_A_OBJ_CRVFENCE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVFENCE_c
+ * @brief Caravan Fence
+ *
+ * @details
+ *
+ */
+class daObjCRVFENCE_c : public fopAc_ac_c {
+public:
+ /* 80BCEC98 */ void CheckVec();
+ /* 80BCED60 */ void Wall_Check(cXyz, cXyz);
+ /* 80BCEE60 */ void BgRelease();
+ /* 80BCEED0 */ void PosSet(cXyz*);
+ /* 80BCEF30 */ void FenceMove(u8&, cXyz*, csXyz*, cXyz*, s16&);
+ /* 80BCF0B0 */ void BrokenAction();
+ /* 80BCF404 */ void NormalAction();
+ /* 80BCF7DC */ void checkViewArea(cXyz*);
+ /* 80BCF860 */ void Action();
+ /* 80BCF8A4 */ void setBaseMtx();
+ /* 80BCF9E4 */ void CreateHeap();
+ /* 80BCFAE4 */ void create();
+ /* 80BCFFC8 */ void Create();
+ /* 80BD000C */ void Execute(f32 (**)[3][4]);
+ /* 80BD0058 */ void Draw();
+ /* 80BD013C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x103c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVFENCE_c) == 0x103c);
+
#endif /* D_A_OBJ_CRVFENCE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h b/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h
index da6f91fab4..cff6bbfbc1 100644
--- a/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h
+++ b/include/rel/d/a/obj/d_a_obj_crvgate/d_a_obj_crvgate.h
@@ -1,6 +1,51 @@
#ifndef D_A_OBJ_CRVGATE_H
#define D_A_OBJ_CRVGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVGATE_c
+ * @brief Caravan Gate
+ *
+ * @details
+ *
+ */
+class daObjCRVGATE_c : public fopAc_ac_c {
+public:
+ /* 80BD0398 */ void initCcCylinder();
+ /* 80BD0500 */ void setCcCylinder();
+ /* 80BD069C */ void checkOpen();
+ /* 80BD0880 */ void actionStartEvent();
+ /* 80BD0978 */ void actionWaitEvent();
+ /* 80BD0A64 */ void Demo_Set();
+ /* 80BD0B7C */ void SetOpen();
+ /* 80BD0B88 */ void actionDemoEvent();
+ /* 80BD0D28 */ void event_proc_call();
+ /* 80BD0D90 */ void CheckVec();
+ /* 80BD0E1C */ void KeyVib();
+ /* 80BD0F9C */ void DoorVib();
+ /* 80BD10C0 */ void VibStop();
+ /* 80BD10D0 */ void CloseVibration();
+ /* 80BD1110 */ void CloseAction();
+ /* 80BD18E0 */ void OpenAction();
+ /* 80BD21E4 */ void HakaiMotion();
+ /* 80BD22C8 */ void DoorAction();
+ /* 80BD2338 */ void B_CloseAction();
+ /* 80BD245C */ void SetB_Close();
+ /* 80BD2528 */ void setBaseMtx();
+ /* 80BD2670 */ void CreateHeap();
+ /* 80BD2758 */ void SetDoor();
+ /* 80BD28C0 */ void create();
+ /* 80BD2E88 */ void Create();
+ /* 80BD2ECC */ void Execute(f32 (**)[3][4]);
+ /* 80BD2FB8 */ void Draw();
+ /* 80BD3074 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xde4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVGATE_c) == 0xde4);
+
#endif /* D_A_OBJ_CRVGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h b/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h
index 6203ebc5e8..0e6fbd49d1 100644
--- a/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h
+++ b/include/rel/d/a/obj/d_a_obj_crvhahen/d_a_obj_crvhahen.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_CRVHAHEN_H
#define D_A_OBJ_CRVHAHEN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVHAHEN_c
+ * @brief Caravan Wood
+ *
+ * @details
+ *
+ */
+class daObjCRVHAHEN_c : public fopAc_ac_c {
+public:
+ /* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
+ /* 80BD3628 */ void Wall_Check(cXyz, cXyz);
+ /* 80BD3720 */ void Hahen_Hakai(int, int);
+ /* 80BD38DC */ void CheckCull();
+ /* 80BD3A9C */ void checkViewArea(cXyz*);
+ /* 80BD3B20 */ void Execute();
+ /* 80BD3B74 */ void Delete();
+ /* 80BD3C0C */ void setBaseMtx();
+ /* 80BD3DBC */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x794 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794);
+
#endif /* D_A_OBJ_CRVHAHEN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h b/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h
index cf1b3c1050..c2266eced3 100644
--- a/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h
+++ b/include/rel/d/a/obj/d_a_obj_crvlh_down/d_a_obj_crvlh_down.h
@@ -1,5 +1,35 @@
#ifndef D_A_OBJ_CRVLH_DOWN_H
#define D_A_OBJ_CRVLH_DOWN_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVLH_DW_c
+ * @brief Bulblin Tower (Lower Half)
+ *
+ * @details
+ *
+ */
+class daObjCRVLH_DW_c : public fopAc_ac_c {
+public:
+ /* 80BD4138 */ void initCcCylinder();
+ /* 80BD41A4 */ void SetCcSyl();
+ /* 80BD4268 */ void BgRelease();
+ /* 80BD42D8 */ void Break();
+ /* 80BD45A4 */ void Obj_Hit();
+ /* 80BD4644 */ void setBaseMtx();
+ /* 80BD46EC */ void CreateHeap();
+ /* 80BD4764 */ void create();
+ /* 80BD4A84 */ void Create();
+ /* 80BD4AC8 */ void Execute(f32 (**)[3][4]);
+ /* 80BD4C44 */ void Draw();
+ /* 80BD4CC8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x74c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVLH_DW_c) == 0x74c);
+
#endif /* D_A_OBJ_CRVLH_DOWN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h b/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h
index ba489d2318..56e5cc3aea 100644
--- a/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h
+++ b/include/rel/d/a/obj/d_a_obj_crvlh_up/d_a_obj_crvlh_up.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_CRVLH_UP_H
#define D_A_OBJ_CRVLH_UP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVLH_UP_c
+ * @brief Bulblin Tower (Upper Half)
+ *
+ * @details
+ *
+ */
+class daObjCRVLH_UP_c : public fopAc_ac_c {
+public:
+ /* 80BD4F1C */ void HakaiSet();
+ /* 80BD4FB0 */ void UpMotion();
+ /* 80BD4FD8 */ void Hakai();
+ /* 80BD5254 */ void setBaseMtx();
+ /* 80BD5378 */ void CreateHeap();
+ /* 80BD53F0 */ void create();
+ /* 80BD56EC */ void Create();
+ /* 80BD5730 */ void Execute(f32 (**)[3][4]);
+ /* 80BD593C */ void Draw();
+ /* 80BD59C0 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x770 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVLH_UP_c) == 0x770);
+
#endif /* D_A_OBJ_CRVLH_UP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h b/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h
index d95f8f3b00..b5327594dc 100644
--- a/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h
+++ b/include/rel/d/a/obj/d_a_obj_crvsteel/d_a_obj_crvsteel.h
@@ -1,6 +1,35 @@
#ifndef D_A_OBJ_CRVSTEEL_H
#define D_A_OBJ_CRVSTEEL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCRVSTEEL_c
+ * @brief Caravan Steel
+ *
+ * @details
+ *
+ */
+class daObjCRVSTEEL_c : public fopAc_ac_c {
+public:
+ /* 80BD5BFC */ void OpenSet(f32, f32);
+ /* 80BD5C18 */ void CloseSet(f32);
+ /* 80BD5C28 */ void CloseExecute();
+ /* 80BD5CA0 */ void OpenExecute();
+ /* 80BD5CC8 */ void Action();
+ /* 80BD5D10 */ void setBaseMtx();
+ /* 80BD5DB8 */ void CreateHeap();
+ /* 80BD5E30 */ void create();
+ /* 80BD60A8 */ void Create();
+ /* 80BD60EC */ void Execute(f32 (**)[3][4]);
+ /* 80BD6138 */ void Draw();
+ /* 80BD61BC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x848 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCRVSTEEL_c) == 0x848);
+
#endif /* D_A_OBJ_CRVSTEEL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h b/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h
index ec42e9c70a..692701b53e 100644
--- a/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h
+++ b/include/rel/d/a/obj/d_a_obj_crystal/d_a_obj_crystal.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjCrystal_c
+ * @brief Crystal Switch
+ *
+ * @details
+ *
+ */
class daObjCrystal_c : public fopAc_ac_c {
public:
/* 80BD63B8 */ void initBaseMtx();
@@ -14,10 +22,12 @@ public:
/* 80BD673C */ int draw();
/* 80BD67C8 */ int _delete();
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel[2];
/* 0x578 */ JPABaseEmitter* mpEmitter;
/* 0x57C */ u16 mJointID;
};
+STATIC_ASSERT(sizeof(daObjCrystal_c) == 0x580);
#endif /* D_A_OBJ_CRYSTAL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h b/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h
index 49d71cc17d..d70aa084be 100644
--- a/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h
+++ b/include/rel/d/a/obj/d_a_obj_cwall/d_a_obj_cwall.h
@@ -1,5 +1,55 @@
#ifndef D_A_OBJ_CWALL_H
#define D_A_OBJ_CWALL_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjCwall_c
+ * @brief Chain Wall
+ *
+ * @details
+ *
+ */
+class daObjCwall_c : public fopAc_ac_c {
+public:
+ struct chain_s {
+ public:
+ /* 80BD6E94 */ ~chain_s();
+ /* 80BD6ED0 */ chain_s();
+ };
+
+
+ /* 80BD6A4C */ void initBaseMtx();
+ /* 80BD6A88 */ void setBaseMtx();
+ /* 80BD6AEC */ void Create();
+ /* 80BD6D08 */ void CreateHeap();
+ /* 80BD6ED4 */ void create1st();
+ /* 80BD6F80 */ void Execute(f32 (**)[3][4]);
+ /* 80BD7288 */ void setTension();
+ /* 80BD7718 */ void calcSePos();
+ /* 80BD7788 */ void getChainBasePos(cXyz*);
+ /* 80BD7804 */ void setChainMtx();
+ /* 80BD7AD4 */ void chain_control();
+ /* 80BD7ED8 */ void chain_control2();
+ /* 80BD84C0 */ void block_mode_proc_call();
+ /* 80BD8594 */ void initWait();
+ /* 80BD85C0 */ void modeWait();
+ /* 80BD8748 */ void initWalk();
+ /* 80BD8778 */ void modeWalk();
+ /* 80BD8BC8 */ void initClose();
+ /* 80BD8BF0 */ void modeClose();
+ /* 80BD935C */ void setPower(f32, s16*);
+ /* 80BD9414 */ void checkWall();
+ /* 80BD95A0 */ void checkPullNow();
+ /* 80BD977C */ void checkPull();
+ /* 80BD9848 */ void Draw();
+ /* 80BD9948 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xf5c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjCwall_c) == 0xf5c);
+
#endif /* D_A_OBJ_CWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h b/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h
index 4e769ffe96..e395ed8137 100644
--- a/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h
+++ b/include/rel/d/a/obj/d_a_obj_damCps/d_a_obj_damCps.h
@@ -1,6 +1,6 @@
#ifndef D_A_OBJ_DAMCPS_H
#define D_A_OBJ_DAMCPS_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
#endif /* D_A_OBJ_DAMCPS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
index 38d91a8640..e9f35f2abe 100644
--- a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
+++ b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
@@ -1,5 +1,49 @@
#ifndef D_A_OBJ_DAN_H
#define D_A_OBJ_DAN_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjDAN_c
+ * @brief Insect - Pillbug
+ *
+ * @details
+ *
+ */
+class daObjDAN_c : public fopAc_ac_c {
+public:
+ /* 80BDA5B4 */ void InitCcSph();
+ /* 80BDA620 */ void SetCcSph();
+ /* 80BDA698 */ void CreateHeap();
+ /* 80BDAA3C */ void SpeedSet();
+ /* 80BDAA9C */ void LinkChk();
+ /* 80BDAB14 */ void MoveAction();
+ /* 80BDAC10 */ void DamageAction();
+ /* 80BDAFDC */ void Action();
+ /* 80BDB074 */ void checkGroundPos();
+ /* 80BDB0D8 */ void Insect_Release();
+ /* 80BDB0E8 */ void Z_BufferChk();
+ /* 80BDB264 */ void ParticleSet();
+ /* 80BDB388 */ void ObjHit();
+ /* 80BDB4E0 */ void BoomChk();
+ /* 80BDB62C */ void Execute();
+ /* 80BDB928 */ void Delete();
+ /* 80BDB990 */ void setBaseMtx();
+ /* 80BDBB0C */ void CreateChk();
+ /* 80BDBCB8 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa6c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjDAN_c) == 0xa6c);
+
+
+class daObj_DanHIO_c {
+public:
+ /* 80BDA58C */ daObj_DanHIO_c();
+ /* 80BDC2F0 */ ~daObj_DanHIO_c();
+};
#endif /* D_A_OBJ_DAN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h
index 69caac380c..104f9cef17 100644
--- a/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h
+++ b/include/rel/d/a/obj/d_a_obj_digholl/d_a_obj_digholl.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjDigholl_c
+ * @brief Wolf Dig Place (Passage)
+ *
+ * @details
+ *
+ */
class daObjDigholl_c : public fopAc_ac_c {
public:
/* 80BDC618 */ int create();
@@ -10,6 +18,7 @@ public:
/* 80BDC7D8 */ int execute();
/* 80BDCB0C */ int draw();
+private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 field_0x56a;
diff --git a/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h b/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h
index 5ce77d9a1e..043151fc23 100644
--- a/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h
+++ b/include/rel/d/a/obj/d_a_obj_digplace/d_a_obj_digplace.h
@@ -4,11 +4,20 @@
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjDigpl_c
+ * @brief Wolf Dig Place (Treasure)
+ *
+ * @details
+ *
+ */
class daObjDigpl_c : public fopAc_ac_c {
public:
/* 8057BF98 */ int create();
/* 8057C1EC */ int execute();
+private:
/* 0x568 */ u8 mType;
/* 0x569 */ u8 mSwitch;
/* 0x56A */ u8 mDigFlg;
@@ -18,10 +27,12 @@ public:
/* 0x5A0 */ int mUsedDigFlags[6];
/* 0x5B8 */ dPath* mpDigPoints;
+public:
/* 8057C158 */ virtual ~daObjDigpl_c();
u8 getSceneNum() { return (fopAcM_GetParam(this) >> 0xC) & 0xFF; }
int getItemNum() { return getSceneNum(); }
};
+STATIC_ASSERT(sizeof(daObjDigpl_c) == 0x5C0);
#endif /* D_A_OBJ_DIGPLACE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h b/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h
index 135e8f842b..1fc14354a5 100644
--- a/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h
+++ b/include/rel/d/a/obj/d_a_obj_digsnow/d_a_obj_digsnow.h
@@ -8,6 +8,14 @@
class J3DModel;
+/**
+ * @ingroup actors-objects
+ * @class daObjDigSnow_c
+ * @brief Wolf Dig Place (Snow)
+ *
+ * @details
+ *
+ */
class daObjDigSnow_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
diff --git a/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h b/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h
index 91eba52b0b..2a107df46c 100644
--- a/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h
+++ b/include/rel/d/a/obj/d_a_obj_dmelevator/d_a_obj_dmelevator.h
@@ -3,5 +3,96 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjDmElevator_c
+ * @brief Death Mountain Elevator
+ *
+ * @details
+ *
+ */
+class daObjDmElevator_c : public dBgS_MoveBgActor {
+public:
+ /* 80BDDD38 */ void initBaseMtx();
+ /* 80BDDD90 */ void setBaseMtx();
+ /* 80BDDEFC */ int Create();
+ /* 80BDE0A4 */ int init();
+ /* 80BDE2F8 */ int CreateHeap();
+ /* 80BDE448 */ int create1st();
+ /* 80BDE500 */ int Execute(Mtx**);
+ /* 80BDE5F8 */ void setting_ride_flag();
+ /* 80BDE6FC */ void event_sw_proc_call();
+ /* 80BDE7A0 */ void actionSwPauseNoneInit();
+ /* 80BDE7AC */ void actionSwPauseNone();
+ /* 80BDE7B0 */ void actionSwPauseOrderInit();
+ /* 80BDE808 */ void actionSwPauseOrder();
+ /* 80BDE83C */ void actionSwPauseInit();
+ /* 80BDE868 */ void actionSwPause();
+ /* 80BDE8D0 */ void calc_top_pos();
+ /* 80BDE960 */ void mode_sw_proc_call();
+ /* 80BDEA1C */ void modeSwWaitLowerInit();
+ /* 80BDEA44 */ void modeSwWaitLower();
+ /* 80BDEB88 */ void modeSwLowerInit();
+ /* 80BDEC10 */ void modeSwLower();
+ /* 80BDEC94 */ void modeSwWaitUpperInit();
+ /* 80BDECB4 */ void modeSwWaitUpper();
+ /* 80BDECE0 */ void modeSwUpperInit();
+ /* 80BDED64 */ void modeSwUpper();
+ /* 80BDEDE0 */ void event_proc_call();
+ /* 80BDEECC */ void actionWait();
+ /* 80BDEF60 */ void actionOrderEvent();
+ /* 80BDF000 */ void actionEvent();
+ /* 80BDF068 */ void actionStartEvent();
+ /* 80BDF0A0 */ void actionMoveStart();
+ /* 80BDF168 */ void actionDead();
+ /* 80BDF16C */ int demoProc();
+ /* 80BDF320 */ void moveInit();
+ /* 80BDF3B8 */ int moveProc();
+ /* 80BDF618 */ int Draw();
+ /* 80BDF6DC */ int Delete();
+
+ u32 getPathID() { return fopAcM_GetParamBit(this, 8, 8); }
+
+private:
+ /* 0x5A0 */ request_of_phase_process_class mPhaseReq;
+ /* 0x5A8 */ request_of_phase_process_class mPhaseReq2;
+ /* 0x5B0 */ J3DModel* mpElevatorModel;
+ /* 0x5B4 */ J3DModel* mpSwitchModel;
+ /* 0x5B8 */ Z2SoundObjSimple mSoundObj;
+ /* 0x5D8 */ u8 field_0x5D8[0x5DC - 0x5D8];
+ /* 0x5DC */ s32 field_0x5dc;
+ /* 0x5E0 */ u8 field_0x5e0;
+ /* 0x5E1 */ u8 field_0x5e1;
+ /* 0x5E2 */ u8 field_0x5e2;
+ /* 0x5E3 */ u8 field_0x5e3;
+ /* 0x5E4 */ s16 field_0x5e4;
+ /* 0x5E6 */ s16 field_0x5e6;
+ /* 0x5E8 */ dBgW* mpBgW;
+ /* 0x5EC */ Mtx mMtx;
+ /* 0x61C */ cXyz mXyz;
+ /* 0x628 */ u8 field_0x628;
+ /* 0x629 */ u8 field_0x629;
+ /* 0x62A */ u8 field_0x62a;
+ /* 0x62B */ u8 field_0x62b;
+ /* 0x62C */ u8 field_0x62C[0x62D - 0x62C];
+ /* 0x62D */ u8 field_0x62d;
+ /* 0x62E */ u8 field_0x62e;
+ /* 0x62F */ u8 field_0x62f;
+ /* 0x630 */ u8 field_0x630;
+ /* 0x631 */ u8 field_0x631;
+ /* 0x632 */ u8 field_0x632;
+ /* 0x633 */ u8 field_0x633;
+ /* 0x634 */ u8 field_0x634;
+ /* 0x635 */ u8 field_0x635;
+ /* 0x636 */ u8 field_0x636;
+ /* 0x637 */ u8 field_0x637;
+ /* 0x638 */ f32 field_0x638;
+ /* 0x63C */ f32 field_0x63c;
+ /* 0x640 */ f32 field_0x640;
+};
+STATIC_ASSERT(sizeof(daObjDmElevator_c) == 0x644);
+
#endif /* D_A_OBJ_DMELEVATOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h b/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h
index 7e1c81c04e..65273a162a 100644
--- a/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h
+++ b/include/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h
@@ -1,5 +1,43 @@
#ifndef D_A_OBJ_DROP_H
#define D_A_OBJ_DROP_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjDrop_c
+ * @brief Tear of Light
+ *
+ * @details
+ *
+ */
+class daObjDrop_c : public fopAc_ac_c {
+public:
+ /* 80BDFD8C */ void Create();
+ /* 80BDFE58 */ void create();
+ /* 80BE0358 */ void dropGet();
+ /* 80BE0430 */ void checkGetArea();
+ /* 80BE05DC */ void checkCompleteDemo();
+ /* 80BE0658 */ void createLineEffect();
+ /* 80BE071C */ void removeLineEffect();
+ /* 80BE077C */ void createBodyEffect();
+ /* 80BE0840 */ void removeBodyEffect();
+ /* 80BE08A0 */ void modeInit();
+ /* 80BE0994 */ void modeNoParent();
+ /* 80BE09F4 */ void modeParentWait();
+ /* 80BE0C08 */ void modeWait();
+ /* 80BE1928 */ bool actionCompleteWait();
+ /* 80BE1930 */ void actionOrderCompleteDemo();
+ /* 80BE19D0 */ void actionCompleateDemo();
+ /* 80BE1ACC */ void actionWaitCompleteGetDemo();
+ /* 80BE1B5C */ void actionCompleteGetDemo();
+ /* 80BE1BC4 */ void execute();
+ /* 80BE1DCC */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa7c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c);
+
#endif /* D_A_OBJ_DROP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h b/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h
index f179d8814c..b1d0accb8d 100644
--- a/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h
+++ b/include/rel/d/a/obj/d_a_obj_dust/d_a_obj_dust.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_DUST_H
#define D_A_OBJ_DUST_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjDust_c
+ * @brief Dust
+ *
+ * @details
+ *
+ */
+class daObjDust_c : public fopAc_ac_c {
+public:
+ /* 80BE22B8 */ void Search_Ymb();
+ /* 80BE2490 */ void RideOn_Angle(s16&, f32, s16, f32);
+ /* 80BE24F8 */ void Check_RideOn();
+ /* 80BE2708 */ void initBaseMtx();
+ /* 80BE2734 */ void setBaseMtx();
+ /* 80BE2A70 */ void CreateHeap();
+ /* 80BE2AE8 */ void Create();
+ /* 80BE2B30 */ void Execute(f32 (**)[3][4]);
+ /* 80BE2E9C */ void Draw();
+ /* 80BE2F40 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x84c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjDust_c) == 0x84c);
+
#endif /* D_A_OBJ_DUST_H */
diff --git a/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h b/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h
index 7de0959503..966117ecdf 100644
--- a/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h
+++ b/include/rel/d/a/obj/d_a_obj_eff/d_a_obj_eff.h
@@ -3,7 +3,22 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @namespace daObjEff
+ * @brief Object Effect?
+ *
+ * @details
+ *
+ */
namespace daObjEff {
+/**
+ * @class Act_c
+ * @brief Actor Object Effect?
+ *
+ * @details
+ *
+ */
class Act_c : public fopAc_ac_c {
public:
enum Prm_e {
@@ -21,4 +36,11 @@ public:
};
}; // namespace daObjEff
+struct daObj {
+public:
+ template <typename T>
+ static int PrmAbstract(const fopAc_ac_c* param_0, T param_1, T param_2);
+};
+
+
#endif /* D_A_OBJ_EFF_H */
diff --git a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h
index 64ad81de56..04221e4ba8 100644
--- a/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h
+++ b/include/rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjE_CREATE_c
+ * @brief Enemy Spawner
+ *
+ * @details
+ *
+ */
class daObjE_CREATE_c : public fopAc_ac_c {
public:
/* 80BE31BC */ void NormalAction();
@@ -28,7 +36,8 @@ private:
/* 0x582 */ s16 mKillCheckDelayTimer;
/* 0x584 */ u8 mAction;
/* 0x588 */ u8 unused[12];
-}; // Size: 0x594
+};
+STATIC_ASSERT(sizeof(daObjE_CREATE_c) == 0x594);
enum daObjE_EnemyType {
ENEMY_NONE,
diff --git a/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h b/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h
index 897daf799b..cd4415db42 100644
--- a/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h
+++ b/include/rel/d/a/obj/d_a_obj_fallobj/d_a_obj_fallobj.h
@@ -3,5 +3,61 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFallObj_c
+ * @brief Fall Object?
+ *
+ * @details
+ *
+ */
+class daObjFallObj_c : public dBgS_MoveBgActor {
+public:
+public:
+ /* 80BE39B8 */ void initBaseMtx();
+ /* 80BE3A24 */ void setBaseMtx();
+ /* 80BE3A88 */ int Create();
+ /* 80BE3BA8 */ void getFallTime();
+ /* 80BE3BD4 */ void getFallHeight();
+ /* 80BE3C28 */ int CreateHeap();
+ /* 80BE3C98 */ int create1st();
+ /* 80BE3D24 */ int Execute(Mtx**);
+ /* 80BE4138 */ void action();
+ /* 80BE4228 */ void action_wait(bool);
+ /* 80BE42C0 */ void action_fallStart();
+ /* 80BE43E4 */ void action_countdown();
+ /* 80BE45F4 */ void action_fall();
+ /* 80BE466C */ void action_end();
+ /* 80BE4670 */ void action_follow_fall();
+ /* 80BE4700 */ void checkHang();
+ /* 80BE47A0 */ void checkHang2();
+ /* 80BE48A4 */ int Draw();
+ /* 80BE4948 */ int Delete();
+
+ u32 getTime() { return fopAcM_GetParamBit(this, 8, 8); }
+ u32 getPos() { return fopAcM_GetParamBit(this, 0x14, 8); }
+ BOOL checkFallStart() { return fopAcM_SearchByID(parentActorID)->speed.y != 0.0f; }
+
+private:
+ /* 0x5A0 */ request_of_phase_process_class mPhaseReq;
+ /* 0x5A8 */ Mtx mMtx;
+ /* 0x5D8 */ u8 field_0x5d8;
+ /* 0x5D9 */ u8 field_0x5d9;
+ /* 0x5DA */ s16 field_0x5da;
+ /* 0x5DC */ s16 field_0x5dc;
+ /* 0x5DE */ s16 field_0x5de;
+ /* 0x5E0 */ s32 field_0x5e0;
+ /* 0x5E4 */ u8 field_0x5e4;
+ /* 0x5E5 */ u8 field_0x5e5;
+ /* 0x5E8 */ J3DModel* mpModel;
+ /* 0x5EC */ s32 field_0x5ec;
+ /* 0x5F0 */ u8 field_0x5f0;
+ /* 0x5F1 */ u8 field_0x5f1;
+ /* 0x5F4 */ Z2SoundObjSimple mSoundObj;
+};
+STATIC_ASSERT(sizeof(daObjFallObj_c) == 0x614);
+
#endif /* D_A_OBJ_FALLOBJ_H */
diff --git a/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h b/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h
index c00a18230f..283498b55a 100644
--- a/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h
+++ b/include/rel/d/a/obj/d_a_obj_fan/d_a_obj_fan.h
@@ -5,7 +5,16 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
-struct daObjFan_c : public dBgS_MoveBgActor {
+/**
+ * @ingroup actors-objects
+ * @class daObjFan_c
+ * @brief (City in the Sky?) Fan)
+ *
+ * @details
+ *
+ */
+class daObjFan_c : public dBgS_MoveBgActor {
+public:
/* 80BE4D98 */ fopAc_ac_c* search_tornado();
/* 80BE4E08 */ void initBaseMtx();
/* 80BE4E44 */ void setBaseMtx();
@@ -20,6 +29,7 @@ struct daObjFan_c : public dBgS_MoveBgActor {
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mModel;
/* 0x5AC */ dBgW* field_0x5ac;
@@ -31,5 +41,6 @@ struct daObjFan_c : public dBgS_MoveBgActor {
/* 0xAD4 */ u8 field_0xad4;
/* 0xAD8 */ cXyz field_0xad8;
};
+STATIC_ASSERT(sizeof(daObjFan_c) == 0xAE4);
#endif /* D_A_OBJ_FAN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h b/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h
index 27023248e8..4ba07b079b 100644
--- a/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h
+++ b/include/rel/d/a/obj/d_a_obj_fchain/d_a_obj_fchain.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_FCHAIN_H
#define D_A_OBJ_FCHAIN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+class daObjFchain_shape_c {
+public:
+ /* 80BE7194 */ void draw();
+ /* 80BE73D4 */ ~daObjFchain_shape_c();
+};
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFchain_c
+ * @brief Wolf Chain Shackle
+ *
+ * @details
+ *
+ */
+class daObjFchain_c : public fopAc_ac_c {
+public:
+ /* 80BE5FF8 */ void createHeap();
+ /* 80BE6074 */ void create();
+ /* 80BE63C8 */ ~daObjFchain_c();
+ /* 80BE64E0 */ void checkPlayerFoot(cXyz const*, cXyz const*, cXyz*);
+ /* 80BE66B4 */ void setGroundVec(cXyz*, f32);
+ /* 80BE6868 */ void execute();
+ /* 80BE7324 */ void draw();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x928 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFchain_c) == 0x928);
+
#endif /* D_A_OBJ_FCHAIN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h b/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h
index 58b6bae5ae..84a13de0a1 100644
--- a/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h
+++ b/include/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h
@@ -3,5 +3,61 @@
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daFireWood_c
+ * @brief Kakariko Stove Flame?
+ *
+ * @details
+ *
+ */
+class daFireWood_c : public fopAc_ac_c {
+public:
+ /* 80BE76B0 */ void setBaseMtx();
+ /* 80BE7708 */ void create();
+ /* 80BE79A0 */ void lightInit();
+ /* 80BE7A14 */ void setLight();
+ /* 80BE7A38 */ void Execute();
+ /* 80BE7E74 */ bool Draw();
+ /* 80BE7E7C */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x574 - 0x568];
+ /* 0x574 */ dCcD_Stts mStts;
+ /* 0x5B0 */ dCcD_Cyl mCyl;
+ /* 0x6EC */ cXyz field_0x6ec;
+ /* 0x6F8 */ u8 field_0x6f8;
+ /* 0x6F9 */ u8 field_0x6f9;
+ /* 0x6FC */ u32 field_0x6fc[4];
+ /* 0x70C */ u8 field_0x70c;
+ /* 0x710 */ cXyz field_0x710;
+ /* 0x71C */ LIGHT_INFLUENCE mLightInfluence;
+ /* 0x73C */ u8 field_0x73c;
+};
+STATIC_ASSERT(sizeof(daFireWood_c) == 0x740);
+
+#ifdef NONMATCHING
+class daFireWood_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80BE762C */ daFireWood_HIO_c();
+ /* 80BE7F24 */ virtual ~daFireWood_HIO_c();
+
+ /* 0x4 */ f32 field_0x4;
+ /* 0x8 */ f32 field_0x8;
+ /* 0xC */ u8 field_0xc;
+};
+#else
+struct daFireWood_HIO_c {
+ /* 80BE762C */ daFireWood_HIO_c();
+ /* 80BE7F24 */ ~daFireWood_HIO_c();
+};
+#endif
+
+
#endif /* D_A_OBJ_FIREWOOD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h b/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h
index 2953c37672..feb8553af5 100644
--- a/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h
+++ b/include/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h
@@ -2,5 +2,56 @@
#define D_A_OBJ_FIREWOOD2_H
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daFireWood2_c
+ * @brief Torch Stand
+ *
+ * @details
+ *
+ */
+class daFireWood2_c : public fopAc_ac_c {
+public:
+ /* 80BE82D0 */ void setBaseMtx();
+ /* 80BE8328 */ void create();
+ /* 80BE8640 */ void lightInit();
+ /* 80BE86CC */ void setLight();
+ /* 80BE86FC */ void cutLight();
+ /* 80BE872C */ void pointLightProc();
+ /* 80BE87DC */ void Execute();
+ /* 80BE8D98 */ int Draw();
+ /* 80BE8DA0 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x574 - 0x568];
+ /* 0x574 */ dCcD_Stts mStts;
+ /* 0x5B0 */ dCcD_Cyl mCyl;
+ /* 0x6EC */ cXyz field_0x6ec;
+ /* 0x6F8 */ u8 field_0x6f8;
+ /* 0x6F9 */ u8 field_0x6f9;
+ /* 0x6FA */ u8 field_0x6fa;
+ /* 0x6FB */ u8 field_0x6fb;
+ /* 0x6FC */ u32 field_0x6fc;
+ /* 0x700 */ u32 field_0x700;
+ /* 0x704 */ u32 field_0x704;
+ /* 0x708 */ u32 field_0x708;
+ /* 0x70C */ cXyz field_0x70c;
+ /* 0x718 */ u8 field_0x718;
+ /* 0x71C */ f32 field_0x71c;
+ /* 0x720 */ LIGHT_INFLUENCE mLightInfluence;
+};
+STATIC_ASSERT(sizeof(daFireWood2_c) == 0x740);
+
+class daFireWood2_HIO_c {
+public:
+ /* 80BE824C */ daFireWood2_HIO_c();
+ /* 80BE8E54 */ ~daFireWood2_HIO_c();
+};
+
#endif /* D_A_OBJ_FIREWOOD2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h b/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h
index 9ff2adfe26..f7297a0f0e 100644
--- a/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h
+++ b/include/rel/d/a/obj/d_a_obj_firepillar/d_a_obj_firepillar.h
@@ -1,5 +1,37 @@
#ifndef D_A_OBJ_FIREPILLAR_H
#define D_A_OBJ_FIREPILLAR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFPillar_c
+ * @brief Fire Pillar
+ *
+ * @details
+ *
+ */
+class daObjFPillar_c : public fopAc_ac_c {
+public:
+ /* 80BE9118 */ void initBaseMtx();
+ /* 80BE9138 */ void setBaseMtx();
+ /* 80BE9190 */ void Create();
+ /* 80BE9230 */ void create();
+ /* 80BE94E4 */ void execute();
+ /* 80BE9610 */ void action();
+ /* 80BE96B4 */ void actionOffInit();
+ /* 80BE96E0 */ void actionOff();
+ /* 80BE9784 */ void actionOnWaitInit();
+ /* 80BE97B8 */ void actionOnWait();
+ /* 80BE986C */ void actionOnInit();
+ /* 80BE98A0 */ void actionOn();
+ /* 80BE9984 */ void draw();
+ /* 80BE99B8 */ bool _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x974 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFPillar_c) == 0x974);
+
#endif /* D_A_OBJ_FIREPILLAR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h b/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h
index e438b92892..689f8febfd 100644
--- a/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h
+++ b/include/rel/d/a/obj/d_a_obj_firepillar2/d_a_obj_firepillar2.h
@@ -1,5 +1,38 @@
#ifndef D_A_OBJ_FIREPILLAR2_H
#define D_A_OBJ_FIREPILLAR2_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFPillar2_c
+ * @brief Lava Fire Pillar
+ *
+ * @details
+ *
+ */
+class daObjFPillar2_c : public fopAc_ac_c {
+public:
+ /* 80BE9CD8 */ void initBaseMtx();
+ /* 80BE9D5C */ void setBaseMtx();
+ /* 80BE9DDC */ void Create();
+ /* 80BEA034 */ void CreateHeap();
+ /* 80BEA228 */ void create();
+ /* 80BEA584 */ void execute();
+ /* 80BEA734 */ void action();
+ /* 80BEA808 */ void actionOffInit();
+ /* 80BEA854 */ void actionOff();
+ /* 80BEA98C */ void actionOnWaitInit();
+ /* 80BEAAE4 */ void actionOnWait();
+ /* 80BEAC68 */ void actionOnInit();
+ /* 80BEADD0 */ void actionOn();
+ /* 80BEB1B4 */ void draw();
+ /* 80BEB278 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9ec - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFPillar2_c) == 0x9ec);
+
#endif /* D_A_OBJ_FIREPILLAR2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h b/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h
index fbdd520c42..f45aac605d 100644
--- a/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h
+++ b/include/rel/d/a/obj/d_a_obj_flag/d_a_obj_flag.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_FLAG_H
#define D_A_OBJ_FLAG_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+class FlagJoint_c {
+public:
+ /* 80BEC3BC */ ~FlagJoint_c();
+ /* 80BEC4E0 */ FlagJoint_c();
+};
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFlag_c
+ * @brief Flag 1
+ *
+ * @details
+ *
+ */
+class daObjFlag_c : public fopAc_ac_c {
+public:
+ /* 80BEB778 */ void create_init();
+ /* 80BEB8F0 */ void initBaseMtx();
+ /* 80BEB984 */ void getJointAngle(csXyz*, int);
+ /* 80BEB9AC */ void calcJointAngle();
+ /* 80BEBC58 */ void calcAngleSwingZ(FlagJoint_c*, f32);
+ /* 80BEBDAC */ void calcAngleSwingX(FlagJoint_c*, f32);
+ /* 80BEBE64 */ void getSwingY(f32);
+
+ static u8 const M_attr[52];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5ec - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFlag_c) == 0x5ec);
+
#endif /* D_A_OBJ_FLAG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h b/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h
index 0464efc9f5..69cfbbed7f 100644
--- a/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h
+++ b/include/rel/d/a/obj/d_a_obj_flag2/d_a_obj_flag2.h
@@ -1,5 +1,49 @@
#ifndef D_A_OBJ_FLAG2_H
#define D_A_OBJ_FLAG2_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFlag2_c
+ * @brief Flag 2
+ *
+ * @details
+ *
+ */
+class daObjFlag2_c : public fopAc_ac_c {
+public:
+ /* 80BED22C */ void create_init();
+ /* 80BED368 */ void initBaseMtx();
+ /* 80BED3B8 */ void initCollision();
+ /* 80BED44C */ void setCollision();
+ /* 80BED480 */ void createHeap();
+ /* 80BED6A0 */ void create();
+ /* 80BED7A4 */ daObjFlag2_c();
+ /* 80BEDCE0 */ void draw();
+ /* 80BEDEE0 */ ~daObjFlag2_c();
+
+ static u8 const M_attr[20];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x10c0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFlag2_c) == 0x10c0);
+
+class FlagCloth_c {
+public:
+ /* 80BEC658 */ void initFlagPos(cXyz*, fopAc_ac_c*);
+ /* 80BEC7CC */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int);
+ /* 80BEC928 */ void calcFlagFactorSub(cXyz*, cXyz*, cXyz*, f32);
+ /* 80BECAE0 */ void calcFlagNormal(cXyz*, int);
+ /* 80BECC34 */ void calcFlagNormalBack();
+ /* 80BECC78 */ void initCcSphere(fopAc_ac_c*);
+ /* 80BECCE4 */ void setCcSphere();
+ /* 80BECD98 */ void execute();
+ /* 80BECF30 */ void draw();
+ /* 80BED9C4 */ ~FlagCloth_c();
+ /* 80BEE0B8 */ void getTargetPos();
+};
+
#endif /* D_A_OBJ_FLAG2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h b/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h
index 53cbda8ffc..266f20d29d 100644
--- a/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h
+++ b/include/rel/d/a/obj/d_a_obj_flag3/d_a_obj_flag3.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_FLAG3_H
#define D_A_OBJ_FLAG3_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFlag3_c
+ * @brief Flag 3
+ *
+ * @details
+ *
+ */
+class daObjFlag3_c : public fopAc_ac_c {
+public:
+ /* 80BEEA78 */ void createHeap();
+ /* 80BEED3C */ void execute();
+ /* 80BEF700 */ ~daObjFlag3_c();
+ /* 80BEF95C */ void create();
+ /* 80BEFBC4 */ void create_init();
+
+ static u8 const M_attr[20];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1340 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFlag3_c) == 0x1340);
+
+class FlagCloth2_c {
+public:
+ /* 80BEEDE4 */ void execute();
+ /* 80BEEF74 */ void calcFlagNormal(cXyz*, int);
+ /* 80BEF278 */ void calcFlagFactor(cXyz*, cXyz*, cXyz*, int);
+ /* 80BEF790 */ ~FlagCloth2_c();
+ /* 80BEFD08 */ void initFlagPos(cXyz*, fopAc_ac_c*);
+ /* 80BF00A0 */ void draw();
+ /* 80BF0434 */ void getTargetPos();
+};
+
#endif /* D_A_OBJ_FLAG3_H */
diff --git a/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h b/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h
index 18474ac383..6d900bffb5 100644
--- a/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h
+++ b/include/rel/d/a/obj/d_a_obj_fmobj/d_a_obj_fmobj.h
@@ -5,6 +5,14 @@
class dBgW;
+/**
+ * @ingroup actors-objects
+ * @class obj_fmobj_class
+ * @brief Fyrus Object?
+ *
+ * @details
+ *
+ */
class obj_fmobj_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;
diff --git a/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h b/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h
index 5b05e50999..f966748fd0 100644
--- a/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h
+++ b/include/rel/d/a/obj/d_a_obj_food/d_a_obj_food.h
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class obj_food_class
+ * @brief Dog Bone
+ *
+ * @details
+ *
+ */
class obj_food_class : public fopAc_ac_c {
public:
enum Type {
diff --git a/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h b/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h
index 81febd44a1..04857b3e25 100644
--- a/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h
+++ b/include/rel/d/a/obj/d_a_obj_fw/d_a_obj_fw.h
@@ -1,6 +1,27 @@
#ifndef D_A_OBJ_FW_H
#define D_A_OBJ_FW_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_fw_class
+ * @brief Firewood
+ *
+ * @details
+ *
+ */
+class obj_fw_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x628 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_fw_class) == 0x628);
+
+class daObj_Fw_HIO_c {
+public:
+ /* 80BF204C */ daObj_Fw_HIO_c();
+ /* 80BF2AB0 */ ~daObj_Fw_HIO_c();
+};
+
#endif /* D_A_OBJ_FW_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h b/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h
index 48d8d6cb4d..9aa9a7ae0c 100644
--- a/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h
+++ b/include/rel/d/a/obj/d_a_obj_gadget/d_a_obj_gadget.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_GADGET_H
#define D_A_OBJ_GADGET_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Gadget_c
+ * @brief Gadget
+ *
+ * @details
+ *
+ */
+class daObj_Gadget_c : public fopAc_ac_c {
+public:
+ /* 80BF2D2C */ ~daObj_Gadget_c();
+ /* 80BF2F28 */ void create();
+ /* 80BF3478 */ void CreateHeap();
+ /* 80BF3504 */ void Delete();
+ /* 80BF3538 */ void Execute();
+ /* 80BF3FAC */ void Draw();
+ /* 80BF4130 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80BF4150 */ void setEnvTevColor();
+ /* 80BF41AC */ void setRoomNo();
+ /* 80BF41F0 */ void reset();
+ /* 80BF424C */ void setMtx();
+ /* 80BF4354 */ void calcRollAngle(s16, int);
+ /* 80BF43F4 */ void getWallAngle(s16, s16*);
+ /* 80BF4584 */ void setSmokePrtcl();
+ /* 80BF4600 */ void setWaterPrtcl();
+ /* 80BF4728 */ void setHamonPrtcl();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa4c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Gadget_c) == 0xa4c);
+
+class daObj_Gadget_Param_c {
+public:
+ /* 80BF48D8 */ ~daObj_Gadget_Param_c();
+
+ static u8 const m[44];
+};
+
#endif /* D_A_OBJ_GADGET_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h b/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h
index 861155616b..642351ce58 100644
--- a/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h
+++ b/include/rel/d/a/obj/d_a_obj_ganonwall/d_a_obj_ganonwall.h
@@ -2,5 +2,40 @@
#define D_A_OBJ_GANONWALL_H
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGWall_c
+ * @brief Gannon Wall
+ *
+ * @details
+ *
+ */
+class daObjGWall_c : public fopAc_ac_c {
+public:
+ /* 80BF4D18 */ void initBaseMtx();
+ /* 80BF4D54 */ void setBaseMtx();
+ /* 80BF4DA8 */ int Create();
+ /* 80BF4E8C */ int CreateHeap();
+ /* 80BF4FF0 */ int create();
+ /* 80BF50A4 */ int execute();
+ /* 80BF50CC */ int checkDraw();
+ /* 80BF5168 */ int draw();
+ /* 80BF5530 */ int _delete();
+
+ u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); }
+ u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); }
+
+private:
+ /* 0x568 */ request_of_phase_process_class mPhaseReq;
+ /* 0x570 */ J3DModel* mpModel;
+ /* 0x574 */ mDoExt_btkAnm* mpBtkAnm;
+ /* 0x578 */ u16 field_0x578;
+ /* 0x57A */ u16 field_0x57a;
+ /* 0x57C */ s16 field_0x57c;
+};
+STATIC_ASSERT(sizeof(daObjGWall_c) == 0x580);
+
#endif /* D_A_OBJ_GANONWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h b/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h
index 686fef963d..964280c9fa 100644
--- a/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h
+++ b/include/rel/d/a/obj/d_a_obj_ganonwall2/d_a_obj_ganonwall2.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_GANONWALL2_H
#define D_A_OBJ_GANONWALL2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGWall2_c
+ * @brief Ganon Wall 2
+ *
+ * @details
+ *
+ */
+class daObjGWall2_c : public fopAc_ac_c {
+public:
+ /* 80BF57D8 */ void initBaseMtx();
+ /* 80BF5814 */ void setBaseMtx();
+ /* 80BF5878 */ void Create();
+ /* 80BF5950 */ void CreateHeap();
+ /* 80BF5AB4 */ void create1st();
+ /* 80BF5B74 */ void Execute(f32 (**)[3][4]);
+ /* 80BF5C0C */ void Draw();
+ /* 80BF6004 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjGWall2_c) == 0x5c0);
+
#endif /* D_A_OBJ_GANONWALL2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h b/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h
index f102421013..3f9533b6be 100644
--- a/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h
+++ b/include/rel/d/a/obj/d_a_obj_gb/d_a_obj_gb.h
@@ -1,6 +1,21 @@
#ifndef D_A_OBJ_GB_H
#define D_A_OBJ_GB_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_gb_class
+ * @brief Ganondorf Barrier
+ *
+ * @details
+ *
+ */
+class obj_gb_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x6bc - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_gb_class) == 0x6bc);
+
#endif /* D_A_OBJ_GB_H */
diff --git a/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h b/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h
index 92be3b93a3..393f464bdb 100644
--- a/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h
+++ b/include/rel/d/a/obj/d_a_obj_geyser/d_a_obj_geyser.h
@@ -1,5 +1,61 @@
#ifndef D_A_OBJ_GEYSER_H
#define D_A_OBJ_GEYSER_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGeyser_c
+ * @brief Geyser
+ *
+ * @details
+ *
+ */
+class daObjGeyser_c : public fopAc_ac_c {
+public:
+ /* 80BF6F18 */ void initBaseMtx();
+ /* 80BF6F38 */ void setBaseMtx();
+ /* 80BF6F80 */ void Create();
+ /* 80BF70E0 */ void CreateHeap();
+ /* 80BF7174 */ void create1st();
+ /* 80BF7288 */ void Execute(f32 (**)[3][4]);
+ /* 80BF744C */ void action();
+ /* 80BF75B8 */ void actionOff2Init();
+ /* 80BF75C4 */ void actionOff2();
+ /* 80BF7838 */ void actionOnWait2Init();
+ /* 80BF787C */ void actionOnWait2();
+ /* 80BF7C54 */ void actionOn2Init();
+ /* 80BF7CA0 */ void actionOn2();
+ /* 80BF8158 */ void actionDisappearInit(u8);
+ /* 80BF8178 */ void actionDisappear();
+ /* 80BF823C */ void actionOffInit();
+ /* 80BF8268 */ void actionOff();
+ /* 80BF82D0 */ void actionOnWaitInit();
+ /* 80BF8344 */ void actionOnWait();
+ /* 80BF83E4 */ void actionOnInit();
+ /* 80BF846C */ void actionOn();
+ /* 80BF8584 */ void setPntWind();
+ /* 80BF863C */ void cutPntWind();
+ /* 80BF8660 */ void movePntWind();
+ /* 80BF8870 */ void Draw();
+ /* 80BF8914 */ void setEmitterPre00();
+ /* 80BF89AC */ void setEmitterSrc00Sand();
+ /* 80BF89B0 */ void setEmitterSrc01Smk();
+ /* 80BF8A54 */ void stopEmitterPre00();
+ /* 80BF8A80 */ void stopEmitterSrc00Sand();
+ /* 80BF8AAC */ void stopEmitterSrc01Smk();
+ /* 80BF8AD8 */ void setEmitterClm00();
+ /* 80BF8B70 */ void setEmitterSmk01();
+ /* 80BF8C08 */ void setEmitterSmk02();
+ /* 80BF8CA0 */ void stopEmitterClm00();
+ /* 80BF8CCC */ void stopEmitterSmk01();
+ /* 80BF8CF8 */ void stopEmitterSmk02();
+ /* 80BF8D24 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x7f0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjGeyser_c) == 0x7f0);
+
#endif /* D_A_OBJ_GEYSER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h b/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h
index 2bd4602139..ea75fa3fe8 100644
--- a/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h
+++ b/include/rel/d/a/obj/d_a_obj_glowSphere/d_a_obj_glowSphere.h
@@ -1,6 +1,71 @@
#ifndef D_A_OBJ_GLOWSPHERE_H
#define D_A_OBJ_GLOWSPHERE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daGlwSph_c
+ * @brief STAR Game Glow Sphere
+ *
+ * @details
+ *
+ */
+class daGlwSph_c : public fopAc_ac_c {
+public:
+ /* 80BF9430 */ void getSphMng();
+ /* 80BF943C */ void setBaseMtx();
+ /* 80BF94AC */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80BF94CC */ void CreateHeap();
+ /* 80BF95D4 */ void create();
+ /* 80BF9B1C */ void execute();
+ /* 80BF9BC0 */ void actionMain();
+ /* 80BF9DF0 */ void effectSet();
+ /* 80BF9F30 */ void getSE();
+ /* 80BFA010 */ void getVibe();
+ /* 80BFA064 */ void actionWaitInit();
+ /* 80BFA070 */ void actionWait();
+ /* 80BFA074 */ void actionGetInit();
+ /* 80BFA130 */ void actionGet();
+ /* 80BFA1E0 */ void actionMoveInit();
+ /* 80BFA204 */ void actionMove();
+ /* 80BFA2A4 */ void draw();
+ /* 80BFA3EC */ void _delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDSph[64];
+ static u8 mSphMng[964];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x98c - 0x568];
+};
+STATIC_ASSERT(sizeof(daGlwSph_c) == 0x98C);
+
+class daGlwSph_HIO_c {
+public:
+ /* 80BF934C */ daGlwSph_HIO_c();
+ /* 80BFA76C */ ~daGlwSph_HIO_c();
+};
+
+class _GlSph_Mng_c {
+public:
+ /* 80BFA4B8 */ void _clrLstBuf();
+ /* 80BFA4DC */ void entry(daGlwSph_c*);
+ /* 80BFA528 */ void remove(daGlwSph_c*);
+ /* 80BFA55C */ void _setting_main();
+ /* 80BFA5C4 */ void _chkAllGet_main();
+ /* 80BFA60C */ void SphSeProc();
+ /* 80BFA6D8 */ void clrSphSe();
+ /* 80BFA6E8 */ void getSphSe();
+ /* 80BFA6F8 */ void incSphSe();
+ /* 80BFA890 */ ~_GlSph_Mng_c();
+};
+
+class _GlSph_LstInfo_c{
+public:
+ /* 80BFA900 */ ~_GlSph_LstInfo_c();
+ /* 80BFA93C */ _GlSph_LstInfo_c();
+};
+
#endif /* D_A_OBJ_GLOWSPHERE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h b/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h
index 3241dddc0f..78b941c25f 100644
--- a/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h
+++ b/include/rel/d/a/obj/d_a_obj_gm/d_a_obj_gm.h
@@ -1,5 +1,33 @@
#ifndef D_A_OBJ_GM_H
#define D_A_OBJ_GM_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_gm_class
+ * @brief Gohma Egg Container
+ *
+ * @details
+ *
+ */
+class obj_gm_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xaf4 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_gm_class) == 0xaf4);
+
+class daObj_Gm_HIO_c {
+public:
+ /* 80BFB14C */ daObj_Gm_HIO_c();
+ /* 80BFD284 */ ~daObj_Gm_HIO_c();
+};
+
+struct daObj {
+public:
+ /* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*);
+ /* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*);
+};
+
#endif /* D_A_OBJ_GM_H */
diff --git a/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h b/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h
index a82777a557..827e2330d5 100644
--- a/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h
+++ b/include/rel/d/a/obj/d_a_obj_goGate/d_a_obj_goGate.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_GOGATE_H
#define D_A_OBJ_GOGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daGoGate_c
+ * @brief Goron Gate
+ *
+ * @details
+ *
+ */
+class daGoGate_c : public fopAc_ac_c {
+public:
+ /* 80BFD724 */ void setBaseMtx();
+ /* 80BFD7C0 */ void CreateHeap();
+ /* 80BFD82C */ void create();
+ /* 80BFD984 */ void Execute(f32 (**)[3][4]);
+ /* 80BFD9D4 */ void moveGate();
+ /* 80BFDAD8 */ void init_modeWait();
+ /* 80BFDAE4 */ void modeWait();
+ /* 80BFDAE8 */ void init_modeMoveOpen();
+ /* 80BFDAF4 */ void modeMoveOpen();
+ /* 80BFDC04 */ void init_modeMoveClose();
+ /* 80BFDC10 */ void modeMoveClose();
+ /* 80BFDD20 */ void setSe();
+ /* 80BFDDDC */ void Draw();
+ /* 80BFDE80 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daGoGate_c) == 0x5b8);
+
+class daGoGate_HIO_c {
+public:
+ /* 80BFD6AC */ daGoGate_HIO_c();
+ /* 80BFDF3C */ ~daGoGate_HIO_c();
+};
+
#endif /* D_A_OBJ_GOGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h b/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h
index 110f5c6dae..afe8b99c22 100644
--- a/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h
+++ b/include/rel/d/a/obj/d_a_obj_gomikabe/d_a_obj_gomikabe.h
@@ -1,5 +1,48 @@
#ifndef D_A_OBJ_GOMIKABE_H
#define D_A_OBJ_GOMIKABE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGOMIKABE_c
+ * @brief Garbage Wall
+ *
+ * @details
+ *
+ */
+class daObjGOMIKABE_c : public fopAc_ac_c {
+public:
+ /* 80BFE244 */ void initCcCylinder();
+ /* 80BFE2CC */ void SetCcCyl();
+ /* 80BFE47C */ void WaitAction();
+ /* 80BFE4C4 */ void BreakChk();
+ /* 80BFE52C */ void BreakSet();
+ /* 80BFEA60 */ void getWaterStream(cXyz&, cXyz&, f32);
+ /* 80BFEB90 */ void SpeedSet();
+ /* 80BFED54 */ void BreakAction();
+ /* 80BFED74 */ void CheckCull();
+ /* 80BFEE24 */ void checkViewArea(cXyz);
+ /* 80BFEEA8 */ void Action();
+ /* 80BFEF20 */ void setBaseMtx();
+ /* 80BFEF84 */ void setBaseMtx2();
+ /* 80BFF064 */ void CreateHeap();
+ /* 80BFF164 */ void create();
+ /* 80BFF8D8 */ void Create();
+ /* 80BFF938 */ void Execute(f32 (**)[3][4]);
+ /* 80BFFA00 */ void Draw();
+ /* 80BFFB1C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x13c4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjGOMIKABE_c) == 0x13c4);
+
+class daObjGOMIKABE_HIO_c {
+public:
+ /* 80BFE22C */ daObjGOMIKABE_HIO_c();
+ /* 80BFFB74 */ ~daObjGOMIKABE_HIO_c();
+};
+
#endif /* D_A_OBJ_GOMIKABE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h b/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h
index 18b06f846e..706f1e0f91 100644
--- a/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h
+++ b/include/rel/d/a/obj/d_a_obj_gpTaru/d_a_obj_gpTaru.h
@@ -1,6 +1,58 @@
#ifndef D_A_OBJ_GPTARU_H
#define D_A_OBJ_GPTARU_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daGpTaru_c
+ * @brief Gunpowder Barrel
+ *
+ * @details
+ *
+ */
+class daGpTaru_c : public fopAc_ac_c {
+public:
+ /* 8057D1F8 */ void setBaseMtx();
+ /* 8057D2D0 */ void CreateHeap();
+ /* 8057D33C */ void create();
+ /* 8057D7CC */ void createHeapCallBack(fopAc_ac_c*);
+ /* 8057DB3C */ void chkSinkAll();
+ /* 8057DB60 */ void chkWaterLineIn();
+ /* 8057DB84 */ void bgCheck();
+ /* 8057E224 */ void Execute();
+ /* 8057E494 */ void mode_proc_call();
+ /* 8057E5DC */ void mode_init_wait();
+ /* 8057E618 */ void mode_proc_wait();
+ /* 8057E63C */ void mode_init_carry();
+ /* 8057E660 */ void mode_proc_carry();
+ /* 8057E700 */ void mode_init_drop();
+ /* 8057E72C */ void mode_proc_drop();
+ /* 8057E750 */ void mode_init_roll();
+ /* 8057E768 */ void mode_proc_roll();
+ /* 8057EBA4 */ void mode_init_exploInit();
+ /* 8057EC60 */ void mode_proc_exploInit();
+ /* 8057EE2C */ void mode_init_explosion();
+ /* 8057EFB0 */ void mode_proc_explosion();
+ /* 8057EFFC */ void mode_init_sink();
+ /* 8057F014 */ void mode_proc_sink();
+ /* 8057F104 */ void breakEffSet();
+ /* 8057F284 */ void Draw();
+ /* 8057F328 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9ac - 0x568];
+};
+STATIC_ASSERT(sizeof(daGpTaru_c) == 0x9ac);
+
+class daGpTaru_HIO_c {
+public:
+ /* 8057D0CC */ daGpTaru_HIO_c();
+ /* 8057F458 */ ~daGpTaru_HIO_c();
+};
+
#endif /* D_A_OBJ_GPTARU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h b/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h
index 39b7c49406..daa020e3c0 100644
--- a/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h
+++ b/include/rel/d/a/obj/d_a_obj_gra2/d_a_obj_gra2.h
@@ -1,6 +1,166 @@
#ifndef D_A_OBJ_GRA2_H
#define D_A_OBJ_GRA2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_GrA_c
+ * @brief Goron A
+ *
+ * @details
+ *
+ */
+class daObj_GrA_c : public fopAc_ac_c {
+public:
+ class daObj_GrA_prtclMngr_c {
+ public:
+ /* 80C04E14 */ ~daObj_GrA_prtclMngr_c();
+ /* 80C04E50 */ daObj_GrA_prtclMngr_c();
+ };
+
+ /* 80BFFF58 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80BFFF70 */ daObj_GrA_c();
+ /* 80C0011C */ ~daObj_GrA_c();
+ /* 80C003CC */ void create();
+ /* 80C00614 */ void CreateHeap();
+ /* 80C00790 */ void Delete();
+ /* 80C00804 */ void Execute(f32 (**)[3][4]);
+ /* 80C00A44 */ void Draw();
+ /* 80C00ACC */ void jointCtrl(J3DJoint*, J3DModel*);
+ /* 80C00D5C */ void getResName();
+ /* 80C00D74 */ void getMode();
+ /* 80C00DF8 */ void getPathNo();
+ /* 80C00E04 */ void getTagNo();
+ /* 80C00E10 */ void getJumpType();
+ /* 80C00E1C */ void isDelete();
+ /* 80C00EFC */ void restart();
+ /* 80C010D4 */ void init();
+ /* 80C013B0 */ void setBaseAnm(int, f32);
+ /* 80C014F4 */ void setFaceAnm(int, bool, f32);
+ /* 80C01698 */ void setFaceBtp(int);
+ /* 80C0178C */ void setBaseMotion(int, f32);
+ /* 80C017AC */ void setFaceMotion(int, f32);
+ /* 80C017F0 */ void calcMotion();
+ /* 80C018C0 */ void checkProcess(int (daObj_GrA_c::*)(void*));
+ /* 80C018F4 */ void setProcess(int (daObj_GrA_c::*)(void*));
+ /* 80C019B8 */ void setParam();
+ /* 80C01C18 */ void checkEvent();
+ /* 80C01D7C */ void mainProc();
+ /* 80C01FE4 */ void adjustShapeAngle();
+ /* 80C01FE8 */ void setMtx(int);
+ /* 80C02614 */ void setCollisions();
+ /* 80C02970 */ void setAttnPos();
+ /* 80C02A5C */ void drawOtherMdls();
+ /* 80C02A60 */ bool dbgDraw();
+ /* 80C02A68 */ void ppMoveInit();
+ /* 80C02AD4 */ void setLookMode(int);
+ /* 80C02AE8 */ void lookat();
+ /* 80C0308C */ void hitChk();
+ /* 80C031E4 */ void wait(void*);
+ /* 80C0335C */ void talk(void*);
+ /* 80C035B8 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*);
+ /* 80C03720 */ void checkTagGraSub(fopAc_ac_c*);
+ /* 80C03764 */ void fallAbyssCheck();
+ /* 80C03830 */ void setPrtcl();
+ /* 80C03B14 */ void base000(int);
+ /* 80C03B48 */ void base001(int);
+ /* 80C03B7C */ void base003(int);
+ /* 80C03C1C */ void base004(int);
+ /* 80C03CBC */ void base005(int);
+ /* 80C03D54 */ void base006(int);
+ /* 80C03D88 */ void base007(int);
+ /* 80C03DF0 */ void base008(int);
+ /* 80C03E74 */ void base009(int);
+ /* 80C03F14 */ void base010(int);
+ /* 80C03FC0 */ void base013(int);
+ /* 80C04118 */ void base016(int);
+ /* 80C04180 */ void base017(int);
+ /* 80C041E8 */ void base018(int);
+ /* 80C04260 */ void base019(int);
+ /* 80C042D4 */ void base020(int);
+ /* 80C04308 */ void base021(int);
+ /* 80C0433C */ void base022(int);
+ /* 80C04370 */ void base023(int);
+ /* 80C043A4 */ void base024(int);
+ /* 80C043D8 */ void base025(int);
+ /* 80C0440C */ void base026(int);
+ /* 80C04440 */ void face000(int);
+ /* 80C04478 */ void face003(int);
+ /* 80C04518 */ void face004(int);
+ /* 80C045B8 */ void face005(int);
+ /* 80C045F0 */ void face006(int);
+ /* 80C04628 */ void face007(int);
+ /* 80C04660 */ void face008(int);
+ /* 80C04700 */ void face009(int);
+ /* 80C047A0 */ void face010(int);
+ /* 80C047D8 */ void face011(int);
+ /* 80C04810 */ void face012(int);
+ /* 80C04848 */ void face016(int);
+ /* 80C04880 */ void face017(int);
+ /* 80C048B8 */ void face999(int);
+ /* 80C048F8 */ void evtcutTalk(int, int);
+ /* 80C04A0C */ void setFaceTalkAfter();
+ /* 80C0536C */ void getSrchCircleR();
+ /* 80C053C4 */ void standWait(void*);
+ /* 80C05920 */ void walk(void*);
+ /* 80C05F64 */ void defence(void*);
+ /* 80C061F4 */ void toStone(void*);
+ /* 80C067D8 */ void step(void*);
+ /* 80C06CDC */ void rollReturn(void*);
+ /* 80C0780C */ void soldierDemoSkip();
+ /* 80C078A8 */ void soldierDemo(void*);
+ /* 80C07C40 */ void getSrchLinkR();
+ /* 80C07C98 */ void getSrchGraR();
+ /* 80C07CF0 */ void getSpeed();
+ /* 80C07D38 */ void standRoll(void*);
+ /* 80C083F0 */ void rollDemo(void*);
+ /* 80C08804 */ void rollAttack(void*);
+ /* 80C09298 */ void rollAttacked(void*);
+ /* 80C09918 */ void rollEscape(void*);
+ /* 80C09F08 */ void rollLanding();
+ /* 80C0A018 */ void thrown(void*);
+ /* 80C0A120 */ void demo_camera();
+ /* 80C0AF94 */ void rollAttackedDemo();
+ /* 80C0B9AC */ void graThrowDemo();
+ /* 80C0BD90 */ void setCarryStatus();
+ /* 80C0BE5C */ void checkThrow();
+ /* 80C0BF34 */ void calcCatchPos(f32, int);
+ /* 80C0C348 */ void initCrazyBeforeCatch(int);
+ /* 80C0C364 */ void executeCrazyBeforeCatch();
+ /* 80C0C3E0 */ void initCrazyCatch(int);
+ /* 80C0C478 */ void executeCrazyCatch();
+ /* 80C0C5F0 */ void initCrazyThrow(int);
+ /* 80C0C690 */ void executeCrazyThrow();
+ /* 80C0C84C */ void initCrazyAttack();
+ /* 80C0CA64 */ void executeCrazyJumping();
+ /* 80C0CDBC */ void modeChangeCheck();
+ /* 80C0CF98 */ void checkGraSub(fopAc_ac_c*);
+ /* 80C0D000 */ void waitDemo(void*);
+ /* 80C0D2FC */ void skipDemoGra();
+ /* 80C0D3E0 */ void startDemo(void*);
+ /* 80C0EFC4 */ void turn(s16, f32, int);
+ /* 80C0F17C */ void turn_step(s16, int, int, int);
+ /* 80C0F330 */ void chkFindPlayer2(int, s16);
+ /* 80C0F668 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
+ /* 80C0F5A4 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
+ /* 80C0F6E0 */ void chkActorInSight2(fopAc_ac_c*, f32, s16);
+ /* 80C0F7EC */ void getAttentionPos(fopAc_ac_c*);
+ /* 80C0F860 */ void standWaitJump(void*);
+
+ static u8 mBaseMotionList[264];
+ static u8 mFaceMotionList[168];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x20a4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_GrA_c) == 0x20a4);
+
+class daObj_GrA_Param_c {
+public:
+ /* 80C04B1C */ ~daObj_GrA_Param_c();
+
+ static u8 const m[192];
+};
#endif /* D_A_OBJ_GRA2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h b/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h
index ffd623b44f..92f6fb7a13 100644
--- a/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h
+++ b/include/rel/d/a/obj/d_a_obj_graWall/d_a_obj_graWall.h
@@ -4,17 +4,27 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjGraWall_c
+ * @brief Goron Wall?
+ *
+ * @details
+ *
+ */
class daObjGraWall_c : public fopAc_ac_c {
- public:
+public:
/* 80C10BF8 */ int Create();
/* 80C10DD8 */ int Execute();
/* 80C10E78 */ int Delete();
/* 80C10E80 */ void col_init();
/* 80C10ED4 */ void col_set();
+private:
/* 0x568 */ dCcD_Stts mStts;
/* 0x5A4 */ dCcD_Cyl mCyl;
/* 0x6E0 */ u8 field_0x6e0;
-}; // Size: 0x6E4
+};
+STATIC_ASSERT(sizeof(daObjGraWall_c) == 0x6E4);
#endif /* D_A_OBJ_GRAWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h b/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h
index 775f91092b..c42f119708 100644
--- a/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_gra_rock/d_a_obj_gra_rock.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_GRA_ROCK_H
#define D_A_OBJ_GRA_ROCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGraRock_c
+ * @brief Goron Entombing Rock
+ *
+ * @details
+ *
+ */
+class daObjGraRock_c : public fopAc_ac_c {
+public:
+ /* 80C110F8 */ void setAttnPos();
+ /* 80C11444 */ void setBaseMtx();
+ /* 80C114C0 */ void setPrtcl();
+ /* 80C1157C */ void bombParticleSet();
+ /* 80C11730 */ void setEnvTevColor();
+ /* 80C1178C */ void setRoomNo();
+ /* 80C117D0 */ void col_set();
+ /* 80C11964 */ void checkHitAt(cCcD_Obj*);
+ /* 80C11970 */ void Create();
+ /* 80C11B68 */ void CreateHeap();
+ /* 80C11C64 */ void create();
+ /* 80C11FF0 */ void Execute(f32 (**)[3][4]);
+ /* 80C120FC */ void Draw();
+ /* 80C121C4 */ void Delete();
+
+ static u8 const mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9cc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjGraRock_c) == 0x9cc);
+
#endif /* D_A_OBJ_GRA_ROCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h b/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h
index 749c444e51..167b332937 100644
--- a/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h
+++ b/include/rel/d/a/obj/d_a_obj_grave_stone/d_a_obj_grave_stone.h
@@ -5,6 +5,14 @@
#include "d/cc/d_cc_d.h"
#include "d/particle/d_particle_copoly.h"
+/**
+ * @ingroup actors-objects
+ * @class daGraveStone_c
+ * @brief Zora Gravestone
+ *
+ * @details
+ *
+ */
class daGraveStone_c : public dBgS_MoveBgActor {
public:
class daObj_GrvStn_prtclMngr_c {
@@ -31,6 +39,7 @@ public:
/* 80C13078 */ int Draw();
/* 80C1311C */ int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dBgS_ObjAcch mAcch;
diff --git a/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h b/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h
index 6fec5796aa..719e1e871a 100644
--- a/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h
+++ b/include/rel/d/a/obj/d_a_obj_groundwater/d_a_obj_groundwater.h
@@ -1,6 +1,46 @@
#ifndef D_A_OBJ_GROUNDWATER_H
#define D_A_OBJ_GROUNDWATER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daGrdWater_c
+ * @brief Ground Water
+ *
+ * @details
+ *
+ */
+class daGrdWater_c : public fopAc_ac_c {
+public:
+ /* 80C13540 */ void setBaseMtx();
+ /* 80C13618 */ void CreateHeap();
+ /* 80C139E4 */ void create();
+ /* 80C13DB0 */ daGrdWater_c();
+ /* 80C13FEC */ void Execute(f32 (**)[3][4]);
+ /* 80C14194 */ void init_modeWait();
+ /* 80C141A0 */ void modeWait();
+ /* 80C141A4 */ void init_modeLevelUpA();
+ /* 80C1423C */ void modeLevelUpA();
+ /* 80C142AC */ void init_modeLevelDownA();
+ /* 80C14320 */ void modeLevelDownA();
+ /* 80C1437C */ void init_modeLevelUpB();
+ /* 80C14414 */ void modeLevelUpB();
+ /* 80C14484 */ void init_modeLevelDownB();
+ /* 80C144F8 */ void modeLevelDownB();
+ /* 80C14554 */ void Draw();
+ /* 80C147EC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x6f4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daGrdWater_c) == 0x6f4);
+
+class daGrdWater_HIO_c {
+public:
+ /* 80C134AC */ daGrdWater_HIO_c();
+ /* 80C148A8 */ ~daGrdWater_HIO_c();
+};
+
#endif /* D_A_OBJ_GROUNDWATER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h b/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h
index 34a7d0c3f7..2dc13e477f 100644
--- a/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_grz_rock/d_a_obj_grz_rock.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_GRZ_ROCK_H
#define D_A_OBJ_GRZ_ROCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjGrzRock_c
+ * @brief Hidden Village Rockslide
+ *
+ * @details
+ *
+ */
+class daObjGrzRock_c : public fopAc_ac_c {
+public:
+ /* 80C14BD8 */ void setBaseMtx();
+ /* 80C14C54 */ void setEnvTevColor();
+ /* 80C14CB0 */ void setRoomNo();
+ /* 80C14CF0 */ void setPrtcl();
+ /* 80C14DA0 */ void Create();
+ /* 80C14EE0 */ void CreateHeap();
+ /* 80C14F50 */ void create();
+ /* 80C1514C */ void Execute(f32 (**)[3][4]);
+ /* 80C151A4 */ void Draw();
+ /* 80C15248 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x804 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjGrzRock_c) == 0x804);
+
#endif /* D_A_OBJ_GRZ_ROCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h b/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h
index e987671985..8a736f890a 100644
--- a/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h
+++ b/include/rel/d/a/obj/d_a_obj_h_saku/d_a_obj_h_saku.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_H_SAKU_H
#define D_A_OBJ_H_SAKU_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjH_Saku_c
+ * @brief H - Fence
+ *
+ * @details
+ *
+ */
+class daObjH_Saku_c : public fopAc_ac_c {
+public:
+ /* 80C1552C */ void BreakSet();
+ /* 80C15810 */ void SpeedSet(cXyz*, cXyz*, f32);
+ /* 80C15A4C */ void Action();
+ /* 80C15E00 */ void initBaseMtx();
+ /* 80C15E44 */ void setBaseMtx();
+ /* 80C161E8 */ void CreateHeap();
+ /* 80C1629C */ void Create();
+ /* 80C162F4 */ void Execute(f32 (**)[3][4]);
+ /* 80C16340 */ void Draw();
+ /* 80C1641C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x850 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjH_Saku_c) == 0x850);
+
#endif /* D_A_OBJ_H_SAKU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h b/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h
index a8ac29ec89..34a1aded88 100644
--- a/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h
+++ b/include/rel/d/a/obj/d_a_obj_hakai_brl/d_a_obj_hakai_brl.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_HAKAI_BRL_H
#define D_A_OBJ_HAKAI_BRL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjHBarrel_c
+ * @brief Destructable Barrel
+ *
+ * @details
+ *
+ */
+class daObjHBarrel_c : public fopAc_ac_c {
+public:
+ /* 80C16758 */ daObjHBarrel_c();
+ /* 80C16918 */ ~daObjHBarrel_c();
+ /* 80C16A98 */ void createHeap();
+ /* 80C16B08 */ void create();
+ /* 80C16BF8 */ void Delete();
+ /* 80C16C44 */ void draw();
+ /* 80C16CA8 */ void execute();
+ /* 80C16D50 */ void init();
+ /* 80C16DEC */ void setModelMtx();
+ /* 80C16E50 */ void hitAction();
+ /* 80C17090 */ void callEmt();
+
+ static u8 const s_CcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x710 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjHBarrel_c) == 0x710);
+
#endif /* D_A_OBJ_HAKAI_BRL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h b/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h
index 000c9ae024..87b7ed8db4 100644
--- a/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h
+++ b/include/rel/d/a/obj/d_a_obj_hakai_ftr/d_a_obj_hakai_ftr.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_HAKAI_FTR_H
#define D_A_OBJ_HAKAI_FTR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjHFtr_c
+ * @brief Destruction Furniture
+ *
+ * @details
+ *
+ */
+class daObjHFtr_c : public fopAc_ac_c {
+public:
+ /* 80C174B8 */ daObjHFtr_c();
+ /* 80C17778 */ ~daObjHFtr_c();
+ /* 80C17874 */ void createHeap();
+ /* 80C179B0 */ void create();
+ /* 80C17AC0 */ void Delete();
+ /* 80C17B30 */ void draw();
+ /* 80C17BD4 */ void execute();
+ /* 80C17CD0 */ void init();
+ /* 80C17E10 */ void setModelMtx();
+ /* 80C17E74 */ void chkHit();
+ /* 80C17EDC */ void callEmt();
+
+ static u8 const s_CcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x860 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjHFtr_c) == 0x860);
+
#endif /* D_A_OBJ_HAKAI_FTR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h b/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h
index 32b3591ceb..5806c88224 100644
--- a/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h
+++ b/include/rel/d/a/obj/d_a_obj_hasu2/d_a_obj_hasu2.h
@@ -1,6 +1,37 @@
#ifndef D_A_OBJ_HASU2_H
#define D_A_OBJ_HASU2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+namespace nObjMHasu {
+/**
+ * @ingroup actors-objects
+ * @class daObjMHasu_c
+ * @brief Lily Pad?
+ *
+ * @details
+ *
+ */
+class daObjMHasu_c : public fopAc_ac_c {
+public:
+ /* 80C182DC */ daObjMHasu_c();
+ /* 80C18340 */ void create1st();
+ /* 80C183D0 */ void setMtx();
+ /* 80C18440 */ void CreateHeap();
+ /* 80C184B0 */ void Create();
+ /* 80C185A4 */ void Execute(f32 (**)[3][4]);
+ /* 80C18600 */ void Draw();
+ /* 80C186A4 */ void Delete();
+ /* 80C186E0 */ void upDownHasu();
+ /* 80C18888 */ void updateCount(u8);
+ /* 80C188A0 */ void setHasuCount(f32);
+ /* 80C189E0 */ ~daObjMHasu_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x634 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjMHasu_c) == 0x634);
+} // namespace nObjMHasu
+
#endif /* D_A_OBJ_HASU2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h b/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h
index 16d98c8496..f7f5c8d7ad 100644
--- a/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h
+++ b/include/rel/d/a/obj/d_a_obj_hb/d_a_obj_hb.h
@@ -1,5 +1,21 @@
#ifndef D_A_OBJ_HB_H
#define D_A_OBJ_HB_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_hb_class
+ * @brief Huge Baba Seed
+ *
+ * @details
+ *
+ */
+class obj_hb_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xa8c - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_hb_class) == 0xa8c);
+
#endif /* D_A_OBJ_HB_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h b/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h
index fc66e643e9..db5cc62ba5 100644
--- a/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h
+++ b/include/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h
@@ -6,6 +6,14 @@
#include "d/event/d_event_lib.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjHBombkoya_c
+ * @brief Destructable Bomb House
+ *
+ * @details
+ *
+ */
class daObjHBombkoya_c : public dBgS_MoveBgActor,
public request_of_phase_process_class,
public dEvLib_callback_c {
@@ -31,6 +39,7 @@ public:
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
int getSw2No() { return fopAcM_GetParamBit(this, 8, 8); }
+private:
/* 0x5A8 */ // dEvLib_callback_c
/* 0x5B8 */ Mtx mBgMtx;
/* 0x5E8 */ Mtx mMtx;
@@ -41,5 +50,7 @@ public:
/* 0x648 */ dCcD_Stts mStts;
/* 0x684 */ dCcD_Cyl mCyl;
};
+STATIC_ASSERT(sizeof(daObjHBombkoya_c) == 0x7c0);
+
#endif /* D_A_OBJ_HBOMBKOYA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h b/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h
index 6dec3060c9..1537c123fe 100644
--- a/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h
+++ b/include/rel/d/a/obj/d_a_obj_heavySw/d_a_obj_heavySw.h
@@ -6,6 +6,14 @@
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daHeavySw_c
+ * @brief Heavy Switch
+ *
+ * @details
+ *
+ */
class daHeavySw_c : public dBgS_MoveBgActor {
public:
enum Mode_e { MODE_WAIT, MODE_RIDE, MODE_MOVE_INIT, MODE_MOVE, MODE_MOVE_END };
diff --git a/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h b/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h
index 7f0968f224..bf01f348cb 100644
--- a/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h
+++ b/include/rel/d/a/obj/d_a_obj_hfuta/d_a_obj_hfuta.h
@@ -1,6 +1,35 @@
#ifndef D_A_OBJ_HFUTA_H
#define D_A_OBJ_HFUTA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjFuta_c
+ * @brief Crawling?
+ *
+ * @details
+ *
+ */
+class daObjFuta_c : public fopAc_ac_c {
+public:
+ /* 80C1DD8C */ void initBaseMtx();
+ /* 80C1DDC8 */ void setBaseMtx();
+ /* 80C1DE94 */ void Create();
+ /* 80C1DF2C */ void CreateHeap();
+ /* 80C1DF9C */ void create1st();
+ /* 80C1E020 */ void Execute(f32 (**)[3][4]);
+ /* 80C1EB38 */ void mode_proc_call();
+ /* 80C1EBDC */ void mode_wait();
+ /* 80C1EC44 */ void mode_move();
+ /* 80C1ECB4 */ void mode_end();
+ /* 80C1ECC4 */ void Draw();
+ /* 80C1ED68 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5cc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjFuta_c) == 0x5cc);
+
#endif /* D_A_OBJ_HFUTA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h b/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h
index 501906d0cd..3514b3dd18 100644
--- a/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h
+++ b/include/rel/d/a/obj/d_a_obj_hhashi/d_a_obj_hhashi.h
@@ -1,5 +1,41 @@
#ifndef D_A_OBJ_HHASHI_H
#define D_A_OBJ_HHASHI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjHHASHI_c
+ * @brief Pillar
+ *
+ * @details
+ *
+ */
+class daObjHHASHI_c : public fopAc_ac_c {
+public:
+ /* 8057F9B8 */ void initCcCylinder();
+ /* 8057FA18 */ void setCcCylinder();
+ /* 8057FA90 */ void Set_Hahen(cXyz*);
+ /* 8057FDA8 */ void Set_Speed(s16, s16, f32, f32, f32, f32);
+ /* 805801B0 */ void Obj_Damage();
+ /* 80580358 */ void Wall_Check(s16);
+ /* 8058043C */ void Hahen_Motion(s16);
+ /* 805805F4 */ void CheckCull();
+ /* 805807C4 */ void checkViewArea(int);
+ /* 80580854 */ void Rolling(cXyz*, f32, f32, s8);
+ /* 80580A48 */ void Roll_Set(cXyz*, f32, s16);
+ /* 80580C80 */ void setBaseMtx();
+ /* 80580DA4 */ void CreateHeap();
+ /* 80580EA0 */ void create();
+ /* 805811CC */ void Create();
+ /* 80581210 */ void Execute(f32 (**)[3][4]);
+ /* 805812BC */ void Draw();
+ /* 8058140C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x119c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjHHASHI_c) == 0x119c);
+
#endif /* D_A_OBJ_HHASHI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h b/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h
index 3fcb200228..f2bd7fea17 100644
--- a/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h
+++ b/include/rel/d/a/obj/d_a_obj_hsTarget/d_a_obj_hsTarget.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daHsTarget_c
+ * @brief Clawshot Target
+ *
+ * @details
+ *
+ */
class daHsTarget_c : public dBgS_MoveBgActor {
public:
/* 80C1F490 */ void setBaseMtx();
@@ -15,10 +23,12 @@ public:
u8 getModelType() { return fopAcM_GetParamBit(this, 0, 4); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mIndex;
-}; // Size: 0x5B0
+};
+STATIC_ASSERT(sizeof(daHsTarget_c) == 0x5B0);
class daHsTarget_HIO_c : mDoHIO_entry_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h b/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h
index ece0ef97be..10af13992a 100644
--- a/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h
+++ b/include/rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjIce_l_c
+ * @brief Ice (Large)
+ *
+ * @details
+ *
+ */
class daObjIce_l_c : public dBgS_MoveBgActor {
public:
/* 80C1F9F8 */ void RideOn_Angle(s16&, f32, s16, f32);
@@ -19,6 +27,7 @@ public:
/* 80C206AC */ virtual int Draw();
/* 80C20750 */ virtual int Delete();
+private:
/* 0x5A0 */ f32 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ u8 field_0x5A8[0x5AC - 0x5A8];
@@ -47,5 +56,6 @@ public:
/* 0x634 */ J3DModel* mpModel;
/* 0x638 */ request_of_phase_process_class mPhase;
};
+STATIC_ASSERT(sizeof(daObjIce_l_c) == 0x640);
#endif /* D_A_OBJ_ICE_L_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h b/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h
index f079fdc801..e43ea568c7 100644
--- a/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h
+++ b/include/rel/d/a/obj/d_a_obj_ice_s/d_a_obj_ice_s.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_ICE_S_H
#define D_A_OBJ_ICE_S_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjIce_s_c
+ * @brief Ice (Small)
+ *
+ * @details
+ *
+ */
+class daObjIce_s_c : public fopAc_ac_c {
+public:
+ /* 80C209DC */ void RideOn_Angle(s16&, f32, s16, f32);
+ /* 80C20A44 */ void Check_LinkRideOn(cXyz);
+ /* 80C20C98 */ void Check_RideOn(cXyz);
+ /* 80C20EC0 */ void initBaseMtx();
+ /* 80C20EEC */ void setBaseMtx();
+ /* 80C212CC */ void create();
+ /* 80C2157C */ void CreateHeap();
+ /* 80C215F4 */ void Create();
+ /* 80C21634 */ void Execute(f32 (**)[3][4]);
+ /* 80C21964 */ void Draw();
+ /* 80C21A08 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x644 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjIce_s_c) == 0x644);
+
+class daOBJ_ICE_S_HIO_c {
+public:
+ /* 80C209AC */ daOBJ_ICE_S_HIO_c();
+ /* 80C21A60 */ ~daOBJ_ICE_S_HIO_c();
+};
+
#endif /* D_A_OBJ_ICE_S_H */
diff --git a/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h b/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h
index 8cc1ecead7..0d7d2eb3e2 100644
--- a/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h
+++ b/include/rel/d/a/obj/d_a_obj_iceblock/d_a_obj_iceblock.h
@@ -1,5 +1,54 @@
#ifndef D_A_OBJ_ICEBLOCK_H
#define D_A_OBJ_ICEBLOCK_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjIceBlk_c
+ * @brief Sliding Ice Block
+ *
+ * @details
+ *
+ */
+class daObjIceBlk_c : public fopAc_ac_c {
+public:
+ /* 80C21CD8 */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
+ /* 80C21DC4 */ void initBaseMtx();
+ /* 80C21E24 */ void setBaseMtx();
+ /* 80C21EA4 */ void getPointNo();
+ /* 80C21F2C */ void loadCurrentPos();
+ /* 80C21FC8 */ void saveCurrentPos();
+ /* 80C22200 */ void enablePushPull();
+ /* 80C2224C */ void disablePushPull();
+ /* 80C22298 */ void Create();
+ /* 80C22618 */ void CreateHeap();
+ /* 80C227F4 */ void create1st();
+ /* 80C228B4 */ void Execute(f32 (**)[3][4]);
+ /* 80C2294C */ void checkWalk();
+ /* 80C22B04 */ void clrCounter();
+ /* 80C22B28 */ void mode_proc_call();
+ /* 80C22EF8 */ void mode_init_wait();
+ /* 80C22F74 */ void mode_proc_wait();
+ /* 80C23058 */ void mode_init_walk();
+ /* 80C23088 */ void mode_proc_walk();
+ /* 80C23388 */ void setEffect();
+ /* 80C2350C */ void checkWallPre(s16);
+ /* 80C236C8 */ void checkBgHit();
+ /* 80C237B0 */ void bgCheck();
+ /* 80C23860 */ void init_bgCheck();
+ /* 80C238B0 */ void checkFall();
+ /* 80C23A50 */ void event_proc_call();
+ /* 80C23B0C */ void actionWait();
+ /* 80C23B70 */ void actionOrderEvent();
+ /* 80C23C1C */ void actionEvent();
+ /* 80C23CA0 */ void actionDead();
+ /* 80C23CA4 */ void Draw();
+ /* 80C23DA8 */ void Delete();
+private:
+ /* 0x568 */ u8 field_0x568[0x9ec - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjIceBlk_c) == 0x9ec);
+
#endif /* D_A_OBJ_ICEBLOCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h b/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h
index 1243fe935d..0ce3b109ed 100644
--- a/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h
+++ b/include/rel/d/a/obj/d_a_obj_iceleaf/d_a_obj_iceleaf.h
@@ -1,8 +1,18 @@
#ifndef D_A_OBJ_ICELEAF_H
#define D_A_OBJ_ICELEAF_H
+#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
+#include "d/bg/d_bg_s_acch.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjIceLeaf_c
+ * @brief Ice Leaf
+ *
+ * @details
+ *
+ */
class daObjIceLeaf_c : public fopAc_ac_c {
public:
/* 80C24738 */ void initBaseMtx();
@@ -29,6 +39,7 @@ public:
void offRide() { mRide = false; }
void setBreakEffect() { mBreakEffect = true; }
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_ObjAcch mAcch;
@@ -49,5 +60,7 @@ public:
/* 0x964 */ cXyz field_0x964;
/* 0x970 */ cXyz field_0x970;
};
+STATIC_ASSERT(sizeof(daObjIceLeaf_c) == 0x97c);
+
#endif /* D_A_OBJ_ICELEAF_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h b/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h
index df2606add7..81abb1d38b 100644
--- a/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h
+++ b/include/rel/d/a/obj/d_a_obj_ihasi/d_a_obj_ihasi.h
@@ -1,6 +1,21 @@
#ifndef D_A_OBJ_IHASI_H
#define D_A_OBJ_IHASI_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_ihasi_class
+ * @brief Ice Bridge?
+ *
+ * @details
+ *
+ */
+class obj_ihasi_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x5c4 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_ihasi_class) == 0x5c4);
+
#endif /* D_A_OBJ_IHASI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h b/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h
index 0bff8042a3..5b2167831b 100644
--- a/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h
+++ b/include/rel/d/a/obj/d_a_obj_ikada/d_a_obj_ikada.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_IKADA_H
#define D_A_OBJ_IKADA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjIkada_c
+ * @brief Raft
+ *
+ * @details
+ *
+ */
+class daObjIkada_c : public fopAc_ac_c {
+public:
+ /* 80C269B8 */ void RideOn_Angle(s16&, f32, s16, f32);
+ /* 80C26A20 */ void Check_RideOn();
+ /* 80C26C50 */ void initBaseMtx();
+ /* 80C26C7C */ void setBaseMtx();
+ /* 80C27028 */ void CreateHeap();
+ /* 80C270A0 */ void Create();
+ /* 80C270E0 */ void Execute(f32 (**)[3][4]);
+ /* 80C27400 */ void Draw();
+ /* 80C274A4 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x844 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjIkada_c) == 0x844);
+
#endif /* D_A_OBJ_IKADA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h b/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h
index 8ca4e5e4a1..a0ea465f2a 100644
--- a/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h
+++ b/include/rel/d/a/obj/d_a_obj_inobone/d_a_obj_inobone.h
@@ -1,5 +1,32 @@
#ifndef D_A_OBJ_INOBONE_H
#define D_A_OBJ_INOBONE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjIBone_c
+ * @brief Boar Bone
+ *
+ * @details
+ *
+ */
+class daObjIBone_c : public fopAc_ac_c {
+public:
+ /* 80C27830 */ void initBaseMtx();
+ /* 80C2786C */ void setBaseMtx();
+ /* 80C278CC */ void Create();
+ /* 80C279A8 */ void CreateHeap();
+ /* 80C27A20 */ void create();
+ /* 80C27C4C */ void execute();
+ /* 80C27E48 */ void setBreakEffect();
+ /* 80C27FEC */ void draw();
+ /* 80C28050 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x84c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjIBone_c) == 0x84c);
+
#endif /* D_A_OBJ_INOBONE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h b/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h
index 01eaf68254..91bb276dc0 100644
--- a/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h
+++ b/include/rel/d/a/obj/d_a_obj_ita/d_a_obj_ita.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_ITA_H
#define D_A_OBJ_ITA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjIta_c
+ * @brief Plank
+ *
+ * @details
+ *
+ */
+class daObjIta_c : public fopAc_ac_c {
+public:
+ /* 80C283AC */ void Search_Ymb();
+ /* 80C28674 */ void Check_RideOn();
+ /* 80C28788 */ void initBaseMtx();
+ /* 80C287B4 */ void setBaseMtx();
+ /* 80C28928 */ void create();
+ /* 80C28BB0 */ void CreateHeap();
+ /* 80C28C28 */ void Create();
+ /* 80C28C70 */ void Execute(f32 (**)[3][4]);
+ /* 80C290AC */ void Draw();
+ /* 80C29150 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x8dc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjIta_c) == 0x8dc);
+
+class daObj_ITA_HIO_c {
+public:
+ /* 80C2836C */ daObj_ITA_HIO_c();
+ /* 80C29184 */ ~daObj_ITA_HIO_c();
+};
#endif /* D_A_OBJ_ITA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h b/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h
index abb1f2d6f2..5e60f258a4 100644
--- a/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h
+++ b/include/rel/d/a/obj/d_a_obj_itamato/d_a_obj_itamato.h
@@ -1,5 +1,45 @@
#ifndef D_A_OBJ_ITAMATO_H
#define D_A_OBJ_ITAMATO_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_ItaMato_c
+ * @brief Plank Target
+ *
+ * @details
+ *
+ */
+class daObj_ItaMato_c : public fopAc_ac_c {
+public:
+ /* 80C294EC */ ~daObj_ItaMato_c();
+ /* 80C2971C */ void create();
+ /* 80C29CD8 */ void CreateHeap();
+ /* 80C29DAC */ void Delete();
+ /* 80C29DE0 */ void Execute();
+ /* 80C2A44C */ void Draw();
+ /* 80C2A5D0 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80C2A5F0 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
+ /* 80C2A620 */ void getResName();
+ /* 80C2A630 */ void setSwayParam(fopAc_ac_c*);
+ /* 80C2A7C4 */ void setPrtcls();
+ /* 80C2A890 */ void setEnvTevColor();
+ /* 80C2A8EC */ void setRoomNo();
+ /* 80C2A930 */ void setMtx();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa20 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_ItaMato_c) == 0xa20);
+
+class daObj_ItaMato_Param_c {
+public:
+ /* 80C2AB04 */ ~daObj_ItaMato_Param_c();
+
+ static u8 const m[20];
+};
+
#endif /* D_A_OBJ_ITAMATO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h b/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h
index d881ad8801..04a37739fd 100644
--- a/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h
+++ b/include/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.h
@@ -1,5 +1,29 @@
#ifndef D_A_OBJ_ITO_H
#define D_A_OBJ_ITO_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_ito_class
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class obj_ito_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x150c - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_ito_class) == 0x150c);
+
+struct ito_s {};
+
+class daObj_Ito_HIO_c {
+public:
+ /* 8047B2EC */ daObj_Ito_HIO_c();
+ /* 8047D778 */ ~daObj_Ito_HIO_c();
+};
+
#endif /* D_A_OBJ_ITO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h b/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h
index cdea06675a..dcbecb4391 100644
--- a/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h
+++ b/include/rel/d/a/obj/d_a_obj_kabuto/d_a_obj_kabuto.h
@@ -8,7 +8,16 @@
#include "d/a/d_a_player.h"
#include "d/d_insect.h"
-struct daObjKABUTO_c : public dInsect_c {
+/**
+ * @ingroup actors-objects
+ * @class daObjKABUTO_c
+ * @brief Insect - Beetle
+ *
+ * @details
+ *
+ */
+class daObjKABUTO_c : public dInsect_c {
+public:
enum Action {
/* 0 */ ACT_WAIT,
/* 1 */ ACT_MOVE,
@@ -38,6 +47,7 @@ struct daObjKABUTO_c : public dInsect_c {
/* 80C2D724 */ cPhs__Step create();
inline int Draw();
+private:
/* 0x590 */ dCcD_Stts mCcStts;
/* 0x5CC */ dCcD_Sph mCcSph;
/* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
@@ -74,7 +84,8 @@ struct daObjKABUTO_c : public dInsect_c {
STATIC_ASSERT(sizeof(daObjKABUTO_c) == 0xA14);
-struct daObj_KabHIO_c {
+class daObj_KabHIO_c {
+public:
/* 80C2AE6C */ daObj_KabHIO_c();
/* 80C2E068 */ virtual ~daObj_KabHIO_c() {}
diff --git a/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h b/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h
index 342814f948..a0427d5a8f 100644
--- a/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h
+++ b/include/rel/d/a/obj/d_a_obj_kag/d_a_obj_kag.h
@@ -1,6 +1,45 @@
#ifndef D_A_OBJ_KAG_H
#define D_A_OBJ_KAG_H
-#include "dolphin/types.h"
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKAG_c
+ * @brief Insect - Dayfly
+ *
+ * @details
+ *
+ */
+class daObjKAG_c : public dInsect_c {
+public:
+ /* 80C2E434 */ void setAction(void (daObjKAG_c::*)());
+ /* 80C2E7A0 */ void Kag_Bgcheck(cXyz*, csXyz*, cXyz*);
+ /* 80C2EA40 */ void fly();
+ /* 80C2F764 */ void wait();
+ /* 80C2F8C4 */ void walk();
+ /* 80C2FD94 */ void bin_wait();
+ /* 80C2FF10 */ void bin_action();
+ /* 80C30070 */ void hook();
+ /* 80C30274 */ void boomerang();
+ /* 80C303C4 */ void action();
+ /* 80C30424 */ void checkGroundPos();
+ /* 80C30498 */ void hit_check();
+ /* 80C3054C */ void execute();
+ /* 80C306EC */ void _delete();
+ /* 80C30754 */ void setBaseMtx();
+ /* 80C308F0 */ void create();
+ /* 80C30E54 */ void kag_setParticle();
+
+private:
+ /* 0x590 */ u8 field_0x568[0x860 - 0x590];
+};
+STATIC_ASSERT(sizeof(daObjKAG_c) == 0x860);
+
+class daObj_KagHIO_c {
+public:
+ /* 80C2E40C */ daObj_KagHIO_c();
+ /* 80C31060 */ ~daObj_KagHIO_c();
+};
#endif /* D_A_OBJ_KAG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h b/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h
index 4fc63d8716..2cf46c68e2 100644
--- a/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h
+++ b/include/rel/d/a/obj/d_a_obj_kage/d_a_obj_kage.h
@@ -1,6 +1,21 @@
#ifndef D_A_OBJ_KAGE_H
#define D_A_OBJ_KAGE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_kage_class
+ * @brief House - Cage
+ *
+ * @details
+ *
+ */
+class obj_kage_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_kage_class) == 0x5b4);
+
#endif /* D_A_OBJ_KAGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h b/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h
index 3cb12e6403..06484078f7 100644
--- a/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h
+++ b/include/rel/d/a/obj/d_a_obj_kago/d_a_obj_kago.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_KAGO_H
#define D_A_OBJ_KAGO_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Kago_c
+ * @brief Basket
+ *
+ * @details
+ *
+ */
+class daObj_Kago_c : public fopAc_ac_c {
+public:
+ /* 80C31AEC */ ~daObj_Kago_c();
+ /* 80C31D5C */ void create();
+ /* 80C323D0 */ void CreateHeap();
+ /* 80C324B0 */ void Delete();
+ /* 80C324E4 */ void Execute();
+ /* 80C332D0 */ void Draw();
+ /* 80C333F0 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80C33410 */ void isDelete();
+ /* 80C334B4 */ void setEnvTevColor();
+ /* 80C33510 */ void setRoomNo();
+ /* 80C33554 */ void reset();
+ /* 80C3359C */ void setMtx();
+ /* 80C33620 */ void getWallAngle(s16, s16*);
+ /* 80C337B0 */ void setGoalPosAndAngle();
+ /* 80C338D0 */ void setSmokePrtcl();
+ /* 80C33958 */ void setWaterPrtcl();
+ /* 80C33A58 */ void setHamonPrtcl();
+private:
+ /* 0x568 */ u8 field_0x568[0xba8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8);
+
+class daObj_Kago_Param_c {
+public:
+ /* 80C33C14 */ ~daObj_Kago_Param_c();
+
+ static u8 const m[44];
+};
+
#endif /* D_A_OBJ_KAGO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h b/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h
index aa69b1385f..459a240d08 100644
--- a/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h
+++ b/include/rel/d/a/obj/d_a_obj_kaisou/d_a_obj_kaisou.h
@@ -1,5 +1,31 @@
#ifndef D_A_OBJ_KAISOU_H
#define D_A_OBJ_KAISOU_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKaisou_c
+ * @brief Seaweed
+ *
+ * @details
+ *
+ */
+class daObjKaisou_c : public fopAc_ac_c {
+public:
+ /* 80C34058 */ void ctrlJoint(J3DJoint*, J3DModel*);
+ /* 80C34390 */ void initCcCylinder();
+ /* 80C343F0 */ void setCcCylinder();
+ /* 80C34438 */ void ObjHit();
+ /* 80C34824 */ void Execute();
+ /* 80C34A98 */ void Delete();
+ /* 80C34ACC */ void setBaseMtx();
+ /* 80C34BD8 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x79c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKaisou_c) == 0x79c);
+
#endif /* D_A_OBJ_KAISOU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h b/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h
index 707efda5dd..1ba5f2f21b 100644
--- a/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h
+++ b/include/rel/d/a/obj/d_a_obj_kamakiri/d_a_obj_kamakiri.h
@@ -1,5 +1,51 @@
#ifndef D_A_OBJ_KAMAKIRI_H
#define D_A_OBJ_KAMAKIRI_H
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKAM_c
+ * @brief Insect - Mantis
+ *
+ * @details
+ *
+ */
+class daObjKAM_c : public fopAc_ac_c {
+public:
+ /* 80C351BC */ void InitCcSph();
+ /* 80C35228 */ void SetCcSph();
+ /* 80C352A0 */ void CreateHeap();
+ /* 80C35684 */ void ShopWaitAction();
+ /* 80C357EC */ void WaitAction();
+ /* 80C35970 */ void WallCheck();
+ /* 80C35BE4 */ void SpeedSet();
+ /* 80C35CF0 */ void WallWalk();
+ /* 80C36138 */ void WalkAction();
+ /* 80C36338 */ void MoveAction();
+ /* 80C36B20 */ void Action();
+ /* 80C36BE4 */ void ShopAction();
+ /* 80C36CA0 */ void Insect_Release();
+ /* 80C36CB8 */ void Z_BufferChk();
+ /* 80C36E34 */ void ParticleSet();
+ /* 80C36F58 */ void BoomChk();
+ /* 80C37324 */ void ObjHit();
+ /* 80C374AC */ void Execute();
+ /* 80C37724 */ void Delete();
+ /* 80C3778C */ void setBaseMtx();
+ /* 80C378F4 */ void CreateChk();
+ /* 80C37AA0 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa68 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKAM_c) == 0xa68);
+
+class daObj_KamHIO_c {
+public:
+ /* 80C3518C */ daObj_KamHIO_c();
+ /* 80C38360 */ ~daObj_KamHIO_c();
+};
+
#endif /* D_A_OBJ_KAMAKIRI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h b/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h
index bde75bba84..a770de044c 100644
--- a/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h
+++ b/include/rel/d/a/obj/d_a_obj_kanban2/d_a_obj_kanban2.h
@@ -1,6 +1,61 @@
#ifndef D_A_OBJ_KANBAN2_H
#define D_A_OBJ_KANBAN2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Kanban2_c
+ * @brief Sign 2
+ *
+ * @details
+ *
+ */
+class daObj_Kanban2_c : public fopAc_ac_c {
+public:
+ /* 80581790 */ void draw();
+ /* 80581938 */ void setKanbanSE(int);
+ /* 805819BC */ void createBreakParts(u32, csXyz);
+ /* 805819FC */ void createWallHitBreak();
+ /* 80581B5C */ void getKanbanCutType();
+ /* 80581C48 */ void getKanbanWolfCutType();
+ /* 80581D04 */ void damage_check();
+ /* 8058221C */ void float_damage_check();
+ /* 805822F0 */ void deletePart();
+ /* 805825A4 */ void getWallAngle();
+ /* 8058271C */ void setGroundAngle();
+ /* 80582894 */ void checkWaterSurface();
+ /* 80582944 */ void checkPataGround(s16, s16);
+ /* 80582A68 */ void setCullMtx();
+ /* 80582AAC */ void setSmokeEffect(cXyz);
+ /* 80582AFC */ void setWaterEffect();
+ /* 80582C40 */ void setCenterPos();
+ /* 80582E68 */ void checkCarryOn();
+ /* 80582EF0 */ void setActionMode(int, int);
+ /* 80582F40 */ void calcNormalSwing();
+ /* 80583364 */ void executeNormal();
+ /* 80583598 */ void initPart();
+ /* 80583A2C */ void executePart();
+ /* 8058437C */ void executeFloat();
+ /* 80584884 */ void executeCarry();
+ /* 805849CC */ void action();
+ /* 80584AD8 */ void mtx_set();
+ /* 80584CFC */ void cc_set();
+ /* 80584DF0 */ void execute();
+ /* 80584ED8 */ void _delete();
+ /* 80584F64 */ void CreateHeap();
+ /* 805850E8 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa50 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Kanban2_c) == 0xa50);
+
+class daObj_Kanban2_HIO_c {
+public:
+ /* 8058176C */ daObj_Kanban2_HIO_c();
+ /* 80585578 */ ~daObj_Kanban2_HIO_c();
+};
+
#endif /* D_A_OBJ_KANBAN2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h b/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h
index 881e1c7eab..3d9f222d69 100644
--- a/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h
+++ b/include/rel/d/a/obj/d_a_obj_kantera/d_a_obj_kantera.h
@@ -1,4 +1,70 @@
#ifndef D_A_OBJ_KANTERA_H
#define D_A_OBJ_KANTERA_H
+#include "d/a/d_a_itembase.h"
+
+#ifdef NONMATCHING
+/**
+ * @ingroup actors-objects
+ * @class daItemKantera_c
+ * @brief Lantern
+ *
+ * @details
+ *
+ */
+class daItemKantera_c : public daItemBase_c {
+public:
+ /* 80C389BC */ void initBaseMtx();
+ /* 80C389F8 */ void setBaseMtx();
+ /* 80C38A64 */ int Create();
+ /* 80C38BA8 */ int __CreateHeap();
+ /* 80C38BB0 */ int create();
+ /* 80C38F78 */ void bg_check();
+ /* 80C39068 */ int actionInit();
+ /* 80C390A0 */ int actionWaitInit();
+ /* 80C3911C */ int actionWait();
+ /* 80C39234 */ int initActionOrderGetDemo();
+ /* 80C392D0 */ int actionOrderGetDemo();
+ /* 80C3934C */ int actionGetDemo();
+ /* 80C393B0 */ int execute();
+ /* 80C394DC */ int draw();
+ /* 80C39530 */ int _delete();
+
+ void setStatus(u8 i_status) { mStatus = i_status; }
+
+private:
+ /* 0x92C */ u32 field_0x92c;
+ /* 0x930 */ s32 field_0x930;
+ /* 0x934 */ u8 mStatus;
+ /* 0x935 */ u8 field_0x935;
+ /* 0x936 */ u8 field_0x936;
+ /* 0x937 */ u8 field_0x937;
+ /* 0x938 */ s16 field_0x938;
+ /* 0x93A */ s16 field_0x93a;
+ /* 0x93C */ cXyz field_0x93c;
+};
+STATIC_ASSERT(sizeof(daItemKantera_c) == 0x948);
+#else
+struct daItemKantera_c {
+ /* 80C389BC */ void initBaseMtx();
+ /* 80C389F8 */ void setBaseMtx();
+ /* 80C38A64 */ int Create();
+ /* 80C38BA8 */ int __CreateHeap();
+ /* 80C38BB0 */ int create();
+ /* 80C38F78 */ void bg_check();
+ /* 80C39068 */ int actionInit();
+ /* 80C390A0 */ int actionWaitInit();
+ /* 80C3911C */ int actionWait();
+ /* 80C39234 */ int initActionOrderGetDemo();
+ /* 80C392D0 */ int actionOrderGetDemo();
+ /* 80C3934C */ int actionGetDemo();
+ /* 80C393B0 */ int execute();
+ /* 80C394DC */ int draw();
+ /* 80C39530 */ int _delete();
+
+private:
+ /* 0x000 */ u8 field_0x0[0x948];
+};
+#endif
+
#endif /* D_A_OBJ_KANTERA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h b/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h
index d681497302..beafc48c79 100644
--- a/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h
+++ b/include/rel/d/a/obj/d_a_obj_katatsumuri/d_a_obj_katatsumuri.h
@@ -1,5 +1,48 @@
#ifndef D_A_OBJ_KATATSUMURI_H
#define D_A_OBJ_KATATSUMURI_H
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKAT_c
+ * @brief Insect - Snail
+ *
+ * @details
+ *
+ */
+class daObjKAT_c : public fopAc_ac_c {
+public:
+ /* 80C39994 */ void InitCcSph();
+ /* 80C39A00 */ void SetCcSph();
+ /* 80C39A58 */ void ctrlJoint(J3DJoint*, J3DModel*);
+ /* 80C39B98 */ void CreateHeap();
+ /* 80C39F0C */ void WallWalk();
+ /* 80C3A4D8 */ void MoveAction();
+ /* 80C3A628 */ void Action();
+ /* 80C3A680 */ void Insect_Release();
+ /* 80C3A698 */ void checkGround();
+ /* 80C3A8C8 */ void F_MoveAction();
+ /* 80C3A95C */ void FallAction();
+ /* 80C3A990 */ void ParticleSet();
+ /* 80C3AAB4 */ void BoomChk();
+ /* 80C3ADC8 */ void ObjHit();
+ /* 80C3AEC8 */ void Execute();
+ /* 80C3B754 */ void Z_BufferChk();
+ /* 80C3B8D0 */ void Delete();
+ /* 80C3B938 */ void setBaseMtx();
+ /* 80C3BAAC */ void CreateChk();
+ /* 80C3BC58 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa74 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKAT_c) == 0xa74);
+
+class daObj_KatHIO_c {
+public:
+ /* 80C3996C */ daObj_KatHIO_c();
+ /* 80C3C5CC */ ~daObj_KatHIO_c();
+};
#endif /* D_A_OBJ_KATATSUMURI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h b/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h
index f568a32073..da43da3c3b 100644
--- a/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h
+++ b/include/rel/d/a/obj/d_a_obj_kazeneko/d_a_obj_kazeneko.h
@@ -1,5 +1,31 @@
#ifndef D_A_OBJ_KAZENEKO_H
#define D_A_OBJ_KAZENEKO_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKazeNeko_c
+ * @brief Weather Vane
+ *
+ * @details
+ *
+ */
+class daObjKazeNeko_c : public fopAc_ac_c {
+public:
+ /* 80C3C8D8 */ void create_init();
+ /* 80C3C968 */ void initBaseMtx();
+ /* 80C3C988 */ void setBaseMtx();
+ /* 80C3CA8C */ void initCcCylinder();
+ /* 80C3CB10 */ void setCcCylinder();
+ /* 80C3CB7C */ void swingHead();
+ /* 80C3CC40 */ void getFirstVec(cXyz*, int);
+
+ static u8 const M_attr[44];
+private:
+ /* 0x568 */ u8 field_0x568[0x754 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKazeNeko_c) == 0x754);
+
#endif /* D_A_OBJ_KAZENEKO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h b/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h
index 50382ef4a9..5a534eb087 100644
--- a/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h
+++ b/include/rel/d/a/obj/d_a_obj_kbacket/d_a_obj_kbacket.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_KBACKET_H
#define D_A_OBJ_KBACKET_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_KBacket_c
+ * @brief (Kakariko?) Bucket
+ *
+ * @details
+ *
+ */
+class daObj_KBacket_c : public fopAc_ac_c {
+public:
+ /* 80585E4C */ ~daObj_KBacket_c();
+ /* 80586048 */ void create();
+ /* 80586604 */ void CreateHeap();
+ /* 80586704 */ void Delete();
+ /* 80586738 */ void Execute();
+ /* 8058742C */ void Draw();
+ /* 805875A0 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 805875C0 */ void setEnvTevColor();
+ /* 8058761C */ void setRoomNo();
+ /* 80587660 */ void reset();
+ /* 80587694 */ void setMtx();
+ /* 805877C4 */ void calcRollAngle(s16, int);
+ /* 80587864 */ void getWallAngle(s16, s16*);
+ /* 805879F4 */ void setSmokePrtcl();
+ /* 80587A70 */ void setWaterPrtcl();
+ /* 80587B68 */ void setHamonPrtcl();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa54 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_KBacket_c) == 0xa54);
+
+class daObj_KBacket_Param_c {
+public:
+ /* 80587D18 */ ~daObj_KBacket_Param_c();
+
+ static u8 const m[44];
+};
+
#endif /* D_A_OBJ_KBACKET_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h b/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h
index a161f60e12..31b7974e2f 100644
--- a/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h
+++ b/include/rel/d/a/obj/d_a_obj_kbox/d_a_obj_kbox.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_KBOX_H
#define D_A_OBJ_KBOX_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_kbox_class
+ * @brief (Kakariko?) Crate
+ *
+ * @details
+ *
+ */
+class obj_kbox_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x9f0 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_kbox_class) == 0x9f0);
+
+class daObj_Kbox_HIO_c {
+public:
+ /* 80C3D60C */ daObj_Kbox_HIO_c();
+ /* 80C3EF98 */ ~daObj_Kbox_HIO_c();
+};
+
#endif /* D_A_OBJ_KBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h b/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h
index c445dd36fc..1009be44d0 100644
--- a/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h
+++ b/include/rel/d/a/obj/d_a_obj_key/d_a_obj_key.h
@@ -1,6 +1,27 @@
#ifndef D_A_OBJ_KEY_H
#define D_A_OBJ_KEY_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_key_class
+ * @brief Key
+ *
+ * @details
+ *
+ */
+class obj_key_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x9b8 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_key_class) == 0x9b8);
+
+class daObj_Key_HIO_c {
+public:
+ /* 80C3F40C */ daObj_Key_HIO_c();
+ /* 80C40F28 */ ~daObj_Key_HIO_c();
+};
+
#endif /* D_A_OBJ_KEY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h b/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h
index a5461e5f10..86e796f30b 100644
--- a/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h
+++ b/include/rel/d/a/obj/d_a_obj_keyhole/d_a_obj_keyhole.h
@@ -1,15 +1,39 @@
#ifndef D_A_OBJ_KEYHOLE_H
#define D_A_OBJ_KEYHOLE_H
-#include "dolphin/types.h"
-#include "f_op/f_op_actor.h"
+#include "f_op/f_op_actor_mng.h"
-struct obj_keyhole_class : public fopAc_ac_c {
+/**
+ * @ingroup actors-objects
+ * @class obj_keyhole_class
+ * @brief Small Key Door Chains?
+ *
+ * @details
+ *
+ */
+class obj_keyhole_class : public fopAc_ac_c {
+public:
void setOpen() { mOpenState = 1; }
bool checkOpenEnd() { return mOpenState == 3; }
+private:
/* 0x0568 */ u8 field_0x0568[0x2ca4 - 0x568];
/* 0x2ca4 */ u8 mOpenState;
+ /* 0x2ca5 */ u8 field_0x2ca5[0x2cb8 - 0x2ca5];
};
+STATIC_ASSERT(sizeof(obj_keyhole_class) == 0x2CB8);
+
+class kh_chain_s {
+public:
+ /* 80C436A0 */ ~kh_chain_s();
+ /* 80C437A4 */ kh_chain_s();
+};
+
+class daObj_Keyhole_HIO_c {
+public:
+ /* 80C4124C */ daObj_Keyhole_HIO_c();
+ /* 80C4394C */ ~daObj_Keyhole_HIO_c();
+};
+
#endif /* D_A_OBJ_KEYHOLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h b/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h
index 02b171e1e7..43a695b2b7 100644
--- a/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h
+++ b/include/rel/d/a/obj/d_a_obj_kgate/d_a_obj_kgate.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjKGate_c
+ * @brief Coro Gate
+ *
+ * @details
+ *
+ */
class daObjKGate_c : public dBgS_MoveBgActor {
public:
/* 805880C8 */ void initBaseMtx();
@@ -38,6 +46,7 @@ public:
u8 getEventID() { return fopAcM_GetParamBit(this, 0x14, 8); }
u8 getNameArg() { return fopAcM_GetParamBit(this, 0x10, 4); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpGateModel;
/* 0x5AC */ J3DModel* mpGateModel2;
diff --git a/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h b/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h
index bbe9683f59..bccccfa1b3 100644
--- a/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h
+++ b/include/rel/d/a/obj/d_a_obj_ki/d_a_obj_ki.h
@@ -14,6 +14,14 @@ struct sq_cp_s {
STATIC_ASSERT(sizeof(sq_cp_s) == 0x30);
+/**
+ * @ingroup actors-objects
+ * @class obj_ki_class
+ * @brief Tree
+ *
+ * @details
+ *
+ */
class obj_ki_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
diff --git a/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h b/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h
index 59310e87bb..5967a7b228 100644
--- a/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h
+++ b/include/rel/d/a/obj/d_a_obj_kiPot/d_a_obj_kiPot.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_KIPOT_H
#define D_A_OBJ_KIPOT_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daKiPot_c
+ * @brief Coro Pot
+ *
+ * @details
+ *
+ */
+class daKiPot_c : public fopAc_ac_c {
+public:
+ /* 80C44D78 */ void setBaseMtx();
+ /* 80C44DD0 */ void create();
+ /* 80C44E7C */ void Execute();
+ /* 80C44EF8 */ void procMain();
+ /* 80C44F74 */ void init_modeWait();
+ /* 80C44F80 */ void modeWait();
+ /* 80C45008 */ void chkEvent();
+ /* 80C45058 */ bool Draw();
+ /* 80C45060 */ bool Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x578 - 0x568];
+};
+STATIC_ASSERT(sizeof(daKiPot_c) == 0x578);
+
+class daKiPot_HIO_c {
+public:
+ /* 80C44D0C */ daKiPot_HIO_c();
+ /* 80C450E8 */ ~daKiPot_HIO_c();
+};
+
#endif /* D_A_OBJ_KIPOT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h b/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h
index 7c1e0bb2f6..6a70d28663 100644
--- a/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h
+++ b/include/rel/d/a/obj/d_a_obj_kita/d_a_obj_kita.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_KITA_H
#define D_A_OBJ_KITA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_kita_class
+ * @brief Wind Plank
+ *
+ * @details
+ *
+ */
+class obj_kita_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xd78 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_kita_class) == 0xd78);
+
+struct kita_s {
+public:
+ /* 80C45E44 */ ~kita_s();
+ /* 80C45E80 */ kita_s();
+};
+
+class daObj_Kita_HIO_c {
+public:
+ /* 80C4534C */ daObj_Kita_HIO_c();
+ /* 80C45E84 */ ~daObj_Kita_HIO_c();
+};
+
#endif /* D_A_OBJ_KITA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h
index 45f9c06994..ab2b651768 100644
--- a/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h
+++ b/include/rel/d/a/obj/d_a_obj_kjgjs/d_a_obj_kjgjs.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjKJgjs_c
+ * @brief ???
+ *
+ * @details
+ *
+ */
class daObjKJgjs_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
/* 80C46098 */ int create1st();
@@ -17,9 +25,11 @@ public:
u32 getType() { return fopAcM_GetParamBit(this, 0, 4); }
+private:
/* 0x5A8 */ Mtx mMtx[2];
/* 0x608 */ J3DModel* mpModel;
/* 0x60C */ s32 field_0x60c;
-}; // Size: 0x610
+};
+STATIC_ASSERT(sizeof(daObjKJgjs_c) == 0x610);
#endif /* D_A_OBJ_KJGJS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h b/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h
index 9b9246da97..4c77b39447 100644
--- a/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h
+++ b/include/rel/d/a/obj/d_a_obj_kkanban/d_a_obj_kkanban.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjKKanban_c
+ * @brief Kakariko Sign
+ *
+ * @details
+ *
+ */
class daObjKKanban_c : public dBgS_MoveBgActor {
public:
/* 80C46768 */ void initBaseMtx();
@@ -28,6 +36,7 @@ public:
/* 0x74A */ s16 field_0x74a;
/* 0x74C */ f32 field_0x74c;
/* 0x750 */ s32 field_0x750;
-}; // Size: 0x758
+};
+STATIC_ASSERT(sizeof(daObjKKanban_c) == 0x754);
#endif /* D_A_OBJ_KKANBAN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h b/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h
index 31078327a1..b7569126ce 100644
--- a/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h
+++ b/include/rel/d/a/obj/d_a_obj_klift00/d_a_obj_klift00.h
@@ -1,5 +1,36 @@
#ifndef D_A_OBJ_KLIFT00_H
#define D_A_OBJ_KLIFT00_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKLift00_c
+ * @brief Water Wheel Lift?
+ *
+ * @details
+ *
+ */
+class daObjKLift00_c : public fopAc_ac_c {
+public:
+ struct ChainPos {
+ /* 8058C338 */ ~ChainPos();
+ /* 8058C374 */ ChainPos();
+ };
+
+ /* 8058B02C */ void create1st();
+ /* 8058B0D0 */ void setMtx();
+ /* 8058B4B0 */ void rideActor(fopAc_ac_c*);
+ /* 8058B5EC */ void CreateHeap();
+ /* 8058B77C */ void Create();
+ /* 8058B97C */ void Execute(f32 (**)[3][4]);
+ /* 8058BEEC */ void Draw();
+ /* 8058C014 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1160 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKLift00_c) == 0x1160);
+
#endif /* D_A_OBJ_KLIFT00_H */
diff --git a/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h b/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h
index 85a941e327..fc7e7f6c63 100644
--- a/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h
+++ b/include/rel/d/a/obj/d_a_obj_knBullet/d_a_obj_knBullet.h
@@ -1,5 +1,31 @@
#ifndef D_A_OBJ_KNBULLET_H
#define D_A_OBJ_KNBULLET_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKnBullet_c
+ * @brief Hero's Shade Energy Ball? (Knight Bullet)
+ *
+ * @details
+ *
+ */
+class daObjKnBullet_c : public fopAc_ac_c {
+public:
+ /* 80C47118 */ void Create();
+ /* 80C47300 */ void Execute();
+ /* 80C47480 */ bool Draw();
+ /* 80C47488 */ bool Delete();
+ /* 80C47490 */ void setBaseMtx();
+ /* 80C474E8 */ void col_init();
+ /* 80C47558 */ void col_chk();
+ /* 80C477B4 */ void hitPrtclSet();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x71c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKnBullet_c) == 0x71c);
+
#endif /* D_A_OBJ_KNBULLET_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h b/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h
index bc6d65edeb..eb89541131 100644
--- a/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h
+++ b/include/rel/d/a/obj/d_a_obj_kshutter/d_a_obj_kshutter.h
@@ -1,6 +1,63 @@
#ifndef D_A_OBJ_KSHUTTER_H
#define D_A_OBJ_KSHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKshtr_c
+ * @brief Lakebed Temple Boss Door
+ *
+ * @details
+ *
+ */
+class daObjKshtr_c : public fopAc_ac_c {
+public:
+ /* 80C47AB8 */ void initBaseMtx();
+ /* 80C47B2C */ void setBaseMtx();
+ /* 80C47C14 */ void Create();
+ /* 80C47E54 */ void offDzb();
+ /* 80C47EA8 */ void CreateHeap();
+ /* 80C48050 */ void initKey();
+ /* 80C48148 */ void phase_0();
+ /* 80C4827C */ void phase_1();
+ /* 80C48320 */ s32 phase_2();
+ /* 80C48328 */ void create1st();
+ /* 80C483CC */ void event_proc_call();
+ /* 80C48470 */ void event_proc_call2();
+ /* 80C4852C */ void Execute(f32 (**)[3][4]);
+ /* 80C48590 */ void checkArea();
+ /* 80C48708 */ void checkOpen();
+ /* 80C48798 */ void getDemoAction();
+ /* 80C487E0 */ void demoProc2();
+ /* 80C489E0 */ void adjustmentProc();
+ /* 80C48AC8 */ void keyUnlockInit();
+ /* 80C48B84 */ void keyUnlock();
+ /* 80C48BD8 */ void openInit();
+ /* 80C48D0C */ void openProc();
+ /* 80C48D80 */ void openProc_type1();
+ /* 80C48F94 */ void openProc_type2();
+ /* 80C490F8 */ void openProc_typeL3Boss();
+ /* 80C49158 */ void demoProc();
+ /* 80C4925C */ void demoJail1();
+ /* 80C494A8 */ void demoJail2();
+ /* 80C495A4 */ void demoJail11();
+ /* 80C496C8 */ bool demoJail21();
+ /* 80C496D0 */ void anmInit();
+ /* 80C497A0 */ void actionWaitEvent();
+ /* 80C49880 */ void actionEvent();
+ /* 80C49914 */ void actionDead();
+ /* 80C49918 */ void actionWaitEvent2();
+ /* 80C499CC */ void actionOpen();
+ /* 80C49A08 */ void actionEvent2();
+ /* 80C49A70 */ void actionDead2();
+ /* 80C49A74 */ void Draw();
+ /* 80C49B4C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x620 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKshtr_c) == 0x620);
+
#endif /* D_A_OBJ_KSHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h b/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h
index 580a6f1d2f..04ec22bf8a 100644
--- a/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h
+++ b/include/rel/d/a/obj/d_a_obj_ktOnFire/d_a_obj_ktOnFire.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_KTONFIRE_H
#define D_A_OBJ_KTONFIRE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daKtOnFire_c
+ * @brief Lantern Fire
+ *
+ * @details
+ *
+ */
+class daKtOnFire_c : public fopAc_ac_c {
+public:
+ /* 8058C678 */ void setBaseMtx();
+ /* 8058C6D0 */ void create();
+ /* 8058C960 */ void lightInit();
+ /* 8058C9D4 */ void setLight();
+ /* 8058C9F8 */ void cutLight();
+ /* 8058CA1C */ void Execute();
+ /* 8058CDF8 */ bool Draw();
+ /* 8058CE00 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x728 - 0x568];
+};
+STATIC_ASSERT(sizeof(daKtOnFire_c) == 0x728);
+
+class daKtOnFire_HIO_c {
+public:
+ /* 8058C60C */ daKtOnFire_HIO_c();
+ /* 8058CEA8 */ ~daKtOnFire_HIO_c();
+};
+
#endif /* D_A_OBJ_KTONFIRE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h b/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h
index 3915451bfc..e943fdd8ff 100644
--- a/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h
+++ b/include/rel/d/a/obj/d_a_obj_kuwagata/d_a_obj_kuwagata.h
@@ -1,5 +1,51 @@
#ifndef D_A_OBJ_KUWAGATA_H
#define D_A_OBJ_KUWAGATA_H
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKUW_c
+ * @brief Insect - Stag Beetle
+ *
+ * @details
+ *
+ */
+class daObjKUW_c : public fopAc_ac_c {
+public:
+ /* 80C4A21C */ void InitCcSph();
+ /* 80C4A288 */ void SetCcSph();
+ /* 80C4A300 */ void CreateHeap();
+ /* 80C4A6E4 */ void ShopWaitAction();
+ /* 80C4A84C */ void WaitAction();
+ /* 80C4A9D0 */ void WallCheck();
+ /* 80C4AC44 */ void SpeedSet();
+ /* 80C4AD50 */ void WallWalk();
+ /* 80C4B1A0 */ void WalkAction();
+ /* 80C4B3A0 */ void MoveAction();
+ /* 80C4BB88 */ void Action();
+ /* 80C4BC4C */ void ShopAction();
+ /* 80C4BD08 */ void Insect_Release();
+ /* 80C4BD20 */ void Z_BufferChk();
+ /* 80C4BE9C */ void ParticleSet();
+ /* 80C4BFC0 */ void BoomChk();
+ /* 80C4C38C */ void ObjHit();
+ /* 80C4C514 */ void Execute();
+ /* 80C4C78C */ void Delete();
+ /* 80C4C7F4 */ void setBaseMtx();
+ /* 80C4C95C */ void CreateChk();
+ /* 80C4CB08 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa68 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKUW_c) == 0xa68);
+
+class daObj_KuwHIO_c {
+public:
+ /* 80C4A1EC */ daObj_KuwHIO_c();
+ /* 80C4D3E8 */ ~daObj_KuwHIO_c();
+};
+
#endif /* D_A_OBJ_KUWAGATA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h b/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h
index 47aa7f3dd4..933f7d239b 100644
--- a/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h
+++ b/include/rel/d/a/obj/d_a_obj_kwheel00/d_a_obj_kwheel00.h
@@ -1,5 +1,32 @@
#ifndef D_A_OBJ_KWHEEL00_H
#define D_A_OBJ_KWHEEL00_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKWheel00_c
+ * @brief Water Wheel 00?
+ *
+ * @details
+ *
+ */
+class daObjKWheel00_c : public fopAc_ac_c {
+public:
+ /* 80C4D6F8 */ void create1st();
+ /* 80C4D86C */ void setMtx();
+ /* 80C4D9B8 */ void CreateHeap();
+ /* 80C4DA38 */ void Create();
+ /* 80C4DBBC */ void Execute(f32 (**)[3][4]);
+ /* 80C4E1B0 */ void Draw();
+ /* 80C4E254 */ void Delete();
+ /* 80C4E298 */ void eventStart();
+ /* 80C4E6E4 */ ~daObjKWheel00_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb44 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKWheel00_c) == 0xb44);
+
#endif /* D_A_OBJ_KWHEEL00_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h b/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h
index 30505b710d..7003709891 100644
--- a/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h
+++ b/include/rel/d/a/obj/d_a_obj_kwheel01/d_a_obj_kwheel01.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_KWHEEL01_H
#define D_A_OBJ_KWHEEL01_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKWheel01_c
+ * @brief Water Wheel 01?
+ *
+ * @details
+ *
+ */
+class daObjKWheel01_c : public fopAc_ac_c {
+public:
+ /* 80C4EA78 */ void create1st();
+ /* 80C4EC54 */ void setMtx();
+ /* 80C4EDCC */ void CreateHeap();
+ /* 80C4EF38 */ void Create();
+ /* 80C4F048 */ void Execute(f32 (**)[3][4]);
+ /* 80C4F344 */ void Draw();
+ /* 80C4F3E8 */ void Delete();
+ /* 80C4F498 */ void eventStart();
+ /* 80C4F60C */ ~daObjKWheel01_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x704 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKWheel01_c) == 0x704);
+
#endif /* D_A_OBJ_KWHEEL01_H */
diff --git a/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h b/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h
index 787138f40a..35e22aa795 100644
--- a/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h
+++ b/include/rel/d/a/obj/d_a_obj_kznkarm/d_a_obj_kznkarm.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_KZNKARM_H
#define D_A_OBJ_KZNKARM_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjKznkarm_c
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class daObjKznkarm_c : public fopAc_ac_c {
+public:
+ struct Mode_e {};
+
+ /* 80C4F858 */ void setAction(daObjKznkarm_c::Mode_e);
+ /* 80C4F88C */ void callInit();
+ /* 80C4F8B4 */ void callExecute();
+ /* 80C4F8E0 */ void initBroken();
+ /* 80C4F960 */ void executeBroken();
+ /* 80C4FBBC */ void initCarry();
+ /* 80C4FBEC */ void executeCarry();
+ /* 80C4FD18 */ void initThrow();
+ /* 80C4FDB4 */ void executeThrow();
+ /* 80C50488 */ void initStay();
+ /* 80C50504 */ void executeStay();
+ /* 80C505F8 */ void create_init();
+ /* 80C506DC */ void initBaseMtx();
+ /* 80C50708 */ void setBaseMtx();
+ /* 80C5076C */ void getGroundSlope(s16);
+
+ static u8 const M_attr[56];
+ static u8 ActionTable[96];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x7b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjKznkarm_c) == 0x7b4);
#endif /* D_A_OBJ_KZNKARM_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h b/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h
index 0e801f8c6e..6b25836fce 100644
--- a/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h
+++ b/include/rel/d/a/obj/d_a_obj_ladder/d_a_obj_ladder.h
@@ -1,6 +1,61 @@
#ifndef D_A_OBJ_LADDER_H
#define D_A_OBJ_LADDER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLadder
+ * @brief Ladder
+ *
+ * @details
+ *
+ */
+class daObjLadder : public fopAc_ac_c {
+public:
+ class Act_c {
+ public:
+ struct Prm_e {};
+
+ /* 8058D158 */ void CreateHeap();
+ /* 8058D1D8 */ void Create();
+ /* 8058D378 */ void Mthd_Create();
+ /* 8058D4F0 */ bool Delete();
+ /* 8058D4F8 */ void Mthd_Delete();
+ /* 8058D544 */ void demo_end_reset();
+ /* 8058D5AC */ void mode_wait_init();
+ /* 8058D5B8 */ void mode_wait();
+ /* 8058D614 */ void mode_demoreq_init();
+ /* 8058D628 */ void mode_demoreq();
+ /* 8058D6E8 */ void mode_vib_init();
+ /* 8058D710 */ void mode_vib();
+ /* 8058D7A8 */ void mode_drop_init();
+ /* 8058D7EC */ void mode_drop();
+ /* 8058D9C0 */ void mode_fell_init();
+ /* 8058D9CC */ void mode_fell();
+ /* 8058D9D0 */ void set_mtx();
+ /* 8058DA64 */ void init_mtx();
+ /* 8058DAA0 */ void Execute(f32 (**)[3][4]);
+ /* 8058DBB8 */ void Draw();
+
+ static u8 const M_arcname[5 + 3 /* padding */];
+ static u8 M_tmp_mtx[48];
+ };
+
+private:
+ /* 0x568 */ u8 field_0x568[0x620 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLadder) == 0x620);
+
+struct daObj {
+public:
+ /* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
+ template <typename A1>
+ void PrmAbstract(/* ... */);
+ /* 8058DD14 */ /* daObj::PrmAbstract<daObjLadder::Act_c::Prm_e> */
+ void func_8058DD14(void* _this, fopAc_ac_c const*, daObjLadder::Act_c::Prm_e,
+ daObjLadder::Act_c::Prm_e);
+};
+
#endif /* D_A_OBJ_LADDER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h b/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h
index 91e331da6e..3b9ba8f4be 100644
--- a/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h
+++ b/include/rel/d/a/obj/d_a_obj_laundry/d_a_obj_laundry.h
@@ -1,5 +1,37 @@
#ifndef D_A_OBJ_LAUNDRY_H
#define D_A_OBJ_LAUNDRY_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLdy_c
+ * @brief Laundry
+ *
+ * @details
+ *
+ */
+class daObjLdy_c : public fopAc_ac_c {
+public:
+ /* 80C50F98 */ void create_init();
+ /* 80C51088 */ void initBaseMtx();
+ /* 80C510F8 */ void setBaseMtx();
+ /* 80C5116C */ void getJointAngle(csXyz*, int);
+ /* 80C51194 */ void setNormalClothPos();
+ /* 80C51644 */ void calcJointAngle();
+ /* 80C5183C */ bool divorceParent();
+
+ static u8 const M_attr[52];
+private:
+ /* 0x568 */ u8 field_0x568[0x7c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLdy_c) == 0x7c8);
+
+class LaundJoint_c {
+public:
+ /* 80C51D2C */ ~LaundJoint_c();
+ /* 80C51EC0 */ LaundJoint_c();
+};
+
#endif /* D_A_OBJ_LAUNDRY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h b/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h
index b8c9910f05..68be77cb63 100644
--- a/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h
+++ b/include/rel/d/a/obj/d_a_obj_laundry_rope/d_a_obj_laundry_rope.h
@@ -1,5 +1,29 @@
#ifndef D_A_OBJ_LAUNDRY_ROPE_H
#define D_A_OBJ_LAUNDRY_ROPE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLndRope_c
+ * @brief Laundry Rope
+ *
+ * @details
+ *
+ */
+class daObjLndRope_c : public fopAc_ac_c {
+public:
+ /* 80C521F8 */ void create_init();
+ /* 80C5285C */ void initBaseMtx();
+ /* 80C52890 */ void setBaseMtx();
+ /* 80C528E0 */ void setNormalRopePos();
+
+ static u8 const M_attr[20];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1774 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLndRope_c) == 0x1774);
+
#endif /* D_A_OBJ_LAUNDRY_ROPE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h b/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h
index be66515aaf..b7ff261eec 100644
--- a/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h
+++ b/include/rel/d/a/obj/d_a_obj_lbox/d_a_obj_lbox.h
@@ -7,6 +7,14 @@
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class obj_lbox_class
+ * @brief L - Box (Large Box?)
+ *
+ * @details
+ *
+ */
class obj_lbox_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
@@ -28,7 +36,8 @@ public:
/* 0xA84 */ u32 field_0xa84;
/* 0xA88 */ u32 field_0xa88;
/* 0xA8C */ u8 field_0xa8c;
-}; // Size = 0xA90
+};
+STATIC_ASSERT(sizeof(obj_lbox_class) == 0xA90);
class daObj_Lbox_HIO_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h b/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h
index 41755394e8..88c32a6343 100644
--- a/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h
+++ b/include/rel/d/a/obj/d_a_obj_life_container/d_a_obj_life_container.h
@@ -1,5 +1,47 @@
#ifndef D_A_OBJ_LIFE_CONTAINER_H
#define D_A_OBJ_LIFE_CONTAINER_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLife_c
+ * @brief Heart Piece
+ *
+ * @details
+ *
+ */
+class daObjLife_c : public fopAc_ac_c {
+public:
+ /* 804CCBE4 */ void initBaseMtx();
+ /* 804CCC04 */ void setBaseMtx();
+ /* 804CCC6C */ void Create();
+ /* 804CCE00 */ void setEffect();
+ /* 804CCF5C */ void endEffect00();
+ /* 804CCFAC */ void endEffect02();
+ /* 804CCFD8 */ bool __CreateHeap();
+ /* 804CCFE0 */ void create();
+ /* 804CD428 */ void bg_check();
+ /* 804CD5B8 */ void actionWaitInit();
+ /* 804CD660 */ void actionWait();
+ /* 804CD8C0 */ void initActionOrderGetDemo();
+ /* 804CD98C */ void actionOrderGetDemo();
+ /* 804CDA08 */ void actionGetDemo();
+ /* 804CDBC8 */ void actionSwOnWait();
+ /* 804CDC2C */ void actionInitBoomerangCarry();
+ /* 804CDD0C */ void actionBoomerangCarry();
+ /* 804CDD7C */ void actionInitWait2();
+ /* 804CDD8C */ void actionWait2();
+ /* 804CDDAC */ void calcScale();
+ /* 804CDE70 */ void execute();
+ /* 804CE19C */ void draw();
+ /* 804CE1F0 */ void setListStart();
+ /* 804CE214 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9d4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLife_c) == 0x9d4);
+
#endif /* D_A_OBJ_LIFE_CONTAINER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h b/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h
index 6d4c3ba2e7..ea90681e1f 100644
--- a/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h
+++ b/include/rel/d/a/obj/d_a_obj_lp/d_a_obj_lp.h
@@ -1,6 +1,27 @@
#ifndef D_A_OBJ_LP_H
#define D_A_OBJ_LP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+struct wd_ss {
+public:
+ /* 80C559C8 */ ~wd_ss();
+ /* 80C55A04 */ wd_ss();
+};
+
+/**
+ * @ingroup actors-objects
+ * @class obj_lp_class
+ * @brief Lily Pad
+ *
+ * @details
+ *
+ */
+class obj_lp_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xadb8 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_lp_class) == 0xadb8);
+
#endif /* D_A_OBJ_LP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h b/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h
index 87df9eea6e..c335738533 100644
--- a/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h
+++ b/include/rel/d/a/obj/d_a_obj_lv1Candle00/d_a_obj_lv1Candle00.h
@@ -6,15 +6,16 @@
#include "d/cc/d_cc_d.h"
#include "m_Do/m_Do_hostIO.h"
-class daLv1Cdl00_HIO_c : public mDoHIO_entry_c {
-public:
- /* 80C55D0C */ daLv1Cdl00_HIO_c();
- /* 80C56970 */ ~daLv1Cdl00_HIO_c() {}
- /* 0x4 */ u8 field_0x4;
- /* 0x5 */ u8 field_0x5;
-};
+/**
+ * @ingroup actors-objects
+ * @class daLv1Cdl00_c
+ * @brief Forest Temple Torch 00
+ *
+ * @details
+ *
+ */
class daLv1Cdl00_c : public fopAc_ac_c {
public:
/* 80C55D80 */ void setBaseMtx();
@@ -29,6 +30,7 @@ public:
/* 80C567EC */ int Draw();
/* 80C56890 */ int Delete();
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dCcD_Stts mStts;
@@ -50,4 +52,13 @@ public:
STATIC_ASSERT(sizeof(daLv1Cdl00_c) == 0x754);
+class daLv1Cdl00_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C55D0C */ daLv1Cdl00_HIO_c();
+ /* 80C56970 */ ~daLv1Cdl00_HIO_c() {}
+
+ /* 0x4 */ u8 field_0x4;
+ /* 0x5 */ u8 field_0x5;
+};
+
#endif /* D_A_OBJ_LV1CANDLE00_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h b/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h
index 11ece32505..4b34895e7e 100644
--- a/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h
+++ b/include/rel/d/a/obj/d_a_obj_lv1Candle01/d_a_obj_lv1Candle01.h
@@ -6,15 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "m_Do/m_Do_hostIO.h"
-class daLv1Cdl01_HIO_c : public mDoHIO_entry_c {
-public:
- /* 80C56CAC */ daLv1Cdl01_HIO_c();
- /* 80C5777C */ ~daLv1Cdl01_HIO_c() {}
-
- /* 0x4 */ u8 field_0x4;
- /* 0x5 */ u8 field_0x5;
-};
-
+/**
+ * @ingroup actors-objects
+ * @class daLv1Cdl01_c
+ * @brief Forest Temple Torch 01
+ *
+ * @details
+ *
+ */
class daLv1Cdl01_c : public dBgS_MoveBgActor {
public:
/* 80C56D20 */ void setBaseMtx();
@@ -28,6 +27,7 @@ public:
/* 80C575F4 */ int Draw();
/* 80C57698 */ int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mStts;
@@ -48,4 +48,13 @@ public:
STATIC_ASSERT(sizeof(daLv1Cdl01_c) == 0x78C);
+class daLv1Cdl01_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C56CAC */ daLv1Cdl01_HIO_c();
+ /* 80C5777C */ ~daLv1Cdl01_HIO_c() {}
+
+ /* 0x4 */ u8 field_0x4;
+ /* 0x5 */ u8 field_0x5;
+};
+
#endif /* D_A_OBJ_LV1CANDLE01_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h b/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h
index 03f56d0c72..95fe393c51 100644
--- a/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h
+++ b/include/rel/d/a/obj/d_a_obj_lv2Candle/d_a_obj_lv2Candle.h
@@ -5,24 +5,15 @@
#include "m_Do/m_Do_hostIO.h"
#include "rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h"
-class daLv2Candle_HIO_c : public mDoHIO_entry_c {
-public:
- /* 8058E04C */ daLv2Candle_HIO_c();
- /* 8058F050 */ ~daLv2Candle_HIO_c() {}
-
- /* 0x04 */ u8 mTimer;
- /* 0x08 */ f32 mPow;
- /* 0x0C */ f32 mAnmMaxStep;
- /* 0x10 */ f32 mAnmIntensity[6];
- /* 0x28 */ u8 mAnmTimers[6];
- /* 0x2E */ u8 mColor1R;
- /* 0x2F */ u8 mColor1G;
- /* 0x30 */ u8 mColor1B;
- /* 0x31 */ u8 mColor2R;
- /* 0x32 */ u8 mColor2G;
- /* 0x33 */ u8 mColor2B;
-};
+/**
+ * @ingroup actors-objects
+ * @class daLv2Candle_c
+ * @brief Goron Mines Torch
+ *
+ * @details
+ *
+ */
class daLv2Candle_c : public fopAc_ac_c {
public:
/* 8058E13C */ void setBaseMtx();
@@ -46,6 +37,7 @@ public:
u8 getSwType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dCcD_Stts mStts;
@@ -74,4 +66,22 @@ public:
STATIC_ASSERT(sizeof(daLv2Candle_c) == 0x75C);
+class daLv2Candle_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 8058E04C */ daLv2Candle_HIO_c();
+ /* 8058F050 */ ~daLv2Candle_HIO_c() {}
+
+ /* 0x04 */ u8 mTimer;
+ /* 0x08 */ f32 mPow;
+ /* 0x0C */ f32 mAnmMaxStep;
+ /* 0x10 */ f32 mAnmIntensity[6];
+ /* 0x28 */ u8 mAnmTimers[6];
+ /* 0x2E */ u8 mColor1R;
+ /* 0x2F */ u8 mColor1G;
+ /* 0x30 */ u8 mColor1B;
+ /* 0x31 */ u8 mColor2R;
+ /* 0x32 */ u8 mColor2G;
+ /* 0x33 */ u8 mColor2B;
+};
+
#endif /* D_A_OBJ_LV2CANDLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h b/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h
index 343c74ce14..0a6c002a86 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3Candle/d_a_obj_lv3Candle.h
@@ -5,15 +5,15 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
-class daLv3Candle_HIO_c : public mDoHIO_entry_c {
-public:
- /* 80C57ACC */ daLv3Candle_HIO_c();
- /* 80C58484 */ virtual ~daLv3Candle_HIO_c() {}
-
- /* 0x00 vtable */
- /* 0x04 */ u8 field_0x04;
-};
+/**
+ * @ingroup actors-objects
+ * @class daLv3Candle_c
+ * @brief Lakebed Temple Torch
+ *
+ * @details
+ *
+ */
class daLv3Candle_c : public fopAc_ac_c {
public:
/* 80C57B38 */ void setBaseMtx();
@@ -29,6 +29,7 @@ public:
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getType() { return fopAcM_GetParamBit(this, 8, 8); }
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ u8 mType;
@@ -50,4 +51,13 @@ public:
STATIC_ASSERT(sizeof(daLv3Candle_c) == 0x754);
+class daLv3Candle_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C57ACC */ daLv3Candle_HIO_c();
+ /* 80C58484 */ virtual ~daLv3Candle_HIO_c() {}
+
+ /* 0x00 vtable */
+ /* 0x04 */ u8 field_0x04;
+};
+
#endif /* D_A_OBJ_LV3CANDLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h b/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h
index db80ff490a..8609030bc4 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3Water/d_a_obj_lv3Water.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_LV3WATER_H
#define D_A_OBJ_LV3WATER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv3Water_c
+ * @brief Lakebed Temple Water
+ *
+ * @details
+ *
+ */
+class daLv3Water_c : public fopAc_ac_c {
+public:
+ /* 80C58838 */ void setBaseMtx();
+ /* 80C5891C */ void CreateHeap();
+ /* 80C58ABC */ void create();
+ /* 80C58D68 */ void Execute(f32 (**)[3][4]);
+ /* 80C58E20 */ void effectSet();
+ /* 80C596F4 */ void mode_proc_wait();
+ /* 80C59754 */ void mode_init_levelCtrl();
+ /* 80C597FC */ void mode_proc_levelCtrl();
+ /* 80C598BC */ void Draw();
+ /* 80C59AA0 */ void Delete();
+ /* 80C59AE0 */ void eventStart();
+ /* 80C59D80 */ ~daLv3Water_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x628 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv3Water_c) == 0x628);
+
+class daLv3Water_HIO_c {
+public:
+ /* 80C587CC */ daLv3Water_HIO_c();
+ /* 80C59C34 */ ~daLv3Water_HIO_c();
+};
+
#endif /* D_A_OBJ_LV3WATER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h b/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h
index 50fb59a886..ad61d3967e 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3Water2/d_a_obj_lv3Water2.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_LV3WATER2_H
#define D_A_OBJ_LV3WATER2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv3Water2_c
+ * @brief Lakebed Temple Water 2
+ *
+ * @details
+ *
+ */
+class daLv3Water2_c : public fopAc_ac_c {
+public:
+ /* 80C5A478 */ void setBaseMtx();
+ /* 80C5A4F8 */ void CreateHeap();
+ /* 80C5A5E4 */ void create();
+ /* 80C5A844 */ void Execute(f32 (**)[3][4]);
+ /* 80C5AC10 */ void mode_proc_wait();
+ /* 80C5ACB8 */ void mode_init_levelCtrl();
+ /* 80C5ACE4 */ void mode_proc_levelCtrl();
+ /* 80C5ADA4 */ void Draw();
+ /* 80C5AEFC */ void Delete();
+ /* 80C5AF3C */ void eventStart();
+ /* 80C5B298 */ ~daLv3Water2_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x610 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv3Water2_c) == 0x610);
+
+class daLv3Water2_HIO_c {
+public:
+ /* 80C5A40C */ daLv3Water2_HIO_c();
+ /* 80C5B14C */ ~daLv3Water2_HIO_c();
+};
+
#endif /* D_A_OBJ_LV3WATER2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h b/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h
index 31dfebae43..0946d244c2 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3WaterB/d_a_obj_lv3WaterB.h
@@ -9,6 +9,14 @@ enum obj_lv3waterB_action {
LV3WATERB_ACT_END,
};
+/**
+ * @ingroup actors-objects
+ * @class obj_lv3WaterB_class
+ * @brief Lakebed Temple Water (Boss)
+ *
+ * @details
+ *
+ */
class obj_lv3WaterB_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mBWaterPhase;
@@ -25,5 +33,6 @@ public:
/* 0x5C4 */ Mtx mpOctHibiMtx;
/* 0x5F4 */ dBgW* mpOctHibiBgW;
};
+STATIC_ASSERT(sizeof(obj_lv3WaterB_class) == 0x5F8);
#endif /* D_A_OBJ_LV3WATERB_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h b/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h
index 095211074a..9fe34f6cf4 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3saka00/d_a_obj_lv3saka00.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjLv3saka_c
+ * @brief Lakebed Temple Spiral 00
+ *
+ * @details
+ *
+ */
class daObjLv3saka_c : public dBgS_MoveBgActor {
public:
/* 80C5BE58 */ void initBaseMtx();
@@ -20,6 +28,7 @@ public:
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; }
u8 getType() { return fopAcM_GetParamBit(this, 28, 4) & 0xFF; }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ dBgW* mpBgW2;
};
diff --git a/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h b/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h
index e8064a8889..e86ff57680 100644
--- a/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h
+++ b/include/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjWaterEff_c
+ * @brief Room 09 Water
+ *
+ * @details
+ *
+ */
class daObjWaterEff_c : public fopAc_ac_c {
public:
/* 80C5C4F8 */ int Create();
@@ -10,9 +18,11 @@ public:
/* 80C5C6B0 */ int execute();
/* 80C5C7B8 */ int _delete();
+private:
/* 0x568 */ cXyz mSePositions[2];
/* 0x580 */ JPABaseEmitter* mParticles[4];
/* 0x590 */ u8 unused_0x590[0x594 - 0x590];
};
+STATIC_ASSERT(sizeof(daObjWaterEff_c) == 0x594);
#endif /* D_A_OBJ_LV3WATEREFF_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h b/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h
index 414287a632..fc89caa210 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4CandleDemoTag/d_a_obj_lv4CandleDemoTag.h
@@ -1,5 +1,70 @@
#ifndef D_A_OBJ_LV4CANDLEDEMOTAG_H
#define D_A_OBJ_LV4CANDLEDEMOTAG_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/event/d_event_lib.h"
+#include "rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h"
+
+// idk how this works atm. dEvLib_callback_c seems to need to be inherited, but this data comes
+// before it. the fopAc_ac_c struct size is 100% correct, so do not change it
+struct temp {
+ /* 0x568 */ u8 field_0x568[0x570 - 0x568];
+};
+
+/**
+ * @ingroup actors-objects
+ * @class dalv4CandleDemoTag_c
+ * @brief Arbiter's Grounds Torch Cutscene Tag
+ *
+ * @details
+ *
+ */
+class dalv4CandleDemoTag_c : public fopAc_ac_c, temp, public dEvLib_callback_c {
+public:
+ dalv4CandleDemoTag_c() : dEvLib_callback_c(this) {}
+
+ /* 80C5CA58 */ void setBaseMtx();
+ /* 80C5CA90 */ int create();
+ /* 80C5CBA4 */ int Execute();
+ /* 80C5CBE8 */ void procMain();
+ /* 80C5CCA4 */ void init_modeWatch();
+ /* 80C5CCC0 */ void modeWatch();
+ /* 80C5CDC0 */ void init_modeEnemyCreate();
+ /* 80C5CE70 */ void modeEnemyCreate();
+ /* 80C5CEB4 */ void init_modeNG();
+ /* 80C5CEC0 */ void modeNG();
+ /* 80C5CF34 */ void init_modeEnd();
+ /* 80C5CF40 */ void modeEnd();
+ /* 80C5CF9C */ static void* searchShutterAct(void*, void*);
+ /* 80C5CFEC */ int Draw();
+ /* 80C5CFF4 */ int Delete();
+
+ u8 getPathID() { return fopAcM_GetParamBit(this, 0x10, 8); }
+ int getSwNG() { return fopAcM_GetParamBit(this, 0, 8); }
+ int getSwDest() { return fopAcM_GetParamBit(this, 8, 8); }
+ int getSwOK() { return shape_angle.x & 0xFF; }
+ int getEventID() { return fopAcM_GetParamBit(this, 0x18, 8); }
+
+ /* 80C5D184 */ virtual ~dalv4CandleDemoTag_c();
+ /* 80C5CF78 */ virtual BOOL eventStart();
+
+private:
+ /* 0x584 */ u8 mMode;
+ /* 0x585 */ u8 mPathID;
+ /* 0x586 */ u8 mSwNG;
+ /* 0x587 */ u8 mSwDest;
+ /* 0x588 */ u16 mEnemyWaitTime;
+ /* 0x58C */ daLv4EdShutter_c* mpShutterActor;
+};
+STATIC_ASSERT(sizeof(dalv4CandleDemoTag_c) == 0x590);
+
+class dalv4CandleDemoTag_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C5C9EC */ dalv4CandleDemoTag_HIO_c();
+ /* 80C5D07C */ virtual ~dalv4CandleDemoTag_HIO_c();
+
+ /* 0x4 */ s16 mEnemyWaitTime;
+};
+
#endif /* D_A_OBJ_LV4CANDLEDEMOTAG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h b/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h
index 47866d3aed..6b24062d53 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h
@@ -11,6 +11,14 @@ struct unknown {
// dalv4CandleTag_c should inherit fopAc_ac_c, unknown, and dEvLib_callback_c
// but this causes issues with weak function ordering
+/**
+ * @ingroup actors-objects
+ * @class dalv4CandleTag_c
+ * @brief Arbiter's Grounds Torch Tag
+ *
+ * @details
+ *
+ */
class dalv4CandleTag_c : public fopAc_ac_c {
public:
enum Mode {
diff --git a/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h b/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h
index e5d34b6597..a3d9ac9ae9 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4EdShutter/d_a_obj_lv4EdShutter.h
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_LV4EDSHUTTER_H
#define D_A_OBJ_LV4EDSHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv4EdShutter_c
+ * @brief Arbiter's Grounds Death Sword Gate
+ *
+ * @details
+ *
+ */
+class daLv4EdShutter_c : public fopAc_ac_c {
+public:
+ /* 80C5DE38 */ void setBaseMtx();
+ /* 80C5DEC8 */ void CreateHeap();
+ /* 80C5DF34 */ void create();
+ /* 80C5E0A4 */ void Execute(f32 (**)[3][4]);
+ /* 80C5E0F4 */ void move();
+ /* 80C5E1B0 */ void init_modeWait();
+ /* 80C5E1C8 */ void modeWait();
+ /* 80C5E2E0 */ void init_modeOpen();
+ /* 80C5E394 */ void modeOpen();
+ /* 80C5E464 */ void init_modeClose();
+ /* 80C5E518 */ void modeClose();
+ /* 80C5E584 */ void init_modeEnd();
+ /* 80C5E590 */ void modeEnd();
+ /* 80C5E594 */ void eventStart();
+ /* 80C5E5CC */ void Draw();
+ /* 80C5E670 */ void Delete();
+ /* 80C5E834 */ ~daLv4EdShutter_c();
+
+ u8 getStatus() { return mStatus; }
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5CA - 0x568];
+ /* 0x5CA */ u8 mStatus;
+ /* 0x5CB */ u8 field_0x56B[0x5DC - 0x5CB];
+};
+STATIC_ASSERT(sizeof(daLv4EdShutter_c) == 0x5dc);
+
+class daLv4EdShutter_HIO_c {
+public:
+ /* 80C5DDAC */ daLv4EdShutter_HIO_c();
+ /* 80C5E72C */ ~daLv4EdShutter_HIO_c();
+};
+
#endif /* D_A_OBJ_LV4EDSHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h b/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h
index bd7e1ab36b..bf64154869 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h
@@ -5,6 +5,14 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daLv4Gate_c
+ * @brief Arbiter's Grounds Gate
+ *
+ * @details
+ *
+ */
class daLv4Gate_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
diff --git a/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h b/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h
index ff4f82776f..48ff469bdc 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4HsTarget/d_a_obj_lv4HsTarget.h
@@ -5,6 +5,14 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daLv4HsTarget_c
+ * @brief Arbiter's Grounds Clawshot Target
+ *
+ * @details
+ *
+ */
class daLv4HsTarget_c : public dBgS_MoveBgActor {
public:
/* 80C5F690 */ void setBaseMtx();
@@ -15,9 +23,11 @@ public:
/* 80C5F870 */ virtual int Draw();
/* 80C5F8D4 */ virtual int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
};
+STATIC_ASSERT(sizeof(daLv4HsTarget_c) == 0x5AC);
class daLv4HsTarget_HIO_c : public mDoHIO_entry_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h
index c2972353a5..ccf75b3141 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h
@@ -5,23 +5,14 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
-class daLv4PoGate_HIO_c : public mDoHIO_entry_c {
-public:
- /* 80C5FBEC */ daLv4PoGate_HIO_c();
- /* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {};
-
- /* 0x04 */ f32 mOpenSpeed;
- /* 0x08 */ f32 mCloseStep1Speed;
- /* 0x0C */ f32 mCloseStep2Speed;
- /* 0x10 */ f32 mCloseStep1Amount;
- /* 0x14 */ f32 mCloseStep2Amount;
- /* 0x18 */ u8 mCloseStep1Wait;
- /* 0x19 */ u8 mCloseStep2Wait;
- /* 0x1C */ f32 mCloseStep3Speed;
- /* 0x20 */ f32 mCloseStep3Max;
- /* 0x24 */ u8 mShockStrength;
-};
-
+/**
+ * @ingroup actors-objects
+ * @class daLv4PoGate_c
+ * @brief Arbiter's Grounds Poe Gate
+ *
+ * @details
+ *
+ */
class daLv4PoGate_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
@@ -61,6 +52,7 @@ public:
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
@@ -70,5 +62,23 @@ public:
/* 0x5B4 */ f32 mMoveValue;
/* 0x5B8 */ u8 mCloseWaitTime;
};
+STATIC_ASSERT(sizeof(daLv4PoGate_c) == 0x5BC);
+
+class daLv4PoGate_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C5FBEC */ daLv4PoGate_HIO_c();
+ /* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {};
+
+ /* 0x04 */ f32 mOpenSpeed;
+ /* 0x08 */ f32 mCloseStep1Speed;
+ /* 0x0C */ f32 mCloseStep2Speed;
+ /* 0x10 */ f32 mCloseStep1Amount;
+ /* 0x14 */ f32 mCloseStep2Amount;
+ /* 0x18 */ u8 mCloseStep1Wait;
+ /* 0x19 */ u8 mCloseStep2Wait;
+ /* 0x1C */ f32 mCloseStep3Speed;
+ /* 0x20 */ f32 mCloseStep3Max;
+ /* 0x24 */ u8 mShockStrength;
+};
#endif /* D_A_OBJ_LV4POGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h b/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h
index d8567d8a7e..63a6d29281 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4RailWall/d_a_obj_lv4RailWall.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_LV4RAILWALL_H
#define D_A_OBJ_LV4RAILWALL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Wall_c
+ * @brief Arbiters Grounds Spinner Rail Wall (Stallord Arena)
+ *
+ * @details
+ *
+ */
+class daObjLv4Wall_c : public fopAc_ac_c {
+public:
+ /* 80C60AC4 */ void initBaseMtx();
+ /* 80C60B00 */ void setBaseMtx();
+ /* 80C60B7C */ void Create();
+ /* 80C60CD0 */ void CreateHeap();
+ /* 80C60D40 */ void create1st();
+ /* 80C60DC4 */ void Execute(f32 (**)[3][4]);
+ /* 80C60E90 */ void action();
+ /* 80C60F4C */ void mode_init_wait();
+ /* 80C60F58 */ void mode_wait();
+ /* 80C61004 */ void mode_init_move();
+ /* 80C61068 */ void mode_move();
+ /* 80C613C0 */ void mode_init_dead();
+ /* 80C613CC */ void mode_dead();
+ /* 80C613D0 */ void eventStart();
+ /* 80C6143C */ void Draw();
+ /* 80C614E0 */ void Delete();
+ /* 80C61940 */ ~daObjLv4Wall_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x95c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv4Wall_c) == 0x95c);
+
#endif /* D_A_OBJ_LV4RAILWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h b/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h
index 8c7064ef0e..068629fc92 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4SlideWall/d_a_obj_lv4SlideWall.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_LV4SLIDEWALL_H
#define D_A_OBJ_LV4SLIDEWALL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSldWall_c
+ * @brief Arbiter's Grounds Sliding Wall
+ *
+ * @details
+ *
+ */
+class daSldWall_c : public fopAc_ac_c {
+public:
+ /* 80C61EB0 */ void setBaseMtx();
+ /* 80C61F4C */ void CreateHeap();
+ /* 80C61FB8 */ void create();
+ /* 80C620E4 */ void Execute(f32 (**)[3][4]);
+ /* 80C62134 */ void moveWall();
+ /* 80C62238 */ void init_modeWait();
+ /* 80C62244 */ void modeWait();
+ /* 80C62248 */ void init_modeMoveOpen();
+ /* 80C62254 */ void modeMoveOpen();
+ /* 80C62314 */ void init_modeMoveClose();
+ /* 80C62320 */ void modeMoveClose();
+ /* 80C623E0 */ void setSe();
+ /* 80C6249C */ void Draw();
+ /* 80C62540 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSldWall_c) == 0x5b4);
+
+class daSldWall_HIO_c {
+public:
+ /* 80C61E2C */ daSldWall_HIO_c();
+ /* 80C625FC */ ~daSldWall_HIO_c();
+};
+
#endif /* D_A_OBJ_LV4SLIDEWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h b/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h
index b1227301cc..eb8d20dd64 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4bridge/d_a_obj_lv4bridge.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_LV4BRIDGE_H
#define D_A_OBJ_LV4BRIDGE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Brg_c
+ * @brief Arbiter's Grounds Bridge
+ *
+ * @details
+ *
+ */
+class daObjLv4Brg_c : public fopAc_ac_c {
+public:
+ /* 80C62878 */ void initBaseMtx();
+ /* 80C628B4 */ void setBaseMtx();
+ /* 80C62994 */ void Create();
+ /* 80C62A2C */ void CreateHeap();
+ /* 80C62A9C */ void create1st();
+ /* 80C62B20 */ void Execute(f32 (**)[3][4]);
+ /* 80C62B6C */ void action();
+ /* 80C62C28 */ void mode_init_wait();
+ /* 80C62C34 */ void mode_wait();
+ /* 80C62CE4 */ void mode_init_move();
+ /* 80C62CFC */ void mode_move();
+ /* 80C62E24 */ void mode_init_dead();
+ /* 80C62E30 */ void mode_dead();
+ /* 80C62E34 */ void eventStart();
+ /* 80C62EA0 */ void Draw();
+ /* 80C62F44 */ void Delete();
+ /* 80C630C4 */ ~daObjLv4Brg_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5d0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv4Brg_c) == 0x5d0);
+
#endif /* D_A_OBJ_LV4BRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h b/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h
index d6d0dfb533..eae512d55f 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4chandelier/d_a_obj_lv4chandelier.h
@@ -1,5 +1,47 @@
#ifndef D_A_OBJ_LV4CHANDELIER_H
#define D_A_OBJ_LV4CHANDELIER_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/d_model.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Chan_c
+ * @brief Arbiter's Grounds Chandelier
+ *
+ * @details
+ *
+ */
+class daObjLv4Chan_c : public fopAc_ac_c {
+public:
+ struct ChainPos {
+ /* 80C66564 */ ~ChainPos();
+ /* 80C665A0 */ ChainPos();
+ };
+
+ /* 80C63360 */ void create1st();
+ /* 80C634CC */ void setMtxChain(daObjLv4Chan_c::ChainPos*, dMdl_obj_c*, int);
+ /* 80C636B4 */ void setMtx();
+ /* 80C639B4 */ void rideActor(fopAc_ac_c*);
+ /* 80C63CFC */ void CreateHeap();
+ /* 80C63FA8 */ void Create();
+ /* 80C6449C */ void constraintChain(daObjLv4Chan_c::ChainPos*, int);
+ /* 80C64668 */ void constraintBase();
+ /* 80C647FC */ void calcVec(daObjLv4Chan_c::ChainPos*, int);
+ /* 80C64878 */ void chkGnd();
+ /* 80C648F4 */ void Execute(f32 (**)[3][4]);
+ /* 80C65F04 */ void Draw();
+ /* 80C66114 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x24a4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv4Chan_c) == 0x24a4);
+
+class daObjSwChain_c : public fopAc_ac_c {
+public:
+ /* 80C665A4 */ void checkTight();
+};
+
#endif /* D_A_OBJ_LV4CHANDELIER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h b/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h
index 0ccc27a0d6..424c52302f 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4digsand/d_a_obj_lv4digsand.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_LV4DIGSAND_H
#define D_A_OBJ_LV4DIGSAND_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjL4DigSand_c
+ * @brief Arbiter's Grounds Digging Sand
+ *
+ * @details
+ *
+ */
+class daObjL4DigSand_c : public fopAc_ac_c {
+public:
+ /* 80C66B18 */ void initBaseMtx();
+ /* 80C66B54 */ void setBaseMtx();
+ /* 80C66BC8 */ void Create();
+ /* 80C66C24 */ void CreateHeap();
+ /* 80C66C94 */ void create1st();
+ /* 80C66D40 */ void Execute(f32 (**)[3][4]);
+ /* 80C66DD0 */ void action();
+ /* 80C66E74 */ void mode_init_wait();
+ /* 80C66E80 */ void mode_wait();
+ /* 80C66EAC */ void mode_init_dig();
+ /* 80C66FFC */ void mode_dig();
+ /* 80C670AC */ void mode_init_end();
+ /* 80C67100 */ void mode_end();
+ /* 80C67104 */ void Draw();
+ /* 80C671A8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x944 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjL4DigSand_c) == 0x944);
+
#endif /* D_A_OBJ_LV4DIGSAND_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h b/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h
index dedfcb41c0..99295ea374 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4floor/d_a_obj_lv4floor.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Floor_c
+ * @brief Arbiter's Grounds Floor
+ *
+ * @details
+ *
+ */
class daObjLv4Floor_c : public dBgS_MoveBgActor {
public:
enum Action_e {
@@ -30,10 +38,12 @@ public:
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ f32 mMoveYPos;
/* 0x5B0 */ u8 mAction;
};
+STATIC_ASSERT(sizeof(daObjLv4Floor_c) == 0x5B4);
#endif /* D_A_OBJ_LV4FLOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h b/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h
index b5472017da..4a5e25ae70 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4gear/d_a_obj_lv4gear.h
@@ -3,6 +3,14 @@
#include "rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Gear_c
+ * @brief Arbiter's Grounds Spinner Gear
+ *
+ * @details
+ *
+ */
class daObjLv4Gear_c : public fopAc_ac_c {
public:
enum gear_type_e {
@@ -23,6 +31,7 @@ public:
u8 getType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 checkSE() { return fopAcM_GetParamBit(this, 12, 4); }
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ s16 mTarget;
diff --git a/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h b/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h
index 4a88c0f3b5..c65cd7320b 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4prelvtr/d_a_obj_lv4prelvtr.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_LV4PRELVTR_H
#define D_A_OBJ_LV4PRELVTR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjPRElvtr_c
+ * @brief Arbiter's Grounds Elevator?
+ *
+ * @details
+ *
+ */
+class daObjPRElvtr_c : public fopAc_ac_c {
+public:
+ /* 80C685F8 */ void create1st();
+ /* 80C68688 */ void setMtx();
+ /* 80C686F8 */ void CreateHeap();
+ /* 80C68768 */ void Create();
+ /* 80C68844 */ void Execute(f32 (**)[3][4]);
+ /* 80C68944 */ void Draw();
+ /* 80C689E8 */ void Delete();
+ /* 80C68AF0 */ ~daObjPRElvtr_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x610 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjPRElvtr_c) == 0x610);
+
#endif /* D_A_OBJ_LV4PRELVTR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h b/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h
index 3f546c5b7d..6c3ec3503c 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4prwall/d_a_obj_lv4prwall.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_LV4PRWALL_H
#define D_A_OBJ_LV4PRWALL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4PRwall_c
+ * @brief Arbiter's Grounds Rail Wall (Not Stallord?)
+ *
+ * @details
+ *
+ */
+class daObjLv4PRwall_c : public fopAc_ac_c {
+public:
+ /* 80C68C98 */ void create1st();
+ /* 80C68DD8 */ void setMtx();
+ /* 80C68F20 */ void CreateHeap();
+ /* 80C68FA0 */ void Create();
+ /* 80C690D8 */ void Execute(f32 (**)[3][4]);
+ /* 80C696BC */ void Draw();
+ /* 80C69760 */ void Delete();
+ /* 80C69870 */ ~daObjLv4PRwall_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x62c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv4PRwall_c) == 0x62c);
+
#endif /* D_A_OBJ_LV4PRWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h b/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h
index 675a8a6db1..25122a46c1 100644
--- a/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h
+++ b/include/rel/d/a/obj/d_a_obj_lv4sand/d_a_obj_lv4sand.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_LV4SAND_H
#define D_A_OBJ_LV4SAND_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv4Sand_c
+ * @brief Arbiter's Grounds Sand (Stallord Arena)
+ *
+ * @details
+ *
+ */
+class daObjLv4Sand_c : public fopAc_ac_c {
+public:
+ /* 80C69A98 */ void initBaseMtx();
+ /* 80C69AD4 */ void setBaseMtx();
+ /* 80C69B50 */ void Create();
+ /* 80C69C28 */ void CreateHeap();
+ /* 80C69D8C */ void create1st();
+ /* 80C69E10 */ void Execute(f32 (**)[3][4]);
+ /* 80C69F18 */ void action();
+ /* 80C69FBC */ void mode_init_wait();
+ /* 80C69FC8 */ void mode_wait();
+ /* 80C6A01C */ void mode_init_move();
+ /* 80C6A034 */ void mode_move();
+ /* 80C6A09C */ void mode_init_dead();
+ /* 80C6A0A8 */ void mode_dead();
+ /* 80C6A0AC */ void eventStart();
+ /* 80C6A0D0 */ void Draw();
+ /* 80C6A18C */ void Delete();
+ /* 80C6A30C */ ~daObjLv4Sand_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv4Sand_c) == 0x5c8);
+
#endif /* D_A_OBJ_LV4SAND_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h
index 9048acff8e..c5d1563b46 100644
--- a/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h
+++ b/include/rel/d/a/obj/d_a_obj_lv5FloorBoard/d_a_obj_lv5FloorBoard.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_LV5FLOORBOARD_H
#define D_A_OBJ_LV5FLOORBOARD_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daFlorBoad_c
+ * @brief Snowpeak Ruins Destructable Floor
+ *
+ * @details
+ *
+ */
+class daFlorBoad_c : public fopAc_ac_c {
+public:
+ /* 80C6A6FC */ void setBaseMtx();
+ /* 80C6A784 */ void CreateHeap();
+ /* 80C6A7F0 */ void create();
+ /* 80C6AAAC */ void Execute(f32 (**)[3][4]);
+ /* 80C6AB04 */ void procMain();
+ /* 80C6AB90 */ void init_modeWait();
+ /* 80C6ABAC */ void modeWait();
+ /* 80C6AC9C */ void init_modeBreak();
+ /* 80C6AD40 */ void modeBreak();
+ /* 80C6AEB0 */ void Draw();
+ /* 80C6AF54 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x734 - 0x568];
+};
+STATIC_ASSERT(sizeof(daFlorBoad_c) == 0x734);
+
+class daFlorBoad_HIO_c {
+public:
+ /* 80C6A60C */ daFlorBoad_HIO_c();
+ /* 80C6B058 */ ~daFlorBoad_HIO_c();
+};
+
#endif /* D_A_OBJ_LV5FLOORBOARD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h
index bff5750c68..2abc33ac5c 100644
--- a/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h
+++ b/include/rel/d/a/obj/d_a_obj_lv5IceWall/d_a_obj_lv5IceWall.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_LV5ICEWALL_H
#define D_A_OBJ_LV5ICEWALL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daIceWall_c
+ * @brief Snowpeak Ruins Ice Wall
+ *
+ * @details
+ *
+ */
+class daIceWall_c : public fopAc_ac_c {
+public:
+ /* 80C6B51C */ void setBaseMtx();
+ /* 80C6B5E4 */ void CreateHeap();
+ /* 80C6B69C */ void create();
+ /* 80C6BB60 */ void Execute(f32 (**)[3][4]);
+ /* 80C6BBC4 */ void procMain();
+ /* 80C6BC50 */ void init_modeWait();
+ /* 80C6BC6C */ void modeWait();
+ /* 80C6C170 */ void init_modeBreak();
+ /* 80C6C1C0 */ void modeBreak();
+ /* 80C6C374 */ void Draw();
+ /* 80C6C44C */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x884 - 0x568];
+};
+STATIC_ASSERT(sizeof(daIceWall_c) == 0x884);
+
+class daIceWall_HIO_c {
+public:
+ /* 80C6B42C */ daIceWall_HIO_c();
+ /* 80C6C550 */ ~daIceWall_HIO_c();
+};
+
#endif /* D_A_OBJ_LV5ICEWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h
index 34927b5fdc..1dbb1bb130 100644
--- a/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h
+++ b/include/rel/d/a/obj/d_a_obj_lv5SwIce/d_a_obj_lv5SwIce.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_LV5SWICE_H
#define D_A_OBJ_LV5SWICE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv5SwIce_c
+ * @brief Snowpeak Ruins Ice Switch
+ *
+ * @details
+ *
+ */
+class daLv5SwIce_c : public fopAc_ac_c {
+public:
+ /* 80C6CA20 */ void setBaseMtx();
+ /* 80C6CAA8 */ void CreateHeap();
+ /* 80C6CB14 */ void create();
+ /* 80C6CDD0 */ void Execute(f32 (**)[3][4]);
+ /* 80C6CE28 */ void procMain();
+ /* 80C6CEB4 */ void init_modeWait();
+ /* 80C6CED0 */ void modeWait();
+ /* 80C6D0F4 */ void init_modeBreak();
+ /* 80C6D144 */ void modeBreak();
+ /* 80C6D260 */ void Draw();
+ /* 80C6D314 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x738 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv5SwIce_c) == 0x738);
+
+class daLv5SwIce_HIO_c {
+public:
+ /* 80C6C94C */ daLv5SwIce_HIO_c();
+ /* 80C6D418 */ ~daLv5SwIce_HIO_c();
+};
+
#endif /* D_A_OBJ_LV5SWICE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h
index 46f373cae6..d45791294b 100644
--- a/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h
+++ b/include/rel/d/a/obj/d_a_obj_lv5ychndlr/d_a_obj_lv5ychndlr.h
@@ -1,5 +1,32 @@
#ifndef D_A_OBJ_LV5YCHNDLR_H
#define D_A_OBJ_LV5YCHNDLR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjYchndlr_c
+ * @brief Snowpeak Ruins Chandelier (Swinging Platform?)
+ *
+ * @details
+ *
+ */
+class daObjYchndlr_c : public fopAc_ac_c {
+public:
+ /* 80C6D758 */ void create1st();
+ /* 80C6D7E0 */ void setMtx();
+ /* 80C6D9A8 */ void rideActor(fopAc_ac_c*);
+ /* 80C6DA5C */ void CreateHeap();
+ /* 80C6DB5C */ void Create();
+ /* 80C6DC64 */ void Execute(f32 (**)[3][4]);
+ /* 80C6E300 */ void Draw();
+ /* 80C6E3C8 */ void Delete();
+ /* 80C6E808 */ ~daObjYchndlr_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xca0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjYchndlr_c) == 0xca0);
+
#endif /* D_A_OBJ_LV5YCHNDLR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h b/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h
index 30e0be54de..8158c1ca4a 100644
--- a/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h
+++ b/include/rel/d/a/obj/d_a_obj_lv5yiblltray/d_a_obj_lv5yiblltray.h
@@ -1,5 +1,36 @@
#ifndef D_A_OBJ_LV5YIBLLTRAY_H
#define D_A_OBJ_LV5YIBLLTRAY_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjYIblltray_c
+ * @brief Snowpeak Ruins Cannonball Transporter
+ *
+ * @details
+ *
+ */
+class daObjYIblltray_c : public fopAc_ac_c {
+public:
+ /* 80C6EBF8 */ void create1st();
+ /* 80C6EC88 */ void setMtx();
+ /* 80C6EDA8 */ void CreateHeap();
+ /* 80C6EEFC */ void Create();
+ /* 80C6F1E8 */ void rideActor(fopAc_ac_c*);
+ /* 80C6F23C */ void sendBall(unsigned int);
+ /* 80C6F440 */ void onAttention();
+ /* 80C6F450 */ void offAttention();
+ /* 80C6F460 */ void Execute(f32 (**)[3][4]);
+ /* 80C702E0 */ void initRotTo();
+ /* 80C70330 */ void Draw();
+ /* 80C70408 */ void Delete();
+ /* 80C7088C */ ~daObjYIblltray_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa94 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjYIblltray_c) == 0xa94);
+
#endif /* D_A_OBJ_LV5YIBLLTRAY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h b/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h
index 49d02de0a1..89ce09ba5f 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6ChangeGate/d_a_obj_lv6ChangeGate.h
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_LV6CHANGEGATE_H
#define D_A_OBJ_LV6CHANGEGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6ChangeGate_c
+ * @brief Temple of Time Change Block?
+ *
+ * @details
+ *
+ */
+class daLv6ChangeGate_c : public fopAc_ac_c {
+public:
+ /* 80C70D38 */ void setBaseMtx();
+ /* 80C70DD4 */ void CreateHeap();
+ /* 80C70E40 */ void create();
+ /* 80C712A8 */ void isSwitch();
+ /* 80C712F4 */ void Execute(f32 (**)[3][4]);
+ /* 80C71494 */ void moveGate();
+ /* 80C715BC */ void eventStart();
+ /* 80C715F4 */ void init_modeWait();
+ /* 80C71600 */ void modeWait();
+ /* 80C71604 */ void init_modeSlideRight();
+ /* 80C716B4 */ void modeSlideRight();
+ /* 80C7183C */ void init_modeSlideLeft();
+ /* 80C718EC */ void modeSlideLeft();
+ /* 80C71A74 */ void init_modeBreak();
+ /* 80C71AF8 */ void modeBreak();
+ /* 80C71D40 */ void Draw();
+ /* 80C71DE4 */ void Delete();
+ /* 80C72034 */ ~daLv6ChangeGate_c();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x14dc - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6ChangeGate_c) == 0x14dc);
+
+class daLv6ChangeGate_HIO_c {
+public:
+ /* 80C70C4C */ daLv6ChangeGate_HIO_c();
+ /* 80C71EE8 */ ~daLv6ChangeGate_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6CHANGEGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h b/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h
index 42a02ce9f3..a9cd417e80 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6FurikoTrap/d_a_obj_lv6FurikoTrap.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_LV6FURIKOTRAP_H
#define D_A_OBJ_LV6FURIKOTRAP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6FurikoTrap_c
+ * @brief Temple of Time Pendulum Trap
+ *
+ * @details
+ *
+ */
+class daLv6FurikoTrap_c : public fopAc_ac_c {
+public:
+ /* 80C72510 */ void setBaseMtx();
+ /* 80C72598 */ void CreateHeap();
+ /* 80C72604 */ void create();
+ /* 80C729B4 */ void Execute(f32 (**)[3][4]);
+ /* 80C72CA8 */ void move();
+ /* 80C72D24 */ void init_modeMove();
+ /* 80C72D38 */ void modeMove();
+ /* 80C72EE0 */ void Draw();
+ /* 80C72F94 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDSph[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1d18 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6FurikoTrap_c) == 0x1d18);
+
+class daLv6FurikoTrap_HIO_c {
+public:
+ /* 80C7248C */ daLv6FurikoTrap_HIO_c();
+ /* 80C73050 */ ~daLv6FurikoTrap_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6FURIKOTRAP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h b/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h
index 1d8383008d..e944629cf3 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6Lblock/d_a_obj_lv6Lblock.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_LV6LBLOCK_H
#define D_A_OBJ_LV6LBLOCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6Lblock_c
+ * @brief Temple of Time L Block
+ *
+ * @details
+ *
+ */
+class daLv6Lblock_c : public fopAc_ac_c {
+public:
+ /* 80C73464 */ void setBaseMtx();
+ /* 80C734EC */ void CreateHeap();
+ /* 80C73558 */ void create();
+ /* 80C736C0 */ void isSwitch();
+ /* 80C7370C */ void Execute(f32 (**)[3][4]);
+ /* 80C7375C */ void moveBlock();
+ /* 80C73850 */ void init_modeWait();
+ /* 80C7385C */ void modeWait();
+ /* 80C73860 */ void init_modeLiftUp();
+ /* 80C7386C */ void modeLiftUp();
+ /* 80C7398C */ void init_modeLiftDown();
+ /* 80C73998 */ void modeLiftDown();
+ /* 80C73AB0 */ void Draw();
+ /* 80C73B54 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6Lblock_c) == 0x5b8);
+
+class daLv6Lblock_HIO_c {
+public:
+ /* 80C733EC */ daLv6Lblock_HIO_c();
+ /* 80C73C10 */ ~daLv6Lblock_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6LBLOCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h b/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h
index a9ba555ab9..fcb3f88e08 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6SwGate/d_a_obj_lv6SwGate.h
@@ -1,6 +1,48 @@
#ifndef D_A_OBJ_LV6SWGATE_H
#define D_A_OBJ_LV6SWGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6SwGate_c
+ * @brief Temple of Time Switch Gate
+ *
+ * @details
+ *
+ */
+class daLv6SwGate_c : public fopAc_ac_c {
+public:
+ /* 80C74004 */ void setBaseMtx();
+ /* 80C74158 */ void CreateHeap();
+ /* 80C7429C */ void create();
+ /* 80C74720 */ void isSwitch();
+ /* 80C7476C */ void Execute(f32 (**)[3][4]);
+ /* 80C74A3C */ void moveGate();
+ /* 80C74B48 */ void init_modeWait();
+ /* 80C74B54 */ void modeWait();
+ /* 80C74B58 */ void init_modeOpen();
+ /* 80C74B64 */ void modeOpen();
+ /* 80C74C7C */ void init_modeClose();
+ /* 80C74C94 */ void modeClose();
+ /* 80C74DBC */ void init_modeBreak();
+ /* 80C74E40 */ void modeBreak();
+ /* 80C7524C */ void Draw();
+ /* 80C752F8 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x14f8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6SwGate_c) == 0x14f8);
+
+class daLv6SwGate_HIO_c {
+public:
+ /* 80C73F0C */ daLv6SwGate_HIO_c();
+ /* 80C75434 */ ~daLv6SwGate_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6SWGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h b/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h
index b32bf55b06..5afaf9cc69 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6SzGate/d_a_obj_lv6SzGate.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_LV6SZGATE_H
#define D_A_OBJ_LV6SZGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6SzGate_c
+ * @brief Temple of Time Stone Statue Gate
+ *
+ * @details
+ *
+ */
+class daLv6SzGate_c : public fopAc_ac_c {
+public:
+ /* 80C75900 */ void setBaseMtx();
+ /* 80C75A54 */ void CreateHeap();
+ /* 80C75C0C */ void create();
+ /* 80C75E18 */ void Execute(f32 (**)[3][4]);
+ /* 80C75E78 */ void moveGate();
+ /* 80C75F64 */ void init_modeWait();
+ /* 80C75F70 */ void modeWait();
+ /* 80C75FC0 */ void init_modeOpenWait0();
+ /* 80C75FD8 */ void modeOpenWait0();
+ /* 80C76010 */ void init_modeOpenWait();
+ /* 80C76094 */ void modeOpenWait();
+ /* 80C760F0 */ void init_modeOpen();
+ /* 80C760FC */ void modeOpen();
+ /* 80C7624C */ void modeClose();
+ /* 80C76328 */ void init_modeEnd();
+ /* 80C76344 */ void modeEnd();
+ /* 80C7637C */ void Draw();
+ /* 80C76490 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x61c - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6SzGate_c) == 0x61c);
+
+class daLv6SzGate_HIO_c {
+public:
+ /* 80C7586C */ daLv6SzGate_HIO_c();
+ /* 80C76584 */ ~daLv6SzGate_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6SZGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h b/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h
index af08e78514..ab9fd031eb 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6Tenbin/d_a_obj_lv6Tenbin.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_LV6TENBIN_H
#define D_A_OBJ_LV6TENBIN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTenbin_c
+ * @brief Temple of Time Scale
+ *
+ * @details
+ *
+ */
+class daTenbin_c : public fopAc_ac_c {
+public:
+ /* 80C769D0 */ void setBaseMtx();
+ /* 80C76BCC */ void CreateHeap();
+ /* 80C76D10 */ void create();
+ /* 80C76EE0 */ void rideCallBackRight(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80C77078 */ void rideCallBackLeft(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80C77200 */ void Execute(f32 (**)[3][4]);
+ /* 80C772BC */ void procMain();
+ /* 80C77464 */ void init_modeWait();
+ /* 80C77470 */ void modeWait();
+ /* 80C77668 */ void balanceCheck();
+ /* 80C7772C */ void Draw();
+ /* 80C77810 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x654 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTenbin_c) == 0x654);
+
+class daTenbin_HIO_c {
+public:
+ /* 80C768EC */ daTenbin_HIO_c();
+ /* 80C77904 */ ~daTenbin_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6TENBIN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h b/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h
index d97cf13777..e15edab6e7 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6TogeRoll/d_a_obj_lv6TogeRoll.h
@@ -1,6 +1,60 @@
#ifndef D_A_OBJ_LV6TOGEROLL_H
#define D_A_OBJ_LV6TOGEROLL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTogeRoll_c
+ * @brief Temple of Time Spike Roller
+ *
+ * @details
+ *
+ */
+class daTogeRoll_c : public fopAc_ac_c {
+public:
+ /* 80C77CC8 */ void setBaseMtx();
+ /* 80C77D50 */ void CreateHeap();
+ /* 80C77DBC */ void create();
+ /* 80C78294 */ void Execute(f32 (**)[3][4]);
+ /* 80C78638 */ void moveTogeRoll();
+ /* 80C78A8C */ void init_modeBound();
+ /* 80C78B7C */ void modeBound();
+ /* 80C78BD8 */ void modeBound2();
+ /* 80C78C34 */ void init_modeBoundWait();
+ /* 80C78C50 */ void modeBoundWait();
+ /* 80C78CA8 */ void init_modeAcc();
+ /* 80C78CB4 */ void modeAcc();
+ /* 80C78DA0 */ void init_modeMove();
+ /* 80C78DAC */ void modeMove();
+ /* 80C790C4 */ void init_modeBrk();
+ /* 80C790D0 */ void modeBrk();
+ /* 80C792CC */ void init_modeWaitInit();
+ /* 80C792E4 */ void modeWaitInit();
+ /* 80C79318 */ void init_modeWait();
+ /* 80C79324 */ void modeWait();
+ /* 80C79344 */ void init_modeBreak();
+ /* 80C793C8 */ void modeBreak();
+ /* 80C795E8 */ void setNextPoint();
+ /* 80C79714 */ void Draw();
+ /* 80C797B8 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 const mCcDObjInfo2[48];
+ static u8 const mSpeed[64];
+ static u8 mCcDSph[64];
+ static u8 mCcDCps[76];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x117c - 0x568];
+};
+STATIC_ASSERT(sizeof(daTogeRoll_c) == 0x117c);
+
+class daTogeRoll_HIO_c {
+public:
+ /* 80C77C2C */ daTogeRoll_HIO_c();
+ /* 80C798D0 */ ~daTogeRoll_HIO_c();
+};
+
#endif /* D_A_OBJ_LV6TOGEROLL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h b/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h
index b8f78f39ee..0627093e35 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6TogeTrap/d_a_obj_lv6TogeTrap.h
@@ -1,6 +1,73 @@
#ifndef D_A_OBJ_LV6TOGETRAP_H
#define D_A_OBJ_LV6TOGETRAP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv6TogeTrap_c
+ * @brief Temple of Time Spiked Trap
+ *
+ * @details
+ *
+ */
+class daLv6TogeTrap_c : public fopAc_ac_c {
+public:
+ /* 80C79F10 */ void setBaseMtx();
+ /* 80C79FE8 */ void CreateHeap();
+ /* 80C7A068 */ void create();
+ /* 80C7A6B0 */ void searchSekizoAct(void*, void*);
+ /* 80C7A700 */ void Execute(f32 (**)[3][4]);
+ /* 80C7A97C */ void moveLift();
+ /* 80C7ABC8 */ void executeType1();
+ /* 80C7ACA0 */ void init_modeBound();
+ /* 80C7AD40 */ void modeBound();
+ /* 80C7ADA4 */ void init_modeBoundWait();
+ /* 80C7ADC0 */ void modeBoundWait();
+ /* 80C7AE18 */ void init_modeAcc();
+ /* 80C7AE24 */ void modeAcc();
+ /* 80C7AF10 */ void init_modeMove();
+ /* 80C7AF1C */ void modeMove();
+ /* 80C7B234 */ void init_modeBrk();
+ /* 80C7B240 */ void modeBrk();
+ /* 80C7B43C */ void init_modeMove2();
+ /* 80C7B448 */ void modeMove2();
+ /* 80C7B518 */ void init_modeWaitInit();
+ /* 80C7B530 */ void modeWaitInit();
+ /* 80C7B600 */ void init_modeWait();
+ /* 80C7B60C */ void modeWait();
+ /* 80C7B6D4 */ void executeType2();
+ /* 80C7B988 */ void init_modeWaitType2();
+ /* 80C7B9A8 */ void modeWaitType2();
+ /* 80C7BA38 */ void init_modeMoveInitType2();
+ /* 80C7BA50 */ void modeMoveInitType2();
+ /* 80C7BAE8 */ void init_modeAccType2();
+ /* 80C7BAF4 */ void modeAccType2();
+ /* 80C7BC54 */ void init_modeWaitAttackType2();
+ /* 80C7BC7C */ void modeWaitAttackType2();
+ /* 80C7BD64 */ void init_modeRotate();
+ /* 80C7BD70 */ void modeRotate();
+ /* 80C7BED8 */ void init_modeBreak();
+ /* 80C7BFE4 */ void modeBreak();
+ /* 80C7C1D8 */ void setNextPoint();
+ /* 80C7C33C */ void Draw();
+ /* 80C7C3E0 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 const mCcDObjInfo2[48];
+ static u8 const mSpeed[64];
+ static u8 mCcDSph[64];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x8f4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv6TogeTrap_c) == 0x8f4);
+
+class daLv6TogeTrap_HIO_c {
+public:
+ /* 80C79E4C */ daLv6TogeTrap_HIO_c();
+ /* 80C7C504 */ ~daLv6TogeTrap_HIO_c();
+};
#endif /* D_A_OBJ_LV6TOGETRAP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h b/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h
index 8b6b07231d..0746e63271 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6bemos/d_a_obj_lv6bemos.h
@@ -1,5 +1,35 @@
#ifndef D_A_OBJ_LV6BEMOS_H
#define D_A_OBJ_LV6BEMOS_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjL6Bm_c
+ * @brief Temple of Time Beamos (Unused)
+ *
+ * @details
+ *
+ */
+class daObjL6Bm_c : public fopAc_ac_c {
+public:
+ /* 80C7CE24 */ void initBaseMtx();
+ /* 80C7CE60 */ void setBaseMtx();
+ /* 80C7CED4 */ void Create();
+ /* 80C7CFD0 */ void CreateHeap();
+ /* 80C7D2F8 */ void create1st();
+ /* 80C7D3A4 */ void Execute(f32 (**)[3][4]);
+ /* 80C7D4F4 */ void action();
+ /* 80C7D598 */ void actionWait();
+ /* 80C7D6CC */ void actionFindPlayer();
+ /* 80C7D894 */ void actionAttack();
+ /* 80C7D898 */ void Draw();
+ /* 80C7DABC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x918 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjL6Bm_c) == 0x918);
+
#endif /* D_A_OBJ_LV6BEMOS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h b/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h
index 727d1b7b2a..05950d4fac 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6bemos2/d_a_obj_lv6bemos2.h
@@ -1,5 +1,53 @@
#ifndef D_A_OBJ_LV6BEMOS2_H
#define D_A_OBJ_LV6BEMOS2_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv6Bm_c
+ * @brief Temple of Time Beamos
+ *
+ * @details
+ *
+ */
+class daObjLv6Bm_c : public fopAc_ac_c {
+public:
+ /* 80C7E30C */ void initBaseMtx();
+ /* 80C7E374 */ void setBaseMtx();
+ /* 80C7E448 */ void Create();
+ /* 80C7E764 */ void CreateHeap();
+ /* 80C7EB7C */ void create1st();
+ /* 80C7EC6C */ void Execute(f32 (**)[3][4]);
+ /* 80C7EE50 */ void action();
+ /* 80C7F2A4 */ void calcBeam();
+ /* 80C7F904 */ void checkFindPlayer();
+ /* 80C7FA54 */ void checkSearchPlayer();
+ /* 80C7FBA4 */ void getSearchDistance();
+ /* 80C7FBFC */ void getBeamSearchDistance();
+ /* 80C7FC54 */ void effect_proc();
+ /* 80C7FD8C */ void effectWait();
+ /* 80C7FD90 */ void initEffectSet0();
+ /* 80C7FEC4 */ void effectSet0();
+ /* 80C7FF78 */ void initActionSwWait();
+ /* 80C7FFB8 */ void actionSwWait();
+ /* 80C802AC */ void initActionWarning();
+ /* 80C802C0 */ void actionWarning();
+ /* 80C803D8 */ void initActionFindPlayer();
+ /* 80C80538 */ void actionFindPlayer();
+ /* 80C80684 */ void initActionAttack();
+ /* 80C8082C */ void actionAttack();
+ /* 80C80F48 */ void initActionDead();
+ /* 80C81154 */ void actionDead();
+ /* 80C81428 */ void initActionEnd();
+ /* 80C814FC */ void actionEnd();
+ /* 80C81500 */ void Draw();
+ /* 80C816A8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xabc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv6Bm_c) == 0xabc);
+
#endif /* D_A_OBJ_LV6BEMOS2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h b/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h
index 52061bb7d8..1d932226b6 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6egate/d_a_obj_lv6egate.h
@@ -1,5 +1,33 @@
#ifndef D_A_OBJ_LV6EGATE_H
#define D_A_OBJ_LV6EGATE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv6EGate_c
+ * @brief Temple of Time Electric Gate
+ *
+ * @details
+ *
+ */
+class daObjLv6EGate_c : public fopAc_ac_c {
+public:
+ /* 80C82078 */ void create1st();
+ /* 80C82108 */ void setMtx();
+ /* 80C82178 */ bool CreateHeap();
+ /* 80C82180 */ void Create();
+ /* 80C822DC */ void offDisp();
+ /* 80C82330 */ void onDisp();
+ /* 80C82388 */ void Execute(f32 (**)[3][4]);
+ /* 80C82690 */ void Draw();
+ /* 80C826A0 */ void Delete();
+ /* 80C82A80 */ ~daObjLv6EGate_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1038 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv6EGate_c) == 0x1038);
+
#endif /* D_A_OBJ_LV6EGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h b/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h
index 82d71b4f35..155b535685 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6elevta/d_a_obj_lv6elevta.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_LV6ELEVTA_H
#define D_A_OBJ_LV6ELEVTA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv6ElevtA_c
+ * @brief Temple of Time Elevator
+ *
+ * @details
+ *
+ */
+class daObjLv6ElevtA_c : public fopAc_ac_c {
+public:
+ /* 80C82D38 */ void create1st();
+ /* 80C82DC8 */ void setMtx();
+ /* 80C82E38 */ void CreateHeap();
+ /* 80C82EA8 */ void Create();
+ /* 80C83028 */ void eventStart();
+ /* 80C830BC */ void moveAngle(void*);
+ /* 80C8321C */ void Execute(f32 (**)[3][4]);
+ /* 80C83538 */ void Draw();
+ /* 80C835DC */ void Delete();
+ /* 80C83764 */ ~daObjLv6ElevtA_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x628 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv6ElevtA_c) == 0x628);
+
#endif /* D_A_OBJ_LV6ELEVTA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h b/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h
index f2799b0a4b..555c68fb68 100644
--- a/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h
+++ b/include/rel/d/a/obj/d_a_obj_lv6swturn/d_a_obj_lv6swturn.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_LV6SWTURN_H
#define D_A_OBJ_LV6SWTURN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv6SwTurn_c
+ * @brief Temple of Time Turn Switch
+ *
+ * @details
+ *
+ */
+class daObjLv6SwTurn_c : public fopAc_ac_c {
+public:
+ /* 80C83A98 */ void initBaseMtx();
+ /* 80C83AD4 */ void setBaseMtx();
+ /* 80C83B38 */ void Create();
+ /* 80C83C10 */ void CreateHeap();
+ /* 80C83C80 */ void create1st();
+ /* 80C83D04 */ void Execute(f32 (**)[3][4]);
+ /* 80C83D94 */ void mode_proc_call();
+ /* 80C83E20 */ void init_modeWait();
+ /* 80C83E58 */ void modeWait();
+ /* 80C84238 */ void init_modeRotate();
+ /* 80C8425C */ void modeRotate();
+ /* 80C844F8 */ void Draw();
+ /* 80C8459C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5cc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv6SwTurn_c) == 0x5cc);
+
#endif /* D_A_OBJ_LV6SWTURN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h b/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h
index ca7705bf5c..8972b531ba 100644
--- a/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h
+++ b/include/rel/d/a/obj/d_a_obj_lv7BsGate/d_a_obj_lv7BsGate.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_LV7BSGATE_H
#define D_A_OBJ_LV7BSGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv7BsGate_c
+ * @brief City in the Sky Boss Door
+ *
+ * @details
+ *
+ */
+class daLv7BsGate_c : public fopAc_ac_c {
+public:
+ /* 80C84930 */ void setBaseMtx();
+ /* 80C849CC */ void CreateHeap();
+ /* 80C84A4C */ void create();
+ /* 80C84BCC */ void Execute(f32 (**)[3][4]);
+ /* 80C84C1C */ void moveGate();
+ /* 80C84D24 */ void init_modeWait();
+ /* 80C84D30 */ void modeWait();
+ /* 80C84D34 */ void init_modeOpen();
+ /* 80C84D40 */ void modeOpen();
+ /* 80C84E94 */ void init_modeClose();
+ /* 80C84EA0 */ void modeClose();
+ /* 80C84FF4 */ void Draw();
+ /* 80C85098 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5bc - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv7BsGate_c) == 0x5bc);
+
+class daLv7BsGate_HIO_c {
+public:
+ /* 80C848AC */ daLv7BsGate_HIO_c();
+ /* 80C85164 */ ~daLv7BsGate_HIO_c();
+};
+
#endif /* D_A_OBJ_LV7BSGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h b/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h
index bd3fff464a..01d99a3390 100644
--- a/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h
+++ b/include/rel/d/a/obj/d_a_obj_lv7PropellerY/d_a_obj_lv7PropellerY.h
@@ -1,6 +1,46 @@
#ifndef D_A_OBJ_LV7PROPELLERY_H
#define D_A_OBJ_LV7PROPELLERY_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daPropY_c
+ * @brief City in the Sky Propeller
+ *
+ * @details
+ *
+ */
+class daPropY_c : public fopAc_ac_c {
+public:
+ /* 80C8550C */ void setBaseMtx();
+ /* 80C855A4 */ void CreateHeap();
+ /* 80C85624 */ void create();
+ /* 80C85810 */ void Execute(f32 (**)[3][4]);
+ /* 80C85860 */ void procMain();
+ /* 80C859B4 */ void init_modeMoveWait();
+ /* 80C859C0 */ void modeMoveWait();
+ /* 80C859C4 */ void init_modeMove();
+ /* 80C859E0 */ void modeMove();
+ /* 80C85B08 */ void init_modeWait();
+ /* 80C85B24 */ void modeWait();
+ /* 80C85B5C */ void init_modeMove2();
+ /* 80C85B84 */ void modeMove2();
+ /* 80C85CAC */ void init_modeStop();
+ /* 80C85DD0 */ void modeStop();
+ /* 80C85F14 */ void Draw();
+ /* 80C85FB8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daPropY_c) == 0x5c8);
+
+class daPropY_HIO_c {
+public:
+ /* 80C8546C */ daPropY_HIO_c();
+ /* 80C86084 */ ~daPropY_HIO_c();
+};
+
#endif /* D_A_OBJ_LV7PROPELLERY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h b/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h
index 47123b6ad3..1731b4becd 100644
--- a/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h
+++ b/include/rel/d/a/obj/d_a_obj_lv7bridge/d_a_obj_lv7bridge.h
@@ -1,5 +1,36 @@
#ifndef D_A_OBJ_LV7BRIDGE_H
#define D_A_OBJ_LV7BRIDGE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjLv7Brg_c
+ * @brief City in the Sky Bridge
+ *
+ * @details
+ *
+ */
+class daObjLv7Brg_c : public fopAc_ac_c {
+public:
+ /* 80C863EC */ void search_swspinner();
+ /* 80C86454 */ void initBaseMtx();
+ /* 80C864B4 */ void setBaseMtx();
+ /* 80C865B8 */ void Create();
+ /* 80C867CC */ void CreateHeap();
+ /* 80C86A44 */ void create1st();
+ /* 80C86B40 */ void Execute(f32 (**)[3][4]);
+ /* 80C86E68 */ void action();
+ /* 80C86F44 */ void mode_action();
+ /* 80C87210 */ void mode_end();
+ /* 80C87214 */ void calcCoPos();
+ /* 80C87304 */ void Draw();
+ /* 80C87458 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xaa4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjLv7Brg_c) == 0xaa4);
+
#endif /* D_A_OBJ_LV7BRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h b/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h
index ae6fbf0fb6..46492a4462 100644
--- a/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h
+++ b/include/rel/d/a/obj/d_a_obj_lv8KekkaiTrap/d_a_obj_lv8KekkaiTrap.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_LV8KEKKAITRAP_H
#define D_A_OBJ_LV8KEKKAITRAP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daKekaiTrap_c
+ * @brief Palace of Twilight Barrier Trap
+ *
+ * @details
+ *
+ */
+class daKekaiTrap_c : public fopAc_ac_c {
+public:
+ /* 80C87D40 */ void setBaseMtx();
+ /* 80C87DC8 */ void CreateHeap();
+ /* 80C87E48 */ void create();
+ /* 80C87FB0 */ void Execute(f32 (**)[3][4]);
+ /* 80C88000 */ void moveMain();
+ /* 80C88104 */ void init_modeWait();
+ /* 80C88110 */ void modeWait();
+ /* 80C88114 */ void init_modeMoveUp();
+ /* 80C88138 */ void modeMoveUp();
+ /* 80C881F0 */ void init_modeMoveDown();
+ /* 80C88214 */ void modeMoveDown();
+ /* 80C882C8 */ void Draw();
+ /* 80C8836C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daKekaiTrap_c) == 0x5b4);
+
+class daKekaiTrap_HIO_c {
+public:
+ /* 80C87CAC */ daKekaiTrap_HIO_c();
+ /* 80C88438 */ ~daKekaiTrap_HIO_c();
+};
+
#endif /* D_A_OBJ_LV8KEKKAITRAP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h b/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h
index 787edfd297..920360e923 100644
--- a/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h
+++ b/include/rel/d/a/obj/d_a_obj_lv8Lift/d_a_obj_lv8Lift.h
@@ -1,6 +1,61 @@
#ifndef D_A_OBJ_LV8LIFT_H
#define D_A_OBJ_LV8LIFT_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daL8Lift_c
+ * @brief Palace of Twilight Platform Lift
+ *
+ * @details
+ *
+ */
+class daL8Lift_c : public fopAc_ac_c {
+public:
+ /* 80C887D8 */ void setBaseMtx();
+ /* 80C88860 */ void CreateHeap();
+ /* 80C88928 */ void create();
+ /* 80C88D6C */ void lightSet();
+ /* 80C88DBC */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80C88DD4 */ void Execute(f32 (**)[3][4]);
+ /* 80C88E34 */ void moveLift();
+ /* 80C890B8 */ void modeAcc();
+ /* 80C89198 */ void init_modeMove();
+ /* 80C891A4 */ void modeMove();
+ /* 80C894BC */ void init_modeBrk();
+ /* 80C894C8 */ void modeBrk();
+ /* 80C896C8 */ void init_modeWaitInit();
+ /* 80C896D4 */ void modeWaitInit();
+ /* 80C89708 */ void init_modeWait();
+ /* 80C89714 */ void modeWait();
+ /* 80C89720 */ void init_modeMoveWait();
+ /* 80C8972C */ void modeMoveWait();
+ /* 80C89770 */ void init_modeOnAnm();
+ /* 80C89820 */ void modeOnAnm();
+ /* 80C89874 */ void init_modeStop();
+ /* 80C898DC */ void modeStop();
+ /* 80C899D0 */ void init_modeInitSet();
+ /* 80C89A04 */ void modeInitSet();
+ /* 80C89A24 */ void init_modeInitSet2();
+ /* 80C89A58 */ void modeInitSet2();
+ /* 80C89A78 */ void liftReset();
+ /* 80C89ADC */ void setNextPoint();
+ /* 80C89C10 */ void Draw();
+ /* 80C89DC8 */ void Delete();
+
+ static u8 const mSpeed[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x830 - 0x568];
+};
+STATIC_ASSERT(sizeof(daL8Lift_c) == 0x830);
+
+class daL8Lift_HIO_c {
+public:
+ /* 80C8872C */ daL8Lift_HIO_c();
+ /* 80C89EA4 */ ~daL8Lift_HIO_c();
+};
+
#endif /* D_A_OBJ_LV8LIFT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h b/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h
index 733cdbccfa..fdf1efda91 100644
--- a/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h
+++ b/include/rel/d/a/obj/d_a_obj_lv8OptiLift/d_a_obj_lv8OptiLift.h
@@ -1,6 +1,60 @@
#ifndef D_A_OBJ_LV8OPTILIFT_H
#define D_A_OBJ_LV8OPTILIFT_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daOptiLift_c
+ * @brief Palace of Twilight Optilift
+ *
+ * @details
+ *
+ */
+class daOptiLift_c : public fopAc_ac_c {
+public:
+ /* 80C8A3B0 */ void setBaseMtx();
+ /* 80C8A438 */ void CreateHeap();
+ /* 80C8A500 */ void create();
+ /* 80C8A780 */ void lightSet();
+ /* 80C8A7D0 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80C8A7E8 */ void Execute(f32 (**)[3][4]);
+ /* 80C8A848 */ void moveLift();
+ /* 80C8AAC4 */ void init_modeAcc();
+ /* 80C8AAD0 */ void modeAcc();
+ /* 80C8ABB0 */ void init_modeMove();
+ /* 80C8ABBC */ void modeMove();
+ /* 80C8AED4 */ void init_modeBrk();
+ /* 80C8AEE0 */ void modeBrk();
+ /* 80C8B100 */ void init_modeMoveInit();
+ /* 80C8B1B0 */ void modeMoveInit();
+ /* 80C8B1F0 */ void init_modeMoveWait();
+ /* 80C8B230 */ void modeMoveWait();
+ /* 80C8B288 */ void init_modeWait();
+ /* 80C8B294 */ void modeWait();
+ /* 80C8B298 */ void init_modeStop();
+ /* 80C8B318 */ void modeStop();
+ /* 80C8B428 */ void init_modeInitSet();
+ /* 80C8B464 */ void modeInitSet();
+ /* 80C8B484 */ void init_modeInitSet2();
+ /* 80C8B4B8 */ void modeInitSet2();
+ /* 80C8B4D8 */ void liftReset();
+ /* 80C8B53C */ void setNextPoint();
+ /* 80C8B66C */ void Draw();
+ /* 80C8B824 */ void Delete();
+
+ static u8 const mSpeed[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x618 - 0x568];
+};
+STATIC_ASSERT(sizeof(daOptiLift_c) == 0x618);
+
+class daOptiLift_HIO_c {
+public:
+ /* 80C8A30C */ daOptiLift_HIO_c();
+ /* 80C8B900 */ ~daOptiLift_HIO_c();
+};
+
#endif /* D_A_OBJ_LV8OPTILIFT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h b/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h
index 8d3435b9f1..70ca056d31 100644
--- a/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h
+++ b/include/rel/d/a/obj/d_a_obj_lv8UdFloor/d_a_obj_lv8UdFloor.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_LV8UDFLOOR_H
#define D_A_OBJ_LV8UDFLOOR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daUdFloor_c
+ * @brief Palace of Twilight Switch Step
+ *
+ * @details
+ *
+ */
+class daUdFloor_c : public fopAc_ac_c {
+public:
+ /* 80C8BDC8 */ void setBaseMtx();
+ /* 80C8BE64 */ void CreateHeap();
+ /* 80C8BEE4 */ void create();
+ /* 80C8C0DC */ void Execute(f32 (**)[3][4]);
+ /* 80C8C12C */ void moveLift();
+ /* 80C8C264 */ void init_modeWait();
+ /* 80C8C270 */ void modeWait();
+ /* 80C8C274 */ void init_modeUpMoveInit();
+ /* 80C8C310 */ void modeUpMoveInit();
+ /* 80C8C354 */ void colorAnm(int);
+ /* 80C8C5E4 */ void init_modeUpMove();
+ /* 80C8C68C */ void modeUpMove();
+ /* 80C8C7F8 */ void init_modeDownMoveInit();
+ /* 80C8C81C */ void modeDownMoveInit();
+ /* 80C8C860 */ void init_modeDownMove();
+ /* 80C8C8E4 */ void modeDownMove();
+ /* 80C8C994 */ void Draw();
+ /* 80C8CA78 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daUdFloor_c) == 0x5c8);
+
+class daUdFloor_HIO_c {
+public:
+ /* 80C8BD0C */ daUdFloor_HIO_c();
+ /* 80C8CB44 */ ~daUdFloor_HIO_c();
+};
+
#endif /* D_A_OBJ_LV8UDFLOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h b/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h
index 6b26c5bf59..27d02b67d5 100644
--- a/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h
+++ b/include/rel/d/a/obj/d_a_obj_lv9SwShutter/d_a_obj_lv9SwShutter.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_LV9SWSHUTTER_H
#define D_A_OBJ_LV9SWSHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daLv9SwShutter_c
+ * @brief Hyrule Castle Switch Shutter
+ *
+ * @details
+ *
+ */
+class daLv9SwShutter_c : public fopAc_ac_c {
+public:
+ /* 80C8CF38 */ void setBaseMtx();
+ /* 80C8CFD4 */ void CreateHeap();
+ /* 80C8D040 */ void create();
+ /* 80C8D168 */ void Execute(f32 (**)[3][4]);
+ /* 80C8D1B8 */ void moveShutter();
+ /* 80C8D2BC */ void init_modeWait();
+ /* 80C8D2C8 */ void modeWait();
+ /* 80C8D2CC */ void init_modeOpen();
+ /* 80C8D2D8 */ void modeOpen();
+ /* 80C8D440 */ void init_modeClose();
+ /* 80C8D458 */ void modeClose();
+ /* 80C8D5D0 */ void Draw();
+ /* 80C8D674 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daLv9SwShutter_c) == 0x5b4);
+
+class daLv9SwShutter_HIO_c {
+public:
+ /* 80C8CEAC */ daLv9SwShutter_HIO_c();
+ /* 80C8D730 */ ~daLv9SwShutter_HIO_c();
+};
+
#endif /* D_A_OBJ_LV9SWSHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h b/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h
index 6688216b74..5a27744276 100644
--- a/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h
+++ b/include/rel/d/a/obj/d_a_obj_magLift/d_a_obj_magLift.h
@@ -1,6 +1,51 @@
#ifndef D_A_OBJ_MAGLIFT_H
#define D_A_OBJ_MAGLIFT_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daMagLift_c
+ * @brief Magnetic Lift
+ *
+ * @details
+ *
+ */
+class daMagLift_c : public fopAc_ac_c {
+public:
+ /* 80C8DAA0 */ void setBaseMtx();
+ /* 80C8DB28 */ void CreateHeap();
+ /* 80C8DB94 */ void create();
+ /* 80C8DD38 */ void Execute(f32 (**)[3][4]);
+ /* 80C8DD88 */ void moveLift();
+ /* 80C8DE98 */ void modeAcc();
+ /* 80C8DF20 */ void init_modeMove();
+ /* 80C8DF2C */ void modeMove();
+ /* 80C8E1EC */ void init_modeBrk();
+ /* 80C8E1F8 */ void modeBrk();
+ /* 80C8E260 */ void init_modeWaitInit();
+ /* 80C8E26C */ void modeWaitInit();
+ /* 80C8E2A0 */ void init_modeWait();
+ /* 80C8E2AC */ void modeWait();
+ /* 80C8E2B8 */ void init_modeMoveWait();
+ /* 80C8E2C4 */ void modeMoveWait();
+ /* 80C8E318 */ void modeDead();
+ /* 80C8E31C */ void setNextPoint();
+ /* 80C8E450 */ void Draw();
+ /* 80C8E4F4 */ void Delete();
+
+ static u8 const mSpeed[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5d4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daMagLift_c) == 0x5d4);
+
+class daMagLift_HIO_c {
+public:
+ /* 80C8DA2C */ daMagLift_HIO_c();
+ /* 80C8E5B0 */ ~daMagLift_HIO_c();
+};
+
#endif /* D_A_OBJ_MAGLIFT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h b/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h
index 9b57eb4a8e..760c541b5b 100644
--- a/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h
+++ b/include/rel/d/a/obj/d_a_obj_magLiftRot/d_a_obj_magLiftRot.h
@@ -2,5 +2,85 @@
#define D_A_OBJ_MAGLIFTROT_H
#include "d/bg/d_bg_s_movebg_actor.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daMagLiftRot_c
+ * @brief Rotating Magnetic Lift
+ *
+ * @details
+ *
+ */
+class daMagLiftRot_c : public dBgS_MoveBgActor {
+public:
+ /* 80C8EA28 */ void setBaseMtx();
+ /* 80C8EC64 */ int create();
+ /* 80C8F02C */ void moveLift();
+ /* 80C8F264 */ void init_modeMove();
+ /* 80C8F4A0 */ void modeMove();
+ /* 80C8F538 */ void init_modeWait();
+ /* 80C8F7CC */ void modeWait();
+ /* 80C8F804 */ void init_modeMoveWait();
+ /* 80C8F810 */ void modeMoveWait();
+
+ /* 80C8EB1C */ virtual int CreateHeap();
+ /* 80C8EF94 */ virtual int Execute(Mtx**);
+ /* 80C8F86C */ virtual int Draw();
+ /* 80C8F970 */ virtual int Delete();
+
+private:
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* mpModel;
+ /* 0x5AC */ mDoExt_btkAnm mBtk;
+ /* 0x5C4 */ mDoExt_brkAnm mBrk;
+ /* 0x5DC */ u8 mType;
+ /* 0x5DE */ s16 mTimer;
+ /* 0x5E0 */ u8 mMode;
+ /* 0x5E1 */ u8 field_0x5e1;
+ /* 0x5E2 */ s16 field_0x5e2;
+ /* 0x5E4 */ s16 field_0x5e4;
+ /* 0x5E6 */ csXyz field_0x5e6;
+ /* 0x5EC */ cXyz field_0x5ec;
+ /* 0x5F8 */ f32 field_0x5f8;
+ /* 0x5FC */ f32 mShakeStrength;
+ /* 0x600 */ f32 field_0x600;
+ /* 0x604 */ f32 mShakeYAmp;
+ /* 0x608 */ f32 mShakeDecay;
+ /* 0x60C */ f32 mMaxShakeDecay;
+ /* 0x610 */ f32 mMinShakeDecay;
+ /* 0x614 */ f32 mMoveStrength;
+ /* 0x618 */ f32 mXMoveAmp;
+ /* 0x61C */ f32 mZMoveAmp;
+ /* 0x620 */ f32 mMoveDecay;
+ /* 0x624 */ f32 mMaxMoveDecay;
+ /* 0x628 */ f32 mMinMoveDecay;
+ /* 0x62C */ f32 field_0x62c;
+ /* 0x630 */ f32 field_0x630;
+};
+STATIC_ASSERT(sizeof(daMagLiftRot_c) == 0x634);
+
+class daMagLiftRot_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80C8E94C */ daMagLiftRot_HIO_c();
+ /* 80C8FA3C */ virtual ~daMagLiftRot_HIO_c();
+
+ /* 0x04 */ u8 mWaitTime;
+ /* 0x08 */ f32 mInitSpeed;
+ /* 0x0C */ f32 mAcceleration;
+ /* 0x10 */ f32 mMaxSpeed;
+ /* 0x14 */ f32 mShakeStrength;
+ /* 0x18 */ f32 mShakeAmpY;
+ /* 0x1C */ f32 mShakeDecay;
+ /* 0x20 */ f32 mMaxShakeDecay;
+ /* 0x24 */ f32 mMinShakeDecay;
+ /* 0x28 */ f32 mMoveAmpX;
+ /* 0x2C */ f32 mMoveAmpZ;
+ /* 0x30 */ f32 mMoveStrength;
+ /* 0x34 */ f32 mMoveDecay;
+ /* 0x38 */ f32 mMaxMoveDecay;
+ /* 0x3C */ f32 mMinMoveDecay;
+};
+
#endif /* D_A_OBJ_MAGLIFTROT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h b/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h
index 8ca45aa786..d0af78a063 100644
--- a/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h
+++ b/include/rel/d/a/obj/d_a_obj_magne_arm/d_a_obj_magne_arm.h
@@ -1,6 +1,91 @@
#ifndef D_A_OBJ_MAGNE_ARM_H
#define D_A_OBJ_MAGNE_ARM_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjMarm_c
+ * @brief Magnetic Arm
+ *
+ * @details
+ *
+ */
+class daObjMarm_c : public fopAc_ac_c {
+public:
+ /* 8058F358 */ void getBpartsOffset(cXyz*);
+ /* 8058F3D4 */ void getDpartsOffset(cXyz*);
+ /* 8058F46C */ void getEpartsOffset(cXyz*);
+ /* 8058F504 */ void getFpartsOffset(cXyz*);
+ /* 8058F610 */ void getRopeStartPos(cXyz*);
+ /* 8058F6B4 */ void initBaseMtx();
+ /* 8058F77C */ void setBaseMtx();
+ /* 8058FA50 */ void Create();
+ /* 8058FCF8 */ void CreateHeap();
+ /* 80590244 */ void phase_0();
+ /* 805902D8 */ void phase_1();
+ /* 80590364 */ void phase_2();
+ /* 80590460 */ void create1st();
+ /* 80590504 */ void Execute(f32 (**)[3][4]);
+ /* 80590818 */ void action();
+ /* 80590B7C */ void init_typeA_modeWait();
+ /* 80590B8C */ void typeA_modeWait();
+ /* 80590BE0 */ void init_typeA_modeMholeOn();
+ /* 80590C48 */ void typeA_modeMholeOn();
+ /* 80590C68 */ void typeA_modeLiftUp();
+ /* 80590C6C */ void typeA_modeLiftDown();
+ /* 80590C70 */ void init_typeA_modeRotate();
+ /* 80590CE4 */ void typeA_modeRotate();
+ /* 80590E24 */ void typeA_modeEnd();
+ /* 80590E28 */ void init_typeB_modeWait();
+ /* 80590E38 */ void typeB_modeWait();
+ /* 80590E8C */ void init_typeB_modeMholeOn();
+ /* 80590EF4 */ void typeB_modeMholeOn();
+ /* 80590F14 */ void init_typeB_modeLiftUp();
+ /* 80590F30 */ void typeB_modeLiftUp();
+ /* 80591004 */ void typeB_modeLiftDown();
+ /* 805910E8 */ void init_typeB_modeRotate();
+ /* 80591160 */ void typeB_modeRotate();
+ /* 805912AC */ void typeB_modeEnd();
+ /* 805912B0 */ void init_typeC_modeWait();
+ /* 805912C0 */ void typeC_modeWait();
+ /* 80591314 */ void init_typeC_modeMholeOn();
+ /* 8059137C */ void typeC_modeMholeOn();
+ /* 8059139C */ void init_typeC_modeLiftUp();
+ /* 805913B8 */ void typeC_modeLiftUp();
+ /* 8059148C */ void init_typeC_modeLiftDown();
+ /* 805914A8 */ void typeC_modeLiftDown();
+ /* 8059158C */ void init_typeC_modeRotate();
+ /* 80591604 */ void typeC_modeRotate();
+ /* 80591750 */ void typeC_modeEnd();
+ /* 80591754 */ void init_typeD_modeWait();
+ /* 80591764 */ void typeD_modeWait();
+ /* 805917B8 */ void init_typeD_modeMholeOn();
+ /* 80591820 */ void typeD_modeMholeOn();
+ /* 80591840 */ void init_typeD_modeLiftUp();
+ /* 8059185C */ void typeD_modeLiftUp();
+ /* 80591930 */ void init_typeD_modeLiftDown();
+ /* 8059194C */ void typeD_modeLiftDown();
+ /* 80591A30 */ void init_typeD_modeRotate();
+ /* 80591AA8 */ void typeD_modeRotate();
+ /* 80591BF4 */ void typeD_modeEnd();
+ /* 80591BF8 */ void setMagneHoleEffect();
+ /* 80591BFC */ void endMagneHoleEffect();
+ /* 80591C38 */ void calcHimo();
+ /* 80591E18 */ void seStart_MOVESTART();
+ /* 80591E80 */ void seStartLevel_MOVE();
+ /* 80591EE8 */ void seStart_STOP();
+ /* 80591F50 */ void seStartLevel_UP();
+ /* 80591FB8 */ void seStartLevel_DOWN();
+ /* 80592020 */ void seStart_SWING();
+ /* 80592088 */ void Draw();
+ /* 805923C4 */ void debugDraw();
+ /* 805923C8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa6c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjMarm_c) == 0xa6c);
+
#endif /* D_A_OBJ_MAGNE_ARM_H */
diff --git a/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h b/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h
index 08bd39b54c..77075dc071 100644
--- a/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h
+++ b/include/rel/d/a/obj/d_a_obj_maki/d_a_obj_maki.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_MAKI_H
#define D_A_OBJ_MAKI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_maki_class
+ * @brief Stick Bundle?
+ *
+ * @details
+ *
+ */
+class obj_maki_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x730 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_maki_class) == 0x730);
+
+class daObj_Maki_HIO_c {
+public:
+ /* 80C8FE0C */ daObj_Maki_HIO_c();
+ /* 80C9089C */ ~daObj_Maki_HIO_c();
+};
+
#endif /* D_A_OBJ_MAKI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h b/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h
index 04cb3f2a25..13025d9260 100644
--- a/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h
+++ b/include/rel/d/a/obj/d_a_obj_master_sword/d_a_obj_master_sword.h
@@ -1,5 +1,65 @@
#ifndef D_A_OBJ_MASTER_SWORD_H
#define D_A_OBJ_MASTER_SWORD_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+class daObjMasterSword_c;
+typedef void (daObjMasterSword_c::*actionFunc)();
+
+/**
+ * @ingroup actors-objects
+ * @class daObjMasterSword_c
+ * @brief Master Sword
+ *
+ * @details
+ *
+ */
+class daObjMasterSword_c : public fopAc_ac_c {
+public:
+ enum Mode_e {
+ MODE_0_e,
+ };
+
+ /* 80C90AF8 */ void initWait();
+ /* 80C90B50 */ void executeWait();
+ /* 80C90C50 */ static int createHeapCallBack(fopAc_ac_c* i_this);
+ /* 80C90C70 */ int CreateHeap();
+ /* 80C90DB8 */ int create();
+ /* 80C90F6C */ void create_init();
+ /* 80C91448 */ ~daObjMasterSword_c();
+ /* 80C91714 */ int draw();
+
+ inline void initCollision();
+ inline void setCollision();
+ inline void initBaseMtx();
+ inline void setAction(Mode_e i_mode);
+ inline void callInit();
+ inline void callExecute();
+ inline int execute();
+
+ f32 attr() const { return mAttr; }
+
+ u8 getEventID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; }
+ u16 getFlagNo() { return fopAcM_GetParam(this) & 0xFFFF; }
+
+ static f32 const mAttr;
+ // static actionFunc ActionTable[];
+ static u8 ActionTable[24];
+
+private:
+ /* 0x568 */ J3DModel* mpModel;
+ /* 0x56C */ request_of_phase_process_class mPhase;
+ /* 0x574 */ mDoExt_btkAnm mBtk;
+ /* 0x58C */ mDoExt_brkAnm mBrk;
+ /* 0x5A4 */ dCcD_Stts mCcStts;
+ /* 0x5E0 */ dCcD_Cyl mCyl;
+ /* 0x71C */ actionFunc* mActionFunc;
+ /* 0x720 */ Mode_e mMode;
+ /* 0x724 */ u32 mShadowKey;
+ /* 0x728 */ cBgS_PolyInfo field_0x728;
+ /* 0x738 */ f32 field_0x738;
+};
+STATIC_ASSERT(sizeof(daObjMasterSword_c) == 0x73C);
#endif /* D_A_OBJ_MASTER_SWORD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h b/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h
index 6bea2c9327..1b80d121bc 100644
--- a/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h
+++ b/include/rel/d/a/obj/d_a_obj_mato/d_a_obj_mato.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_MATO_H
#define D_A_OBJ_MATO_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjMATO_c
+ * @brief Target (???)
+ *
+ * @details
+ *
+ */
+class daObjMATO_c : public fopAc_ac_c {
+public:
+ /* 80C91B58 */ void setAction(void (daObjMATO_c::*)(int), int);
+ /* 80C91D48 */ void action();
+ /* 80C91DE4 */ void hit_check();
+ /* 80C91ECC */ void start_wait(int);
+ /* 80C91F74 */ void wait(int);
+ /* 80C92044 */ void disappear(int);
+ /* 80C921A8 */ void getRupee(int);
+ /* 80C922AC */ void execute();
+ /* 80C92380 */ void _delete();
+ /* 80C9243C */ void setBaseMtx();
+ /* 80C92650 */ void mato_init();
+ /* 80C927AC */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x39f8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjMATO_c) == 0x39f8);
+
+struct MatoData_s {
+public:
+ /* 80C92924 */ ~MatoData_s();
+ /* 80C92A50 */ MatoData_s();
+};
+
#endif /* D_A_OBJ_MATO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h b/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h
index dd4e1ed3b7..b83e4cb2f1 100644
--- a/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h
+++ b/include/rel/d/a/obj/d_a_obj_metalbox/d_a_obj_metalbox.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_METALBOX_H
#define D_A_OBJ_METALBOX_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjMBox_c
+ * @brief Metal Box
+ *
+ * @details
+ *
+ */
+class daObjMBox_c : public fopAc_ac_c {
+public:
+ /* 80592E98 */ void initBaseMtx();
+ /* 80592ED4 */ void setBaseMtx();
+ /* 80592F48 */ void Create();
+ /* 80592FD4 */ void CreateHeap();
+ /* 80593044 */ void create();
+ /* 805932C4 */ void Execute(f32 (**)[3][4]);
+ /* 805932F0 */ void Draw();
+ /* 80593394 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x944 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjMBox_c) == 0x944);
+
#endif /* D_A_OBJ_METALBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h b/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h
index 7f65865c11..2636c89e41 100644
--- a/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h
+++ b/include/rel/d/a/obj/d_a_obj_mgate/d_a_obj_mgate.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjMGate_c
+ * @brief Ordon Spring Gate
+ *
+ * @details
+ *
+ */
class daObjMGate_c : public dBgS_MoveBgActor {
public:
enum Kind_e {
@@ -44,5 +52,6 @@ private:
/* 0x5C8 */ int mCounter;
/* 0x5CC */ s16 mGateKeyAngle;
};
+STATIC_ASSERT(sizeof(daObjMGate_c) == 0x5D0);
#endif /* D_A_OBJ_MGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h b/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h
index be572abd4c..f1d2166b72 100644
--- a/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h
+++ b/include/rel/d/a/obj/d_a_obj_mhole/d_a_obj_mhole.h
@@ -1,5 +1,34 @@
#ifndef D_A_OBJ_MHOLE_H
#define D_A_OBJ_MHOLE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjMHole_c
+ * @brief Magnet Hole
+ *
+ * @details
+ *
+ */
+class daObjMHole_c : public fopAc_ac_c {
+public:
+ /* 80C92FD8 */ void initBaseMtx();
+ /* 80C93014 */ void setBaseMtx();
+ /* 80C9307C */ void Create();
+ /* 80C93198 */ void checkParent();
+ /* 80C93204 */ void CreateHeap();
+ /* 80C934E0 */ void create();
+ /* 80C936A8 */ void execute();
+ /* 80C93928 */ void effectSet();
+ /* 80C93A88 */ void effectEnd();
+ /* 80C93ADC */ void draw();
+ /* 80C93CAC */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x734 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjMHole_c) == 0x734);
+
#endif /* D_A_OBJ_MHOLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h b/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h
index ed77cfec95..9d6d822029 100644
--- a/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h
+++ b/include/rel/d/a/obj/d_a_obj_mie/d_a_obj_mie.h
@@ -1,5 +1,45 @@
#ifndef D_A_OBJ_MIE_H
#define D_A_OBJ_MIE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Mie_c
+ * @brief Gengle (Cat)
+ *
+ * @details
+ *
+ */
+class daObj_Mie_c : public fopAc_ac_c {
+public:
+ /* 80C93FCC */ ~daObj_Mie_c();
+ /* 80C941C8 */ void create();
+ /* 80C945E8 */ void CreateHeap();
+ /* 80C94674 */ void Delete();
+ /* 80C946A8 */ void Execute();
+ /* 80C95140 */ void Draw();
+ /* 80C952D8 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80C952F8 */ void srchPouyaa(void*, void*);
+ /* 80C9536C */ void setEnvTevColor();
+ /* 80C953C8 */ void setRoomNo();
+ /* 80C9540C */ void setMtx();
+ /* 80C954BC */ void calcRollAngle(s16, int);
+ /* 80C9555C */ void getWallAngle(s16, s16*);
+ /* 80C956EC */ void setSmokePrtcl();
+ /* 80C95768 */ void setWaterPrtcl();
+ /* 80C95890 */ void setHamonPrtcl();
+private:
+ /* 0x568 */ u8 field_0x568[0xa50 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Mie_c) == 0xa50);
+
+class daObj_Mie_Param_c {
+public:
+ /* 80C95A40 */ ~daObj_Mie_Param_c();
+
+ static u8 const m[44];
+};
+
#endif /* D_A_OBJ_MIE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h b/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h
index c437a167c5..ee5a4a7ee6 100644
--- a/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h
+++ b/include/rel/d/a/obj/d_a_obj_movebox/d_a_obj_movebox.h
@@ -4,7 +4,18 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
-struct daObjMovebox {
+/**
+ * @ingroup actors-objects
+ * @class daObjMovebox
+ * @brief Multi-Purpose Moving Box
+ *
+ * @details Multi-purpose moving box actor.
+ * Used for: Goron Mines Push Block, Death Mountain Block,
+ * Large Wooden Crate, Sacred Grove Block,
+ * Arbiter's Grounds Block (2 of them), Kakariko Graveyard Gravestone
+ *
+ */
+class daObjMovebox : public fopAc_ac_c {
struct Act_c {
struct Prm_e {};
@@ -69,6 +80,10 @@ struct daObjMovebox {
static u8 M_wrt_work[84];
static u8 M_wall_work[2576];
};
+
+private:
+ /* 0x568 */ u8 field_0x568[0x90c - 0x568];
};
+STATIC_ASSERT(sizeof(daObjMovebox) == 0x90C);
#endif /* D_A_OBJ_MOVEBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h b/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h
index d92734bd74..b1cfcca34a 100644
--- a/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h
+++ b/include/rel/d/a/obj/d_a_obj_msima/d_a_obj_msima.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_MSIMA_H
#define D_A_OBJ_MSIMA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_msima_class
+ * @brief Dangoro Boss Stage (Magnetic Island)
+ *
+ * @details
+ *
+ */
+class obj_msima_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x8a4 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_msima_class) == 0x8a4);
+
+struct ms_chain_s {
+ /* 80C9CA60 */ ~ms_chain_s();
+ /* 80C9CA9C */ ms_chain_s();
+};
+
+class daObj_Msima_HIO_c {
+public:
+ /* 80C9B40C */ daObj_Msima_HIO_c();
+ /* 80C9CAA0 */ ~daObj_Msima_HIO_c();
+};
+
#endif /* D_A_OBJ_MSIMA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h b/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h
index cb9f950853..9f26db8218 100644
--- a/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h
+++ b/include/rel/d/a/obj/d_a_obj_mvstair/d_a_obj_mvstair.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_MVSTAIR_H
#define D_A_OBJ_MVSTAIR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjStair_c
+ * @brief Moving Stairs
+ *
+ * @details
+ *
+ */
+class daObjStair_c : public fopAc_ac_c {
+public:
+ /* 80C9D098 */ void initBaseMtx();
+ /* 80C9D0D4 */ void setBaseMtx();
+ /* 80C9D148 */ void Create();
+ /* 80C9D2B8 */ void CreateHeap();
+ /* 80C9D338 */ void create1st();
+ /* 80C9D41C */ void event_proc_call();
+ /* 80C9D4D8 */ void mode_proc_call();
+ /* 80C9D594 */ void Execute(f32 (**)[3][4]);
+ /* 80C9D710 */ void Draw();
+ /* 80C9D7B4 */ void Delete();
+ /* 80C9D82C */ void actionWait();
+ /* 80C9D8EC */ void actionOrderEvent();
+ /* 80C9D95C */ void actionEvent();
+ /* 80C9D9BC */ bool actionEnd();
+ /* 80C9D9C4 */ void modeWaitUpperInit();
+ /* 80C9D9F4 */ void modeWaitUpper();
+ /* 80C9DA98 */ void modeUpperInit();
+ /* 80C9DADC */ void modeUpper();
+ /* 80C9DF18 */ void modeWaitLowerInit();
+ /* 80C9DF60 */ void modeWaitLower();
+ /* 80C9E004 */ void modeLowerInit();
+ /* 80C9E034 */ void modeLower();
+ /* 80C9E3D8 */ void setParticle();
+ /* 80C9E5A0 */ void removeParticle();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x66c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjStair_c) == 0x66c);
+
#endif /* D_A_OBJ_MVSTAIR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h b/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h
index 753546152c..f4a0240a3e 100644
--- a/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h
+++ b/include/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h
@@ -5,6 +5,14 @@
class dBgW;
+/**
+ * @ingroup actors-objects
+ * @class obj_myogan_class
+ * @brief ???
+ *
+ * @details
+ *
+ */
class obj_myogan_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;
diff --git a/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h b/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h
index 21a0eae03e..6c883963d3 100644
--- a/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h
+++ b/include/rel/d/a/obj/d_a_obj_nagaisu/d_a_obj_nagaisu.h
@@ -1,6 +1,51 @@
#ifndef D_A_OBJ_NAGAISU_H
#define D_A_OBJ_NAGAISU_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+#include "d/d_model.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjNagaisu_c
+ * @brief Couch
+ *
+ * @details
+ *
+ */
+class daObjNagaisu_c : public fopAc_ac_c {
+public:
+ /* 80C9F3D8 */ daObjNagaisu_c();
+ /* 80C9F4B8 */ ~daObjNagaisu_c();
+ /* 80C9F5A8 */ void createHeap();
+ /* 80C9F668 */ void create();
+ /* 80C9F7A8 */ void Delete();
+ /* 80C9F81C */ void draw();
+ /* 80C9F8C4 */ void execute();
+ /* 80C9F914 */ void init();
+ /* 80C9F944 */ void setIsu();
+
+ static u8 const REMOVE_ISU_IDX[28];
+private:
+ /* 0x568 */ u8 field_0x568[0xb6e4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjNagaisu_c) == 0xb6e4);
+
+// child seat / couch?
+class daObjIsuChild_c {
+public:
+ /* 80C9FA90 */ daObjIsuChild_c();
+ /* 80C9FCDC */ ~daObjIsuChild_c();
+ /* 80C9FD4C */ void createHeap();
+ /* 80C9FE28 */ void create(daObjNagaisu_c*, dCcD_Stts*);
+ /* 80C9FF54 */ void execute();
+ /* 80CA0034 */ void draw(dMdl_c*);
+ /* 80CA00B8 */ void Delete();
+ /* 80CA0118 */ void chkHit();
+ /* 80CA0180 */ void callEmt();
+
+ static u8 const s_CcDCyl[68];
+};
+
#endif /* D_A_OBJ_NAGAISU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h b/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h
index 7abe15fce9..2f6e075dc6 100644
--- a/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h
+++ b/include/rel/d/a/obj/d_a_obj_nameplate/d_a_obj_nameplate.h
@@ -1,5 +1,40 @@
#ifndef D_A_OBJ_NAMEPLATE_H
#define D_A_OBJ_NAMEPLATE_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjNameplate_c
+ * @brief Ordon Village Nameplate
+ *
+ * @details
+ *
+ */
+class daObjNameplate_c : public fopAc_ac_c {
+public:
+ /* 80594098 */ void create_init();
+ /* 8059415C */ void initBaseMtx();
+ /* 8059417C */ void setBaseMtx();
+ /* 80594248 */ void initCcSphere();
+ /* 805942B8 */ void setCcSphere();
+ /* 8059434C */ void calcAngle();
+ /* 805945CC */ void calcSpring();
+ /* 80594754 */ void checkHitAngle();
+ /* 805947F8 */ void messageProc();
+
+ static u8 const M_attr[32];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x780 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjNameplate_c) == 0x780);
+
+struct daObj {
+public:
+ /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
+};
+
#endif /* D_A_OBJ_NAMEPLATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h b/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h
index 28f58865c3..10166d108c 100644
--- a/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h
+++ b/include/rel/d/a/obj/d_a_obj_nan/d_a_obj_nan.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_NAN_H
#define D_A_OBJ_NAN_H
-#include "dolphin/types.h"
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjNAN_c
+ * @brief Insect - Phasmid
+ *
+ * @details
+ *
+ */
+class daObjNAN_c : public dInsect_c {
+public:
+ /* 80CA05D4 */ void setAction(void (daObjNAN_c::*)());
+ /* 80CA0978 */ void nan_posMove();
+ /* 80CA0A2C */ void turn();
+ /* 80CA0D9C */ void nan_WalkAnm();
+ /* 80CA0E7C */ void wait();
+ /* 80CA1184 */ void walk();
+ /* 80CA1904 */ void bin_wait();
+ /* 80CA1A20 */ void bin_action();
+ /* 80CA1B50 */ void nan_setParticle();
+ /* 80CA1D5C */ void hook();
+ /* 80CA1F60 */ void boomerang();
+ /* 80CA2368 */ void drop();
+ /* 80CA2658 */ void hit_check();
+ /* 80CA270C */ void action();
+ /* 80CA276C */ void execute();
+ /* 80CA2904 */ void _delete();
+ /* 80CA296C */ void setBaseMtx();
+ /* 80CA2B68 */ void create();
+
+private:
+ /* 0x590 */ u8 field_0x568[0x800 - 0x590];
+};
+STATIC_ASSERT(sizeof(daObjNAN_c) == 0x800);
+
+class daObj_NanHIO_c {
+public:
+ /* 80CA05AC */ daObj_NanHIO_c();
+ /* 80CA30D0 */ ~daObj_NanHIO_c();
+};
+
#endif /* D_A_OBJ_NAN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h b/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h
index 039d516fe3..49d355000c 100644
--- a/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h
+++ b/include/rel/d/a/obj/d_a_obj_ndoor/d_a_obj_ndoor.h
@@ -1,5 +1,21 @@
#ifndef D_A_OBJ_NDOOR_H
#define D_A_OBJ_NDOOR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_ndoor_class
+ * @brief Cat Door?
+ *
+ * @details
+ *
+ */
+class obj_ndoor_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x718 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_ndoor_class) == 0x718);
+
#endif /* D_A_OBJ_NDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h b/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h
index 1b1b7371b2..43640cfcc0 100644
--- a/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h
+++ b/include/rel/d/a/obj/d_a_obj_nougu/d_a_obj_nougu.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_NOUGU_H
#define D_A_OBJ_NOUGU_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Nougu_c
+ * @brief Farm Tools
+ *
+ * @details
+ *
+ */
+class daObj_Nougu_c : public fopAc_ac_c {
+public:
+ /* 80CA3C0C */ ~daObj_Nougu_c();
+ /* 80CA3E24 */ void create();
+ /* 80CA4328 */ void CreateHeap();
+ /* 80CA43A0 */ void Delete();
+ /* 80CA43D4 */ void Execute();
+ /* 80CA45F4 */ void Draw();
+ /* 80CA46B8 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CA46D8 */ void getResName();
+ /* 80CA46E8 */ void isDelete();
+ /* 80CA4708 */ void setEnvTevColor();
+ /* 80CA4764 */ void setRoomNo();
+ /* 80CA47A4 */ void setMtx();
+
+ static u8 mCcDSph[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xe30 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Nougu_c) == 0xe30);
+
+class daObj_Nougu_Param_c {
+public:
+ /* 80CA494C */ ~daObj_Nougu_Param_c();
+
+ static u8 const m[16];
+};
+
#endif /* D_A_OBJ_NOUGU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h b/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h
index e206ec3932..826165e7da 100644
--- a/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h
+++ b/include/rel/d/a/obj/d_a_obj_octhashi/d_a_obj_octhashi.h
@@ -1,5 +1,39 @@
#ifndef D_A_OBJ_OCTHASHI_H
#define D_A_OBJ_OCTHASHI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjOCTHASHI_c
+ * @brief Morpheel Pillar
+ *
+ * @details
+ *
+ */
+class daObjOCTHASHI_c : public fopAc_ac_c {
+public:
+ /* 80CA4BB8 */ void initCcCylinder();
+ /* 80CA4DFC */ void SetCoSph();
+ /* 80CA4EA4 */ void SetCoCyl();
+ /* 80CA4F24 */ void HakaiSet2(int);
+ /* 80CA52F0 */ void HakaiMotion2();
+ /* 80CA54E4 */ void CylAction();
+ /* 80CA55C4 */ void SphAction();
+ /* 80CA5844 */ void SphAction2();
+ /* 80CA58F4 */ void Action();
+ /* 80CA59BC */ void setBaseMtx();
+ /* 80CA5AE0 */ void CreateHeap();
+ /* 80CA5B98 */ void create();
+ /* 80CA62A4 */ void Create();
+ /* 80CA62F8 */ void Execute(f32 (**)[3][4]);
+ /* 80CA636C */ void Draw();
+ /* 80CA6444 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x14b0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjOCTHASHI_c) == 0x14b0);
+
#endif /* D_A_OBJ_OCTHASHI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h b/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h
index 8bb04cf172..b4f57032e4 100644
--- a/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h
+++ b/include/rel/d/a/obj/d_a_obj_oiltubo/d_a_obj_oiltubo.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Oiltubo_c
+ * @brief Oil Jar
+ *
+ * @details
+ *
+ */
class daObj_Oiltubo_c : public fopAc_ac_c {
public:
typedef int (daObj_Oiltubo_c::*processFn)(void*);
@@ -28,6 +36,7 @@ public:
static const dCcD_SrcGObjInf mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ J3DModel* mpBModel;
@@ -44,7 +53,9 @@ public:
/* 0xAC8 */ u32 mShadowKey;
/* 0xACC */ u16 mMode;
+public:
/* 80CA7628 */ virtual ~daObj_Oiltubo_c() {}
};
+STATIC_ASSERT(sizeof(daObj_Oiltubo_c) == 0xAD4);
#endif /* D_A_OBJ_OILTUBO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h b/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h
index 22a88ac9c2..b2e0bb13e2 100644
--- a/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h
+++ b/include/rel/d/a/obj/d_a_obj_onsen/d_a_obj_onsen.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjOnsen_c
+ * @brief Hot Spring
+ *
+ * @details
+ *
+ */
class daObjOnsen_c : public dBgS_MoveBgActor {
public:
/* 80CA7B58 */ void initBaseMtx();
@@ -17,10 +25,12 @@ public:
u32 getType() { return fopAcM_GetParamBit(this, 0, 8); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel[2];
/* 0x5B0 */ mDoExt_btkAnm* mpBtk;
/* 0x5B4 */ u8 mType;
-}; // Size: 0x5B8
+};
+STATIC_ASSERT(sizeof(daObjOnsen_c) == 0x5B8);
#endif /* D_A_OBJ_ONSEN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h b/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h
index ae5ea7363c..ed941652c4 100644
--- a/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h
+++ b/include/rel/d/a/obj/d_a_obj_onsenFire/d_a_obj_onsenFire.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjOnsenFire_c
+ * @brief Hot Spring Fire
+ *
+ * @details
+ *
+ */
class daObjOnsenFire_c : public fopAc_ac_c {
public:
/* 80CA8278 */ int create();
diff --git a/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h b/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h
index 4f8b129c38..7f014c6632 100644
--- a/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h
+++ b/include/rel/d/a/obj/d_a_obj_onsenTaru/d_a_obj_onsenTaru.h
@@ -1,6 +1,54 @@
#ifndef D_A_OBJ_ONSENTARU_H
#define D_A_OBJ_ONSENTARU_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daOnsTaru_c
+ * @brief Hot Spring Water Barrel
+ *
+ * @details
+ *
+ */
+class daOnsTaru_c : public fopAc_ac_c {
+public:
+ /* 80CA86C0 */ void setBaseMtx();
+ /* 80CA8748 */ void CreateHeap();
+ /* 80CA87B4 */ void create();
+ /* 80CA8C20 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CA8C4C */ void chkSinkAll();
+ /* 80CA8C70 */ void chkWaterLineIn();
+ /* 80CA8C94 */ void bgCheck();
+ /* 80CA8F38 */ void Execute();
+ /* 80CA9184 */ void mode_proc_call();
+ /* 80CA929C */ void mode_init_wait();
+ /* 80CA92CC */ void mode_proc_wait();
+ /* 80CA92F0 */ void mode_init_carry();
+ /* 80CA9320 */ void mode_proc_carry();
+ /* 80CA93C0 */ void mode_init_drop();
+ /* 80CA9400 */ void mode_proc_drop();
+ /* 80CA9424 */ void mode_init_break();
+ /* 80CA9514 */ void mode_proc_break();
+ /* 80CA9518 */ void mode_init_sink();
+ /* 80CA9530 */ void mode_proc_sink();
+ /* 80CA9620 */ void breakEffSet();
+ /* 80CA98B8 */ void Draw();
+ /* 80CA995C */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x948 - 0x568];
+};
+STATIC_ASSERT(sizeof(daOnsTaru_c) == 0x948);
+
+class daOnsTaru_HIO_c {
+public:
+ /* 80CA85CC */ daOnsTaru_HIO_c();
+ /* 80CA9A78 */ ~daOnsTaru_HIO_c();
+};
+
#endif /* D_A_OBJ_ONSENTARU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h b/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h
index 4e80df662e..f22eef6981 100644
--- a/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h
+++ b/include/rel/d/a/obj/d_a_obj_ornament_cloth/d_a_obj_ornament_cloth.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_ORNAMENT_CLOTH_H
#define D_A_OBJ_ORNAMENT_CLOTH_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjOnCloth_c
+ * @brief Ordon Village Flag
+ *
+ * @details
+ *
+ */
+class daObjOnCloth_c : public fopAc_ac_c {
+public:
+ /* 80595038 */ void create_init();
+ /* 80595158 */ void initBaseMtx();
+ /* 80595178 */ void setBaseMtx();
+ /* 805951DC */ void setNormalClothPos();
+ /* 805954B0 */ void calcJointAngle();
+ /* 80595638 */ void checkPlayerMove();
+
+ static u8 const M_attr[48];
+private:
+ /* 0x568 */ u8 field_0x568[0x6c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjOnCloth_c) == 0x6c8);
+
+class ClothJoint_c {
+public:
+ /* 80595B9C */ ~ClothJoint_c();
+ /* 80595CA8 */ ClothJoint_c();
+};
+
#endif /* D_A_OBJ_ORNAMENT_CLOTH_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h b/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h
index c8716c8919..e99dc79b4a 100644
--- a/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_pdoor/d_a_obj_pdoor.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_PDOOR_H
#define D_A_OBJ_PDOOR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjPDoor_c
+ * @brief Push Door
+ *
+ * @details
+ *
+ */
+class daObjPDoor_c : public fopAc_ac_c {
+public:
+ /* 80CA9F9C */ void initBaseMtx();
+ /* 80CA9FD8 */ void setBaseMtx();
+ /* 80CAA03C */ void Create();
+ /* 80CAA14C */ void CreateHeap();
+ /* 80CAA1BC */ void create1st();
+ /* 80CAA23C */ void Execute(f32 (**)[3][4]);
+ /* 80CAA290 */ void mode_proc_call();
+ /* 80CAA31C */ void init_modeWait();
+ /* 80CAA354 */ void modeWait();
+ /* 80CAA698 */ void init_modeRotate();
+ /* 80CAA6B4 */ void modeRotate();
+ /* 80CAA968 */ void Draw();
+ /* 80CAAA0C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjPDoor_c) == 0x5c4);
+
#endif /* D_A_OBJ_PDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h b/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h
index 7b60d72526..6786b8db88 100644
--- a/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h
+++ b/include/rel/d/a/obj/d_a_obj_pdtile/d_a_obj_pdtile.h
@@ -1,5 +1,32 @@
#ifndef D_A_OBJ_PDTILE_H
#define D_A_OBJ_PDTILE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjPDtile_c
+ * @brief P - Drop Tile
+ *
+ * @details
+ *
+ */
+class daObjPDtile_c : public fopAc_ac_c {
+public:
+ /* 80CAACE0 */ void create1st();
+ /* 80CAAE80 */ void setMtx();
+ /* 80CAAF90 */ void rideActor(fopAc_ac_c*);
+ /* 80CAB1F0 */ void CreateHeap();
+ /* 80CAB258 */ void Create();
+ /* 80CAB374 */ void Execute(f32 (**)[3][4]);
+ /* 80CABF50 */ void Draw();
+ /* 80CAC094 */ void Delete();
+ /* 80CAC374 */ ~daObjPDtile_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x7fc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjPDtile_c) == 0x7fc);
+
#endif /* D_A_OBJ_PDTILE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h b/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h
index 0145f82d34..4571bf6cbc 100644
--- a/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h
+++ b/include/rel/d/a/obj/d_a_obj_pdwall/d_a_obj_pdwall.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_PDWALL_H
#define D_A_OBJ_PDWALL_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjPDwall_c
+ * @brief P - D Wall?
+ *
+ * @details
+ *
+ */
+class daObjPDwall_c : public fopAc_ac_c {
+public:
+ /* 80CAC7F8 */ void create1st();
+ /* 80CAC8DC */ void setMtx();
+ /* 80CACA44 */ void CreateHeap();
+ /* 80CACBA8 */ void Create();
+ /* 80CACCE0 */ void Execute(f32 (**)[3][4]);
+ /* 80CACF14 */ void Draw();
+ /* 80CACFD4 */ void Delete();
+ /* 80CAD140 */ ~daObjPDwall_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa18 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjPDwall_c) == 0xa18);
+
#endif /* D_A_OBJ_PDWALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h b/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h
index 1c35caf253..12800a93aa 100644
--- a/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h
+++ b/include/rel/d/a/obj/d_a_obj_picture/d_a_obj_picture.h
@@ -1,6 +1,45 @@
#ifndef D_A_OBJ_PICTURE_H
#define D_A_OBJ_PICTURE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjPicture_c
+ * @brief Hyrule Castle Painting
+ *
+ * @details
+ *
+ */
+class daObjPicture_c : public fopAc_ac_c {
+public:
+ /* 80CAD318 */ daObjPicture_c();
+ /* 80CAD6C8 */ ~daObjPicture_c();
+ /* 80CAD908 */ void createHeap();
+ /* 80CADC18 */ void create();
+ /* 80CADFB0 */ void Delete();
+ /* 80CAE05C */ void draw();
+ /* 80CAE1B8 */ void execute();
+ /* 80CAE510 */ void init();
+ /* 80CAE5B0 */ void setPicModelMtx();
+ /* 80CAE638 */ void setTmgModelMtx();
+ /* 80CAE6C4 */ void getLinePosPic(int, cXyz*);
+ /* 80CAE744 */ void getPosTmg(cXyz*);
+ /* 80CAE76C */ void setLinePos();
+ /* 80CAE8E8 */ void moveLineFall1();
+ /* 80CAEA60 */ void moveLineFall2();
+ /* 80CAED28 */ void chkHitRope();
+ /* 80CAEDDC */ void chkHitBombTg();
+ /* 80CAEE90 */ void setPicAtCol();
+
+ static u8 s_CcDCps[76];
+ static u8 s_CcDCyl_pic_at[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xda0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjPicture_c) == 0xda0);
+
#endif /* D_A_OBJ_PICTURE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h b/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h
index f9e12b49cf..ee56bb13a1 100644
--- a/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h
+++ b/include/rel/d/a/obj/d_a_obj_pillar/d_a_obj_pillar.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_PILLAR_H
#define D_A_OBJ_PILLAR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daPillar_c
+ * @brief Forest Temple Totem Pole
+ *
+ * @details
+ *
+ */
+class daPillar_c : public fopAc_ac_c {
+public:
+ /* 80CAF4B4 */ void setBaseMtx();
+ /* 80CAF5EC */ void Create();
+ /* 80CAF7A8 */ void CreateHeap();
+ /* 80CAF8A4 */ void create1st();
+ /* 80CAFB44 */ void checkAttacked();
+ /* 80CAFC08 */ void on_switch();
+ /* 80CAFD64 */ void checkShake();
+ /* 80CAFF60 */ void setShake_rcrash();
+ /* 80CB01E0 */ void setShake_strong();
+ /* 80CB022C */ void setShake_weak();
+ /* 80CB0278 */ void switch_proc_call();
+ /* 80CB031C */ void actionSwOnWait();
+ /* 80CB0378 */ void actionSwOn();
+ /* 80CB03CC */ void actionEnd();
+ /* 80CB03D0 */ void Execute(f32 (**)[3][4]);
+ /* 80CB0658 */ void Draw();
+ /* 80CB0740 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x750 - 0x568];
+};
+STATIC_ASSERT(sizeof(daPillar_c) == 0x750);
+
+class daPillar_HIO_c {
+public:
+ /* 80CAF32C */ daPillar_HIO_c();
+ /* 80CB0928 */ ~daPillar_HIO_c();
+};
+
#endif /* D_A_OBJ_PILLAR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h b/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h
index 15ef3017d4..91a91b7450 100644
--- a/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h
+++ b/include/rel/d/a/obj/d_a_obj_pleaf/d_a_obj_pleaf.h
@@ -4,8 +4,16 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Pleaf_c
+ * @brief Ordon Pumpkin Vine
+ *
+ * @details
+ *
+ */
class daObj_Pleaf_c : public fopAc_ac_c {
-public:
+private:
/* 0x568*/ u8 field_0x568[0x56C - 0x568];
/* 0x56C */ request_of_phase_process_class mPhaseReq;
/* 0x574 */ J3DModel* mpModel;
@@ -18,8 +26,7 @@ public:
/* 0x944 */ u32 mShadowKey;
/* 0x948 */ u8 mType;
- u32 getType() { return 0; }
-
+public:
/* 80CB0D4C */ virtual ~daObj_Pleaf_c();
/* 80CB0F08 */ int create();
/* 80CB134C */ int CreateHeap();
@@ -32,7 +39,10 @@ public:
/* 80CB15E8 */ void setEnvTevColor();
/* 80CB1644 */ void setRoomNo();
/* 80CB1684 */ void setMtx();
+
+ u32 getType() { return 0; }
};
+STATIC_ASSERT(sizeof(daObj_Pleaf_c) == 0x950);
class daObj_Pleaf_Param_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h b/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h
index 2c31d3a137..23666979a1 100644
--- a/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h
+++ b/include/rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_POCANDLE_H
#define D_A_OBJ_POCANDLE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daPoCandle_c
+ * @brief Poe Torch
+ *
+ * @details
+ *
+ */
+class daPoCandle_c : public fopAc_ac_c {
+public:
+ /* 80CB1AE4 */ void setBaseMtx();
+ /* 80CB1B6C */ void CreateHeap();
+ /* 80CB1BD8 */ void create();
+ /* 80CB1D74 */ void lightInit();
+ /* 80CB1E00 */ void setLight();
+ /* 80CB1E30 */ void cutLight();
+ /* 80CB1E60 */ void pointLightProc();
+ /* 80CB1F10 */ void Execute(f32 (**)[3][4]);
+ /* 80CB2140 */ void init_modeWait();
+ /* 80CB214C */ void modeWait();
+ /* 80CB21D8 */ void init_modeOnFire();
+ /* 80CB22D4 */ void modeOnFire();
+ /* 80CB22F4 */ void modeOnSwWait();
+ /* 80CB2354 */ void init_modeEnd();
+ /* 80CB2360 */ void modeEnd();
+ /* 80CB2364 */ void eventStart();
+ /* 80CB2388 */ void Draw();
+ /* 80CB242C */ void Delete();
+ /* 80CB2610 */ ~daPoCandle_c();
+
+ /* 80CB3E3C */ void getFirePos(); // implemented in d_a_obj_poFire.cpp
+
+private:
+ /* 0x568 */ u8 field_0x568[0x614 - 0x568];
+};
+STATIC_ASSERT(sizeof(daPoCandle_c) == 0x614);
+
+class daPoCandle_HIO_c {
+public:
+ /* 80CB1A6C */ daPoCandle_HIO_c();
+ /* 80CB2508 */ ~daPoCandle_HIO_c();
+};
+
#endif /* D_A_OBJ_POCANDLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h b/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h
index 7d5f527ee3..7b4ffb903b 100644
--- a/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h
+++ b/include/rel/d/a/obj/d_a_obj_poFire/d_a_obj_poFire.h
@@ -1,6 +1,57 @@
#ifndef D_A_OBJ_POFIRE_H
#define D_A_OBJ_POFIRE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "rel/d/a/obj/d_a_obj_poCandle/d_a_obj_poCandle.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daPoFire_c
+ * @brief Poe Fire
+ *
+ * @details
+ *
+ */
+class daPoFire_c : public fopAc_ac_c {
+public:
+ /* 80CB2A0C */ void setBaseMtx();
+ /* 80CB2A74 */ void create();
+ /* 80CB2BB8 */ void Execute();
+ /* 80CB2BFC */ void procMain();
+ /* 80CB2D84 */ void setFire();
+ /* 80CB2F68 */ void searchCandle(void*, void*);
+ /* 80CB2FD4 */ void searchFireTag(void*, void*);
+ /* 80CB3024 */ void init_modeInitMove();
+ /* 80CB30FC */ void modeInitMove();
+ /* 80CB31FC */ void modeWait();
+ /* 80CB32EC */ void init_modeWaitSetEffect();
+ /* 80CB3380 */ void modeWaitSetEffect();
+ /* 80CB3540 */ void init_modeMoveOut();
+ /* 80CB355C */ void modeMoveOut();
+ /* 80CB3714 */ void init_modeMove();
+ /* 80CB3730 */ void modeMove();
+ /* 80CB38EC */ void init_modeMoveWait();
+ /* 80CB3918 */ void modeMoveWait();
+ /* 80CB3958 */ void modeNoMove();
+ /* 80CB39CC */ void init_modeOnFire();
+ /* 80CB39E0 */ void modeOnFire();
+ /* 80CB3ADC */ void init_modeFireEnd();
+ /* 80CB3AE8 */ void modeFireEnd();
+ /* 80CB3B70 */ void eventStart();
+ /* 80CB3BE0 */ void eventRun();
+ /* 80CB3C64 */ bool eventEnd();
+ /* 80CB3C6C */ bool Draw();
+ /* 80CB3C74 */ void Delete();
+ /* 80CB3E58 */ ~daPoFire_c();
+private:
+ /* 0x568 */ u8 field_0x568[0x618 - 0x568];
+};
+STATIC_ASSERT(sizeof(daPoFire_c) == 0x618);
+
+class daPoFire_HIO_c {
+public:
+ /* 80CB294C */ daPoFire_HIO_c();
+ /* 80CB3D24 */ ~daPoFire_HIO_c();
+};
#endif /* D_A_OBJ_POFIRE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h b/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h
index ee8d7b3169..097e32d6c0 100644
--- a/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h
+++ b/include/rel/d/a/obj/d_a_obj_poTbox/d_a_obj_poTbox.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_POTBOX_H
#define D_A_OBJ_POTBOX_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daPoTbox_c
+ * @brief Poe Treasure Chest
+ *
+ * @details
+ *
+ */
+class daPoTbox_c : public fopAc_ac_c {
+public:
+ /* 80CB42C8 */ void setBaseMtx();
+ /* 80CB43D0 */ void CreateHeap();
+ /* 80CB46C4 */ void create();
+ /* 80CB499C */ void Execute(f32 (**)[3][4]);
+ /* 80CB4AA8 */ void init_modeWait();
+ /* 80CB4AB4 */ void modeWait();
+ /* 80CB4B10 */ void init_modeOpen();
+ /* 80CB4BF8 */ void modeOpen();
+ /* 80CB4C54 */ void init_modeOpenEnd();
+ /* 80CB4C60 */ void modeOpenEnd();
+ /* 80CB4C84 */ void init_modeEnd();
+ /* 80CB4C90 */ void modeEnd();
+ /* 80CB4C94 */ void Draw();
+ /* 80CB4E14 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x608 - 0x568];
+};
+STATIC_ASSERT(sizeof(daPoTbox_c) == 0x608);
+
+class daPoTbox_HIO_c {
+public:
+ /* 80CB424C */ daPoTbox_HIO_c();
+ /* 80CB4F14 */ ~daPoTbox_HIO_c();
+};
+
#endif /* D_A_OBJ_POTBOX_H */
diff --git a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h
index 723a4b542e..62d878205d 100644
--- a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h
+++ b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjProp_c
+ * @brief City in the Sky Propeller?
+ *
+ * @details
+ *
+ */
class daObjProp_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80CB51F8 */ daObjProp_c();
@@ -18,8 +26,10 @@ public:
u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
u32 getArg_0() { return fopAcM_GetParamBit(this, 4, 4); }
+private:
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ u8 mArg;
-}; // Size: 0x57C
+};
+STATIC_ASSERT(sizeof(daObjProp_c) == 0x57C);
#endif /* D_A_OBJ_PROP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h b/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h
index 7cd7708b09..f17f549b98 100644
--- a/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h
+++ b/include/rel/d/a/obj/d_a_obj_pumpkin/d_a_obj_pumpkin.h
@@ -1,5 +1,48 @@
#ifndef D_A_OBJ_PUMPKIN_H
#define D_A_OBJ_PUMPKIN_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Pumpkin_c
+ * @brief Ordon Village Pumpkin
+ *
+ * @details
+ *
+ */
+class daObj_Pumpkin_c : public fopAc_ac_c {
+public:
+ /* 80CB578C */ ~daObj_Pumpkin_c();
+ /* 80CB5A04 */ void create();
+ /* 80CB5F88 */ void CreateHeap();
+ /* 80CB6018 */ void Delete();
+ /* 80CB604C */ void Execute();
+ /* 80CB7638 */ void Draw();
+ /* 80CB7824 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CB7844 */ void isDelete();
+ /* 80CB78C8 */ void setEnvTevColor();
+ /* 80CB7924 */ void setRoomNo();
+ /* 80CB7968 */ void reset();
+ /* 80CB79DC */ void setMtx();
+ /* 80CB7AE4 */ void calcRollAngle(s16, int);
+ /* 80CB7B84 */ void getWallAngle(s16, s16*);
+ /* 80CB7D14 */ void setSmokePrtcl();
+ /* 80CB7D98 */ void setWaterPrtcl();
+ /* 80CB7E98 */ void setHamonPrtcl();
+ /* 80CB7EF4 */ void crash();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xbbc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Pumpkin_c) == 0xbbc);
+
+class daObj_Pumpkin_Param_c {
+public:
+ /* 80CB8304 */ ~daObj_Pumpkin_Param_c();
+
+ static u8 const m[52];
+};
+
#endif /* D_A_OBJ_PUMPKIN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h b/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h
index 44f94c4532..3a7a576d67 100644
--- a/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h
+++ b/include/rel/d/a/obj/d_a_obj_rcircle/d_a_obj_rcircle.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjRCircle_c
+ * @brief River Circle
+ *
+ * @details
+ *
+ */
class daObjRCircle_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80CB8678 */ daObjRCircle_c();
@@ -17,10 +25,12 @@ public:
int getSwBit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; }
+private:
/* 0x574 */ mDoExt_brkAnm mBrk;
/* 0x58C */ mDoExt_btkAnm mBtk;
/* 0x5A4 */ J3DModel* mpModel;
/* 0x5A8 */ u8 mSwitch;
};
+STATIC_ASSERT(sizeof(daObjRCircle_c) == 0x5AC);
#endif /* D_A_OBJ_RCIRCLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
index 527881f5ad..837a6940bf 100644
--- a/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
+++ b/include/rel/d/a/obj/d_a_obj_rfHole/d_a_obj_rfHole.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_RFHOLE_H
#define D_A_OBJ_RFHOLE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daRfHole_c
+ * @brief (Kakariko?) Roof Hole
+ *
+ * @details
+ *
+ */
+class daRfHole_c : public fopAc_ac_c {
+public:
+ /* 80CB8F04 */ void setBaseMtx();
+ /* 80CB8F8C */ void CreateHeap();
+ /* 80CB8FF8 */ void create();
+ /* 80CB9148 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80CB9194 */ void playerAreaCheck();
+ /* 80CB940C */ void Execute(f32 (**)[3][4]);
+ /* 80CB9464 */ void holeProc();
+ /* 80CB9520 */ void init_modeWait();
+ /* 80CB952C */ void modeWait();
+ /* 80CB9558 */ void init_modeBreak();
+ /* 80CB96AC */ void modeBreak();
+ /* 80CB96CC */ void init_modeBreakEff();
+ /* 80CB971C */ void modeBreakEff();
+ /* 80CB973C */ void init_modeEnd();
+ /* 80CB9748 */ void modeEnd();
+ /* 80CB9768 */ void setBreakEffect();
+ /* 80CB9878 */ void Draw();
+ /* 80CB991C */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5b4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daRfHole_c) == 0x5b4);
+
+class daRfHole_HIO_c {
+public:
+ /* 80CB8E6C */ daRfHole_HIO_c();
+ /* 80CB99D8 */ ~daRfHole_HIO_c();
+};
+
#endif /* D_A_OBJ_RFHOLE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h b/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h
index 1c6535e6f3..930c15a535 100644
--- a/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h
+++ b/include/rel/d/a/obj/d_a_obj_rgate/d_a_obj_rgate.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjRgate_c
+ * @brief Rider Gate
+ *
+ * @details
+ *
+ */
class daObjRgate_c : public dBgS_MoveBgActor {
public:
/* 80CB9DF8 */ void initBaseMtx();
@@ -76,5 +84,6 @@ public:
/* 0xC00 */ Mtx field_0xc00;
/* 0xC30 */ Mtx field_0xc30;
};
+STATIC_ASSERT(sizeof(daObjRgate_c) == 0xC60);
#endif /* D_A_OBJ_RGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h b/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h
index 69675110c9..07cde0c0ee 100644
--- a/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h
+++ b/include/rel/d/a/obj/d_a_obj_riverrock/d_a_obj_riverrock.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_RIVERROCK_H
#define D_A_OBJ_RIVERROCK_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjRIVERROCK_c
+ * @brief (Zora?) River Rock
+ *
+ * @details
+ *
+ */
+class daObjRIVERROCK_c : public fopAc_ac_c {
+public:
+ /* 80CBC6F4 */ void initCcCylinder();
+ /* 80CBC754 */ void SetCcCyl();
+ /* 80CBC7F8 */ void BreakWaitAction();
+ /* 80CBC8BC */ void CheckBG();
+ /* 80CBCC3C */ void BreakMoveAction();
+ /* 80CBCCC0 */ void BrokenAction();
+ /* 80CBCD94 */ void BreakAction();
+ /* 80CBCDE8 */ void Action();
+ /* 80CBCE2C */ void BreakSet();
+ /* 80CBD1C4 */ void WaitAction();
+ /* 80CBD204 */ void setBaseMtx();
+ /* 80CBD348 */ void CreateHeap();
+ /* 80CBD3C0 */ void create();
+ /* 80CBD7B4 */ void Create();
+ /* 80CBD814 */ void Execute(f32 (**)[3][4]);
+ /* 80CBD8E0 */ void Draw();
+ /* 80CBD964 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x79c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjRIVERROCK_c) == 0x79c);
+
+class daObjRIVERROCK_HIO_c {
+public:
+ /* 80CBC6CC */ daObjRIVERROCK_HIO_c();
+ /* 80CBD9C4 */ ~daObjRIVERROCK_HIO_c();
+};
+
#endif /* D_A_OBJ_RIVERROCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
index 47e2909b34..36a2d8be37 100644
--- a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h
@@ -5,8 +5,6 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor.h"
-class J3DModel;
-
struct rock_ss {
/* 80CBE5A4 */ ~rock_ss();
/* 80CBE678 */ rock_ss();
@@ -22,6 +20,14 @@ struct rock_ss {
STATIC_ASSERT(sizeof(rock_ss) == 0x160);
+/**
+ * @ingroup actors-objects
+ * @class obj_rock_class
+ * @brief Rock
+ *
+ * @details
+ *
+ */
class obj_rock_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
@@ -34,7 +40,7 @@ public:
/* 0x1B7C */ dCcD_Stts mStts;
/* 0x1BB8 */ u8 field_0x1bb8; // Unused?
/* 0x1BB9 */ bool mInitialized;
-}; // Size: 0x1BBC
+};
STATIC_ASSERT(sizeof(obj_rock_class) == 0x1BBC);
diff --git a/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h b/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h
index fbe015e46b..ffe3123edf 100644
--- a/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h
+++ b/include/rel/d/a/obj/d_a_obj_rope_bridge/d_a_obj_rope_bridge.h
@@ -1,5 +1,46 @@
#ifndef D_A_OBJ_ROPE_BRIDGE_H
#define D_A_OBJ_ROPE_BRIDGE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjRBridge_c
+ * @brief Small / Big Rope Bridge
+ *
+ * @details
+ *
+ */
+class daObjRBridge_c : public fopAc_ac_c {
+public:
+ /* 80595E38 */ void initBaseMtx();
+ /* 80595ED8 */ void setBaseMtx();
+ /* 80595F84 */ void checkE3Special();
+ /* 80595FE0 */ void setStPos();
+ /* 8059616C */ void initLinePos();
+ /* 805963C4 */ void setLinePos();
+ /* 80596768 */ void getLinePosSt(cXyz*);
+ /* 805967E4 */ void getLinePosBrg(int, cXyz*);
+ /* 8059689C */ void checkTight();
+ /* 805969FC */ void Create();
+ /* 80596B88 */ void CreateHeap();
+ /* 80596DEC */ void create1st();
+ /* 80596EBC */ void Execute(f32 (**)[3][4]);
+ /* 80596FA8 */ void action();
+ /* 8059715C */ void init_wait();
+ /* 80597170 */ void mode_wait();
+ /* 805973BC */ void init_cut();
+ /* 805973E4 */ void mode_cut();
+ /* 805975E8 */ void init_end();
+ /* 805975F4 */ void mode_end();
+ /* 805975F8 */ void Draw();
+ /* 805977D0 */ void checkHimoCulling();
+ /* 805978BC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb6c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjRBridge_c) == 0xb6c);
+
#endif /* D_A_OBJ_ROPE_BRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h b/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h
index 73bf47fe83..b144e44a7d 100644
--- a/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h
+++ b/include/rel/d/a/obj/d_a_obj_rotBridge/d_a_obj_rotBridge.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_ROTBRIDGE_H
#define D_A_OBJ_ROTBRIDGE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daRotBridge_c
+ * @brief Rotating Bridge
+ *
+ * @details
+ *
+ */
+class daRotBridge_c : public fopAc_ac_c {
+public:
+ /* 80CBEA24 */ void setBaseMtx();
+ /* 80CBEB38 */ void CreateHeap();
+ /* 80CBECBC */ void create();
+ /* 80CBEF1C */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80CBEF34 */ void Execute(f32 (**)[3][4]);
+ /* 80CBF050 */ void playerAreaCheck();
+ /* 80CBF1EC */ void moveBridge();
+ /* 80CBF404 */ void Draw();
+ /* 80CBF4BC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x610 - 0x568];
+};
+STATIC_ASSERT(sizeof(daRotBridge_c) == 0x610);
+
+class daRotBridge_HIO_c {
+public:
+ /* 80CBE98C */ daRotBridge_HIO_c();
+ /* 80CBF5BC */ ~daRotBridge_HIO_c();
+};
+
#endif /* D_A_OBJ_ROTBRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h b/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h
index 4d22518218..235d4d0089 100644
--- a/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h
+++ b/include/rel/d/a/obj/d_a_obj_rotTrap/d_a_obj_rotTrap.h
@@ -1,6 +1,46 @@
#ifndef D_A_OBJ_ROTTRAP_H
#define D_A_OBJ_ROTTRAP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daRotTrap_c
+ * @brief Rotating Skull Trap
+ *
+ * @details
+ *
+ */
+class daRotTrap_c : public fopAc_ac_c {
+public:
+ /* 80CBF940 */ void setBaseMtx();
+ /* 80CBF9D8 */ void CreateHeap();
+ /* 80CBFAC8 */ void create();
+ /* 80CBFEC4 */ void Execute(f32 (**)[3][4]);
+ /* 80CBFF1C */ void procMain();
+ /* 80CC00AC */ void init_modeWait();
+ /* 80CC0120 */ void modeWait();
+ /* 80CC0180 */ void init_modeAcc();
+ /* 80CC027C */ void modeAcc();
+ /* 80CC034C */ void init_modeMove();
+ /* 80CC0360 */ void modeMove();
+ /* 80CC0440 */ void seSet();
+ /* 80CC0548 */ void Draw();
+ /* 80CC05EC */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x173c - 0x568];
+};
+STATIC_ASSERT(sizeof(daRotTrap_c) == 0x173c);
+
+class daRotTrap_HIO_c {
+public:
+ /* 80CBF8AC */ daRotTrap_HIO_c();
+ /* 80CC0728 */ ~daRotTrap_HIO_c();
+};
+
#endif /* D_A_OBJ_ROTTRAP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h b/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h
index b1ec30c416..43c552f011 100644
--- a/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h
+++ b/include/rel/d/a/obj/d_a_obj_roten/d_a_obj_roten.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_ROTEN_H
#define D_A_OBJ_ROTEN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Roten_c
+ * @brief Goron Child Stall
+ *
+ * @details
+ *
+ */
+class daObj_Roten_c : public fopAc_ac_c {
+public:
+ /* 80CC0B58 */ void initBaseMtx();
+ /* 80CC0B94 */ void setBaseMtx();
+ /* 80CC0C20 */ void Create();
+ /* 80CC0EC4 */ void CreateHeap();
+ /* 80CC0F40 */ void create();
+ /* 80CC1038 */ void Execute(f32 (**)[3][4]);
+ /* 80CC1138 */ void Draw();
+ /* 80CC1254 */ void Delete();
+ /* 80CC12E4 */ void getResName();
+ /* 80CC1388 */ ~daObj_Roten_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Roten_c) == 0x5c8);
+
#endif /* D_A_OBJ_ROTEN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h b/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h
index 22faeef4b4..7d5ef5bc2a 100644
--- a/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h
+++ b/include/rel/d/a/obj/d_a_obj_rstair/d_a_obj_rstair.h
@@ -1,6 +1,45 @@
#ifndef D_A_OBJ_RSTAIR_H
#define D_A_OBJ_RSTAIR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjRotStair_c
+ * @brief Rail Staircase
+ *
+ * @details
+ *
+ */
+class daObjRotStair_c : public fopAc_ac_c {
+public:
+ /* 80CC1558 */ void initBaseMtx();
+ /* 80CC1614 */ void setBaseMtx();
+ /* 80CC16B0 */ void Create();
+ /* 80CC17F0 */ void CreateHeap();
+ /* 80CC1A28 */ void create1st();
+ /* 80CC1AF0 */ void Execute(f32 (**)[3][4]);
+ /* 80CC1BA4 */ void move_proc_call();
+ /* 80CC1C30 */ void init_modeWait();
+ /* 80CC1CF0 */ void modeWait();
+ /* 80CC1DF8 */ void init_modeRotate();
+ /* 80CC1EC8 */ void modeRotate();
+ /* 80CC2024 */ void event_proc_call();
+ /* 80CC20E0 */ void actionWait();
+ /* 80CC2158 */ void actionOrderEvent();
+ /* 80CC21C0 */ void actionEvent();
+ /* 80CC221C */ void actionDead();
+ /* 80CC2220 */ void checkChangeSw();
+ /* 80CC22A0 */ void offSwitch(int);
+ /* 80CC2310 */ void onWaterModel();
+ /* 80CC2364 */ void offWaterModel();
+ /* 80CC23C4 */ void Draw();
+ /* 80CC25C0 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5e4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjRotStair_c) == 0x5e4);
+
#endif /* D_A_OBJ_RSTAIR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h b/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h
index 34b7c01001..d3d7c5a5e8 100644
--- a/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h
+++ b/include/rel/d/a/obj/d_a_obj_rw/d_a_obj_rw.h
@@ -1,5 +1,33 @@
#ifndef D_A_OBJ_RW_H
#define D_A_OBJ_RW_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/cc/d_cc_d.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_rw_class
+ * @brief Wild Boar Roast
+ *
+ * @details
+ *
+ */
+class obj_rw_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xe3c - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_rw_class) == 0xe3c);
+
+struct daObj {
+public:
+ /* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
+};
+
+class daOBJ_RW_HIO_c {
+public:
+ /* 80CC298C */ daOBJ_RW_HIO_c();
+ /* 80CC3A5C */ ~daOBJ_RW_HIO_c();
+};
+
#endif /* D_A_OBJ_RW_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h b/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h
index 645e840ccb..ba8be22c8c 100644
--- a/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h
+++ b/include/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_SWALLSHUTTER_H
#define D_A_OBJ_SWALLSHUTTER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSwShutter_c
+ * @brief Rider Gate
+ *
+ * @details
+ *
+ */
+class daSwShutter_c : public fopAc_ac_c {
+public:
+ /* 805982A4 */ void setBaseMtx();
+ /* 80598344 */ void CreateHeap();
+ /* 805983C4 */ void create();
+ /* 80598564 */ void Execute(f32 (**)[3][4]);
+ /* 805985B4 */ void moveMain();
+ /* 8059873C */ void init_modeWait();
+ /* 80598748 */ void modeWait();
+ /* 8059879C */ void init_modeMoveDownInit();
+ /* 805989D0 */ void modeMoveDownInit();
+ /* 80598A04 */ void init_modeMoveDown();
+ /* 80598AFC */ void modeMoveDown();
+ /* 80598D4C */ void init_modeMoveDownEnd();
+ /* 80598D58 */ void modeMoveDownEnd();
+ /* 80598D5C */ void Draw();
+ /* 80598E00 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5e8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSwShutter_c) == 0x5e8);
+
+class daSwShutter_HIO_c {
+public:
+ /* 805981EC */ daSwShutter_HIO_c();
+ /* 80598ECC */ ~daSwShutter_HIO_c();
+};
+
#endif /* D_A_OBJ_SWALLSHUTTER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h b/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h
index d326f1673f..a5547272a6 100644
--- a/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h
+++ b/include/rel/d/a/obj/d_a_obj_saidan/d_a_obj_saidan.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daSaidan_c
+ * @brief Altar
+ *
+ * @details
+ *
+ */
class daSaidan_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
@@ -27,12 +35,13 @@ public:
/* 80CC4318 */ virtual int Draw();
/* 80CC43BC */ virtual int Delete();
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mIsSwitch;
/* 0x5B0 */ f32 mOriginalPosX;
-}; // Size: 0x5B4
+};
STATIC_ASSERT(sizeof(daSaidan_c) == 0x5B4);
diff --git a/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h b/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h
index b87c5ebeb0..4d4503ca6b 100644
--- a/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h
+++ b/include/rel/d/a/obj/d_a_obj_sakuita/d_a_obj_sakuita.h
@@ -1,6 +1,31 @@
#ifndef D_A_OBJ_SAKUITA_H
#define D_A_OBJ_SAKUITA_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSakuita_c
+ * @brief Rope Plank
+ *
+ * @details
+ *
+ */
+class daObjSakuita_c : public fopAc_ac_c {
+public:
+ /* 80CC46F8 */ void create_init();
+ /* 80CC47F8 */ void initBaseMtx();
+ /* 80CC4818 */ void setBaseMtx();
+ /* 80CC489C */ void setPlatePos();
+ /* 80CC4A98 */ void calcAngle();
+ /* 80CC4C9C */ ~daObjSakuita_c();
+
+ static u8 const M_attr[44];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x750 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSakuita_c) == 0x750);
+
#endif /* D_A_OBJ_SAKUITA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h b/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h
index ba00b09144..3746176d51 100644
--- a/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h
+++ b/include/rel/d/a/obj/d_a_obj_sakuita_rope/d_a_obj_sakuita_rope.h
@@ -1,6 +1,50 @@
#ifndef D_A_OBJ_SAKUITA_ROPE_H
#define D_A_OBJ_SAKUITA_ROPE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjItaRope_c
+ * @brief Rope Banner Fence
+ *
+ * @details
+ *
+ */
+class daObjItaRope_c : public fopAc_ac_c {
+public:
+ /* 80CC57E4 */ void create_init();
+ /* 80CC5E48 */ void initBaseMtx();
+ /* 80CC5E7C */ void setBaseMtx();
+ /* 80CC5ECC */ void setNormalRopePos();
+
+ static u8 const M_attr[20];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x638 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjItaRope_c) == 0x638);
+
+class Sakuita_c {
+public:
+ /* 80CC5238 */ void setModelData(J3DModelData*);
+ /* 80CC527C */ void create(cXyz*, s16, s8);
+ /* 80CC5314 */ void execute(cXyz*, s16);
+ /* 80CC5354 */ void draw();
+ /* 80CC5390 */ void initBaseMtx();
+ /* 80CC53B0 */ void setBaseMtx();
+ /* 80CC5444 */ void setPlatePos(cXyz*);
+ /* 80CC5720 */ void calcAngle();
+ /* 80CC63E4 */ ~Sakuita_c();
+ /* 80CC6420 */ Sakuita_c();
+};
+
+class RopeWork_c {
+public:
+ /* 80CC6424 */ ~RopeWork_c();
+ /* 80CC6460 */ RopeWork_c();
+};
+
+
#endif /* D_A_OBJ_SAKUITA_ROPE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h b/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h
index 412b6ad40a..cae0c3136e 100644
--- a/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h
+++ b/include/rel/d/a/obj/d_a_obj_scannon/d_a_obj_scannon.h
@@ -1,6 +1,69 @@
#ifndef D_A_OBJ_SCANNON_H
#define D_A_OBJ_SCANNON_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSCannon_c
+ * @brief Sky Cannon (City in the Sky)
+ *
+ * @details
+ *
+ */
+class daSCannon_c : public fopAc_ac_c {
+public:
+ /* 80CC6B0C */ daSCannon_c();
+ /* 80CC6C10 */ ~daSCannon_c();
+ /* 80CC6D10 */ void create();
+ /* 80CC7204 */ void execute();
+ /* 80CC7228 */ void draw();
+ /* 80CC747C */ void Delete();
+ /* 80CC7508 */ void setModelMtx();
+ /* 80CC7578 */ void setPtlModelMtx();
+ /* 80CC7608 */ void createHeap();
+ /* 80CC7970 */ void middleExe();
+ /* 80CC7A10 */ void orderEvtInit();
+ /* 80CC7AB8 */ void exeModeWait();
+ /* 80CC7C48 */ void exeModeOrderEvt();
+ /* 80CC7D14 */ void exeModeActionEvt();
+ /* 80CC7EBC */ void exeModeEnd();
+ /* 80CC7EC0 */ void demoExe();
+ /* 80CC7FAC */ void demoModeInit(int);
+ /* 80CC8044 */ void demoInitLinkIn();
+ /* 80CC8048 */ void demoExeLinkIn();
+ /* 80CC8108 */ void demoInitSet();
+ /* 80CC81DC */ void demoExeSet();
+ /* 80CC8274 */ void demoInitMove();
+ /* 80CC8278 */ void demoExeMove();
+ /* 80CC8378 */ void demoInitFire();
+ /* 80CC83CC */ void demoExeFire();
+ /* 80CC8430 */ void demoInitFinish();
+ /* 80CC8538 */ void demoExeFinish();
+ /* 80CC8648 */ void demoInitWarpEndWait();
+ /* 80CC8714 */ void demoExeWarpEndWait();
+ /* 80CC8804 */ void demoInitWarpEndMove();
+ /* 80CC8818 */ void demoExeWarpEndMove();
+ /* 80CC88A8 */ void changeScene();
+ /* 80CC8998 */ void init();
+ /* 80CC8A30 */ void initEmtRt(u16, int, u16 const*, JPABaseEmitter**);
+ /* 80CC8B60 */ void exeEmtRt(u16, int, JPABaseEmitter**);
+ /* 80CC8BF4 */ void initEmtLine();
+ /* 80CC8CDC */ void exeEmtLine();
+ /* 80CC8DA0 */ void delEmtAll();
+ /* 80CC8DDC */ void setCannonRepair();
+
+ static void* const s_demoTable[12];
+ static u8 s_exeProc[48];
+ static u8 s_demoExeProc_WarpEnd[48];
+ static u8 s_demoExeProc_FireTks[72];
+ static u8 s_demoExeProc_FireFirst[24];
+ static u8 s_demoExeProc_FireSecond[96];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x638 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSCannon_c) == 0x638);
+
#endif /* D_A_OBJ_SCANNON_H */
diff --git a/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h b/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h
index ea3f410c74..ce5a46d3ce 100644
--- a/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h
+++ b/include/rel/d/a/obj/d_a_obj_scannon_crs/d_a_obj_scannon_crs.h
@@ -1,6 +1,45 @@
#ifndef D_A_OBJ_SCANNON_CRS_H
#define D_A_OBJ_SCANNON_CRS_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+#include "rel/d/a/d_a_midna/d_a_midna.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSCannonCrs_c
+ * @brief Sky Cannon (Broken)
+ *
+ * @details
+ *
+ */
+class daSCannonCrs_c : public fopAc_ac_c {
+public:
+ /* 80CC973C */ daSCannonCrs_c();
+ /* 80CC983C */ ~daSCannonCrs_c();
+ /* 80CC9910 */ void create();
+ /* 80CC9B10 */ void Delete();
+ /* 80CC9B80 */ void draw();
+ /* 80CC9C64 */ void execute();
+ /* 80CC9CA4 */ void middleExe(daMidna_c*);
+ /* 80CC9D60 */ void exeModeWait(daMidna_c*);
+ /* 80CC9F34 */ void exeModePreWait(daMidna_c*);
+ /* 80CC9F80 */ void exeModeOrderEvt(daMidna_c*);
+ /* 80CCA240 */ void exeModeTalkEvt(daMidna_c*);
+ /* 80CCA2CC */ void exeModeWarpEvt(daMidna_c*);
+ /* 80CCA344 */ void exeModeEnd(daMidna_c*);
+ /* 80CCA348 */ void demoExe();
+ /* 80CCA74C */ void init();
+ /* 80CCA848 */ void setModelMtx();
+ /* 80CCA8CC */ void createHeap();
+ /* 80CCAAC4 */ void chkInTalkRange();
+ /* 80CCAB24 */ void initEmtRt(u16, int, u16 const*, JPABaseEmitter**);
+ /* 80CCAC48 */ void exeEmtRt(u16, int, JPABaseEmitter**);
+ /* 80CCACD0 */ void callMidnaBeamEmt();
+
+ static u8 s_exeProc[72];
+private:
+ /* 0x568 */ u8 field_0x568[0x674 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSCannonCrs_c) == 0x674);
#endif /* D_A_OBJ_SCANNON_CRS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h b/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h
index 704e322d91..366040d345 100644
--- a/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h
+++ b/include/rel/d/a/obj/d_a_obj_scannon_ten/d_a_obj_scannon_ten.h
@@ -1,6 +1,60 @@
#ifndef D_A_OBJ_SCANNON_TEN_H
#define D_A_OBJ_SCANNON_TEN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSCannonTen_c
+ * @brief Sky Cannon (Lake Hylia, Fixed)
+ *
+ * @details
+ *
+ */
+class daObjSCannonTen_c : public fopAc_ac_c {
+public:
+ /* 80CCB364 */ daObjSCannonTen_c();
+ /* 80CCB43C */ ~daObjSCannonTen_c();
+ /* 80CCB4EC */ void createHeap();
+ /* 80CCB66C */ void create();
+ /* 80CCB9E0 */ void Delete();
+ /* 80CCBA58 */ void draw();
+ /* 80CCBB6C */ void execute();
+ /* 80CCBB90 */ void middleExe();
+ /* 80CCBC08 */ void exeModeWait();
+ /* 80CCBCB0 */ void exeModeOrderEvt();
+ /* 80CCBD4C */ void exeModeActionEvt();
+ /* 80CCBDCC */ void exeModeEnd();
+ /* 80CCBDD0 */ void demoExe();
+ /* 80CCBE8C */ void demoModeInit(int);
+ /* 80CCBF00 */ void demoInitLinkIn();
+ /* 80CCBF04 */ void demoExeLinkIn();
+ /* 80CCBFC4 */ void demoInitSet();
+ /* 80CCC088 */ void demoExeSet();
+ /* 80CCC114 */ void demoInitMove();
+ /* 80CCC118 */ void demoExeMove();
+ /* 80CCC20C */ void demoInitFire();
+ /* 80CCC260 */ void demoExeFire();
+ /* 80CCC2B8 */ void demoInitFireEnd();
+ /* 80CCC37C */ void demoExeFireEnd();
+ /* 80CCC3D4 */ void demoInitFinish();
+ /* 80CCC498 */ void demoExeFinish();
+ /* 80CCC528 */ void init();
+ /* 80CCC53C */ void setModelMtx();
+ /* 80CCC5A0 */ void changeScene();
+ /* 80CCC628 */ void initEmtSmoke();
+ /* 80CCC74C */ void exeEmtSmoke();
+ /* 80CCC7D0 */ void initEmtLine();
+ /* 80CCC8B8 */ void exeEmtLine();
+ /* 80CCC97C */ void delEmtAll();
+
+ static u8 s_exeProc[48];
+ static u8 s_demoExeProc[144];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x604 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSCannonTen_c) == 0x604);
+
#endif /* D_A_OBJ_SCANNON_TEN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h b/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h
index 240920572b..15a4784b97 100644
--- a/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h
+++ b/include/rel/d/a/obj/d_a_obj_sekidoor/d_a_obj_sekidoor.h
@@ -1,6 +1,40 @@
#ifndef D_A_OBJ_SEKIDOOR_H
#define D_A_OBJ_SEKIDOOR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_SekiDoor_c
+ * @brief Stone Door
+ *
+ * @details
+ *
+ */
+class daObj_SekiDoor_c : public fopAc_ac_c {
+public:
+ /* 80CCD02C */ void create();
+ /* 80CCD154 */ void CreateHeap();
+ /* 80CCD1F0 */ void Create();
+ /* 80CCD23C */ void Delete();
+ /* 80CCD290 */ void Execute(f32 (**)[3][4]);
+ /* 80CCD538 */ void Draw();
+ /* 80CCD5DC */ void evtSkip();
+ /* 80CCD64C */ void setPrtcls();
+ /* 80CCD810 */ void initBaseMtx();
+ /* 80CCD84C */ void setBaseMtx();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5d8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_SekiDoor_c) == 0x5d8);
+
+class daObj_SekiDoor_Param_c {
+public:
+ /* 80CCD9AC */ ~daObj_SekiDoor_Param_c();
+
+ static u8 const m[1 + 3 /* padding */];
+};
+
#endif /* D_A_OBJ_SEKIDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h
index 5b90f27da2..2d61588898 100644
--- a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h
+++ b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Sekizo_c
+ * @brief Stone Statue
+ *
+ * @details
+ *
+ */
class daObj_Sekizo_c : public dBgS_MoveBgActor {
public:
/* 80CCDC0C */ cPhs__Step create();
@@ -16,15 +24,14 @@ public:
/* 80CCDFA4 */ void initBaseMtx();
/* 80CCDFE0 */ void setBaseMtx();
+private:
/* 0x5A0 */ u32 field_0x5a0;
-
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
-
/* 0x5AC */ J3DModel* mpModel;
/* 0x5B0 */ u8 field_0x5b0;
/* 0x5B1 */ bool field_0x5b1;
/* 0x5B2 */ bool field_0x5b2;
-}; // Size: 0x5B4
+};
STATIC_ASSERT(sizeof(daObj_Sekizo_c) == 0x5B4);
diff --git a/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h b/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h
index 616fb2271a..c817c85b1e 100644
--- a/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h
+++ b/include/rel/d/a/obj/d_a_obj_sekizoa/d_a_obj_sekizoa.h
@@ -3,6 +3,14 @@
#include "d/a/d_a_npc.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Sekizoa_c
+ * @brief Stone Guardian Statue(s)
+ *
+ * @details
+ *
+ */
class daObj_Sekizoa_c : public daNpcT_c {
public:
/* 80CCE34C */ ~daObj_Sekizoa_c();
diff --git a/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h b/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h
index 68bdcaf901..91d4b25648 100644
--- a/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h
+++ b/include/rel/d/a/obj/d_a_obj_shield/d_a_obj_shield.h
@@ -1,5 +1,44 @@
#ifndef D_A_OBJ_SHIELD_H
#define D_A_OBJ_SHIELD_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daItemShield_c
+ * @brief Ordon Shield
+ *
+ * @details
+ *
+ */
+class daItemShield_c : public fopAc_ac_c {
+public:
+ /* 80CD6D9C */ void initBaseMtx();
+ /* 80CD6DD8 */ void setBaseMtx();
+ /* 80CD7094 */ void Create();
+ /* 80CD724C */ bool __CreateHeap();
+ /* 80CD7254 */ void create();
+ /* 80CD75EC */ void bg_check();
+ /* 80CD7734 */ void action_proc_call();
+ /* 80CD77F0 */ void actionInit();
+ /* 80CD7828 */ void actionWaitInit();
+ /* 80CD7890 */ void actionWait();
+ /* 80CD7C68 */ void initActionOrderGetDemo();
+ /* 80CD7D04 */ void actionOrderGetDemo();
+ /* 80CD7D80 */ void actionGetDemo();
+ /* 80CD7E00 */ void event_proc_call();
+ /* 80CD7EBC */ void actionWaitCamDemo();
+ /* 80CD7F20 */ void actionOrderCamDemo();
+ /* 80CD7F88 */ void actionCamDemo();
+ /* 80CD7FE4 */ void actionCamDemoEnd();
+ /* 80CD7FE8 */ void execute();
+ /* 80CD80EC */ void draw();
+ /* 80CD8140 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x958 - 0x568];
+};
+STATIC_ASSERT(sizeof(daItemShield_c) == 0x958);
+
#endif /* D_A_OBJ_SHIELD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h b/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h
index dedbd23bd7..c005bef8d0 100644
--- a/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h
+++ b/include/rel/d/a/obj/d_a_obj_sm_door/d_a_obj_sm_door.h
@@ -1,6 +1,36 @@
#ifndef D_A_OBJ_SM_DOOR_H
#define D_A_OBJ_SM_DOOR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSM_DOOR_c
+ * @brief Sacred Meadow Door
+ *
+ * @details
+ *
+ */
+class daObjSM_DOOR_c : public fopAc_ac_c {
+public:
+ /* 80CD8784 */ void ChangeModel();
+ /* 80CD8790 */ void Action();
+ /* 80CD8A40 */ void SetDzb();
+ /* 80CD8A90 */ void ReleaceDzb();
+ /* 80CD8AF8 */ void DrawChk1();
+ /* 80CD8BBC */ void DrawChk2();
+ /* 80CD8C80 */ void setBaseMtx();
+ /* 80CD8D4C */ void create();
+ /* 80CD90A4 */ void CreateHeap();
+ /* 80CD9258 */ void Create();
+ /* 80CD929C */ void Execute(f32 (**)[3][4]);
+ /* 80CD930C */ void Draw();
+ /* 80CD9544 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x858 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSM_DOOR_c) == 0x858);
+
#endif /* D_A_OBJ_SM_DOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h
index 0cc5c0d152..10659ca042 100644
--- a/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h
+++ b/include/rel/d/a/obj/d_a_obj_smallkey/d_a_obj_smallkey.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daKey_c
+ * @brief Small Key
+ *
+ * @details
+ *
+ */
class daKey_c : public fopAc_ac_c {
/* 80CD9F2C */ void initBaseMtx();
/* 80CD9F68 */ void setBaseMtx();
diff --git a/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h b/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h
index b9f9499303..ec693e651b 100644
--- a/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_smgdoor/d_a_obj_smgdoor.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_SMGDOOR_H
#define D_A_OBJ_SMGDOOR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSmgDoor_c
+ * @brief Sacred Meadow Grove Door
+ *
+ * @details
+ *
+ */
+class daObjSmgDoor_c : public fopAc_ac_c {
+public:
+ /* 80CDBB5C */ void initBaseMtx();
+ /* 80CDBBEC */ void setBaseMtx();
+ /* 80CDBD38 */ void Create();
+ /* 80CDBE1C */ void CreateHeap();
+ /* 80CDBED4 */ void create1st();
+ /* 80CDBFA4 */ void Execute(f32 (**)[3][4]);
+ /* 80CDBFF0 */ void getDemoAction();
+ /* 80CDC038 */ void demoProc();
+ /* 80CDC248 */ void openInit();
+ /* 80CDC378 */ void openProc();
+ /* 80CDC4AC */ void setGoal();
+ /* 80CDC548 */ void setPos();
+ /* 80CDC610 */ void sceneChange();
+ /* 80CDC65C */ void event_proc_call();
+ /* 80CDC700 */ void actionWaitEvent();
+ /* 80CDC790 */ void actionEvent();
+ /* 80CDC7F4 */ void actionDead();
+ /* 80CDC7F8 */ void checkArea();
+ /* 80CDC974 */ void checkOpen();
+ /* 80CDCA00 */ void Draw();
+ /* 80CDCAC4 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5f4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSmgDoor_c) == 0x5f4);
+
#endif /* D_A_OBJ_SMGDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h
index a7446ef6f2..47ad280097 100644
--- a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h
+++ b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSmoke_c
+ * @brief Elde Inn Stove Smoke
+ *
+ * @details
+ *
+ */
class daObjSmoke_c : public fopAc_ac_c {
public:
u8 getSwbit() {
@@ -16,7 +24,9 @@ public:
/* 80CDD004 */ int execute();
/* 80CDD0B8 */ int _delete();
+private:
/* 0x568 */ JPABaseEmitter* mParticle;
};
+STATIC_ASSERT(sizeof(daObjSmoke_c) == 0x56C);
#endif /* D_A_OBJ_SMOKE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h b/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h
index 7a2669d38d..5db6fac21b 100644
--- a/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h
+++ b/include/rel/d/a/obj/d_a_obj_smtile/d_a_obj_smtile.h
@@ -1,6 +1,41 @@
#ifndef D_A_OBJ_SMTILE_H
#define D_A_OBJ_SMTILE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_SMTile_c
+ * @brief Sacred Meadow Tile
+ *
+ * @details
+ *
+ */
+class daObj_SMTile_c : public fopAc_ac_c {
+public:
+ /* 80CDD2AC */ ~daObj_SMTile_c();
+ /* 80CDD3E8 */ void create();
+ /* 80CDD5CC */ void CreateHeap();
+ /* 80CDD6E8 */ void Delete();
+ /* 80CDD71C */ void Execute();
+ /* 80CDDA98 */ void Draw();
+ /* 80CDDB28 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CDDB48 */ void setDstPos();
+ /* 80CDDD28 */ void setPrtcls(int, int);
+ /* 80CDDEFC */ void touchPrtcls(f32);
+ /* 80CDE1A8 */ void setMtx();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb30 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_SMTile_c) == 0xb30);
+
+class daObj_SMTile_Param_c {
+public:
+ /* 80CDE300 */ ~daObj_SMTile_Param_c();
+
+ static u8 const m[8];
+};
+
#endif /* D_A_OBJ_SMTILE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h b/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h
index 164426b462..cc095333f0 100644
--- a/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h
+++ b/include/rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h
@@ -1,7 +1,16 @@
#ifndef D_A_OBJ_SMW_STONE_H
#define D_A_OBJ_SMW_STONE_H
+#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daSmWStone_c
+ * @brief Howling Stone
+ *
+ * @details
+ *
+ */
class daSmWStone_c : public fopAc_ac_c {
public:
/* 80CDE538 */ daSmWStone_c();
@@ -17,6 +26,10 @@ public:
/* 80CDED9C */ void chkWlfInRange();
int getTuneId() { return 2; }
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c8 - 0x568];
};
+STATIC_ASSERT(sizeof(daSmWStone_c) == 0x5c8);
#endif /* D_A_OBJ_SMW_STONE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h b/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h
index 532a37b465..99bcdc7648 100644
--- a/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h
+++ b/include/rel/d/a/obj/d_a_obj_snowEffTag/d_a_obj_snowEffTag.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
+/**
+ * @ingroup actors-objects
+ * @class daSnowEffTag_c
+ * @brief Snow Effect Tag
+ *
+ * @details
+ *
+ */
class daSnowEffTag_c : public fopAc_ac_c {
public:
/* 80CDF12C */ void setBaseMtx();
@@ -15,6 +23,7 @@ public:
int getArg0() { return fopAcM_GetParamBit(this, 0, 8); }
+private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ bool mPlayedSound;
/* 0x56C */ f32 mMaxSize;
@@ -22,6 +31,7 @@ public:
/* 0x574 */ f32 field_0x574;
/* 0x578 */ u32 mEmitterID;
};
+STATIC_ASSERT(sizeof(daSnowEffTag_c) == 0x57C);
class daSnowEffTag_HIO_c : public mDoHIO_entry_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h b/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h
index c724499882..3def55736b 100644
--- a/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h
+++ b/include/rel/d/a/obj/d_a_obj_snow_soup/d_a_obj_snow_soup.h
@@ -4,6 +4,14 @@
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSnowSoup_c
+ * @brief Snowpeak Ruins Soup Pot?
+ *
+ * @details
+ *
+ */
class daObjSnowSoup_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80CDF878 */ daObjSnowSoup_c();
@@ -20,6 +28,7 @@ public:
/* 80CE003C */ void createSmkEmtChange(int);
/* 80CE0134 */ void deleteSmkEmtChange(int);
+private:
/* 0x574 */ cXyz mFirewoodPos;
/* 0x580 */ cXyz mBubblePos;
/* 0x58C */ JPABaseEmitter* mpSmkEmtCommon[4];
diff --git a/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h b/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h
index a93ee2b9f6..15f62ceb6f 100644
--- a/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h
+++ b/include/rel/d/a/obj/d_a_obj_so/d_a_obj_so.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_SO_H
#define D_A_OBJ_SO_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_so_class
+ * @brief Monkey Cage
+ *
+ * @details
+ *
+ */
+class obj_so_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x1bd0 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_so_class) == 0x1bd0);
+
+class daObj_So_HIO_c {
+public:
+ /* 80CE03CC */ daObj_So_HIO_c();
+ /* 80CE3928 */ ~daObj_So_HIO_c();
+};
+
#endif /* D_A_OBJ_SO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h b/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h
index abb5b3f8af..37557c3859 100644
--- a/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h
+++ b/include/rel/d/a/obj/d_a_obj_spinLift/d_a_obj_spinLift.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_SPINLIFT_H
#define D_A_OBJ_SPINLIFT_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSpinLift_c
+ * @brief Spinner Lift
+ *
+ * @details
+ *
+ */
+class daSpinLift_c : public fopAc_ac_c {
+public:
+ /* 80CE3E2C */ void setBaseMtx();
+ /* 80CE3E9C */ void CreateHeap();
+ /* 80CE3F1C */ void create();
+ /* 80CE40FC */ void Execute(f32 (**)[3][4]);
+ /* 80CE414C */ void moveLift();
+ /* 80CE4290 */ void init_modeWait();
+ /* 80CE429C */ void modeWait();
+ /* 80CE42A0 */ void init_modeUpMove();
+ /* 80CE42C4 */ void modeUpMove();
+ /* 80CE468C */ void init_modeDownMove();
+ /* 80CE4698 */ void modeDownMove();
+ /* 80CE4790 */ void init_modeMoveEnd();
+ /* 80CE4A9C */ void modeMoveEnd();
+ /* 80CE4AA0 */ void Draw();
+ /* 80CE4B44 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSpinLift_c) == 0x5c0);
+
+class daSpinLift_HIO_c {
+public:
+ /* 80CE3DAC */ daSpinLift_HIO_c();
+ /* 80CE4C10 */ ~daSpinLift_HIO_c();
+};
+
#endif /* D_A_OBJ_SPINLIFT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h b/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h
index 9c463ea8f9..d291050667 100644
--- a/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h
+++ b/include/rel/d/a/obj/d_a_obj_ss_drink/d_a_obj_ss_drink.h
@@ -1,6 +1,56 @@
#ifndef D_A_OBJ_SS_DRINK_H
#define D_A_OBJ_SS_DRINK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_SSDrink_c
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class daObj_SSDrink_c : public fopAc_ac_c {
+public:
+ /* 80CE4F78 */ ~daObj_SSDrink_c();
+ /* 80CE51C8 */ void create();
+ /* 80CE53EC */ void CreateHeap();
+ /* 80CE55F0 */ void Delete();
+ /* 80CE5624 */ void Execute();
+ /* 80CE5858 */ void Draw();
+ /* 80CE59DC */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CE59FC */ void setSoldOut();
+ /* 80CE5A50 */ void getResName();
+ /* 80CE5A60 */ void getTypeFromParam();
+ /* 80CE5B0C */ void getSwitchFromParam();
+ /* 80CE5B18 */ void getCapacityFromParam();
+ /* 80CE5B3C */ void getFlowNodeNum();
+ /* 80CE5B74 */ void getValue();
+ /* 80CE5B80 */ void restart();
+ /* 80CE5BF0 */ void initialize();
+ /* 80CE5DB0 */ void checkProcess(int (daObj_SSDrink_c::*)(void*));
+ /* 80CE5DDC */ void setProcess(int (daObj_SSDrink_c::*)(void*));
+ /* 80CE5EC8 */ void setParam();
+ /* 80CE5FE4 */ void setEnvTevColor();
+ /* 80CE6040 */ void setRoomNo();
+ /* 80CE6084 */ void setMtx();
+ /* 80CE60E8 */ void setAttnPos();
+ /* 80CE6170 */ void animeEntry();
+ /* 80CE61E4 */ void animePlay();
+ /* 80CE622C */ void chkEvent();
+ /* 80CE63AC */ void orderEvent();
+ /* 80CE644C */ bool wait(void*);
+ /* 80CE6454 */ void talk(void*);
+ /* 80CE6514 */ void drink(void*);
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb10 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_SSDrink_c) == 0xb10);
+
#endif /* D_A_OBJ_SS_DRINK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h b/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h
index 70672805e0..aa4975995d 100644
--- a/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h
+++ b/include/rel/d/a/obj/d_a_obj_ss_item/d_a_obj_ss_item.h
@@ -10,6 +10,14 @@
class daObj_SSItem_c;
typedef int (daObj_SSItem_c::*ProcessFunc)(void*);
+/**
+ * @ingroup actors-objects
+ * @class daObj_SSItem_c
+ * @brief ???
+ *
+ * @details
+ *
+ */
class daObj_SSItem_c : public daObj_SSBase_c {
public:
/* 80CE6C18 */ ~daObj_SSItem_c();
@@ -39,6 +47,7 @@ public:
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
+private:
/* 0x578 */ request_of_phase_process_class mPhase;
/* 0x580 */ J3DModel* mpModel;
/* 0x584 */ dBgS_ObjAcch mAcch;
diff --git a/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h b/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h
index 9cea3f3682..d69deb8d28 100644
--- a/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h
+++ b/include/rel/d/a/obj/d_a_obj_stairBlock/d_a_obj_stairBlock.h
@@ -1,6 +1,39 @@
#ifndef D_A_OBJ_STAIRBLOCK_H
#define D_A_OBJ_STAIRBLOCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daStairBlock_c
+ * @brief Stair Block
+ *
+ * @details
+ *
+ */
+class daStairBlock_c : public fopAc_ac_c {
+public:
+ /* 80CE81F4 */ void setBaseMtx();
+ /* 80CE82A0 */ void CreateHeap();
+ /* 80CE83F0 */ void create();
+ /* 80CE8874 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80CE88A0 */ void Execute();
+ /* 80CE8B24 */ void Draw();
+ /* 80CE8C08 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDSph[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x132c - 0x568];
+};
+STATIC_ASSERT(sizeof(daStairBlock_c) == 0x132c);
+
+class daStairBlock_HIO_c {
+public:
+ /* 80CE816C */ daStairBlock_HIO_c();
+ /* 80CE8CDC */ ~daStairBlock_HIO_c();
+};
+
#endif /* D_A_OBJ_STAIRBLOCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h b/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h
index 30399664cc..da91a64e7a 100644
--- a/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h
+++ b/include/rel/d/a/obj/d_a_obj_stick/d_a_obj_stick.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_STICK_H
#define D_A_OBJ_STICK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_Stick_c
+ * @brief Stick
+ *
+ * @details
+ *
+ */
+class daObj_Stick_c : public fopAc_ac_c {
+public:
+ /* 8059922C */ ~daObj_Stick_c();
+ /* 805993E8 */ void create();
+ /* 80599888 */ void CreateHeap();
+ /* 80599900 */ void Delete();
+ /* 80599934 */ void Execute();
+ /* 80599A78 */ void Draw();
+ /* 80599B3C */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80599B5C */ void getResName();
+ /* 80599B6C */ void isDelete();
+ /* 80599B8C */ void setEnvTevColor();
+ /* 80599BE8 */ void setRoomNo();
+ /* 80599C28 */ void setMtx();
+
+ static u8 mCcDSph[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x950 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_Stick_c) == 0x950);
+
+class daObj_Stick_Param_c {
+public:
+ /* 80599DD0 */ ~daObj_Stick_Param_c();
+
+ static u8 const m[16];
+};
+
#endif /* D_A_OBJ_STICK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h
index 53ce241f86..e296da87d7 100644
--- a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h
+++ b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h
@@ -8,6 +8,14 @@ enum {
OBJ_STONE_TYPE_BIG = 1
};
+/**
+ * @ingroup actors-objects
+ * @class daObjStone_c
+ * @brief Small / Large Stones
+ *
+ * @details
+ *
+ */
class daObjStone_c : public fopAc_ac_c {
public:
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
@@ -46,6 +54,7 @@ public:
/* 80CEC888 */ int draw();
/* 80CEC948 */ int _delete();
+private:
/* 0x0568 */ request_of_phase_process_class mPhase;
/* 0x0570 */ J3DModel* mpModel;
/* 0x0574 */ dBgS_ObjAcch mChkObj;
@@ -75,5 +84,6 @@ public:
/* 0x0964 */ JPABaseEmitter* field_0x0964[3];
/* 0x0970 */ Z2SoundObjSimple mSound;
};
+STATIC_ASSERT(sizeof(daObjStone_c) == 0x990);
#endif /* D_A_OBJ_STONE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h
index 76f7a508f5..3ce1859355 100644
--- a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h
+++ b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h
@@ -6,6 +6,14 @@
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSMark_c
+ * @brief Stone Mark
+ *
+ * @details
+ *
+ */
class daObjSMark_c : public fopAc_ac_c {
public:
/* 8059A018 */ void initBaseMtx();
@@ -15,6 +23,7 @@ public:
/* 8059A2CC */ int draw();
/* 8059A33C */ int _delete();
+private:
/* 0x0568 */ request_of_phase_process_class mpPhase;
/* 0x0570 */ GXTexObj mTexObj;
/* 0x0590 */ dBgS_ObjAcch mObjAcch;
@@ -22,5 +31,6 @@ public:
/* 0x07A8 */ dCcD_Stts mStts;
/* 0x07E4 */ Mtx cullMtx;
};
+STATIC_ASSERT(sizeof(daObjSMark_c) == 0x0814);
#endif /* D_A_OBJ_STONEMARK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h b/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h
index 27ac093f64..d9a75b7d04 100644
--- a/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h
+++ b/include/rel/d/a/obj/d_a_obj_stopper/d_a_obj_stopper.h
@@ -4,7 +4,16 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
-struct daObjStopper_c : public fopAc_ac_c {
+/**
+ * @ingroup actors-objects
+ * @class daObjStopper_c
+ * @brief Stopper
+ *
+ * @details
+ *
+ */
+class daObjStopper_c : public fopAc_ac_c {
+public:
enum ActionType {
ACTION_WAIT,
ACTION_WAIT_ORDER_EVENT,
@@ -41,8 +50,11 @@ struct daObjStopper_c : public fopAc_ac_c {
void setAction(u8 action) { mAction = action; }
void startClose() { setAction(ACTION_CLOSE_INIT); }
+private:
/* 0x568 */ u8 field_0x568[0x93c - 0x568];
/* 0x93C */ u8 mAction;
+ /* 0x93D */ u8 field_0x93d[0xa00 - 0x93d];
};
+STATIC_ASSERT(sizeof(daObjStopper_c) == 0xA00);
#endif /* D_A_OBJ_STOPPER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h b/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h
index aed0bc394c..7894f46814 100644
--- a/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h
+++ b/include/rel/d/a/obj/d_a_obj_stopper2/d_a_obj_stopper2.h
@@ -2,5 +2,52 @@
#define D_A_OBJ_STOPPER2_H
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjStopper2_c
+ * @brief Door Stop
+ *
+ * @details
+ *
+ */
+class daObjStopper2_c : public fopAc_ac_c {
+public:
+ /* 80CEF368 */ J3DModelData* getStopModelData();
+ /* 80CEF38C */ void initBaseMtx();
+ /* 80CEF3C8 */ void setBaseMtx();
+ /* 80CEF434 */ float getMaxOffsetY();
+ /* 80CEF44C */ int Create();
+ /* 80CEF57C */ int CreateHeap();
+ /* 80CEF5C8 */ int create();
+ /* 80CEF66C */ int execute();
+ /* 80CEF6A4 */ void event_proc_call();
+ /* 80CEF760 */ void actionWait();
+ /* 80CEF98C */ void actionOrderEvent();
+ /* 80CEFA60 */ void actionEvent();
+ /* 80CEFAD4 */ void actionDead();
+ /* 80CEFAD8 */ void demoProc();
+ /* 80CEFD40 */ int draw();
+ /* 80CEFDB8 */ int _delete();
+
+ u32 getEvId() { return fopAcM_GetParamBit(this, 8, 8); }
+ u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
+ void setAction(u8 i_action) { mAction = i_action; }
+
+private:
+ /* 0x568 */ request_of_phase_process_class mPhaseReq;
+ /* 0x570 */ J3DModel* mpModel;
+ /* 0x574 */ f32 field_0x574;
+ /* 0x578 */ s32 field_0x578;
+ /* 0x57C */ u16 field_0x57c[4];
+ /* 0x584 */ u8 field_0x584;
+ /* 0x585 */ u8 field_0x585;
+ /* 0x586 */ u8 mAction;
+ /* 0x587 */ u8 field_0x587;
+ /* 0x588 */ u8 field_0x588;
+};
+STATIC_ASSERT(sizeof(daObjStopper2_c) == 0x58C);
+
#endif /* D_A_OBJ_STOPPER2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h b/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h
index 479d3aca66..5848d30548 100644
--- a/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h
+++ b/include/rel/d/a/obj/d_a_obj_suisya/d_a_obj_suisya.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_acch.h"
+/**
+ * @ingroup actors-objects
+ * @class daObj_Suisya_c
+ * @brief Water Wheel
+ *
+ * @details
+ *
+ */
class daObj_Suisya_c : public fopAc_ac_c {
public:
/* 80CF0078 */ int draw();
@@ -12,11 +20,13 @@ public:
/* 80CF0284 */ int CreateHeap();
/* 80CF0310 */ int create();
+private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ u32 mShadowKey;
/* 0x578 */ dBgS_AcchCir mAcchCir;
/* 0x5B8 */ dBgS_ObjAcch mAcch;
};
+STATIC_ASSERT(sizeof(daObj_Suisya_c) == 0x790);
#endif /* D_A_OBJ_SUISYA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h b/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h
index 887c3d1ab5..7f4d7a77e9 100644
--- a/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h
+++ b/include/rel/d/a/obj/d_a_obj_sw/d_a_obj_sw.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_SW_H
#define D_A_OBJ_SW_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_sw_class
+ * @brief Switch
+ *
+ * @details
+ *
+ */
+class obj_sw_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0xd90 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_sw_class) == 0xd90);
+
+struct obj_sc_s {
+public:
+ /* 80CF2F3C */ ~obj_sc_s();
+ /* 80CF2FA8 */ obj_sc_s();
+};
+
#endif /* D_A_OBJ_SW_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h b/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h
index d0821337f6..b0d25e654f 100644
--- a/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h
+++ b/include/rel/d/a/obj/d_a_obj_swBallA/d_a_obj_swBallA.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
// dEvLib_callback_c is not generated at the correct location.
+/**
+ * @ingroup actors-objects
+ * @class daObjSwBallA_c
+ * @brief Ball Switch A
+ *
+ * @details
+ *
+ */
class daObjSwBallA_c : public fopAc_ac_c /*, public dEvLib_callback_c*/ {
public:
//daObjSwBallA_c() : dEvLib_callback_c(this) {}
@@ -31,6 +39,7 @@ public:
void onFlag(u8 idx, u8 val) { field_0x5af[idx] |= val; }
u8 checkFlag(u8 idx, u8 val) { return field_0x5af[idx] & val; }
+private:
u8 dEvLib_callback_c_filler[0x14];
/* 0x57C */ request_of_phase_process_class field_0x57c;
/* 0x584 */ J3DModel* mModel;
@@ -47,5 +56,6 @@ public:
/* 0x5C6 */ u16 field_0x5c6;
/* 0x5C8 */ u16 field_0x5c8;
};
+STATIC_ASSERT(sizeof(daObjSwBallA_c) == 0x5CC);
#endif /* D_A_OBJ_SWBALLA_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h b/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h
index 6a77dc43af..e49709b8e0 100644
--- a/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h
+++ b/include/rel/d/a/obj/d_a_obj_swBallB/d_a_obj_swBallB.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSwBallB_c
+ * @brief Ball Switch B
+ *
+ * @details
+ *
+ */
class daObjSwBallB_c : public fopAc_ac_c { //, public dEvLib_callback_c {
public:
//daObjSwBallB_c() : dEvLib_callback_c(this) {}
@@ -33,6 +41,7 @@ public:
void setLightOn() { field_0x5ac = 1; }
void setLightOff() { field_0x5ad = 1; }
+private:
u8 dEvLib_callback_c_filler[0x14];
/* 0x57C */ request_of_phase_process_class field_0x57c;
/* 0x584 */ J3DModel* mModel;
@@ -53,5 +62,6 @@ public:
/* 0x5AC */ u8 field_0x5ac;
/* 0x5AD */ u8 field_0x5ad;
};
+STATIC_ASSERT(sizeof(daObjSwBallB_c) == 0x5B0);
#endif /* D_A_OBJ_SWBALLB_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h b/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h
index d843e70cd8..63bd1e32fb 100644
--- a/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h
+++ b/include/rel/d/a/obj/d_a_obj_swBallC/d_a_obj_swBallC.h
@@ -3,7 +3,16 @@
#include "f_op/f_op_actor_mng.h"
-struct daObjSwBallC_c : public fopAc_ac_c {
+/**
+ * @ingroup actors-objects
+ * @class daObjSwBallC_c
+ * @brief Ball Switch C
+ *
+ * @details
+ *
+ */
+class daObjSwBallC_c : public fopAc_ac_c {
+public:
/* 80CF5CD4 */ void initBaseMtx();
/* 80CF5CF4 */ void setBaseMtx();
/* 80CF5D58 */ int Create();
@@ -44,5 +53,6 @@ struct daObjSwBallC_c : public fopAc_ac_c {
/* 0x587 */ u8 field_0x587;
/* 0x588 */ u32 field_0x588;
};
+STATIC_ASSERT(sizeof(daObjSwBallC_c) == 0x58C);
#endif /* D_A_OBJ_SWBALLC_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h b/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h
index ee1c984a99..fcbce7a830 100644
--- a/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h
+++ b/include/rel/d/a/obj/d_a_obj_swLight/d_a_obj_swLight.h
@@ -1,5 +1,42 @@
#ifndef D_A_OBJ_SWLIGHT_H
#define D_A_OBJ_SWLIGHT_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSwLight_c
+ * @brief Light Switch
+ *
+ * @details
+ *
+ */
+class daObjSwLight_c : public fopAc_ac_c {
+public:
+ /* 80CF6F98 */ void initBaseMtx();
+ /* 80CF6FD4 */ void setBaseMtx();
+ /* 80CF7038 */ void Create();
+ /* 80CF71F0 */ void CreateHeap();
+ /* 80CF7260 */ void create1st();
+ /* 80CF7320 */ void Execute(f32 (**)[3][4]);
+ /* 80CF73E0 */ void action();
+ /* 80CF761C */ void init_modeSwOnWait();
+ /* 80CF766C */ void modeSwOnWait();
+ /* 80CF777C */ void init_modeOnLight();
+ /* 80CF7788 */ void modeOnLight();
+ /* 80CF77D8 */ void init_modeSwOffWait();
+ /* 80CF7838 */ void modeSwOffWait();
+ /* 80CF7974 */ void modeDead();
+ /* 80CF7978 */ void checkHit();
+ /* 80CF7A6C */ void setOnTimer();
+ /* 80CF7A98 */ void Draw();
+ /* 80CF7BA8 */ void Delete();
+ /* 80CF8124 */ ~daObjSwLight_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb28 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSwLight_c) == 0xb28);
+
#endif /* D_A_OBJ_SWLIGHT_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h b/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h
index 5bd3212772..6faee1d841 100644
--- a/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h
+++ b/include/rel/d/a/obj/d_a_obj_swchain/d_a_obj_swchain.h
@@ -1,5 +1,44 @@
#ifndef D_A_OBJ_SWCHAIN_H
#define D_A_OBJ_SWCHAIN_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSwChain_c
+ * @brief Chain Switch
+ *
+ * @details
+ *
+ */
+class daObjSwChain_c : public fopAc_ac_c {
+public:
+ struct chain_s {
+ public:
+ /* 80CF8B00 */ ~chain_s();
+ /* 80CF8B3C */ chain_s();
+ };
+
+ /* 80CF8768 */ void Create();
+ /* 80CF89C0 */ void CreateHeap();
+ /* 80CF8B48 */ void create1st();
+ /* 80CF8ED0 */ void execute();
+ /* 80CF94E4 */ void getChainBasePos(cXyz*);
+ /* 80CF9500 */ void chain_control();
+ /* 80CF99C0 */ void chain_control2();
+ /* 80CFA05C */ void initChainMtx();
+ /* 80CFA124 */ void setChainMtx();
+ /* 80CFA4A8 */ void chain_count_control();
+ /* 80CFAD50 */ void setTension();
+ /* 80CFB450 */ void getTopChainNo();
+ /* 80CFB464 */ void checkPlayerPull();
+ /* 80CFB53C */ void draw();
+ /* 80CFB5E8 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xaa0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSwChain_c) == 0xaa0);
+
#endif /* D_A_OBJ_SWCHAIN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h b/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h
index 150116fa12..657da4440f 100644
--- a/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h
+++ b/include/rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "d/event/d_event_lib.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSwHang_c
+ * @brief Dangle A
+ *
+ * @details
+ *
+ */
class daObjSwHang_c : public dBgS_MoveBgActor {
public:
/* 80101874 */ cXyz getHangPos();
@@ -34,6 +42,7 @@ public:
void setHangPlayer() { mHangPlayer = 1; }
u8 getType() { return field_0x730; }
+private:
/* 0x5A0 */ dEvLib_callback_c field_0x5a0;
/* 0x5B0 */ request_of_phase_process_class mPhase;
/* 0x5B8 */ J3DModel* mpModel;
@@ -53,6 +62,7 @@ public:
/* 0x784 */ f32 field_0x784;
/* 0x788 */ f32 field_0x788;
/* 0x78C */ s16 field_0x78c;
-}; // Size: 0x790
+};
+STATIC_ASSERT(sizeof(daObjSwHang_c) == 0x790);
#endif /* D_A_OBJ_SWHANG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h b/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h
index 7bb06b523c..377ec93c5b 100644
--- a/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h
+++ b/include/rel/d/a/obj/d_a_obj_sword/d_a_obj_sword.h
@@ -1,6 +1,34 @@
#ifndef D_A_OBJ_SWORD_H
#define D_A_OBJ_SWORD_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSword_c
+ * @brief Ordon Sword
+ *
+ * @details
+ *
+ */
+class daObjSword_c : public fopAc_ac_c {
+public:
+ /* 80CFD558 */ void initBaseMtx();
+ /* 80CFD594 */ void setBaseMtx();
+ /* 80CFD600 */ void Create();
+ /* 80CFD67C */ void create();
+ /* 80CFDA14 */ void actionWait();
+ /* 80CFDA8C */ void initActionOrderGetDemo();
+ /* 80CFDB04 */ void actionOrderGetDemo();
+ /* 80CFDB80 */ void actionGetDemo();
+ /* 80CFDC1C */ void execute();
+ /* 80CFDD18 */ void draw();
+ /* 80CFDD6C */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x938 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSword_c) == 0x938);
+
#endif /* D_A_OBJ_SWORD_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h b/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h
index 5336a6e098..5d98c81851 100644
--- a/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h
+++ b/include/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.h
@@ -4,6 +4,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSwPr_c
+ * @brief Boomerang Switch
+ *
+ * @details
+ *
+ */
class daObjSwPr_c : public fopAc_ac_c {
public:
/* 8059A5E8 */ void initBaseMtx();
@@ -45,5 +53,6 @@ public:
/* 0x83D */ u8 field_0x83d;
/* 0x83E */ u8 mModelType;
};
+STATIC_ASSERT(sizeof(daObjSwPr_c) == 0x840);
#endif /* D_A_OBJ_SWPROPELLER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h b/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h
index dc2fcc377a..bc5512a203 100644
--- a/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h
+++ b/include/rel/d/a/obj/d_a_obj_swpush/d_a_obj_swpush.h
@@ -1,6 +1,82 @@
#ifndef D_A_OBJ_SWPUSH_H
#define D_A_OBJ_SWPUSH_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSwpush
+ * @brief Push Switch
+ *
+ * @details This is a multi-purpose depression switch actor.
+ * Used by: Gold Pressure Switch, Lakebed Pressure Switch
+ *
+ */
+class daObjSwpush : public fopAc_ac_c {
+public:
+ class Act_c {
+ public:
+ struct Prm_e {};
+
+ /* 80482D4C */ void prmZ_init();
+ /* 80482D7C */ void is_switch2() const;
+ /* 80482DC4 */ void solidHeapCB(fopAc_ac_c*);
+ /* 80482DE8 */ void create_heap();
+ /* 80482FE8 */ void create_res_load();
+ /* 80483038 */ void Mthd_Create();
+ /* 8048348C */ void Mthd_Delete();
+ /* 804834E8 */ void set_mtx();
+ /* 80483534 */ void init_mtx();
+ /* 80483570 */ void set_btp_frame();
+ /* 80483574 */ void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 804839B4 */ void jnodeCB(J3DJoint*, int);
+ /* 80483A5C */ void calc_top_pos();
+ /* 80483B70 */ void top_bg_aim_req(f32, s16);
+ /* 80483B7C */ void set_push_flag();
+ /* 80483D0C */ void mode_upper_init();
+ /* 80483D2C */ void mode_upper();
+ /* 80483FA8 */ void mode_u_l_init();
+ /* 80484008 */ void mode_u_l();
+ /* 804841D4 */ void mode_lower_init();
+ /* 804841F4 */ void mode_lower();
+ /* 80484388 */ void mode_l_u_init();
+ /* 804843C0 */ void mode_l_u();
+ /* 80484570 */ void demo_non_init();
+ /* 8048457C */ void demo_non();
+ /* 80484580 */ void demo_reqPause_init();
+ /* 804845D8 */ void demo_reqPause();
+ /* 8048460C */ void demo_runPause_init();
+ /* 8048464C */ void demo_runPause();
+ /* 804846B4 */ void demo_stop_puase();
+ /* 80484708 */ void demo_reqSw_init();
+ /* 804847B4 */ void demo_reqSw();
+ /* 80484828 */ void demo_runSw_init();
+ /* 80484834 */ void demo_runSw();
+ /* 80484890 */ void check_ride_couple(s16);
+ /* 804848D8 */ void nr_ride_people(char);
+ /* 80484908 */ void Mthd_Execute();
+ /* 80484BB8 */ void Mthd_Draw();
+
+ static u8 const M_bmd[6 + 2 /* padding */];
+ static u8 const M_dzb[6 + 2 /* padding */];
+ static u8 const M_heap_size[12];
+ static u8 const M_attr[220];
+ static u32 const M_op_vtx;
+ static void* M_arcname[3];
+ };
+
+private:
+ /* 0x568 */ u8 field_0x568[0x604 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSwpush) == 0x604);
+
+struct daObj {
+public:
+ template <typename A1>
+ void PrmAbstract(/* ... */);
+ /* 80484CE4 */ /* daObj::PrmAbstract<daObjSwpush::Act_c::Prm_e> */
+ void func_80484CE4(void* _this, fopAc_ac_c const*, daObjSwpush::Act_c::Prm_e,
+ daObjSwpush::Act_c::Prm_e);
+};
#endif /* D_A_OBJ_SWPUSH_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h b/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h
index d6d7dc1a15..a28da30db6 100644
--- a/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h
+++ b/include/rel/d/a/obj/d_a_obj_swpush2/d_a_obj_swpush2.h
@@ -1,6 +1,82 @@
#ifndef D_A_OBJ_SWPUSH2_H
#define D_A_OBJ_SWPUSH2_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSwpush2
+ * @brief Push Switch 2
+ *
+ * @details
+ *
+ */
+class daObjSwpush2 : public fopAc_ac_c {
+public:
+ class Act_c {
+ public:
+ struct Prm_e {};
+
+ /* 80CFE098 */ void getArcName();
+ /* 80CFE0A4 */ void getBmdName();
+ /* 80CFE0B4 */ void getDzbName();
+ /* 80CFE0C4 */ void getNmlBtkName();
+ /* 80CFE0D4 */ void getNmlBrkName();
+ /* 80CFE0E4 */ void getOnBtkName();
+ /* 80CFE0F4 */ void getRunBpkName();
+ /* 80CFE104 */ void getRunBrkName();
+ /* 80CFE114 */ void getRunBtkName();
+ /* 80CFE124 */ void prmZ_init();
+ /* 80CFE154 */ void is_switch2() const;
+ /* 80CFE1AC */ void solidHeapCB(fopAc_ac_c*);
+ /* 80CFE1D0 */ void create_heap();
+ /* 80CFE6D8 */ void create_init();
+ /* 80CFE8CC */ void create_res_load();
+ /* 80CFE928 */ void Mthd_Create();
+ /* 80CFEA3C */ void Mthd_Delete();
+ /* 80CFEAB4 */ void set_mtx();
+ /* 80CFEB3C */ void init_mtx();
+ /* 80CFEB78 */ void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80CFEBE4 */ void calc_top_pos();
+ /* 80CFEC4C */ void set_push_flag();
+ /* 80CFEDDC */ void mode_upper_init();
+ /* 80CFEDFC */ void mode_upper();
+ /* 80CFEF84 */ void mode_u_l_init();
+ /* 80CFEF98 */ void mode_u_l();
+ /* 80CFF168 */ void mode_lower_init();
+ /* 80CFF188 */ void mode_lower();
+ /* 80CFF18C */ void mode_l_u();
+ /* 80CFF24C */ void demo_non_init();
+ /* 80CFF258 */ void demo_non();
+ /* 80CFF25C */ void demo_reqPause_init();
+ /* 80CFF2B4 */ void demo_reqPause();
+ /* 80CFF2EC */ void demo_runPause_init(int);
+ /* 80CFF31C */ void demo_runPause();
+ /* 80CFF374 */ void demo_stop_puase();
+ /* 80CFF3C8 */ void demo_reqSw_init();
+ /* 80CFF48C */ void demo_reqSw();
+ /* 80CFF500 */ void demo_runSw_init();
+ /* 80CFF50C */ void demo_runSw();
+ /* 80CFF568 */ void Mthd_Execute();
+ /* 80CFF8FC */ void Mthd_Draw();
+
+ static u8 const M_arcname[9 + 3 /* padding */];
+ static void* const M_attr[56];
+ };
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5f4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSwpush2) == 0x5f4);
+
+struct daObj {
+public:
+ template <typename A1>
+ void PrmAbstract(/* ... */);
+ /* 80CFFBD0 */ /* daObj::PrmAbstract<daObjSwpush2::Act_c::Prm_e> */
+ void func_80CFFBD0(void* _this, fopAc_ac_c const*, daObjSwpush2::Act_c::Prm_e,
+ daObjSwpush2::Act_c::Prm_e);
+};
+
#endif /* D_A_OBJ_SWPUSH2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h b/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h
index d362820d06..c37d413e7a 100644
--- a/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h
+++ b/include/rel/d/a/obj/d_a_obj_swpush5/d_a_obj_swpush5.h
@@ -1,6 +1,53 @@
#ifndef D_A_OBJ_SWPUSH5_H
#define D_A_OBJ_SWPUSH5_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSw5_c
+ * @brief Push Switch 5
+ *
+ * @details Mutli-purpose heavy switch actor. (Iron Boots switch)
+ *
+ */
+class daObjSw5_c : public fopAc_ac_c {
+public:
+ /* 8059B804 */ void initBaseMtx();
+ /* 8059B88C */ void setBaseMtx();
+ /* 8059B920 */ void Create();
+ /* 8059BA1C */ void CreateHeap();
+ /* 8059BB1C */ void create();
+ /* 8059BBD4 */ void Execute(f32 (**)[3][4]);
+ /* 8059BC70 */ void setting_ride_flag();
+ /* 8059BD24 */ bool checkPushable();
+ /* 8059BD2C */ void event_proc_call();
+ /* 8059BE18 */ void actionPauseNoneInit();
+ /* 8059BE24 */ void actionPauseNone();
+ /* 8059BE28 */ void actionPauseOrderInit();
+ /* 8059BE80 */ void actionPauseOrder();
+ /* 8059BEB4 */ void actionPauseInit();
+ /* 8059BEE0 */ void actionPause();
+ /* 8059BF48 */ void actionWait();
+ /* 8059BF4C */ void actionOrder();
+ /* 8059BF50 */ void actionEvent();
+ /* 8059BF54 */ void calc_top_pos();
+ /* 8059BFE4 */ void mode_proc_call();
+ /* 8059C0A0 */ void modeWaitLowerInit();
+ /* 8059C0C8 */ void modeWaitLower();
+ /* 8059C23C */ void modeLowerInit();
+ /* 8059C2D0 */ void modeLower();
+ /* 8059C364 */ void modeWaitUpperInit();
+ /* 8059C370 */ void modeWaitUpper();
+ /* 8059C3C4 */ void modeUpperInit();
+ /* 8059C454 */ void modeUpper();
+ /* 8059C4BC */ void Draw();
+ /* 8059C560 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x600 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSw5_c) == 0x600);
+
#endif /* D_A_OBJ_SWPUSH5_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h b/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h
index 04b5fe0da1..f377f18870 100644
--- a/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h
+++ b/include/rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_w.h"
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjSwSpinner_c
+ * @brief Spinner Switch
+ *
+ * @details
+ *
+ */
class daObjSwSpinner_c : public dBgS_MoveBgActor {
public:
/* 80D00174 */ void initBaseMtx();
@@ -33,6 +41,7 @@ public:
/* 0x5EC */ s16 mShapeAngleY;
/* 0x5EE */ s16 mRotSpeedY;
/* 0x5F0 */ s16 mCount;
-}; // Size: 0x5F4
+};
+STATIC_ASSERT(sizeof(daObjSwSpinner_c) == 0x5F4);
#endif /* D_A_OBJ_SWSPINNER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h b/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h
index bdecc1c557..24176fd9c7 100644
--- a/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h
+++ b/include/rel/d/a/obj/d_a_obj_swturn/d_a_obj_swturn.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_SWTURN_H
#define D_A_OBJ_SWTURN_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSwTurn_c
+ * @brief Arbiter's Ground Turn Switch
+ *
+ * @details
+ *
+ */
+class daObjSwTurn_c : public fopAc_ac_c {
+public:
+ /* 80D00CD8 */ void initBaseMtx();
+ /* 80D00D14 */ void setBaseMtx();
+ /* 80D00D78 */ void Create();
+ /* 80D00EE4 */ void CreateHeap();
+ /* 80D00F64 */ void create1st();
+ /* 80D01074 */ void Execute(f32 (**)[3][4]);
+ /* 80D010D4 */ void mode_proc_call();
+ /* 80D01160 */ void init_modeWait();
+ /* 80D01198 */ void modeWait();
+ /* 80D01770 */ void init_modeRotate();
+ /* 80D018B4 */ void modeRotate();
+ /* 80D01958 */ void rotate_sub_0();
+ /* 80D01B60 */ void rotate_sub_1();
+ /* 80D01EB0 */ void Draw();
+ /* 80D01F58 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5e0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSwTurn_c) == 0x5e0);
+
#endif /* D_A_OBJ_SWTURN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h b/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h
index 2921666bee..dd62cba3fc 100644
--- a/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h
+++ b/include/rel/d/a/obj/d_a_obj_syRock/d_a_obj_syRock.h
@@ -1,6 +1,57 @@
#ifndef D_A_OBJ_SYROCK_H
#define D_A_OBJ_SYROCK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daSyRock_c
+ * @brief Stalactite Rock
+ *
+ * @details
+ *
+ */
+class daSyRock_c : public fopAc_ac_c {
+public:
+ /* 80D0237C */ void setBaseMtx();
+ /* 80D02454 */ void CreateHeap();
+ /* 80D02584 */ void create();
+ /* 80D02AFC */ void setFallStat();
+ /* 80D02BE0 */ void Execute(f32 (**)[3][4]);
+ /* 80D02C54 */ void move();
+ /* 80D02E70 */ void init_modeWait();
+ /* 80D02E7C */ void modeWait();
+ /* 80D02F88 */ void eventStart();
+ /* 80D02FB8 */ void init_modeDropInit();
+ /* 80D03070 */ void modeDropInit();
+ /* 80D030A8 */ void searchWaterPillar(void*, void*);
+ /* 80D03250 */ void init_modeDrop();
+ /* 80D03384 */ void modeDrop();
+ /* 80D033D0 */ void init_modeSink();
+ /* 80D03440 */ void modeSink();
+ /* 80D034E8 */ void init_modeMove();
+ /* 80D035F8 */ void modeMove();
+ /* 80D036B8 */ void chkWaterLineIn();
+ /* 80D036DC */ void bgCheck();
+ /* 80D03984 */ void init_modeDropEnd();
+ /* 80D03A48 */ void modeDropEnd();
+ /* 80D03A4C */ void Draw();
+ /* 80D03B08 */ void Delete();
+ /* 80D03DAC */ ~daSyRock_c();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9a0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daSyRock_c) == 0x9a0);
+
+class daSyRock_HIO_c {
+public:
+ /* 80D022AC */ daSyRock_HIO_c();
+ /* 80D03C44 */ ~daSyRock_HIO_c();
+};
+
#endif /* D_A_OBJ_SYROCK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h b/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h
index bbd2c608d4..0c54d41ed8 100644
--- a/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h
+++ b/include/rel/d/a/obj/d_a_obj_szbridge/d_a_obj_szbridge.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_SZBRIDGE_H
#define D_A_OBJ_SZBRIDGE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjSZbridge_c
+ * @brief Stone Statue Bridge
+ *
+ * @details
+ *
+ */
+class daObjSZbridge_c : public fopAc_ac_c {
+public:
+ /* 80D04360 */ void rideActor(fopAc_ac_c*);
+ /* 80D04424 */ void create1st();
+ /* 80D044B8 */ void setMtx();
+ /* 80D04528 */ void CreateHeap();
+ /* 80D04598 */ void chkBg();
+ /* 80D048C4 */ void Create();
+ /* 80D04974 */ void Execute(f32 (**)[3][4]);
+ /* 80D049E4 */ void Draw();
+ /* 80D04A88 */ void Delete();
+ /* 80D04B90 */ ~daObjSZbridge_c();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x624 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjSZbridge_c) == 0x624);
+
#endif /* D_A_OBJ_SZBRIDGE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h b/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h
index 2567823796..b0c4df252f 100644
--- a/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h
+++ b/include/rel/d/a/obj/d_a_obj_taFence/d_a_obj_taFence.h
@@ -1,6 +1,47 @@
#ifndef D_A_OBJ_TAFENCE_H
#define D_A_OBJ_TAFENCE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTaFence_c
+ * @brief Fench/Mesh?
+ *
+ * @details
+ *
+ */
+class daTaFence_c : public fopAc_ac_c {
+public:
+ /* 80D04F8C */ void setBaseMtx();
+ /* 80D0503C */ void CreateHeap();
+ /* 80D050A8 */ void create();
+ /* 80D05550 */ void Execute(f32 (**)[3][4]);
+ /* 80D055A0 */ void fenceProc();
+ /* 80D057C4 */ void init_modeWait();
+ /* 80D057D0 */ void modeWait();
+ /* 80D05A54 */ void init_modeMoveInit();
+ /* 80D05B5C */ void modeMoveInit();
+ /* 80D05B94 */ void init_modeMove();
+ /* 80D05CAC */ void modeMove();
+ /* 80D05D2C */ void init_modeMoveEnd();
+ /* 80D05E54 */ void modeMoveEnd();
+ /* 80D05E58 */ void Draw();
+ /* 80D05EFC */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0x13d4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTaFence_c) == 0x13d4);
+
+class daTaFence_HIO_c {
+public:
+ /* 80D04E6C */ daTaFence_HIO_c();
+ /* 80D06000 */ ~daTaFence_HIO_c();
+};
+
#endif /* D_A_OBJ_TAFENCE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h b/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h
index 1c4ef68211..0e454aa053 100644
--- a/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h
+++ b/include/rel/d/a/obj/d_a_obj_table/d_a_obj_table.h
@@ -5,6 +5,14 @@
#include "d/msg/d_msg_flow.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjTable_c
+ * @brief Table
+ *
+ * @details
+ *
+ */
class daObjTable_c : public dBgS_MoveBgActor {
public:
/* 80D06560 */ int CreateHeap();
@@ -19,12 +27,13 @@ public:
s16 getMessageNo() { return (s16)fopAcM_GetParamBit(this, 0, 16); }
+private:
/* 0x5A0 */ J3DModel* mpModel;
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
/* 0x5AC */ dMsgFlow_c mMsgFlow;
/* 0x5F8 */ u32 mShadowKey;
/* 0x5FC */ s16 mEventID;
-}; // Size: 0x600
+};
STATIC_ASSERT(sizeof(daObjTable_c) == 0x600);
diff --git a/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h b/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h
index e157e72f93..2c9ee82a74 100644
--- a/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h
+++ b/include/rel/d/a/obj/d_a_obj_takaraDai/d_a_obj_takaraDai.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_TAKARADAI_H
#define D_A_OBJ_TAKARADAI_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTkraDai_c
+ * @brief Flight-by-Fowl Platform
+ *
+ * @details
+ *
+ */
+class daTkraDai_c : public fopAc_ac_c {
+public:
+ /* 80D06E64 */ void setBaseMtx();
+ /* 80D06FFC */ void CreateHeap();
+ /* 80D07140 */ void create();
+ /* 80D07344 */ void Execute(f32 (**)[3][4]);
+ /* 80D073A4 */ void procMain();
+ /* 80D074D0 */ void init_modeWait();
+ /* 80D07528 */ void modeWait();
+ /* 80D075A4 */ void Draw();
+ /* 80D07668 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x65c - 0x568];
+};
+STATIC_ASSERT(sizeof(daTkraDai_c) == 0x65c);
+
+class daTkraDai_HIO_c {
+public:
+ /* 80D06D8C */ daTkraDai_HIO_c();
+ /* 80D0775C */ ~daTkraDai_HIO_c();
+};
+
#endif /* D_A_OBJ_TAKARADAI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h b/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h
index 90d1c8399f..ada1519772 100644
--- a/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h
+++ b/include/rel/d/a/obj/d_a_obj_tatigi/d_a_obj_tatigi.h
@@ -1,5 +1,27 @@
#ifndef D_A_OBJ_TATIGI_H
#define D_A_OBJ_TATIGI_H
+#include "f_op/f_op_actor_mng.h"
+
+struct tg_ss {
+public:
+ /* 80D083C0 */ ~tg_ss();
+ /* 80D08494 */ tg_ss();
+};
+
+/**
+ * @ingroup actors-objects
+ * @class obj_tatigi_class
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class obj_tatigi_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x1bc0 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_tatigi_class) == 0x1bc0);
+
#endif /* D_A_OBJ_TATIGI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h b/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h
index 7ca7a532b0..0036ec1c38 100644
--- a/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h
+++ b/include/rel/d/a/obj/d_a_obj_ten/d_a_obj_ten.h
@@ -1,5 +1,50 @@
#ifndef D_A_OBJ_TEN_H
#define D_A_OBJ_TEN_H
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTEN_c
+ * @brief Insect - Ladybug
+ *
+ * @details
+ *
+ */
+class daObjTEN_c : public fopAc_ac_c {
+public:
+ /* 80D087F4 */ void InitCcSph();
+ /* 80D08860 */ void SetCcSph();
+ /* 80D08C10 */ void WaitAction();
+ /* 80D08D94 */ void WallCheck();
+ /* 80D09008 */ void SpeedSet();
+ /* 80D09114 */ void WallWalk();
+ /* 80D09548 */ void WalkAction();
+ /* 80D09748 */ void MoveAction();
+ /* 80D09F58 */ void Action();
+ /* 80D0A01C */ void ShopAction();
+ /* 80D0A0D8 */ void checkGroundPos();
+ /* 80D0A13C */ void Insect_Release();
+ /* 80D0A154 */ void ParticleSet();
+ /* 80D0A278 */ void BoomChk();
+ /* 80D0A644 */ void Execute();
+ /* 80D0A8C8 */ void ObjHit();
+ /* 80D0AA50 */ void Z_BufferChk();
+ /* 80D0ABCC */ void Delete();
+ /* 80D0AC34 */ void setBaseMtx();
+ /* 80D0AD9C */ void CreateChk();
+ /* 80D0AF48 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa68 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTEN_c) == 0xa68);
+
+class daObj_TenHIO_c {
+public:
+ /* 80D087CC */ daObj_TenHIO_c();
+ /* 80D0B848 */ ~daObj_TenHIO_c();
+};
+
#endif /* D_A_OBJ_TEN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h b/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h
index 48de43dfe3..f0487e7e75 100644
--- a/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h
+++ b/include/rel/d/a/obj/d_a_obj_testcube/d_a_obj_testcube.h
@@ -1,6 +1,6 @@
#ifndef D_A_OBJ_TESTCUBE_H
#define D_A_OBJ_TESTCUBE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
#endif /* D_A_OBJ_TESTCUBE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h b/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h
index 49f25c6ded..9f51963f59 100644
--- a/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h
+++ b/include/rel/d/a/obj/d_a_obj_tgake/d_a_obj_tgake.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_movebg_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjGake_c
+ * @brief Howling Cliff
+ *
+ * @details
+ *
+ */
class daObjGake_c : public dBgS_MoveBgActor {
public:
/* 80D0BC18 */ void initBaseMtx();
@@ -20,11 +28,13 @@ public:
u16 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); }
u8 getType() { return fopAcM_GetParamBit(this, 0x14, 8); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u16 mEventBit1;
/* 0x5AE */ u16 mEventBit2;
/* 0x5B0 */ u8 mHide;
};
+STATIC_ASSERT(sizeof(daObjGake_c) == 0x5B4);
#endif /* D_A_OBJ_TGAKE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h b/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h
index 2f6c0fc060..53d84404ff 100644
--- a/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h
+++ b/include/rel/d/a/obj/d_a_obj_thashi/d_a_obj_thashi.h
@@ -1,5 +1,31 @@
#ifndef D_A_OBJ_THASHI_H
#define D_A_OBJ_THASHI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTHASHI_c
+ * @brief T Pillar
+ *
+ * @details
+ *
+ */
+class daObjTHASHI_c : public fopAc_ac_c {
+public:
+ /* 80D0C238 */ void initCcCylinder();
+ /* 80D0C354 */ void setBaseMtx();
+ /* 80D0C654 */ void CreateHeap();
+ /* 80D0C8B4 */ void create();
+ /* 80D0CE70 */ void Create();
+ /* 80D0CEB4 */ void Execute(f32 (**)[3][4]);
+ /* 80D0CEE0 */ void Draw();
+ /* 80D0D140 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x1bbc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTHASHI_c) == 0x1bbc);
+
#endif /* D_A_OBJ_THASHI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h b/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h
index 012a31d56a..b030f6d064 100644
--- a/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_thdoor/d_a_obj_thdoor.h
@@ -1,5 +1,40 @@
#ifndef D_A_OBJ_THDOOR_H
#define D_A_OBJ_THDOOR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjThDoor_c
+ * @brief Telma's Bar Door
+ *
+ * @details
+ *
+ */
+class daObjThDoor_c : public fopAc_ac_c {
+public:
+ /* 80D0D618 */ void initBaseMtx();
+ /* 80D0D654 */ void setBaseMtx();
+ /* 80D0D6B8 */ void Create();
+ /* 80D0D7F8 */ void CreateHeap();
+ /* 80D0D868 */ void create1st();
+ /* 80D0D8E8 */ void Execute(f32 (**)[3][4]);
+ /* 80D0D9B4 */ void set_cyl();
+ /* 80D0DAC8 */ void action();
+ /* 80D0DB90 */ void event_proc_call();
+ /* 80D0DC4C */ void actionWait();
+ /* 80D0DCC8 */ void actionOrderEvent();
+ /* 80D0DD90 */ void actionEvent();
+ /* 80D0DE30 */ void actionDead();
+ /* 80D0DE34 */ void demoProc();
+ /* 80D0E06C */ void checkArea();
+ /* 80D0E150 */ void Draw();
+ /* 80D0E1F4 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x8c0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjThDoor_c) == 0x8c0);
+
#endif /* D_A_OBJ_THDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h b/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h
index e343178d7d..627f69b867 100644
--- a/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h
+++ b/include/rel/d/a/obj/d_a_obj_timeFire/d_a_obj_timeFire.h
@@ -1,6 +1,38 @@
#ifndef D_A_OBJ_TIMEFIRE_H
#define D_A_OBJ_TIMEFIRE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTimeFire_c
+ * @brief Time Fire
+ *
+ * @details
+ *
+ */
+class daTimeFire_c : public fopAc_ac_c {
+public:
+ /* 80D0E958 */ void setBaseMtx();
+ /* 80D0E9B0 */ void create();
+ /* 80D0EACC */ void lightInit();
+ /* 80D0EB40 */ void setLight();
+ /* 80D0EB64 */ void cutLight();
+ /* 80D0EB88 */ void Execute();
+ /* 80D0ED68 */ void fireCheck(u8);
+ /* 80D0EF88 */ bool Draw();
+ /* 80D0EF90 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5c0 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTimeFire_c) == 0x5c0);
+
+class daTimeFire_HIO_c {
+public:
+ /* 80D0E8EC */ daTimeFire_HIO_c();
+ /* 80D0F038 */ ~daTimeFire_HIO_c();
+};
+
#endif /* D_A_OBJ_TIMEFIRE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h b/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h
index 02b25a215d..14529dab03 100644
--- a/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h
+++ b/include/rel/d/a/obj/d_a_obj_timer/d_a_obj_timer.h
@@ -1,6 +1,43 @@
#ifndef D_A_OBJ_TIMER_H
#define D_A_OBJ_TIMER_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTimer
+ * @brief Timer
+ *
+ * @details
+ *
+ */
+class daObjTimer : public fopAc_ac_c {
+public:
+ class Act_c {
+ public:
+ struct Prm_e {};
+
+ /* 80485198 */ void _create();
+ /* 8048526C */ bool _delete();
+ /* 80485274 */ void mode_wait_init();
+ /* 80485284 */ void mode_wait();
+ /* 804852E0 */ void mode_count_init();
+ /* 80485324 */ void mode_count();
+ /* 804854BC */ void _execute();
+ };
+
+private:
+ /* 0x568 */ u8 field_0x568[0x574 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTimer) == 0x574);
+
+struct daObj {
+public:
+ template <typename A1>
+ void PrmAbstract(/* ... */);
+ /* 8048561C */ /* daObj::PrmAbstract<daObjTimer::Act_c::Prm_e> */
+ void func_8048561C(void* _this, fopAc_ac_c const*, daObjTimer::Act_c::Prm_e,
+ daObjTimer::Act_c::Prm_e);
+};
#endif /* D_A_OBJ_TIMER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h b/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h
index 48fee8d440..d2166f1636 100644
--- a/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h
+++ b/include/rel/d/a/obj/d_a_obj_tks/d_a_obj_tks.h
@@ -1,6 +1,58 @@
#ifndef D_A_OBJ_TKS_H
#define D_A_OBJ_TKS_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTks_c
+ * @brief Ooccoo Jr. (small)
+ *
+ * @details
+ *
+ */
+class daObjTks_c : public fopAc_ac_c {
+public:
+ /* 80D0F28C */ daObjTks_c();
+ /* 80D0F480 */ ~daObjTks_c();
+ /* 80D0F640 */ void Create();
+ /* 80D0F904 */ void CreateHeap();
+ /* 80D0FD34 */ void Delete();
+ /* 80D0FD68 */ void Execute();
+ /* 80D0FE60 */ void Draw();
+ /* 80D0FED0 */ void ctrlJoint(J3DJoint*, J3DModel*);
+ /* 80D10094 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80D100B4 */ void ctrlJointCallBack(J3DJoint*, int);
+ /* 80D10100 */ void setMtx();
+ /* 80D10184 */ void setExpressionAnm(int, bool);
+ /* 80D102D0 */ void setExpressionBtp(int);
+ /* 80D103A4 */ void setMotion(int, f32, int);
+ /* 80D103E8 */ void reset();
+ /* 80D10578 */ void setAction(void (daObjTks_c::*)());
+ /* 80D10618 */ void wait();
+ /* 80D106C8 */ void setExpression(int, f32);
+ /* 80D106F4 */ void talk();
+ /* 80D10A80 */ void demo();
+ /* 80D11104 */ void setMotionAnm(int, f32);
+ /* 80D11228 */ void warp();
+ /* 80D11670 */ void setParam();
+ /* 80D116C8 */ void main();
+ /* 80D118E8 */ void ctrlBtk();
+ /* 80D119BC */ void setAttnPos();
+ /* 80D11CB4 */ void lookat();
+ /* 80D11E94 */ bool drawDbgInfo();
+ /* 80D11E9C */ void drawOtherMdls();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xDE4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTks_c) == 0xDE4);
+
+class daObjTks_Param_c {
+public:
+ /* 80D126D0 */ ~daObjTks_Param_c();
+
+ static u8 const m[128];
+};
#endif /* D_A_OBJ_TKS_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h b/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h
index 81c7d7b423..a24675711e 100644
--- a/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h
+++ b/include/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjTMoon_c
+ * @brief Howling Moon
+ *
+ * @details
+ *
+ */
class daObjTMoon_c : public fopAc_ac_c {
public:
/* 80D12BB8 */ void initBaseMtx();
@@ -17,10 +25,12 @@ public:
u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); }
u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); }
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ u16 field_0x574;
/* 0x576 */ u16 field_0x576;
-}; // Size: 0x578
+};
+STATIC_ASSERT(sizeof(daObjTMoon_c) == 0x578);
#endif /* D_A_OBJ_TMOON_H */
diff --git a/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h b/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h
index b6c294f213..e020e3fc23 100644
--- a/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h
+++ b/include/rel/d/a/obj/d_a_obj_toaru_maki/d_a_obj_toaru_maki.h
@@ -2,5 +2,34 @@
#define D_A_OBJ_TOARU_MAKI_H
#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjToaruMaki_c
+ * @brief Ordon Bundle
+ *
+ * @details
+ *
+ */
+class daObjToaruMaki_c : public fopAc_ac_c, public request_of_phase_process_class {
+public:
+ /* 80D13098 */ daObjToaruMaki_c();
+ /* 80D130E0 */ virtual ~daObjToaruMaki_c();
+ /* 80D1316C */ int createHeap();
+ /* 80D132B4 */ int create();
+ /* 80D133C0 */ int Delete();
+ /* 80D1343C */ void setModelMtx();
+ /* 80D134A0 */ int draw();
+ /* 80D13524 */ int execute();
+
+ u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
+
+private:
+ /* 0x574 */ J3DModel* mpModel;
+ /* 0x578 */ s32 field_0x578;
+ /* 0x57C */ Mtx mMtx;
+};
+STATIC_ASSERT(sizeof(daObjToaruMaki_c) == 0x5AC);
#endif /* D_A_OBJ_TOARU_MAKI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h b/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h
index 02c2658a7a..307f6bb33c 100644
--- a/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h
+++ b/include/rel/d/a/obj/d_a_obj_toby/d_a_obj_toby.h
@@ -1,6 +1,32 @@
#ifndef D_A_OBJ_TOBY_H
#define D_A_OBJ_TOBY_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_toby_class
+ * @brief Fyer (Object)
+ *
+ * @details
+ *
+ */
+class obj_toby_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x6374 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_toby_class) == 0x6374);
+
+class daObj_Toby_HIO_c {
+public:
+ /* 80D1378C */ daObj_Toby_HIO_c();
+ /* 80D15534 */ ~daObj_Toby_HIO_c();
+};
+
+struct yuka_s {
+public:
+ /* 80D154F4 */ ~yuka_s();
+ /* 80D15530 */ yuka_s();
+};
#endif /* D_A_OBJ_TOBY_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h b/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h
index 76c359c4b3..83ba5104b4 100644
--- a/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h
+++ b/include/rel/d/a/obj/d_a_obj_tobyhouse/d_a_obj_tobyhouse.h
@@ -1,6 +1,39 @@
#ifndef D_A_OBJ_TOBYHOUSE_H
#define D_A_OBJ_TOBYHOUSE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTobyHouse_c
+ * @brief Fyer's House
+ *
+ * @details
+ *
+ */
+class daObjTobyHouse_c : public fopAc_ac_c {
+public:
+ /* 80D15F0C */ void initBaseMtx();
+ /* 80D15F48 */ void setBaseMtx();
+ /* 80D15FE0 */ void Create();
+ /* 80D161A4 */ void CreateHeap();
+ /* 80D163F0 */ void create1st();
+ /* 80D164C0 */ void Execute(f32 (**)[3][4]);
+ /* 80D16560 */ void action();
+ /* 80D1661C */ void actionWait();
+ /* 80D166E0 */ void actionOrderEvent();
+ /* 80D167BC */ void actionEvent();
+ /* 80D16860 */ void actionDead();
+ /* 80D16864 */ void demoProc();
+ /* 80D171C0 */ void sceneChange();
+ /* 80D17230 */ void Draw();
+ /* 80D17374 */ void checkLODModel();
+ /* 80D174F8 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x600 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTobyHouse_c) == 0x600);
+
#endif /* D_A_OBJ_TOBYHOUSE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h b/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h
index 2ab9d00253..407ceae09c 100644
--- a/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h
+++ b/include/rel/d/a/obj/d_a_obj_togeTrap/d_a_obj_togeTrap.h
@@ -1,6 +1,49 @@
#ifndef D_A_OBJ_TOGETRAP_H
#define D_A_OBJ_TOGETRAP_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTogeTrap_c
+ * @brief Blade Trap
+ *
+ * @details
+ *
+ */
+class daTogeTrap_c : public fopAc_ac_c {
+public:
+ /* 80D17C74 */ void setBaseMtx();
+ /* 80D17D5C */ void CreateHeap();
+ /* 80D17E14 */ void create();
+ /* 80D18244 */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80D1825C */ void Execute(f32 (**)[3][4]);
+ /* 80D182C8 */ void moveMain();
+ /* 80D185DC */ void playerAreaCheck();
+ /* 80D186B0 */ void init_modeWait();
+ /* 80D186BC */ void modeWait();
+ /* 80D186C0 */ void init_modeMoveUp();
+ /* 80D18784 */ void modeMoveUp();
+ /* 80D188C0 */ void init_modeMoveDown();
+ /* 80D188DC */ void modeMoveDown();
+ /* 80D18994 */ void init_modeBreak();
+ /* 80D18A5C */ void modeBreak();
+ /* 80D18BEC */ void Draw();
+ /* 80D18CA4 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xae4 - 0x568];
+};
+STATIC_ASSERT(sizeof(daTogeTrap_c) == 0xae4);
+
+class daTogeTrap_HIO_c {
+public:
+ /* 80D17B6C */ daTogeTrap_HIO_c();
+ /* 80D18DA8 */ ~daTogeTrap_HIO_c();
+};
+
#endif /* D_A_OBJ_TOGETRAP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h b/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h
index b417ef8f3c..ca07d2127b 100644
--- a/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h
+++ b/include/rel/d/a/obj/d_a_obj_tombo/d_a_obj_tombo.h
@@ -1,5 +1,52 @@
#ifndef D_A_OBJ_TOMBO_H
#define D_A_OBJ_TOMBO_H
+#include "d/d_insect.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjTOMBO_c
+ * @brief Insect - Dragonfly
+ *
+ * @details
+ *
+ */
+class daObjTOMBO_c : public fopAc_ac_c {
+public:
+ /* 80D19200 */ void InitCcSph();
+ /* 80D1926C */ void SetCcSph();
+ /* 80D192E4 */ void CreateHeap();
+ /* 80D19658 */ void WaitAction();
+ /* 80D19744 */ void SpeedSet();
+ /* 80D19834 */ void CheckWater();
+ /* 80D199F4 */ void CheckGround();
+ /* 80D19B48 */ void CheckWall();
+ /* 80D19C34 */ void SearchLink();
+ /* 80D19E48 */ void LinkAction();
+ /* 80D1A138 */ void MoveAction();
+ /* 80D1A280 */ void Action();
+ /* 80D1A3EC */ void ShopAction();
+ /* 80D1A514 */ void Insect_Release();
+ /* 80D1A524 */ void ParticleSet();
+ /* 80D1A648 */ void BoomChk();
+ /* 80D1A904 */ void Execute();
+ /* 80D1AB20 */ void ObjHit();
+ /* 80D1AC84 */ void Z_BufferChk();
+ /* 80D1AE00 */ void Delete();
+ /* 80D1AE68 */ void setBaseMtx();
+ /* 80D1AFC8 */ void CreateChk();
+ /* 80D1B174 */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa18 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjTOMBO_c) == 0xa18);
+
+class daObj_TomHIO_c {
+public:
+ /* 80D191CC */ daObj_TomHIO_c();
+ /* 80D1B618 */ ~daObj_TomHIO_c();
+};
+
#endif /* D_A_OBJ_TOMBO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h b/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h
index 5054279192..c25aabc042 100644
--- a/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h
+++ b/include/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h
@@ -4,6 +4,14 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjTrnd_c
+ * @brief Tornado
+ *
+ * @details
+ *
+ */
class daObjTrnd_c : public fopAc_ac_c {
public:
/* 80D1B998 */ void setPntWind();
@@ -22,6 +30,7 @@ public:
u32 getTimer() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSwbit() { return fopAcM_GetParamBit(this, 0x18, 8); }
+private:
/* 0x568 */ dCcD_Stts mStts;
/* 0x5A4 */ dCcD_Cps mCps;
/* 0x6E8 */ cM3dGCpsS field_0x6e8;
@@ -31,6 +40,7 @@ public:
/* 0x73C */ f32 field_0x73c;
/* 0x740 */ WIND_INFLUENCE mWindInfluence;
/* 0x76C */ f32 mWindPower;
-}; // Size: 0x770
+};
+STATIC_ASSERT(sizeof(daObjTrnd_c) == 0x770);
#endif /* D_A_OBJ_TORNADO_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h b/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h
index 53067ba394..49d1fe893e 100644
--- a/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h
+++ b/include/rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h
@@ -4,7 +4,16 @@
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
-struct daObjTrnd2_c : public fopAc_ac_c {
+/**
+ * @ingroup actors-objects
+ * @class daObjTrnd2_c
+ * @brief Tornado 2
+ *
+ * @details
+ *
+ */
+class daObjTrnd2_c : public fopAc_ac_c {
+public:
/* 80D1C4D8 */ void setPntWind();
/* 80D1C54C */ void cutPntWind();
/* 80D1C570 */ void movePntWind();
@@ -45,5 +54,6 @@ struct daObjTrnd2_c : public fopAc_ac_c {
/* 0x778 */ bool field_0x778;
/* 0x778 */ JPABaseEmitter* mParticles[3];
};
+STATIC_ASSERT(sizeof(daObjTrnd2_c) == 0x788);
#endif /* D_A_OBJ_TORNADO2_H */
diff --git a/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h b/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h
index a63729f98e..8d37899be9 100644
--- a/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h
+++ b/include/rel/d/a/obj/d_a_obj_tp/d_a_obj_tp.h
@@ -1,5 +1,21 @@
#ifndef D_A_OBJ_TP_H
#define D_A_OBJ_TP_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_tp_class
+ * @brief Shadow Beast Barrier Pole (Twilight Pole)
+ *
+ * @details
+ *
+ */
+class obj_tp_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x784 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_tp_class) == 0x784);
+
#endif /* D_A_OBJ_TP_H */
diff --git a/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h b/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h
index 8b02b4d33b..e2a6c026ce 100644
--- a/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h
+++ b/include/rel/d/a/obj/d_a_obj_treesh/d_a_obj_treesh.h
@@ -1,6 +1,37 @@
#ifndef D_A_OBJ_TREESH_H
#define D_A_OBJ_TREESH_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTreeSh_c
+ * @brief Conifer Tree
+ *
+ * @details
+ *
+ */
+class daTreeSh_c : public fopAc_ac_c {
+public:
+ /* 80D1F258 */ void initBaseMtx();
+ /* 80D1F294 */ void setBaseMtx();
+ /* 80D1F2E8 */ void CreateHeap();
+ /* 80D1F358 */ void Create();
+ /* 80D1F414 */ void create1st();
+ /* 80D1F49C */ void Execute(f32 (**)[3][4]);
+ /* 80D1F648 */ void Draw();
+ /* 80D1F6EC */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5cc - 0x568];
+};
+STATIC_ASSERT(sizeof(daTreeSh_c) == 0x5cc);
+
+class daTreeSh_HIO_c {
+public:
+ /* 80D1F0CC */ daTreeSh_HIO_c();
+ /* 80D1F81C */ ~daTreeSh_HIO_c();
+};
+
#endif /* D_A_OBJ_TREESH_H */
diff --git a/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h b/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h
index 13ab7da0fd..9697d9d1a0 100644
--- a/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h
+++ b/include/rel/d/a/obj/d_a_obj_twGate/d_a_obj_twGate.h
@@ -1,6 +1,33 @@
#ifndef D_A_OBJ_TWGATE_H
#define D_A_OBJ_TWGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daTwGate_c
+ * @brief Twilight Gate (Wall?)
+ *
+ * @details
+ *
+ */
+class daTwGate_c : public fopAc_ac_c {
+public:
+ /* 80D1FB84 */ void setBaseMtx();
+ /* 80D1FC0C */ void CreateHeap();
+ /* 80D1FD44 */ void create();
+ /* 80D1FFA4 */ void Execute(f32 (**)[3][4]);
+ /* 80D200B4 */ void Draw();
+ /* 80D20180 */ void Delete();
+private:
+ /* 0x568 */ u8 field_0x568[0x5fc - 0x568];
+};
+STATIC_ASSERT(sizeof(daTwGate_c) == 0x5fc);
+
+class daTwGate_HIO_c {
+public:
+ /* 80D1FAAC */ daTwGate_HIO_c();
+ /* 80D2024C */ ~daTwGate_HIO_c();
+};
#endif /* D_A_OBJ_TWGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h b/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h
index 5ff475c072..a6ac5259ac 100644
--- a/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h
+++ b/include/rel/d/a/obj/d_a_obj_udoor/d_a_obj_udoor.h
@@ -1,5 +1,21 @@
#ifndef D_A_OBJ_UDOOR_H
#define D_A_OBJ_UDOOR_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class obj_udoor_class
+ * @brief Stable Door
+ *
+ * @details
+ *
+ */
+class obj_udoor_class : public fopAc_ac_c {
+private:
+ /* 0x568 */ u8 field_0x568[0x754 - 0x568];
+};
+STATIC_ASSERT(sizeof(obj_udoor_class) == 0x754);
+
#endif /* D_A_OBJ_UDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h b/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h
index 3a2b658320..6bf2ea6114 100644
--- a/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h
+++ b/include/rel/d/a/obj/d_a_obj_usaku/d_a_obj_usaku.h
@@ -5,6 +5,14 @@
class dBgW;
+/**
+ * @ingroup actors-objects
+ * @class obj_usaku_class
+ * @brief Horse Fence
+ *
+ * @details
+ *
+ */
class obj_usaku_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;
@@ -14,5 +22,6 @@ public:
/* 0x580 */ Mtx mBgMtx;
/* 0x5B0 */ dBgW* mpBgW;
};
+STATIC_ASSERT(sizeof(obj_usaku_class) == 0x5B4);
#endif /* D_A_OBJ_USAKU_H */
diff --git a/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h b/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h
index 620fbaf476..4078fe8db5 100644
--- a/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h
+++ b/include/rel/d/a/obj/d_a_obj_vground/d_a_obj_vground.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjVGnd_c
+ * @brief Volcano Ground
+ *
+ * @details
+ *
+ */
class daObjVGnd_c : public fopAc_ac_c {
public:
/* 80D213F8 */ void initBaseMtx();
@@ -16,10 +24,11 @@ public:
u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_btkAnm* mpBtk;
/* 0x578 */ mDoExt_brkAnm* mpBrk;
-}; // Size: 0x57C
-
+};
+STATIC_ASSERT(sizeof(daObjVGnd_c) == 0x57C);
#endif /* D_A_OBJ_VGROUND_H */
diff --git a/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h b/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h
index 6fcaead2f6..d18d19dc9b 100644
--- a/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h
+++ b/include/rel/d/a/obj/d_a_obj_volcball/d_a_obj_volcball.h
@@ -1,5 +1,140 @@
#ifndef D_A_OBJ_VOLCBALL_H
#define D_A_OBJ_VOLCBALL_H
+#include "f_op/f_op_actor_mng.h"
+#include "d/event/d_event_lib.h"
+#include "d/cc/d_cc_d.h"
+#include "d/bg/d_bg_s_acch.h"
+#include "d/particle/d_particle.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjVolcBall_c
+ * @brief Volcano Ball
+ *
+ * @details
+ *
+ */
+class daObjVolcBall_c : public fopAc_ac_c, public dEvLib_callback_c {
+public:
+ enum mode_e {
+ /* 0 */ MODE_PLAYER_WAIT,
+ /* 1 */ MODE_SWITCH_WAIT,
+ /* 2 */ MODE_STOP,
+ /* 3 */ MODE_QUAKE,
+ /* 4 */ MODE_ERUPT,
+ /* 5 */ MODE_END,
+ };
+
+ struct vball_s {
+ /* 80D21FA8 */ ~vball_s();
+ /* 80D2214C */ vball_s();
+
+ /* 0x000 */ J3DModel* mpModel;
+ /* 0x004 */ cXyz field_0x4;
+ /* 0x010 */ cXyz field_0x10;
+ /* 0x01C */ cXyz field_0x1c;
+ /* 0x028 */ cXyz field_0x28;
+ /* 0x034 */ csXyz field_0x34;
+ /* 0x03C */ cXyz field_0x3c;
+ /* 0x048 */ f32 field_0x48;
+ /* 0x04C */ f32 field_0x4c;
+ /* 0x050 */ f32 field_0x50;
+ /* 0x054 */ dBgS_ObjAcch mAcch;
+ /* 0x22C */ dCcD_Sph mSphCc;
+ /* 0x364 */ cXyz field_0x364;
+ /* 0x370 */ u32 field_0x370;
+ /* 0x374 */ s16 field_0x374;
+ /* 0x376 */ u8 field_0x376;
+ /* 0x378 */ csXyz field_0x378;
+ /* 0x37E */ u8 field_0x37E[0x0390 - 0x037E];
+ /* 0x390 */ dPa_followEcallBack field_0x390[4];
+ };
+
+ class volc_param_c {
+ public:
+ /* 0x00 */ f32 mGravity;
+ /* 0x04 */ f32 mMaxFallSpeed;
+ /* 0x08 */ f32 mBallSpeedH;
+ /* 0x0C */ f32 mBallSetShortRange;
+ /* 0x10 */ f32 mBallSetRandom;
+ /* 0x14 */ f32 mNormalScale;
+ /* 0x18 */ f32 mScaleRandValue;
+ /* 0x1C */ f32 mNormalInterval;
+ /* 0x20 */ f32 mRandInterval;
+ /* 0x24 */ f32 mNormalWaitTime;
+ /* 0x28 */ f32 mRandWaitTime;
+ /* 0x2C */ f32 mNormalWarningTime;
+ /* 0x30 */ f32 mRandWarningTime;
+ /* 0x34 */ f32 mNormalEruptTime;
+ /* 0x38 */ f32 mRandEruptTime;
+ /* 0x3C */ f32 mSearchBallFreq;
+ /* 0x40 */ f32 mSearchBallBaseScale;
+ /* 0x44 */ f32 mSearchBallRandScale;
+ /* 0x48 */ f32 mSearchBallSetHeight;
+ /* 0x4C */ f32 mSearchBallShadowIntensity;
+ /* 0x50 */ u8 mSearchBallCreateTime;
+ /* 0x51 */ u8 mPlayerSearchTime;
+ };
+
+ daObjVolcBall_c() : dEvLib_callback_c(this) {}
+
+ /* 80D21B18 */ volc_param_c* getData();
+ /* 80D21BA0 */ void initBaseMtx();
+ /* 80D21BC0 */ void setBaseMtx();
+ /* 80D21C40 */ int Create();
+ /* 80D21D80 */ int CreateHeap();
+ /* 80D21E28 */ int create();
+ /* 80D22424 */ int execute();
+ /* 80D22484 */ void action();
+ /* 80D22570 */ void initActionPlayerWait();
+ /* 80D2257C */ void initActionWarning();
+ /* 80D225A4 */ void initActionSwWait();
+ /* 80D225B0 */ void actionPlayerWait();
+ /* 80D2267C */ void actionSwWait();
+ /* 80D22724 */ void actionStop();
+ /* 80D227E4 */ void actionWarning();
+ /* 80D22944 */ void actionEruption();
+ /* 80D22C6C */ void initActionEnd();
+ /* 80D22CD4 */ void actionEnd();
+ /* 80D22E24 */ void setEruptEffect(int);
+ /* 80D22ED4 */ void setFallEffect(int);
+ /* 80D22FCC */ void endFallEffect(int);
+ /* 80D23034 */ bool createSearchBall();
+ /* 80D23188 */ bool createNormalBall();
+ /* 80D23438 */ int executeBall();
+ /* 80D23868 */ void startQuake();
+ /* 80D23904 */ int draw();
+ /* 80D23A0C */ int _delete();
+
+ /* 80D23B24 */ virtual ~daObjVolcBall_c();
+ /* 80D22DDC */ virtual BOOL eventStart();
+
+ u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
+ u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
+ u8 checkBigVolc() { return fopAcM_GetParamBit(this, 0x1F, 1); }
+ u8 getEvNo() { return fopAcM_GetParamBit(this, 0x10, 8); }
+
+ void setAction(u8 i_action) { mMode = i_action; }
+
+private:
+ /* 0x057C */ request_of_phase_process_class mPhase;
+ /* 0x0584 */ dBgS_AcchCir mAcchCir;
+ /* 0x05C4 */ dCcD_Stts mCcStts;
+ /* 0x0600 */ u8 mIsBigVolc;
+ /* 0x0601 */ u8 mMode;
+ /* 0x0602 */ u8 mNormalBallCreateTimer;
+ /* 0x0603 */ u8 field_0x603;
+ /* 0x0604 */ u32 mTime;
+ /* 0x0608 */ u32 mSearchBallCreateTimer;
+ /* 0x060C */ vball_s mBall[9];
+ /* 0x28EC */ Mtx field_0x28ec;
+ /* 0x291C */ f32 field_0x291c;
+ /* 0x2920 */ u32 mBigVolcActorID;
+ /* 0x2924 */ u8 field_0x2924;
+ /* 0x2925 */ u8 field_0x2925;
+ /* 0x2926 */ u8 field_0x2926;
+};
+STATIC_ASSERT(sizeof(daObjVolcBall_c) == 0x2928);
#endif /* D_A_OBJ_VOLCBALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h b/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h
index c66639dc1a..e874e621a5 100644
--- a/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h
+++ b/include/rel/d/a/obj/d_a_obj_volcbom/d_a_obj_volcbom.h
@@ -1,5 +1,69 @@
#ifndef D_A_OBJ_VOLCBOM_H
#define D_A_OBJ_VOLCBOM_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjVolcBom_c
+ * @brief Volcano Bomb?
+ *
+ * @details
+ *
+ */
+class daObjVolcBom_c : public fopAc_ac_c {
+public:
+ /* 80D241E0 */ void initBaseMtx();
+ /* 80D24238 */ void setBaseMtx();
+ /* 80D242A8 */ void Create();
+ /* 80D244E0 */ void CreateHeap();
+ /* 80D248F4 */ void create1st();
+ /* 80D249D0 */ void Execute(f32 (**)[3][4]);
+ /* 80D24A2C */ void mode_proc_call();
+ /* 80D24B18 */ void init_modeWaitAppear();
+ /* 80D24B6C */ void modeWaitAppear();
+ /* 80D24D80 */ void init_modeFall();
+ /* 80D24E50 */ void modeFall();
+ /* 80D25024 */ void init_modeWaitEndFallDemo();
+ /* 80D25038 */ void modeWaitEndFallDemo();
+ /* 80D25094 */ void init_modeWait();
+ /* 80D25100 */ void modeWait();
+ /* 80D25178 */ void clrDzb();
+ /* 80D251CC */ void setDzb();
+ /* 80D25224 */ void appear();
+ /* 80D25230 */ void disappear();
+ /* 80D2523C */ void setSmoke();
+ /* 80D252C8 */ void checkTalkDistance();
+ /* 80D25364 */ void calcMidnaWaitPos();
+ /* 80D253FC */ void setSrcEffect();
+ /* 80D25528 */ void setBindEffect();
+ /* 80D255F4 */ void followBindEffect();
+ /* 80D25664 */ void endBindEffect();
+ /* 80D256B8 */ void followSrcEffect();
+ /* 80D25758 */ void endSrcEffect();
+ /* 80D257E4 */ void event_proc_call();
+ /* 80D25914 */ void orderZHintEvent();
+ /* 80D25A08 */ void actionWait();
+ /* 80D25B04 */ void actionOrderEvent();
+ /* 80D25CA0 */ void actionOrderATalkEvent();
+ /* 80D25DEC */ void actionTalkEvent();
+ /* 80D25E78 */ void actionWarpEvent();
+ /* 80D25EE4 */ void actionDead();
+ /* 80D25EE8 */ void demoProc();
+ /* 80D26468 */ void calcObjPos();
+ /* 80D264E8 */ void Draw();
+ /* 80D266FC */ void Delete();
+
+ void startFall() { field_0x95f = 1; }
+ void startSearch() { field_0x960 = 1; }
+
+private:
+ /* 0x568 */ u8 field_0x568[0x95F - 0x568];
+ /* 0x95F */ u8 field_0x95f;
+ /* 0x960 */ u8 field_0x960;
+ /* 0x961 */ u8 field_0x961[0xA1C - 0x961];
+};
+STATIC_ASSERT(sizeof(daObjVolcBom_c) == 0xa1c);
+
#endif /* D_A_OBJ_VOLCBOM_H */
diff --git a/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h b/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h
index 90928ff3e7..b911461441 100644
--- a/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h
+++ b/include/rel/d/a/obj/d_a_obj_warp_kbrg/d_a_obj_warp_kbrg.h
@@ -1,6 +1,56 @@
#ifndef D_A_OBJ_WARP_KBRG_H
#define D_A_OBJ_WARP_KBRG_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjWarpKBrg_c
+ * @brief Warp K Bridge (Kakariko Gorge Bridge?)
+ *
+ * @details
+ *
+ */
+class daObjWarpKBrg_c : public fopAc_ac_c {
+public:
+ /* 80D26FA8 */ void initBaseMtx();
+ /* 80D27008 */ void setBaseMtx();
+ /* 80D270C4 */ void Create();
+ /* 80D27300 */ void CreateHeap();
+ /* 80D276B4 */ void create1st();
+ /* 80D2781C */ void Execute(f32 (**)[3][4]);
+ /* 80D27890 */ void event_proc_call();
+ /* 80D27A38 */ void orderZHintEvent();
+ /* 80D27B2C */ void actionWait();
+ /* 80D27C6C */ void actionOrderEvent();
+ /* 80D27E08 */ void actionWaitWarpEvent();
+ /* 80D27ED0 */ void actionOrderATalkEvent();
+ /* 80D28040 */ void actionTalkEvent();
+ /* 80D280CC */ void actionWarpEvent();
+ /* 80D28144 */ void actionDead();
+ /* 80D28148 */ void actionWait2();
+ /* 80D2814C */ void actionOrderEvent2();
+ /* 80D281E4 */ void actionWarpEvent2();
+ /* 80D28248 */ void actionDead2();
+ /* 80D2824C */ void demoProc();
+ /* 80D28A50 */ void calcObjPos();
+ /* 80D28AE0 */ void checkTalkDistance();
+ /* 80D28B7C */ void calcMidnaWaitPos();
+ /* 80D28C10 */ void setBindEffect();
+ /* 80D28CDC */ void followBindEffect();
+ /* 80D28D4C */ void setSrcEffect();
+ /* 80D28E9C */ void setDstEffect();
+ /* 80D28FEC */ void followSrcEffect();
+ /* 80D290A8 */ void followDstEffect();
+ /* 80D29158 */ void endSrcEffect();
+ /* 80D291FC */ void endDstEffect();
+ /* 80D292A0 */ void Draw();
+ /* 80D29448 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x69c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjWarpKBrg_c) == 0x69c);
+
#endif /* D_A_OBJ_WARP_KBRG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h b/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h
index 636cdd3c7c..d5536b17f0 100644
--- a/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h
+++ b/include/rel/d/a/obj/d_a_obj_warp_obrg/d_a_obj_warp_obrg.h
@@ -1,6 +1,42 @@
#ifndef D_A_OBJ_WARP_OBRG_H
#define D_A_OBJ_WARP_OBRG_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjWarpOBrg_c
+ * @brief Warp O Bridge (Eldin Bridge?)
+ *
+ * @details
+ *
+ */
+class daObjWarpOBrg_c : public fopAc_ac_c {
+public:
+ /* 80D299B8 */ void initBaseMtx();
+ /* 80D29A00 */ void setBaseMtx();
+ /* 80D29ACC */ void Create();
+ /* 80D29BB4 */ void CreateHeap();
+ /* 80D29E7C */ void create1st();
+ /* 80D2A008 */ void Execute(f32 (**)[3][4]);
+ /* 80D2A04C */ void event_proc_call();
+ /* 80D2A194 */ void actionWait();
+ /* 80D2A4CC */ void actionOrderEvent();
+ /* 80D2A740 */ void actionTalkEvent();
+ /* 80D2A7C4 */ void actionWarpEvent();
+ /* 80D2A93C */ void actionOrderEventDst();
+ /* 80D2A9E4 */ void actionWarpEventDst();
+ /* 80D2AA30 */ void actionDead();
+ /* 80D2AA34 */ void demoProc();
+ /* 80D2B3BC */ void checkTalkDistance();
+ /* 80D2B534 */ void calcMidnaWaitPos();
+ /* 80D2B5C8 */ void Draw();
+ /* 80D2B6C0 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x640 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjWarpOBrg_c) == 0x640);
+
#endif /* D_A_OBJ_WARP_OBRG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h b/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h
index 7d3d909b2d..9f3d4475f6 100644
--- a/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h
+++ b/include/rel/d/a/obj/d_a_obj_waterGate/d_a_obj_waterGate.h
@@ -1,6 +1,44 @@
#ifndef D_A_OBJ_WATERGATE_H
#define D_A_OBJ_WATERGATE_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daWtGate_c
+ * @brief Water Gate
+ *
+ * @details
+ *
+ */
+class daWtGate_c : public fopAc_ac_c {
+public:
+ /* 80D2BC0C */ void setBaseMtx();
+ /* 80D2BC94 */ void CreateHeap();
+ /* 80D2BD00 */ void create();
+ /* 80D2BE7C */ void Execute(f32 (**)[3][4]);
+ /* 80D2BECC */ void move();
+ /* 80D2BF88 */ void init_modeWait();
+ /* 80D2BF94 */ void modeWait();
+ /* 80D2C010 */ void init_modeOpen();
+ /* 80D2C02C */ void modeOpen();
+ /* 80D2C134 */ void init_modeClose();
+ /* 80D2C150 */ void modeClose();
+ /* 80D2C250 */ void init_modeEnd();
+ /* 80D2C25C */ void modeEnd();
+ /* 80D2C260 */ void Draw();
+ /* 80D2C304 */ void Delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x5bc - 0x568];
+};
+STATIC_ASSERT(sizeof(daWtGate_c) == 0x5bc);
+
+class daWtGate_HIO_c {
+public:
+ /* 80D2BB8C */ daWtGate_HIO_c();
+ /* 80D2C3C0 */ ~daWtGate_HIO_c();
+};
+
#endif /* D_A_OBJ_WATERGATE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h b/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h
index 1b5422f06b..2e7534b11b 100644
--- a/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h
+++ b/include/rel/d/a/obj/d_a_obj_waterPillar/d_a_obj_waterPillar.h
@@ -1,6 +1,68 @@
#ifndef D_A_OBJ_WATERPILLAR_H
#define D_A_OBJ_WATERPILLAR_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daWtPillar_c
+ * @brief Water Column
+ *
+ * @details
+ *
+ */
+class daWtPillar_c : public fopAc_ac_c {
+public:
+ /* 80D2C7B0 */ void setBaseMtx();
+ /* 80D2C838 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80D2C858 */ void CreateHeap();
+ /* 80D2C960 */ void create();
+ /* 80D2CC0C */ void execute();
+ /* 80D2CE4C */ void actionMain();
+ /* 80D2CF98 */ void effectSet();
+ /* 80D2D278 */ void effectSet2();
+ /* 80D2D3FC */ void actionSwWaitInit();
+ /* 80D2D408 */ void actionSwWait();
+ /* 80D2D488 */ void eventStart();
+ /* 80D2D4AC */ void actionWaitInit();
+ /* 80D2D588 */ void actionWait();
+ /* 80D2D5C0 */ void actionUpFirstInit();
+ /* 80D2D6C4 */ void actionUpFirst();
+ /* 80D2D73C */ void actionUpFirstWaitInit();
+ /* 80D2D780 */ void actionUpFirstWait();
+ /* 80D2D7B8 */ void actionUpInit();
+ /* 80D2D850 */ void actionUp();
+ /* 80D2D95C */ void actionUpWaitInit();
+ /* 80D2D9A0 */ void actionUpWait();
+ /* 80D2DA58 */ void actionDownInit();
+ /* 80D2DA78 */ void actionDown();
+ /* 80D2DB68 */ void actionRockWaitInit();
+ /* 80D2DB74 */ void actionRockWait();
+ /* 80D2DC20 */ void actionRockOnInit();
+ /* 80D2DC2C */ void actionRockOn();
+ /* 80D2DD0C */ void actionEndInit();
+ /* 80D2DD18 */ void actionEnd();
+ /* 80D2DDB0 */ void getPillarHeight();
+ /* 80D2DDB8 */ void draw();
+ /* 80D2DE84 */ void _delete();
+ /* 80D2E054 */ daWtPillar_c();
+ /* 80D2E430 */ ~daWtPillar_c();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 const mCcDObjCoInfo[48];
+ static u8 mCcDCps[76];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xb7c - 0x568];
+};
+STATIC_ASSERT(sizeof(daWtPillar_c) == 0xb7c);
+
+class daWtPillar_HIO_c {
+public:
+ /* 80D2C6CC */ daWtPillar_HIO_c();
+ /* 80D2DF34 */ ~daWtPillar_HIO_c();
+};
+
#endif /* D_A_OBJ_WATERPILLAR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h b/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h
index aceb02aa1b..17af9916b0 100644
--- a/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h
+++ b/include/rel/d/a/obj/d_a_obj_waterfall/d_a_obj_waterfall.h
@@ -1,5 +1,33 @@
#ifndef D_A_OBJ_WATERFALL_H
#define D_A_OBJ_WATERFALL_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjWaterFall_c
+ * @brief Waterfall
+ *
+ * @details
+ *
+ */
+class daObjWaterFall_c : public fopAc_ac_c {
+public:
+ /* 80D2ED14 */ void search_bomb();
+ /* 80D2F034 */ void search_arrow();
+ /* 80D2F324 */ void initBaseMtx();
+ /* 80D2F344 */ void setBaseMtx();
+ /* 80D2F39C */ void Create();
+ /* 80D2F5A0 */ void create();
+ /* 80D2F984 */ void execute();
+ /* 80D2FA6C */ void push_player();
+ /* 80D2FC94 */ bool draw();
+ /* 80D2FC9C */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x9cc - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjWaterFall_c) == 0x9cc);
+
#endif /* D_A_OBJ_WATERFALL_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h b/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h
index 17f0d5760a..4ebf2dfbba 100644
--- a/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h
+++ b/include/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h
@@ -22,6 +22,14 @@ public:
};
#endif
+/**
+ * @ingroup actors-objects
+ * @class daObjWchain_c
+ * @brief Wolf Chain
+ *
+ * @details
+ *
+ */
class daObjWchain_c : public fopAc_ac_c {
public:
/* 80D2FEF8 */ int createHeap();
@@ -56,7 +64,8 @@ public:
void onEndFlg() { mEnd = true; }
bool getEndFlg() { return mEnd; }
void onNowSwitchFlg() { mDown = mNowSwitch = true; }
-
+
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpHandleModel;
/* 0x574 */ J3DModelData* mpChainModelData;
@@ -82,7 +91,6 @@ public:
/* 0x7AC */ f32 mRealRoofY;
/* 0x7B0 */ cXyz mRoofPos;
};
-
STATIC_ASSERT(sizeof(daObjWchain_c) == 0x7BC);
#endif /* D_A_OBJ_WCHAIN_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h b/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h
index 3f067dcc11..d23b6c4aa8 100644
--- a/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h
+++ b/include/rel/d/a/obj/d_a_obj_wdStick/d_a_obj_wdStick.h
@@ -1,6 +1,56 @@
#ifndef D_A_OBJ_WDSTICK_H
#define D_A_OBJ_WDSTICK_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daWdStick_c
+ * @brief Wooden Stick
+ *
+ * @details
+ *
+ */
+class daWdStick_c : public fopAc_ac_c {
+public:
+ /* 80D31BD0 */ void setBaseMtx();
+ /* 80D31C58 */ void CreateHeap();
+ /* 80D31CC4 */ void create();
+ /* 80D32168 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80D32194 */ void lightInit();
+ /* 80D32198 */ void setLight();
+ /* 80D3219C */ void setFire();
+ /* 80D3269C */ void Execute();
+ /* 80D32DB4 */ void bgCheck();
+ /* 80D33348 */ void setBoundSe();
+ /* 80D333F4 */ void mode_proc_call();
+ /* 80D3350C */ void mode_init_wait();
+ /* 80D3353C */ void mode_proc_wait();
+ /* 80D33588 */ void mode_init_carry();
+ /* 80D335AC */ void mode_proc_carry();
+ /* 80D3386C */ void mode_init_drop();
+ /* 80D33890 */ void mode_proc_drop();
+ /* 80D338DC */ void mode_init_roll();
+ /* 80D338F4 */ void mode_proc_roll();
+ /* 80D33D44 */ void chkWaterLineIn();
+ /* 80D33D68 */ void mode_init_sink();
+ /* 80D33D8C */ void mode_proc_sink();
+ /* 80D33EB0 */ void Draw();
+ /* 80D33F14 */ void Delete();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDSph[64];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xaf8 - 0x568];
+};
+STATIC_ASSERT(sizeof(daWdStick_c) == 0xaf8);
+
+class daWdStick_HIO_c {
+public:
+ /* 80D31B4C */ daWdStick_HIO_c();
+ /* 80D34030 */ ~daWdStick_HIO_c();
+};
+
#endif /* D_A_OBJ_WDSTICK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h b/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h
index 0bebd778e9..83aaf7ec19 100644
--- a/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h
+++ b/include/rel/d/a/obj/d_a_obj_web0/d_a_obj_web0.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class obj_web0_class
+ * @brief Wall Web
+ *
+ * @details
+ *
+ */
class obj_web0_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;
@@ -22,7 +30,8 @@ public:
/* 0x600 */ dCcD_Sph mSphCc;
/* 0x738 */ u8 mDeleteTimer;
/* 0x739 */ u8 field_0x739;
-}; // Size: 0x73C
+};
+STATIC_ASSERT(sizeof(obj_web0_class) == 0x73C);
class daObj_Web0_HIO_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h b/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h
index 54f73702cc..fff17277ad 100644
--- a/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h
+++ b/include/rel/d/a/obj/d_a_obj_web1/d_a_obj_web1.h
@@ -3,6 +3,14 @@
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class obj_web1_class
+ * @brief Floor Web
+ *
+ * @details
+ *
+ */
class obj_web1_class : public fopAc_ac_c {
public:
/* 0x568 */ request_of_phase_process_class mPhase;
@@ -27,7 +35,8 @@ public:
/* 0x5F4 */ dCcD_Stts mStts;
/* 0x630 */ dCcD_Cyl mCylCc;
/* 0x76C */ u8 field_0x76c;
-}; // Size: 0x770
+};
+STATIC_ASSERT(sizeof(obj_web1_class) == 0x770);
class daObj_Web1_HIO_c {
public:
diff --git a/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h b/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h
index f171efe9ee..88b8e86532 100644
--- a/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h
+++ b/include/rel/d/a/obj/d_a_obj_well_cover/d_a_obj_well_cover.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjWCover_c
+ * @brief Graveyard Well Cover
+ *
+ * @details
+ *
+ */
class daObjWCover_c : public dBgS_MoveBgActor {
public:
/* 80D36298 */ void initBaseMtx();
@@ -21,10 +29,12 @@ public:
u8 getSwNo() { return fopAcM_GetParam(this); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 field_0x5AC[0x5B0 - 0x5AC];
/* 0x5B0 */ u8 field_0x5b0;
-}; // Size: 0x5B4
+};
+STATIC_ASSERT(sizeof(daObjWCover_c) == 0x5B4);
#endif /* D_A_OBJ_WELL_COVER_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h b/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h
index 302d0eaf42..23d752004c 100644
--- a/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h
+++ b/include/rel/d/a/obj/d_a_obj_wflag/d_a_obj_wflag.h
@@ -1,8 +1,7 @@
#ifndef D_A_OBJ_WFLAG_H
#define D_A_OBJ_WFLAG_H
-#include "f_op/f_op_actor.h"
-#include "SSystem/SComponent/c_phase.h"
+#include "f_op/f_op_actor_mng.h"
struct wf_tail_s {
/* 80D37720 */ ~wf_tail_s() {}
@@ -17,7 +16,16 @@ struct wf_tail_s {
/* 0x2A8 */ u32 field_0x2a8;
};
-struct obj_wflag_class : public fopAc_ac_c {
+/**
+ * @ingroup actors-objects
+ * @class obj_wflag_class
+ * @brief ???
+ *
+ * @details
+ *
+ */
+class obj_wflag_class : public fopAc_ac_c {
+public:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_McaMorf* mMorf;
@@ -31,5 +39,6 @@ struct obj_wflag_class : public fopAc_ac_c {
/* 0x836 */ s16 field_0x836;
/* 0x838 */ u32 field_0x838;
};
+STATIC_ASSERT(sizeof(obj_wflag_class) == 0x83C);
#endif /* D_A_OBJ_WFLAG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h b/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h
index 7c1d81d750..b955c9fb59 100644
--- a/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h
+++ b/include/rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h
@@ -4,6 +4,14 @@
#include "d/bg/d_bg_w.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daWindStone_c
+ * @brief Howling Stone (Hole)
+ *
+ * @details
+ *
+ */
class daWindStone_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80D37A18 */ daWindStone_c();
@@ -28,6 +36,7 @@ public:
u32 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
u32 getDelEveFlgId() { return fopAcM_GetParamBit(this, 0x10, 0x10); }
+private:
/* 0x574 */ cBgS_PolyInfo mPolyInfo;
/* 0x584 */ J3DModel* mpModel;
/* 0x588 */ dBgW* mpBgW;
@@ -36,5 +45,6 @@ public:
/* 0x5C0 */ u32 field_0x5c0;
/* 0x5C4 */ u8 field_0x5c4;
};
+STATIC_ASSERT(sizeof(daWindStone_c) == 0x5C8);
#endif /* D_A_OBJ_WIND_STONE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h b/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h
index 7608d00dfa..5450244bae 100644
--- a/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h
+++ b/include/rel/d/a/obj/d_a_obj_window/d_a_obj_window.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjWindow_c
+ * @brief Destructable Kakariko Village Window
+ *
+ * @details
+ *
+ */
class daObjWindow_c : public dBgS_MoveBgActor {
public:
/* 80D38758 */ void initBaseMtx();
@@ -19,6 +27,7 @@ public:
u8 getType() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getLightInf() { return fopAcM_GetParamBit(this, 8, 8); }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ mDoExt_bckAnm* mpBckAnm;
diff --git a/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h b/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h
index d2214e5d85..c409f378c8 100644
--- a/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h
+++ b/include/rel/d/a/obj/d_a_obj_wood_pendulum/d_a_obj_wood_pendulum.h
@@ -3,5 +3,42 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjWPndlm_c
+ * @brief Wooden Pendulum
+ *
+ * @details
+ *
+ */
+class daObjWPndlm_c : public fopAc_ac_c {
+public:
+public:
+ /* 80D39418 */ void initBaseMtx();
+ /* 80D39454 */ void setBaseMtx();
+ /* 80D394CC */ int Create();
+ /* 80D395C8 */ int CreateHeap();
+ /* 80D39638 */ int create();
+ /* 80D39978 */ int execute();
+ /* 80D39B68 */ int draw();
+ /* 80D39BCC */ int _delete();
+
+ u32 getArg0() { return fopAcM_GetParamBit(this, 0, 8); }
+ u32 getArg1() { return fopAcM_GetParamBit(this, 8, 8); }
+
+private:
+ /* 0x568 */ request_of_phase_process_class mPhaseReq;
+ /* 0x570 */ J3DModel* mpModel;
+ /* 0x574 */ dCcD_Stts mStts;
+ /* 0x5B0 */ dCcD_Sph mSph;
+ /* 0x6E8 */ dCcD_Sph field_0x6e8[2];
+ /* 0x958 */ s16 field_0x958;
+ /* 0x95A */ s16 field_0x95a;
+ /* 0x95C */ s16 field_0x95c;
+};
+STATIC_ASSERT(sizeof(daObjWPndlm_c) == 0x960);
+
#endif /* D_A_OBJ_WOOD_PENDULUM_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h b/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h
index ff3eee1d44..63b02e5434 100644
--- a/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h
+++ b/include/rel/d/a/obj/d_a_obj_wood_statue/d_a_obj_wood_statue.h
@@ -1,5 +1,45 @@
#ifndef D_A_OBJ_WOOD_STATUE_H
#define D_A_OBJ_WOOD_STATUE_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjWStatue_c
+ * @brief Wooden Statue
+ *
+ * @details
+ *
+ */
+class daObjWStatue_c : public fopAc_ac_c {
+public:
+ /* 80D3A268 */ void initBaseMtx();
+ /* 80D3A2A4 */ void setBaseMtx();
+ /* 80D3A2F0 */ void Create();
+ /* 80D3A474 */ bool __CreateHeap();
+ /* 80D3A47C */ void create();
+ /* 80D3A8E8 */ void bg_check();
+ /* 80D3AA3C */ void actionWaitInit();
+ /* 80D3AA80 */ void actionWait();
+ /* 80D3AB9C */ void initActionOrderGetDemo();
+ /* 80D3AC64 */ void actionOrderGetDemo();
+ /* 80D3ACAC */ void actionGetDemo();
+ /* 80D3AD30 */ void actionInitSwOnWait();
+ /* 80D3AD88 */ void actionSwOnWait();
+ /* 80D3AE7C */ void actionInitBoomerangCarry();
+ /* 80D3AF5C */ void actionBoomerangCarry();
+ /* 80D3AFC0 */ void demoProc();
+ /* 80D3B164 */ void effectSet();
+ /* 80D3B250 */ void effectStop();
+ /* 80D3B2A0 */ void execute();
+ /* 80D3B428 */ void draw();
+ /* 80D3B47C */ void setListStart();
+ /* 80D3B480 */ void _delete();
+
+private:
+ /* 0x568 */ u8 field_0x568[0x974 - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjWStatue_c) == 0x974);
+
#endif /* D_A_OBJ_WOOD_STATUE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h b/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h
index fb6f1d6383..fc07623fa5 100644
--- a/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h
+++ b/include/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h
@@ -6,6 +6,14 @@
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjWSword_c
+ * @brief Wooden Sword
+ *
+ * @details
+ *
+ */
class daObjWSword_c : public fopAc_ac_c {
public:
/* 80D3B998 */ void initBaseMtx();
@@ -17,6 +25,7 @@ public:
/* 80D3BDF0 */ int draw();
/* 80D3BE54 */ int _delete();
+private:
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_ObjAcch mAcch;
diff --git a/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h b/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h
index 8447ccbd4d..e0e24cf389 100644
--- a/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h
+++ b/include/rel/d/a/obj/d_a_obj_yel_bag/d_a_obj_yel_bag.h
@@ -1,6 +1,52 @@
#ifndef D_A_OBJ_YEL_BAG_H
#define D_A_OBJ_YEL_BAG_H
-#include "dolphin/types.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObj_YBag_c
+ * @brief Ilia's Bag
+ *
+ * @details
+ *
+ */
+class daObj_YBag_c : public fopAc_ac_c {
+public:
+ /* 80D3C0EC */ daObj_YBag_c();
+ /* 80D3C408 */ ~daObj_YBag_c();
+ /* 80D3C610 */ void create();
+ /* 80D3C898 */ void CreateHeap();
+ /* 80D3C93C */ void Delete();
+ /* 80D3C970 */ void Execute();
+ /* 80D3D32C */ void Draw();
+ /* 80D3D438 */ void createHeapCallBack(fopAc_ac_c*);
+ /* 80D3D458 */ bool getTypeFromParam();
+ /* 80D3D460 */ bool isDelete();
+ /* 80D3D468 */ void setEnvTevColor();
+ /* 80D3D4C4 */ void setRoomNo();
+ /* 80D3D508 */ void reset();
+ /* 80D3D5C8 */ void setMtx();
+ /* 80D3D69C */ void calcRollAngle(s16, int);
+ /* 80D3D73C */ void getWallAngle(s16, s16*);
+ /* 80D3D8CC */ void setSmokePrtcl();
+ /* 80D3D948 */ void setWaterPrtcl();
+ /* 80D3DA70 */ void setHamonPrtcl();
+
+ static u8 const mCcDObjInfo[48];
+ static u8 mCcDCyl[68];
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa3c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObj_YBag_c) == 0xa3c);
+
+class daObj_YBag_Param_c {
+public:
+ /* 80D3DC20 */ ~daObj_YBag_Param_c();
+
+ static u8 const m[44];
+};
+
#endif /* D_A_OBJ_YEL_BAG_H */
diff --git a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h
index 4a4159a352..2e04b3642b 100644
--- a/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h
+++ b/include/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h
@@ -4,6 +4,14 @@
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjYobikusa_c
+ * @brief Hawk Grass
+ *
+ * @details
+ *
+ */
class daObjYobikusa_c : public fopAc_ac_c {
public:
enum Mode_e {
diff --git a/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h b/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h
index dc8e143913..acc6a225e7 100644
--- a/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h
+++ b/include/rel/d/a/obj/d_a_obj_yousei/d_a_obj_yousei.h
@@ -1,5 +1,42 @@
#ifndef D_A_OBJ_YOUSEI_H
#define D_A_OBJ_YOUSEI_H
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daObjYOUSEI_c
+ * @brief Fairy
+ *
+ * @details
+ *
+ */
+class daObjYOUSEI_c : public fopAc_ac_c {
+public:
+ /* 804CE738 */ void InitCcSph();
+ /* 804CE7A4 */ void SetCcSph();
+ /* 804CE920 */ void SpeedSet();
+ /* 804CE9D0 */ void MoveAction();
+ /* 804CEE50 */ void BinAction();
+ /* 804CF098 */ void LinkChk();
+ /* 804CF6C4 */ void WaitAction();
+ /* 804CFCE8 */ void LinkAction();
+ /* 804D057C */ void LinkSearch();
+ /* 804D065C */ void WayBgCheck(f32, f32, s16);
+ /* 804D0780 */ void CareAction();
+ /* 804D080C */ void CheckGround();
+ /* 804D0988 */ void CheckWater();
+ /* 804D0AD0 */ void Action();
+ /* 804D0CCC */ void ObjHit();
+ /* 804D0DF0 */ void Execute();
+ /* 804D0F98 */ void Delete();
+ /* 804D0FCC */ void setBaseMtx();
+ /* 804D111C */ void create();
+
+private:
+ /* 0x568 */ u8 field_0x568[0xa4c - 0x568];
+};
+STATIC_ASSERT(sizeof(daObjYOUSEI_c) == 0xa4c);
+
#endif /* D_A_OBJ_YOUSEI_H */
diff --git a/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h b/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h
index 6f6e3ae786..947eafef51 100644
--- a/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h
+++ b/include/rel/d/a/obj/d_a_obj_ystone/d_a_obj_ystone.h
@@ -4,6 +4,14 @@
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class obj_ystone_class
+ * @brief ??? (Shadow Stone?)
+ *
+ * @details
+ *
+ */
class obj_ystone_class : public fopAc_ac_c {
public:
void setCurrentPos(cXyz i_pos) {
@@ -49,5 +57,6 @@ public:
/* 0x59B */ bool field_0x59b;
/* 0x59C */ u8 field_0x59c[4];
};
+STATIC_ASSERT(sizeof(obj_ystone_class) == 0x5A0);
#endif /* D_A_OBJ_YSTONE_H */
diff --git a/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h b/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h
index 2b91b6ccdf..fea64fd82f 100644
--- a/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h
+++ b/include/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h
@@ -3,6 +3,14 @@
#include "d/a/d_a_itembase.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjZCloth_c
+ * @brief Zora Armor?
+ *
+ * @details
+ *
+ */
class daObjZCloth_c : public daItemBase_c {
public:
/* 80D3EE18 */ void initBaseMtx();
@@ -12,6 +20,7 @@ public:
/* 80D3F1AC */ int execute();
/* 80D3F1D0 */ int draw();
/* 80D3F200 */ int _delete();
-}; // Size: 0x92C
+};
+STATIC_ASSERT(sizeof(daObjZCloth_c) == 0x92C);
#endif /* D_A_OBJ_ZCLOTH_H */
diff --git a/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h b/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h
index 68fef55917..426884370a 100644
--- a/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h
+++ b/include/rel/d/a/obj/d_a_obj_zdoor/d_a_obj_zdoor.h
@@ -4,5 +4,43 @@
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
+#include "f_op/f_op_actor_mng.h"
+
+/**
+ * @ingroup actors-objects
+ * @class daZdoor_c
+ * @brief Zelda Door
+ *
+ * @details
+ *
+ */
+class daZdoor_c : public dBgS_MoveBgActor {
+public:
+ /* 80D3F65C */ void init_cyl();
+ /* 80D3F740 */ void set_cyl();
+ /* 80D3F884 */ void setBaseMtx();
+ /* 80D3F8F8 */ int Create();
+ /* 80D3F970 */ int CreateHeap();
+ /* 80D3F9F0 */ int create1st();
+ /* 80D3FACC */ int Execute(Mtx**);
+ /* 80D3FCE8 */ int Draw();
+ /* 80D3FD8C */ int Delete();
+
+ u32 getType() { return fopAcM_GetParamBit(this, 0, 4); }
+
+private:
+ /* 0x5A0 */ request_of_phase_process_class mPhaseReq;
+ /* 0x5A8 */ J3DModel* mpModel;
+ /* 0x5AC */ dBgS_ObjAcch mObjAcch;
+ /* 0x784 */ dBgS_AcchCir mAcchCir;
+ /* 0x7C4 */ dCcD_Stts mStts;
+ /* 0x800 */ dCcD_Cyl field_0x800[4];
+ /* 0xCF0 */ dCcD_Cyl field_0xcf0;
+ /* 0xE2C */ s16 field_0xe2c;
+ /* 0xE2E */ s16 field_0xe2e;
+ /* 0xE30 */ u8 field_0xe30;
+};
+STATIC_ASSERT(sizeof(daZdoor_c) == 0xE34);
+
#endif /* D_A_OBJ_ZDOOR_H */
diff --git a/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h b/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h
index 6699964bf2..2def7221c6 100644
--- a/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h
+++ b/include/rel/d/a/obj/d_a_obj_zrTurara/d_a_obj_zrTurara.h
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "d/bg/d_bg_s_movebg_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daZrTurara_c
+ * @brief Zora Drop
+ *
+ * @details
+ *
+ */
class daZrTurara_c : public dBgS_MoveBgActor {
public:
/* 80D405E4 */ void setBaseMtx();
@@ -21,6 +29,7 @@ public:
/* 80D412B0 */ int Draw();
/* 80D41380 */ int Delete();
+private:
/* 0x5A0 */ dCcD_Stts mCcStatus;
/* 0x5DC */ dCcD_Cyl mCcCyl;
/* 0x718 */ request_of_phase_process_class mPhaseReq;
@@ -36,6 +45,7 @@ public:
/* 0x764 */ u32 mParticleKey;
/* 0x768 */ u8 mDebrisCount;
+public:
u8 getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getScale() { return fopAcM_GetParamBit(this, 0x10, 8); }
diff --git a/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h b/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h
index f4671583a3..c9871c893a 100644
--- a/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h
+++ b/include/rel/d/a/obj/d_a_obj_zrTuraraRock/d_a_obj_zrTuraraRock.h
@@ -6,6 +6,14 @@
#include "d/cc/d_cc_d.h"
#include "d/bg/d_bg_s_acch.h"
+/**
+ * @ingroup actors-objects
+ * @class daZrTuraRc_c
+ * @brief Zora Drop Rock
+ *
+ * @details
+ *
+ */
class daZrTuraRc_c : public fopAc_ac_c {
public:
/* 80D41934 */ void setBaseMtx();
@@ -22,6 +30,7 @@ public:
/* 80D42160 */ int Draw();
/* 80D421C4 */ int Delete();
+private:
/* 0x568 */ dCcD_Stts mCcStatus;
/* 0x5A4 */ dCcD_Sph mCcSph;
/* 0x6DC */ request_of_phase_process_class mPhaseReq;
@@ -33,6 +42,7 @@ public:
/* 0x740 */ dBgS_ObjAcch mAcch;
/* 0x918 */ Z2SoundObjSimple mSound;
+public:
u8 getScale() { return fopAcM_GetParamBit(this, 0, 8); }
static dCcD_SrcGObjInf const mCcDObjInfo;
diff --git a/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h b/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h
index 0ad5de021f..0b5ca0ca3e 100644
--- a/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h
+++ b/include/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h
@@ -3,6 +3,14 @@
#include "f_op/f_op_actor_mng.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjZraMark_c
+ * @brief Zora Mark
+ *
+ * @details
+ *
+ */
class daObjZraMark_c : public fopAc_ac_c {
public:
/* 80D42678 */ void Create();
@@ -19,6 +27,29 @@ public:
/* 80D43370 */ void informBlast();
u8 getMarkNo() { return fopAcM_GetParam(this) & 0xff; }
+private:
+ /* 0x568 */ u8 field_0x568[0x3e40 - 0x568];
};
+STATIC_ASSERT(sizeof(daObjZraMark_c) == 0x3e40);
+
+class _ZraMark_Hahen_c : public fopAc_ac_c {
+public:
+ /* 80D4347C */ void create(cXyz const&, s8, s8, s8, s8);
+ /* 80D434F8 */ void loadModel();
+ /* 80D4357C */ void init(cXyz const&, s8, s8, s8);
+ /* 80D43808 */ void calcSpeed();
+ /* 80D43864 */ void setMtx();
+ /* 80D438C8 */ void draw();
+ /* 80D43B48 */ ~_ZraMark_Hahen_c();
+ /* 80D43BB4 */ _ZraMark_Hahen_c();
+};
+
+class _ZraMark_Hahen_Mng_c : public fopAc_ac_c {
+public:
+ /* 80D43968 */ void create(cXyz const&, s8, s8, s8, s8);
+ /* 80D439F8 */ void calc();
+ /* 80D43A74 */ void draw();
+};
+
#endif /* D_A_OBJ_ZRAMARK_H */
diff --git a/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h b/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h
index c8ddcede03..42430e2c1e 100644
--- a/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h
+++ b/include/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze.h
@@ -4,6 +4,14 @@
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daZraFreeze_c
+ * @brief Zora (Frozen)
+ *
+ * @details
+ *
+ */
class daZraFreeze_c : public fopAc_ac_c {
public:
/* 80D440B8 */ void setBaseMtx();
diff --git a/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h b/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h
index a601f3ad07..f6669e0981 100644
--- a/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h
+++ b/include/rel/d/a/obj/d_a_obj_zra_rock/d_a_obj_zra_rock.h
@@ -5,6 +5,14 @@
#include "d/bg/d_bg_s_acch.h"
#include "d/bg/d_bg_s_movebg_actor.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjZraRock_c
+ * @brief Zora Rock
+ *
+ * @details
+ *
+ */
class daObjZraRock_c : public dBgS_MoveBgActor {
public:
/* 80D44CB8 */ void setAttnPos();
@@ -20,6 +28,7 @@ public:
void setDemoStart() { mDemoStart = 1; }
+private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModelXlu;
/* 0x5AC */ J3DModel* mpModelOpa;
diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h
index bfebede574..728a995a9f 100644
--- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h
+++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h
@@ -6,6 +6,14 @@
class daObjMirror6Pole_c;
typedef void (daObjMirror6Pole_c::*actionFunc)();
+/**
+ * @ingroup actors-objects
+ * @class daObjMirror6Pole_c
+ * @brief Twilight Mirror Pole
+ *
+ * @details
+ *
+ */
class daObjMirror6Pole_c : public fopAc_ac_c {
public:
enum Mode_e {
@@ -53,11 +61,13 @@ public:
static actionFunc ActionTable[][2];
+private:
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ mDoExt_bckAnm* mpBck;
/* 0x570 */ request_of_phase_process_class mPhase;
/* 0x578 */ actionFunc* mAction;
/* 0x57C */ Mode_e mMode;
};
+STATIC_ASSERT(sizeof(daObjMirror6Pole_c) == 0x580);
#endif /* D_A_OBJ_MIRROR_6POLE_H */
diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h
index 0fa920bc6a..9ee242dd1c 100644
--- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h
+++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h
@@ -5,6 +5,7 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
+
class dScissorBegin_packet_c : public J3DPacket {
public:
/* 80C96698 */ void draw();
@@ -24,6 +25,14 @@ public:
void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); }
};
+/**
+ * @ingroup actors-objects
+ * @class daObjMirrorChain_c
+ * @brief Twilight Mirror Chain
+ *
+ * @details
+ *
+ */
class daObjMirrorChain_c : public fopAc_ac_c {
public:
/* 80C96E40 */ int createHeap();
@@ -38,6 +47,7 @@ public:
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
void setAnmSpeed(f32 speed) { mpBckAnm->setPlaySpeed(speed); }
+private:
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ J3DModel* mpPortalModel;
/* 0x570 */ mDoExt_bckAnm* mpBckAnm;
diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h
index 51b11520b7..c572818733 100644
--- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h
+++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h
@@ -4,6 +4,14 @@
#include "d/com/d_com_inf_game.h"
#include "d/bg/d_bg_w.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjMirrorSand_c
+ * @brief Twilight Mirror Sand
+ *
+ * @details
+ *
+ */
class daObjMirrorSand_c : public fopAc_ac_c {
public:
/* 80C98508 */ void initBaseMtx();
@@ -27,6 +35,7 @@ public:
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
}
+private:
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ mDoExt_bckAnm* mpBck;
/* 0x570 */ request_of_phase_process_class mPhase;
@@ -34,5 +43,6 @@ public:
/* 0x57C */ dBgW mBgw[2];
/* 0x6FC */ Mtx mBgMtx;
};
+STATIC_ASSERT(sizeof(daObjMirrorSand_c) == 0x72C);
#endif /* D_A_OBJ_MIRROR_SAND_H */
diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h
index e76c97da27..3e3bfb4931 100644
--- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h
+++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h
@@ -11,6 +11,14 @@
class daObjMirrorScrew_c;
typedef void (daObjMirrorScrew_c::*daObjMirrorScrew_actionFunc)();
+/**
+ * @ingroup actors-objects
+ * @class daObjMirrorScrew_c
+ * @brief Twilight Mirror Screw
+ *
+ * @details
+ *
+ */
class daObjMirrorScrew_c : public dBgS_MoveBgActor {
public:
struct attr {
@@ -57,6 +65,7 @@ public:
(this->*mpActionFunc[1])();
}
+private:
/* 0x5A0 */ J3DModel* mpModel;
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
/* 0x5AC */ daObjMirrorScrew_actionFunc* mpActionFunc;
diff --git a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h
index c4020422d6..a8c8e8fd6e 100644
--- a/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h
+++ b/include/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h
@@ -4,6 +4,14 @@
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
+/**
+ * @ingroup actors-objects
+ * @class daObjMirrorTable_c
+ * @brief Twilight Mirror Table
+ *
+ * @details
+ *
+ */
class daObjMirrorTable_c : public fopAc_ac_c {
public:
/* 80C99938 */ int createHeap();
diff --git a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h
index 1ea30c0d8f..7a4a924e6a 100644
--- a/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h
+++ b/include/rel/d/a/tag/d_a_tag_yami/d_a_tag_yami.h
@@ -2,7 +2,6 @@
#define D_A_TAG_YAMI_H
#include "d/cc/d_cc_d.h"
-#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagYami_c : public fopAc_ac_c {
@@ -35,6 +34,7 @@ public:
void setCoR(f32 i_value) { mCoR = i_value; }
void setCoH(f32 i_value) { mCoH = i_value; }
+private:
/* 0x568 */ dCcD_Cyl mCyl;
/* 0x6A4 */ dCcD_Stts mStts;
/* 0x6E0 */ u8 mCoHitValid;