func_8024E7C8 matched

This commit is contained in:
Banjo Kazooie
2024-05-08 21:58:37 -05:00
parent 531e6c97b4
commit 038e4f1050
4 changed files with 109 additions and 125 deletions

View File

@@ -1,4 +1,4 @@
# banjo (99.0364%) # banjo (99.1612%)
<img src="./progress/progress_total.svg"> <img src="./progress/progress_total.svg">

View File

@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="111" height="20"> <svg xmlns="http://www.w3.org/2000/svg" width="118" height="20">
<linearGradient id="b" x2="0" y2="100%"> <linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/> <stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/> <stop offset="1" stop-opacity=".1"/>
</linearGradient> </linearGradient>
<mask id="anybadge_1"> <mask id="anybadge_1">
<rect width="111" height="20" rx="3" fill="#fff"/> <rect width="118" height="20" rx="3" fill="#fff"/>
</mask> </mask>
<g mask="url(#anybadge_1)"> <g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/> <path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#04e000" d="M44 0h67v20H44z"/> <path fill="#00e000" d="M44 0h74v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/> <path fill="url(#b)" d="M0 0h118v20H0z"/>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="23.0" y="15" fill="#010101" fill-opacity=".3">core1</text> <text x="23.0" y="15" fill="#010101" fill-opacity=".3">core1</text>
<text x="22.0" y="14">core1</text> <text x="22.0" y="14">core1</text>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">99.1399%</text> <text x="82.0" y="15" fill="#010101" fill-opacity=".3">100.0000%</text>
<text x="77.5" y="14">99.1399%</text> <text x="81.0" y="14">100.0000%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text> <text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">99.0364%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">99.1612%</text>
<text x="183.5" y="14">99.0364%</text> <text x="183.5" y="14">99.1612%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -26,10 +26,9 @@ typedef struct {
typedef struct { typedef struct {
s16 unk0; s16 unk0;
s16 unk2; s16 unk2;
s16 unk4; u16 unk4;
s16 unk6; u16 unk6;
f32 unk8; f32 unk8[2];
f32 unkC;
f32 joystick[2]; f32 joystick[2];
}Struct_core1_10A00_1; }Struct_core1_10A00_1;
@@ -157,145 +156,130 @@ void func_8024E71C(s32 controller_index, f32 dst[2]){
} }
} }
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_10A00/func_8024E7C8.s")
#else
void func_8024E7C8(void) { void func_8024E7C8(void) {
s32 i, j; int j;
s32 sp5C; int i;
u32 sp5C;
u32 s0; u32 s0;
s32 temp_t6; u32 temp_t6;
u16 temp_v0_3; u32 temp_v0_3;
u32 var_a2;
if (func_8023E000() == 3) {
if(func_8023E000() == 3)
func_802E4384(); func_802E4384();
}
osSetThreadPri(NULL, 0x29); osSetThreadPri(0, 0x29);
D_802812D0.stick_x = pfsManagerContPadData[0].stick_x; D_802812D0.stick_x = pfsManagerContPadData[0].stick_x;
D_802812D0.stick_y = pfsManagerContPadData[0].stick_y; D_802812D0.stick_y = pfsManagerContPadData[0].stick_y;
D_802812D0.button = pfsManagerContPadData[0].button; D_802812D0.button = pfsManagerContPadData[0].button;
if( getGameMode() == GAME_MODE_6_FILE_PLAYBACK if ((getGameMode() == GAME_MODE_6_FILE_PLAYBACK)
|| getGameMode() == GAME_MODE_7_ATTRACT_DEMO || (getGameMode() == GAME_MODE_7_ATTRACT_DEMO)
|| getGameMode() == GAME_MODE_8_BOTTLES_BONUS || (getGameMode() == GAME_MODE_8_BOTTLES_BONUS)
|| getGameMode() == GAME_MODE_A_SNS_PICTURE || (getGameMode() == GAME_MODE_A_SNS_PICTURE)
|| getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE || (getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE)
) { ) {
s0 = START_BUTTON; s0 = 0x1000;
if (gctransition_8030BD98()) { if (gctransition_8030BD98()) {
D_802816E0 += time_getDelta(); D_802816E0 += time_getDelta();
} }
if(D_802816E0 < 1.0 || getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){ if ((D_802816E0 < 1.0) || (getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE)) {
s0 = 0; s0 = 0;
} }
temp_t6 = demo_readInput(&pfsManagerContPadData, &sp5C) == 0; temp_t6 = demo_readInput(&pfsManagerContPadData, &sp5C) == 0;
if(D_802812D0.button & s0 || temp_t6){ if ((D_802812D0.button & s0) || temp_t6) {
if (D_802812D0.button & s0) { if (D_802812D0.button & s0) {
func_803204E4(0x64, 1); func_803204E4(0x64, 1);
} } else {
else{
func_803204E4(0x63, 1); func_803204E4(0x63, 1);
} }
}//L8024E944 }
func_8033DD04(sp5C); func_8033DD04(sp5C);
}
}//L8024E94C
sp5C = func_8033DD90(); sp5C = func_8033DD90();
randf(); randf();
// var_s0_2 = &D_80281250;
// var_s1 = &pfsManagerContPadData
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
// temp_t5 = var_s1->unk0;
// temp_t1 = temp_t5 & 0x20;
if ((pfsManagerContPadData[i].button & 0x20) && (pfsManagerContPadData[i].button & 0x10)) { if ((pfsManagerContPadData[i].button & 0x20) && (pfsManagerContPadData[i].button & 0x10)) {
D_802810E0[i][0] = (pfsManagerContPadData[i].button & 0x0004) ? D_802810E0[i][0] + 1 : 0; D_802810E0[i][0] = (pfsManagerContPadData[i].button & 0x0004) ? (D_802810E0[i][0] + 1) : (0);
D_802810E0[i][1] = (pfsManagerContPadData[i].button & 0x2000) ? D_802810E0[i][1] + 1 : 0; D_802810E0[i][1] = (pfsManagerContPadData[i].button & 0x2000) ? (D_802810E0[i][1] + 1) : (0);
D_802810E0[i][2] = (pfsManagerContPadData[i].button & 0x8000) ? D_802810E0[i][2] + 1 : 0; D_802810E0[i][2] = (pfsManagerContPadData[i].button & 0x8000) ? (D_802810E0[i][2] + 1) : (0);
D_802810E0[i][3] = (pfsManagerContPadData[i].button & 0x4000) ? D_802810E0[i][3] + 1 : 0; D_802810E0[i][3] = (pfsManagerContPadData[i].button & 0x4000) ? (D_802810E0[i][3] + 1) : (0);
D_802810E0[i][4] = (D_802812D0.button & 0x4000) ? D_802810E0[i][4] + 1 : 0; D_802810E0[i][4] = (D_802812D0.button & 0x4000) ? (D_802810E0[i][4] + 1) : (0);
for(j = 0; j < 0xE; j++){ for (j = 0; j < 0xE; j++)
((s32*)&D_80281138[i])[j] = 0; {
((s32 *) (&D_80281138[i]))[j] = 0;
} }
for(j = 0; (j < 0xE) && (i == 0); j++){
((s32*)&D_80281218)[j] = 0; for (j = 0; (j < 0xE) && (i == 0); j++)
{
((s32 *) (&D_80281218))[j] = 0;
} }
D_80281250[i].unk0 = 0; D_80281250[i].unk0 = 0;
D_80281250[i].unk2 = 0; D_80281250[i].unk2 = 0;
D_80281250[i].unk4 = 0; D_80281250[i].unk4 = 0;
D_80281250[i].unk6 = 0; D_80281250[i].unk6 = 0;
D_80281250[i].joystick[0] = 0.0f; D_80281250[i].joystick[0] = 0.0f;
D_80281250[i].joystick[1] = 0.0f; D_80281250[i].joystick[1] = 0.0f;
D_80281250[i].unk8 = 0.0f; D_80281250[i].unk8[0] = 0.0f;
D_80281250[i].unkC = 0.0f; D_80281250[i].unk8[1] = 0.0f;
} else { continue;
// temp_a0 = (i * 0x14) + &D_802810E0; }
// temp_a1 = (i * 0x38) + &D_80281138;
// temp_t4 = (i * 4) + &D_80281308;
for (j = 0; j < 5; j++) { for (j = 0; j < 5; j++) {
D_802810E0[i][j] = 0; D_802810E0[i][j] = 0;
} }
D_80281138[i].face_button[0] = (pfsManagerContPadData[i].button & 0x8000) ? D_80281138[i].face_button[0] + 1 : 0; D_80281138[i].face_button[0] = (pfsManagerContPadData[i].button & 0x8000) ? (D_80281138[i].face_button[0] + 1) : (0);
D_80281138[i].face_button[1] = (pfsManagerContPadData[i].button & 0x4000) ? D_80281138[i].face_button[1] + 1 : 0; D_80281138[i].face_button[1] = (pfsManagerContPadData[i].button & 0x4000) ? (D_80281138[i].face_button[1] + 1) : (0);
D_80281138[i].face_button[2] = (pfsManagerContPadData[i].button & 0x0002) ? D_80281138[i].face_button[2] + 1 : 0; D_80281138[i].face_button[2] = (pfsManagerContPadData[i].button & 0x0002) ? (D_80281138[i].face_button[2] + 1) : (0);
D_80281138[i].face_button[3] = (pfsManagerContPadData[i].button & 0x0004) ? D_80281138[i].face_button[3] + 1 : 0; D_80281138[i].face_button[3] = (pfsManagerContPadData[i].button & 0x0004) ? (D_80281138[i].face_button[3] + 1) : (0);
D_80281138[i].face_button[4] = (pfsManagerContPadData[i].button & 0x0008) ? D_80281138[i].face_button[4] + 1 : 0; D_80281138[i].face_button[4] = (pfsManagerContPadData[i].button & 0x0008) ? (D_80281138[i].face_button[4] + 1) : (0);
D_80281138[i].face_button[5] = (pfsManagerContPadData[i].button & 0x0001) ? D_80281138[i].face_button[5] + 1 : 0; D_80281138[i].face_button[5] = (pfsManagerContPadData[i].button & 0x0001) ? (D_80281138[i].face_button[5] + 1) : (0);
D_80281138[i].side_button[0] = (pfsManagerContPadData[i].button & 0x2000) ? (D_80281138[i].side_button[0] + 1) : (0);
D_80281138[i].side_button[0] = (pfsManagerContPadData[i].button & 0x2000) ? D_80281138[i].side_button[0] + 1 : 0; D_80281138[i].side_button[1] = (pfsManagerContPadData[i].button & 0x0020) ? (D_80281138[i].side_button[1] + 1) : (0);
D_80281138[i].side_button[1] = (pfsManagerContPadData[i].button & 0x0020) ? D_80281138[i].side_button[1] + 1 : 0; D_80281138[i].side_button[2] = (pfsManagerContPadData[i].button & 0x0010) ? (D_80281138[i].side_button[2] + 1) : (0);
D_80281138[i].side_button[2] = (pfsManagerContPadData[i].button & 0x0010) ? D_80281138[i].side_button[2] + 1 : 0; D_80281138[i].unk24[0] = (pfsManagerContPadData[i].button & 0x0800) ? (D_80281138[i].unk24[0] + 1) : (0);
D_80281138[i].unk24[1] = (pfsManagerContPadData[i].button & 0x0400) ? (D_80281138[i].unk24[1] + 1) : (0);
D_80281138[i].unk24[0] = (pfsManagerContPadData[i].button & 0x0800) ? D_80281138[i].unk24[0] + 1 : 0; D_80281138[i].unk24[2] = (pfsManagerContPadData[i].button & 0x0200) ? (D_80281138[i].unk24[2] + 1) : (0);
D_80281138[i].unk24[1] = (pfsManagerContPadData[i].button & 0x0400) ? D_80281138[i].unk24[1] + 1 : 0; D_80281138[i].unk24[3] = (pfsManagerContPadData[i].button & 0x0100) ? (D_80281138[i].unk24[3] + 1) : (0);
D_80281138[i].unk24[2] = (pfsManagerContPadData[i].button & 0x0200) ? D_80281138[i].unk24[2] + 1 : 0; D_80281138[i].start_button = (pfsManagerContPadData[i].button & 0x1000) ? (D_80281138[i].start_button + 1) : (0);
D_80281138[i].unk24[3] = (pfsManagerContPadData[i].button & 0x0100) ? D_80281138[i].unk24[3] + 1 : 0;
D_80281138[i].start_button = (pfsManagerContPadData[i].button & 0x1000) ? D_80281138[i].start_button + 1 : 0;
if (i == 0) { if (i == 0) {
D_80281218.face_button[0] = (D_802812D0.button & 0x8000) ? D_80281218.face_button[0] + 1 : 0; D_80281218.face_button[0] = (D_802812D0.button & 0x8000) ? (D_80281218.face_button[0] + 1) : (0);
D_80281218.face_button[1] = (D_802812D0.button & 0x4000) ? D_80281218.face_button[1] + 1 : 0; D_80281218.face_button[1] = (D_802812D0.button & 0x4000) ? (D_80281218.face_button[1] + 1) : (0);
D_80281218.face_button[2] = (D_802812D0.button & 0x0002) ? D_80281218.face_button[2] + 1 : 0; D_80281218.face_button[2] = (D_802812D0.button & 0x0002) ? (D_80281218.face_button[2] + 1) : (0);
D_80281218.face_button[3] = (D_802812D0.button & 0x0004) ? D_80281218.face_button[3] + 1 : 0; D_80281218.face_button[3] = (D_802812D0.button & 0x0004) ? (D_80281218.face_button[3] + 1) : (0);
D_80281218.face_button[4] = (D_802812D0.button & 0x0008) ? D_80281218.face_button[4] + 1 : 0; D_80281218.face_button[4] = (D_802812D0.button & 0x0008) ? (D_80281218.face_button[4] + 1) : (0);
D_80281218.face_button[5] = (D_802812D0.button & 0x0001) ? D_80281218.face_button[5] + 1 : 0; D_80281218.face_button[5] = (D_802812D0.button & 0x0001) ? (D_80281218.face_button[5] + 1) : (0);
D_80281218.side_button[0] = (D_802812D0.button & 0x2000) ? (D_80281218.side_button[0] + 1) : (0);
D_80281218.side_button[0] = (D_802812D0.button & 0x2000) ? D_80281218.side_button[0] + 1 : 0; D_80281218.side_button[1] = (D_802812D0.button & 0x0020) ? (D_80281218.side_button[1] + 1) : (0);
D_80281218.side_button[1] = (D_802812D0.button & 0x0020) ? D_80281218.side_button[1] + 1 : 0; D_80281218.side_button[2] = (D_802812D0.button & 0x0010) ? (D_80281218.side_button[2] + 1) : (0);
D_80281218.side_button[2] = (D_802812D0.button & 0x0010) ? D_80281218.side_button[2] + 1 : 0; D_80281218.unk24[0] = (D_802812D0.button & 0x0800) ? (D_80281218.unk24[0] + 1) : (0);
D_80281218.unk24[1] = (D_802812D0.button & 0x0400) ? (D_80281218.unk24[1] + 1) : (0);
D_80281218.unk24[0] = (D_802812D0.button & 0x0800) ? D_80281218.unk24[0] + 1 : 0; D_80281218.unk24[2] = (D_802812D0.button & 0x0200) ? (D_80281218.unk24[2] + 1) : (0);
D_80281218.unk24[1] = (D_802812D0.button & 0x0400) ? D_80281218.unk24[1] + 1 : 0; D_80281218.unk24[3] = (D_802812D0.button & 0x0100) ? (D_80281218.unk24[3] + 1) : (0);
D_80281218.unk24[2] = (D_802812D0.button & 0x0200) ? D_80281218.unk24[2] + 1 : 0; D_80281218.start_button = (D_802812D0.button & 0x1000) ? ((u64)D_80281218.start_button + 1) : (0);
D_80281218.unk24[3] = (D_802812D0.button & 0x0100) ? D_80281218.unk24[3] + 1 : 0;
D_80281218.start_button = (D_802812D0.button & 0x1000) ? D_80281218.start_button + 1 : 0;
} }
temp_v0_3 = (u16)D_80281250[i].unk0;
temp_v0_3 = D_80281250[i].unk0; var_a2 = (u16)pfsManagerContPadData[i].button;
D_80281250[i].unk0 = D_802812D0.button; D_80281250[i].unk0 = var_a2;
D_80281250[i].unk4 = ~temp_v0_3 & D_802812D0.button; //pressed buttons D_80281250[i].unk2 = temp_v0_3;
D_80281250[i].unk6 = ~D_802812D0.button & temp_v0_3; //unpressed buttons D_80281250[i].unk4 = (~temp_v0_3) & var_a2;
D_80281250[i].unk2 = temp_v0_3; //previous buttons D_80281250[i].unk6 = temp_v0_3 & (~var_a2);
D_80281250[i].unk8 = D_80281250[i].joystick[0]; D_80281250[i].unk8[0] = D_80281250[i].joystick[0];
D_80281250[i].unkC = D_80281250[i].joystick[1]; D_80281250[i].unk8[1] = D_80281250[i].joystick[1];
D_80281250[i].joystick[0] = func_8024E420(pfsManagerContPadData[i].stick_x, 7, 0x3B); D_80281250[i].joystick[0] = func_8024E420(pfsManagerContPadData[i].stick_x, 7, 0x3B);
D_80281250[i].joystick[1] = func_8024E420(pfsManagerContPadData[i].stick_y, 7, 0x3D); D_80281250[i].joystick[1] = func_8024E420(pfsManagerContPadData[i].stick_y, 7, 0x3D);
if ((D_80281250[i].unk4 != 0)
D_80281308[i] = ((D_80281250[i].unk4 != 0) || (D_80281250[i].unk8[0] != D_80281250[i].joystick[0])
|| (D_80281250[i].unk8 != D_80281250[i].joystick[0]) || (D_80281250[i].unk8[1] != D_80281250[i].joystick[1])
|| (D_80281250[i].unkC != D_80281250[i].joystick[1]) ) {
) ? 0.0f : D_80281308[i] + time_getDelta(); D_80281308[i] = 0.0f;
} else {
D_80281308[i] += time_getDelta();
}
} }
osSetThreadPri(0, 0x14);
} }
osSetThreadPri(NULL, 0x14);
}
#endif
void pfsManager_readData(){ void pfsManager_readData(){
func_8024F35C(0); func_8024F35C(0);
@@ -364,8 +348,8 @@ void func_8024F224(void){
D_80281250[iCont].unk6 = 0; D_80281250[iCont].unk6 = 0;
D_80281250[iCont].joystick[0] = 0.0f; D_80281250[iCont].joystick[0] = 0.0f;
D_80281250[iCont].joystick[1] = 0.0f; D_80281250[iCont].joystick[1] = 0.0f;
D_80281250[iCont].unk8 = 0.0f; D_80281250[iCont].unk8[0] = 0.0f;
D_80281250[iCont].unkC = 0.0f; D_80281250[iCont].unk8[1] = 0.0f;
for(j = 0; j < 5; j++){ for(j = 0; j < 5; j++){
D_802810E0[iCont][j] = 0; D_802810E0[iCont][j] = 0;
} }