diff --git a/config/GZLE01/splits.txt b/config/GZLE01/splits.txt index a6009416a..76202e490 100644 --- a/config/GZLE01/splits.txt +++ b/config/GZLE01/splits.txt @@ -141,10 +141,10 @@ m_Do/m_Do_machine_exception.cpp: .rodata start:0x803396F8 end:0x803398D8 .sbss start:0x803F69B0 end:0x803F69B8 -dolphin/os/__start.o: +dolphin/os/__start.c: .init start:0x80003100 end:0x800033A8 -c/c_damagereaction.o: +c/c_damagereaction.cpp: .text start:0x8001BEDC end:0x800227A0 .ctors start:0x803386A4 end:0x803386A8 .data start:0x80371DD0 end:0x80371FD8 @@ -153,7 +153,7 @@ c/c_damagereaction.o: .sbss start:0x803F69B8 end:0x803F69C0 .sdata2 start:0x803F7E58 end:0x803F7FB0 -c/c_dylink.o: +c/c_dylink.cpp: .text start:0x800227A0 end:0x80023004 .text start:0x80023004 end:0x8002306C .rodata start:0x803398D8 end:0x8033BB90 @@ -1704,7 +1704,7 @@ d/d_wpot_water.cpp: .sbss start:0x803F7300 end:0x803F7308 .sdata2 start:0x803FBB00 end:0x803FBB20 -Runtime.PPCEABI.H/__mem.o: +Runtime.PPCEABI.H/__mem.c: .init start:0x800033A8 end:0x800034E0 DynamicLink.cpp: diff --git a/config/GZLJ01/splits.txt b/config/GZLJ01/splits.txt index 2ea6bb7aa..25011b85a 100644 --- a/config/GZLJ01/splits.txt +++ b/config/GZLJ01/splits.txt @@ -140,10 +140,10 @@ m_Do/m_Do_machine_exception.cpp: .rodata start:0x80337158 end:0x80337338 .sbss start:0x803E9E90 end:0x803E9E98 -dolphin/os/__start.o: +dolphin/os/__start.c: .init start:0x80003100 end:0x800033A8 -c/c_damagereaction.o: +c/c_damagereaction.cpp: .text start:0x8001BB70 end:0x80022430 .ctors start:0x803360A0 end:0x803360A4 .data start:0x80365270 end:0x80365478 @@ -152,7 +152,7 @@ c/c_damagereaction.o: .sbss start:0x803E9E98 end:0x803E9EA0 .sdata2 start:0x803EB300 end:0x803EB458 -c/c_dylink.o: +c/c_dylink.cpp: .text start:0x80022430 end:0x80022C94 .text start:0x80022C94 end:0x80022CFC .rodata start:0x80337338 end:0x803395F0 @@ -1704,7 +1704,7 @@ d/d_wpot_water.cpp: .sbss start:0x803EA7A0 end:0x803EA7A8 .sdata2 start:0x803EEFD8 end:0x803EEFF8 -Runtime.PPCEABI.H/__mem.o: +Runtime.PPCEABI.H/__mem.c: .init start:0x800033A8 end:0x800034E0 DynamicLink.cpp: diff --git a/config/GZLP01/splits.txt b/config/GZLP01/splits.txt index a3245974d..409e61d08 100644 --- a/config/GZLP01/splits.txt +++ b/config/GZLP01/splits.txt @@ -141,10 +141,10 @@ m_Do/m_Do_machine_exception.cpp: .rodata start:0x8033EC90 end:0x8033EE70 .sbss start:0x803FE1B0 end:0x803FE1B8 -dolphin/os/__start.o: +dolphin/os/__start.c: .init start:0x80003100 end:0x800033A8 -c/c_damagereaction.o: +c/c_damagereaction.cpp: .text start:0x8001C22C end:0x80022AF0 .ctors start:0x8033DBE4 end:0x8033DBE8 .data start:0x80378AB0 end:0x80378CB8 @@ -153,7 +153,7 @@ c/c_damagereaction.o: .sbss start:0x803FE1B8 end:0x803FE1C0 .sdata2 start:0x803FF678 end:0x803FF7D0 -c/c_dylink.o: +c/c_dylink.cpp: .text start:0x80022AF0 end:0x80023354 .text start:0x80023354 end:0x800233BC .rodata start:0x8033EE70 end:0x80341128 @@ -1704,7 +1704,7 @@ d/d_wpot_water.cpp: .sbss start:0x803FEB20 end:0x803FEB28 .sdata2 start:0x80403350 end:0x80403370 -Runtime.PPCEABI.H/__mem.o: +Runtime.PPCEABI.H/__mem.c: .init start:0x800033A8 end:0x800034E0 DynamicLink.cpp: diff --git a/configure.py b/configure.py index 0c8764cad..a30f34c02 100644 --- a/configure.py +++ b/configure.py @@ -42,7 +42,7 @@ parser.add_argument( "mode", default="configure", help="configure or progress (default: configure)", - nargs='?', + nargs="?", ) parser.add_argument( "--version", @@ -207,113 +207,67 @@ def ActorRel(status, rel_name): return Rel(status, rel_name, f"d/actor/{rel_name}.cpp") +# Helper function for JSystem libraries +def JSystemLib(lib_name, objects): + return { + "lib": lib_name, + "mw_version": "GC/1.3.2", + "cflags": cflags_framework, + "host": True, + "objects": objects, + } + + +# Helper function for Dolphin libraries +def DolphinLib(lib_name, objects): + return { + "lib": lib_name, + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, # TODO check + "host": False, + "objects": objects, + } + + Matching = True NonMatching = False +config.warn_missing_config = True +config.warn_missing_source = False # TODO config.libs = [ - { - "lib": "Runtime.PPCEABI.H", - "mw_version": "GC/1.3.2", - "cflags": cflags_runtime, - "host": False, - "objects": [ - Object(Matching, "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"), - Object(Matching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp"), - Object(Matching, "Runtime.PPCEABI.H/global_destructor_chain.c"), - ], - }, - { - "lib": "REL", - "mw_version": "GC/1.3.2", - "cflags": cflags_rel, - "host": False, - "objects": [ - Object(Matching, "REL/executor.c"), - Object( - Matching, - "REL/global_destructor_chain.c", - source="Runtime.PPCEABI.H/global_destructor_chain.c", - ), - ], - }, - { - "lib": "JSystem", - "mw_version": "GC/1.3.2", - "cflags": cflags_framework, - "host": True, - "objects": [ - Object(NonMatching, "JSystem/JFramework/JFWDisplay.cpp"), - Object(NonMatching, "JSystem/JFramework/JFWSystem.cpp"), - Object(Matching, "JSystem/J3DGraphBase/J3DVertex.cpp"), - Object(NonMatching, "JSystem/J3DGraphBase/J3DPacket.cpp"), - Object(NonMatching, "JSystem/J3DGraphBase/J3DShape.cpp"), - Object(Matching, "JSystem/J3DGraphBase/J3DDrawBuffer.cpp"), - Object(Matching, "JSystem/J3DU/J3DUDL.cpp"), - Object(NonMatching, "JSystem/JParticle/JPATexture.cpp"), - Object(Matching, "JSystem/JKernel/JKRFile.cpp"), - Object(Matching, "JSystem/JSupport/JSUList.cpp"), - Object(NonMatching, "JSystem/JSupport/JSUInputStream.cpp"), - Object(Matching, "JSystem/JSupport/JSUMemoryStream.cpp"), - Object(Matching, "JSystem/JSupport/JSUFileStream.cpp"), - Object(Matching, "JSystem/JUtility/JUTResource.cpp"), - Object(Matching, "JSystem/JUtility/JUTTexture.cpp"), - Object(Matching, "JSystem/JUtility/JUTPalette.cpp"), - Object(Matching, "JSystem/JUtility/JUTNameTab.cpp"), - Object(Matching, "JSystem/JUtility/JUTGraphFifo.cpp"), - Object(Matching, "JSystem/JUtility/JUTFont.cpp"), - Object(NonMatching, "JSystem/J2DGraph/J2DGrafContext.cpp"), - Object(Matching, "JSystem/J2DGraph/J2DOrthoGraph.cpp"), - Object(NonMatching, "JSystem/J2DGraph/J2DPane.cpp"), - ], - }, - { - "lib": "SSystem", - "mw_version": "GC/1.3.2", - "cflags": cflags_framework, - "host": True, - "objects": [ - Object(Matching, "SSystem/SStandard/s_basic.cpp"), - Object(Matching, "SSystem/SComponent/c_malloc.cpp"), - Object(Matching, "SSystem/SComponent/c_API.cpp"), - Object(Matching, "SSystem/SComponent/c_API_graphic.cpp"), - Object(Matching, "SSystem/SComponent/c_counter.cpp"), - Object(Matching, "SSystem/SComponent/c_list.cpp"), - Object(Matching, "SSystem/SComponent/c_list_iter.cpp"), - Object(Matching, "SSystem/SComponent/c_node.cpp"), - Object(Matching, "SSystem/SComponent/c_node_iter.cpp"), - Object(Matching, "SSystem/SComponent/c_tree.cpp"), - Object(Matching, "SSystem/SComponent/c_tree_iter.cpp"), - Object(NonMatching, "SSystem/SComponent/c_phase.cpp"), - Object(Matching, "SSystem/SComponent/c_request.cpp"), - Object(Matching, "SSystem/SComponent/c_tag.cpp"), - Object(Matching, "SSystem/SComponent/c_tag_iter.cpp"), - Object(NonMatching, "SSystem/SComponent/c_xyz.cpp"), - Object(Matching, "SSystem/SComponent/c_sxyz.cpp"), - Object(Matching, "SSystem/SComponent/c_math.cpp"), - Object(NonMatching, "SSystem/SComponent/c_bg_s.cpp"), - Object(Matching, "SSystem/SComponent/c_bg_s_chk.cpp"), - Object(NonMatching, "SSystem/SComponent/c_bg_s_gnd_chk.cpp"), - Object(Matching, "SSystem/SComponent/c_bg_s_lin_chk.cpp"), - Object(NonMatching, "SSystem/SComponent/c_bg_w.cpp"), - Object(NonMatching, "SSystem/SComponent/c_m2d.cpp"), - Object(NonMatching, "SSystem/SComponent/c_m2d_g_box.cpp"), - Object(Matching, "SSystem/SComponent/c_m3d_g_aab.cpp"), - Object(Matching, "SSystem/SComponent/c_m3d_g_cyl.cpp"), - Object(Matching, "SSystem/SComponent/c_m3d_g_pla.cpp"), - Object(NonMatching, "SSystem/SComponent/c_m3d_g_sph.cpp"), - Object(Matching, "SSystem/SComponent/c_m3d_g_tri.cpp"), - Object(NonMatching, "SSystem/SComponent/c_lib.cpp"), - Object(NonMatching, "SSystem/SComponent/c_angle.cpp"), - Object(Matching, "SSystem/SComponent/c_data_tbl.cpp"), - ], - }, { "lib": "framework", "mw_version": "GC/1.3.2", "cflags": cflags_framework, "host": True, "objects": [ + # machine + Object(NonMatching, "m_Do/m_Do_main.cpp"), + Object(NonMatching, "m_Do/m_Do_printf.cpp"), + Object(NonMatching, "m_Do/m_Do_audio.cpp"), + Object(NonMatching, "m_Do/m_Do_controller_pad.cpp"), + Object(NonMatching, "m_Do/m_Do_graphic.cpp"), + Object(NonMatching, "m_Do/m_Do_machine.cpp"), + Object(NonMatching, "m_Do/m_Do_mtx.cpp"), + Object(NonMatching, "m_Do/m_Do_ext.cpp"), + Object(NonMatching, "m_Do/m_Do_lib.cpp"), + Object(Matching, "m_Do/m_Do_hostIO.cpp"), + Object(NonMatching, "m_Do/m_Do_Reset.cpp"), + Object(NonMatching, "m_Do/m_Do_dvd_thread.cpp"), + Object(NonMatching, "m_Do/m_Do_DVDError.cpp"), + Object(NonMatching, "m_Do/m_Do_MemCard.cpp"), + Object(NonMatching, "m_Do/m_Do_MemCardRWmng.cpp"), + Object(NonMatching, "m_Do/m_Do_gba_com.cpp"), + Object(NonMatching, "m_Do/m_Do_machine_exception.cpp"), + + # c + Object(NonMatching, "c/c_damagereaction.cpp"), + Object(NonMatching, "c/c_dylink.cpp"), + + # f_ap Object(NonMatching, "f_ap/f_ap_game.cpp"), + + # f_op Object(NonMatching, "f_op/f_op_actor.cpp"), Object(Matching, "f_op/f_op_actor_iter.cpp"), Object(Matching, "f_op/f_op_actor_tag.cpp"), @@ -336,6 +290,8 @@ config.libs = [ Object(Matching, "f_op/f_op_draw_iter.cpp"), Object(Matching, "f_op/f_op_draw_tag.cpp"), Object(Matching, "f_op/f_op_scene_pause.cpp"), + + # f_pc Object(Matching, "f_pc/f_pc_base.cpp"), Object(Matching, "f_pc/f_pc_create_iter.cpp"), Object(Matching, "f_pc/f_pc_create_req.cpp"), @@ -367,33 +323,880 @@ config.libs = [ Object(Matching, "f_pc/f_pc_fstcreate_req.cpp"), Object(Matching, "f_pc/f_pc_stdcreate_req.cpp"), - # machine - Object(NonMatching, "m_Do/m_Do_main.cpp"), - Object(NonMatching, "m_Do/m_Do_audio.cpp"), - Object(NonMatching, "m_Do/m_Do_controller_pad.cpp"), - Object(Matching, "m_Do/m_Do_hostIO.cpp"), - Object(NonMatching, "m_Do/m_Do_mtx.cpp"), - # dolzel - Object(Matching, "d/d_com_lib_game.cpp"), - Object(Matching, "d/d_particle_name.cpp"), - Object(NonMatching, "d/d_s_title.cpp"), + Object(NonMatching, "d/d_stage.cpp"), + Object(NonMatching, "d/d_map.cpp"), Object(NonMatching, "d/d_com_inf_game.cpp"), + Object(Matching, "d/d_com_lib_game.cpp"), + Object(NonMatching, "d/d_com_static.cpp"), + Object(NonMatching, "d/d_lib.cpp"), Object(NonMatching, "d/d_save.cpp"), Object(NonMatching, "d/d_save_init.cpp"), - Object(Matching, "d/d_bg_s_movebg_actor.cpp"), - Object(NonMatching, "d/d_s_play.cpp"), - - Object(NonMatching, "d/actor/d_a_player_main.cpp"), + Object(NonMatching, "d/d_shop.cpp"), + Object(NonMatching, "d/d_jnt_hit.cpp"), + Object(NonMatching, "d/d_chain.cpp"), + Object(NonMatching, "d/d_cloth_packet.cpp"), + Object(NonMatching, "d/actor/d_a_obj.cpp"), + Object(NonMatching, "d/actor/d_a_obj_tribox_static.cpp"), + Object(NonMatching, "d/actor/d_a_ship_static.cpp"), + Object(NonMatching, "d/actor/d_a_boko_static.cpp"), + Object(NonMatching, "d/actor/d_a_bomb_static.cpp"), + Object(NonMatching, "d/actor/d_a_branch_static.cpp"), + Object(NonMatching, "d/actor/d_a_mgameboard_static.cpp"), Object(NonMatching, "d/actor/d_a_itembase_static.cpp"), Object(NonMatching, "d/actor/d_a_item_static.cpp"), + Object(NonMatching, "d/actor/d_a_shop_item_static.cpp"), + Object(NonMatching, "d/actor/d_a_race_item_static.cpp"), + Object(NonMatching, "d/actor/d_a_leaflift_static.cpp"), + Object(NonMatching, "d/d_demo.cpp"), + Object(NonMatching, "d/d_door.cpp"), + Object(NonMatching, "d/d_resorce.cpp"), + Object(NonMatching, "d/d_material.cpp"), + Object(NonMatching, "d/d_event.cpp"), + Object(NonMatching, "d/d_event_data.cpp"), + Object(NonMatching, "d/d_event_manager.cpp"), + Object(NonMatching, "d/d_magma.cpp"), + Object(NonMatching, "d/d_boss_magma.cpp"), + Object(NonMatching, "d/d_grass.cpp"), + Object(NonMatching, "d/d_tree.cpp"), + Object(NonMatching, "d/d_particle.cpp"), + Object(Matching, "d/d_particle_name.cpp"), + Object(NonMatching, "d/d_path.cpp"), + Object(NonMatching, "d/d_drawlist.cpp"), + Object(NonMatching, "d/d_kankyo_data.cpp"), + Object(NonMatching, "d/d_kankyo_wether.cpp"), + Object(NonMatching, "d/d_kankyo_rain.cpp"), + Object(NonMatching, "d/d_kankyo_demo.cpp"), + Object(NonMatching, "d/d_detect.cpp"), + Object(NonMatching, "d/d_vibration.cpp"), + Object(NonMatching, "d/d_vib_pattern.cpp"), + Object(NonMatching, "d/d_attention.cpp"), + Object(NonMatching, "d/d_att_dist.cpp"), + Object(NonMatching, "d/d_bg_s.cpp"), + Object(NonMatching, "d/d_bg_s_acch.cpp"), + Object(NonMatching, "d/d_bg_s_func.cpp"), + Object(NonMatching, "d/d_bg_s_lin_chk.cpp"), + Object(Matching, "d/d_bg_s_movebg_actor.cpp"), + Object(NonMatching, "d/d_bg_s_spl_grp_chk.cpp"), + Object(NonMatching, "d/d_bg_s_wtr_chk.cpp"), + Object(NonMatching, "d/d_bg_w.cpp"), + Object(NonMatching, "d/d_bg_w_deform.cpp"), + Object(NonMatching, "d/d_bg_w_hf.cpp"), + Object(NonMatching, "d/d_bg_w_sv.cpp"), + Object(NonMatching, "d/d_cc_d.cpp"), + Object(NonMatching, "d/d_cc_mass_s.cpp"), + Object(NonMatching, "d/d_cc_s.cpp"), + Object(NonMatching, "d/d_cc_uty.cpp"), + Object(NonMatching, "d/d_cam_param.cpp"), + Object(NonMatching, "d/d_cam_type.cpp"), + Object(NonMatching, "d/d_cam_style.cpp"), + Object(NonMatching, "d/d_cam_type2.cpp"), + Object(NonMatching, "d/d_ev_camera.cpp"), + Object(NonMatching, "d/d_wood.cpp"), + Object(NonMatching, "d/d_flower.cpp"), + Object(NonMatching, "d/d_item_data.cpp"), + Object(NonMatching, "d/d_seafightgame.cpp"), + Object(NonMatching, "d/d_spline_path.cpp"), + Object(NonMatching, "d/d_s_actor_data_mng.cpp"), + Object(NonMatching, "d/d_item.cpp"), + Object(NonMatching, "d/d_2dnumber.cpp"), + Object(NonMatching, "d/actor/d_a_npc_cb1_static.cpp"), + Object(NonMatching, "d/actor/d_a_npc_mk_static.cpp"), + Object(NonMatching, "d/d_salvage.cpp"), + Object(NonMatching, "d/d_snap.cpp"), + Object(NonMatching, "d/d_point_wind.cpp"), + Object(NonMatching, "d/actor/d_a_agb.cpp"), + Object(NonMatching, "d/actor/d_a_arrow.cpp"), + Object(NonMatching, "d/actor/d_a_bg.cpp"), + Object(NonMatching, "d/actor/d_a_bomb.cpp"), + Object(NonMatching, "d/actor/d_a_bomb2.cpp"), + Object(NonMatching, "d/actor/d_a_boomerang.cpp"), + Object(NonMatching, "d/actor/d_a_dai_item.cpp"), + Object(NonMatching, "d/actor/d_a_demo00.cpp"), + Object(NonMatching, "d/actor/d_a_disappear.cpp"), + Object(NonMatching, "d/actor/d_a_esa.cpp"), + Object(NonMatching, "d/actor/d_a_grid.cpp"), + Object(NonMatching, "d/actor/d_a_himo2.cpp"), + Object(NonMatching, "d/actor/d_a_hookshot.cpp"), + Object(NonMatching, "d/actor/d_a_ib.cpp"), Object(NonMatching, "d/actor/d_a_item.cpp"), Object(NonMatching, "d/actor/d_a_itembase.cpp"), + Object(NonMatching, "d/actor/d_a_nh.cpp"), + Object(NonMatching, "d/actor/d_a_npc_fa1.cpp"), + Object(NonMatching, "d/actor/d_a_obj_search.cpp"), + Object(NonMatching, "d/actor/d_a_player.cpp"), + Object(NonMatching, "d/actor/d_a_player_main.cpp"), + Object(NonMatching, "d/actor/d_a_player_npc.cpp"), + Object(NonMatching, "d/actor/d_a_sea.cpp"), + Object(NonMatching, "d/actor/d_a_spc_item01.cpp"), + Object(NonMatching, "d/actor/d_a_vrbox.cpp"), + Object(NonMatching, "d/actor/d_a_vrbox2.cpp"), + Object(NonMatching, "d/d_auction_screen.cpp"), + Object(NonMatching, "d/d_place_name.cpp"), + Object(NonMatching, "d/d_camera.cpp"), + Object(NonMatching, "d/d_envse.cpp"), + Object(NonMatching, "d/d_file_error.cpp"), + Object(NonMatching, "d/d_file_select.cpp"), + Object(NonMatching, "d/d_gameover.cpp"), + Object(NonMatching, "d/d_kankyo.cpp"), + Object(NonMatching, "d/d_kyeff.cpp"), + Object(NonMatching, "d/d_kyeff2.cpp"), + Object(NonMatching, "d/d_ky_thunder.cpp"), + Object(NonMatching, "d/d_letter.cpp"), + Object(NonMatching, "d/d_level_se.cpp"), + Object(NonMatching, "d/d_menu_cloth.cpp"), + Object(NonMatching, "d/d_menu_collect.cpp"), + Object(NonMatching, "d/d_menu_dmap.cpp"), + Object(NonMatching, "d/d_menu_fmap.cpp"), + Object(NonMatching, "d/d_menu_fmap2.cpp"), + Object(NonMatching, "d/d_menu_item.cpp"), + Object(NonMatching, "d/d_menu_option.cpp"), + Object(NonMatching, "d/d_menu_save.cpp"), + Object(NonMatching, "d/d_menu_window.cpp"), + Object(NonMatching, "d/d_mesg.cpp"), + Object(NonMatching, "d/d_message.cpp"), + Object(NonMatching, "d/d_message_paper.cpp"), + Object(NonMatching, "d/d_meter.cpp"), + Object(NonMatching, "d/d_minigame_starter.cpp"), + Object(NonMatching, "d/d_minigame_terminater.cpp"), + Object(NonMatching, "d/d_msg.cpp"), + Object(NonMatching, "d/d_name.cpp"), + Object(NonMatching, "d/d_npc.cpp"), + Object(NonMatching, "d/d_operate_wind.cpp"), + Object(NonMatching, "d/d_metronome.cpp"), + Object(NonMatching, "d/d_ovlp_fade.cpp"), + Object(NonMatching, "d/d_ovlp_fade2.cpp"), + Object(NonMatching, "d/d_ovlp_fade3.cpp"), + Object(NonMatching, "d/d_ovlp_fade4.cpp"), + Object(NonMatching, "d/d_picture_box.cpp"), + Object(NonMatching, "d/d_s_logo.cpp"), + Object(NonMatching, "d/d_s_menu.cpp"), + Object(NonMatching, "d/d_s_name.cpp"), + Object(NonMatching, "d/d_s_open.cpp"), + Object(NonMatching, "d/d_s_open_sub.cpp"), + Object(NonMatching, "d/d_s_play.cpp"), + Object(NonMatching, "d/d_s_room.cpp"), + Object(NonMatching, "d/d_s_title.cpp"), + Object(NonMatching, "d/d_scope.cpp"), + Object(NonMatching, "d/d_throwstone.cpp"), + Object(NonMatching, "d/d_timer.cpp"), + Object(NonMatching, "d/d_water_mark.cpp"), + Object(NonMatching, "d/d_wind_arrow.cpp"), + Object(NonMatching, "d/d_wpillar.cpp"), + Object(NonMatching, "d/d_wpot_water.cpp"), - # ? Object(Matching, "DynamicLink.cpp"), ], }, + { + "lib": "SSystem", + "mw_version": "GC/1.3.2", + "cflags": cflags_framework, + "host": True, + "objects": [ + Object(Matching, "SSystem/SComponent/c_malloc.cpp"), + Object(Matching, "SSystem/SComponent/c_API.cpp"), + Object(Matching, "SSystem/SComponent/c_API_graphic.cpp"), + Object(NonMatching, "SSystem/SComponent/c_cc_d.cpp"), + Object(NonMatching, "SSystem/SComponent/c_cc_s.cpp"), + Object(Matching, "SSystem/SComponent/c_counter.cpp"), + Object(Matching, "SSystem/SComponent/c_list.cpp"), + Object(Matching, "SSystem/SComponent/c_list_iter.cpp"), + Object(Matching, "SSystem/SComponent/c_node.cpp"), + Object(Matching, "SSystem/SComponent/c_node_iter.cpp"), + Object(Matching, "SSystem/SComponent/c_tree.cpp"), + Object(Matching, "SSystem/SComponent/c_tree_iter.cpp"), + Object(NonMatching, "SSystem/SComponent/c_phase.cpp"), + Object(Matching, "SSystem/SComponent/c_request.cpp"), + Object(Matching, "SSystem/SComponent/c_tag.cpp"), + Object(Matching, "SSystem/SComponent/c_tag_iter.cpp"), + Object(NonMatching, "SSystem/SComponent/c_xyz.cpp"), + Object(Matching, "SSystem/SComponent/c_sxyz.cpp"), + Object(Matching, "SSystem/SComponent/c_math.cpp"), + Object(NonMatching, "SSystem/SComponent/c_bg_s.cpp"), + Object(Matching, "SSystem/SComponent/c_bg_s_chk.cpp"), + Object(NonMatching, "SSystem/SComponent/c_bg_s_gnd_chk.cpp"), + Object(Matching, "SSystem/SComponent/c_bg_s_lin_chk.cpp"), + Object(NonMatching, "SSystem/SComponent/c_bg_w.cpp"), + Object(NonMatching, "SSystem/SComponent/c_m2d.cpp"), + Object(NonMatching, "SSystem/SComponent/c_m2d_g_box.cpp"), + Object(NonMatching, "SSystem/SComponent/c_m3d.cpp"), + Object(Matching, "SSystem/SComponent/c_m3d_g_aab.cpp"), + Object(Matching, "SSystem/SComponent/c_m3d_g_cyl.cpp"), + Object(Matching, "SSystem/SComponent/c_m3d_g_pla.cpp"), + Object(NonMatching, "SSystem/SComponent/c_m3d_g_sph.cpp"), + Object(Matching, "SSystem/SComponent/c_m3d_g_tri.cpp"), + Object(NonMatching, "SSystem/SComponent/c_lib.cpp"), + Object(NonMatching, "SSystem/SComponent/c_angle.cpp"), + Object(Matching, "SSystem/SComponent/c_data_tbl.cpp"), + Object(Matching, "SSystem/SStandard/s_basic.cpp"), + ], + }, + JSystemLib( + "JFramework", + [ + Object(NonMatching, "JSystem/JFramework/JFWDisplay.cpp"), + Object(NonMatching, "JSystem/JFramework/JFWSystem.cpp"), + ], + ), + JSystemLib( + "J3DU", + [ + Object(NonMatching, "JSystem/J3DU/J3DUClipper.cpp"), + Object(NonMatching, "JSystem/J3DU/J3DUMotion.cpp"), + Object(Matching, "JSystem/J3DU/J3DUDL.cpp"), + ], + ), + JSystemLib( + "JParticle", + [ + Object(NonMatching, "JSystem/JParticle/JPABaseShape.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAExtraShape.cpp"), + Object(NonMatching, "JSystem/JParticle/JPASweepShape.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAExTexShape.cpp"), + Object(NonMatching, "JSystem/JParticle/JPADynamicsBlock.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAFieldBlock.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAKeyBlock.cpp"), + Object(NonMatching, "JSystem/JParticle/JPATexture.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAResourceManager.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAEmitterLoader.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAMath.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAField.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAEmitter.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAParticle.cpp"), + Object(NonMatching, "JSystem/JParticle/JPAEmitterManager.cpp"), + Object(NonMatching, "JSystem/JParticle/JPADrawVisitor.cpp"), + Object(NonMatching, "JSystem/JParticle/JPADraw.cpp"), + Object(NonMatching, "JSystem/JParticle/JPADrawSetupTev.cpp"), + ], + ), + JSystemLib( + "JStage", + [ + Object(NonMatching, "JSystem/JStage/JSGActor.cpp"), + Object(NonMatching, "JSystem/JStage/JSGAmbientLight.cpp"), + Object(NonMatching, "JSystem/JStage/JSGCamera.cpp"), + Object(NonMatching, "JSystem/JStage/JSGFog.cpp"), + Object(NonMatching, "JSystem/JStage/JSGLight.cpp"), + Object(NonMatching, "JSystem/JStage/JSGObject.cpp"), + Object(NonMatching, "JSystem/JStage/JSGSystem.cpp"), + ], + ), + JSystemLib( + "JStudio", + [ + Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-control.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-data.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-math.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-object.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/functionvalue.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/fvb.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/fvb-data.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/fvb-data-parse.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/object-id.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/stb.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/stb-data.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio/stb-data-parse.cpp"), + ], + ), + JSystemLib( + "JStudio_JStage", + [ + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/control.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object-actor.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object-ambientlight.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object-camera.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object-fog.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JStage/object-light.cpp"), + ], + ), + JSystemLib( + "JStudio_JAudio", + [ + Object(NonMatching, "JSystem/JStudio/JStudio_JAudio/control.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JAudio/object-sound.cpp"), + ], + ), + JSystemLib( + "JStudio_JParticle", + [ + Object(NonMatching, "JSystem/JStudio/JStudio_JParticle/control.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JParticle/object-particle.cpp"), + ], + ), + JSystemLib( + "JStudio_JMessage", + [ + Object(NonMatching, "JSystem/JStudio/JStudio_JMessage/control.cpp"), + Object(NonMatching, "JSystem/JStudio/JStudio_JMessage/object-message.cpp"), + ], + ), + JSystemLib( + "JStudioToolLibrary", + [ + Object(NonMatching, "JSystem/JStudio/JStudioToolLibrary/console.cpp"), + ], + ), + JSystemLib( + "JAudio", + [ + Object(NonMatching, "JSystem/JAudio/JASCalc.cpp"), + Object(NonMatching, "JSystem/JAudio/JASAiCtrl.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDvdThread.cpp"), + Object(NonMatching, "JSystem/JAudio/JASCallback.cpp"), + Object(NonMatching, "JSystem/JAudio/JASRate.cpp"), + Object(NonMatching, "JSystem/JAudio/JASHardStream.cpp"), + Object(NonMatching, "JSystem/JAudio/JASHeapCtrl.cpp"), + Object(NonMatching, "JSystem/JAudio/JASResArcLoader.cpp"), + Object(NonMatching, "JSystem/JAudio/JASProbe.cpp"), + Object(NonMatching, "JSystem/JAudio/JASKernelDebug.cpp"), + Object(NonMatching, "JSystem/JAudio/JASCmdStack.cpp"), + Object(NonMatching, "JSystem/JAudio/JASSystemHeap.cpp"), + Object(NonMatching, "JSystem/JAudio/JASNoteMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JASOuterParam.cpp"), + Object(NonMatching, "JSystem/JAudio/JASPlayer_impl.cpp"), + Object(NonMatching, "JSystem/JAudio/JASRegisterParam.cpp"), + Object(NonMatching, "JSystem/JAudio/JASSeqCtrl.cpp"), + Object(NonMatching, "JSystem/JAudio/JASSeqParser.cpp"), + Object(NonMatching, "JSystem/JAudio/JASTrack.cpp"), + Object(NonMatching, "JSystem/JAudio/JASTrackInterrupt.cpp"), + Object(NonMatching, "JSystem/JAudio/JASTrackPort.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBank.cpp"), + Object(NonMatching, "JSystem/JAudio/JASWaveBank.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBasicBank.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBasicInst.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDrumSet.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBasicWaveBank.cpp"), + Object(NonMatching, "JSystem/JAudio/JASSimpleWaveBank.cpp"), + Object(NonMatching, "JSystem/JAudio/JASInstEffect.cpp"), + Object(NonMatching, "JSystem/JAudio/JASInstSense.cpp"), + Object(NonMatching, "JSystem/JAudio/JASInstRand.cpp"), + Object(NonMatching, "JSystem/JAudio/JASWSParser.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBNKParser.cpp"), + Object(NonMatching, "JSystem/JAudio/JASWaveArcLoader.cpp"), + Object(NonMatching, "JSystem/JAudio/JASWaveBankMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JASBankMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JASAudioThread.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDSPBuf.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDSPChannel.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDSPInterface.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDriverIF.cpp"), + Object(NonMatching, "JSystem/JAudio/JASChGlobal.cpp"), + Object(NonMatching, "JSystem/JAudio/JASChAllocQueue.cpp"), + Object(NonMatching, "JSystem/JAudio/JASChannel.cpp"), + Object(NonMatching, "JSystem/JAudio/JASChannelMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JASOscillator.cpp"), + Object(NonMatching, "JSystem/JAudio/JASDriverTables.cpp"), + Object(NonMatching, "JSystem/JAudio/dspproc.c"), + Object(NonMatching, "JSystem/JAudio/dsptask.c"), + Object(NonMatching, "JSystem/JAudio/osdsp.c"), + Object(NonMatching, "JSystem/JAudio/osdsp_task.c"), + Object(NonMatching, "JSystem/JAudio/JAIAnimation.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIBasic.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIBankWave.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIConst.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIDummyObject.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIFx.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIGlobalParameter.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIInitData.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISeMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISequenceHeap.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISequenceMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISound.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISoundTable.cpp"), + Object(NonMatching, "JSystem/JAudio/JAIStreamMgr.cpp"), + Object(NonMatching, "JSystem/JAudio/JAISystemInterface.cpp"), + ], + ), + JSystemLib( + "JMessage", + [ + Object(NonMatching, "JSystem/JMessage/data.cpp"), + Object(NonMatching, "JSystem/JMessage/control.cpp"), + Object(NonMatching, "JSystem/JMessage/processor.cpp"), + Object(NonMatching, "JSystem/JMessage/resource.cpp"), + ], + ), + DolphinLib( + "gba", + [ + Object(NonMatching, "dolphin/gba/GBA.c"), + Object(NonMatching, "dolphin/gba/GBAGetProcessStatus.c"), + Object(NonMatching, "dolphin/gba/GBAJoyBoot.c"), + Object(NonMatching, "dolphin/gba/GBARead.c"), + Object(NonMatching, "dolphin/gba/GBAWrite.c"), + Object(NonMatching, "dolphin/gba/GBAXfer.c"), + ], + ), + JSystemLib( + "JAZelAudio", + [ + Object(NonMatching, "JSystem/JAZelAudio/JAIZelBasic.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelAnime.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelAtmos.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelInst.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelParam.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelCharVoiceTable.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelScene.cpp"), + Object(NonMatching, "JSystem/JAZelAudio/JAIZelSound.cpp"), + ], + ), + DolphinLib( + "gf", + [ + Object(NonMatching, "dolphin/gf/GFGeometry.cpp"), + Object(NonMatching, "dolphin/gf/GFLight.cpp"), + Object(NonMatching, "dolphin/gf/GFPixel.cpp"), + Object(NonMatching, "dolphin/gf/GFTev.cpp"), + Object(NonMatching, "dolphin/gf/GFTransform.cpp"), + ], + ), + JSystemLib( + "JKernel", + [ + Object(NonMatching, "JSystem/JKernel/JKRHeap.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRStdHeap.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRExpHeap.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRSolidHeap.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDisposer.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRThread.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAram.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAramHeap.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAramBlock.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAramPiece.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAramStream.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRFileLoader.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRFileFinder.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRFileCache.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRArchivePub.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRArchivePri.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRMemArchive.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRAramArchive.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDvdArchive.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRCompArchive.cpp"), + Object(Matching, "JSystem/JKernel/JKRFile.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDvdFile.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDvdRipper.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDvdAramRipper.cpp"), + Object(NonMatching, "JSystem/JKernel/JKRDecomp.cpp"), + ], + ), + JSystemLib( + "JSupport", + [ + Object(Matching, "JSystem/JSupport/JSUList.cpp"), + Object(NonMatching, "JSystem/JSupport/JSUInputStream.cpp"), + Object(Matching, "JSystem/JSupport/JSUMemoryStream.cpp"), + Object(Matching, "JSystem/JSupport/JSUFileStream.cpp"), + ], + ), + JSystemLib( + "JGadget", + [ + Object(NonMatching, "JSystem/JGadget/binary.cpp"), + Object(NonMatching, "JSystem/JGadget/linklist.cpp"), + Object(NonMatching, "JSystem/JGadget/std-vector.cpp"), + ], + ), + JSystemLib( + "JUtility", + [ + Object(NonMatching, "JSystem/JUtility/JUTCacheFont.cpp"), + Object(Matching, "JSystem/JUtility/JUTResource.cpp"), + Object(Matching, "JSystem/JUtility/JUTTexture.cpp"), + Object(Matching, "JSystem/JUtility/JUTPalette.cpp"), + Object(Matching, "JSystem/JUtility/JUTNameTab.cpp"), + Object(Matching, "JSystem/JUtility/JUTGraphFifo.cpp"), + Object(Matching, "JSystem/JUtility/JUTFont.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTResFont.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTDbPrint.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTGamePad.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTException.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTDirectPrint.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTAssert.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTVideo.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTXfb.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTFader.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTProcBar.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTConsole.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTDirectFile.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTGba.cpp"), + Object(NonMatching, "JSystem/JUtility/JUTFontData_Ascfont_fix12.s"), + ], + ), + JSystemLib( + "J2DGraph", + [ + Object(NonMatching, "JSystem/J2DGraph/J2DGrafContext.cpp"), + Object(Matching, "JSystem/J2DGraph/J2DOrthoGraph.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DPrint.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DPane.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DScreen.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DWindow.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DPicture.cpp"), + Object(NonMatching, "JSystem/J2DGraph/J2DTextBox.cpp"), + ], + ), + JSystemLib( + "JRenderer", + [ + Object(NonMatching, "JSystem/JRenderer/JRenderer.cpp"), + ], + ), + JSystemLib( + "J3DGraphBase", + [ + Object(NonMatching, "JSystem/J3DGraphBase/J3DGD.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DSys.cpp"), + Object(Matching, "JSystem/J3DGraphBase/J3DVertex.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DTransform.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DPacket.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DShape.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DMaterial.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DMatBlock.cpp"), + Object(NonMatching, "JSystem/J3DGraphBase/J3DTevs.cpp"), + Object(Matching, "JSystem/J3DGraphBase/J3DDrawBuffer.cpp"), + ], + ), + JSystemLib( + "J3DGraphAnimator", + [ + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DModelData.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DModel.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DAnimation.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DVisibility.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DCluster.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DJoint.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DNode.cpp"), + Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp"), + ], + ), + JSystemLib( + "J3DGraphLoader", + [ + Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoader.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"), + Object(NonMatching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"), + ], + ), + JSystemLib( + "JMath", + [ + Object(NonMatching, "JSystem/JMath/JMath.cpp"), + Object(NonMatching, "JSystem/JMath/random.cpp"), + ], + ), + DolphinLib( + "base", + [ + Object(NonMatching, "dolphin/base/PPCArch.c"), + ], + ), + DolphinLib( + "os", + [ + Object(NonMatching, "dolphin/os/__start.c"), + Object(NonMatching, "dolphin/os/OS.c"), + Object(NonMatching, "dolphin/os/OSAlarm.c"), + Object(NonMatching, "dolphin/os/OSAlloc.c"), + Object(NonMatching, "dolphin/os/OSArena.c"), + Object(NonMatching, "dolphin/os/OSAudioSystem.c"), + Object(NonMatching, "dolphin/os/OSCache.c"), + Object(NonMatching, "dolphin/os/OSContext.c"), + Object(NonMatching, "dolphin/os/OSError.c"), + Object(NonMatching, "dolphin/os/OSFont.c"), + Object(NonMatching, "dolphin/os/OSInterrupt.c"), + Object(NonMatching, "dolphin/os/OSLink.c"), + Object(NonMatching, "dolphin/os/OSMessage.c"), + Object(NonMatching, "dolphin/os/OSMemory.c"), + Object(NonMatching, "dolphin/os/OSMutex.c"), + Object(NonMatching, "dolphin/os/OSReboot.c"), + Object(NonMatching, "dolphin/os/OSReset.c"), + Object(NonMatching, "dolphin/os/OSResetSW.c"), + Object(NonMatching, "dolphin/os/OSRtc.c"), + Object(NonMatching, "dolphin/os/OSSync.c"), + Object(NonMatching, "dolphin/os/OSThread.c"), + Object(NonMatching, "dolphin/os/OSTime.c"), + Object(NonMatching, "dolphin/os/__ppc_eabi_init.cpp"), + ], + ), + DolphinLib( + "exi", + [ + Object(NonMatching, "dolphin/exi/EXIBios.c"), + Object(NonMatching, "dolphin/exi/EXIUart.c"), + ], + ), + DolphinLib( + "si", + [ + Object(NonMatching, "dolphin/si/SIBios.c"), + Object(NonMatching, "dolphin/si/SISamplingRate.c"), + ], + ), + DolphinLib( + "db", + [ + Object(NonMatching, "dolphin/db/db.c"), + ], + ), + DolphinLib( + "mtx", + [ + Object(NonMatching, "dolphin/mtx/mtx.c"), + Object(NonMatching, "dolphin/mtx/mtxvec.c"), + Object(NonMatching, "dolphin/mtx/mtx44.c"), + Object(NonMatching, "dolphin/mtx/vec.c"), + Object(NonMatching, "dolphin/mtx/quat.c"), + ], + ), + DolphinLib( + "dvd", + [ + Object(NonMatching, "dolphin/dvd/dvdlow.c"), + Object(NonMatching, "dolphin/dvd/dvdfs.c"), + Object(NonMatching, "dolphin/dvd/dvd.c"), + Object(NonMatching, "dolphin/dvd/dvdqueue.c"), + Object(NonMatching, "dolphin/dvd/dvderror.c"), + Object(NonMatching, "dolphin/dvd/dvdidutils.c"), + Object(NonMatching, "dolphin/dvd/dvdFatal.c"), + Object(NonMatching, "dolphin/dvd/fstload.c"), + ], + ), + DolphinLib( + "vi", + [ + Object(NonMatching, "dolphin/vi/vi.c"), + ], + ), + DolphinLib( + "pad", + [ + Object(NonMatching, "dolphin/pad/Padclamp.c"), + Object(NonMatching, "dolphin/pad/Pad.c"), + ], + ), + DolphinLib( + "ai", + [ + Object(NonMatching, "dolphin/ai/ai.c"), + Object(NonMatching, "dolphin/ar/ar.c"), + ], + ), + DolphinLib( + "ar", + [ + Object(NonMatching, "dolphin/ar/arq.c"), + ], + ), + DolphinLib( + "dsp", + [ + Object(NonMatching, "dolphin/dsp/dsp.c"), + Object(NonMatching, "dolphin/dsp/dsp_debug.c"), + Object(NonMatching, "dolphin/dsp/dsp_task.c"), + ], + ), + DolphinLib( + "card", + [ + Object(NonMatching, "dolphin/card/CARDBios.c"), + Object(NonMatching, "dolphin/card/CARDUnlock.c"), + Object(NonMatching, "dolphin/card/CARDRdwr.c"), + Object(NonMatching, "dolphin/card/CARDBlock.c"), + Object(NonMatching, "dolphin/card/CARDDir.c"), + Object(NonMatching, "dolphin/card/CARDCheck.c"), + Object(NonMatching, "dolphin/card/CARDMount.c"), + Object(NonMatching, "dolphin/card/CARDFormat.c"), + Object(NonMatching, "dolphin/card/CARDOpen.c"), + Object(NonMatching, "dolphin/card/CARDCreate.c"), + Object(NonMatching, "dolphin/card/CARDRead.c"), + Object(NonMatching, "dolphin/card/CARDWrite.c"), + Object(NonMatching, "dolphin/card/CARDStat.c"), + Object(NonMatching, "dolphin/card/CARDNet.c"), + ], + ), + DolphinLib( + "gx", + [ + Object(NonMatching, "dolphin/gx/GXInit.c"), + Object(NonMatching, "dolphin/gx/GXFifo.c"), + Object(NonMatching, "dolphin/gx/GXAttr.c"), + Object(NonMatching, "dolphin/gx/GXMisc.c"), + Object(NonMatching, "dolphin/gx/GXGeometry.c"), + Object(NonMatching, "dolphin/gx/GXFrameBuf.c"), + Object(NonMatching, "dolphin/gx/GXLight.c"), + Object(NonMatching, "dolphin/gx/GXTexture.c"), + Object(NonMatching, "dolphin/gx/GXBump.c"), + Object(NonMatching, "dolphin/gx/GXTev.c"), + Object(NonMatching, "dolphin/gx/GXPixel.c"), + Object(NonMatching, "dolphin/gx/GXStubs.c"), + Object(NonMatching, "dolphin/gx/GXDisplayList.c"), + Object(NonMatching, "dolphin/gx/GXTransform.c"), + Object(NonMatching, "dolphin/gx/GXPerf.c"), + ], + ), + DolphinLib( + "gd", + [ + Object(NonMatching, "dolphin/gd/GDBase.c"), + Object(NonMatching, "dolphin/gd/GDGeometry.c"), + ], + ), + { + "lib": "Runtime.PPCEABI.H", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "Runtime.PPCEABI.H/__mem.c"), + Object(NonMatching, "Runtime.PPCEABI.H/__va_arg.c"), + Object(Matching, "Runtime.PPCEABI.H/global_destructor_chain.c"), + Object(NonMatching, "Runtime.PPCEABI.H/CPlusLibPPC.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/NMWException.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/ptmf.c"), + Object(NonMatching, "Runtime.PPCEABI.H/runtime.c"), + Object(Matching, "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"), + Object(Matching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/GCN_mem_alloc.c"), + ], + }, + { + "lib": "MSL_C", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "MSL_C/MSL_Common/abort_exit.c"), + Object(NonMatching, "MSL_C/MSL_Common/alloc.c"), + Object(NonMatching, "MSL_C/MSL_Common/errno.c"), + Object(NonMatching, "MSL_C/MSL_Common/ansi_files.c"), + Object(NonMatching, "MSL_C/MSL_Common_Embedded/ansi_fp.c"), + Object(NonMatching, "MSL_C/MSL_Common/arith.c"), + Object(NonMatching, "MSL_C/MSL_Common/buffer_io.c"), + Object(NonMatching, "MSL_C/MSL_Common/ctype.c"), + Object(NonMatching, "MSL_C/MSL_Common/direct_io.c"), + Object(NonMatching, "MSL_C/MSL_Common/file_io.c"), + Object(NonMatching, "MSL_C/MSL_Common/FILE_POS.c"), + Object(NonMatching, "MSL_C/MSL_Common/mbstring.c"), + Object(NonMatching, "MSL_C/MSL_Common/mem.c"), + Object(NonMatching, "MSL_C/MSL_Common/mem_funcs.c"), + Object(NonMatching, "MSL_C/MSL_Common/misc_io.c"), + Object(NonMatching, "MSL_C/MSL_Common/printf.c"), + Object(NonMatching, "MSL_C/MSL_Common/float.c"), + Object(NonMatching, "MSL_C/MSL_Common/scanf.c"), + Object(NonMatching, "MSL_C/MSL_Common/string.c"), + Object(NonMatching, "MSL_C/MSL_Common/strtoul.c"), + Object(NonMatching, "MSL_C/MSL_Common/uart_console_io.c"), + Object(NonMatching, "MSL_C/MSL_Common/wchar_io.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/e_acos.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/e_asin.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/e_atan2.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/e_fmod.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/e_rem_pio2.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/k_cos.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/k_rem_pio2.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/k_sin.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/k_tan.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_atan.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_copysign.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_cos.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_floor.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_frexp.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_ldexp.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_modf.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_sin.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/s_tan.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/w_acos.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/w_asin.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/w_atan2.c"), + Object(NonMatching, "MSL_C/Math/Double_precision/w_fmod.c"), + Object(NonMatching, "MSL_C/PPC_EABI/math_ppc.c"), + ], + }, + { + "lib": "TRK_MINNOW_DOLPHIN", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mainloop.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/nubevent.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/nubinit.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msg.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msgbuf.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/serpoll.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/usr_put.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/dispatch.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msghndlr.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/support.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mutex_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/notify.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mem_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.s"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/__exception.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/main_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c"), + ], + }, + { + "lib": "amcstubs", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "amcstubs/AmcExi2Stubs.c"), + ], + }, + { + "lib": "OdemuExi2", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "OdemuExi2/DebuggerDriver.c"), + ], + }, + { + "lib": "odenotstub", + "mw_version": "GC/1.3.2", + "cflags": cflags_runtime, + "host": False, + "objects": [ + Object(NonMatching, "odenotstub/odenotstub.c"), + ], + }, + + # Begin RELs + { + "lib": "REL", + "mw_version": "GC/1.3.2", + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(Matching, "REL/executor.c"), + Object( + Matching, + "REL/global_destructor_chain.c", + source="Runtime.PPCEABI.H/global_destructor_chain.c", + ), + ], + }, Rel(Matching, "f_pc_profile_lst", "f_pc/f_pc_profile_lst.cpp"), ActorRel(NonMatching, "d_a_agbsw0"), ActorRel(NonMatching, "d_a_andsw0"), diff --git a/tools/project.py b/tools/project.py index c275dcd30..8fd6b6451 100644 --- a/tools/project.py +++ b/tools/project.py @@ -45,15 +45,17 @@ class ProjectConfig: self.sjiswrap_path = None # If None, download # Project config + self.build_rels = True # Build REL files self.check_sha_path = None # Path to version.sha1 self.config_path = None # Path to config.yml - self.build_rels = True # Build REL files self.debug = False # Build with debug info self.generate_map = False # Generate map file(s) self.ldflags = None # Linker flags - self.linker_version = None # mwld version self.libs = None # List of libraries + self.linker_version = None # mwld version self.version = None # Version name + self.warn_missing_config = False # Warn on missing unit configuration + self.warn_missing_source = False # Warn on missing source file # Progress output and progress.json config self.progress_all = True # Include combined "all" category @@ -495,6 +497,8 @@ def generate_build_ninja(config, build_config): obj_path, obj_name = build_obj["object"], build_obj["name"] result = config.find_object(obj_name) if not result: + if config.warn_missing_config: + print(f"Missing configuration for {obj_name}") link_step.add(obj_path) return @@ -506,6 +510,8 @@ def generate_build_ninja(config, build_config): unit_src_path = config.src_dir / options["source"] if not unit_src_path.exists(): + if config.warn_missing_source: + print(f"Missing source file {unit_src_path}") link_step.add(obj_path) return