diff --git a/config/D44J01/config.yml b/config/D44J01/config.yml index 1e3b2f44b..3b33821c7 100644 --- a/config/D44J01/config.yml +++ b/config/D44J01/config.yml @@ -12,252 +12,301 @@ mw_comment_version: 10 # GC Linker 1.3.2 symbols_known: true # Very fast analysis fill_gaps: false # Alignments known +block_relocations: +- source: .sdata:0x803ea064 +add_relocations: +- source: .sdata:0x803ea064 + type: abs + target: buffer__14mDoMtx_stack_c + addend: 0x300 + modules: - object: files/RELS.arc:mmem/f_pc_profile_lst.rel hash: 56ab98c92068484bdddcd0621bee778e462ffecd splits: config/D44J01/rels/f_pc_profile_lst/splits.txt symbols: config/D44J01/rels/f_pc_profile_lst/symbols.txt # map: orig/D44J01/files/maps/f_pc_profile_lst.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_agbsw0.rel hash: 8e55ec80c2852b71fd7fffdb5244687aec783f83 splits: config/D44J01/rels/d_a_agbsw0/splits.txt symbols: config/D44J01/rels/d_a_agbsw0/symbols.txt # map: orig/D44J01/files/maps/d_a_agbsw0.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_andsw0.rel hash: 7b8d75040c6c0fc7872c6904d4b43f841bcc5a86 splits: config/D44J01/rels/d_a_andsw0/splits.txt symbols: config/D44J01/rels/d_a_andsw0/symbols.txt # map: orig/D44J01/files/maps/d_a_andsw0.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_andsw2.rel hash: 6c5685fa3a4cceb7a7e9b110cde2df1e0051da98 splits: config/D44J01/rels/d_a_andsw2/splits.txt symbols: config/D44J01/rels/d_a_andsw2/symbols.txt # map: orig/D44J01/files/maps/d_a_andsw2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_att.rel hash: c11ee4ed816a4bb327560f6913e7284d70da9b25 splits: config/D44J01/rels/d_a_att/splits.txt symbols: config/D44J01/rels/d_a_att/symbols.txt # map: orig/D44J01/files/maps/d_a_att.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_bflower.rel hash: c6cbdd41d8210cbe8a4a24c8d4c0f04666e74fb7 splits: config/D44J01/rels/d_a_bflower/splits.txt symbols: config/D44J01/rels/d_a_bflower/symbols.txt # map: orig/D44J01/files/maps/d_a_bflower.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_bita.rel hash: 02c6debce5ae0ad79d456c5610863f6859c18704 splits: config/D44J01/rels/d_a_bita/splits.txt symbols: config/D44J01/rels/d_a_bita/symbols.txt # map: orig/D44J01/files/maps/d_a_bita.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_branch.rel hash: fd2648099e4de8cdce412eaa9775e47db590c8ba splits: config/D44J01/rels/d_a_branch/splits.txt symbols: config/D44J01/rels/d_a_branch/symbols.txt # map: orig/D44J01/files/maps/d_a_branch.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_bridge.rel hash: 83b963e1b4e7824863544ce68af1d38273a6a08d splits: config/D44J01/rels/d_a_bridge/splits.txt symbols: config/D44J01/rels/d_a_bridge/symbols.txt # map: orig/D44J01/files/maps/d_a_bridge.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_coming2.rel hash: 58a511da650ee1862d3edc5d5e52565fbf15cca9 splits: config/D44J01/rels/d_a_coming2/splits.txt symbols: config/D44J01/rels/d_a_coming2/symbols.txt # map: orig/D44J01/files/maps/d_a_coming2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_coming3.rel hash: a3fac00b19cdf6630379d1659c75c4cd155d30a6 splits: config/D44J01/rels/d_a_coming3/splits.txt symbols: config/D44J01/rels/d_a_coming3/symbols.txt # map: orig/D44J01/files/maps/d_a_coming3.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_demo_dk.rel hash: 3922e73059ba21e3881632238f6cdb6d4ef83758 splits: config/D44J01/rels/d_a_demo_dk/splits.txt symbols: config/D44J01/rels/d_a_demo_dk/symbols.txt # map: orig/D44J01/files/maps/d_a_demo_dk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_demo_kmm.rel hash: cc5d09a55638698cba19a0e657d5afa5647b0163 splits: config/D44J01/rels/d_a_demo_kmm/splits.txt symbols: config/D44J01/rels/d_a_demo_kmm/symbols.txt # map: orig/D44J01/files/maps/d_a_demo_kmm.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_door10.rel hash: 4a9a64979df7fd05f124056bfdc2d9366e57b1af splits: config/D44J01/rels/d_a_door10/splits.txt symbols: config/D44J01/rels/d_a_door10/symbols.txt # map: orig/D44J01/files/maps/d_a_door10.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_dr.rel hash: e32ac1faf4dc23e3ddda9dd3f8cb9d54466dc71e splits: config/D44J01/rels/d_a_dr/splits.txt symbols: config/D44J01/rels/d_a_dr/symbols.txt # map: orig/D44J01/files/maps/d_a_dr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_dr2.rel hash: 63e27e32df5f070bd754490a45c9754fc45fbb87 splits: config/D44J01/rels/d_a_dr2/splits.txt symbols: config/D44J01/rels/d_a_dr2/symbols.txt # map: orig/D44J01/files/maps/d_a_dr2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_ep.rel hash: 8d1ec7a90f7bcccdd17d9e8a4a252e477f980b61 splits: config/D44J01/rels/d_a_ep/splits.txt symbols: config/D44J01/rels/d_a_ep/symbols.txt # map: orig/D44J01/files/maps/d_a_ep.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_floor.rel hash: a284c629b440fd0adc0423ad3d491d9a1cab4ced splits: config/D44J01/rels/d_a_floor/splits.txt symbols: config/D44J01/rels/d_a_floor/symbols.txt # map: orig/D44J01/files/maps/d_a_floor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_grass.rel hash: f00c5b2807200f0063df271e48b8df0c7d7f92c1 splits: config/D44J01/rels/d_a_grass/splits.txt symbols: config/D44J01/rels/d_a_grass/symbols.txt # map: orig/D44J01/files/maps/d_a_grass.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_hitobj.rel hash: a8e99fb8068ea2ce7ed36185d8ddaed09ec3d4f6 splits: config/D44J01/rels/d_a_hitobj/splits.txt symbols: config/D44J01/rels/d_a_hitobj/symbols.txt # map: orig/D44J01/files/maps/d_a_hitobj.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_hot_floor.rel hash: 3cee6cdaf3c7234dc8626ad85d624f143784bc77 splits: config/D44J01/rels/d_a_hot_floor/splits.txt symbols: config/D44J01/rels/d_a_hot_floor/symbols.txt # map: orig/D44J01/files/maps/d_a_hot_floor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_ikari.rel hash: e20801e35a95f317ae11b521e51307fb4db70ab5 splits: config/D44J01/rels/d_a_ikari/splits.txt symbols: config/D44J01/rels/d_a_ikari/symbols.txt # map: orig/D44J01/files/maps/d_a_ikari.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_jbo.rel hash: 248eb7953339b0719e7b170b5efbeecd0fc521d4 splits: config/D44J01/rels/d_a_jbo/splits.txt symbols: config/D44J01/rels/d_a_jbo/symbols.txt # map: orig/D44J01/files/maps/d_a_jbo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kaji.rel hash: 026c1e8c0d285bf7048787eb88f18645748ec726 splits: config/D44J01/rels/d_a_kaji/splits.txt symbols: config/D44J01/rels/d_a_kaji/symbols.txt # map: orig/D44J01/files/maps/d_a_kaji.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kanban.rel hash: 4669d811f1bba4bad536085e6dcc0cddc012494a splits: config/D44J01/rels/d_a_kanban/splits.txt symbols: config/D44J01/rels/d_a_kanban/symbols.txt # map: orig/D44J01/files/maps/d_a_kanban.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_ki.rel hash: 257f68468713a12216bce089a5b3227f74c79de3 splits: config/D44J01/rels/d_a_ki/splits.txt symbols: config/D44J01/rels/d_a_ki/symbols.txt # map: orig/D44J01/files/maps/d_a_ki.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_knob00.rel hash: 292894b665938693781c33646425e952f1bbfed9 splits: config/D44J01/rels/d_a_knob00/splits.txt symbols: config/D44J01/rels/d_a_knob00/symbols.txt # map: orig/D44J01/files/maps/d_a_knob00.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kui.rel hash: a4d6fcc30912901e08c3edfbbbced2df8e08e739 splits: config/D44J01/rels/d_a_kui/splits.txt symbols: config/D44J01/rels/d_a_kui/symbols.txt # map: orig/D44J01/files/maps/d_a_kui.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag00.rel hash: b64cf8fbbe2c98ce53effebd3d280ff568b511e9 splits: config/D44J01/rels/d_a_kytag00/splits.txt symbols: config/D44J01/rels/d_a_kytag00/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag00.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag01.rel hash: e0d64cd4f2af282f70599921bacf1af42efe70bb splits: config/D44J01/rels/d_a_kytag01/splits.txt symbols: config/D44J01/rels/d_a_kytag01/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag01.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag02.rel hash: cb0e1ac697916833cc0b0eaacb074e8861853f0a splits: config/D44J01/rels/d_a_kytag02/splits.txt symbols: config/D44J01/rels/d_a_kytag02/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag02.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag03.rel hash: 64a93dc8ca982865e10919dd481c4d1fe6b7097d splits: config/D44J01/rels/d_a_kytag03/splits.txt symbols: config/D44J01/rels/d_a_kytag03/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag03.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag04.rel hash: 262f2d1f3a302cde7cfc22c963c8cb0d55912b53 splits: config/D44J01/rels/d_a_kytag04/splits.txt symbols: config/D44J01/rels/d_a_kytag04/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag04.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag05.rel hash: 96d08f915950e65dfad588ab8b9cb54d751fa5e6 splits: config/D44J01/rels/d_a_kytag05/splits.txt symbols: config/D44J01/rels/d_a_kytag05/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag05.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag06.rel hash: fe9aa0f932b84679bad52599d0bb88970219135b splits: config/D44J01/rels/d_a_kytag06/splits.txt symbols: config/D44J01/rels/d_a_kytag06/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag06.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_kytag07.rel hash: 3041ecda3cc9e9d8ac7d8ca5060b84f6f4abac7d splits: config/D44J01/rels/d_a_kytag07/splits.txt symbols: config/D44J01/rels/d_a_kytag07/symbols.txt # map: orig/D44J01/files/maps/d_a_kytag07.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_lamp.rel hash: 2d09339eedccfa070129e3c1a5a1f46491709718 splits: config/D44J01/rels/d_a_lamp/splits.txt symbols: config/D44J01/rels/d_a_lamp/symbols.txt # map: orig/D44J01/files/maps/d_a_lamp.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_lod_bg.rel hash: 229267adf6b5504f22768e4c516c2d35323eb094 splits: config/D44J01/rels/d_a_lod_bg/splits.txt symbols: config/D44J01/rels/d_a_lod_bg/symbols.txt # map: orig/D44J01/files/maps/d_a_lod_bg.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_lwood.rel hash: 70f55f03e7e042cb4b5556a0e5c9ef16e09ce37a splits: config/D44J01/rels/d_a_lwood/splits.txt symbols: config/D44J01/rels/d_a_lwood/symbols.txt # map: orig/D44J01/files/maps/d_a_lwood.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_magma.rel hash: 467c61d6eb5320d96bc17eb0fab151eee2d04b48 splits: config/D44J01/rels/d_a_magma/splits.txt symbols: config/D44J01/rels/d_a_magma/symbols.txt # map: orig/D44J01/files/maps/d_a_magma.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_majuu_flag.rel hash: 534730d7202a3743879d083deefe74a2fc98e7a4 splits: config/D44J01/rels/d_a_majuu_flag/splits.txt symbols: config/D44J01/rels/d_a_majuu_flag/symbols.txt # map: orig/D44J01/files/maps/d_a_majuu_flag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_flag02TEX binary: assets/l_flag02TEX.bin @@ -274,264 +323,308 @@ modules: splits: config/D44J01/rels/d_a_mdoor/splits.txt symbols: config/D44J01/rels/d_a_mdoor/symbols.txt # map: orig/D44J01/files/maps/d_a_mdoor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_msw.rel hash: 81e5b131dd08f5190e36b79cb5baaa37d3bc79c3 splits: config/D44J01/rels/d_a_msw/splits.txt symbols: config/D44J01/rels/d_a_msw/symbols.txt # map: orig/D44J01/files/maps/d_a_msw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_mtoge.rel hash: cfd2a34026771c6cc8303728e78378b67a9ff39f splits: config/D44J01/rels/d_a_mtoge/splits.txt symbols: config/D44J01/rels/d_a_mtoge/symbols.txt # map: orig/D44J01/files/maps/d_a_mtoge.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_AjavW.rel hash: 65914d110dfff08d8fcc8494d130a469706de69a splits: config/D44J01/rels/d_a_obj_AjavW/splits.txt symbols: config/D44J01/rels/d_a_obj_AjavW/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_AjavW.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_akabe.rel hash: 9e612e935b8b35355e5cbdfd0107e82438c40e1c splits: config/D44J01/rels/d_a_obj_akabe/splits.txt symbols: config/D44J01/rels/d_a_obj_akabe/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_akabe.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_barrel.rel hash: 6ea922965a5076dca244e4789d70857dfca9963b splits: config/D44J01/rels/d_a_obj_barrel/splits.txt symbols: config/D44J01/rels/d_a_obj_barrel/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_barrel.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_barrel2.rel hash: a0d66871e8fe481a9ee728fc7edba3750567620d splits: config/D44J01/rels/d_a_obj_barrel2/splits.txt symbols: config/D44J01/rels/d_a_obj_barrel2/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_barrel2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_bscurtain.rel hash: 84eefe6ea276bdf8239c0b2d933104dc9d562c2a splits: config/D44J01/rels/d_a_obj_bscurtain/splits.txt symbols: config/D44J01/rels/d_a_obj_bscurtain/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_bscurtain.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_cafelmp.rel hash: 050fe40230d98fe8f8d27b583b777198c0881ce0 splits: config/D44J01/rels/d_a_obj_cafelmp/splits.txt symbols: config/D44J01/rels/d_a_obj_cafelmp/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_cafelmp.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_coming.rel hash: e147ec8fd5dc42f0feaa10acccde3dd5acb936c1 splits: config/D44J01/rels/d_a_obj_coming/splits.txt symbols: config/D44J01/rels/d_a_obj_coming/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_coming.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_demo_barrel.rel hash: 1a725859052ce9047484c4984470dc07756f0c67 splits: config/D44J01/rels/d_a_obj_demo_barrel/splits.txt symbols: config/D44J01/rels/d_a_obj_demo_barrel/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_demo_barrel.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_doguu.rel hash: 1176212bb1a8f21265393b8404eb25180cd785cc splits: config/D44J01/rels/d_a_obj_doguu/splits.txt symbols: config/D44J01/rels/d_a_obj_doguu/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_doguu.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_doguu_demo.rel hash: 9997f1aaae6ea6cfebacd674d9b5cf9d044297b8 splits: config/D44J01/rels/d_a_obj_doguu_demo/splits.txt symbols: config/D44J01/rels/d_a_obj_doguu_demo/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_doguu_demo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_gryw00.rel hash: 33f908a726c9722c297dff1585ad7dbf574a83b1 splits: config/D44J01/rels/d_a_obj_gryw00/splits.txt symbols: config/D44J01/rels/d_a_obj_gryw00/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gryw00.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_hfuck1.rel hash: d05db302c0daab4982f72894475783273ec9b363 splits: config/D44J01/rels/d_a_obj_hfuck1/splits.txt symbols: config/D44J01/rels/d_a_obj_hfuck1/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hfuck1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_hole.rel hash: 10ffd733c3b0fd0daeb8aa56f736790312bc99cd splits: config/D44J01/rels/d_a_obj_hole/splits.txt symbols: config/D44J01/rels/d_a_obj_hole/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hole.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_ice.rel hash: 3913eb4faab20d4cb047db6db1b827a4ce0857f6 splits: config/D44J01/rels/d_a_obj_ice/splits.txt symbols: config/D44J01/rels/d_a_obj_ice/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ice.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_ikada.rel hash: c35943a5504422f22ebe47836f90610c83bf2b6c splits: config/D44J01/rels/d_a_obj_ikada/splits.txt symbols: config/D44J01/rels/d_a_obj_ikada/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ikada.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_kanat.rel hash: 3d565af84d9201c5be951f99cba36bb8c16c9d5f splits: config/D44J01/rels/d_a_obj_kanat/splits.txt symbols: config/D44J01/rels/d_a_obj_kanat/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_kanat.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_leaves.rel hash: be8e9c9f31e69651e740731425f76f6fed55a71e splits: config/D44J01/rels/d_a_obj_leaves/splits.txt symbols: config/D44J01/rels/d_a_obj_leaves/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_leaves.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_lpalm.rel hash: 32ea85dadb2cb059a9dd0244aac11698864a85b5 splits: config/D44J01/rels/d_a_obj_lpalm/splits.txt symbols: config/D44J01/rels/d_a_obj_lpalm/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_lpalm.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_monument.rel hash: 65bf1bd7e7909d3805103a9b7976a4da6427c5dd splits: config/D44J01/rels/d_a_obj_monument/splits.txt symbols: config/D44J01/rels/d_a_obj_monument/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_monument.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_movebox.rel hash: 3111a6e5cab7dc3bbe473168b5ae0cd071d38508 splits: config/D44J01/rels/d_a_obj_movebox/splits.txt symbols: config/D44J01/rels/d_a_obj_movebox/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_movebox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_mshokki.rel hash: 182bbf526792281c7a64125d574b14cd962847c0 splits: config/D44J01/rels/d_a_obj_mshokki/splits.txt symbols: config/D44J01/rels/d_a_obj_mshokki/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mshokki.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_ohatch.rel hash: 4d58d1a9d3dc88e94aa722919aa9cf62c43c3bfd splits: config/D44J01/rels/d_a_obj_ohatch/splits.txt symbols: config/D44J01/rels/d_a_obj_ohatch/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ohatch.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_otble.rel hash: 7b106df6c9ad1c79dc186f5eafbfc98dbb642ebe splits: config/D44J01/rels/d_a_obj_otble/splits.txt symbols: config/D44J01/rels/d_a_obj_otble/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_otble.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_pbco.rel hash: 1c818bbf733a9bb5dc43faef6eed324841dcb886 splits: config/D44J01/rels/d_a_obj_pbco/splits.txt symbols: config/D44J01/rels/d_a_obj_pbco/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_pbco.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_pirateship.rel hash: 4575d582679f6a7e7fa5a5508610e0f472465e9b splits: config/D44J01/rels/d_a_obj_pirateship/splits.txt symbols: config/D44J01/rels/d_a_obj_pirateship/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_pirateship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_quake.rel hash: 9c37c7573714bbf81289d5aa0b31a7bb1601fac4 splits: config/D44J01/rels/d_a_obj_quake/splits.txt symbols: config/D44J01/rels/d_a_obj_quake/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_quake.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_rcloud.rel hash: bf59fbc203a96694748f373210f3ce4dbe5b2ac7 splits: config/D44J01/rels/d_a_obj_rcloud/splits.txt symbols: config/D44J01/rels/d_a_obj_rcloud/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_rcloud.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_roten.rel hash: e4f461b8c67a4ed67ec650087d51e74a63e43a88 splits: config/D44J01/rels/d_a_obj_roten/splits.txt symbols: config/D44J01/rels/d_a_obj_roten/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_roten.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_shelf.rel hash: 037c4bebcdf1707a5c7523b56dfbf392e7d50000 splits: config/D44J01/rels/d_a_obj_shelf/splits.txt symbols: config/D44J01/rels/d_a_obj_shelf/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_shelf.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_shmrgrd.rel hash: 0ef0f667eb72748d26b3d0d4898bde3063587345 splits: config/D44J01/rels/d_a_obj_shmrgrd/splits.txt symbols: config/D44J01/rels/d_a_obj_shmrgrd/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_shmrgrd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_swpush.rel hash: 8451864c417c34bab3d514b2b3997be1ff98b2e7 splits: config/D44J01/rels/d_a_obj_swpush/splits.txt symbols: config/D44J01/rels/d_a_obj_swpush/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_swpush.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_table.rel hash: 974a023c2144a3acbb76edf12d1a777a6db9e84a splits: config/D44J01/rels/d_a_obj_table/splits.txt symbols: config/D44J01/rels/d_a_obj_table/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_table.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_tenmado.rel hash: 19718ba723c6a6c245519fd587c6f94fc1915513 splits: config/D44J01/rels/d_a_obj_tenmado/splits.txt symbols: config/D44J01/rels/d_a_obj_tenmado/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tenmado.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_tide.rel hash: 848d8220842e20cdcf6a9941c3410ebf24df5b93 splits: config/D44J01/rels/d_a_obj_tide/splits.txt symbols: config/D44J01/rels/d_a_obj_tide/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tide.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_timer.rel hash: 69b863c487adf9d64769b57130674569cebaeb5f splits: config/D44J01/rels/d_a_obj_timer/splits.txt symbols: config/D44J01/rels/d_a_obj_timer/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_timer.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_toripost.rel hash: 847195005b1d0074bf63c2df9f63fd1344722b3b splits: config/D44J01/rels/d_a_obj_toripost/splits.txt symbols: config/D44J01/rels/d_a_obj_toripost/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_toripost.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_tousekiki.rel hash: f1b11ab63628a2bfbdd181ef5b32b26f1be56c3d splits: config/D44J01/rels/d_a_obj_tousekiki/splits.txt symbols: config/D44J01/rels/d_a_obj_tousekiki/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tousekiki.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_warpt.rel hash: fb8d540d9bbaab4988bbb4033d10b274721d160c splits: config/D44J01/rels/d_a_obj_warpt/splits.txt symbols: config/D44J01/rels/d_a_obj_warpt/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_warpt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_wood.rel hash: 847fe76630054bf3d5a6b02ecf5757af4632d558 splits: config/D44J01/rels/d_a_obj_wood/splits.txt symbols: config/D44J01/rels/d_a_obj_wood/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_wood.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_obj_Ygush00.rel hash: 3803d6cccecb85cf049a914e88e8a4d59c0d9b52 splits: config/D44J01/rels/d_a_obj_Ygush00/splits.txt symbols: config/D44J01/rels/d_a_obj_Ygush00/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_Ygush00.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_pirate_flag.rel hash: c5bf381a7b8f4879aab251ab8c7242217b2cb441 splits: config/D44J01/rels/d_a_pirate_flag/splits.txt symbols: config/D44J01/rels/d_a_pirate_flag/symbols.txt # map: orig/D44J01/files/maps/d_a_pirate_flag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_pirate_flag_DL binary: assets/l_pirate_flag_DL.bin @@ -545,690 +638,805 @@ modules: splits: config/D44J01/rels/d_a_race_item/splits.txt symbols: config/D44J01/rels/d_a_race_item/symbols.txt # map: orig/D44J01/files/maps/d_a_race_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_rd.rel hash: 96383e192964f7ce2dc3216c8c6bfadd8272bd09 splits: config/D44J01/rels/d_a_rd/splits.txt symbols: config/D44J01/rels/d_a_rd/symbols.txt # map: orig/D44J01/files/maps/d_a_rd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_rectangle.rel hash: e55d4935911a6f50d61065944a6eb14f495fe4b1 splits: config/D44J01/rels/d_a_rectangle/splits.txt symbols: config/D44J01/rels/d_a_rectangle/symbols.txt # map: orig/D44J01/files/maps/d_a_rectangle.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_salvage.rel hash: 21468697e7676059ca327b7135169a2c5b061004 splits: config/D44J01/rels/d_a_salvage/splits.txt symbols: config/D44J01/rels/d_a_salvage/symbols.txt # map: orig/D44J01/files/maps/d_a_salvage.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_sbox.rel hash: 08e0fe6853c4909a848cb8db21cf47140207afe3 splits: config/D44J01/rels/d_a_sbox/splits.txt symbols: config/D44J01/rels/d_a_sbox/symbols.txt # map: orig/D44J01/files/maps/d_a_sbox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_sk.rel hash: 086cd25f9c7230a0a14e1358a8a1a597725144b2 splits: config/D44J01/rels/d_a_sk/splits.txt symbols: config/D44J01/rels/d_a_sk/symbols.txt # map: orig/D44J01/files/maps/d_a_sk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_sk2.rel hash: 6d8575bac744a95904448232306ec3f6c099bd71 splits: config/D44J01/rels/d_a_sk2/splits.txt symbols: config/D44J01/rels/d_a_sk2/symbols.txt # map: orig/D44J01/files/maps/d_a_sk2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_spotbox.rel hash: 94282a3dabaab0ed21c38bffe204cc1fca170238 splits: config/D44J01/rels/d_a_spotbox/splits.txt symbols: config/D44J01/rels/d_a_spotbox/symbols.txt # map: orig/D44J01/files/maps/d_a_spotbox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_ssk.rel hash: 14ca2f2e47532bac8c5e941538f2c3849379728e splits: config/D44J01/rels/d_a_ssk/splits.txt symbols: config/D44J01/rels/d_a_ssk/symbols.txt # map: orig/D44J01/files/maps/d_a_ssk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_stone.rel hash: 1da415c767503e80e493a4035f50586899e7da49 splits: config/D44J01/rels/d_a_stone/splits.txt symbols: config/D44J01/rels/d_a_stone/symbols.txt # map: orig/D44J01/files/maps/d_a_stone.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_stone2.rel hash: 3a47dadb1f5fe324fc999033c22335d459de02fb splits: config/D44J01/rels/d_a_stone2/splits.txt symbols: config/D44J01/rels/d_a_stone2/symbols.txt # map: orig/D44J01/files/maps/d_a_stone2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_swc00.rel hash: 4e28da6c9b3d1cee0e37fe8c8c224fe8644dfa88 splits: config/D44J01/rels/d_a_swc00/splits.txt symbols: config/D44J01/rels/d_a_swc00/symbols.txt # map: orig/D44J01/files/maps/d_a_swc00.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_swhit0.rel hash: e89486ec8fc8750ca2370fe0aca781f0f10f265d splits: config/D44J01/rels/d_a_swhit0/splits.txt symbols: config/D44J01/rels/d_a_swhit0/symbols.txt # map: orig/D44J01/files/maps/d_a_swhit0.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_swtdoor.rel hash: 5d2208b946fce2625141582c5a86b02cfe1a6a5b splits: config/D44J01/rels/d_a_swtdoor/splits.txt symbols: config/D44J01/rels/d_a_swtdoor/symbols.txt # map: orig/D44J01/files/maps/d_a_swtdoor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_attention.rel hash: 53a05aeb36bc88fc3a9610c6e12331484027d1b6 splits: config/D44J01/rels/d_a_tag_attention/splits.txt symbols: config/D44J01/rels/d_a_tag_attention/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_attention.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_ba1.rel hash: 28beebf8d9a715b9bfe7fefd0c3a68b340086283 splits: config/D44J01/rels/d_a_tag_ba1/splits.txt symbols: config/D44J01/rels/d_a_tag_ba1/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_ba1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_event.rel hash: bd1fc5db1aa048aad891609e3efa4d849f6f7752 splits: config/D44J01/rels/d_a_tag_event/splits.txt symbols: config/D44J01/rels/d_a_tag_event/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_event.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_evsw.rel hash: 6f33b99a6509f055857857c099242b1d110eb2d8 splits: config/D44J01/rels/d_a_tag_evsw/splits.txt symbols: config/D44J01/rels/d_a_tag_evsw/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_evsw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_ghostship.rel hash: ef32c63f6456ab8975534f707f89425b6acc175c splits: config/D44J01/rels/d_a_tag_ghostship/splits.txt symbols: config/D44J01/rels/d_a_tag_ghostship/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_ghostship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_hint.rel hash: 3f517ad257cba81f2673445ae7fba5c92805ee35 splits: config/D44J01/rels/d_a_tag_hint/splits.txt symbols: config/D44J01/rels/d_a_tag_hint/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_hint.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_kb_item.rel hash: 8b70038eee16ac4ddb2b06f57e1e1d153b9935be splits: config/D44J01/rels/d_a_tag_kb_item/splits.txt symbols: config/D44J01/rels/d_a_tag_kb_item/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_kb_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_kk1.rel hash: 31d0c30f5e838fa8f984961f4598cdd9a1055517 splits: config/D44J01/rels/d_a_tag_kk1/splits.txt symbols: config/D44J01/rels/d_a_tag_kk1/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_kk1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_light.rel hash: b74d804a7127cd5c235c13aa021fc8749ba22faa splits: config/D44J01/rels/d_a_tag_light/splits.txt symbols: config/D44J01/rels/d_a_tag_light/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_light.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_msg.rel hash: e1963f042fad7c82a6c745f68a73c3ccbd36dee1 splits: config/D44J01/rels/d_a_tag_msg/splits.txt symbols: config/D44J01/rels/d_a_tag_msg/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_msg.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_photo.rel hash: bdcfb1951f468d75fd534ee5e7e0c8aba9031f47 splits: config/D44J01/rels/d_a_tag_photo/splits.txt symbols: config/D44J01/rels/d_a_tag_photo/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_photo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tag_waterlevel.rel hash: 3fe814ffee5f318e841eefcb59c89d804747f469 splits: config/D44J01/rels/d_a_tag_waterlevel/splits.txt symbols: config/D44J01/rels/d_a_tag_waterlevel/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_waterlevel.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tama.rel hash: e551edd970cc809433c65080ff4770dd5c70f6cf splits: config/D44J01/rels/d_a_tama/splits.txt symbols: config/D44J01/rels/d_a_tama/symbols.txt # map: orig/D44J01/files/maps/d_a_tama.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tbox.rel hash: a76536bd2b5792926170d59dd7e6fe66b519794c splits: config/D44J01/rels/d_a_tbox/splits.txt symbols: config/D44J01/rels/d_a_tbox/symbols.txt # map: orig/D44J01/files/maps/d_a_tbox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tpota.rel hash: 07f0c746632f14c86ccedb8882a551af576ab81e splits: config/D44J01/rels/d_a_tpota/splits.txt symbols: config/D44J01/rels/d_a_tpota/symbols.txt # map: orig/D44J01/files/maps/d_a_tpota.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_tsubo.rel hash: 9fcc6819568561302c5f31b3d6637734e3742aaf splits: config/D44J01/rels/d_a_tsubo/splits.txt symbols: config/D44J01/rels/d_a_tsubo/symbols.txt # map: orig/D44J01/files/maps/d_a_tsubo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_warpdm20.rel hash: f652f5eaf225611dfce3f0a84802e4d2df4a9afa splits: config/D44J01/rels/d_a_warpdm20/splits.txt symbols: config/D44J01/rels/d_a_warpdm20/symbols.txt # map: orig/D44J01/files/maps/d_a_warpdm20.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_warphr.rel hash: 296898c1a4693a871aa1742f21cceaed363b7f10 splits: config/D44J01/rels/d_a_warphr/splits.txt symbols: config/D44J01/rels/d_a_warphr/symbols.txt # map: orig/D44J01/files/maps/d_a_warphr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_wbird.rel hash: 0243447a4d3665f611d7909fe2a0e5762b887b86 splits: config/D44J01/rels/d_a_wbird/splits.txt symbols: config/D44J01/rels/d_a_wbird/symbols.txt # map: orig/D44J01/files/maps/d_a_wbird.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:mmem/d_a_ykgr.rel hash: 9c72615e490eb452709e2e3e03116ac166144fca splits: config/D44J01/rels/d_a_ykgr/splits.txt symbols: config/D44J01/rels/d_a_ykgr/symbols.txt # map: orig/D44J01/files/maps/d_a_ykgr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_alldie.rel hash: 8e000c819c6291e6020bbb194fb82b97a44ba8d6 splits: config/D44J01/rels/d_a_alldie/splits.txt symbols: config/D44J01/rels/d_a_alldie/symbols.txt # map: orig/D44J01/files/maps/d_a_alldie.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_am.rel hash: 5c1fd20e3ed9ba3238ed4229d30deb32bb5a2eb4 splits: config/D44J01/rels/d_a_am/splits.txt symbols: config/D44J01/rels/d_a_am/symbols.txt # map: orig/D44J01/files/maps/d_a_am.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_am2.rel hash: a30c747c45513a3829bb5bfb82a13fd2d3db1b67 splits: config/D44J01/rels/d_a_am2/splits.txt symbols: config/D44J01/rels/d_a_am2/symbols.txt # map: orig/D44J01/files/maps/d_a_am2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_amiprop.rel hash: 6ea742931c6f8e2fcfc4ec2a51180322f460f338 splits: config/D44J01/rels/d_a_amiprop/splits.txt symbols: config/D44J01/rels/d_a_amiprop/symbols.txt # map: orig/D44J01/files/maps/d_a_amiprop.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_arrow_iceeff.rel hash: ce57a2a9fe8f240499959fb4e0bb806874acd0d3 splits: config/D44J01/rels/d_a_arrow_iceeff/splits.txt symbols: config/D44J01/rels/d_a_arrow_iceeff/symbols.txt # map: orig/D44J01/files/maps/d_a_arrow_iceeff.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_arrow_lighteff.rel hash: 310a899f0cae8d92bf016e46e5d21ca0f59c6b02 splits: config/D44J01/rels/d_a_arrow_lighteff/splits.txt symbols: config/D44J01/rels/d_a_arrow_lighteff/symbols.txt # map: orig/D44J01/files/maps/d_a_arrow_lighteff.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_beam.rel hash: 5b399b13e3584c07ce8237fe114cfbceba03124a splits: config/D44J01/rels/d_a_beam/splits.txt symbols: config/D44J01/rels/d_a_beam/symbols.txt # map: orig/D44J01/files/maps/d_a_beam.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_boko.rel hash: 6dfb8ed570144497e22ced854c900571f3f120e8 splits: config/D44J01/rels/d_a_boko/splits.txt symbols: config/D44J01/rels/d_a_boko/symbols.txt # map: orig/D44J01/files/maps/d_a_boko.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_canon.rel hash: dfa3ce99d9f4d2f4418c57d356ae458feac88c21 splits: config/D44J01/rels/d_a_canon/splits.txt symbols: config/D44J01/rels/d_a_canon/symbols.txt # map: orig/D44J01/files/maps/d_a_canon.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_dai.rel hash: b41569b155490eb9598799f25d846529cbde9278 splits: config/D44J01/rels/d_a_dai/splits.txt symbols: config/D44J01/rels/d_a_dai/symbols.txt # map: orig/D44J01/files/maps/d_a_dai.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_demo_item.rel hash: cb912cc6a34f49bbc044076fe2824247d3d97492 splits: config/D44J01/rels/d_a_demo_item/splits.txt symbols: config/D44J01/rels/d_a_demo_item/symbols.txt # map: orig/D44J01/files/maps/d_a_demo_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_door12.rel hash: f4ab0e1286666a04a1cdc99d01b48bcf77f7c079 splits: config/D44J01/rels/d_a_door12/splits.txt symbols: config/D44J01/rels/d_a_door12/symbols.txt # map: orig/D44J01/files/maps/d_a_door12.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_fallrock.rel hash: 9b9ec9e193ff271bde5e3b04af4d2e8ac1ddae9b splits: config/D44J01/rels/d_a_fallrock/splits.txt symbols: config/D44J01/rels/d_a_fallrock/symbols.txt # map: orig/D44J01/files/maps/d_a_fallrock.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_ff.rel hash: 5d6b70bf8490a1c2c078e3f5667c902c2f0988d7 splits: config/D44J01/rels/d_a_ff/splits.txt symbols: config/D44J01/rels/d_a_ff/symbols.txt # map: orig/D44J01/files/maps/d_a_ff.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_gy_ctrl.rel hash: fda8385a6e1c714077bbfdee6023e72c7fa8bbb1 splits: config/D44J01/rels/d_a_gy_ctrl/splits.txt symbols: config/D44J01/rels/d_a_gy_ctrl/symbols.txt # map: orig/D44J01/files/maps/d_a_gy_ctrl.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_himo3.rel hash: 922a86471ba69b39a82674a067eac7fa5978cd60 splits: config/D44J01/rels/d_a_himo3/splits.txt symbols: config/D44J01/rels/d_a_himo3/symbols.txt # map: orig/D44J01/files/maps/d_a_himo3.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_hys.rel hash: 2f1364207b53f62142f02f73c598b3ccf92e9540 splits: config/D44J01/rels/d_a_hys/splits.txt symbols: config/D44J01/rels/d_a_hys/symbols.txt # map: orig/D44J01/files/maps/d_a_hys.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kamome.rel hash: 676db9b657617155445c4bff1e065bfa224d8f51 splits: config/D44J01/rels/d_a_kamome/splits.txt symbols: config/D44J01/rels/d_a_kamome/symbols.txt # map: orig/D44J01/files/maps/d_a_kamome.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kamome2.rel hash: 9fb2d2b0b39432bf562083fb98237d443a1aaf20 splits: config/D44J01/rels/d_a_kamome2/splits.txt symbols: config/D44J01/rels/d_a_kamome2/symbols.txt # map: orig/D44J01/files/maps/d_a_kamome2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kantera.rel hash: ecdc210624d6145b85d20e40b8aa01b2ab56b84e splits: config/D44J01/rels/d_a_kantera/splits.txt symbols: config/D44J01/rels/d_a_kantera/symbols.txt # map: orig/D44J01/files/maps/d_a_kantera.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kn.rel hash: 0b2907191b05dd4632e4bb64a350bce4d336c84b splits: config/D44J01/rels/d_a_kn/splits.txt symbols: config/D44J01/rels/d_a_kn/symbols.txt # map: orig/D44J01/files/maps/d_a_kn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kokiie.rel hash: 1298ad4e6a6a482055d00e9c15a36178f2bc97cd splits: config/D44J01/rels/d_a_kokiie/splits.txt symbols: config/D44J01/rels/d_a_kokiie/symbols.txt # map: orig/D44J01/files/maps/d_a_kokiie.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_ks.rel hash: 117cb0210292684b79ab1de0d178de6ff17f4954 splits: config/D44J01/rels/d_a_ks/splits.txt symbols: config/D44J01/rels/d_a_ks/symbols.txt # map: orig/D44J01/files/maps/d_a_ks.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_kt.rel hash: be21df731e8733261769227cfe42380d6b34525a splits: config/D44J01/rels/d_a_kt/splits.txt symbols: config/D44J01/rels/d_a_kt/symbols.txt # map: orig/D44J01/files/maps/d_a_kt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_mflft.rel hash: 41ae29ee14244ec2dac5dc2659917d3973434452 splits: config/D44J01/rels/d_a_mflft/splits.txt symbols: config/D44J01/rels/d_a_mflft/symbols.txt # map: orig/D44J01/files/maps/d_a_mflft.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_npc_cb1.rel hash: 2f7e0f71bf8c13a02fd379c2177515ae9188cd76 splits: config/D44J01/rels/d_a_npc_cb1/splits.txt symbols: config/D44J01/rels/d_a_npc_cb1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_cb1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_npc_md.rel hash: e66a42072d09c3e653c927b0a9d8c06b1d479e20 splits: config/D44J01/rels/d_a_npc_md/splits.txt symbols: config/D44J01/rels/d_a_npc_md/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_md.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_npc_so.rel hash: 9fe24a883326cd99619134d9baa9a08b288877c5 splits: config/D44J01/rels/d_a_npc_so/splits.txt symbols: config/D44J01/rels/d_a_npc_so/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_so.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_nzg.rel hash: 2a2497e245e7141187c43883d26374eb948ca892 splits: config/D44J01/rels/d_a_nzg/splits.txt symbols: config/D44J01/rels/d_a_nzg/symbols.txt # map: orig/D44J01/files/maps/d_a_nzg.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_aygr.rel hash: 08bccaaecc158e45eeb50befc1afbc0f3f86dd0b splits: config/D44J01/rels/d_a_obj_aygr/splits.txt symbols: config/D44J01/rels/d_a_obj_aygr/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_aygr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_balancelift.rel hash: 11d8d675c42de055a29e765fe6d08577e5dc29d2 splits: config/D44J01/rels/d_a_obj_balancelift/splits.txt symbols: config/D44J01/rels/d_a_obj_balancelift/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_balancelift.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_barrier.rel hash: a54bda726b34b4bf4a6d5a2f50cebc79fab50df5 splits: config/D44J01/rels/d_a_obj_barrier/splits.txt symbols: config/D44J01/rels/d_a_obj_barrier/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_barrier.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_bemos.rel hash: 780dc9ed585b57d4c1445d9b781ab99e4f4db86b splits: config/D44J01/rels/d_a_obj_bemos/splits.txt symbols: config/D44J01/rels/d_a_obj_bemos/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_bemos.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_canon.rel hash: 103ea38df9397d1e8799e41657cf82474fcac2cd splits: config/D44J01/rels/d_a_obj_canon/splits.txt symbols: config/D44J01/rels/d_a_obj_canon/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_canon.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_eff.rel hash: de79d2b487b208cbfc32d0be7e3e28991277e53b splits: config/D44J01/rels/d_a_obj_eff/splits.txt symbols: config/D44J01/rels/d_a_obj_eff/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_eff.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_magmarock.rel hash: 3ecaa539bc02ef82492ea9f176424204d36f3655 splits: config/D44J01/rels/d_a_obj_magmarock/splits.txt symbols: config/D44J01/rels/d_a_obj_magmarock/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_magmarock.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_majyuu_door.rel hash: b8891a7b697f432a85999de249f42b6806fb3f5a splits: config/D44J01/rels/d_a_obj_majyuu_door/splits.txt symbols: config/D44J01/rels/d_a_obj_majyuu_door/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_majyuu_door.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_stair.rel hash: 1e38c3fed5982676949b237b0f77e400ac6f945e splits: config/D44J01/rels/d_a_obj_stair/splits.txt symbols: config/D44J01/rels/d_a_obj_stair/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_stair.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_swflat.rel hash: 8b07a27448db66f33e368c3a2f71350cd064cbfc splits: config/D44J01/rels/d_a_obj_swflat/splits.txt symbols: config/D44J01/rels/d_a_obj_swflat/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_swflat.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_swhammer.rel hash: 7f3affffb387d24b8756a5f57cc6bdd28726b026 splits: config/D44J01/rels/d_a_obj_swhammer/splits.txt symbols: config/D44J01/rels/d_a_obj_swhammer/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_swhammer.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_swheavy.rel hash: 744fca729dc33c3b33b3bd720d325803b258ba10 splits: config/D44J01/rels/d_a_obj_swheavy/splits.txt symbols: config/D44J01/rels/d_a_obj_swheavy/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_swheavy.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_obj_swlight.rel hash: a6f91debd86fa16a131f3797433fcf7fc1979226 splits: config/D44J01/rels/d_a_obj_swlight/splits.txt symbols: config/D44J01/rels/d_a_obj_swlight/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_swlight.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_oq.rel hash: 3712a99c61aa7ac98a5039e013c113166f0008cb splits: config/D44J01/rels/d_a_oq/splits.txt symbols: config/D44J01/rels/d_a_oq/symbols.txt # map: orig/D44J01/files/maps/d_a_oq.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_pedestal.rel hash: 86179c139be55decfb3d1e406315c62c467c27fc splits: config/D44J01/rels/d_a_pedestal/splits.txt symbols: config/D44J01/rels/d_a_pedestal/symbols.txt # map: orig/D44J01/files/maps/d_a_pedestal.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_saku.rel hash: 6e97f6c5c1c07d3e8df6934afee46295f3216a2e splits: config/D44J01/rels/d_a_saku/splits.txt symbols: config/D44J01/rels/d_a_saku/symbols.txt # map: orig/D44J01/files/maps/d_a_saku.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_shand.rel hash: dc497b3ae9e7a8c0c4f4bc1ed55d70195981b161 splits: config/D44J01/rels/d_a_shand/splits.txt symbols: config/D44J01/rels/d_a_shand/symbols.txt # map: orig/D44J01/files/maps/d_a_shand.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_ship.rel hash: 549e56a8ada2ee6e462da8713f5fad344c3d83a9 splits: config/D44J01/rels/d_a_ship/splits.txt symbols: config/D44J01/rels/d_a_ship/symbols.txt # map: orig/D44J01/files/maps/d_a_ship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_shop_item.rel hash: 55fc2e53d63cf4404854d6fb8acff4b2d13df191 splits: config/D44J01/rels/d_a_shop_item/splits.txt symbols: config/D44J01/rels/d_a_shop_item/symbols.txt # map: orig/D44J01/files/maps/d_a_shop_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_sie_flag.rel hash: ea22032c12bb36a306d138b5301210c3ba3448e4 splits: config/D44J01/rels/d_a_sie_flag/splits.txt symbols: config/D44J01/rels/d_a_sie_flag/symbols.txt # map: orig/D44J01/files/maps/d_a_sie_flag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_sitem.rel hash: 8456fdddc1e1e36833a0133b47e9537f040409c2 splits: config/D44J01/rels/d_a_sitem/splits.txt symbols: config/D44J01/rels/d_a_sitem/symbols.txt # map: orig/D44J01/files/maps/d_a_sitem.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_ss.rel hash: 859bddb823741a16fca76cbe4e1f95aed9574328 splits: config/D44J01/rels/d_a_ss/splits.txt symbols: config/D44J01/rels/d_a_ss/symbols.txt # map: orig/D44J01/files/maps/d_a_ss.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_sss.rel hash: 0df64e2f9f2eee270120478f66e1f3c76485f520 splits: config/D44J01/rels/d_a_sss/splits.txt symbols: config/D44J01/rels/d_a_sss/symbols.txt # map: orig/D44J01/files/maps/d_a_sss.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_syan.rel hash: ad8cc7bbcd2812aae10f4fc143165fe9be162182 splits: config/D44J01/rels/d_a_syan/splits.txt symbols: config/D44J01/rels/d_a_syan/symbols.txt # map: orig/D44J01/files/maps/d_a_syan.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_tag_md_cb.rel hash: 4bcd0fe964e6948b72d7d856210875569ff47d05 splits: config/D44J01/rels/d_a_tag_md_cb/splits.txt symbols: config/D44J01/rels/d_a_tag_md_cb/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_md_cb.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_tag_mk.rel hash: 709f866a4577c683ac561e26c7dd15c3fc48784d splits: config/D44J01/rels/d_a_tag_mk/splits.txt symbols: config/D44J01/rels/d_a_tag_mk/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_mk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_tag_so.rel hash: adb72c60307163addfde66fb56953eadbf53277c splits: config/D44J01/rels/d_a_tag_so/splits.txt symbols: config/D44J01/rels/d_a_tag_so/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_so.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_tornado.rel hash: 323963531b0cc49bea90d94aeccf77f706037fe8 splits: config/D44J01/rels/d_a_tornado/splits.txt symbols: config/D44J01/rels/d_a_tornado/symbols.txt # map: orig/D44J01/files/maps/d_a_tornado.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_warpf.rel hash: cace8a58806ce2d62842ddf84cfb8dabb680be6a splits: config/D44J01/rels/d_a_warpf/splits.txt symbols: config/D44J01/rels/d_a_warpf/symbols.txt # map: orig/D44J01/files/maps/d_a_warpf.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:amem/d_a_wind_tag.rel hash: c3d2f835ff13cc9a887dd5da3b947439210a4a17 splits: config/D44J01/rels/d_a_wind_tag/splits.txt symbols: config/D44J01/rels/d_a_wind_tag/symbols.txt # map: orig/D44J01/files/maps/d_a_wind_tag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_acorn_leaf.rel hash: f620fe921922bfd37e147932adc8f4b2042093e9 splits: config/D44J01/rels/d_a_acorn_leaf/splits.txt symbols: config/D44J01/rels/d_a_acorn_leaf/symbols.txt # map: orig/D44J01/files/maps/d_a_acorn_leaf.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_atdoor.rel hash: 10dd826b38a6e8b61bfbc750d864cc464c186219 splits: config/D44J01/rels/d_a_atdoor/splits.txt symbols: config/D44J01/rels/d_a_atdoor/symbols.txt # map: orig/D44J01/files/maps/d_a_atdoor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_auction.rel hash: 689f9a8c24a6f94781e77db81804f1ea7a0f5469 splits: config/D44J01/rels/d_a_auction/splits.txt symbols: config/D44J01/rels/d_a_auction/symbols.txt # map: orig/D44J01/files/maps/d_a_auction.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bb.rel hash: 343171745150c8a9a16b72c2d4b1db573aedaf16 splits: config/D44J01/rels/d_a_bb/splits.txt symbols: config/D44J01/rels/d_a_bb/symbols.txt # map: orig/D44J01/files/maps/d_a_bb.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdk.rel hash: 72762ee6b1343f4125189e995576a68a6444447a splits: config/D44J01/rels/d_a_bdk/splits.txt symbols: config/D44J01/rels/d_a_bdk/symbols.txt # map: orig/D44J01/files/maps/d_a_bdk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdkobj.rel hash: 749773d7353d52648f9ed1cfa4c1f37dd9cdfe05 splits: config/D44J01/rels/d_a_bdkobj/splits.txt symbols: config/D44J01/rels/d_a_bdkobj/symbols.txt # map: orig/D44J01/files/maps/d_a_bdkobj.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn.rel hash: 16cee7a84ee691c7d9c8f233b4433ec09cbf09b6 splits: config/D44J01/rels/d_a_bgn/splits.txt symbols: config/D44J01/rels/d_a_bgn/symbols.txt # map: orig/D44J01/files/maps/d_a_bgn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn2.rel hash: 7d5f1c6e416b6da0248d13ed8d769897d612868c splits: config/D44J01/rels/d_a_bgn2/splits.txt symbols: config/D44J01/rels/d_a_bgn2/symbols.txt # map: orig/D44J01/files/maps/d_a_bgn2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn3.rel hash: 05992c931d1d3804602ebe01e614cca6c5b5b4a9 splits: config/D44J01/rels/d_a_bgn3/splits.txt symbols: config/D44J01/rels/d_a_bgn3/symbols.txt # map: orig/D44J01/files/maps/d_a_bgn3.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bigelf.rel hash: 4008308bd7c989f1c0eaf7349cd811a1cc3b8274 splits: config/D44J01/rels/d_a_bigelf/splits.txt symbols: config/D44J01/rels/d_a_bigelf/symbols.txt # map: orig/D44J01/files/maps/d_a_bigelf.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bk.rel hash: 161c69bb47996d327a78cb9d830f2180e5c13caf splits: config/D44J01/rels/d_a_bk/splits.txt symbols: config/D44J01/rels/d_a_bk/symbols.txt # map: orig/D44J01/files/maps/d_a_bk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bl.rel hash: 40c9df9731cbaff306f31165c290da038fb25958 splits: config/D44J01/rels/d_a_bl/splits.txt symbols: config/D44J01/rels/d_a_bl/symbols.txt # map: orig/D44J01/files/maps/d_a_bl.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmd.rel hash: 175e0501d43a7344daee4529c72e7431cc3898cf splits: config/D44J01/rels/d_a_bmd/splits.txt symbols: config/D44J01/rels/d_a_bmd/symbols.txt # map: orig/D44J01/files/maps/d_a_bmd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdfoot.rel hash: 94bb36966ba6b17a4fe756e3052c6215105baaad splits: config/D44J01/rels/d_a_bmdfoot/splits.txt symbols: config/D44J01/rels/d_a_bmdfoot/symbols.txt # map: orig/D44J01/files/maps/d_a_bmdfoot.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdhand.rel hash: 3c9f19c374974949f274d1bd8d1c76f23d26c2c2 splits: config/D44J01/rels/d_a_bmdhand/splits.txt symbols: config/D44J01/rels/d_a_bmdhand/symbols.txt # map: orig/D44J01/files/maps/d_a_bmdhand.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bo.rel hash: fdbab2be2b03f27de1a553f96ebc90ea30361608 splits: config/D44J01/rels/d_a_bo/splits.txt symbols: config/D44J01/rels/d_a_bo/symbols.txt # map: orig/D44J01/files/maps/d_a_bo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_boss_item.rel hash: 64c778ac7275dcfcef6a04f7773285445564d81a splits: config/D44J01/rels/d_a_boss_item/splits.txt symbols: config/D44J01/rels/d_a_boss_item/symbols.txt # map: orig/D44J01/files/maps/d_a_boss_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bpw.rel hash: 21019e1b62681fb4c2a039635d8d10c06383e1b9 splits: config/D44J01/rels/d_a_bpw/splits.txt symbols: config/D44J01/rels/d_a_bpw/symbols.txt # map: orig/D44J01/files/maps/d_a_bpw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bst.rel hash: 95b945c4e84c0a5d881d8390dc36cd19e8715ca1 splits: config/D44J01/rels/d_a_bst/splits.txt symbols: config/D44J01/rels/d_a_bst/symbols.txt # map: orig/D44J01/files/maps/d_a_bst.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_btd.rel hash: 994ff5887aa31e2ba3d1d8cdf92096a452b47dfb splits: config/D44J01/rels/d_a_btd/splits.txt symbols: config/D44J01/rels/d_a_btd/symbols.txt # map: orig/D44J01/files/maps/d_a_btd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwd.rel hash: e10f150d9bdda86b92636c0ac6dc1147ce62abfe splits: config/D44J01/rels/d_a_bwd/splits.txt symbols: config/D44J01/rels/d_a_bwd/symbols.txt # map: orig/D44J01/files/maps/d_a_bwd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwdg.rel hash: 6f303faca1d61c4831f77d5187233828267657d1 splits: config/D44J01/rels/d_a_bwdg/splits.txt symbols: config/D44J01/rels/d_a_bwdg/symbols.txt # map: orig/D44J01/files/maps/d_a_bwdg.map + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_B_sand2TEX binary: assets/l_B_sand2TEX.bin @@ -1250,1104 +1458,1288 @@ modules: splits: config/D44J01/rels/d_a_bwds/splits.txt symbols: config/D44J01/rels/d_a_bwds/symbols.txt # map: orig/D44J01/files/maps/d_a_bwds.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_cc.rel hash: af8bbeb90b551d664e8d005e542931a272dc75ae splits: config/D44J01/rels/d_a_cc/splits.txt symbols: config/D44J01/rels/d_a_cc/symbols.txt # map: orig/D44J01/files/maps/d_a_cc.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta.rel hash: 9a5528146eda1df6cb5397547a7c21a8acd8722d splits: config/D44J01/rels/d_a_daiocta/splits.txt symbols: config/D44J01/rels/d_a_daiocta/symbols.txt # map: orig/D44J01/files/maps/d_a_daiocta.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta_eye.rel hash: da6facbcd23de1554a4d71c0a4f9ea70d7dcb821 splits: config/D44J01/rels/d_a_daiocta_eye/splits.txt symbols: config/D44J01/rels/d_a_daiocta_eye/symbols.txt # map: orig/D44J01/files/maps/d_a_daiocta_eye.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_deku_item.rel hash: 10129c094d6c6aedbbbaa9b56ca4fdc4edff407b splits: config/D44J01/rels/d_a_deku_item/splits.txt symbols: config/D44J01/rels/d_a_deku_item/symbols.txt # map: orig/D44J01/files/maps/d_a_deku_item.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dk.rel hash: 5bff0f11d61dd825627124ee554dab40dd7ddc71 splits: config/D44J01/rels/d_a_dk/splits.txt symbols: config/D44J01/rels/d_a_dk/symbols.txt # map: orig/D44J01/files/maps/d_a_dk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dummy.rel hash: f82a4403b11bc532e8d648359c50d876a762cc5b splits: config/D44J01/rels/d_a_dummy/splits.txt symbols: config/D44J01/rels/d_a_dummy/symbols.txt # map: orig/D44J01/files/maps/d_a_dummy.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fallrock_tag.rel hash: e6f06ab3bed2608f8f1787b34d257cf0e5ef5617 splits: config/D44J01/rels/d_a_fallrock_tag/splits.txt symbols: config/D44J01/rels/d_a_fallrock_tag/symbols.txt # map: orig/D44J01/files/maps/d_a_fallrock_tag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fan.rel hash: d72b5f5c5848b490bcde90d87649bc2abe62bcfc splits: config/D44J01/rels/d_a_fan/splits.txt symbols: config/D44J01/rels/d_a_fan/symbols.txt # map: orig/D44J01/files/maps/d_a_fan.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fganon.rel hash: c06c1ec18f9dfd799e22f97956c5603a351163be splits: config/D44J01/rels/d_a_fganon/splits.txt symbols: config/D44J01/rels/d_a_fganon/symbols.txt # map: orig/D44J01/files/maps/d_a_fganon.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fgmahou.rel hash: 853be6b1e06980882d5d27ac224cd0ea9cf39fcd splits: config/D44J01/rels/d_a_fgmahou/splits.txt symbols: config/D44J01/rels/d_a_fgmahou/symbols.txt # map: orig/D44J01/files/maps/d_a_fgmahou.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fire.rel hash: 3cf6b5fd3bd73cf4c4c1289a0bddaa7770cf5f88 splits: config/D44J01/rels/d_a_fire/splits.txt symbols: config/D44J01/rels/d_a_fire/symbols.txt # map: orig/D44J01/files/maps/d_a_fire.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fm.rel hash: b9b1e501b702f9331a240d745041038b3bd5c3c0 splits: config/D44J01/rels/d_a_fm/splits.txt symbols: config/D44J01/rels/d_a_fm/symbols.txt # map: orig/D44J01/files/maps/d_a_fm.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gm.rel hash: 31cf41a39c2d692117fb5e2cb84c5620a74c0355 splits: config/D44J01/rels/d_a_gm/splits.txt symbols: config/D44J01/rels/d_a_gm/symbols.txt # map: orig/D44J01/files/maps/d_a_gm.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gnd.rel hash: c93194f223e0cefd0377e879fbb23680b251cede splits: config/D44J01/rels/d_a_gnd/splits.txt symbols: config/D44J01/rels/d_a_gnd/symbols.txt # map: orig/D44J01/files/maps/d_a_gnd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_goal_flag.rel hash: f0df4a54526468b51c5d055c167621af9d21db0e splits: config/D44J01/rels/d_a_goal_flag/splits.txt symbols: config/D44J01/rels/d_a_goal_flag/symbols.txt # map: orig/D44J01/files/maps/d_a_goal_flag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gy.rel hash: c211c153be3b6349186f77d84bc86b13b66aa139 splits: config/D44J01/rels/d_a_gy/splits.txt symbols: config/D44J01/rels/d_a_gy/symbols.txt # map: orig/D44J01/files/maps/d_a_gy.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_hmlif.rel hash: fe8afb15b97f53f9f6041f08807515435e4e1c30 splits: config/D44J01/rels/d_a_hmlif/splits.txt symbols: config/D44J01/rels/d_a_hmlif/symbols.txt # map: orig/D44J01/files/maps/d_a_hmlif.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_icelift.rel hash: db436de3fc5c42af25702a4e34035f6ef7ac3b4d splits: config/D44J01/rels/d_a_icelift/splits.txt symbols: config/D44J01/rels/d_a_icelift/symbols.txt # map: orig/D44J01/files/maps/d_a_icelift.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kb.rel hash: 4444fadf7ac421197968ba20885719e1423049f0 splits: config/D44J01/rels/d_a_kb/splits.txt symbols: config/D44J01/rels/d_a_kb/symbols.txt # map: orig/D44J01/files/maps/d_a_kb.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kddoor.rel hash: d1819c08608decda5fa71a83b9764651fec84eb5 splits: config/D44J01/rels/d_a_kddoor/splits.txt symbols: config/D44J01/rels/d_a_kddoor/symbols.txt # map: orig/D44J01/files/maps/d_a_kddoor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kita.rel hash: 90424416ba6f9dd1ff7e5ab650b8f49354848774 splits: config/D44J01/rels/d_a_kita/splits.txt symbols: config/D44J01/rels/d_a_kita/symbols.txt # map: orig/D44J01/files/maps/d_a_kita.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_klft.rel hash: 3d3e3b14b707fa469539fed5ded4c1c87c27dae2 splits: config/D44J01/rels/d_a_klft/splits.txt symbols: config/D44J01/rels/d_a_klft/symbols.txt # map: orig/D44J01/files/maps/d_a_klft.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kmon.rel hash: 8833ba009ba64650c742337882c11a71597e544c splits: config/D44J01/rels/d_a_kmon/splits.txt symbols: config/D44J01/rels/d_a_kmon/symbols.txt # map: orig/D44J01/files/maps/d_a_kmon.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_komore.rel hash: 347bb4d65e4d99f17e5c4669c3997136fa8cc921 splits: config/D44J01/rels/d_a_komore/splits.txt symbols: config/D44J01/rels/d_a_komore/symbols.txt # map: orig/D44J01/files/maps/d_a_komore.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lbridge.rel hash: 1b4c703e69b56986403285c7f24c90206cc97aad splits: config/D44J01/rels/d_a_lbridge/splits.txt symbols: config/D44J01/rels/d_a_lbridge/symbols.txt # map: orig/D44J01/files/maps/d_a_lbridge.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_leaflift.rel hash: 295aa383999ff68e513f15eb2c72c102a4e86eed splits: config/D44J01/rels/d_a_leaflift/splits.txt symbols: config/D44J01/rels/d_a_leaflift/symbols.txt # map: orig/D44J01/files/maps/d_a_leaflift.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lstair.rel hash: ad27a16b84378d8fafaa66298d3b1e85f1209124 splits: config/D44J01/rels/d_a_lstair/splits.txt symbols: config/D44J01/rels/d_a_lstair/symbols.txt # map: orig/D44J01/files/maps/d_a_lstair.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_machine.rel hash: 37e59d1d932e0a323da871d2ddff58fcd130b411 splits: config/D44J01/rels/d_a_machine/splits.txt symbols: config/D44J01/rels/d_a_machine/symbols.txt # map: orig/D44J01/files/maps/d_a_machine.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mant.rel hash: 888aaaf2b8f8a8fcbed24cf085091da7ddf44875 splits: config/D44J01/rels/d_a_mant/splits.txt symbols: config/D44J01/rels/d_a_mant/symbols.txt # map: orig/D44J01/files/maps/d_a_mant.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mbdoor.rel hash: d6ed4223c89e20853fa3d3a1ae73b0539c52f993 splits: config/D44J01/rels/d_a_mbdoor/splits.txt symbols: config/D44J01/rels/d_a_mbdoor/symbols.txt # map: orig/D44J01/files/maps/d_a_mbdoor.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mgameboard.rel hash: 013a6ff61429c15892fe089969bf1cb230f233d9 splits: config/D44J01/rels/d_a_mgameboard/splits.txt symbols: config/D44J01/rels/d_a_mgameboard/symbols.txt # map: orig/D44J01/files/maps/d_a_mgameboard.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mmusic.rel hash: 0b39ae34d9e307877e80efa99f8ffd54fcb5de62 splits: config/D44J01/rels/d_a_mmusic/splits.txt symbols: config/D44J01/rels/d_a_mmusic/symbols.txt # map: orig/D44J01/files/maps/d_a_mmusic.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mo2.rel hash: 18307219ffa042919295ae4d6b46a1473f1564e6 splits: config/D44J01/rels/d_a_mo2/splits.txt symbols: config/D44J01/rels/d_a_mo2/symbols.txt # map: orig/D44J01/files/maps/d_a_mo2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mozo.rel hash: ee404980c87fc33a582d4a9602092698413b3e7d splits: config/D44J01/rels/d_a_mozo/splits.txt symbols: config/D44J01/rels/d_a_mozo/symbols.txt # map: orig/D44J01/files/maps/d_a_mozo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mt.rel hash: 0755bcf7cb425a15a1b2f4411e814e14977188f3 splits: config/D44J01/rels/d_a_mt/splits.txt symbols: config/D44J01/rels/d_a_mt/symbols.txt # map: orig/D44J01/files/maps/d_a_mt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ac1.rel hash: c81b471c964ad692f427319d66ba2d5a98b4ec43 splits: config/D44J01/rels/d_a_npc_ac1/splits.txt symbols: config/D44J01/rels/d_a_npc_ac1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ac1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ah.rel hash: 7df23d71857e2841428ad820ad9617244506cdf1 splits: config/D44J01/rels/d_a_npc_ah/splits.txt symbols: config/D44J01/rels/d_a_npc_ah/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ah.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_aj1.rel hash: 7d47fd17d5d06f7782876b6cb3e7b20f47e9925b splits: config/D44J01/rels/d_a_npc_aj1/splits.txt symbols: config/D44J01/rels/d_a_npc_aj1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_aj1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_auction.rel hash: 6197748484ed2e13763790042e1918afe6affef1 splits: config/D44J01/rels/d_a_npc_auction/splits.txt symbols: config/D44J01/rels/d_a_npc_auction/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_auction.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ba1.rel hash: 6c101e53e721b71ec834d037382db75a3d88e3c4 splits: config/D44J01/rels/d_a_npc_ba1/splits.txt symbols: config/D44J01/rels/d_a_npc_ba1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ba1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bj1.rel hash: 43ea5ca7e85a115ef0a25fea4b59eb3db9813403 splits: config/D44J01/rels/d_a_npc_bj1/splits.txt symbols: config/D44J01/rels/d_a_npc_bj1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bj1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bm1.rel hash: c16336cddcc7837890948e57c9d64d2928d0fd1f splits: config/D44J01/rels/d_a_npc_bm1/splits.txt symbols: config/D44J01/rels/d_a_npc_bm1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bm1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmcon1.rel hash: 0f99057266608243a59990f1f4aaed0c1c801f15 splits: config/D44J01/rels/d_a_npc_bmcon1/splits.txt symbols: config/D44J01/rels/d_a_npc_bmcon1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bmcon1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bms1.rel hash: dfcb6dbdf7dd2f5cfc7c369e3a7b5169e8c42c62 splits: config/D44J01/rels/d_a_npc_bms1/splits.txt symbols: config/D44J01/rels/d_a_npc_bms1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bms1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmsw.rel hash: d96801363fb848e1b81d26cc95932cb70f71d168 splits: config/D44J01/rels/d_a_npc_bmsw/splits.txt symbols: config/D44J01/rels/d_a_npc_bmsw/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bmsw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bs1.rel hash: f9913a368d973e06e8afa1632dcf39470e163713 splits: config/D44J01/rels/d_a_npc_bs1/splits.txt symbols: config/D44J01/rels/d_a_npc_bs1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_bs1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw.rel hash: d0a66c7ae54e3b6044288c0b3fb586b602b95ca0 splits: config/D44J01/rels/d_a_npc_btsw/splits.txt symbols: config/D44J01/rels/d_a_npc_btsw/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_btsw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw2.rel hash: bee252b01e9fa041d58b2d98042136427c90cdb3 splits: config/D44J01/rels/d_a_npc_btsw2/splits.txt symbols: config/D44J01/rels/d_a_npc_btsw2/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_btsw2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_co1.rel hash: 09f9137047e1312f655887ec806a226eed64cd22 splits: config/D44J01/rels/d_a_npc_co1/splits.txt symbols: config/D44J01/rels/d_a_npc_co1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_co1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_de1.rel hash: c0c15652149636714772c977536419528dd5b4f6 splits: config/D44J01/rels/d_a_npc_de1/splits.txt symbols: config/D44J01/rels/d_a_npc_de1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_de1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ds1.rel hash: 2a78759d824dc63efe5c5104cb7decb187a23986 splits: config/D44J01/rels/d_a_npc_ds1/splits.txt symbols: config/D44J01/rels/d_a_npc_ds1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ds1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gk1.rel hash: 008edf357d2510b553634f1b83aa9f32156c7cc2 splits: config/D44J01/rels/d_a_npc_gk1/splits.txt symbols: config/D44J01/rels/d_a_npc_gk1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_gk1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gp1.rel hash: 18bd9b4d63ce764a05e81a654d644e96c8ca21f4 splits: config/D44J01/rels/d_a_npc_gp1/splits.txt symbols: config/D44J01/rels/d_a_npc_gp1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_gp1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hi1.rel hash: ddd804771ffa2c1f82a545a673a5fadff88beb02 splits: config/D44J01/rels/d_a_npc_hi1/splits.txt symbols: config/D44J01/rels/d_a_npc_hi1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_hi1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ho.rel hash: 2749e8254073a1a74526952e36d0abf2b949e2cb splits: config/D44J01/rels/d_a_npc_ho/splits.txt symbols: config/D44J01/rels/d_a_npc_ho/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ho.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hr.rel hash: 16cd167ccd1c8cd7e3ca91c90926300b353a1909 splits: config/D44J01/rels/d_a_npc_hr/splits.txt symbols: config/D44J01/rels/d_a_npc_hr/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_hr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_jb1.rel hash: 19dbc2c64c7f21efa81b8d5c3443d645c6f676cc splits: config/D44J01/rels/d_a_npc_jb1/splits.txt symbols: config/D44J01/rels/d_a_npc_jb1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_jb1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ji1.rel hash: f2e6b45f7a07d1f3dbb97a769c6d20e43987beaf splits: config/D44J01/rels/d_a_npc_ji1/splits.txt symbols: config/D44J01/rels/d_a_npc_ji1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ji1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kamome.rel hash: d68141456286908399a197286c81973366135706 splits: config/D44J01/rels/d_a_npc_kamome/splits.txt symbols: config/D44J01/rels/d_a_npc_kamome/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kamome.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kf1.rel hash: 81cf7bc1ccf68c3f624201c8ca824e354ed80bb8 splits: config/D44J01/rels/d_a_npc_kf1/splits.txt symbols: config/D44J01/rels/d_a_npc_kf1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kf1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg1.rel hash: dd6321c2c09f720d808fa2f706bc92c4ae540ea2 splits: config/D44J01/rels/d_a_npc_kg1/splits.txt symbols: config/D44J01/rels/d_a_npc_kg1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kg1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg2.rel hash: 596787cb7f4943956d68bc07f2debac05ae4a243 splits: config/D44J01/rels/d_a_npc_kg2/splits.txt symbols: config/D44J01/rels/d_a_npc_kg2/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kg2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kk1.rel hash: 67faf6b5239c892cf917a61c9999c99990360fdb splits: config/D44J01/rels/d_a_npc_kk1/splits.txt symbols: config/D44J01/rels/d_a_npc_kk1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kk1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_km1.rel hash: eec703c904cb004d4a58e66afb41b09ba92950b3 splits: config/D44J01/rels/d_a_npc_km1/splits.txt symbols: config/D44J01/rels/d_a_npc_km1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_km1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ko1.rel hash: 827245721ba9ce27e0123d093c293bef50b890ff splits: config/D44J01/rels/d_a_npc_ko1/splits.txt symbols: config/D44J01/rels/d_a_npc_ko1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ko1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kp1.rel hash: 582d9d7744719c4bdb8e1b29c74dd93d629e0474 splits: config/D44J01/rels/d_a_npc_kp1/splits.txt symbols: config/D44J01/rels/d_a_npc_kp1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_kp1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ls1.rel hash: 6688f68810aa5c830166ad0dbcca022e5a8ed163 splits: config/D44J01/rels/d_a_npc_ls1/splits.txt symbols: config/D44J01/rels/d_a_npc_ls1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ls1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mk.rel hash: 59320fa91ad5681260b6f114d714a02a228836eb splits: config/D44J01/rels/d_a_npc_mk/splits.txt symbols: config/D44J01/rels/d_a_npc_mk/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_mk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mn.rel hash: 2ce14da292088efe253278af3d3cf4c7d44858a3 splits: config/D44J01/rels/d_a_npc_mn/splits.txt symbols: config/D44J01/rels/d_a_npc_mn/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_mn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mt.rel hash: f39e90fa6b4b6dc9994f3a27dbcb54c7264523b2 splits: config/D44J01/rels/d_a_npc_mt/splits.txt symbols: config/D44J01/rels/d_a_npc_mt/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_mt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_nz.rel hash: 126925870261c5b95878656bb5b372f62480a612 splits: config/D44J01/rels/d_a_npc_nz/splits.txt symbols: config/D44J01/rels/d_a_npc_nz/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_nz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ob1.rel hash: aadc71f31ef61503219e8d43557d09f0860125b6 splits: config/D44J01/rels/d_a_npc_ob1/splits.txt symbols: config/D44J01/rels/d_a_npc_ob1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ob1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_os.rel hash: 6c1568a6d4920d46d1341708501741fd66e0e4e3 splits: config/D44J01/rels/d_a_npc_os/splits.txt symbols: config/D44J01/rels/d_a_npc_os/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_os.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p1.rel hash: de7c7344042e345c7c8f2b70e203a9a28d287eed splits: config/D44J01/rels/d_a_npc_p1/splits.txt symbols: config/D44J01/rels/d_a_npc_p1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_p1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p2.rel hash: 86d895f16665d7499a76bfee4db32a7a63f350c3 splits: config/D44J01/rels/d_a_npc_p2/splits.txt symbols: config/D44J01/rels/d_a_npc_p2/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_p2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_people.rel hash: df01a9c2c52755cc96c1558dad7f231d53e29ef5 splits: config/D44J01/rels/d_a_npc_people/splits.txt symbols: config/D44J01/rels/d_a_npc_people/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_people.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pf1.rel hash: 9c6c00cb6a8bb32ca3b2a9dfd006baf38cc26356 splits: config/D44J01/rels/d_a_npc_pf1/splits.txt symbols: config/D44J01/rels/d_a_npc_pf1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_pf1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_photo.rel hash: b99c4e40d66d2add79de077cbdf94a21b0418691 splits: config/D44J01/rels/d_a_npc_photo/splits.txt symbols: config/D44J01/rels/d_a_npc_photo/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_photo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pm1.rel hash: ea4b5ae0416d235f0932db63b6712803d31bcd75 splits: config/D44J01/rels/d_a_npc_pm1/splits.txt symbols: config/D44J01/rels/d_a_npc_pm1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_pm1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_roten.rel hash: b18ae0dd5adbd3c8556001aa4b85d9f164b287d8 splits: config/D44J01/rels/d_a_npc_roten/splits.txt symbols: config/D44J01/rels/d_a_npc_roten/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_roten.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_rsh1.rel hash: 845e676e98a71363e53da40655c3cb47e719be17 splits: config/D44J01/rels/d_a_npc_rsh1/splits.txt symbols: config/D44J01/rels/d_a_npc_rsh1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_rsh1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sarace.rel hash: 740a9f64b759a8f90df0a6d2994e67c4bc6cc113 splits: config/D44J01/rels/d_a_npc_sarace/splits.txt symbols: config/D44J01/rels/d_a_npc_sarace/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_sarace.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sv.rel hash: 38e22c81bd68c5de1380a8a6ea044a10f60d0012 splits: config/D44J01/rels/d_a_npc_sv/splits.txt symbols: config/D44J01/rels/d_a_npc_sv/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_sv.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tc.rel hash: 2e1b9da6182d0bfbb4fdf3ea39b74abc69a98545 splits: config/D44J01/rels/d_a_npc_tc/splits.txt symbols: config/D44J01/rels/d_a_npc_tc/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_tc.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tt.rel hash: a9a5eceba0566c0bc98ca50269f8ff9106def156 splits: config/D44J01/rels/d_a_npc_tt/splits.txt symbols: config/D44J01/rels/d_a_npc_tt/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_tt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_uk.rel hash: 017fa76d9e5967b8e603b825bece9317192ecd81 splits: config/D44J01/rels/d_a_npc_uk/splits.txt symbols: config/D44J01/rels/d_a_npc_uk/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_uk.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ym1.rel hash: 29ae333284e9e8ac225f904a5178c85e78c1d2cc splits: config/D44J01/rels/d_a_npc_ym1/splits.txt symbols: config/D44J01/rels/d_a_npc_ym1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_ym1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_yw1.rel hash: 0245308fc05f17fbb8833c3ea6355793d3d156ed splits: config/D44J01/rels/d_a_npc_yw1/splits.txt symbols: config/D44J01/rels/d_a_npc_yw1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_yw1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zk1.rel hash: 655343e12b68f7eea75bfbbd466e6a250be0cec0 splits: config/D44J01/rels/d_a_npc_zk1/splits.txt symbols: config/D44J01/rels/d_a_npc_zk1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_zk1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zl1.rel hash: 71c8ed6d28c921706d6c03348b00596ca046aa39 splits: config/D44J01/rels/d_a_npc_zl1/splits.txt symbols: config/D44J01/rels/d_a_npc_zl1/symbols.txt # map: orig/D44J01/files/maps/d_a_npc_zl1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_nz.rel hash: 9b0b2a09d67fb887343437a42290cc5dc42266f7 splits: config/D44J01/rels/d_a_nz/splits.txt symbols: config/D44J01/rels/d_a_nz/symbols.txt # map: orig/D44J01/files/maps/d_a_nz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_adnno.rel hash: 0dd3c24b026ef0ba3f7cfb8257fab86cb7ad8619 splits: config/D44J01/rels/d_a_obj_adnno/splits.txt symbols: config/D44J01/rels/d_a_obj_adnno/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_adnno.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ajav.rel hash: 1b7b387b0e9ec4673316b940e2215365b7ff5374 splits: config/D44J01/rels/d_a_obj_ajav/splits.txt symbols: config/D44J01/rels/d_a_obj_ajav/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ajav.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_apzl.rel hash: 2b04e21e2026bcdecc2cb8d92daf57889f7bd077 splits: config/D44J01/rels/d_a_obj_apzl/splits.txt symbols: config/D44J01/rels/d_a_obj_apzl/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_apzl.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ashut.rel hash: 0df266a709eb874977e8e541fb54dfa4c0e6e940 splits: config/D44J01/rels/d_a_obj_ashut/splits.txt symbols: config/D44J01/rels/d_a_obj_ashut/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ashut.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_auzu.rel hash: d86078f72b53b06f80850b193433b461cd4761ff splits: config/D44J01/rels/d_a_obj_auzu/splits.txt symbols: config/D44J01/rels/d_a_obj_auzu/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_auzu.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyflag.rel hash: dda9703a5bc55d84976bb511d21def2f3a232f23 splits: config/D44J01/rels/d_a_obj_buoyflag/splits.txt symbols: config/D44J01/rels/d_a_obj_buoyflag/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_buoyflag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyrace.rel hash: 5765e1e93cfbd11c31c7a633dd5727bb3fdeefc9 splits: config/D44J01/rels/d_a_obj_buoyrace/splits.txt symbols: config/D44J01/rels/d_a_obj_buoyrace/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_buoyrace.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_correct.rel hash: 610f0d1f67c9d13b66acfad72cc04c58476df514 splits: config/D44J01/rels/d_a_obj_correct/splits.txt symbols: config/D44J01/rels/d_a_obj_correct/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_correct.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dmgroom.rel hash: 15d11c92071d4698a9ac611a5099235003601666 splits: config/D44J01/rels/d_a_obj_dmgroom/splits.txt symbols: config/D44J01/rels/d_a_obj_dmgroom/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_dmgroom.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dragonhead.rel hash: 614966bdcdb7d972d741dcf628f7562f9b0b4f55 splits: config/D44J01/rels/d_a_obj_dragonhead/splits.txt symbols: config/D44J01/rels/d_a_obj_dragonhead/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_dragonhead.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_drift.rel hash: 8ba46754c398ca0a6fd920f8909cf03145838b65 splits: config/D44J01/rels/d_a_obj_drift/splits.txt symbols: config/D44J01/rels/d_a_obj_drift/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_drift.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eayogn.rel hash: af9aa7d5bfdae8ca8b30c211ddcd3480e3e43c89 splits: config/D44J01/rels/d_a_obj_eayogn/splits.txt symbols: config/D44J01/rels/d_a_obj_eayogn/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_eayogn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ebomzo.rel hash: c688d411265c5924898bdec44f6b2a7e5fd6acd2 splits: config/D44J01/rels/d_a_obj_ebomzo/splits.txt symbols: config/D44J01/rels/d_a_obj_ebomzo/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ebomzo.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ekskz.rel hash: 5c95aaddcb6b61ecc0a2a145f5d5382fbb1d0cda splits: config/D44J01/rels/d_a_obj_ekskz/splits.txt symbols: config/D44J01/rels/d_a_obj_ekskz/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ekskz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eskban.rel hash: 3b8e7d49f88108420deb8bef3132a6909c99bf30 splits: config/D44J01/rels/d_a_obj_eskban/splits.txt symbols: config/D44J01/rels/d_a_obj_eskban/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_eskban.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ferris.rel hash: af81d1fddaea842cfa3b1b5cea080d3033295a99 splits: config/D44J01/rels/d_a_obj_ferris/splits.txt symbols: config/D44J01/rels/d_a_obj_ferris/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ferris.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_figure.rel hash: 8ee8729fbe498dc4f51de8cee499ff6ac242cb15 splits: config/D44J01/rels/d_a_obj_figure/splits.txt symbols: config/D44J01/rels/d_a_obj_figure/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_figure.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_firewall.rel hash: 1788555ef0c284e7e1ece82b97fec1b105fef7cb splits: config/D44J01/rels/d_a_obj_firewall/splits.txt symbols: config/D44J01/rels/d_a_obj_firewall/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_firewall.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_flame.rel hash: b8242401a0081e883a589a7bdc5d6159db4cefbe splits: config/D44J01/rels/d_a_obj_flame/splits.txt symbols: config/D44J01/rels/d_a_obj_flame/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_flame.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ftree.rel hash: d574f111051d64b6ed26e8757d93ab42c9d15171 splits: config/D44J01/rels/d_a_obj_ftree/splits.txt symbols: config/D44J01/rels/d_a_obj_ftree/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ftree.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ganonbed.rel hash: f7998955e7d42bd806156c66910ce4d872c5d29c splits: config/D44J01/rels/d_a_obj_ganonbed/splits.txt symbols: config/D44J01/rels/d_a_obj_ganonbed/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ganonbed.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship.rel hash: ad0eb5439b61fc68d746212c24c40fd6512a08a5 splits: config/D44J01/rels/d_a_obj_gaship/splits.txt symbols: config/D44J01/rels/d_a_obj_gaship/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gaship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship2.rel hash: cbdd8287ac2c390ef7446756a8f012657932d452 splits: config/D44J01/rels/d_a_obj_gaship2/splits.txt symbols: config/D44J01/rels/d_a_obj_gaship2/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gaship2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnnbtltaki.rel hash: 29c9f648f91ea2de44a9b99acc9f2f363419fe85 splits: config/D44J01/rels/d_a_obj_gnnbtltaki/splits.txt symbols: config/D44J01/rels/d_a_obj_gnnbtltaki/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gnnbtltaki.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakie.rel hash: 7f1c47c634355ac87de4efe0c4e21b946dc09efd splits: config/D44J01/rels/d_a_obj_gnndemotakie/splits.txt symbols: config/D44J01/rels/d_a_obj_gnndemotakie/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gnndemotakie.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakis.rel hash: 4dcc0ae5d8842938ba2a34d700163e6517aabdec splits: config/D44J01/rels/d_a_obj_gnndemotakis/splits.txt symbols: config/D44J01/rels/d_a_obj_gnndemotakis/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gnndemotakis.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gong.rel hash: 69b3974127b366924914471c7505d4ed5a8549b8 splits: config/D44J01/rels/d_a_obj_gong/splits.txt symbols: config/D44J01/rels/d_a_obj_gong/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gong.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gtaki.rel hash: 9aa329f131cb253cfb305f8f958e8a71cf29f18c splits: config/D44J01/rels/d_a_obj_gtaki/splits.txt symbols: config/D44J01/rels/d_a_obj_gtaki/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_gtaki.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami2.rel hash: cf947424afb7858141e39a6263aef29e94c2f6b9 splits: config/D44J01/rels/d_a_obj_hami2/splits.txt symbols: config/D44J01/rels/d_a_obj_hami2/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hami2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami3.rel hash: a136d7a2c657b39c6fc2939a1c65515dc96ceee3 splits: config/D44J01/rels/d_a_obj_hami3/splits.txt symbols: config/D44J01/rels/d_a_obj_hami3/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hami3.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami4.rel hash: 72c78d85158725b44c82af514a17caf1c11b39f3 splits: config/D44J01/rels/d_a_obj_hami4/splits.txt symbols: config/D44J01/rels/d_a_obj_hami4/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hami4.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hat.rel hash: bc4a61ebe46df7ac5cc39caaaa1e2d6c3a89c46f splits: config/D44J01/rels/d_a_obj_hat/splits.txt symbols: config/D44J01/rels/d_a_obj_hat/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hat.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hbrf1.rel hash: 9a2b969da1003fea2f7d7f7276739dcfef5e833c splits: config/D44J01/rels/d_a_obj_hbrf1/splits.txt symbols: config/D44J01/rels/d_a_obj_hbrf1/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hbrf1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hcbh.rel hash: 071e4f58818651812564cd8553e45a29e1c95b46 splits: config/D44J01/rels/d_a_obj_hcbh/splits.txt symbols: config/D44J01/rels/d_a_obj_hcbh/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hcbh.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hha.rel hash: cf419b68ded6979b1794c79c8c7bf226cf73cb74 splits: config/D44J01/rels/d_a_obj_hha/splits.txt symbols: config/D44J01/rels/d_a_obj_hha/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hha.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hlift.rel hash: c683166455c16b259935544224e26fb87d85ffbb splits: config/D44J01/rels/d_a_obj_hlift/splits.txt symbols: config/D44J01/rels/d_a_obj_hlift/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hlift.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homen.rel hash: 7ee9e4ad2a5d709b3159cee211c9811420ea3064 splits: config/D44J01/rels/d_a_obj_homen/splits.txt symbols: config/D44J01/rels/d_a_obj_homen/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_homen.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homensmoke.rel hash: 00e9b961853cdca3552b3c9f1434ecf9c1ba4937 splits: config/D44J01/rels/d_a_obj_homensmoke/splits.txt symbols: config/D44J01/rels/d_a_obj_homensmoke/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_homensmoke.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hsehi1.rel hash: f0536b0be5bf329d4d61fc0f45dd880740416f02 splits: config/D44J01/rels/d_a_obj_hsehi1/splits.txt symbols: config/D44J01/rels/d_a_obj_hsehi1/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_hsehi1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_htetu1.rel hash: c682b31f40aa6ee02acf82665d9a3f782f29e878 splits: config/D44J01/rels/d_a_obj_htetu1/splits.txt symbols: config/D44J01/rels/d_a_obj_htetu1/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_htetu1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_iceisland.rel hash: 21117cc6fb15b910a8a2d62c4cf672ba03da45db splits: config/D44J01/rels/d_a_obj_iceisland/splits.txt symbols: config/D44J01/rels/d_a_obj_iceisland/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_iceisland.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Itnak.rel hash: 913efc9d59862f8da166897ac4ac9670d97b5662 splits: config/D44J01/rels/d_a_obj_Itnak/splits.txt symbols: config/D44J01/rels/d_a_obj_Itnak/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_Itnak.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_jump.rel hash: 694e48b085d9c69ab6ec32efd2e09932c35a6761 splits: config/D44J01/rels/d_a_obj_jump/splits.txt symbols: config/D44J01/rels/d_a_obj_jump/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_jump.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_kanoke.rel hash: 6e908780ca9683658f94e305310a7a9cd90e40af splits: config/D44J01/rels/d_a_obj_kanoke/splits.txt symbols: config/D44J01/rels/d_a_obj_kanoke/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_kanoke.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ladder.rel hash: 87381143f591b68276b6643af00d84f252764792 splits: config/D44J01/rels/d_a_obj_ladder/splits.txt symbols: config/D44J01/rels/d_a_obj_ladder/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ladder.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_light.rel hash: 655d56c9de59d71c9f88cae23142ca1975cbfb5b splits: config/D44J01/rels/d_a_obj_light/splits.txt symbols: config/D44J01/rels/d_a_obj_light/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_light.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkie.rel hash: c12281de80cb56972e18651d3bf177ec28e003b8 splits: config/D44J01/rels/d_a_obj_mkie/splits.txt symbols: config/D44J01/rels/d_a_obj_mkie/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mkie.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkiek.rel hash: 6a49137b882dccd6b28424af31b2aa35cf65f1df splits: config/D44J01/rels/d_a_obj_mkiek/splits.txt symbols: config/D44J01/rels/d_a_obj_mkiek/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mkiek.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mknjd.rel hash: 1793e32513e5da03186fac0b74a09263f022e494 splits: config/D44J01/rels/d_a_obj_mknjd/splits.txt symbols: config/D44J01/rels/d_a_obj_mknjd/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mknjd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mmrr.rel hash: b8812be7d244dc0670347c7e6ed5838f4f0f1224 splits: config/D44J01/rels/d_a_obj_mmrr/splits.txt symbols: config/D44J01/rels/d_a_obj_mmrr/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mmrr.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan.rel hash: e6799969705eea3d60dc10d15ccf611a7d2d949b splits: config/D44J01/rels/d_a_obj_msdan/splits.txt symbols: config/D44J01/rels/d_a_obj_msdan/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_msdan.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub.rel hash: e9645264e4a01a70c6cd0168d0786f0ff3f7d88f splits: config/D44J01/rels/d_a_obj_msdan_sub/splits.txt symbols: config/D44J01/rels/d_a_obj_msdan_sub/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_msdan_sub.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub2.rel hash: 1dc316e39d6c37b6e7453ab8b2da2b3c9031707f splits: config/D44J01/rels/d_a_obj_msdan_sub2/splits.txt symbols: config/D44J01/rels/d_a_obj_msdan_sub2/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_msdan_sub2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan2.rel hash: c343a7d7dad21e20e7d2f0fe196b76404fde8417 splits: config/D44J01/rels/d_a_obj_msdan2/splits.txt symbols: config/D44J01/rels/d_a_obj_msdan2/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_msdan2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mtest.rel hash: 7f73181c593da6df2a2f75902750e0e7d7994efd splits: config/D44J01/rels/d_a_obj_mtest/splits.txt symbols: config/D44J01/rels/d_a_obj_mtest/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_mtest.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_nest.rel hash: e04c4b61509b9f662190287df68cc22451437007 splits: config/D44J01/rels/d_a_obj_nest/splits.txt symbols: config/D44J01/rels/d_a_obj_nest/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_nest.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ojtree.rel hash: 83b870f0295d6b2a9489530d582a3b55ccfabf49 splits: config/D44J01/rels/d_a_obj_ojtree/splits.txt symbols: config/D44J01/rels/d_a_obj_ojtree/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ojtree.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ospbox.rel hash: c083b7018e619e0f003032e51c26b6d2350bcb98 splits: config/D44J01/rels/d_a_obj_ospbox/splits.txt symbols: config/D44J01/rels/d_a_obj_ospbox/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_ospbox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_paper.rel hash: 8a1e0aa0ea3d7ea8bc8171b33dfbf273ce6a205c splits: config/D44J01/rels/d_a_obj_paper/splits.txt symbols: config/D44J01/rels/d_a_obj_paper/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_paper.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pbka.rel hash: 5db2061bd9021f46fa9bb623b76d2c9dbe10e410 splits: config/D44J01/rels/d_a_obj_pbka/splits.txt symbols: config/D44J01/rels/d_a_obj_pbka/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_pbka.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pfall.rel hash: 266715c5a643864197fba0ea4d33556a0b4d6121 splits: config/D44J01/rels/d_a_obj_pfall/splits.txt symbols: config/D44J01/rels/d_a_obj_pfall/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_pfall.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_plant.rel hash: a2c0456e78d2a72abb937e7111eab8e276a29018 splits: config/D44J01/rels/d_a_obj_plant/splits.txt symbols: config/D44J01/rels/d_a_obj_plant/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_plant.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rflw.rel hash: fd9a2d1c2c074c6e2d54db16219e1826d6cd80f9 splits: config/D44J01/rels/d_a_obj_rflw/splits.txt symbols: config/D44J01/rels/d_a_obj_rflw/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_rflw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rforce.rel hash: b3913821d296a99a160c4cdeed84c75438c6f130 splits: config/D44J01/rels/d_a_obj_rforce/splits.txt symbols: config/D44J01/rels/d_a_obj_rforce/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_rforce.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_smplbg.rel hash: 6dba9e1cedfe87db0a6c0484cb85805991b166a4 splits: config/D44J01/rels/d_a_obj_smplbg/splits.txt symbols: config/D44J01/rels/d_a_obj_smplbg/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_smplbg.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tapestry.rel hash: c4152eac859b37a04790f6b1ce15282f4ad599bb splits: config/D44J01/rels/d_a_obj_tapestry/splits.txt symbols: config/D44J01/rels/d_a_obj_tapestry/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tapestry.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tntrap.rel hash: 0d770ef5a4b52255e89acdfbf3311e8cf8b32be6 splits: config/D44J01/rels/d_a_obj_tntrap/splits.txt symbols: config/D44J01/rels/d_a_obj_tntrap/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tntrap.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tower.rel hash: b0364013e25f6cbc723948e115311a3a2e565dab splits: config/D44J01/rels/d_a_obj_tower/splits.txt symbols: config/D44J01/rels/d_a_obj_tower/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tower.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_trap.rel hash: 22c6239680865edc7b5fa48037080394a77d297b splits: config/D44J01/rels/d_a_obj_trap/splits.txt symbols: config/D44J01/rels/d_a_obj_trap/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_trap.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tribox.rel hash: 93b8ed916839526cd20d4fbed77b0584f49508af splits: config/D44J01/rels/d_a_obj_tribox/splits.txt symbols: config/D44J01/rels/d_a_obj_tribox/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_tribox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_try.rel hash: a6605850408a74fb5476da451f65b42912f25414 splits: config/D44J01/rels/d_a_obj_try/splits.txt symbols: config/D44J01/rels/d_a_obj_try/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_try.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_usovmc.rel hash: 3cd0a3aec95198be099574d7fe6bd6e03b506273 splits: config/D44J01/rels/d_a_obj_usovmc/splits.txt symbols: config/D44J01/rels/d_a_obj_usovmc/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_usovmc.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vds.rel hash: d41bcf21a5a49ce68bbe4438f6ed24c1504e1e0e splits: config/D44J01/rels/d_a_obj_Vds/splits.txt symbols: config/D44J01/rels/d_a_obj_Vds/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_Vds.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vfan.rel hash: fdd6869f558d922e94db89aa95c18c18a54c69a7 splits: config/D44J01/rels/d_a_obj_vfan/splits.txt symbols: config/D44J01/rels/d_a_obj_vfan/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vfan.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vgnfd.rel hash: d58a83065a89b0c23d88c5ff3e28b63df81240e6 splits: config/D44J01/rels/d_a_obj_vgnfd/splits.txt symbols: config/D44J01/rels/d_a_obj_vgnfd/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vgnfd.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmc.rel hash: 1474222eee832b54c2d603a8ec5786e3b237b4d8 splits: config/D44J01/rels/d_a_obj_vmc/splits.txt symbols: config/D44J01/rels/d_a_obj_vmc/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vmc.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsdz.rel hash: cf8273549020e6ab4b6108a015cdc7e27f41c609 splits: config/D44J01/rels/d_a_obj_vmsdz/splits.txt symbols: config/D44J01/rels/d_a_obj_vmsdz/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vmsdz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsms.rel hash: ce4968313a1276959c09d390e051eaba425f0553 splits: config/D44J01/rels/d_a_obj_vmsms/splits.txt symbols: config/D44J01/rels/d_a_obj_vmsms/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vmsms.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_volcano.rel hash: 16db8c3d0dea6e4d23f2653f10a093b56ff2c9eb splits: config/D44J01/rels/d_a_obj_volcano/splits.txt symbols: config/D44J01/rels/d_a_obj_volcano/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_volcano.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vteng.rel hash: 020efb1bed25306e9a79278b1b1a4abc47c254ff splits: config/D44J01/rels/d_a_obj_Vteng/splits.txt symbols: config/D44J01/rels/d_a_obj_Vteng/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_Vteng.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vtil.rel hash: 11d78d4475ec6530c6e1d3f920f7eb5ab65a9c31 splits: config/D44J01/rels/d_a_obj_vtil/splits.txt symbols: config/D44J01/rels/d_a_obj_vtil/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vtil.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vyasi.rel hash: 316869c15a6ed34d36f827f863491692ba9ad545 splits: config/D44J01/rels/d_a_obj_vyasi/splits.txt symbols: config/D44J01/rels/d_a_obj_vyasi/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_vyasi.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_xfuta.rel hash: 63d1aa68c8b010b4b5f0f8158248d2dce9f3f605 splits: config/D44J01/rels/d_a_obj_xfuta/splits.txt symbols: config/D44J01/rels/d_a_obj_xfuta/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_xfuta.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Yboil.rel hash: 7f615362b6cb41fb9ae46c91ce4e478ce4dad781 splits: config/D44J01/rels/d_a_obj_Yboil/splits.txt symbols: config/D44J01/rels/d_a_obj_Yboil/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_Yboil.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_YLzou.rel hash: 1d7234b4597502cf7d7bab69986c2b89ce5679d2 splits: config/D44J01/rels/d_a_obj_YLzou/splits.txt symbols: config/D44J01/rels/d_a_obj_YLzou/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_YLzou.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_zouK.rel hash: 6dabc1605f97b018e27a12155b5c7a4462c6e25e splits: config/D44J01/rels/d_a_obj_zouK/splits.txt symbols: config/D44J01/rels/d_a_obj_zouK/symbols.txt # map: orig/D44J01/files/maps/d_a_obj_zouK.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_oship.rel hash: 1241aeb86737d9f54a70f77b3088eeeea98243d8 splits: config/D44J01/rels/d_a_oship/splits.txt symbols: config/D44J01/rels/d_a_oship/symbols.txt # map: orig/D44J01/files/maps/d_a_oship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ph.rel hash: f65488e0f059206d612a84f22a50a3647f18d5de splits: config/D44J01/rels/d_a_ph/splits.txt symbols: config/D44J01/rels/d_a_ph/symbols.txt # map: orig/D44J01/files/maps/d_a_ph.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pt.rel hash: 44d0ca5e17c43829e4a49c43ee9b29a08e2f02f1 splits: config/D44J01/rels/d_a_pt/splits.txt symbols: config/D44J01/rels/d_a_pt/symbols.txt # map: orig/D44J01/files/maps/d_a_pt.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pw.rel hash: cca9cb833bba94a48a130400119031ac385446f8 splits: config/D44J01/rels/d_a_pw/splits.txt symbols: config/D44J01/rels/d_a_pw/symbols.txt # map: orig/D44J01/files/maps/d_a_pw.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pz.rel hash: fb8ca0f33f391214192dbddcd8b4815b7431e936 splits: config/D44J01/rels/d_a_pz/splits.txt symbols: config/D44J01/rels/d_a_pz/symbols.txt # map: orig/D44J01/files/maps/d_a_pz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_sail.rel hash: 10ca048441dd9738bf1474aefca1f87b1f02f7ea splits: config/D44J01/rels/d_a_sail/splits.txt symbols: config/D44J01/rels/d_a_sail/symbols.txt # map: orig/D44J01/files/maps/d_a_sail.map + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_sail_DL binary: assets/l_sail_DL.bin @@ -2367,192 +2759,224 @@ modules: splits: config/D44J01/rels/d_a_salvage_tbox/splits.txt symbols: config/D44J01/rels/d_a_salvage_tbox/symbols.txt # map: orig/D44J01/files/maps/d_a_salvage_tbox.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_scene_change.rel hash: 12ac81e16370c695d93de760b2a4d42a2fb64ae4 splits: config/D44J01/rels/d_a_scene_change/splits.txt symbols: config/D44J01/rels/d_a_scene_change/symbols.txt # map: orig/D44J01/files/maps/d_a_scene_change.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_seatag.rel hash: fb30f1ace72d258d67b9be141c6642e35b450eed splits: config/D44J01/rels/d_a_seatag/splits.txt symbols: config/D44J01/rels/d_a_seatag/symbols.txt # map: orig/D44J01/files/maps/d_a_seatag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter.rel hash: 45285874d41c2005ff2cc245792c46736170f84e splits: config/D44J01/rels/d_a_shutter/splits.txt symbols: config/D44J01/rels/d_a_shutter/symbols.txt # map: orig/D44J01/files/maps/d_a_shutter.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter2.rel hash: 226957bee9208b42a24aac420ef1f837a51ff2c9 splits: config/D44J01/rels/d_a_shutter2/splits.txt symbols: config/D44J01/rels/d_a_shutter2/symbols.txt # map: orig/D44J01/files/maps/d_a_shutter2.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_st.rel hash: 5c37e10a6d548b5e6f81ffcaee81cb5d3eda6c42 splits: config/D44J01/rels/d_a_st/splits.txt symbols: config/D44J01/rels/d_a_st/symbols.txt # map: orig/D44J01/files/maps/d_a_st.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_steam_tag.rel hash: c219caded6c39bcb1374e2c3a3caa20ea7464bcb splits: config/D44J01/rels/d_a_steam_tag/splits.txt symbols: config/D44J01/rels/d_a_steam_tag/symbols.txt # map: orig/D44J01/files/maps/d_a_steam_tag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swattack.rel hash: bc1cea315249a0384c975099fdf1d86b8962925e splits: config/D44J01/rels/d_a_swattack/splits.txt symbols: config/D44J01/rels/d_a_swattack/symbols.txt # map: orig/D44J01/files/maps/d_a_swattack.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_switem.rel hash: 9a6d1bc1ee2d0402a6fcdaf26b11b6db7de52db5 splits: config/D44J01/rels/d_a_switem/splits.txt symbols: config/D44J01/rels/d_a_switem/symbols.txt # map: orig/D44J01/files/maps/d_a_switem.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swpropeller.rel hash: d3cb6ba85337882ab68d719a4c61c9b8c0cdb73b splits: config/D44J01/rels/d_a_swpropeller/splits.txt symbols: config/D44J01/rels/d_a_swpropeller/symbols.txt # map: orig/D44J01/files/maps/d_a_swpropeller.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swtact.rel hash: 8010b21bc15a6d33f865633c4fdfb62ee6acdca3 splits: config/D44J01/rels/d_a_swtact/splits.txt symbols: config/D44J01/rels/d_a_swtact/symbols.txt # map: orig/D44J01/files/maps/d_a_swtact.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_etc.rel hash: a51abe71981f4e10dd27b42bfd6cc78d629ed09f splits: config/D44J01/rels/d_a_tag_etc/splits.txt symbols: config/D44J01/rels/d_a_tag_etc/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_etc.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_island.rel hash: 288b7effd117c538367fc611e2d3698cef0498a7 splits: config/D44J01/rels/d_a_tag_island/splits.txt symbols: config/D44J01/rels/d_a_tag_island/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_island.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_kf1.rel hash: f8391737de5fe72d5b8999a463153ce10a53bae6 splits: config/D44J01/rels/d_a_tag_kf1/splits.txt symbols: config/D44J01/rels/d_a_tag_kf1/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_kf1.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_ret.rel hash: fed597f9237bb5d5d264ddecd8416ccc16a1d7de splits: config/D44J01/rels/d_a_tag_ret/splits.txt symbols: config/D44J01/rels/d_a_tag_ret/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_ret.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_volcano.rel hash: 11a7cffb6ef3de6ee27a37ea3f3b0019a5b49368 splits: config/D44J01/rels/d_a_tag_volcano/splits.txt symbols: config/D44J01/rels/d_a_tag_volcano/symbols.txt # map: orig/D44J01/files/maps/d_a_tag_volcano.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_title.rel hash: 057e4aa75319d0155d98fa0c5f5009c025488211 splits: config/D44J01/rels/d_a_title/splits.txt symbols: config/D44J01/rels/d_a_title/symbols.txt # map: orig/D44J01/files/maps/d_a_title.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tn.rel hash: 3aa8430ca87caef3f47bda0001ff5aeb7dd34ba7 splits: config/D44J01/rels/d_a_tn/splits.txt symbols: config/D44J01/rels/d_a_tn/symbols.txt # map: orig/D44J01/files/maps/d_a_tn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_toge.rel hash: 56b64aadce836b0134c601255be314f1c13edd7d splits: config/D44J01/rels/d_a_toge/splits.txt symbols: config/D44J01/rels/d_a_toge/symbols.txt # map: orig/D44J01/files/maps/d_a_toge.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tori_flag.rel hash: 0baf4a1ced9ae9a2610cfa1c7df0a15bbf4c2fbd splits: config/D44J01/rels/d_a_tori_flag/splits.txt symbols: config/D44J01/rels/d_a_tori_flag/symbols.txt # map: orig/D44J01/files/maps/d_a_tori_flag.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wall.rel hash: f44a1a4f5b22406df1170889a3ffcd13f1f01f42 splits: config/D44J01/rels/d_a_wall/splits.txt symbols: config/D44J01/rels/d_a_wall/symbols.txt # map: orig/D44J01/files/maps/d_a_wall.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpfout.rel hash: 13dc68351957b9b562122cae5549c77cc093592a splits: config/D44J01/rels/d_a_warpfout/splits.txt symbols: config/D44J01/rels/d_a_warpfout/symbols.txt # map: orig/D44J01/files/maps/d_a_warpfout.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpgn.rel hash: 0f42faadfb6da799a0b05b1222a97d6d992e0332 splits: config/D44J01/rels/d_a_warpgn/splits.txt symbols: config/D44J01/rels/d_a_warpgn/symbols.txt # map: orig/D44J01/files/maps/d_a_warpgn.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpls.rel hash: 766b89651b58ddd366ea36d0a053aa0153ccb292 splits: config/D44J01/rels/d_a_warpls/splits.txt symbols: config/D44J01/rels/d_a_warpls/symbols.txt # map: orig/D44J01/files/maps/d_a_warpls.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpmj.rel hash: 02b813f24d57e07817edd9e5761e999f66633089 splits: config/D44J01/rels/d_a_warpmj/splits.txt symbols: config/D44J01/rels/d_a_warpmj/symbols.txt # map: orig/D44J01/files/maps/d_a_warpmj.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_waterfall.rel hash: f4c8aa9da54a448bae31cf37645e2ce074638fe4 splits: config/D44J01/rels/d_a_waterfall/splits.txt symbols: config/D44J01/rels/d_a_waterfall/symbols.txt # map: orig/D44J01/files/maps/d_a_waterfall.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_windmill.rel hash: 15346f268b98a9a74bc63fc86fdb677d80c7218d splits: config/D44J01/rels/d_a_windmill/splits.txt symbols: config/D44J01/rels/d_a_windmill/symbols.txt # map: orig/D44J01/files/maps/d_a_windmill.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wz.rel hash: be83228e347944796d83f8bc1bd9e34615276af0 splits: config/D44J01/rels/d_a_wz/splits.txt symbols: config/D44J01/rels/d_a_wz/symbols.txt # map: orig/D44J01/files/maps/d_a_wz.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ygcwp.rel hash: a610bf4470abfac6dbf3c67fa2d1af7068353211 splits: config/D44J01/rels/d_a_ygcwp/splits.txt symbols: config/D44J01/rels/d_a_ygcwp/symbols.txt # map: orig/D44J01/files/maps/d_a_ygcwp.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_yougan.rel hash: a31ee656d36887d62792d6ec11fa30a1cc35b03f splits: config/D44J01/rels/d_a_yougan/splits.txt symbols: config/D44J01/rels/d_a_yougan/symbols.txt # map: orig/D44J01/files/maps/d_a_yougan.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ghostship.rel hash: 07246352e67126b193c80d66fbb2320e02e21739 splits: config/D44J01/rels/d_a_ghostship/splits.txt symbols: config/D44J01/rels/d_a_ghostship/symbols.txt # map: orig/D44J01/files/maps/d_a_ghostship.map + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_movie_player.rel hash: a59f29c45cc7d8fbf4ce566b8a32f7e163d571a3 splits: config/D44J01/rels/d_a_movie_player/splits.txt symbols: config/D44J01/rels/d_a_movie_player/symbols.txt # map: orig/D44J01/files/maps/d_a_movie_player.map + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: black_tex diff --git a/config/D44J01/rels/ldscript.tpl b/config/D44J01/rels/ldscript.tpl new file mode 100644 index 000000000..0614a1912 --- /dev/null +++ b/config/D44J01/rels/ldscript.tpl @@ -0,0 +1,18 @@ +SECTIONS +{ + GROUP: + { + .init :{} + .text ALIGN(0x4):{} + .ctors ALIGN(0x4):{} + .dtors ALIGN(0x4):{} + .rodata ALIGN(0x8):{} + .data ALIGN(0x8):{ *(.data) *(extabindex) *(extab) } + .bss ALIGN(0x8):{} + } +} + +FORCEACTIVE +{ + $FORCEACTIVE +} diff --git a/config/D44J01/symbols.txt b/config/D44J01/symbols.txt index 49eea544e..bb9634361 100644 --- a/config/D44J01/symbols.txt +++ b/config/D44J01/symbols.txt @@ -13828,7 +13828,7 @@ colorTable$7058 = .rodata:0x8033AD6C; // type:object size:0x24 scope:local align @stringBase0 = .rodata:0x8033B258; // type:object size:0x18 scope:local align:4 data:string_table black_tex = .rodata:0x8033B280; // type:object size:0x40 scope:global align:4 msg_data = .rodata:0x8033B2C0; // type:object size:0x220 scope:global align:32 -font_data = .rodata:0x8033B4E0; // type:object size:0x8280 scope:global align:32 +font_data = .rodata:0x8033B4E0; // type:object size:0x8280 scope:global align:32 noreloc @stringBase0 = .rodata:0x80343760; // type:object size:0x39 scope:local align:4 data:string_table @4710 = .rodata:0x803437A0; // type:object size:0x68 scope:local align:4 data:4byte @stringBase0 = .rodata:0x80343808; // type:object size:0x3AF scope:local align:4 data:string_table @@ -14592,8 +14592,8 @@ g_mDoMtx_identity = .data:0x803656D0; // type:object size:0x30 scope:global alig l_invisibleMat$7188 = .data:0x80365720; // type:object size:0x85 scope:local align:32 l_matDL = .data:0x803657C0; // type:object size:0x8D scope:local align:32 l_toonMatDL = .data:0x80365860; // type:object size:0x9C scope:global align:32 -l_mat1DL = .data:0x80365900; // type:object size:0x96 scope:global align:32 -l_toonMat1DL = .data:0x803659A0; // type:object size:0xA5 scope:global align:32 +l_mat1DL = .data:0x80365900; // type:object size:0x96 scope:global align:32 noreloc +l_toonMat1DL = .data:0x803659A0; // type:object size:0xA5 scope:global align:32 noreloc __vt__7JUTFont = .data:0x80365A48; // type:object size:0x44 scope:global align:4 __vt__26mDoExt_3DlineMatSortPacket = .data:0x80365A8C; // type:object size:0x18 scope:global align:4 __vt__19mDoExt_3DlineMat1_c = .data:0x80365AA4; // type:object size:0x14 scope:global align:4 @@ -15016,7 +15016,7 @@ l_vtxAttrFmtList$5109 = .data:0x803704B4; // type:object size:0x20 scope:local a l_shadowVolPos = .data:0x803704D4; // type:object size:0x60 scope:global align:4 l_shadowVolDL = .data:0x80370540; // type:object size:0x4A scope:global align:32 l_shadowProjMat = .data:0x803705A0; // type:object size:0x55 scope:global align:32 -l_shadowVolMat = .data:0x80370600; // type:object size:0x5A scope:global align:32 +l_shadowVolMat = .data:0x80370600; // type:object size:0x5A scope:global align:32 noreloc l_clearMat = .data:0x80370660; // type:object size:0x55 scope:global align:32 l_frontMat = .data:0x803706C0; // type:object size:0x55 scope:global align:32 l_backSubMat = .data:0x80370720; // type:object size:0x3C scope:global align:32 @@ -15725,7 +15725,7 @@ l_fan_wind_sph_src = .data:0x80381FC0; // type:object size:0x40 scope:global ali @4356 = .data:0x80382A20; // type:object size:0xC scope:local align:4 @4357 = .data:0x80382A2C; // type:object size:0xC scope:local align:4 @4358 = .data:0x80382A38; // type:object size:0xC scope:local align:4 -mProcInitTable__9daPy_lk_c = .data:0x80382A44; // type:object size:0xDB0 scope:global align:4 data:4byte +mProcInitTable__9daPy_lk_c = .data:0x80382A44; // type:object size:0xDB0 scope:global align:4 data:4byte noreloc @4359 = .data:0x803837F4; // type:object size:0xC scope:local align:4 @4360 = .data:0x80383800; // type:object size:0xC scope:local align:4 @4361 = .data:0x8038380C; // type:object size:0xC scope:local align:4 @@ -15779,7 +15779,7 @@ mProcInitTable__9daPy_lk_c = .data:0x80382A44; // type:object size:0xDB0 scope:g @4409 = .data:0x80383A4C; // type:object size:0xC scope:local align:4 @4410 = .data:0x80383A58; // type:object size:0xC scope:local align:4 mDemoProcInitFuncTable__9daPy_lk_c = .data:0x80383A64; // type:object size:0x384 scope:global align:4 data:4byte -l_sightDL = .data:0x80383E00; // type:object size:0x89 scope:local align:32 +l_sightDL = .data:0x80383E00; // type:object size:0x89 scope:local align:32 noreloc waterfall_ripple_scale$5686 = .data:0x80383E8C; // type:object size:0xC scope:local align:4 grass_scale$6023 = .data:0x80383E98; // type:object size:0xC scope:local align:4 smoke_scale$6024 = .data:0x80383EA4; // type:object size:0xC scope:local align:4 @@ -16738,7 +16738,7 @@ CUTOFF_TO_IIR_TABLE__Q28JASystem6Player = .data:0x8038C010; // type:object size: sAdsTable__Q28JASystem6Player = .data:0x8038C410; // type:object size:0x18 scope:global align:4 sRelTable__Q28JASystem6Player = .data:0x8038C428; // type:object size:0xC scope:global align:4 sVibTable__Q28JASystem6Player = .data:0x8038C434; // type:object size:0x24 scope:global align:4 -sTreTable__Q28JASystem6Player = .data:0x8038C458; // type:object size:0x24 scope:global align:4 +sTreTable__Q28JASystem6Player = .data:0x8038C458; // type:object size:0x24 scope:global align:4 noreloc ...data.0 = .data:0x8038C480; // type:label scope:local @620 = .data:0x8038C480; // type:object size:0xC scope:local align:4 data:4byte @621 = .data:0x8038C48C; // type:object size:0xC scope:local align:4 @@ -16825,8 +16825,8 @@ calc_sw_table__Q28JASystem6Driver = .data:0x8038CCC8; // type:object size:0x51 s oscTableForceStop__Q28JASystem11TOscillator = .data:0x8038CD60; // type:object size:0xC scope:global align:4 C5BASE_PITCHTABLE__Q28JASystem6Driver = .data:0x8038CD80; // type:object size:0x200 scope:global align:4 DSPADPCM_FILTER__Q28JASystem12DSPInterface = .data:0x8038CF80; // type:object size:0x40 scope:global align:32 -DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x8038CFC0; // type:object size:0x500 scope:global align:32 -jdsp = .data:0x8038D4C0; // type:object size:0x1D20 scope:global align:32 +DSPRES_FILTER__Q28JASystem12DSPInterface = .data:0x8038CFC0; // type:object size:0x500 scope:global align:32 noreloc +jdsp = .data:0x8038D4C0; // type:object size:0x1D20 scope:global align:32 noreloc __vt__13JAIAnimeSound = .data:0x8038F1E0; // type:object size:0x10 scope:global align:4 __vt__8JAIBasic = .data:0x8038F1F0; // type:object size:0x24 scope:global align:4 dummyZeroVec__Q27JAInter5Const = .data:0x8038F218; // type:object size:0xC scope:global align:4 data:float @@ -16909,8 +16909,8 @@ c3bcnt = .data:0x80391278; // type:object size:0x20 scope:global align:8 data:4b sCpuExpName__12JUTException = .data:0x80391298; // type:object size:0x44 scope:global align:4 __vt__12JUTException = .data:0x803912DC; // type:object size:0x10 scope:global align:4 sAsciiTable__14JUTDirectPrint = .data:0x803912F0; // type:object size:0x80 scope:global align:4 -sFontData__14JUTDirectPrint = .data:0x80391370; // type:object size:0x100 scope:global align:4 -sFontData2__14JUTDirectPrint = .data:0x80391470; // type:object size:0x134 scope:global align:4 +sFontData__14JUTDirectPrint = .data:0x80391370; // type:object size:0x100 scope:global align:4 noreloc +sFontData2__14JUTDirectPrint = .data:0x80391470; // type:object size:0x134 scope:global align:4 noreloc __vt__8JUTVideo = .data:0x803915A8; // type:object size:0xC scope:global align:4 __vt__8JUTFader = .data:0x803915B8; // type:object size:0x18 scope:global align:4 __vt__10JUTConsole = .data:0x803915D0; // type:object size:0xC scope:global align:4 @@ -20174,7 +20174,7 @@ M_box_z_max__Q210daTagLight5Act_c = .sdata2:0x803EC1D4; // type:object size:0x4 M_cone_lower__Q210daTagLight5Act_c = .sdata2:0x803EC1D8; // type:object size:0x4 scope:global align:4 data:float M_cone_upper__Q210daTagLight5Act_c = .sdata2:0x803EC1DC; // type:object size:0x4 scope:global align:4 data:float M_cone_r__Q210daTagLight5Act_c = .sdata2:0x803EC1E0; // type:object size:0x4 scope:global align:4 data:float -M_dir_base__Q212daObjMovebox5Act_c = .sdata2:0x803EC1E4; // type:object size:0x8 scope:global align:4 +M_dir_base__Q212daObjMovebox5Act_c = .sdata2:0x803EC1E4; // type:object size:0x8 scope:global align:4 noreloc m_max_rot_speed__12daWindMill_c = .sdata2:0x803EC1EC; // type:object size:0x4 scope:global align:4 m_highscore__11daNpc_Kg1_c = .sdata2:0x803EC1F0; // type:object size:0x1 scope:global align:1 data:byte @4532 = .sdata2:0x803EC1F4; // type:object size:0x4 scope:local align:4 data:float diff --git a/config/GZLE01/config.yml b/config/GZLE01/config.yml index 282819adf..b53089636 100644 --- a/config/GZLE01/config.yml +++ b/config/GZLE01/config.yml @@ -24,206 +24,247 @@ modules: hash: 88e37cb6fc7280b344e4e8383a7a5496181245a1 splits: config/GZLE01/rels/f_pc_profile_lst/splits.txt symbols: config/GZLE01/rels/f_pc_profile_lst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_agbsw0.rel hash: 46f8efd5b8d0d0dc70aa88d9cbfe8181dcb75f3a splits: config/GZLE01/rels/d_a_agbsw0/splits.txt symbols: config/GZLE01/rels/d_a_agbsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw0.rel hash: c1b8c1bea65fdf243c56f5b104e925f08fc4fb0d splits: config/GZLE01/rels/d_a_andsw0/splits.txt symbols: config/GZLE01/rels/d_a_andsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw2.rel hash: ed7cda2668195efeb1986b1ba586b1db1321eb9c splits: config/GZLE01/rels/d_a_andsw2/splits.txt symbols: config/GZLE01/rels/d_a_andsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_att.rel hash: 8c9310474c4ca4655d499d103cc4fa7d0b33fc7e splits: config/GZLE01/rels/d_a_att/splits.txt symbols: config/GZLE01/rels/d_a_att/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bflower.rel hash: f3171c83865f382bbd5e67b3935e5c35fb5678e5 splits: config/GZLE01/rels/d_a_bflower/splits.txt symbols: config/GZLE01/rels/d_a_bflower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bita.rel hash: 0a9f84bb36f828add14f7198c6ef182d87117b4c splits: config/GZLE01/rels/d_a_bita/splits.txt symbols: config/GZLE01/rels/d_a_bita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_branch.rel hash: 12daa00f847eec7db0edcc418f2f4dfef8562870 splits: config/GZLE01/rels/d_a_branch/splits.txt symbols: config/GZLE01/rels/d_a_branch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bridge.rel hash: bcd11fd25408471035c53d2efa70ce015c6fe024 splits: config/GZLE01/rels/d_a_bridge/splits.txt symbols: config/GZLE01/rels/d_a_bridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming2.rel hash: 87771c55aac8782b1fd12c16318bdbdab061dfc9 splits: config/GZLE01/rels/d_a_coming2/splits.txt symbols: config/GZLE01/rels/d_a_coming2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming3.rel hash: 1b83c61c813f1f67722f41ed85cf0182c856a89a splits: config/GZLE01/rels/d_a_coming3/splits.txt symbols: config/GZLE01/rels/d_a_coming3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_dk.rel hash: 508143bca9d7eacfdca12ec4ba93e5897b173d24 splits: config/GZLE01/rels/d_a_demo_dk/splits.txt symbols: config/GZLE01/rels/d_a_demo_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_kmm.rel hash: 18c2ab3b5bb174d00eeec078448ac60cdd4bed12 splits: config/GZLE01/rels/d_a_demo_kmm/splits.txt symbols: config/GZLE01/rels/d_a_demo_kmm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_door10.rel hash: ccb4de128449762f76c2e35c984b2753f1ac7327 splits: config/GZLE01/rels/d_a_door10/splits.txt symbols: config/GZLE01/rels/d_a_door10/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr.rel hash: dd9b37905e681215f03560d824628854979b23d5 splits: config/GZLE01/rels/d_a_dr/splits.txt symbols: config/GZLE01/rels/d_a_dr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr2.rel hash: 4113384ee623a70de33d55ea533ba0c58fb43699 splits: config/GZLE01/rels/d_a_dr2/splits.txt symbols: config/GZLE01/rels/d_a_dr2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ep.rel hash: 4dfff23d54256ef2f6ab20626a424cff885e3b39 splits: config/GZLE01/rels/d_a_ep/splits.txt symbols: config/GZLE01/rels/d_a_ep/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_floor.rel hash: e83432de30b4b80295159b1d6eb5737b7e890e81 splits: config/GZLE01/rels/d_a_floor/splits.txt symbols: config/GZLE01/rels/d_a_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_grass.rel hash: 3d88e2a6f51373a6a2458ce0d58d846abeb94eb6 splits: config/GZLE01/rels/d_a_grass/splits.txt symbols: config/GZLE01/rels/d_a_grass/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hitobj.rel hash: c2e2ea31103aeafe0a8bc2c7463023b9593d58a7 splits: config/GZLE01/rels/d_a_hitobj/splits.txt symbols: config/GZLE01/rels/d_a_hitobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hot_floor.rel hash: 8d8cb52e73990b1d29466cdda6f36ecfe7956a06 splits: config/GZLE01/rels/d_a_hot_floor/splits.txt symbols: config/GZLE01/rels/d_a_hot_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ikari.rel hash: 243211fd67f5fbd211de0dc653251b2856f3d83c splits: config/GZLE01/rels/d_a_ikari/splits.txt symbols: config/GZLE01/rels/d_a_ikari/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_jbo.rel hash: eac83a9d4a485d48ce40b70b0e725af418088e2d splits: config/GZLE01/rels/d_a_jbo/splits.txt symbols: config/GZLE01/rels/d_a_jbo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kaji.rel hash: 92bf3dc43768bd80688aeae0e952c75d0e3bbf40 splits: config/GZLE01/rels/d_a_kaji/splits.txt symbols: config/GZLE01/rels/d_a_kaji/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kanban.rel hash: 2f00570dc71416e3e33ef2520bcba8a32f4f49f1 splits: config/GZLE01/rels/d_a_kanban/splits.txt symbols: config/GZLE01/rels/d_a_kanban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ki.rel hash: 7d0bbad3d3c29dd78c108ed6a278f9ec530230ba splits: config/GZLE01/rels/d_a_ki/splits.txt symbols: config/GZLE01/rels/d_a_ki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_knob00.rel hash: c4de9b1e6e7fc661afe932617939a0c0734a5ed2 splits: config/GZLE01/rels/d_a_knob00/splits.txt symbols: config/GZLE01/rels/d_a_knob00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kui.rel hash: 9e9d7a1258144e9e39dbe5f09546b315975df2a2 splits: config/GZLE01/rels/d_a_kui/splits.txt symbols: config/GZLE01/rels/d_a_kui/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag00.rel hash: 1dfcb08008de037a2dc20466fcd437b1f7345e98 splits: config/GZLE01/rels/d_a_kytag00/splits.txt symbols: config/GZLE01/rels/d_a_kytag00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag01.rel hash: 3808602b8a5e88593aad4e860236e85beaa575b6 splits: config/GZLE01/rels/d_a_kytag01/splits.txt symbols: config/GZLE01/rels/d_a_kytag01/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag02.rel hash: c027b7bec5d02675be19c6c281f637992790c786 splits: config/GZLE01/rels/d_a_kytag02/splits.txt symbols: config/GZLE01/rels/d_a_kytag02/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag03.rel hash: 40608efd87b1810889bac297c54270df997f755d splits: config/GZLE01/rels/d_a_kytag03/splits.txt symbols: config/GZLE01/rels/d_a_kytag03/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag04.rel hash: e3dbc9b0b3605fd4aad17b9d8e2dc47451847220 splits: config/GZLE01/rels/d_a_kytag04/splits.txt symbols: config/GZLE01/rels/d_a_kytag04/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag05.rel hash: 8ae1cfaeab68d94a6dfab68469db3cba65679468 splits: config/GZLE01/rels/d_a_kytag05/splits.txt symbols: config/GZLE01/rels/d_a_kytag05/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag06.rel hash: fae0697ec01e4294b264b2e81c1cf34dcd7cc4b5 splits: config/GZLE01/rels/d_a_kytag06/splits.txt symbols: config/GZLE01/rels/d_a_kytag06/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag07.rel hash: 8ab573b67a4c760c4c7af87a13e55010712469f3 splits: config/GZLE01/rels/d_a_kytag07/splits.txt symbols: config/GZLE01/rels/d_a_kytag07/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lamp.rel hash: 6c7724634674381cddd83fbf5048e890084527a1 splits: config/GZLE01/rels/d_a_lamp/splits.txt symbols: config/GZLE01/rels/d_a_lamp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lod_bg.rel hash: 18fc91dbef845d2268dc14d4822855f64bacb23f splits: config/GZLE01/rels/d_a_lod_bg/splits.txt symbols: config/GZLE01/rels/d_a_lod_bg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lwood.rel hash: 0044dab2ff6ccc8833de46f70db2334d3ee86491 splits: config/GZLE01/rels/d_a_lwood/splits.txt symbols: config/GZLE01/rels/d_a_lwood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_magma.rel hash: d617acaec65f3aed50e92541cd32754576006e9c splits: config/GZLE01/rels/d_a_magma/splits.txt symbols: config/GZLE01/rels/d_a_magma/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_majuu_flag.rel hash: 9844a606bcebcceaeff329256665eea72d5aa970 splits: config/GZLE01/rels/d_a_majuu_flag/splits.txt symbols: config/GZLE01/rels/d_a_majuu_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_flag02TEX binary: assets/l_flag02TEX.bin @@ -239,221 +280,265 @@ modules: hash: 8ae182c9556fdcd2c21205738af5d83acc903b4a splits: config/GZLE01/rels/d_a_mdoor/splits.txt symbols: config/GZLE01/rels/d_a_mdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_msw.rel hash: f84e086e3a678a4cdb976cf4ea9e2a18d7ed6b16 splits: config/GZLE01/rels/d_a_msw/splits.txt symbols: config/GZLE01/rels/d_a_msw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_mtoge.rel hash: 253a46fafb2e16748ef70fadf753ea71d73b1b3d splits: config/GZLE01/rels/d_a_mtoge/splits.txt symbols: config/GZLE01/rels/d_a_mtoge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_AjavW.rel hash: 0ec3788868bd4a0c84a10777db24926ced958ec4 splits: config/GZLE01/rels/d_a_obj_AjavW/splits.txt symbols: config/GZLE01/rels/d_a_obj_AjavW/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_Ygush00.rel hash: 7e1fbf08ae77f1933e5a69566a3d1700d4c8e218 splits: config/GZLE01/rels/d_a_obj_Ygush00/splits.txt symbols: config/GZLE01/rels/d_a_obj_Ygush00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_akabe.rel hash: 9ece9189f94dcd504e4613d5217edc704561b28b splits: config/GZLE01/rels/d_a_obj_akabe/splits.txt symbols: config/GZLE01/rels/d_a_obj_akabe/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel.rel hash: 9984919bf2255e285eaeb1ef47b17a9f50300318 splits: config/GZLE01/rels/d_a_obj_barrel/splits.txt symbols: config/GZLE01/rels/d_a_obj_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel2.rel hash: 09bd4c40ed03efaef46dfad42ebcdc93dfe0fb8e splits: config/GZLE01/rels/d_a_obj_barrel2/splits.txt symbols: config/GZLE01/rels/d_a_obj_barrel2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_bscurtain.rel hash: 7a2e7ffac861b0720e6c8b0ee9d01f7b87e9fd62 splits: config/GZLE01/rels/d_a_obj_bscurtain/splits.txt symbols: config/GZLE01/rels/d_a_obj_bscurtain/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_cafelmp.rel hash: f6f87b761dd845d15ea10d7770e52b3a130577aa splits: config/GZLE01/rels/d_a_obj_cafelmp/splits.txt symbols: config/GZLE01/rels/d_a_obj_cafelmp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_coming.rel hash: f2d4fe3f575dbbf3d203256f4d453712b35c0341 splits: config/GZLE01/rels/d_a_obj_coming/splits.txt symbols: config/GZLE01/rels/d_a_obj_coming/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_demo_barrel.rel hash: 34e59a7cfdf5562cac9c8eccb5f5124de2aabd52 splits: config/GZLE01/rels/d_a_obj_demo_barrel/splits.txt symbols: config/GZLE01/rels/d_a_obj_demo_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu.rel hash: 355bb910ece0f6ecaf9b3a44b76f4b7d31c21dd0 splits: config/GZLE01/rels/d_a_obj_doguu/splits.txt symbols: config/GZLE01/rels/d_a_obj_doguu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu_demo.rel hash: 5d1aa2493e202c31be4063335291ad7e4b9ef2a6 splits: config/GZLE01/rels/d_a_obj_doguu_demo/splits.txt symbols: config/GZLE01/rels/d_a_obj_doguu_demo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_gryw00.rel hash: b9846f6357afcec5fca98e02e1b14a2c2203607e splits: config/GZLE01/rels/d_a_obj_gryw00/splits.txt symbols: config/GZLE01/rels/d_a_obj_gryw00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hfuck1.rel hash: 116bb34ea5dd99416f68370048d848b219ef3f40 splits: config/GZLE01/rels/d_a_obj_hfuck1/splits.txt symbols: config/GZLE01/rels/d_a_obj_hfuck1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hole.rel hash: 92dbbbfee57404eb6d800764634cb251c96c10c9 splits: config/GZLE01/rels/d_a_obj_hole/splits.txt symbols: config/GZLE01/rels/d_a_obj_hole/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ice.rel hash: 5a8614b64ab870e40edd3fd108ee807f117e3b51 splits: config/GZLE01/rels/d_a_obj_ice/splits.txt symbols: config/GZLE01/rels/d_a_obj_ice/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ikada.rel hash: 5bb6e6dcd7b7be0800b40d79043669f5b0713bb7 splits: config/GZLE01/rels/d_a_obj_ikada/splits.txt symbols: config/GZLE01/rels/d_a_obj_ikada/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_kanat.rel hash: 017e5e39fc4bd42e3a183b47b8036e1bc4161a87 splits: config/GZLE01/rels/d_a_obj_kanat/splits.txt symbols: config/GZLE01/rels/d_a_obj_kanat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_leaves.rel hash: e3c2ba80eb3f2956d41ae40ba9ce516035cdcf47 splits: config/GZLE01/rels/d_a_obj_leaves/splits.txt symbols: config/GZLE01/rels/d_a_obj_leaves/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_lpalm.rel hash: 56e749f499e0d7baf8cc038913ea79aefc254c57 splits: config/GZLE01/rels/d_a_obj_lpalm/splits.txt symbols: config/GZLE01/rels/d_a_obj_lpalm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_monument.rel hash: 633cdff4f5bce18d8a03bdcb282c4471b5b87128 splits: config/GZLE01/rels/d_a_obj_monument/splits.txt symbols: config/GZLE01/rels/d_a_obj_monument/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_movebox.rel hash: 700571e3ea76cb6d78fdbb3e801942eb5c78087a splits: config/GZLE01/rels/d_a_obj_movebox/splits.txt symbols: config/GZLE01/rels/d_a_obj_movebox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_mshokki.rel hash: 088c50569aae59b069b4a1492d6ddd9cdef7ceeb splits: config/GZLE01/rels/d_a_obj_mshokki/splits.txt symbols: config/GZLE01/rels/d_a_obj_mshokki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ohatch.rel hash: c5952a0baf99c6b3e86933010c9786f58a232c92 splits: config/GZLE01/rels/d_a_obj_ohatch/splits.txt symbols: config/GZLE01/rels/d_a_obj_ohatch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_otble.rel hash: 8e73abf039b30c8679410ccae45e7eb05625d0ea splits: config/GZLE01/rels/d_a_obj_otble/splits.txt symbols: config/GZLE01/rels/d_a_obj_otble/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pbco.rel hash: efc72db2087bd71ab86cf81d32228019d7037973 splits: config/GZLE01/rels/d_a_obj_pbco/splits.txt symbols: config/GZLE01/rels/d_a_obj_pbco/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pirateship.rel hash: 2b0fc024ac3c96932a1e8d3f73bdaf1defed2dcd splits: config/GZLE01/rels/d_a_obj_pirateship/splits.txt symbols: config/GZLE01/rels/d_a_obj_pirateship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_quake.rel hash: 404ed0bdda38e5a2107a878bf5a839aeecfa78f5 splits: config/GZLE01/rels/d_a_obj_quake/splits.txt symbols: config/GZLE01/rels/d_a_obj_quake/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_rcloud.rel hash: 5eb5ba609adc975a33a719d7db2ef6decf76c46a splits: config/GZLE01/rels/d_a_obj_rcloud/splits.txt symbols: config/GZLE01/rels/d_a_obj_rcloud/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_roten.rel hash: 95aae2f0583bc33d269e36e348fc6d75e20e49c9 splits: config/GZLE01/rels/d_a_obj_roten/splits.txt symbols: config/GZLE01/rels/d_a_obj_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shelf.rel hash: be793572fbc664316a161ac018bfae423adbaece splits: config/GZLE01/rels/d_a_obj_shelf/splits.txt symbols: config/GZLE01/rels/d_a_obj_shelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shmrgrd.rel hash: eb2977a7e69685133ed4e278ce7767f0a2b315ec splits: config/GZLE01/rels/d_a_obj_shmrgrd/splits.txt symbols: config/GZLE01/rels/d_a_obj_shmrgrd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_swpush.rel hash: 8cd8acf7f5a41ca881c75c6be38741b8b5c00bc3 splits: config/GZLE01/rels/d_a_obj_swpush/splits.txt symbols: config/GZLE01/rels/d_a_obj_swpush/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_table.rel hash: b1989778ba9b2ed48f0d65309bb29be8e97053a5 splits: config/GZLE01/rels/d_a_obj_table/splits.txt symbols: config/GZLE01/rels/d_a_obj_table/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tenmado.rel hash: 12ffe1e53fac154580ded398ab2b6e82855bedf0 splits: config/GZLE01/rels/d_a_obj_tenmado/splits.txt symbols: config/GZLE01/rels/d_a_obj_tenmado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tide.rel hash: db86a48088a74a306deddbb3f5a07be0c716cb38 splits: config/GZLE01/rels/d_a_obj_tide/splits.txt symbols: config/GZLE01/rels/d_a_obj_tide/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_timer.rel hash: 0404822dc26698ec0019b3e211adfca53994746a splits: config/GZLE01/rels/d_a_obj_timer/splits.txt symbols: config/GZLE01/rels/d_a_obj_timer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_toripost.rel hash: b87a681642c8cab52b1aa06ee8fc1d8db38bdab4 splits: config/GZLE01/rels/d_a_obj_toripost/splits.txt symbols: config/GZLE01/rels/d_a_obj_toripost/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tousekiki.rel hash: 7e59ea5c79c12a947a641a54508c96aa63ad226d splits: config/GZLE01/rels/d_a_obj_tousekiki/splits.txt symbols: config/GZLE01/rels/d_a_obj_tousekiki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_warpt.rel hash: e9d4cc1d0363ed67cce917d3c8b203c1ea9b59a3 splits: config/GZLE01/rels/d_a_obj_warpt/splits.txt symbols: config/GZLE01/rels/d_a_obj_warpt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_wood.rel hash: d0521f34e2895997d5ed1886092fe0262e6da8a3 splits: config/GZLE01/rels/d_a_obj_wood/splits.txt symbols: config/GZLE01/rels/d_a_obj_wood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_pirate_flag.rel hash: ad8581d91ce176c711a4db6a7862e2be510c0645 splits: config/GZLE01/rels/d_a_pirate_flag/splits.txt symbols: config/GZLE01/rels/d_a_pirate_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_pirate_flag_DL binary: assets/l_pirate_flag_DL.bin @@ -466,586 +551,703 @@ modules: hash: b553b2f13391ba3a3d24f4e41458ab3b46734a6d splits: config/GZLE01/rels/d_a_race_item/splits.txt symbols: config/GZLE01/rels/d_a_race_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rd.rel hash: c83f0aa65ddc40a757907d0352e4f933e9a6cd89 splits: config/GZLE01/rels/d_a_rd/splits.txt symbols: config/GZLE01/rels/d_a_rd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rectangle.rel hash: 3b941a6b059cf80f97b54fd17eea1063da36d5ac splits: config/GZLE01/rels/d_a_rectangle/splits.txt symbols: config/GZLE01/rels/d_a_rectangle/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_salvage.rel hash: 25bb12a9db4a9be0361d54c47aaedb23ba6ae030 splits: config/GZLE01/rels/d_a_salvage/splits.txt symbols: config/GZLE01/rels/d_a_salvage/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sbox.rel hash: e5b13d07cd1f1a3eff730f8f6536e194cabee513 splits: config/GZLE01/rels/d_a_sbox/splits.txt symbols: config/GZLE01/rels/d_a_sbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk.rel hash: 05057f35479ffc59693d65c1753431827c63c48e splits: config/GZLE01/rels/d_a_sk/splits.txt symbols: config/GZLE01/rels/d_a_sk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk2.rel hash: 97c0859d0c889721fd33a4e88a0b7e6accb657ba splits: config/GZLE01/rels/d_a_sk2/splits.txt symbols: config/GZLE01/rels/d_a_sk2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_spotbox.rel hash: 89bd9a406e154bba90c1d1bf8b5ebf64559135bf splits: config/GZLE01/rels/d_a_spotbox/splits.txt symbols: config/GZLE01/rels/d_a_spotbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ssk.rel hash: 7364b473efb8e083f86d68863730d5ec6521f689 splits: config/GZLE01/rels/d_a_ssk/splits.txt symbols: config/GZLE01/rels/d_a_ssk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone.rel hash: df3983a2706c20b2b2108ded08a33cc85049bb4f splits: config/GZLE01/rels/d_a_stone/splits.txt symbols: config/GZLE01/rels/d_a_stone/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone2.rel hash: bbed8c9bd485864128acff77be2764d5bf455e71 splits: config/GZLE01/rels/d_a_stone2/splits.txt symbols: config/GZLE01/rels/d_a_stone2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swc00.rel hash: f38ee2786180be0b6b99e40f844db724e026de26 splits: config/GZLE01/rels/d_a_swc00/splits.txt symbols: config/GZLE01/rels/d_a_swc00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swhit0.rel hash: d3ff83786e2a851775a9743670faa60519b232f5 splits: config/GZLE01/rels/d_a_swhit0/splits.txt symbols: config/GZLE01/rels/d_a_swhit0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swtdoor.rel hash: 15d6b9023d2974eb0440cff8312fb1c0b78a71e5 splits: config/GZLE01/rels/d_a_swtdoor/splits.txt symbols: config/GZLE01/rels/d_a_swtdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_attention.rel hash: 2a5189f5c7f413559f14529a91476f2ec787cd37 splits: config/GZLE01/rels/d_a_tag_attention/splits.txt symbols: config/GZLE01/rels/d_a_tag_attention/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ba1.rel hash: 51aec7a67f533910bc0cdf45eb93362a2338cf5b splits: config/GZLE01/rels/d_a_tag_ba1/splits.txt symbols: config/GZLE01/rels/d_a_tag_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_event.rel hash: d1c848de8f94ba2543394aa244992fd859492fa5 splits: config/GZLE01/rels/d_a_tag_event/splits.txt symbols: config/GZLE01/rels/d_a_tag_event/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_evsw.rel hash: f46aa9549ea3944fae5f80b80e82e9a31cb9b9e3 splits: config/GZLE01/rels/d_a_tag_evsw/splits.txt symbols: config/GZLE01/rels/d_a_tag_evsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ghostship.rel hash: 46d4ccc46f6c8dee1d985363459479d6772d52eb splits: config/GZLE01/rels/d_a_tag_ghostship/splits.txt symbols: config/GZLE01/rels/d_a_tag_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_hint.rel hash: 59fe00c4461fa6f05c9e8e60588d66790a7040fc splits: config/GZLE01/rels/d_a_tag_hint/splits.txt symbols: config/GZLE01/rels/d_a_tag_hint/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kb_item.rel hash: f671de17e1e3224c114c3842b951ff501e3daf6f splits: config/GZLE01/rels/d_a_tag_kb_item/splits.txt symbols: config/GZLE01/rels/d_a_tag_kb_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kk1.rel hash: 865e98076501ceec1272ab8f62d03c13b84c5310 splits: config/GZLE01/rels/d_a_tag_kk1/splits.txt symbols: config/GZLE01/rels/d_a_tag_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_light.rel hash: f21112f85a3d8715ac43a6abd61153d31f4ce5c7 splits: config/GZLE01/rels/d_a_tag_light/splits.txt symbols: config/GZLE01/rels/d_a_tag_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_msg.rel hash: 15522ab00f7235d6e518695062fe80fdb28eae85 splits: config/GZLE01/rels/d_a_tag_msg/splits.txt symbols: config/GZLE01/rels/d_a_tag_msg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_photo.rel hash: a8c2de0f5dccab3cf2b107de8e1a8bbc47f6fc69 splits: config/GZLE01/rels/d_a_tag_photo/splits.txt symbols: config/GZLE01/rels/d_a_tag_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_waterlevel.rel hash: 76c60b5d66462719c07cd1c23cad877354e8098e splits: config/GZLE01/rels/d_a_tag_waterlevel/splits.txt symbols: config/GZLE01/rels/d_a_tag_waterlevel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tama.rel hash: 29a16689a11b5306f70a98549d1822ea5cc2e46d splits: config/GZLE01/rels/d_a_tama/splits.txt symbols: config/GZLE01/rels/d_a_tama/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tbox.rel hash: b7414851aebfc41929ac82aa09343117831fbc57 splits: config/GZLE01/rels/d_a_tbox/splits.txt symbols: config/GZLE01/rels/d_a_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tpota.rel hash: 230a1afc76e65d8118d7654f7e7d3abf1efd0f8f splits: config/GZLE01/rels/d_a_tpota/splits.txt symbols: config/GZLE01/rels/d_a_tpota/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tsubo.rel hash: 9df15d56d53c2653d02d960c50f373defde4334e splits: config/GZLE01/rels/d_a_tsubo/splits.txt symbols: config/GZLE01/rels/d_a_tsubo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warpdm20.rel hash: d413c95b71b768929d2dfdf3e9cd6a5509d38764 splits: config/GZLE01/rels/d_a_warpdm20/splits.txt symbols: config/GZLE01/rels/d_a_warpdm20/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warphr.rel hash: 54ea41665df8cac46f13d228d2a6aec3e2f0836e splits: config/GZLE01/rels/d_a_warphr/splits.txt symbols: config/GZLE01/rels/d_a_warphr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_wbird.rel hash: 559b8dd224f8e07eec4d9fc893cf4383ebee5595 splits: config/GZLE01/rels/d_a_wbird/splits.txt symbols: config/GZLE01/rels/d_a_wbird/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ykgr.rel hash: a8c10fec3f1d7118c04643e64a26ab1c53f758be splits: config/GZLE01/rels/d_a_ykgr/splits.txt symbols: config/GZLE01/rels/d_a_ykgr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_alldie.rel hash: 875766bb690bfd89e6831d33d70fe460cda99b15 splits: config/GZLE01/rels/d_a_alldie/splits.txt symbols: config/GZLE01/rels/d_a_alldie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am.rel hash: 68dcecd70230f8f35120ad8ce169054bd6276223 splits: config/GZLE01/rels/d_a_am/splits.txt symbols: config/GZLE01/rels/d_a_am/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am2.rel hash: 155357f82808b60b57757a7244cf441de07f2aa8 splits: config/GZLE01/rels/d_a_am2/splits.txt symbols: config/GZLE01/rels/d_a_am2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_amiprop.rel hash: 8e30a63dd742a1b7b90ea88caa825195d53fd15f splits: config/GZLE01/rels/d_a_amiprop/splits.txt symbols: config/GZLE01/rels/d_a_amiprop/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_iceeff.rel hash: 762d362ade2f502f045aa8a6b4d2a2e74133bcee splits: config/GZLE01/rels/d_a_arrow_iceeff/splits.txt symbols: config/GZLE01/rels/d_a_arrow_iceeff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_lighteff.rel hash: 49ae2623f911ab1360045bd9f076847d01d19807 splits: config/GZLE01/rels/d_a_arrow_lighteff/splits.txt symbols: config/GZLE01/rels/d_a_arrow_lighteff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_beam.rel hash: ae23acf6f515e8772cd179324dcd7d35b8b372a9 splits: config/GZLE01/rels/d_a_beam/splits.txt symbols: config/GZLE01/rels/d_a_beam/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_boko.rel hash: 3d8283b9ca65975cd519d07eabd81dc36a328831 splits: config/GZLE01/rels/d_a_boko/splits.txt symbols: config/GZLE01/rels/d_a_boko/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_canon.rel hash: 043d2c0c12874d7859673353762f0c8a66c7d00a splits: config/GZLE01/rels/d_a_canon/splits.txt symbols: config/GZLE01/rels/d_a_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_cc.rel hash: 7b421a49d69206df3384784c62757f866417963f splits: config/GZLE01/rels/d_a_cc/splits.txt symbols: config/GZLE01/rels/d_a_cc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_dai.rel hash: 69141723b6dfff95499bf4279cc2d256eb4d0f49 splits: config/GZLE01/rels/d_a_dai/splits.txt symbols: config/GZLE01/rels/d_a_dai/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_demo_item.rel hash: 1bd373f3fd6b4698719065144185f162d5381ff2 splits: config/GZLE01/rels/d_a_demo_item/splits.txt symbols: config/GZLE01/rels/d_a_demo_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_door12.rel hash: 013c2be3ac965e59abebaf0d5a61fbcccccc3b4f splits: config/GZLE01/rels/d_a_door12/splits.txt symbols: config/GZLE01/rels/d_a_door12/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_fallrock.rel hash: e122ced607436ba12ecf7e6009c46b1dd5fc7b9d splits: config/GZLE01/rels/d_a_fallrock/splits.txt symbols: config/GZLE01/rels/d_a_fallrock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ff.rel hash: a25ce9dc73f33cbbedb471621d9f689c644ae85c splits: config/GZLE01/rels/d_a_ff/splits.txt symbols: config/GZLE01/rels/d_a_ff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_gy_ctrl.rel hash: e48b1f5dfe6110d49424136528a36beb9b2635a9 splits: config/GZLE01/rels/d_a_gy_ctrl/splits.txt symbols: config/GZLE01/rels/d_a_gy_ctrl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_himo3.rel hash: 6162dd3beca421c7b1e6bcaa12a90dac04e89cd1 splits: config/GZLE01/rels/d_a_himo3/splits.txt symbols: config/GZLE01/rels/d_a_himo3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hmlif.rel hash: 3a44137c88b7dbea282fbed70d700652104e860a splits: config/GZLE01/rels/d_a_hmlif/splits.txt symbols: config/GZLE01/rels/d_a_hmlif/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hys.rel hash: b3fbd35249333ba1d091e525723559d0729bf496 splits: config/GZLE01/rels/d_a_hys/splits.txt symbols: config/GZLE01/rels/d_a_hys/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kamome.rel hash: cd56b6248c5f2694638f619fa0e944934eb2221d splits: config/GZLE01/rels/d_a_kamome/splits.txt symbols: config/GZLE01/rels/d_a_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kantera.rel hash: f785fc26465e1f085bc74dde942d2cc15e5f07ba splits: config/GZLE01/rels/d_a_kantera/splits.txt symbols: config/GZLE01/rels/d_a_kantera/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kn.rel hash: f21d6e22490cae447c742a37d52a5724d033af9c splits: config/GZLE01/rels/d_a_kn/splits.txt symbols: config/GZLE01/rels/d_a_kn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kokiie.rel hash: 9ccea792ba908cf43f9a198f19dd76b6f06fcf53 splits: config/GZLE01/rels/d_a_kokiie/splits.txt symbols: config/GZLE01/rels/d_a_kokiie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ks.rel hash: 9b50d4be7cc08103452ac05808abacfcf03e4991 splits: config/GZLE01/rels/d_a_ks/splits.txt symbols: config/GZLE01/rels/d_a_ks/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kt.rel hash: e1a45001d430dcdeaf66cafab0e4fd899d6d8a82 splits: config/GZLE01/rels/d_a_kt/splits.txt symbols: config/GZLE01/rels/d_a_kt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_mflft.rel hash: b7f0196df617ce65e85771c16b2c4fb1c2c6aa9f splits: config/GZLE01/rels/d_a_mflft/splits.txt symbols: config/GZLE01/rels/d_a_mflft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_cb1.rel hash: 0c68c357feecaf5d314c30fea0290d5832714a5b splits: config/GZLE01/rels/d_a_npc_cb1/splits.txt symbols: config/GZLE01/rels/d_a_npc_cb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_md.rel hash: a14227eaf82b67fc532e03fe850181f0d66b6d58 splits: config/GZLE01/rels/d_a_npc_md/splits.txt symbols: config/GZLE01/rels/d_a_npc_md/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_so.rel hash: dad717a5da27e7c168e18fb5af8bbd85b8c71200 splits: config/GZLE01/rels/d_a_npc_so/splits.txt symbols: config/GZLE01/rels/d_a_npc_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_nzg.rel hash: 75d436f2002bd2e271e631974a95e1dbd67c0b34 splits: config/GZLE01/rels/d_a_nzg/splits.txt symbols: config/GZLE01/rels/d_a_nzg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_aygr.rel hash: 99bb50cf45aeb620ac05e843cad0ae79a5c7a63b splits: config/GZLE01/rels/d_a_obj_aygr/splits.txt symbols: config/GZLE01/rels/d_a_obj_aygr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_balancelift.rel hash: 0d081173f9f0b87a2f3729184a453c72a2901477 splits: config/GZLE01/rels/d_a_obj_balancelift/splits.txt symbols: config/GZLE01/rels/d_a_obj_balancelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_barrier.rel hash: 2ef931af8dbfc5ce1969415ae4801c9e62886b45 splits: config/GZLE01/rels/d_a_obj_barrier/splits.txt symbols: config/GZLE01/rels/d_a_obj_barrier/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_bemos.rel hash: 9c9b3636b859aa4dd022c88e53cf995a17d38660 splits: config/GZLE01/rels/d_a_obj_bemos/splits.txt symbols: config/GZLE01/rels/d_a_obj_bemos/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_canon.rel hash: ffcf102ba8f937b796b3968fd38c3d044fffc1df splits: config/GZLE01/rels/d_a_obj_canon/splits.txt symbols: config/GZLE01/rels/d_a_obj_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_eff.rel hash: 13922592d35c32e44749082a08b07df4bf531b52 splits: config/GZLE01/rels/d_a_obj_eff/splits.txt symbols: config/GZLE01/rels/d_a_obj_eff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_magmarock.rel hash: 037485a8659fd1455d9852875fde1f4c88444aa4 splits: config/GZLE01/rels/d_a_obj_magmarock/splits.txt symbols: config/GZLE01/rels/d_a_obj_magmarock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_majyuu_door.rel hash: e07e9497a2090f8df53c54455591bd07de11d862 splits: config/GZLE01/rels/d_a_obj_majyuu_door/splits.txt symbols: config/GZLE01/rels/d_a_obj_majyuu_door/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_stair.rel hash: a99dbbcd3054921bb5d395d7dfad1ca7f6a498b8 splits: config/GZLE01/rels/d_a_obj_stair/splits.txt symbols: config/GZLE01/rels/d_a_obj_stair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swflat.rel hash: 42c863754e7fc75bdf1ac07fdc3fcdfd3dd8b724 splits: config/GZLE01/rels/d_a_obj_swflat/splits.txt symbols: config/GZLE01/rels/d_a_obj_swflat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swhammer.rel hash: bc4ada62a90538a59f0334dd572b5bb12926e3ab splits: config/GZLE01/rels/d_a_obj_swhammer/splits.txt symbols: config/GZLE01/rels/d_a_obj_swhammer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swheavy.rel hash: 01d2a8e7c3da867bc5cc4dd05ff2aa41053cdb48 splits: config/GZLE01/rels/d_a_obj_swheavy/splits.txt symbols: config/GZLE01/rels/d_a_obj_swheavy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swlight.rel hash: 5e549be0b9a44ed559c37f26fdba17d26b5e07a4 splits: config/GZLE01/rels/d_a_obj_swlight/splits.txt symbols: config/GZLE01/rels/d_a_obj_swlight/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_oq.rel hash: 51b036fd99f22ea8e24b92d554367f6e166e0d53 splits: config/GZLE01/rels/d_a_oq/splits.txt symbols: config/GZLE01/rels/d_a_oq/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_pedestal.rel hash: 2f74b85ca38160269aa238e711d1ba19eb8ab7ee splits: config/GZLE01/rels/d_a_pedestal/splits.txt symbols: config/GZLE01/rels/d_a_pedestal/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_saku.rel hash: 75567b90c0ea4c8d1d321bd099682aed1b471b6b splits: config/GZLE01/rels/d_a_saku/splits.txt symbols: config/GZLE01/rels/d_a_saku/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_seatag.rel hash: f49d24ec93f2b2817b1924d1d316181bfcd9514d splits: config/GZLE01/rels/d_a_seatag/splits.txt symbols: config/GZLE01/rels/d_a_seatag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shand.rel hash: 9adf981c1ec6ab396427bdb35f384821fc23d72f splits: config/GZLE01/rels/d_a_shand/splits.txt symbols: config/GZLE01/rels/d_a_shand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ship.rel hash: 3011cb92707b33bc1431e42627e7cf3685735826 splits: config/GZLE01/rels/d_a_ship/splits.txt symbols: config/GZLE01/rels/d_a_ship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shop_item.rel hash: 9614ced240f1f7d2e22b9248fbfe4c6657c67471 splits: config/GZLE01/rels/d_a_shop_item/splits.txt symbols: config/GZLE01/rels/d_a_shop_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sie_flag.rel hash: 0711ab6c6273685edf644866c3ed3454fb515e10 splits: config/GZLE01/rels/d_a_sie_flag/splits.txt symbols: config/GZLE01/rels/d_a_sie_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sitem.rel hash: 69e3cc28beb7d91281cacff950fa06ceadd905e2 splits: config/GZLE01/rels/d_a_sitem/splits.txt symbols: config/GZLE01/rels/d_a_sitem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ss.rel hash: ae5a109955e92595367eb93e174a864e5efd3aa6 splits: config/GZLE01/rels/d_a_ss/splits.txt symbols: config/GZLE01/rels/d_a_ss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sss.rel hash: bdbfeb4e24df7cfcc6cb3b4c8aa73758cc341632 splits: config/GZLE01/rels/d_a_sss/splits.txt symbols: config/GZLE01/rels/d_a_sss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_syan.rel hash: ba627c968c339a9225a2199e02d5815db0456b69 splits: config/GZLE01/rels/d_a_syan/splits.txt symbols: config/GZLE01/rels/d_a_syan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_md_cb.rel hash: e8e40bf899de6599014fcb17e771b9aa76a91e14 splits: config/GZLE01/rels/d_a_tag_md_cb/splits.txt symbols: config/GZLE01/rels/d_a_tag_md_cb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_mk.rel hash: 88a42b17ae35c44316b6e1fb774c93889714cf84 splits: config/GZLE01/rels/d_a_tag_mk/splits.txt symbols: config/GZLE01/rels/d_a_tag_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_so.rel hash: c5f1f683bc0985bfcfdccfe874e83b8935018b90 splits: config/GZLE01/rels/d_a_tag_so/splits.txt symbols: config/GZLE01/rels/d_a_tag_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tornado.rel hash: db442c028ee83078db892385a43a47b7af01c042 splits: config/GZLE01/rels/d_a_tornado/splits.txt symbols: config/GZLE01/rels/d_a_tornado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_warpf.rel hash: ed92bdca118823b9f33db84ead3a8c6a33862f0b splits: config/GZLE01/rels/d_a_warpf/splits.txt symbols: config/GZLE01/rels/d_a_warpf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_wind_tag.rel hash: 39edcd1b125ed5cb901f167da67570e5d8d8693d splits: config/GZLE01/rels/d_a_wind_tag/splits.txt symbols: config/GZLE01/rels/d_a_wind_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_acorn_leaf.rel hash: 12fd13f95ddb65a54f869d85cbb463e3ee2f0e06 splits: config/GZLE01/rels/d_a_acorn_leaf/splits.txt symbols: config/GZLE01/rels/d_a_acorn_leaf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_atdoor.rel hash: af6619547236a2597ecb869e04c14e268b7d4e4b splits: config/GZLE01/rels/d_a_atdoor/splits.txt symbols: config/GZLE01/rels/d_a_atdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_auction.rel hash: a1dfdef7fa2c830ff7c6dc77e07a7e79523ab94d splits: config/GZLE01/rels/d_a_auction/splits.txt symbols: config/GZLE01/rels/d_a_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bb.rel hash: 4271e18f447d7b2d2b052a1ae4e0f0862052269f splits: config/GZLE01/rels/d_a_bb/splits.txt symbols: config/GZLE01/rels/d_a_bb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdk.rel hash: 05100a1b95433f4c5469482fc5d37d3c361d12cf splits: config/GZLE01/rels/d_a_bdk/splits.txt symbols: config/GZLE01/rels/d_a_bdk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdkobj.rel hash: d4c82614b7aa52da203955ed36c49e3e8fab9042 splits: config/GZLE01/rels/d_a_bdkobj/splits.txt symbols: config/GZLE01/rels/d_a_bdkobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn.rel hash: 15f2795d5262d293c4f91e49db7637c096a8cbbb splits: config/GZLE01/rels/d_a_bgn/splits.txt symbols: config/GZLE01/rels/d_a_bgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn2.rel hash: b9dc1b897cfe9355d63eafbc6b53bf4f617beea5 splits: config/GZLE01/rels/d_a_bgn2/splits.txt symbols: config/GZLE01/rels/d_a_bgn2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn3.rel hash: 00d848da04655d1f2fbac2a23d25eacbab89f93c splits: config/GZLE01/rels/d_a_bgn3/splits.txt symbols: config/GZLE01/rels/d_a_bgn3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bigelf.rel hash: 613af7b8121aaa027dcf25639915e8b9c4e85f71 splits: config/GZLE01/rels/d_a_bigelf/splits.txt symbols: config/GZLE01/rels/d_a_bigelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bk.rel hash: fda389bf39e075e55a2db7dd3d75fc4a20c4ee7d splits: config/GZLE01/rels/d_a_bk/splits.txt symbols: config/GZLE01/rels/d_a_bk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bl.rel hash: 2c3c191c7bd3a0240314de5b9a1fd210eac95d32 splits: config/GZLE01/rels/d_a_bl/splits.txt symbols: config/GZLE01/rels/d_a_bl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmd.rel hash: 76a3d64509395e971bce6ceb026bfc28a675e15e splits: config/GZLE01/rels/d_a_bmd/splits.txt symbols: config/GZLE01/rels/d_a_bmd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdfoot.rel hash: c61dc3b7979476aa5fb26ab6ed895fc7ee72e487 splits: config/GZLE01/rels/d_a_bmdfoot/splits.txt symbols: config/GZLE01/rels/d_a_bmdfoot/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdhand.rel hash: 3456d704ae979b9d4abb0772f0cad88f205d0368 splits: config/GZLE01/rels/d_a_bmdhand/splits.txt symbols: config/GZLE01/rels/d_a_bmdhand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bo.rel hash: 6b3c04a17f3bd2e369a2a95237351524a5d87f74 splits: config/GZLE01/rels/d_a_bo/splits.txt symbols: config/GZLE01/rels/d_a_bo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_boss_item.rel hash: 016a3fb3472b981ca1eeeb69696e9a1f68a93e25 splits: config/GZLE01/rels/d_a_boss_item/splits.txt symbols: config/GZLE01/rels/d_a_boss_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bpw.rel hash: a4ba3b520dda8b196ad4a8a493d171dae4f85288 splits: config/GZLE01/rels/d_a_bpw/splits.txt symbols: config/GZLE01/rels/d_a_bpw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bst.rel hash: 6579192cc5bc34e8fb2ee44ed81da3ff1db5b827 splits: config/GZLE01/rels/d_a_bst/splits.txt symbols: config/GZLE01/rels/d_a_bst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_btd.rel hash: df178b3f94fd3689d450c36582c91d7b08062402 splits: config/GZLE01/rels/d_a_btd/splits.txt symbols: config/GZLE01/rels/d_a_btd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwd.rel hash: b2eaaba784ddd95e392fd1a337406478981eaa46 splits: config/GZLE01/rels/d_a_bwd/splits.txt symbols: config/GZLE01/rels/d_a_bwd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwdg.rel hash: 7cef0d0967ffbdae93dfc4a28ef0b8a672b052c9 splits: config/GZLE01/rels/d_a_bwdg/splits.txt symbols: config/GZLE01/rels/d_a_bwdg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_B_sand2TEX binary: assets/l_B_sand2TEX.bin @@ -1066,912 +1268,1094 @@ modules: hash: 8b66ae454ccfa973424e666bc6f4e9d9e1521263 splits: config/GZLE01/rels/d_a_bwds/splits.txt symbols: config/GZLE01/rels/d_a_bwds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta.rel hash: adc0c5c5cc5eb184efe0f6c0106d01dbe2a31430 splits: config/GZLE01/rels/d_a_daiocta/splits.txt symbols: config/GZLE01/rels/d_a_daiocta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta_eye.rel hash: 10ed583f4c931321cc11d873e64f17b94b9aa30a splits: config/GZLE01/rels/d_a_daiocta_eye/splits.txt symbols: config/GZLE01/rels/d_a_daiocta_eye/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_deku_item.rel hash: 0d8a8209a52451800a0a494ef8a3389d5e4b451c splits: config/GZLE01/rels/d_a_deku_item/splits.txt symbols: config/GZLE01/rels/d_a_deku_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dk.rel hash: ab4e9fb93b70ebb628b22a19bc4d16e12cbc9423 splits: config/GZLE01/rels/d_a_dk/splits.txt symbols: config/GZLE01/rels/d_a_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dummy.rel hash: 5a7b98114d4eb6e575bc1a29f70b12e278288adb splits: config/GZLE01/rels/d_a_dummy/splits.txt symbols: config/GZLE01/rels/d_a_dummy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fallrock_tag.rel hash: ae78eca4828ab787daf458f18f26eb46e2c9938d splits: config/GZLE01/rels/d_a_fallrock_tag/splits.txt symbols: config/GZLE01/rels/d_a_fallrock_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fan.rel hash: 3908bb08f7632f51473f989812d112d491c44d1a splits: config/GZLE01/rels/d_a_fan/splits.txt symbols: config/GZLE01/rels/d_a_fan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fganon.rel hash: 6c2e45cbb86f5344313374344239f5e636239be1 splits: config/GZLE01/rels/d_a_fganon/splits.txt symbols: config/GZLE01/rels/d_a_fganon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fgmahou.rel hash: cf93508645c20cebd1e71584d95d3e1fa7a7b6c6 splits: config/GZLE01/rels/d_a_fgmahou/splits.txt symbols: config/GZLE01/rels/d_a_fgmahou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fire.rel hash: 89d3d1d0445c47165f2dcfdac1ec3885b20c93c1 splits: config/GZLE01/rels/d_a_fire/splits.txt symbols: config/GZLE01/rels/d_a_fire/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fm.rel hash: 9f23fbd14486f28a9d99967df78155dc1d76b89e splits: config/GZLE01/rels/d_a_fm/splits.txt symbols: config/GZLE01/rels/d_a_fm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gm.rel hash: 5af6759c654039e50885d527bc5d4fd07043fc06 splits: config/GZLE01/rels/d_a_gm/splits.txt symbols: config/GZLE01/rels/d_a_gm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gnd.rel hash: 2f417c5f7fd5e968ad8e7d3dd02bbc0629334213 splits: config/GZLE01/rels/d_a_gnd/splits.txt symbols: config/GZLE01/rels/d_a_gnd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_goal_flag.rel hash: 360285b55c8d8d9353c8c027bcfcc90c368f86b4 splits: config/GZLE01/rels/d_a_goal_flag/splits.txt symbols: config/GZLE01/rels/d_a_goal_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gy.rel hash: 6acc3205358c2770f479b59e282a84e1826874ab splits: config/GZLE01/rels/d_a_gy/splits.txt symbols: config/GZLE01/rels/d_a_gy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_icelift.rel hash: 0ed2e45794dc2f68c9c51ce97e0fdcd31b143174 splits: config/GZLE01/rels/d_a_icelift/splits.txt symbols: config/GZLE01/rels/d_a_icelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kb.rel hash: d72d6433bc16550c1f518dd82d54c6c8bf21c555 splits: config/GZLE01/rels/d_a_kb/splits.txt symbols: config/GZLE01/rels/d_a_kb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kddoor.rel hash: 9e7416aa212ba5385444fd4773bbe4d268dd59eb splits: config/GZLE01/rels/d_a_kddoor/splits.txt symbols: config/GZLE01/rels/d_a_kddoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kita.rel hash: 69c8760f94682b546017a12527fd644bd1203550 splits: config/GZLE01/rels/d_a_kita/splits.txt symbols: config/GZLE01/rels/d_a_kita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_klft.rel hash: 7b9bc0c8561c2bd9b823b04379f21f4d458f6b2f splits: config/GZLE01/rels/d_a_klft/splits.txt symbols: config/GZLE01/rels/d_a_klft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kmon.rel hash: bc1d9a0129932c6654345968ee3fb4dd9c48eca8 splits: config/GZLE01/rels/d_a_kmon/splits.txt symbols: config/GZLE01/rels/d_a_kmon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_komore.rel hash: abc58acb47ede6b1ade63b71f15e374f8ff77c9b splits: config/GZLE01/rels/d_a_komore/splits.txt symbols: config/GZLE01/rels/d_a_komore/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lbridge.rel hash: c945922ab23b413bdde05da08abcdf15f57edc8b splits: config/GZLE01/rels/d_a_lbridge/splits.txt symbols: config/GZLE01/rels/d_a_lbridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_leaflift.rel hash: 302f618b1c678611f1c3e232c2ff43c7d82fb909 splits: config/GZLE01/rels/d_a_leaflift/splits.txt symbols: config/GZLE01/rels/d_a_leaflift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lstair.rel hash: c22728306e2a8e5d07485c1bcfd3562a9defa0ee splits: config/GZLE01/rels/d_a_lstair/splits.txt symbols: config/GZLE01/rels/d_a_lstair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_machine.rel hash: 1794e6e83f8b841128f16c2d88f974a7e73f2b49 splits: config/GZLE01/rels/d_a_machine/splits.txt symbols: config/GZLE01/rels/d_a_machine/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mant.rel hash: a565cdff34a1346c7db964d795179b81ece22ef8 splits: config/GZLE01/rels/d_a_mant/splits.txt symbols: config/GZLE01/rels/d_a_mant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mbdoor.rel hash: f07a1af7794a199099020a4112ea538a3aa6731c splits: config/GZLE01/rels/d_a_mbdoor/splits.txt symbols: config/GZLE01/rels/d_a_mbdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mgameboard.rel hash: acfece5ca2eb54b87c8aa581e5722fbc8f6a6c52 splits: config/GZLE01/rels/d_a_mgameboard/splits.txt symbols: config/GZLE01/rels/d_a_mgameboard/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mmusic.rel hash: c7633a66fe7dd485276416cc00b375147f494079 splits: config/GZLE01/rels/d_a_mmusic/splits.txt symbols: config/GZLE01/rels/d_a_mmusic/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mo2.rel hash: abeeca78ea5d4fe979eb04395020fb02a5902024 splits: config/GZLE01/rels/d_a_mo2/splits.txt symbols: config/GZLE01/rels/d_a_mo2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mozo.rel hash: dbb8c7b1836212b8ac327595d06dc8182cdf8cf5 splits: config/GZLE01/rels/d_a_mozo/splits.txt symbols: config/GZLE01/rels/d_a_mozo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mt.rel hash: 9d7de8625389ef01cb34539efc782f2a0d0aeda1 splits: config/GZLE01/rels/d_a_mt/splits.txt symbols: config/GZLE01/rels/d_a_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ac1.rel hash: 3d4d7da43dde47d8de9538c3434f5edff05fa193 splits: config/GZLE01/rels/d_a_npc_ac1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ac1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ah.rel hash: 735b9ca1c78f892e19c918bdadbff72c076598c6 splits: config/GZLE01/rels/d_a_npc_ah/splits.txt symbols: config/GZLE01/rels/d_a_npc_ah/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_aj1.rel hash: 5f4efe2ab0e1aee2cb460d262fbf9b06d369e0f1 splits: config/GZLE01/rels/d_a_npc_aj1/splits.txt symbols: config/GZLE01/rels/d_a_npc_aj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_auction.rel hash: 08e0d7a1a0989ad3e84b8643168f9434f67c2c78 splits: config/GZLE01/rels/d_a_npc_auction/splits.txt symbols: config/GZLE01/rels/d_a_npc_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ba1.rel hash: 7f75a2ebc8a8ee6db432f427d7968866ba7ab42e splits: config/GZLE01/rels/d_a_npc_ba1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bj1.rel hash: 853c12800f9e9819a444528fb7e711fe7ad83265 splits: config/GZLE01/rels/d_a_npc_bj1/splits.txt symbols: config/GZLE01/rels/d_a_npc_bj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bm1.rel hash: 4633f6bcdfed7afde122081e8d95decd23701fbe splits: config/GZLE01/rels/d_a_npc_bm1/splits.txt symbols: config/GZLE01/rels/d_a_npc_bm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmcon1.rel hash: 9505dfa62acefdd1f4ccf8debc8a331ef5dfffba splits: config/GZLE01/rels/d_a_npc_bmcon1/splits.txt symbols: config/GZLE01/rels/d_a_npc_bmcon1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bms1.rel hash: f3f6584dfe4be210348d34e9a0f5e84672c5fed7 splits: config/GZLE01/rels/d_a_npc_bms1/splits.txt symbols: config/GZLE01/rels/d_a_npc_bms1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmsw.rel hash: 00a818918b0603448887f64e03d2241466a7e8c1 splits: config/GZLE01/rels/d_a_npc_bmsw/splits.txt symbols: config/GZLE01/rels/d_a_npc_bmsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bs1.rel hash: babd7102e1bb5d15d214b849bfe780b36c297595 splits: config/GZLE01/rels/d_a_npc_bs1/splits.txt symbols: config/GZLE01/rels/d_a_npc_bs1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw.rel hash: e7eaf3c72df6ace4cac7df2a347844bb192a86ec splits: config/GZLE01/rels/d_a_npc_btsw/splits.txt symbols: config/GZLE01/rels/d_a_npc_btsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw2.rel hash: ecc751a2de3407bd4208953f58630085009eaa9b splits: config/GZLE01/rels/d_a_npc_btsw2/splits.txt symbols: config/GZLE01/rels/d_a_npc_btsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_co1.rel hash: 4bb2b119cc9c58dcaf591d66eb94a1db964c5120 splits: config/GZLE01/rels/d_a_npc_co1/splits.txt symbols: config/GZLE01/rels/d_a_npc_co1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_de1.rel hash: 4ab1a0a2e2c941005588f296ef1667637471c9d0 splits: config/GZLE01/rels/d_a_npc_de1/splits.txt symbols: config/GZLE01/rels/d_a_npc_de1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ds1.rel hash: 61b13ea0a94800717398b123307e462868af343b splits: config/GZLE01/rels/d_a_npc_ds1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ds1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gk1.rel hash: 92242dab744acb6b4913401f97bd1fb3caadf29c splits: config/GZLE01/rels/d_a_npc_gk1/splits.txt symbols: config/GZLE01/rels/d_a_npc_gk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gp1.rel hash: d7b3c1b99a37f12370d5f0adc8a35c17b17ae76b splits: config/GZLE01/rels/d_a_npc_gp1/splits.txt symbols: config/GZLE01/rels/d_a_npc_gp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hi1.rel hash: b7615cb5be0c2cf0cbfee9b661599a35717f79ca splits: config/GZLE01/rels/d_a_npc_hi1/splits.txt symbols: config/GZLE01/rels/d_a_npc_hi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ho.rel hash: f672ebfce63a8ae9a50aca2f27197d38e114ae6c splits: config/GZLE01/rels/d_a_npc_ho/splits.txt symbols: config/GZLE01/rels/d_a_npc_ho/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hr.rel hash: 8a8d78519dfb6f2b8c10b56a8da519272845167c splits: config/GZLE01/rels/d_a_npc_hr/splits.txt symbols: config/GZLE01/rels/d_a_npc_hr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_jb1.rel hash: d95d1915c292fe7269c0b79b89d4965e754dc4a1 splits: config/GZLE01/rels/d_a_npc_jb1/splits.txt symbols: config/GZLE01/rels/d_a_npc_jb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ji1.rel hash: 15c7701d3ad1029835db127e90b93ff40586a096 splits: config/GZLE01/rels/d_a_npc_ji1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ji1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kamome.rel hash: 6422280d2f80ef13fed632b3ef1bfb411fe99777 splits: config/GZLE01/rels/d_a_npc_kamome/splits.txt symbols: config/GZLE01/rels/d_a_npc_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kf1.rel hash: 9b219f658b887591784a4b9f168f3c8e954b8c6d splits: config/GZLE01/rels/d_a_npc_kf1/splits.txt symbols: config/GZLE01/rels/d_a_npc_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg1.rel hash: 4a93d6c2c52d1092a84bffefb931f3ae420bb7da splits: config/GZLE01/rels/d_a_npc_kg1/splits.txt symbols: config/GZLE01/rels/d_a_npc_kg1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg2.rel hash: da1d8fa5d3e425145c6bb1a07020fa924beedd69 splits: config/GZLE01/rels/d_a_npc_kg2/splits.txt symbols: config/GZLE01/rels/d_a_npc_kg2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kk1.rel hash: 4277973fc6fb8dbbe471ff2401e2159a25b9a69e splits: config/GZLE01/rels/d_a_npc_kk1/splits.txt symbols: config/GZLE01/rels/d_a_npc_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_km1.rel hash: 06154726d5ff028d1a3e6761db853e5fa798962b splits: config/GZLE01/rels/d_a_npc_km1/splits.txt symbols: config/GZLE01/rels/d_a_npc_km1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ko1.rel hash: 82f9531de272a8101a6a1d54db137fda24b8ff9a splits: config/GZLE01/rels/d_a_npc_ko1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ko1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kp1.rel hash: 0117ed66a815e539d63f50d79d3d35c431feb3cb splits: config/GZLE01/rels/d_a_npc_kp1/splits.txt symbols: config/GZLE01/rels/d_a_npc_kp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ls1.rel hash: eb10a1fea7765f31baaf645d65fcfacdfc2323f9 splits: config/GZLE01/rels/d_a_npc_ls1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ls1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mk.rel hash: 7739746d38260e48055219fc012c1e69beb9b5d6 splits: config/GZLE01/rels/d_a_npc_mk/splits.txt symbols: config/GZLE01/rels/d_a_npc_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mn.rel hash: af5d2bb56fe66331b32df22361dc70709a2cf461 splits: config/GZLE01/rels/d_a_npc_mn/splits.txt symbols: config/GZLE01/rels/d_a_npc_mn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mt.rel hash: a1db6eb3f3f2ea448dc9e77955bc803e61b2feb7 splits: config/GZLE01/rels/d_a_npc_mt/splits.txt symbols: config/GZLE01/rels/d_a_npc_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_nz.rel hash: 3c3f81a0effe776446db8df021b6882694a5d548 splits: config/GZLE01/rels/d_a_npc_nz/splits.txt symbols: config/GZLE01/rels/d_a_npc_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ob1.rel hash: a1f385eff7e3ab4f0c154eb5dd98e251e0981e62 splits: config/GZLE01/rels/d_a_npc_ob1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ob1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_os.rel hash: 05827c5abde17f897bc0f3fc92fdbf521a7835f7 splits: config/GZLE01/rels/d_a_npc_os/splits.txt symbols: config/GZLE01/rels/d_a_npc_os/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p1.rel hash: 343f381025d7a30e3e45fc0bf5e713dbf084aec7 splits: config/GZLE01/rels/d_a_npc_p1/splits.txt symbols: config/GZLE01/rels/d_a_npc_p1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p2.rel hash: 0edeed200522ab838be151fbdc7d56cd37426d6d splits: config/GZLE01/rels/d_a_npc_p2/splits.txt symbols: config/GZLE01/rels/d_a_npc_p2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_people.rel hash: eeaf48bb9fd2fc743c35f8fd5054b35109b83b00 splits: config/GZLE01/rels/d_a_npc_people/splits.txt symbols: config/GZLE01/rels/d_a_npc_people/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pf1.rel hash: 8533eca3d31212e7debef92c572d417914796a92 splits: config/GZLE01/rels/d_a_npc_pf1/splits.txt symbols: config/GZLE01/rels/d_a_npc_pf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_photo.rel hash: 96185fdbc36e025b15142112bd0949a2b02cac7f splits: config/GZLE01/rels/d_a_npc_photo/splits.txt symbols: config/GZLE01/rels/d_a_npc_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pm1.rel hash: cf4d1f43629b26fa032b20811637eaa240975e9c splits: config/GZLE01/rels/d_a_npc_pm1/splits.txt symbols: config/GZLE01/rels/d_a_npc_pm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_roten.rel hash: 7cdcff3323306f14b8a35a3b8c1e80bebe141160 splits: config/GZLE01/rels/d_a_npc_roten/splits.txt symbols: config/GZLE01/rels/d_a_npc_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_rsh1.rel hash: 944af3de38c5488983c0a69ecc570035c7ba0478 splits: config/GZLE01/rels/d_a_npc_rsh1/splits.txt symbols: config/GZLE01/rels/d_a_npc_rsh1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sarace.rel hash: 4025d1e266f188b604f04b915f2ff47594dc26a0 splits: config/GZLE01/rels/d_a_npc_sarace/splits.txt symbols: config/GZLE01/rels/d_a_npc_sarace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sv.rel hash: 4a591d552e8a6378fcb2e7159d9483919ad178ce splits: config/GZLE01/rels/d_a_npc_sv/splits.txt symbols: config/GZLE01/rels/d_a_npc_sv/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tc.rel hash: c5f975667b7d9536d3e72ac7d87536fa4a622851 splits: config/GZLE01/rels/d_a_npc_tc/splits.txt symbols: config/GZLE01/rels/d_a_npc_tc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tt.rel hash: f8223a819c110088d6c498e6cff5e1af60320712 splits: config/GZLE01/rels/d_a_npc_tt/splits.txt symbols: config/GZLE01/rels/d_a_npc_tt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_uk.rel hash: 9c25075e53936bdfbe469f2d55847b649cec26ac splits: config/GZLE01/rels/d_a_npc_uk/splits.txt symbols: config/GZLE01/rels/d_a_npc_uk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl force_active: [__register_global_object] # TODO why does this get stripped? - object: files/rels/d_a_npc_ym1.rel hash: b503b8d448de0902a5bee0bd727ed021e0199255 splits: config/GZLE01/rels/d_a_npc_ym1/splits.txt symbols: config/GZLE01/rels/d_a_npc_ym1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_yw1.rel hash: 1d75bb55f265f6a4dc59cedbef8731f1d54f5d88 splits: config/GZLE01/rels/d_a_npc_yw1/splits.txt symbols: config/GZLE01/rels/d_a_npc_yw1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zk1.rel hash: 146a9e95fa1ac8124deb1be301f17352da0a717f splits: config/GZLE01/rels/d_a_npc_zk1/splits.txt symbols: config/GZLE01/rels/d_a_npc_zk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zl1.rel hash: cfc5cffcde35d53dea121f12cf4448914d883bfb splits: config/GZLE01/rels/d_a_npc_zl1/splits.txt symbols: config/GZLE01/rels/d_a_npc_zl1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_nz.rel hash: 928e1d4ed848e63814032155d7f5b9393c4a7919 splits: config/GZLE01/rels/d_a_nz/splits.txt symbols: config/GZLE01/rels/d_a_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Itnak.rel hash: 48adc21f619cc9dd046598a4fee6790c912cdb69 splits: config/GZLE01/rels/d_a_obj_Itnak/splits.txt symbols: config/GZLE01/rels/d_a_obj_Itnak/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vds.rel hash: aec57286d833182415f7fec89f847320a954935a splits: config/GZLE01/rels/d_a_obj_Vds/splits.txt symbols: config/GZLE01/rels/d_a_obj_Vds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vteng.rel hash: 9d4afaa5df250835c22bf3c01f2a8307d8faab60 splits: config/GZLE01/rels/d_a_obj_Vteng/splits.txt symbols: config/GZLE01/rels/d_a_obj_Vteng/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_YLzou.rel hash: e8bb88e17e42b2390c304c907c95c21ee53497cb splits: config/GZLE01/rels/d_a_obj_YLzou/splits.txt symbols: config/GZLE01/rels/d_a_obj_YLzou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Yboil.rel hash: 98cdbde3467512c8b7dc29ab3bfbca2c96861212 splits: config/GZLE01/rels/d_a_obj_Yboil/splits.txt symbols: config/GZLE01/rels/d_a_obj_Yboil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_adnno.rel hash: 1279270042967358dd521bc0918594c94f303359 splits: config/GZLE01/rels/d_a_obj_adnno/splits.txt symbols: config/GZLE01/rels/d_a_obj_adnno/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ajav.rel hash: 88cf68cf15a5f0c302ca3a3769612bbf8a3ea8cf splits: config/GZLE01/rels/d_a_obj_ajav/splits.txt symbols: config/GZLE01/rels/d_a_obj_ajav/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_apzl.rel hash: 92a9aada67205d41d76cff6702667744b89d42c3 splits: config/GZLE01/rels/d_a_obj_apzl/splits.txt symbols: config/GZLE01/rels/d_a_obj_apzl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ashut.rel hash: 21af49715e17f25684a3ca76f9f9be51dfbbf6d6 splits: config/GZLE01/rels/d_a_obj_ashut/splits.txt symbols: config/GZLE01/rels/d_a_obj_ashut/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_auzu.rel hash: 6275b3db68d6c95a81add912801d028403ec88ed splits: config/GZLE01/rels/d_a_obj_auzu/splits.txt symbols: config/GZLE01/rels/d_a_obj_auzu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyflag.rel hash: a4db26857f985f6a3c963e183e6be28bf37e46c3 splits: config/GZLE01/rels/d_a_obj_buoyflag/splits.txt symbols: config/GZLE01/rels/d_a_obj_buoyflag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyrace.rel hash: ed1ff984da5d16f78e940ee60b44f32892193ec7 splits: config/GZLE01/rels/d_a_obj_buoyrace/splits.txt symbols: config/GZLE01/rels/d_a_obj_buoyrace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_correct.rel hash: bee1e391e6671de26e973729ea60ef8cc6b932d9 splits: config/GZLE01/rels/d_a_obj_correct/splits.txt symbols: config/GZLE01/rels/d_a_obj_correct/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dmgroom.rel hash: e3b5fa60b321c1a096fe93e7814b3a3502623124 splits: config/GZLE01/rels/d_a_obj_dmgroom/splits.txt symbols: config/GZLE01/rels/d_a_obj_dmgroom/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dragonhead.rel hash: bd06b54258b5e8635f6c8480e7f97d3f400d69af splits: config/GZLE01/rels/d_a_obj_dragonhead/splits.txt symbols: config/GZLE01/rels/d_a_obj_dragonhead/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_drift.rel hash: c4bc8cc042e00dc6113ee693184d06bfbf5abf3b splits: config/GZLE01/rels/d_a_obj_drift/splits.txt symbols: config/GZLE01/rels/d_a_obj_drift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eayogn.rel hash: 81ed380359959d9fd9ac1f9e28e0cbb71a9550f1 splits: config/GZLE01/rels/d_a_obj_eayogn/splits.txt symbols: config/GZLE01/rels/d_a_obj_eayogn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ebomzo.rel hash: bafe3dd7c56e1c5ae6b508f4a89043602af9af9e splits: config/GZLE01/rels/d_a_obj_ebomzo/splits.txt symbols: config/GZLE01/rels/d_a_obj_ebomzo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ekskz.rel hash: 43001f802a72aa39022283d84e5dc36de0ca6238 splits: config/GZLE01/rels/d_a_obj_ekskz/splits.txt symbols: config/GZLE01/rels/d_a_obj_ekskz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eskban.rel hash: f847bae767ce79d7e6aa03d8e4b26a9ac0ffa729 splits: config/GZLE01/rels/d_a_obj_eskban/splits.txt symbols: config/GZLE01/rels/d_a_obj_eskban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ferris.rel hash: 8fdb4f40e99df651bdb83eed1feb61f7114d9acc splits: config/GZLE01/rels/d_a_obj_ferris/splits.txt symbols: config/GZLE01/rels/d_a_obj_ferris/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_figure.rel hash: 64b48e34bb28e90c01dbed53768f23df07ace619 splits: config/GZLE01/rels/d_a_obj_figure/splits.txt symbols: config/GZLE01/rels/d_a_obj_figure/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_firewall.rel hash: 9b14aae34b27948771d22487cd9e7ca204d0701b splits: config/GZLE01/rels/d_a_obj_firewall/splits.txt symbols: config/GZLE01/rels/d_a_obj_firewall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_flame.rel hash: f539c704bd9cdc9da4a2d22cb68bf2c088379092 splits: config/GZLE01/rels/d_a_obj_flame/splits.txt symbols: config/GZLE01/rels/d_a_obj_flame/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ftree.rel hash: 1cef407af87cb0b38a1f31f6488c32221edcc8e1 splits: config/GZLE01/rels/d_a_obj_ftree/splits.txt symbols: config/GZLE01/rels/d_a_obj_ftree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ganonbed.rel hash: 94efc1dd774acb134037d63ada64c3bb7da573ca splits: config/GZLE01/rels/d_a_obj_ganonbed/splits.txt symbols: config/GZLE01/rels/d_a_obj_ganonbed/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship.rel hash: c23053cba0b8633f4f3ee87ac5248d0508400068 splits: config/GZLE01/rels/d_a_obj_gaship/splits.txt symbols: config/GZLE01/rels/d_a_obj_gaship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship2.rel hash: b651baa88a5d923ad6c014eb765e15ad96f850c0 splits: config/GZLE01/rels/d_a_obj_gaship2/splits.txt symbols: config/GZLE01/rels/d_a_obj_gaship2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnnbtltaki.rel hash: 2a6b9b275206bb5ae5e2f143a678154eaa09037b splits: config/GZLE01/rels/d_a_obj_gnnbtltaki/splits.txt symbols: config/GZLE01/rels/d_a_obj_gnnbtltaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakie.rel hash: d3af5871f38cffa1041dbac2a4488ffbf62eb0ba splits: config/GZLE01/rels/d_a_obj_gnndemotakie/splits.txt symbols: config/GZLE01/rels/d_a_obj_gnndemotakie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakis.rel hash: aa7342a2fa81a804df0f81d286c637b674e76366 splits: config/GZLE01/rels/d_a_obj_gnndemotakis/splits.txt symbols: config/GZLE01/rels/d_a_obj_gnndemotakis/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gong.rel hash: 62824e31f36d1d55ba192af534bc3d4d4d42105e splits: config/GZLE01/rels/d_a_obj_gong/splits.txt symbols: config/GZLE01/rels/d_a_obj_gong/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gtaki.rel hash: bbe9c6ef8c2a41851c1fc0e1c1c23191a308163f splits: config/GZLE01/rels/d_a_obj_gtaki/splits.txt symbols: config/GZLE01/rels/d_a_obj_gtaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami2.rel hash: de364dda26847a39e8570d030efb587284e70c7e splits: config/GZLE01/rels/d_a_obj_hami2/splits.txt symbols: config/GZLE01/rels/d_a_obj_hami2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami3.rel hash: 3109df9e8b56c32db34bfd1bd354452ff7a10b59 splits: config/GZLE01/rels/d_a_obj_hami3/splits.txt symbols: config/GZLE01/rels/d_a_obj_hami3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami4.rel hash: 208abe439dd7e83181362ee5b185b6d7530e38d9 splits: config/GZLE01/rels/d_a_obj_hami4/splits.txt symbols: config/GZLE01/rels/d_a_obj_hami4/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hat.rel hash: 89dafc8ffcbc023e1138631d16d71c27cec29e8f splits: config/GZLE01/rels/d_a_obj_hat/splits.txt symbols: config/GZLE01/rels/d_a_obj_hat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hbrf1.rel hash: 6b04b06646081cf291cdf9e73e11782c7802a2ac splits: config/GZLE01/rels/d_a_obj_hbrf1/splits.txt symbols: config/GZLE01/rels/d_a_obj_hbrf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hcbh.rel hash: 026335caaa145c0e89a1dd0ae1ebfbb5e561b2c6 splits: config/GZLE01/rels/d_a_obj_hcbh/splits.txt symbols: config/GZLE01/rels/d_a_obj_hcbh/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hha.rel hash: f3d6309eba148bf150f258118c2bf6353bf1dddb splits: config/GZLE01/rels/d_a_obj_hha/splits.txt symbols: config/GZLE01/rels/d_a_obj_hha/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hlift.rel hash: ce66b98067082761874fb507347cdfc8966aa36c splits: config/GZLE01/rels/d_a_obj_hlift/splits.txt symbols: config/GZLE01/rels/d_a_obj_hlift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homen.rel hash: 58d8b08b0881d03e2786cab518b9d811b5dbbf57 splits: config/GZLE01/rels/d_a_obj_homen/splits.txt symbols: config/GZLE01/rels/d_a_obj_homen/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homensmoke.rel hash: 5789866cdf66188879324d097937fcacb4892cad splits: config/GZLE01/rels/d_a_obj_homensmoke/splits.txt symbols: config/GZLE01/rels/d_a_obj_homensmoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hsehi1.rel hash: 5407db478a0c2160b9c85fa36d840245d71b57e3 splits: config/GZLE01/rels/d_a_obj_hsehi1/splits.txt symbols: config/GZLE01/rels/d_a_obj_hsehi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_htetu1.rel hash: 2c48c0104108867da4fcd521ac74285c307e4175 splits: config/GZLE01/rels/d_a_obj_htetu1/splits.txt symbols: config/GZLE01/rels/d_a_obj_htetu1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_iceisland.rel hash: 8216670f38dd0271c37e29e6ed24b84b876823c8 splits: config/GZLE01/rels/d_a_obj_iceisland/splits.txt symbols: config/GZLE01/rels/d_a_obj_iceisland/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_jump.rel hash: a200eb8786cbb5c3e0f5a0bb70b75d4f8ebadd9e splits: config/GZLE01/rels/d_a_obj_jump/splits.txt symbols: config/GZLE01/rels/d_a_obj_jump/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_kanoke.rel hash: f13c4a9eeef0a8b96e984973fbe22628c52c2c6e splits: config/GZLE01/rels/d_a_obj_kanoke/splits.txt symbols: config/GZLE01/rels/d_a_obj_kanoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ladder.rel hash: 6edbfd512563c2a8e5371de58a0d1ec692392e28 splits: config/GZLE01/rels/d_a_obj_ladder/splits.txt symbols: config/GZLE01/rels/d_a_obj_ladder/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_light.rel hash: 335a7a8a99ea899b3a85e81ecb6f91b10e681f3a splits: config/GZLE01/rels/d_a_obj_light/splits.txt symbols: config/GZLE01/rels/d_a_obj_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkie.rel hash: bf150b85727f601083d9ab506372edd9d7d35d21 splits: config/GZLE01/rels/d_a_obj_mkie/splits.txt symbols: config/GZLE01/rels/d_a_obj_mkie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkiek.rel hash: 4d8fb6f41d5b7da8a8cd9ca9c887732cd47bcb9d splits: config/GZLE01/rels/d_a_obj_mkiek/splits.txt symbols: config/GZLE01/rels/d_a_obj_mkiek/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mknjd.rel hash: ffbfe6bc4471b266d22b2ed0b16fcbddf5a6991c splits: config/GZLE01/rels/d_a_obj_mknjd/splits.txt symbols: config/GZLE01/rels/d_a_obj_mknjd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mmrr.rel hash: 0fd5e77e9f86d7844d184e5a29fbda1481902434 splits: config/GZLE01/rels/d_a_obj_mmrr/splits.txt symbols: config/GZLE01/rels/d_a_obj_mmrr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan.rel hash: 901659310b8de8bff55a0faf0d9ee93a04c7224a splits: config/GZLE01/rels/d_a_obj_msdan/splits.txt symbols: config/GZLE01/rels/d_a_obj_msdan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan2.rel hash: 416e1c4b893d5986f42b67246700df8266f1407d splits: config/GZLE01/rels/d_a_obj_msdan2/splits.txt symbols: config/GZLE01/rels/d_a_obj_msdan2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub.rel hash: 144a9c6ef6227130b8aa8a02239d796d98e91a56 splits: config/GZLE01/rels/d_a_obj_msdan_sub/splits.txt symbols: config/GZLE01/rels/d_a_obj_msdan_sub/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub2.rel hash: 78b670a883570475fae7ed68f8fb58921464c885 splits: config/GZLE01/rels/d_a_obj_msdan_sub2/splits.txt symbols: config/GZLE01/rels/d_a_obj_msdan_sub2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mtest.rel hash: dd392435c1adffda5265534d512d16a2d242d1ae splits: config/GZLE01/rels/d_a_obj_mtest/splits.txt symbols: config/GZLE01/rels/d_a_obj_mtest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_nest.rel hash: afecbe8a001e4733da6ebc59cc7970eac80f160a splits: config/GZLE01/rels/d_a_obj_nest/splits.txt symbols: config/GZLE01/rels/d_a_obj_nest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ojtree.rel hash: 98623f19bcbc31d3af0f81964aa45792a8b1884c splits: config/GZLE01/rels/d_a_obj_ojtree/splits.txt symbols: config/GZLE01/rels/d_a_obj_ojtree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ospbox.rel hash: 6c5e97942000bcf1779c32464877a993de7b13fb splits: config/GZLE01/rels/d_a_obj_ospbox/splits.txt symbols: config/GZLE01/rels/d_a_obj_ospbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_paper.rel hash: 8f907fbc06f707bccf83a8fb62d26c8623dbdbb0 splits: config/GZLE01/rels/d_a_obj_paper/splits.txt symbols: config/GZLE01/rels/d_a_obj_paper/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pbka.rel hash: 04b1153cf00d4a7d363a7086d886544356c5f25a splits: config/GZLE01/rels/d_a_obj_pbka/splits.txt symbols: config/GZLE01/rels/d_a_obj_pbka/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pfall.rel hash: 4507e19914083f8c59c4421aff0944107730c255 splits: config/GZLE01/rels/d_a_obj_pfall/splits.txt symbols: config/GZLE01/rels/d_a_obj_pfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_plant.rel hash: 38529c26124fcee8a730539db264ed5d73f4b36a splits: config/GZLE01/rels/d_a_obj_plant/splits.txt symbols: config/GZLE01/rels/d_a_obj_plant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rflw.rel hash: d29fc0bee80aa56282cbaa09d0d8e85fd9a574dc splits: config/GZLE01/rels/d_a_obj_rflw/splits.txt symbols: config/GZLE01/rels/d_a_obj_rflw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rforce.rel hash: f513bd687d177b7bbaaac1f14568d25e05dab89c splits: config/GZLE01/rels/d_a_obj_rforce/splits.txt symbols: config/GZLE01/rels/d_a_obj_rforce/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_smplbg.rel hash: bb0c5cf90d88a33d1164cc30d35ec70677f14fc2 splits: config/GZLE01/rels/d_a_obj_smplbg/splits.txt symbols: config/GZLE01/rels/d_a_obj_smplbg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tapestry.rel hash: 43cc17f0e803e418a1dba775eaa2af517f3509f6 splits: config/GZLE01/rels/d_a_obj_tapestry/splits.txt symbols: config/GZLE01/rels/d_a_obj_tapestry/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tntrap.rel hash: 8be9de0693b96dcda338c0e2c0d6338aa64f9cb5 splits: config/GZLE01/rels/d_a_obj_tntrap/splits.txt symbols: config/GZLE01/rels/d_a_obj_tntrap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tower.rel hash: 3e21c03d0737772d7d66c31521c5a2b647e4fbc0 splits: config/GZLE01/rels/d_a_obj_tower/splits.txt symbols: config/GZLE01/rels/d_a_obj_tower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_trap.rel hash: 29256627e979860ad4756472d9368c74f2bb332f splits: config/GZLE01/rels/d_a_obj_trap/splits.txt symbols: config/GZLE01/rels/d_a_obj_trap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tribox.rel hash: 64ad90ab03feb5f19895cf48dae1bb242159e556 splits: config/GZLE01/rels/d_a_obj_tribox/splits.txt symbols: config/GZLE01/rels/d_a_obj_tribox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_try.rel hash: 2790400362a927f308cec6323534a9193c7e0c4b splits: config/GZLE01/rels/d_a_obj_try/splits.txt symbols: config/GZLE01/rels/d_a_obj_try/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_usovmc.rel hash: 76f34cf9b59bbf5033448388af3c7e6c005cf0d2 splits: config/GZLE01/rels/d_a_obj_usovmc/splits.txt symbols: config/GZLE01/rels/d_a_obj_usovmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vfan.rel hash: 9d2aee2736c02368e82669c55069e39b36a0a159 splits: config/GZLE01/rels/d_a_obj_vfan/splits.txt symbols: config/GZLE01/rels/d_a_obj_vfan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vgnfd.rel hash: 921293ff0b39fb220caa2dd8fe277505a1fed060 splits: config/GZLE01/rels/d_a_obj_vgnfd/splits.txt symbols: config/GZLE01/rels/d_a_obj_vgnfd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmc.rel hash: 06e88ae618ae74402c10c8046a5f420bcd0eca14 splits: config/GZLE01/rels/d_a_obj_vmc/splits.txt symbols: config/GZLE01/rels/d_a_obj_vmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsdz.rel hash: 198a39cab99d1aaeb12a50abe9141d45fd15fc5f splits: config/GZLE01/rels/d_a_obj_vmsdz/splits.txt symbols: config/GZLE01/rels/d_a_obj_vmsdz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsms.rel hash: 92353482881a8b3f401ebcf8875d539352118cde splits: config/GZLE01/rels/d_a_obj_vmsms/splits.txt symbols: config/GZLE01/rels/d_a_obj_vmsms/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_volcano.rel hash: 8c0239e67db4eb16f7d3aed43153d57e7fea1ba0 splits: config/GZLE01/rels/d_a_obj_volcano/splits.txt symbols: config/GZLE01/rels/d_a_obj_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vtil.rel hash: 748ec69efd5f81a182bab9add54e32ac73e2b983 splits: config/GZLE01/rels/d_a_obj_vtil/splits.txt symbols: config/GZLE01/rels/d_a_obj_vtil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vyasi.rel hash: 932017be1d70156d2dea96a44459f2970fc40d0c splits: config/GZLE01/rels/d_a_obj_vyasi/splits.txt symbols: config/GZLE01/rels/d_a_obj_vyasi/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_xfuta.rel hash: cc099bf1101486adefa4cb7e23560d4a97f9d901 splits: config/GZLE01/rels/d_a_obj_xfuta/splits.txt symbols: config/GZLE01/rels/d_a_obj_xfuta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_zouK.rel hash: 6dbeff2905f9fb3a66c268d1396c1c2e274279fe splits: config/GZLE01/rels/d_a_obj_zouK/splits.txt symbols: config/GZLE01/rels/d_a_obj_zouK/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_oship.rel hash: 4b32d1f4973742ebab9b645deac5356a34e9078e splits: config/GZLE01/rels/d_a_oship/splits.txt symbols: config/GZLE01/rels/d_a_oship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ph.rel hash: 205faa75fe13067a936361aabf24589735bb75a3 splits: config/GZLE01/rels/d_a_ph/splits.txt symbols: config/GZLE01/rels/d_a_ph/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pt.rel hash: a2172cb77d308341d1d70d8dedf9a236ebf60e33 splits: config/GZLE01/rels/d_a_pt/splits.txt symbols: config/GZLE01/rels/d_a_pt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pw.rel hash: b823448e1d6da8fe6c6a9c7ce4db4f483b32f1c0 splits: config/GZLE01/rels/d_a_pw/splits.txt symbols: config/GZLE01/rels/d_a_pw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pz.rel hash: 2c2a96a7daec16ba00c4e42cbc62396bc8c1bd75 splits: config/GZLE01/rels/d_a_pz/splits.txt symbols: config/GZLE01/rels/d_a_pz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_sail.rel hash: 36cd36d17a50769045c087cbb56b26f4ad3a2b6e splits: config/GZLE01/rels/d_a_sail/splits.txt symbols: config/GZLE01/rels/d_a_sail/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_sail_DL binary: assets/l_sail_DL.bin @@ -1990,156 +2374,187 @@ modules: hash: 2ba5fbbd1af3135c5cdd0d97ad68899bb2627908 splits: config/GZLE01/rels/d_a_salvage_tbox/splits.txt symbols: config/GZLE01/rels/d_a_salvage_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_scene_change.rel hash: 62d5980d333aa5688084e49fe110713c569bdf39 splits: config/GZLE01/rels/d_a_scene_change/splits.txt symbols: config/GZLE01/rels/d_a_scene_change/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter.rel hash: 51061d0170f643fe628b59734fa7fb5d54b9049d splits: config/GZLE01/rels/d_a_shutter/splits.txt symbols: config/GZLE01/rels/d_a_shutter/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter2.rel hash: 8db2e5849bdb724a498027f0418fdf623064b9dc splits: config/GZLE01/rels/d_a_shutter2/splits.txt symbols: config/GZLE01/rels/d_a_shutter2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_st.rel hash: c7a00643f8708eee9b561e2d8a80c2ffefa56998 splits: config/GZLE01/rels/d_a_st/splits.txt symbols: config/GZLE01/rels/d_a_st/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_steam_tag.rel hash: e744b4d5a06c740b2049cebe862b5c51be6aae34 splits: config/GZLE01/rels/d_a_steam_tag/splits.txt symbols: config/GZLE01/rels/d_a_steam_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swattack.rel hash: 4bffe7757828a9d48ab108617143d9478c43961a splits: config/GZLE01/rels/d_a_swattack/splits.txt symbols: config/GZLE01/rels/d_a_swattack/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_switem.rel hash: 37280b1efc33c425e1aa410c0c82e04d0f212ff8 splits: config/GZLE01/rels/d_a_switem/splits.txt symbols: config/GZLE01/rels/d_a_switem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swpropeller.rel hash: 8c115c8ecd15c400e8ddc3fb5a0d34b40bc0565f splits: config/GZLE01/rels/d_a_swpropeller/splits.txt symbols: config/GZLE01/rels/d_a_swpropeller/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swtact.rel hash: 677c9cbaafe5140707a3a6f2211f1fcbf0f312dd splits: config/GZLE01/rels/d_a_swtact/splits.txt symbols: config/GZLE01/rels/d_a_swtact/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_etc.rel hash: 3bd45b64a43096ae1f2172b32accc30ee9a8bb6e splits: config/GZLE01/rels/d_a_tag_etc/splits.txt symbols: config/GZLE01/rels/d_a_tag_etc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_island.rel hash: 8d8f34589b299b26f3c7365b50625f6d5b617cbe splits: config/GZLE01/rels/d_a_tag_island/splits.txt symbols: config/GZLE01/rels/d_a_tag_island/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_kf1.rel hash: 3f8f26169c45a904f6a6bcae4e4cb9d8071f1b0f splits: config/GZLE01/rels/d_a_tag_kf1/splits.txt symbols: config/GZLE01/rels/d_a_tag_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_ret.rel hash: 0fba4da0b508859b6165670bcbca3fbfdab329b9 splits: config/GZLE01/rels/d_a_tag_ret/splits.txt symbols: config/GZLE01/rels/d_a_tag_ret/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_volcano.rel hash: af02b4c7176abadde2197ca554fd0b5d070cfb07 splits: config/GZLE01/rels/d_a_tag_volcano/splits.txt symbols: config/GZLE01/rels/d_a_tag_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_title.rel hash: b1698d5c701aab068888a246f58820499bfa64b2 splits: config/GZLE01/rels/d_a_title/splits.txt symbols: config/GZLE01/rels/d_a_title/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tn.rel hash: 328ee61c878624d79a42b4966f4ec4edb4eef7d0 splits: config/GZLE01/rels/d_a_tn/splits.txt symbols: config/GZLE01/rels/d_a_tn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_toge.rel hash: 6a40d8115129f2eff0f1094418d780a9574cb288 splits: config/GZLE01/rels/d_a_toge/splits.txt symbols: config/GZLE01/rels/d_a_toge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tori_flag.rel hash: 73727efd1e85fef3cee564b4e59d808cf0bd12e8 splits: config/GZLE01/rels/d_a_tori_flag/splits.txt symbols: config/GZLE01/rels/d_a_tori_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wall.rel hash: 50556391409a653dda18599d08d3c7d58063806e splits: config/GZLE01/rels/d_a_wall/splits.txt symbols: config/GZLE01/rels/d_a_wall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpfout.rel hash: e78123e432dff3c8f40d9a10f22816d7c815c4b8 splits: config/GZLE01/rels/d_a_warpfout/splits.txt symbols: config/GZLE01/rels/d_a_warpfout/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpgn.rel hash: cff903653ff8f147e2ab496319845a02fab9a078 splits: config/GZLE01/rels/d_a_warpgn/splits.txt symbols: config/GZLE01/rels/d_a_warpgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpls.rel hash: 208b0fd59aa1f4cd33ea16094690e6ee4ab6d9ca splits: config/GZLE01/rels/d_a_warpls/splits.txt symbols: config/GZLE01/rels/d_a_warpls/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpmj.rel hash: aee92de01f8c2df33a4b20e995603312cbe2d0cd splits: config/GZLE01/rels/d_a_warpmj/splits.txt symbols: config/GZLE01/rels/d_a_warpmj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_waterfall.rel hash: 2da79875b3861c3d32d1f3020e6a2b7d737bd5eb splits: config/GZLE01/rels/d_a_waterfall/splits.txt symbols: config/GZLE01/rels/d_a_waterfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_windmill.rel hash: 1b8ea0eb28a5499ca45bcfc4a7578e8d2944b53f splits: config/GZLE01/rels/d_a_windmill/splits.txt symbols: config/GZLE01/rels/d_a_windmill/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wz.rel hash: 7c8a260cd4ead7063253f06e46ebc5494134d68d splits: config/GZLE01/rels/d_a_wz/splits.txt symbols: config/GZLE01/rels/d_a_wz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ygcwp.rel hash: 07a662db559e0c5758e6c38a222b69e2be502b9a splits: config/GZLE01/rels/d_a_ygcwp/splits.txt symbols: config/GZLE01/rels/d_a_ygcwp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_yougan.rel hash: b22f9708a8ed5acd7d4b17e863be0fb1ae9abb04 splits: config/GZLE01/rels/d_a_yougan/splits.txt symbols: config/GZLE01/rels/d_a_yougan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ghostship.rel hash: fd0d1d16939ecddbd366a0aa387e3127d2092cd3 splits: config/GZLE01/rels/d_a_ghostship/splits.txt symbols: config/GZLE01/rels/d_a_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_movie_player.rel hash: 1f790bd560c059ec35b0945de91ad326335e3ece splits: config/GZLE01/rels/d_a_movie_player/splits.txt symbols: config/GZLE01/rels/d_a_movie_player/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: black_tex diff --git a/config/GZLE01/rels/ldscript.tpl b/config/GZLE01/rels/ldscript.tpl new file mode 100644 index 000000000..0614a1912 --- /dev/null +++ b/config/GZLE01/rels/ldscript.tpl @@ -0,0 +1,18 @@ +SECTIONS +{ + GROUP: + { + .init :{} + .text ALIGN(0x4):{} + .ctors ALIGN(0x4):{} + .dtors ALIGN(0x4):{} + .rodata ALIGN(0x8):{} + .data ALIGN(0x8):{ *(.data) *(extabindex) *(extab) } + .bss ALIGN(0x8):{} + } +} + +FORCEACTIVE +{ + $FORCEACTIVE +} diff --git a/config/GZLJ01/config.yml b/config/GZLJ01/config.yml index 9c1961722..928b882f2 100644 --- a/config/GZLJ01/config.yml +++ b/config/GZLJ01/config.yml @@ -22,166 +22,207 @@ modules: - object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel splits: config/GZLJ01/rels/f_pc_profile_lst/splits.txt symbols: config/GZLJ01/rels/f_pc_profile_lst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_agbsw0.rel splits: config/GZLJ01/rels/d_a_agbsw0/splits.txt symbols: config/GZLJ01/rels/d_a_agbsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw0.rel splits: config/GZLJ01/rels/d_a_andsw0/splits.txt symbols: config/GZLJ01/rels/d_a_andsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw2.rel splits: config/GZLJ01/rels/d_a_andsw2/splits.txt symbols: config/GZLJ01/rels/d_a_andsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_att.rel splits: config/GZLJ01/rels/d_a_att/splits.txt symbols: config/GZLJ01/rels/d_a_att/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bflower.rel splits: config/GZLJ01/rels/d_a_bflower/splits.txt symbols: config/GZLJ01/rels/d_a_bflower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bita.rel splits: config/GZLJ01/rels/d_a_bita/splits.txt symbols: config/GZLJ01/rels/d_a_bita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_branch.rel splits: config/GZLJ01/rels/d_a_branch/splits.txt symbols: config/GZLJ01/rels/d_a_branch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bridge.rel splits: config/GZLJ01/rels/d_a_bridge/splits.txt symbols: config/GZLJ01/rels/d_a_bridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming2.rel splits: config/GZLJ01/rels/d_a_coming2/splits.txt symbols: config/GZLJ01/rels/d_a_coming2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming3.rel splits: config/GZLJ01/rels/d_a_coming3/splits.txt symbols: config/GZLJ01/rels/d_a_coming3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_dk.rel splits: config/GZLJ01/rels/d_a_demo_dk/splits.txt symbols: config/GZLJ01/rels/d_a_demo_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_kmm.rel splits: config/GZLJ01/rels/d_a_demo_kmm/splits.txt symbols: config/GZLJ01/rels/d_a_demo_kmm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_door10.rel splits: config/GZLJ01/rels/d_a_door10/splits.txt symbols: config/GZLJ01/rels/d_a_door10/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr.rel splits: config/GZLJ01/rels/d_a_dr/splits.txt symbols: config/GZLJ01/rels/d_a_dr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr2.rel splits: config/GZLJ01/rels/d_a_dr2/splits.txt symbols: config/GZLJ01/rels/d_a_dr2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ep.rel splits: config/GZLJ01/rels/d_a_ep/splits.txt symbols: config/GZLJ01/rels/d_a_ep/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_floor.rel splits: config/GZLJ01/rels/d_a_floor/splits.txt symbols: config/GZLJ01/rels/d_a_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_grass.rel splits: config/GZLJ01/rels/d_a_grass/splits.txt symbols: config/GZLJ01/rels/d_a_grass/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hitobj.rel splits: config/GZLJ01/rels/d_a_hitobj/splits.txt symbols: config/GZLJ01/rels/d_a_hitobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hot_floor.rel splits: config/GZLJ01/rels/d_a_hot_floor/splits.txt symbols: config/GZLJ01/rels/d_a_hot_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ikari.rel splits: config/GZLJ01/rels/d_a_ikari/splits.txt symbols: config/GZLJ01/rels/d_a_ikari/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_jbo.rel splits: config/GZLJ01/rels/d_a_jbo/splits.txt symbols: config/GZLJ01/rels/d_a_jbo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kaji.rel splits: config/GZLJ01/rels/d_a_kaji/splits.txt symbols: config/GZLJ01/rels/d_a_kaji/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kanban.rel splits: config/GZLJ01/rels/d_a_kanban/splits.txt symbols: config/GZLJ01/rels/d_a_kanban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ki.rel splits: config/GZLJ01/rels/d_a_ki/splits.txt symbols: config/GZLJ01/rels/d_a_ki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_knob00.rel splits: config/GZLJ01/rels/d_a_knob00/splits.txt symbols: config/GZLJ01/rels/d_a_knob00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kui.rel splits: config/GZLJ01/rels/d_a_kui/splits.txt symbols: config/GZLJ01/rels/d_a_kui/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag00.rel splits: config/GZLJ01/rels/d_a_kytag00/splits.txt symbols: config/GZLJ01/rels/d_a_kytag00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag01.rel splits: config/GZLJ01/rels/d_a_kytag01/splits.txt symbols: config/GZLJ01/rels/d_a_kytag01/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag02.rel splits: config/GZLJ01/rels/d_a_kytag02/splits.txt symbols: config/GZLJ01/rels/d_a_kytag02/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag03.rel splits: config/GZLJ01/rels/d_a_kytag03/splits.txt symbols: config/GZLJ01/rels/d_a_kytag03/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag04.rel splits: config/GZLJ01/rels/d_a_kytag04/splits.txt symbols: config/GZLJ01/rels/d_a_kytag04/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag05.rel splits: config/GZLJ01/rels/d_a_kytag05/splits.txt symbols: config/GZLJ01/rels/d_a_kytag05/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag06.rel splits: config/GZLJ01/rels/d_a_kytag06/splits.txt symbols: config/GZLJ01/rels/d_a_kytag06/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag07.rel splits: config/GZLJ01/rels/d_a_kytag07/splits.txt symbols: config/GZLJ01/rels/d_a_kytag07/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lamp.rel splits: config/GZLJ01/rels/d_a_lamp/splits.txt symbols: config/GZLJ01/rels/d_a_lamp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lod_bg.rel splits: config/GZLJ01/rels/d_a_lod_bg/splits.txt symbols: config/GZLJ01/rels/d_a_lod_bg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lwood.rel splits: config/GZLJ01/rels/d_a_lwood/splits.txt symbols: config/GZLJ01/rels/d_a_lwood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_magma.rel splits: config/GZLJ01/rels/d_a_magma/splits.txt symbols: config/GZLJ01/rels/d_a_magma/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_majuu_flag.rel splits: config/GZLJ01/rels/d_a_majuu_flag/splits.txt symbols: config/GZLJ01/rels/d_a_majuu_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_flag02TEX binary: assets/l_flag02TEX.bin @@ -196,178 +237,222 @@ modules: - object: files/RELS.arc:rels/mmem/d_a_mdoor.rel splits: config/GZLJ01/rels/d_a_mdoor/splits.txt symbols: config/GZLJ01/rels/d_a_mdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_msw.rel splits: config/GZLJ01/rels/d_a_msw/splits.txt symbols: config/GZLJ01/rels/d_a_msw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_mtoge.rel splits: config/GZLJ01/rels/d_a_mtoge/splits.txt symbols: config/GZLJ01/rels/d_a_mtoge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_AjavW.rel splits: config/GZLJ01/rels/d_a_obj_AjavW/splits.txt symbols: config/GZLJ01/rels/d_a_obj_AjavW/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_Ygush00.rel splits: config/GZLJ01/rels/d_a_obj_Ygush00/splits.txt symbols: config/GZLJ01/rels/d_a_obj_Ygush00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_akabe.rel splits: config/GZLJ01/rels/d_a_obj_akabe/splits.txt symbols: config/GZLJ01/rels/d_a_obj_akabe/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel.rel splits: config/GZLJ01/rels/d_a_obj_barrel/splits.txt symbols: config/GZLJ01/rels/d_a_obj_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel2.rel splits: config/GZLJ01/rels/d_a_obj_barrel2/splits.txt symbols: config/GZLJ01/rels/d_a_obj_barrel2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_bscurtain.rel splits: config/GZLJ01/rels/d_a_obj_bscurtain/splits.txt symbols: config/GZLJ01/rels/d_a_obj_bscurtain/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_cafelmp.rel splits: config/GZLJ01/rels/d_a_obj_cafelmp/splits.txt symbols: config/GZLJ01/rels/d_a_obj_cafelmp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_coming.rel splits: config/GZLJ01/rels/d_a_obj_coming/splits.txt symbols: config/GZLJ01/rels/d_a_obj_coming/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_demo_barrel.rel splits: config/GZLJ01/rels/d_a_obj_demo_barrel/splits.txt symbols: config/GZLJ01/rels/d_a_obj_demo_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu.rel splits: config/GZLJ01/rels/d_a_obj_doguu/splits.txt symbols: config/GZLJ01/rels/d_a_obj_doguu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu_demo.rel splits: config/GZLJ01/rels/d_a_obj_doguu_demo/splits.txt symbols: config/GZLJ01/rels/d_a_obj_doguu_demo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_gryw00.rel splits: config/GZLJ01/rels/d_a_obj_gryw00/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gryw00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hfuck1.rel splits: config/GZLJ01/rels/d_a_obj_hfuck1/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hfuck1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hole.rel splits: config/GZLJ01/rels/d_a_obj_hole/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hole/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ice.rel splits: config/GZLJ01/rels/d_a_obj_ice/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ice/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ikada.rel splits: config/GZLJ01/rels/d_a_obj_ikada/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ikada/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_kanat.rel splits: config/GZLJ01/rels/d_a_obj_kanat/splits.txt symbols: config/GZLJ01/rels/d_a_obj_kanat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_leaves.rel splits: config/GZLJ01/rels/d_a_obj_leaves/splits.txt symbols: config/GZLJ01/rels/d_a_obj_leaves/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_lpalm.rel splits: config/GZLJ01/rels/d_a_obj_lpalm/splits.txt symbols: config/GZLJ01/rels/d_a_obj_lpalm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_monument.rel splits: config/GZLJ01/rels/d_a_obj_monument/splits.txt symbols: config/GZLJ01/rels/d_a_obj_monument/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_movebox.rel splits: config/GZLJ01/rels/d_a_obj_movebox/splits.txt symbols: config/GZLJ01/rels/d_a_obj_movebox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_mshokki.rel splits: config/GZLJ01/rels/d_a_obj_mshokki/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mshokki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ohatch.rel splits: config/GZLJ01/rels/d_a_obj_ohatch/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ohatch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_otble.rel splits: config/GZLJ01/rels/d_a_obj_otble/splits.txt symbols: config/GZLJ01/rels/d_a_obj_otble/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pbco.rel splits: config/GZLJ01/rels/d_a_obj_pbco/splits.txt symbols: config/GZLJ01/rels/d_a_obj_pbco/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pirateship.rel splits: config/GZLJ01/rels/d_a_obj_pirateship/splits.txt symbols: config/GZLJ01/rels/d_a_obj_pirateship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_quake.rel splits: config/GZLJ01/rels/d_a_obj_quake/splits.txt symbols: config/GZLJ01/rels/d_a_obj_quake/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_rcloud.rel splits: config/GZLJ01/rels/d_a_obj_rcloud/splits.txt symbols: config/GZLJ01/rels/d_a_obj_rcloud/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_roten.rel splits: config/GZLJ01/rels/d_a_obj_roten/splits.txt symbols: config/GZLJ01/rels/d_a_obj_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shelf.rel splits: config/GZLJ01/rels/d_a_obj_shelf/splits.txt symbols: config/GZLJ01/rels/d_a_obj_shelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shmrgrd.rel splits: config/GZLJ01/rels/d_a_obj_shmrgrd/splits.txt symbols: config/GZLJ01/rels/d_a_obj_shmrgrd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_swpush.rel splits: config/GZLJ01/rels/d_a_obj_swpush/splits.txt symbols: config/GZLJ01/rels/d_a_obj_swpush/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_table.rel splits: config/GZLJ01/rels/d_a_obj_table/splits.txt symbols: config/GZLJ01/rels/d_a_obj_table/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tenmado.rel splits: config/GZLJ01/rels/d_a_obj_tenmado/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tenmado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tide.rel splits: config/GZLJ01/rels/d_a_obj_tide/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tide/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_timer.rel splits: config/GZLJ01/rels/d_a_obj_timer/splits.txt symbols: config/GZLJ01/rels/d_a_obj_timer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_toripost.rel splits: config/GZLJ01/rels/d_a_obj_toripost/splits.txt symbols: config/GZLJ01/rels/d_a_obj_toripost/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tousekiki.rel splits: config/GZLJ01/rels/d_a_obj_tousekiki/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tousekiki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_warpt.rel splits: config/GZLJ01/rels/d_a_obj_warpt/splits.txt symbols: config/GZLJ01/rels/d_a_obj_warpt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_wood.rel splits: config/GZLJ01/rels/d_a_obj_wood/splits.txt symbols: config/GZLJ01/rels/d_a_obj_wood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_pirate_flag.rel splits: config/GZLJ01/rels/d_a_pirate_flag/splits.txt symbols: config/GZLJ01/rels/d_a_pirate_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_pirate_flag_DL binary: assets/l_pirate_flag_DL.bin @@ -379,470 +464,587 @@ modules: - object: files/RELS.arc:rels/mmem/d_a_race_item.rel splits: config/GZLJ01/rels/d_a_race_item/splits.txt symbols: config/GZLJ01/rels/d_a_race_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rd.rel splits: config/GZLJ01/rels/d_a_rd/splits.txt symbols: config/GZLJ01/rels/d_a_rd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rectangle.rel splits: config/GZLJ01/rels/d_a_rectangle/splits.txt symbols: config/GZLJ01/rels/d_a_rectangle/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_salvage.rel splits: config/GZLJ01/rels/d_a_salvage/splits.txt symbols: config/GZLJ01/rels/d_a_salvage/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sbox.rel splits: config/GZLJ01/rels/d_a_sbox/splits.txt symbols: config/GZLJ01/rels/d_a_sbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk.rel splits: config/GZLJ01/rels/d_a_sk/splits.txt symbols: config/GZLJ01/rels/d_a_sk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk2.rel splits: config/GZLJ01/rels/d_a_sk2/splits.txt symbols: config/GZLJ01/rels/d_a_sk2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_spotbox.rel splits: config/GZLJ01/rels/d_a_spotbox/splits.txt symbols: config/GZLJ01/rels/d_a_spotbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ssk.rel splits: config/GZLJ01/rels/d_a_ssk/splits.txt symbols: config/GZLJ01/rels/d_a_ssk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone.rel splits: config/GZLJ01/rels/d_a_stone/splits.txt symbols: config/GZLJ01/rels/d_a_stone/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone2.rel splits: config/GZLJ01/rels/d_a_stone2/splits.txt symbols: config/GZLJ01/rels/d_a_stone2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swc00.rel splits: config/GZLJ01/rels/d_a_swc00/splits.txt symbols: config/GZLJ01/rels/d_a_swc00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swhit0.rel splits: config/GZLJ01/rels/d_a_swhit0/splits.txt symbols: config/GZLJ01/rels/d_a_swhit0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swtdoor.rel splits: config/GZLJ01/rels/d_a_swtdoor/splits.txt symbols: config/GZLJ01/rels/d_a_swtdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_attention.rel splits: config/GZLJ01/rels/d_a_tag_attention/splits.txt symbols: config/GZLJ01/rels/d_a_tag_attention/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ba1.rel splits: config/GZLJ01/rels/d_a_tag_ba1/splits.txt symbols: config/GZLJ01/rels/d_a_tag_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_event.rel splits: config/GZLJ01/rels/d_a_tag_event/splits.txt symbols: config/GZLJ01/rels/d_a_tag_event/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_evsw.rel splits: config/GZLJ01/rels/d_a_tag_evsw/splits.txt symbols: config/GZLJ01/rels/d_a_tag_evsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ghostship.rel splits: config/GZLJ01/rels/d_a_tag_ghostship/splits.txt symbols: config/GZLJ01/rels/d_a_tag_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_hint.rel splits: config/GZLJ01/rels/d_a_tag_hint/splits.txt symbols: config/GZLJ01/rels/d_a_tag_hint/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kb_item.rel splits: config/GZLJ01/rels/d_a_tag_kb_item/splits.txt symbols: config/GZLJ01/rels/d_a_tag_kb_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kk1.rel splits: config/GZLJ01/rels/d_a_tag_kk1/splits.txt symbols: config/GZLJ01/rels/d_a_tag_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_light.rel splits: config/GZLJ01/rels/d_a_tag_light/splits.txt symbols: config/GZLJ01/rels/d_a_tag_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_msg.rel splits: config/GZLJ01/rels/d_a_tag_msg/splits.txt symbols: config/GZLJ01/rels/d_a_tag_msg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_photo.rel splits: config/GZLJ01/rels/d_a_tag_photo/splits.txt symbols: config/GZLJ01/rels/d_a_tag_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_waterlevel.rel splits: config/GZLJ01/rels/d_a_tag_waterlevel/splits.txt symbols: config/GZLJ01/rels/d_a_tag_waterlevel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tama.rel splits: config/GZLJ01/rels/d_a_tama/splits.txt symbols: config/GZLJ01/rels/d_a_tama/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tbox.rel splits: config/GZLJ01/rels/d_a_tbox/splits.txt symbols: config/GZLJ01/rels/d_a_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tpota.rel splits: config/GZLJ01/rels/d_a_tpota/splits.txt symbols: config/GZLJ01/rels/d_a_tpota/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tsubo.rel splits: config/GZLJ01/rels/d_a_tsubo/splits.txt symbols: config/GZLJ01/rels/d_a_tsubo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warpdm20.rel splits: config/GZLJ01/rels/d_a_warpdm20/splits.txt symbols: config/GZLJ01/rels/d_a_warpdm20/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warphr.rel splits: config/GZLJ01/rels/d_a_warphr/splits.txt symbols: config/GZLJ01/rels/d_a_warphr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_wbird.rel splits: config/GZLJ01/rels/d_a_wbird/splits.txt symbols: config/GZLJ01/rels/d_a_wbird/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ykgr.rel splits: config/GZLJ01/rels/d_a_ykgr/splits.txt symbols: config/GZLJ01/rels/d_a_ykgr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_alldie.rel splits: config/GZLJ01/rels/d_a_alldie/splits.txt symbols: config/GZLJ01/rels/d_a_alldie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am.rel splits: config/GZLJ01/rels/d_a_am/splits.txt symbols: config/GZLJ01/rels/d_a_am/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am2.rel splits: config/GZLJ01/rels/d_a_am2/splits.txt symbols: config/GZLJ01/rels/d_a_am2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_amiprop.rel splits: config/GZLJ01/rels/d_a_amiprop/splits.txt symbols: config/GZLJ01/rels/d_a_amiprop/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_iceeff.rel splits: config/GZLJ01/rels/d_a_arrow_iceeff/splits.txt symbols: config/GZLJ01/rels/d_a_arrow_iceeff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_lighteff.rel splits: config/GZLJ01/rels/d_a_arrow_lighteff/splits.txt symbols: config/GZLJ01/rels/d_a_arrow_lighteff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_beam.rel splits: config/GZLJ01/rels/d_a_beam/splits.txt symbols: config/GZLJ01/rels/d_a_beam/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_boko.rel splits: config/GZLJ01/rels/d_a_boko/splits.txt symbols: config/GZLJ01/rels/d_a_boko/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_canon.rel splits: config/GZLJ01/rels/d_a_canon/splits.txt symbols: config/GZLJ01/rels/d_a_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_cc.rel splits: config/GZLJ01/rels/d_a_cc/splits.txt symbols: config/GZLJ01/rels/d_a_cc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_dai.rel splits: config/GZLJ01/rels/d_a_dai/splits.txt symbols: config/GZLJ01/rels/d_a_dai/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_demo_item.rel splits: config/GZLJ01/rels/d_a_demo_item/splits.txt symbols: config/GZLJ01/rels/d_a_demo_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_door12.rel splits: config/GZLJ01/rels/d_a_door12/splits.txt symbols: config/GZLJ01/rels/d_a_door12/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_fallrock.rel splits: config/GZLJ01/rels/d_a_fallrock/splits.txt symbols: config/GZLJ01/rels/d_a_fallrock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ff.rel splits: config/GZLJ01/rels/d_a_ff/splits.txt symbols: config/GZLJ01/rels/d_a_ff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_gy_ctrl.rel splits: config/GZLJ01/rels/d_a_gy_ctrl/splits.txt symbols: config/GZLJ01/rels/d_a_gy_ctrl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_himo3.rel splits: config/GZLJ01/rels/d_a_himo3/splits.txt symbols: config/GZLJ01/rels/d_a_himo3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hmlif.rel splits: config/GZLJ01/rels/d_a_hmlif/splits.txt symbols: config/GZLJ01/rels/d_a_hmlif/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hys.rel splits: config/GZLJ01/rels/d_a_hys/splits.txt symbols: config/GZLJ01/rels/d_a_hys/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kamome.rel splits: config/GZLJ01/rels/d_a_kamome/splits.txt symbols: config/GZLJ01/rels/d_a_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kantera.rel splits: config/GZLJ01/rels/d_a_kantera/splits.txt symbols: config/GZLJ01/rels/d_a_kantera/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kn.rel splits: config/GZLJ01/rels/d_a_kn/splits.txt symbols: config/GZLJ01/rels/d_a_kn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kokiie.rel splits: config/GZLJ01/rels/d_a_kokiie/splits.txt symbols: config/GZLJ01/rels/d_a_kokiie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ks.rel splits: config/GZLJ01/rels/d_a_ks/splits.txt symbols: config/GZLJ01/rels/d_a_ks/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kt.rel splits: config/GZLJ01/rels/d_a_kt/splits.txt symbols: config/GZLJ01/rels/d_a_kt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_mflft.rel splits: config/GZLJ01/rels/d_a_mflft/splits.txt symbols: config/GZLJ01/rels/d_a_mflft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_cb1.rel splits: config/GZLJ01/rels/d_a_npc_cb1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_cb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_md.rel splits: config/GZLJ01/rels/d_a_npc_md/splits.txt symbols: config/GZLJ01/rels/d_a_npc_md/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_so.rel splits: config/GZLJ01/rels/d_a_npc_so/splits.txt symbols: config/GZLJ01/rels/d_a_npc_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_nzg.rel splits: config/GZLJ01/rels/d_a_nzg/splits.txt symbols: config/GZLJ01/rels/d_a_nzg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_aygr.rel splits: config/GZLJ01/rels/d_a_obj_aygr/splits.txt symbols: config/GZLJ01/rels/d_a_obj_aygr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_balancelift.rel splits: config/GZLJ01/rels/d_a_obj_balancelift/splits.txt symbols: config/GZLJ01/rels/d_a_obj_balancelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_barrier.rel splits: config/GZLJ01/rels/d_a_obj_barrier/splits.txt symbols: config/GZLJ01/rels/d_a_obj_barrier/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_bemos.rel splits: config/GZLJ01/rels/d_a_obj_bemos/splits.txt symbols: config/GZLJ01/rels/d_a_obj_bemos/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_canon.rel splits: config/GZLJ01/rels/d_a_obj_canon/splits.txt symbols: config/GZLJ01/rels/d_a_obj_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_eff.rel splits: config/GZLJ01/rels/d_a_obj_eff/splits.txt symbols: config/GZLJ01/rels/d_a_obj_eff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_magmarock.rel splits: config/GZLJ01/rels/d_a_obj_magmarock/splits.txt symbols: config/GZLJ01/rels/d_a_obj_magmarock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_majyuu_door.rel splits: config/GZLJ01/rels/d_a_obj_majyuu_door/splits.txt symbols: config/GZLJ01/rels/d_a_obj_majyuu_door/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_stair.rel splits: config/GZLJ01/rels/d_a_obj_stair/splits.txt symbols: config/GZLJ01/rels/d_a_obj_stair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swflat.rel splits: config/GZLJ01/rels/d_a_obj_swflat/splits.txt symbols: config/GZLJ01/rels/d_a_obj_swflat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swhammer.rel splits: config/GZLJ01/rels/d_a_obj_swhammer/splits.txt symbols: config/GZLJ01/rels/d_a_obj_swhammer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swheavy.rel splits: config/GZLJ01/rels/d_a_obj_swheavy/splits.txt symbols: config/GZLJ01/rels/d_a_obj_swheavy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swlight.rel splits: config/GZLJ01/rels/d_a_obj_swlight/splits.txt symbols: config/GZLJ01/rels/d_a_obj_swlight/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_oq.rel splits: config/GZLJ01/rels/d_a_oq/splits.txt symbols: config/GZLJ01/rels/d_a_oq/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_pedestal.rel splits: config/GZLJ01/rels/d_a_pedestal/splits.txt symbols: config/GZLJ01/rels/d_a_pedestal/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_saku.rel splits: config/GZLJ01/rels/d_a_saku/splits.txt symbols: config/GZLJ01/rels/d_a_saku/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_seatag.rel splits: config/GZLJ01/rels/d_a_seatag/splits.txt symbols: config/GZLJ01/rels/d_a_seatag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shand.rel splits: config/GZLJ01/rels/d_a_shand/splits.txt symbols: config/GZLJ01/rels/d_a_shand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ship.rel splits: config/GZLJ01/rels/d_a_ship/splits.txt symbols: config/GZLJ01/rels/d_a_ship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shop_item.rel splits: config/GZLJ01/rels/d_a_shop_item/splits.txt symbols: config/GZLJ01/rels/d_a_shop_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sie_flag.rel splits: config/GZLJ01/rels/d_a_sie_flag/splits.txt symbols: config/GZLJ01/rels/d_a_sie_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sitem.rel splits: config/GZLJ01/rels/d_a_sitem/splits.txt symbols: config/GZLJ01/rels/d_a_sitem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ss.rel splits: config/GZLJ01/rels/d_a_ss/splits.txt symbols: config/GZLJ01/rels/d_a_ss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sss.rel splits: config/GZLJ01/rels/d_a_sss/splits.txt symbols: config/GZLJ01/rels/d_a_sss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_syan.rel splits: config/GZLJ01/rels/d_a_syan/splits.txt symbols: config/GZLJ01/rels/d_a_syan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_md_cb.rel splits: config/GZLJ01/rels/d_a_tag_md_cb/splits.txt symbols: config/GZLJ01/rels/d_a_tag_md_cb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_mk.rel splits: config/GZLJ01/rels/d_a_tag_mk/splits.txt symbols: config/GZLJ01/rels/d_a_tag_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_so.rel splits: config/GZLJ01/rels/d_a_tag_so/splits.txt symbols: config/GZLJ01/rels/d_a_tag_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tornado.rel splits: config/GZLJ01/rels/d_a_tornado/splits.txt symbols: config/GZLJ01/rels/d_a_tornado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_warpf.rel splits: config/GZLJ01/rels/d_a_warpf/splits.txt symbols: config/GZLJ01/rels/d_a_warpf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_wind_tag.rel splits: config/GZLJ01/rels/d_a_wind_tag/splits.txt symbols: config/GZLJ01/rels/d_a_wind_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_acorn_leaf.rel splits: config/GZLJ01/rels/d_a_acorn_leaf/splits.txt symbols: config/GZLJ01/rels/d_a_acorn_leaf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_atdoor.rel splits: config/GZLJ01/rels/d_a_atdoor/splits.txt symbols: config/GZLJ01/rels/d_a_atdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_auction.rel splits: config/GZLJ01/rels/d_a_auction/splits.txt symbols: config/GZLJ01/rels/d_a_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bb.rel splits: config/GZLJ01/rels/d_a_bb/splits.txt symbols: config/GZLJ01/rels/d_a_bb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdk.rel splits: config/GZLJ01/rels/d_a_bdk/splits.txt symbols: config/GZLJ01/rels/d_a_bdk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdkobj.rel splits: config/GZLJ01/rels/d_a_bdkobj/splits.txt symbols: config/GZLJ01/rels/d_a_bdkobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn.rel splits: config/GZLJ01/rels/d_a_bgn/splits.txt symbols: config/GZLJ01/rels/d_a_bgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn2.rel splits: config/GZLJ01/rels/d_a_bgn2/splits.txt symbols: config/GZLJ01/rels/d_a_bgn2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn3.rel splits: config/GZLJ01/rels/d_a_bgn3/splits.txt symbols: config/GZLJ01/rels/d_a_bgn3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bigelf.rel splits: config/GZLJ01/rels/d_a_bigelf/splits.txt symbols: config/GZLJ01/rels/d_a_bigelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bk.rel splits: config/GZLJ01/rels/d_a_bk/splits.txt symbols: config/GZLJ01/rels/d_a_bk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bl.rel splits: config/GZLJ01/rels/d_a_bl/splits.txt symbols: config/GZLJ01/rels/d_a_bl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmd.rel splits: config/GZLJ01/rels/d_a_bmd/splits.txt symbols: config/GZLJ01/rels/d_a_bmd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdfoot.rel splits: config/GZLJ01/rels/d_a_bmdfoot/splits.txt symbols: config/GZLJ01/rels/d_a_bmdfoot/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdhand.rel splits: config/GZLJ01/rels/d_a_bmdhand/splits.txt symbols: config/GZLJ01/rels/d_a_bmdhand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bo.rel splits: config/GZLJ01/rels/d_a_bo/splits.txt symbols: config/GZLJ01/rels/d_a_bo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_boss_item.rel splits: config/GZLJ01/rels/d_a_boss_item/splits.txt symbols: config/GZLJ01/rels/d_a_boss_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bpw.rel splits: config/GZLJ01/rels/d_a_bpw/splits.txt symbols: config/GZLJ01/rels/d_a_bpw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bst.rel splits: config/GZLJ01/rels/d_a_bst/splits.txt symbols: config/GZLJ01/rels/d_a_bst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_btd.rel splits: config/GZLJ01/rels/d_a_btd/splits.txt symbols: config/GZLJ01/rels/d_a_btd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwd.rel splits: config/GZLJ01/rels/d_a_bwd/splits.txt symbols: config/GZLJ01/rels/d_a_bwd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwdg.rel splits: config/GZLJ01/rels/d_a_bwdg/splits.txt symbols: config/GZLJ01/rels/d_a_bwdg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_B_sand2TEX binary: assets/l_B_sand2TEX.bin @@ -862,731 +1064,913 @@ modules: - object: files/rels/d_a_bwds.rel splits: config/GZLJ01/rels/d_a_bwds/splits.txt symbols: config/GZLJ01/rels/d_a_bwds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta.rel splits: config/GZLJ01/rels/d_a_daiocta/splits.txt symbols: config/GZLJ01/rels/d_a_daiocta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta_eye.rel splits: config/GZLJ01/rels/d_a_daiocta_eye/splits.txt symbols: config/GZLJ01/rels/d_a_daiocta_eye/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_deku_item.rel splits: config/GZLJ01/rels/d_a_deku_item/splits.txt symbols: config/GZLJ01/rels/d_a_deku_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dk.rel splits: config/GZLJ01/rels/d_a_dk/splits.txt symbols: config/GZLJ01/rels/d_a_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dummy.rel splits: config/GZLJ01/rels/d_a_dummy/splits.txt symbols: config/GZLJ01/rels/d_a_dummy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fallrock_tag.rel splits: config/GZLJ01/rels/d_a_fallrock_tag/splits.txt symbols: config/GZLJ01/rels/d_a_fallrock_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fan.rel splits: config/GZLJ01/rels/d_a_fan/splits.txt symbols: config/GZLJ01/rels/d_a_fan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fganon.rel splits: config/GZLJ01/rels/d_a_fganon/splits.txt symbols: config/GZLJ01/rels/d_a_fganon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fgmahou.rel splits: config/GZLJ01/rels/d_a_fgmahou/splits.txt symbols: config/GZLJ01/rels/d_a_fgmahou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fire.rel splits: config/GZLJ01/rels/d_a_fire/splits.txt symbols: config/GZLJ01/rels/d_a_fire/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fm.rel splits: config/GZLJ01/rels/d_a_fm/splits.txt symbols: config/GZLJ01/rels/d_a_fm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gm.rel splits: config/GZLJ01/rels/d_a_gm/splits.txt symbols: config/GZLJ01/rels/d_a_gm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gnd.rel splits: config/GZLJ01/rels/d_a_gnd/splits.txt symbols: config/GZLJ01/rels/d_a_gnd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_goal_flag.rel splits: config/GZLJ01/rels/d_a_goal_flag/splits.txt symbols: config/GZLJ01/rels/d_a_goal_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gy.rel splits: config/GZLJ01/rels/d_a_gy/splits.txt symbols: config/GZLJ01/rels/d_a_gy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_icelift.rel splits: config/GZLJ01/rels/d_a_icelift/splits.txt symbols: config/GZLJ01/rels/d_a_icelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kb.rel splits: config/GZLJ01/rels/d_a_kb/splits.txt symbols: config/GZLJ01/rels/d_a_kb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kddoor.rel splits: config/GZLJ01/rels/d_a_kddoor/splits.txt symbols: config/GZLJ01/rels/d_a_kddoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kita.rel splits: config/GZLJ01/rels/d_a_kita/splits.txt symbols: config/GZLJ01/rels/d_a_kita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_klft.rel splits: config/GZLJ01/rels/d_a_klft/splits.txt symbols: config/GZLJ01/rels/d_a_klft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kmon.rel splits: config/GZLJ01/rels/d_a_kmon/splits.txt symbols: config/GZLJ01/rels/d_a_kmon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_komore.rel splits: config/GZLJ01/rels/d_a_komore/splits.txt symbols: config/GZLJ01/rels/d_a_komore/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lbridge.rel splits: config/GZLJ01/rels/d_a_lbridge/splits.txt symbols: config/GZLJ01/rels/d_a_lbridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_leaflift.rel splits: config/GZLJ01/rels/d_a_leaflift/splits.txt symbols: config/GZLJ01/rels/d_a_leaflift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lstair.rel splits: config/GZLJ01/rels/d_a_lstair/splits.txt symbols: config/GZLJ01/rels/d_a_lstair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_machine.rel splits: config/GZLJ01/rels/d_a_machine/splits.txt symbols: config/GZLJ01/rels/d_a_machine/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mant.rel splits: config/GZLJ01/rels/d_a_mant/splits.txt symbols: config/GZLJ01/rels/d_a_mant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mbdoor.rel splits: config/GZLJ01/rels/d_a_mbdoor/splits.txt symbols: config/GZLJ01/rels/d_a_mbdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mgameboard.rel splits: config/GZLJ01/rels/d_a_mgameboard/splits.txt symbols: config/GZLJ01/rels/d_a_mgameboard/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mmusic.rel splits: config/GZLJ01/rels/d_a_mmusic/splits.txt symbols: config/GZLJ01/rels/d_a_mmusic/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mo2.rel splits: config/GZLJ01/rels/d_a_mo2/splits.txt symbols: config/GZLJ01/rels/d_a_mo2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mozo.rel splits: config/GZLJ01/rels/d_a_mozo/splits.txt symbols: config/GZLJ01/rels/d_a_mozo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mt.rel splits: config/GZLJ01/rels/d_a_mt/splits.txt symbols: config/GZLJ01/rels/d_a_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ac1.rel splits: config/GZLJ01/rels/d_a_npc_ac1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ac1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ah.rel splits: config/GZLJ01/rels/d_a_npc_ah/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ah/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_aj1.rel splits: config/GZLJ01/rels/d_a_npc_aj1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_aj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_auction.rel splits: config/GZLJ01/rels/d_a_npc_auction/splits.txt symbols: config/GZLJ01/rels/d_a_npc_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ba1.rel splits: config/GZLJ01/rels/d_a_npc_ba1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bj1.rel splits: config/GZLJ01/rels/d_a_npc_bj1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bm1.rel splits: config/GZLJ01/rels/d_a_npc_bm1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmcon1.rel splits: config/GZLJ01/rels/d_a_npc_bmcon1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bmcon1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bms1.rel splits: config/GZLJ01/rels/d_a_npc_bms1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bms1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmsw.rel splits: config/GZLJ01/rels/d_a_npc_bmsw/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bmsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bs1.rel splits: config/GZLJ01/rels/d_a_npc_bs1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_bs1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw.rel splits: config/GZLJ01/rels/d_a_npc_btsw/splits.txt symbols: config/GZLJ01/rels/d_a_npc_btsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw2.rel splits: config/GZLJ01/rels/d_a_npc_btsw2/splits.txt symbols: config/GZLJ01/rels/d_a_npc_btsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_co1.rel splits: config/GZLJ01/rels/d_a_npc_co1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_co1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_de1.rel splits: config/GZLJ01/rels/d_a_npc_de1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_de1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ds1.rel splits: config/GZLJ01/rels/d_a_npc_ds1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ds1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gk1.rel splits: config/GZLJ01/rels/d_a_npc_gk1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_gk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gp1.rel splits: config/GZLJ01/rels/d_a_npc_gp1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_gp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hi1.rel splits: config/GZLJ01/rels/d_a_npc_hi1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_hi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ho.rel splits: config/GZLJ01/rels/d_a_npc_ho/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ho/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hr.rel splits: config/GZLJ01/rels/d_a_npc_hr/splits.txt symbols: config/GZLJ01/rels/d_a_npc_hr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_jb1.rel splits: config/GZLJ01/rels/d_a_npc_jb1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_jb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ji1.rel splits: config/GZLJ01/rels/d_a_npc_ji1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ji1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kamome.rel splits: config/GZLJ01/rels/d_a_npc_kamome/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kf1.rel splits: config/GZLJ01/rels/d_a_npc_kf1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg1.rel splits: config/GZLJ01/rels/d_a_npc_kg1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kg1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg2.rel splits: config/GZLJ01/rels/d_a_npc_kg2/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kg2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kk1.rel splits: config/GZLJ01/rels/d_a_npc_kk1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_km1.rel splits: config/GZLJ01/rels/d_a_npc_km1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_km1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ko1.rel splits: config/GZLJ01/rels/d_a_npc_ko1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ko1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kp1.rel splits: config/GZLJ01/rels/d_a_npc_kp1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_kp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ls1.rel splits: config/GZLJ01/rels/d_a_npc_ls1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ls1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mk.rel splits: config/GZLJ01/rels/d_a_npc_mk/splits.txt symbols: config/GZLJ01/rels/d_a_npc_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mn.rel splits: config/GZLJ01/rels/d_a_npc_mn/splits.txt symbols: config/GZLJ01/rels/d_a_npc_mn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mt.rel splits: config/GZLJ01/rels/d_a_npc_mt/splits.txt symbols: config/GZLJ01/rels/d_a_npc_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_nz.rel splits: config/GZLJ01/rels/d_a_npc_nz/splits.txt symbols: config/GZLJ01/rels/d_a_npc_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ob1.rel splits: config/GZLJ01/rels/d_a_npc_ob1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ob1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_os.rel splits: config/GZLJ01/rels/d_a_npc_os/splits.txt symbols: config/GZLJ01/rels/d_a_npc_os/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p1.rel splits: config/GZLJ01/rels/d_a_npc_p1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_p1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p2.rel splits: config/GZLJ01/rels/d_a_npc_p2/splits.txt symbols: config/GZLJ01/rels/d_a_npc_p2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_people.rel splits: config/GZLJ01/rels/d_a_npc_people/splits.txt symbols: config/GZLJ01/rels/d_a_npc_people/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pf1.rel splits: config/GZLJ01/rels/d_a_npc_pf1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_pf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_photo.rel splits: config/GZLJ01/rels/d_a_npc_photo/splits.txt symbols: config/GZLJ01/rels/d_a_npc_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pm1.rel splits: config/GZLJ01/rels/d_a_npc_pm1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_pm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_roten.rel splits: config/GZLJ01/rels/d_a_npc_roten/splits.txt symbols: config/GZLJ01/rels/d_a_npc_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_rsh1.rel splits: config/GZLJ01/rels/d_a_npc_rsh1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_rsh1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sarace.rel splits: config/GZLJ01/rels/d_a_npc_sarace/splits.txt symbols: config/GZLJ01/rels/d_a_npc_sarace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sv.rel splits: config/GZLJ01/rels/d_a_npc_sv/splits.txt symbols: config/GZLJ01/rels/d_a_npc_sv/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tc.rel splits: config/GZLJ01/rels/d_a_npc_tc/splits.txt symbols: config/GZLJ01/rels/d_a_npc_tc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tt.rel splits: config/GZLJ01/rels/d_a_npc_tt/splits.txt symbols: config/GZLJ01/rels/d_a_npc_tt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_uk.rel splits: config/GZLJ01/rels/d_a_npc_uk/splits.txt symbols: config/GZLJ01/rels/d_a_npc_uk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl force_active: [__register_global_object] # TODO why does this get stripped? - object: files/rels/d_a_npc_ym1.rel splits: config/GZLJ01/rels/d_a_npc_ym1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_ym1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_yw1.rel splits: config/GZLJ01/rels/d_a_npc_yw1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_yw1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zk1.rel splits: config/GZLJ01/rels/d_a_npc_zk1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_zk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zl1.rel splits: config/GZLJ01/rels/d_a_npc_zl1/splits.txt symbols: config/GZLJ01/rels/d_a_npc_zl1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_nz.rel splits: config/GZLJ01/rels/d_a_nz/splits.txt symbols: config/GZLJ01/rels/d_a_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Itnak.rel splits: config/GZLJ01/rels/d_a_obj_Itnak/splits.txt symbols: config/GZLJ01/rels/d_a_obj_Itnak/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vds.rel splits: config/GZLJ01/rels/d_a_obj_Vds/splits.txt symbols: config/GZLJ01/rels/d_a_obj_Vds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vteng.rel splits: config/GZLJ01/rels/d_a_obj_Vteng/splits.txt symbols: config/GZLJ01/rels/d_a_obj_Vteng/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_YLzou.rel splits: config/GZLJ01/rels/d_a_obj_YLzou/splits.txt symbols: config/GZLJ01/rels/d_a_obj_YLzou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Yboil.rel splits: config/GZLJ01/rels/d_a_obj_Yboil/splits.txt symbols: config/GZLJ01/rels/d_a_obj_Yboil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_adnno.rel splits: config/GZLJ01/rels/d_a_obj_adnno/splits.txt symbols: config/GZLJ01/rels/d_a_obj_adnno/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ajav.rel splits: config/GZLJ01/rels/d_a_obj_ajav/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ajav/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_apzl.rel splits: config/GZLJ01/rels/d_a_obj_apzl/splits.txt symbols: config/GZLJ01/rels/d_a_obj_apzl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ashut.rel splits: config/GZLJ01/rels/d_a_obj_ashut/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ashut/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_auzu.rel splits: config/GZLJ01/rels/d_a_obj_auzu/splits.txt symbols: config/GZLJ01/rels/d_a_obj_auzu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyflag.rel splits: config/GZLJ01/rels/d_a_obj_buoyflag/splits.txt symbols: config/GZLJ01/rels/d_a_obj_buoyflag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyrace.rel splits: config/GZLJ01/rels/d_a_obj_buoyrace/splits.txt symbols: config/GZLJ01/rels/d_a_obj_buoyrace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_correct.rel splits: config/GZLJ01/rels/d_a_obj_correct/splits.txt symbols: config/GZLJ01/rels/d_a_obj_correct/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dmgroom.rel splits: config/GZLJ01/rels/d_a_obj_dmgroom/splits.txt symbols: config/GZLJ01/rels/d_a_obj_dmgroom/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dragonhead.rel splits: config/GZLJ01/rels/d_a_obj_dragonhead/splits.txt symbols: config/GZLJ01/rels/d_a_obj_dragonhead/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_drift.rel splits: config/GZLJ01/rels/d_a_obj_drift/splits.txt symbols: config/GZLJ01/rels/d_a_obj_drift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eayogn.rel splits: config/GZLJ01/rels/d_a_obj_eayogn/splits.txt symbols: config/GZLJ01/rels/d_a_obj_eayogn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ebomzo.rel splits: config/GZLJ01/rels/d_a_obj_ebomzo/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ebomzo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ekskz.rel splits: config/GZLJ01/rels/d_a_obj_ekskz/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ekskz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eskban.rel splits: config/GZLJ01/rels/d_a_obj_eskban/splits.txt symbols: config/GZLJ01/rels/d_a_obj_eskban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ferris.rel splits: config/GZLJ01/rels/d_a_obj_ferris/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ferris/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_figure.rel splits: config/GZLJ01/rels/d_a_obj_figure/splits.txt symbols: config/GZLJ01/rels/d_a_obj_figure/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_firewall.rel splits: config/GZLJ01/rels/d_a_obj_firewall/splits.txt symbols: config/GZLJ01/rels/d_a_obj_firewall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_flame.rel splits: config/GZLJ01/rels/d_a_obj_flame/splits.txt symbols: config/GZLJ01/rels/d_a_obj_flame/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ftree.rel splits: config/GZLJ01/rels/d_a_obj_ftree/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ftree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ganonbed.rel splits: config/GZLJ01/rels/d_a_obj_ganonbed/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ganonbed/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship.rel splits: config/GZLJ01/rels/d_a_obj_gaship/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gaship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship2.rel splits: config/GZLJ01/rels/d_a_obj_gaship2/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gaship2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnnbtltaki.rel splits: config/GZLJ01/rels/d_a_obj_gnnbtltaki/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gnnbtltaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakie.rel splits: config/GZLJ01/rels/d_a_obj_gnndemotakie/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gnndemotakie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakis.rel splits: config/GZLJ01/rels/d_a_obj_gnndemotakis/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gnndemotakis/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gong.rel splits: config/GZLJ01/rels/d_a_obj_gong/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gong/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gtaki.rel splits: config/GZLJ01/rels/d_a_obj_gtaki/splits.txt symbols: config/GZLJ01/rels/d_a_obj_gtaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami2.rel splits: config/GZLJ01/rels/d_a_obj_hami2/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hami2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami3.rel splits: config/GZLJ01/rels/d_a_obj_hami3/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hami3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami4.rel splits: config/GZLJ01/rels/d_a_obj_hami4/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hami4/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hat.rel splits: config/GZLJ01/rels/d_a_obj_hat/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hbrf1.rel splits: config/GZLJ01/rels/d_a_obj_hbrf1/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hbrf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hcbh.rel splits: config/GZLJ01/rels/d_a_obj_hcbh/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hcbh/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hha.rel splits: config/GZLJ01/rels/d_a_obj_hha/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hha/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hlift.rel splits: config/GZLJ01/rels/d_a_obj_hlift/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hlift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homen.rel splits: config/GZLJ01/rels/d_a_obj_homen/splits.txt symbols: config/GZLJ01/rels/d_a_obj_homen/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homensmoke.rel splits: config/GZLJ01/rels/d_a_obj_homensmoke/splits.txt symbols: config/GZLJ01/rels/d_a_obj_homensmoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hsehi1.rel splits: config/GZLJ01/rels/d_a_obj_hsehi1/splits.txt symbols: config/GZLJ01/rels/d_a_obj_hsehi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_htetu1.rel splits: config/GZLJ01/rels/d_a_obj_htetu1/splits.txt symbols: config/GZLJ01/rels/d_a_obj_htetu1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_iceisland.rel splits: config/GZLJ01/rels/d_a_obj_iceisland/splits.txt symbols: config/GZLJ01/rels/d_a_obj_iceisland/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_jump.rel splits: config/GZLJ01/rels/d_a_obj_jump/splits.txt symbols: config/GZLJ01/rels/d_a_obj_jump/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_kanoke.rel splits: config/GZLJ01/rels/d_a_obj_kanoke/splits.txt symbols: config/GZLJ01/rels/d_a_obj_kanoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ladder.rel splits: config/GZLJ01/rels/d_a_obj_ladder/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ladder/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_light.rel splits: config/GZLJ01/rels/d_a_obj_light/splits.txt symbols: config/GZLJ01/rels/d_a_obj_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkie.rel splits: config/GZLJ01/rels/d_a_obj_mkie/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mkie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkiek.rel splits: config/GZLJ01/rels/d_a_obj_mkiek/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mkiek/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mknjd.rel splits: config/GZLJ01/rels/d_a_obj_mknjd/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mknjd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mmrr.rel splits: config/GZLJ01/rels/d_a_obj_mmrr/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mmrr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan.rel splits: config/GZLJ01/rels/d_a_obj_msdan/splits.txt symbols: config/GZLJ01/rels/d_a_obj_msdan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan2.rel splits: config/GZLJ01/rels/d_a_obj_msdan2/splits.txt symbols: config/GZLJ01/rels/d_a_obj_msdan2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub.rel splits: config/GZLJ01/rels/d_a_obj_msdan_sub/splits.txt symbols: config/GZLJ01/rels/d_a_obj_msdan_sub/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub2.rel splits: config/GZLJ01/rels/d_a_obj_msdan_sub2/splits.txt symbols: config/GZLJ01/rels/d_a_obj_msdan_sub2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mtest.rel splits: config/GZLJ01/rels/d_a_obj_mtest/splits.txt symbols: config/GZLJ01/rels/d_a_obj_mtest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_nest.rel splits: config/GZLJ01/rels/d_a_obj_nest/splits.txt symbols: config/GZLJ01/rels/d_a_obj_nest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ojtree.rel splits: config/GZLJ01/rels/d_a_obj_ojtree/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ojtree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ospbox.rel splits: config/GZLJ01/rels/d_a_obj_ospbox/splits.txt symbols: config/GZLJ01/rels/d_a_obj_ospbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_paper.rel splits: config/GZLJ01/rels/d_a_obj_paper/splits.txt symbols: config/GZLJ01/rels/d_a_obj_paper/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pbka.rel splits: config/GZLJ01/rels/d_a_obj_pbka/splits.txt symbols: config/GZLJ01/rels/d_a_obj_pbka/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pfall.rel splits: config/GZLJ01/rels/d_a_obj_pfall/splits.txt symbols: config/GZLJ01/rels/d_a_obj_pfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_plant.rel splits: config/GZLJ01/rels/d_a_obj_plant/splits.txt symbols: config/GZLJ01/rels/d_a_obj_plant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rflw.rel splits: config/GZLJ01/rels/d_a_obj_rflw/splits.txt symbols: config/GZLJ01/rels/d_a_obj_rflw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rforce.rel splits: config/GZLJ01/rels/d_a_obj_rforce/splits.txt symbols: config/GZLJ01/rels/d_a_obj_rforce/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_smplbg.rel splits: config/GZLJ01/rels/d_a_obj_smplbg/splits.txt symbols: config/GZLJ01/rels/d_a_obj_smplbg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tapestry.rel splits: config/GZLJ01/rels/d_a_obj_tapestry/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tapestry/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tntrap.rel splits: config/GZLJ01/rels/d_a_obj_tntrap/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tntrap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tower.rel splits: config/GZLJ01/rels/d_a_obj_tower/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_trap.rel splits: config/GZLJ01/rels/d_a_obj_trap/splits.txt symbols: config/GZLJ01/rels/d_a_obj_trap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tribox.rel splits: config/GZLJ01/rels/d_a_obj_tribox/splits.txt symbols: config/GZLJ01/rels/d_a_obj_tribox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_try.rel splits: config/GZLJ01/rels/d_a_obj_try/splits.txt symbols: config/GZLJ01/rels/d_a_obj_try/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_usovmc.rel splits: config/GZLJ01/rels/d_a_obj_usovmc/splits.txt symbols: config/GZLJ01/rels/d_a_obj_usovmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vfan.rel splits: config/GZLJ01/rels/d_a_obj_vfan/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vfan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vgnfd.rel splits: config/GZLJ01/rels/d_a_obj_vgnfd/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vgnfd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmc.rel splits: config/GZLJ01/rels/d_a_obj_vmc/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsdz.rel splits: config/GZLJ01/rels/d_a_obj_vmsdz/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vmsdz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsms.rel splits: config/GZLJ01/rels/d_a_obj_vmsms/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vmsms/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_volcano.rel splits: config/GZLJ01/rels/d_a_obj_volcano/splits.txt symbols: config/GZLJ01/rels/d_a_obj_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vtil.rel splits: config/GZLJ01/rels/d_a_obj_vtil/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vtil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vyasi.rel splits: config/GZLJ01/rels/d_a_obj_vyasi/splits.txt symbols: config/GZLJ01/rels/d_a_obj_vyasi/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_xfuta.rel splits: config/GZLJ01/rels/d_a_obj_xfuta/splits.txt symbols: config/GZLJ01/rels/d_a_obj_xfuta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_zouK.rel splits: config/GZLJ01/rels/d_a_obj_zouK/splits.txt symbols: config/GZLJ01/rels/d_a_obj_zouK/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_oship.rel splits: config/GZLJ01/rels/d_a_oship/splits.txt symbols: config/GZLJ01/rels/d_a_oship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ph.rel splits: config/GZLJ01/rels/d_a_ph/splits.txt symbols: config/GZLJ01/rels/d_a_ph/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pt.rel splits: config/GZLJ01/rels/d_a_pt/splits.txt symbols: config/GZLJ01/rels/d_a_pt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pw.rel splits: config/GZLJ01/rels/d_a_pw/splits.txt symbols: config/GZLJ01/rels/d_a_pw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pz.rel splits: config/GZLJ01/rels/d_a_pz/splits.txt symbols: config/GZLJ01/rels/d_a_pz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_sail.rel splits: config/GZLJ01/rels/d_a_sail/splits.txt symbols: config/GZLJ01/rels/d_a_sail/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_sail_DL binary: assets/l_sail_DL.bin @@ -1604,126 +1988,157 @@ modules: - object: files/rels/d_a_salvage_tbox.rel splits: config/GZLJ01/rels/d_a_salvage_tbox/splits.txt symbols: config/GZLJ01/rels/d_a_salvage_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_scene_change.rel splits: config/GZLJ01/rels/d_a_scene_change/splits.txt symbols: config/GZLJ01/rels/d_a_scene_change/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter.rel splits: config/GZLJ01/rels/d_a_shutter/splits.txt symbols: config/GZLJ01/rels/d_a_shutter/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter2.rel splits: config/GZLJ01/rels/d_a_shutter2/splits.txt symbols: config/GZLJ01/rels/d_a_shutter2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_st.rel splits: config/GZLJ01/rels/d_a_st/splits.txt symbols: config/GZLJ01/rels/d_a_st/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_steam_tag.rel splits: config/GZLJ01/rels/d_a_steam_tag/splits.txt symbols: config/GZLJ01/rels/d_a_steam_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swattack.rel splits: config/GZLJ01/rels/d_a_swattack/splits.txt symbols: config/GZLJ01/rels/d_a_swattack/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_switem.rel splits: config/GZLJ01/rels/d_a_switem/splits.txt symbols: config/GZLJ01/rels/d_a_switem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swpropeller.rel splits: config/GZLJ01/rels/d_a_swpropeller/splits.txt symbols: config/GZLJ01/rels/d_a_swpropeller/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swtact.rel splits: config/GZLJ01/rels/d_a_swtact/splits.txt symbols: config/GZLJ01/rels/d_a_swtact/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_etc.rel splits: config/GZLJ01/rels/d_a_tag_etc/splits.txt symbols: config/GZLJ01/rels/d_a_tag_etc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_island.rel splits: config/GZLJ01/rels/d_a_tag_island/splits.txt symbols: config/GZLJ01/rels/d_a_tag_island/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_kf1.rel splits: config/GZLJ01/rels/d_a_tag_kf1/splits.txt symbols: config/GZLJ01/rels/d_a_tag_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_ret.rel splits: config/GZLJ01/rels/d_a_tag_ret/splits.txt symbols: config/GZLJ01/rels/d_a_tag_ret/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_volcano.rel splits: config/GZLJ01/rels/d_a_tag_volcano/splits.txt symbols: config/GZLJ01/rels/d_a_tag_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_title.rel splits: config/GZLJ01/rels/d_a_title/splits.txt symbols: config/GZLJ01/rels/d_a_title/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tn.rel splits: config/GZLJ01/rels/d_a_tn/splits.txt symbols: config/GZLJ01/rels/d_a_tn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_toge.rel splits: config/GZLJ01/rels/d_a_toge/splits.txt symbols: config/GZLJ01/rels/d_a_toge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tori_flag.rel splits: config/GZLJ01/rels/d_a_tori_flag/splits.txt symbols: config/GZLJ01/rels/d_a_tori_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wall.rel splits: config/GZLJ01/rels/d_a_wall/splits.txt symbols: config/GZLJ01/rels/d_a_wall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpfout.rel splits: config/GZLJ01/rels/d_a_warpfout/splits.txt symbols: config/GZLJ01/rels/d_a_warpfout/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpgn.rel splits: config/GZLJ01/rels/d_a_warpgn/splits.txt symbols: config/GZLJ01/rels/d_a_warpgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpls.rel splits: config/GZLJ01/rels/d_a_warpls/splits.txt symbols: config/GZLJ01/rels/d_a_warpls/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpmj.rel splits: config/GZLJ01/rels/d_a_warpmj/splits.txt symbols: config/GZLJ01/rels/d_a_warpmj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_waterfall.rel splits: config/GZLJ01/rels/d_a_waterfall/splits.txt symbols: config/GZLJ01/rels/d_a_waterfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_windmill.rel splits: config/GZLJ01/rels/d_a_windmill/splits.txt symbols: config/GZLJ01/rels/d_a_windmill/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wz.rel splits: config/GZLJ01/rels/d_a_wz/splits.txt symbols: config/GZLJ01/rels/d_a_wz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ygcwp.rel splits: config/GZLJ01/rels/d_a_ygcwp/splits.txt symbols: config/GZLJ01/rels/d_a_ygcwp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_yougan.rel splits: config/GZLJ01/rels/d_a_yougan/splits.txt symbols: config/GZLJ01/rels/d_a_yougan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ghostship.rel splits: config/GZLJ01/rels/d_a_ghostship/splits.txt symbols: config/GZLJ01/rels/d_a_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_movie_player.rel splits: config/GZLJ01/rels/d_a_movie_player/splits.txt symbols: config/GZLJ01/rels/d_a_movie_player/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: black_tex diff --git a/config/GZLJ01/rels/ldscript.tpl b/config/GZLJ01/rels/ldscript.tpl new file mode 100644 index 000000000..0614a1912 --- /dev/null +++ b/config/GZLJ01/rels/ldscript.tpl @@ -0,0 +1,18 @@ +SECTIONS +{ + GROUP: + { + .init :{} + .text ALIGN(0x4):{} + .ctors ALIGN(0x4):{} + .dtors ALIGN(0x4):{} + .rodata ALIGN(0x8):{} + .data ALIGN(0x8):{ *(.data) *(extabindex) *(extab) } + .bss ALIGN(0x8):{} + } +} + +FORCEACTIVE +{ + $FORCEACTIVE +} diff --git a/config/GZLP01/config.yml b/config/GZLP01/config.yml index 56e830a17..5e7c47069 100644 --- a/config/GZLP01/config.yml +++ b/config/GZLP01/config.yml @@ -22,166 +22,207 @@ modules: - object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel splits: config/GZLP01/rels/f_pc_profile_lst/splits.txt symbols: config/GZLP01/rels/f_pc_profile_lst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_agbsw0.rel splits: config/GZLP01/rels/d_a_agbsw0/splits.txt symbols: config/GZLP01/rels/d_a_agbsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw0.rel splits: config/GZLP01/rels/d_a_andsw0/splits.txt symbols: config/GZLP01/rels/d_a_andsw0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_andsw2.rel splits: config/GZLP01/rels/d_a_andsw2/splits.txt symbols: config/GZLP01/rels/d_a_andsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_att.rel splits: config/GZLP01/rels/d_a_att/splits.txt symbols: config/GZLP01/rels/d_a_att/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bflower.rel splits: config/GZLP01/rels/d_a_bflower/splits.txt symbols: config/GZLP01/rels/d_a_bflower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bita.rel splits: config/GZLP01/rels/d_a_bita/splits.txt symbols: config/GZLP01/rels/d_a_bita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_branch.rel splits: config/GZLP01/rels/d_a_branch/splits.txt symbols: config/GZLP01/rels/d_a_branch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_bridge.rel splits: config/GZLP01/rels/d_a_bridge/splits.txt symbols: config/GZLP01/rels/d_a_bridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming2.rel splits: config/GZLP01/rels/d_a_coming2/splits.txt symbols: config/GZLP01/rels/d_a_coming2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_coming3.rel splits: config/GZLP01/rels/d_a_coming3/splits.txt symbols: config/GZLP01/rels/d_a_coming3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_dk.rel splits: config/GZLP01/rels/d_a_demo_dk/splits.txt symbols: config/GZLP01/rels/d_a_demo_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_demo_kmm.rel splits: config/GZLP01/rels/d_a_demo_kmm/splits.txt symbols: config/GZLP01/rels/d_a_demo_kmm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_door10.rel splits: config/GZLP01/rels/d_a_door10/splits.txt symbols: config/GZLP01/rels/d_a_door10/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr.rel splits: config/GZLP01/rels/d_a_dr/splits.txt symbols: config/GZLP01/rels/d_a_dr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_dr2.rel splits: config/GZLP01/rels/d_a_dr2/splits.txt symbols: config/GZLP01/rels/d_a_dr2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ep.rel splits: config/GZLP01/rels/d_a_ep/splits.txt symbols: config/GZLP01/rels/d_a_ep/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_floor.rel splits: config/GZLP01/rels/d_a_floor/splits.txt symbols: config/GZLP01/rels/d_a_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_grass.rel splits: config/GZLP01/rels/d_a_grass/splits.txt symbols: config/GZLP01/rels/d_a_grass/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hitobj.rel splits: config/GZLP01/rels/d_a_hitobj/splits.txt symbols: config/GZLP01/rels/d_a_hitobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_hot_floor.rel splits: config/GZLP01/rels/d_a_hot_floor/splits.txt symbols: config/GZLP01/rels/d_a_hot_floor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ikari.rel splits: config/GZLP01/rels/d_a_ikari/splits.txt symbols: config/GZLP01/rels/d_a_ikari/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_jbo.rel splits: config/GZLP01/rels/d_a_jbo/splits.txt symbols: config/GZLP01/rels/d_a_jbo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kaji.rel splits: config/GZLP01/rels/d_a_kaji/splits.txt symbols: config/GZLP01/rels/d_a_kaji/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kanban.rel splits: config/GZLP01/rels/d_a_kanban/splits.txt symbols: config/GZLP01/rels/d_a_kanban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ki.rel splits: config/GZLP01/rels/d_a_ki/splits.txt symbols: config/GZLP01/rels/d_a_ki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_knob00.rel splits: config/GZLP01/rels/d_a_knob00/splits.txt symbols: config/GZLP01/rels/d_a_knob00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kui.rel splits: config/GZLP01/rels/d_a_kui/splits.txt symbols: config/GZLP01/rels/d_a_kui/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag00.rel splits: config/GZLP01/rels/d_a_kytag00/splits.txt symbols: config/GZLP01/rels/d_a_kytag00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag01.rel splits: config/GZLP01/rels/d_a_kytag01/splits.txt symbols: config/GZLP01/rels/d_a_kytag01/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag02.rel splits: config/GZLP01/rels/d_a_kytag02/splits.txt symbols: config/GZLP01/rels/d_a_kytag02/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag03.rel splits: config/GZLP01/rels/d_a_kytag03/splits.txt symbols: config/GZLP01/rels/d_a_kytag03/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag04.rel splits: config/GZLP01/rels/d_a_kytag04/splits.txt symbols: config/GZLP01/rels/d_a_kytag04/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag05.rel splits: config/GZLP01/rels/d_a_kytag05/splits.txt symbols: config/GZLP01/rels/d_a_kytag05/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag06.rel splits: config/GZLP01/rels/d_a_kytag06/splits.txt symbols: config/GZLP01/rels/d_a_kytag06/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_kytag07.rel splits: config/GZLP01/rels/d_a_kytag07/splits.txt symbols: config/GZLP01/rels/d_a_kytag07/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lamp.rel splits: config/GZLP01/rels/d_a_lamp/splits.txt symbols: config/GZLP01/rels/d_a_lamp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lod_bg.rel splits: config/GZLP01/rels/d_a_lod_bg/splits.txt symbols: config/GZLP01/rels/d_a_lod_bg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_lwood.rel splits: config/GZLP01/rels/d_a_lwood/splits.txt symbols: config/GZLP01/rels/d_a_lwood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_magma.rel splits: config/GZLP01/rels/d_a_magma/splits.txt symbols: config/GZLP01/rels/d_a_magma/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_majuu_flag.rel splits: config/GZLP01/rels/d_a_majuu_flag/splits.txt symbols: config/GZLP01/rels/d_a_majuu_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_flag02TEX binary: assets/l_flag02TEX.bin @@ -196,178 +237,222 @@ modules: - object: files/RELS.arc:rels/mmem/d_a_mdoor.rel splits: config/GZLP01/rels/d_a_mdoor/splits.txt symbols: config/GZLP01/rels/d_a_mdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_msw.rel splits: config/GZLP01/rels/d_a_msw/splits.txt symbols: config/GZLP01/rels/d_a_msw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_mtoge.rel splits: config/GZLP01/rels/d_a_mtoge/splits.txt symbols: config/GZLP01/rels/d_a_mtoge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_AjavW.rel splits: config/GZLP01/rels/d_a_obj_AjavW/splits.txt symbols: config/GZLP01/rels/d_a_obj_AjavW/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_Ygush00.rel splits: config/GZLP01/rels/d_a_obj_Ygush00/splits.txt symbols: config/GZLP01/rels/d_a_obj_Ygush00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_akabe.rel splits: config/GZLP01/rels/d_a_obj_akabe/splits.txt symbols: config/GZLP01/rels/d_a_obj_akabe/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel.rel splits: config/GZLP01/rels/d_a_obj_barrel/splits.txt symbols: config/GZLP01/rels/d_a_obj_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_barrel2.rel splits: config/GZLP01/rels/d_a_obj_barrel2/splits.txt symbols: config/GZLP01/rels/d_a_obj_barrel2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_bscurtain.rel splits: config/GZLP01/rels/d_a_obj_bscurtain/splits.txt symbols: config/GZLP01/rels/d_a_obj_bscurtain/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_cafelmp.rel splits: config/GZLP01/rels/d_a_obj_cafelmp/splits.txt symbols: config/GZLP01/rels/d_a_obj_cafelmp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_coming.rel splits: config/GZLP01/rels/d_a_obj_coming/splits.txt symbols: config/GZLP01/rels/d_a_obj_coming/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_demo_barrel.rel splits: config/GZLP01/rels/d_a_obj_demo_barrel/splits.txt symbols: config/GZLP01/rels/d_a_obj_demo_barrel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu.rel splits: config/GZLP01/rels/d_a_obj_doguu/splits.txt symbols: config/GZLP01/rels/d_a_obj_doguu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_doguu_demo.rel splits: config/GZLP01/rels/d_a_obj_doguu_demo/splits.txt symbols: config/GZLP01/rels/d_a_obj_doguu_demo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_gryw00.rel splits: config/GZLP01/rels/d_a_obj_gryw00/splits.txt symbols: config/GZLP01/rels/d_a_obj_gryw00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hfuck1.rel splits: config/GZLP01/rels/d_a_obj_hfuck1/splits.txt symbols: config/GZLP01/rels/d_a_obj_hfuck1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_hole.rel splits: config/GZLP01/rels/d_a_obj_hole/splits.txt symbols: config/GZLP01/rels/d_a_obj_hole/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ice.rel splits: config/GZLP01/rels/d_a_obj_ice/splits.txt symbols: config/GZLP01/rels/d_a_obj_ice/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ikada.rel splits: config/GZLP01/rels/d_a_obj_ikada/splits.txt symbols: config/GZLP01/rels/d_a_obj_ikada/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_kanat.rel splits: config/GZLP01/rels/d_a_obj_kanat/splits.txt symbols: config/GZLP01/rels/d_a_obj_kanat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_leaves.rel splits: config/GZLP01/rels/d_a_obj_leaves/splits.txt symbols: config/GZLP01/rels/d_a_obj_leaves/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_lpalm.rel splits: config/GZLP01/rels/d_a_obj_lpalm/splits.txt symbols: config/GZLP01/rels/d_a_obj_lpalm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_monument.rel splits: config/GZLP01/rels/d_a_obj_monument/splits.txt symbols: config/GZLP01/rels/d_a_obj_monument/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_movebox.rel splits: config/GZLP01/rels/d_a_obj_movebox/splits.txt symbols: config/GZLP01/rels/d_a_obj_movebox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_mshokki.rel splits: config/GZLP01/rels/d_a_obj_mshokki/splits.txt symbols: config/GZLP01/rels/d_a_obj_mshokki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_ohatch.rel splits: config/GZLP01/rels/d_a_obj_ohatch/splits.txt symbols: config/GZLP01/rels/d_a_obj_ohatch/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_otble.rel splits: config/GZLP01/rels/d_a_obj_otble/splits.txt symbols: config/GZLP01/rels/d_a_obj_otble/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pbco.rel splits: config/GZLP01/rels/d_a_obj_pbco/splits.txt symbols: config/GZLP01/rels/d_a_obj_pbco/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_pirateship.rel splits: config/GZLP01/rels/d_a_obj_pirateship/splits.txt symbols: config/GZLP01/rels/d_a_obj_pirateship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_quake.rel splits: config/GZLP01/rels/d_a_obj_quake/splits.txt symbols: config/GZLP01/rels/d_a_obj_quake/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_rcloud.rel splits: config/GZLP01/rels/d_a_obj_rcloud/splits.txt symbols: config/GZLP01/rels/d_a_obj_rcloud/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_roten.rel splits: config/GZLP01/rels/d_a_obj_roten/splits.txt symbols: config/GZLP01/rels/d_a_obj_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shelf.rel splits: config/GZLP01/rels/d_a_obj_shelf/splits.txt symbols: config/GZLP01/rels/d_a_obj_shelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_shmrgrd.rel splits: config/GZLP01/rels/d_a_obj_shmrgrd/splits.txt symbols: config/GZLP01/rels/d_a_obj_shmrgrd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_swpush.rel splits: config/GZLP01/rels/d_a_obj_swpush/splits.txt symbols: config/GZLP01/rels/d_a_obj_swpush/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_table.rel splits: config/GZLP01/rels/d_a_obj_table/splits.txt symbols: config/GZLP01/rels/d_a_obj_table/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tenmado.rel splits: config/GZLP01/rels/d_a_obj_tenmado/splits.txt symbols: config/GZLP01/rels/d_a_obj_tenmado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tide.rel splits: config/GZLP01/rels/d_a_obj_tide/splits.txt symbols: config/GZLP01/rels/d_a_obj_tide/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_timer.rel splits: config/GZLP01/rels/d_a_obj_timer/splits.txt symbols: config/GZLP01/rels/d_a_obj_timer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_toripost.rel splits: config/GZLP01/rels/d_a_obj_toripost/splits.txt symbols: config/GZLP01/rels/d_a_obj_toripost/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_tousekiki.rel splits: config/GZLP01/rels/d_a_obj_tousekiki/splits.txt symbols: config/GZLP01/rels/d_a_obj_tousekiki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_warpt.rel splits: config/GZLP01/rels/d_a_obj_warpt/splits.txt symbols: config/GZLP01/rels/d_a_obj_warpt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_obj_wood.rel splits: config/GZLP01/rels/d_a_obj_wood/splits.txt symbols: config/GZLP01/rels/d_a_obj_wood/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_pirate_flag.rel splits: config/GZLP01/rels/d_a_pirate_flag/splits.txt symbols: config/GZLP01/rels/d_a_pirate_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_pirate_flag_DL binary: assets/l_pirate_flag_DL.bin @@ -379,470 +464,587 @@ modules: - object: files/RELS.arc:rels/mmem/d_a_race_item.rel splits: config/GZLP01/rels/d_a_race_item/splits.txt symbols: config/GZLP01/rels/d_a_race_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rd.rel splits: config/GZLP01/rels/d_a_rd/splits.txt symbols: config/GZLP01/rels/d_a_rd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_rectangle.rel splits: config/GZLP01/rels/d_a_rectangle/splits.txt symbols: config/GZLP01/rels/d_a_rectangle/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_salvage.rel splits: config/GZLP01/rels/d_a_salvage/splits.txt symbols: config/GZLP01/rels/d_a_salvage/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sbox.rel splits: config/GZLP01/rels/d_a_sbox/splits.txt symbols: config/GZLP01/rels/d_a_sbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk.rel splits: config/GZLP01/rels/d_a_sk/splits.txt symbols: config/GZLP01/rels/d_a_sk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_sk2.rel splits: config/GZLP01/rels/d_a_sk2/splits.txt symbols: config/GZLP01/rels/d_a_sk2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_spotbox.rel splits: config/GZLP01/rels/d_a_spotbox/splits.txt symbols: config/GZLP01/rels/d_a_spotbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ssk.rel splits: config/GZLP01/rels/d_a_ssk/splits.txt symbols: config/GZLP01/rels/d_a_ssk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone.rel splits: config/GZLP01/rels/d_a_stone/splits.txt symbols: config/GZLP01/rels/d_a_stone/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_stone2.rel splits: config/GZLP01/rels/d_a_stone2/splits.txt symbols: config/GZLP01/rels/d_a_stone2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swc00.rel splits: config/GZLP01/rels/d_a_swc00/splits.txt symbols: config/GZLP01/rels/d_a_swc00/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swhit0.rel splits: config/GZLP01/rels/d_a_swhit0/splits.txt symbols: config/GZLP01/rels/d_a_swhit0/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_swtdoor.rel splits: config/GZLP01/rels/d_a_swtdoor/splits.txt symbols: config/GZLP01/rels/d_a_swtdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_attention.rel splits: config/GZLP01/rels/d_a_tag_attention/splits.txt symbols: config/GZLP01/rels/d_a_tag_attention/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ba1.rel splits: config/GZLP01/rels/d_a_tag_ba1/splits.txt symbols: config/GZLP01/rels/d_a_tag_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_event.rel splits: config/GZLP01/rels/d_a_tag_event/splits.txt symbols: config/GZLP01/rels/d_a_tag_event/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_evsw.rel splits: config/GZLP01/rels/d_a_tag_evsw/splits.txt symbols: config/GZLP01/rels/d_a_tag_evsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_ghostship.rel splits: config/GZLP01/rels/d_a_tag_ghostship/splits.txt symbols: config/GZLP01/rels/d_a_tag_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_hint.rel splits: config/GZLP01/rels/d_a_tag_hint/splits.txt symbols: config/GZLP01/rels/d_a_tag_hint/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kb_item.rel splits: config/GZLP01/rels/d_a_tag_kb_item/splits.txt symbols: config/GZLP01/rels/d_a_tag_kb_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_kk1.rel splits: config/GZLP01/rels/d_a_tag_kk1/splits.txt symbols: config/GZLP01/rels/d_a_tag_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_light.rel splits: config/GZLP01/rels/d_a_tag_light/splits.txt symbols: config/GZLP01/rels/d_a_tag_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_msg.rel splits: config/GZLP01/rels/d_a_tag_msg/splits.txt symbols: config/GZLP01/rels/d_a_tag_msg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_photo.rel splits: config/GZLP01/rels/d_a_tag_photo/splits.txt symbols: config/GZLP01/rels/d_a_tag_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tag_waterlevel.rel splits: config/GZLP01/rels/d_a_tag_waterlevel/splits.txt symbols: config/GZLP01/rels/d_a_tag_waterlevel/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tama.rel splits: config/GZLP01/rels/d_a_tama/splits.txt symbols: config/GZLP01/rels/d_a_tama/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tbox.rel splits: config/GZLP01/rels/d_a_tbox/splits.txt symbols: config/GZLP01/rels/d_a_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tpota.rel splits: config/GZLP01/rels/d_a_tpota/splits.txt symbols: config/GZLP01/rels/d_a_tpota/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_tsubo.rel splits: config/GZLP01/rels/d_a_tsubo/splits.txt symbols: config/GZLP01/rels/d_a_tsubo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warpdm20.rel splits: config/GZLP01/rels/d_a_warpdm20/splits.txt symbols: config/GZLP01/rels/d_a_warpdm20/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_warphr.rel splits: config/GZLP01/rels/d_a_warphr/splits.txt symbols: config/GZLP01/rels/d_a_warphr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_wbird.rel splits: config/GZLP01/rels/d_a_wbird/splits.txt symbols: config/GZLP01/rels/d_a_wbird/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/mmem/d_a_ykgr.rel splits: config/GZLP01/rels/d_a_ykgr/splits.txt symbols: config/GZLP01/rels/d_a_ykgr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_alldie.rel splits: config/GZLP01/rels/d_a_alldie/splits.txt symbols: config/GZLP01/rels/d_a_alldie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am.rel splits: config/GZLP01/rels/d_a_am/splits.txt symbols: config/GZLP01/rels/d_a_am/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_am2.rel splits: config/GZLP01/rels/d_a_am2/splits.txt symbols: config/GZLP01/rels/d_a_am2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_amiprop.rel splits: config/GZLP01/rels/d_a_amiprop/splits.txt symbols: config/GZLP01/rels/d_a_amiprop/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_iceeff.rel splits: config/GZLP01/rels/d_a_arrow_iceeff/splits.txt symbols: config/GZLP01/rels/d_a_arrow_iceeff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_arrow_lighteff.rel splits: config/GZLP01/rels/d_a_arrow_lighteff/splits.txt symbols: config/GZLP01/rels/d_a_arrow_lighteff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_beam.rel splits: config/GZLP01/rels/d_a_beam/splits.txt symbols: config/GZLP01/rels/d_a_beam/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_boko.rel splits: config/GZLP01/rels/d_a_boko/splits.txt symbols: config/GZLP01/rels/d_a_boko/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_canon.rel splits: config/GZLP01/rels/d_a_canon/splits.txt symbols: config/GZLP01/rels/d_a_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_cc.rel splits: config/GZLP01/rels/d_a_cc/splits.txt symbols: config/GZLP01/rels/d_a_cc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_dai.rel splits: config/GZLP01/rels/d_a_dai/splits.txt symbols: config/GZLP01/rels/d_a_dai/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_demo_item.rel splits: config/GZLP01/rels/d_a_demo_item/splits.txt symbols: config/GZLP01/rels/d_a_demo_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_door12.rel splits: config/GZLP01/rels/d_a_door12/splits.txt symbols: config/GZLP01/rels/d_a_door12/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_fallrock.rel splits: config/GZLP01/rels/d_a_fallrock/splits.txt symbols: config/GZLP01/rels/d_a_fallrock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ff.rel splits: config/GZLP01/rels/d_a_ff/splits.txt symbols: config/GZLP01/rels/d_a_ff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_gy_ctrl.rel splits: config/GZLP01/rels/d_a_gy_ctrl/splits.txt symbols: config/GZLP01/rels/d_a_gy_ctrl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_himo3.rel splits: config/GZLP01/rels/d_a_himo3/splits.txt symbols: config/GZLP01/rels/d_a_himo3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hmlif.rel splits: config/GZLP01/rels/d_a_hmlif/splits.txt symbols: config/GZLP01/rels/d_a_hmlif/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_hys.rel splits: config/GZLP01/rels/d_a_hys/splits.txt symbols: config/GZLP01/rels/d_a_hys/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kamome.rel splits: config/GZLP01/rels/d_a_kamome/splits.txt symbols: config/GZLP01/rels/d_a_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kantera.rel splits: config/GZLP01/rels/d_a_kantera/splits.txt symbols: config/GZLP01/rels/d_a_kantera/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kn.rel splits: config/GZLP01/rels/d_a_kn/splits.txt symbols: config/GZLP01/rels/d_a_kn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kokiie.rel splits: config/GZLP01/rels/d_a_kokiie/splits.txt symbols: config/GZLP01/rels/d_a_kokiie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ks.rel splits: config/GZLP01/rels/d_a_ks/splits.txt symbols: config/GZLP01/rels/d_a_ks/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_kt.rel splits: config/GZLP01/rels/d_a_kt/splits.txt symbols: config/GZLP01/rels/d_a_kt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_mflft.rel splits: config/GZLP01/rels/d_a_mflft/splits.txt symbols: config/GZLP01/rels/d_a_mflft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_cb1.rel splits: config/GZLP01/rels/d_a_npc_cb1/splits.txt symbols: config/GZLP01/rels/d_a_npc_cb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_md.rel splits: config/GZLP01/rels/d_a_npc_md/splits.txt symbols: config/GZLP01/rels/d_a_npc_md/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_npc_so.rel splits: config/GZLP01/rels/d_a_npc_so/splits.txt symbols: config/GZLP01/rels/d_a_npc_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_nzg.rel splits: config/GZLP01/rels/d_a_nzg/splits.txt symbols: config/GZLP01/rels/d_a_nzg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_aygr.rel splits: config/GZLP01/rels/d_a_obj_aygr/splits.txt symbols: config/GZLP01/rels/d_a_obj_aygr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_balancelift.rel splits: config/GZLP01/rels/d_a_obj_balancelift/splits.txt symbols: config/GZLP01/rels/d_a_obj_balancelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_barrier.rel splits: config/GZLP01/rels/d_a_obj_barrier/splits.txt symbols: config/GZLP01/rels/d_a_obj_barrier/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_bemos.rel splits: config/GZLP01/rels/d_a_obj_bemos/splits.txt symbols: config/GZLP01/rels/d_a_obj_bemos/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_canon.rel splits: config/GZLP01/rels/d_a_obj_canon/splits.txt symbols: config/GZLP01/rels/d_a_obj_canon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_eff.rel splits: config/GZLP01/rels/d_a_obj_eff/splits.txt symbols: config/GZLP01/rels/d_a_obj_eff/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_magmarock.rel splits: config/GZLP01/rels/d_a_obj_magmarock/splits.txt symbols: config/GZLP01/rels/d_a_obj_magmarock/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_majyuu_door.rel splits: config/GZLP01/rels/d_a_obj_majyuu_door/splits.txt symbols: config/GZLP01/rels/d_a_obj_majyuu_door/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_stair.rel splits: config/GZLP01/rels/d_a_obj_stair/splits.txt symbols: config/GZLP01/rels/d_a_obj_stair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swflat.rel splits: config/GZLP01/rels/d_a_obj_swflat/splits.txt symbols: config/GZLP01/rels/d_a_obj_swflat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swhammer.rel splits: config/GZLP01/rels/d_a_obj_swhammer/splits.txt symbols: config/GZLP01/rels/d_a_obj_swhammer/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swheavy.rel splits: config/GZLP01/rels/d_a_obj_swheavy/splits.txt symbols: config/GZLP01/rels/d_a_obj_swheavy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_obj_swlight.rel splits: config/GZLP01/rels/d_a_obj_swlight/splits.txt symbols: config/GZLP01/rels/d_a_obj_swlight/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_oq.rel splits: config/GZLP01/rels/d_a_oq/splits.txt symbols: config/GZLP01/rels/d_a_oq/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_pedestal.rel splits: config/GZLP01/rels/d_a_pedestal/splits.txt symbols: config/GZLP01/rels/d_a_pedestal/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_saku.rel splits: config/GZLP01/rels/d_a_saku/splits.txt symbols: config/GZLP01/rels/d_a_saku/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_seatag.rel splits: config/GZLP01/rels/d_a_seatag/splits.txt symbols: config/GZLP01/rels/d_a_seatag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shand.rel splits: config/GZLP01/rels/d_a_shand/splits.txt symbols: config/GZLP01/rels/d_a_shand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ship.rel splits: config/GZLP01/rels/d_a_ship/splits.txt symbols: config/GZLP01/rels/d_a_ship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_shop_item.rel splits: config/GZLP01/rels/d_a_shop_item/splits.txt symbols: config/GZLP01/rels/d_a_shop_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sie_flag.rel splits: config/GZLP01/rels/d_a_sie_flag/splits.txt symbols: config/GZLP01/rels/d_a_sie_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sitem.rel splits: config/GZLP01/rels/d_a_sitem/splits.txt symbols: config/GZLP01/rels/d_a_sitem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_ss.rel splits: config/GZLP01/rels/d_a_ss/splits.txt symbols: config/GZLP01/rels/d_a_ss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_sss.rel splits: config/GZLP01/rels/d_a_sss/splits.txt symbols: config/GZLP01/rels/d_a_sss/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_syan.rel splits: config/GZLP01/rels/d_a_syan/splits.txt symbols: config/GZLP01/rels/d_a_syan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_md_cb.rel splits: config/GZLP01/rels/d_a_tag_md_cb/splits.txt symbols: config/GZLP01/rels/d_a_tag_md_cb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_mk.rel splits: config/GZLP01/rels/d_a_tag_mk/splits.txt symbols: config/GZLP01/rels/d_a_tag_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tag_so.rel splits: config/GZLP01/rels/d_a_tag_so/splits.txt symbols: config/GZLP01/rels/d_a_tag_so/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_tornado.rel splits: config/GZLP01/rels/d_a_tornado/splits.txt symbols: config/GZLP01/rels/d_a_tornado/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_warpf.rel splits: config/GZLP01/rels/d_a_warpf/splits.txt symbols: config/GZLP01/rels/d_a_warpf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/RELS.arc:rels/amem/d_a_wind_tag.rel splits: config/GZLP01/rels/d_a_wind_tag/splits.txt symbols: config/GZLP01/rels/d_a_wind_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_acorn_leaf.rel splits: config/GZLP01/rels/d_a_acorn_leaf/splits.txt symbols: config/GZLP01/rels/d_a_acorn_leaf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_atdoor.rel splits: config/GZLP01/rels/d_a_atdoor/splits.txt symbols: config/GZLP01/rels/d_a_atdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_auction.rel splits: config/GZLP01/rels/d_a_auction/splits.txt symbols: config/GZLP01/rels/d_a_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bb.rel splits: config/GZLP01/rels/d_a_bb/splits.txt symbols: config/GZLP01/rels/d_a_bb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdk.rel splits: config/GZLP01/rels/d_a_bdk/splits.txt symbols: config/GZLP01/rels/d_a_bdk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bdkobj.rel splits: config/GZLP01/rels/d_a_bdkobj/splits.txt symbols: config/GZLP01/rels/d_a_bdkobj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn.rel splits: config/GZLP01/rels/d_a_bgn/splits.txt symbols: config/GZLP01/rels/d_a_bgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn2.rel splits: config/GZLP01/rels/d_a_bgn2/splits.txt symbols: config/GZLP01/rels/d_a_bgn2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bgn3.rel splits: config/GZLP01/rels/d_a_bgn3/splits.txt symbols: config/GZLP01/rels/d_a_bgn3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bigelf.rel splits: config/GZLP01/rels/d_a_bigelf/splits.txt symbols: config/GZLP01/rels/d_a_bigelf/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bk.rel splits: config/GZLP01/rels/d_a_bk/splits.txt symbols: config/GZLP01/rels/d_a_bk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bl.rel splits: config/GZLP01/rels/d_a_bl/splits.txt symbols: config/GZLP01/rels/d_a_bl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmd.rel splits: config/GZLP01/rels/d_a_bmd/splits.txt symbols: config/GZLP01/rels/d_a_bmd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdfoot.rel splits: config/GZLP01/rels/d_a_bmdfoot/splits.txt symbols: config/GZLP01/rels/d_a_bmdfoot/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bmdhand.rel splits: config/GZLP01/rels/d_a_bmdhand/splits.txt symbols: config/GZLP01/rels/d_a_bmdhand/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bo.rel splits: config/GZLP01/rels/d_a_bo/splits.txt symbols: config/GZLP01/rels/d_a_bo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_boss_item.rel splits: config/GZLP01/rels/d_a_boss_item/splits.txt symbols: config/GZLP01/rels/d_a_boss_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bpw.rel splits: config/GZLP01/rels/d_a_bpw/splits.txt symbols: config/GZLP01/rels/d_a_bpw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bst.rel splits: config/GZLP01/rels/d_a_bst/splits.txt symbols: config/GZLP01/rels/d_a_bst/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_btd.rel splits: config/GZLP01/rels/d_a_btd/splits.txt symbols: config/GZLP01/rels/d_a_btd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwd.rel splits: config/GZLP01/rels/d_a_bwd/splits.txt symbols: config/GZLP01/rels/d_a_bwd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_bwdg.rel splits: config/GZLP01/rels/d_a_bwdg/splits.txt symbols: config/GZLP01/rels/d_a_bwdg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_B_sand2TEX binary: assets/l_B_sand2TEX.bin @@ -862,731 +1064,913 @@ modules: - object: files/rels/d_a_bwds.rel splits: config/GZLP01/rels/d_a_bwds/splits.txt symbols: config/GZLP01/rels/d_a_bwds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta.rel splits: config/GZLP01/rels/d_a_daiocta/splits.txt symbols: config/GZLP01/rels/d_a_daiocta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_daiocta_eye.rel splits: config/GZLP01/rels/d_a_daiocta_eye/splits.txt symbols: config/GZLP01/rels/d_a_daiocta_eye/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_deku_item.rel splits: config/GZLP01/rels/d_a_deku_item/splits.txt symbols: config/GZLP01/rels/d_a_deku_item/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dk.rel splits: config/GZLP01/rels/d_a_dk/splits.txt symbols: config/GZLP01/rels/d_a_dk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_dummy.rel splits: config/GZLP01/rels/d_a_dummy/splits.txt symbols: config/GZLP01/rels/d_a_dummy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fallrock_tag.rel splits: config/GZLP01/rels/d_a_fallrock_tag/splits.txt symbols: config/GZLP01/rels/d_a_fallrock_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fan.rel splits: config/GZLP01/rels/d_a_fan/splits.txt symbols: config/GZLP01/rels/d_a_fan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fganon.rel splits: config/GZLP01/rels/d_a_fganon/splits.txt symbols: config/GZLP01/rels/d_a_fganon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fgmahou.rel splits: config/GZLP01/rels/d_a_fgmahou/splits.txt symbols: config/GZLP01/rels/d_a_fgmahou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fire.rel splits: config/GZLP01/rels/d_a_fire/splits.txt symbols: config/GZLP01/rels/d_a_fire/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_fm.rel splits: config/GZLP01/rels/d_a_fm/splits.txt symbols: config/GZLP01/rels/d_a_fm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gm.rel splits: config/GZLP01/rels/d_a_gm/splits.txt symbols: config/GZLP01/rels/d_a_gm/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gnd.rel splits: config/GZLP01/rels/d_a_gnd/splits.txt symbols: config/GZLP01/rels/d_a_gnd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_goal_flag.rel splits: config/GZLP01/rels/d_a_goal_flag/splits.txt symbols: config/GZLP01/rels/d_a_goal_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_gy.rel splits: config/GZLP01/rels/d_a_gy/splits.txt symbols: config/GZLP01/rels/d_a_gy/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_icelift.rel splits: config/GZLP01/rels/d_a_icelift/splits.txt symbols: config/GZLP01/rels/d_a_icelift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kb.rel splits: config/GZLP01/rels/d_a_kb/splits.txt symbols: config/GZLP01/rels/d_a_kb/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kddoor.rel splits: config/GZLP01/rels/d_a_kddoor/splits.txt symbols: config/GZLP01/rels/d_a_kddoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kita.rel splits: config/GZLP01/rels/d_a_kita/splits.txt symbols: config/GZLP01/rels/d_a_kita/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_klft.rel splits: config/GZLP01/rels/d_a_klft/splits.txt symbols: config/GZLP01/rels/d_a_klft/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_kmon.rel splits: config/GZLP01/rels/d_a_kmon/splits.txt symbols: config/GZLP01/rels/d_a_kmon/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_komore.rel splits: config/GZLP01/rels/d_a_komore/splits.txt symbols: config/GZLP01/rels/d_a_komore/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lbridge.rel splits: config/GZLP01/rels/d_a_lbridge/splits.txt symbols: config/GZLP01/rels/d_a_lbridge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_leaflift.rel splits: config/GZLP01/rels/d_a_leaflift/splits.txt symbols: config/GZLP01/rels/d_a_leaflift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_lstair.rel splits: config/GZLP01/rels/d_a_lstair/splits.txt symbols: config/GZLP01/rels/d_a_lstair/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_machine.rel splits: config/GZLP01/rels/d_a_machine/splits.txt symbols: config/GZLP01/rels/d_a_machine/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mant.rel splits: config/GZLP01/rels/d_a_mant/splits.txt symbols: config/GZLP01/rels/d_a_mant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mbdoor.rel splits: config/GZLP01/rels/d_a_mbdoor/splits.txt symbols: config/GZLP01/rels/d_a_mbdoor/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mgameboard.rel splits: config/GZLP01/rels/d_a_mgameboard/splits.txt symbols: config/GZLP01/rels/d_a_mgameboard/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mmusic.rel splits: config/GZLP01/rels/d_a_mmusic/splits.txt symbols: config/GZLP01/rels/d_a_mmusic/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mo2.rel splits: config/GZLP01/rels/d_a_mo2/splits.txt symbols: config/GZLP01/rels/d_a_mo2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mozo.rel splits: config/GZLP01/rels/d_a_mozo/splits.txt symbols: config/GZLP01/rels/d_a_mozo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_mt.rel splits: config/GZLP01/rels/d_a_mt/splits.txt symbols: config/GZLP01/rels/d_a_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ac1.rel splits: config/GZLP01/rels/d_a_npc_ac1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ac1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ah.rel splits: config/GZLP01/rels/d_a_npc_ah/splits.txt symbols: config/GZLP01/rels/d_a_npc_ah/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_aj1.rel splits: config/GZLP01/rels/d_a_npc_aj1/splits.txt symbols: config/GZLP01/rels/d_a_npc_aj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_auction.rel splits: config/GZLP01/rels/d_a_npc_auction/splits.txt symbols: config/GZLP01/rels/d_a_npc_auction/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ba1.rel splits: config/GZLP01/rels/d_a_npc_ba1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ba1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bj1.rel splits: config/GZLP01/rels/d_a_npc_bj1/splits.txt symbols: config/GZLP01/rels/d_a_npc_bj1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bm1.rel splits: config/GZLP01/rels/d_a_npc_bm1/splits.txt symbols: config/GZLP01/rels/d_a_npc_bm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmcon1.rel splits: config/GZLP01/rels/d_a_npc_bmcon1/splits.txt symbols: config/GZLP01/rels/d_a_npc_bmcon1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bms1.rel splits: config/GZLP01/rels/d_a_npc_bms1/splits.txt symbols: config/GZLP01/rels/d_a_npc_bms1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bmsw.rel splits: config/GZLP01/rels/d_a_npc_bmsw/splits.txt symbols: config/GZLP01/rels/d_a_npc_bmsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_bs1.rel splits: config/GZLP01/rels/d_a_npc_bs1/splits.txt symbols: config/GZLP01/rels/d_a_npc_bs1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw.rel splits: config/GZLP01/rels/d_a_npc_btsw/splits.txt symbols: config/GZLP01/rels/d_a_npc_btsw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_btsw2.rel splits: config/GZLP01/rels/d_a_npc_btsw2/splits.txt symbols: config/GZLP01/rels/d_a_npc_btsw2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_co1.rel splits: config/GZLP01/rels/d_a_npc_co1/splits.txt symbols: config/GZLP01/rels/d_a_npc_co1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_de1.rel splits: config/GZLP01/rels/d_a_npc_de1/splits.txt symbols: config/GZLP01/rels/d_a_npc_de1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ds1.rel splits: config/GZLP01/rels/d_a_npc_ds1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ds1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gk1.rel splits: config/GZLP01/rels/d_a_npc_gk1/splits.txt symbols: config/GZLP01/rels/d_a_npc_gk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_gp1.rel splits: config/GZLP01/rels/d_a_npc_gp1/splits.txt symbols: config/GZLP01/rels/d_a_npc_gp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hi1.rel splits: config/GZLP01/rels/d_a_npc_hi1/splits.txt symbols: config/GZLP01/rels/d_a_npc_hi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ho.rel splits: config/GZLP01/rels/d_a_npc_ho/splits.txt symbols: config/GZLP01/rels/d_a_npc_ho/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_hr.rel splits: config/GZLP01/rels/d_a_npc_hr/splits.txt symbols: config/GZLP01/rels/d_a_npc_hr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_jb1.rel splits: config/GZLP01/rels/d_a_npc_jb1/splits.txt symbols: config/GZLP01/rels/d_a_npc_jb1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ji1.rel splits: config/GZLP01/rels/d_a_npc_ji1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ji1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kamome.rel splits: config/GZLP01/rels/d_a_npc_kamome/splits.txt symbols: config/GZLP01/rels/d_a_npc_kamome/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kf1.rel splits: config/GZLP01/rels/d_a_npc_kf1/splits.txt symbols: config/GZLP01/rels/d_a_npc_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg1.rel splits: config/GZLP01/rels/d_a_npc_kg1/splits.txt symbols: config/GZLP01/rels/d_a_npc_kg1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kg2.rel splits: config/GZLP01/rels/d_a_npc_kg2/splits.txt symbols: config/GZLP01/rels/d_a_npc_kg2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kk1.rel splits: config/GZLP01/rels/d_a_npc_kk1/splits.txt symbols: config/GZLP01/rels/d_a_npc_kk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_km1.rel splits: config/GZLP01/rels/d_a_npc_km1/splits.txt symbols: config/GZLP01/rels/d_a_npc_km1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ko1.rel splits: config/GZLP01/rels/d_a_npc_ko1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ko1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_kp1.rel splits: config/GZLP01/rels/d_a_npc_kp1/splits.txt symbols: config/GZLP01/rels/d_a_npc_kp1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ls1.rel splits: config/GZLP01/rels/d_a_npc_ls1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ls1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mk.rel splits: config/GZLP01/rels/d_a_npc_mk/splits.txt symbols: config/GZLP01/rels/d_a_npc_mk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mn.rel splits: config/GZLP01/rels/d_a_npc_mn/splits.txt symbols: config/GZLP01/rels/d_a_npc_mn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_mt.rel splits: config/GZLP01/rels/d_a_npc_mt/splits.txt symbols: config/GZLP01/rels/d_a_npc_mt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_nz.rel splits: config/GZLP01/rels/d_a_npc_nz/splits.txt symbols: config/GZLP01/rels/d_a_npc_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_ob1.rel splits: config/GZLP01/rels/d_a_npc_ob1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ob1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_os.rel splits: config/GZLP01/rels/d_a_npc_os/splits.txt symbols: config/GZLP01/rels/d_a_npc_os/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p1.rel splits: config/GZLP01/rels/d_a_npc_p1/splits.txt symbols: config/GZLP01/rels/d_a_npc_p1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_p2.rel splits: config/GZLP01/rels/d_a_npc_p2/splits.txt symbols: config/GZLP01/rels/d_a_npc_p2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_people.rel splits: config/GZLP01/rels/d_a_npc_people/splits.txt symbols: config/GZLP01/rels/d_a_npc_people/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pf1.rel splits: config/GZLP01/rels/d_a_npc_pf1/splits.txt symbols: config/GZLP01/rels/d_a_npc_pf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_photo.rel splits: config/GZLP01/rels/d_a_npc_photo/splits.txt symbols: config/GZLP01/rels/d_a_npc_photo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_pm1.rel splits: config/GZLP01/rels/d_a_npc_pm1/splits.txt symbols: config/GZLP01/rels/d_a_npc_pm1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_roten.rel splits: config/GZLP01/rels/d_a_npc_roten/splits.txt symbols: config/GZLP01/rels/d_a_npc_roten/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_rsh1.rel splits: config/GZLP01/rels/d_a_npc_rsh1/splits.txt symbols: config/GZLP01/rels/d_a_npc_rsh1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sarace.rel splits: config/GZLP01/rels/d_a_npc_sarace/splits.txt symbols: config/GZLP01/rels/d_a_npc_sarace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_sv.rel splits: config/GZLP01/rels/d_a_npc_sv/splits.txt symbols: config/GZLP01/rels/d_a_npc_sv/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tc.rel splits: config/GZLP01/rels/d_a_npc_tc/splits.txt symbols: config/GZLP01/rels/d_a_npc_tc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_tt.rel splits: config/GZLP01/rels/d_a_npc_tt/splits.txt symbols: config/GZLP01/rels/d_a_npc_tt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_uk.rel splits: config/GZLP01/rels/d_a_npc_uk/splits.txt symbols: config/GZLP01/rels/d_a_npc_uk/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl force_active: [__register_global_object] # TODO why does this get stripped? - object: files/rels/d_a_npc_ym1.rel splits: config/GZLP01/rels/d_a_npc_ym1/splits.txt symbols: config/GZLP01/rels/d_a_npc_ym1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_yw1.rel splits: config/GZLP01/rels/d_a_npc_yw1/splits.txt symbols: config/GZLP01/rels/d_a_npc_yw1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zk1.rel splits: config/GZLP01/rels/d_a_npc_zk1/splits.txt symbols: config/GZLP01/rels/d_a_npc_zk1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_npc_zl1.rel splits: config/GZLP01/rels/d_a_npc_zl1/splits.txt symbols: config/GZLP01/rels/d_a_npc_zl1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_nz.rel splits: config/GZLP01/rels/d_a_nz/splits.txt symbols: config/GZLP01/rels/d_a_nz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Itnak.rel splits: config/GZLP01/rels/d_a_obj_Itnak/splits.txt symbols: config/GZLP01/rels/d_a_obj_Itnak/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vds.rel splits: config/GZLP01/rels/d_a_obj_Vds/splits.txt symbols: config/GZLP01/rels/d_a_obj_Vds/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Vteng.rel splits: config/GZLP01/rels/d_a_obj_Vteng/splits.txt symbols: config/GZLP01/rels/d_a_obj_Vteng/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_YLzou.rel splits: config/GZLP01/rels/d_a_obj_YLzou/splits.txt symbols: config/GZLP01/rels/d_a_obj_YLzou/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_Yboil.rel splits: config/GZLP01/rels/d_a_obj_Yboil/splits.txt symbols: config/GZLP01/rels/d_a_obj_Yboil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_adnno.rel splits: config/GZLP01/rels/d_a_obj_adnno/splits.txt symbols: config/GZLP01/rels/d_a_obj_adnno/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ajav.rel splits: config/GZLP01/rels/d_a_obj_ajav/splits.txt symbols: config/GZLP01/rels/d_a_obj_ajav/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_apzl.rel splits: config/GZLP01/rels/d_a_obj_apzl/splits.txt symbols: config/GZLP01/rels/d_a_obj_apzl/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ashut.rel splits: config/GZLP01/rels/d_a_obj_ashut/splits.txt symbols: config/GZLP01/rels/d_a_obj_ashut/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_auzu.rel splits: config/GZLP01/rels/d_a_obj_auzu/splits.txt symbols: config/GZLP01/rels/d_a_obj_auzu/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyflag.rel splits: config/GZLP01/rels/d_a_obj_buoyflag/splits.txt symbols: config/GZLP01/rels/d_a_obj_buoyflag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_buoyrace.rel splits: config/GZLP01/rels/d_a_obj_buoyrace/splits.txt symbols: config/GZLP01/rels/d_a_obj_buoyrace/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_correct.rel splits: config/GZLP01/rels/d_a_obj_correct/splits.txt symbols: config/GZLP01/rels/d_a_obj_correct/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dmgroom.rel splits: config/GZLP01/rels/d_a_obj_dmgroom/splits.txt symbols: config/GZLP01/rels/d_a_obj_dmgroom/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_dragonhead.rel splits: config/GZLP01/rels/d_a_obj_dragonhead/splits.txt symbols: config/GZLP01/rels/d_a_obj_dragonhead/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_drift.rel splits: config/GZLP01/rels/d_a_obj_drift/splits.txt symbols: config/GZLP01/rels/d_a_obj_drift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eayogn.rel splits: config/GZLP01/rels/d_a_obj_eayogn/splits.txt symbols: config/GZLP01/rels/d_a_obj_eayogn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ebomzo.rel splits: config/GZLP01/rels/d_a_obj_ebomzo/splits.txt symbols: config/GZLP01/rels/d_a_obj_ebomzo/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ekskz.rel splits: config/GZLP01/rels/d_a_obj_ekskz/splits.txt symbols: config/GZLP01/rels/d_a_obj_ekskz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_eskban.rel splits: config/GZLP01/rels/d_a_obj_eskban/splits.txt symbols: config/GZLP01/rels/d_a_obj_eskban/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ferris.rel splits: config/GZLP01/rels/d_a_obj_ferris/splits.txt symbols: config/GZLP01/rels/d_a_obj_ferris/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_figure.rel splits: config/GZLP01/rels/d_a_obj_figure/splits.txt symbols: config/GZLP01/rels/d_a_obj_figure/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_firewall.rel splits: config/GZLP01/rels/d_a_obj_firewall/splits.txt symbols: config/GZLP01/rels/d_a_obj_firewall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_flame.rel splits: config/GZLP01/rels/d_a_obj_flame/splits.txt symbols: config/GZLP01/rels/d_a_obj_flame/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ftree.rel splits: config/GZLP01/rels/d_a_obj_ftree/splits.txt symbols: config/GZLP01/rels/d_a_obj_ftree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ganonbed.rel splits: config/GZLP01/rels/d_a_obj_ganonbed/splits.txt symbols: config/GZLP01/rels/d_a_obj_ganonbed/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship.rel splits: config/GZLP01/rels/d_a_obj_gaship/splits.txt symbols: config/GZLP01/rels/d_a_obj_gaship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gaship2.rel splits: config/GZLP01/rels/d_a_obj_gaship2/splits.txt symbols: config/GZLP01/rels/d_a_obj_gaship2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnnbtltaki.rel splits: config/GZLP01/rels/d_a_obj_gnnbtltaki/splits.txt symbols: config/GZLP01/rels/d_a_obj_gnnbtltaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakie.rel splits: config/GZLP01/rels/d_a_obj_gnndemotakie/splits.txt symbols: config/GZLP01/rels/d_a_obj_gnndemotakie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gnndemotakis.rel splits: config/GZLP01/rels/d_a_obj_gnndemotakis/splits.txt symbols: config/GZLP01/rels/d_a_obj_gnndemotakis/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gong.rel splits: config/GZLP01/rels/d_a_obj_gong/splits.txt symbols: config/GZLP01/rels/d_a_obj_gong/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_gtaki.rel splits: config/GZLP01/rels/d_a_obj_gtaki/splits.txt symbols: config/GZLP01/rels/d_a_obj_gtaki/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami2.rel splits: config/GZLP01/rels/d_a_obj_hami2/splits.txt symbols: config/GZLP01/rels/d_a_obj_hami2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami3.rel splits: config/GZLP01/rels/d_a_obj_hami3/splits.txt symbols: config/GZLP01/rels/d_a_obj_hami3/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hami4.rel splits: config/GZLP01/rels/d_a_obj_hami4/splits.txt symbols: config/GZLP01/rels/d_a_obj_hami4/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hat.rel splits: config/GZLP01/rels/d_a_obj_hat/splits.txt symbols: config/GZLP01/rels/d_a_obj_hat/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hbrf1.rel splits: config/GZLP01/rels/d_a_obj_hbrf1/splits.txt symbols: config/GZLP01/rels/d_a_obj_hbrf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hcbh.rel splits: config/GZLP01/rels/d_a_obj_hcbh/splits.txt symbols: config/GZLP01/rels/d_a_obj_hcbh/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hha.rel splits: config/GZLP01/rels/d_a_obj_hha/splits.txt symbols: config/GZLP01/rels/d_a_obj_hha/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hlift.rel splits: config/GZLP01/rels/d_a_obj_hlift/splits.txt symbols: config/GZLP01/rels/d_a_obj_hlift/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homen.rel splits: config/GZLP01/rels/d_a_obj_homen/splits.txt symbols: config/GZLP01/rels/d_a_obj_homen/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_homensmoke.rel splits: config/GZLP01/rels/d_a_obj_homensmoke/splits.txt symbols: config/GZLP01/rels/d_a_obj_homensmoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_hsehi1.rel splits: config/GZLP01/rels/d_a_obj_hsehi1/splits.txt symbols: config/GZLP01/rels/d_a_obj_hsehi1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_htetu1.rel splits: config/GZLP01/rels/d_a_obj_htetu1/splits.txt symbols: config/GZLP01/rels/d_a_obj_htetu1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_iceisland.rel splits: config/GZLP01/rels/d_a_obj_iceisland/splits.txt symbols: config/GZLP01/rels/d_a_obj_iceisland/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_jump.rel splits: config/GZLP01/rels/d_a_obj_jump/splits.txt symbols: config/GZLP01/rels/d_a_obj_jump/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_kanoke.rel splits: config/GZLP01/rels/d_a_obj_kanoke/splits.txt symbols: config/GZLP01/rels/d_a_obj_kanoke/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ladder.rel splits: config/GZLP01/rels/d_a_obj_ladder/splits.txt symbols: config/GZLP01/rels/d_a_obj_ladder/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_light.rel splits: config/GZLP01/rels/d_a_obj_light/splits.txt symbols: config/GZLP01/rels/d_a_obj_light/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkie.rel splits: config/GZLP01/rels/d_a_obj_mkie/splits.txt symbols: config/GZLP01/rels/d_a_obj_mkie/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mkiek.rel splits: config/GZLP01/rels/d_a_obj_mkiek/splits.txt symbols: config/GZLP01/rels/d_a_obj_mkiek/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mknjd.rel splits: config/GZLP01/rels/d_a_obj_mknjd/splits.txt symbols: config/GZLP01/rels/d_a_obj_mknjd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mmrr.rel splits: config/GZLP01/rels/d_a_obj_mmrr/splits.txt symbols: config/GZLP01/rels/d_a_obj_mmrr/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan.rel splits: config/GZLP01/rels/d_a_obj_msdan/splits.txt symbols: config/GZLP01/rels/d_a_obj_msdan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan2.rel splits: config/GZLP01/rels/d_a_obj_msdan2/splits.txt symbols: config/GZLP01/rels/d_a_obj_msdan2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub.rel splits: config/GZLP01/rels/d_a_obj_msdan_sub/splits.txt symbols: config/GZLP01/rels/d_a_obj_msdan_sub/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_msdan_sub2.rel splits: config/GZLP01/rels/d_a_obj_msdan_sub2/splits.txt symbols: config/GZLP01/rels/d_a_obj_msdan_sub2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_mtest.rel splits: config/GZLP01/rels/d_a_obj_mtest/splits.txt symbols: config/GZLP01/rels/d_a_obj_mtest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_nest.rel splits: config/GZLP01/rels/d_a_obj_nest/splits.txt symbols: config/GZLP01/rels/d_a_obj_nest/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ojtree.rel splits: config/GZLP01/rels/d_a_obj_ojtree/splits.txt symbols: config/GZLP01/rels/d_a_obj_ojtree/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_ospbox.rel splits: config/GZLP01/rels/d_a_obj_ospbox/splits.txt symbols: config/GZLP01/rels/d_a_obj_ospbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_paper.rel splits: config/GZLP01/rels/d_a_obj_paper/splits.txt symbols: config/GZLP01/rels/d_a_obj_paper/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pbka.rel splits: config/GZLP01/rels/d_a_obj_pbka/splits.txt symbols: config/GZLP01/rels/d_a_obj_pbka/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_pfall.rel splits: config/GZLP01/rels/d_a_obj_pfall/splits.txt symbols: config/GZLP01/rels/d_a_obj_pfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_plant.rel splits: config/GZLP01/rels/d_a_obj_plant/splits.txt symbols: config/GZLP01/rels/d_a_obj_plant/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rflw.rel splits: config/GZLP01/rels/d_a_obj_rflw/splits.txt symbols: config/GZLP01/rels/d_a_obj_rflw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_rforce.rel splits: config/GZLP01/rels/d_a_obj_rforce/splits.txt symbols: config/GZLP01/rels/d_a_obj_rforce/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_smplbg.rel splits: config/GZLP01/rels/d_a_obj_smplbg/splits.txt symbols: config/GZLP01/rels/d_a_obj_smplbg/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tapestry.rel splits: config/GZLP01/rels/d_a_obj_tapestry/splits.txt symbols: config/GZLP01/rels/d_a_obj_tapestry/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tntrap.rel splits: config/GZLP01/rels/d_a_obj_tntrap/splits.txt symbols: config/GZLP01/rels/d_a_obj_tntrap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tower.rel splits: config/GZLP01/rels/d_a_obj_tower/splits.txt symbols: config/GZLP01/rels/d_a_obj_tower/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_trap.rel splits: config/GZLP01/rels/d_a_obj_trap/splits.txt symbols: config/GZLP01/rels/d_a_obj_trap/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_tribox.rel splits: config/GZLP01/rels/d_a_obj_tribox/splits.txt symbols: config/GZLP01/rels/d_a_obj_tribox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_try.rel splits: config/GZLP01/rels/d_a_obj_try/splits.txt symbols: config/GZLP01/rels/d_a_obj_try/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_usovmc.rel splits: config/GZLP01/rels/d_a_obj_usovmc/splits.txt symbols: config/GZLP01/rels/d_a_obj_usovmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vfan.rel splits: config/GZLP01/rels/d_a_obj_vfan/splits.txt symbols: config/GZLP01/rels/d_a_obj_vfan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vgnfd.rel splits: config/GZLP01/rels/d_a_obj_vgnfd/splits.txt symbols: config/GZLP01/rels/d_a_obj_vgnfd/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmc.rel splits: config/GZLP01/rels/d_a_obj_vmc/splits.txt symbols: config/GZLP01/rels/d_a_obj_vmc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsdz.rel splits: config/GZLP01/rels/d_a_obj_vmsdz/splits.txt symbols: config/GZLP01/rels/d_a_obj_vmsdz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vmsms.rel splits: config/GZLP01/rels/d_a_obj_vmsms/splits.txt symbols: config/GZLP01/rels/d_a_obj_vmsms/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_volcano.rel splits: config/GZLP01/rels/d_a_obj_volcano/splits.txt symbols: config/GZLP01/rels/d_a_obj_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vtil.rel splits: config/GZLP01/rels/d_a_obj_vtil/splits.txt symbols: config/GZLP01/rels/d_a_obj_vtil/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_vyasi.rel splits: config/GZLP01/rels/d_a_obj_vyasi/splits.txt symbols: config/GZLP01/rels/d_a_obj_vyasi/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_xfuta.rel splits: config/GZLP01/rels/d_a_obj_xfuta/splits.txt symbols: config/GZLP01/rels/d_a_obj_xfuta/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_obj_zouK.rel splits: config/GZLP01/rels/d_a_obj_zouK/splits.txt symbols: config/GZLP01/rels/d_a_obj_zouK/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_oship.rel splits: config/GZLP01/rels/d_a_oship/splits.txt symbols: config/GZLP01/rels/d_a_oship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ph.rel splits: config/GZLP01/rels/d_a_ph/splits.txt symbols: config/GZLP01/rels/d_a_ph/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pt.rel splits: config/GZLP01/rels/d_a_pt/splits.txt symbols: config/GZLP01/rels/d_a_pt/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pw.rel splits: config/GZLP01/rels/d_a_pw/splits.txt symbols: config/GZLP01/rels/d_a_pw/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_pz.rel splits: config/GZLP01/rels/d_a_pz/splits.txt symbols: config/GZLP01/rels/d_a_pz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_sail.rel splits: config/GZLP01/rels/d_a_sail/splits.txt symbols: config/GZLP01/rels/d_a_sail/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: l_sail_DL binary: assets/l_sail_DL.bin @@ -1604,126 +1988,157 @@ modules: - object: files/rels/d_a_salvage_tbox.rel splits: config/GZLP01/rels/d_a_salvage_tbox/splits.txt symbols: config/GZLP01/rels/d_a_salvage_tbox/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_scene_change.rel splits: config/GZLP01/rels/d_a_scene_change/splits.txt symbols: config/GZLP01/rels/d_a_scene_change/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter.rel splits: config/GZLP01/rels/d_a_shutter/splits.txt symbols: config/GZLP01/rels/d_a_shutter/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_shutter2.rel splits: config/GZLP01/rels/d_a_shutter2/splits.txt symbols: config/GZLP01/rels/d_a_shutter2/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_st.rel splits: config/GZLP01/rels/d_a_st/splits.txt symbols: config/GZLP01/rels/d_a_st/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_steam_tag.rel splits: config/GZLP01/rels/d_a_steam_tag/splits.txt symbols: config/GZLP01/rels/d_a_steam_tag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swattack.rel splits: config/GZLP01/rels/d_a_swattack/splits.txt symbols: config/GZLP01/rels/d_a_swattack/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_switem.rel splits: config/GZLP01/rels/d_a_switem/splits.txt symbols: config/GZLP01/rels/d_a_switem/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swpropeller.rel splits: config/GZLP01/rels/d_a_swpropeller/splits.txt symbols: config/GZLP01/rels/d_a_swpropeller/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_swtact.rel splits: config/GZLP01/rels/d_a_swtact/splits.txt symbols: config/GZLP01/rels/d_a_swtact/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_etc.rel splits: config/GZLP01/rels/d_a_tag_etc/splits.txt symbols: config/GZLP01/rels/d_a_tag_etc/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_island.rel splits: config/GZLP01/rels/d_a_tag_island/splits.txt symbols: config/GZLP01/rels/d_a_tag_island/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_kf1.rel splits: config/GZLP01/rels/d_a_tag_kf1/splits.txt symbols: config/GZLP01/rels/d_a_tag_kf1/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_ret.rel splits: config/GZLP01/rels/d_a_tag_ret/splits.txt symbols: config/GZLP01/rels/d_a_tag_ret/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tag_volcano.rel splits: config/GZLP01/rels/d_a_tag_volcano/splits.txt symbols: config/GZLP01/rels/d_a_tag_volcano/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_title.rel splits: config/GZLP01/rels/d_a_title/splits.txt symbols: config/GZLP01/rels/d_a_title/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tn.rel splits: config/GZLP01/rels/d_a_tn/splits.txt symbols: config/GZLP01/rels/d_a_tn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_toge.rel splits: config/GZLP01/rels/d_a_toge/splits.txt symbols: config/GZLP01/rels/d_a_toge/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_tori_flag.rel splits: config/GZLP01/rels/d_a_tori_flag/splits.txt symbols: config/GZLP01/rels/d_a_tori_flag/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wall.rel splits: config/GZLP01/rels/d_a_wall/splits.txt symbols: config/GZLP01/rels/d_a_wall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpfout.rel splits: config/GZLP01/rels/d_a_warpfout/splits.txt symbols: config/GZLP01/rels/d_a_warpfout/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpgn.rel splits: config/GZLP01/rels/d_a_warpgn/splits.txt symbols: config/GZLP01/rels/d_a_warpgn/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpls.rel splits: config/GZLP01/rels/d_a_warpls/splits.txt symbols: config/GZLP01/rels/d_a_warpls/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_warpmj.rel splits: config/GZLP01/rels/d_a_warpmj/splits.txt symbols: config/GZLP01/rels/d_a_warpmj/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_waterfall.rel splits: config/GZLP01/rels/d_a_waterfall/splits.txt symbols: config/GZLP01/rels/d_a_waterfall/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_windmill.rel splits: config/GZLP01/rels/d_a_windmill/splits.txt symbols: config/GZLP01/rels/d_a_windmill/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_wz.rel splits: config/GZLP01/rels/d_a_wz/splits.txt symbols: config/GZLP01/rels/d_a_wz/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ygcwp.rel splits: config/GZLP01/rels/d_a_ygcwp/splits.txt symbols: config/GZLP01/rels/d_a_ygcwp/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_yougan.rel splits: config/GZLP01/rels/d_a_yougan/splits.txt symbols: config/GZLP01/rels/d_a_yougan/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_ghostship.rel splits: config/GZLP01/rels/d_a_ghostship/splits.txt symbols: config/GZLP01/rels/d_a_ghostship/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl - object: files/rels/d_a_movie_player.rel splits: config/GZLP01/rels/d_a_movie_player/splits.txt symbols: config/GZLP01/rels/d_a_movie_player/symbols.txt + ldscript_template: config/GZLE01/rels/ldscript.tpl extract: - symbol: black_tex diff --git a/config/GZLP01/rels/ldscript.tpl b/config/GZLP01/rels/ldscript.tpl new file mode 100644 index 000000000..0614a1912 --- /dev/null +++ b/config/GZLP01/rels/ldscript.tpl @@ -0,0 +1,18 @@ +SECTIONS +{ + GROUP: + { + .init :{} + .text ALIGN(0x4):{} + .ctors ALIGN(0x4):{} + .dtors ALIGN(0x4):{} + .rodata ALIGN(0x8):{} + .data ALIGN(0x8):{ *(.data) *(extabindex) *(extab) } + .bss ALIGN(0x8):{} + } +} + +FORCEACTIVE +{ + $FORCEACTIVE +} diff --git a/configure.py b/configure.py index 1e5208042..42297a134 100755 --- a/configure.py +++ b/configure.py @@ -547,7 +547,7 @@ config.libs = [ Object(Matching, "d/d_a_npc_cb1_static.cpp"), Object(NonMatching, "d/d_a_npc_mk_static.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_salvage.cpp"), - Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_snap.cpp"), + Object(Matching, "d/d_snap.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_point_wind.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/actor/d_a_agb.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/actor/d_a_arrow.cpp"), @@ -1373,13 +1373,13 @@ config.libs = [ ActorRel(Matching, "d_a_branch"), ActorRel(NonMatching, "d_a_bridge"), ActorRel(NonMatching, "d_a_coming2"), - ActorRel(Matching, "d_a_coming3"), - ActorRel(Matching, "d_a_demo_dk"), - ActorRel(Matching, "d_a_demo_kmm"), - ActorRel(Matching, "d_a_door10"), + ActorRel(Matching, "d_a_coming3"), + ActorRel(Matching, "d_a_demo_dk"), + ActorRel(Matching, "d_a_demo_kmm"), + ActorRel(Matching, "d_a_door10"), ActorRel(Matching, "d_a_dr"), - ActorRel(Equivalent, "d_a_dr2"), - ActorRel(Matching, "d_a_ep"), + ActorRel(Equivalent, "d_a_dr2"), + ActorRel(Matching, "d_a_ep"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_floor"), ActorRel(Matching, "d_a_grass"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_hitobj"), @@ -1387,9 +1387,9 @@ config.libs = [ ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_ikari"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_jbo"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_kaji"), - ActorRel(Matching, "d_a_kanban"), - ActorRel(Matching, "d_a_ki"), - ActorRel(Matching, "d_a_knob00"), + ActorRel(Matching, "d_a_kanban"), + ActorRel(Matching, "d_a_ki"), + ActorRel(Matching, "d_a_knob00"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_kui"), ActorRel(Matching, "d_a_kytag00"), ActorRel(Matching, "d_a_kytag01"), @@ -1403,7 +1403,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_lod_bg"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_lwood"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_magma"), - ActorRel(Matching, "d_a_majuu_flag"), + ActorRel(Matching, "d_a_majuu_flag"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_mdoor"), ActorRel(MatchingFor("D44J01"), "d_a_msw"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_mtoge"), @@ -1415,22 +1415,22 @@ config.libs = [ ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_bscurtain"), ActorRel(Matching, "d_a_obj_cafelmp"), ActorRel(NonMatching, "d_a_obj_coming"), - ActorRel(Matching, "d_a_obj_demo_barrel"), + ActorRel(Matching, "d_a_obj_demo_barrel"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_doguu"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_doguu_demo"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_gryw00"), ActorRel(Matching, "d_a_obj_hfuck1"), ActorRel(Matching, "d_a_obj_hole"), - ActorRel(Matching, "d_a_obj_ice"), + ActorRel(Matching, "d_a_obj_ice"), ActorRel(NonMatching, "d_a_obj_ikada"), ActorRel(Matching, "d_a_obj_kanat"), - ActorRel(Matching, "d_a_obj_leaves"), - ActorRel(Matching, "d_a_obj_lpalm"), + ActorRel(Matching, "d_a_obj_leaves"), + ActorRel(Matching, "d_a_obj_lpalm"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_monument"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_movebox"), - ActorRel(Matching, "d_a_obj_mshokki"), - ActorRel(Matching, "d_a_obj_ohatch"), - ActorRel(Matching, "d_a_obj_otble"), + ActorRel(Matching, "d_a_obj_mshokki"), + ActorRel(Matching, "d_a_obj_ohatch"), + ActorRel(Matching, "d_a_obj_otble"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_pbco"), ActorRel(Matching, "d_a_obj_pirateship"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_quake"), @@ -1451,8 +1451,8 @@ config.libs = [ ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_race_item"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_rd"), ActorRel(Matching, "d_a_rectangle"), - ActorRel(Matching, "d_a_salvage"), - ActorRel(Matching, "d_a_sbox"), + ActorRel(Matching, "d_a_salvage"), + ActorRel(Matching, "d_a_sbox"), ActorRel(Matching, "d_a_sk"), ActorRel(Matching, "d_a_sk2"), ActorRel(Matching, "d_a_spotbox"), @@ -1462,14 +1462,14 @@ config.libs = [ ActorRel(Matching, "d_a_swc00"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_swhit0"), ActorRel(Matching, "d_a_swtdoor"), - ActorRel(Matching, "d_a_tag_attention"), + ActorRel(Matching, "d_a_tag_attention"), ActorRel(NonMatching, "d_a_tag_ba1"), ActorRel(Matching, "d_a_tag_event"), ActorRel(Matching, "d_a_tag_evsw"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_tag_ghostship"), - ActorRel(Matching, "d_a_tag_hint"), + ActorRel(Matching, "d_a_tag_hint"), ActorRel(Matching, "d_a_tag_kb_item"), - ActorRel(Matching, "d_a_tag_kk1"), + ActorRel(Matching, "d_a_tag_kk1"), ActorRel(Equivalent, "d_a_tag_light"), ActorRel(Matching, "d_a_tag_msg"), ActorRel(Matching, "d_a_tag_photo"), @@ -1477,7 +1477,7 @@ config.libs = [ ActorRel(Matching, "d_a_tama"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_tbox"), ActorRel(Matching, "d_a_tpota"), - ActorRel(Equivalent, "d_a_tsubo"), + ActorRel(Equivalent, "d_a_tsubo"), ActorRel(Matching, "d_a_warpdm20"), ActorRel(Matching, "d_a_warphr"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_wbird"), @@ -1498,11 +1498,11 @@ config.libs = [ ActorRel(Matching, "d_a_fallrock"), ActorRel(Matching, "d_a_ff"), ActorRel(Equivalent, "d_a_gy_ctrl"), - ActorRel(NonMatching, "d_a_himo3"), + ActorRel(Equivalent, "d_a_himo3"), ActorRel(NonMatching, "d_a_hmlif"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_hys"), - ActorRel(NonMatching, "d_a_kamome"), - ActorRel(NonMatching, "d_a_kamome2"), # Demo-only + ActorRel(Equivalent, "d_a_kamome"), + ActorRel(Matching, "d_a_kamome2"), # Demo-only ActorRel(NonMatching, "d_a_kantera"), ActorRel(NonMatching, "d_a_kn"), ActorRel(NonMatching, "d_a_kokiie"), diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 9daa05236..fcadc7a31 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -84,7 +84,7 @@ struct TVec3 : public SVec { template <> struct TVec3 : public Vec { TVec3() {} - + template TVec3(const f32 x, const f32 y, const f32 z) { set(x, y, z); } diff --git a/include/d/actor/d_a_btd.h b/include/d/actor/d_a_btd.h index 8338c0604..1eadc0b1e 100644 --- a/include/d/actor/d_a_btd.h +++ b/include/d/actor/d_a_btd.h @@ -1,33 +1,146 @@ #ifndef D_A_BTD_H #define D_A_BTD_H +#include "d/d_cc_d.h" +#include "d/d_magma.h" +#include "d/d_particle.h" #include "f_op/f_op_actor.h" +struct btd_hahen_s { + /* 0x00 */ J3DModel* model; + /* 0x04 */ u8 m04; + /* 0x05 */ u8 m05[0x08 - 0x05]; + /* 0x08 */ cXyz m08; + /* 0x14 */ cXyz m14; + /* 0x20 */ s16 m20; + /* 0x22 */ s16 m22; + /* 0x24 */ u8 m24[0x28 - 0x24]; +}; // Size: 0x28 + +struct btd_sibuki_s { + /* 0x00 */ s8 m00; + /* 0x01 */ u8 m01[0x04 - 0x01]; + /* 0x04 */ cXyz m04; + /* 0x10 */ cXyz m10; + /* 0x20 */ u8 m1C[0x24 - 0x1C]; +}; // Size: 0x24 + class btd_class : public fopAc_ac_c { public: - /* Place member variables here */ - /* 0x0290 */ u8 field_0x0290[0x2e4 - 0x290]; - /* 0x02E4 */ s16 field_0x2e4; - /* 0x02E6 */ u8 field_0x02E6[0x02F6 - 0x2e6]; - /* 0x02F6 */ bool field_0x2F6; - /* 0x02F7 */ u8 field_0x02F7[0x0320 - 0x02F7]; - /* 0x0320 */ cXyz field_0x320; - /* 0x032C */ cXyz field_0x32C; - /* 0x0338 */ u8 field_0x0338[0x0360 - 0x0338]; - /* 0x0360 */ f32 field_0x360; - /* 0x0364 */ u8 field_0x0364[0x6190 - 0x0364]; - /* 0x6190 */ u8 field_0x6190; - /* 0x6191 */ u8 field_0x6191[0x6E15 - 0x6191]; - /* 0x6E15 */ u8 field_0x6e15; - /* 0x6E16 */ s16 field_0x6e16; -}; - -class daBtd_HIO_c { -public: - daBtd_HIO_c(); - -public: - /* Place member variables here */ -}; + /* 0x0290 */ u8 m0290[0x02AC - 0x0290]; + /* 0x02AC */ request_of_phase_process_class m02AC; + /* 0x02B4 */ request_of_phase_process_class m02B4; + /* 0x02BC */ mDoExt_McaMorf* m02BC; + /* 0x02C0 */ mDoExt_btkAnm* btk; + /* 0x02C4 */ mDoExt_brkAnm* brk; + /* 0x02C8 */ mDoExt_McaMorf* m02C8; + /* 0x02CC */ mDoExt_btkAnm* btkS; + /* 0x02D0 */ mDoExt_brkAnm* brkS; + /* 0x02D4 */ mDoExt_McaMorf* m02D4; + /* 0x02D8 */ mDoExt_btkAnm* m02D8; + /* 0x02DC */ mDoExt_brkAnm* m02DC; + /* 0x02E0 */ u8 m02E0; + /* 0x02E1 */ s8 m02E1; + /* 0x02E2 */ s16 m02E2; + /* 0x02E4 */ s16 m02E4; + /* 0x02E6 */ s16 mGohmaState; + /* 0x02E8 */ s8 mAttackType; + /* 0x02E9 */ s8 m02E9; + /* 0x02EA */ s8 m02EA; + /* 0x02EB */ u8 m02EB[0x02EC - 0x02EB]; + /* 0x02EC */ s16 m02EC[2]; // m02EC[0] = mAttackTimer? + /* 0x02F0 */ s16 m02F0; + /* 0x02F2 */ s16 mStunTimer; + /* 0x02F4 */ s16 mActionState; + /* 0x02F6 */ u8 m02F6; + /* 0x02F7 */ u8 m02F7[0x02F8 - 0x02F7]; + /* 0x02F8 */ s16 m02F8; + /* 0x02FA */ s16 m02FA; + /* 0x02FC */ cXyz m02FC[19]; + /* 0x03E0 */ cXyz m03E0; + /* 0x03EC */ dCcD_Stts m03EC; + /* 0x0428 */ dCcD_Sph m0428[19]; + /* 0x1A6C */ dCcD_Sph m1A6C; + /* 0x1B98 */ dCcD_Sph m1B98; + /* 0x1CC4 */ dCcD_Sph m1CC4[50]; + /* 0x575C */ dCcD_Cyl m575C[6]; + /* 0x5E7C */ u8 m5E7C; + /* 0x5E7D */ u8 m5E7D[0x5E80 - 0x5E7D]; + /* 0x5E80 */ f32 m5E80; + /* 0x5E84 */ u8 m5E84; + /* 0x5E85 */ s8 mTotalDamage; + /* 0x5E86 */ u8 m5E86; + /* 0x5E87 */ u8 m5E87[0x5E88 - 0x5E87]; + /* 0x5E88 */ s16 m5E88; + /* 0x5E8A */ s16 m5E8A; + /* 0x5E8C */ s16 m5E8C; + /* 0x5E8E */ s16 m5E8E; + /* 0x5E90 */ s16 m5E90; + /* 0x5E92 */ s16 m5E92; + /* 0x5E94 */ s16 m5E94; + /* 0x5E96 */ s16 m5E96; + /* 0x5E98 */ cXyz m5E98[25]; + /* 0x5FC4 */ s16 m5FC4[2]; + /* 0x5FC8 */ u8 m5FC8[0x5FEA - 0x5FC8]; + /* 0x5FEA */ s16 m5FEA[2]; + /* 0x5FEE */ u8 m5FEE[0x5FF8 - 0x5FEE]; + /* 0x5FF8 */ JPABaseEmitter* m5FF8[5]; + /* 0x600C */ JPABaseEmitter* m600C[7]; + /* 0x6028 */ s16 m6028[2]; + /* 0x602C */ s16 m602C; + /* 0x602E */ s16 m602E; + /* 0x6030 */ s16 m6030; + /* 0x6032 */ s16 m6032; + /* 0x6034 */ s16 m6034; + /* 0x6036 */ u8 m6036[0x6038 - 0x6036]; + /* 0x6038 */ JPABaseEmitter* m6038; + /* 0x603C */ cXyz m603C; + /* 0x6048 */ csXyz m6048; + /* 0x604E */ u8 m604E[0x6050 - 0x604E]; + /* 0x6050 */ dPa_smokeEcallBack mPa_SmokeEcallBack[3]; + /* 0x60B0 */ LIGHT_INFLUENCE m60B0; + /* 0x60D0 */ f32 m60D0; + /* 0x60D4 */ f32 m60D4; + /* 0x60D8 */ u8 m60D8; + /* 0x60D9 */ u8 m60D9; + /* 0x60DA */ u8 m60DA; + /* 0x60DB */ u8 mKankyoState; + /* 0x60DC */ s16 mKankyoTimer; + /* 0x60DE */ u8 m60DE[0x60E0 - 0x60DE]; + /* 0x60E0 */ dKy_tevstr_c m60E0; + /* 0x6190 */ u8 m6190; + /* 0x6191 */ u8 m6191[0x6194 - 0x6191]; + /* 0x6194 */ btd_hahen_s hahen[35]; + /* 0x670C */ btd_sibuki_s mBtdSibukiS[50]; + /* 0x6E14 */ s8 m6E14; + /* 0x6E15 */ u8 m6E15; + /* 0x6E16 */ s16 m6E16; + /* 0x6E18 */ s16 m6E18; + /* 0x6E1A */ s16 m6E1A; + /* 0x6E1C */ cXyz m6E1C; + /* 0x6E28 */ cXyz m6E28; + /* 0x6E34 */ s16 m6E34; + /* 0x6E36 */ s16 m6E36; + /* 0x6E38 */ u8 m6E38[0x6E3C - 0x6E38]; + /* 0x6E3C */ f32 m6E3C; + /* 0x6E40 */ f32 m6E40; + /* 0x6E44 */ f32 m6E44; + /* 0x6E48 */ f32 m6E48; + /* 0x6E4C */ u8 m6E4C; + /* 0x6E4D */ u8 m6E4D[0x6E50 - 0x6E4D]; + /* 0x6E50 */ cXyz m6E50; + /* 0x6E5C */ cXyz m6E5C; + /* 0x6E68 */ cXyz m6E68; + /* 0x6E74 */ csXyz m6E74; + /* 0x6E7A */ u8 m6E7A[0x6E7C - 0x6E7A]; + /* 0x6E7C */ f32 m6E7C; + /* 0x6E80 */ f32 m6E80; + /* 0x6E84 */ f32 m6E84; + /* 0x6E88 */ u8 m6E88; + /* 0x6E89 */ u8 m6E89[0x6E8C - 0x6E89]; + /* 0x6E8C */ dMagma_floor_c* floor; + /* 0x6E90 */ s8 m6E90; + /* 0x6E91 */ u8 m6E91[0x6E94 - 0x6E91]; +}; // Size: 0x6E94 #endif /* D_A_BTD_H */ diff --git a/include/d/actor/d_a_himo2.h b/include/d/actor/d_a_himo2.h index 60193b18c..88a06af4e 100644 --- a/include/d/actor/d_a_himo2.h +++ b/include/d/actor/d_a_himo2.h @@ -14,7 +14,7 @@ struct himo2_s { /* 0x1C */ s16 m1C; /* 0x1E */ s16 m1E; /* 0x20 */ u8 m20[0x24 - 0x20]; -}; // Size: 0x24 +}; // Size: 0x24 class himo2_class : public fopAc_ac_c { public: @@ -96,6 +96,6 @@ public: /* 0x2530 */ f32 m2530; /* 0x2534 */ dBgS_AcchCir m2534; /* 0x2574 */ dBgS_ObjAcch m2574; -}; +}; // Size: 0x2738 #endif /* D_A_HIMO2_H */ diff --git a/include/d/actor/d_a_himo3.h b/include/d/actor/d_a_himo3.h index 1a3d91639..51c8b561c 100644 --- a/include/d/actor/d_a_himo3.h +++ b/include/d/actor/d_a_himo3.h @@ -2,10 +2,30 @@ #define D_A_HIMO3_H #include "f_op/f_op_actor.h" +#include "m_Do/m_Do_ext.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_path.h" +#include "d/d_particle.h" struct himo3_s { - -}; + /* 0x00 */ cXyz m00; + /* 0x0C */ cXyz m0C; +}; // size = 0x18 + +struct h3_ga_s { + /* 0x00 */ J3DModel* mpModel; + /* 0x04 */ cXyz mPos; + /* 0x04 */ cXyz m10; + /* 0x1C */ s16 m1C; + /* 0x1E */ s16 m1E; + /* 0x20 */ u8 m20[0x24 - 0x20]; + /* 0x24 */ f32 m24; + /* 0x28 */ f32 m28; + /* 0x2C */ s16 m2C; + /* 0x2E */ u8 m2E; + /* 0x2F */ u8 m2F; +}; // size = 0x30 class himo3_class : public fopAc_ac_c { public: @@ -14,7 +34,66 @@ public: void setActorHang(cXyz, short); public: - /* Place member variables here */ -}; + /* 0x0290 */ request_of_phase_process_class mPhase; + /* 0x0298 */ u8 m0298; + /* 0x0299 */ u8 m0299; + /* 0x029A */ u8 m029A; + /* 0x029B */ s8 m029B; + /* 0x029C */ s8 m029C; + /* 0x029D */ s8 m029D; + /* 0x02A0 */ dPath* ppd; + /* 0x02A4 */ s8 m02A4; + /* 0x02A8 */ cXyz m02A8; + /* 0x02B4 */ s16 m02B4[3]; + /* 0x02BA */ s16 m02BA; + /* 0x02BC */ s16 m02BC; + /* 0x02BE */ u8 m02BE; + /* 0x02C0 */ himo3_s m02C0[200]; + /* 0x1580 */ mDoExt_3DlineMat1_c mLineMat; + /* 0x15BC */ u8 m15BC[0x15C0 - 0x15BC]; + /* 0x15C0 */ s32 m15C0; + /* 0x15C4 */ cXyz m15C4; + /* 0x15D0 */ f32 m15D0; + /* 0x15D4 */ f32 m15D4; + /* 0x15D8 */ f32 m15D8; + /* 0x15DC */ f32 m15DC; + /* 0x15E0 */ f32 m15E0; + /* 0x15E4 */ f32 m15E4; + /* 0x15E8 */ f32 m15E8; + /* 0x15EC */ u8 m15EC[0x15F0 - 0x15EC]; + /* 0x15F0 */ f32 m15F0; + /* 0x15F4 */ f32 m15F4; + /* 0x15F8 */ s16 m15F8; + /* 0x15FA */ s16 m15FA; + /* 0x15FC */ f32 m15FC; + /* 0x1600 */ LIGHT_INFLUENCE m1600; + /* 0x1620 */ f32 m1620; + /* 0x1624 */ cXyz m1624; + /* 0x1630 */ cXyz m1630; + /* 0x163C */ dBgS_AcchCir mAcchCir; + /* 0x167C */ dBgS_ObjAcch mAcch; + /* 0x1840 */ Mtx m1840; + /* 0x1870 */ f32 m1870; + /* 0x1874 */ u8 m1874[0x187C - 0x1878]; + /* 0x1878 */ f32 m1878; + /* 0x187C */ f32 m187C; + /* 0x1880 */ J3DModel* mpModel; + /* 0x1884 */ dCcD_Stts mStts; + /* 0x18C0 */ dCcD_Sph mSphs[5]; + /* 0x1E9C */ dCcD_Sph mSph; + /* 0x1FC8 */ dCcD_Cyl mCyl; + /* 0x20F8 */ f32 m20F8; +#if VERSION == VERSION_DEMO + /* 0x20FC */ JPABaseEmitter* demo_m20FC; +#endif + /* 0x20FC */ dPa_followEcallBack m20FC; + /* 0x2110 */ u8 m2110; + /* 0x2111 */ u8 m2111; + /* 0x2114 */ h3_ga_s m2114[1]; + /* 0x2144 */ J3DLightObj m2144; + /* 0x21B8 */ u8 m2178[0x21F4 - 0x21B8]; + /* 0x21F4 */ cXyz m21F4; + /* 0x2200 */ s16 m2200; +}; // size = 0x2204 #endif /* D_A_HIMO3_H */ diff --git a/include/d/actor/d_a_kamome.h b/include/d/actor/d_a_kamome.h index 171922c89..bef262278 100644 --- a/include/d/actor/d_a_kamome.h +++ b/include/d/actor/d_a_kamome.h @@ -9,20 +9,20 @@ class mDoExt_McaMorf; -class kamome_class : public fopAc_ac_c { -public: - /* 0x290 */ request_of_phase_process_class mPhsKamome; +struct kamome_class { + /* 0x000 */ fopAc_ac_c actor; + /* 0x290 */ request_of_phase_process_class mPhase; /* 0x298 */ mDoExt_McaMorf* mpMorf; /* 0x29C */ u32 mShadowId; /* 0x2A0 */ u8 mType; /* 0x2A1 */ u8 mKoMaxCount; /* 0x2A2 */ u8 mPathIdx; /* 0x2A3 */ u8 mSwitchNoPrm; - /* 0x2A4 */ int mGlobalTimer; - /* 0x2A8 */ u8 mAnimState; - /* 0x2A9 */ u8 mMoveState; + /* 0x2A4 */ s32 mGlobalTimer; + /* 0x2A8 */ s8 mAnimState; + /* 0x2A9 */ s8 mMoveState; /* 0x2AA */ u8 mSwitchNo; - /* 0x2AB */ u8 m2AB; + /* 0x2AB */ s8 m2AB; /* 0x2AC */ s16 mJointRotY; /* 0x2AE */ s16 mJointRotZ; /* 0x2B0 */ s16 mJointRotYTarget; @@ -30,7 +30,7 @@ public: /* 0x2B4 */ s16 m2B4; /* 0x2B6 */ u8 m2B6[0x2B8 - 0x2B6]; /* 0x2B8 */ f32 m2B8; - /* 0x2BC */ u8 mbNoDraw; + /* 0x2BC */ s8 mbNoDraw; /* 0x2BD */ u8 m2BD[0x2C0 - 0x2BD]; /* 0x2C0 */ cXyz mTargetPos; /* 0x2CC */ f32 mVelocityFwdTarget; @@ -38,20 +38,15 @@ public: /* 0x2D4 */ f32 mRotVelFade; /* 0x2D8 */ f32 mRotVel; /* 0x2DC */ u8 m2DC[0x2E0 - 0x2DC]; - /* 0x2E0 */ s16 mTimer0; - /* 0x2E2 */ s16 mTimer1; - /* 0x2E4 */ s16 mTimer2; - /* 0x2E6 */ s16 mTimer3; - /* 0x2E8 */ s16 mTimer4; - /* 0x2EA */ s16 mTimer5; + /* 0x2E0 */ s16 mTimers[6]; /* 0x2EC */ s16 mRiseTimer; /* 0x2EE */ u8 m2EE[0x2F0 - 0x2EE]; /* 0x2F0 */ f32 mScale; /* 0x2F4 */ fpc_ProcID mEsaProcID; /* 0x2F8 */ fopAc_ac_c* mpTargetActor; /* 0x2FC */ s16 m2FC; - /* 0x2FE */ u8 mbUsePathMovement; - /* 0x2FF */ u8 mCurPointIdx; + /* 0x2FE */ s8 mbUsePathMovement; + /* 0x2FF */ s8 mCurPointIdx; /* 0x300 */ s8 mPathIdxIncr; /* 0x301 */ u8 m301[0x304 - 0x301]; /* 0x304 */ dPath* mpPath; @@ -61,8 +56,8 @@ public: /* 0x30C */ s16 mRotY; /* 0x30E */ u8 m30E[0x31C - 0x30E]; /* 0x31C */ dBgS_AcchCir mAcchCir; - /* 0x35C */ dBgS_Acch mAcch; - /* 0x520 */ dCcD_Stts mCcD; + /* 0x35C */ dBgS_ObjAcch mAcch; + /* 0x520 */ dCcD_Stts mStts; /* 0x55C */ dCcD_Sph mSph; /* 0x688 */ u8 m688; /* 0x689 */ u8 m689[0x68C - 0x689]; diff --git a/include/d/actor/d_a_kamome2.h b/include/d/actor/d_a_kamome2.h index d8341131d..86ff76985 100644 --- a/include/d/actor/d_a_kamome2.h +++ b/include/d/actor/d_a_kamome2.h @@ -2,11 +2,40 @@ #define D_A_KAMOME2_H #include "f_op/f_op_actor.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" -class kamome2_class : public fopAc_ac_c { -public: - /* Place member variables here */ - /* 0x290 */ u8 m290[0x690 - 0x290]; +class mDoExt_McaMorf; + +struct kamome2_class { + /* 0x000 */ fopAc_ac_c actor; + /* 0x290 */ request_of_phase_process_class mPhase; + /* 0x298 */ mDoExt_McaMorf* mpMorf; + /* 0x29C */ J3DModel* mpModel; + /* 0x2A0 */ s32 m2A0; + /* 0x2A4 */ u8 m2A4; + /* 0x2A8 */ s32 m2A8; + /* 0x2AC */ s8 m2AC; + /* 0x2AD */ u8 m2AD[0x2BC - 0x2AD]; + /* 0x2BC */ f32 m2BC; + /* 0x2C0 */ f32 m2C0; + /* 0x2C4 */ u8 m2C4[0x2D0 - 0x2C4]; + /* 0x2D0 */ s16 m2D0[5]; + /* 0x2DA */ s16 m2DA; + /* 0x2DC */ s16 m2DC; + /* 0x2DE */ u8 m2DE[0x2EC - 0x2DE]; + /* 0x2EC */ u8 m2EC; + /* 0x2F0 */ cXyz m2F0; + /* 0x2FC */ cXyz m2FC; + /* 0x308 */ s16 m308; + /* 0x30A */ u8 m30A[0x314 - 0x30A]; + /* 0x314 */ f32 m314; + /* 0x318 */ u8 m318[0x320 - 0x318]; + /* 0x320 */ dBgS_AcchCir mAcchCir; + /* 0x360 */ dBgS_ObjAcch mAcch; + /* 0x524 */ dCcD_Stts mStts; + /* 0x560 */ dCcD_Sph mSph; + /* 0x68C */ bool m68C; }; // Size: 0x690 #endif /* D_A_KAMOME2_H */ diff --git a/include/d/d_attention.h b/include/d/d_attention.h index bf2b5e9af..12fadfaa2 100644 --- a/include/d/d_attention.h +++ b/include/d/d_attention.h @@ -256,7 +256,7 @@ public: // TODO: void LockEdge() {} - void chkEnemySound() {} + bool chkEnemySound() { return chkFlag(AttnFlag_00000100); } void LookRequest(fopAc_ac_c* reqActor, f32 horizontalDist, f32 upDist, f32 downDist, s16 angle, int param_5) { mLook[0].request(reqActor, horizontalDist, upDist, downDist, angle, param_5); } diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index a15e15eab..a41bb814d 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -17,7 +17,6 @@ #include "d/d_vibration.h" #include "d/d_demo.h" #include "d/d_timer.h" -#include "SSystem/SComponent/c_data_tbl.h" #include "d/res/res_always.h" // IWYU pragma: export @@ -3968,7 +3967,7 @@ inline fopAc_ac_c* dComIfGp_att_getZHint() { return dComIfGp_getAttention().getZHintTarget(); } -inline void dComIfGp_att_chkEnemySound() { +inline bool dComIfGp_att_chkEnemySound() { return dComIfGp_getAttention().chkEnemySound(); } diff --git a/include/d/d_kankyo.h b/include/d/d_kankyo.h index 51970bce9..52ba24eb6 100644 --- a/include/d/d_kankyo.h +++ b/include/d/d_kankyo.h @@ -426,6 +426,7 @@ void dKy_Sound_init(); void dKy_change_colset(u8 param_0, u8 param_1, f32 param_2); void dKy_change_colpat(u8 param_0); void dKy_custom_colset(u8 param_0, u8 param_1, f32 i_blend); +void dKy_custom_timeset(f32 i_speed); void dKy_pship_existense_set(); void dKy_pship_existense_cut(); u8 dKy_pship_existense_chk(); diff --git a/include/d/d_meter.h b/include/d/d_meter.h index df5f53d69..673c87359 100644 --- a/include/d/d_meter.h +++ b/include/d/d_meter.h @@ -596,6 +596,7 @@ extern dMeter_msg_HIO_c g_msgHIO; extern dMeter_message_HIO_c g_messageHIO; void dMeter_mtrShow(); +void dMeter_mtrHide(); void dMenu_setPushMenuButton(u8); #endif /* D_METER_H */ diff --git a/include/d/d_snap.h b/include/d/d_snap.h index 19a1d5156..cd4de9265 100644 --- a/include/d/d_snap.h +++ b/include/d/d_snap.h @@ -181,7 +181,7 @@ enum { /* 0xAD */ DSNAP_TYPE_UNKAD, /* 0xAE */ DSNAP_TYPE_UNKAE, /* 0xAF */ DSNAP_TYPE_UNKAF, - /* 0xB0 */ DSNAP_TYPE_UNKB0, + /* 0xB0 */ DSNAP_TYPE_BB, /* 0xB1 */ DSNAP_TYPE_UNKB1, /* 0xB2 */ DSNAP_TYPE_UNKB2, /* 0xB3 */ DSNAP_TYPE_KS, @@ -204,7 +204,7 @@ enum { /* 0xC4 */ DSNAP_TYPE_UNKC4, /* 0xC5 */ DSNAP_TYPE_UNKC5, /* 0xC6 */ DSNAP_TYPE_UNKC6, - /* 0xC7 */ DSNAP_TYPE_UNKC7, + /* 0xC7 */ DSNAP_TYPE_BTD, /* 0xC8 */ DSNAP_TYPE_UNKC8, /* 0xC9 */ DSNAP_TYPE_BST, /* 0xCA */ DSNAP_TYPE_UNKCA, @@ -273,13 +273,14 @@ class dSnap_RegistObjElm { public: /* 0x00 */ dSnap_Obj m_obj; /* 0x34 */ f32 field_0x34; + /* 0x38 */ /* vtable */ public: dSnap_RegistObjElm() {} virtual ~dSnap_RegistObjElm() {} void Init(); void Regist(const dSnap_Obj&); -}; +}; // Size: 0x3C class dSnap_packet : public J3DPacket { public: diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 35b9c841e..1cdb177ea 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -590,6 +590,8 @@ fpc_ProcID fopAcM_createRaceItem(cXyz* p_pos, int i_itemNo, int i_itemBitNo, csX fpc_ProcID fopAcM_createIball(cXyz* p_pos, int itemTableIdx, int roomNo, csXyz* p_angle, int itemStealNum); +void fopAcM_createWarpFlower(cXyz* p_pos, csXyz* p_angle, int i_roomNo, u8 param_4); + fpc_ProcID fopAcM_createDemoItem(cXyz* p_pos, int itemNo, int itemBitNo, csXyz* p_angle, int roomNo, cXyz* scale, u8 argFlag); diff --git a/src/d/actor/d_a_bb.cpp b/src/d/actor/d_a_bb.cpp index e424a2e46..c2f154277 100644 --- a/src/d/actor/d_a_bb.cpp +++ b/src/d/actor/d_a_bb.cpp @@ -616,9 +616,9 @@ static BOOL daBb_Draw(bb_class* i_this) { daBb_shadowDraw(i_this); tail_draw(i_this); #if VERSION == VERSION_DEMO - dSnap_RegistFig(DSNAP_TYPE_UNKB0, &i_this->actor, 1.0f, 1.0f, 1.0f); + dSnap_RegistFig(DSNAP_TYPE_BB, &i_this->actor, 1.0f, 1.0f, 1.0f); #else - dSnap_RegistFig(DSNAP_TYPE_UNKB0, &i_this->actor, i_this->actor.eyePos, i_this->actor.shape_angle.y, 1.0f, 1.0f, 1.0f); + dSnap_RegistFig(DSNAP_TYPE_BB, &i_this->actor, i_this->actor.eyePos, i_this->actor.shape_angle.y, 1.0f, 1.0f, 1.0f); #endif return TRUE; } @@ -744,7 +744,7 @@ void bb_path_move(bb_class* i_this) { i_this->unk_35E = i_this->ppd->m_num - 2; } - if (i_this->ppd->m_nextID + 0 != 0xFFFF) { + if ((s32)i_this->ppd->m_nextID != 0xFFFF) { i_this->ppd = dPath_GetRoomPath(i_this->ppd->m_nextID, fopAcM_GetRoomNo(a_this)); JUT_ASSERT(DEMO_SELECT(1476, 1479), i_this->ppd != NULL); } diff --git a/src/d/actor/d_a_bita.cpp b/src/d/actor/d_a_bita.cpp index 6be178755..3a66b7f2c 100644 --- a/src/d/actor/d_a_bita.cpp +++ b/src/d/actor/d_a_bita.cpp @@ -49,7 +49,7 @@ static BOOL daBita_Draw(bita_class* i_this) { /* 0000018C-000002D0 .text mode_normal__FP10bita_class */ static void mode_normal(bita_class* i_this) { if (btd != NULL) { - if (btd->field_0x6e16 >= 100) { + if (btd->m6E16 >= 100) { cXyz delta = dComIfGp_getCamera(0)->mLookat.mEye - i_this->current.pos; if (delta.abs() < 1500.0f) { fopAcM_delete(i_this); diff --git a/src/d/actor/d_a_bk.cpp b/src/d/actor/d_a_bk.cpp index b178b0e01..6c6321e8a 100644 --- a/src/d/actor/d_a_bk.cpp +++ b/src/d/actor/d_a_bk.cpp @@ -1073,7 +1073,7 @@ static void jyunkai(bk_class* i_this) { i_this->m1217 = -1; i_this->m1216 = i_this->ppd->m_num - 2; } - if ((i_this->ppd->m_nextID & 0xFFFF) != 0xFFFF) { + if ((s32)i_this->ppd->m_nextID != 0xFFFF) { i_this->ppd = dPath_GetRoomPath(i_this->ppd->m_nextID, fopAcM_GetRoomNo(i_this)); JUT_ASSERT(VERSION_SELECT(2907, 2907, 2924, 2924), i_this->ppd != NULL); } diff --git a/src/d/actor/d_a_btd.cpp b/src/d/actor/d_a_btd.cpp index c6ebacb85..aee61f9f8 100644 --- a/src/d/actor/d_a_btd.cpp +++ b/src/d/actor/d_a_btd.cpp @@ -1,208 +1,2540 @@ /** * d_a_btd.cpp - * Boss - Gohma + * Boss - Gohma / ボスゴーマ (Boss Goma) */ #include "d/dolzel_rel.h" // IWYU pragma: keep +#include "d/d_lib.h" +#include "d/d_camera.h" +#include "d/actor/d_a_player.h" +#include "d/d_snap.h" +#include "d/d_s_play.h" +#include "d/actor/d_a_dr2.h" +#include "d/actor/d_a_kui.h" #include "d/actor/d_a_btd.h" +#include "d/actor/d_a_ykgr.h" +#include "d/res/res_btd.h" #include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_graphic.h" #include "d/d_procname.h" #include "d/d_priority.h" #include "d/d_cc_d.h" +#include "f_op/f_op_camera.h" +#include "JSystem/JUtility/JUTReport.h" /* 000000EC-000001C8 .text __ct__11daBtd_HIO_cFv */ +class daBtd_HIO_c : public JORReflexible { +public: + daBtd_HIO_c(); + virtual ~daBtd_HIO_c() {}; + +public: + /* 0x04 */ s8 mNo; + /* 0x05 */ u8 m05; + /* 0x06 */ u8 m06; + /* 0x07 */ u8 m07; + /* 0x08 */ f32 m08; + /* 0x0C */ s16 m0C; + /* 0x0E */ s16 m0E; + /* 0x10 */ u8 m10; + /* 0x11 */ s8 m11; + /* 0x12 */ s8 m12; + /* 0x13 */ s8 m13; + /* 0x14 */ f32 m14; + /* 0x18 */ f32 m18; + /* 0x1C */ f32 m1C; + /* 0x20 */ f32 m20; + /* 0x24 */ f32 m24; + /* 0x28 */ f32 m28; + /* 0x2C */ s16 m2C; + /* 0x2E */ s16 m2E; + /* 0x30 */ f32 m30; + /* 0x34 */ f32 m34; + /* 0x38 */ f32 m38; + /* 0x3C */ s16 m3C; + /* 0x3E */ s16 m3E; + /* 0x40 */ s16 m40; + /* 0x42 */ s16 m42; + /* 0x44 */ s16 m44; + /* 0x46 */ s16 m46; + /* 0x48 */ f32 m48; + /* 0x4C */ f32 m4C; + /* 0x50 */ f32 m50; + /* 0x54 */ u8 m54; +}; // Size: 0x54 + daBtd_HIO_c::daBtd_HIO_c() { - /* Nonmatching */ + mNo = 0xFF; + m05 = 0; + m06 = 0; + m07 = 0; + m08 = 1.0f; + m0C = 0x96; + m0E = 5; + m10 = 0; + m14 = 100.0f; + m18 = 0.5f; + m1C = 0.5f; + m20 = 0.2f; + m24 = 0.2f; + m2C = 10; + m28 = 150.0f; + m30 = 4.0f; + m34 = 20.0f; + m38 = 6.0f; + m3C = 0xb6; + m3E = 0x9c; + m40 = 0x56; + m42 = 0xff; + m44 = 0x8e; + m46 = 0x24; + m48 = 12.0f; + m4C = 35.0f; + m50 = 1.0f; + m54 = 0; } +static kui_class* kui; +static dr2_class* dr2; +static cXyz static_center_pos; +static daBtd_HIO_c l_HIO; + +static s8 joint_check[] = {-1, 0x05, -1, -1, 0x11, -1, -1, -1, -1, -1, 0x12, -1, -1, -1, 0x06, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0x04, -1, -1, 0x0D, -1, -1, + 0x0F, -1, -1, 0x0E, -1, -1, 0x11, 0x03, -1, -1, 0x0B, -1, -1, 0x0C, -1, -1, -1, 0x02, -1, + -1, -1, 0x64, -1, 0x00, 0x01, 0x65, 0x66, -1, -1, 0x07, 0x08, -1, -1, 0x09, 0x0A}; + /* 000001C8-0000024C .text wave_set__FP9btd_class */ -void wave_set(btd_class*) { - /* Nonmatching */ +void wave_set(btd_class* i_this) { + mDoAud_seStart(JA_SE_CM_BTD_MAGMA_MOVE, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6E7C = 0.0f; } /* 0000024C-00000268 .text get_anm__FP9btd_class */ -void get_anm(btd_class*) { - /* Nonmatching */ +mDoExt_McaMorf* get_anm(btd_class* i_this) { + if (i_this->m02E0 != 0) { + return i_this->m02C8; + } + return i_this->m02BC; } /* 00000268-00000284 .text get_btk__FP9btd_class */ -void get_btk(btd_class*) { - /* Nonmatching */ +mDoExt_btkAnm* get_btk(btd_class* i_this) { + if (i_this->m02E0 != 0) { + return i_this->btkS; + } + return i_this->btk; } /* 00000284-000002A0 .text get_brk__FP9btd_class */ -void get_brk(btd_class*) { - /* Nonmatching */ +mDoExt_brkAnm* get_brk(btd_class* i_this) { + if (i_this->m02E0 != 0) { + return i_this->brkS; + } + return i_this->brk; } /* 000002A0-000003D4 .text anm_init__FP9btd_classifUcfi */ -void anm_init(btd_class*, int, float, unsigned char, float, int) { - /* Nonmatching */ +void anm_init(btd_class* i_this, int bckFileIdx, f32 morf, u8 loopMode, f32 speed, int soundFileIdx) { + void* pSoundAnimRes; + J3DAnmTransform* pJVar1; + + mDoExt_McaMorf* btdAnm = get_anm(i_this); + if (soundFileIdx >= 0) { + pSoundAnimRes = dComIfG_getObjectRes("Btd", soundFileIdx); + pJVar1 = (J3DAnmTransform*)dComIfG_getObjectRes("Btd", bckFileIdx); + btdAnm->setAnm(pJVar1, loopMode, morf, speed, 0.0f, -1.0f, pSoundAnimRes); + } else { + pJVar1 = (J3DAnmTransform*)dComIfG_getObjectRes("Btd", bckFileIdx); + btdAnm->setAnm(pJVar1, loopMode, morf, speed, 0.0f, -1.0f, NULL); + } } /* 000003D4-00000778 .text nodeCallBack__FP7J3DNodei */ -static BOOL nodeCallBack(J3DNode*, int) { - /* Nonmatching */ +static BOOL nodeCallBack(J3DNode* node, int calcTiming) { + if (calcTiming == J3DNodeCBCalcTiming_In) { + J3DJoint* joint = (J3DJoint*)node; + s32 jntNo = joint->getJntNo(); + int r28 = joint_check[jntNo]; + J3DModel* model = j3dSys.getModel(); + btd_class* i_this = (btd_class*)model->getUserArea(); + if ((i_this != NULL) && (r28 >= 0)) { + cXyz local_38; + MTXCopy(model->getAnmMtx(jntNo), *calc_mtx); + if (r28 == 100) { + local_38.x = REG0_F(9); + local_38.y = REG0_F(10); + local_38.z = REG0_F(11); + MtxPosition(&local_38, &i_this->m03E0); + if (i_this->m6E4C == 0) { + i_this->eyePos = i_this->m03E0; + i_this->attention_info.position = i_this->eyePos; + i_this->attention_info.position.y += 50.0f; + } + local_38.x = REG0_F(9); + local_38.y = REG0_F(10) + -50.0f; + local_38.z = REG0_F(11) + 200.0f; + MtxPosition(&local_38, &i_this->m60B0.mPos); + mDoMtx_YrotM(*calc_mtx, i_this->m5E8E); + model->setAnmMtx(jntNo, *calc_mtx); + MTXCopy(*calc_mtx, J3DSys::mCurrentMtx); + } else if ((r28 == 0x65) || (r28 == 0x66)) { + if (r28 == 0x65) { + mDoMtx_XrotM(*calc_mtx, i_this->m02FA); + } else { + mDoMtx_XrotM(*calc_mtx, i_this->m02FA * -0.6818f); + } + model->setAnmMtx(jntNo, *calc_mtx); + MTXCopy(*calc_mtx, J3DSys::mCurrentMtx); + } else { + if (r28 <= 1) { + local_38.x = 0.0f; + local_38.y = 0.0f; + local_38.z = 300.0f; + } else if (r28 == 2) { + local_38.x = REG0_F(0); + local_38.y = REG0_F(1) + 50.0f; + local_38.z = REG0_F(2) + -100.0f; + } else if (r28 == 8) { + local_38.x = REG0_F(5) + 350.0f; + local_38.y = 100.0f; + local_38.z = 0.0f; + } else if (r28 == 10) { + local_38.x = -(REG0_F(5) + 350.0f); + local_38.y = -100.0f; + local_38.z = 0.0f; + } else { + local_38.x = REG0_F(6); + local_38.y = REG0_F(7); + local_38.z = REG0_F(8); + } + MtxPosition(&local_38, &i_this->m02FC[r28]); + } + if (r28 == 2) { + mDoMtx_YrotM(*calc_mtx, i_this->m5E88); + mDoMtx_XrotM(*calc_mtx, i_this->m5E8A); + mDoMtx_ZrotM(*calc_mtx, i_this->m5E88); + model->setAnmMtx(jntNo, *calc_mtx); + MTXCopy(*calc_mtx, J3DSys::mCurrentMtx); + } + } + } + return TRUE; } /* 000007B4-00000828 .text hahen_draw__FP9btd_class */ -void hahen_draw(btd_class*) { - /* Nonmatching */ +void hahen_draw(btd_class* i_this) { + btd_hahen_s* pbVar2 = &i_this->hahen[0]; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->hahen); i++, pbVar2++) { + if (pbVar2->m04 != 0) { + g_env_light.setLightTevColorType(pbVar2->model, &i_this->tevStr); + mDoExt_modelUpdate(pbVar2->model); + } + } } /* 00000828-000009B4 .text daBtd_Draw__FP9btd_class */ -static BOOL daBtd_Draw(btd_class*) { - /* Nonmatching */ +static BOOL daBtd_Draw(btd_class* i_this) { + J3DModel* model; + fopAc_ac_c* actor = i_this; + + u8 bVar1 = i_this->m6E15; + if (bVar1 > 1) { + mDoGph_gInf_c::mBlureRate = bVar1; + mDoGph_gInf_c::onBlure(); + } else if (bVar1 == 1) { + i_this->m6E15 = 0; + mDoGph_gInf_c::offBlure(); + } + dSnap_RegistFig(DSNAP_TYPE_BTD, actor, actor->eyePos, actor->current.angle.y, 1.0f, 1.0f, 1.0f); + if (i_this->m6E4C != 0) { + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &i_this->m6E50, &i_this->tevStr); + model = i_this->m02D4->getModel(); + g_env_light.setLightTevColorType(model, &i_this->tevStr); + i_this->m02D8->entry(model->getModelData()); + i_this->m02DC->entry(model->getModelData()); + i_this->m02D4->entryDL(); + } else { + mDoExt_McaMorf* morf = get_anm(i_this); + mDoExt_btkAnm* btk = get_btk(i_this); + mDoExt_brkAnm* brk = get_brk(i_this); + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &actor->eyePos, &i_this->tevStr); + model = morf->getModel(); + g_env_light.setLightTevColorType(model, &i_this->tevStr); + btk->entry(model->getModelData()); + brk->entry(model->getModelData()); + morf->entryDL(); + hahen_draw(i_this); + } + return TRUE; } /* 000009B4-00000A08 .text player_view_check__FP9btd_class */ -void player_view_check(btd_class*) { - /* Nonmatching */ +u16 player_view_check(btd_class* i_this) { + s16 uVar1; + s16 sVar2; + + sVar2 = fopAcM_searchActorAngleY(i_this, dComIfGp_getPlayer(0)); + sVar2 = i_this->current.angle.y - sVar2; + uVar1 = sVar2; + if (uVar1 < 0) { + uVar1 = -sVar2; + } + return uVar1; } /* 00000A08-00000A38 .text eff_off__FP9btd_class */ -void eff_off(btd_class*) { - /* Nonmatching */ +void eff_off(btd_class* i_this) { + for (int i = 0; i < 7; i++) { + if (i_this->m6028[i] > 2) { + i_this->m6028[i] = 2; + } + } } /* 00000A38-00000C14 .text hahen_set2__FP9btd_class */ -void hahen_set2(btd_class*) { - /* Nonmatching */ +void hahen_set2(btd_class* i_this) { + cXyz local_1c; + + local_1c.x = i_this->m02FC[8].x; + local_1c.y = i_this->m02FC[8].y; + local_1c.z = i_this->m02FC[8].z; + local_1c.y = i_this->m02FC[8].y - (REG0_F(14) + 100.0f); + dComIfGp_particle_set(dPa_name::ID_SCENE_80AA, &local_1c); + local_1c.x = i_this->m02FC[10].x; + local_1c.y = i_this->m02FC[10].y; + local_1c.z = i_this->m02FC[10].z; + local_1c.y = i_this->m02FC[10].y - (REG0_F(14) + 100.0f); + dComIfGp_particle_set(dPa_name::ID_SCENE_80AA, &local_1c); + mDoAud_seStart(JA_SE_CM_BTD_ARM_STRIKE, &i_this->m02FC[8], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + mDoAud_seStart(JA_SE_CM_BTD_ARM_STRIKE, &i_this->m02FC[10], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } /* 00000C14-00000D84 .text hahen_set_s__FP9btd_classP4cXyzP5csXyz */ -void hahen_set_s(btd_class*, cXyz*, csXyz*) { - /* Nonmatching */ +void hahen_set_s(btd_class* i_this, cXyz* param_2, csXyz* param_3) { + J3DModelData* modelData = static_cast(dComIfG_getObjectRes("Always", ALWAYS_BDL_MPI_KOISHI)); + J3DAnmTexPattern* anmTexPattern = static_cast(dComIfG_getObjectRes("Always", ALWAYS_BTP_MPI_KOISHI)); + JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set(dPa_name::ID_SCENE_80A8, param_2, param_3); + if (emitter != NULL) { + emitter->mGlobalParticleScale.x = 4.0f; + emitter->mGlobalParticleScale.y = 4.0f; + emitter->mGlobalParticleScale.z = 4.0f; + dPa_J3DmodelEmitter_c* modelEmitter = new dPa_J3DmodelEmitter_c(emitter, modelData, i_this->tevStr, anmTexPattern, 1, 0); + if (modelEmitter != NULL) { + dComIfGp_particle_addModelEmitter(modelEmitter); + } + } + dComIfGp_particle_set(dPa_name::ID_SCENE_80A9, param_2); } /* 00000D84-00000E44 .text smoke_set_s__FP9btd_classP4cXyzP5csXyz */ -void smoke_set_s(btd_class*, cXyz*, csXyz*) { - /* Nonmatching */ +void smoke_set_s(btd_class* i_this, cXyz* param_2, csXyz* param_3) { + dComIfGp_particle_setToon(dPa_name::ID_SCENE_A0AB, param_2, param_3, NULL, 0xB9, &i_this->mPa_SmokeEcallBack[0], fopAcM_GetRoomNo(i_this)); + dComIfGp_particle_setToon(dPa_name::ID_SCENE_A0AC, param_2, param_3, NULL, 0xB9, &i_this->mPa_SmokeEcallBack[1], fopAcM_GetRoomNo(i_this)); } /* 00000E44-00000F14 .text hahen_set__FP9btd_classSc */ -void hahen_set(btd_class*, signed char) { - /* Nonmatching */ +void hahen_set(btd_class* i_this, s8 param_2) { + int iVar1; + + i_this->m6048 = i_this->current.angle; + if (param_2 != 0) { + iVar1 = 10; + i_this->m6048.y += 0x4000; + } else { + iVar1 = 8; + i_this->m6048.y += -0x4000; + } + i_this->m603C = i_this->m02FC[iVar1]; + i_this->m603C.y -= (REG0_F(14) + 100.0f); + hahen_set_s(i_this, &i_this->m603C, &i_this->m6048); + smoke_set_s(i_this, &i_this->m603C, &i_this->m6048); } /* 00000F14-00001398 .text startdemo__FP9btd_class */ -void startdemo(btd_class*) { - /* Nonmatching */ +void startdemo(btd_class* i_this) { + cXyz local_30; + cXyz local_3c; + cXyz local_48; + + daPy_py_c* apdVar3 = daPy_getPlayerActorClass(); + i_this->m02F0 = 30; + i_this->current.angle.y = fopAcM_searchActorAngleY(i_this, daPy_getPlayerActorClass()); + local_30.x = -1534.0f; + local_30.y = 0.0f; + local_30.z = 909.0f; + local_3c = apdVar3->current.pos - local_30; + switch (i_this->mGohmaState) { + case 0: + if (i_this->m6E16 == 0) { + i_this->mKankyoState = 6; + i_this->m6E88 = 0; + i_this->current.pos.y = -10000.0f; + if (i_this->eventInfo.checkCommandDemoAccrpt()) { + i_this->m6E16 = 1; + mDoAud_bgmStreamPlay(); + } else if (local_3c.abs() > REG0_F(13) + 200.0f) { + fopAcM_orderPotentialEvent(i_this, dEvtFlag_STAFF_ALL_e, 0xFFFF, 0); + i_this->eventInfo.onCondition(dEvtCnd_UNK2_e); + } + } + break; + case 1: + i_this->mKankyoState = 8; + anm_init(i_this, BTD_BCK_SSTART, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->current.pos.y = i_this->home.pos.y; + i_this->mGohmaState = 2; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_ENTER, 0); + local_48.x = 0.0f; + local_48.y = 0.0f; + local_48.z = 0.0f; + dComIfGp_particle_set(dPa_name::ID_SCENE_80BD, &local_48, &i_this->current.angle); + break; + case 2: + if (i_this->m6E1A <= 0x46) { + i_this->mKankyoState = 8; + } + if ((i_this->m6E1A == 0x28) || (i_this->m6E1A == 0xDC)) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_DAMAGE, 0); + } + if (i_this->m6E1A == 0xD7) { + wave_set(i_this); + i_this->m6E48 = 40.0f; + hahen_set2(i_this); + } + if (((i_this->m6E1A >= 0x46) && (i_this->m6E1A <= 0xC3)) && (i_this->m602E = 3, i_this->m6E1A >= 0x5A)) { + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mKankyoState = 2; + } + if (i_this->m6E1A >= 0x46) { + i_this->m602C = 3; + } + if ((i_this->m02BC->isStop()) && (REG0_F(7) == 0.0f)) { + i_this->m6E16 = 0x96; + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(cM_rndF(50.0f) + 70.0f); + if (dComIfGp_getStartStageName()[0] == 'X') { + mDoAud_bgmStart(JA_BGM_PAST_GOMA); + } else { + mDoAud_bgmStart(JA_BGM_GOMA); + } + g_dComIfG_gameInfo.save.getMemory().getBit().onStageBossDemo(); + } + break; + } } /* 00001398-00001898 .text damage_check__FP9btd_class */ -void damage_check(btd_class*) { - /* Nonmatching */ +void damage_check(btd_class* i_this) { + cCcD_Obj* pcVar2; + short sVar4; + u32 uVar7; + dCcD_GObjInf* pdVar9; + csXyz local_48; + cXyz local_40; + CcAtInfo local_34; + + if ((i_this->m02F6 != 0) && (i_this->m02F6 == 1)) { + i_this->m02F6 = 2; + i_this->m02E4 = 2; + i_this->mGohmaState = 0x14; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_DMG_ROCK, 0); + eff_off(i_this); + return; + } + if ((i_this->m1A6C.ChkTgHit()) && (i_this->m02E0 == 0 && (i_this->mActionState == 0))) { + i_this->mActionState = 10; + pcVar2 = i_this->m1A6C.GetTgHitObj(); + def_se_set(i_this, pcVar2, 0x40); + } + if (((i_this->m1A6C.ChkTgHit()) && (i_this->m02E0 == 1)) && (i_this->m1A6C.OnTgNoConHit(), i_this->mActionState == 0)) { + i_this->mActionState = 7; + local_34.mpObj = i_this->m1A6C.GetTgHitObj(); + local_34.pParticlePos = i_this->m1A6C.GetTgHitPosP(); + at_power_check(&local_34); + i_this->mTotalDamage = i_this->mTotalDamage + local_34.mDamage; + i_this->health = i_this->health - local_34.mDamage; + if ((i_this->health <= 0) || (l_HIO.m06 != 0)) { + dScnPly_ply_c::nextPauseTimer = REG0_S(7) + 8; + dComIfGp_particle_set(dPa_name::ID_COMMON_0010, &i_this->m03E0); + local_40.z = 2.0f; + local_40.y = 2.0f; + local_40.x = 2.0f; + local_48.z = 0; + local_48.x = 0; + local_48.y = fopAcM_searchActorAngleY(i_this, daPy_getPlayerActorClass()); + dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, &i_this->m03E0, &local_48, &local_40); + i_this->m02E4 = 0xb; + i_this->mGohmaState = 0x32; + mDoAud_seStart(JA_SE_LK_LAST_HIT, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + return; + } + if (i_this->m02E4 == 2) { + if (i_this->mTotalDamage >= l_HIO.m0E) { + i_this->mGohmaState = 10; + i_this->mTotalDamage = 0; + } else { + uVar7 = BTD_BCK_HIT_M; + if (local_34.mResultingAttackType == 1) { + sVar4 = fopAcM_searchActorAngleY(i_this, daPy_getPlayerActorClass()); + sVar4 = sVar4 - i_this->current.angle.y; + if ((sVar4 > -0x100) && (sVar4 < 0x100)) { + uVar7 = BTD_BCK_HIT_M; + } else if (sVar4 > 0) { + uVar7 = BTD_BCK_HIT_R; + } else { + uVar7 = BTD_BCK_HIT_L; + } + } + anm_init(i_this, uVar7, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState = 3; + } + } else { + i_this->m02E4 = 2; + i_this->mGohmaState = 0; + } + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_DAMAGE, 0); + eff_off(i_this); + } + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m0428); i++) { + if (i_this->m5FC4[i] == 0) { + pdVar9 = &i_this->m0428[i]; + if (pdVar9->ChkTgHit()) { + i_this->m0428[i].OnTgNoConHit(); + i_this->m5FC4[i] = 10; + i_this->m5E98[i] = i_this->m02FC[i]; + pcVar2 = pdVar9->GetTgHitObj(); + def_se_set_p(i_this, &i_this->m5E98[i], pcVar2, 0x42); + break; + } + } else { + i_this->m5FC4[i]--; + } + } + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m575C); i++) { + if (i_this->m5FEA[i] == 0) { + if (i_this->m575C[i].ChkTgHit()) { + i_this->m575C[i].OnTgNoConHit(); + i_this->m5FEA[i] = 10; + def_se_set_p(i_this, &i_this->m5E98[i + 0x13], i_this->m575C[i].GetTgHitObj(), 0x42); + return; + } + } else { + i_this->m5FEA[i]--; + } + } } /* 00001898-000019D8 .text sibuki_set__FP9btd_class */ -void sibuki_set(btd_class*) { - /* Nonmatching */ +void sibuki_set(btd_class* i_this) { + cXyz local_38; + + btd_sibuki_s* pbVar2 = &i_this->mBtdSibukiS[0]; + i_this->m6E14 = 0; + local_38.x = 0.0f; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->mBtdSibukiS); i++, pbVar2++) { + if (pbVar2->m00 == 0) { + pbVar2->m00 = 1; + mDoMtx_YrotS(*calc_mtx, cM_rndFX(32768.0f)); + local_38.z = REG0_F(13) + (cM_rndFX(200.0f) + 300.0f); + local_38.y = cM_rndF(50.0f); + MtxPosition(&local_38, &pbVar2->m04); + local_38.z = l_HIO.m48 + cM_rndF(l_HIO.m48 * 0.5f); + local_38.y = l_HIO.m4C + cM_rndF(l_HIO.m4C * 0.5f); + MtxPosition(&local_38, &pbVar2->m10); + mDoMtx_YrotS(*calc_mtx, cM_rndFX(32768.0f)); + } + } } /* 000019D8-00001A84 .text kubi_calc__FP9btd_class */ -void kubi_calc(btd_class*) { - /* Nonmatching */ +void kubi_calc(btd_class* i_this) { + MtxTrans(i_this->m6E50.x, i_this->m6E50.y, i_this->m6E50.z, false); + mDoMtx_YrotM(*calc_mtx, i_this->m6E74.y); + mDoMtx_XrotM(*calc_mtx, i_this->m6E74.x); + mDoMtx_ZrotM(*calc_mtx, i_this->m6E74.z); + J3DModel* model = i_this->m02D4->getModel(); + MTXCopy(*calc_mtx, model->getBaseTRMtx()); + i_this->m02D4->calc(); + i_this->m02D8->play(); + i_this->m02DC->play(); } /* 00001A84-000028C4 .text damage__FP9btd_class */ -void damage(btd_class*) { - /* Nonmatching */ +s32 damage(btd_class* i_this) { + /* Nonmatching - regalloc */ + static s32 hibi_brk[] = {BTD_BRK_HIBI01, BTD_BRK_HIBI02, BTD_BRK_HIBI03}; + static u16 hibi_eff_name[] = {dPa_name::ID_SCENE_80C8, dPa_name::ID_SCENE_80C9, dPa_name::ID_SCENE_80CA}; + static u16 hahen_eff_name[] = { + dPa_name::ID_SCENE_80C4, + dPa_name::ID_SCENE_80C4, + dPa_name::ID_SCENE_80C4, + dPa_name::ID_SCENE_80C4, + dPa_name::ID_SCENE_80C5, + dPa_name::ID_SCENE_80C5, + dPa_name::ID_SCENE_80C5, + dPa_name::ID_SCENE_80C5, + dPa_name::ID_SCENE_80C6, + dPa_name::ID_SCENE_80C7, + dPa_name::ID_SCENE_80C7, + dPa_name::ID_SCENE_80C7 + }; + static s32 hahen_eff_index[] = {0x2E, 0x21, 0x24, 0x42, 0x31, 0x27, 0x2A, 0x46, 0x37, 0x20, 0x2D, 0x34}; + int state; + mDoExt_McaMorf* iVar2; + J3DAnmTevRegKey* pJVar2; + int iVar3; + JPABaseEmitter* pJVar4; + J3DModel* pJVar8; + cXyz local_58; + + iVar2 = get_anm(i_this); + state = 1; + i_this->m02F0 = 5; + if (i_this->mGohmaState >= 10) { + i_this->mActionState = 10; + } + if (i_this->mGohmaState <= 0xb) { + state = 0; + } + switch (state) { + case 0: + anm_init(i_this, BTD_BCK_DAMAGE1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + case 1: + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_DAMAGE2, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->mStunTimer = l_HIO.m0C; + i_this->mGohmaState++; + } + break; + case 2: + if (i_this->mStunTimer == 0) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = cM_rndF(50.0f) + 50.0f; + } + break; + case 3: + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_DAMAGE2, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->mGohmaState = 2; + } + break; + case 10: + anm_init(i_this, BTD_BCK_DAMAGE3, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_DAMAGE, 0); + case 0xb: + if (iVar2->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = cM_rndF(50.0f) + 50.0f; + } + break; + case 0x14: + anm_init(i_this, BTD_BCK_SIZUMU1, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m6E7C = 0.0f; + break; + case 0x15: + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_SIZUMU2, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = (REG0_S(7) + 0x14) * 5; + i_this->mGohmaState++; + } + case 0x16: + if (i_this->m02EC[0] == REG0_S(5) + 0x28) { + pJVar8 = iVar2->getModel(); + pJVar2 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", hibi_brk[i_this->m6190]); + i_this->brk->init(pJVar8->getModelData(), pJVar2, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, true, 0); + i_this->m6190++; + mDoAud_seStart(JA_SE_CM_BTD_BRK_SHIELD_S, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + for (int i = 0, j = 0; i < 3; i++, j++) { + pJVar4 = dComIfGp_particle_set(hibi_eff_name[j], &i_this->current.pos); + if (pJVar4 != NULL) { + pJVar4->setGlobalRTMatrix(iVar2->getModel()->getAnmMtx(0x37)); + } + } + if (l_HIO.m06 != 0) { + i_this->m6190 = 3; + } + if ((l_HIO.m07 != 0) && (i_this->m6190 >= 3)) { + i_this->m6190 = 2; + } + } + if (i_this->m02EC[0] == 0) { + if (i_this->m6190 >= 3) { + i_this->mGohmaState = 0x28; + } else { + anm_init(i_this, BTD_BCK_SIZUMU3, 15.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + static_center_pos.setall(0.0f); + mDoAud_seStart(JA_SE_CM_BTD_INTO_MAGMA_N, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_WAIT, 0); + i_this->m6E7C = 0.0f; + i_this->m02EC[0] = 0x96; + } + } + break; + case 0x17: + if ((i_this->m02EC[0] == 1) || (i_this->m02EC[0] == 0x46)) { + i_this->m6E7C = 0.0f; + } + if (iVar2->isStop()) { + i_this->mGohmaState = 0x1e; + i_this->m02EC[0] = 0; + } + break; + case 0x1e: + i_this->m6E88 = 0; + if (i_this->m02EC[0] == 0) { + anm_init(i_this, BTD_BCK_MOTIAGE1, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02F6 = 0; + mDoAud_seStart(JA_SE_CM_BTD_ENT_BLAST, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_ENTER, 0); + i_this->m02EC[0] = 0x3c; + i_this->m6E7C = 0.0f; + i_this->mKankyoTimer = 0x14; + } + break; + case 0x1f: + if (i_this->m02EC[0] == 0x37) { + sibuki_set(i_this); + } + if (i_this->m02EC[0] == 1) { + i_this->m6E7C = 0.0f; + } + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_MOTIAGE2, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + mDoAud_seStart(JA_SE_CM_BTD_LIFT_UP, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6E7C = 0.0f; + } + break; + case 0x20: + i_this->m6E88 = 0; + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_MOTIAGE3, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + dr2_class* dr2Var = dr2; + mDoAud_seStart(JA_SE_CM_BTD_JUMP_DOWN, &dr2Var->unk_4A8, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + dComIfGp_particle_set(dPa_name::ID_SCENE_80BC, &i_this->current.pos, &i_this->current.angle); + i_this->mGohmaState++; + i_this->m02EC[0] = 0x1e; + } + break; + case 0x21: + if (i_this->m02EC[0] == 0x14) { + mDoAud_seStart(JA_SE_CM_BTD_LANDING, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6E7C = 0.0f; + sibuki_set(i_this); + } + if (iVar2->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = cM_rndF(50.0f) + 50.0f; + } + break; + case 0x28: + anm_init(i_this, BTD_BCK_WARERU1, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + mDoAud_seStart(JA_SE_CM_BTD_FALL_FWD, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + mDoAud_bgmStop(30); + i_this->m02EC[0] = 0x96; + i_this->m6E7C = 0.0f; + case 0x29: + if (i_this->m02EC[0] == (s16)(REG0_S(5) + 0x26)) { + dr2->unk_4BA = 10; + if (dComIfGp_getStartStageName()[0] == 'X') { + mDoAud_bgmStart(JA_BGM_PAST_GOMA_2); + } else { + mDoAud_bgmStart(JA_BGM_GOMA_2); + }; + btd_hahen_s* pbVar10 = &i_this->hahen[0]; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->hahen); i++, pbVar10++) { + if (pbVar10->m04 == 0) { + if (i < 5) { + iVar3 = 2; + } else { + iVar3 = cM_rndF(18.999f); + } + pbVar10->m04 = 1; + pbVar10->m08.x = i_this->m02FC[iVar3].x; + pbVar10->m08.y = i_this->m02FC[iVar3].y; + pbVar10->m08.z = i_this->m02FC[iVar3].z; + pbVar10->m08.x = pbVar10->m08.x + cM_rndFX(REG0_F(2) + 50.0f); + pbVar10->m08.y = pbVar10->m08.y + cM_rndFX(REG0_F(2) + 50.0f); + pbVar10->m08.z = pbVar10->m08.z + cM_rndFX(REG0_F(2) + 50.0f); + mDoMtx_YrotS(*calc_mtx, ((short)cM_rndFX(2000.0f) + cM_atan2s(pbVar10->m08.x, pbVar10->m08.z))); + local_58.x = 0.0f; + local_58.y = REG0_F(1) + (cM_rndF(5.0f) + 20.0f); + local_58.z = REG0_F(0) + (cM_rndF(5.0f) + 20.0f); + MtxPosition(&local_58, &pbVar10->m14); + pbVar10->m22 = cM_rndF(65536.0f); + pbVar10->m20 = cM_rndF(65536.0f); + } + } + for (s32 i = 0, j = 0, k = 0; i < (s32)ARRAY_SIZE(hahen_eff_name); i++, j++, k++) { + pJVar4 = dComIfGp_particle_set(hahen_eff_name[k], &i_this->current.pos); + if (pJVar4 != NULL) { + pJVar4->setGlobalRTMatrix(iVar2->mpModel->getAnmMtx(hahen_eff_index[j])); + } + } + } + if (i_this->m02EC[0] == 0x65) { + mDoAud_seStart(JA_SE_CM_BTD_GET_UP, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_ENTER, 0); + } + if (iVar2->isStop()) { + mDoAud_seStart(JA_SE_CM_BTD_BRK_SHIELD_L, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_DAMAGE, 0); + i_this->m02E0 = 1; + anm_init(i_this, BTD_BCK_WARERU2, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + } + break; + case 0x2a: + if (iVar2->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = cM_rndF(50.0f) + 50.0f; + } + } + return state; } /* 000028C4-000036A0 .text end__FP9btd_class */ -void end(btd_class*) { - /* Nonmatching */ +void end(btd_class* i_this) { + /* Nonmatching - regalloc, branching */ + static u16 last_eff_name[] = { + dPa_name::ID_SCENE_80D2, + dPa_name::ID_SCENE_80D3, + dPa_name::ID_SCENE_80D4, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D0, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1, + dPa_name::ID_SCENE_80D1 + }; + static s32 last_eff_index[] = {0x20, 0x2D, 0x34, 0x42, 0x43, 0x2E, 0x2F, 0x21, 0x22, 0x24, 0x25, 0x46, 0x47, 0x31, 0x32, 0x27, 0x28, 0x2A, 0x2B}; + mDoExt_McaMorf* iVar2; + J3DMaterialTable* pJVar2; + J3DAnmTevRegKey* pJVar3; + J3DAnmTextureSRTKey* pJVar4; + JPABaseEmitter* pJVar6; + J3DModel* pJVar10; + float fVar13; + cXyz local_2c; + + iVar2 = get_anm(i_this); + i_this->mActionState = 10; + switch (i_this->mGohmaState) { + case 0x32: + if (dComIfGp_getStartStageName()[0] == 'X') { + dLib_setNextStageBySclsNum(0, i_this->current.roomNo); + mDoAud_seStart(JA_SE_LK_B_BOSS_WARP, NULL, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + dComIfGs_onEventBit(0x3240); + dComIfGs_onTmpBit(0x480); + mDoAud_bgmStop(30); + } else { + i_this->mGohmaState = 0x33; + anm_init(i_this, BTD_BCK_DEAD, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->m6E16 = 100; + i_this->m6E1A = 0; + i_this->m6E18 = 0; + i_this->m02EC[0] = REG0_S(3) + 0x21c; + mDoAud_bgmStop(20); + mDoAud_bgmStreamPrepare(JA_STRM_BOSS_CLEAR); + pJVar10 = iVar2->mpModel; + pJVar2 = (J3DMaterialTable*)dComIfG_getObjectRes("Btd", BTD_BMT_DEADA); + pJVar10->getModelData()->setMaterialTable(pJVar2, J3DMatCopyFlag_Material); + pJVar3 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_DEADA); + i_this->brkS->init(pJVar10->getModelData(), pJVar3, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true, 0); + pJVar4 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_DEADA); + i_this->btkS->init(pJVar10->getModelData(), pJVar4, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true, 0); + wave_set(i_this); + } + break; + case 0x33: + if (i_this->m6E1A == 3) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_DAMAGE, 0); + } + if (i_this->m6E1A == 0x40) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_DMG_ROCK, 0); + wave_set(i_this); + } + if (i_this->m6E1A == 0x78) { + mDoAud_seStart(JA_SE_CM_BTD_BECOME_BLACK, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + wave_set(i_this); + } + if (i_this->m6E1A == 0xa0) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_JITABATA, 0); + } + if (i_this->m6E1A == 200) { + static_center_pos.set(0.0f, 300.0f, 0.0f); + mDoAud_seStart(JA_SE_CM_BTD_ENDURE, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_DIE, 0); + } + if (i_this->m6E1A == 0x136) { + mDoAud_seStart(JA_SE_CM_BTD_BECOME_RED, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + if (i_this->m02EC[0] == 0x65) { + mDoAud_bgmStreamPlay(); + i_this->current.pos.y = -10000.0f; + i_this->m6E4C = 1; + i_this->m6E50 = i_this->eyePos; + i_this->m6E74 = i_this->current.angle; + i_this->m6E16++; + i_this->m6E1A = 0; + i_this->m6E40 = 0.0f; + i_this->mGohmaState++; + i_this->speedF = 30.0f; + i_this->m02EC[0] = 0x46; + mDoAud_seStart(JA_SE_CM_BTD_LAST_EXPLODE, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + pJVar6 = dComIfGp_particle_set(dPa_name::ID_SCENE_80DE, &i_this->m6E50); + i_this->m6038 = pJVar6; + i_this->m6E48 = 30.0f; + dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + i_this->m6E15 = 0xb4; + } else { + if (i_this->m02EC[0] == 0x1cc) { + i_this->m02E0 = 2; + } + if (i_this->m02EC[0] == 0xf1) { + pJVar10 = iVar2->mpModel; + pJVar3 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_DEADB); + i_this->brkS->init(pJVar10->getModelData(), pJVar3, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true, 0); + pJVar4 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_DEADB); + i_this->btkS->init(pJVar10->getModelData(), pJVar4, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true, 0); + } + if (i_this->m02EC[0] == 0xbf) { + for (s32 i = 0; i < (s32)ARRAY_SIZE(last_eff_index); i++) { + pJVar6 = dComIfGp_particle_set(last_eff_name[i], &i_this->current.pos); + if (pJVar6 != NULL) { + pJVar6->setGlobalRTMatrix(iVar2->mpModel->getAnmMtx(last_eff_index[i])); + } + } + } + } + break; + case 0x34: + i_this->m6E88 = 0; + local_2c = i_this->m6E5C - i_this->m6E50; + fVar13 = std::sqrtf(local_2c.x * local_2c.x + local_2c.z * local_2c.z); + local_2c.y += fVar13 * (REG0_F(14) + 3.5f); + i_this->m6E74.y = cM_atan2s(local_2c.x, local_2c.z); + mDoMtx_YrotS(*calc_mtx, -cM_atan2s(local_2c.y, std::sqrtf(local_2c.x * local_2c.x + local_2c.z * local_2c.z))); + mDoMtx_XrotM(*calc_mtx, i_this->m6E74.y); + local_2c.x = 0.0f; + local_2c.y = 0.0f; + local_2c.z = i_this->speedF; + MtxPosition(&local_2c, &i_this->m6E68); + i_this->m6E50 += i_this->m6E68; + if (i_this->m6E68.y < 0.0f) { + cLib_addCalc2(&i_this->speedF, 300.0f, 1.0f, 2.0f); + } + i_this->eyePos = i_this->m6E50; + local_2c = i_this->m6E5C - i_this->m6E50; + fVar13 = local_2c.abs(); + if (fVar13 < i_this->speedF * 2.0f) { + i_this->mGohmaState = 0x35; + } + break; + case 0x35: + i_this->m6E88 = 0; + cLib_addCalc2(&i_this->m6E50.x, i_this->m6E5C.x, 1.0f, std::fabsf(i_this->m6E68.x)); + i_this->m6E50.y = i_this->m6E50.y + i_this->m6E68.y; + i_this->m6E68.y = i_this->m6E68.y - (REG0_F(3) + 5.0f); + if (i_this->m6E50.y <= i_this->m6E5C.y) { + i_this->m6E50.y = i_this->m6E5C.y; + if (i_this->m6E68.y < -50.0f) { + i_this->m6E68.y = i_this->m6E68.y * (REG0_F(4) + -0.3f); + i_this->m6E48 = 40.0f; + dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + mDoAud_seStart(JA_SE_CM_BTD_DROP_HEAD, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mGohmaState = 0x36; + i_this->m02EC[0] = 0x32; + static cXyz pos(i_this->m6E50); + pos.y -= 100.0f; + smoke_set_s(i_this, &pos, &i_this->m6E74); + pJVar6 = i_this->m6038; + if (pJVar6 != NULL) { + pJVar6->becomeInvalidEmitter(); + i_this->m6038 = NULL; + } + } + } + cLib_addCalc2(&i_this->m6E50.z, i_this->m6E5C.z, 1.0f, std::fabsf(i_this->m6E68.z)); + i_this->eyePos = i_this->m6E50; + i_this->m6E74.x += REG0_S(3) + 1000; + i_this->m6E74.z += REG0_S(4) + 0x5dc; + kubi_calc(i_this); + pJVar6 = i_this->m6038; + if (pJVar6 != NULL) { + pJVar6->setGlobalRTMatrix(i_this->m02D4->mpModel->getAnmMtx(0)); + } + break; + case 0x36: + i_this->m6E88 = 0; + cLib_addCalcAngleS2(&i_this->m6E74.x, 0x2000, 2, 0x200); + cLib_addCalcAngleS2(&i_this->m6E74.z, 0x2000, 2, 0x200); + i_this->m6E50.y += i_this->m6E68.y; + i_this->m6E68.y -= (REG0_F(3) + 5.0f); + if (i_this->m6E50.y <= i_this->m6E5C.y) { + i_this->m6E50.y = i_this->m6E5C.y; + ; + i_this->m6E68.y = 0.0f; + } + i_this->eyePos = i_this->m6E50; + if (i_this->m02EC[0] == 1) { + i_this->m6E50.y = i_this->m6E50.y - 100.0f; + mDoAud_seStart(JA_SE_CM_BOSS_EXPLODE, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_createDisappear(i_this, &i_this->m6E50, 0xF, daDisItem_HEART_CONTAINER_e, 0xFF); + i_this->mGohmaState = 0x37; + i_this->m6E50.y = -10000.0f; + i_this->m02EC[0] = 0x96; + } + kubi_calc(i_this); + break; + case 0x37: + i_this->m6E88 = 0; + if (i_this->m02EC[0] == 2) { + dr2->unk_43C = 1; + i_this->m6E84 = -200.0f; + } + if (i_this->m02EC[0] == 1) { + i_this->m6E16++; + i_this->mGohmaState = 0x38; + } + break; + case 0x39: + i_this->mKankyoState = 6; + } } +static s32 jab_bck[] = {BTD_BCK_RJAB1, BTD_BCK_RJAB2, BTD_BCK_RJAB3, 0, 0, BTD_BCK_LJAB1, BTD_BCK_LJAB2, BTD_BCK_LJAB3}; +static s32 punch_bck[] = { + BTD_BCK_RATTACK1, + BTD_BCK_RATTACK2, + BTD_BCK_RATTACK3, + BTD_BCK_RATTACK4, + BTD_BCK_RATTACK5, + BTD_BCK_LATTACK1, + BTD_BCK_LATTACK2, + BTD_BCK_LATTACK3, + BTD_BCK_LATTACK4, + BTD_BCK_LATTACK5 +}; + /* 000036A0-00003BCC .text wait__FP9btd_class */ -void wait(btd_class*) { - /* Nonmatching */ +void wait(btd_class* i_this) { + /* Nonmatching - .data */ + short sVar1; + daPy_py_c* apdVar2; + u16 uVar5; + + apdVar2 = daPy_getPlayerActorClass(); + uVar5 = player_view_check(i_this); + u8 bVar8 = false; + if (apdVar2->current.pos.y > REG0_F(5) + 400.0f) { + bVar8 = true; + } + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, BTD_BCK_WAIT1, 20.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->mGohmaState++; + case 1: + if ((uVar5 < 0x1800) && (i_this->m02EC[0] == 0)) { + i_this->m02E4 = 1; + i_this->mGohmaState = 0; + if (cM_rndF(1.0f) < 0.5f) { + i_this->m02E9 = 0; + i_this->m02EA = 1; + } else { + i_this->m02E9 = 5; + i_this->m02EA = 0; + } + if (l_HIO.m10 == 0) { + if ((uVar5 > 0x400) && (cM_rndF(1.0f) < 0.5f)) { + i_this->mAttackType = 5; + } else if (uVar5 > 0x800) { + i_this->mAttackType = 5; + } else if (i_this->m02E0 == 0) { + if (cM_rndF(1.0f) < l_HIO.m18) { + i_this->mAttackType = 0; + } else if (cM_rndF(1.0f) < l_HIO.m1C) { + i_this->mAttackType = 1; + } else { + i_this->mAttackType = 2; + } + } else if (cM_rndF(1.0f) < l_HIO.m20) { + i_this->mAttackType = 0; + } else if (cM_rndF(1.0f) < l_HIO.m24) { + i_this->mAttackType = 1; + } else { + i_this->mAttackType = 2; + } + } else if (l_HIO.m10 == 1) { + i_this->mAttackType = 0; + } else if (l_HIO.m10 == 2) { + i_this->mAttackType = 1; + } else if (l_HIO.m10 == 3) { + i_this->mAttackType = 2; + } else if (l_HIO.m10 == 4) { + i_this->mAttackType = 5; + i_this->m02E9 = 5; + i_this->m02EA = 0; + } + } else { + i_this->m5E94 = 0x100; + if ((uVar5 >= 0x6000) && (i_this->m02EC[1] == 0)) { + i_this->mGohmaState = 2; + anm_init(i_this, BTD_BCK_KYORO, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = 0x96; + } else if (bVar8) { + if ((kui != NULL) && (kui->health == 3)) { + i_this->mGohmaState = 10; + } else { + i_this->mGohmaState = 0x14; + } + } + i_this->m5E86 = 1; + } + break; + case 2: + if ((uVar5 < 0x6000) || (i_this->m02EC[0] == 0)) { + i_this->mGohmaState = 0; + i_this->m02EC[1] = 0x28; + } + break; + case 10: + anm_init(i_this, BTD_BCK_UEMUKI_WAIT, 20.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = 300; + i_this->m02EC[1] = (s16)(cM_rndF(80.0f) + 90.0f); + case 0xb: + if ((i_this->m02EC[1] == 0) && (i_this->m02EC[0] > 0x96)) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_WAIT, 0); + i_this->m02EC[1] = (s16)(cM_rndF(80.0f) + 90.0f); + } + i_this->m5E86 = 3; + i_this->m5E94 = 0x100; + sVar1 = apdVar2->shape_angle.y; + i_this->m5E90 = sVar1 + 0x4000; + if ((!bVar8) || (kui != NULL && (kui->health != 3))) { + i_this->mGohmaState = 0; + } + if (i_this->m02EC[0] == 0) { + i_this->m02E4 = 1; + i_this->mAttackType = 3; + i_this->mGohmaState = 0; + } + break; + case 0x14: + anm_init(i_this, BTD_BCK_YOKO_WAIT, 20.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = 0x96; + case 0x15: + i_this->m5E86 = 1; + i_this->m5E94 = 0x100; + if ((!bVar8) || (kui != NULL && (kui->health == 3))) { + i_this->mGohmaState = 0; + } + if (i_this->m02EC[0] == 0) { + i_this->m02E4 = 1; + i_this->mAttackType = 4; + i_this->mGohmaState = 0; + } + } } /* 00003BCC-00003E64 .text jab_attack__FP9btd_class */ -void jab_attack(btd_class*) { - /* Nonmatching */ +void jab_attack(btd_class* i_this) { + mDoExt_McaMorf* iVar3; + int iVar6; + + iVar3 = get_anm(i_this); + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, jab_bck[i_this->m02E9], 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_JAB, 0); + i_this->mGohmaState++; + break; + case 1: + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, jab_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + mDoAud_seStart(JA_SE_CM_BTD_WIND_JAB, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + break; + case 2: + i_this->m5E84 = 1; + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, jab_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + } + break; + case 3: + if (iVar3->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + } + break; + } } /* 00003E64-00004418 .text punch_attack__FP9btd_class */ -void punch_attack(btd_class*) { - /* Nonmatching */ +void punch_attack(btd_class* i_this) { + int iVar1; + mDoExt_McaMorf* iVar3; + int iVar6; + + iVar3 = get_anm(i_this); + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, punch_bck[i_this->m02E9], 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_ATTACK, 0); + break; + case 1: + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + mDoAud_seStart(JA_SE_CM_BTD_WIND_ATTACK, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + break; + case 2: + i_this->m5E84 = 2; + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + mDoAud_seStart(JA_SE_CM_BTD_ARM_STRIKE, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + hahen_set(i_this, i_this->m02EA); + dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + } + break; + case 3: + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = (s16)(l_HIO.m28 + cM_rndF(100.0f)); + i_this->mGohmaState++; + } + break; + case 4: + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + iVar1 = iVar3->mFrameCtrl.getFrame(); + if (iVar1 == 2) { + mDoAud_seStart(JA_SE_CM_BTD_ARM_PULLOUT_1, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_JITABATA, 0); + } + if (i_this->m02EC[0] == 0) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_JITABATA, 0); + mDoAud_seStart(JA_SE_CM_BTD_ARM_PULLOUT_2, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6032 = 0x17; + i_this->m6030 = 0x17; + i_this->m6034 = 3; + } + break; + case 5: + if (iVar3->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + } + break; + } + if ((i_this->mGohmaState == 3) || (i_this->mGohmaState == 4)) { + i_this->m5E7C = i_this->m02EA + 2; + } } /* 00004418-00004948 .text punch2_attack__FP9btd_class */ -void punch2_attack(btd_class*) { - /* Nonmatching */ +void punch2_attack(btd_class* i_this) { + mDoExt_McaMorf* iVar3; + int iVar6; + + iVar3 = get_anm(i_this); + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, punch_bck[i_this->m02E9], 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_ATTACK, 0); + break; + case 1: + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + mDoAud_seStart(JA_SE_CM_BTD_WIND_ATTACK, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + i_this->m5E92 = REG0_S(2) + 0xf; + i_this->m5E94 = REG0_S(3) + 0xc00; + break; + case 2: + i_this->m5E84 = 2; + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + mDoAud_seStart(JA_SE_CM_BTD_ARM_STRIKE, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + hahen_set(i_this, i_this->m02EA); + dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + } + break; + case 3: + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->m02EC[0] = (s16)(cM_rndF(80.0f) + 80.0f); + i_this->mGohmaState++; + } + break; + case 4: + iVar6 = 8; + if (i_this->m02EA != 0) { + iVar6 = 10; + } + if (iVar3->isStop()) { + i_this->m02E9++; + anm_init(i_this, punch_bck[i_this->m02E9], 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_AFT_JITABATA, 0); + mDoAud_seStart(JA_SE_CM_BTD_ARM_PULLOUT_2, &i_this->m02FC[iVar6], 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6032 = 0x17; + i_this->m6030 = 0x17; + i_this->m6034 = 3; + } + break; + case 5: + if (iVar3->isStop()) { + if (l_HIO.m10 != 4) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = 0; + } else { + i_this->mGohmaState = 0; + i_this->m02E9 = 5; + } + } + break; + } } /* 00004948-00004FE4 .text fire_attack__FP9btd_class */ -void fire_attack(btd_class*) { - /* Nonmatching */ +void fire_attack(btd_class* i_this) { + mDoExt_McaMorf* iVar2; + cXyz local_2c; + cXyz cStack_38; + + iVar2 = get_anm(i_this); + i_this->m5E86 = 2; + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, BTD_BCK_FATTACK1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = 0x28; + i_this->m6E7C = 0.0f; + break; + case 1: + if (i_this->m02EC[0] == (s16)(REG0_S(6) + 0x10)) { + hahen_set2(i_this); + } + if (i_this->m02EC[0] == 0x1f) { + fopAcM_monsSeStart(i_this, JA_SE_CV_BTD_BEF_FIRE, 0); + } + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_FATTACK2, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + } + break; + case 2: + if (iVar2->isStop()) { + if (i_this->m02E0 != 0) { + i_this->mGohmaState = 6; + anm_init(i_this, BTD_BCK_HASAMI_ATTACK, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + fopAcM_monsSeStart(i_this, JA_SE_CM_MAGTAIL_ATTACK, 0); + } else { + anm_init(i_this, BTD_BCK_FATTACK3, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = l_HIO.m2C * 9; + i_this->mGohmaState = 3; + } + } + break; + case 3: + i_this->mKankyoState = 1; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI_BEF, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + if (i_this->m02EC[0] > 9) { + i_this->m6028[1] = 1; + } + i_this->m6028[0] = REG0_S(6) + 0x14; + if (i_this->m02EC[0] == 0) { + if (i_this->m02E0 != 0) { + anm_init(i_this, BTD_BCK_HASAMI_ATTACK, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState = 5; + fopAcM_monsSeStart(i_this, JA_SE_CM_MAGTAIL_ATTACK, 0); + } else { + anm_init(i_this, BTD_BCK_FATTACK4, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = REG0_S(3) + 0x19; + mDoAud_seStart(JA_SE_CM_BTD_WIND_BEF_FIRE, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + i_this->m600C[3] = NULL; + } + break; + case 4: + i_this->m602C = 0xc; + i_this->m602E = 3; + if (iVar2->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + } + if (i_this->m02EC[0] <= 1) { + i_this->mKankyoState = 2; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + MTXCopy(iVar2->getModel()->getAnmMtx(0x3a), *calc_mtx); + local_2c.x = 0.0f; + local_2c.y = i_this->m5E80 * -200.0f; + local_2c.z = i_this->m5E80 * 1000.0f; + MtxPosition(&local_2c, &cStack_38); + i_this->m1B98.SetR(i_this->m5E80 * 200.0f); + if (i_this->m02EC[0] == 1) { + i_this->m1B98.StartCAt(cStack_38); + } else { + i_this->m1B98.MoveCAt(cStack_38); + } + dComIfG_Ccsp()->Set(&i_this->m1B98); + i_this->m5E80 += 0.1f; + if (i_this->m5E80 > 1.0f) { + i_this->m5E80 = 0.0f; + } + } else { + i_this->m5E80 = 0.0f; + } + break; + case 5: + i_this->m5E84 = 3; + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_FATTACK4, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState = 4; + i_this->m02EC[0] = REG0_S(3) + 0x19; + mDoAud_seStart(JA_SE_CM_BTD_WIND_BEF_FIRE, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + break; + case 6: + i_this->m5E84 = 3; + if (iVar2->isStop()) { + anm_init(i_this, BTD_BCK_FATTACK3, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = (s16)(l_HIO.m2C << 2); + i_this->mGohmaState = 3; + } + } + if ((i_this->mGohmaState >= 2) || (i_this->m02EC[0] < 0x10)) { + i_this->m5E7C = 1; + } } /* 00004FE4-000053E4 .text up_fire_attack__FP9btd_class */ -void up_fire_attack(btd_class*) { - /* Nonmatching */ +void up_fire_attack(btd_class* i_this) { + bool bVar2; + daPy_py_c* apdVar4; + mDoExt_McaMorf* iVar5; + cXyz local_2c; + cXyz cStack_38; + + apdVar4 = daPy_getPlayerActorClass(); + iVar5 = get_anm(i_this); + bVar2 = true; + i_this->m5E86 = 3; + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, BTD_BCK_UE_KAEN1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = 0x28; + break; + case 1: + if (iVar5->isStop()) { + anm_init(i_this, BTD_BCK_UE_KAEN2, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = l_HIO.m2C * 9; + i_this->mGohmaState++; + } + break; + case 2: + i_this->mKankyoState = 1; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI_BEF, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6028[1] = 1; + i_this->m6028[0] = REG0_S(6) + 0x14; + if (i_this->m02EC[0] == 0) { + anm_init(i_this, BTD_BCK_UE_KAEN3, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = REG0_S(3) + 0x19; + mDoAud_seStart(JA_SE_CM_BTD_WIND_BEF_FIRE, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m600C[3] = NULL; + } + break; + case 3: + i_this->m602C = 0xc; + i_this->m602E = 3; + if (i_this->m02EC[0] == 0) { + i_this->mKankyoState = 2; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + MTXCopy(iVar5->getModel()->getAnmMtx(0x3a), *calc_mtx); + local_2c.x = 0.0f; + local_2c.y = i_this->m5E80 * -200.0f; + local_2c.z = i_this->m5E80 * 1000.0f; + MtxPosition(&local_2c, &cStack_38); + i_this->m1B98.SetR(i_this->m5E80 * 200.0f); + i_this->m1B98.SetC(cStack_38); + dComIfG_Ccsp()->Set(&i_this->m1B98); + i_this->m5E80 += 0.1f; + if (i_this->m5E80 > 1.0f) { + i_this->m5E80 = 0.0f; + } + } else { + i_this->m5E80 = 0.0f; + } + if (iVar5->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + } + break; + } + if ((apdVar4->current.pos.y < REG0_F(5) + 400.0f) || (kui != 0 && (kui->health != 3))) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + } } /* 000053E4-000058A4 .text yoko_fire_attack__FP9btd_class */ -void yoko_fire_attack(btd_class*) { - /* Nonmatching */ +void yoko_fire_attack(btd_class* i_this) { + bool bVar2; + daPy_py_c* apdVar4; + mDoExt_McaMorf* iVar5; + float fVar8; + cXyz local_2c; + cXyz cStack_38; + + apdVar4 = daPy_getPlayerActorClass(); + iVar5 = get_anm(i_this); + bVar2 = true; + i_this->m5E86 = 1; + switch (i_this->mGohmaState) { + case 0: + anm_init(i_this, BTD_BCK_YOKO_KAEN1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = 0x28; + break; + case 1: + if (iVar5->isStop()) { + anm_init(i_this, BTD_BCK_YOKO_KAEN2, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, -1); + i_this->m02EC[0] = l_HIO.m2C * 7; + i_this->mGohmaState++; + } + break; + case 2: + i_this->mKankyoState = 1; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI_BEF, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m6028[1] = 1; + i_this->m6028[0] = REG0_S(6) + 0x14; + if (i_this->m02EC[0] == 0) { + anm_init(i_this, BTD_BCK_YOKO_KAEN3, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, -1); + i_this->mGohmaState++; + i_this->m02EC[0] = REG0_S(3) + 0x19; + mDoAud_seStart(JA_SE_CM_BTD_WIND_BEF_FIRE, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->m600C[3] = NULL; + } + break; + case 3: + local_2c = apdVar4->eyePos - i_this->eyePos; + fVar8 = std::sqrtf(local_2c.x * local_2c.x + local_2c.z * local_2c.z); + i_this->m5E8C = -cM_atan2s(local_2c.y, fVar8) - 0x9c4; + i_this->m602C = 0xc; + i_this->m602E = 3; + if (i_this->m02EC[0] == 0) { + i_this->mKankyoState = 2; + mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + MTXCopy(iVar5->getModel()->getAnmMtx(0x3a), *calc_mtx); + local_2c.x = 0.0f; + local_2c.y = i_this->m5E80 * -200.0f; + local_2c.z = i_this->m5E80 * 1000.0f; + MtxPosition(&local_2c, &cStack_38); + i_this->m1B98.SetR(i_this->m5E80 * 200.0f); + i_this->m1B98.SetC(cStack_38); + dComIfG_Ccsp()->Set(&i_this->m1B98); + i_this->m5E80 += 0.1f; + if (i_this->m5E80 > REG0_F(9) + 1.0f) { + i_this->m5E80 = 0.0f; + } + } else { + i_this->m5E80 = 0.0f; + } + if (iVar5->isStop()) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + fVar8 = cM_rndF(50.0f); + i_this->m02EC[0] = (s16)(l_HIO.m14 + fVar8); + } + break; + } + if ((apdVar4->current.pos.y < REG0_F(5) + 400.0f) || (kui != 0 && (kui->health == 3))) { + i_this->m02E4 = 0; + i_this->mGohmaState = 0; + fVar8 = cM_rndF(50.0f); + i_this->m02EC[0] = (s16)(l_HIO.m14 + fVar8); + } + i_this->m5E94 = 0x200; } /* 000058A4-00005930 .text attack__FP9btd_class */ -void attack(btd_class*) { - /* Nonmatching */ +void attack(btd_class* i_this) { + i_this->m02F0 = 5; + switch (i_this->mAttackType) { + case 0: + jab_attack(i_this); + break; + case 1: + punch_attack(i_this); + break; + case 2: + fire_attack(i_this); + break; + case 3: + up_fire_attack(i_this); + break; + case 4: + yoko_fire_attack(i_this); + break; + case 5: + punch2_attack(i_this); + break; + } } /* 00005930-00005BCC .text move__FP9btd_class */ -void move(btd_class*) { - /* Nonmatching */ +void move(btd_class* i_this) { + /* Nonmatching - regalloc */ + daPy_py_c* apdVar1; + s16 uVar2; + short target; + s8 bVar5; + short sVar4; + cXyz local_28; + + apdVar1 = daPy_getPlayerActorClass(); + i_this->m5E84 = 0; + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; + bVar5 = false; + switch (i_this->m02E4) { + case 0: + wait(i_this); + break; + case 1: + attack(i_this); + break; + case 2: + bVar5 = damage(i_this); + break; + case 0xA: + startdemo(i_this); + bVar5 = true; + break; + case 0xB: + end(i_this); + bVar5 = true; + break; + } + if (bVar5 != false) { + fopAcM_OffStatus(i_this, 0); + i_this->attention_info.flags = 0; + } + damage_check(i_this); + if (i_this->m5E94 != 0) { + if (((dr2 != NULL) && (dr2->unk_4BA == 0 || (dr2->unk_4BA >= 0xA))) && (dr2->unk_4CA == 0 || (dr2->unk_4CA >= 0x62))) { + sVar4 = i_this->m5E90; + if (sVar4 != 0) { + sVar4 = fopAcM_searchActorAngleY(i_this, daPy_getPlayerActorClass()); + } + cLib_addCalcAngleS2(&i_this->current.angle.y, sVar4, i_this->m5E92, i_this->m5E94); + } + i_this->m5E90 = 0; + i_this->m5E92 = 10; + i_this->m5E94 = 0; + } + if (i_this->m5E86 != 0) { + local_28 = apdVar1->current.pos; + if (local_28.x * local_28.x + local_28.z * local_28.z < 40000.0f) { + target = 0; + sVar4 = 0; + } else { + sVar4 = fopAcM_searchActorAngleY(i_this, daPy_getPlayerActorClass()); + sVar4 = sVar4 - i_this->current.angle.y; + if (sVar4 > 0x1388) { + sVar4 = 5000; + } else if (sVar4 < -5000) { + sVar4 = -5000; + } + local_28 = apdVar1->eyePos - i_this->eyePos; + uVar2 = cM_atan2s(local_28.x, local_28.z) - i_this->current.angle.y; + target = ((short)uVar2 / 2); + if (target > 0x2000) { + target = 0x2000; + } else if (target < -0x2000) { + target = -0x2000; + } + } + } else { + target = 0; + sVar4 = 0; + } + cLib_addCalcAngleS2(&i_this->m5E88, sVar4, 4, 0x200); + cLib_addCalcAngleS2(&i_this->m5E8E, target, 4, 0x200); + cLib_addCalcAngleS2(&i_this->m5E8A, i_this->m5E8C, 4, 0x100); + i_this->m5E86 = 0; + i_this->m5E8C = 0; } /* 00005BCC-00005C24 .text k_a_d_sub__FPvPv */ -void k_a_d_sub(void*, void*) { - /* Nonmatching */ +void* k_a_d_sub(void* i_this, void* param_2) { + if (((fopAc_IsActor(i_this)) && (fopAcM_GetName(i_this) == PROC_KUI)) && (fopAcM_GetParam(i_this) == 0x511)) { + return i_this; + } + return NULL; } /* 00005C24-00005C70 .text dr2_a_d_sub__FPvPv */ -void dr2_a_d_sub(void*, void*) { - /* Nonmatching */ +void* dr2_a_d_sub(void* i_this, void* param_2) { + if ((fopAc_IsActor(i_this)) && (fopAcM_GetName(i_this) == PROC_DR2)) { + return i_this; + } else { + return NULL; + } } /* 00005C70-00005CC8 .text wepon_s_sub__FPvPv */ -void wepon_s_sub(void*, void*) { - /* Nonmatching */ +void* wepon_s_sub(void* i_this, void* param_2) { + if (((fopAc_IsActor(i_this)) && (fopAcM_GetName(i_this) == PROC_HIMO2)) || (fopAcM_GetName(i_this) == PROC_BOOMERANG)) { + return i_this; + } + return NULL; } /* 00005CC8-00005DC4 .text hahen_move__FP9btd_class */ -void hahen_move(btd_class*) { - /* Nonmatching */ +void hahen_move(btd_class* i_this) { + btd_hahen_s* pbVar2 = &i_this->hahen[0]; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->hahen); i++, pbVar2++) { + if (pbVar2->m04 != 0) { + pbVar2->m08 += pbVar2->m14; + pbVar2->m20 += 0x900; + pbVar2->m22 += 0x600; + pbVar2->m14.y -= 3.0f; + MtxTrans(pbVar2->m08.x, pbVar2->m08.y, pbVar2->m08.z, false); + mDoMtx_YrotM(*calc_mtx, pbVar2->m22); + mDoMtx_XrotM(*calc_mtx, pbVar2->m20); + pbVar2->model->setBaseTRMtx(*calc_mtx); + if (pbVar2->m08.y < -100.0f) { + pbVar2->m04 = 0; + } + } + } } /* 00005DC4-000060E0 .text sibuki_move__FP9btd_class */ -void sibuki_move(btd_class*) { - /* Nonmatching */ +void sibuki_move(btd_class* i_this) { + /* Nonmatching - regalloc */ + daPy_py_c* apdVar4 = daPy_getPlayerActorClass(); + btd_sibuki_s* sibuikiS = &i_this->mBtdSibukiS[0]; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->mBtdSibukiS); i++, sibuikiS++) { + if (sibuikiS->m00 == 0) { + continue; + } + if ((char)sibuikiS->m00 <= 2) { + bool bVar2 = false; + if ((i == 0) && (l_HIO.m54 != 0)) { + cLib_addCalc2(&sibuikiS->m04.x, apdVar4->current.pos.x, 1.0f, 30.0f); + cLib_addCalc2(&sibuikiS->m04.y, apdVar4->current.pos.y + 70.0f, 1.0f, 30.0f); + cLib_addCalc2(&sibuikiS->m04.z, apdVar4->current.pos.z, 1.0f, 30.0f); + sibuikiS->m10.y = -10.0f; + } else { + sibuikiS->m10.y = sibuikiS->m10.y - l_HIO.m50; + sibuikiS->m04 += sibuikiS->m10; + } + if (sibuikiS->m10.y < 0.0f) { + if (sibuikiS->m00 == 1) { + i_this->m1CC4[i].StartCAt(sibuikiS->m04); + sibuikiS->m00++; + } else { + i_this->m1CC4[i].MoveCAt(sibuikiS->m04); + } + dComIfG_Ccsp()->Set(&i_this->m1CC4[i]); + if (sibuikiS->m04.y < 0.0f) { + sibuikiS->m04.y = 0.0f; + bVar2 = true; + } + } + if ((bVar2) || (i_this->m1CC4[i].ChkAtHit())) { + cXyz local_38 = apdVar4->current.pos - sibuikiS->m04; + sibuikiS->m00 = 0; + if ((local_38.abs() < 1500.0f) && (i_this->m6E14 < 20)) { + i_this->m6E14++; + dComIfGp_particle_setSimple(dPa_name::ID_SCENE_8064, &sibuikiS->m04, 0xff, g_whiteColor, g_whiteColor, 0); + mDoAud_seStart(JA_SE_OBJ_BTD_FIRE_DROP, &sibuikiS->m04, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + sibuikiS->m00 = 0; + } + } else { + dComIfGp_particle_setSimple(dPa_name::ID_SCENE_8063, &sibuikiS->m04, 0xff, g_whiteColor, g_whiteColor, 0); + } + } else { + sibuikiS->m00++; + if (sibuikiS->m00 == 0x1e) { + sibuikiS->m00 = 0; + } + } + } } /* 000060E0-000072BC .text demo_camera__FP9btd_class */ -void demo_camera(btd_class*) { - /* Nonmatching */ +void demo_camera(btd_class* i_this) { + /* Nonmatching - sVar3, cXyz */ + int iVar1; + float fVar2; + short sVar3; + camera_class* pcVar4; + daPy_py_c* apdVar5; + camera_class* pcVar7; + f32 dVar8; + cXyz local_c8; + cXyz local_bc; + cXyz local_b0; + cXyz local_a4; + cXyz local_44; + cXyz local_38; + + apdVar5 = daPy_getPlayerActorClass(); + pcVar7 = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + i_this->m6E1A = i_this->m6E1A + 1; + i_this->m6E18 = i_this->m6E18 + 1; + sVar3 = i_this->m6E16; + switch (sVar3) { + case 0: + i_this->mKankyoState = 6; + i_this->m6E16++; + i_this->m6E3C = REG0_F(12) + 50.0f; + pcVar7->mCamera.Stop(); + pcVar7->mCamera.SetTrimSize(2); + i_this->m6E1C.x = 282.0f; + i_this->m6E1C.y = 2775.0f; + i_this->m6E1C.z = -582.0f; + i_this->m6E28.x = -1200.0f; + i_this->m6E28.y = 0.0f; + i_this->m6E28.z = 660.0f; + i_this->m6E1A = 0; + i_this->m6E18 = 0; + i_this->m6E40 = 0.0f; + static_center_pos.setall(0.0f); + break; + case 1: + i_this->mKankyoState = 6; + if (i_this->m6E1A > 0x32) { + i_this->m6E1C.y = i_this->m6E1C.y - (REG0_F(6) + 5.0f); + } + local_44.x = -1373.0f; + local_44.y = apdVar5->current.pos.y; + local_44.z = 790.0f; + apdVar5->setPlayerPosAndAngle(&local_44, i_this->current.angle.y + 0x8000); + if (i_this->m6E1A != 0x6f) { + return; + } + i_this->m6E1A = 0; + i_this->m6E16 = 3; + i_this->m6E1C.x = -1728.0f; + i_this->m6E1C.y = 111.0f; + i_this->m6E1C.z = 844.0f; + i_this->m6E28.x = -1397.0f; + i_this->m6E28.y = 110.0f; + i_this->m6E28.z = 685.0f; + break; + case 2: + i_this->mKankyoState = 6; + if (i_this->m6E1A > 0x32) { + cLib_addCalc2(&i_this->m6E28.x, -1536.0f, 0.1f, i_this->m6E40 * 139.0f); + cLib_addCalc2(&i_this->m6E28.y, 411.0f, 0.1f, i_this->m6E40 * 301.0f); + cLib_addCalc2(&i_this->m6E28.z, 752.0f, 0.1f, i_this->m6E40 * 67.0f); + cLib_addCalc2(&i_this->m6E40, 1.0f, 0.1f, 0.005f); + } + if ((i_this->m6E1A < 0xb4) || (REG0_S(6) != 0)) { + i_this->m6E1A = 0; + i_this->m6E16 = 4; + i_this->m6E40 = 0.0f; + i_this->m6E1C.x = -2501.0f; + i_this->m6E1C.y = 418.0f; + i_this->m6E1C.z = -32.0f; + i_this->m6E28.x = -2139.0f; + i_this->m6E28.y = 373.0f; + i_this->m6E28.z = 17.0f; + i_this->m6E3C = 60.0f; + if (i_this->m6E1A >= 0x8C) { + i_this->mKankyoState = 7; + i_this->m6E48 = 20.0f; + mDoAud_seStart(JA_SE_ATM_JINARI); + if (i_this->m6E1A == 0x8c) { + dComIfGp_getVibration().StartQuake(REG0_S(5) + 3, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + } + } + i_this->mKankyoState = 7; + i_this->m6E48 = 15.0f; + mDoAud_seStart(JA_SE_ATM_JINARI); + cLib_addCalc2(&i_this->m6E1C.x, -1763.0f, 0.1f, i_this->m6E40 * 738.0f); + cLib_addCalc2(&i_this->m6E1C.y, 167.0f, 0.1f, i_this->m6E40 * 251.0f); + cLib_addCalc2(&i_this->m6E1C.z, 812.0f, 0.1f, i_this->m6E40 * 844.0f); + cLib_addCalc2(&i_this->m6E28.x, -1430.0f, 0.1f, i_this->m6E40 * 709.0f); + cLib_addCalc2(&i_this->m6E28.y, 123.0f, 0.1f, i_this->m6E40 * 250.0f); + cLib_addCalc2(&i_this->m6E28.z, 663.0f, 0.1f, i_this->m6E40 * 646.0f); + cLib_addCalc2(&i_this->m6E40, REG0_F(10) + 0.01f, 0.1f, 0.001f); + if (i_this->m6E1A > 0x28) { + cLib_addCalc2(&i_this->m6E84, 0.0f, 0.1f, 1.0f); + } + if (i_this->m6E1A == 0x1e) { + mDoAud_seStart(JA_SE_CM_BTD_ENT_BUBBLE, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + } + if (i_this->m6E1A == 0x50) { + wave_set(i_this); + } + if (i_this->m6E1A == 0x91) { + wave_set(i_this); + } + if (i_this->m6E1A == 0x96) { + dComIfGp_getVibration().StartQuake(REG0_S(5) + 4, -0x21, cXyz(0.0f, 1.0f, 0.0f)); + i_this->mGohmaState = 1; + i_this->m6E1A = 0; + i_this->m6E16 = 5; + i_this->m6E40 = 0.0f; + i_this->m6E84 = 0.0f; + mDoAud_seStart(JA_SE_CM_BTD_ENT_BLAST, &static_center_pos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + i_this->mKankyoState = 8; + } + } + break; + case 3: + if (i_this->m6E1A == 10) { + dComIfGp_getVibration().StopQuake(-1); + } + if (i_this->m6E1A == 0x32) { + wave_set(i_this); + } + sVar3 = i_this->m6E1A; + if (sVar3 >= 0xA) { + if (sVar3 < 0xcd) { + cLib_addCalc2(&i_this->m6E28.x, i_this->eyePos.x * 0.3f, 0.2f, i_this->m6E40 * 200.0f); + fVar2 = (i_this->eyePos.y + REG0_F(5) * 0.1f) - 100.0f; + if (fVar2 < REG0_F(6) + 300.0f) { + fVar2 = REG0_F(6) + 300.0f; + } + cLib_addCalc2(&i_this->m6E28.y, fVar2, 0.2f, i_this->m6E40 * 200.0f); + cLib_addCalc2(&i_this->m6E28.z, i_this->eyePos.z * 0.3f, 0.2f, i_this->m6E40 * 200.0f); + } else { + if (sVar3 == 0xcd) { + i_this->m6E40 = 0.0f; + } + cLib_addCalc2(&i_this->m6E1C.x, -1750.0f, 0.2f, i_this->m6E40 * 2000.0f); + cLib_addCalc2(&i_this->m6E1C.y, 50.0f, 0.2f, i_this->m6E40 * 2000.0f); + cLib_addCalc2(&i_this->m6E1C.z, 851.0f, 0.2f, i_this->m6E40 * 2000.0f); + cLib_addCalc2(&i_this->m6E28.x, -299.0f, 0.2f, i_this->m6E40 * 2000.0f); + cLib_addCalc2(&i_this->m6E28.y, 319.0f, 0.2f, i_this->m6E40 * 2000.0f); + cLib_addCalc2(&i_this->m6E28.z, 248.0f, 0.2f, i_this->m6E40 * 2000.0f); + if (i_this->m6E1A >= 0xFF) { + cLib_addCalc2(&i_this->m6E3C, 45.0f, 0.2f, 1.5f); + } + } + cLib_addCalc2(&i_this->m6E40, 1.0f, 0.1f, 0.01f); + } + break; + case 5: + if (!i_this->eventInfo.checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(i_this, dEvtFlag_STAFF_ALL_e, 0xFFFF, 0); + i_this->eventInfo.onCondition(dEvtCnd_UNK2_e); + } else { + i_this->m6E16 = 0x65; + } + i_this->m6E3C = REG0_F(12) + 50.0f; + pcVar4 = dComIfGp_getCamera(0); + i_this->m6E1C.x = (dComIfGp_getCamera(0)->mLookat.mEye).x; + i_this->m6E1C.y = pcVar4->mLookat.mEye.y; + i_this->m6E1C.z = pcVar4->mLookat.mEye.z; + i_this->m6E28 = pcVar4->mLookat.mCenter; + pcVar7->mCamera.Stop(); + pcVar7->mCamera.SetTrimSize(2); + break; + case 100: + apdVar5->setPlayerPosAndAngle(&apdVar5->current.pos, i_this->current.angle.y + 0x8000); + cLib_addCalc2(&i_this->m6E3C, REG0_F(4) + 50.0f, 0.5f, 3.0f); + cLib_addCalc2(&i_this->m6E28.x, i_this->eyePos.x * 0.3f, 0.2f, 200.0f); + fVar2 = (i_this->eyePos.y + REG0_F(5) * 0.1f) - 500.0f; + if (fVar2 < REG0_F(6) + 500.0f) { + fVar2 = REG0_F(6) + 500.0f; + } + cLib_addCalc2(&i_this->m6E28.y, fVar2, 0.2f, 200.0f); + cLib_addCalc2(&i_this->m6E28.z, i_this->eyePos.z * 0.3f, 0.2f, 200.0f); + mDoMtx_YrotS(*calc_mtx, i_this->current.angle.y); + local_38.x = REG0_F(7) * 0.1f + -500.0f; + local_38.y = REG0_F(8) * 0.1f + 70.0f; + local_38.z = REG0_F(9) * 0.1f + 2000.0f; + MtxPosition(&local_38, &local_44); + cLib_addCalc2(&i_this->m6E1C.x, local_44.x, 0.1f, 50.0f); + cLib_addCalc2(&i_this->m6E1C.y, local_44.y, 0.1f, 50.0f); + cLib_addCalc2(&i_this->m6E1C.z, local_44.z, 0.1f, 50.0f); + if (i_this->m6E1A >= 0x140) { + i_this->mKankyoState = 3; + } + break; + case 101: + if (i_this->m6E1A < 0x3c) { + i_this->mKankyoState = 4; + } + if (i_this->m6E1A == 0x5a) { + i_this->m6E15 = 1; + } + if (i_this->m6E1A > (short)(REG0_S(2) + 0x5a)) { + cLib_addCalc2(&i_this->m6E28.x, i_this->eyePos.x, i_this->m6E40 * 0.2f, i_this->m6E40 * 200.0f); + cLib_addCalc2(&i_this->m6E28.y, i_this->eyePos.y + REG0_F(5) * 0.1f, i_this->m6E40 * 0.5f, i_this->m6E40 * 500.0f); + cLib_addCalc2(&i_this->m6E28.z, i_this->eyePos.z, i_this->m6E40 * 0.2f, i_this->m6E40 * 200.0f); + cLib_addCalc2(&i_this->m6E40, 1.0f, 1.0f, 0.1f); + } + mDoMtx_YrotS(*calc_mtx, i_this->current.angle.y); + local_38.x = REG0_F(7) * 0.1f + -500.0f; + local_38.y = REG0_F(8) * 0.1f + 70.0f; + local_38.z = REG0_F(9) * 0.1f + 2000.0f; + MtxPosition(&local_38, &local_44); + cLib_addCalc2(&i_this->m6E1C.x, local_44.x, 0.1f, 50.0f); + cLib_addCalc2(&i_this->m6E1C.y, local_44.y, 0.1f, 50.0f); + cLib_addCalc2(&i_this->m6E1C.z, local_44.z, 0.1f, 50.0f); + local_38.x = REG0_F(10) * 0.1f + -250.0f; + local_38.y = REG0_F(11) * 0.1f + 100.0f; + local_38.z = REG0_F(12) * 0.1f + 1600.0f; + MtxPosition(&local_38, &i_this->m6E5C); + if (i_this->m6E1A > 0x6e) { + local_38.x = REG0_F(10) * 0.1f + -50.0f; + local_38.y = 0.0f; + local_38.z = REG0_F(12) * 0.1f + 1650.0f; + MtxPosition(&local_38, &apdVar5->current.pos); + apdVar5->setPlayerPosAndAngle(&apdVar5->current.pos, i_this->current.angle.y + -0x4000); + } + break; + case 0x66: + i_this->m6E16 = sVar3 + 1; + i_this->m6E1A = 0; + i_this->m6E40 = 0.0f; + i_this->m6E28.x = 0.0f; + i_this->m6E28.y = 0.0f; + i_this->m6E28.z = 0.0f; + i_this->m6E3C = 55.0f; + i_this->m6E36 = -6000; + i_this->m6E34 = -11000; + i_this->m6E44 = 2800.0f; + break; + case 0x67: + cLib_addCalcAngleS2(&i_this->m6E36, 0x4000, 0x10, i_this->m6E40 * 22384.0f); + cLib_addCalcAngleS2(&i_this->m6E34, REG0_S(2) + -6000, 0x10, i_this->m6E40 * 5000.0f); + cLib_addCalc2(&i_this->m6E44, 500.0f, 0.0625f, i_this->m6E40 * 2300.0f); + mDoMtx_YrotS(*calc_mtx, i_this->m6E36); + mDoMtx_XrotM(*calc_mtx, i_this->m6E34); + local_38.x = 0.0f; + local_38.y = 0.0f; + local_38.z = i_this->m6E44; + MtxPosition(&local_38, &i_this->m6E1C); + cLib_addCalc2(&i_this->m6E40, REG0_F(10) + 0.0048f, 0.1f, 4.8e-05f); + if (i_this->m6E1A == 3) { + mDoAud_seStart(JA_SE_ATM_MAGMA_CHILL, &i_this->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); + daYkgr_c::stop(); + } + if (i_this->m6E1A >= 3) { + i_this->mKankyoState = 5; + } + if (i_this->m6E1A == 0x118) { + static_center_pos.set(0.0f, -50.0f, 0.0f); + g_dComIfG_gameInfo.save.getMemory().getBit().onStageBossEnemy(); + fopAcM_createWarpFlower(&static_center_pos, 0, fopAcM_GetRoomNo(i_this), 0); + i_this->m6E90 = 0; + } + if (i_this->m6E1A == 0x1c2) { + i_this->m6E16 = 0x97; + i_this->mGohmaState = 0x39; + } + break; + case 0x68: + pcVar7->mCamera.Reset(i_this->m6E28, i_this->m6E1C); + break; + case 0x96: + local_a4 = apdVar5->eyePos; + local_b0.x = local_a4.x * 0.9f; + local_b0.z = local_a4.z * 0.9f; + pcVar7->mCamera.Reset(local_a4, local_b0); + break; + case 0x97: + i_this->m6E16 = 0; + pcVar7->mCamera.Start(); + pcVar7->mCamera.SetTrimSize(0); + dComIfGp_event_onEventFlag(8); + fopAcM_OffStatus(i_this, fopAcStts_UNK4000_e); + break; + } + if (i_this->m6E16 != 0) { + local_c8.x = i_this->m6E1C.x + i_this->m6E48 * cM_ssin(i_this->m6E1A * 0x3300 & 0xffffU); + local_c8.y = i_this->m6E1C.y + i_this->m6E48 * cM_scos(i_this->m6E1A * 0x3000 & 0xffffU); + local_c8.z = i_this->m6E1C.z; + local_bc.x = i_this->m6E28.x + i_this->m6E48 * cM_ssin(i_this->m6E1A * 0x3300 & 0xffffU); + dVar8 = local_bc.x; + local_bc.y = i_this->m6E28.y + i_this->m6E48 * cM_scos(i_this->m6E1A * 0x3000 & 0xffffU); + local_bc.z = i_this->m6E28.z; + iVar1 = (i_this->m6E48 * cM_scos(i_this->m02E2 * 0x1c00 & 0xffffU) * 7.5f); + pcVar7->mCamera.Set(local_bc, local_c8, (short)iVar1, i_this->m6E3C); + cLib_addCalc0(&i_this->m6E48, (REG0_F(16) + 2.0f), dVar8); + JUTReport(30, 430, "K MAIN COUNT %d", i_this->m6E18); + JUTReport(410, 430, "K SUB COUNT %d", i_this->m6E1A); + if (i_this->m6E16 < 100) { + if (i_this->m6E18 == 2) { + apdVar5->changeOriginalDemo(); + } + if (i_this->m6E18 == 0x73) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_LOOKUP_e); + } + if (i_this->m6E18 == 0x136) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_UNK_028_e); + } + if (i_this->m6E18 == 0x1c4) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_SURPRISED_e); + } + if (i_this->m6E18 == 0x1d1) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_A_WAIT_e); + apdVar5->changeDemoParam0(2); + } + if (i_this->m6E18 == 0x294) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_UNK_027_e); + } + if (i_this->m6E18 == REG0_S(3) + 0x2dd) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_A_WAIT_e); + apdVar5->changeDemoParam0(2); + } + } else { + if (i_this->m6E18 == 2) { + apdVar5->changeOriginalDemo(); + } + if (i_this->m6E18 == 10) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_A_WAIT_e); + apdVar5->changeDemoParam0(2); + } + if (i_this->m6E18 == REG0_S(2) + 0x2b5) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_SMILE_e); + } + if (i_this->m6E18 == REG0_S(2) + 0x2c1) { + apdVar5->changeDemoMode(daPy_demo_c::DEMO_UNK_029_e); + } + } + } } +static f32 at_size[] = { + 100.0f, 100.0f, 250.0f, 300.0f, 300.0f, 300.0f, 300.0f, 100.0f, 250.0f, 100.0f, 250.0f, 150.0f, 150.0f, 150.0f, 150.0f, 150.0f, 150.0f, 150.0f, 150.0f +}; + /* 000072BC-00007608 .text btd_effect__FP9btd_class */ -void btd_effect(btd_class*) { - /* Nonmatching */ +void btd_effect(btd_class* i_this) { + static s32 eff_index[] = {0x43, 0x47, 0x20, 0x2D, 0x34}; + static u16 eff_name[] = {dPa_name::ID_SCENE_80A1, dPa_name::ID_SCENE_80A1, dPa_name::ID_SCENE_80A2, dPa_name::ID_SCENE_80A3, dPa_name::ID_SCENE_80A4}; + static u16 effF_name[] = { + dPa_name::ID_SCENE_80A6, + dPa_name::ID_SCENE_80A7, + dPa_name::ID_SCENE_80A0, + dPa_name::ID_SCENE_809F, + dPa_name::ID_SCENE_80B1, + dPa_name::ID_SCENE_80B3, + dPa_name::ID_SCENE_A0B5 + }; + static u16 effF_nameR[] = { + dPa_name::ID_SCENE_80A6, + dPa_name::ID_SCENE_80A7, + dPa_name::ID_SCENE_80A0, + dPa_name::ID_SCENE_809F, + dPa_name::ID_SCENE_80B0, + dPa_name::ID_SCENE_80B2, + dPa_name::ID_SCENE_A0B4 + }; + mDoExt_McaMorf* iVar2; + JPABaseEmitter* iVar4; + u16 userID; + + iVar2 = get_anm(i_this); + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m5FF8); i++) + if (i_this->m5FF8[i] != 0) { + MTXCopy(iVar2->getModel()->getAnmMtx(eff_index[i]), *calc_mtx); + if (i_this->m02E0 >= 2) { + MtxTrans(0.0f, -10000.0f, 0.0f, false); + } + iVar4 = i_this->m5FF8[i]; + iVar4->setGlobalRTMatrix(*calc_mtx); + } else { + iVar4 = dComIfGp_particle_set(eff_name[i], &i_this->current.pos); + i_this->m5FF8[i] = iVar4; + } + for (s32 i = 0, j = 0; i < (s32)ARRAY_SIZE(i_this->m600C); i++, j++) { + if (i_this->m6028[j] != 0) { + i_this->m6028[j]--; + iVar4 = i_this->m600C[i]; + if (iVar4 != NULL) { + if (i >= 4) { + if (i_this->m02EA != 0) { + iVar4->setGlobalRTMatrix(iVar2->getModel()->getAnmMtx(0x48)); + } else { + iVar4->setGlobalRTMatrix(iVar2->getModel()->getAnmMtx(0x44)); + } + } else { + iVar4->setGlobalRTMatrix(iVar2->getModel()->getAnmMtx(0x3a)); + } + } else if (i == 6) { + userID = dPa_name::ID_SCENE_A0B5; + if (i_this->m02EA != 0) { + userID = dPa_name::ID_SCENE_A0B4; + } + iVar4 = dComIfGp_particle_setToon( + (s16)userID, &i_this->current.pos, NULL, NULL, 0xB9, &i_this->mPa_SmokeEcallBack[2], (u8)fopAcM_GetRoomNo(i_this) + ); + i_this->m600C[i] = iVar4; + } else { + if (i_this->m02EA != 0) { + iVar4 = dComIfGp_particle_set(effF_nameR[j], &i_this->current.pos); + i_this->m600C[i] = iVar4; + } else { + iVar4 = dComIfGp_particle_set(effF_name[j], &i_this->current.pos); + i_this->m600C[i] = iVar4; + } + if (i == 5) { + iVar4 = i_this->m600C[i]; + iVar4->becomeImmortalEmitter(); + } + } + } else { + iVar4 = i_this->m600C[i]; + if (i_this->m600C[i] != NULL) { + if ((i != 3) && (i != 6)) { + if (i == 5) { + i_this->m600C[i]->quitImmortalEmitter(); + } + iVar4 = i_this->m600C[i]; + iVar4->mMaxFrame = -1; + iVar4->stopCreateParticle(); + } + i_this->m600C[i] = 0; + } + } + } } /* 00007608-00007950 .text btd_kankyo__FP9btd_class */ -void btd_kankyo(btd_class*) { - /* Nonmatching */ +void btd_kankyo(btd_class* i_this) { + u8 uVar1; + u8 uVar2; + + uVar2 = 0; + if (i_this->mKankyoTimer != 0) { + i_this->mKankyoTimer--; + i_this->mKankyoState = 2; + } + dKy_custom_timeset(l_HIO.m30); + uVar1 = i_this->mKankyoState; + if (uVar1 == 0) { + cLib_addCalc0(&i_this->m60D0, 1.0f, 0.04f); + } else if (uVar1 == 1) { + cLib_addCalc2(&i_this->m60D4, 1.0f, 1.0f, 0.065f); + i_this->m60D8 = (u8)l_HIO.m3C; + i_this->m60D9 = (u8)l_HIO.m3E; + i_this->m60DA = (u8)l_HIO.m40; + } else if (uVar1 == 2) { + cLib_addCalc2(&i_this->m60D0, 1.0f, 1.0f, 0.2f); + cLib_addCalc2(&i_this->m60D4, 1.0f, 1.0f, 0.22500001f); + dKy_custom_timeset(l_HIO.m34); + i_this->m60D8 = (u8)l_HIO.m42; + i_this->m60D9 = (u8)l_HIO.m44; + i_this->m60DA = (u8)l_HIO.m46; + } else if (uVar1 == 3) { + cLib_addCalc2(&i_this->m60D0, 0.6f, 1.0f, 0.01f); + } else if (uVar1 == 4) { + cLib_addCalc2(&i_this->m60D0, 1.0, 1.0f, 0.2f); + } else if (uVar1 == 5) { + cLib_addCalc2(&i_this->m60D0, 1.0f, 1.0f, 0.005f); + uVar2 = 1; + } else if (uVar1 == 6) { + i_this->m60D0 = 0.0f; + uVar2 = 2; + } else if (uVar1 == 7) { + cLib_addCalc2(&i_this->m60D0, 1.0f, 1.0f, 0.03333f); + uVar2 = 2; + dKy_custom_timeset(l_HIO.m38); + } else if (uVar1 == 8) { + cLib_addCalc0(&i_this->m60D0, 1.0f, 0.06666f); + uVar2 = 3; + } + i_this->m60B0.mColor.r = (u8)(i_this->m60D8 * i_this->m60D4); + i_this->m60B0.mColor.g = (u8)(i_this->m60D9 * i_this->m60D4); + i_this->m60B0.mColor.b = (u8)(i_this->m60DA * i_this->m60D4); + i_this->m60B0.mPower = (REG0_F(8) + 5000.0f) * i_this->m60D4; + i_this->m60B0.mFluctuation = REG0_F(9); + switch (uVar2) { + case 0: { + dKy_custom_colset(0, 3, i_this->m60D0); + break; + } + case 1: { + dKy_custom_colset(0, 5, i_this->m60D0); + break; + } + case 2: { + dKy_custom_colset(6, 7, i_this->m60D0); + break; + } + case 3: { + dKy_custom_colset(0, 7, i_this->m60D0); + break; + } + } + i_this->mKankyoState = 0; + cLib_addCalc0(&i_this->m60D4, 1.0f, 0.025f); } /* 00007950-000081B8 .text daBtd_Execute__FP9btd_class */ -static BOOL daBtd_Execute(btd_class*) { - /* Nonmatching */ +static BOOL daBtd_Execute(btd_class* i_this) { + /* Nonmatching - cXyz, last for loop */ + static f32 hand_co_pos_X[] = {630.0f, 750.0f, 700.0f, -630.0f, -750.0f, -700.0f}; + static f32 hand_co_pos_Y[] = {0.0f, 100.0f, 0.0f, 0.0f, 100.0f, 0.0f}; + static f32 hand_co_pos_Z[] = {1680.0f, 1600.0f, 1320.0f, 1680.0f, 1600.0f, 1320.0f}; + static f32 hand_co_size_H[] = {250.0f, 200.0f, 200.0f, 250.0f, 200.0f, 200.0f}; + static f32 hand_co_size_R[] = {30.0f, 170.0f, 180.0f, 30.0f, 170.0f, 180.0f}; + u8 uVar1; + daPy_py_c* apdVar3; + short sVar4; + mDoExt_McaMorf* this_02; + fopAc_ac_c* pvVar6; + cM3dGSph* this_03; + cXyz* pDst; + cM3dGCyl* this_04; + J3DModel* pJVar9; + f32 dVar11; + float fVar12; + cXyz local_78; + cXyz local_6c; + cXyz local_60; + + apdVar3 = daPy_getPlayerActorClass(); + if (dComIfGp_getStartStageName()[0] == 'X') { + i_this->m6E15 = 0x32; + } + if (i_this->m6E90 != 0) { + dCam_getBody()->SetTypeForce("Boss01", NULL); + } + i_this->m6E88 = 1; + i_this->floor->getPos().y = i_this->m6E80; + i_this->m6E7C += REG0_F(15) + 30.0f; + if (i_this->m6E7C > REG0_F(18) + 2300.0f) { + i_this->m6E7C = REG0_F(18) + 2300.0f; + } + mDoExt_baseAnm* btk = get_btk(i_this); + mDoExt_baseAnm* brk = get_brk(i_this); + if (kui == NULL) { + kui = (kui_class*)fpcM_Search(k_a_d_sub, i_this); + } + if (dr2 == NULL) { + dr2 = (dr2_class*)fpcM_Search(dr2_a_d_sub, i_this); + } + i_this->attention_info.distances[2] = 4; + i_this->m02E2 = i_this->m02E2 + 1; + for (int i = 0; i < 4; i++) { + if (i_this->m02EC[i] != 0) { + i_this->m02EC[i]--; + } + } + if (i_this->mActionState != 0) { + i_this->mActionState--; + } + move(i_this); + fVar12 = l_HIO.m08; + i_this->scale.z = l_HIO.m08; + i_this->scale.y = fVar12; + i_this->scale.x = fVar12; + this_02 = get_anm(i_this); + pJVar9 = this_02->getModel(); + pJVar9->setBaseScale(i_this->scale); + mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z); + mDoMtx_stack_c::YrotM(i_this->current.angle.y); + mDoMtx_stack_c::XrotM(i_this->current.angle.x); + mDoMtx_stack_c::ZrotM(i_this->current.angle.z); + pJVar9->setBaseTRMtx(mDoMtx_stack_c::now); + if (l_HIO.m05 == 0) { + this_02->play(&i_this->eyePos, 0, 0); + } + this_02->calc(); + fVar12 = 1.0f; + if (i_this->m02E0 != 0) { + fVar12 = 0.6f; + } + dVar11 = fVar12; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m0428); i++) { + if (((i_this->m02E0 != 0) && (i != 8)) && (i != 10)) { + i_this->m0428[i].OffTgShield(); + } + this_03 = &i_this->m0428[i]; + this_03->SetR(dVar11 * at_size[i]); + if (i_this->m6E4C != 0) { + local_60.x = 0.0f; + local_60.y = -20000.0f; + local_60.z = 0.0f; + this_03->SetC(local_60); + } else { + this_03->SetC(i_this->m02FC[i]); + } + if ((i == 8) || (i == 10)) { + if ((i_this->m5E84 == 1) || (i_this->m5E84 == 2)) { + i_this->m0428[i].OnAtSetBit(); + if (i_this->m5E84 == 2) { + i_this->m0428[i].SetAtAtp(2); + } else { + i_this->m0428[i].SetAtAtp(1); + } + } else { + i_this->m0428[i].OffAtSetBit(); + } + i_this->m0428[i].OffCoSetBit(); + i_this->m0428[i].OffTgSetBit(); + } else { + if ((i < 2) && (i_this->m5E84 == 3)) { + i_this->m0428[i].OnAtSetBit(); + } else { + i_this->m0428[i].OffAtSetBit(); + } + if ((i < 2) && (i_this->m02E0 == 0)) { + i_this->m0428[i].OffCoSetBit(); + i_this->m0428[i].OffTgSetBit(); + } + } + dComIfG_Ccsp()->Set(&i_this->m0428[i]); + } + sVar4 = 0; + dVar11 = 1.0f; + if (i_this->m5E7C == 2) { + sVar4 = -(REG0_S(5) + 0x1068); + dVar11 = (REG0_F(10) + 0.95f); + } else if (i_this->m5E7C == 3) { + sVar4 = REG0_S(5) + 0x1068; + dVar11 = (REG0_F(10) + 0.95f); + } + local_78.x = 0.0f; + local_78.y = -10000.0f; + local_78.z = 0.0f; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m575C); i++) { + i_this->m575C[i].SetC(local_78); + } + mDoMtx_YrotS(*calc_mtx, (short)(i_this->current.angle.y + sVar4)); + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m575C); i++) { + uVar1 = i_this->m5E7C; + if ((uVar1 != 0) && ((uVar1 == 1 || (uVar1 == 2 && (i <= 2))) || (uVar1 == 3 && (i >= 3)))) { + local_6c.x = hand_co_pos_X[i]; + local_6c.y = hand_co_pos_Y[i]; + local_6c.z = (float)(dVar11 * hand_co_pos_Z[i]); + pDst = &i_this->m5E98[i]; + MtxPosition(&local_6c, pDst); + i_this->m5E98[i] += i_this->current.pos; + this_04 = &i_this->m575C[i]; + this_04->SetC(*pDst); + this_04->SetH(hand_co_size_H[i]); + this_04->SetR(hand_co_size_R[i]); + } + dComIfG_Ccsp()->Set(&i_this->m575C[i]); + } + i_this->m5E7C = 0; + pvVar6 = (fopAc_ac_c*)fpcM_Search(wepon_s_sub, i_this); + if ((pvVar6 != NULL) && (pvVar6->speedF > 10.0f)) { + local_6c = pvVar6->current.pos - i_this->eyePos; + if (local_6c.abs() < 400.0f) { + i_this->m02F8 = 0x14; + } + } + local_6c = apdVar3->eyePos - i_this->eyePos; + if (apdVar3->mCutType != 0) { + fVar12 = local_6c.abs(); + if (fVar12 < 400.0f) { + i_this->m02F8 = 0x14; + } + } + if ((i_this->m02F8 != 0) && (i_this->m02E0 == 0)) { + i_this->m02F8--; + cLib_addCalcAngleS2(&i_this->m02FA, 13000, 1, 0x1000); + } else { + cLib_addCalcAngleS2(&i_this->m02FA, 0, 4, 0x400); + } + if (i_this->m02F0 == 0) { + i_this->m02F0 = cM_rndF(150.0f) + 100.0f; + i_this->m02F8 = 0x14; + } + if (i_this->m02E0 != 0) { + i_this->m1A6C.OffTgShield(); + } + i_this->m1A6C.SetR(REG0_F(5) + 80.0f); + i_this->m1A6C.SetC(i_this->m03E0); + dComIfG_Ccsp()->Set(&i_this->m1A6C); + btk->play(); + brk->play(); + g_env_light.settingTevStruct(TEV_TYPE_BG0, &i_this->eyePos, &i_this->m60E0); + hahen_move(i_this); + sibuki_move(i_this); + demo_camera(i_this); + btd_effect(i_this); + btd_kankyo(i_this); + return TRUE; } /* 000081B8-000081C0 .text daBtd_IsDelete__FP9btd_class */ @@ -211,18 +2543,168 @@ static BOOL daBtd_IsDelete(btd_class*) { } /* 000081C0-00008304 .text daBtd_Delete__FP9btd_class */ -static BOOL daBtd_Delete(btd_class*) { - /* Nonmatching */ +static BOOL daBtd_Delete(btd_class* i_this) { + dComIfG_resDelete(&i_this->m02AC, "Btd"); + dComIfG_resDelete(&i_this->m02B4, "Magma"); + mDoHIO_deleteChild(l_HIO.mNo); + // !@bug: this for loop only iterates through the first 19 elements of the array. + for (int i = 0; i < 19; i++) { + mDoAud_seDeleteObject(&i_this->m5E98[i]); + } + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->mBtdSibukiS); i++) { + mDoAud_seDeleteObject(&i_this->mBtdSibukiS[i].m04); + } + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m02FC); i++) { + mDoAud_seDeleteObject(&i_this->m02FC[i]); + } + if (dr2 != NULL) { + mDoAud_seDeleteObject(&dr2->unk_4A8); + } + mDoAud_seDeleteObject(&static_center_pos); + dKy_efplight_cut(&i_this->m60B0); + return TRUE; } /* 00008304-00008D30 .text useHeapInit__FP10fopAc_ac_c */ -static BOOL useHeapInit(fopAc_ac_c*) { - /* Nonmatching */ +static BOOL useHeapInit(fopAc_ac_c* a_this) { + J3DModelData* modelDataA; + J3DAnmTextureSRTKey* pJVar10; + int iVar11; + J3DAnmTevRegKey* pJVar13; + J3DModelData* modelDataB; + J3DModel* pJVar15; + f32 dVar18; + + btd_class* i_this = (btd_class*)a_this; + i_this->m02BC = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("Btd", BTD_BMD_BTD), + NULL, + NULL, + (J3DAnmTransformKey*)dComIfG_getObjectRes("Btd", BTD_BCK_WAIT1), + J3DFrameCtrl::EMode_LOOP, + 1.0f, + 0, + -1, + 0, + NULL, + 0, + 0x11020203 + ); + if ((i_this->m02BC == NULL) || (i_this->m02BC->getModel() == NULL)) { + return FALSE; + } + for (u16 uVar16 = 0; uVar16 < i_this->m02BC->getModel()->getModelData()->getJointNum(); uVar16++) { + if (joint_check[uVar16] >= 0) { + i_this->m02BC->getModel()->getModelData()->getJointNodePointer(uVar16)->setCallBack(nodeCallBack); + } + } + i_this->m02BC->getModel()->setUserArea((u32)i_this); + pJVar15 = i_this->m02BC->getModel(); + i_this->btk = new mDoExt_btkAnm(); + JUT_ASSERT(5370, i_this->btk); + pJVar10 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_BTD); + iVar11 = i_this->btk->init(pJVar15->getModelData(), pJVar10, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + i_this->brk = new mDoExt_brkAnm(); + JUT_ASSERT(5390, i_this->brk); + pJVar13 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_BTD); + iVar11 = i_this->brk->init(pJVar15->getModelData(), pJVar13, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + i_this->m02C8 = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("Btd", BTD_BMD_SOTAI), + NULL, + NULL, + (J3DAnmTransformKey*)dComIfG_getObjectRes("Btd", BTD_BCK_WAIT1), + J3DFrameCtrl::EMode_LOOP, + 1.0f, + 0, + -1, + 0, + NULL, + 0, + 0x11020203 + ); + if ((i_this->m02C8 == NULL) || (i_this->m02C8->getModel() == NULL)) { + return FALSE; + } + for (u16 uVar16 = 0; uVar16 < i_this->m02C8->getModel()->getModelData()->getJointNum(); uVar16++) { + if (joint_check[uVar16] >= 0) { + i_this->m02C8->getModel()->getModelData()->getJointNodePointer(uVar16)->setCallBack(nodeCallBack); + } + } + i_this->m02C8->getModel()->setUserArea((u32)i_this); + pJVar15 = i_this->m02C8->getModel(); + i_this->btkS = new mDoExt_btkAnm(); + JUT_ASSERT(5432, i_this->btkS); + pJVar10 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_DEADA); + iVar11 = i_this->btkS->init(pJVar15->getModelData(), pJVar10, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + pJVar10 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_SOTAI); + i_this->btkS->init(pJVar15->getModelData(), pJVar10, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, true, 0); + i_this->brkS = new mDoExt_brkAnm(); + JUT_ASSERT(5463, i_this->brkS); + pJVar13 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_DEADA); + iVar11 = i_this->brkS->init(pJVar15->getModelData(), pJVar13, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + pJVar13 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_SOTAI); + i_this->brkS->init(pJVar15->getModelData(), pJVar13, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, true, 0); + i_this->m02D4 = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("Btd", BTD_BMD_NAMAKUBI), NULL, NULL, NULL, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, 0, NULL, 0, 0x11020203 + ); + if ((i_this->m02D4 == NULL) || (pJVar15 = i_this->m02D4->getModel(), pJVar15 == NULL)) { + return FALSE; + } + i_this->m02D8 = new mDoExt_btkAnm(); + if (i_this->m02D8 == NULL) { + return FALSE; + } + pJVar10 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Btd", BTD_BTK_NAMAKUBI); + iVar11 = i_this->m02D8->init(pJVar15->getModelData(), pJVar10, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + i_this->m02DC = new mDoExt_brkAnm(); + if (i_this->m02DC == NULL) { + return FALSE; + } + pJVar13 = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Btd", BTD_BRK_NAMAKUBI); + iVar11 = i_this->m02DC->init(pJVar15->getModelData(), pJVar13, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, 0); + if (iVar11 == 0) { + return FALSE; + } + modelDataA = (J3DModelData*)dComIfG_getObjectRes("Btd", BTD_BMD_HAHENA); + modelDataB = (J3DModelData*)dComIfG_getObjectRes("Btd", BTD_BMD_KAMENA); + JUT_ASSERT(5544, modelDataA && modelDataB); + dVar18 = 1.0f; + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->hahen); i++) { + if (i < 5) { + pJVar15 = mDoExt_J3DModel__create(modelDataB, 0, 0x11020203); + i_this->hahen[i].model = pJVar15; + } else { + pJVar15 = mDoExt_J3DModel__create(modelDataA, 0, 0x11020203); + i_this->hahen[i].model = pJVar15; + } + JUT_ASSERT(5594, i_this->hahen[i].model); + cXyz vec; + vec.x = dVar18 + cM_rndF(0.5f); + vec.y = dVar18 + cM_rndF(0.5f); + vec.z = dVar18 + cM_rndF(0.5f); + i_this->hahen[i].model->setBaseScale(vec); + } + return TRUE; } /* 00008D78-000091D0 .text daBtd_Create__FP10fopAc_ac_c */ -static cPhs_State daBtd_Create(fopAc_ac_c*) { - /* Nonmatching */ +static cPhs_State daBtd_Create(fopAc_ac_c* a_this) { + /* Nonmatching - "mr r27, r3" instruction in wrong place */ static dCcD_SrcSph at_sph_src = { // dCcD_SrcGObjInf { @@ -364,6 +2846,89 @@ static cPhs_State daBtd_Create(fopAc_ac_c*) { /* Height */ 0.0f, }}, }; + + cPhs_State res; + + btd_class* i_this = (btd_class*)a_this; + fopAcM_SetupActor(i_this, btd_class); + res = dComIfG_resLoad(&i_this->m02AC, "Btd"); + if (res != cPhs_COMPLEATE_e) { + return res; + } else { + res = dComIfG_resLoad(&i_this->m02B4, "Magma"); + if (res != cPhs_COMPLEATE_e) { + return res; + } else { + dr2 = NULL; + kui = NULL; + i_this->mPa_SmokeEcallBack[0].setFollowOff(); + i_this->mPa_SmokeEcallBack[1].setFollowOff(); + i_this->mPa_SmokeEcallBack[2].setFollowOff(); + if ((dComIfGs_isStageBossEnemy()) && (dComIfGp_getStartStageName()[0] != 'X')) { + res = cPhs_ERROR_e; + } else { + if (!fopAcM_entrySolidHeap(i_this, useHeapInit, 0x5B8C0)) { + res = cPhs_ERROR_e; + } else { + i_this->attention_info.flags = fopAc_Attn_LOCKON_BATTLE_e; + l_HIO.mNo = mDoHIO_createChild("ボスゴーマ", &l_HIO); // Boss Goma + i_this->m03EC.Init(0xff, 0xff, i_this); + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m0428); i++) { + i_this->m0428[i].Set(at_sph_src); + i_this->m0428[i].SetStts(&i_this->m03EC); + } + i_this->m1A6C.SetStts(&i_this->m03EC); + i_this->m1A6C.Set(eye_sph_src); + i_this->m1B98.SetStts(&i_this->m03EC); + i_this->m1B98.Set(fire_sph_src); + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m1CC4); i++) { + i_this->m1CC4[i].Set(sibuki_sph_src); + i_this->m1CC4[i].SetStts(&i_this->m03EC); + } + for (s32 i = 0; i < (s32)ARRAY_SIZE(i_this->m575C); i++) { + i_this->m575C[i].Set(hand_cyl_src); + i_this->m575C[i].SetStts(&i_this->m03EC); + } + i_this->m02EC[0] = (s16)(l_HIO.m14 + cM_rndF(50.0f)); + dKy_efplight_set(&i_this->m60B0); + i_this->health = 10; + i_this->max_health = 10; + if ((g_dComIfG_gameInfo.save.getMemory().getBit().isStageBossDemo()) || (dComIfGp_getStartStageName()[0] == 'X')) { + dComIfGs_offTmpBit(0x480); + i_this->m6E80 = -50.0f; + i_this->m6E84 = 0.0f; + if (dComIfGp_getStartStageName()[0] == 'X') { + mDoAud_bgmStart(JA_BGM_PAST_GOMA); + } else { + mDoAud_bgmStart(JA_BGM_GOMA); + } + i_this->m02EC[0] = (s16)((cM_rndF(50.0f) + 70.0f) + 100.0f); + fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e | fopAcStts_UNK4000_e); + } else { + i_this->m02E4 = 10; + i_this->m6E80 = -50.0f; + i_this->m6E84 = -30.0f; + i_this->m02EC[0] = REG0_S(4) + 0x96; + i_this->m6E7C = REG0_F(18) + 2300.0f; + fopAcM_OnStatus(i_this, fopAcStts_SHOWMAP_e | fopAcStts_UNK4000_e); + } + i_this->m6E90 = 1; + if (dComIfGp_createMagma()) { + cXyz local_48; + local_48.x = 0.0f; + local_48.y = -300.0f; + local_48.z = 0.0f; + i_this->floor = dComIfGp_getMagma()->newFloor(local_48, i_this->scale, fopAcM_GetRoomNo(i_this), -0xFA); + JUT_ASSERT(6096, i_this->floor != NULL); + } + fopAcM_create(PROC_Ykgr, 0x10FF00, &i_this->current.pos); + dKy_custom_timeset(l_HIO.m30); + res = cPhs_COMPLEATE_e; + } + } + } + } + return res; } static actor_method_class l_daBtd_Method = { diff --git a/src/d/actor/d_a_dr2.cpp b/src/d/actor/d_a_dr2.cpp index 8e83602d7..dfb4ead9c 100644 --- a/src/d/actor/d_a_dr2.cpp +++ b/src/d/actor/d_a_dr2.cpp @@ -293,12 +293,12 @@ void iwa_move(dr2_class* i_this) { i_this->unk_4A8.y += a_this->speed.y; a_this->speed.y -= REG0_F(2) + 10.0f; - f32 fVar11 = btd->field_0x320.y + REG0_F(3); + f32 fVar11 = btd->m02FC[3].y + REG0_F(3); if (i_this->unk_4A8.y < fVar11) { i_this->unk_4A8.y = fVar11; i_this->unk_4BA = 2; i_this->unk_400[0] = 0x32; - btd->field_0x2F6 = true; + btd->m02F6 = true; fopAcM_seStartCurrent(a_this, JA_SE_CM_BTD_ROCK_HIT, 0); dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } @@ -308,19 +308,19 @@ void iwa_move(dr2_class* i_this) { i_this->unk_40A = 3; cLib_addCalc2(&i_this->unk_414, 2000.0f, 0.5f, 100.0f); - i_this->unk_4A8.y = btd->field_0x320.y + REG0_F(3); + i_this->unk_4A8.y = btd->m02FC[3].y + REG0_F(3); i_this->unk_4B4.y = i_this->unk_514->current.angle.y; - if (btd->field_0x320.y < REG0_F(6) + 100.0f) { - i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->field_0x320.y; + if (btd->m02FC[3].y < REG0_F(6) + 100.0f) { + i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->m02FC[3].y; i_this->unk_4C0 *= REG0_F(7) + 0.3f; } - sp4C = btd->field_0x320 - btd->field_0x32C; + sp4C = btd->m02FC[3] - btd->m02FC[4]; sp4C.y += REG0_F(5) + -330.0f + i_this->unk_4C0; cLib_addCalcAngleS2(&i_this->unk_4B4.x, -cM_atan2s(sp4C.y, std::sqrtf(sp4C.x * sp4C.x + sp4C.z * sp4C.z)), 1, 0x200); - if (!btd->field_0x2F6) { + if (!btd->m02F6) { i_this->unk_4BA = 3; #if VERSION == VERSION_DEMO i_this->unk_4D4_demo = @@ -331,7 +331,7 @@ void iwa_move(dr2_class* i_this) { break; case 3: - i_this->unk_4A8.y = btd->field_0x360 + 100.0f + REG0_F(9); + i_this->unk_4A8.y = btd->m02FC[8].y + 100.0f + REG0_F(9); cLib_addCalcAngleS2(&i_this->unk_4B4.x, 0, 1, 0x100); cLib_addCalcAngleS2(&i_this->unk_4B4.y, 0, 1, 0x100); diff --git a/src/d/actor/d_a_himo2.cpp b/src/d/actor/d_a_himo2.cpp index 95e3538df..90e4154da 100644 --- a/src/d/actor/d_a_himo2.cpp +++ b/src/d/actor/d_a_himo2.cpp @@ -994,7 +994,7 @@ void new_himo2_move(himo2_class* param_1) { param_1->m24D9 = 0xFF; param_1->m24D8 = 1; if (btd != 0) { - fopAcM_OffStatus(btd, 0x4000); + fopAcM_OffStatus(btd, fopAcStts_UNK4000_e); } } else if ((param_1->m02A2 == 0) && param_1->m2050.ChkAtHit()) { param_1->m02DC = 9; @@ -1314,7 +1314,7 @@ void new_himo2_move(himo2_class* param_1) { cLib_addCalc2(¶m_1->m24E8.y, param_1->m217C->home.pos.y + 2500.0f + REG0_F(14), 0.3f, 100.0f); cLib_addCalc2(¶m_1->m24F4, REG0_F(13) + 80.0f, 1.0f, 2.0f); if (param_1->m029C < 30) { - btd->field_0x6e15 = 0xB4; + btd->m6E15 = 0xB4; } if (param_1->m029C == 30) { fopAcM_seStartCurrent((fopAc_ac_c*)dr, JA_SE_CM_BTD_ROPE_SET, 0); @@ -1325,7 +1325,7 @@ void new_himo2_move(himo2_class* param_1) { if ((param_1->m029C != 0) || (REG0_S(8) != 0)) { break; } - btd->field_0x6e15 = 1; + btd->m6E15 = 1; param_1->m24D9 = 4; if ((dComIfGp_getStartStageName()[0] == 'X') || (dComIfGs_isEventBit(0x420))) { param_1->m029C = 0; @@ -1494,17 +1494,17 @@ void new_himo2_move(himo2_class* param_1) { cLib_addCalc2(¶m_1->m24DC.y, 0.0f, 0.5f, 100.0f); if (param_1->m029C == (s16)(REG0_S(4) + 0x6E)) { param_1->m2520 = REG0_F(11) + 50.0f; - btd->field_0x6e15 = 0xB4; + btd->m6E15 = 0xB4; } if (param_1->m029C < 81) { cLib_addCalc2(¶m_1->m24F4, REG0_F(14) + 40.0f, 0.5f, 2.0f); } } if (param_1->m029C == 2) { - btd->field_0x6e15 = 1; + btd->m6E15 = 1; } if (param_1->m029C == 0) { - if (btd->field_0x6190 >= 3) { + if (btd->m6190 >= 3) { param_1->m24D9 = 9; param_1->m029C = 220; } else { @@ -1515,7 +1515,7 @@ void new_himo2_move(himo2_class* param_1) { camera->mCamera.Reset(param_1->eyePos, local_164); camera->mCamera.Start(); camera->mCamera.SetTrimSize(0); - fopAcM_OffStatus(btd, 0x4000); + fopAcM_OffStatus(btd, fopAcStts_UNK4000_e); dComIfGp_event_reset(); } dr->unk_40A = 0; @@ -1534,10 +1534,10 @@ void new_himo2_move(himo2_class* param_1) { cLib_addCalc2(¶m_1->m24DC.y, local_11c.y, 0.1f, 50.0f); cLib_addCalc2(¶m_1->m24DC.z, local_11c.z, 0.1f, 50.0f); if (param_1->m029C == 99) { - btd->field_0x6e15 = 0xB4; + btd->m6E15 = 0xB4; } if (param_1->m029C == 40) { - btd->field_0x6e15 = 1; + btd->m6E15 = 1; } if (param_1->m029C == 0) { param_1->m24D9 = 0; @@ -1547,7 +1547,7 @@ void new_himo2_move(himo2_class* param_1) { camera->mCamera.Reset(param_1->eyePos, local_170); camera->mCamera.Start(); camera->mCamera.SetTrimSize(0); - fopAcM_OffStatus(btd, 0x4000); + fopAcM_OffStatus(btd, fopAcStts_UNK4000_e); dComIfGp_event_reset(); } break; diff --git a/src/d/actor/d_a_himo3.cpp b/src/d/actor/d_a_himo3.cpp index 00c509219..d4734c134 100644 --- a/src/d/actor/d_a_himo3.cpp +++ b/src/d/actor/d_a_himo3.cpp @@ -5,62 +5,648 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_himo3.h" +#include "d/actor/d_a_player.h" +#include "d/res/res_always.h" +#include "d/res/res_bgn.h" +#include "d/res/res_link.h" +#include "d/res/res_himo3.h" +#include "d/d_s_play.h" #include "d/d_procname.h" #include "d/d_priority.h" -#include "d/d_cc_d.h" +#include "d/d_com_inf_game.h" +#include "d/d_kankyo_wether.h" +#include "f_op/f_op_actor_mng.h" + +class himo3HIO_c : public JORReflexible { +public: + himo3HIO_c() { + m06 = 0; + m08 = 0.75f; + m0C = 0.5f; + m10 = 0xEB; + m12 = 0x7D; + m14 = 0; + m18 = 5.0f; + } + virtual ~himo3HIO_c() {} + + void genMessage(JORMContext*); + +public: + /* 0x04 */ s8 mNo; + /* 0x06 */ s16 m06; + /* 0x08 */ f32 m08; + /* 0x0C */ f32 m0C; + /* 0x10 */ s16 m10; + /* 0x10 */ s16 m12; + /* 0x10 */ s16 m14; + /* 0x18 */ f32 m18; +}; // size = 0x1C + +static f32 HIMO3_SCALE; +static bool hio_set; +static himo3HIO_c l_HIO; /* 000000EC-00000C58 .text himo3_control__FP11himo3_classP7himo3_s */ -void himo3_control(himo3_class*, himo3_s*) { - /* Nonmatching */ +void himo3_control(himo3_class* i_this, himo3_s* arg1) { + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + s32 i = 1; + cXyz spAC; + cXyz spA0; + cXyz sp94; + f32 unaff_f28; + himo3_s* pcVar11 = &arg1[1]; + + if (i_this->m02BE != 0) { + s16 target; + if (i_this->m02BE == 1) { + if (player->getRopeGrabRightHand()) { + spAC = player->getRightHandPos(); + } else { + spAC = player->getLeftHandPos(); + } + target = player->shape_angle.y; + } else { + spAC = i_this->m21F4; + target = i_this->m2200; + } + + if (i_this->m15C4.y == -23535.0f) { + i_this->m15C4 = spAC; + } + + cXyz sp88 = spAC - i_this->current.pos; + f32 sqrt = sp88.abs(); + s32 iVar8 = sqrt / HIMO3_SCALE; + unaff_f28 = sqrt / HIMO3_SCALE - iVar8; + if (iVar8 >= i_this->m15C0 - 1) { + iVar8 = i_this->m15C0 - 1; + } + + if (iVar8 > 1) { + for (i = 1; i < iVar8; i++, pcVar11++) { + f32 fVar12 = (f32)i / iVar8; + pcVar11->m00.x = i_this->current.pos.x + sp88.x * fVar12; + pcVar11->m00.y = i_this->current.pos.y + sp88.y * fVar12; + pcVar11->m00.z = i_this->current.pos.z + sp88.z * fVar12; + } + } + + cLib_addCalcAngleS2(&i_this->current.angle.y, target, 2, 0x2000); + + spA0 = spAC - i_this->m15C4; + cMtx_YrotS(*calc_mtx, -target); + MtxPosition(&spA0, &sp94); + f32 tmp1 = sp94.z * DEMO_SELECT(REG0_F(5) + -10.0f, -10.0f); + f32 tmp2 = DEMO_SELECT(REG0_F(6) + 10.0f, 10.0f); + cLib_addCalc2(&i_this->m15D0, tmp1, 0.1f, tmp2 * i_this->m15E4); + + tmp1 = sp94.x * DEMO_SELECT(REG0_F(5) + -10.0f, -10.0f); + tmp2 = DEMO_SELECT(REG0_F(6) + 10.0f, 10.0f); + cLib_addCalc2(&i_this->m15D8, tmp1, 0.1f, tmp2 * i_this->m15E4); + + if (std::fabsf(sp94.z) > 1.0f || std::fabsf(sp94.x) > 1.0f) { + cLib_addCalc2(&i_this->m15E4, 1.0f, 1.0f, 0.05f); + } else { + cLib_addCalc2(&i_this->m15E4, 0.1f, 1.0f, 0.05f); + } + + if (fopAcM_GetParam(i_this) == 3) { + i_this->m02BE = 0; + i_this->m02BC = 0x1e; + i_this->m15E0 = 0.0f; + } + i_this->m15C4 = spAC; + } else { + i_this->m15D0 += i_this->m15D4; + f32 tmp = i_this->m15D0 * DEMO_SELECT(REG0_F(7) + -0.003f, -0.003f); + i_this->m15D4 += tmp; + cLib_addCalc0(&i_this->m15D0, 0.05f, DEMO_SELECT(REG0_F(9) + 1.0f, 1.0f)); + i_this->m15D8 += i_this->m15DC; + tmp = i_this->m15D8 * DEMO_SELECT(REG0_F(7) + -0.003f, -0.003f); + i_this->m15DC += tmp; + cLib_addCalc0(&i_this->m15D8, 0.05f, DEMO_SELECT(REG0_F(9) + 1.0f, 1.0f)); + + if (fopAcM_GetParam(i_this) == 1) { + i_this->m02BE = 1; + i_this->m15E0 = 1.0f; + if (strcmp(dComIfGp_getStartStageName(), "majroom") == 0 || strcmp(dComIfGp_getStartStageName(), "Majroom") == 0 || + strcmp(dComIfGp_getStartStageName(), "MajyuE") == 0) + { + dComIfGs_onEventBit(0x402); + } + } else if (fopAcM_GetParam(i_this) == 2) { + i_this->m02BE = 2; + i_this->m15E0 = 1.0f; + } + i_this->m15C4.y = -23535.0f; + } + + cMtx_YrotS(*calc_mtx, i_this->current.angle.y); + spA0.x = i_this->m15D8; + spA0.y = 0.0f; + spA0.z = i_this->m15D0; + cXyz sp7C; + MtxPosition(&spA0, &sp7C); + cXyz* pcVar7 = dKyw_get_wind_vec(); + s16 iVar8 = cM_atan2s(pcVar7->x, pcVar7->z); + f32* pfVar9 = dKyw_get_wind_power(); + + if (i_this->m02BE != 0) { + cLib_addCalc2(&i_this->m15E8, *pfVar9 * 0.5f, 1.0f, 0.05f); + } else { + cLib_addCalc2(&i_this->m15E8, *pfVar9, 1.0f, 0.001f); + } + + if (i_this->m15F0 > 0.01f) { + i_this->m15FA++; + } else { + i_this->m15FA = 0; + } + + cLib_addCalc2(&i_this->m15F0, i_this->m15F4, 0.2f, DEMO_SELECT(REG0_F(2) + 0.05f, 0.05f)); + cLib_addCalc0(&i_this->m15F4, 1.0f, DEMO_SELECT(REG0_F(3) + 0.005f, 0.005f)); + cMtx_YrotS(*calc_mtx, i_this->m15F8); + spA0.x = 0.0f; + spA0.y = 0.0f; + spA0.z = cM_ssin(i_this->m15FA * DEMO_SELECT(REG0_S(5) + 500, 500)) * DEMO_SELECT(REG0_F(4) + 100.0f, 100.0f) * i_this->m15F0; + cXyz sp70; + MtxPosition(&spA0, &sp70); + cMtx_YrotS(*calc_mtx, iVar8); + spA0.x = 0.0f; + spA0.y = 0.0f; + spA0.z = cM_ssin(i_this->m02BA * DEMO_SELECT(REG0_S(5) + 500, 500)) * DEMO_SELECT(REG0_F(4) + 100.0f, 100.0f) * i_this->m15E8; + cXyz sp64; + MtxPosition(&spA0, &sp64); + sp64 += sp70; + f32 tmpReg = DEMO_SELECT(REG0_F(1), 0.0f); + spA0.x = 0.0f; + spA0.y = 0.0f; + f32 tmp200 = DEMO_SELECT(REG0_F(8) + -200.0f, -200.0f); + + s32 j = 0; + + f32 fVar12; + if ((i_this->m02BE == 0) && (i_this->m02BC == 0)) { + fVar12 = DEMO_SELECT(REG0_F(2) + 30.0f + 20.0f - 20.0f, 30.0f); + } else { + fVar12 = -200.0f; + } + + u8 bVar4 = 0; + s16 unaff_r24; + s16 unaff_r23; + + for (; i < i_this->m15C0; i++, pcVar11++) { + cXyz sp60; + sp60.z = 0.0f; + sp60.y = 0.0f; + sp60.x = 0.0f; + + f32 fVar1 = pcVar11->m00.x - pcVar11[-1].m00.x + pcVar11->m0C.x + sp7C.x + sp64.x + sp60.x; + f32 fVar2 = pcVar11->m00.y - pcVar11[-1].m00.y + tmp200 + pcVar11->m0C.y + sp60.y; + f32 fVar3 = pcVar11->m00.z - pcVar11[-1].m00.z + pcVar11->m0C.z + sp7C.z + sp64.z + sp60.z; + + unaff_r24 = -cM_atan2s(fVar2, fVar3); + unaff_r23 = (s16)cM_atan2s(fVar1 + 0.0f, std::sqrtf(SQUARE(fVar2) + SQUARE(fVar3))); + cMtx_XrotS(*calc_mtx, unaff_r24); + cMtx_YrotM(*calc_mtx, unaff_r23); + + spA0.z = HIMO3_SCALE; + if (bVar4 == 0) { + spA0.z = HIMO3_SCALE - unaff_f28 * HIMO3_SCALE; + bVar4++; + } + MtxPosition(&spA0, &sp94); + pcVar11->m0C = pcVar11->m00; + pcVar11->m00 = pcVar11[-1].m00 + sp94; + pcVar11->m0C.x = (pcVar11->m00.x - pcVar11->m0C.x) * tmpReg; + pcVar11->m0C.y = (pcVar11->m00.y - pcVar11->m0C.y) * tmpReg; + pcVar11->m0C.z = (pcVar11->m00.z - pcVar11->m0C.z) * tmpReg; + + if ((i_this->m0298 == 0xf) && (i == i_this->m15C0 - 1)) { + if (i_this->m02BE == 0) { + i_this->mCyl.SetC(pcVar11->m00); + } else { + cXyz sp4C(-10000.0f, -10000.0f, 0.0f); + i_this->mCyl.SetC(sp4C); + } + dComIfG_Ccsp()->Set(&i_this->mCyl); + } else if (((i + i_this->m02BA * 3 & 0xf) == 0) && (j < 5)) { + i_this->mSphs[j].SetR(fVar12); + i_this->mSphs[j].SetC(pcVar11->m00); + dComIfG_Ccsp()->Set(&i_this->mSphs[j]); + j++; + } + } + + cXyz* pcVar10 = i_this->mLineMat.getPos(0); + himo3_s* phVar11 = i_this->m02C0; + for (s32 i = 0; i < i_this->m15C0; i++, phVar11++, pcVar10++) { + if (i_this->m15E0 >= 0.999f) { + *pcVar10 = phVar11->m00; + } else { + cLib_addCalc2(&pcVar10->x, phVar11->m00.x, 1.0f, i_this->m15E0 * 100.0f); + cLib_addCalc2(&pcVar10->y, phVar11->m00.y, 1.0f, i_this->m15E0 * 100.0f); + cLib_addCalc2(&pcVar10->z, phVar11->m00.z, 1.0f, i_this->m15E0 * 100.0f); + } + + if ((i_this->m0298 != 0xf) && (i == i_this->m15C0 - 1)) { + MtxTrans(pcVar10->x, pcVar10->y, pcVar10->z, 0); + cMtx_XrotM(*calc_mtx, unaff_r24); + cMtx_YrotM(*calc_mtx, unaff_r23); + f32 fVar14 = l_HIO.m08; + if (i_this->m0298 != 1) { + cMtx_XrotM(*calc_mtx, -0x4000); + fVar14 = l_HIO.m0C; + } + MtxScale(fVar14, fVar14, fVar14, true); + i_this->mpModel->setBaseTRMtx(*calc_mtx); + } + } + + cLib_addCalc2(&i_this->m15E0, 1.0f, 1.0f, DEMO_SELECT(REG0_F(3) + 0.05f, 0.05f)); } /* 00000C58-00000D1C .text ga_draw__FP11himo3_class */ -void ga_draw(himo3_class*) { - /* Nonmatching */ +void ga_draw(himo3_class* i_this) { + h3_ga_s* ga = &i_this->m2114[0]; + + for (s32 i = 0; i < ARRAY_SSIZE(i_this->m2114); i++, ga++) { + if (ga->m2E == 1) { + MtxTrans(ga->mPos.x, ga->mPos.y, ga->mPos.z, 0); + cMtx_YrotM(*calc_mtx, ga->m1E); + cMtx_XrotM(*calc_mtx, ga->m1C); + MtxScale(ga->m24, ga->m24 * ga->m28, ga->m24, true); + MtxTrans(0.0f, -18.0f, 0.0f, 1); + ga->mpModel->setBaseTRMtx(*calc_mtx); + mDoExt_modelUpdateDL(ga->mpModel); + } + } } /* 00000D1C-00000EF8 .text daHimo3_Draw__FP11himo3_class */ -static BOOL daHimo3_Draw(himo3_class*) { - /* Nonmatching */ +static BOOL daHimo3_Draw(himo3_class* i_this) { + g_env_light.settingTevStruct(TEV_TYPE_BG0, &i_this->current.pos, &i_this->tevStr); + f32 fVar1; + if (i_this->m0298 == 0xf) { + fVar1 = DEMO_SELECT(REG0_F(0) + 4.625f, 4.625f); + } else { + fVar1 = DEMO_SELECT(REG0_F(0) + 3.75f, 3.75f); + } + + i_this->mLineMat.update(i_this->m15C0, fVar1, (GXColor){200, 150, 50, 255}, 0, &i_this->tevStr); + dComIfGd_set3DlineMat(&i_this->mLineMat); + + if (i_this->m0298 != 0xf) { + J3DModel* model = i_this->mpModel; + g_env_light.setLightTevColorType(model, &i_this->tevStr); + mDoExt_modelUpdateDL(model); + + if (i_this->m0298 == 0) { + if (l_HIO.m06 == 2) { + dComIfGd_setSpotModel(dDlst_alphaModel_c::TYPE_TWO_SPHERES, i_this->m1840, 0x20); + } else { + GXColor color; + color.r = l_HIO.m10; + color.g = l_HIO.m12; + color.b = l_HIO.m14; + color.a = 0; + dComIfGd_setAlphaModelColor(color); + if (l_HIO.m06 == 0) { + dComIfGd_setAlphaModel(dDlst_alphaModel_c::TYPE_SPHERE, i_this->m1840, i_this->m1878); + } else { + dComIfGd_setAlphaModel(dDlst_alphaModel_c::TYPE_TWO_SPHERES, i_this->m1840, i_this->m1878); + } + } + + dComIfGd_setSimpleShadow2(&i_this->m1624, i_this->mAcch.GetGroundH(), i_this->m20F8, i_this->mAcch.m_gnd); + ga_draw(i_this); + } + } + return TRUE; } /* 00000EF8-00001108 .text ga_move__FP11himo3_class */ -void ga_move(himo3_class*) { - /* Nonmatching */ +void ga_move(himo3_class* i_this) { + cXyz sp30(0.0f, 0.0f, 10.0f); + cXyz sp24; + + if (i_this->m2114[0].m2E) { + if (i_this->m2114[0].m2F != 0) { + i_this->m2114[0].m2F--; + } else { + i_this->m2114[0].m2F = cM_rndF(10.0f); + i_this->m2114[0].m10.x = i_this->m1624.x + cM_rndFX(150.0f); + i_this->m2114[0].m10.y = i_this->m1624.y + cM_rndFX(100.0f); + i_this->m2114[0].m10.z = i_this->m1624.z + cM_rndFX(150.0f); + } + + cXyz sp0C = i_this->m2114[0].m10 - i_this->m2114[0].mPos; + cLib_addCalcAngleS2(&i_this->m2114[0].m1E, cM_atan2s(sp0C.x, sp0C.z), 2, 0x1000); + cLib_addCalcAngleS2(&i_this->m2114[0].m1C, -cM_atan2s(sp0C.y, std::sqrtf(SQUARE(sp0C.x) + SQUARE(sp0C.z))), 2, 0x1000); + cMtx_YrotS(*calc_mtx, i_this->m2114[0].m1E); + cMtx_XrotM(*calc_mtx, i_this->m2114[0].m1C); + MtxPosition(&sp30, &sp24); + i_this->m2114[0].mPos += sp24; + i_this->m2114[0].m28 = cM_ssin(i_this->m2114[0].m2C); + i_this->m2114[0].m2C += 0x3E00; + } } /* 00001108-00001128 .text setActorHang__11himo3_classF4cXyzs */ -void himo3_class::setActorHang(cXyz, short) { - /* Nonmatching */ +void himo3_class::setActorHang(cXyz arg1, short arg2) { + m21F4 = arg1; + m2200 = arg2; } /* 00001128-000014F8 .text path_move__FP11himo3_class */ -void path_move(himo3_class*) { - /* Nonmatching */ +void path_move(himo3_class* i_this) { + cXyz sp28; + cXyz sp10; + dPnt* pnt; + + switch (i_this->m02A4) { + case 0: + i_this->m029C += i_this->m029D; + if (i_this->m029C >= (s8)i_this->ppd->m_num) { + if (dPath_ChkClose(i_this->ppd)) { + i_this->m029C = 0; + } else { + i_this->m029D = -1; + i_this->m029C = i_this->ppd->m_num - 2; + } + + if ((s32)i_this->ppd->m_nextID != 0xFFFF) { + i_this->ppd = dPath_GetRoomPath(i_this->ppd->m_nextID, fopAcM_GetRoomNo(i_this)); + JUT_ASSERT(DEMO_SELECT(890, 891), i_this->ppd != NULL); + } + } else if (i_this->m029C < 0) { + i_this->m029D = 1; + i_this->m029C = 1; + } + + i_this->m02A4 = 1; + pnt = &i_this->ppd->m_points[i_this->m029C]; + i_this->m02A8 = pnt->m_position; + + case 1: + sp10 = i_this->m02A8 - i_this->current.pos; + if (i_this->m02BE == 0) { + u8 uStack_14 = i_this->ppd->m_points[i_this->m029C].mArg3; + if (uStack_14 != 0 && uStack_14 != 0xff) { + cLib_addCalc2(&i_this->speedF, uStack_14, 1.0f, uStack_14 * 0.1f); + } else { + uStack_14 = i_this->m0299; + cLib_addCalc2(&i_this->speedF, uStack_14, 1.0f, uStack_14 * 0.1f); + } + } else { + cLib_addCalc0(&i_this->speedF, 1.0f, 1.0f); + } + + sp28.x = 0.0f; + sp28.y = 0.0f; + sp28.z = i_this->speedF; + cMtx_YrotS(*calc_mtx, cM_atan2s(sp10.x, sp10.z)); + f32 fVar8 = std::sqrtf(SQUARE(sp10.x) + SQUARE(sp10.z)); + cMtx_XrotM(*calc_mtx, -cM_atan2s(sp10.y, fVar8)); + MtxPosition(&sp28, &i_this->speed); + i_this->current.pos += i_this->speed; + if (sp10.abs() < i_this->speedF * 2.0f) { + i_this->m02A4 = 0; + } + break; + } } /* 000014F8-00001A3C .text daHimo3_Execute__FP11himo3_class */ -static BOOL daHimo3_Execute(himo3_class*) { - /* Nonmatching */ +static BOOL daHimo3_Execute(himo3_class* i_this) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + + if (i_this->m02BC != 0) { + i_this->m02BC--; + } + + if (i_this->m029B != 0) { + path_move(i_this); + } + + i_this->m02BA++; + i_this->m02C0[0].m00 = i_this->current.pos; + himo3_control(i_this, i_this->m02C0); + + if (i_this->m0298 != 0xf) { + if (i_this->mSph.ChkTgHit()) { + cCcD_Obj* pcVar5 = i_this->mSph.GetTgHitObj(); + if (pcVar5 != NULL && pcVar5->ChkAtType(AT_TYPE_WIND)) { + i_this->m15F8 = player->shape_angle.y; + i_this->m15F4 = DEMO_SELECT(REG0_F(0) + 1.0f, 1.0f); + } + } + + i_this->mAcch.CrrPos(*dComIfG_Bgsp()); + i_this->m1870 = l_HIO.m18; + cMtx_copy(i_this->mpModel->getBaseTRMtx(), *calc_mtx); + + if (i_this->m0298 == 0) { + MtxTrans(DEMO_SELECT(REG0_F(6) + 10.0f, 10.0f), DEMO_SELECT(REG0_F(7) + -140.0f, -140.0f), DEMO_SELECT(REG0_F(8) + -15.0f, -15.0f), 1); + } else { + MtxTrans(DEMO_SELECT(REG0_F(6), 0.0f), DEMO_SELECT(REG0_F(7), 0.0f), DEMO_SELECT(REG0_F(8) + 35.0f, 35.0f), 1); + } + + MtxScale(i_this->m1870, i_this->m1870, i_this->m1870, true); + MTXCopy(*calc_mtx, i_this->m1840); + + cXyz sp28; + sp28.z = 0.0f; + sp28.y = 0.0f; + sp28.x = 0.0f; + MtxPosition(&sp28, &i_this->m1624); + i_this->mSph.SetC(i_this->m1624); + dComIfG_Ccsp()->Set(&i_this->mSph); + + if (i_this->m0298 == 0) { + for (s32 i = 0; i < ARRAY_SSIZE(i_this->m02B4); i++) { + if (i_this->m02B4[i]) { + i_this->m02B4[i]--; + } + } + + if (i_this->m02B4[0] == 0) { + i_this->m02B4[0] = cM_rndF(DEMO_SELECT(REG0_F(2) + 10.0f, 10.0f)) + 5.0f + DEMO_SELECT(REG0_F(3), 0.0f); + i_this->m187C = cM_rndF(DEMO_SELECT(REG0_F(6) + 16.0f, 16.0f)) + 4.0f + DEMO_SELECT(REG0_F(7), 0.0f); + } + + if (i_this->m02B4[1] == 0) { + i_this->m02B4[1] = cM_rndF(6.0f) + 3.0f; + } + + cLib_addCalc2(&i_this->m1878, i_this->m187C, 1.0f, DEMO_SELECT(REG0_F(4) + 0.1f, 0.1f)); +#if VERSION == VERSION_DEMO + if (!i_this->m2110) { +#else + if (i_this->m20FC.getEmitter() == NULL) { +#endif + static cXyz fire_scale(0.7f, 0.7f, 0.7f); +#if VERSION == VERSION_DEMO + i_this->demo_m20FC = +#endif + dComIfGp_particle_set(dPa_name::ID_COMMON_01EA, &i_this->m1624, NULL, &fire_scale, 0xff, &i_this->m20FC); +#if VERSION == VERSION_DEMO + i_this->m2110 = 1; +#endif + i_this->m1620 = 1.0f; + } + +#if VERSION == VERSION_DEMO + JPABaseEmitter* pJVar6 = i_this->demo_m20FC; +#else + JPABaseEmitter* pJVar6 = i_this->m20FC.getEmitter(); +#endif + if (pJVar6 != NULL) { + f32 fVar3 = DEMO_SELECT(REG0_F(3) + -0.03f, -0.03f); + f32 fVar1 = (i_this->m1624.x - i_this->m1630.x) * fVar3; + if (fVar1 > 1.0f) { + fVar1 = 1.0f; + } else if (fVar1 < -1.0f) { + fVar1 = -1.0f; + } + + f32 fVar4 = fVar3 * ((i_this->m1624).z - (i_this->m1630).z); + if (fVar4 > 1.0f) { + fVar4 = 1.0f; + } else if (fVar4 < -1.0f) { + fVar4 = -1.0f; + } + + JGeometry::TVec3 s; + s.x = fVar1; + s.y = 0.1f; + s.z = fVar4; + pJVar6->setDirection(s); + + f32 tmp = 1.0f; + f32 sqrt = std::sqrtf(SQUARE(fVar1) + SQUARE(fVar4)); + f32 sqrt2 = 1.0f + sqrt * DEMO_SELECT(REG0_F(12) + 2.0f, 2.0f); + if (sqrt2 > DEMO_SELECT(REG0_F(13) + 4.0f, 4.0f)) { + sqrt2 = DEMO_SELECT(REG0_F(13) + 4.0f, 4.0f); + } + + JGeometry::TVec3 s2; + s2.x = tmp; + s2.y = sqrt2; + s2.z = tmp; + +#if VERSION == VERSION_DEMO + pJVar6 = i_this->demo_m20FC; +#endif + pJVar6->setGlobalParticleScale(s2); + cLib_addCalc2(&i_this->m1620, cM_rndF(0.2f) + 1.0f, 0.5f, 0.02f); + } else { + i_this->m1620 = 0.0f; + } + + cXyz sp1C(i_this->m1624.x, DEMO_SELECT(i_this->m1624.y + REG0_F(7), i_this->m1624.y) + 20.0f, i_this->m1624.z); + dComIfGp_particle_setSimple(dPa_name::ID_COMMON_4004, &sp1C); + i_this->m1600.mPos = i_this->m1624; + i_this->m1600.mColor.r = 600; + i_this->m1600.mColor.g = 400; + i_this->m1600.mColor.b = 0x78; + i_this->m1600.mPower = (s16)(i_this->m1620 * 150.0f); + i_this->m1600.mFluctuation = 250.0f; + ga_move(i_this); + } + } + i_this->m1630 = i_this->m1624; + return TRUE; } /* 00001A3C-00001A44 .text daHimo3_IsDelete__FP11himo3_class */ -static BOOL daHimo3_IsDelete(himo3_class*) { +static BOOL daHimo3_IsDelete(himo3_class* i_this) { +#if VERSION == VERSION_DEMO + if (i_this->demo_m20FC != 0) { + i_this->m20FC.remove(); + } +#endif return TRUE; } /* 00001A44-00001AE0 .text daHimo3_Delete__FP11himo3_class */ -static BOOL daHimo3_Delete(himo3_class*) { - /* Nonmatching */ +static BOOL daHimo3_Delete(himo3_class* i_this) { + dComIfG_resDeleteDemo(&i_this->mPhase, "Himo3"); + if (i_this->m0298 == 0) { + dKy_plight_cut(&i_this->m1600); + } + + if (DEMO_SELECT(i_this->m2111, i_this->m2110) != 0) { + hio_set = false; + mDoHIO_deleteChild(l_HIO.mNo); + } + +#if VERSION > VERSION_DEMO + i_this->m20FC.remove(); +#endif + return TRUE; } /* 00001AE0-00001DD4 .text useHeapInit__FP11himo3_class */ -void useHeapInit(himo3_class*) { - /* Nonmatching */ +cPhs_State useHeapInit(himo3_class* i_this) { + static s32 hook_bmd[] = {HIMO3_BMD_SLAMP_00, LINK_BDL_ROPEEND, HIMO3_BMD_SLAMP_00, HIMO3_BMD_SLAMP_00, HIMO3_BMD_SLAMP_00}; + +#if VERSION == VERSION_DEMO + if (!i_this->mLineMat.init(1, 200, (ResTIMG*)dComIfG_getObjectRes("Always", i_this->m0298 == 0xf ? ALWAYS_BTI_TXM_ROPE1 : ALWAYS_BTI_ROPE), 0)) { + return cPhs_ERROR_e; + } +#else + if (i_this->m0298 == 0xf) { + if (!i_this->mLineMat.init(1, 200, (ResTIMG*)dComIfG_getObjectRes("Bgn", BGN_BTI_NOT_CUT1), 0)) { + return cPhs_ERROR_e; + } + } else if (!i_this->mLineMat.init(1, 200, (ResTIMG*)dComIfG_getObjectRes("Always", ALWAYS_BTI_ROPE), 0)) { + return cPhs_ERROR_e; + } +#endif + + J3DModelData* modelData = NULL; + if (i_this->m0298 != 0xf) { + if (i_this->m0298 == 1) { + modelData = (J3DModelData*)dComIfG_getObjectRes("Link", hook_bmd[i_this->m0298]); + } else if (i_this->m0298 <= 4) { + modelData = (J3DModelData*)dComIfG_getObjectRes("Himo3", hook_bmd[i_this->m0298]); + } + + JUT_ASSERT(DEMO_SELECT(1250, 1284), modelData != NULL); + + i_this->mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203); + if (i_this->mpModel == NULL) { + return cPhs_ERROR_e; + } + } + + if (i_this->m0298 == 0) { + modelData = (J3DModelData*)dComIfG_getObjectRes("Himo3", HIMO3_BMD_H3_GA); + JUT_ASSERT(DEMO_SELECT(1264, 1298), modelData != NULL); + s32 tmp = 0; + + for (s32 i = 0; i < ARRAY_SSIZE(i_this->m2114); i++) { + i_this->m2114[i].mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203); + if (i_this->m2114[i].mpModel == NULL) { + return cPhs_INIT_e; + } + + if (tmp == 0 || cM_rndF(1.0f) < 0.5f) { + i_this->m2114[i].m2E = true; + i_this->m2114[i].mPos = i_this->current.pos; + i_this->m2114[i].m24 = cM_rndF(0.3f) + 0.3f; + i_this->m2114[i].m2C = cM_rndF(30000.0f); + } + } + } + return cPhs_COMPLEATE_e; } /* 00001DD4-00002128 .text daHimo3_Create__FP10fopAc_ac_c */ -static cPhs_State daHimo3_Create(fopAc_ac_c*) { +static cPhs_State daHimo3_Create(fopAc_ac_c* a_this) { /* Nonmatching */ static dCcD_SrcCyl cc_cyl_src = { // dCcD_SrcGObjInf @@ -147,6 +733,97 @@ static cPhs_State daHimo3_Create(fopAc_ac_c*) { /* Radius */ 80.0f, }}, }; + + himo3_class* i_this = (himo3_class*)a_this; + + fopAcM_SetupActor(a_this, himo3_class); + + cPhs_State PVar1 = dComIfG_resLoad(&i_this->mPhase, "Himo3"); + if (PVar1 == cPhs_COMPLEATE_e) { + i_this->m0298 = (fopAcM_GetParam(a_this) >> 0) & 0xFF; + i_this->m0299 = (fopAcM_GetParam(a_this) >> 16) & 0xFF; + i_this->m029A = (fopAcM_GetParam(a_this) >> 24) & 0xFF; + + if (i_this->m0298 == 0xff) { + i_this->m0298 = 0; + } + + if (fopAcM_createHeap(i_this, 0xa220, 0) == 0) { + return cPhs_ERROR_e; + } + + PVar1 = useHeapInit(i_this); + fopAcM_adjustHeap(a_this); + + if (PVar1 == cPhs_ERROR_e) { + return cPhs_ERROR_e; + } + + i_this->m15C0 = (fopAcM_GetParam(a_this) >> 8) & 0xFF; + if (i_this->m0298 == 0xf) { + HIMO3_SCALE = DEMO_SELECT(REG0_F(4) + 22.0f, 22.0f); + i_this->m15C0 = DEMO_SELECT(REG0_S(0) + 200, 200); + i_this->m029A = 0xff; + } else { + HIMO3_SCALE = 20.0f; + } + + i_this->m15FC = i_this->m15C0 * HIMO3_SCALE - 50.0f; + if (i_this->m0298 == 0) { + i_this->m15FC -= 50.0f; + } + + if (i_this->m15C0 > 0xc8) { + return cPhs_ERROR_e; + } + + if (i_this->m029A != 0xff) { + i_this->ppd = dPath_GetRoomPath(i_this->m029A, fopAcM_GetRoomNo(a_this)); + if (i_this->ppd == NULL) { + return cPhs_ERROR_e; + } + i_this->m029B = i_this->m029A + 1; + i_this->m029D = 1; + } + + i_this->m15E0 = 1.0f; + i_this->mStts.Init(0xff, 0xff, i_this); + + if (i_this->m0298 == 0xf) { + i_this->mCyl.Set(cc_cyl_src); + i_this->mCyl.SetStts(&i_this->mStts); + } else { + for (s32 i = 0; i < ARRAY_SSIZE(i_this->mSphs); i++) { + i_this->mSphs[i].Set(sph_src); + i_this->mSphs[i].SetStts(&i_this->mStts); + } + + i_this->mSph.Set(sph2_src); + i_this->mSph.SetStts(&i_this->mStts); + i_this->mAcch.Set(&i_this->m1624, &i_this->m1630, i_this, 1, &i_this->mAcchCir, fopAcM_GetSpeed_p(i_this)); + + if (i_this->m0298 == 0) { + i_this->mAcchCir.SetWall(40.0f, 50.0f); + i_this->m20F8 = 20.0f; + dKy_plight_set(&i_this->m1600); + } else if (i_this->m0298 == 1) { + i_this->mAcchCir.SetWall(20.0f, 20.0f); + i_this->mSph.SetR(20.0f); + i_this->m20F8 = 10.0f; + } + } + + if (!hio_set) { + hio_set = true; + DEMO_SELECT(i_this->m2111, i_this->m2110) = 0; + l_HIO.mNo = mDoHIO_createChild("ぶら下がりロープ", &l_HIO); + } + + for (s32 i = 0; i < 10; i++) { + daHimo3_Execute(i_this); + } + } + return PVar1; } static actor_method_class l_daHimo3_Method = { diff --git a/src/d/actor/d_a_kamome.cpp b/src/d/actor/d_a_kamome.cpp index 16497e12e..df3ceb950 100644 --- a/src/d/actor/d_a_kamome.cpp +++ b/src/d/actor/d_a_kamome.cpp @@ -5,119 +5,1404 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_kamome.h" +#include "d/actor/d_a_esa.h" +#include "d/actor/d_a_sea.h" +#include "d/res/res_kamome.h" #include "m_Do/m_Do_ext.h" #include "d/d_procname.h" +#include "d/d_snap.h" #include "d/d_priority.h" -#include "d/d_cc_d.h" +#include "d/d_com_inf_game.h" +#include "d/d_s_play.h" +#include "d/d_kankyo.h" +#include "f_op/f_op_actor_mng.h" + +class kamomeHIO_c : public JORReflexible { +public: + kamomeHIO_c() { + m05 = 0; + m06 = 1; + m08 = 8; + m0C = 400.0f; + m10 = 300.0f; + } + virtual ~kamomeHIO_c() {} + + void genMessage(JORMContext*); + +public: + /* 0x04 */ s8 mNo; + /* 0x05 */ u8 m05; + /* 0x06 */ s16 m06; + /* 0x08 */ s16 m08; + /* 0x0C */ f32 m0C; + /* 0x10 */ f32 m10; +}; // size = 0x14 + +static bool hio_set; +static kamomeHIO_c l_kamomeHIO; +static esa_class* esa_info[100]; +static s32 esa_check_count; +static s32 ko_count; /* 000000EC-000001E4 .text anm_init__FP12kamome_classifUcfi */ -void anm_init(kamome_class*, int, float, unsigned char, float, int) { - /* Nonmatching */ +void anm_init(kamome_class* i_this, int anmResIdx, float morf, unsigned char loopMode, float speed, int soundAnmResIdx) { + if (REG0_S(3) == 0x23) { + anmResIdx = KAMOME_BCK_KA_LAND1; + } else if (REG0_S(3) == 0x24) { + anmResIdx = KAMOME_BCK_KA_FLY1; + } + i_this->mpMorf->setAnm( + (J3DAnmTransform*)dComIfG_getObjectRes("Kamome", anmResIdx), loopMode, morf, speed, 0.0f, -1.0f, dComIfG_getObjectRes("Kamome", soundAnmResIdx) + ); } /* 000001E4-000004B8 .text s_a_d_sub__FPvPv */ -void s_a_d_sub(void*, void*) { - /* Nonmatching */ +void* s_a_d_sub(void* ac1, void* ac2) { + dBgS_LinChk linChk; + fopAc_ac_c* actor2 = (fopAc_ac_c*)ac2; + + if ((esa_check_count < 100) && fopAc_IsActor(ac1) && fpcM_GetName(ac1) == PROC_ESA) { + esa_class* esa = (esa_class*)ac1; + if (esa->field_0x298 == 0) { + cXyz sp14; + cXyz sp08; + + sp08 = esa->current.pos; + sp08.y += 10.0f; + sp14 = actor2->current.pos; + + linChk.Set(&sp14, &sp08, actor2); + if (!dComIfG_Bgsp()->LineCross(&linChk)) { + esa_info[esa_check_count] = esa; + esa_check_count++; + } + } + } + return NULL; } /* 000008F0-00000A44 .text search_esa__FP12kamome_class */ -void search_esa(kamome_class*) { - /* Nonmatching */ +fopAc_ac_c* search_esa(kamome_class* i_this) { + esa_check_count = 0; + fpcM_Search(s_a_d_sub, &i_this->actor); + + if (esa_check_count != 0) { + f32 fVar3 = 50.0f; + s32 i = 0; + while (i < esa_check_count) { + esa_class* esa = esa_info[i]; + f32 x = esa->current.pos.x - i_this->actor.current.pos.x; + f32 z = esa->current.pos.z - i_this->actor.current.pos.z; + if (std::sqrtf(SQUARE(x) + SQUARE(z)) < fVar3) { + esa->field_0x298 = 1; + return esa; + } + + i++; + if (i == esa_check_count) { + i = 0; + fVar3 += 50.0f; + if (fVar3 > 10000.0f) { + return NULL; + } + } + } + } + return NULL; } /* 00000A44-00000A90 .text s_a_i_sub__FPvPv */ -void s_a_i_sub(void*, void*) { - /* Nonmatching */ +void* s_a_i_sub(void* ac1, void* ac2) { + if (fopAc_IsActor(ac1) && fpcM_GetName(ac1) == PROC_NPC_LS1) { + return ac1; + } + return NULL; } /* 00000A90-00000ABC .text search_imouto__FP12kamome_class */ -void search_imouto(kamome_class*) { - /* Nonmatching */ +fopAc_ac_c* search_imouto(kamome_class* i_this) { + return (fopAc_ac_c*)fpcM_Search(s_a_i_sub, &i_this->actor); } /* 00000ABC-00000B84 .text nodeCallBack__FP7J3DNodei */ -static BOOL nodeCallBack(J3DNode*, int) { - /* Nonmatching */ +static BOOL nodeCallBack(J3DNode* node, int calcTiming) { + if (calcTiming == 0) { + J3DJoint* joint = (J3DJoint*)node; + s32 uVar1 = joint->getJntNo(); + J3DModel* pJVar2 = j3dSys.getModel(); + kamome_class* pKamome = (kamome_class*)pJVar2->getUserArea(); + if (pKamome != NULL) { + MTXCopy(pJVar2->getAnmMtx(uVar1), *calc_mtx); + cMtx_YrotM(*calc_mtx, pKamome->mJointRotY); + cMtx_ZrotM(*calc_mtx, pKamome->mJointRotZ); + pJVar2->setAnmMtx(uVar1, *calc_mtx); + MTXCopy(*calc_mtx, J3DSys::mCurrentMtx); + } + } + return TRUE; } /* 00000B84-00000CAC .text daKamome_Draw__FP12kamome_class */ -static BOOL daKamome_Draw(kamome_class*) { - /* Nonmatching */ +static BOOL daKamome_Draw(kamome_class* i_this) { + if ((i_this->mSwitchNo != 0) || (i_this->mbNoDraw != 0)) { +#if VERSION <= VERSION_JPN + i_this->mbNoDraw = 0; +#endif + return TRUE; + } + + g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &i_this->actor.current.pos, &i_this->actor.tevStr); + g_env_light.setLightTevColorType(i_this->mpMorf->getModel(), &i_this->actor.tevStr); + i_this->mpMorf->entryDL(); + + cXyz sp08(i_this->actor.current.pos.x, i_this->actor.current.pos.y + REG0_F(1) * 10.0f, i_this->actor.current.pos.z); + + i_this->mShadowId = dComIfGd_setShadow( + i_this->mShadowId, + 1, + i_this->mpMorf->getModel(), + &sp08, + REG0_F(2) * 10.0f + 500.0f, + 20.0f, + sp08.y, + i_this->mAcch.GetGroundH(), + i_this->mAcch.m_gnd, + &i_this->actor.tevStr + ); + + dSnap_RegistFig(0x55, &i_this->actor, 1.0f, 1.0f, 1.0f); + return TRUE; } /* 00000CAC-00000F70 .text kamome_pos_move__FP12kamome_class */ -void kamome_pos_move(kamome_class*) { - /* Nonmatching */ +void kamome_pos_move(kamome_class* i_this) { + f32 fVar4 = i_this->mTargetPos.x - i_this->actor.current.pos.x; + f32 fVar1 = i_this->mTargetPos.y - i_this->actor.current.pos.y; + f32 fVar5 = i_this->mTargetPos.z - i_this->actor.current.pos.z; + s16 rotTargetY = cM_atan2s(fVar4, fVar5); + s16 rotTargetX = -cM_atan2s(fVar1, std::sqrtf(SQUARE(fVar4) + SQUARE(fVar5))); + s16 sVar3 = i_this->actor.current.angle.y; + cLib_addCalcAngleS2(&i_this->actor.current.angle.y, rotTargetY, REG0_S(3) + 10, i_this->mRotVel * i_this->mRotVelFade); + sVar3 = (sVar3 - i_this->actor.current.angle.y) * 0x20; + + s16 rotTargetZ = REG0_S(1) + 5500; + if (sVar3 > rotTargetZ) { + sVar3 = rotTargetZ; + } else if (sVar3 < -rotTargetZ) { + sVar3 = -rotTargetZ; + } + + cLib_addCalcAngleS2(&i_this->actor.current.angle.z, sVar3, REG0_S(3) + 10, i_this->mRotVel * i_this->mRotVelFade * 0.5f); + cLib_addCalcAngleS2(&i_this->actor.current.angle.x, rotTargetX, REG0_S(3) + 10, i_this->mRotVel * i_this->mRotVelFade); + cLib_addCalc2(&i_this->mRotVelFade, 1.0f, 1.0f, 0.04f); + cLib_addCalc2(&(i_this->actor).speedF, i_this->mVelocityFwdTarget, 1.0f, i_this->mVelocityFwdTargetMaxVel); + cXyz fwd; + fwd.x = 0.0f; + fwd.y = 0.0f; + fwd.z = i_this->actor.speedF; + cMtx_YrotS(*calc_mtx, i_this->actor.current.angle.y); + cMtx_XrotM(*calc_mtx, i_this->actor.current.angle.x); + MtxPosition(&fwd, &i_this->actor.speed); + i_this->actor.current.pos.x += i_this->actor.speed.x; + i_this->actor.current.pos.y += i_this->actor.speed.y; + i_this->actor.current.pos.z += i_this->actor.speed.z; + + if (i_this->mRiseTimer != 0) { + i_this->mRiseTimer--; + i_this->actor.current.pos.y += 5.0f; + } } /* 00000F70-00000FFC .text kamome_bgcheck__FP12kamome_class */ -void kamome_bgcheck(kamome_class*) { - /* Nonmatching */ +void kamome_bgcheck(kamome_class* i_this) { + f32 fVar1 = i_this->mScale * 40.0f; + i_this->actor.current.pos.y = i_this->actor.current.pos.y - fVar1; + i_this->actor.old.pos.y = i_this->actor.old.pos.y - fVar1; + i_this->mAcch.CrrPos(*dComIfG_Bgsp()); + i_this->actor.current.pos.y = i_this->actor.current.pos.y + fVar1; + i_this->actor.old.pos.y = i_this->actor.old.pos.y + fVar1; } /* 00000FFC-00001150 .text kamome_ground_pos_move__FP12kamome_class */ -void kamome_ground_pos_move(kamome_class*) { - /* Nonmatching */ +void kamome_ground_pos_move(kamome_class* i_this) { + s16 iVar2 = cM_atan2s(i_this->mTargetPos.x - i_this->actor.current.pos.x, i_this->mTargetPos.z - i_this->actor.current.pos.z); + + cLib_addCalcAngleS2(&i_this->actor.current.angle.y, iVar2, REG0_S(3) + 2, i_this->mRotVel * i_this->mRotVelFade); + cLib_addCalc2(&i_this->mRotVelFade, 1.0f, 1.0f, 0.1f); + cLib_addCalc2(&i_this->actor.speedF, i_this->mVelocityFwdTarget, 1.0f, i_this->mVelocityFwdTargetMaxVel); + + cXyz sp14; + sp14.x = 0.0f; + sp14.y = 0.0f; + sp14.z = i_this->actor.speedF; + cMtx_YrotS(*calc_mtx, i_this->actor.current.angle.y); + + cXyz sp08; + MtxPosition(&sp14, &sp08); + i_this->actor.speed.x = sp08.x; + i_this->actor.speed.z = sp08.z; + + i_this->actor.current.pos.x += i_this->actor.speed.x; + i_this->actor.current.pos.y += i_this->actor.speed.y; + i_this->actor.current.pos.z += i_this->actor.speed.z; + + i_this->actor.speed.y -= 3.0f; + kamome_bgcheck(i_this); + + if (i_this->mAcch.ChkGroundHit()) { + i_this->actor.speed.y = -0.5f; + } } /* 00001150-000011B8 .text ko_s_sub__FPvPv */ -void ko_s_sub(void*, void*) { - /* Nonmatching */ +void* ko_s_sub(void* ac1, void* ac2) { + kamome_class* i_this = (kamome_class*)ac1; + if (fopAcM_IsActor(&i_this->actor) && fopAcM_GetName(&i_this->actor) == PROC_KAMOME && (fopAcM_GetParam(&i_this->actor) & 0xf) == 7) { + ko_count++; + } + return NULL; } /* 000011B8-000011FC .text ko_check__FP12kamome_class */ -void ko_check(kamome_class*) { - /* Nonmatching */ +s32 ko_check(kamome_class* i_this) { + ko_count = 0; + fpcM_Search(ko_s_sub, &i_this->actor); + return ko_count; } /* 000011FC-00001304 .text heisou_control__FP12kamome_class */ -void heisou_control(kamome_class*) { - /* Nonmatching */ +void heisou_control(kamome_class* i_this) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + i_this->mbNoDraw = 1; +#if VERSION > VERSION_DEMO + if (dComIfGs_getTime() >= 90.0f && dComIfGs_getTime() <= 270.0f && dKy_rain_check() < 10) +#endif + { + if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) && (i_this->mGlobalTimer & 0x7f) == 0) { + s32 ko = ko_check(i_this); + if (ko < i_this->mKoMaxCount) { + cXyz sp08 = player->current.pos; + sp08.y += 4000.0f; + fopAcM_create(PROC_KAMOME, ko << 8 | 0xffff0007, &sp08, fopAcM_GetRoomNo(&i_this->actor)); + } + } + } } /* 00001304-00001360 .text h_s_sub__FPvPv */ -void h_s_sub(void*, void*) { - /* Nonmatching */ +void* h_s_sub(void* ac1, void* ac2) { + kamome_class* i_this = (kamome_class*)ac1; + if (fopAcM_IsActor(&i_this->actor) && fopAcM_GetName(&i_this->actor) == PROC_KAMOME && (fopAcM_GetParam(&i_this->actor) & 0xf) == 6) { + return &i_this->actor; + } + return NULL; } /* 00001360-000013BC .text search_master__FP12kamome_class */ -void search_master(kamome_class*) { - /* Nonmatching */ +BOOL search_master(kamome_class* i_this) { + kamome_class* pvVar1 = (kamome_class*)fpcM_Search(h_s_sub, &i_this->actor); + if (pvVar1 != NULL && (s32)i_this->mKoMaxCount < pvVar1->mKoMaxCount) { + return TRUE; + } + return FALSE; } /* 000013BC-00001A0C .text kamome_heisou_move__FP12kamome_class */ -void kamome_heisou_move(kamome_class*) { - /* Nonmatching */ +void kamome_heisou_move(kamome_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor; + fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + s32 frame; + + switch (i_this->mAnimState) { + case 0: + frame = i_this->mpMorf->getFrame(); + if ((i_this->mTimers[0] == 0) && (frame == REG0_S(0) + 9)) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, REG0_F(0) + 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 1: + if ((i_this->mGlobalTimer & 0x3fU) == 0 && cM_rndF(1.0f) < 0.5f) { + i_this->mGlobalTimer = (s16)cM_rndF(10000.0f); + i_this->mAnimState = 2; + anm_init(i_this, KAMOME_BCK_KA_SING1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else if ((i_this->mTimers[0] == 0) && (a_this->current.pos.y < i_this->mTargetPos.y)) { + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + break; + + case 2: + frame = i_this->mpMorf->getFrame(); + if (frame == 8) { + fopAcM_seStart(a_this, JA_SE_CV_KAMOME, 0); + } + + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + } + + i_this->m2B4++; + + switch (i_this->mMoveState) { + case 0: + cXyz sp44; + sp44.x = (REG17_F(5) + 300.0f) * cM_ssin(i_this->m2B4 * (REG17_S(5) + 200)); + sp44.y = i_this->m2B8 + 600.0f + REG17_F(6); + sp44.z = (REG17_F(4) + 150.0f) + (REG17_F(7) + 300.0f) * cM_ssin(i_this->m2B4 * (REG17_S(6) + 30)); + cMtx_YrotS(*calc_mtx, player->shape_angle.y); + cXyz sp34; + MtxPosition(&sp44, &sp34); + i_this->mTargetPos.x = sp34.x + player->current.pos.x; + i_this->mTargetPos.z = sp34.z + player->current.pos.z; + if (daSea_ChkArea(i_this->mTargetPos.x, i_this->mTargetPos.z)) { + i_this->mTargetPos.y = sp34.y + daSea_calcWave(i_this->mTargetPos.x, i_this->mTargetPos.z); + } else { + i_this->mTargetPos.y = player->current.pos.y + sp34.y; + } + break; + } + + BOOL iVar2; +#if VERSION == VERSION_DEMO + if (!dComIfGp_att_chkEnemySound() && dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) { + iVar2 = search_master(i_this); + } else { + iVar2 = FALSE; + } +#else + if (dComIfGs_getTime() >= 90.0f && dComIfGs_getTime() <= 270.0f && dKy_rain_check() < 10 && !dComIfGp_att_chkEnemySound() && + dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) + { + iVar2 = search_master(i_this); + } else { + iVar2 = FALSE; + } +#endif + + cXyz sp28 = player->old.pos - player->current.pos; + f32 fVar6; + i_this->mVelocityFwdTarget = (REG17_F(8) + 1.2f) * sp28.abs(); + if ((i_this->mVelocityFwdTarget > REG17_F(13) + 30.0f) && iVar2) { + fVar6 = 0.0f; + sp28 = i_this->mTargetPos - a_this->current.pos; + if (sp28.abs() < REG17_F(9) + 200.0f) { + i_this->mVelocityFwdTarget = 0.0f; + } + } else { + i_this->mVelocityFwdTarget = 20.0f; + fVar6 = a_this->home.pos.y; + } + + cLib_addCalc2(&i_this->m2B8, fVar6, 1.0f, 20.0f); + i_this->mVelocityFwdTargetMaxVel = REG17_F(10) + 0.25f; + i_this->mRotVel = REG17_F(11) + 300.0f; + kamome_pos_move(i_this); + i_this->mJointRotYTarget = fopAcM_searchPlayerAngleY(a_this) - a_this->current.angle.y; + + s16 sVar3 = REG17_S(3) + 5000; + if (i_this->mJointRotYTarget > sVar3) { + i_this->mJointRotYTarget = sVar3; + } else if (i_this->mJointRotYTarget < (s16)-sVar3) { + i_this->mJointRotYTarget = -sVar3; + } + + if (a_this->current.pos.y > 3000.0f) { + i_this->mbNoDraw = 1; + } } /* 00001A0C-00002740 .text kamome_path_move__FP12kamome_class */ -void kamome_path_move(kamome_class*) { - /* Nonmatching */ +void kamome_path_move(kamome_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor; + s8 moveType = 0; + s32 frame; + dPnt* pdVar8; + s32 nextID; + f32 x; + f32 y; + f32 z; + f32 sqrt; + + switch (i_this->mAnimState) { + case 0: + frame = i_this->mpMorf->getFrame(); + if ((a_this->current.pos.y > i_this->mTargetPos.y) && (frame == REG0_S(0) + 9)) { + i_this->mAnimState = 1; + i_this->mTimers[0] = cM_rndF(200.0f) + 50.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, REG0_F(0) + 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 1: + if (((i_this->mGlobalTimer & 0x3f) == 0) && cM_rndF(1.0) < 0.5f) { + i_this->mGlobalTimer = (s16)cM_rndF(10000.0f); + i_this->mAnimState = 2; + anm_init(i_this, KAMOME_BCK_KA_SING1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else if (a_this->current.pos.y <= i_this->mTargetPos.y) { + i_this->mAnimState = 0; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + break; + + case 2: + frame = i_this->mpMorf->getFrame(); + if (frame == 8) { + fopAcM_seStart(a_this, JA_SE_CV_KAMOME, 0); + } + + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 1; + i_this->mTimers[0] = cM_rndF(100.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 3: + break; + + case 19: + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 0; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + break; + + case 20: + break; + } + + switch (i_this->mMoveState) { + case 0: + i_this->mCurPointIdx += i_this->mPathIdxIncr; + if (i_this->mCurPointIdx >= (s8)i_this->mpPath->m_num) { + if (dPath_ChkClose(i_this->mpPath)) { + i_this->mCurPointIdx = 0; + } else { + i_this->mPathIdxIncr = -1; + i_this->mCurPointIdx = i_this->mpPath->m_num - 2; + } + + nextID = i_this->mpPath->m_nextID; + if (nextID != 0xFFFF) { + i_this->mpPath = dComIfGp_getStage().getPathInf()->m_path; + i_this->mpPath += nextID; + } + } else if ((s8)i_this->mCurPointIdx < 0) { + i_this->mPathIdxIncr = 1; + i_this->mCurPointIdx = 1; + } + + case -1: + i_this->mMoveState = 1; + pdVar8 = i_this->mpPath->m_points; + pdVar8 += i_this->mCurPointIdx; + if (i_this->m308 != 0) { + i_this->mVelocityFwdTarget = 25.0f; + i_this->mVelocityFwdTargetMaxVel = 2.0f; + i_this->m308 = 0; + } else if (a_this->current.pos.y < i_this->mTargetPos.y) { + i_this->mVelocityFwdTarget = cM_rndF(5.0f) + 20.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(11) + 1.0f; + } else { + i_this->mVelocityFwdTarget = cM_rndF(5.0f) + 30.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(13) + 1.0f; + } + i_this->mRotVelFade = REG0_F(7); + if (pdVar8->mArg3 == 1) { + i_this->mMoveState = 10; + i_this->mTargetPos = pdVar8->m_position; + } else { + i_this->mTargetPos.x = pdVar8->m_position.x + cM_rndFX(150.0f); + i_this->mTargetPos.y = pdVar8->m_position.y + cM_rndFX(150.0f); + i_this->mTargetPos.z = pdVar8->m_position.z + cM_rndFX(150.0f); + } + + if (i_this->mTimers[3] == 0) { + fopAc_ac_c* iVar5 = search_esa(i_this); + if (iVar5 != NULL) { + i_this->mEsaProcID = fopAcM_GetID(iVar5); + i_this->mMoveState = 10; + i_this->mRotVel = 1000.0; + i_this->mbUsePathMovement = 0; + } + } + break; + + case 1: + cLib_addCalc2(&i_this->mRotVelFade, 1.0f, 1.0f, 0.04f); + x = i_this->mTargetPos.x - a_this->current.pos.x; + y = i_this->mTargetPos.y - a_this->current.pos.y; + z = i_this->mTargetPos.z - a_this->current.pos.z; + sqrt = std::sqrtf(SQUARE(x) + SQUARE(y) + SQUARE(z)); + i_this->mRotVel = REG0_F(5) * 10.0f + 100.0f + (REG0_F(6) * 1000.0f + 500000.0f) / sqrt; + if (i_this->mRotVel > REG0_F(4) * 10.0f + 5000.0f) { + i_this->mRotVel = REG0_F(4) * 10.0f + 5000.0f; + } + + if (sqrt < REG0_F(10) * 10.0f + 300.0f) { + i_this->mMoveState = 0; + if (i_this->mpPath->m_points[i_this->mCurPointIdx].mArg3 == 6) { + fopAcM_delete(a_this); + } + } + break; + + case 10: + i_this->mVelocityFwdTarget = 20.0f; + x = i_this->mTargetPos.x - a_this->current.pos.x; + y = (i_this->mTargetPos.y + 50.0f + REG6_F(8) * 10.0f) - a_this->current.pos.y; + z = i_this->mTargetPos.z - a_this->current.pos.z; + + if (std::sqrtf(SQUARE(x) + SQUARE(y) + SQUARE(z)) < REG6_F(9) * 10.0f + 300.0f) { + i_this->mMoveState = 0x14; + anm_init(i_this, KAMOME_BCK_KA_LAND1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_LAND1); + i_this->mAnimState = 10; + a_this->speed.y = 0.0f; + i_this->m2FC = a_this->current.angle.y + (s16)cM_rndFX(15000.0f); + i_this->mTimers[2] = 0x3c; + moveType = -1; + } + break; + + case 0x14: + moveType = -1; + frame = i_this->mpMorf->getFrame(); + a_this->current.pos.y += a_this->speed.y; + if (frame > REG6_S(2) + 0xf) { + a_this->speed.y -= REG6_F(7) + 0.8f; + cLib_addCalcAngleS2(&a_this->current.angle.y, i_this->m2FC, 2, 1000); + } + cLib_addCalcAngleS2(&a_this->current.angle.x, 0, 5, 0x800); + cLib_addCalcAngleS2(&a_this->current.angle.z, 0, 5, 0x800); + kamome_bgcheck(i_this); + + if (i_this->mAcch.ChkGroundHit()) { + a_this->speed.y = -0.5f; + } else { + cLib_addCalc2(&a_this->current.pos.x, i_this->mTargetPos.x, 0.1f, std::fabsf(a_this->speed.x)); + cLib_addCalc2(&a_this->current.pos.z, i_this->mTargetPos.z, 0.1f, std::fabsf(a_this->speed.z)); + } + + if (i_this->mpMorf->isStop()) { + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + + if (i_this->mTimers[2] == 0) { + i_this->mMoveState = 0x17; + } + break; + + case 0x16: + moveType = 1; + i_this->m2AB = 1; + if (i_this->mTimers[2] == 0) { + i_this->mCurPointIdx += i_this->mPathIdxIncr; + if (i_this->mCurPointIdx >= (s8)i_this->mpPath->m_num) { + if (dPath_ChkClose(i_this->mpPath)) { + i_this->mCurPointIdx = 0; + } else { + i_this->mPathIdxIncr = -1; + i_this->mCurPointIdx = i_this->mpPath->m_num - 2; + } + + nextID = i_this->mpPath->m_nextID; + if (nextID != 0xFFFF) { + i_this->mpPath = dComIfGp_getStage().getPathInf()->m_path; + i_this->mpPath += nextID; + } + } else if (i_this->mCurPointIdx < 0) { + i_this->mPathIdxIncr = 1; + i_this->mCurPointIdx = 1; + } + pdVar8 = &i_this->mpPath->m_points[i_this->mCurPointIdx]; + i_this->mTargetPos = pdVar8->m_position; + if (pdVar8->mArg3 == 2) { + i_this->mMoveState = 0x19; + anm_init(i_this, KAMOME_BCK_KA_FLY1, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_FLY1); + } else { + i_this->mMoveState = 0x17; + i_this->mRotVel = 2500.0f; + i_this->mRotVelFade = 1.0f; + anm_init(i_this, KAMOME_BCK_KA_MOVE1, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_MOVE1); + } + } + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + break; + + case 0x13: + moveType = 1; + if (i_this->mpMorf->isStop()) { + i_this->mMoveState = 0x16; + } + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + break; + + case 0x17: + moveType = 1; + frame = i_this->mpMorf->getFrame(); + if ((frame >= l_kamomeHIO.m06) && (frame <= l_kamomeHIO.m08)) { + i_this->mVelocityFwdTarget = i_this->mScale * 5.0f; + a_this->speedF = i_this->mScale * 5.0f; + } else { + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + x = i_this->mTargetPos.x - a_this->current.pos.x; + z = i_this->mTargetPos.z - a_this->current.pos.z; + if (std::sqrtf(SQUARE(x) + SQUARE(z)) < 50.0f) { + pdVar8 = i_this->mpPath->m_points; + pdVar8 += i_this->mCurPointIdx; + if (cM_rndF(1.0f) < 0.5f) { + i_this->mMoveState = 0x13; + anm_init(i_this, KAMOME_BCK_KA_SING2, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else { + i_this->mMoveState = 0x16; + if (pdVar8->mArg3 == 3) { + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + i_this->mTimers[2] = cM_rndF(50.0f) + 50.0f; + } + } + } + } + break; + + case 0x19: + moveType = 1; + a_this->speed.y = 0.0f; + frame = i_this->mpMorf->getFrame(); + if (frame < 5) { + i_this->mVelocityFwdTarget = 0.0f; + i_this->mVelocityFwdTargetMaxVel = 1.0f; + } else { + i_this->mMoveState = 0xff; + i_this->mRotVel = REG0_F(4) * 10.0f + 5000.0f; + i_this->mVelocityFwdTarget = 25.0f; + i_this->mVelocityFwdTargetMaxVel = 2.0f; + a_this->speedF = 0.0f; + i_this->mAnimState = 0x14; + i_this->mRiseTimer = REG0_S(4) + 10; + } + } + + switch (moveType) { + case 0: + kamome_pos_move(i_this); + break; + + case 1: + kamome_ground_pos_move(i_this); + break; + } } /* 00002740-00003628 .text kamome_auto_move__FP12kamome_class */ -void kamome_auto_move(kamome_class*) { - /* Nonmatching */ +void kamome_auto_move(kamome_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor; + fopAc_ac_c* pfVar4; + s8 moveType = 0; + s32 frame; + cXyz sp30; + f32 x; + f32 y; + f32 z; + + switch (i_this->mAnimState) { + case 0: + frame = i_this->mpMorf->getFrame(); + if ((i_this->mTimers[0] == 0) && (frame == REG0_S(0) + 9)) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, REG0_F(0) + 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 1: + if ((i_this->mGlobalTimer & 0x3f) == 0 && cM_rndF(1.0) < 0.5f) { + i_this->mGlobalTimer = (s16)cM_rndF(10000.0f); + i_this->mAnimState = 2; + anm_init(i_this, KAMOME_BCK_KA_SING1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else if ((i_this->mTimers[0] == 0) && (a_this->current.pos.y < i_this->mTargetPos.y)) { + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + break; + + case 2: + frame = i_this->mpMorf->getFrame(); + if (frame == 8) { + fopAcM_seStart(a_this, JA_SE_CV_KAMOME, 0); + } + + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 3: + break; + + case 19: + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + + case 20: + break; + } + + switch (i_this->mMoveState) { + case 0: + if (i_this->mTimers[1] == 0) { + x = (a_this->home.pos.x + cM_rndFX(1000.0f)) - a_this->current.pos.x; + z = (a_this->home.pos.z + cM_rndFX(1000.0f)) - a_this->current.pos.z; + if (std::sqrtf(SQUARE(x) + SQUARE(z)) > 200.0f) { + i_this->mTimers[1] = cM_rndF(150.0f) + 50.0f; + i_this->mTargetPos.x = x + a_this->current.pos.x; + i_this->mTargetPos.y = a_this->home.pos.y + cM_rndF(500.0f); + i_this->mTargetPos.z = z + a_this->current.pos.z; + i_this->mRotVelFade = 0.0f; + + if (a_this->current.pos.y < i_this->mTargetPos.y) { + i_this->mVelocityFwdTarget = REG0_F(10) + 20.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(11) + 0.2f; + } else { + i_this->mVelocityFwdTarget = REG0_F(12) + 36.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(13) + 0.5f; + } + + i_this->mRotVel = cM_rndF(300.0f) + 200.0f; + + if (i_this->mTimers[3] == 0) { + fopAc_ac_c* iVar3 = search_esa(i_this); + if (iVar3 != NULL) { + i_this->mEsaProcID = fopAcM_GetID(iVar3); + i_this->mMoveState = 10; + i_this->mRotVel = 1000.0; + } + } + } + } + break; + + case 10: + pfVar4 = fopAcM_SearchByID(i_this->mEsaProcID); + if (pfVar4 != NULL) { + sp30.x = 0.0f; + sp30.y = 0.0f; + sp30.z = REG6_F(16) * 10.0f + -100.0f; + cMtx_YrotS(*calc_mtx, a_this->current.angle.y); + cXyz sp24; + MtxPosition(&sp30, &sp24); + i_this->mTargetPos.x = pfVar4->current.pos.x + sp24.x; + i_this->mTargetPos.y = pfVar4->current.pos.y + 80.0f + REG6_F(8) * 10.0f; + i_this->mTargetPos.z = pfVar4->current.pos.z + sp24.z; + i_this->mVelocityFwdTarget = 20.0f; + x = i_this->mTargetPos.x - a_this->current.pos.x; + y = i_this->mTargetPos.y - a_this->current.pos.y; + z = i_this->mTargetPos.z - a_this->current.pos.z; + if (std::sqrtf(SQUARE(x) + SQUARE(y) + SQUARE(z)) < REG6_F(9) * 10.0f + 300.0f) { + i_this->mMoveState = 0x14; + anm_init(i_this, KAMOME_BCK_KA_LAND1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_LAND1); + i_this->mAnimState = 10; + a_this->speed.y = 0.0f; + i_this->m2FC = a_this->current.angle.y + (s16)cM_rndFX(15000.0f); + i_this->mTimers[2] = 0x3c; + moveType = -1; + } + } else { + i_this->mMoveState = 0; + } + break; + + case 0x14: + moveType = -1; + frame = i_this->mpMorf->getFrame(); + a_this->current.pos.y += a_this->speed.y; + if (frame > REG6_S(2) + 0xf) { + a_this->speed.y -= REG6_F(7) + 0.8f; + cLib_addCalcAngleS2(&a_this->current.angle.y, i_this->m2FC, 2, 1000); + } + cLib_addCalcAngleS2(&a_this->current.angle.x, 0, 5, 0x800); + cLib_addCalcAngleS2(&a_this->current.angle.z, 0, 5, 0x800); + kamome_bgcheck(i_this); + + if (i_this->mAcch.ChkGroundHit()) { + a_this->speed.y = -1.0f; + } else { + cLib_addCalc2(&a_this->current.pos.x, i_this->mTargetPos.x, 0.1f, std::fabsf(a_this->speed.x)); + cLib_addCalc2(&a_this->current.pos.z, i_this->mTargetPos.z, 0.1f, std::fabsf(a_this->speed.z)); + } + + if (i_this->mpMorf->isStop()) { + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + + if (i_this->mTimers[2] == 0) { + i_this->mMoveState = 0x16; + } + break; + + case 0x15: + moveType = 1; + pfVar4 = search_esa(i_this); + if (pfVar4 == NULL) { + i_this->mMoveState = 0x19; + anm_init(i_this, KAMOME_BCK_KA_FLY1, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_FLY1); + } else { + i_this->mEsaProcID = fopAcM_GetID(pfVar4); + i_this->mMoveState = 0x16; + } + break; + + case 0x16: + moveType = 1; + i_this->mVelocityFwdTarget = 0.0f; + (i_this->actor).speedF = 0.0f; + i_this->mRotVel = 0.0f; + if (i_this->mTimers[2] == 0) { + i_this->mMoveState = 0x17; + pfVar4 = fopAcM_SearchByID(i_this->mEsaProcID); + if (pfVar4 != NULL) { + i_this->mTargetPos.x = pfVar4->current.pos.x; + i_this->mTargetPos.z = pfVar4->current.pos.z; + anm_init(i_this, KAMOME_BCK_KA_MOVE1, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_MOVE1); + } else { + i_this->mMoveState = 0x19; + anm_init(i_this, KAMOME_BCK_KA_FLY1, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_FLY1); + } + } + break; + + case 0x13: + moveType = 1; + if (i_this->mpMorf->isStop()) { + i_this->mMoveState = 0x15; + i_this->mTimers[2] = cM_rndF(30.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + break; + + case 0x17: + moveType = 1; + i_this->m2AB = 1; + frame = i_this->mpMorf->getFrame(); + if ((frame >= l_kamomeHIO.m06) && (frame <= l_kamomeHIO.m08)) { + i_this->mVelocityFwdTarget = i_this->mScale * 5.0f; + a_this->speedF = i_this->mScale * 5.0f; + i_this->mRotVel = 4000.0f; + i_this->mRotVelFade = 1.0f; + } else { + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + i_this->mRotVel = 0.0f; + x = i_this->mTargetPos.x - a_this->current.pos.x; + z = i_this->mTargetPos.z - a_this->current.pos.z; + if (std::sqrtf(SQUARE(x) + SQUARE(z)) < 85.0f) { + anm_init(i_this, KAMOME_BCK_KA_EAT1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + i_this->mMoveState = 0x18; + } + + if (i_this->mAcch.ChkWallHit()) { + i_this->mMoveState = 0x19; + anm_init(i_this, KAMOME_BCK_KA_FLY1, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_FLY1); + } + } + break; + + case 0x18: + moveType = 1; + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + frame = i_this->mpMorf->getFrame(); + if (frame == 9) { + pfVar4 = fopAcM_SearchByID(i_this->mEsaProcID); + if (pfVar4 != NULL) { + fopAcM_delete(pfVar4); + } + } + + if (i_this->mpMorf->isStop()) { + if (cM_rndF(1.0f) < 0.2f) { + i_this->mMoveState = 0x13; + anm_init(i_this, KAMOME_BCK_KA_SING2, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else { + i_this->mMoveState = 0x15; + i_this->mTimers[2] = cM_rndF(20.0f); + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + } + break; + + case 0x19: + moveType = 1; + a_this->speed.y = 0.0f; + frame = i_this->mpMorf->getFrame(); + if (frame < 5) { + i_this->mVelocityFwdTarget = 0.0f; + i_this->mVelocityFwdTargetMaxVel = 1.0f; + } else { + i_this->mMoveState = 0; + i_this->mAnimState = 0x14; + i_this->mTimers[3] = cM_rndF(100.0f) + 100.0f; + i_this->mRiseTimer = REG0_S(4) + 10; + if (i_this->mPathIdx != 0xff) { + i_this->mbUsePathMovement = i_this->mPathIdx + 1; + i_this->m308 = 1; + } else { + i_this->mTimers[1] = 0x32; + i_this->mRotVel = REG0_F(4) * 10.0f + 1000.0f; + i_this->mVelocityFwdTarget = 25.0f; + i_this->mVelocityFwdTargetMaxVel = 2.0f; + a_this->speedF = 0.0f; + MtxTrans(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z, 0); + sp30.set(0.0f, 1000.0f, 2000.0f); + cMtx_YrotM(*calc_mtx, a_this->current.angle.y); + MtxPosition(&sp30, &i_this->mTargetPos); + } + } + } + + switch (moveType) { + case 0: + kamome_pos_move(i_this); + break; + + case 1: + kamome_ground_pos_move(i_this); + if (i_this->mMoveState != 0x19) { + if (a_this->current.pos.y - i_this->mAcch.GetGroundH() > 200.0f || fopAcM_searchPlayerDistance(a_this) < l_kamomeHIO.m0C) { + i_this->mMoveState = 0; + esa_class* pfVar5 = (esa_class*)fopAcM_SearchByID(i_this->mEsaProcID); + if (pfVar5 != NULL) { + pfVar5->field_0x298 = 0; + } + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.5f, KAMOME_BAS_KA_WAIT2); + if (i_this->mPathIdx != 0xff) { + i_this->mbUsePathMovement = i_this->mPathIdx + 1; + i_this->mTimers[3] = cM_rndF(250.0f) + 250.0f; + i_this->m308 = 1; + } else { + i_this->mTimers[1] = 0x32; + i_this->mRotVel = REG0_F(4) * 10.0f + 5000.0f; + i_this->mVelocityFwdTarget = 30.0f; + i_this->mVelocityFwdTargetMaxVel = 3.0f; + a_this->speedF = 0.0f; + MtxTrans(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z, 0); + sp30.set(0.0f, 1000.0f, 2000.0f); + cMtx_YrotM(*calc_mtx, a_this->current.angle.y); + MtxPosition(&sp30, &i_this->mTargetPos); + i_this->mTimers[3] = cM_rndF(250.0f) + 250.0f; + } + } + } + break; + } } /* 00003628-00004574 .text kamome_imouto_move__FP12kamome_class */ -void kamome_imouto_move(kamome_class*) { - /* Nonmatching */ +void kamome_imouto_move(kamome_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor; + fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); + s8 cVar8 = 0; + s32 frame; + cXyz sp34; + + switch (i_this->mAnimState) { + case 0: + frame = i_this->mpMorf->getFrame(); + if ((i_this->mTimers[0] == 0) && (frame == REG0_S(0) + 9)) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, REG0_F(0) + 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT1); + } + break; + + case 1: + if ((i_this->mGlobalTimer & 0x3f) == 0 && (cM_rndF(1.0f) < 0.5f)) { + i_this->mGlobalTimer = (s16)cM_rndF(10000.0f); + i_this->mAnimState = 2; + anm_init(i_this, KAMOME_BCK_KA_SING1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else if ((i_this->mTimers[0] == 0) && (a_this->current.pos.y < i_this->mTargetPos.y)) { + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_WAIT2); + } + break; + + case 2: + frame = i_this->mpMorf->getFrame(); + if (frame == 8) { + fopAcM_seStart(a_this, JA_SE_CV_KAMOME, 0); + } + + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 8); + } + break; + + case 3: + break; + + case 19: + if (i_this->mpMorf->isStop()) { + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 9); + } + break; + case 20: + break; + } + + switch (i_this->mMoveState) { + case 0: + if (i_this->mTimers[1] == 0) { + f32 fVar11 = (a_this->home.pos.x + cM_rndFX(1000.0f)) - a_this->current.pos.x; + f32 fVar9 = (a_this->home.pos.z + cM_rndFX(1000.0f)) - a_this->current.pos.z; + if (std::sqrtf(SQUARE(fVar11) + SQUARE(fVar9)) > 200.0f) { + i_this->mTimers[1] = cM_rndF(150.0f) + 50.0f; + i_this->mTargetPos.x = fVar11 + a_this->current.pos.x; + i_this->mTargetPos.y = a_this->home.pos.y + cM_rndF(500.0f); + i_this->mTargetPos.z = fVar9 + a_this->current.pos.z; + i_this->mRotVelFade = 0.0f; + + if (a_this->current.pos.y < i_this->mTargetPos.y) { + i_this->mVelocityFwdTarget = REG0_F(10) + 20.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(11) + 0.2f; + } else { + i_this->mVelocityFwdTarget = REG0_F(12) + 36.0f; + i_this->mVelocityFwdTargetMaxVel = REG0_F(13) + 0.5f; + } + + i_this->mRotVel = cM_rndF(300.0f) + 200.0f; + + if (i_this->mTimers[3] == 0) { + i_this->mpTargetActor = search_imouto(i_this); + if (i_this->mpTargetActor != NULL) { + sp34 = player->current.pos - i_this->mpTargetActor->current.pos; + if (sp34.abs() < l_kamomeHIO.m10) { + i_this->mTimers[3] = 0x32; + i_this->mpTargetActor = NULL; + } else { + i_this->mMoveState = 10; + i_this->mRotVel = 1000.0f; + i_this->mTargetPos.x = i_this->mpTargetActor->current.pos.x + cM_rndFX(150.0f); + i_this->mTargetPos.y = i_this->mpTargetActor->current.pos.y + 80.0f; + i_this->mTargetPos.z = i_this->mpTargetActor->current.pos.z + cM_rndFX(150.0f); + } + } + } + } + } + break; + + case 10: + sp34 = player->current.pos - i_this->mTargetPos; + if (sp34.abs() < l_kamomeHIO.m10) { + i_this->mMoveState = 0; + i_this->mTimers[3] = 0x32; + } else { + i_this->mVelocityFwdTarget = 20.0f; + f32 fVar11 = i_this->mTargetPos.x - a_this->current.pos.x; + f32 fVar9 = i_this->mTargetPos.y - a_this->current.pos.y; + f32 fVar10 = i_this->mTargetPos.z - a_this->current.pos.z; + if (std::sqrtf(SQUARE(fVar11) + SQUARE(fVar9) + SQUARE(fVar10)) < REG6_F(9) * 10.0f + 300.0f) { + i_this->mMoveState = 0x14; + anm_init(i_this, KAMOME_BCK_KA_LAND1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, KAMOME_BAS_KA_LAND1); + i_this->mAnimState = 10; + a_this->speed.y = 0.0f; + i_this->m2FC = a_this->current.angle.y + (s32)cM_rndFX(15000.0f); + i_this->mTimers[2] = 0x3c; + cVar8 = -1; + } + } + break; + + case 0x14: + cVar8 = -1; + frame = i_this->mpMorf->getFrame(); + a_this->current.pos.y += a_this->speed.y; + if (frame > REG6_S(2) + 0xf) { + a_this->speed.y -= REG6_F(7) + 0.8f; + cLib_addCalcAngleS2(&a_this->current.angle.y, i_this->m2FC, 2, 1000); + } + + cLib_addCalcAngleS2(&(i_this->actor).current.angle.x, 0, 5, 0x800); + cLib_addCalcAngleS2(&(i_this->actor).current.angle.z, 0, 5, 0x800); + kamome_bgcheck(i_this); + + if (i_this->mAcch.ChkGroundHit()) { + a_this->speed.y = -1.0f; + } else { + cLib_addCalc2(&a_this->current.pos.x, i_this->mTargetPos.x, 0.1f, std::fabsf(a_this->speed.x)); + cLib_addCalc2(&a_this->current.pos.z, i_this->mTargetPos.z, 0.1f, std::fabsf(a_this->speed.z)); + } + + if (i_this->mpMorf->isStop()) { + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + + if (i_this->mTimers[2] == 0) { + i_this->mMoveState = 0x16; + } + break; + + case 0x15: + cVar8 = 1; + i_this->mMoveState = 0x16; + break; + + case 0x16: + cVar8 = 1; + i_this->m2AB = 1; + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + i_this->mRotVel = 0.0f; + + if (i_this->mTimers[2] == 0) { + i_this->mMoveState = 0x17; + i_this->mTargetPos.x = i_this->mpTargetActor->current.pos.x + cM_rndFX(REG0_F(8) + 150.0f); + i_this->mTargetPos.z = i_this->mpTargetActor->current.pos.z + cM_rndFX(REG0_F(8) + 150.0f); + anm_init(i_this, KAMOME_BCK_KA_MOVE1, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, KAMOME_BAS_KA_MOVE1); + } + break; + + case 0x13: + cVar8 = 1; + if (i_this->mpMorf->isStop()) { + i_this->mMoveState = 0x15; + i_this->mTimers[2] = cM_rndF(30.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + break; + + case 0x17: + cVar8 = 1; + frame = i_this->mpMorf->getFrame(); + if ((frame >= l_kamomeHIO.m06) && (frame <= l_kamomeHIO.m08)) { + i_this->mVelocityFwdTarget = i_this->mScale * 5.0f; + a_this->speedF = i_this->mScale * 5.0f; + i_this->mRotVel = 4000.0f; + i_this->mRotVelFade = 1.0f; + } else { + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + i_this->mRotVel = 0.0f; + f32 fVar11 = i_this->mTargetPos.x - a_this->current.pos.x; + f32 fVar9 = i_this->mTargetPos.z - a_this->current.pos.z; + if ((std::sqrtf(SQUARE(fVar11) + SQUARE(fVar9)) < 85.0f) || ((i_this->mAcch.ChkWallHit()) || i_this->mSph.ChkCoHit())) { + anm_init(i_this, KAMOME_BCK_KA_EAT1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + i_this->mMoveState = 0x18; + } + } + break; + + case 0x18: + cVar8 = 1; + i_this->mVelocityFwdTarget = 0.0f; + a_this->speedF = 0.0f; + if (i_this->mpMorf->isStop()) { + if (cM_rndF(1.0f) < 0.2f) { + i_this->mMoveState = 0x13; + anm_init(i_this, KAMOME_BCK_KA_SING2, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + } else { + i_this->mMoveState = 0x15; + i_this->mTimers[2] = cM_rndF(20.0f); + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + } + } + break; + + case 0x19: + cVar8 = 1; + a_this->speed.y = 0.0f; + frame = i_this->mpMorf->getFrame(); + if (frame < 5) { + i_this->mVelocityFwdTarget = 0.0f; + i_this->mVelocityFwdTargetMaxVel = 1.0f; + } else { + i_this->mMoveState = 0; + i_this->mAnimState = 0x14; + i_this->mTimers[3] = cM_rndF(100.0f) + 100.0f; + i_this->mRiseTimer = REG0_S(4) + 10; + if (i_this->mPathIdx != 0xff) { + i_this->mbUsePathMovement = i_this->mPathIdx + 1; + i_this->m308 = 1; + } else { + i_this->mTimers[1] = 0x32; + i_this->mRotVel = REG0_F(4) * 10.0f + 1000.0f; + i_this->mVelocityFwdTarget = 25.0f; + i_this->mVelocityFwdTargetMaxVel = 2.0f; + a_this->speedF = 0.0f; + MtxTrans(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z, 0); + sp34.set(0.0f, 1000.0f, 2000.0f); + cMtx_YrotM(*calc_mtx, a_this->current.angle.y); + MtxPosition(&sp34, &i_this->mTargetPos); + } + } + } + + switch (cVar8) { + case 0: + kamome_pos_move(i_this); + break; + + case 1: + kamome_ground_pos_move(i_this); + if ((i_this->mMoveState != 0x19) && + (a_this->current.pos.y - i_this->mAcch.GetGroundH() > 200.0f || fopAcM_searchPlayerDistance(a_this) < l_kamomeHIO.m10)) + { + i_this->mMoveState = 0; + i_this->mAnimState = 0; + i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 3.0, J3DFrameCtrl::EMode_LOOP, 1.5f, KAMOME_BAS_KA_WAIT2); + + if (i_this->mPathIdx != 0xff) { + i_this->mbUsePathMovement = i_this->mPathIdx + 1; + i_this->mTimers[3] = cM_rndF(250.0f) + 250.0f; + i_this->m308 = 1; + } else { + i_this->mTimers[1] = 0x32; + i_this->mRotVel = REG0_F(4) * 10.0f + 5000.0f; + i_this->mVelocityFwdTarget = 30.0f; + i_this->mVelocityFwdTargetMaxVel = 3.0f; + a_this->speedF = 0.0f; + MtxTrans(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z, 0); + sp34.set(0.0f, 1000.0f, 2000.0f); + cMtx_YrotM(*calc_mtx, a_this->current.angle.y); + MtxPosition(&sp34, &i_this->mTargetPos); + i_this->mTimers[3] = cM_rndF(250.0f) + 250.0f; + } + } + } + + cXyz* moveP = i_this->mStts.GetCCMoveP(); + if (moveP != NULL) { + a_this->current.pos += *moveP; + } + + i_this->mSph.SetC(a_this->current.pos); + i_this->mSph.SetR(REG17_F(18) + 40.0f); + dComIfG_Ccsp()->Set(&i_this->mSph); } /* 00004574-00004680 .text kamome_imouto2_move__FP12kamome_class */ -void kamome_imouto2_move(kamome_class*) { - /* Nonmatching */ +void kamome_imouto2_move(kamome_class* i_this) { + switch (i_this->mMoveState) { + case 0: + i_this->m2AB = 1; + if (i_this->mTimers[1] == 0) { + anm_init(i_this, KAMOME_BCK_KA_EAT1, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f, 0); + i_this->mMoveState++; + } + break; + + case 1: + if (i_this->mpMorf->isStop()) { + anm_init(i_this, KAMOME_BCK_KA_WAIT3, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, 0); + i_this->mTimers[1] = cM_rndF(50.0f) + 50.0f; + i_this->mMoveState--; + } + break; + } } /* 00004680-00004768 .text daKamome_setMtx__FP12kamome_class */ -void daKamome_setMtx(kamome_class*) { - /* Nonmatching */ +void daKamome_setMtx(kamome_class* i_this) { + MtxTrans(i_this->actor.current.pos.x, i_this->actor.current.pos.y, i_this->actor.current.pos.z, 0); + + cMtx_YrotM(*calc_mtx, i_this->actor.current.angle.y + i_this->mRotY); + cMtx_XrotM(*calc_mtx, i_this->actor.current.angle.x + i_this->mRotX); + cMtx_ZrotM(*calc_mtx, i_this->actor.current.angle.z); + + J3DModel* pJVar1 = i_this->mpMorf->getModel(); + pJVar1->setBaseTRMtx(*calc_mtx); + pJVar1->getModelData()->getJointNodePointer(8)->setCallBack(nodeCallBack); + i_this->mpMorf->calc(); + pJVar1->getModelData()->getJointNodePointer(8)->setCallBack(NULL); } /* 00004768-000049F8 .text daKamome_Execute__FP12kamome_class */ -static BOOL daKamome_Execute(kamome_class*) { - /* Nonmatching */ +static BOOL daKamome_Execute(kamome_class* i_this) { + i_this->mGlobalTimer++; +#if VERSION > VERSION_JPN + i_this->mbNoDraw = 0; +#endif + + if (i_this->mType == 6) { + heisou_control(i_this); + return TRUE; + } + + if (i_this->mSwitchNo != 0) { + if (dComIfGs_isSwitch(i_this->mSwitchNo - 1, fopAcM_GetRoomNo(&i_this->actor))) { + i_this->mSwitchNo = 0; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 1.0f, J3DFrameCtrl::EMode_LOOP, cM_rndF(0.5f) + 1.0f, KAMOME_BAS_KA_WAIT2); + i_this->mTimers[0] = cM_rndF(60.0f) + 40.0f; + i_this->mVelocityFwdTarget = 30.0f; + i_this->actor.speedF = 30.0f; + } else { + return TRUE; + } + } + + if (l_kamomeHIO.m05 == 0) { + for (s32 i = 0; i < ARRAY_SSIZE(i_this->mTimers); i++) { + if (i_this->mTimers[i] != 0) { + i_this->mTimers[i]--; + } + } + + if (i_this->mbUsePathMovement != 0) { + kamome_path_move(i_this); + } else if (i_this->mType == 4) { + kamome_imouto_move(i_this); + } else if (i_this->mType == 5) { + kamome_imouto2_move(i_this); + } else if (i_this->mType == 7) { + kamome_heisou_move(i_this); + } else { + kamome_auto_move(i_this); + } + + i_this->mpMorf->play(&i_this->actor.eyePos, 0, 0); + cLib_addCalcAngleS2(&i_this->mJointRotY, i_this->mJointRotYTarget, 4, 0x800); + cLib_addCalcAngleS2(&i_this->mJointRotZ, i_this->mJointRotZTarget, 4, 0x800); + + if (i_this->m2AB != 0) { + if (i_this->mTimers[5] == 0) { + i_this->mTimers[5] = cM_rndF(20.0) + 10.0f; + i_this->mJointRotYTarget = cM_rndFX(REG0_F(8) + 3000.0f); + i_this->mJointRotZTarget = cM_rndFX(REG0_F(8) + 3000.0f); + } + i_this->m2AB = 0; + } else { + i_this->mJointRotZTarget = 0; + i_this->mJointRotYTarget = 0; + } + } + + daKamome_setMtx(i_this); + + i_this->actor.eyePos = i_this->actor.current.pos; + return TRUE; } /* 000049F8-00004A00 .text daKamome_IsDelete__FP12kamome_class */ @@ -126,18 +1411,43 @@ static BOOL daKamome_IsDelete(kamome_class*) { } /* 00004A00-00004A70 .text daKamome_Delete__FP12kamome_class */ -static BOOL daKamome_Delete(kamome_class*) { - /* Nonmatching */ +static BOOL daKamome_Delete(kamome_class* i_this) { + dComIfG_resDeleteDemo(&i_this->mPhase, "Kamome"); + if (i_this->m688 != 0) { + hio_set = false; + mDoHIO_deleteChild(l_kamomeHIO.mNo); + } + return TRUE; } /* 00004A70-00004B94 .text createHeap__FP10fopAc_ac_c */ -static BOOL createHeap(fopAc_ac_c*) { - /* Nonmatching */ +static BOOL createHeap(fopAc_ac_c* a_this) { + kamome_class* i_this = (kamome_class*)a_this; + + i_this->mpMorf = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("Kamome", KAMOME_BDL_KA), + NULL, + NULL, + (J3DAnmTransform*)dComIfG_getObjectRes("Kamome", KAMOME_BCK_KA_WAIT1), + J3DFrameCtrl::EMode_LOOP, + 1.0f, + 0, + -1, + 1, + dComIfG_getObjectRes("Kamome", KAMOME_BAS_KA_WAIT1), + 0x80000, + 0x11000022 + ); + if (i_this->mpMorf == NULL || i_this->mpMorf->getModel() == NULL) { + return FALSE; + } + + i_this->mpMorf->getModel()->setUserArea((u32)&i_this->actor); + return TRUE; } /* 00004B94-00004F84 .text daKamome_Create__FP10fopAc_ac_c */ -static cPhs_State daKamome_Create(fopAc_ac_c*) { - /* Nonmatching */ +static cPhs_State daKamome_Create(fopAc_ac_c* a_this) { static dCcD_SrcSph co_sph_src = { // dCcD_SrcGObjInf { @@ -166,6 +1476,88 @@ static cPhs_State daKamome_Create(fopAc_ac_c*) { /* Radius */ 40.0f, }}, }; + + kamome_class* i_this = (kamome_class*)a_this; + +#if VERSION == VERSION_DEMO + cPhs_State PVar1 = dComIfG_resLoad(&i_this->mPhase, "Kamome"); + if (PVar1 == cPhs_COMPLEATE_e) { + fopAcM_SetupActor(a_this, kamome_class); +#else + fopAcM_SetupActor(a_this, kamome_class); + + cPhs_State PVar1 = dComIfG_resLoad(&i_this->mPhase, "Kamome"); + if (PVar1 == cPhs_COMPLEATE_e) { +#endif + + i_this->mType = fopAcM_GetParam(a_this); + if (i_this->mType == 0xff) { + i_this->mType = 0; + } + + i_this->mKoMaxCount = fopAcM_GetParam(a_this) >> 8; + i_this->mPathIdx = fopAcM_GetParam(a_this) >> 0x10; + i_this->mSwitchNoPrm = fopAcM_GetParam(a_this) >> 0x18; + + if (!fopAcM_entrySolidHeap(a_this, createHeap, DEMO_SELECT(0x59A0, 0x1360))) { + return cPhs_ERROR_e; + } + + if (i_this->mPathIdx != 0xff) { + i_this->mpPath = dPath_GetRoomPath(i_this->mPathIdx, fopAcM_GetRoomNo(a_this)); + if (i_this->mpPath == NULL) { + return cPhs_ERROR_e; + } + i_this->mPathIdxIncr = 1; + i_this->mbUsePathMovement = i_this->mPathIdx + 1; + i_this->mPathIdxIncr = 1; + } + + if (i_this->mSwitchNoPrm != 0xff) { + i_this->mSwitchNo = i_this->mSwitchNoPrm + 1; + } + + fopAcM_SetMtx(a_this, i_this->mpMorf->getModel()->getBaseTRMtx()); + f32 tmp = REG0_F(2) + 1.0f; + f32 fVar6 = REG0_F(3) + 1.0f; + i_this->mScale = fVar6 + cM_rndF(tmp - fVar6); + if ((i_this->mType == 4) || (i_this->mType == 5)) { + i_this->mScale = i_this->mScale * (REG0_F(9) + 0.75f); + } + + cXyz sp10; + sp10.set(i_this->mScale, i_this->mScale, i_this->mScale); + i_this->mpMorf->getModel()->setBaseScale(sp10); + daKamome_setMtx(i_this); + i_this->mAcch.Set(fopAcM_GetPosition_p(a_this), fopAcM_GetOldPosition_p(a_this), a_this, 1, &i_this->mAcchCir, fopAcM_GetSpeed_p(a_this)); + + if ((i_this->mType == 4) || (i_this->mType == 5)) { + i_this->mAcchCir.SetWall(50.0f, 80.0f); + } else { + i_this->mAcchCir.SetWall(30.0f, 20.0f); + } + + if (i_this->mType == 4) { + i_this->mStts.Init(0x32, 0xff, a_this); + i_this->mSph.Set(co_sph_src); + i_this->mSph.SetStts(&i_this->mStts); + } + + i_this->mGlobalTimer = (s16)cM_rndF(10000.0f); + + if (!hio_set) { + l_kamomeHIO.mNo = mDoHIO_createChild("カモメ", &l_kamomeHIO); + i_this->m688 = 1; + hio_set = true; + } + + if ((i_this->mType != 6) && (i_this->mType == 7)) { + i_this->m2B4 = cM_rndF(10000.0f); + fopAcM_setStageLayer(a_this); + fopAcM_SetRoomNo(a_this, 0xff); + } + } + return PVar1; } static actor_method_class l_daKamome_Method = { diff --git a/src/d/actor/d_a_kamome2.cpp b/src/d/actor/d_a_kamome2.cpp index 3b0949d93..b6e969987 100644 --- a/src/d/actor/d_a_kamome2.cpp +++ b/src/d/actor/d_a_kamome2.cpp @@ -1,42 +1,358 @@ +#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_kamome2.h" +#include "d/res/res_kamome.h" #include "m_Do/m_Do_ext.h" #include "d/d_procname.h" +#include "d/d_camera.h" #include "d/d_priority.h" +#include "d/d_meter.h" +#include "d/d_snap.h" +#include "d/d_s_play.h" +#include "m_Do/m_Do_hostIO.h" +#include "m_Do/m_Do_ext.h" +#include "m_Do/m_Do_controller_pad.h" +#include "f_op/f_op_camera.h" -static void anm_init(kamome2_class*, int, f32, u8, f32, int) { - /* Nonmatching */ +class kamome2HIO_c : public JORReflexible { +public: + kamome2HIO_c() { + m05 = 0; + m08 = -2500.0f; + m0C = 60.0f; + } + virtual ~kamome2HIO_c() {} + + void genMessage(JORMContext*); + +public: + /* 0x04 */ s8 mNo; + /* 0x05 */ u8 m05; + /* 0x08 */ f32 m08; + /* 0x0C */ f32 m0C; +}; // size = 0x10 + +static bool hio_set; +static kamome2HIO_c l_HIO; + +static void anm_init(kamome2_class* i_this, int anmResIdx, f32 morf, u8 loopMode, f32 playSpeed, int soundResIdx) { + i_this->mpMorf->setAnm( + (J3DAnmTransform*)dComIfG_getObjectRes("Kamome", anmResIdx), loopMode, morf, playSpeed, 0.0f, -1.0f, dComIfG_getObjectRes("Kamome", soundResIdx) + ); } -static BOOL daKamome2_Draw(kamome2_class*) { - /* Nonmatching */ +static BOOL daKamome2_Draw(kamome2_class* i_this) { + g_env_light.settingTevStruct(dDlst_alphaModel_c::TYPE_SPHERE, &i_this->actor.current.pos, &i_this->actor.tevStr); + g_env_light.setLightTevColorType(i_this->mpMorf->getModel(), &i_this->actor.tevStr); + i_this->mpMorf->entryDL(); + + J3DModel* pJVar4 = i_this->mpMorf->getModel(); + J3DModel* pJVar3 = i_this->mpModel; + + for (u16 i = 0; i < pJVar4->getModelData()->getJointNum(); i++) { + pJVar3->setAnmMtx(i, pJVar4->getAnmMtx(i)); + } + + for (u16 i = 0; i < pJVar4->getModelData()->getWEvlpMtxNum(); i++) { + pJVar3->setWeightAnmMtx(i, pJVar4->getWeightAnmMtx(i)); + } + + cXyz sp08; + sp08.set(i_this->actor.current.pos.x, i_this->actor.current.pos.y + REG0_F(1) * 10.0f, i_this->actor.current.pos.z); + i_this->m2A0 = dComIfGd_setRealShadow(i_this->m2A0, 1, i_this->mpModel, &sp08, REG0_F(2) * 10.0f + 500.0f, 0.0f, &i_this->actor.tevStr); + dSnap_RegistFig(0x55, &i_this->actor, 1.0f, 1.0f, 1.0f); + return TRUE; } -static void kamome2_bgcheck(kamome2_class*) { - /* Nonmatching */ +const f64 unused_4206[] = {0.5, 3.0}; +const f32 unused_4207[] = {0.5f, 0.04f}; + +static void kamome2_bgcheck(kamome2_class* i_this) { + f32 val = 40.0f; + + i_this->actor.current.pos.y -= val; + i_this->actor.old.pos.y -= val; + i_this->mAcch.CrrPos(*dComIfG_Bgsp()); + i_this->actor.current.pos.y += val; + i_this->actor.old.pos.y += val; } -static void key_move(kamome2_class*) { - /* Nonmatching */ +static void key_move(kamome2_class* i_this) { + interface_of_controller_pad* pad = &g_mDoCPd_cpadInfo[0]; + f32 fVar3 = pad->mMainStickPosX; + f32 fVar4 = pad->mMainStickPosY; + s32 iVar1 = i_this->mpMorf->getFrame(); + + switch (i_this->m2AC) { + case 0: + i_this->m2BC = 30.0f; + i_this->m2C0 = unused_4207[0]; + if (!CPad_CHECK_HOLD_A(0) && iVar1 == REG0_S(0) + 9) { + i_this->m2AC = 1; + anm_init(i_this, KAMOME_BCK_KA_WAIT1, REG0_F(0) + 12.0f, 2, 1.0f, 8); + } + break; + + case 1: + if (CPad_CHECK_HOLD_X(0)) { + i_this->m2BC = 5.0f; + i_this->m2C0 = 0.2f; + } else { + i_this->m2BC = 20.0f; + i_this->m2C0 = 0.1f; + } + + if (CPad_CHECK_HOLD_A(0)) { + i_this->m2AC = 0; + anm_init(i_this, KAMOME_BCK_KA_WAIT2, 5.0f, 2, 1.0f, 9); + fopAcM_seStart(&i_this->actor, JA_SE_CV_KAMOME, 0); + } + break; + } + + s16 iVar2 = fVar3 * (REG6_F(10) + -5.0f) * 1000.0f; + s16 iVar10 = fVar4 * (REG6_F(11) + 5.0f) * 1000.0f; + s16 uVar9; + s16 uVar8; + s16 uVar7; + s16 uVar6; + if (std::fabsf(fVar3) > 0.2f) { + uVar6 = 0x100; + uVar7 = 0x400; + } else { + uVar6 = 0x80; + uVar7 = 0x80; + } + + if (std::fabsf(fVar4) > 0.2f) { + uVar8 = 0x200; + } else { + uVar8 = 0x80; + } + + if (iVar10 > 0 && i_this->mAcch.ChkGroundHit()) { + iVar10 = 0; + uVar8 = 0x800; + uVar9 = 10; + } else { + uVar9 = 4; + } + + cLib_addCalcAngleS2(&i_this->m2DC, iVar2, 10, uVar6); + cLib_addCalcAngleS2(&i_this->m2DA, iVar10, uVar9, uVar8); + cLib_addCalc2(&i_this->m314, fVar3 * (REG6_F(12) + -0.4f) * 1000.0f, 1.0f, 50.0f); + + i_this->actor.current.angle.y += (s16)i_this->m314; + + cLib_addCalcAngleS2(&i_this->actor.current.angle.x, iVar10, uVar9, uVar8); + cLib_addCalcAngleS2(&i_this->actor.current.angle.z, -iVar2, 5, uVar7); + cLib_addCalcAngleS2(&i_this->m308, i_this->m314 * (REG0_F(8) + -5.0f), 10, 100); + cLib_addCalc2(&i_this->actor.speedF, i_this->m2BC, 1.0f, i_this->m2C0); + + cXyz sp08; + sp08.x = 0.0f; + sp08.y = 0.0f; + sp08.z = i_this->actor.speedF; + cMtx_YrotS(*calc_mtx, i_this->actor.current.angle.y); + cMtx_XrotM(*calc_mtx, i_this->actor.current.angle.x); + MtxPosition(&sp08, &i_this->actor.speed); + + i_this->actor.current.pos.x += i_this->actor.speed.x; + i_this->actor.current.pos.y += i_this->actor.speed.y; + i_this->actor.current.pos.z += i_this->actor.speed.z; + + kamome2_bgcheck(i_this); + + i_this->mSph.SetC(i_this->actor.current.pos); + + dComIfG_Ccsp()->Set(&i_this->mSph); } -static BOOL daKamome2_Execute(kamome2_class*) { - /* Nonmatching */ +static BOOL daKamome2_Execute(kamome2_class* i_this) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + + i_this->m2A8++; + if (l_HIO.m05 == 0) { + for (s32 i = 0; i < ARRAY_SSIZE(i_this->m2D0); i++) { + if (i_this->m2D0[i] != 0) { + i_this->m2D0[i]--; + } + } + + if (i_this->m2A4 == 0) { + key_move(i_this); + } + i_this->mpMorf->play(&i_this->actor.eyePos, 0, 0); + } + + MtxTrans(i_this->actor.current.pos.x, i_this->actor.current.pos.y, i_this->actor.current.pos.z, 0); + cMtx_YrotM(*calc_mtx, i_this->actor.current.angle.y + i_this->m2DC); + cMtx_XrotM(*calc_mtx, i_this->actor.current.angle.x + i_this->m2DA); + cMtx_ZrotM(*calc_mtx, i_this->actor.current.angle.z); + + J3DModel* model = i_this->mpMorf->getModel(); + model->setBaseTRMtx(*calc_mtx); + i_this->mpMorf->calc(); + model = i_this->mpModel; + model->setBaseTRMtx(*calc_mtx); + + switch (i_this->m2EC) { + case 0: + if (i_this->m2D0[0] == 1) { + i_this->m2EC = 1; + } + break; + + case 1: + if (!i_this->actor.eventInfo.checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(&i_this->actor, 2, 0xffff, 0); + i_this->actor.eventInfo.onCondition(dEvtCnd_UNK2_e); + break; + } + + camera->mCamera.Stop(); + dMeter_mtrHide(); + camera->mCamera.SetTrimSize(2); + i_this->m2EC = 1; + i_this->m2F0 = i_this->actor.current.pos; + i_this->m2FC = i_this->actor.current.pos; + + case 2: + cMtx_YrotS(*calc_mtx, i_this->actor.current.angle.y); + cMtx_XrotM(*calc_mtx, i_this->actor.current.angle.x); + + cXyz sp2C; + sp2C.x = 0.0f; + sp2C.y = 0.0f; + sp2C.z = l_HIO.m08; + cXyz sp20; + MtxPosition(&sp2C, &sp20); + cLib_addCalc2(&i_this->m2F0.x, i_this->actor.current.pos.x + sp20.x, 0.1f, 1000.0f); + cLib_addCalc2(&i_this->m2F0.y, i_this->actor.current.pos.y + sp20.y, 0.1f, 1000.0f); + cLib_addCalc2(&i_this->m2F0.z, i_this->actor.current.pos.z + sp20.z, 0.1f, 1000.0f); + + sp2C.x = i_this->m2DC * 0.015f; + sp2C.y = i_this->m2DA * -0.01f; + sp2C.z = 0; + MtxPosition(&sp2C, &sp20); + cLib_addCalc2(&i_this->m2FC.x, i_this->actor.current.pos.x + sp20.x, 0.1f, 1000.0f); + cLib_addCalc2(&i_this->m2FC.y, i_this->actor.current.pos.y + sp20.y, 0.1f, 1000.0f); + cLib_addCalc2(&i_this->m2FC.z, i_this->actor.current.pos.z + sp20.z, 0.1f, 1000.0f); + break; + } + + if (i_this->m2EC != 0) { + camera->mCamera.Set(i_this->m2FC, i_this->m2F0, i_this->m308, l_HIO.m0C); + } + + i_this->actor.eyePos = i_this->actor.current.pos; + return TRUE; } static BOOL daKamome2_IsDelete(kamome2_class*) { - /* Nonmatching */ + return TRUE; } -static BOOL daKamome2_Delete(kamome2_class*) { - /* Nonmatching */ +static BOOL daKamome2_Delete(kamome2_class* i_this) { + dComIfG_deleteObjectRes("Kamome"); + if (i_this->m68C) { + hio_set = false; + mDoHIO_deleteChild(l_HIO.mNo); + } + return TRUE; } -static BOOL useHeapInit(fopAc_ac_c*) { - /* Nonmatching */ +static BOOL useHeapInit(fopAc_ac_c* a_this) { + kamome2_class* i_this = (kamome2_class*)a_this; + i_this->mpMorf = new mDoExt_McaMorf( + (J3DModelData*)dComIfG_getObjectRes("Kamome", KAMOME_BDL_KA), + NULL, + NULL, + (J3DAnmTransform*)dComIfG_getObjectRes("Kamome", KAMOME_BCK_KA_WAIT1), + J3DFrameCtrl::EMode_LOOP, + 1.0f, + 0, + -1, + 0x1, + (void*)dComIfG_getObjectRes("Kamome", KAMOME_BAS_KA_WAIT1), + 0x80000, + 0x11000002 + ); + + if ((i_this->mpMorf == NULL) || (i_this->mpMorf->getModel() == NULL)) { + return FALSE; + } + + i_this->mpModel = mDoExt_J3DModel__create(i_this->mpMorf->getModel()->getModelData(), 0x20000, 0x11020203); + if (i_this->mpModel == NULL) { + return FALSE; + } + return TRUE; } -static cPhs_State daKamome2_Create(fopAc_ac_c*) { - /* Nonmatching */ +static cPhs_State daKamome2_Create(fopAc_ac_c* a_this) { + static dCcD_SrcSph at_sph_src = { + // dCcD_SrcGObjInf + { + /* Flags */ 0, + /* SrcObjAt Type */ AT_TYPE_SWORD, + /* SrcObjAt Atp */ 1, + /* SrcObjAt SPrm */ cCcD_AtSPrm_Set_e | cCcD_AtSPrm_VsEnemy_e, + /* SrcObjTg Type */ 0, + /* SrcObjTg SPrm */ 0, + /* SrcObjCo SPrm */ 0, + /* SrcGObjAt Se */ 0, + /* SrcGObjAt HitMark */ dCcG_AtHitMark_None_e, + /* SrcGObjAt Spl */ dCcG_At_Spl_UNK0, + /* SrcGObjAt Mtrl */ 0, + /* SrcGObjAt SPrm */ 0, + /* SrcGObjTg Se */ 0, + /* SrcGObjTg HitMark */ 0, + /* SrcGObjTg Spl */ dCcG_Tg_Spl_UNK0, + /* SrcGObjTg Mtrl */ 0, + /* SrcGObjTg SPrm */ 0, + /* SrcGObjCo SPrm */ 0, + }, + // cM3dGSphS + {{ + /* Center */ {0.0f, 0.0f, 0.0f}, + /* Radius */ 40.0f, + }}, + }; + + kamome2_class* i_this = (kamome2_class*)a_this; + + cPhs_State iVar1 = dComIfG_resLoad(&i_this->mPhase, "Kamome"); + if (iVar1 == cPhs_COMPLEATE_e) { + fopAcM_SetupActor(a_this, kamome2_class); + + i_this->m2A4 = fopAcM_GetParam(a_this); + if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x59A0)) { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(a_this, i_this->mpMorf->getModel()->getBaseTRMtx()); + i_this->mAcch.Set(fopAcM_GetPosition_p(a_this), fopAcM_GetOldPosition_p(a_this), a_this, 1, &i_this->mAcchCir, fopAcM_GetSpeed_p(a_this)); + + if (i_this->m2A4 == 3) { + i_this->mAcchCir.SetWall(50.0f, 80.0f); + i_this->mAcch.SetGroundUpY(40.0f); + } else { + i_this->mAcchCir.SetWall(30.0f, 20.0f); + } + i_this->mStts.Init(0, 0xff, a_this); + i_this->mSph.Set(at_sph_src); + i_this->mSph.SetStts(&i_this->mStts); + i_this->m2A8 = (s16)cM_rndF(10000.0f); + if (!hio_set) { + l_HIO.mNo = mDoHIO_createChild("操作カモメ", &l_HIO); + i_this->m68C = true; + hio_set = true; + } + i_this->m2D0[0] = 0x1e; + } + + return iVar1; } static actor_method_class l_daKamome2_Method = { diff --git a/src/d/actor/d_a_kui.cpp b/src/d/actor/d_a_kui.cpp index d2fe615f1..353152332 100644 --- a/src/d/actor/d_a_kui.cpp +++ b/src/d/actor/d_a_kui.cpp @@ -219,7 +219,7 @@ static BOOL daKui_Execute(kui_class* i_this) { btd_class* btd = search_btd(i_this); if (dragon_tail != NULL && btd != NULL) { - if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->field_0x2e4 < 10) { + if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->m02E4 < 10) { actor->current.pos = dragon_tail->unk_3B0; actor->current.angle = dragon_tail->actor.current.angle; } else { diff --git a/src/d/d_snap.cpp b/src/d/d_snap.cpp index 9bb79342e..b8ec078ea 100644 --- a/src/d/d_snap.cpp +++ b/src/d/d_snap.cpp @@ -20,12 +20,17 @@ int (dSnap_packet::*dSnap_packet::m_judge_tbl[])() = { &dSnap_packet::JudgeCoupleLook, &dSnap_packet::JudgeGF, &dSnap_packet::JudgeGenzo, +#if VERSION == VERSION_DEMO + &dSnap_packet::JudgeGene, +#else &dSnap_packet::JudgeObasan4, +#endif &dSnap_packet::JudgeGene, &dSnap_packet::JudgeGene, &dSnap_packet::JudgeGene, &dSnap_packet::JudgeTestM, }; + dSnap_packet l_snap; struct CharaData { @@ -91,11 +96,11 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x02, }, { // 0x05 - /* offset */ {0, -30, 0}, - /* radius */ 30, + /* offset */ {0, DEMO_SELECT(40, -30), DEMO_SELECT(120, 0)}, + /* radius */ DEMO_SELECT(40, 30), /* height */ 60, - /* minRatio */ 500, - /* cullAngle */ 0x3FFF, + /* minRatio */ DEMO_SELECT(200, 500), + /* cullAngle */ DEMO_SELECT(15000, 0x3FFF), /* minPixels */ 2000, /* figRoom */ 0x03, /* m11 */ 0x02, @@ -154,7 +159,7 @@ static const CharaData l_CharaData[] = { /* offset */ {0, 0, 0}, /* radius */ 50, /* height */ 60, - /* minRatio */ 400, + /* minRatio */ DEMO_SELECT(550, 400), /* cullAngle */ 0x3E80, /* minPixels */ 4000, /* figRoom */ 0x03, @@ -181,12 +186,12 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x00, }, { // 0x0E - /* offset */ {0, 30, 0}, - /* radius */ 50, - /* height */ 120, - /* minRatio */ 200, + /* offset */ {0, DEMO_SELECT(20, 30), 0}, + /* radius */ DEMO_SELECT(60, 50), + /* height */ DEMO_SELECT(130, 120), + /* minRatio */ DEMO_SELECT(550, 200), /* cullAngle */ 0x4650, - /* minPixels */ 3000, + /* minPixels */ DEMO_SELECT(4000, 3000), /* figRoom */ 0x02, /* m11 */ 0x02, }, @@ -332,10 +337,10 @@ static const CharaData l_CharaData[] = { }, { // 0x1D /* offset */ {0, 80, 0}, - /* radius */ 35, - /* height */ 80, - /* minRatio */ 500, - /* cullAngle */ 0x4650, + /* radius */ DEMO_SELECT(40, 35), + /* height */ DEMO_SELECT(85, 80), + /* minRatio */ DEMO_SELECT(550, 500), + /* cullAngle */ DEMO_SELECT(10000, 18000), /* minPixels */ 5000, /* figRoom */ 0x02, /* m11 */ 0x02, @@ -465,7 +470,7 @@ static const CharaData l_CharaData[] = { /* radius */ 50, /* height */ 160, /* minRatio */ 500, - /* cullAngle */ 0x2EE0, + /* cullAngle */ DEMO_SELECT(10000, 12000), /* minPixels */ 4500, /* figRoom */ 0x01, /* m11 */ 0x02, @@ -475,7 +480,7 @@ static const CharaData l_CharaData[] = { /* radius */ 50, /* height */ 160, /* minRatio */ 500, - /* cullAngle */ 0x2EE0, + /* cullAngle */ DEMO_SELECT(10000, 12000), /* minPixels */ 4500, /* figRoom */ 0x01, /* m11 */ 0x02, @@ -495,18 +500,18 @@ static const CharaData l_CharaData[] = { /* radius */ 50, /* height */ 80, /* minRatio */ 500, - /* cullAngle */ 0x2EE0, + /* cullAngle */ DEMO_SELECT(10000, 12000), /* minPixels */ 4500, /* figRoom */ 0x01, /* m11 */ 0x02, }, { // 0x2E - /* offset */ {0, 10, 0}, + /* offset */ {0, DEMO_SELECT(20, 10), DEMO_SELECT(10, 0)}, /* radius */ 50, - /* height */ 90, + /* height */ DEMO_SELECT(80, 90), /* minRatio */ 500, - /* cullAngle */ 0x32C8, - /* minPixels */ 5000, + /* cullAngle */ DEMO_SELECT(10000, 13000), + /* minPixels */ DEMO_SELECT(4500, 5000), /* figRoom */ 0x01, /* m11 */ 0x02, }, @@ -515,7 +520,7 @@ static const CharaData l_CharaData[] = { /* radius */ 50, /* height */ 80, /* minRatio */ 500, - /* cullAngle */ 0x2EE0, + /* cullAngle */ DEMO_SELECT(10000, 12000), /* minPixels */ 4500, /* figRoom */ 0x01, /* m11 */ 0x02, @@ -721,11 +726,11 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x02, }, { // 0x44 - /* offset */ {0, 20, 0}, - /* radius */ 50, - /* height */ 150, + /* offset */ {0, 20, DEMO_SELECT(25, 0)}, + /* radius */ DEMO_SELECT(70, 50), + /* height */ DEMO_SELECT(170, 150), /* minRatio */ 500, - /* cullAngle */ 0x2EE0, + /* cullAngle */ DEMO_SELECT(0x2000, 12000), /* minPixels */ 5000, /* figRoom */ 0x06, /* m11 */ 0x02, @@ -841,11 +846,11 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x02, }, { // 0x50 - /* offset */ {0, -300, 0}, - /* radius */ 870, - /* height */ 700, - /* minRatio */ 100, - /* cullAngle */ 0x6000, + /* offset */ {0, DEMO_SELECT(1000, -300), DEMO_SELECT(100, 0)}, + /* radius */ DEMO_SELECT(2000, 870), + /* height */ DEMO_SELECT(2000, 700), + /* minRatio */ DEMO_SELECT(300, 100), + /* cullAngle */ DEMO_SELECT(18000, 0x6000), /* minPixels */ 3000, /* figRoom */ 0x06, /* m11 */ 0x00, @@ -871,9 +876,9 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x0E, }, { // 0x53 - /* offset */ {0, 0, 0}, + /* offset */ {0, DEMO_SELECT(15, 0), 0}, /* radius */ 40, - /* height */ 55, + /* height */ DEMO_SELECT(100, 55), /* minRatio */ 500, /* cullAngle */ 0x2AF8, /* minPixels */ 4000, @@ -1071,11 +1076,11 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x00, }, { // 0x67 - /* offset */ {0, -50, 0}, - /* radius */ 50, - /* height */ 100, + /* offset */ {0, DEMO_SELECT(0, -50), DEMO_SELECT(50, 0)}, + /* radius */ DEMO_SELECT(40, 50), + /* height */ DEMO_SELECT(80, 100), /* minRatio */ 200, - /* cullAngle */ 0x4000, + /* cullAngle */ DEMO_SELECT(12000, 0x4000), /* minPixels */ 3000, /* figRoom */ 0x05, /* m11 */ 0x00, @@ -1301,10 +1306,10 @@ static const CharaData l_CharaData[] = { /* m11 */ 0x00, }, { // 0x7E - /* offset */ {0, -200, 0}, - /* radius */ 360, - /* height */ 450, - /* minRatio */ 500, + /* offset */ {0, DEMO_SELECT(300, -200), 0}, + /* radius */ DEMO_SELECT(600, 360), + /* height */ DEMO_SELECT(900, 450), + /* minRatio */ DEMO_SELECT(100, 500), /* cullAngle */ 0x4E20, /* minPixels */ 500, /* figRoom */ 0x04, @@ -1787,7 +1792,7 @@ void dSnap_packet::Execute() { if (ChkReleaseShutter()) { for (int col = 0; col < (s32)ARRAY_SIZE(m_tbl); col++) { m_tbl[col].Init(); - m_tbl[col].field_0x34 = 1e9f; + m_tbl[col].field_0x34 = G_CM3D_F_INF; } field_0x14 = 0; } @@ -1803,7 +1808,7 @@ int dSnap_packet::Regist(const dSnap_Obj& obj) { int col; bool r6 = false; int r29; - f32 f30 = -1e9f; + f32 f30 = -G_CM3D_F_INF; for (col = 0; col < ARRAY_SIZE(m_tbl); col++) { if (f30 < m_tbl[col].field_0x34 && m_tbl[col].m_obj.GetPhoto() >= 0x48) { r6 = true; @@ -2044,12 +2049,16 @@ int dSnap_packet::JudgeGenzo() { if (col1 == -1) { return 0; } +#if VERSION == VERSION_DEMO + if (m_tbl[col1].m_obj.ChkSuccess(2000, 0.3f)) +#else int col2 = FindPhoto(0, 6); if (col2 == -1) { return 0; } if (m_tbl[col1].m_obj.ChkSuccess(1500, 0.2f) && m_tbl[col2].m_obj.ChkSuccess(1500, 0.2f)) +#endif { return 5; } else { @@ -2094,6 +2103,13 @@ int dSnap_packet::JudgeGene() { /* 800CEA80-800CEB80 .text JudgeFigure__12dSnap_packetFi */ int dSnap_packet::JudgeFigure(int col) { +#if VERSION == VERSION_DEMO + // Fakematch? + // Something that uses m_tbl[col] but doesn't produce any code needs to be up here in order to match on demo. + // This breaks retail though, so maybe something else like a compiler flag is needed instead. + m_tbl[col].m_obj.mActorPID = m_tbl[col].m_obj.mActorPID; +#endif + if (field_0x10 >= 0xD0) { return 0; } @@ -2139,7 +2155,7 @@ void dSnap_packet::SetResult() { if (m_tbl[col].m_obj.mCapturedPixels == 0 || m_tbl[col].m_obj.GetPhoto() == 0) { continue; } - JUT_ASSERT(VERSION_SELECT(2325, 2325, 2327, 2327), 0 <= m_tbl[col].m_obj.GetPhoto() && m_tbl[col].m_obj.GetPhoto() < DSNAP_TYPE_LAST_INDEX); + JUT_ASSERT(VERSION_SELECT(2273, 2325, 2327, 2327), 0 <= m_tbl[col].m_obj.GetPhoto() && m_tbl[col].m_obj.GetPhoto() < DSNAP_TYPE_LAST_INDEX); if (m_tbl[col].m_obj.GetPhoto() < (s32)ARRAY_SIZE(sp8)) { if (sp8[m_tbl[col].m_obj.GetPhoto()] != 0) { continue; @@ -2221,8 +2237,9 @@ void dSnap_RegistFig(u8 r3, fopAc_ac_c* actor, const Vec& pos, s16 angleY, f32 f mDoMtx_stack_c::multVec(&sp8, &sp14); sp14 += pos; + int angY = angleY; dSnap_Obj sp20; - sp20.SetGeo(sp14, chara.radius*f2, chara.height*f1, (int)angleY); + sp20.SetGeo(sp14, chara.radius*f2, chara.height*f1, angY); sp20.SetInf(r3, actor, 0, 4, chara.cullAngle); dSnap_RegistSnapObj(sp20); }