From 69e9173e0f7b8ec09fd7b1a42493dba4d3626029 Mon Sep 17 00:00:00 2001 From: Trueffel <106771418+Trueffeloot@users.noreply.github.com> Date: Fri, 13 Oct 2023 04:56:17 +0200 Subject: [PATCH] Match a few funcs, optimize some things (#1960) * match a few nonmatchings * remove unused asm * remove stale docs * add LICENSE.md to project overview in readme --- README.md | 1 + .../J2DMaterial/__ct__11J2DMaterialFv.s | 73 ------ .../createTevBlock__11J2DMaterialFib.s | 130 ----------- asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s | 213 ------------------ docs/Contributing.md | 59 ----- docs/ghidra.png | Bin 14827 -> 0 bytes libs/JSystem/J2DGraph/J2DMaterial.cpp | 22 -- src/d/menu/d_menu_fishing.cpp | 3 +- src/d/meter/d_meter_HIO.cpp | 6 +- src/d/s/d_s_play.cpp | 65 ++---- 10 files changed, 24 insertions(+), 548 deletions(-) delete mode 100644 asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DMaterialFv.s delete mode 100644 asm/JSystem/J2DGraph/J2DMaterial/createTevBlock__11J2DMaterialFib.s delete mode 100644 asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s delete mode 100644 docs/Contributing.md delete mode 100644 docs/ghidra.png diff --git a/README.md b/README.md index fedd39b72df..1837cd172f6 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ tp/ ├── .clang-format # Clang format file. ├── .gitignore # Files/folders to ignore changes to when making commits. ├── Doxyfile # Doxygen configuration file. +├── LICENSE.md # License file containing information about CC0-1.0 ├── Makefile # Makefile for the project containing various targets. ├── Progress.md # Markdown file that displays the current progress of the project. ├── README.md # The file you're currently reading. diff --git a/asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DMaterialFv.s b/asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DMaterialFv.s deleted file mode 100644 index d60936723e3..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DMaterialFv.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_802EA1AC: -/* 802EA1AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802EA1B0 7C 08 02 A6 */ mflr r0 -/* 802EA1B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802EA1B8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802EA1BC 7C 7F 1B 78 */ mr r31, r3 -/* 802EA1C0 3C 60 80 3D */ lis r3, __vt__11J2DMaterial@ha /* 0x803CCA78@ha */ -/* 802EA1C4 38 03 CA 78 */ addi r0, r3, __vt__11J2DMaterial@l /* 0x803CCA78@l */ -/* 802EA1C8 90 1F 00 00 */ stw r0, 0(r31) -/* 802EA1CC 3C 60 80 3D */ lis r3, __vt__13J2DColorBlock@ha /* 0x803CCA84@ha */ -/* 802EA1D0 38 03 CA 84 */ addi r0, r3, __vt__13J2DColorBlock@l /* 0x803CCA84@l */ -/* 802EA1D4 90 1F 00 24 */ stw r0, 0x24(r31) -/* 802EA1D8 38 7F 00 10 */ addi r3, r31, 0x10 -/* 802EA1DC 3C 80 80 19 */ lis r4, __ct__Q28JUtility6TColorFv@ha /* 0x80193960@ha */ -/* 802EA1E0 38 84 39 60 */ addi r4, r4, __ct__Q28JUtility6TColorFv@l /* 0x80193960@l */ -/* 802EA1E4 38 A0 00 00 */ li r5, 0 -/* 802EA1E8 38 C0 00 04 */ li r6, 4 -/* 802EA1EC 38 E0 00 02 */ li r7, 2 -/* 802EA1F0 48 07 7B 71 */ bl __construct_array -/* 802EA1F4 38 7F 00 1A */ addi r3, r31, 0x1a -/* 802EA1F8 3C 80 80 2F */ lis r4, __ct__12J2DColorChanFv@ha /* 0x802EB280@ha */ -/* 802EA1FC 38 84 B2 80 */ addi r4, r4, __ct__12J2DColorChanFv@l /* 0x802EB280@l */ -/* 802EA200 38 A0 00 00 */ li r5, 0 -/* 802EA204 38 C0 00 02 */ li r6, 2 -/* 802EA208 38 E0 00 04 */ li r7, 4 -/* 802EA20C 48 07 7B 55 */ bl __construct_array -/* 802EA210 38 7F 00 10 */ addi r3, r31, 0x10 -/* 802EA214 48 00 11 81 */ bl initialize__13J2DColorBlockFv -/* 802EA218 3C 60 80 3D */ lis r3, __vt__14J2DTexGenBlock@ha /* 0x803CCF30@ha */ -/* 802EA21C 38 03 CF 30 */ addi r0, r3, __vt__14J2DTexGenBlock@l /* 0x803CCF30@l */ -/* 802EA220 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802EA224 38 7F 00 2C */ addi r3, r31, 0x2c -/* 802EA228 3C 80 80 2F */ lis r4, __ct__11J2DTexCoordFv@ha /* 0x802EB260@ha */ -/* 802EA22C 38 84 B2 60 */ addi r4, r4, __ct__11J2DTexCoordFv@l /* 0x802EB260@l */ -/* 802EA230 38 A0 00 00 */ li r5, 0 -/* 802EA234 38 C0 00 04 */ li r6, 4 -/* 802EA238 38 E0 00 08 */ li r7, 8 -/* 802EA23C 48 07 7B 25 */ bl __construct_array -/* 802EA240 38 7F 00 28 */ addi r3, r31, 0x28 -/* 802EA244 48 00 12 CD */ bl initialize__14J2DTexGenBlockFv -/* 802EA248 A0 02 C7 AE */ lhz r0, j2dDefaultAlphaCmp(r2) -/* 802EA24C B0 1F 00 78 */ sth r0, 0x78(r31) -/* 802EA250 38 00 00 00 */ li r0, 0 -/* 802EA254 98 1F 00 7A */ stb r0, 0x7a(r31) -/* 802EA258 98 1F 00 7B */ stb r0, 0x7b(r31) -/* 802EA25C 88 02 C7 A0 */ lbz r0, j2dDefaultBlendInfo(r2) -/* 802EA260 98 1F 00 7C */ stb r0, 0x7c(r31) -/* 802EA264 38 62 C7 A0 */ la r3, j2dDefaultBlendInfo(r2) /* 804561A0-_SDA2_BASE_ */ -/* 802EA268 88 03 00 01 */ lbz r0, 1(r3) -/* 802EA26C 98 1F 00 7D */ stb r0, 0x7d(r31) -/* 802EA270 88 03 00 02 */ lbz r0, 2(r3) -/* 802EA274 98 1F 00 7E */ stb r0, 0x7e(r31) -/* 802EA278 88 03 00 03 */ lbz r0, 3(r3) -/* 802EA27C 98 1F 00 7F */ stb r0, 0x7f(r31) -/* 802EA280 38 7F 00 78 */ addi r3, r31, 0x78 -/* 802EA284 48 00 75 79 */ bl initialize__10J2DPEBlockFv -/* 802EA288 38 80 00 00 */ li r4, 0 -/* 802EA28C 90 9F 00 04 */ stw r4, 4(r31) -/* 802EA290 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802EA294 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802EA298 B0 1F 00 0C */ sth r0, 0xc(r31) -/* 802EA29C 90 9F 00 70 */ stw r4, 0x70(r31) -/* 802EA2A0 90 9F 00 74 */ stw r4, 0x74(r31) -/* 802EA2A4 90 9F 00 84 */ stw r4, 0x84(r31) -/* 802EA2A8 38 00 00 01 */ li r0, 1 -/* 802EA2AC 90 1F 00 08 */ stw r0, 8(r31) -/* 802EA2B0 98 1F 00 0E */ stb r0, 0xe(r31) -/* 802EA2B4 7F E3 FB 78 */ mr r3, r31 -/* 802EA2B8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802EA2BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802EA2C0 7C 08 03 A6 */ mtlr r0 -/* 802EA2C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802EA2C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterial/createTevBlock__11J2DMaterialFib.s b/asm/JSystem/J2DGraph/J2DMaterial/createTevBlock__11J2DMaterialFib.s deleted file mode 100644 index 8aee8aa39bd..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterial/createTevBlock__11J2DMaterialFib.s +++ /dev/null @@ -1,130 +0,0 @@ -lbl_802EA410: -/* 802EA410 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802EA414 7C 08 02 A6 */ mflr r0 -/* 802EA418 90 01 00 14 */ stw r0, 0x14(r1) -/* 802EA41C 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802EA420 41 82 00 C4 */ beq lbl_802EA4E4 -/* 802EA424 2C 03 00 01 */ cmpwi r3, 1 -/* 802EA428 41 81 00 24 */ bgt lbl_802EA44C -/* 802EA42C 38 60 00 60 */ li r3, 0x60 -/* 802EA430 4B FE 48 1D */ bl __nw__FUl -/* 802EA434 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA438 41 82 00 0C */ beq lbl_802EA444 -/* 802EA43C 48 00 14 51 */ bl __ct__12J2DTevBlock1Fv -/* 802EA440 7C 60 1B 78 */ mr r0, r3 -lbl_802EA444: -/* 802EA444 7C 03 03 78 */ mr r3, r0 -/* 802EA448 48 00 01 6C */ b lbl_802EA5B4 -lbl_802EA44C: -/* 802EA44C 2C 03 00 02 */ cmpwi r3, 2 -/* 802EA450 40 82 00 24 */ bne lbl_802EA474 -/* 802EA454 38 60 00 7C */ li r3, 0x7c -/* 802EA458 4B FE 47 F5 */ bl __nw__FUl -/* 802EA45C 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA460 41 82 00 0C */ beq lbl_802EA46C -/* 802EA464 48 00 21 55 */ bl __ct__12J2DTevBlock2Fv -/* 802EA468 7C 60 1B 78 */ mr r0, r3 -lbl_802EA46C: -/* 802EA46C 7C 03 03 78 */ mr r3, r0 -/* 802EA470 48 00 01 44 */ b lbl_802EA5B4 -lbl_802EA474: -/* 802EA474 2C 03 00 04 */ cmpwi r3, 4 -/* 802EA478 41 81 00 24 */ bgt lbl_802EA49C -/* 802EA47C 38 60 00 B4 */ li r3, 0xb4 -/* 802EA480 4B FE 47 CD */ bl __nw__FUl -/* 802EA484 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA488 41 82 00 0C */ beq lbl_802EA494 -/* 802EA48C 48 00 34 31 */ bl __ct__12J2DTevBlock4Fv -/* 802EA490 7C 60 1B 78 */ mr r0, r3 -lbl_802EA494: -/* 802EA494 7C 03 03 78 */ mr r3, r0 -/* 802EA498 48 00 01 1C */ b lbl_802EA5B4 -lbl_802EA49C: -/* 802EA49C 2C 03 00 08 */ cmpwi r3, 8 -/* 802EA4A0 41 81 00 24 */ bgt lbl_802EA4C4 -/* 802EA4A4 38 60 01 24 */ li r3, 0x124 -/* 802EA4A8 4B FE 47 A5 */ bl __nw__FUl -/* 802EA4AC 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA4B0 41 82 00 0C */ beq lbl_802EA4BC -/* 802EA4B4 48 00 48 B1 */ bl __ct__12J2DTevBlock8Fv -/* 802EA4B8 7C 60 1B 78 */ mr r0, r3 -lbl_802EA4BC: -/* 802EA4BC 7C 03 03 78 */ mr r3, r0 -/* 802EA4C0 48 00 00 F4 */ b lbl_802EA5B4 -lbl_802EA4C4: -/* 802EA4C4 38 60 01 B4 */ li r3, 0x1b4 -/* 802EA4C8 4B FE 47 85 */ bl __nw__FUl -/* 802EA4CC 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA4D0 41 82 00 0C */ beq lbl_802EA4DC -/* 802EA4D4 48 00 5D 11 */ bl __ct__13J2DTevBlock16Fv -/* 802EA4D8 7C 60 1B 78 */ mr r0, r3 -lbl_802EA4DC: -/* 802EA4DC 7C 03 03 78 */ mr r3, r0 -/* 802EA4E0 48 00 00 D4 */ b lbl_802EA5B4 -lbl_802EA4E4: -/* 802EA4E4 2C 03 00 01 */ cmpwi r3, 1 -/* 802EA4E8 41 81 00 28 */ bgt lbl_802EA510 -/* 802EA4EC 38 60 00 60 */ li r3, 0x60 -/* 802EA4F0 38 80 FF FC */ li r4, -4 -/* 802EA4F4 4B FE 47 81 */ bl __nw__FUli -/* 802EA4F8 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA4FC 41 82 00 0C */ beq lbl_802EA508 -/* 802EA500 48 00 13 8D */ bl __ct__12J2DTevBlock1Fv -/* 802EA504 7C 60 1B 78 */ mr r0, r3 -lbl_802EA508: -/* 802EA508 7C 03 03 78 */ mr r3, r0 -/* 802EA50C 48 00 00 A8 */ b lbl_802EA5B4 -lbl_802EA510: -/* 802EA510 2C 03 00 02 */ cmpwi r3, 2 -/* 802EA514 40 82 00 28 */ bne lbl_802EA53C -/* 802EA518 38 60 00 7C */ li r3, 0x7c -/* 802EA51C 38 80 FF FC */ li r4, -4 -/* 802EA520 4B FE 47 55 */ bl __nw__FUli -/* 802EA524 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA528 41 82 00 0C */ beq lbl_802EA534 -/* 802EA52C 48 00 20 8D */ bl __ct__12J2DTevBlock2Fv -/* 802EA530 7C 60 1B 78 */ mr r0, r3 -lbl_802EA534: -/* 802EA534 7C 03 03 78 */ mr r3, r0 -/* 802EA538 48 00 00 7C */ b lbl_802EA5B4 -lbl_802EA53C: -/* 802EA53C 2C 03 00 04 */ cmpwi r3, 4 -/* 802EA540 41 81 00 28 */ bgt lbl_802EA568 -/* 802EA544 38 60 00 B4 */ li r3, 0xb4 -/* 802EA548 38 80 FF FC */ li r4, -4 -/* 802EA54C 4B FE 47 29 */ bl __nw__FUli -/* 802EA550 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA554 41 82 00 0C */ beq lbl_802EA560 -/* 802EA558 48 00 33 65 */ bl __ct__12J2DTevBlock4Fv -/* 802EA55C 7C 60 1B 78 */ mr r0, r3 -lbl_802EA560: -/* 802EA560 7C 03 03 78 */ mr r3, r0 -/* 802EA564 48 00 00 50 */ b lbl_802EA5B4 -lbl_802EA568: -/* 802EA568 2C 03 00 08 */ cmpwi r3, 8 -/* 802EA56C 41 81 00 28 */ bgt lbl_802EA594 -/* 802EA570 38 60 01 24 */ li r3, 0x124 -/* 802EA574 38 80 FF FC */ li r4, -4 -/* 802EA578 4B FE 46 FD */ bl __nw__FUli -/* 802EA57C 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA580 41 82 00 0C */ beq lbl_802EA58C -/* 802EA584 48 00 47 E1 */ bl __ct__12J2DTevBlock8Fv -/* 802EA588 7C 60 1B 78 */ mr r0, r3 -lbl_802EA58C: -/* 802EA58C 7C 03 03 78 */ mr r3, r0 -/* 802EA590 48 00 00 24 */ b lbl_802EA5B4 -lbl_802EA594: -/* 802EA594 38 60 01 B4 */ li r3, 0x1b4 -/* 802EA598 38 80 FF FC */ li r4, -4 -/* 802EA59C 4B FE 46 D9 */ bl __nw__FUli -/* 802EA5A0 7C 60 1B 79 */ or. r0, r3, r3 -/* 802EA5A4 41 82 00 0C */ beq lbl_802EA5B0 -/* 802EA5A8 48 00 5C 3D */ bl __ct__13J2DTevBlock16Fv -/* 802EA5AC 7C 60 1B 78 */ mr r0, r3 -lbl_802EA5B0: -/* 802EA5B0 7C 03 03 78 */ mr r3, r0 -lbl_802EA5B4: -/* 802EA5B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802EA5B8 7C 08 03 A6 */ mtlr r0 -/* 802EA5BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802EA5C0 4E 80 00 20 */ blr diff --git a/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s b/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s deleted file mode 100644 index 6c86b3ff37e..00000000000 --- a/asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s +++ /dev/null @@ -1,213 +0,0 @@ -lbl_802594AC: -/* 802594AC 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802594B0 7C 08 02 A6 */ mflr r0 -/* 802594B4 90 01 00 44 */ stw r0, 0x44(r1) -/* 802594B8 39 61 00 40 */ addi r11, r1, 0x40 -/* 802594BC 48 10 8D 1D */ bl _savegpr_28 -/* 802594C0 7C 7C 1B 78 */ mr r28, r3 -/* 802594C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802594C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802594CC 3B A3 23 3C */ addi r29, r3, 0x233c -/* 802594D0 7F A3 EB 78 */ mr r3, r29 -/* 802594D4 4B E2 DD DD */ bl Move__4dCcSFv -/* 802594D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802594DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802594E0 3B C3 0F 38 */ addi r30, r3, 0xf38 -/* 802594E4 7F C3 F3 78 */ mr r3, r30 -/* 802594E8 4B E1 B4 55 */ bl ClrMoveFlag__4dBgSFv -/* 802594EC 4B DC 50 6D */ bl fopOvlpM_IsPeek__Fv -/* 802594F0 2C 03 00 00 */ cmpwi r3, 0 -/* 802594F4 40 82 01 B8 */ bne lbl_802596AC -/* 802594F8 7F 83 E3 78 */ mr r3, r28 -/* 802594FC 4B DD 38 49 */ bl dComIfG_resetToOpening__FP11scene_class -/* 80259500 2C 03 00 00 */ cmpwi r3, 0 -/* 80259504 40 82 01 A8 */ bne lbl_802596AC -/* 80259508 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8025950C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80259510 88 03 4E 1C */ lbz r0, 0x4e1c(r3) -/* 80259514 7C 00 07 75 */ extsb. r0, r0 -/* 80259518 41 82 01 94 */ beq lbl_802596AC -/* 8025951C 88 03 4E 1D */ lbz r0, 0x4e1d(r3) -/* 80259520 7C 00 07 74 */ extsb r0, r0 -/* 80259524 54 1F 06 3E */ clrlwi r31, r0, 0x18 -/* 80259528 7F 83 E3 78 */ mr r3, r28 -/* 8025952C 38 80 00 0B */ li r4, 0xb -/* 80259530 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e -/* 80259534 3C A0 80 3C */ lis r5, l_wipeType@ha /* 0x803C3158@ha */ -/* 80259538 38 A5 31 58 */ addi r5, r5, l_wipeType@l /* 0x803C3158@l */ -/* 8025953C 7C A5 02 AE */ lhax r5, r5, r0 -/* 80259540 38 C0 00 05 */ li r6, 5 -/* 80259544 4B DC 57 9D */ bl fopScnM_ChangeReq__FP11scene_classssUs -/* 80259548 4B F4 64 C9 */ bl dKy_getdaytime_hour__Fv -/* 8025954C 38 00 00 00 */ li r0, 0 -/* 80259550 2C 03 00 06 */ cmpwi r3, 6 -/* 80259554 41 80 00 10 */ blt lbl_80259564 -/* 80259558 2C 03 00 12 */ cmpwi r3, 0x12 -/* 8025955C 40 80 00 08 */ bge lbl_80259564 -/* 80259560 38 00 00 01 */ li r0, 1 -lbl_80259564: -/* 80259564 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80259568 7C 00 00 34 */ cntlzw r0, r0 -/* 8025956C 54 03 D9 7E */ srwi r3, r0, 5 -/* 80259570 38 1F FF FF */ addi r0, r31, -1 -/* 80259574 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80259578 28 00 00 01 */ cmplwi r0, 1 -/* 8025957C 40 81 00 5C */ ble lbl_802595D8 -/* 80259580 28 1F 00 07 */ cmplwi r31, 7 -/* 80259584 41 82 00 54 */ beq lbl_802595D8 -/* 80259588 28 1F 00 11 */ cmplwi r31, 0x11 -/* 8025958C 41 82 00 4C */ beq lbl_802595D8 -/* 80259590 28 1F 00 15 */ cmplwi r31, 0x15 -/* 80259594 41 82 00 44 */ beq lbl_802595D8 -/* 80259598 28 1F 00 08 */ cmplwi r31, 8 -/* 8025959C 41 82 00 14 */ beq lbl_802595B0 -/* 802595A0 28 1F 00 0A */ cmplwi r31, 0xa -/* 802595A4 41 82 00 0C */ beq lbl_802595B0 -/* 802595A8 28 1F 00 12 */ cmplwi r31, 0x12 -/* 802595AC 40 82 00 0C */ bne lbl_802595B8 -lbl_802595B0: -/* 802595B0 2C 03 00 00 */ cmpwi r3, 0 -/* 802595B4 40 82 00 24 */ bne lbl_802595D8 -lbl_802595B8: -/* 802595B8 28 1F 00 09 */ cmplwi r31, 9 -/* 802595BC 41 82 00 14 */ beq lbl_802595D0 -/* 802595C0 28 1F 00 0B */ cmplwi r31, 0xb -/* 802595C4 41 82 00 0C */ beq lbl_802595D0 -/* 802595C8 28 1F 00 13 */ cmplwi r31, 0x13 -/* 802595CC 40 82 00 40 */ bne lbl_8025960C -lbl_802595D0: -/* 802595D0 2C 03 00 00 */ cmpwi r3, 0 -/* 802595D4 40 82 00 38 */ bne lbl_8025960C -lbl_802595D8: -/* 802595D8 80 0D 80 8C */ lwz r0, g_saftyWhiteColor(r13) -/* 802595DC 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802595E0 90 01 00 10 */ stw r0, 0x10(r1) -/* 802595E4 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 802595E8 88 01 00 10 */ lbz r0, 0x10(r1) -/* 802595EC 98 03 00 0C */ stb r0, 0xc(r3) -/* 802595F0 88 01 00 11 */ lbz r0, 0x11(r1) -/* 802595F4 98 03 00 0D */ stb r0, 0xd(r3) -/* 802595F8 88 01 00 12 */ lbz r0, 0x12(r1) -/* 802595FC 98 03 00 0E */ stb r0, 0xe(r3) -/* 80259600 88 01 00 13 */ lbz r0, 0x13(r1) -/* 80259604 98 03 00 0F */ stb r0, 0xf(r3) -/* 80259608 48 00 00 A4 */ b lbl_802596AC -lbl_8025960C: -/* 8025960C 28 1F 00 0E */ cmplwi r31, 0xe -/* 80259610 41 82 00 0C */ beq lbl_8025961C -/* 80259614 28 1F 00 14 */ cmplwi r31, 0x14 -/* 80259618 40 82 00 64 */ bne lbl_8025967C -lbl_8025961C: -/* 8025961C 80 02 B5 2C */ lwz r0, lit_4100(r2) -/* 80259620 90 01 00 20 */ stw r0, 0x20(r1) -/* 80259624 4B F5 2F 59 */ bl dKy_darkworld_check__Fv -/* 80259628 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8025962C 41 82 00 1C */ beq lbl_80259648 -/* 80259630 38 00 00 FF */ li r0, 0xff -/* 80259634 98 01 00 20 */ stb r0, 0x20(r1) -/* 80259638 38 00 00 CF */ li r0, 0xcf -/* 8025963C 98 01 00 21 */ stb r0, 0x21(r1) -/* 80259640 38 00 00 B4 */ li r0, 0xb4 -/* 80259644 98 01 00 22 */ stb r0, 0x22(r1) -lbl_80259648: -/* 80259648 80 01 00 20 */ lwz r0, 0x20(r1) -/* 8025964C 90 01 00 18 */ stw r0, 0x18(r1) -/* 80259650 90 01 00 0C */ stw r0, 0xc(r1) -/* 80259654 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 80259658 88 01 00 0C */ lbz r0, 0xc(r1) -/* 8025965C 98 03 00 0C */ stb r0, 0xc(r3) -/* 80259660 88 01 00 0D */ lbz r0, 0xd(r1) -/* 80259664 98 03 00 0D */ stb r0, 0xd(r3) -/* 80259668 88 01 00 0E */ lbz r0, 0xe(r1) -/* 8025966C 98 03 00 0E */ stb r0, 0xe(r3) -/* 80259670 88 01 00 0F */ lbz r0, 0xf(r1) -/* 80259674 98 03 00 0F */ stb r0, 0xf(r3) -/* 80259678 48 00 00 34 */ b lbl_802596AC -lbl_8025967C: -/* 8025967C 80 0D 80 84 */ lwz r0, g_blackColor(r13) -/* 80259680 90 01 00 14 */ stw r0, 0x14(r1) -/* 80259684 90 01 00 08 */ stw r0, 8(r1) -/* 80259688 80 6D 86 48 */ lwz r3, mFader__13mDoGph_gInf_c(r13) -/* 8025968C 88 01 00 08 */ lbz r0, 8(r1) -/* 80259690 98 03 00 0C */ stb r0, 0xc(r3) -/* 80259694 88 01 00 09 */ lbz r0, 9(r1) -/* 80259698 98 03 00 0D */ stb r0, 0xd(r3) -/* 8025969C 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802596A0 98 03 00 0E */ stb r0, 0xe(r3) -/* 802596A4 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802596A8 98 03 00 0F */ stb r0, 0xf(r3) -lbl_802596AC: -/* 802596AC 4B E4 32 15 */ bl reset__10dMdl_mng_cFv -/* 802596B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802596B4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802596B8 88 1F 5E B5 */ lbz r0, 0x5eb5(r31) -/* 802596BC 28 00 00 00 */ cmplwi r0, 0 -/* 802596C0 40 82 00 60 */ bne lbl_80259720 -/* 802596C4 88 0D 8B A4 */ lbz r0, pauseTimer__9dScnPly_c+0x0(r13) -/* 802596C8 7C 00 07 75 */ extsb. r0, r0 -/* 802596CC 40 82 00 54 */ bne lbl_80259720 -/* 802596D0 A8 1C 00 08 */ lha r0, 8(r28) -/* 802596D4 2C 00 00 0B */ cmpwi r0, 0xb -/* 802596D8 40 82 00 0C */ bne lbl_802596E4 -/* 802596DC 38 7E 4C 9C */ addi r3, r30, 0x4c9c -/* 802596E0 4B E1 5B 89 */ bl Run__12dVibration_cFv -lbl_802596E4: -/* 802596E4 4B DD 7E C1 */ bl execute__7daSus_cFv -/* 802596E8 7F C3 F3 78 */ mr r3, r30 -/* 802596EC 4B E1 B2 BD */ bl Move__4dBgSFv -/* 802596F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 802596F4 3B 83 61 C0 */ addi r28, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 802596F8 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 802596FC 4B DF 29 7D */ bl calc3D__13dPa_control_cFv -/* 80259700 80 7C 5D 3C */ lwz r3, 0x5d3c(r28) -/* 80259704 4B DF 29 E9 */ bl calc2D__13dPa_control_cFv -/* 80259708 3C 60 80 43 */ lis r3, g_Counter@ha /* 0x80430CD8@ha */ -/* 8025970C 38 83 0C D8 */ addi r4, r3, g_Counter@l /* 0x80430CD8@l */ -/* 80259710 80 64 00 08 */ lwz r3, 8(r4) -/* 80259714 38 03 00 01 */ addi r0, r3, 1 -/* 80259718 90 04 00 08 */ stw r0, 8(r4) -/* 8025971C 48 00 00 38 */ b lbl_80259754 -lbl_80259720: -/* 80259720 88 0D 89 44 */ lbz r0, mStatus__13dPa_control_c(r13) -/* 80259724 60 03 00 01 */ ori r3, r0, 1 -/* 80259728 98 6D 89 44 */ stb r3, mStatus__13dPa_control_c(r13) -/* 8025972C 88 8D 8B A4 */ lbz r4, pauseTimer__9dScnPly_c+0x0(r13) -/* 80259730 7C 80 07 75 */ extsb. r0, r4 -/* 80259734 40 82 00 10 */ bne lbl_80259744 -/* 80259738 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8025973C 60 00 00 02 */ ori r0, r0, 2 -/* 80259740 98 0D 89 44 */ stb r0, mStatus__13dPa_control_c(r13) -lbl_80259744: -/* 80259744 7C 80 07 75 */ extsb. r0, r4 -/* 80259748 40 82 00 0C */ bne lbl_80259754 -/* 8025974C 38 7E 4C 9C */ addi r3, r30, 0x4c9c -/* 80259750 4B E1 67 E9 */ bl Pause__12dVibration_cFv -lbl_80259754: -/* 80259754 4B DC 6C F1 */ bl fopDwIt_Begin__Fv -/* 80259758 7C 7C 1B 78 */ mr r28, r3 -/* 8025975C 48 00 00 18 */ b lbl_80259774 -lbl_80259760: -/* 80259760 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 80259764 4B DC 89 3D */ bl fpcM_Draw__FPv -/* 80259768 7F 83 E3 78 */ mr r3, r28 -/* 8025976C 4B DC 6D 15 */ bl fopDwIt_Next__FP16create_tag_class -/* 80259770 7C 7C 1B 78 */ mr r28, r3 -lbl_80259774: -/* 80259774 28 1C 00 00 */ cmplwi r28, 0 -/* 80259778 40 82 FF E8 */ bne lbl_80259760 -/* 8025977C 88 1F 5E B5 */ lbz r0, 0x5eb5(r31) -/* 80259780 28 00 00 00 */ cmplwi r0, 0 -/* 80259784 40 82 00 18 */ bne lbl_8025979C -/* 80259788 4B E4 32 C1 */ bl update__12dEyeHL_mng_cFv -/* 8025978C 7F A3 EB 78 */ mr r3, r29 -/* 80259790 4B E2 DB 41 */ bl Draw__4dCcSFv -/* 80259794 38 7E 47 80 */ addi r3, r30, 0x4780 -/* 80259798 4B E1 94 3D */ bl Draw__12dAttention_cFv -lbl_8025979C: -/* 8025979C 38 60 00 01 */ li r3, 1 -/* 802597A0 39 61 00 40 */ addi r11, r1, 0x40 -/* 802597A4 48 10 8A 81 */ bl _restgpr_28 -/* 802597A8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802597AC 7C 08 03 A6 */ mtlr r0 -/* 802597B0 38 21 00 40 */ addi r1, r1, 0x40 -/* 802597B4 4E 80 00 20 */ blr diff --git a/docs/Contributing.md b/docs/Contributing.md deleted file mode 100644 index d47af10afd4..00000000000 --- a/docs/Contributing.md +++ /dev/null @@ -1,59 +0,0 @@ -Contributing -================= -Ghidra Setup ------ -1. Install [Java 11 64-bit Runtime and Development Kit](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html). -2. Download Ghidra from [here](https://github.com/NationalSecurityAgency/ghidra/releases). -3. Download the Ghidra-GameCube-Loader from [here](https://github.com/Cuyler36/Ghidra-GameCube-Loader/releases). Follow the Installation Instructions for installing. -4. Open a pull request against [this repo](https://github.com/zsrtp/tp-ghidra-server), adding your desired username and permissions level into users.yaml -5. Login using the following server info: - -``` -Server: ghidra.tpgz.io -Port: 13100 -Username: -Password: changeme -``` - -You will be prompted to change your password at login. After logging in, you will see a list of all the Twilight Princess DOLs for each version. - -![](./ghidra.png) - -Getting Started ------ -To begin, select a file to begin work on. You can check what files are available on [Trello](https://trello.com/b/Y04SAxbw/twilight-princess-decompilation). - -This project has been automatically generated using `dol2asm`. This process generates blank headers for every source file, default includes, necessary types to be used within the file, forward references, and external references of data / functions used within the file's functions. Additionally, all data and functions have been split and generated with default types. - -When decompiling a file, you will need to manually fix structs/classes, function return types, data types, and data definitions. Parameters are already setup for any function with a mangled name. Some functions / data may need to be changed to be auto-generated by the compiler, such as by inlining functions or making data in-function static. - -The TP Nvidia Shield Debug Rom contains extra useful info, as it was compiled with less aggressive function inlining, and also contains debug tools / debug strings. While the primary focus currently is on the NTSC-U GameCube version, it is highly recommended to reference the Debug rom for help / documentation. - -### diff.py -`diff.py` is the tool we use to fix matching errors. You can invoke `diff.py` from command line like: - `python diff.py -mwo mangled_symbol_name` -- `-m` will run make before opening diff. -- `-w` will automatically update the diff when you save your changes. -- `-o` will diff only the necessary `.o` file, which is recommended for this project. -- `-f` can be used to specify a specific object file to use when diffing with `-o` (Used to diff rels) -- You can find the mangled symbol name in the function info comment. (Ex. `onEventBit__11dSv_event_cFUs`) - -NOTE: You must run `./tp expected` with an OK build before diffing to have a correct binary to compare to. - -You can install the requirements for `diff.py` by running `pip install -r tools/requirements.txt`. - -### tp.py -`tp.py` is a multi-purpose tool that can be used for things such as checking SHA1 checksums, current decompilation progress, and removing unused assembly files. -You can invoke `tp.py` from command line either directly in the `tools/` folder, or by running the `tp` bash script. -Useful commands: -- `check` - Compares the SHA1 checksums of your current build to the ones of the expected build. Add `--rels` to check rel checksums. -- `expected` - Copies your current build folder to the expected build folder. -- `progress` - Calculates and displays the decompilation progress of the main dol. Add `--rels` to calculate rel progress. -- `remove-unused-asm` - Finds and removes all assembly files that are no longer being used. -- `pull-request` - Verifies that everything is OK before you set up a pull request. - -### decomp.me -[decomp.me](https://decomp.me/) is a very useful website for sharing individual functions with other contributers. -To use decomp.me with TP, select the `GameCube / Wii` platform and `Twilight Princess` compiler preset. Enter your function's mangled name under `Function name`, and copy / paste the function assembly from the project into the `Target assembly` box. Provide any necessary context within the provided box, then create your scratch. - -From here you can use the built-in editor to write your function code. Make sure to save the scratch when you are done, then you can copy and share the URL to receive help matching the function. diff --git a/docs/ghidra.png b/docs/ghidra.png deleted file mode 100644 index 460c6d4ea90697f386a9b092e884c8b39226a321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14827 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%0DbOVa!|YtCx}lV8G&iFpFe+o{P^+LFO3AH zpZ-|Lcj<5O^m7q<6_vZqNEfa5)$(M{n}9RJQy9q^Xg#% zxQK_3lbf6SufHB~#Js2Fm(9}vMnlp_BtTlkSUeuDo5e2fn7+R;J?d6Wq{&kL4$qhw z3u4P&wF1A=33(t07obBaWRO+E@TfyWFJR)83;!Ud$u(${Bhv`SIqe7VnK4a4{5M0|RygPCzM8bDTb42UWs=yxoGb zV!0ZLYl#mS+YJ2FYr)(ZS$n!S5=y~diADpqTn8phKu`wRk}~4;NPz0of;!sm=_ILi zTO9_-%b?EhbUw}B&A|ci7han;8+QWs03rYcz*9Lzl!}aOa&{I7bA>=ykYs0XE+THo zfQIq^_W16BL8;S`iL(I*$%~(Y>iMu%Q!qt0i+9s8_AbBx(*wB^m9EyNrkTCF(YK!^ zegdBKhYuhbcK1f?EzHb1(eAO1E5q_0`ti4pLXlW5ejoU>EGhXi!*K`_Bk^ zJovh>A{g!l{XSy+B^@zOFLC6QJNR`l2Q&}VgM0Dlr6GFUX`pw5v5fGbPq!Wte)a`3 zXTVjxOWAfi5V6^+k9hn=O#lor5!*hpgE=_dFIBXI4HoFPYT3oWk*7z?g@CYda&UxL z{tTxD>g76s&*_ zc7nSFMgC-;De|6f*~#Q}{|Am!Z}UDXV0Vaz3%f&$Move(); dComIfG_Bgsp().ClrMoveFlag(); @@ -396,11 +380,8 @@ static int dScnPly_Draw(dScnPly_c* scn) { fopScnM_ChangeReq(scn, 11, l_wipeType[wipe], 5); int hour = dKy_getdaytime_hour(); - useWhiteColor = false; - if (hour >= 6 && hour < 18) { - useWhiteColor = true; - } - bool tmp = useWhiteColor == 0; + useWhiteColor = hour >= 6 && hour < 18 ? true : false; + BOOL tmp = useWhiteColor == 0 ? 1 : 0; if (wipe == 1 || wipe == 2 || wipe == 7 || wipe == 17 || wipe == 21 || ((wipe == 8 || wipe == 10 || wipe == 18) && tmp) || @@ -434,9 +415,9 @@ static int dScnPly_Draw(dScnPly_c* scn) { dPa_control_c::onStatus(1); if (dScnPly_c::pauseTimer == 0) { dPa_control_c::onStatus(2); - if (dScnPly_c::pauseTimer == 0) { - dComIfGp_getVibration().Pause(); - } + } + if (dScnPly_c::pauseTimer == 0) { + dComIfGp_getVibration().Pause(); } } @@ -452,16 +433,6 @@ static int dScnPly_Draw(dScnPly_c* scn) { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dScnPly_Draw(dScnPly_c* param_0) { - nofralloc -#include "asm/d/s/d_s_play/dScnPly_Draw__FP9dScnPly_c.s" -} -#pragma pop -#endif /* 802597B8-8025987C 2540F8 00C4+00 1/0 0/0 0/0 .text dScnPly_Execute__FP9dScnPly_c */ static int dScnPly_Execute(dScnPly_c* scnPly) { @@ -808,11 +779,11 @@ static asm int phase_2(dScnPly_c* param_0) { static int phase_3(dScnPly_c* scn) { if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { return cPhs_INIT_e; - } else if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { + } + if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { return cPhs_INIT_e; - } else { - return cPhs_NEXT_e; - } + } + return cPhs_NEXT_e; } /* ############################################################################################## */