From 2e177620128983214229a2b897c4952e28854526 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Fri, 21 Jul 2023 05:39:25 +0300 Subject: [PATCH] Various matches (#378) * Maybe improve JMAEulerToQuat * JKRFileLoader OK * JUTCacheFont work * Match J3DModel::prepareShapePackets * JUTDirectFile OK * JUTDirectPrint OK * Work on JUTProcBar * Work on JUTResFont --- Progress.md | 8 +- .../prepareShapePackets__8J3DModelFv.s | 30 -- ...exArray__13J3DSkinDeformFP12J3DModelData.s | 4 +- ...rFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb.s | 4 +- .../fetchVolumeName__13JKRFileLoaderFPclPCc.s | 65 ---- .../init__11JPAResourceFP7JKRHeap.s | 4 +- .../allocArray__12JUTCacheFontFP7JKRHeap.s | 66 ---- ...acheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s | 118 ------ .../JUTDirectFile/__ct__13JUTDirectFileFv.s | 10 - .../JUTDirectFile/__dt__13JUTDirectFileFv.s | 19 - .../JUTDirectFile/fclose__13JUTDirectFileFv.s | 25 -- .../fetch32byte__13JUTDirectFileFv.s | 55 --- .../fgets__13JUTDirectFileFPvi.s | 126 ------- .../fopen__13JUTDirectFileFPCc.s | 43 --- .../drawChar__14JUTDirectPrintFiii.s | 174 --------- .../JUTResFont/setBlock__10JUTResFontFv.s | 93 ----- .../{__restore_gpr.s => _restgpr_14.s} | 0 .../runtime/{__save_gpr.s => _savegpr_14.s} | 0 .../npc/d_a_npc_cd2/__sinit_d_a_npc_cd2_cpp.s | 4 +- .../d_a_alink/wolfFootBgCheck__9daAlink_cFv.s | 4 +- .../CaptPoly__8dBgWKColFR13dBgS_CaptPoly.s | 4 +- .../LineCheck__8dBgWKColFP11cBgS_LinChk.s | 4 +- .../ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw.s | 4 +- .../SphChk__8dBgWKColFP11dBgS_SphChkPv.s | 4 +- .../WallCorrectSort__8dBgWKColFP9dBgS_Acch.s | 4 +- .../WallCorrect__8dBgWKColFP9dBgS_Acch.s | 4 +- ...8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s | 4 +- .../setLight__18dScnKy_env_light_cFv.s | 4 +- .../d_kankyo_rain/dKyr_drawSnow__FPA4_fPPUc.s | 4 +- .../drawVrkumo__FPA4_fR8_GXColorPPUc.s | 4 +- ...erNo__24dMenu_Fmap_region_data_cFffiPiPi.s | 4 +- .../readAreaData__12dMenu_Fmap_cFUcb.s | 4 +- .../screenSetMenu__14dMenu_Letter_cFv.s | 4 +- .../screenSetMenu__13dMenu_Skill_cFv.s | 4 +- ...4dMeterButton_cFUlbbbbbbbbbbbbbbbbbbbbbb.s | 4 +- asm/d/particle/d_particle/func_8004D988.s | 4 +- .../daB_GND_Execute__FP11b_gnd_class.s | 4 +- .../d_a_horse/setFootMatrix__9daHorse_cFv.s | 4 +- .../koro2_heapinit__FP10fopAc_ac_c.s | 4 +- .../d_a_midna/setHairAngle__9daMidna_cFv.s | 4 +- .../d_a_e_fm/daE_FM_Execute__FP10e_fm_class.s | 4 +- .../d_a_e_sm2/action__FP11e_sm2_class.s | 4 +- .../d_a_e_vt/calcOpRopePos__8daE_VA_cFv.s | 4 +- ...tag12_Execute_arrival__FP13kytag12_class.s | 4 +- ...ag12_Execute_standard__FP13kytag12_class.s | 4 +- .../d_a_npc_chat/__sinit_d_a_npc_chat_cpp.s | 4 +- ...PC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cisf.s | 4 +- .../d_a_obj_ito/action__FP13obj_ito_class.s | 4 +- .../d_a_obj_so/part_move__FP12obj_so_class.s | 4 +- defs/module0.py | 8 +- include/JSystem/JUtility/JUTDirectFile.h | 15 +- include/JSystem/JUtility/JUTFont.h | 2 + include/JSystem/JUtility/JUTProcBar.h | 33 +- include/JSystem/JUtility/JUTResFont.h | 1 + include/dolphin/dvd/dvd.h | 2 + include/dolphin/gx/GX.h | 5 + libs/JSystem/J3DGraphAnimator/J3DModel.cpp | 13 +- .../J3DGraphAnimator/J3DSkinDeform.cpp | 4 +- libs/JSystem/J3DGraphBase/J3DGD.cpp | 4 +- libs/JSystem/JKernel/JKRFileLoader.cpp | 52 +-- libs/JSystem/JMath/JMath.cpp | 6 +- libs/JSystem/JParticle/JPAResource.cpp | 4 +- libs/JSystem/JUtility/JUTCacheFont.cpp | 53 ++- libs/JSystem/JUtility/JUTDirectFile.cpp | 210 +++++++---- libs/JSystem/JUtility/JUTDirectPrint.cpp | 161 ++------- libs/JSystem/JUtility/JUTProcBar.cpp | 340 ++++++++---------- libs/JSystem/JUtility/JUTResFont.cpp | 81 ++++- libs/Runtime.PPCEABI.H/runtime.cpp | 16 +- rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp | 4 +- rel/d/a/d_a_horse/d_a_horse.cpp | 4 +- rel/d/a/d_a_mg_fshop/d_a_mg_fshop.cpp | 4 +- rel/d/a/d_a_midna/d_a_midna.cpp | 4 +- rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp | 4 +- rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp | 4 +- rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp | 4 +- rel/d/a/kytag/d_a_kytag12/d_a_kytag12.cpp | 4 +- rel/d/a/npc/d_a_npc_chat/d_a_npc_chat.cpp | 4 +- rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp | 4 +- rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp | 4 +- rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp | 4 +- src/d/a/d_a_alink.cpp | 4 +- src/d/a/d_a_npc_cd2.cpp | 4 +- src/d/bg/d_bg_w_kcol.cpp | 4 +- src/d/kankyo/d_kankyo.cpp | 4 +- src/d/kankyo/d_kankyo_rain.cpp | 4 +- src/d/map/d_map_path_fmap.cpp | 4 +- src/d/menu/d_menu_fmap.cpp | 4 +- src/d/menu/d_menu_letter.cpp | 4 +- src/d/menu/d_menu_skill.cpp | 4 +- src/d/meter/d_meter_button.cpp | 4 +- src/d/particle/d_particle.cpp | 4 +- tools/libdol2asm/symbol_finder.py | 2 +- 92 files changed, 630 insertions(+), 1442 deletions(-) delete mode 100644 asm/JSystem/J3DGraphAnimator/J3DModel/prepareShapePackets__8J3DModelFv.s delete mode 100644 asm/JSystem/JKernel/JKRFileLoader/fetchVolumeName__13JKRFileLoaderFPclPCc.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s delete mode 100644 asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/__ct__13JUTDirectFileFv.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/__dt__13JUTDirectFileFv.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/fetch32byte__13JUTDirectFileFv.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s delete mode 100644 asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s delete mode 100644 asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s delete mode 100644 asm/JSystem/JUtility/JUTResFont/setBlock__10JUTResFontFv.s rename asm/Runtime.PPCEABI.H/runtime/{__restore_gpr.s => _restgpr_14.s} (100%) rename asm/Runtime.PPCEABI.H/runtime/{__save_gpr.s => _savegpr_14.s} (100%) diff --git a/Progress.md b/Progress.md index c392a4ba320..6add53159fb 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 29.144201% | 1048184 | 3596544 +.text | 29.223610% | 1051040 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 36.613780% | 1472120 | 4020672 +Total | 36.684813% | 1474976 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 36.613780% | 1472120 | 4020672 +main.dol | 36.684813% | 1474976 | 4020672 RELs | 33.883741% | 3896740 | 11500324 -Total | 34.590950% | 5368860 | 15520996 +Total | 34.609351% | 5371716 | 15520996 ## RELs diff --git a/asm/JSystem/J3DGraphAnimator/J3DModel/prepareShapePackets__8J3DModelFv.s b/asm/JSystem/J3DGraphAnimator/J3DModel/prepareShapePackets__8J3DModelFv.s deleted file mode 100644 index f133b079980..00000000000 --- a/asm/JSystem/J3DGraphAnimator/J3DModel/prepareShapePackets__8J3DModelFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_803282EC: -/* 803282EC 80 83 00 04 */ lwz r4, 4(r3) -/* 803282F0 A0 04 00 7C */ lhz r0, 0x7c(r4) -/* 803282F4 39 00 00 00 */ li r8, 0 -/* 803282F8 38 C3 00 54 */ addi r6, r3, 0x54 -/* 803282FC 3C 80 80 43 */ lis r4, j3dSys@ha /* 0x80434AC8@ha */ -/* 80328300 38 A4 4A C8 */ addi r5, r4, j3dSys@l /* 0x80434AC8@l */ -/* 80328304 48 00 00 3C */ b lbl_80328340 -lbl_80328308: -/* 80328308 55 04 04 3E */ clrlwi r4, r8, 0x10 -/* 8032830C 80 E3 00 C4 */ lwz r7, 0xc4(r3) -/* 80328310 1C 84 00 3C */ mulli r4, r4, 0x3c -/* 80328314 7C E7 22 14 */ add r7, r7, r4 -/* 80328318 80 83 00 84 */ lwz r4, 0x84(r3) -/* 8032831C 90 87 00 2C */ stw r4, 0x2c(r7) -/* 80328320 80 83 00 08 */ lwz r4, 8(r3) -/* 80328324 54 84 07 BE */ clrlwi r4, r4, 0x1e -/* 80328328 28 04 00 02 */ cmplwi r4, 2 -/* 8032832C 40 82 00 0C */ bne lbl_80328338 -/* 80328330 90 C7 00 30 */ stw r6, 0x30(r7) -/* 80328334 48 00 00 08 */ b lbl_8032833C -lbl_80328338: -/* 80328338 90 A7 00 30 */ stw r5, 0x30(r7) -lbl_8032833C: -/* 8032833C 39 08 00 01 */ addi r8, r8, 1 -lbl_80328340: -/* 80328340 55 04 04 3E */ clrlwi r4, r8, 0x10 -/* 80328344 7C 04 00 40 */ cmplw r4, r0 -/* 80328348 41 80 FF C0 */ blt lbl_80328308 -/* 8032834C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initMtxIndexArray__13J3DSkinDeformFP12J3DModelData.s b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initMtxIndexArray__13J3DSkinDeformFP12J3DModelData.s index 2561dd70194..02ae165b9c2 100644 --- a/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initMtxIndexArray__13J3DSkinDeformFP12J3DModelData.s +++ b/asm/JSystem/J3DGraphAnimator/J3DSkinDeform/initMtxIndexArray__13J3DSkinDeformFP12J3DModelData.s @@ -3,7 +3,7 @@ lbl_8032CF44: /* 8032CF48 7C 08 02 A6 */ mflr r0 /* 8032CF4C 90 01 00 74 */ stw r0, 0x74(r1) /* 8032CF50 39 61 00 70 */ addi r11, r1, 0x70 -/* 8032CF54 48 03 52 4D */ bl __save_gpr +/* 8032CF54 48 03 52 4D */ bl _savegpr_14 /* 8032CF58 7C 6F 1B 78 */ mr r15, r3 /* 8032CF5C 7C 90 23 78 */ mr r16, r4 /* 8032CF60 80 03 00 04 */ lwz r0, 4(r3) @@ -300,7 +300,7 @@ lbl_8032D350: /* 8032D35C 38 60 00 00 */ li r3, 0 lbl_8032D360: /* 8032D360 39 61 00 70 */ addi r11, r1, 0x70 -/* 8032D364 48 03 4E 89 */ bl __restore_gpr +/* 8032D364 48 03 4E 89 */ bl _restgpr_14 /* 8032D368 80 01 00 74 */ lwz r0, 0x74(r1) /* 8032D36C 7C 08 03 A6 */ mtlr r0 /* 8032D370 38 21 00 70 */ addi r1, r1, 0x70 diff --git a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb.s b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb.s index 34e14af62f0..85d60c5d802 100644 --- a/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb.s +++ b/asm/JSystem/J3DGraphBase/J3DGD/J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb.s @@ -3,7 +3,7 @@ lbl_8030DB04: /* 8030DB08 7C 08 02 A6 */ mflr r0 /* 8030DB0C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8030DB10 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 8030DB14 48 05 46 8D */ bl __save_gpr +/* 8030DB14 48 05 46 8D */ bl _savegpr_14 /* 8030DB18 7C 6F 1B 78 */ mr r15, r3 /* 8030DB1C 38 00 00 01 */ li r0, 1 /* 8030DB20 90 01 00 48 */ stw r0, 0x48(r1) @@ -344,7 +344,7 @@ lbl_8030DD5C: /* 8030E044 90 04 00 08 */ stw r0, 8(r4) /* 8030E048 98 C3 00 00 */ stb r6, 0(r3) /* 8030E04C 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 8030E050 48 05 41 9D */ bl __restore_gpr +/* 8030E050 48 05 41 9D */ bl _restgpr_14 /* 8030E054 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8030E058 7C 08 03 A6 */ mtlr r0 /* 8030E05C 38 21 00 A0 */ addi r1, r1, 0xa0 diff --git a/asm/JSystem/JKernel/JKRFileLoader/fetchVolumeName__13JKRFileLoaderFPclPCc.s b/asm/JSystem/JKernel/JKRFileLoader/fetchVolumeName__13JKRFileLoaderFPclPCc.s deleted file mode 100644 index 96331913a06..00000000000 --- a/asm/JSystem/JKernel/JKRFileLoader/fetchVolumeName__13JKRFileLoaderFPclPCc.s +++ /dev/null @@ -1,65 +0,0 @@ -lbl_802D44C4: -/* 802D44C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D44C8 7C 08 02 A6 */ mflr r0 -/* 802D44CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D44D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D44D4 48 08 DD 09 */ bl _savegpr_29 -/* 802D44D8 7C 7D 1B 78 */ mr r29, r3 -/* 802D44DC 7C 9E 23 78 */ mr r30, r4 -/* 802D44E0 7C BF 2B 78 */ mr r31, r5 -/* 802D44E4 7F E3 FB 78 */ mr r3, r31 -/* 802D44E8 3C 80 80 3A */ lis r4, JKRFileLoader__stringBase0@ha /* 0x8039D150@ha */ -/* 802D44EC 38 84 D1 50 */ addi r4, r4, JKRFileLoader__stringBase0@l /* 0x8039D150@l */ -/* 802D44F0 48 09 44 A5 */ bl strcmp -/* 802D44F4 2C 03 00 00 */ cmpwi r3, 0 -/* 802D44F8 40 82 00 18 */ bne lbl_802D4510 -/* 802D44FC 7F A3 EB 78 */ mr r3, r29 -/* 802D4500 38 8D 83 40 */ la r4, rootPath(r13) /* 804508C0-_SDA_BASE_ */ -/* 802D4504 48 09 46 29 */ bl strcpy -/* 802D4508 38 6D 83 40 */ la r3, rootPath(r13) /* 804508C0-_SDA_BASE_ */ -/* 802D450C 48 00 00 7C */ b lbl_802D4588 -lbl_802D4510: -/* 802D4510 3C 60 80 3D */ lis r3, __lower_map@ha /* 0x803D2D18@ha */ -/* 802D4514 38 63 2D 18 */ addi r3, r3, __lower_map@l /* 0x803D2D18@l */ -/* 802D4518 3B FF 00 01 */ addi r31, r31, 1 -/* 802D451C 48 00 00 38 */ b lbl_802D4554 -lbl_802D4520: -/* 802D4520 2C 1E 00 01 */ cmpwi r30, 1 -/* 802D4524 40 81 00 2C */ ble lbl_802D4550 -/* 802D4528 7C 80 07 74 */ extsb r0, r4 -/* 802D452C 2C 00 FF FF */ cmpwi r0, -1 -/* 802D4530 40 82 00 0C */ bne lbl_802D453C -/* 802D4534 38 00 FF FF */ li r0, -1 -/* 802D4538 48 00 00 0C */ b lbl_802D4544 -lbl_802D453C: -/* 802D453C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 802D4540 7C 03 00 AE */ lbzx r0, r3, r0 -lbl_802D4544: -/* 802D4544 98 1D 00 00 */ stb r0, 0(r29) -/* 802D4548 3B BD 00 01 */ addi r29, r29, 1 -/* 802D454C 3B DE FF FF */ addi r30, r30, -1 -lbl_802D4550: -/* 802D4550 3B FF 00 01 */ addi r31, r31, 1 -lbl_802D4554: -/* 802D4554 88 9F 00 00 */ lbz r4, 0(r31) -/* 802D4558 7C 80 07 75 */ extsb. r0, r4 -/* 802D455C 41 82 00 10 */ beq lbl_802D456C -/* 802D4560 7C 80 07 74 */ extsb r0, r4 -/* 802D4564 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D4568 40 82 FF B8 */ bne lbl_802D4520 -lbl_802D456C: -/* 802D456C 38 00 00 00 */ li r0, 0 -/* 802D4570 98 1D 00 00 */ stb r0, 0(r29) -/* 802D4574 88 1F 00 00 */ lbz r0, 0(r31) -/* 802D4578 7C 00 07 75 */ extsb. r0, r0 -/* 802D457C 40 82 00 08 */ bne lbl_802D4584 -/* 802D4580 3B ED 83 40 */ la r31, rootPath(r13) /* 804508C0-_SDA_BASE_ */ -lbl_802D4584: -/* 802D4584 7F E3 FB 78 */ mr r3, r31 -lbl_802D4588: -/* 802D4588 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D458C 48 08 DC 9D */ bl _restgpr_29 -/* 802D4590 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4594 7C 08 03 A6 */ mtlr r0 -/* 802D4598 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D459C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JParticle/JPAResource/init__11JPAResourceFP7JKRHeap.s b/asm/JSystem/JParticle/JPAResource/init__11JPAResourceFP7JKRHeap.s index 989acca716b..efb039f620a 100644 --- a/asm/JSystem/JParticle/JPAResource/init__11JPAResourceFP7JKRHeap.s +++ b/asm/JSystem/JParticle/JPAResource/init__11JPAResourceFP7JKRHeap.s @@ -3,7 +3,7 @@ lbl_80274080: /* 80274084 7C 08 02 A6 */ mflr r0 /* 80274088 90 01 00 64 */ stw r0, 0x64(r1) /* 8027408C 39 61 00 60 */ addi r11, r1, 0x60 -/* 80274090 48 0E E1 11 */ bl __save_gpr +/* 80274090 48 0E E1 11 */ bl _savegpr_14 /* 80274094 7C 6F 1B 78 */ mr r15, r3 /* 80274098 7C 90 23 78 */ mr r16, r4 /* 8027409C 80 63 00 1C */ lwz r3, 0x1c(r3) @@ -1532,7 +1532,7 @@ lbl_802755BC: /* 802755CC 7C A4 01 2E */ stwx r5, r4, r0 lbl_802755D0: /* 802755D0 39 61 00 60 */ addi r11, r1, 0x60 -/* 802755D4 48 0E CC 19 */ bl __restore_gpr +/* 802755D4 48 0E CC 19 */ bl _restgpr_14 /* 802755D8 80 01 00 64 */ lwz r0, 0x64(r1) /* 802755DC 7C 08 03 A6 */ mtlr r0 /* 802755E0 38 21 00 60 */ addi r1, r1, 0x60 diff --git a/asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s b/asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s deleted file mode 100644 index 43d55e3e5bd..00000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_802DD804: -/* 802DD804 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802DD808 7C 08 02 A6 */ mflr r0 -/* 802DD80C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802DD810 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802DD814 7C 7F 1B 78 */ mr r31, r3 -/* 802DD818 A0 A3 00 64 */ lhz r5, 0x64(r3) -/* 802DD81C A0 63 00 60 */ lhz r3, 0x60(r3) -/* 802DD820 A0 1F 00 62 */ lhz r0, 0x62(r31) -/* 802DD824 7C 00 2A 14 */ add r0, r0, r5 -/* 802DD828 7C 03 02 14 */ add r0, r3, r0 -/* 802DD82C 54 03 10 3A */ slwi r3, r0, 2 -/* 802DD830 38 A0 00 00 */ li r5, 0 -/* 802DD834 4B FF 14 DD */ bl __nwa__FUlP7JKRHeapi -/* 802DD838 90 7F 00 50 */ stw r3, 0x50(r31) -/* 802DD83C 80 7F 00 50 */ lwz r3, 0x50(r31) -/* 802DD840 28 03 00 00 */ cmplwi r3, 0 -/* 802DD844 40 82 00 0C */ bne lbl_802DD850 -/* 802DD848 38 60 00 00 */ li r3, 0 -/* 802DD84C 48 00 00 8C */ b lbl_802DD8D8 -lbl_802DD850: -/* 802DD850 7C 65 1B 78 */ mr r5, r3 -/* 802DD854 A0 1F 00 60 */ lhz r0, 0x60(r31) -/* 802DD858 28 00 00 00 */ cmplwi r0, 0 -/* 802DD85C 41 82 00 14 */ beq lbl_802DD870 -/* 802DD860 90 7F 00 54 */ stw r3, 0x54(r31) -/* 802DD864 A0 1F 00 60 */ lhz r0, 0x60(r31) -/* 802DD868 54 00 10 3A */ slwi r0, r0, 2 -/* 802DD86C 7C A3 02 14 */ add r5, r3, r0 -lbl_802DD870: -/* 802DD870 A0 1F 00 62 */ lhz r0, 0x62(r31) -/* 802DD874 28 00 00 00 */ cmplwi r0, 0 -/* 802DD878 41 82 00 4C */ beq lbl_802DD8C4 -/* 802DD87C 90 BF 00 58 */ stw r5, 0x58(r31) -/* 802DD880 A0 1F 00 62 */ lhz r0, 0x62(r31) -/* 802DD884 54 00 10 3A */ slwi r0, r0, 2 -/* 802DD888 7C A5 02 14 */ add r5, r5, r0 -/* 802DD88C 38 C0 00 00 */ li r6, 0 -/* 802DD890 38 60 00 00 */ li r3, 0 -/* 802DD894 48 00 00 24 */ b lbl_802DD8B8 -lbl_802DD898: -/* 802DD898 80 9F 00 90 */ lwz r4, 0x90(r31) -/* 802DD89C 80 1F 00 94 */ lwz r0, 0x94(r31) -/* 802DD8A0 7C 00 31 D6 */ mullw r0, r0, r6 -/* 802DD8A4 7C 04 02 14 */ add r0, r4, r0 -/* 802DD8A8 80 9F 00 58 */ lwz r4, 0x58(r31) -/* 802DD8AC 7C 04 19 2E */ stwx r0, r4, r3 -/* 802DD8B0 38 C6 00 01 */ addi r6, r6, 1 -/* 802DD8B4 38 63 00 04 */ addi r3, r3, 4 -lbl_802DD8B8: -/* 802DD8B8 A0 1F 00 62 */ lhz r0, 0x62(r31) -/* 802DD8BC 7C 06 00 00 */ cmpw r6, r0 -/* 802DD8C0 41 80 FF D8 */ blt lbl_802DD898 -lbl_802DD8C4: -/* 802DD8C4 A0 1F 00 64 */ lhz r0, 0x64(r31) -/* 802DD8C8 28 00 00 00 */ cmplwi r0, 0 -/* 802DD8CC 41 82 00 08 */ beq lbl_802DD8D4 -/* 802DD8D0 90 BF 00 5C */ stw r5, 0x5c(r31) -lbl_802DD8D4: -/* 802DD8D4 38 60 00 01 */ li r3, 1 -lbl_802DD8D8: -/* 802DD8D8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802DD8DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802DD8E0 7C 08 03 A6 */ mtlr r0 -/* 802DD8E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802DD8E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s b/asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s deleted file mode 100644 index b8bf20c9b02..00000000000 --- a/asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_802DD35C: -/* 802DD35C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802DD360 7C 08 02 A6 */ mflr r0 -/* 802DD364 90 01 00 54 */ stw r0, 0x54(r1) -/* 802DD368 39 61 00 50 */ addi r11, r1, 0x50 -/* 802DD36C 48 08 4E 35 */ bl __save_gpr -/* 802DD370 7C 99 23 79 */ or. r25, r4, r4 -/* 802DD374 7C BA 2B 78 */ mr r26, r5 -/* 802DD378 7C DB 33 78 */ mr r27, r6 -/* 802DD37C 7C FC 3B 78 */ mr r28, r7 -/* 802DD380 7D 1D 43 78 */ mr r29, r8 -/* 802DD384 7D 3E 4B 78 */ mr r30, r9 -/* 802DD388 7D 5F 53 78 */ mr r31, r10 -/* 802DD38C 81 E1 00 58 */ lwz r15, 0x58(r1) -/* 802DD390 40 82 00 0C */ bne lbl_802DD39C -/* 802DD394 38 60 00 00 */ li r3, 0 -/* 802DD398 48 00 01 3C */ b lbl_802DD4D4 -lbl_802DD39C: -/* 802DD39C 3B 00 00 00 */ li r24, 0 -/* 802DD3A0 3A E0 00 00 */ li r23, 0 -/* 802DD3A4 3A C0 00 00 */ li r22, 0 -/* 802DD3A8 3A A0 00 00 */ li r21, 0 -/* 802DD3AC 3A 80 00 00 */ li r20, 0 -/* 802DD3B0 3A 60 00 00 */ li r19, 0 -/* 802DD3B4 3A 40 00 00 */ li r18, 0 -/* 802DD3B8 3A 39 00 20 */ addi r17, r25, 0x20 -/* 802DD3BC 3A 00 00 00 */ li r16, 0 -/* 802DD3C0 3C 60 4D 41 */ lis r3, 0x4D41 /* 0x4D415031@ha */ -/* 802DD3C4 39 C3 50 31 */ addi r14, r3, 0x5031 /* 0x4D415031@l */ -/* 802DD3C8 48 00 00 A8 */ b lbl_802DD470 -lbl_802DD3CC: -/* 802DD3CC 80 91 00 00 */ lwz r4, 0(r17) -/* 802DD3D0 7C 04 70 00 */ cmpw r4, r14 -/* 802DD3D4 41 82 00 74 */ beq lbl_802DD448 -/* 802DD3D8 40 80 00 2C */ bge lbl_802DD404 -/* 802DD3DC 3C 60 49 4E */ lis r3, 0x494E /* 0x494E4631@ha */ -/* 802DD3E0 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x494E4631@l */ -/* 802DD3E4 7C 04 00 00 */ cmpw r4, r0 -/* 802DD3E8 41 82 00 7C */ beq lbl_802DD464 -/* 802DD3EC 40 80 00 6C */ bge lbl_802DD458 -/* 802DD3F0 3C 60 47 4C */ lis r3, 0x474C /* 0x474C5931@ha */ -/* 802DD3F4 38 03 59 31 */ addi r0, r3, 0x5931 /* 0x474C5931@l */ -/* 802DD3F8 7C 04 00 00 */ cmpw r4, r0 -/* 802DD3FC 41 82 00 2C */ beq lbl_802DD428 -/* 802DD400 48 00 00 58 */ b lbl_802DD458 -lbl_802DD404: -/* 802DD404 3C 60 57 49 */ lis r3, 0x5749 /* 0x57494431@ha */ -/* 802DD408 38 03 44 31 */ addi r0, r3, 0x4431 /* 0x57494431@l */ -/* 802DD40C 7C 04 00 00 */ cmpw r4, r0 -/* 802DD410 41 82 00 08 */ beq lbl_802DD418 -/* 802DD414 48 00 00 44 */ b lbl_802DD458 -lbl_802DD418: -/* 802DD418 80 11 00 04 */ lwz r0, 4(r17) -/* 802DD41C 7E B5 02 14 */ add r21, r21, r0 -/* 802DD420 3B 18 00 01 */ addi r24, r24, 1 -/* 802DD424 48 00 00 40 */ b lbl_802DD464 -lbl_802DD428: -/* 802DD428 80 11 00 04 */ lwz r0, 4(r17) -/* 802DD42C 7E 94 02 14 */ add r20, r20, r0 -/* 802DD430 80 11 00 10 */ lwz r0, 0x10(r17) -/* 802DD434 7C 00 90 40 */ cmplw r0, r18 -/* 802DD438 3A F7 00 01 */ addi r23, r23, 1 -/* 802DD43C 40 81 00 28 */ ble lbl_802DD464 -/* 802DD440 7C 12 03 78 */ mr r18, r0 -/* 802DD444 48 00 00 20 */ b lbl_802DD464 -lbl_802DD448: -/* 802DD448 80 11 00 04 */ lwz r0, 4(r17) -/* 802DD44C 7E 73 02 14 */ add r19, r19, r0 -/* 802DD450 3A D6 00 01 */ addi r22, r22, 1 -/* 802DD454 48 00 00 10 */ b lbl_802DD464 -lbl_802DD458: -/* 802DD458 3C 60 80 3A */ lis r3, JUTCacheFont__stringBase0@ha /* 0x8039D2F0@ha */ -/* 802DD45C 38 63 D2 F0 */ addi r3, r3, JUTCacheFont__stringBase0@l /* 0x8039D2F0@l */ -/* 802DD460 48 00 B1 E9 */ bl JUTReportConsole -lbl_802DD464: -/* 802DD464 80 11 00 04 */ lwz r0, 4(r17) -/* 802DD468 7E 31 02 14 */ add r17, r17, r0 -/* 802DD46C 3A 10 00 01 */ addi r16, r16, 1 -lbl_802DD470: -/* 802DD470 80 19 00 0C */ lwz r0, 0xc(r25) -/* 802DD474 7C 10 00 40 */ cmplw r16, r0 -/* 802DD478 41 80 FF 54 */ blt lbl_802DD3CC -/* 802DD47C 28 1A 00 00 */ cmplwi r26, 0 -/* 802DD480 41 82 00 08 */ beq lbl_802DD488 -/* 802DD484 B3 1A 00 00 */ sth r24, 0(r26) -lbl_802DD488: -/* 802DD488 28 1C 00 00 */ cmplwi r28, 0 -/* 802DD48C 41 82 00 08 */ beq lbl_802DD494 -/* 802DD490 B2 FC 00 00 */ sth r23, 0(r28) -lbl_802DD494: -/* 802DD494 28 1E 00 00 */ cmplwi r30, 0 -/* 802DD498 41 82 00 08 */ beq lbl_802DD4A0 -/* 802DD49C B2 DE 00 00 */ sth r22, 0(r30) -lbl_802DD4A0: -/* 802DD4A0 28 1B 00 00 */ cmplwi r27, 0 -/* 802DD4A4 41 82 00 08 */ beq lbl_802DD4AC -/* 802DD4A8 92 BB 00 00 */ stw r21, 0(r27) -lbl_802DD4AC: -/* 802DD4AC 28 1D 00 00 */ cmplwi r29, 0 -/* 802DD4B0 41 82 00 08 */ beq lbl_802DD4B8 -/* 802DD4B4 92 9D 00 00 */ stw r20, 0(r29) -lbl_802DD4B8: -/* 802DD4B8 28 1F 00 00 */ cmplwi r31, 0 -/* 802DD4BC 41 82 00 08 */ beq lbl_802DD4C4 -/* 802DD4C0 92 7F 00 00 */ stw r19, 0(r31) -lbl_802DD4C4: -/* 802DD4C4 28 0F 00 00 */ cmplwi r15, 0 -/* 802DD4C8 41 82 00 08 */ beq lbl_802DD4D0 -/* 802DD4CC 92 4F 00 00 */ stw r18, 0(r15) -lbl_802DD4D0: -/* 802DD4D0 38 60 00 01 */ li r3, 1 -lbl_802DD4D4: -/* 802DD4D4 39 61 00 50 */ addi r11, r1, 0x50 -/* 802DD4D8 48 08 4D 15 */ bl __restore_gpr -/* 802DD4DC 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802DD4E0 7C 08 03 A6 */ mtlr r0 -/* 802DD4E4 38 21 00 50 */ addi r1, r1, 0x50 -/* 802DD4E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/__ct__13JUTDirectFileFv.s b/asm/JSystem/JUtility/JUTDirectFile/__ct__13JUTDirectFileFv.s deleted file mode 100644 index 53cae58c22e..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/__ct__13JUTDirectFileFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802E87F8: -/* 802E87F8 38 80 00 00 */ li r4, 0 -/* 802E87FC 90 83 08 28 */ stw r4, 0x828(r3) -/* 802E8800 90 83 08 2C */ stw r4, 0x82c(r3) -/* 802E8804 90 83 08 24 */ stw r4, 0x824(r3) -/* 802E8808 38 03 00 1F */ addi r0, r3, 0x1f -/* 802E880C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a -/* 802E8810 90 03 08 20 */ stw r0, 0x820(r3) -/* 802E8814 98 83 08 30 */ stb r4, 0x830(r3) -/* 802E8818 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/__dt__13JUTDirectFileFv.s b/asm/JSystem/JUtility/JUTDirectFile/__dt__13JUTDirectFileFv.s deleted file mode 100644 index 01e2d7df7e3..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/__dt__13JUTDirectFileFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802E881C: -/* 802E881C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E8820 7C 08 02 A6 */ mflr r0 -/* 802E8824 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E8828 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E882C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802E8830 41 82 00 18 */ beq lbl_802E8848 -/* 802E8834 38 00 00 00 */ li r0, 0 -/* 802E8838 98 1F 08 30 */ stb r0, 0x830(r31) -/* 802E883C 7C 80 07 35 */ extsh. r0, r4 -/* 802E8840 40 81 00 08 */ ble lbl_802E8848 -/* 802E8844 4B FE 64 F9 */ bl __dl__FPv -lbl_802E8848: -/* 802E8848 7F E3 FB 78 */ mr r3, r31 -/* 802E884C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E8850 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E8854 7C 08 03 A6 */ mtlr r0 -/* 802E8858 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E885C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s b/asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s deleted file mode 100644 index dd8aa597d69..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802E88FC: -/* 802E88FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E8900 7C 08 02 A6 */ mflr r0 -/* 802E8904 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E8908 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E890C 93 C1 00 08 */ stw r30, 8(r1) -/* 802E8910 7C 7E 1B 78 */ mr r30, r3 -/* 802E8914 88 03 08 30 */ lbz r0, 0x830(r3) -/* 802E8918 28 00 00 00 */ cmplwi r0, 0 -/* 802E891C 41 82 00 24 */ beq lbl_802E8940 -/* 802E8920 48 05 4D E9 */ bl OSEnableInterrupts -/* 802E8924 7C 7F 1B 78 */ mr r31, r3 -/* 802E8928 38 7E 08 34 */ addi r3, r30, 0x834 -/* 802E892C 48 06 00 2D */ bl DVDClose -/* 802E8930 7F E3 FB 78 */ mr r3, r31 -/* 802E8934 48 05 4D E9 */ bl OSRestoreInterrupts -/* 802E8938 38 00 00 00 */ li r0, 0 -/* 802E893C 98 1E 08 30 */ stb r0, 0x830(r30) -lbl_802E8940: -/* 802E8940 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E8944 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E8948 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E894C 7C 08 03 A6 */ mtlr r0 -/* 802E8950 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E8954 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/fetch32byte__13JUTDirectFileFv.s b/asm/JSystem/JUtility/JUTDirectFile/fetch32byte__13JUTDirectFileFv.s deleted file mode 100644 index 169404b0699..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/fetch32byte__13JUTDirectFileFv.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_802E8730: -/* 802E8730 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E8734 7C 08 02 A6 */ mflr r0 -/* 802E8738 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E873C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E8740 48 07 9A 9D */ bl _savegpr_29 -/* 802E8744 7C 7D 1B 78 */ mr r29, r3 -/* 802E8748 80 03 08 2C */ lwz r0, 0x82c(r3) -/* 802E874C 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a -/* 802E8750 80 1D 08 28 */ lwz r0, 0x828(r29) -/* 802E8754 7C 03 00 50 */ subf r0, r3, r0 -/* 802E8758 90 1D 08 24 */ stw r0, 0x824(r29) -/* 802E875C 80 1D 08 24 */ lwz r0, 0x824(r29) -/* 802E8760 28 00 08 00 */ cmplwi r0, 0x800 -/* 802E8764 40 81 00 0C */ ble lbl_802E8770 -/* 802E8768 38 00 08 00 */ li r0, 0x800 -/* 802E876C 90 1D 08 24 */ stw r0, 0x824(r29) -lbl_802E8770: -/* 802E8770 48 05 4F 99 */ bl OSEnableInterrupts -/* 802E8774 7C 7E 1B 78 */ mr r30, r3 -/* 802E8778 38 7D 08 34 */ addi r3, r29, 0x834 -/* 802E877C 80 9D 08 20 */ lwz r4, 0x820(r29) -/* 802E8780 80 BD 08 24 */ lwz r5, 0x824(r29) -/* 802E8784 38 05 00 1F */ addi r0, r5, 0x1f -/* 802E8788 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a -/* 802E878C 80 1D 08 2C */ lwz r0, 0x82c(r29) -/* 802E8790 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a -/* 802E8794 38 E0 00 00 */ li r7, 0 -/* 802E8798 39 00 00 02 */ li r8, 2 -/* 802E879C 48 06 05 B9 */ bl DVDReadAsyncPrio -/* 802E87A0 7C 7F 1B 78 */ mr r31, r3 -/* 802E87A4 7F C3 F3 78 */ mr r3, r30 -/* 802E87A8 48 05 4F 75 */ bl OSRestoreInterrupts -/* 802E87AC 2C 1F 00 00 */ cmpwi r31, 0 -/* 802E87B0 40 82 00 0C */ bne lbl_802E87BC -/* 802E87B4 38 60 FF FF */ li r3, -1 -/* 802E87B8 48 00 00 28 */ b lbl_802E87E0 -lbl_802E87BC: -/* 802E87BC 48 05 4F 4D */ bl OSEnableInterrupts -/* 802E87C0 7C 7F 1B 78 */ mr r31, r3 -lbl_802E87C4: -/* 802E87C4 38 7D 08 34 */ addi r3, r29, 0x834 -/* 802E87C8 48 06 29 B5 */ bl DVDGetCommandBlockStatus -/* 802E87CC 2C 03 00 00 */ cmpwi r3, 0 -/* 802E87D0 40 82 FF F4 */ bne lbl_802E87C4 -/* 802E87D4 7F E3 FB 78 */ mr r3, r31 -/* 802E87D8 48 05 4F 45 */ bl OSRestoreInterrupts -/* 802E87DC 80 7D 08 24 */ lwz r3, 0x824(r29) -lbl_802E87E0: -/* 802E87E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E87E4 48 07 9A 45 */ bl _restgpr_29 -/* 802E87E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E87EC 7C 08 03 A6 */ mtlr r0 -/* 802E87F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E87F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s b/asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s deleted file mode 100644 index fac02c10730..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s +++ /dev/null @@ -1,126 +0,0 @@ -lbl_802E8958: -/* 802E8958 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E895C 7C 08 02 A6 */ mflr r0 -/* 802E8960 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E8964 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E8968 48 07 98 6D */ bl _savegpr_27 -/* 802E896C 7C 7C 1B 78 */ mr r28, r3 -/* 802E8970 7C BD 2B 78 */ mr r29, r5 -/* 802E8974 88 03 08 30 */ lbz r0, 0x830(r3) -/* 802E8978 28 00 00 00 */ cmplwi r0, 0 -/* 802E897C 40 82 00 0C */ bne lbl_802E8988 -/* 802E8980 38 60 FF FF */ li r3, -1 -/* 802E8984 48 00 01 6C */ b lbl_802E8AF0 -lbl_802E8988: -/* 802E8988 2C 1D 00 00 */ cmpwi r29, 0 -/* 802E898C 40 82 00 0C */ bne lbl_802E8998 -/* 802E8990 38 60 00 00 */ li r3, 0 -/* 802E8994 48 00 01 5C */ b lbl_802E8AF0 -lbl_802E8998: -/* 802E8998 2C 1D 00 01 */ cmpwi r29, 1 -/* 802E899C 40 82 00 0C */ bne lbl_802E89A8 -/* 802E89A0 38 60 00 01 */ li r3, 1 -/* 802E89A4 48 00 01 4C */ b lbl_802E8AF0 -lbl_802E89A8: -/* 802E89A8 28 04 00 00 */ cmplwi r4, 0 -/* 802E89AC 40 82 00 0C */ bne lbl_802E89B8 -/* 802E89B0 38 60 FF FF */ li r3, -1 -/* 802E89B4 48 00 01 3C */ b lbl_802E8AF0 -lbl_802E89B8: -/* 802E89B8 80 7C 08 2C */ lwz r3, 0x82c(r28) -/* 802E89BC 80 1C 08 28 */ lwz r0, 0x828(r28) -/* 802E89C0 7C 03 00 40 */ cmplw r3, r0 -/* 802E89C4 41 80 00 0C */ blt lbl_802E89D0 -/* 802E89C8 38 60 FF FF */ li r3, -1 -/* 802E89CC 48 00 01 24 */ b lbl_802E8AF0 -lbl_802E89D0: -/* 802E89D0 7C 9F 23 78 */ mr r31, r4 -/* 802E89D4 3B C0 00 00 */ li r30, 0 -/* 802E89D8 3B 7D FF FF */ addi r27, r29, -1 -/* 802E89DC 48 00 00 E8 */ b lbl_802E8AC4 -lbl_802E89E0: -/* 802E89E0 80 1C 08 24 */ lwz r0, 0x824(r28) -/* 802E89E4 28 00 00 00 */ cmplwi r0, 0 -/* 802E89E8 40 82 00 1C */ bne lbl_802E8A04 -/* 802E89EC 7F 83 E3 78 */ mr r3, r28 -/* 802E89F0 4B FF FD 41 */ bl fetch32byte__13JUTDirectFileFv -/* 802E89F4 2C 03 00 00 */ cmpwi r3, 0 -/* 802E89F8 40 80 00 0C */ bge lbl_802E8A04 -/* 802E89FC 38 60 FF FF */ li r3, -1 -/* 802E8A00 48 00 00 F0 */ b lbl_802E8AF0 -lbl_802E8A04: -/* 802E8A04 80 1C 08 2C */ lwz r0, 0x82c(r28) -/* 802E8A08 54 04 05 7E */ clrlwi r4, r0, 0x15 -/* 802E8A0C 80 1C 08 24 */ lwz r0, 0x824(r28) -/* 802E8A10 7C A4 00 50 */ subf r5, r4, r0 -/* 802E8A14 7C 1E 2A 14 */ add r0, r30, r5 -/* 802E8A18 7C 00 D8 40 */ cmplw r0, r27 -/* 802E8A1C 40 81 00 0C */ ble lbl_802E8A28 -/* 802E8A20 7C 7E E8 50 */ subf r3, r30, r29 -/* 802E8A24 38 A3 FF FF */ addi r5, r3, -1 -lbl_802E8A28: -/* 802E8A28 38 C0 00 00 */ li r6, 0 -/* 802E8A2C 38 E0 00 00 */ li r7, 0 -/* 802E8A30 7C A9 03 A6 */ mtctr r5 -/* 802E8A34 28 05 00 00 */ cmplwi r5, 0 -/* 802E8A38 40 81 00 34 */ ble lbl_802E8A6C -lbl_802E8A3C: -/* 802E8A3C 80 7C 08 20 */ lwz r3, 0x820(r28) -/* 802E8A40 7C 03 20 AE */ lbzx r0, r3, r4 -/* 802E8A44 98 1F 00 00 */ stb r0, 0(r31) -/* 802E8A48 2C 00 00 0A */ cmpwi r0, 0xa -/* 802E8A4C 38 84 00 01 */ addi r4, r4, 1 -/* 802E8A50 3B FF 00 01 */ addi r31, r31, 1 -/* 802E8A54 40 82 00 10 */ bne lbl_802E8A64 -/* 802E8A58 38 C0 00 01 */ li r6, 1 -/* 802E8A5C 38 A7 00 01 */ addi r5, r7, 1 -/* 802E8A60 48 00 00 0C */ b lbl_802E8A6C -lbl_802E8A64: -/* 802E8A64 38 E7 00 01 */ addi r7, r7, 1 -/* 802E8A68 42 00 FF D4 */ bdnz lbl_802E8A3C -lbl_802E8A6C: -/* 802E8A6C 28 04 08 00 */ cmplwi r4, 0x800 -/* 802E8A70 41 80 00 0C */ blt lbl_802E8A7C -/* 802E8A74 38 00 00 00 */ li r0, 0 -/* 802E8A78 90 1C 08 24 */ stw r0, 0x824(r28) -lbl_802E8A7C: -/* 802E8A7C 2C 06 00 01 */ cmpwi r6, 1 -/* 802E8A80 40 82 00 20 */ bne lbl_802E8AA0 -/* 802E8A84 38 00 00 00 */ li r0, 0 -/* 802E8A88 98 1F 00 00 */ stb r0, 0(r31) -/* 802E8A8C 80 1C 08 2C */ lwz r0, 0x82c(r28) -/* 802E8A90 7C 00 2A 14 */ add r0, r0, r5 -/* 802E8A94 90 1C 08 2C */ stw r0, 0x82c(r28) -/* 802E8A98 7F DE 2A 14 */ add r30, r30, r5 -/* 802E8A9C 48 00 00 38 */ b lbl_802E8AD4 -lbl_802E8AA0: -/* 802E8AA0 80 1C 08 2C */ lwz r0, 0x82c(r28) -/* 802E8AA4 7C 00 2A 14 */ add r0, r0, r5 -/* 802E8AA8 90 1C 08 2C */ stw r0, 0x82c(r28) -/* 802E8AAC 7F DE 2A 14 */ add r30, r30, r5 -/* 802E8AB0 7C 1E D8 00 */ cmpw r30, r27 -/* 802E8AB4 41 80 00 10 */ blt lbl_802E8AC4 -/* 802E8AB8 38 00 00 00 */ li r0, 0 -/* 802E8ABC 98 1F 00 00 */ stb r0, 0(r31) -/* 802E8AC0 48 00 00 14 */ b lbl_802E8AD4 -lbl_802E8AC4: -/* 802E8AC4 80 7C 08 2C */ lwz r3, 0x82c(r28) -/* 802E8AC8 80 1C 08 28 */ lwz r0, 0x828(r28) -/* 802E8ACC 7C 03 00 40 */ cmplw r3, r0 -/* 802E8AD0 41 80 FF 10 */ blt lbl_802E89E0 -lbl_802E8AD4: -/* 802E8AD4 80 7C 08 2C */ lwz r3, 0x82c(r28) -/* 802E8AD8 80 1C 08 28 */ lwz r0, 0x828(r28) -/* 802E8ADC 7C 03 00 40 */ cmplw r3, r0 -/* 802E8AE0 41 80 00 0C */ blt lbl_802E8AEC -/* 802E8AE4 38 00 00 00 */ li r0, 0 -/* 802E8AE8 98 1F 00 00 */ stb r0, 0(r31) -lbl_802E8AEC: -/* 802E8AEC 7F C3 F3 78 */ mr r3, r30 -lbl_802E8AF0: -/* 802E8AF0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E8AF4 48 07 97 2D */ bl _restgpr_27 -/* 802E8AF8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E8AFC 7C 08 03 A6 */ mtlr r0 -/* 802E8B00 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E8B04 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s b/asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s deleted file mode 100644 index 6b6577d01e3..00000000000 --- a/asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802E8860: -/* 802E8860 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E8864 7C 08 02 A6 */ mflr r0 -/* 802E8868 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E886C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E8870 48 07 99 6D */ bl _savegpr_29 -/* 802E8874 7C 7D 1B 78 */ mr r29, r3 -/* 802E8878 7C 9F 23 79 */ or. r31, r4, r4 -/* 802E887C 40 82 00 0C */ bne lbl_802E8888 -/* 802E8880 38 60 00 00 */ li r3, 0 -/* 802E8884 48 00 00 60 */ b lbl_802E88E4 -lbl_802E8888: -/* 802E8888 48 05 4E 81 */ bl OSEnableInterrupts -/* 802E888C 7C 7E 1B 78 */ mr r30, r3 -/* 802E8890 7F E3 FB 78 */ mr r3, r31 -/* 802E8894 38 9D 08 34 */ addi r4, r29, 0x834 -/* 802E8898 48 05 FF F9 */ bl DVDOpen -/* 802E889C 7C 7F 1B 78 */ mr r31, r3 -/* 802E88A0 7F C3 F3 78 */ mr r3, r30 -/* 802E88A4 48 05 4E 79 */ bl OSRestoreInterrupts -/* 802E88A8 2C 1F 00 00 */ cmpwi r31, 0 -/* 802E88AC 40 82 00 14 */ bne lbl_802E88C0 -/* 802E88B0 38 00 00 00 */ li r0, 0 -/* 802E88B4 98 1D 08 30 */ stb r0, 0x830(r29) -/* 802E88B8 38 60 00 00 */ li r3, 0 -/* 802E88BC 48 00 00 28 */ b lbl_802E88E4 -lbl_802E88C0: -/* 802E88C0 48 05 4E 49 */ bl OSEnableInterrupts -/* 802E88C4 80 1D 08 68 */ lwz r0, 0x868(r29) -/* 802E88C8 90 1D 08 28 */ stw r0, 0x828(r29) -/* 802E88CC 48 05 4E 51 */ bl OSRestoreInterrupts -/* 802E88D0 38 00 00 00 */ li r0, 0 -/* 802E88D4 90 1D 08 2C */ stw r0, 0x82c(r29) -/* 802E88D8 38 00 00 01 */ li r0, 1 -/* 802E88DC 98 1D 08 30 */ stb r0, 0x830(r29) -/* 802E88E0 38 60 00 01 */ li r3, 1 -lbl_802E88E4: -/* 802E88E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E88E8 48 07 99 41 */ bl _restgpr_29 -/* 802E88EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E88F0 7C 08 03 A6 */ mtlr r0 -/* 802E88F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E88F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s b/asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s deleted file mode 100644 index ddf00f9d05d..00000000000 --- a/asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s +++ /dev/null @@ -1,174 +0,0 @@ -lbl_802E431C: -/* 802E431C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E4320 7C 08 02 A6 */ mflr r0 -/* 802E4324 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E4328 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E432C 48 07 DE A9 */ bl _savegpr_27 -/* 802E4330 3C E0 80 3D */ lis r7, sAsciiTable__14JUTDirectPrint@ha /* 0x803CC6B8@ha */ -/* 802E4334 38 E7 C6 B8 */ addi r7, r7, sAsciiTable__14JUTDirectPrint@l /* 0x803CC6B8@l */ -/* 802E4338 2C 06 00 64 */ cmpwi r6, 0x64 -/* 802E433C 7C C8 33 78 */ mr r8, r6 -/* 802E4340 41 80 00 08 */ blt lbl_802E4348 -/* 802E4344 39 06 FF 9C */ addi r8, r6, -100 -lbl_802E4348: -/* 802E4348 38 00 00 05 */ li r0, 5 -/* 802E434C 7D 28 03 D6 */ divw r9, r8, r0 -/* 802E4350 7C 09 01 D6 */ mullw r0, r9, r0 -/* 802E4354 7C 00 40 50 */ subf r0, r0, r8 -/* 802E4358 1D 00 00 06 */ mulli r8, r0, 6 -/* 802E435C 1C 09 00 07 */ mulli r0, r9, 7 -/* 802E4360 2C 06 00 64 */ cmpwi r6, 0x64 -/* 802E4364 54 00 10 3A */ slwi r0, r0, 2 -/* 802E4368 38 C7 01 80 */ addi r6, r7, 0x180 -/* 802E436C 7C C6 02 14 */ add r6, r6, r0 -/* 802E4370 40 80 00 0C */ bge lbl_802E437C -/* 802E4374 38 C7 00 80 */ addi r6, r7, 0x80 -/* 802E4378 7C C6 02 14 */ add r6, r6, r0 -lbl_802E437C: -/* 802E437C 7C C9 33 78 */ mr r9, r6 -/* 802E4380 A0 C3 00 04 */ lhz r6, 4(r3) -/* 802E4384 38 00 01 90 */ li r0, 0x190 -/* 802E4388 7C 00 30 10 */ subfc r0, r0, r6 -/* 802E438C 7C C0 01 10 */ subfe r6, r0, r0 -/* 802E4390 38 C6 00 02 */ addi r6, r6, 2 -/* 802E4394 A1 43 00 06 */ lhz r10, 6(r3) -/* 802E4398 38 00 01 2C */ li r0, 0x12c -/* 802E439C 7C 00 50 10 */ subfc r0, r0, r10 -/* 802E43A0 7D 40 01 10 */ subfe r10, r0, r0 -/* 802E43A4 38 0A 00 02 */ addi r0, r10, 2 -/* 802E43A8 81 63 00 14 */ lwz r11, 0x14(r3) -/* 802E43AC A1 43 00 08 */ lhz r10, 8(r3) -/* 802E43B0 7C AA 29 D6 */ mullw r5, r10, r5 -/* 802E43B4 7C A0 29 D6 */ mullw r5, r0, r5 -/* 802E43B8 54 A5 08 3C */ slwi r5, r5, 1 -/* 802E43BC 7C 84 31 D6 */ mullw r4, r4, r6 -/* 802E43C0 54 84 08 3C */ slwi r4, r4, 1 -/* 802E43C4 7D 45 22 14 */ add r10, r5, r4 -/* 802E43C8 7D 4B 52 14 */ add r10, r11, r10 -/* 802E43CC 39 60 00 00 */ li r11, 0 -/* 802E43D0 1C 86 00 06 */ mulli r4, r6, 6 -lbl_802E43D4: -/* 802E43D4 80 A9 00 00 */ lwz r5, 0(r9) -/* 802E43D8 7C BB 40 30 */ slw r27, r5, r8 -/* 802E43DC 2C 06 00 01 */ cmpwi r6, 1 -/* 802E43E0 39 29 00 04 */ addi r9, r9, 4 -/* 802E43E4 40 82 00 0C */ bne lbl_802E43F0 -/* 802E43E8 57 65 F8 4C */ rlwinm r5, r27, 0x1f, 1, 6 -/* 802E43EC 48 00 00 34 */ b lbl_802E4420 -lbl_802E43F0: -/* 802E43F0 57 65 27 3A */ rlwinm r5, r27, 4, 0x1c, 0x1d -/* 802E43F4 3B C7 02 B4 */ addi r30, r7, 0x2b4 -/* 802E43F8 7C BE 28 2E */ lwzx r5, r30, r5 -/* 802E43FC 54 BF 40 2E */ slwi r31, r5, 8 -/* 802E4400 57 65 47 3A */ rlwinm r5, r27, 8, 0x1c, 0x1d -/* 802E4404 7D 9E 28 2E */ lwzx r12, r30, r5 -/* 802E4408 57 65 37 3A */ rlwinm r5, r27, 6, 0x1c, 0x1d -/* 802E440C 7C BE 28 2E */ lwzx r5, r30, r5 -/* 802E4410 54 A5 20 36 */ slwi r5, r5, 4 -/* 802E4414 7D 85 2B 78 */ or r5, r12, r5 -/* 802E4418 7F E5 2B 78 */ or r5, r31, r5 -/* 802E441C 54 A5 98 18 */ slwi r5, r5, 0x13 -lbl_802E4420: -/* 802E4420 39 84 00 01 */ addi r12, r4, 1 -/* 802E4424 55 8C F8 7E */ srwi r12, r12, 1 -/* 802E4428 7D 89 03 A6 */ mtctr r12 -/* 802E442C 2C 04 00 00 */ cmpwi r4, 0 -/* 802E4430 40 81 01 04 */ ble lbl_802E4534 -lbl_802E4434: -/* 802E4434 54 BC 00 43 */ rlwinm. r28, r5, 0, 1, 1 -/* 802E4438 41 82 00 0C */ beq lbl_802E4444 -/* 802E443C A3 C3 00 20 */ lhz r30, 0x20(r3) -/* 802E4440 48 00 00 08 */ b lbl_802E4448 -lbl_802E4444: -/* 802E4444 3B C0 00 40 */ li r30, 0x40 -lbl_802E4448: -/* 802E4448 54 AC 00 01 */ rlwinm. r12, r5, 0, 0, 0 -/* 802E444C 41 82 00 0C */ beq lbl_802E4458 -/* 802E4450 A3 A3 00 22 */ lhz r29, 0x22(r3) -/* 802E4454 48 00 00 08 */ b lbl_802E445C -lbl_802E4458: -/* 802E4458 3B A0 00 20 */ li r29, 0x20 -lbl_802E445C: -/* 802E445C 54 BB 00 85 */ rlwinm. r27, r5, 0, 2, 2 -/* 802E4460 41 82 00 0C */ beq lbl_802E446C -/* 802E4464 A1 83 00 22 */ lhz r12, 0x22(r3) -/* 802E4468 48 00 00 08 */ b lbl_802E4470 -lbl_802E446C: -/* 802E446C 39 80 00 20 */ li r12, 0x20 -lbl_802E4470: -/* 802E4470 28 1C 00 00 */ cmplwi r28, 0 -/* 802E4474 41 82 00 0C */ beq lbl_802E4480 -/* 802E4478 A3 E3 00 1C */ lhz r31, 0x1c(r3) -/* 802E447C 48 00 00 08 */ b lbl_802E4484 -lbl_802E4480: -/* 802E4480 3B E0 00 00 */ li r31, 0 -lbl_802E4484: -/* 802E4484 7D 9E 62 14 */ add r12, r30, r12 -/* 802E4488 7D 9D 62 14 */ add r12, r29, r12 -/* 802E448C 7F EC 63 78 */ or r12, r31, r12 -/* 802E4490 55 9D 04 3E */ clrlwi r29, r12, 0x10 -/* 802E4494 B1 8A 00 00 */ sth r12, 0(r10) -/* 802E4498 2C 00 00 01 */ cmpwi r0, 1 -/* 802E449C 40 81 00 10 */ ble lbl_802E44AC -/* 802E44A0 A1 83 00 08 */ lhz r12, 8(r3) -/* 802E44A4 55 8C 08 3C */ slwi r12, r12, 1 -/* 802E44A8 7F AA 63 2E */ sthx r29, r10, r12 -lbl_802E44AC: -/* 802E44AC 28 1B 00 00 */ cmplwi r27, 0 -/* 802E44B0 41 82 00 0C */ beq lbl_802E44BC -/* 802E44B4 A3 A3 00 26 */ lhz r29, 0x26(r3) -/* 802E44B8 48 00 00 08 */ b lbl_802E44C0 -lbl_802E44BC: -/* 802E44BC 3B A0 00 40 */ li r29, 0x40 -lbl_802E44C0: -/* 802E44C0 28 1C 00 00 */ cmplwi r28, 0 -/* 802E44C4 41 82 00 0C */ beq lbl_802E44D0 -/* 802E44C8 A3 C3 00 28 */ lhz r30, 0x28(r3) -/* 802E44CC 48 00 00 08 */ b lbl_802E44D4 -lbl_802E44D0: -/* 802E44D0 3B C0 00 20 */ li r30, 0x20 -lbl_802E44D4: -/* 802E44D4 54 AC 00 C7 */ rlwinm. r12, r5, 0, 3, 3 -/* 802E44D8 41 82 00 0C */ beq lbl_802E44E4 -/* 802E44DC A1 83 00 28 */ lhz r12, 0x28(r3) -/* 802E44E0 48 00 00 08 */ b lbl_802E44E8 -lbl_802E44E4: -/* 802E44E4 39 80 00 20 */ li r12, 0x20 -lbl_802E44E8: -/* 802E44E8 28 1B 00 00 */ cmplwi r27, 0 -/* 802E44EC 41 82 00 0C */ beq lbl_802E44F8 -/* 802E44F0 A3 E3 00 1C */ lhz r31, 0x1c(r3) -/* 802E44F4 48 00 00 08 */ b lbl_802E44FC -lbl_802E44F8: -/* 802E44F8 3B E0 00 00 */ li r31, 0 -lbl_802E44FC: -/* 802E44FC 7D 9D 62 14 */ add r12, r29, r12 -/* 802E4500 7D 9E 62 14 */ add r12, r30, r12 -/* 802E4504 7F EC 63 78 */ or r12, r31, r12 -/* 802E4508 55 9B 04 3E */ clrlwi r27, r12, 0x10 -/* 802E450C B1 8A 00 02 */ sth r12, 2(r10) -/* 802E4510 2C 00 00 01 */ cmpwi r0, 1 -/* 802E4514 40 81 00 14 */ ble lbl_802E4528 -/* 802E4518 A1 83 00 08 */ lhz r12, 8(r3) -/* 802E451C 55 8C 08 3C */ slwi r12, r12, 1 -/* 802E4520 39 8C 00 02 */ addi r12, r12, 2 -/* 802E4524 7F 6A 63 2E */ sthx r27, r10, r12 -lbl_802E4528: -/* 802E4528 54 A5 10 3A */ slwi r5, r5, 2 -/* 802E452C 39 4A 00 04 */ addi r10, r10, 4 -/* 802E4530 42 00 FF 04 */ bdnz lbl_802E4434 -lbl_802E4534: -/* 802E4534 A0 A3 00 08 */ lhz r5, 8(r3) -/* 802E4538 7C A5 01 D6 */ mullw r5, r5, r0 -/* 802E453C 7C A4 28 50 */ subf r5, r4, r5 -/* 802E4540 54 A5 08 3C */ slwi r5, r5, 1 -/* 802E4544 7D 4A 2A 14 */ add r10, r10, r5 -/* 802E4548 39 6B 00 01 */ addi r11, r11, 1 -/* 802E454C 2C 0B 00 07 */ cmpwi r11, 7 -/* 802E4550 41 80 FE 84 */ blt lbl_802E43D4 -/* 802E4554 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E4558 48 07 DC C9 */ bl _restgpr_27 -/* 802E455C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E4560 7C 08 03 A6 */ mtlr r0 -/* 802E4564 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E4568 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTResFont/setBlock__10JUTResFontFv.s b/asm/JSystem/JUtility/JUTResFont/setBlock__10JUTResFontFv.s deleted file mode 100644 index 39b4eafa53a..00000000000 --- a/asm/JSystem/JUtility/JUTResFont/setBlock__10JUTResFontFv.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_802DF344: -/* 802DF344 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802DF348 7C 08 02 A6 */ mflr r0 -/* 802DF34C 90 01 00 34 */ stw r0, 0x34(r1) -/* 802DF350 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DF354 48 08 2E 79 */ bl _savegpr_25 -/* 802DF358 7C 7C 1B 78 */ mr r28, r3 -/* 802DF35C 3B 60 00 00 */ li r27, 0 -/* 802DF360 3B 40 00 00 */ li r26, 0 -/* 802DF364 3B 20 00 00 */ li r25, 0 -/* 802DF368 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802DF36C 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802DF370 B0 1C 00 68 */ sth r0, 0x68(r28) -/* 802DF374 80 7C 00 48 */ lwz r3, 0x48(r28) -/* 802DF378 3B C3 00 20 */ addi r30, r3, 0x20 -/* 802DF37C 3B A0 00 00 */ li r29, 0 -/* 802DF380 3C 60 4D 41 */ lis r3, 0x4D41 /* 0x4D415031@ha */ -/* 802DF384 3B E3 50 31 */ addi r31, r3, 0x5031 /* 0x4D415031@l */ -/* 802DF388 48 00 00 DC */ b lbl_802DF464 -lbl_802DF38C: -/* 802DF38C 80 9E 00 00 */ lwz r4, 0(r30) -/* 802DF390 7C 04 F8 00 */ cmpw r4, r31 -/* 802DF394 41 82 00 88 */ beq lbl_802DF41C -/* 802DF398 40 80 00 2C */ bge lbl_802DF3C4 -/* 802DF39C 3C 60 49 4E */ lis r3, 0x494E /* 0x494E4631@ha */ -/* 802DF3A0 38 03 46 31 */ addi r0, r3, 0x4631 /* 0x494E4631@l */ -/* 802DF3A4 7C 04 00 00 */ cmpw r4, r0 -/* 802DF3A8 41 82 00 30 */ beq lbl_802DF3D8 -/* 802DF3AC 40 80 00 9C */ bge lbl_802DF448 -/* 802DF3B0 3C 60 47 4C */ lis r3, 0x474C /* 0x474C5931@ha */ -/* 802DF3B4 38 03 59 31 */ addi r0, r3, 0x5931 /* 0x474C5931@l */ -/* 802DF3B8 7C 04 00 00 */ cmpw r4, r0 -/* 802DF3BC 41 82 00 50 */ beq lbl_802DF40C -/* 802DF3C0 48 00 00 88 */ b lbl_802DF448 -lbl_802DF3C4: -/* 802DF3C4 3C 60 57 49 */ lis r3, 0x5749 /* 0x57494431@ha */ -/* 802DF3C8 38 03 44 31 */ addi r0, r3, 0x4431 /* 0x57494431@l */ -/* 802DF3CC 7C 04 00 00 */ cmpw r4, r0 -/* 802DF3D0 41 82 00 2C */ beq lbl_802DF3FC -/* 802DF3D4 48 00 00 74 */ b lbl_802DF448 -lbl_802DF3D8: -/* 802DF3D8 93 DC 00 4C */ stw r30, 0x4c(r28) -/* 802DF3DC 80 7C 00 4C */ lwz r3, 0x4c(r28) -/* 802DF3E0 A0 03 00 08 */ lhz r0, 8(r3) -/* 802DF3E4 54 04 10 3A */ slwi r4, r0, 2 -/* 802DF3E8 3C 60 80 3A */ lis r3, saoAboutEncoding___10JUTResFont@ha /* 0x8039D390@ha */ -/* 802DF3EC 38 03 D3 90 */ addi r0, r3, saoAboutEncoding___10JUTResFont@l /* 0x8039D390@l */ -/* 802DF3F0 7C 00 22 14 */ add r0, r0, r4 -/* 802DF3F4 90 1C 00 6C */ stw r0, 0x6c(r28) -/* 802DF3F8 48 00 00 60 */ b lbl_802DF458 -lbl_802DF3FC: -/* 802DF3FC 80 7C 00 54 */ lwz r3, 0x54(r28) -/* 802DF400 7F C3 D9 2E */ stwx r30, r3, r27 -/* 802DF404 3B 7B 00 04 */ addi r27, r27, 4 -/* 802DF408 48 00 00 50 */ b lbl_802DF458 -lbl_802DF40C: -/* 802DF40C 80 7C 00 58 */ lwz r3, 0x58(r28) -/* 802DF410 7F C3 D1 2E */ stwx r30, r3, r26 -/* 802DF414 3B 5A 00 04 */ addi r26, r26, 4 -/* 802DF418 48 00 00 40 */ b lbl_802DF458 -lbl_802DF41C: -/* 802DF41C 80 7C 00 5C */ lwz r3, 0x5c(r28) -/* 802DF420 7F C3 C9 2E */ stwx r30, r3, r25 -/* 802DF424 A0 1C 00 68 */ lhz r0, 0x68(r28) -/* 802DF428 80 7C 00 5C */ lwz r3, 0x5c(r28) -/* 802DF42C 7C 63 C8 2E */ lwzx r3, r3, r25 -/* 802DF430 A0 63 00 0A */ lhz r3, 0xa(r3) -/* 802DF434 7C 00 18 40 */ cmplw r0, r3 -/* 802DF438 40 81 00 08 */ ble lbl_802DF440 -/* 802DF43C B0 7C 00 68 */ sth r3, 0x68(r28) -lbl_802DF440: -/* 802DF440 3B 39 00 04 */ addi r25, r25, 4 -/* 802DF444 48 00 00 14 */ b lbl_802DF458 -lbl_802DF448: -/* 802DF448 3C 60 80 3A */ lis r3, JUTResFont__stringBase0@ha /* 0x8039D45C@ha */ -/* 802DF44C 38 63 D4 5C */ addi r3, r3, JUTResFont__stringBase0@l /* 0x8039D45C@l */ -/* 802DF450 38 63 00 20 */ addi r3, r3, 0x20 -/* 802DF454 48 00 91 F5 */ bl JUTReportConsole -lbl_802DF458: -/* 802DF458 80 1E 00 04 */ lwz r0, 4(r30) -/* 802DF45C 7F DE 02 14 */ add r30, r30, r0 -/* 802DF460 3B BD 00 01 */ addi r29, r29, 1 -lbl_802DF464: -/* 802DF464 80 7C 00 48 */ lwz r3, 0x48(r28) -/* 802DF468 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802DF46C 7C 1D 00 40 */ cmplw r29, r0 -/* 802DF470 41 80 FF 1C */ blt lbl_802DF38C -/* 802DF474 39 61 00 30 */ addi r11, r1, 0x30 -/* 802DF478 48 08 2D A1 */ bl _restgpr_25 -/* 802DF47C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802DF480 7C 08 03 A6 */ mtlr r0 -/* 802DF484 38 21 00 30 */ addi r1, r1, 0x30 -/* 802DF488 4E 80 00 20 */ blr diff --git a/asm/Runtime.PPCEABI.H/runtime/__restore_gpr.s b/asm/Runtime.PPCEABI.H/runtime/_restgpr_14.s similarity index 100% rename from asm/Runtime.PPCEABI.H/runtime/__restore_gpr.s rename to asm/Runtime.PPCEABI.H/runtime/_restgpr_14.s diff --git a/asm/Runtime.PPCEABI.H/runtime/__save_gpr.s b/asm/Runtime.PPCEABI.H/runtime/_savegpr_14.s similarity index 100% rename from asm/Runtime.PPCEABI.H/runtime/__save_gpr.s rename to asm/Runtime.PPCEABI.H/runtime/_savegpr_14.s diff --git a/asm/a/npc/d_a_npc_cd2/__sinit_d_a_npc_cd2_cpp.s b/asm/a/npc/d_a_npc_cd2/__sinit_d_a_npc_cd2_cpp.s index a042832818b..cfc52a482f9 100644 --- a/asm/a/npc/d_a_npc_cd2/__sinit_d_a_npc_cd2_cpp.s +++ b/asm/a/npc/d_a_npc_cd2/__sinit_d_a_npc_cd2_cpp.s @@ -3,7 +3,7 @@ lbl_8015A90C: /* 8015A910 7C 08 02 A6 */ mflr r0 /* 8015A914 90 01 00 E4 */ stw r0, 0xe4(r1) /* 8015A918 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8015A91C 48 20 78 85 */ bl __save_gpr +/* 8015A91C 48 20 78 85 */ bl _savegpr_14 /* 8015A920 3C 60 80 39 */ lis r3, l_resMANa@ha /* 0x80393250@ha */ /* 8015A924 38 C3 32 50 */ addi r6, r3, l_resMANa@l /* 0x80393250@l */ /* 8015A928 3C 60 80 3B */ lis r3, cNullVec__6Z2Calc@ha /* 0x803B61C0@ha */ @@ -298,7 +298,7 @@ lbl_8015A90C: /* 8015ADAC 38 A5 86 10 */ addi r5, r5, lit_3982@l /* 0x80428610@l */ /* 8015ADB0 48 20 6E 75 */ bl __register_global_object /* 8015ADB4 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8015ADB8 48 20 74 35 */ bl __restore_gpr +/* 8015ADB8 48 20 74 35 */ bl _restgpr_14 /* 8015ADBC 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 8015ADC0 7C 08 03 A6 */ mtlr r0 /* 8015ADC4 38 21 00 E0 */ addi r1, r1, 0xe0 diff --git a/asm/d/a/d_a_alink/wolfFootBgCheck__9daAlink_cFv.s b/asm/d/a/d_a_alink/wolfFootBgCheck__9daAlink_cFv.s index eb3e41793df..8133c34e9b0 100644 --- a/asm/d/a/d_a_alink/wolfFootBgCheck__9daAlink_cFv.s +++ b/asm/d/a/d_a_alink/wolfFootBgCheck__9daAlink_cFv.s @@ -15,7 +15,7 @@ lbl_8012B724: /* 8012B758 DB 41 01 10 */ stfd f26, 0x110(r1) /* 8012B75C F3 41 01 18 */ psq_st f26, 280(r1), 0, 0 /* qr0 */ /* 8012B760 39 61 01 10 */ addi r11, r1, 0x110 -/* 8012B764 48 23 6A 3D */ bl __save_gpr +/* 8012B764 48 23 6A 3D */ bl _savegpr_14 /* 8012B768 7C 6F 1B 78 */ mr r15, r3 /* 8012B76C 80 63 20 60 */ lwz r3, 0x2060(r3) /* 8012B770 88 03 00 00 */ lbz r0, 0(r3) @@ -588,7 +588,7 @@ lbl_8012BF60: /* 8012BF88 E3 41 01 18 */ psq_l f26, 280(r1), 0, 0 /* qr0 */ /* 8012BF8C CB 41 01 10 */ lfd f26, 0x110(r1) /* 8012BF90 39 61 01 10 */ addi r11, r1, 0x110 -/* 8012BF94 48 23 62 59 */ bl __restore_gpr +/* 8012BF94 48 23 62 59 */ bl _restgpr_14 /* 8012BF98 80 01 01 74 */ lwz r0, 0x174(r1) /* 8012BF9C 7C 08 03 A6 */ mtlr r0 /* 8012BFA0 38 21 01 70 */ addi r1, r1, 0x170 diff --git a/asm/d/bg/d_bg_w_kcol/CaptPoly__8dBgWKColFR13dBgS_CaptPoly.s b/asm/d/bg/d_bg_w_kcol/CaptPoly__8dBgWKColFR13dBgS_CaptPoly.s index 549503cfe50..42a510ad228 100644 --- a/asm/d/bg/d_bg_w_kcol/CaptPoly__8dBgWKColFR13dBgS_CaptPoly.s +++ b/asm/d/bg/d_bg_w_kcol/CaptPoly__8dBgWKColFR13dBgS_CaptPoly.s @@ -5,7 +5,7 @@ lbl_8007FF1C: /* 8007FF28 DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 8007FF2C F3 E1 00 E8 */ psq_st f31, 232(r1), 0, 0 /* qr0 */ /* 8007FF30 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8007FF34 48 2E 22 6D */ bl __save_gpr +/* 8007FF34 48 2E 22 6D */ bl _savegpr_14 /* 8007FF38 7C 6F 1B 78 */ mr r15, r3 /* 8007FF3C 7C 90 23 78 */ mr r16, r4 /* 8007FF40 C0 24 00 2C */ lfs f1, 0x2c(r4) @@ -273,7 +273,7 @@ lbl_80080310: /* 80080310 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, 0 /* qr0 */ /* 80080314 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 80080318 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 8008031C 48 2E 1E D1 */ bl __restore_gpr +/* 8008031C 48 2E 1E D1 */ bl _restgpr_14 /* 80080320 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 80080324 7C 08 03 A6 */ mtlr r0 /* 80080328 38 21 00 F0 */ addi r1, r1, 0xf0 diff --git a/asm/d/bg/d_bg_w_kcol/LineCheck__8dBgWKColFP11cBgS_LinChk.s b/asm/d/bg/d_bg_w_kcol/LineCheck__8dBgWKColFP11cBgS_LinChk.s index 4d70746be5c..8484eb03fe1 100644 --- a/asm/d/bg/d_bg_w_kcol/LineCheck__8dBgWKColFP11cBgS_LinChk.s +++ b/asm/d/bg/d_bg_w_kcol/LineCheck__8dBgWKColFP11cBgS_LinChk.s @@ -17,7 +17,7 @@ lbl_8007EE34: /* 8007EE70 DB 21 01 40 */ stfd f25, 0x140(r1) /* 8007EE74 F3 21 01 48 */ psq_st f25, 328(r1), 0, 0 /* qr0 */ /* 8007EE78 39 61 01 40 */ addi r11, r1, 0x140 -/* 8007EE7C 48 2E 33 25 */ bl __save_gpr +/* 8007EE7C 48 2E 33 25 */ bl _savegpr_14 /* 8007EE80 7C 6F 1B 78 */ mr r15, r3 /* 8007EE84 7C 90 23 78 */ mr r16, r4 /* 8007EE88 39 D0 00 24 */ addi r14, r16, 0x24 @@ -543,7 +543,7 @@ lbl_8007F5D8: /* 8007F608 E3 21 01 48 */ psq_l f25, 328(r1), 0, 0 /* qr0 */ /* 8007F60C CB 21 01 40 */ lfd f25, 0x140(r1) /* 8007F610 39 61 01 40 */ addi r11, r1, 0x140 -/* 8007F614 48 2E 2B D9 */ bl __restore_gpr +/* 8007F614 48 2E 2B D9 */ bl _restgpr_14 /* 8007F618 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 8007F61C 7C 08 03 A6 */ mtlr r0 /* 8007F620 38 21 01 B0 */ addi r1, r1, 0x1b0 diff --git a/asm/d/bg/d_bg_w_kcol/ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw.s b/asm/d/bg/d_bg_w_kcol/ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw.s index 5224c356796..60aa2c848c2 100644 --- a/asm/d/bg/d_bg_w_kcol/ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw.s +++ b/asm/d/bg/d_bg_w_kcol/ShdwDraw__8dBgWKColFP13cBgS_ShdwDraw.s @@ -3,7 +3,7 @@ lbl_8007F9A4: /* 8007F9A8 7C 08 02 A6 */ mflr r0 /* 8007F9AC 90 01 09 04 */ stw r0, 0x904(r1) /* 8007F9B0 39 61 09 00 */ addi r11, r1, 0x900 -/* 8007F9B4 48 2E 27 ED */ bl __save_gpr +/* 8007F9B4 48 2E 27 ED */ bl _savegpr_14 /* 8007F9B8 7C 6F 1B 78 */ mr r15, r3 /* 8007F9BC 90 81 00 08 */ stw r4, 8(r1) /* 8007F9C0 7C 83 23 78 */ mr r3, r4 @@ -359,7 +359,7 @@ lbl_8007FEB0: /* 8007FEE4 40 81 FC 64 */ ble lbl_8007FB48 lbl_8007FEE8: /* 8007FEE8 39 61 09 00 */ addi r11, r1, 0x900 -/* 8007FEEC 48 2E 23 01 */ bl __restore_gpr +/* 8007FEEC 48 2E 23 01 */ bl _restgpr_14 /* 8007FEF0 80 01 09 04 */ lwz r0, 0x904(r1) /* 8007FEF4 7C 08 03 A6 */ mtlr r0 /* 8007FEF8 38 21 09 00 */ addi r1, r1, 0x900 diff --git a/asm/d/bg/d_bg_w_kcol/SphChk__8dBgWKColFP11dBgS_SphChkPv.s b/asm/d/bg/d_bg_w_kcol/SphChk__8dBgWKColFP11dBgS_SphChkPv.s index 8ae6bce7165..8dcf081815e 100644 --- a/asm/d/bg/d_bg_w_kcol/SphChk__8dBgWKColFP11dBgS_SphChkPv.s +++ b/asm/d/bg/d_bg_w_kcol/SphChk__8dBgWKColFP11dBgS_SphChkPv.s @@ -3,7 +3,7 @@ lbl_800824EC: /* 800824F0 7C 08 02 A6 */ mflr r0 /* 800824F4 90 01 01 24 */ stw r0, 0x124(r1) /* 800824F8 39 61 01 20 */ addi r11, r1, 0x120 -/* 800824FC 48 2D FC A5 */ bl __save_gpr +/* 800824FC 48 2D FC A5 */ bl _savegpr_14 /* 80082500 7C 6F 1B 78 */ mr r15, r3 /* 80082504 7C 90 23 78 */ mr r16, r4 /* 80082508 90 A1 00 08 */ stw r5, 8(r1) @@ -321,7 +321,7 @@ lbl_80082964: /* 80082990 7E C3 B3 78 */ mr r3, r22 lbl_80082994: /* 80082994 39 61 01 20 */ addi r11, r1, 0x120 -/* 80082998 48 2D F8 55 */ bl __restore_gpr +/* 80082998 48 2D F8 55 */ bl _restgpr_14 /* 8008299C 80 01 01 24 */ lwz r0, 0x124(r1) /* 800829A0 7C 08 03 A6 */ mtlr r0 /* 800829A4 38 21 01 20 */ addi r1, r1, 0x120 diff --git a/asm/d/bg/d_bg_w_kcol/WallCorrectSort__8dBgWKColFP9dBgS_Acch.s b/asm/d/bg/d_bg_w_kcol/WallCorrectSort__8dBgWKColFP9dBgS_Acch.s index a3bc9c08a58..79f48b2999f 100644 --- a/asm/d/bg/d_bg_w_kcol/WallCorrectSort__8dBgWKColFP9dBgS_Acch.s +++ b/asm/d/bg/d_bg_w_kcol/WallCorrectSort__8dBgWKColFP9dBgS_Acch.s @@ -21,7 +21,7 @@ lbl_80080330: /* 8008037C DA E1 01 20 */ stfd f23, 0x120(r1) /* 80080380 F2 E1 01 28 */ psq_st f23, 296(r1), 0, 0 /* qr0 */ /* 80080384 39 61 01 20 */ addi r11, r1, 0x120 -/* 80080388 48 2E 1E 19 */ bl __save_gpr +/* 80080388 48 2E 1E 19 */ bl _savegpr_14 /* 8008038C 7C 7E 1B 78 */ mr r30, r3 /* 80080390 7C 9F 23 78 */ mr r31, r4 /* 80080394 38 00 00 00 */ li r0, 0 @@ -983,7 +983,7 @@ lbl_80081140: /* 80081180 E2 E1 01 28 */ psq_l f23, 296(r1), 0, 0 /* qr0 */ /* 80081184 CA E1 01 20 */ lfd f23, 0x120(r1) /* 80081188 39 61 01 20 */ addi r11, r1, 0x120 -/* 8008118C 48 2E 10 61 */ bl __restore_gpr +/* 8008118C 48 2E 10 61 */ bl _restgpr_14 /* 80081190 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 80081194 7C 08 03 A6 */ mtlr r0 /* 80081198 38 21 01 B0 */ addi r1, r1, 0x1b0 diff --git a/asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s b/asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s index eb13501e645..6cacd3687c2 100644 --- a/asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s +++ b/asm/d/bg/d_bg_w_kcol/WallCorrect__8dBgWKColFP9dBgS_Acch.s @@ -19,7 +19,7 @@ lbl_800811A0: /* 800811E4 DB 01 01 10 */ stfd f24, 0x110(r1) /* 800811E8 F3 01 01 18 */ psq_st f24, 280(r1), 0, 0 /* qr0 */ /* 800811EC 39 61 01 10 */ addi r11, r1, 0x110 -/* 800811F0 48 2E 0F B1 */ bl __save_gpr +/* 800811F0 48 2E 0F B1 */ bl _savegpr_14 /* 800811F4 7C 6F 1B 78 */ mr r15, r3 /* 800811F8 7C 90 23 78 */ mr r16, r4 /* 800811FC 38 00 00 00 */ li r0, 0 @@ -848,7 +848,7 @@ lbl_80081DC0: /* 80081DF8 E3 01 01 18 */ psq_l f24, 280(r1), 0, 0 /* qr0 */ /* 80081DFC CB 01 01 10 */ lfd f24, 0x110(r1) /* 80081E00 39 61 01 10 */ addi r11, r1, 0x110 -/* 80081E04 48 2E 03 E9 */ bl __restore_gpr +/* 80081E04 48 2E 03 E9 */ bl _restgpr_14 /* 80081E08 80 01 01 94 */ lwz r0, 0x194(r1) /* 80081E0C 7C 08 03 A6 */ mtlr r0 /* 80081E10 38 21 01 90 */ addi r1, r1, 0x190 diff --git a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s b/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s index 23561d9b39b..aa1868193f2 100644 --- a/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s +++ b/asm/d/kankyo/d_kankyo/dKy_ParticleColor_get_base__FP4cXyzP12dKy_tevstr_cP8_GXColorP8_GXColorP8_GXColorP8_GXColorf.s @@ -9,7 +9,7 @@ lbl_801A8E20: /* 801A8E3C DB A1 01 40 */ stfd f29, 0x140(r1) /* 801A8E40 F3 A1 01 48 */ psq_st f29, 328(r1), 0, 0 /* qr0 */ /* 801A8E44 39 61 01 40 */ addi r11, r1, 0x140 -/* 801A8E48 48 1B 93 59 */ bl __save_gpr +/* 801A8E48 48 1B 93 59 */ bl _savegpr_14 /* 801A8E4C 7C 6E 1B 78 */ mr r14, r3 /* 801A8E50 7C 99 23 78 */ mr r25, r4 /* 801A8E54 7C BA 2B 78 */ mr r26, r5 @@ -921,7 +921,7 @@ lbl_801A9994: /* 801A9BC4 E3 A1 01 48 */ psq_l f29, 328(r1), 0, 0 /* qr0 */ /* 801A9BC8 CB A1 01 40 */ lfd f29, 0x140(r1) /* 801A9BCC 39 61 01 40 */ addi r11, r1, 0x140 -/* 801A9BD0 48 1B 86 1D */ bl __restore_gpr +/* 801A9BD0 48 1B 86 1D */ bl _restgpr_14 /* 801A9BD4 80 01 01 74 */ lwz r0, 0x174(r1) /* 801A9BD8 7C 08 03 A6 */ mtlr r0 /* 801A9BDC 38 21 01 70 */ addi r1, r1, 0x170 diff --git a/asm/d/kankyo/d_kankyo/setLight__18dScnKy_env_light_cFv.s b/asm/d/kankyo/d_kankyo/setLight__18dScnKy_env_light_cFv.s index 9dbcbaac8f8..4fe378c6cfc 100644 --- a/asm/d/kankyo/d_kankyo/setLight__18dScnKy_env_light_cFv.s +++ b/asm/d/kankyo/d_kankyo/setLight__18dScnKy_env_light_cFv.s @@ -7,7 +7,7 @@ lbl_801A040C: /* 801A0420 DB C1 01 30 */ stfd f30, 0x130(r1) /* 801A0424 F3 C1 01 38 */ psq_st f30, 312(r1), 0, 0 /* qr0 */ /* 801A0428 39 61 01 30 */ addi r11, r1, 0x130 -/* 801A042C 48 1C 1D 75 */ bl __save_gpr +/* 801A042C 48 1C 1D 75 */ bl _savegpr_14 /* 801A0430 7C 6F 1B 78 */ mr r15, r3 /* 801A0434 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ /* 801A0438 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */ @@ -1001,7 +1001,7 @@ lbl_801A1314: /* 801A131C E3 C1 01 38 */ psq_l f30, 312(r1), 0, 0 /* qr0 */ /* 801A1320 CB C1 01 30 */ lfd f30, 0x130(r1) /* 801A1324 39 61 01 30 */ addi r11, r1, 0x130 -/* 801A1328 48 1C 0E C5 */ bl __restore_gpr +/* 801A1328 48 1C 0E C5 */ bl _restgpr_14 /* 801A132C 80 01 01 54 */ lwz r0, 0x154(r1) /* 801A1330 7C 08 03 A6 */ mtlr r0 /* 801A1334 38 21 01 50 */ addi r1, r1, 0x150 diff --git a/asm/d/kankyo/d_kankyo_rain/dKyr_drawSnow__FPA4_fPPUc.s b/asm/d/kankyo/d_kankyo_rain/dKyr_drawSnow__FPA4_fPPUc.s index 9eca9c941e2..81d0f5022fb 100644 --- a/asm/d/kankyo/d_kankyo_rain/dKyr_drawSnow__FPA4_fPPUc.s +++ b/asm/d/kankyo/d_kankyo_rain/dKyr_drawSnow__FPA4_fPPUc.s @@ -39,7 +39,7 @@ lbl_80067488: /* 8006751C D9 C1 02 00 */ stfd f14, 0x200(r1) /* 80067520 F1 C1 02 08 */ psq_st f14, 520(r1), 0, 0 /* qr0 */ /* 80067524 39 61 02 00 */ addi r11, r1, 0x200 -/* 80067528 48 2F AC 79 */ bl __save_gpr +/* 80067528 48 2F AC 79 */ bl _savegpr_14 /* 8006752C 7C 70 1B 78 */ mr r16, r3 /* 80067530 7C 8F 23 78 */ mr r15, r4 /* 80067534 3C 60 80 42 */ lis r3, lit_7952@ha /* 0x80424950@ha */ @@ -1148,7 +1148,7 @@ lbl_80068534: /* 800685BC E1 C1 02 08 */ psq_l f14, 520(r1), 0, 0 /* qr0 */ /* 800685C0 C9 C1 02 00 */ lfd f14, 0x200(r1) /* 800685C4 39 61 02 00 */ addi r11, r1, 0x200 -/* 800685C8 48 2F 9C 25 */ bl __restore_gpr +/* 800685C8 48 2F 9C 25 */ bl _restgpr_14 /* 800685CC 80 01 03 24 */ lwz r0, 0x324(r1) /* 800685D0 7C 08 03 A6 */ mtlr r0 /* 800685D4 38 21 03 20 */ addi r1, r1, 0x320 diff --git a/asm/d/kankyo/d_kankyo_rain/drawVrkumo__FPA4_fR8_GXColorPPUc.s b/asm/d/kankyo/d_kankyo_rain/drawVrkumo__FPA4_fR8_GXColorPPUc.s index d39e4eb1b16..29ec458ca49 100644 --- a/asm/d/kankyo/d_kankyo_rain/drawVrkumo__FPA4_fR8_GXColorPPUc.s +++ b/asm/d/kankyo/d_kankyo_rain/drawVrkumo__FPA4_fR8_GXColorPPUc.s @@ -25,7 +25,7 @@ lbl_8006A090: /* 8006A0EC DA A1 01 F0 */ stfd f21, 0x1f0(r1) /* 8006A0F0 F2 A1 01 F8 */ psq_st f21, 504(r1), 0, 0 /* qr0 */ /* 8006A0F4 39 61 01 F0 */ addi r11, r1, 0x1f0 -/* 8006A0F8 48 2F 80 A9 */ bl __save_gpr +/* 8006A0F8 48 2F 80 A9 */ bl _savegpr_14 /* 8006A0FC 7C 7C 1B 78 */ mr r28, r3 /* 8006A100 7C 9D 23 78 */ mr r29, r4 /* 8006A104 7C AE 2B 78 */ mr r14, r5 @@ -1129,7 +1129,7 @@ lbl_8006B120: /* 8006B170 E2 A1 01 F8 */ psq_l f21, 504(r1), 0, 0 /* qr0 */ /* 8006B174 CA A1 01 F0 */ lfd f21, 0x1f0(r1) /* 8006B178 39 61 01 F0 */ addi r11, r1, 0x1f0 -/* 8006B17C 48 2F 70 71 */ bl __restore_gpr +/* 8006B17C 48 2F 70 71 */ bl _restgpr_14 /* 8006B180 80 01 02 A4 */ lwz r0, 0x2a4(r1) /* 8006B184 7C 08 03 A6 */ mtlr r0 /* 8006B188 38 21 02 A0 */ addi r1, r1, 0x2a0 diff --git a/asm/d/map/d_map_path_fmap/getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi.s b/asm/d/map/d_map_path_fmap/getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi.s index d271e1be85d..8250ef2e882 100644 --- a/asm/d/map/d_map_path_fmap/getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi.s +++ b/asm/d/map/d_map_path_fmap/getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi.s @@ -13,7 +13,7 @@ lbl_8003DB70: /* 8003DB9C DB 61 00 B0 */ stfd f27, 0xb0(r1) /* 8003DBA0 F3 61 00 B8 */ psq_st f27, 184(r1), 0, 0 /* qr0 */ /* 8003DBA4 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8003DBA8 48 32 45 F9 */ bl __save_gpr +/* 8003DBA8 48 32 45 F9 */ bl _savegpr_14 /* 8003DBAC 7C 6F 1B 78 */ mr r15, r3 /* 8003DBB0 FF A0 08 90 */ fmr f29, f1 /* 8003DBB4 FF C0 10 90 */ fmr f30, f2 @@ -237,7 +237,7 @@ lbl_8003DE9C: /* 8003DEC0 E3 61 00 B8 */ psq_l f27, 184(r1), 0, 0 /* qr0 */ /* 8003DEC4 CB 61 00 B0 */ lfd f27, 0xb0(r1) /* 8003DEC8 39 61 00 B0 */ addi r11, r1, 0xb0 -/* 8003DECC 48 32 43 21 */ bl __restore_gpr +/* 8003DECC 48 32 43 21 */ bl _restgpr_14 /* 8003DED0 80 01 01 04 */ lwz r0, 0x104(r1) /* 8003DED4 7C 08 03 A6 */ mtlr r0 /* 8003DED8 38 21 01 00 */ addi r1, r1, 0x100 diff --git a/asm/d/menu/d_menu_fmap/readAreaData__12dMenu_Fmap_cFUcb.s b/asm/d/menu/d_menu_fmap/readAreaData__12dMenu_Fmap_cFUcb.s index 2122cff6b1b..aa2865d9155 100644 --- a/asm/d/menu/d_menu_fmap/readAreaData__12dMenu_Fmap_cFUcb.s +++ b/asm/d/menu/d_menu_fmap/readAreaData__12dMenu_Fmap_cFUcb.s @@ -7,7 +7,7 @@ lbl_801CB938: /* 801CB94C DB C1 01 10 */ stfd f30, 0x110(r1) /* 801CB950 F3 C1 01 18 */ psq_st f30, 280(r1), 0, 0 /* qr0 */ /* 801CB954 39 61 01 10 */ addi r11, r1, 0x110 -/* 801CB958 48 19 68 49 */ bl __save_gpr +/* 801CB958 48 19 68 49 */ bl _savegpr_14 /* 801CB95C 7C 6F 1B 78 */ mr r15, r3 /* 801CB960 7C 90 23 78 */ mr r16, r4 /* 801CB964 7C B1 2B 78 */ mr r17, r5 @@ -401,7 +401,7 @@ lbl_801CBEDC: /* 801CBEE4 E3 C1 01 18 */ psq_l f30, 280(r1), 0, 0 /* qr0 */ /* 801CBEE8 CB C1 01 10 */ lfd f30, 0x110(r1) /* 801CBEEC 39 61 01 10 */ addi r11, r1, 0x110 -/* 801CBEF0 48 19 62 FD */ bl __restore_gpr +/* 801CBEF0 48 19 62 FD */ bl _restgpr_14 /* 801CBEF4 80 01 01 34 */ lwz r0, 0x134(r1) /* 801CBEF8 7C 08 03 A6 */ mtlr r0 /* 801CBEFC 38 21 01 30 */ addi r1, r1, 0x130 diff --git a/asm/d/menu/d_menu_letter/screenSetMenu__14dMenu_Letter_cFv.s b/asm/d/menu/d_menu_letter/screenSetMenu__14dMenu_Letter_cFv.s index cc94df47035..06593c1eade 100644 --- a/asm/d/menu/d_menu_letter/screenSetMenu__14dMenu_Letter_cFv.s +++ b/asm/d/menu/d_menu_letter/screenSetMenu__14dMenu_Letter_cFv.s @@ -3,7 +3,7 @@ lbl_801DF010: /* 801DF014 7C 08 02 A6 */ mflr r0 /* 801DF018 90 01 00 84 */ stw r0, 0x84(r1) /* 801DF01C 39 61 00 80 */ addi r11, r1, 0x80 -/* 801DF020 48 18 31 81 */ bl __save_gpr +/* 801DF020 48 18 31 81 */ bl _savegpr_14 /* 801DF024 7C 7E 1B 78 */ mr r30, r3 /* 801DF028 3C 60 80 39 */ lis r3, tag_sub0@ha /* 0x803969C8@ha */ /* 801DF02C 3B E3 69 C8 */ addi r31, r3, tag_sub0@l /* 0x803969C8@l */ @@ -658,7 +658,7 @@ lbl_801DF944: /* 801DFA08 39 EF 00 08 */ addi r15, r15, 8 /* 801DFA0C 41 80 FF 38 */ blt lbl_801DF944 /* 801DFA10 39 61 00 80 */ addi r11, r1, 0x80 -/* 801DFA14 48 18 27 D9 */ bl __restore_gpr +/* 801DFA14 48 18 27 D9 */ bl _restgpr_14 /* 801DFA18 80 01 00 84 */ lwz r0, 0x84(r1) /* 801DFA1C 7C 08 03 A6 */ mtlr r0 /* 801DFA20 38 21 00 80 */ addi r1, r1, 0x80 diff --git a/asm/d/menu/d_menu_skill/screenSetMenu__13dMenu_Skill_cFv.s b/asm/d/menu/d_menu_skill/screenSetMenu__13dMenu_Skill_cFv.s index 20d1aaf9a3f..c567f0f8e8b 100644 --- a/asm/d/menu/d_menu_skill/screenSetMenu__13dMenu_Skill_cFv.s +++ b/asm/d/menu/d_menu_skill/screenSetMenu__13dMenu_Skill_cFv.s @@ -3,7 +3,7 @@ lbl_801F8388: /* 801F838C 7C 08 02 A6 */ mflr r0 /* 801F8390 90 01 00 74 */ stw r0, 0x74(r1) /* 801F8394 39 61 00 70 */ addi r11, r1, 0x70 -/* 801F8398 48 16 9E 09 */ bl __save_gpr +/* 801F8398 48 16 9E 09 */ bl _savegpr_14 /* 801F839C 7C 7F 1B 78 */ mr r31, r3 /* 801F83A0 3C 60 80 39 */ lis r3, i_id@ha /* 0x80397A18@ha */ /* 801F83A4 3A E3 7A 18 */ addi r23, r3, i_id@l /* 0x80397A18@l */ @@ -426,7 +426,7 @@ lbl_801F8940: /* 801F89F8 7D 89 03 A6 */ mtctr r12 /* 801F89FC 4E 80 04 21 */ bctrl /* 801F8A00 39 61 00 70 */ addi r11, r1, 0x70 -/* 801F8A04 48 16 97 E9 */ bl __restore_gpr +/* 801F8A04 48 16 97 E9 */ bl _restgpr_14 /* 801F8A08 80 01 00 74 */ lwz r0, 0x74(r1) /* 801F8A0C 7C 08 03 A6 */ mtlr r0 /* 801F8A10 38 21 00 70 */ addi r1, r1, 0x70 diff --git a/asm/d/meter/d_meter_button/_execute__14dMeterButton_cFUlbbbbbbbbbbbbbbbbbbbbbb.s b/asm/d/meter/d_meter_button/_execute__14dMeterButton_cFUlbbbbbbbbbbbbbbbbbbbbbb.s index cd9b8d6227b..ace8b5b3a26 100644 --- a/asm/d/meter/d_meter_button/_execute__14dMeterButton_cFUlbbbbbbbbbbbbbbbbbbbbbb.s +++ b/asm/d/meter/d_meter_button/_execute__14dMeterButton_cFUlbbbbbbbbbbbbbbbbbbbbbb.s @@ -5,7 +5,7 @@ lbl_80201404: /* 80201410 DB E1 00 70 */ stfd f31, 0x70(r1) /* 80201414 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ /* 80201418 39 61 00 70 */ addi r11, r1, 0x70 -/* 8020141C 48 16 0D 85 */ bl __save_gpr +/* 8020141C 48 16 0D 85 */ bl _savegpr_14 /* 80201420 7C 6F 1B 78 */ mr r15, r3 /* 80201424 7C 8E 23 78 */ mr r14, r4 /* 80201428 7C B1 2B 78 */ mr r17, r5 @@ -976,7 +976,7 @@ lbl_802021FC: /* 80202220 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ /* 80202224 CB E1 00 70 */ lfd f31, 0x70(r1) /* 80202228 39 61 00 70 */ addi r11, r1, 0x70 -/* 8020222C 48 15 FF C1 */ bl __restore_gpr +/* 8020222C 48 15 FF C1 */ bl _restgpr_14 /* 80202230 80 01 00 84 */ lwz r0, 0x84(r1) /* 80202234 7C 08 03 A6 */ mtlr r0 /* 80202238 38 21 00 80 */ addi r1, r1, 0x80 diff --git a/asm/d/particle/d_particle/func_8004D988.s b/asm/d/particle/d_particle/func_8004D988.s index c5da242657a..a9f1bab43a4 100644 --- a/asm/d/particle/d_particle/func_8004D988.s +++ b/asm/d/particle/d_particle/func_8004D988.s @@ -3,7 +3,7 @@ lbl_8004D988: /* 8004D98C 7C 08 02 A6 */ mflr r0 /* 8004D990 90 01 00 94 */ stw r0, 0x94(r1) /* 8004D994 39 61 00 90 */ addi r11, r1, 0x90 -/* 8004D998 48 31 48 09 */ bl __save_gpr +/* 8004D998 48 31 48 09 */ bl _savegpr_14 /* 8004D99C 7C 6F 1B 78 */ mr r15, r3 /* 8004D9A0 7C 90 23 78 */ mr r16, r4 /* 8004D9A4 7C B1 2B 78 */ mr r17, r5 @@ -180,7 +180,7 @@ lbl_8004DBF8: /* 8004DC0C 7E A3 AB 78 */ mr r3, r21 lbl_8004DC10: /* 8004DC10 39 61 00 90 */ addi r11, r1, 0x90 -/* 8004DC14 48 31 45 D9 */ bl __restore_gpr +/* 8004DC14 48 31 45 D9 */ bl _restgpr_14 /* 8004DC18 80 01 00 94 */ lwz r0, 0x94(r1) /* 8004DC1C 7C 08 03 A6 */ mtlr r0 /* 8004DC20 38 21 00 90 */ addi r1, r1, 0x90 diff --git a/asm/rel/d/a/b/d_a_b_gnd/d_a_b_gnd/daB_GND_Execute__FP11b_gnd_class.s b/asm/rel/d/a/b/d_a_b_gnd/d_a_b_gnd/daB_GND_Execute__FP11b_gnd_class.s index 4c84dee6d66..12aa1519d54 100644 --- a/asm/rel/d/a/b/d_a_b_gnd/d_a_b_gnd/daB_GND_Execute__FP11b_gnd_class.s +++ b/asm/rel/d/a/b/d_a_b_gnd/d_a_b_gnd/daB_GND_Execute__FP11b_gnd_class.s @@ -13,7 +13,7 @@ lbl_805FEC58: /* 805FEC84 DB 61 01 60 */ stfd f27, 0x160(r1) /* 805FEC88 F3 61 01 68 */ psq_st f27, 360(r1), 0, 0 /* qr0 */ /* 805FEC8C 39 61 01 60 */ addi r11, r1, 0x160 -/* 805FEC90 4B D6 35 11 */ bl __save_gpr +/* 805FEC90 4B D6 35 11 */ bl _savegpr_14 /* 805FEC94 7C 7F 1B 78 */ mr r31, r3 /* 805FEC98 3C 60 80 60 */ lis r3, cNullVec__6Z2Calc@ha /* 0x806029D0@ha */ /* 805FEC9C 3A E3 29 D0 */ addi r23, r3, cNullVec__6Z2Calc@l /* 0x806029D0@l */ @@ -1988,7 +1988,7 @@ lbl_806009B8: /* 806009D8 E3 61 01 68 */ psq_l f27, 360(r1), 0, 0 /* qr0 */ /* 806009DC CB 61 01 60 */ lfd f27, 0x160(r1) /* 806009E0 39 61 01 60 */ addi r11, r1, 0x160 -/* 806009E4 4B D6 18 09 */ bl __restore_gpr +/* 806009E4 4B D6 18 09 */ bl _restgpr_14 /* 806009E8 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 806009EC 7C 08 03 A6 */ mtlr r0 /* 806009F0 38 21 01 B0 */ addi r1, r1, 0x1b0 diff --git a/asm/rel/d/a/d_a_horse/d_a_horse/setFootMatrix__9daHorse_cFv.s b/asm/rel/d/a/d_a_horse/d_a_horse/setFootMatrix__9daHorse_cFv.s index 19aaf3e9c22..3f5099ebfc1 100644 --- a/asm/rel/d/a/d_a_horse/d_a_horse/setFootMatrix__9daHorse_cFv.s +++ b/asm/rel/d/a/d_a_horse/d_a_horse/setFootMatrix__9daHorse_cFv.s @@ -3,7 +3,7 @@ lbl_8083EB10: /* 8083EB14 7C 08 02 A6 */ mflr r0 /* 8083EB18 90 01 00 54 */ stw r0, 0x54(r1) /* 8083EB1C 39 61 00 50 */ addi r11, r1, 0x50 -/* 8083EB20 4B B2 36 81 */ bl __save_gpr +/* 8083EB20 4B B2 36 81 */ bl _savegpr_14 /* 8083EB24 7C 7A 1B 78 */ mr r26, r3 /* 8083EB28 4B FF FF 51 */ bl copyFootMatrix__9daHorse_cFv /* 8083EB2C 80 7A 05 AC */ lwz r3, 0x5ac(r26) @@ -158,7 +158,7 @@ lbl_8083ED58: /* 8083ED6C 38 60 00 01 */ li r3, 1 lbl_8083ED70: /* 8083ED70 39 61 00 50 */ addi r11, r1, 0x50 -/* 8083ED74 4B B2 34 79 */ bl __restore_gpr +/* 8083ED74 4B B2 34 79 */ bl _restgpr_14 /* 8083ED78 80 01 00 54 */ lwz r0, 0x54(r1) /* 8083ED7C 7C 08 03 A6 */ mtlr r0 /* 8083ED80 38 21 00 50 */ addi r1, r1, 0x50 diff --git a/asm/rel/d/a/d_a_mg_fshop/d_a_mg_fshop/koro2_heapinit__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_mg_fshop/d_a_mg_fshop/koro2_heapinit__FP10fopAc_ac_c.s index b6b40f4babd..656b5b960a6 100644 --- a/asm/rel/d/a/d_a_mg_fshop/d_a_mg_fshop/koro2_heapinit__FP10fopAc_ac_c.s +++ b/asm/rel/d/a/d_a_mg_fshop/d_a_mg_fshop/koro2_heapinit__FP10fopAc_ac_c.s @@ -11,7 +11,7 @@ lbl_8086E7F0: /* 8086E814 DB 81 00 60 */ stfd f28, 0x60(r1) /* 8086E818 F3 81 00 68 */ psq_st f28, 104(r1), 0, 0 /* qr0 */ /* 8086E81C 39 61 00 60 */ addi r11, r1, 0x60 -/* 8086E820 4B AF 39 81 */ bl __save_gpr +/* 8086E820 4B AF 39 81 */ bl _savegpr_14 /* 8086E824 7C 7F 1B 78 */ mr r31, r3 /* 8086E828 3C 60 80 87 */ lis r3, lit_1109@ha /* 0x80870958@ha */ /* 8086E82C 3A A3 09 58 */ addi r21, r3, lit_1109@l /* 0x80870958@l */ @@ -335,7 +335,7 @@ lbl_8086EC90: /* 8086ECA8 E3 81 00 68 */ psq_l f28, 104(r1), 0, 0 /* qr0 */ /* 8086ECAC CB 81 00 60 */ lfd f28, 0x60(r1) /* 8086ECB0 39 61 00 60 */ addi r11, r1, 0x60 -/* 8086ECB4 4B AF 35 39 */ bl __restore_gpr +/* 8086ECB4 4B AF 35 39 */ bl _restgpr_14 /* 8086ECB8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8086ECBC 7C 08 03 A6 */ mtlr r0 /* 8086ECC0 38 21 00 A0 */ addi r1, r1, 0xa0 diff --git a/asm/rel/d/a/d_a_midna/d_a_midna/setHairAngle__9daMidna_cFv.s b/asm/rel/d/a/d_a_midna/d_a_midna/setHairAngle__9daMidna_cFv.s index 61b4af08543..56a197ff0b2 100644 --- a/asm/rel/d/a/d_a_midna/d_a_midna/setHairAngle__9daMidna_cFv.s +++ b/asm/rel/d/a/d_a_midna/d_a_midna/setHairAngle__9daMidna_cFv.s @@ -15,7 +15,7 @@ lbl_804C3298: /* 804C32CC DB 41 01 20 */ stfd f26, 0x120(r1) /* 804C32D0 F3 41 01 28 */ psq_st f26, 296(r1), 0, 0 /* qr0 */ /* 804C32D4 39 61 01 20 */ addi r11, r1, 0x120 -/* 804C32D8 4B E9 EE C9 */ bl __save_gpr +/* 804C32D8 4B E9 EE C9 */ bl _savegpr_14 /* 804C32DC 7C 6F 1B 78 */ mr r15, r3 /* 804C32E0 3C 80 80 4C */ lis r4, lit_3777@ha /* 0x804C64C8@ha */ /* 804C32E4 3B 84 64 C8 */ addi r28, r4, lit_3777@l /* 0x804C64C8@l */ @@ -850,7 +850,7 @@ lbl_804C3EBC: /* 804C3EE4 E3 41 01 28 */ psq_l f26, 296(r1), 0, 0 /* qr0 */ /* 804C3EE8 CB 41 01 20 */ lfd f26, 0x120(r1) /* 804C3EEC 39 61 01 20 */ addi r11, r1, 0x120 -/* 804C3EF0 4B E9 E2 FD */ bl __restore_gpr +/* 804C3EF0 4B E9 E2 FD */ bl _restgpr_14 /* 804C3EF4 80 01 01 84 */ lwz r0, 0x184(r1) /* 804C3EF8 7C 08 03 A6 */ mtlr r0 /* 804C3EFC 38 21 01 80 */ addi r1, r1, 0x180 diff --git a/asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/daE_FM_Execute__FP10e_fm_class.s b/asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/daE_FM_Execute__FP10e_fm_class.s index 21e0592bf25..c91ddfb6d8e 100644 --- a/asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/daE_FM_Execute__FP10e_fm_class.s +++ b/asm/rel/d/a/e/d_a_e_fm/d_a_e_fm/daE_FM_Execute__FP10e_fm_class.s @@ -7,7 +7,7 @@ lbl_804F72D0: /* 804F72E4 DB C1 01 30 */ stfd f30, 0x130(r1) /* 804F72E8 F3 C1 01 38 */ psq_st f30, 312(r1), 0, 0 /* qr0 */ /* 804F72EC 39 61 01 30 */ addi r11, r1, 0x130 -/* 804F72F0 4B E6 AE B1 */ bl __save_gpr +/* 804F72F0 4B E6 AE B1 */ bl _savegpr_14 /* 804F72F4 7C 72 1B 78 */ mr r18, r3 /* 804F72F8 3C 60 80 50 */ lis r3, cNullVec__6Z2Calc@ha /* 0x804FA950@ha */ /* 804F72FC 3B 23 A9 50 */ addi r25, r3, cNullVec__6Z2Calc@l /* 0x804FA950@l */ @@ -1734,7 +1734,7 @@ lbl_804F8C38: /* 804F8C40 E3 C1 01 38 */ psq_l f30, 312(r1), 0, 0 /* qr0 */ /* 804F8C44 CB C1 01 30 */ lfd f30, 0x130(r1) /* 804F8C48 39 61 01 30 */ addi r11, r1, 0x130 -/* 804F8C4C 4B E6 95 A1 */ bl __restore_gpr +/* 804F8C4C 4B E6 95 A1 */ bl _restgpr_14 /* 804F8C50 80 01 01 54 */ lwz r0, 0x154(r1) /* 804F8C54 7C 08 03 A6 */ mtlr r0 /* 804F8C58 38 21 01 50 */ addi r1, r1, 0x150 diff --git a/asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/action__FP11e_sm2_class.s b/asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/action__FP11e_sm2_class.s index 1508ccf6e31..ec24016b6e6 100644 --- a/asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/action__FP11e_sm2_class.s +++ b/asm/rel/d/a/e/d_a_e_sm2/d_a_e_sm2/action__FP11e_sm2_class.s @@ -5,7 +5,7 @@ lbl_8079AF94: /* 8079AFA0 DB E1 01 A0 */ stfd f31, 0x1a0(r1) /* 8079AFA4 F3 E1 01 A8 */ psq_st f31, 424(r1), 0, 0 /* qr0 */ /* 8079AFA8 39 61 01 A0 */ addi r11, r1, 0x1a0 -/* 8079AFAC 4B BC 71 F5 */ bl __save_gpr +/* 8079AFAC 4B BC 71 F5 */ bl _savegpr_14 /* 8079AFB0 7C 7F 1B 78 */ mr r31, r3 /* 8079AFB4 3C 80 80 7A */ lis r4, cNullVec__6Z2Calc@ha /* 0x8079D734@ha */ /* 8079AFB8 3B A4 D7 34 */ addi r29, r4, cNullVec__6Z2Calc@l /* 0x8079D734@l */ @@ -876,7 +876,7 @@ lbl_8079BC7C: /* 8079BC7C E3 E1 01 A8 */ psq_l f31, 424(r1), 0, 0 /* qr0 */ /* 8079BC80 CB E1 01 A0 */ lfd f31, 0x1a0(r1) /* 8079BC84 39 61 01 A0 */ addi r11, r1, 0x1a0 -/* 8079BC88 4B BC 65 65 */ bl __restore_gpr +/* 8079BC88 4B BC 65 65 */ bl _restgpr_14 /* 8079BC8C 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 8079BC90 7C 08 03 A6 */ mtlr r0 /* 8079BC94 38 21 01 B0 */ addi r1, r1, 0x1b0 diff --git a/asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/calcOpRopePos__8daE_VA_cFv.s b/asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/calcOpRopePos__8daE_VA_cFv.s index 2fb5f0874a4..5774eb02471 100644 --- a/asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/calcOpRopePos__8daE_VA_cFv.s +++ b/asm/rel/d/a/e/d_a_e_vt/d_a_e_vt/calcOpRopePos__8daE_VA_cFv.s @@ -5,7 +5,7 @@ lbl_807C53FC: /* 807C5408 DB E1 01 30 */ stfd f31, 0x130(r1) /* 807C540C F3 E1 01 38 */ psq_st f31, 312(r1), 0, 0 /* qr0 */ /* 807C5410 39 61 01 30 */ addi r11, r1, 0x130 -/* 807C5414 4B B9 CD 8D */ bl __save_gpr +/* 807C5414 4B B9 CD 8D */ bl _savegpr_14 /* 807C5418 7C 7B 1B 78 */ mr r27, r3 /* 807C541C 3C 60 80 7D */ lis r3, lit_3907@ha /* 0x807CECA8@ha */ /* 807C5420 3A 63 EC A8 */ addi r19, r3, lit_3907@l /* 0x807CECA8@l */ @@ -596,7 +596,7 @@ lbl_807C5C8C: /* 807C5CD0 E3 E1 01 38 */ psq_l f31, 312(r1), 0, 0 /* qr0 */ /* 807C5CD4 CB E1 01 30 */ lfd f31, 0x130(r1) /* 807C5CD8 39 61 01 30 */ addi r11, r1, 0x130 -/* 807C5CDC 4B B9 C5 11 */ bl __restore_gpr +/* 807C5CDC 4B B9 C5 11 */ bl _restgpr_14 /* 807C5CE0 80 01 01 44 */ lwz r0, 0x144(r1) /* 807C5CE4 7C 08 03 A6 */ mtlr r0 /* 807C5CE8 38 21 01 40 */ addi r1, r1, 0x140 diff --git a/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_arrival__FP13kytag12_class.s b/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_arrival__FP13kytag12_class.s index 1ae76bdcf70..ef4f3138566 100644 --- a/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_arrival__FP13kytag12_class.s +++ b/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_arrival__FP13kytag12_class.s @@ -27,7 +27,7 @@ lbl_8085D1DC: /* 8085D240 DA 81 01 10 */ stfd f20, 0x110(r1) /* 8085D244 F2 81 01 18 */ psq_st f20, 280(r1), 0, 0 /* qr0 */ /* 8085D248 39 61 01 10 */ addi r11, r1, 0x110 -/* 8085D24C 4B B0 4F 55 */ bl __save_gpr +/* 8085D24C 4B B0 4F 55 */ bl _savegpr_14 /* 8085D250 7C 6F 1B 78 */ mr r15, r3 /* 8085D254 3C 60 80 86 */ lis r3, lit_3836@ha /* 0x8085EF00@ha */ /* 8085D258 3B 43 EF 00 */ addi r26, r3, lit_3836@l /* 0x8085EF00@l */ @@ -966,7 +966,7 @@ lbl_8085DF78: /* 8085DFD0 E2 81 01 18 */ psq_l f20, 280(r1), 0, 0 /* qr0 */ /* 8085DFD4 CA 81 01 10 */ lfd f20, 0x110(r1) /* 8085DFD8 39 61 01 10 */ addi r11, r1, 0x110 -/* 8085DFDC 4B B0 42 11 */ bl __restore_gpr +/* 8085DFDC 4B B0 42 11 */ bl _restgpr_14 /* 8085DFE0 80 01 01 D4 */ lwz r0, 0x1d4(r1) /* 8085DFE4 7C 08 03 A6 */ mtlr r0 /* 8085DFE8 38 21 01 D0 */ addi r1, r1, 0x1d0 diff --git a/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_standard__FP13kytag12_class.s b/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_standard__FP13kytag12_class.s index 3a41855a345..740f9c6539a 100644 --- a/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_standard__FP13kytag12_class.s +++ b/asm/rel/d/a/kytag/d_a_kytag12/d_a_kytag12/daKytag12_Execute_standard__FP13kytag12_class.s @@ -17,7 +17,7 @@ lbl_8085BD0C: /* 8085BD48 DB 21 01 40 */ stfd f25, 0x140(r1) /* 8085BD4C F3 21 01 48 */ psq_st f25, 328(r1), 0, 0 /* qr0 */ /* 8085BD50 39 61 01 40 */ addi r11, r1, 0x140 -/* 8085BD54 4B B0 64 4D */ bl __save_gpr +/* 8085BD54 4B B0 64 4D */ bl _savegpr_14 /* 8085BD58 7C 6F 1B 78 */ mr r15, r3 /* 8085BD5C 3C 60 80 86 */ lis r3, lit_3836@ha /* 0x8085EF00@ha */ /* 8085BD60 3B 83 EF 00 */ addi r28, r3, lit_3836@l /* 0x8085EF00@l */ @@ -1416,7 +1416,7 @@ lbl_8085D18C: /* 8085D1BC E3 21 01 48 */ psq_l f25, 328(r1), 0, 0 /* qr0 */ /* 8085D1C0 CB 21 01 40 */ lfd f25, 0x140(r1) /* 8085D1C4 39 61 01 40 */ addi r11, r1, 0x140 -/* 8085D1C8 4B B0 50 25 */ bl __restore_gpr +/* 8085D1C8 4B B0 50 25 */ bl _restgpr_14 /* 8085D1CC 80 01 01 B4 */ lwz r0, 0x1b4(r1) /* 8085D1D0 7C 08 03 A6 */ mtlr r0 /* 8085D1D4 38 21 01 B0 */ addi r1, r1, 0x1b0 diff --git a/asm/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat/__sinit_d_a_npc_chat_cpp.s b/asm/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat/__sinit_d_a_npc_chat_cpp.s index 27aaab587c4..33dec97e06d 100644 --- a/asm/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat/__sinit_d_a_npc_chat_cpp.s +++ b/asm/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat/__sinit_d_a_npc_chat_cpp.s @@ -3,7 +3,7 @@ lbl_80986448: /* 8098644C 7C 08 02 A6 */ mflr r0 /* 80986450 90 01 00 E4 */ stw r0, 0xe4(r1) /* 80986454 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 80986458 4B 9D BD 49 */ bl __save_gpr +/* 80986458 4B 9D BD 49 */ bl _savegpr_14 /* 8098645C 3C 60 80 98 */ lis r3, cNullVec__6Z2Calc@ha /* 0x8098795C@ha */ /* 80986460 3B E3 79 5C */ addi r31, r3, cNullVec__6Z2Calc@l /* 0x8098795C@l */ /* 80986464 3C 60 80 98 */ lis r3, l_resMANa@ha /* 0x8098699C@ha */ @@ -307,7 +307,7 @@ lbl_80986448: /* 8098690C 80 04 00 08 */ lwz r0, 8(r4) /* 80986910 90 1F 3E 00 */ stw r0, 0x3e00(r31) /* 80986914 39 61 00 E0 */ addi r11, r1, 0xe0 -/* 80986918 4B 9D B8 D5 */ bl __restore_gpr +/* 80986918 4B 9D B8 D5 */ bl _restgpr_14 /* 8098691C 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 80986920 7C 08 03 A6 */ mtlr r0 /* 80986924 38 21 00 E0 */ addi r1, r1, 0xe0 diff --git a/asm/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos/wall_pos__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cisf.s b/asm/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos/wall_pos__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cisf.s index 5b7e029657b..abba8b6fe82 100644 --- a/asm/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos/wall_pos__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cisf.s +++ b/asm/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos/wall_pos__Q29daObjBm_c5Bgc_cFPC10fopAc_ac_cPCQ29daObjBm_c8BgcSrc_cisf.s @@ -5,7 +5,7 @@ lbl_80BB0ED4: /* 80BB0EE0 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 80BB0EE4 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, 0 /* qr0 */ /* 80BB0EE8 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 80BB0EEC 4B 7B 12 B5 */ bl __save_gpr +/* 80BB0EEC 4B 7B 12 B5 */ bl _savegpr_14 /* 80BB0EF0 7C 78 1B 78 */ mr r24, r3 /* 80BB0EF4 7C 99 23 78 */ mr r25, r4 /* 80BB0EF8 7C BA 2B 78 */ mr r26, r5 @@ -158,7 +158,7 @@ lbl_80BB112C: /* 80BB1134 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, 0 /* qr0 */ /* 80BB1138 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 80BB113C 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 80BB1140 4B 7B 10 AD */ bl __restore_gpr +/* 80BB1140 4B 7B 10 AD */ bl _restgpr_14 /* 80BB1144 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 80BB1148 7C 08 03 A6 */ mtlr r0 /* 80BB114C 38 21 00 B0 */ addi r1, r1, 0xb0 diff --git a/asm/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito/action__FP13obj_ito_class.s b/asm/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito/action__FP13obj_ito_class.s index 141a02bea57..70bfe367525 100644 --- a/asm/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito/action__FP13obj_ito_class.s +++ b/asm/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito/action__FP13obj_ito_class.s @@ -19,7 +19,7 @@ lbl_8047C034: /* 8047C078 DB 01 02 90 */ stfd f24, 0x290(r1) /* 8047C07C F3 01 02 98 */ psq_st f24, 664(r1), 0, 0 /* qr0 */ /* 8047C080 39 61 02 90 */ addi r11, r1, 0x290 -/* 8047C084 4B EE 61 1D */ bl __save_gpr +/* 8047C084 4B EE 61 1D */ bl _savegpr_14 /* 8047C088 7C 76 1B 78 */ mr r22, r3 /* 8047C08C 3C 60 80 48 */ lis r3, lit_3770@ha /* 0x8047D810@ha */ /* 8047C090 3B 03 D8 10 */ addi r24, r3, lit_3770@l /* 0x8047D810@l */ @@ -989,7 +989,7 @@ lbl_8047CE8C: /* 8047CEC4 E3 01 02 98 */ psq_l f24, 664(r1), 0, 0 /* qr0 */ /* 8047CEC8 CB 01 02 90 */ lfd f24, 0x290(r1) /* 8047CECC 39 61 02 90 */ addi r11, r1, 0x290 -/* 8047CED0 4B EE 53 1D */ bl __restore_gpr +/* 8047CED0 4B EE 53 1D */ bl _restgpr_14 /* 8047CED4 80 01 03 14 */ lwz r0, 0x314(r1) /* 8047CED8 7C 08 03 A6 */ mtlr r0 /* 8047CEDC 38 21 03 10 */ addi r1, r1, 0x310 diff --git a/asm/rel/d/a/obj/d_a_obj_so/d_a_obj_so/part_move__FP12obj_so_class.s b/asm/rel/d/a/obj/d_a_obj_so/d_a_obj_so/part_move__FP12obj_so_class.s index 9fab3277cee..398a7d90444 100644 --- a/asm/rel/d/a/obj/d_a_obj_so/d_a_obj_so/part_move__FP12obj_so_class.s +++ b/asm/rel/d/a/obj/d_a_obj_so/d_a_obj_so/part_move__FP12obj_so_class.s @@ -7,7 +7,7 @@ lbl_80CE14DC: /* 80CE14F0 DB C1 01 80 */ stfd f30, 0x180(r1) /* 80CE14F4 F3 C1 01 88 */ psq_st f30, 392(r1), 0, 0 /* qr0 */ /* 80CE14F8 39 61 01 80 */ addi r11, r1, 0x180 -/* 80CE14FC 4B 68 0C A5 */ bl __save_gpr +/* 80CE14FC 4B 68 0C A5 */ bl _savegpr_14 /* 80CE1500 7C 6F 1B 78 */ mr r15, r3 /* 80CE1504 3C 60 80 CE */ lis r3, lit_3779@ha /* 0x80CE39E8@ha */ /* 80CE1508 3B 03 39 E8 */ addi r24, r3, lit_3779@l /* 0x80CE39E8@l */ @@ -1460,7 +1460,7 @@ lbl_80CE2A0C: /* 80CE2A44 E3 C1 01 88 */ psq_l f30, 392(r1), 0, 0 /* qr0 */ /* 80CE2A48 CB C1 01 80 */ lfd f30, 0x180(r1) /* 80CE2A4C 39 61 01 80 */ addi r11, r1, 0x180 -/* 80CE2A50 4B 67 F7 9D */ bl __restore_gpr +/* 80CE2A50 4B 67 F7 9D */ bl _restgpr_14 /* 80CE2A54 80 01 01 A4 */ lwz r0, 0x1a4(r1) /* 80CE2A58 7C 08 03 A6 */ mtlr r0 /* 80CE2A5C 38 21 01 A0 */ addi r1, r1, 0x1a0 diff --git a/defs/module0.py b/defs/module0.py index 2b9f1f5646c..8155807d9ef 100644 --- a/defs/module0.py +++ b/defs/module0.py @@ -16905,7 +16905,7 @@ SYMBOLS = [ {'addr':0x80362188,'size':4,'pad':0,'label':"_restfpr_27",'name':"_restfpr_27",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':False,'r':[0,2,0],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x8036218C,'size':4,'pad':0,'label':"_restfpr_28",'name':"_restfpr_28",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':False,'r':[0,2,0],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x80362190,'size':16,'pad':0,'label':"_restfpr_29",'name':"_restfpr_29",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,3,1],'sh':[0,0,0],'type':"ASMFunction"}, - {'addr':0x803621A0,'size':4,'pad':0,'label':"__save_gpr",'name':"__save_gpr",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,22,13],'sh':[0,0,0],'type':"ASMFunction"}, + {'addr':0x803621A0,'size':4,'pad':0,'label':"_savegpr_14",'name':"_savegpr_14",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,22,13],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621A4,'size':4,'pad':0,'label':"_savegpr_15",'name':"_savegpr_15",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':False,'r':[0,5,6],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621A8,'size':4,'pad':0,'label':"_savegpr_16",'name':"_savegpr_16",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,10,4],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621AC,'size':4,'pad':0,'label':"_savegpr_17",'name':"_savegpr_17",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,11,7],'sh':[0,0,0],'type':"ASMFunction"}, @@ -16921,7 +16921,7 @@ SYMBOLS = [ {'addr':0x803621D4,'size':4,'pad':0,'label':"_savegpr_27",'name':"_savegpr_27",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,480,812],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621D8,'size':4,'pad':0,'label':"_savegpr_28",'name':"_savegpr_28",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,644,1293],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621DC,'size':16,'pad':0,'label':"_savegpr_29",'name':"_savegpr_29",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,992,2067],'sh':[0,0,0],'type':"ASMFunction"}, - {'addr':0x803621EC,'size':4,'pad':0,'label':"__restore_gpr",'name':"__restore_gpr",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,22,13],'sh':[0,0,0],'type':"ASMFunction"}, + {'addr':0x803621EC,'size':4,'pad':0,'label':"_restgpr_14",'name':"_restgpr_14",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,22,13],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621F0,'size':4,'pad':0,'label':"_restgpr_15",'name':"_restgpr_15",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':False,'r':[0,5,6],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621F4,'size':4,'pad':0,'label':"_restgpr_16",'name':"_restgpr_16",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,10,4],'sh':[0,0,0],'type':"ASMFunction"}, {'addr':0x803621F8,'size':4,'pad':0,'label':"_restgpr_17",'name':"_restgpr_17",'lib':1,'tu':241,'section':2,'class_template':None,'static':False,'is_reachable':True,'r':[0,11,7],'sh':[0,0,0],'type':"ASMFunction"}, @@ -43397,7 +43397,7 @@ SYMBOL_NAMES = { "_restfpr_27":16122, "_restfpr_28":16123, "_restfpr_29":16124, - "__save_gpr":16125, + "_savegpr_14":16125, "_savegpr_15":16126, "_savegpr_16":16127, "_savegpr_17":16128, @@ -43413,7 +43413,7 @@ SYMBOL_NAMES = { "_savegpr_27":16138, "_savegpr_28":16139, "_savegpr_29":16140, - "__restore_gpr":16141, + "_restgpr_14":16141, "_restgpr_15":16142, "_restgpr_16":16143, "_restgpr_17":16144, diff --git a/include/JSystem/JUtility/JUTDirectFile.h b/include/JSystem/JUtility/JUTDirectFile.h index b0f956ff23e..f9007f4621e 100644 --- a/include/JSystem/JUtility/JUTDirectFile.h +++ b/include/JSystem/JUtility/JUTDirectFile.h @@ -2,14 +2,25 @@ #define JUTDIRECTFILE_H #include "dolphin/types.h" +#include "dolphin/dvd/dvd.h" + +#define JUTDF_BUFSIZE (0x800) struct JUTDirectFile { - /* 802E8730 */ void fetch32byte(); + /* 802E8730 */ int fetch32byte(); /* 802E87F8 */ JUTDirectFile(); /* 802E881C */ ~JUTDirectFile(); /* 802E8860 */ bool fopen(char const*); - /* 802E88FC */ bool fclose(); + /* 802E88FC */ void fclose(); /* 802E8958 */ int fgets(void*, int); + + /* 0x000 */ u8 mBuffer[0x820]; + /* 0x820 */ u8* mSectorStart; + /* 0x824 */ u32 mToRead; + /* 0x828 */ u32 mLength; + /* 0x82C */ u32 mPos; + /* 0x830 */ bool mIsOpen; + /* 0x834 */ DVDFileInfo mFileInfo; }; #endif /* JUTDIRECTFILE_H */ diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index f730095b14a..f5617007dd8 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -48,6 +48,8 @@ struct ResFONT { /* 0x18 */ u16 numColumns; /* 0x1A */ u16 textureWidth; /* 0x1C */ u16 textureHeight; + /* 0x1E */ u16 padding; + /* 0x20 */ u8 data[]; }; /* 0x00 */ u64 magic; diff --git a/include/JSystem/JUtility/JUTProcBar.h b/include/JSystem/JUtility/JUTProcBar.h index c3edd4768e6..9df04b72977 100644 --- a/include/JSystem/JUtility/JUTProcBar.h +++ b/include/JSystem/JUtility/JUTProcBar.h @@ -14,26 +14,35 @@ public: /* 802E7340 */ CTime(); void start(u8 param_0, u8 param_1, u8 param_2) { - field_0x10 = param_0; - field_0x11 = param_1; - field_0x12 = param_2; + mR = param_0; + mG = param_1; + mB = param_2; mTick = OSGetTick(); } void end() { - field_0x4 = ((OSGetTick() - mTick) * 8) / ((*(u32*)0x800000F8 / 4) / 125000); - if (field_0x4 == 0) { - field_0x4 = 1; + mCost = ((OSGetTick() - mTick) * 8) / ((*(u32*)0x800000F8 / 4) / 125000); + if (mCost == 0) { + mCost = 1; } } + void accumePeek() { + if (++field_0xc >= 0x10 || mCost >= field_0x8) { + field_0x8 = mCost; + field_0xc = 0; + } + } + + int calcBarSize(int p1, int p2) { return mCost * p1 / p2; } + /* 0x00 */ u32 mTick; - /* 0x04 */ u32 field_0x4; + /* 0x04 */ u32 mCost; /* 0x08 */ u32 field_0x8; /* 0x0C */ u32 field_0xc; - /* 0x10 */ u8 field_0x10; - /* 0x11 */ u8 field_0x11; - /* 0x12 */ u8 field_0x12; + /* 0x10 */ u8 mR; + /* 0x11 */ u8 mG; + /* 0x12 */ u8 mB; }; class CParamSet { @@ -81,12 +90,12 @@ private: /* 0x028 */ CTime mCpu; /* 0x03C */ CTime mGpWait; /* 0x050 */ CTime mWholeLoop; - /* 0x064 */ CTime field_0x64[8]; + /* 0x064 */ CTime mUsers[8]; /* 0x104 */ int mCostFrame; /* 0x108 */ int field_0x108; /* 0x10C */ bool mVisible; /* 0x110 */ int field_0x110; - /* 0x114 */ CParamSet field_0x114; + /* 0x114 */ CParamSet mParams; /* 0x128 */ int field_0x128; /* 0x12C */ JKRHeap* mWatchHeap; /* 0x130 */ bool mHeapBarVisible; diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index 4242ec7835f..401eee9fd42 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -10,6 +10,7 @@ class JKRHeap; typedef bool (*IsLeadByte_func)(int); struct BlockHeader { + const BlockHeader* getNext() const { return reinterpret_cast(reinterpret_cast(this) + size); } u32 magic; u32 size; }; diff --git a/include/dolphin/dvd/dvd.h b/include/dolphin/dvd/dvd.h index 1baab94a110..3c55da4c853 100644 --- a/include/dolphin/dvd/dvd.h +++ b/include/dolphin/dvd/dvd.h @@ -105,6 +105,8 @@ typedef struct DVDBB2 { u32 padding0; } DVDBB2; +#define DVD_MIN_TRANSFER_SIZE 32 + typedef void (*DVDOptionalCommandChecker)(DVDCommandBlock* block, void (*cb)(u32 intType)); void DVDInit(void); diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index a34161b4b6c..9d37cb373bc 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -122,6 +122,11 @@ inline void i_GXTexCoord2u16(u16 x, u16 y) { GFX_FIFO(u16) = y; } +inline void GXTexCoord2s16(const s16 u, const s16 v) { + GFX_FIFO(s16) = u; + GFX_FIFO(s16) = v; +} + inline void GFWriteBPCmd(u32 param_1) { GXFIFO.u8 = 0x61; GXFIFO.u32 = param_1; diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp index 286bc5eb51c..1af0aebad1b 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -680,12 +680,11 @@ void J3DModel::calcBBoardMtx() { } /* 803282EC-80328350 322C2C 0064+00 2/2 0/0 0/0 .text prepareShapePackets__8J3DModelFv */ -#if defined NONMATCHING void J3DModel::prepareShapePackets() { u16 shapeNum = getModelData()->getShapeNum(); for (u16 i = 0; i < shapeNum; i++) { - // two swapped instructions right around here when calling getShapePacket + J3DShape* xx = mModelData->getShapeNodePointer(i); J3DShapePacket* pkt = getShapePacket(i); pkt->setMtxBuffer(mMtxBuffer); if (getMtxCalcMode() == 2) { @@ -695,16 +694,6 @@ void J3DModel::prepareShapePackets() { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DModel::prepareShapePackets() { - nofralloc -#include "asm/JSystem/J3DGraphAnimator/J3DModel/prepareShapePackets__8J3DModelFv.s" -} -#pragma pop -#endif /* 80328350-803283B4 322C90 0064+00 1/0 0/0 0/0 .text __dt__8J3DModelFv */ J3DModel::~J3DModel() {} diff --git a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp index 7edd25ed23a..668953ece77 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp @@ -57,7 +57,7 @@ extern "C" void J3DGQRSetup7__FUlUlUlUl(); extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f(); extern "C" void makeVcdVatCmd__8J3DShapeFv(); extern "C" void __construct_new_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_17(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -65,7 +65,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_17(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); diff --git a/libs/JSystem/J3DGraphBase/J3DGD.cpp b/libs/JSystem/J3DGraphBase/J3DGD.cpp index 0906182ba89..0335ef1a735 100644 --- a/libs/JSystem/J3DGraphBase/J3DGD.cpp +++ b/libs/JSystem/J3DGraphBase/J3DGD.cpp @@ -51,13 +51,13 @@ extern "C" void J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTe extern "C" void GDOverflowed(); extern "C" void __cvt_fp2unsigned(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_23(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp index c12ac92585a..48bfba94388 100644 --- a/libs/JSystem/JKernel/JKRFileLoader.cpp +++ b/libs/JSystem/JKernel/JKRFileLoader.cpp @@ -5,44 +5,17 @@ #include "JSystem/JKernel/JKRFileLoader.h" #include "MSL_C/string.h" -#include "dol2asm.h" +#include "MSL_C/MSL_Common/Src/ctype.h" #include "global.h" // // Forward References: // -extern "C" void __ct__13JKRFileLoaderFv(); -extern "C" void __dt__13JKRFileLoaderFv(); -extern "C" void unmount__13JKRFileLoaderFv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCc(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void removeResource__13JKRFileLoaderFPvP13JKRFileLoader(); -extern "C" void detachResource__13JKRFileLoaderFPvP13JKRFileLoader(); -extern "C" void findVolume__13JKRFileLoaderFPPCc(); -extern "C" void fetchVolumeName__13JKRFileLoaderFPclPCc(); -extern "C" void __sinit_JKRFileLoader_cpp(); -extern "C" void func_802D45E4(void* _this); -extern "C" extern char const* const JKRFileLoader__stringBase0; -extern "C" u8 sVolumeList__13JKRFileLoader[12]; -extern "C" u8 sCurrentVolume__13JKRFileLoader[4 + 4 /* padding */]; - // // External References: // -extern "C" void __dl__FPv(); -extern "C" void __ct__11JKRDisposerFv(); -extern "C" void __dt__11JKRDisposerFv(); -extern "C" void __ct__10JSUPtrLinkFPv(); -extern "C" void __dt__10JSUPtrLinkFv(); -extern "C" void __dt__10JSUPtrListFv(); -extern "C" void initiate__10JSUPtrListFv(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern u8 __lower_map[256]; - // // Declarations: // @@ -168,20 +141,11 @@ JKRFileLoader* JKRFileLoader::findVolume(const char** volumeName) { } /* ############################################################################################## */ -/* 8039D150-8039D150 0297B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D150 = "/"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039D152 = "\0\0\0\0\0"; -#pragma pop /* 804508C0-804508C8 000340 0002+06 1/1 0/0 0/0 .sdata rootPath$2498 */ -SECTION_SDATA static char rootPath[2] = "/"; +static char rootPath[2] = "/"; /* 802D44C4-802D45A0 2CEE04 00DC+00 1/1 0/0 0/0 .text fetchVolumeName__13JKRFileLoaderFPclPCc */ -// matches, but rootPath is accessed through r13 -#ifdef NONMATCHING const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const char* path) { if (strcmp(path, "/") == 0) { strcpy(buffer, rootPath); @@ -191,7 +155,7 @@ const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const path++; while (*path != 0 && *path != '/') { if (1 < bufferSize) { - u8 lower_char; + int lower_char; int ch = (int)*path; if (ch == -1) { lower_char = -1; @@ -213,13 +177,3 @@ const char* JKRFileLoader::fetchVolumeName(char* buffer, long bufferSize, const return path; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm const char* JKRFileLoader::fetchVolumeName(char* param_0, s32 param_1, char const* param_2) { - nofralloc -#include "asm/JSystem/JKernel/JKRFileLoader/fetchVolumeName__13JKRFileLoaderFPclPCc.s" -} -#pragma pop -#endif diff --git a/libs/JSystem/JMath/JMath.cpp b/libs/JSystem/JMath/JMath.cpp index 5ae6b8767b8..046db24b4d7 100644 --- a/libs/JSystem/JMath/JMath.cpp +++ b/libs/JSystem/JMath/JMath.cpp @@ -38,8 +38,10 @@ void JMAEulerToQuat(s16 x, s16 y, s16 z, Quaternion* quat) { f32 sinY = JMASSin(y / 2); f32 sinZ = JMASSin(z / 2); - quat->w = cosX * (cosY * cosZ) + sinX * (sinY * sinZ); - quat->x = sinX * (cosY * cosZ) - cosX * (sinY * sinZ); + f32 cyz = cosY * cosZ; + f32 syz = sinY * sinZ; + quat->w = cosX * (cyz) + sinX * (syz); + quat->x = sinX * (cyz) - cosX * (syz); quat->y = cosZ * (cosX * sinY) + sinZ * (sinX * cosY); quat->z = sinZ * (cosX * cosY) - cosZ * (sinX * sinY); } diff --git a/libs/JSystem/JParticle/JPAResource.cpp b/libs/JSystem/JParticle/JPAResource.cpp index 5e65f60201a..d0c07c415e8 100644 --- a/libs/JSystem/JParticle/JPAResource.cpp +++ b/libs/JSystem/JParticle/JPAResource.cpp @@ -136,11 +136,11 @@ extern "C" void func_80280588(); extern "C" void JPAGetXYZRotateMtx__FsssPA4_f(); extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); extern "C" void load__10JUTTextureF11_GXTexMapID(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_25(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); diff --git a/libs/JSystem/JUtility/JUTCacheFont.cpp b/libs/JSystem/JUtility/JUTCacheFont.cpp index c8011770aae..656a112df3f 100644 --- a/libs/JSystem/JUtility/JUTCacheFont.cpp +++ b/libs/JSystem/JUtility/JUTCacheFont.cpp @@ -65,13 +65,13 @@ extern "C" void getCellHeight__10JUTResFontCFv(); extern "C" void isLeadByte__10JUTResFontCFi(); extern "C" void panic_f__12JUTExceptionFPCciPCce(); extern "C" void JUTReportConsole(const char*); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_14(); extern "C" void _savegpr_21(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_21(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); @@ -151,12 +151,6 @@ SECTION_DEAD static char const* const stringBase_8039D2F0 = "JUTCacheFont: Unkno /* 802DD35C-802DD4EC 2D7C9C 0190+00 1/1 0/0 0/0 .text * getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl */ -#ifdef NONMATCHING -struct BlockHeader { - u32 magic; - u32 size; -}; - int JUTCacheFont::getMemorySize(ResFONT const* p_font, u16* o_widCount, u32* o_widSize, u16* o_glyCount, u32* o_glySize, u16* o_mapCount, u32* o_mapSize, u32* o_glyTexSize) { @@ -173,7 +167,7 @@ int JUTCacheFont::getMemorySize(ResFONT const* p_font, u16* o_widCount, u32* o_w u32 maxGlyTexSize = 0; u32 glyTexSize; - u8* fontInf = (u8*)&p_font + 0x20; + u8* fontInf = (u8*)p_font->data; for (int i = 0; i < p_font->numBlocks; i++) { switch (((BlockHeader*)fontInf)->magic) { case 'INF1': @@ -232,18 +226,6 @@ int JUTCacheFont::getMemorySize(ResFONT const* p_font, u16* o_widCount, u32* o_w return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int JUTCacheFont::getMemorySize(ResFONT const* param_0, u16* param_1, u32* param_2, - u16* param_3, u32* param_4, u16* param_5, u32* param_6, - u32* param_7) { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/getMemorySize__12JUTCacheFontFPC7ResFONTPUsPUlPUsPUlPUsPUlPUl.s" -} -#pragma pop -#endif /* 802DD4EC-802DD54C 2D7E2C 0060+00 1/1 0/0 0/0 .text * initiate__12JUTCacheFontFPC7ResFONTPvUlP7JKRHeap */ @@ -345,14 +327,29 @@ bool JUTCacheFont::allocArea(void* param_0, u32 param_1, JKRHeap* heap) { } /* 802DD804-802DD8EC 2D8144 00E8+00 1/1 0/0 0/0 .text allocArray__12JUTCacheFontFP7JKRHeap */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTCacheFont::allocArray(JKRHeap* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTCacheFont/allocArray__12JUTCacheFontFP7JKRHeap.s" +bool JUTCacheFont::allocArray(JKRHeap* param_0) { + mMemBlocks = (void**)new (param_0, 0) u32[mWid1BlockNum + mGly1BlockNum + mMap1BlockNum]; + if (mMemBlocks == NULL) { + return false; + } + + void** blocks = mMemBlocks; + if (mWid1BlockNum) { + mpWidthBlocks = (ResFONT::WID1**)blocks; + blocks = blocks + mWid1BlockNum; + } + if (mGly1BlockNum) { + mpGlyphBlocks = (ResFONT::GLY1**)blocks; + blocks = blocks + mGly1BlockNum; + for (int i = 0; i < mGly1BlockNum; i++) { + mpGlyphBlocks[i] = (ResFONT::GLY1*)((u8*)mCacheBuffer + (field_0x94 * i)); + } + } + if (mMap1BlockNum) { + mpMapBlocks = (ResFONT::MAP1**)blocks; + } + return true; } -#pragma pop /* ############################################################################################## */ /* 8039D2F0-8039D2F0 029950 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JUtility/JUTDirectFile.cpp b/libs/JSystem/JUtility/JUTDirectFile.cpp index fbdf04b7ea5..29c29c9664c 100644 --- a/libs/JSystem/JUtility/JUTDirectFile.cpp +++ b/libs/JSystem/JUtility/JUTDirectFile.cpp @@ -4,96 +4,182 @@ // #include "JSystem/JUtility/JUTDirectFile.h" -#include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/os/OSInterrupt.h" +#include "global.h" // // Forward References: // -extern "C" void fetch32byte__13JUTDirectFileFv(); -extern "C" void __ct__13JUTDirectFileFv(); -extern "C" void __dt__13JUTDirectFileFv(); -extern "C" void fopen__13JUTDirectFileFPCc(); -extern "C" void fclose__13JUTDirectFileFv(); -extern "C" void fgets__13JUTDirectFileFPvi(); - // // External References: // -extern "C" void __dl__FPv(); -extern "C" void OSEnableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void DVDOpen(); -extern "C" void DVDClose(); -extern "C" void DVDReadAsyncPrio(); -extern "C" void DVDGetCommandBlockStatus(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); - // // Declarations: // /* 802E8730-802E87F8 2E3070 00C8+00 1/1 0/0 0/0 .text fetch32byte__13JUTDirectFileFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTDirectFile::fetch32byte() { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/fetch32byte__13JUTDirectFileFv.s" +int JUTDirectFile::fetch32byte() { + mToRead = mLength - ALIGN_PREV(mPos, DVD_MIN_TRANSFER_SIZE); + + if (mToRead > JUTDF_BUFSIZE) { + mToRead = JUTDF_BUFSIZE; + } + int interrupts = OSEnableInterrupts(); + int readRes = DVDReadAsyncPrio(&mFileInfo, mSectorStart, ALIGN_NEXT(mToRead, DVD_MIN_TRANSFER_SIZE), + ALIGN_PREV(mPos, DVD_MIN_TRANSFER_SIZE), NULL, 2); + OSRestoreInterrupts(interrupts); + if (!readRes) { + return -1; + } else { + interrupts = OSEnableInterrupts(); + while (DVDGetCommandBlockStatus(&mFileInfo.block)) { + ; + } + OSRestoreInterrupts(interrupts); + return mToRead; + } } -#pragma pop /* 802E87F8-802E881C 2E3138 0024+00 0/0 1/1 0/0 .text __ct__13JUTDirectFileFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTDirectFile::JUTDirectFile() { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/__ct__13JUTDirectFileFv.s" +JUTDirectFile::JUTDirectFile() { + mLength = 0; + mPos = 0; + mToRead = 0; + mSectorStart = (u8*)ALIGN_NEXT((u32)mBuffer, DVD_MIN_TRANSFER_SIZE); + mIsOpen = false; } -#pragma pop + /* 802E881C-802E8860 2E315C 0044+00 0/0 1/1 0/0 .text __dt__13JUTDirectFileFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTDirectFile::~JUTDirectFile() { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/__dt__13JUTDirectFileFv.s" +JUTDirectFile::~JUTDirectFile() { + mIsOpen = false; } -#pragma pop /* 802E8860-802E88FC 2E31A0 009C+00 0/0 1/1 0/0 .text fopen__13JUTDirectFileFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTDirectFile::fopen(char const* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/fopen__13JUTDirectFileFPCc.s" +bool JUTDirectFile::fopen(const char* filename) { + if (!filename) { + return false; + } + + int interrupts = OSEnableInterrupts(); + int dvdRes = DVDOpen(const_cast(filename), &mFileInfo); + OSRestoreInterrupts(interrupts); + + if (!dvdRes) { + mIsOpen = false; + return false; + } + + int interrupts2 = OSEnableInterrupts(); + mLength = mFileInfo.length; + OSRestoreInterrupts(interrupts2); + + mPos = 0; + mIsOpen = true; + return true; } -#pragma pop /* 802E88FC-802E8958 2E323C 005C+00 0/0 1/1 0/0 .text fclose__13JUTDirectFileFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTDirectFile::fclose() { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/fclose__13JUTDirectFileFv.s" +void JUTDirectFile::fclose() { + if (mIsOpen) { + int interrupts = OSEnableInterrupts(); + DVDClose(&mFileInfo); + OSRestoreInterrupts(interrupts); + mIsOpen = false; + } } -#pragma pop /* 802E8958-802E8B08 2E3298 01B0+00 0/0 1/1 0/0 .text fgets__13JUTDirectFileFPvi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int JUTDirectFile::fgets(void* param_0, int param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectFile/fgets__13JUTDirectFileFPvi.s" +int JUTDirectFile::fgets(void* buf, int len) { + // if file isn't open, return error (-1). + if (!mIsOpen) { + return -1; + } + + // if desired length to get is 0, get... 0 bytes. + if (len == 0) { + return 0; + } + + // if desired length to get is 1, return 1. + // (final byte gotten is always 0, so len 1 is pointless). + if (len == 1) { + return 1; + } + + // if buffer to read into doesn't exist, return error. + if (!buf) { + return -1; + } + + // if we're already beyond the file length, return error. + if (mPos >= mLength) { + return -1; + } + + int readMax; + u8* byteBuf = (u8*)buf; + int readCount = 0; + readMax = len - 1; // desired bytes of data to get (last value is then 0). + + while (mPos < mLength) { + // if there's nothing left to read, return error. + if (mToRead == 0 && fetch32byte() < 0) { + return -1; + } + + // read in each chunk. + u32 currPos = mPos & (JUTDF_BUFSIZE - 1); + u32 chunkSize = (mToRead - currPos); + if (readCount + chunkSize > readMax) { + chunkSize = len - readCount - 1; + } + + BOOL isAtEnd = FALSE; + for (int i = 0; i < chunkSize; i++) { + u8 byte = mSectorStart[currPos]; + currPos++; + *byteBuf++ = byte; + + // if we hit the end of a line, stop reading. + if (byte == '\n') { + isAtEnd = TRUE; + chunkSize = i + 1; + break; + } + } + + // if we exceed the buffer size, stop reading. + if (currPos >= JUTDF_BUFSIZE) { + mToRead = 0; + } + + // if we hit the end of a line, set final byte to 0 and stop reading. + if (isAtEnd == TRUE) { + *byteBuf = 0; + mPos += chunkSize; + readCount += chunkSize; + break; + } + + // we should have read the full chunkSize, so update count/pos. + mPos += chunkSize; + readCount += chunkSize; + + // if we're at (or beyond) our desired length, set final byte to 0 and stop reading. + if (readCount >= readMax) { + *byteBuf = 0; + break; + } + } + + // if got to the end of the data, set final byte to 0. + if (mPos >= mLength) { + *byteBuf = 0; + } + + return readCount; } -#pragma pop diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp index 717e936eaff..6a4724962bb 100644 --- a/libs/JSystem/JUtility/JUTDirectPrint.cpp +++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp @@ -6,7 +6,6 @@ #include "JSystem/JUtility/JUTDirectPrint.h" #include "MSL_C/stdio.h" #include "Runtime.PPCEABI.H/__va_arg.h" -#include "dol2asm.h" #include "dolphin/os/OSCache.h" #include "global.h" @@ -14,17 +13,10 @@ // Forward References: // -extern "C" u8 sAsciiTable__14JUTDirectPrint[128]; -extern "C" void* sFontData__14JUTDirectPrint[64]; -extern "C" void* sFontData2__14JUTDirectPrint[77]; - // // External References: // -extern "C" void _savegpr_27(); -extern "C" void _restgpr_27(); - // // Declarations: // @@ -76,7 +68,7 @@ void JUTDirectPrint::erase(int x, int y, int width, int height) { /* ############################################################################################## */ /* 803CC6B8-803CC738 0297D8 0080+00 2/2 0/0 0/0 .data sAsciiTable__14JUTDirectPrint */ -SECTION_DATA u8 JUTDirectPrint::sAsciiTable[128] = { +u8 JUTDirectPrint::sAsciiTable[128] = { 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0xFD, 0xFE, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x29, 0x64, 0x65, 0x66, 0x2B, 0x67, 0x68, 0x25, 0x26, 0x69, 0x2A, 0x6A, 0x27, 0x2C, 0x6B, @@ -88,9 +80,7 @@ SECTION_DATA u8 JUTDirectPrint::sAsciiTable[128] = { }; /* 803CC738-803CC838 -00001 0100+00 0/1 0/0 0/0 .data sFontData__14JUTDirectPrint */ -#pragma push -#pragma force_active on -SECTION_DATA u32 JUTDirectPrint::sFontData[64] = { +u32 JUTDirectPrint::sFontData[64] = { 0x70871C30, 0x8988A250, 0x88808290, 0x88830C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8208A288, 0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222208, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0, 0xFA282280, 0x8A28A480, 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, @@ -100,12 +90,9 @@ SECTION_DATA u32 JUTDirectPrint::sFontData[64] = { 0x70852220, 0xF8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400, 0x80020800, 0xF8011000, 0x70800000, 0x88822200, 0x08820400, 0x108F8800, 0x20821000, 0x00022200, 0x20800020, 0x00000000, }; -#pragma pop /* 803CC838-803CC96C -00001 0134+00 0/1 0/0 0/0 .data sFontData2__14JUTDirectPrint */ -#pragma push -#pragma force_active on -SECTION_DATA u32 JUTDirectPrint::sFontData2[77] = { +u32 JUTDirectPrint::sFontData2[77] = { 0x51421820, 0x53E7A420, 0x014A2C40, 0x01471000, 0x0142AA00, 0x03EAA400, 0x01471A78, 0x00000000, 0x50008010, 0x20010820, 0xF8020040, 0x20420820, 0x50441010, 0x00880000, 0x00070E00, 0x01088840, 0x78898820, 0x004A8810, 0x788A8810, 0x01098808, 0x00040E04, 0x70800620, 0x11400820, 0x12200820, @@ -117,146 +104,72 @@ SECTION_DATA u32 JUTDirectPrint::sFontData2[77] = { 0x00000000, 0x8A28B688, 0x8A2A8888, 0x8A2A8878, 0x894A8808, 0x788536F0, 0x00000000, 0x00000000, 0xF8000000, 0x10000000, 0x20000000, 0x40000000, 0xF8000000, }; -#pragma pop /* 803CC96C-803CC980 029A8C 0010+04 0/1 0/0 0/0 .data twiceBit$371 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 twiceBit[4] = { - 0x00000000, - 0x00000003, - 0x0000000C, - 0x0000000F, +static u32 twiceBit[4] = { + 0, + 3, + 12, + 15, }; -#pragma pop /* 802E431C-802E456C 2DEC5C 0250+00 1/1 0/0 0/0 .text drawChar__14JUTDirectPrintFiii */ -// incorrect reg-alloc -#ifdef NONMATCHING void JUTDirectPrint::drawChar(int position_x, int position_y, int ch) { - int codepoint; - if (100 <= ch) - codepoint = ch - 100; - else - codepoint = ch; + int codepoint = (100 <= ch) ? ch - 100 : ch; + int col_index = (codepoint % 5) * 6; + int row_index = (codepoint / 5) * 7; - u32 col_index = (codepoint % 5) * 6; - u32 row_index = (codepoint / 5) * 7; + const u32 *font_data = (100 > ch) ? sFontData + row_index : sFontData2 + row_index; - u32* font_data; - if (100 > ch) - font_data = sFontData + row_index; - else - font_data = sFontData2 + row_index; + int scale_x = (mFrameBufferWidth < 400) ? 1 : 2; + int scale_y = (mFrameBufferHeight < 300) ? 1 : 2; - s32 scale_x; - if (mFrameBufferWidth < 400) - scale_x = 1; - else - scale_x = 2; - - s32 scale_y; - if (mFrameBufferHeight < 300) - scale_y = 1; - else - scale_y = 2; - - u16* pixel = mFrameBuffer + mStride * position_y * scale_y + position_x * scale_x; - for (u32 y = 0; y < 7; y++) { + u16 *pixel = mFrameBuffer + mStride * position_y * scale_y + position_x * scale_x; + for (int y = 0; y < 7; y++) + { u32 data = *font_data << col_index; font_data += 1; - if (scale_x == 1) { - data = data >> 1 & 0x7e000000; - } else { + if (scale_x == 1) + { + data = (data & 0xfc000000) >> 1; + } + else + { u32 a = twiceBit[(data >> 26) & 3]; u32 b = twiceBit[(data >> 28) & 3] << 4; u32 c = twiceBit[(data >> 30) & 3] << 8; - data = (a | b | c) << 0x13; + data = (a | b | c) << 19; } - for (int x = 0; x < scale_x * 6; x += 2) { - u16 C1; - u16 C2; - u16 C3; - u16 Y; + for (int x = 0; x < scale_x * 6; x += 2) + { u16 value; - if (data & 0x40000000) { - C1 = mCharColor_Cb2; - } else { - C1 = 0x40; - } - - if (data & 0x80000000) { - C2 = mCharColor_Cb4; - } else { - C2 = 0x20; - } - - if (data & 0x20000000) { - C3 = mCharColor_Cb4; - } else { - C3 = 0x20; - } - - if (data & 0x40000000) { - Y = mCharColor_Y; - } else { - Y = 0x00; - } - - value = Y | (C2 + C1 + C3); + value = (((data & 0x40000000) ? mCharColor_Y : 0) | + ((data & 0x80000000) ? mCharColor_Cb4 : 32) + + ((data & 0x40000000) ? mCharColor_Cb2 : 64) + + ((data & 0x20000000) ? mCharColor_Cb4 : 32)); pixel[0] = value; if (scale_y > 1) pixel[mStride] = value; - if (data & 0x20000000) { - C1 = mCharColor_Cr2; - } else { - C1 = 0x40; - } - - if (data & 0x40000000) { - C2 = mCharColor_Cr4; - } else { - C2 = 0x20; - } - - if (data & 0x10000000) { - C3 = mCharColor_Cr4; - } else { - C3 = 0x20; - } - - if (data & 0x20000000) { - Y = mCharColor_Y; - } else { - Y = 0x00; - } - - value = Y | (C2 + C1 + C3); + value = (((data & 0x20000000) ? mCharColor_Y : 0) | + ((data & 0x40000000) ? mCharColor_Cr4 : 32) + + ((data & 0x20000000) ? mCharColor_Cr2 : 64) + + ((data & 0x10000000) ? mCharColor_Cr4 : 32)); pixel[1] = value; if (scale_y > 1) pixel[1 + mStride] = value; - data <<= 2; pixel += 2; + data <<= 2; + } - pixel += mStride * scale_y - scale_x * 6; + pixel += mStride * scale_y - 6 * scale_x; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTDirectPrint::drawChar(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTDirectPrint/drawChar__14JUTDirectPrintFiii.s" -} -#pragma pop -#endif /* 802E456C-802E45A4 2DEEAC 0038+00 1/1 4/4 0/0 .text changeFrameBuffer__14JUTDirectPrintFPvUsUs */ diff --git a/libs/JSystem/JUtility/JUTProcBar.cpp b/libs/JSystem/JUtility/JUTProcBar.cpp index 5b9cd001228..3b3ecfc7502 100644 --- a/libs/JSystem/JUtility/JUTProcBar.cpp +++ b/libs/JSystem/JUtility/JUTProcBar.cpp @@ -6,6 +6,7 @@ #include "JSystem/JUtility/JUTProcBar.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "JSystem/JUtility/JUTVideo.h" +#include "JSystem/JKernel/JKRHeap.h" #include "dol2asm.h" #include "dolphin/types.h" #include "global.h" @@ -71,17 +72,17 @@ JUTProcBar::JUTProcBar() { field_0x108 = 0; s32 height = JUTGetVideoManager()->getRenderMode()->efb_height; if (height > 400) { - field_0x114.mBarWidth = 2; - field_0x114.mPosX = 0x27; - field_0x114.mPosY = height - 0x28; - field_0x114.mWidth = 0x232; - field_0x114.mUserPosition = height - 0x46; + mParams.mBarWidth = 2; + mParams.mPosX = 0x27; + mParams.mPosY = height - 0x28; + mParams.mWidth = 0x232; + mParams.mUserPosition = height - 0x46; } else { - field_0x114.mBarWidth = 1; - field_0x114.mPosX = 0x27; - field_0x114.mPosY = height - 0x14; - field_0x114.mWidth = 0x232; - field_0x114.mUserPosition = height - 0x23; + mParams.mBarWidth = 1; + mParams.mPosX = 0x27; + mParams.mPosY = height - 0x14; + mParams.mWidth = 0x232; + mParams.mUserPosition = height - 0x23; } field_0x110 = 1; field_0x128 = 0; @@ -140,7 +141,7 @@ SECTION_SDATA2 static f32 lit_2259 = 10.0f; #ifdef NONMATCHING // data void JUTProcBar::clear() { sManager->idleStart(); - sManager->gpWaitStart(); + sManager->cpuStart(); sManager->gpStart(); sManager->wholeLoopStart(); sManager->mCostFrame = 0; @@ -229,7 +230,7 @@ void JUTProcBar::adjustMeterLength(u32 param_0, f32* param_1, f32 param_2, f32 p float var1 = *param_1; while (var1 > param_2) { if (param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309) <= - field_0x114.mWidth - FLOAT_LABEL(lit_2310)) + mParams.mWidth - FLOAT_LABEL(lit_2310)) break; var1 -= FLOAT_LABEL(lit_2311); @@ -246,7 +247,7 @@ void JUTProcBar::adjustMeterLength(u32 param_0, f32* param_1, f32 param_2, f32 p if (*param_4 < 0x1e) break; if ((param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309)) < - (field_0x114.mWidth - FLOAT_LABEL(lit_2313))) + (mParams.mWidth - FLOAT_LABEL(lit_2313))) var1 += FLOAT_LABEL(lit_2312); break; } @@ -292,150 +293,117 @@ SECTION_SDATA2 static f32 lit_2581 = 3.0f; /* 802E5E3C-802E6D3C 2E077C 0F00+00 1/1 0/0 0/0 .text drawProcessBar__10JUTProcBarFv */ #ifdef NONMATCHING // regalloc, signed/unsigned, instruction order void JUTProcBar::drawProcessBar() { - if (!mVisible) { - return; - } - int r29 = 16666; - if (JUTGetVideoManager() && - ((JUTGetVideoManager()->getRenderMode()->vi_tv_mode >> 2) & 0x0f) == 1) - { - r29 = 20000; - } - static int cnt = 0; - adjustMeterLength(mWholeLoop.field_0x4, &oneFrameRate, 1.0f, 10.0f, &cnt); - int r28 = oneFrameRate * 20.0f; - int r27 = field_0x114.mBarWidth * 8; - int r26 = field_0x114.mBarWidth * 2; - int r25 = field_0x114.mBarWidth * 10; - int r24 = (field_0x114.mWidth - 4 + r28) / r28; - if (++mIdle.field_0xc >= 0x10 || mIdle.field_0x4 >= mIdle.field_0x8) { - mIdle.field_0x8 = mIdle.field_0x4; - mIdle.field_0xc = 0; - } - if (++mGp.field_0xc >= 0x10 || mGp.field_0x4 >= mGp.field_0x8) { - mGp.field_0x8 = mGp.field_0x4; - mGp.field_0xc = 0; - } - if (++mCpu.field_0xc >= 0x10 || mCpu.field_0x4 >= mCpu.field_0x8) { - mCpu.field_0x8 = mCpu.field_0x4; - mCpu.field_0xc = 0; - } - int temp1 = mCpu.field_0x4; - int r30 = mGp.field_0x4 - mGpWait.field_0x4; - int r23 = r30 - temp1; - J2DFillBox(field_0x114.mPosX, field_0x114.mPosY, field_0x114.mWidth, r27, - JUtility::TColor(0, 0, 50, 200)); - J2DDrawFrame(field_0x114.mPosX, field_0x114.mPosY, field_0x114.mWidth, r27, - JUtility::TColor(50, 50, 150, 255), 6); - if (mCostFrame > r24) { - J2DFillBox(field_0x114.mPosX, field_0x114.mPosY + r27 + 1, field_0x114.mWidth, 1.0f, - JUtility::TColor(250, 0, 0, 200)); - } else { - J2DFillBox(field_0x114.mPosX, field_0x114.mPosY + r27 + 1, mCostFrame * r28 + 2, 1.0f, - JUtility::TColor(0, 250, 250, 200)); - } - int stack92 = mWholeLoop.field_0x4 * r28 / r29; - if (stack92 > field_0x114.mWidth) { - J2DFillBox(field_0x114.mPosX, field_0x114.mPosY, field_0x114.mWidth, 1.0f, - JUtility::TColor(255, 100, 0, 255)); - } else { - J2DFillBox(field_0x114.mPosX, field_0x114.mPosY, stack92, 1.0f, - JUtility::TColor(50, 255, 0, 255)); - } - if (field_0x110 == 0) { - r23 = field_0x114.mPosY + field_0x114.mBarWidth; - bar_subroutine(field_0x114.mPosX + 1, r23, r26, r28, r29, mGp.field_0x4, mGp.field_0x8, - JUtility::TColor(80, 255, 80, 255), JUtility::TColor(100, 255, 120, 255)); - r23 += field_0x114.mBarWidth * 2; - bar_subroutine(field_0x114.mPosX + 1, r23, r26, r28, r29, mCpu.field_0x4, mCpu.field_0x8, - JUtility::TColor(255, 80, 80, 255), JUtility::TColor(255, 100, 100, 255)); - r23 += field_0x114.mBarWidth * 2; - bar_subroutine(field_0x114.mPosX + 1, r23, r26, r28, r29, mIdle.field_0x4, mIdle.field_0x8, - JUtility::TColor(180, 180, 160, 255), JUtility::TColor(200, 200, 200, 255)); - } else { - int r22 = field_0x114.mPosY + field_0x114.mBarWidth; - int r21 = field_0x114.mPosX + 1; - bar_subroutine(r21, r22, r26, r28, r29, r30, -1, JUtility::TColor(80, 255, 80, 255), - JUtility::TColor(80, 255, 80, 255)); - J2DFillBox(r21 + r30 * r28 / r29, r22, mGpWait.field_0x4 * r28 / r29, r26, - JUtility::TColor(0, 255, 0, 255)); - r30 = mGp.field_0x4 * r28 / r29 + r21; - r21 += r23 * r28 / r29; - r22 += field_0x114.mBarWidth * 2; - bar_subroutine(r21, r22, r26, r28, r29, mCpu.field_0x4, -1, - JUtility::TColor(255, 80, 80, 255), JUtility::TColor(255, 80, 80, 255)); - r22 += field_0x114.mBarWidth * 2; - bar_subroutine(r30, r22, r26, r28, r29, mIdle.field_0x4, -1, - JUtility::TColor(180, 180, 160, 255), JUtility::TColor(180, 180, 160, 255)); - } - for (int i = 1; i < r24; i++) { - int temp2 = field_0x114.mPosX + i * r28 + 1; - J2DDrawLine(temp2, field_0x114.mPosY + field_0x114.mBarWidth, temp2, - field_0x114.mPosY + r27 - field_0x114.mBarWidth, - i - (i / 5) * 5 != 0 ? JUtility::TColor(100, 100, 255, 255) : - JUtility::TColor(180, 255, 255, 255), - 12); - } - u32 temp3 = 0; - for (int i = 0; i < 8; i++) { - CTime* time = field_0x64 + i; - if (++time->field_0xc >= 0x10 || time->field_0x4 > time->field_0x8) { - time->field_0x8 = time->field_0x4; - time->field_0xc = 0; - } - if (time->field_0x8 > temp3) { - temp3 = time->field_0x8; - } - } - if ((bool)temp3 == true) { - static int cntUser = 0; - adjustMeterLength(temp3, &oneFrameRateUser, 1.0f, 10.0f, &cntUser); - int r21 = oneFrameRateUser * 20.0f; - J2DFillBox(field_0x114.mPosX, field_0x114.mUserPosition, field_0x114.mWidth, r25, - JUtility::TColor(0, 0, 50, 200)); - J2DDrawFrame(field_0x114.mPosX, field_0x114.mUserPosition, field_0x114.mWidth, r25, - JUtility::TColor(50, 50, 150, 255), 6); - for (int i = 0; i < 8; i++) { - CTime* time = field_0x64 + i; - if (++time->field_0xc >= 0x10 || time->field_0x4 > time->field_0x8) { - time->field_0x8 = time->field_0x4; - time->field_0xc = 0; - } - if (time->field_0x4 != 0 || time->field_0x8 != 0) { - int temp4 = time->field_0x4 * r21 / r29; - u32 temp5 = time->field_0x8 * r21 / r29; - time->field_0x4 = 0; - J2DFillBox( - field_0x114.mPosX + 1, - field_0x114.mUserPosition + field_0x114.mBarWidth + i * field_0x114.mBarWidth, - temp4, field_0x114.mBarWidth, - JUtility::TColor(time->field_0x10, time->field_0x11, time->field_0x12, 255)); - if (temp5 < 3) { - J2DFillBox(field_0x114.mPosX, - field_0x114.mUserPosition + field_0x114.mBarWidth + - i * field_0x114.mBarWidth, - temp5, field_0x114.mBarWidth, JUtility::TColor(255, 200, 50, 255)); - } else { - J2DFillBox(field_0x114.mPosX + temp5 - 3, - field_0x114.mUserPosition + field_0x114.mBarWidth + - i * field_0x114.mBarWidth, - 3.0f, field_0x114.mBarWidth, JUtility::TColor(255, 200, 50, 255)); - } - } - } + if (mVisible) { + int frameDuration = 16666; // duration in miliseconds? for how long a frame takes, + if (JUTVideo::getManager() && ((JUTVideo::getManager()->getRenderMode()->vi_tv_mode >> 2) & 0x0f) == 1) // possibly a define + frameDuration = 20000; // duration for PAL - int r22 = (field_0x114.mWidth - 4 + r21) / r21; + static int cnt = 0; + adjustMeterLength(mWholeLoop.mCost, &oneFrameRate, 1.0f, 10.0f, &cnt); + int r28 = oneFrameRate * 20.0f; + int r27 = mParams.mBarWidth * 8; + int r26 = mParams.mBarWidth * 2; + int r25 = mParams.mBarWidth * 10; + int r24 = (mParams.mWidth - 4 + r28) / r28; - for (int i = 1; i < r22; i++) { - int temp6 = field_0x114.mPosX + i * r21 + 1; - J2DDrawLine(temp6, field_0x114.mUserPosition + field_0x114.mBarWidth, temp6, - field_0x114.mUserPosition + r25 - field_0x114.mBarWidth, - i - (i / 5) * 5 != 0 ? JUtility::TColor(100, 100, 255, 255) : - JUtility::TColor(180, 255, 255, 255), - 12); - } - } - field_0x108 = 0; + mIdle.accumePeek(); + mGp.accumePeek(); + mCpu.accumePeek(); + + u32 totalTime = (mGp.mCost - mGpWait.mCost) - mCpu.mCost; // unsure of types + u32 gpuTime = (mGp.mCost - mGpWait.mCost); + J2DFillBox(mParams.mPosX, mParams.mPosY, mParams.mWidth, r27, JUtility::TColor(0, 0, 50, 200)); + J2DDrawFrame(mParams.mPosX, mParams.mPosY, mParams.mWidth, r27, JUtility::TColor(50, 50, 150, 255), 6); + if (mCostFrame > r24) + J2DFillBox(mParams.mPosX, mParams.mPosY + r27 + 1, mParams.mWidth, 1.0f, JUtility::TColor(250, 0, 0, 200)); + else + J2DFillBox(mParams.mPosX, mParams.mPosY + r27 + 1, mCostFrame * r28 + 2, 1.0f, JUtility::TColor(0, 250, 250, 200)); + + int stack92 = mWholeLoop.mCost * r28 / frameDuration; + if (stack92 > mParams.mWidth) + J2DFillBox(mParams.mPosX, mParams.mPosY, mParams.mWidth, 1.0f, JUtility::TColor(255, 100, 0, 255)); + else + J2DFillBox(mParams.mPosX, mParams.mPosY, stack92, 1.0f, JUtility::TColor(50, 255, 0, 255)); + + if (field_0x110 == 0) { + int r23 = mParams.mPosY + mParams.mBarWidth; + bar_subroutine(mParams.mPosX + 1, r23, r26, r28, frameDuration, mGp.mCost, mGp.field_0x8, JUtility::TColor(80, 255, 80, 255), + JUtility::TColor(100, 255, 120, 255)); + r23 += mParams.mBarWidth * 2; + bar_subroutine(mParams.mPosX + 1, r23, r26, r28, frameDuration, mCpu.mCost, mCpu.field_0x8, JUtility::TColor(255, 80, 80, 255), + JUtility::TColor(255, 100, 100, 255)); + r23 += mParams.mBarWidth * 2; + bar_subroutine(mParams.mPosX + 1, r23, r26, r28, frameDuration, mIdle.mCost, mIdle.field_0x8, JUtility::TColor(180, 180, 160, 255), + JUtility::TColor(200, 200, 200, 255)); + } else { + int r22 = mParams.mPosY + mParams.mBarWidth; + int r21 = mParams.mPosX + 1; + bar_subroutine(r21, r22, r26, r28, frameDuration, gpuTime, -1, JUtility::TColor(80, 255, 80, 255), + JUtility::TColor(80, 255, 80, 255)); + int thingy1 = gpuTime * r28 / frameDuration + r21; // inline or define? + J2DFillBox(thingy1, r22, mGpWait.calcBarSize(r28, frameDuration), r26, JUtility::TColor(0, 255, 0, 255)); + int r30 = mGp.calcBarSize(r28, frameDuration) + r21; + r21 += totalTime * r28 / frameDuration; + r22 += mParams.mBarWidth * 2; + bar_subroutine(r21, r22, r26, r28, frameDuration, mCpu.mCost, -1, JUtility::TColor(255, 80, 80, 255), + JUtility::TColor(255, 80, 80, 255)); + r22 += mParams.mBarWidth * 2; + bar_subroutine(r30, r22, r26, r28, frameDuration, mIdle.mCost, -1, JUtility::TColor(180, 180, 160, 255), + JUtility::TColor(180, 180, 160, 255)); + } + for (int i = 1; i < r24; i++) { + int temp2 = mParams.mPosX + i * r28 + 1; + J2DDrawLine(temp2, mParams.mPosY + mParams.mBarWidth, temp2, mParams.mPosY + r27 - mParams.mBarWidth, + (i % 5) != 0 ? JUtility::TColor(100, 100, 255, 255) : JUtility::TColor(180, 255, 255, 255), 12); + } + u32 temp3 = 0; + for (int i = 0; i < 8; i++) { + CTime* time = &mUsers[i]; + if (++time->field_0xc >= 0x10 || time->mCost > time->field_0x8) { + time->field_0x8 = time->mCost; + time->field_0xc = 0; + } + if (time->field_0x8 > temp3) + temp3 = time->field_0x8; + } + if ((bool)temp3 == true) { + static int cntUser = 0; + adjustMeterLength(temp3, &oneFrameRateUser, 1.0f, 10.0f, &cntUser); + int r21 = oneFrameRateUser * 20.0f; + J2DFillBox(mParams.mPosX, mParams.mUserPosition, mParams.mWidth, r25, JUtility::TColor(0, 0, 50, 200)); + J2DDrawFrame(mParams.mPosX, mParams.mUserPosition, mParams.mWidth, r25, JUtility::TColor(50, 50, 150, 255), 6); + for (int i = 0; i < 8; i++) { + CTime* time = &mUsers[i]; + if (++time->field_0xc >= 0x10 || time->mCost > time->field_0x8) { + time->field_0x8 = time->mCost; + time->field_0xc = 0; + } + if (time->mCost != 0 || time->field_0x8 != 0) { + int temp4 = time->mCost * r21 / frameDuration; + int temp5 = time->field_0x8 * r21 / frameDuration; + time->mCost = 0; + J2DFillBox(mParams.mPosX + 1, mParams.mUserPosition + mParams.mBarWidth + i * mParams.mBarWidth, temp4, + mParams.mBarWidth, JUtility::TColor(time->mR, time->mG, time->mB, 255)); + + if (temp5 < 3u) + J2DFillBox(mParams.mPosX, mParams.mUserPosition + mParams.mBarWidth + i * mParams.mBarWidth, temp5, + mParams.mBarWidth, JUtility::TColor(255, 200, 50, 255)); + else + J2DFillBox(mParams.mPosX + temp5 - 3, mParams.mUserPosition + mParams.mBarWidth + i * mParams.mBarWidth, 3.0f, + mParams.mBarWidth, JUtility::TColor(255, 200, 50, 255)); + } + } + + int r22 = (mParams.mWidth - 4 + r21) / r21; + + for (int i = 1; i < r22; i++) { + int temp6 = mParams.mPosX + i * r21 + 1; + J2DDrawLine(temp6, mParams.mUserPosition + mParams.mBarWidth, temp6, mParams.mUserPosition + r25 - mParams.mBarWidth, + (i % 5) != 0 ? JUtility::TColor(100, 100, 255, 255) : JUtility::TColor(180, 255, 255, 255), 12); + } + } + field_0x108 = 0; + } } #else #pragma push @@ -507,33 +475,41 @@ static asm void heapBar(JKRHeap* param_0, int param_1, int param_2, int param_3, /* 802E6FA0-802E7340 2E18E0 03A0+00 1/1 0/0 0/0 .text drawHeapBar__10JUTProcBarFv */ #ifdef NONMATCHING // regalloc void JUTProcBar::drawHeapBar() { - if (!mHeapBarVisible) { - return; - } - int posX = field_0x114.mPosX; - int posY = field_0x114.mPosY; - int barWidth = field_0x114.mBarWidth; - int var1 = barWidth << 1; - int width = field_0x114.mWidth; - J2DFillBox(posX, posY - barWidth * 4, width, var1, JUtility::TColor(100, 0, 50, 200)); - J2DDrawFrame(posX, posY - barWidth * 4, width, var1, JUtility::TColor(100, 50, 150, 255), 6); - int codeStart = posX + addrToXPos(JKRHeap::mCodeStart, width); - int codeEnd = posX + addrToXPos(JKRHeap::mCodeEnd, width); - J2DFillBox(codeStart, posY - barWidth * 4, codeEnd - codeStart, var1, - JUtility::TColor(255, 50, 150, 255)); - int userRamStart = posX + addrToXPos(JKRHeap::mUserRamStart, width); - int userRamEnd = posX + addrToXPos(JKRHeap::mUserRamEnd, width); - J2DFillBox(userRamStart, posY - barWidth * 4, userRamEnd - userRamStart, var1, - JUtility::TColor(0, 50, 150, 255)); - int totalFreeSize = byteToXLen(JKRHeap::sRootHeap->getTotalFreeSize(), width); - J2DFillBox(userRamStart, posY - barWidth * 4, totalFreeSize, var1 / 2, - JUtility::TColor(0, 250, 250, 255)); - if (field_0x128 != 0) { - return; - } - JKRHeap* heap = mWatchHeap ? mWatchHeap : JKRHeap::sCurrentHeap; - if (heap != JKRHeap::sSystemHeap) { - heapBar(heap, posX, posY, var1, width, var1); + if (mHeapBarVisible) + { + int start; // required/workaround for regswaps, end might be a shared variable too, however doesn't seem to be needed? + int posX = mParams.mPosX; + int posY = mParams.mPosY; + int barHeight = mParams.mBarWidth * 2; + int width = mParams.mWidth; + int height = mParams.mBarWidth * 2; + + // draw main box in opaque bordeaux red and main frame in purple? + J2DFillBox(posX, posY - (height * 2), width, height, JUtility::TColor(100, 0, 50, 200)); + J2DDrawFrame(posX, posY - (height * 2), width, height, JUtility::TColor(100, 50, 150, 255), 6); + + // Draws a pink line that shows the size of the memstart to start of arenalow? + start = posX + addrToXPos(JKRHeap::getCodeStart(), width); + int codeEnd = posX + addrToXPos(JKRHeap::getCodeEnd(), width); + J2DFillBox(start, posY - (height * 2), codeEnd - start, height, JUtility::TColor(255, 50, 150, 255)); + + // draws a dark blue line that shows how much memory is free? + start = posX + addrToXPos(JKRHeap::getUserRamStart(), width); + int userEnd = posX + addrToXPos(JKRHeap::getUserRamEnd(), width); + J2DFillBox(start, posY - (height * 2), userEnd - start, height, JUtility::TColor(0, 50, 150, 255)); + + // draws a light blue line that shows how much memory is free in the root heap(blends to light pink, not sure how this works) + int size = byteToXLen(JKRHeap::getRootHeap()->getTotalFreeSize(), width); + J2DFillBox(start, posY - (height * 2), size, height / 2, JUtility::TColor(0, 250, 250, 255)); + if (field_0x128 == 0) + { + // draws a line of either the watch heap(if available), otherwise draw the current heap + JKRHeap *heap = mWatchHeap ? mWatchHeap : JKRGetCurrentHeap(); + if (heap != JKRHeap::getSystemHeap()) { + heapBar(heap, posX, posY, barHeight, width, height); + } + + } } } #else diff --git a/libs/JSystem/JUtility/JUTResFont.cpp b/libs/JSystem/JUtility/JUTResFont.cpp index 874bd88e41e..727c04a5ab6 100644 --- a/libs/JSystem/JUtility/JUTResFont.cpp +++ b/libs/JSystem/JUtility/JUTResFont.cpp @@ -227,14 +227,45 @@ SECTION_DEAD static char const* const stringBase_8039D47C = "Unknown data block\ #pragma pop /* 802DF344-802DF48C 2D9C84 0148+00 1/0 0/0 0/0 .text setBlock__10JUTResFontFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTResFont::setBlock() { - nofralloc -#include "asm/JSystem/JUtility/JUTResFont/setBlock__10JUTResFontFv.s" +void JUTResFont::setBlock() { + s32 widthNum, glyphNum, mapNum; + widthNum = 0; + glyphNum = 0; + mapNum = 0; + mMaxCode = -1; + + BlockHeader* data = (BlockHeader*)mResFont->data; + for (u32 i = 0; i < mResFont->numBlocks; i++, data = (BlockHeader*)data->getNext()) { + switch (data->magic) { + case 'INF1': + mInf1Ptr = (ResFONT::INF1*)data; + mIsLeadByte = (IsLeadByte_func*)&saoAboutEncoding_[mInf1Ptr->fontType]; + break; + + case 'WID1': + mpWidthBlocks[widthNum] = (ResFONT::WID1*)data; + widthNum++; + break; + + case 'GLY1': + mpGlyphBlocks[glyphNum] = (ResFONT::GLY1*)data; + glyphNum++; + break; + + case 'MAP1': + mpMapBlocks[mapNum] = (ResFONT::MAP1*)data; + if (mMaxCode > mpMapBlocks[mapNum]->startCode) { + mMaxCode = mpMapBlocks[mapNum]->startCode; + } + mapNum++; + break; + + default: + JUTReportConsole("Unknown data block\n"); + break; + } + } } -#pragma pop /* 802DF48C-802DF584 2D9DCC 00F8+00 1/0 1/0 0/0 .text setGX__10JUTResFontFv */ void JUTResFont::setGX() { @@ -525,8 +556,42 @@ asm int JUTResFont::getFontCode(int param_0) const { #endif /* 802DFF60-802E00C4 2DA8A0 0164+00 1/0 0/0 0/0 .text loadImage__10JUTResFontFi11_GXTexMapID */ +// Matches with literals #ifdef NONMATCHING -asm void JUTResFont::loadImage(int param_0, _GXTexMapID param_1) {} +void JUTResFont::loadImage(int code, GXTexMapID id){ + int i = 0; + for (; i < mGly1BlockNum; i++) + { + if (mpGlyphBlocks[i]->startCode <= code && code <= mpGlyphBlocks[i]->endCode) + { + code -= mpGlyphBlocks[i]->startCode; + break; + } + } + + if (i == mGly1BlockNum) + return; + + s32 pageNumCells = mpGlyphBlocks[i]->numRows * mpGlyphBlocks[i]->numColumns; + s32 pageIdx = code / pageNumCells; + s32 cellIdxInPage = code % pageNumCells; + s32 cellCol = (cellIdxInPage % mpGlyphBlocks[i]->numRows); + s32 cellRow = (cellIdxInPage / mpGlyphBlocks[i]->numRows); + mWidth = cellCol * mpGlyphBlocks[i]->cellWidth; + mHeight = cellRow * mpGlyphBlocks[i]->cellHeight; + + if (pageIdx != field_0x44 || i != field_0x66) + { + GXInitTexObj(&field_0x24, &mpGlyphBlocks[i]->data[pageIdx * mpGlyphBlocks[i]->textureSize], mpGlyphBlocks[i]->textureWidth, + mpGlyphBlocks[i]->textureHeight, (GXTexFmt)mpGlyphBlocks[i]->textureFormat, GX_CLAMP, GX_CLAMP, 0); + + GXInitTexObjLOD(&field_0x24, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0U, 0U, GX_ANISO_1); + field_0x44 = pageIdx; + field_0x66 = i; + } + + GXLoadTexObj(&field_0x24, id); +} #else #pragma push #pragma optimization_level 0 diff --git a/libs/Runtime.PPCEABI.H/runtime.cpp b/libs/Runtime.PPCEABI.H/runtime.cpp index ef699dd9060..2599634a011 100644 --- a/libs/Runtime.PPCEABI.H/runtime.cpp +++ b/libs/Runtime.PPCEABI.H/runtime.cpp @@ -24,7 +24,7 @@ extern "C" void _restfpr_26(); extern "C" void _restfpr_27(); extern "C" void _restfpr_28(); extern "C" void _restfpr_29(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_15(); extern "C" void _savegpr_16(); extern "C" void _savegpr_17(); @@ -40,7 +40,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_15(); extern "C" void _restgpr_16(); extern "C" void _restgpr_17(); @@ -212,13 +212,13 @@ asm void _restfpr_29() { } #pragma pop -/* 803621A0-803621A4 35CAE0 0004+00 0/0 22/22 13/13 .text __save_gpr */ +/* 803621A0-803621A4 35CAE0 0004+00 0/0 22/22 13/13 .text _savegpr_14 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __save_gpr() { +asm void _savegpr_14() { nofralloc -#include "asm/Runtime.PPCEABI.H/runtime/__save_gpr.s" +#include "asm/Runtime.PPCEABI.H/runtime/_savegpr_14.s" } #pragma pop @@ -372,13 +372,13 @@ asm void _savegpr_29() { } #pragma pop -/* 803621EC-803621F0 35CB2C 0004+00 0/0 22/22 13/13 .text __restore_gpr */ +/* 803621EC-803621F0 35CB2C 0004+00 0/0 22/22 13/13 .text _restgpr_14 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __restore_gpr() { +asm void _restgpr_14() { nofralloc -#include "asm/Runtime.PPCEABI.H/runtime/__restore_gpr.s" +#include "asm/Runtime.PPCEABI.H/runtime/_restgpr_14.s" } #pragma pop diff --git a/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp b/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp index 4c8ff926a81..86e15e9444d 100644 --- a/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp +++ b/rel/d/a/b/d_a_b_gnd/d_a_b_gnd.cpp @@ -694,7 +694,7 @@ extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_20(); extern "C" void _savegpr_22(); extern "C" void _savegpr_23(); @@ -703,7 +703,7 @@ extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_20(); extern "C" void _restgpr_22(); extern "C" void _restgpr_23(); diff --git a/rel/d/a/d_a_horse/d_a_horse.cpp b/rel/d/a/d_a_horse/d_a_horse.cpp index b6b1ab1613d..422499ca299 100644 --- a/rel/d/a/d_a_horse/d_a_horse.cpp +++ b/rel/d/a/d_a_horse/d_a_horse.cpp @@ -441,7 +441,7 @@ extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_19(); extern "C" void _savegpr_21(); extern "C" void _savegpr_23(); @@ -451,7 +451,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_19(); extern "C" void _restgpr_21(); extern "C" void _restgpr_23(); diff --git a/rel/d/a/d_a_mg_fshop/d_a_mg_fshop.cpp b/rel/d/a/d_a_mg_fshop/d_a_mg_fshop.cpp index fd1fcca05ea..013939b9a3d 100644 --- a/rel/d/a/d_a_mg_fshop/d_a_mg_fshop.cpp +++ b/rel/d/a/d_a_mg_fshop/d_a_mg_fshop.cpp @@ -340,7 +340,7 @@ extern "C" void PSVECAdd(); extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_17(); extern "C" void _savegpr_18(); extern "C" void _savegpr_19(); @@ -351,7 +351,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_17(); extern "C" void _restgpr_18(); extern "C" void _restgpr_19(); diff --git a/rel/d/a/d_a_midna/d_a_midna.cpp b/rel/d/a/d_a_midna/d_a_midna.cpp index 3dbae2a941f..a9cb9b27d4d 100644 --- a/rel/d/a/d_a_midna/d_a_midna.cpp +++ b/rel/d/a/d_a_midna/d_a_midna.cpp @@ -658,7 +658,7 @@ extern "C" void PSVECSquareMag(); extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_20(); extern "C" void _savegpr_23(); extern "C" void _savegpr_25(); @@ -666,7 +666,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_20(); extern "C" void _restgpr_23(); extern "C" void _restgpr_25(); diff --git a/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp b/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp index f0f3e8f4482..290f8bdabe0 100644 --- a/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp +++ b/rel/d/a/e/d_a_e_fm/d_a_e_fm.cpp @@ -570,7 +570,7 @@ extern "C" void PSVECSubtract(); extern "C" void PSVECSquareMag(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_18(); extern "C" void _savegpr_20(); extern "C" void _savegpr_21(); @@ -581,7 +581,7 @@ extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_18(); extern "C" void _restgpr_20(); extern "C" void _restgpr_21(); diff --git a/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp b/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp index 30328026e0f..56232f988ef 100644 --- a/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp +++ b/rel/d/a/e/d_a_e_sm2/d_a_e_sm2.cpp @@ -442,7 +442,7 @@ extern "C" void PSMTXMultVec(); extern "C" void PSVECAdd(); extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); extern "C" void _savegpr_23(); @@ -450,7 +450,7 @@ extern "C" void _savegpr_24(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_19(); extern "C" void _restgpr_22(); extern "C" void _restgpr_23(); diff --git a/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp b/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp index 8b432c096e7..5dfc4ef7a39 100644 --- a/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp +++ b/rel/d/a/e/d_a_e_vt/d_a_e_vt.cpp @@ -655,7 +655,7 @@ extern "C" void PSVECSquareMag(); extern "C" void PSVECSquareDistance(); extern "C" void __copy(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_17(); extern "C" void _savegpr_19(); extern "C" void _savegpr_22(); @@ -666,7 +666,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_17(); extern "C" void _restgpr_19(); extern "C" void _restgpr_22(); diff --git a/rel/d/a/kytag/d_a_kytag12/d_a_kytag12.cpp b/rel/d/a/kytag/d_a_kytag12/d_a_kytag12.cpp index d3c7c12165a..3ae580ac164 100644 --- a/rel/d/a/kytag/d_a_kytag12/d_a_kytag12.cpp +++ b/rel/d/a/kytag/d_a_kytag12/d_a_kytag12.cpp @@ -78,9 +78,9 @@ extern "C" void __dl__FPv(); extern "C" void PSVECSquareDistance(); extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_18(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_18(); extern "C" void strcmp(); extern "C" extern void* g_fopAc_Method[8]; diff --git a/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat.cpp b/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat.cpp index c66a4cc7ac8..ca7c26fefca 100644 --- a/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat.cpp +++ b/rel/d/a/npc/d_a_npc_chat/d_a_npc_chat.cpp @@ -541,12 +541,12 @@ extern "C" void __construct_array(); extern "C" void __ptmf_test(); extern "C" void __ptmf_cmpr(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); diff --git a/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp b/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp index 1076c765ec7..e5c526d3b50 100644 --- a/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp +++ b/rel/d/a/obj/d_a_obj_bemos/d_a_obj_bemos.cpp @@ -583,7 +583,7 @@ extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); @@ -591,7 +591,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_23(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); diff --git a/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp b/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp index 42a30912cd2..023c086b471 100644 --- a/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp +++ b/rel/d/a/obj/d_a_obj_ito/d_a_obj_ito.cpp @@ -266,13 +266,13 @@ extern "C" void PSVECAdd(); extern "C" void PSVECScale(); extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_16(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_16(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); diff --git a/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp b/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp index df16b6df998..ee6dfd65ed3 100644 --- a/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp +++ b/rel/d/a/obj/d_a_obj_so/d_a_obj_so.cpp @@ -351,13 +351,13 @@ extern "C" void PSMTXMultVec(); extern "C" void PSVECAdd(); extern "C" void PSVECSquareMag(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_18(); extern "C" void _savegpr_23(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_18(); extern "C" void _restgpr_23(); extern "C" void _restgpr_27(); diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 22256973436..5b6cb2ebd4b 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -2987,7 +2987,7 @@ extern "C" void __construct_new_array(); extern "C" void __ptmf_test(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_15(); extern "C" void _savegpr_16(); extern "C" void _savegpr_20(); @@ -3000,7 +3000,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_15(); extern "C" void _restgpr_16(); extern "C" void _restgpr_20(); diff --git a/src/d/a/d_a_npc_cd2.cpp b/src/d/a/d_a_npc_cd2.cpp index 5845ac4efe7..b918c9a90a8 100644 --- a/src/d/a/d_a_npc_cd2.cpp +++ b/src/d/a/d_a_npc_cd2.cpp @@ -306,13 +306,13 @@ extern "C" void PSVECSquareDistance(); extern "C" void __register_global_object(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_22(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_22(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp index 7112deed772..d349a8e034a 100644 --- a/src/d/bg/d_bg_w_kcol.cpp +++ b/src/d/bg/d_bg_w_kcol.cpp @@ -123,11 +123,11 @@ extern "C" void set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec(); extern "C" void __dl__FPv(); extern "C" void __ptmf_scall(); extern "C" void __cvt_fp2unsigned(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_19(); extern "C" void _restgpr_25(); extern "C" void _restgpr_29(); diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index 30b11ef94e1..4a803405ce5 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -315,7 +315,7 @@ extern "C" void __construct_array(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savefpr_29(); extern "C" void _restfpr_29(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_16(); extern "C" void _savegpr_17(); extern "C" void _savegpr_19(); @@ -327,7 +327,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_16(); extern "C" void _restgpr_17(); extern "C" void _restgpr_19(); diff --git a/src/d/kankyo/d_kankyo_rain.cpp b/src/d/kankyo/d_kankyo_rain.cpp index 6190cf95c0c..8b56379cbee 100644 --- a/src/d/kankyo/d_kankyo_rain.cpp +++ b/src/d/kankyo/d_kankyo_rain.cpp @@ -149,7 +149,7 @@ extern "C" void* __nw__FUli(); extern "C" void reinitGX__6J3DSysFv(); extern "C" void __register_global_object(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_17(); extern "C" void _savegpr_18(); extern "C" void _savegpr_19(); @@ -162,7 +162,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_17(); extern "C" void _restgpr_18(); extern "C" void _restgpr_19(); diff --git a/src/d/map/d_map_path_fmap.cpp b/src/d/map/d_map_path_fmap.cpp index 3df3b3b622e..c4b09492a0e 100644 --- a/src/d/map/d_map_path_fmap.cpp +++ b/src/d/map/d_map_path_fmap.cpp @@ -59,13 +59,13 @@ extern "C" void getTypeToTypeGroupNo__7dTres_cFUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void __construct_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_22(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_22(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp index aaec4f3efc5..19440eb7ce4 100644 --- a/src/d/menu/d_menu_fmap.cpp +++ b/src/d/menu/d_menu_fmap.cpp @@ -428,7 +428,7 @@ extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); extern "C" void __register_global_object(); extern "C" void __destroy_arr(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_15(); extern "C" void _savegpr_19(); extern "C" void _savegpr_23(); @@ -438,7 +438,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_15(); extern "C" void _restgpr_19(); extern "C" void _restgpr_23(); diff --git a/src/d/menu/d_menu_letter.cpp b/src/d/menu/d_menu_letter.cpp index 9e799999b57..d050ab02657 100644 --- a/src/d/menu/d_menu_letter.cpp +++ b/src/d/menu/d_menu_letter.cpp @@ -178,14 +178,14 @@ extern "C" void getStringPtr__10J2DTextBoxCFv(); extern "C" void setString__10J2DTextBoxFsPCce(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); diff --git a/src/d/menu/d_menu_skill.cpp b/src/d/menu/d_menu_skill.cpp index 5237e3bcdfb..7ee09c9eaf4 100644 --- a/src/d/menu/d_menu_skill.cpp +++ b/src/d/menu/d_menu_skill.cpp @@ -118,14 +118,14 @@ extern "C" void getStringPtr__10J2DTextBoxCFv(); extern "C" void setString__10J2DTextBoxFsPCce(); extern "C" void __construct_array(); extern "C" void __ptmf_scall(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); diff --git a/src/d/meter/d_meter_button.cpp b/src/d/meter/d_meter_button.cpp index e50cd749f74..28366832146 100644 --- a/src/d/meter/d_meter_button.cpp +++ b/src/d/meter/d_meter_button.cpp @@ -378,14 +378,14 @@ extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); extern "C" void getStringPtr__10J2DTextBoxCFv(); extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_21(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_21(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp index bc964d989a5..a08ef770367 100644 --- a/src/d/particle/d_particle.cpp +++ b/src/d/particle/d_particle.cpp @@ -275,7 +275,7 @@ extern "C" void __register_global_object(); extern "C" void __destroy_new_array(); extern "C" void __construct_array(); extern "C" void __construct_new_array(); -extern "C" void __save_gpr(); +extern "C" void _savegpr_14(); extern "C" void _savegpr_17(); extern "C" void _savegpr_19(); extern "C" void _savegpr_20(); @@ -287,7 +287,7 @@ extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); -extern "C" void __restore_gpr(); +extern "C" void _restgpr_14(); extern "C" void _restgpr_17(); extern "C" void _restgpr_19(); extern "C" void _restgpr_20(); diff --git a/tools/libdol2asm/symbol_finder.py b/tools/libdol2asm/symbol_finder.py index ff9e6cd7332..8fa4e9c24b4 100644 --- a/tools/libdol2asm/symbol_finder.py +++ b/tools/libdol2asm/symbol_finder.py @@ -143,7 +143,7 @@ def calculate_symbol_sizes(section: linker_map.Section, symbols: List[linker_map curr_addr = caddr + curr.size next_addr = naddr if curr_addr > next_addr: - # There are functions that have sub-function within themself. (See __save_gpr) + # There are functions that have sub-function within themself. (See _savegpr_14) # Truncate symbol size. curr.size = naddr - caddr else: