From 70135c6bb22aba421f40cb482512305a4f46a108 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 13 Jan 2021 19:48:54 +0900 Subject: [PATCH] some gfx funcs --- asm/nonmatchings/code_B9D60/func_8012C2E0.s | 21 ------------- .../code_a5dd0_len_114e0/func_8010FE68.s | 23 -------------- .../end_01/E07C20/func_80242C94_E07FF4.s | 27 ---------------- .../hos_01/A11020/func_80240BB8_A11438.s | 24 -------------- .../hos_01/A11020/func_80240C34_A114B4.s | 24 -------------- .../hos_05/A2EF00/func_8024564C_A2F88C.s | 24 -------------- .../hos_05/A2EF00/func_802456C8_A2F908.s | 24 -------------- .../hos_05/A2EF00/func_80245744_A2F984.s | 24 -------------- .../kmr_30/90B9E0/func_80240488_90BB58.s | 26 ---------------- .../mac_01/800C40/func_802405E8_800E68.s | 20 ------------ .../mac_01/8017D0/func_802454B4_805D34.s | 24 -------------- include/common_structs.h | 4 +++ src/code_1b40_len_20b0.c | 13 ++++++-- src/code_B9D60.c | 7 ++++- src/code_a5dd0_len_114e0.c | 5 ++- src/world/area_end/end_01/E07C20.c | 7 ++++- src/world/area_hos/hos_01/A11020.c | 13 ++++++-- src/world/area_hos/hos_05/A2EF00.c | 19 ++++++++++-- src/world/area_kmr/kmr_30/90B9E0.c | 7 ++++- src/world/area_mac/mac_01/800C40.c | 5 ++- src/world/area_mac/mac_01/8017D0.c | 7 ++++- tools/smallest_with_symbol.py | 31 +++++++++++++++++++ undefined_syms.txt | 3 ++ 23 files changed, 108 insertions(+), 274 deletions(-) delete mode 100644 asm/nonmatchings/code_B9D60/func_8012C2E0.s delete mode 100644 asm/nonmatchings/code_a5dd0_len_114e0/func_8010FE68.s delete mode 100644 asm/nonmatchings/world/area_end/end_01/E07C20/func_80242C94_E07FF4.s delete mode 100644 asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240BB8_A11438.s delete mode 100644 asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240C34_A114B4.s delete mode 100644 asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_8024564C_A2F88C.s delete mode 100644 asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_802456C8_A2F908.s delete mode 100644 asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_80245744_A2F984.s delete mode 100644 asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240488_90BB58.s delete mode 100644 asm/nonmatchings/world/area_mac/mac_01/800C40/func_802405E8_800E68.s delete mode 100644 asm/nonmatchings/world/area_mac/mac_01/8017D0/func_802454B4_805D34.s create mode 100755 tools/smallest_with_symbol.py diff --git a/asm/nonmatchings/code_B9D60/func_8012C2E0.s b/asm/nonmatchings/code_B9D60/func_8012C2E0.s deleted file mode 100644 index 59c480941e..0000000000 --- a/asm/nonmatchings/code_B9D60/func_8012C2E0.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8012C2E0 -/* C29E0 8012C2E0 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* C29E4 8012C2E4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* C29E8 8012C2E8 8C820000 */ lw $v0, ($a0) -/* C29EC 8012C2EC 3C03E700 */ lui $v1, 0xe700 -/* C29F0 8012C2F0 0040282D */ daddu $a1, $v0, $zero -/* C29F4 8012C2F4 24420008 */ addiu $v0, $v0, 8 -/* C29F8 8012C2F8 AC820000 */ sw $v0, ($a0) -/* C29FC 8012C2FC ACA30000 */ sw $v1, ($a1) -/* C2A00 8012C300 24430008 */ addiu $v1, $v0, 8 -/* C2A04 8012C304 ACA00004 */ sw $zero, 4($a1) -/* C2A08 8012C308 AC830000 */ sw $v1, ($a0) -/* C2A0C 8012C30C 3C03DE00 */ lui $v1, 0xde00 -/* C2A10 8012C310 AC430000 */ sw $v1, ($v0) -/* C2A14 8012C314 3C038015 */ lui $v1, %hi(D_8014C500) -/* C2A18 8012C318 2463C500 */ addiu $v1, $v1, %lo(D_8014C500) -/* C2A1C 8012C31C 03E00008 */ jr $ra -/* C2A20 8012C320 AC430004 */ sw $v1, 4($v0) diff --git a/asm/nonmatchings/code_a5dd0_len_114e0/func_8010FE68.s b/asm/nonmatchings/code_a5dd0_len_114e0/func_8010FE68.s deleted file mode 100644 index 86fad9687c..0000000000 --- a/asm/nonmatchings/code_a5dd0_len_114e0/func_8010FE68.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8010FE68 -/* A6568 8010FE68 3C07FCFF */ lui $a3, 0xfcff -/* A656C 8010FE6C 34E7B3FF */ ori $a3, $a3, 0xb3ff -/* A6570 8010FE70 3C06FF2F */ lui $a2, 0xff2f -/* A6574 8010FE74 3C05800A */ lui $a1, %hi(gMasterGfxPos) -/* A6578 8010FE78 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos) -/* A657C 8010FE7C 34C6FFFF */ ori $a2, $a2, 0xffff -/* A6580 8010FE80 8CA20000 */ lw $v0, ($a1) -/* A6584 8010FE84 308400FF */ andi $a0, $a0, 0xff -/* A6588 8010FE88 0040182D */ daddu $v1, $v0, $zero -/* A658C 8010FE8C 24420008 */ addiu $v0, $v0, 8 -/* A6590 8010FE90 ACA20000 */ sw $v0, ($a1) -/* A6594 8010FE94 AC670000 */ sw $a3, ($v1) -/* A6598 8010FE98 AC660004 */ sw $a2, 4($v1) -/* A659C 8010FE9C 24430008 */ addiu $v1, $v0, 8 -/* A65A0 8010FEA0 ACA30000 */ sw $v1, ($a1) -/* A65A4 8010FEA4 3C03FA00 */ lui $v1, 0xfa00 -/* A65A8 8010FEA8 AC430000 */ sw $v1, ($v0) -/* A65AC 8010FEAC 03E00008 */ jr $ra -/* A65B0 8010FEB0 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_end/end_01/E07C20/func_80242C94_E07FF4.s b/asm/nonmatchings/world/area_end/end_01/E07C20/func_80242C94_E07FF4.s deleted file mode 100644 index 76ffa5e6ae..0000000000 --- a/asm/nonmatchings/world/area_end/end_01/E07C20/func_80242C94_E07FF4.s +++ /dev/null @@ -1,27 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80242C94_E07FF4 -/* E07FF4 80242C94 3C06FC12 */ lui $a2, 0xfc12 -/* E07FF8 80242C98 34C64624 */ ori $a2, $a2, 0x4624 -/* E07FFC 80242C9C 3C05FF8F */ lui $a1, 0xff8f -/* E08000 80242CA0 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* E08004 80242CA4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* E08008 80242CA8 8C820000 */ lw $v0, ($a0) -/* E0800C 80242CAC 34A5FFFF */ ori $a1, $a1, 0xffff -/* E08010 80242CB0 0040182D */ daddu $v1, $v0, $zero -/* E08014 80242CB4 24420008 */ addiu $v0, $v0, 8 -/* E08018 80242CB8 AC820000 */ sw $v0, ($a0) -/* E0801C 80242CBC AC660000 */ sw $a2, ($v1) -/* E08020 80242CC0 AC650004 */ sw $a1, 4($v1) -/* E08024 80242CC4 24430008 */ addiu $v1, $v0, 8 -/* E08028 80242CC8 AC830000 */ sw $v1, ($a0) -/* E0802C 80242CCC 3C048024 */ lui $a0, %hi(D_80245D37) -/* E08030 80242CD0 90845D37 */ lbu $a0, %lo(D_80245D37)($a0) -/* E08034 80242CD4 3C03FA00 */ lui $v1, 0xfa00 -/* E08038 80242CD8 AC430000 */ sw $v1, ($v0) -/* E0803C 80242CDC 03E00008 */ jr $ra -/* E08040 80242CE0 AC440004 */ sw $a0, 4($v0) -/* E08044 80242CE4 00000000 */ nop -/* E08048 80242CE8 00000000 */ nop -/* E0804C 80242CEC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240BB8_A11438.s b/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240BB8_A11438.s deleted file mode 100644 index d33ba42179..0000000000 --- a/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240BB8_A11438.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240BB8_A11438 -/* A11438 80240BB8 3C06FC12 */ lui $a2, 0xfc12 -/* A1143C 80240BBC 34C61624 */ ori $a2, $a2, 0x1624 -/* A11440 80240BC0 3C05FF2F */ lui $a1, 0xff2f -/* A11444 80240BC4 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* A11448 80240BC8 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* A1144C 80240BCC 8C820000 */ lw $v0, ($a0) -/* A11450 80240BD0 34A5FFFF */ ori $a1, $a1, 0xffff -/* A11454 80240BD4 0040182D */ daddu $v1, $v0, $zero -/* A11458 80240BD8 24420008 */ addiu $v0, $v0, 8 -/* A1145C 80240BDC AC820000 */ sw $v0, ($a0) -/* A11460 80240BE0 AC660000 */ sw $a2, ($v1) -/* A11464 80240BE4 AC650004 */ sw $a1, 4($v1) -/* A11468 80240BE8 24430008 */ addiu $v1, $v0, 8 -/* A1146C 80240BEC AC830000 */ sw $v1, ($a0) -/* A11470 80240BF0 3C048024 */ lui $a0, %hi(D_80241C2F) -/* A11474 80240BF4 90841C2F */ lbu $a0, %lo(D_80241C2F)($a0) -/* A11478 80240BF8 3C03FA00 */ lui $v1, 0xfa00 -/* A1147C 80240BFC AC430000 */ sw $v1, ($v0) -/* A11480 80240C00 03E00008 */ jr $ra -/* A11484 80240C04 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240C34_A114B4.s b/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240C34_A114B4.s deleted file mode 100644 index 20665fb83a..0000000000 --- a/asm/nonmatchings/world/area_hos/hos_01/A11020/func_80240C34_A114B4.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240C34_A114B4 -/* A114B4 80240C34 3C06FC12 */ lui $a2, 0xfc12 -/* A114B8 80240C38 34C61624 */ ori $a2, $a2, 0x1624 -/* A114BC 80240C3C 3C05FF2F */ lui $a1, 0xff2f -/* A114C0 80240C40 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* A114C4 80240C44 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* A114C8 80240C48 8C820000 */ lw $v0, ($a0) -/* A114CC 80240C4C 34A5FFFF */ ori $a1, $a1, 0xffff -/* A114D0 80240C50 0040182D */ daddu $v1, $v0, $zero -/* A114D4 80240C54 24420008 */ addiu $v0, $v0, 8 -/* A114D8 80240C58 AC820000 */ sw $v0, ($a0) -/* A114DC 80240C5C AC660000 */ sw $a2, ($v1) -/* A114E0 80240C60 AC650004 */ sw $a1, 4($v1) -/* A114E4 80240C64 24430008 */ addiu $v1, $v0, 8 -/* A114E8 80240C68 AC830000 */ sw $v1, ($a0) -/* A114EC 80240C6C 3C048024 */ lui $a0, %hi(D_80241C33) -/* A114F0 80240C70 90841C33 */ lbu $a0, %lo(D_80241C33)($a0) -/* A114F4 80240C74 3C03FA00 */ lui $v1, 0xfa00 -/* A114F8 80240C78 AC430000 */ sw $v1, ($v0) -/* A114FC 80240C7C 03E00008 */ jr $ra -/* A11500 80240C80 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_8024564C_A2F88C.s b/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_8024564C_A2F88C.s deleted file mode 100644 index b90b15db14..0000000000 --- a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_8024564C_A2F88C.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8024564C_A2F88C -/* A2F88C 8024564C 3C06FC12 */ lui $a2, 0xfc12 -/* A2F890 80245650 34C61624 */ ori $a2, $a2, 0x1624 -/* A2F894 80245654 3C05FF2F */ lui $a1, 0xff2f -/* A2F898 80245658 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* A2F89C 8024565C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* A2F8A0 80245660 8C820000 */ lw $v0, ($a0) -/* A2F8A4 80245664 34A5FFFF */ ori $a1, $a1, 0xffff -/* A2F8A8 80245668 0040182D */ daddu $v1, $v0, $zero -/* A2F8AC 8024566C 24420008 */ addiu $v0, $v0, 8 -/* A2F8B0 80245670 AC820000 */ sw $v0, ($a0) -/* A2F8B4 80245674 AC660000 */ sw $a2, ($v1) -/* A2F8B8 80245678 AC650004 */ sw $a1, 4($v1) -/* A2F8BC 8024567C 24430008 */ addiu $v1, $v0, 8 -/* A2F8C0 80245680 AC830000 */ sw $v1, ($a0) -/* A2F8C4 80245684 3C04802E */ lui $a0, %hi(D_802D9D73) -/* A2F8C8 80245688 90849D73 */ lbu $a0, %lo(D_802D9D73)($a0) -/* A2F8CC 8024568C 3C03FA00 */ lui $v1, 0xfa00 -/* A2F8D0 80245690 AC430000 */ sw $v1, ($v0) -/* A2F8D4 80245694 03E00008 */ jr $ra -/* A2F8D8 80245698 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_802456C8_A2F908.s b/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_802456C8_A2F908.s deleted file mode 100644 index 64ea30739d..0000000000 --- a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_802456C8_A2F908.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802456C8_A2F908 -/* A2F908 802456C8 3C06FC12 */ lui $a2, 0xfc12 -/* A2F90C 802456CC 34C61624 */ ori $a2, $a2, 0x1624 -/* A2F910 802456D0 3C05FF2F */ lui $a1, 0xff2f -/* A2F914 802456D4 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* A2F918 802456D8 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* A2F91C 802456DC 8C820000 */ lw $v0, ($a0) -/* A2F920 802456E0 34A5FFFF */ ori $a1, $a1, 0xffff -/* A2F924 802456E4 0040182D */ daddu $v1, $v0, $zero -/* A2F928 802456E8 24420008 */ addiu $v0, $v0, 8 -/* A2F92C 802456EC AC820000 */ sw $v0, ($a0) -/* A2F930 802456F0 AC660000 */ sw $a2, ($v1) -/* A2F934 802456F4 AC650004 */ sw $a1, 4($v1) -/* A2F938 802456F8 24430008 */ addiu $v1, $v0, 8 -/* A2F93C 802456FC AC830000 */ sw $v1, ($a0) -/* A2F940 80245700 3C048025 */ lui $a0, %hi(D_8024DCCF) -/* A2F944 80245704 9084DCCF */ lbu $a0, %lo(D_8024DCCF)($a0) -/* A2F948 80245708 3C03FA00 */ lui $v1, 0xfa00 -/* A2F94C 8024570C AC430000 */ sw $v1, ($v0) -/* A2F950 80245710 03E00008 */ jr $ra -/* A2F954 80245714 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_80245744_A2F984.s b/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_80245744_A2F984.s deleted file mode 100644 index c406ac1f3d..0000000000 --- a/asm/nonmatchings/world/area_hos/hos_05/A2EF00/func_80245744_A2F984.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80245744_A2F984 -/* A2F984 80245744 3C06FC12 */ lui $a2, 0xfc12 -/* A2F988 80245748 34C61624 */ ori $a2, $a2, 0x1624 -/* A2F98C 8024574C 3C05FF2F */ lui $a1, 0xff2f -/* A2F990 80245750 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* A2F994 80245754 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* A2F998 80245758 8C820000 */ lw $v0, ($a0) -/* A2F99C 8024575C 34A5FFFF */ ori $a1, $a1, 0xffff -/* A2F9A0 80245760 0040182D */ daddu $v1, $v0, $zero -/* A2F9A4 80245764 24420008 */ addiu $v0, $v0, 8 -/* A2F9A8 80245768 AC820000 */ sw $v0, ($a0) -/* A2F9AC 8024576C AC660000 */ sw $a2, ($v1) -/* A2F9B0 80245770 AC650004 */ sw $a1, 4($v1) -/* A2F9B4 80245774 24430008 */ addiu $v1, $v0, 8 -/* A2F9B8 80245778 AC830000 */ sw $v1, ($a0) -/* A2F9BC 8024577C 3C048025 */ lui $a0, %hi(D_8024DCD3) -/* A2F9C0 80245780 9084DCD3 */ lbu $a0, %lo(D_8024DCD3)($a0) -/* A2F9C4 80245784 3C03FA00 */ lui $v1, 0xfa00 -/* A2F9C8 80245788 AC430000 */ sw $v1, ($v0) -/* A2F9CC 8024578C 03E00008 */ jr $ra -/* A2F9D0 80245790 AC440004 */ sw $a0, 4($v0) diff --git a/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240488_90BB58.s b/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240488_90BB58.s deleted file mode 100644 index 00f19877f7..0000000000 --- a/asm/nonmatchings/world/area_kmr/kmr_30/90B9E0/func_80240488_90BB58.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240488_90BB58 -/* 90BB58 80240488 3C06FC12 */ lui $a2, 0xfc12 -/* 90BB5C 8024048C 34C61624 */ ori $a2, $a2, 0x1624 -/* 90BB60 80240490 3C05FF2F */ lui $a1, 0xff2f -/* 90BB64 80240494 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 90BB68 80240498 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 90BB6C 8024049C 8C820000 */ lw $v0, ($a0) -/* 90BB70 802404A0 34A5FFFF */ ori $a1, $a1, 0xffff -/* 90BB74 802404A4 0040182D */ daddu $v1, $v0, $zero -/* 90BB78 802404A8 24420008 */ addiu $v0, $v0, 8 -/* 90BB7C 802404AC AC820000 */ sw $v0, ($a0) -/* 90BB80 802404B0 AC660000 */ sw $a2, ($v1) -/* 90BB84 802404B4 AC650004 */ sw $a1, 4($v1) -/* 90BB88 802404B8 24430008 */ addiu $v1, $v0, 8 -/* 90BB8C 802404BC AC830000 */ sw $v1, ($a0) -/* 90BB90 802404C0 3C048024 */ lui $a0, %hi(D_80240C0F) -/* 90BB94 802404C4 90840C0F */ lbu $a0, %lo(D_80240C0F)($a0) -/* 90BB98 802404C8 3C03FA00 */ lui $v1, 0xfa00 -/* 90BB9C 802404CC AC430000 */ sw $v1, ($v0) -/* 90BBA0 802404D0 03E00008 */ jr $ra -/* 90BBA4 802404D4 AC440004 */ sw $a0, 4($v0) -/* 90BBA8 802404D8 00000000 */ nop -/* 90BBAC 802404DC 00000000 */ nop diff --git a/asm/nonmatchings/world/area_mac/mac_01/800C40/func_802405E8_800E68.s b/asm/nonmatchings/world/area_mac/mac_01/800C40/func_802405E8_800E68.s deleted file mode 100644 index 8009a1d9c8..0000000000 --- a/asm/nonmatchings/world/area_mac/mac_01/800C40/func_802405E8_800E68.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802405E8_800E68 -/* 800E68 802405E8 3C05D9FB */ lui $a1, 0xd9fb -/* 800E6C 802405EC 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 800E70 802405F0 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 800E74 802405F4 8C820000 */ lw $v0, ($a0) -/* 800E78 802405F8 34A5FFFF */ ori $a1, $a1, 0xffff -/* 800E7C 802405FC 0040182D */ daddu $v1, $v0, $zero -/* 800E80 80240600 24420008 */ addiu $v0, $v0, 8 -/* 800E84 80240604 AC820000 */ sw $v0, ($a0) -/* 800E88 80240608 AC650000 */ sw $a1, ($v1) -/* 800E8C 8024060C AC600004 */ sw $zero, 4($v1) -/* 800E90 80240610 24430008 */ addiu $v1, $v0, 8 -/* 800E94 80240614 AC830000 */ sw $v1, ($a0) -/* 800E98 80240618 3C03DF00 */ lui $v1, 0xdf00 -/* 800E9C 8024061C AC430000 */ sw $v1, ($v0) -/* 800EA0 80240620 03E00008 */ jr $ra -/* 800EA4 80240624 AC400004 */ sw $zero, 4($v0) diff --git a/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_802454B4_805D34.s b/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_802454B4_805D34.s deleted file mode 100644 index a486d8d86e..0000000000 --- a/asm/nonmatchings/world/area_mac/mac_01/8017D0/func_802454B4_805D34.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802454B4_805D34 -/* 805D34 802454B4 3C06FCFF */ lui $a2, 0xfcff -/* 805D38 802454B8 34C6C7FF */ ori $a2, $a2, 0xc7ff -/* 805D3C 802454BC 3C05FF8F */ lui $a1, 0xff8f -/* 805D40 802454C0 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 805D44 802454C4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 805D48 802454C8 8C820000 */ lw $v0, ($a0) -/* 805D4C 802454CC 34A57FBF */ ori $a1, $a1, 0x7fbf -/* 805D50 802454D0 0040182D */ daddu $v1, $v0, $zero -/* 805D54 802454D4 24420008 */ addiu $v0, $v0, 8 -/* 805D58 802454D8 AC820000 */ sw $v0, ($a0) -/* 805D5C 802454DC AC660000 */ sw $a2, ($v1) -/* 805D60 802454E0 AC650004 */ sw $a1, 4($v1) -/* 805D64 802454E4 24430008 */ addiu $v1, $v0, 8 -/* 805D68 802454E8 AC830000 */ sw $v1, ($a0) -/* 805D6C 802454EC 3C048026 */ lui $a0, %hi(D_80258407) -/* 805D70 802454F0 90848407 */ lbu $a0, %lo(D_80258407)($a0) -/* 805D74 802454F4 3C03FA00 */ lui $v1, 0xfa00 -/* 805D78 802454F8 AC430000 */ sw $v1, ($v0) -/* 805D7C 802454FC 03E00008 */ jr $ra -/* 805D80 80245500 AC440004 */ sw $a0, 4($v0) diff --git a/include/common_structs.h b/include/common_structs.h index 4d2b737849..33d20a69b5 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -11,6 +11,10 @@ struct ScriptInstance; typedef ApiStatus(*ApiFunc)(struct ScriptInstance*, s32); +typedef struct { + u8 r, g, b, a; +} Color_RGBA8; + typedef struct Vec2b { /* 0x00 */ s8 x; /* 0x01 */ s8 y; diff --git a/src/code_1b40_len_20b0.c b/src/code_1b40_len_20b0.c index 28bb9f7440..1ac84aa402 100644 --- a/src/code_1b40_len_20b0.c +++ b/src/code_1b40_len_20b0.c @@ -1,7 +1,7 @@ #include "common.h" -extern Gfx D_00074210[]; -extern Gfx D_00074230[]; +// extern Gfx D_00074210[]; +// extern Gfx D_00074230[]; extern int D_000759B0[]; extern int D_000759B0_end[]; // A55D0 @@ -125,6 +125,15 @@ INCLUDE_ASM(s32, "code_1b40_len_20b0", func_800271A0); gSPDisplayList(gMasterGfxPos[0]++, &D_00074210); }*/ +// extern Gfx D_00074210[]; +// extern Gfx D_00074230[]; + +// void func_800271A0(void) { +// gSPSegment(gMasterGfxPos++, 0x00, 0x00000000); +// gSPDisplayList(gMasterGfxPos++, D_00074230); +// gSPDisplayList(gMasterGfxPos++, D_00074210); +// } + INCLUDE_ASM(s32, "code_1b40_len_20b0", func_800271FC); INCLUDE_ASM(s32, "code_1b40_len_20b0", func_8002725C); diff --git a/src/code_B9D60.c b/src/code_B9D60.c index 533f74a71a..334bd7eb3a 100644 --- a/src/code_B9D60.c +++ b/src/code_B9D60.c @@ -1,5 +1,6 @@ #include "common.h" +extern Gfx D_8014C500[]; extern s32 D_801512F4; // message images? extern s16 D_80155C98; extern s32 D_80155D88; @@ -94,7 +95,11 @@ INCLUDE_ASM(s32, "code_B9D60", func_80127BA4); INCLUDE_ASM(s32, "code_B9D60", func_80127D90); -INCLUDE_ASM(s32, "code_B9D60", func_8012C2E0); + +void func_8012C2E0(void) { + gDPPipeSync(gMasterGfxPos++); + gSPDisplayList(gMasterGfxPos++, D_8014C500); +} INCLUDE_ASM(s32, "code_B9D60", func_8012C324); diff --git a/src/code_a5dd0_len_114e0.c b/src/code_a5dd0_len_114e0.c index c66038af3b..6b2c968e7c 100644 --- a/src/code_a5dd0_len_114e0.c +++ b/src/code_a5dd0_len_114e0.c @@ -14,7 +14,10 @@ INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FD98); INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FE44); -INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_8010FE68); +void func_8010FE68(s32 alpha) { + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 0, PRIMITIVE, 0, TEXEL0, 0, 0, 0, 0, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0x00, 0x00, 0x00, alpha); +} INCLUDE_ASM(s32, "code_a5dd0_len_114e0", render_entities); diff --git a/src/world/area_end/end_01/E07C20.c b/src/world/area_end/end_01/E07C20.c index 8b2f6350ad..ca153ec4e6 100644 --- a/src/world/area_end/end_01/E07C20.c +++ b/src/world/area_end/end_01/E07C20.c @@ -1,5 +1,7 @@ #include "end_01.h" +extern u8 D_80245D37; + INCLUDE_ASM(s32, "world/area_end/end_01/E07C20", func_802428C0_E07C20); INCLUDE_ASM(s32, "world/area_end/end_01/E07C20", func_80242900_E07C60); @@ -12,4 +14,7 @@ INCLUDE_ASM(s32, "world/area_end/end_01/E07C20", func_80242B68_E07EC8); INCLUDE_ASM(s32, "world/area_end/end_01/E07C20", func_80242C68_E07FC8); -INCLUDE_ASM(s32, "world/area_end/end_01/E07C20", func_80242C94_E07FF4); +void func_80242C94_E07FF4(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, SHADE, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, SHADE, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80245D37); +} diff --git a/src/world/area_hos/hos_01/A11020.c b/src/world/area_hos/hos_01/A11020.c index 9aeac7664e..ecfa4cd692 100644 --- a/src/world/area_hos/hos_01/A11020.c +++ b/src/world/area_hos/hos_01/A11020.c @@ -1,5 +1,8 @@ #include "hos_01.h" +extern u8 D_80241C2F; +extern u8 D_80241C33; + #include "world/common/UnkTexturePanFunc.inc.c" #include "world/common/UnkTexturePanFunc2.inc.c" @@ -10,11 +13,17 @@ INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240B10_A11390); INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240B64_A113E4); -INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240BB8_A11438); +void func_80240BB8_A11438(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80241C2F); +} INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240C08_A11488); -INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240C34_A114B4); +void func_80240C34_A114B4(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80241C33); +} INCLUDE_ASM(s32, "world/area_hos/hos_01/A11020", func_80240C84_A11504); diff --git a/src/world/area_hos/hos_05/A2EF00.c b/src/world/area_hos/hos_05/A2EF00.c index 5242344de0..f7a96110e9 100644 --- a/src/world/area_hos/hos_05/A2EF00.c +++ b/src/world/area_hos/hos_05/A2EF00.c @@ -1,5 +1,9 @@ #include "hos_05.h" +extern u8 D_8024DCCF; +extern u8 D_8024DCD3; +extern u8 D_802D9D73; + INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", pause_tabs_draw_badges_A2EF00); INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80244DE4_A2F024); @@ -12,15 +16,24 @@ INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80244DE4_A2F024); INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_802452C4_A2F504); -INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_8024564C_A2F88C); +void func_8024564C_A2F88C(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_802D9D73); +} INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_8024569C_A2F8DC); -INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_802456C8_A2F908); +void func_802456C8_A2F908(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCCF); +} INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80245718_A2F958); -INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80245744_A2F984); +void func_80245744_A2F984(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_8024DCD3); +} INCLUDE_ASM(s32, "world/area_hos/hos_05/A2EF00", func_80245794_A2F9D4); diff --git a/src/world/area_kmr/kmr_30/90B9E0.c b/src/world/area_kmr/kmr_30/90B9E0.c index cecbae1504..b226924159 100644 --- a/src/world/area_kmr/kmr_30/90B9E0.c +++ b/src/world/area_kmr/kmr_30/90B9E0.c @@ -1,7 +1,12 @@ #include "kmr_30.h" +extern u8 D_80240C0F; + INCLUDE_ASM(s32, "world/area_kmr/kmr_30/90B9E0", func_80240310_90B9E0); INCLUDE_ASM(s32, "world/area_kmr/kmr_30/90B9E0", func_8024045C_90BB2C); -INCLUDE_ASM(s32, "world/area_kmr/kmr_30/90B9E0", func_80240488_90BB58); +void func_80240488_90BB58(void) { + gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80240C0F); +} diff --git a/src/world/area_mac/mac_01/800C40.c b/src/world/area_mac/mac_01/800C40.c index ed729be567..ceadf81c3c 100644 --- a/src/world/area_mac/mac_01/800C40.c +++ b/src/world/area_mac/mac_01/800C40.c @@ -2,6 +2,9 @@ INCLUDE_ASM(s32, "world/area_mac/mac_01/800C40", func_802403C0_800C40); -INCLUDE_ASM(s32, "world/area_mac/mac_01/800C40", func_802405E8_800E68); +void func_802405E8_800E68(void) { + gSPClearGeometryMode(gMasterGfxPos++, G_TEXTURE_GEN); + gSPEndDisplayList(gMasterGfxPos++); +} INCLUDE_ASM(s32, "world/area_mac/mac_01/800C40", func_80240628_800EA8); diff --git a/src/world/area_mac/mac_01/8017D0.c b/src/world/area_mac/mac_01/8017D0.c index 5a11227701..cfdde1b798 100644 --- a/src/world/area_mac/mac_01/8017D0.c +++ b/src/world/area_mac/mac_01/8017D0.c @@ -1,5 +1,7 @@ #include "mac_01.h" +extern u8 D_80258407; + #include "world/common/UnkMusicFunc.inc.c" INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80241080_801900); @@ -193,7 +195,10 @@ ApiStatus func_80245440_805CC0(ScriptInstance* script, s32 isInitialCall) { INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_80245488_805D08); -INCLUDE_ASM(s32, "world/area_mac/mac_01/8017D0", func_802454B4_805D34); +void func_802454B4_805D34(void) { + gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, 1, SHADE, 0, PRIMITIVE, 0, 0, 0, 0, 1, SHADE, 0, PRIMITIVE, 0); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80258407); +} ApiStatus func_80245504_805D84(ScriptInstance* script, s32 isInitialCall) { func_800EF394(20.0f); diff --git a/tools/smallest_with_symbol.py b/tools/smallest_with_symbol.py new file mode 100755 index 0000000000..471beece04 --- /dev/null +++ b/tools/smallest_with_symbol.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 + +import argparse +import os +import re + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = script_dir + "/../" +src_dir = root_dir + "src/" +asm_dir = root_dir + "asm/" + +symbol = "gMasterGfxPos" + +smallest_file = None +smallest_len = 1000 + +for root, dirs, files in os.walk(asm_dir): + for f_name in files: + if f_name.endswith(".s"): + f_path = os.path.join(root, f_name) + with open(f_path) as f: + f_text = f.read() + + if symbol in f_text: + num_lines = len(f_text.split("\n")) + if num_lines <= smallest_len: + print(f"{f_name}: {int(num_lines)}") + smallest_len = num_lines + smallest_file = f_name + +print("\n" + smallest_file) diff --git a/undefined_syms.txt b/undefined_syms.txt index 4d08f08960..511450ae76 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -68,3 +68,6 @@ D_80254C50 = 0x80254C50; D_80254C50 = 0x80254C50; D_80258E14 = 0x80258E14; D_80258E14 = 0x80258E14; + +D_00074210 = 0x00074210; +D_00074230 = 0x00074230;