This commit is contained in:
Donkey Kong 2023-05-15 04:59:25 +09:30
parent 9e7235fa82
commit 25f48c1fb3
15 changed files with 261 additions and 71 deletions

View File

@ -464,7 +464,7 @@ build/us/src/global_asm/code_137630.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_137C10.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_13A7A0.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_13C920.c.o: OPT_FLAGS = -g
# build/us/src/global_asm/code_13CB50.c.0: OPT_FLAGS = -g
build/us/src/global_asm/code_13CB50.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_13CE70.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_13D0B0.c.o: OPT_FLAGS = -g
build/us/src/global_asm/code_13D020.c.o: OPT_FLAGS = -g

View File

@ -69,7 +69,7 @@ us,.code,arcade_barrel_stack_update,60,yes
us,.code,func_80026518,360,yes
us,.code,func_80026050,572,yes
us,.code,func_80024A50,180,no
us,.code,func_800274E0,264,no
us,.code,func_800274E0,264,yes
us,.code,func_8002E158,636,no
us,.code,arcade_pulley_update,196,yes
us,.code,func_8002549C,268,yes

1 version section function length matching
69 us .code func_80026518 360 yes
70 us .code func_80026050 572 yes
71 us .code func_80024A50 180 no
72 us .code func_800274E0 264 no yes
73 us .code func_8002E158 636 no
74 us .code arcade_pulley_update 196 yes
75 us .code func_8002549C 268 yes

View File

@ -1,5 +1,5 @@
version,section,function,length,matching
us,boot,func_80005A70,16,no
us,boot,func_80005A70,12,yes
us,boot,func_800058BC,92,no
us,boot,osDestroyThread,260,yes
us,boot,guSprite2DInit,80,no

1 version section function length matching
2 us boot func_80005A70 16 12 no yes
3 us boot func_800058BC 92 no
4 us boot osDestroyThread 260 yes
5 us boot guSprite2DInit 80 no

View File

@ -234,7 +234,7 @@ us,.code,func_806EFD50,172,yes
us,.code,func_80678814,8,yes
us,.code,func_8060F54C,484,no
us,.code,func_806F007C,64,yes
us,.code,func_80725DC0,276,no
us,.code,func_80725DC0,276,yes
us,.code,func_806FB714,412,no
us,.code,func_80654418,444,no
us,.code,func_8072B324,12,yes
@ -298,7 +298,7 @@ us,.code,func_8064B9E0,276,no
us,.code,func_806F0D68,736,no
us,.code,func_8060C430,536,no
us,.code,func_806C6B50,80,yes
us,.code,func_80726DEC,116,no
us,.code,func_80726DEC,116,yes
us,.code,func_8072E22C,132,yes
us,.code,func_807324D0,100,yes
us,.code,func_8070D82C,148,no
@ -962,7 +962,7 @@ us,.code,func_80676A70,72,yes
us,.code,func_806B3E7C,192,yes
us,.code,func_80713270,108,yes
us,.code,func_8071C818,252,no
us,.code,func_80737E50,64,no
us,.code,func_80737E50,64,yes
us,.code,func_80658930,472,no
us,.code,func_8060FAE4,1292,no
us,.code,func_8060D7A8,1172,yes
@ -1066,7 +1066,6 @@ us,.code,func_8062D1A8,56,yes
us,.code,func_806B7EA0,1348,no
us,.code,func_8068D264,1636,no
us,.code,func_806C151C,204,yes
us,.code,func_80737F38,8,yes
us,.code,func_80676208,24,yes
us,.code,func_80739098,500,no
us,.code,func_80601484,152,yes
@ -1160,7 +1159,6 @@ us,.code,func_8068A508,604,no
us,.code,func_805FF670,400,no
us,.code,func_80732894,152,yes
us,.code,func_8060B140,752,no
us,.code,func_80737E9C,8,yes
us,.code,func_80601780,52,yes
us,.code,func_806614D0,80,yes
us,.code,func_806896F0,32,yes
@ -1225,7 +1223,7 @@ us,.code,func_806CDD24,1104,no
us,.code,func_80649F64,92,yes
us,.code,func_8061130C,64,yes
us,.code,func_806883F4,56,yes
us,.code,func_807248B0,228,no
us,.code,func_807248B0,228,yes
us,.code,func_80630588,328,yes
us,.code,func_80717B64,388,no
us,.code,func_80634CC8,76,yes
@ -1532,7 +1530,7 @@ us,.code,func_806A7B70,36,yes
us,.code,func_806B54BC,1488,yes
us,.code,func_80659574,60,no
us,.code,func_806534E0,420,no
us,.code,func_80724994,140,no
us,.code,func_80724994,140,yes
us,.code,func_8064AB1C,268,no
us,.code,func_8068B81C,20,yes
us,.code,func_8066E5CC,44,yes
@ -2109,7 +2107,7 @@ us,.code,func_806CEB44,192,yes
us,.code,func_80703CF8,984,no
us,.code,func_807149C8,52,yes
us,.code,func_8064B514,96,no
us,.code,func_80726E60,128,no
us,.code,func_80726E60,128,yes
us,.code,func_80737CF4,312,yes
us,.code,func_806E709C,404,yes
us,.code,setFlag,288,yes
@ -2673,7 +2671,7 @@ us,.code,func_805FF378,352,yes
us,.code,func_8064B4AC,104,no
us,.code,func_806C43A8,108,yes
us,.code,func_806BB32C,212,yes
us,.code,func_80737EA4,104,no
us,.code,func_80737EA4,104,yes
us,.code,func_806A6230,132,yes
us,.code,func_8066F274,396,yes
us,.code,func_80642E34,400,no
@ -2935,7 +2933,7 @@ us,.code,func_80600B10,172,no
us,.code,func_80634E10,148,yes
us,.code,func_806C7228,8,yes
us,.code,func_80645D14,556,no
us,.code,func_80737F40,152,no
us,.code,func_80737F40,152,yes
us,.code,func_80605510,744,no
us,.code,func_806FD9FC,144,no
us,.code,func_8071B44C,212,no
@ -2953,7 +2951,7 @@ us,.code,func_8070F2FC,628,no
us,.code,func_80600BBC,172,no
us,.code,func_806D8070,56,yes
us,.code,func_80671D64,156,no
us,.code,func_80737E90,12,no
us,.code,func_80737E90,20,yes
us,.code,func_806EA600,40,yes
us,.code,func_8063643C,12,yes
us,.code,func_80600674,732,no
@ -3060,7 +3058,7 @@ us,.code,func_805FF168,32,yes
us,.code,func_8069D018,64,yes
us,.code,func_8063D468,44,yes
us,.code,func_8067ABC0,120,yes
us,.code,func_80737F0C,44,no
us,.code,func_80737F0C,52,yes
us,.code,setIntroStoryPlaying,16,yes
us,.code,func_8069CD9C,440,no
us,.code,func_806E2C74,80,no

1 version section function length matching
234 us .code func_80678814 8 yes
235 us .code func_8060F54C 484 no
236 us .code func_806F007C 64 yes
237 us .code func_80725DC0 276 no yes
238 us .code func_806FB714 412 no
239 us .code func_80654418 444 no
240 us .code func_8072B324 12 yes
298 us .code func_806F0D68 736 no
299 us .code func_8060C430 536 no
300 us .code func_806C6B50 80 yes
301 us .code func_80726DEC 116 no yes
302 us .code func_8072E22C 132 yes
303 us .code func_807324D0 100 yes
304 us .code func_8070D82C 148 no
962 us .code func_806B3E7C 192 yes
963 us .code func_80713270 108 yes
964 us .code func_8071C818 252 no
965 us .code func_80737E50 64 no yes
966 us .code func_80658930 472 no
967 us .code func_8060FAE4 1292 no
968 us .code func_8060D7A8 1172 yes
1066 us .code func_806B7EA0 1348 no
1067 us .code func_8068D264 1636 no
1068 us .code func_806C151C 204 yes
us .code func_80737F38 8 yes
1069 us .code func_80676208 24 yes
1070 us .code func_80739098 500 no
1071 us .code func_80601484 152 yes
1159 us .code func_805FF670 400 no
1160 us .code func_80732894 152 yes
1161 us .code func_8060B140 752 no
us .code func_80737E9C 8 yes
1162 us .code func_80601780 52 yes
1163 us .code func_806614D0 80 yes
1164 us .code func_806896F0 32 yes
1223 us .code func_80649F64 92 yes
1224 us .code func_8061130C 64 yes
1225 us .code func_806883F4 56 yes
1226 us .code func_807248B0 228 no yes
1227 us .code func_80630588 328 yes
1228 us .code func_80717B64 388 no
1229 us .code func_80634CC8 76 yes
1530 us .code func_806B54BC 1488 yes
1531 us .code func_80659574 60 no
1532 us .code func_806534E0 420 no
1533 us .code func_80724994 140 no yes
1534 us .code func_8064AB1C 268 no
1535 us .code func_8068B81C 20 yes
1536 us .code func_8066E5CC 44 yes
2107 us .code func_80703CF8 984 no
2108 us .code func_807149C8 52 yes
2109 us .code func_8064B514 96 no
2110 us .code func_80726E60 128 no yes
2111 us .code func_80737CF4 312 yes
2112 us .code func_806E709C 404 yes
2113 us .code setFlag 288 yes
2671 us .code func_8064B4AC 104 no
2672 us .code func_806C43A8 108 yes
2673 us .code func_806BB32C 212 yes
2674 us .code func_80737EA4 104 no yes
2675 us .code func_806A6230 132 yes
2676 us .code func_8066F274 396 yes
2677 us .code func_80642E34 400 no
2933 us .code func_80634E10 148 yes
2934 us .code func_806C7228 8 yes
2935 us .code func_80645D14 556 no
2936 us .code func_80737F40 152 no yes
2937 us .code func_80605510 744 no
2938 us .code func_806FD9FC 144 no
2939 us .code func_8071B44C 212 no
2951 us .code func_80600BBC 172 no
2952 us .code func_806D8070 56 yes
2953 us .code func_80671D64 156 no
2954 us .code func_80737E90 12 20 no yes
2955 us .code func_806EA600 40 yes
2956 us .code func_8063643C 12 yes
2957 us .code func_80600674 732 no
3058 us .code func_8069D018 64 yes
3059 us .code func_8063D468 44 yes
3060 us .code func_8067ABC0 120 yes
3061 us .code func_80737F0C 44 52 no yes
3062 us .code setIntroStoryPlaying 16 yes
3063 us .code func_8069CD9C 440 no
3064 us .code func_806E2C74 80 no

View File

@ -234,7 +234,7 @@ us,.code,func_806EFD50,172,yes
us,.code,func_80678814,8,yes
us,.code,func_8060F54C,484,no
us,.code,func_806F007C,64,yes
us,.code,func_80725DC0,276,no
us,.code,func_80725DC0,276,yes
us,.code,func_806FB714,412,no
us,.code,func_80654418,444,no
us,.code,func_8072B324,12,yes
@ -298,7 +298,7 @@ us,.code,func_8064B9E0,276,no
us,.code,func_806F0D68,736,no
us,.code,func_8060C430,536,no
us,.code,func_806C6B50,80,yes
us,.code,func_80726DEC,116,no
us,.code,func_80726DEC,116,yes
us,.code,func_8072E22C,132,yes
us,.code,func_807324D0,100,yes
us,.code,func_8070D82C,148,no
@ -962,7 +962,7 @@ us,.code,func_80676A70,72,yes
us,.code,func_806B3E7C,192,yes
us,.code,func_80713270,108,yes
us,.code,func_8071C818,252,no
us,.code,func_80737E50,64,no
us,.code,func_80737E50,64,yes
us,.code,func_80658930,472,no
us,.code,func_8060FAE4,1292,no
us,.code,func_8060D7A8,1172,yes
@ -1066,7 +1066,6 @@ us,.code,func_8062D1A8,56,yes
us,.code,func_806B7EA0,1348,no
us,.code,func_8068D264,1636,no
us,.code,func_806C151C,204,yes
us,.code,func_80737F38,8,yes
us,.code,func_80676208,24,yes
us,.code,func_80739098,500,no
us,.code,func_80601484,152,yes
@ -1160,7 +1159,6 @@ us,.code,func_8068A508,604,no
us,.code,func_805FF670,400,no
us,.code,func_80732894,152,yes
us,.code,func_8060B140,752,no
us,.code,func_80737E9C,8,yes
us,.code,func_80601780,52,yes
us,.code,func_806614D0,80,yes
us,.code,func_806896F0,32,yes
@ -1225,7 +1223,7 @@ us,.code,func_806CDD24,1104,no
us,.code,func_80649F64,92,yes
us,.code,func_8061130C,64,yes
us,.code,func_806883F4,56,yes
us,.code,func_807248B0,228,no
us,.code,func_807248B0,228,yes
us,.code,func_80630588,328,yes
us,.code,func_80717B64,388,no
us,.code,func_80634CC8,76,yes
@ -1532,7 +1530,7 @@ us,.code,func_806A7B70,36,yes
us,.code,func_806B54BC,1488,yes
us,.code,func_80659574,60,no
us,.code,func_806534E0,420,no
us,.code,func_80724994,140,no
us,.code,func_80724994,140,yes
us,.code,func_8064AB1C,268,no
us,.code,func_8068B81C,20,yes
us,.code,func_8066E5CC,44,yes
@ -2109,7 +2107,7 @@ us,.code,func_806CEB44,192,yes
us,.code,func_80703CF8,984,no
us,.code,func_807149C8,52,yes
us,.code,func_8064B514,96,no
us,.code,func_80726E60,128,no
us,.code,func_80726E60,128,yes
us,.code,func_80737CF4,312,yes
us,.code,func_806E709C,404,yes
us,.code,setFlag,288,yes
@ -2673,7 +2671,7 @@ us,.code,func_805FF378,352,yes
us,.code,func_8064B4AC,104,no
us,.code,func_806C43A8,108,yes
us,.code,func_806BB32C,212,yes
us,.code,func_80737EA4,104,no
us,.code,func_80737EA4,104,yes
us,.code,func_806A6230,132,yes
us,.code,func_8066F274,396,yes
us,.code,func_80642E34,400,no
@ -2935,7 +2933,7 @@ us,.code,func_80600B10,172,no
us,.code,func_80634E10,148,yes
us,.code,func_806C7228,8,yes
us,.code,func_80645D14,556,no
us,.code,func_80737F40,152,no
us,.code,func_80737F40,152,yes
us,.code,func_80605510,744,no
us,.code,func_806FD9FC,144,no
us,.code,func_8071B44C,212,no
@ -2953,7 +2951,7 @@ us,.code,func_8070F2FC,628,no
us,.code,func_80600BBC,172,no
us,.code,func_806D8070,56,yes
us,.code,func_80671D64,156,no
us,.code,func_80737E90,12,no
us,.code,func_80737E90,20,yes
us,.code,func_806EA600,40,yes
us,.code,func_8063643C,12,yes
us,.code,func_80600674,732,no
@ -3060,7 +3058,7 @@ us,.code,func_805FF168,32,yes
us,.code,func_8069D018,64,yes
us,.code,func_8063D468,44,yes
us,.code,func_8067ABC0,120,yes
us,.code,func_80737F0C,44,no
us,.code,func_80737F0C,52,yes
us,.code,setIntroStoryPlaying,16,yes
us,.code,func_8069CD9C,440,no
us,.code,func_806E2C74,80,no
@ -3754,7 +3752,7 @@ us,.code,arcade_barrel_stack_update,60,yes
us,.code,func_80026518,360,yes
us,.code,func_80026050,572,yes
us,.code,func_80024A50,180,no
us,.code,func_800274E0,264,no
us,.code,func_800274E0,264,yes
us,.code,func_8002E158,636,no
us,.code,arcade_pulley_update,196,yes
us,.code,func_8002549C,268,yes
@ -3973,7 +3971,7 @@ us,.code,func_80033784,424,no
us,.code,func_80028680,56,yes
us,.code,func_80027770,200,yes
version,section,function,length,matching
us,boot,func_80005A70,16,no
us,boot,func_80005A70,12,yes
us,boot,func_800058BC,92,no
us,boot,osDestroyThread,260,yes
us,boot,guSprite2DInit,80,no

1 version section function length matching
234 us .code func_80678814 8 yes
235 us .code func_8060F54C 484 no
236 us .code func_806F007C 64 yes
237 us .code func_80725DC0 276 no yes
238 us .code func_806FB714 412 no
239 us .code func_80654418 444 no
240 us .code func_8072B324 12 yes
298 us .code func_806F0D68 736 no
299 us .code func_8060C430 536 no
300 us .code func_806C6B50 80 yes
301 us .code func_80726DEC 116 no yes
302 us .code func_8072E22C 132 yes
303 us .code func_807324D0 100 yes
304 us .code func_8070D82C 148 no
962 us .code func_806B3E7C 192 yes
963 us .code func_80713270 108 yes
964 us .code func_8071C818 252 no
965 us .code func_80737E50 64 no yes
966 us .code func_80658930 472 no
967 us .code func_8060FAE4 1292 no
968 us .code func_8060D7A8 1172 yes
1066 us .code func_806B7EA0 1348 no
1067 us .code func_8068D264 1636 no
1068 us .code func_806C151C 204 yes
us .code func_80737F38 8 yes
1069 us .code func_80676208 24 yes
1070 us .code func_80739098 500 no
1071 us .code func_80601484 152 yes
1159 us .code func_805FF670 400 no
1160 us .code func_80732894 152 yes
1161 us .code func_8060B140 752 no
us .code func_80737E9C 8 yes
1162 us .code func_80601780 52 yes
1163 us .code func_806614D0 80 yes
1164 us .code func_806896F0 32 yes
1223 us .code func_80649F64 92 yes
1224 us .code func_8061130C 64 yes
1225 us .code func_806883F4 56 yes
1226 us .code func_807248B0 228 no yes
1227 us .code func_80630588 328 yes
1228 us .code func_80717B64 388 no
1229 us .code func_80634CC8 76 yes
1530 us .code func_806B54BC 1488 yes
1531 us .code func_80659574 60 no
1532 us .code func_806534E0 420 no
1533 us .code func_80724994 140 no yes
1534 us .code func_8064AB1C 268 no
1535 us .code func_8068B81C 20 yes
1536 us .code func_8066E5CC 44 yes
2107 us .code func_80703CF8 984 no
2108 us .code func_807149C8 52 yes
2109 us .code func_8064B514 96 no
2110 us .code func_80726E60 128 no yes
2111 us .code func_80737CF4 312 yes
2112 us .code func_806E709C 404 yes
2113 us .code setFlag 288 yes
2671 us .code func_8064B4AC 104 no
2672 us .code func_806C43A8 108 yes
2673 us .code func_806BB32C 212 yes
2674 us .code func_80737EA4 104 no yes
2675 us .code func_806A6230 132 yes
2676 us .code func_8066F274 396 yes
2677 us .code func_80642E34 400 no
2933 us .code func_80634E10 148 yes
2934 us .code func_806C7228 8 yes
2935 us .code func_80645D14 556 no
2936 us .code func_80737F40 152 no yes
2937 us .code func_80605510 744 no
2938 us .code func_806FD9FC 144 no
2939 us .code func_8071B44C 212 no
2951 us .code func_80600BBC 172 no
2952 us .code func_806D8070 56 yes
2953 us .code func_80671D64 156 no
2954 us .code func_80737E90 12 20 no yes
2955 us .code func_806EA600 40 yes
2956 us .code func_8063643C 12 yes
2957 us .code func_80600674 732 no
3058 us .code func_8069D018 64 yes
3059 us .code func_8063D468 44 yes
3060 us .code func_8067ABC0 120 yes
3061 us .code func_80737F0C 44 52 no yes
3062 us .code setIntroStoryPlaying 16 yes
3063 us .code func_8069CD9C 440 no
3064 us .code func_806E2C74 80 no
3752 us .code func_80026518 360 yes
3753 us .code func_80026050 572 yes
3754 us .code func_80024A50 180 no
3755 us .code func_800274E0 264 no yes
3756 us .code func_8002E158 636 no
3757 us .code arcade_pulley_update 196 yes
3758 us .code func_8002549C 268 yes
3971 us .code func_80028680 56 yes
3972 us .code func_80027770 200 yes
3973 version section function length matching
3974 us boot func_80005A70 16 12 no yes
3975 us boot func_800058BC 92 no
3976 us boot osDestroyThread 260 yes
3977 us boot guSprite2DInit 80 no

View File

@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h51v20H0z"/>
<path fill="#b4c000" d="M51 0h67v20H51z"/>
<path fill="#b2c000" d="M51 0h67v20H51z"/>
<path fill="url(#b)" d="M0 0h118v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@ -17,7 +17,7 @@
<text x="25.5" y="14">arcade</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="85.5" y="15" fill="#010101" fill-opacity=".3">53.0956%</text>
<text x="84.5" y="14">53.0956%</text>
<text x="85.5" y="15" fill="#010101" fill-opacity=".3">53.5517%</text>
<text x="84.5" y="14">53.5517%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="35.5" y="14">dk64_boot</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="105.5" y="15" fill="#010101" fill-opacity=".3">32.4921%</text>
<text x="104.5" y="14">32.4921%</text>
<text x="105.5" y="15" fill="#010101" fill-opacity=".3">32.5209%</text>
<text x="104.5" y="14">32.5209%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="38.5" y="14">global_asm</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">20.7584%</text>
<text x="110.5" y="14">20.7584%</text>
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">20.8611%</text>
<text x="110.5" y="14">20.8611%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="66.0" y="14">Donkey Kong 64 (US)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">20.7095%</text>
<text x="165.5" y="14">20.7095%</text>
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">20.8032%</text>
<text x="165.5" y="14">20.8032%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -948,7 +948,16 @@ void func_800268AC(Gfx **gpp) {
#pragma GLOBAL_ASM("asm/nonmatchings/arcade/code_0/func_80026EF4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/arcade/code_0/func_800274E0.s")
void func_800274E0(s32 *arg0, u8 arg1, u8 arg2, s16 arg3) {
u8 i;
s32 sp40;
sp40 = *arg0;
for (i = arg1; i < arg2; i++) {
func_8070F2FC(&sp40, (i << 5) + 0xC0, ((arg3 * 0.875) + 8.0) * 4.0);
}
*arg0 = sp40;
}
#pragma GLOBAL_ASM("asm/nonmatchings/arcade/code_0/func_800275E8.s")
@ -3130,7 +3139,6 @@ void func_80030734(u8 arg0) {
}
}
if (temp_s0->unk1C++ == 0x42) {
temp_s0->unk18 = ARCADE_OBJ_14_POINTS_TEXT;
temp_v0 = func_80024644() & 3;

View File

@ -22,4 +22,8 @@
#pragma GLOBAL_ASM("asm/nonmatchings/dk64_boot/dk64_boot_63B0/func_80005A44.s")
#pragma GLOBAL_ASM("asm/nonmatchings/dk64_boot/dk64_boot_63B0/func_80005A70.s")
s32 D_800100F4;
s32 func_80005A70(void) {
return D_800100F4;
}

View File

@ -1,11 +1,31 @@
#include <ultra64.h>
#include "functions.h"
void func_807248B0(Actor *arg0, f32 arg1) {
LedgeInfo *temp_v0;
arg0->animation_state->scale_x = arg1;
arg0->animation_state->scale_y = arg1;
arg0->animation_state->scale_z = arg1;
temp_v0 = arg0->ledge_info_pointer;
if (temp_v0 != NULL) {
arg0->unk15E = (temp_v0->unkC * arg1) * 0.5;
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_807248B0.s")
void func_80724994(u8 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4) {
s16 *sp24;
Actor *sp20;
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80724994.s")
sp24 = malloc(8);
func_8061134C(sp24);
sp24[0] = arg1;
sp24[1] = arg2;
sp24[2] = arg3;
sp24[3] = arg4;
func_8072E7DC(0xB, &sp20);
func_8067AB20(NULL, sp20, 0x01000000, arg0, sp24, 0);
}
s32 func_80724A20(void) {
s16 i;
@ -98,12 +118,22 @@ u8 func_80725B38(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5) {
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80725BA4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80725DC0.s")
void func_8061F2B8(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32 *, f32 *, f32 *);
u8 func_80725DC0(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6) {
f32 sp4C;
f32 sp48;
f32 sp44;
func_8061F2B8(arg4, 0.0f, arg5, arg0, 0.0f, arg1, arg2, 0.0f, arg3, &sp4C, &sp48, &sp44);
return ((sp4C - arg4) * (sp4C - arg4) + (sp44 - arg5) * (sp44 - arg5)) < (arg6 * arg6);
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80725ED4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80726164.s")
// arg0 Actor
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_807264B0.s")
typedef struct global_asm_struct_8 {
@ -125,7 +155,7 @@ void func_807266E8(Actor *arg0, GlobalASMStruct8 *arg1) {
// Jumptable, references the cutscene model mapping table at D_8075570C
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80726744.s")
u8 func_80726DEC(u8, s32);
u8 func_80726DEC(u8, u8);
u8 func_80726D7C(u8 arg0) {
return func_80726DEC(arg0, 5) || func_80726DEC(arg0, 6);
@ -135,9 +165,36 @@ u8 func_80726DC0(u8 arg0) {
return func_80726DEC(arg0, 7);
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80726DEC.s")
u8 func_80726DEC(u8 arg0, u8 arg1) {
s16 i;
EnemySpawner *var_v1;
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80726E60.s")
var_v1 = D_80755694->firstSpawner;
for (i = 0; i < D_80755694->count; i++) {
if (var_v1->spawn_trigger == arg0) {
return (var_v1->spawn_state == arg1);
}
var_v1++;
}
return 0;
}
void func_80726E60(u16 arg0, u8 arg1) {
Actor *temp_v1;
EnemySpawner *var_v0;
s16 i;
var_v0 = D_80755694->firstSpawner;
for (i = 0; i < D_80755694->count; i++) {
if (var_v0->spawn_state == 5) {
temp_v1 = var_v0->tied_actor;
if (temp_v1->interactable & arg0) {
temp_v1->control_state = arg1;
}
}
var_v0++;
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_1295B0/func_80726EE0.s")

View File

@ -50,7 +50,6 @@ u8 isFlagSet(s16 flagIndex, u8 flagType) { // TODO: Can we use the FlagTypes enu
return flagBlock[flagByte] >> (s16)(flagIndex - flagByte * 8) & 1;
}
// Doable
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_135D30/func_807311C4.s")
typedef struct {
@ -65,19 +64,17 @@ void func_807311C4(s16, s32);
/*
void func_807311C4(s16 arg0, s32 arg1) {
u32 i;
s32 i;
s32 chosenFlag;
chosenFlag = -1;
i = 0;
do {
for (i = 0; i < 0x21 && chosenFlag == -1; i++) {
if (arg0 >= D_80756024[i].unk0 && D_80756024[i].unk2 >= arg0) {
if (func_80731AA8(D_80756024[i].unk0, (D_80756024[i].unk2 - D_80756024[i].unk0) + 1, FLAG_TYPE_PERMANENT) == D_80756024[i].unk4) {
chosenFlag = D_80756024[i].unk6;
}
}
i++;
} while (i < 0x21 && chosenFlag == -1);
}
if (chosenFlag >= 0) {
setFlag(chosenFlag, TRUE, FLAG_TYPE_GLOBAL);

View File

@ -21,8 +21,66 @@
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_137C10/func_80735958.s")
typedef struct {
s32 unk0;
s32 unk4;
f32 unk8;
} Struct80735958_unk18;
typedef struct {
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
s32 unk14;
Struct80735958_unk18* unk18;
s32 unk1C;
s32 unk20;
s32 unk24;
} Struct80735958;
/*
// TODO: Float regalloc lol
void func_80735958(Struct80735958 *arg0, f32 arg1) {
if (arg0->unk18 != NULL) {
arg0->unk24 = arg1 * arg0->unk18->unk8;
} else {
arg0->unk24 = 0x1E8;
}
}
*/
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_137C10/func_807359A0.s")
typedef struct {
u8 unk0[0x18 - 0x0];
s32 unk18;
u8 unk1C[0x24 - 0x1C];
s32 unk24;
s32 unk28;
s32 unk2C;
u8 unk30[0x48 - 0x30];
s32 unk48;
} Struct807359A0;
/*
// TODO: Very close, branch nonsense
void func_807359A0(Struct807359A0 *arg0) {
s32 pad[3];
s16 pad2;
s16 sp20;
s32 sp1C;
if (arg0->unk2C == 1 && !arg0->unk18) {
if (!func_8073D060(arg0->unk18, &sp1C)) {
sp20 = 0;
alEvtqPostEvent(&arg0->unk48, &sp20, arg0->unk24 * sp1C);
}
}
}
*/
typedef struct {
u8 unk0[0x88 - 0x0];
u8 unk88;

View File

@ -1,36 +1,106 @@
#include <ultra64.h>
#include "functions.h"
typedef struct {
u8 unk0[0x48 - 0x0];
s32 unk48;
} Struct80737E50;
void func_80737E50(Struct80737E50 *arg0) {
s32 pad[3];
s16 pad2;
s16 sp18; // TODO: ALEvent struct
// Audio stuff, weird stack things going on
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737E50.s")
// struct s32 into 0x84
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737E90.s")
void func_80737E9C(void) {
sp18 = 0xF;
alEvtqPostEvent(&arg0->unk48, &sp18, 0);
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737EA4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737F0C.s")
void func_80737F38(void) {
typedef struct {
u8 unk0[0x84 - 0x0];
s32 unk84;
} Struct80737E90;
void func_80737E90(Struct80737E90 *arg0, s32 arg1) {
arg0->unk84 = arg1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737F40.s")
typedef struct {
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
} Struct80737EA4_unk20_unkC;
// TODO: WTF?
typedef struct {
union {
s16 unk0[2];
Struct80737EA4_unk20_unkC *unkC;
};
} Struct80737EA4_unk20;
typedef struct {
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
Struct80737EA4_unk20 *unk20;
} Struct80737EA4;
void func_80737EA4(Struct80737EA4 *arg0, u8 arg1, u8 arg2) {
Struct80737EA4_unk20_unkC *sp4;
if (arg1 < arg0->unk20[0].unk0[0]) { // TODO: Wtf?
sp4 = arg0->unk20[arg1 + 3].unkC; // TODO: Wtf?
if (sp4 != NULL) {
sp4->unk3 = (arg2 * 2) | (sp4->unk3 & 1);
}
}
}
typedef struct {
u8 unk0[0xD - 0x0];
u8 unkD;
u8 unkE;
u8 unkF;
u8 unk10;
u8 unk11[0x34 - 0x11];
} Struct80737F0C_unk60;
typedef struct {
u8 unk0[0x30 - 0x0];
u16 unk30;
u16 unk32;
u8 unk34;
u8 unk38[0x60 - 0x35];
Struct80737F0C_unk60 *unk60;
} Struct80737F0C;
void func_80737F0C(Struct80737F0C *arg0, s32 arg1, u8 arg2) {
arg0->unk60[arg1].unk10 = arg2;
}
void func_80737F40(Struct80737F0C *arg0) {
s32 i;
arg0->unk30 = 0xFFFF;
for (i = 0; i < arg0->unk34; i++) {
arg0->unk60[i].unkE = 0xFF;
arg0->unk60[i].unkD = 0xFF;
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737FD8.s")
/*
void func_807382A0(s32, s32, u8, u8);
void func_807382A0(s32, s32, s32, s32, s32);
// TODO: Wtf
void func_80737FD8(s32 arg0, s32 arg1, s32 arg2) {
func_807382A0(arg0, 0, arg1 | 0xB0, 0xFF);
void func_80737FD8(s32 arg0, s32 arg1) {
func_807382A0(arg0, 0, arg1 | 0xB0, 0xFF, 0);
}
*/