Merge pull request #386 from gamemasterplc/main

Finish ztardll
This commit is contained in:
Liam Coleman 2024-08-08 12:19:32 -05:00 committed by GitHub
commit c1c506360c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 144 additions and 153 deletions

View file

@ -1569,9 +1569,9 @@ config.libs = [
"ztardll", "ztardll",
objects={ objects={
Object(Matching, "REL/executor.c"), Object(Matching, "REL/executor.c"),
Object(NonMatching, "REL/ztardll/main.c"), Object(Matching, "REL/ztardll/main.c"),
Object(Matching, "REL/ztardll/font.c"), Object(Matching, "REL/ztardll/font.c"),
Object(NonMatching, "REL/ztardll/select.c"), Object(Matching, "REL/ztardll/select.c"),
}, },
), ),
] ]

View file

@ -33,6 +33,8 @@ Process *lbl_1_bss_68;
s32 lbl_1_bss_64; s32 lbl_1_bss_64;
s32 lbl_1_bss_60; s32 lbl_1_bss_60;
s16 lbl_1_bss_5E; s16 lbl_1_bss_5E;
s16 lbl_1_bss_5C;
s16 lbl_1_bss_5A; s16 lbl_1_bss_5A;
s16 lbl_1_bss_58; s16 lbl_1_bss_58;
s32 lbl_1_bss_54; s32 lbl_1_bss_54;

View file

@ -97,12 +97,12 @@ s32 lbl_1_data_3E8[8] = {
0x800000, 0x800000,
}; };
Process *lbl_1_bss_70;
s32 lbl_1_bss_74;
s32 lbl_1_bss_78[5];
ZtarDllUnkStruct2 lbl_1_bss_8C[4];
ZtarDllUnkStruct2 lbl_1_bss_20C;
s32 lbl_1_bss_26C[0x1B]; s32 lbl_1_bss_26C[0x1B];
ZtarDllUnkStruct2 lbl_1_bss_20C;
ZtarDllUnkStruct2 lbl_1_bss_8C[4];
s32 lbl_1_bss_78[5];
s32 lbl_1_bss_74;
Process *lbl_1_bss_70;
void fn_1_7C00(void) void fn_1_7C00(void)
{ {
@ -266,7 +266,7 @@ s32 fn_1_8030(s32 arg0, s32 arg1)
} }
while (TRUE) { while (TRUE) {
fn_1_10FBC(1); fn_1_10FBC(1);
if ((lbl_1_bss_8C->unk_08 == 0) && (HuPadBtnDown[0] & PAD_BUTTON_B) != 0) { if ((lbl_1_bss_8C[0].unk_08 == 0) && (HuPadBtnDown[0] & PAD_BUTTON_B) != 0) {
HuAudFXPlay(3); HuAudFXPlay(3);
if (lbl_1_bss_20C.unk_10 == 1) { if (lbl_1_bss_20C.unk_10 == 1) {
lbl_1_bss_20C.unk_10 = 0; lbl_1_bss_20C.unk_10 = 0;
@ -372,7 +372,7 @@ s32 fn_1_8338(s32 arg0, s32 arg1)
} }
while (TRUE) { while (TRUE) {
fn_1_10FBC(1); fn_1_10FBC(1);
if (((HuPadBtnDown[lbl_1_bss_8C->unk_58] & 0x200) != 0) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) { if (((HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & 0x200) != 0) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) {
HuAudFXPlay(3); HuAudFXPlay(3);
if (var_r27 == -1) { if (var_r27 == -1) {
var_r29 = 0; var_r29 = 0;
@ -590,7 +590,7 @@ s32 fn_1_8B94(s32 arg0)
} }
while (TRUE) { while (TRUE) {
fn_1_10FBC(1); fn_1_10FBC(1);
if ((lbl_1_bss_8C->unk_08 == 0) && ((*HuPadBtnDown & 0x200) != 0)) { if ((lbl_1_bss_8C[0].unk_08 == 0) && ((*HuPadBtnDown & 0x200) != 0)) {
HuAudFXPlay(3); HuAudFXPlay(3);
if (lbl_1_bss_20C.unk_10 == 1) { if (lbl_1_bss_20C.unk_10 == 1) {
lbl_1_bss_20C.unk_10 = 0; lbl_1_bss_20C.unk_10 = 0;
@ -688,7 +688,7 @@ s32 fn_1_8E50(s32 arg0)
} }
while (TRUE) { while (TRUE) {
fn_1_10FBC(1); fn_1_10FBC(1);
if ((HuPadBtnDown[lbl_1_bss_8C->unk_58] & PAD_BUTTON_B) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) { if ((HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_B) && (lbl_1_bss_8C[var_r30].unk_08 == 0) && (lbl_1_bss_20C.unk_30 == 0)) {
HuAudFXPlay(3); HuAudFXPlay(3);
if (var_r27 == -1) { if (var_r27 == -1) {
var_r29 = 0; var_r29 = 0;
@ -2051,46 +2051,49 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
} }
if (arg1->unk_5C != var_r25) { if (arg1->unk_5C != var_r25) {
if (lbl_1_bss_74 != 0) { if (lbl_1_bss_74 != 0) {
loop_54: while(1) {
var_r25 = var_r30 + (var_r29 * 6); var_r25 = var_r30 + (var_r29 * 6);
for (var_r28 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r28++) {
if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) || (var_r25 == 0) if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) || (var_r25 == 0)
|| (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) { || (var_r25 == 5) || (var_r25 == 6) || (var_r25 == 0xB)) {
if ((var_r27 == 0) || (var_r26 == 0)) { if ((var_r27 == 0) || (var_r26 == 0)) {
if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) { if (((var_r30 + var_r27) > 5) || ((var_r30 + var_r27) < 0)) {
var_r30 = var_r23; var_r30 = var_r23;
} }
else { else {
var_r30 += var_r27; var_r30 += var_r27;
} }
if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) { if (((var_r29 + var_r26) > 2) || ((var_r29 + var_r26) < 0)) {
var_r29 = var_r22; var_r29 = var_r22;
} }
else { else {
var_r29 += var_r26; var_r29 += var_r26;
} }
} }
else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) { else if (((var_r30 + var_r27) <= 5) && ((var_r30 + var_r27) >= 0)) {
var_r30 += var_r27; var_r30 += var_r27;
} }
else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) { else if (((var_r29 + var_r26) <= 2) && ((var_r29 + var_r26) >= 0)) {
var_r29 += var_r26; var_r29 += var_r26;
} }
else { else {
var_r30 = var_r23; var_r30 = var_r23;
var_r29 = var_r22; var_r29 = var_r22;
} }
} break;
else { }
} else {
}
if (var_r28 != 4) { }
goto loop_54; }
} if(var_r28 == 4) {
break;
}
}
} }
else { else {
do { while(1) {
var_r25 = var_r30 + (var_r29 * 4); var_r25 = var_r30 + (var_r29 * 4);
for (var_r28 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r28++) {
if ((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) { if ((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_50 == 0) && (var_r25 == lbl_1_bss_8C[var_r28].unk_5C)) {
if ((var_r27 == 0) || (var_r26 == 0)) { if ((var_r27 == 0) || (var_r26 == 0)) {
@ -2102,11 +2105,10 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
} }
if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) { if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) {
var_r29 = var_r22; var_r29 = var_r22;
} } else {
else {
var_r29 += var_r26; var_r29 += var_r26;
break;
} }
break;
} }
else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) { else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) {
var_r30 += var_r27; var_r30 += var_r27;
@ -2123,10 +2125,13 @@ void fn_1_D280(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
} }
} }
else { else {
break; continue;
} }
} }
} while (var_r28 != 4); if(var_r28 == 4) {
break;
}
}
} }
if (lbl_1_bss_74 != 0) { if (lbl_1_bss_74 != 0) {
var_r25 = var_r30 + (var_r29 * 6); var_r25 = var_r30 + (var_r29 * 6);
@ -2259,7 +2264,7 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
var_r22 = var_r29; var_r22 = var_r29;
} }
if (arg1->unk_08 == 0) { if (arg1->unk_08 == 0) {
if (HuPadBtnDown[lbl_1_bss_8C->unk_58] & PAD_BUTTON_A) { if (HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_A) {
arg1->unk_08 = 1; arg1->unk_08 = 1;
HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 1); HuSprBankSet(var_r27, arg1->unk_48 + 0x26, 1);
HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 1); HuSprBankSet(var_r27, arg1->unk_48 + 0x2A, 1);
@ -2352,7 +2357,7 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
} }
} }
} }
else if (HuPadBtnDown[lbl_1_bss_8C->unk_58] & PAD_BUTTON_B) { else if (HuPadBtnDown[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_B) {
arg1->unk_08 = arg1->unk_10 = 0; arg1->unk_08 = arg1->unk_10 = 0;
if (lbl_1_bss_74 != 0) { if (lbl_1_bss_74 != 0) {
var_r20 = 0; var_r20 = 0;
@ -2383,8 +2388,8 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
} }
if (arg1->unk_5C != var_r24) { if (arg1->unk_5C != var_r24) {
if (lbl_1_bss_74 != 0) { if (lbl_1_bss_74 != 0) {
do { while(1) {
fn_1_10FBC(1); fn_1_10FBC(1);
var_r24 = var_r30 + (var_r29 * 6); var_r24 = var_r30 + (var_r29 * 6);
for (var_r28 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r28++) {
if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_8C[var_r28].unk_5C)) if (((var_r28 != arg1->unk_48) && (lbl_1_bss_8C[var_r28].unk_08 == 1) && (var_r24 == lbl_1_bss_8C[var_r28].unk_5C))
@ -2416,7 +2421,10 @@ void fn_1_E548(omObjData *arg0, ZtarDllUnkStruct2 *arg1)
break; break;
} }
} }
} while (var_r28 != 4); if(var_r28 == 4) {
break;
}
}
} }
else { else {
do { do {
@ -2498,100 +2506,81 @@ s32 fn_1_F214(ZtarDllUnkStruct2 *arg0)
var_r28 = 0; var_r28 = 0;
var_r29 = lbl_1_bss_26C[1]; var_r29 = lbl_1_bss_26C[1];
loop_1: while(1) {
fn_1_10FBC(1); fn_1_10FBC(1);
var_r28 = 0; var_r28 = 0;
var_r26 = arg0->unk_54; var_r26 = arg0->unk_54;
if (HuPadStkX[lbl_1_bss_8C->unk_58] >= 5) { if(HuPadStkX[lbl_1_bss_8C[0].unk_58] >= 5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_RIGHT)) {
block_3: if(GWGameStat.field10E_bit4 == 1) {
if (((GWGameStat.story_continue >> 4) & 1) == 1) { arg0->unk_54++;
arg0->unk_54++; var_r28 = 1;
var_r28 = 1; if(arg0->unk_54 > 3) {
if (arg0->unk_54 > 3) { arg0->unk_54 = 0;
arg0->unk_54 = 0; }
} } else {
} arg0->unk_54++;
else { var_r28 = 1;
arg0->unk_54++; if(arg0->unk_54 > 2) {
var_r28 = 1; arg0->unk_54 = 0;
if (arg0->unk_54 > 2) { }
arg0->unk_54 = 0; }
} } else if(HuPadStkX[lbl_1_bss_8C[0].unk_58] <= -5 || (HuPadBtn[lbl_1_bss_8C[0].unk_58] & PAD_BUTTON_LEFT)) {
} if(GWGameStat.field10E_bit4 == 1) {
block_19: arg0->unk_54--;
if (arg0->unk_54 != var_r26) { var_r28 = -1;
HuAudFXPlay(0); if(arg0->unk_54 < 0) {
for (var_r30 = 0; var_r30 <= 5; var_r30++) { arg0->unk_54 = 3;
fn_1_10FBC(1); }
if (lbl_1_bss_74 != 0) { } else {
var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 0xA), var_r30, 5.0f); arg0->unk_54--;
HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 0x23); var_r28 = -1;
} if(arg0->unk_54 < 0) {
else { arg0->unk_54 = 2;
var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 0xA), var_r30, 5.0f); }
HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 0x23); }
} } else if(HuPadBtnDown[0] & PAD_BUTTON_A) {
} var_r27 = 1;
HuSprBankSet(var_r29, arg0->unk_48 + 0x2E, arg0->unk_54); break;
for (var_r30 = 0; var_r30 <= 5; var_r30++) { } else if(HuPadBtnDown[0] & PAD_BUTTON_B) {
fn_1_10FBC(1); var_r27 = 0;
if (lbl_1_bss_74 != 0) { HuAudFXPlay(3);
var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0] + (var_r28 * 0xA), lbl_1_data_584[arg0->unk_5C][0], var_r30, 5.0f); break;
HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_584[arg0->unk_5C][1] + 0x23); }
} if(arg0->unk_54 != var_r26) {
else { HuAudFXPlay(0);
var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C % 4][0] + (var_r28 * 0xA), lbl_1_data_4D4[arg0->unk_5C % 4][0], var_r30, 5.0f); for(var_r30=0; var_r30<=5; var_r30++) {
HuSprPosSet(var_r29, arg0->unk_48 + 0x2E, var_f31, lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 0x23); fn_1_10FBC(1);
} if(lbl_1_bss_74) {
} var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][0]+(var_r28*10), var_r30, 5.0f);
} HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_584[arg0->unk_5C][1]+35);
goto loop_1; } else {
} var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C%4][0], lbl_1_data_4D4[arg0->unk_5C%4][0]+(var_r28*10), var_r30, 5.0f);
if (HuPadBtn[lbl_1_bss_8C->unk_58] & PAD_BUTTON_RIGHT) { HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35);
goto block_3; }
} }
if (HuPadStkX[lbl_1_bss_8C->unk_58] <= -5) { HuSprBankSet(var_r29, arg0->unk_48+46, arg0->unk_54);
block_10: for(var_r30=0; var_r30<=5; var_r30++) {
if (((GWGameStat.story_continue >> 4) & 1) == 1) { fn_1_10FBC(1);
arg0->unk_54--; if(lbl_1_bss_74) {
var_r28 = -1; var_f31 = fn_1_10E38(lbl_1_data_584[arg0->unk_5C][0]+(var_r28*10), lbl_1_data_584[arg0->unk_5C][0], var_r30, 5.0f);
if (arg0->unk_54 < 0) { HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_584[arg0->unk_5C][1]+35);
arg0->unk_54 = 3; } else {
} var_f31 = fn_1_10E38(lbl_1_data_4D4[arg0->unk_5C%4][0]+(var_r28*10), lbl_1_data_4D4[arg0->unk_5C%4][0], var_r30, 5.0f);
} HuSprPosSet(var_r29, arg0->unk_48+46, var_f31, lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35);
else { }
arg0->unk_54--; }
var_r28 = -1; }
if (arg0->unk_54 < 0) { }
arg0->unk_54 = 2; if(var_r27 == 1) {
} if(lbl_1_bss_74) {
} HuSprPosSet(var_r29, arg0->unk_48+50, lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][1]+35);
goto block_19; } else {
} HuSprPosSet(var_r29, arg0->unk_48+50, lbl_1_data_4D4[arg0->unk_5C%4][0], lbl_1_data_4D4[(arg0->unk_5C/4)*4][1]+35);
if (HuPadBtn[lbl_1_bss_8C->unk_58] & PAD_BUTTON_LEFT) { }
goto block_10; HuSprBankSet(var_r29, arg0->unk_48+50, arg0->unk_54);
} HuSprAttrReset(var_r29, arg0->unk_48+50, HUSPR_ATTR_DISPOFF);
if (HuPadBtnDown[0] & PAD_BUTTON_A) { HuSprAttrSet(var_r29, arg0->unk_48+46, HUSPR_ATTR_DISPOFF);
var_r27 = 1; }
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
var_r27 = 0;
HuAudFXPlay(3);
}
else {
goto block_19;
}
if (var_r27 == 1) {
if (lbl_1_bss_74 != 0) {
HuSprPosSet(var_r29, arg0->unk_48 + 0x32, lbl_1_data_584[arg0->unk_5C][0], lbl_1_data_584[arg0->unk_5C][1] + 0x23);
}
else {
HuSprPosSet(var_r29, arg0->unk_48 + 0x32, lbl_1_data_4D4[arg0->unk_5C % 4][0], lbl_1_data_4D4[(arg0->unk_5C / 4) * 4][1] + 0x23);
}
HuSprBankSet(var_r29, arg0->unk_48 + 0x32, arg0->unk_54);
HuSprAttrReset(var_r29, arg0->unk_48 + 0x32, 4);
HuSprAttrSet(var_r29, arg0->unk_48 + 0x2E, 4);
}
return var_r27; return var_r27;
} }