Give unk118 and unk12B in SaveFile names

This commit is contained in:
Catobat 2023-01-07 23:19:07 +01:00
parent fbdd0078cd
commit c8d37f73c8
5 changed files with 29 additions and 28 deletions

View File

@ -58,8 +58,9 @@ typedef struct {
/*0x0F2*/ u8 inventory[36]; /*0x0F2*/ u8 inventory[36];
/*0x116*/ u8 didAllFusions; /*0x116*/ u8 didAllFusions;
/*0x117*/ u8 fusedKinstoneCount; /*0x117*/ u8 fusedKinstoneCount;
/*0x118*/ u8 unk118[0x13]; // TODO also related to kinstones /*0x118*/ u8 kinstoneTypes[0x13]; // 0x65-0x75 for each kinstone type present in kinstone bag
/*0x12B*/ u8 unk12B[0x16]; // TODO also related to kinstones /*0x12B*/ u8 kinstoneAmounts[0x13]; // amount of each kinstone type above
/*0x13E*/ u8 filler13E[3];
/*0x141*/ u8 fuserProgress[128]; // indexed by fuser id, incremented after fusion /*0x141*/ u8 fuserProgress[128]; // indexed by fuser id, incremented after fusion
/*0x1C1*/ u8 fuserOffers[128]; // available kinstone fusion for each fuser /*0x1C1*/ u8 fuserOffers[128]; // available kinstone fusion for each fuser
/*0x241*/ u8 fusedKinstones[13]; /**< Bitfield for fused kinstones. @see CheckKinstoneFused */ /*0x241*/ u8 fusedKinstones[13]; /**< Bitfield for fused kinstones. @see CheckKinstoneFused */

View File

@ -776,17 +776,17 @@ void sub_0801E738(u32 param_1) {
index = sub_0801E8B0(param_1); index = sub_0801E8B0(param_1);
if (index < 0) { if (index < 0) {
index = 0; index = 0;
while (gSave.unk118[index] != 0) { while (gSave.kinstoneTypes[index] != 0) {
index++; index++;
} }
} }
if ((u32)index < 0x12) { if ((u32)index < 0x12) {
gSave.unk118[index] = param_1; gSave.kinstoneTypes[index] = param_1;
tmp = gSave.unk12B[index] + 1; tmp = gSave.kinstoneAmounts[index] + 1;
if (tmp > 99) { if (tmp > 99) {
tmp = 99; tmp = 99;
} }
gSave.unk12B[index] = tmp; gSave.kinstoneAmounts[index] = tmp;
} }
} }
} }
@ -794,12 +794,12 @@ void sub_0801E738(u32 param_1) {
void sub_0801E798(u32 a1) { void sub_0801E798(u32 a1) {
s32 idx = sub_0801E8B0(a1); s32 idx = sub_0801E8B0(a1);
if (idx >= 0) { if (idx >= 0) {
s32 next = gSave.unk12B[idx] - 1; s32 next = gSave.kinstoneAmounts[idx] - 1;
if (next <= 0) { if (next <= 0) {
gSave.unk118[idx] = 0; gSave.kinstoneTypes[idx] = 0;
next = 0; next = 0;
} }
gSave.unk12B[idx] = next; gSave.kinstoneAmounts[idx] = next;
} }
} }
@ -808,7 +808,7 @@ u32 sub_0801E7D0(u32 a1) {
if (tmp < 0) { if (tmp < 0) {
return 0; return 0;
} }
return gSave.unk12B[tmp]; return gSave.kinstoneAmounts[tmp];
} }
u32 CheckKinstoneFused(u32 kinstoneId) { u32 CheckKinstoneFused(u32 kinstoneId) {
@ -830,18 +830,18 @@ void sub_0801E82C(void) {
u32 r5; u32 r5;
for (r5 = 0; r5 < 0x13; r5++) { for (r5 = 0; r5 < 0x13; r5++) {
if (gSave.unk12B[r5] == 0) { if (gSave.kinstoneAmounts[r5] == 0) {
gSave.unk118[r5] = gSave.unk12B[r5]; gSave.kinstoneTypes[r5] = gSave.kinstoneAmounts[r5];
} }
} }
gSave.unk118[0x12] = 0; gSave.kinstoneTypes[0x12] = 0;
gSave.unk12B[0x12] = 0; gSave.kinstoneAmounts[0x12] = 0;
for (r5 = 0; r5 < 0x12; r5++) { for (r5 = 0; r5 < 0x12; r5++) {
if ((gSave.unk118[r5] - 0x65) > 0x10) { if ((gSave.kinstoneTypes[r5] - 0x65) > 0x10) {
MemCopy(&gSave.unk118[r5 + 1], &gSave.unk118[r5], 0x12 - r5); MemCopy(&gSave.kinstoneTypes[r5 + 1], &gSave.kinstoneTypes[r5], 0x12 - r5);
MemCopy(&gSave.unk12B[r5 + 1], &gSave.unk12B[r5], 0x12 - r5); MemCopy(&gSave.kinstoneAmounts[r5 + 1], &gSave.kinstoneAmounts[r5], 0x12 - r5);
} }
} }
#else #else
@ -852,7 +852,7 @@ void sub_0801E82C(void) {
new_var = 4; new_var = 4;
r1 = &gSave.inventory[34]; r1 = &gSave.inventory[34];
r5 = 0; r5 = 0;
r2 = gSave.unk118; r2 = gSave.kinstoneTypes;
code0_0: code0_0:
r0 = r2[0x13]; r0 = r2[0x13];
r3 = &r1[4]; r3 = &r1[4];
@ -893,7 +893,7 @@ s32 sub_0801E8B0(u32 idx) {
u32 i; u32 i;
for (i = 0; i < 18; ++i) { for (i = 0; i < 18; ++i) {
if (idx == gSave.unk118[i]) if (idx == gSave.kinstoneTypes[i])
return i; return i;
} }
return -1; return -1;

View File

@ -86,7 +86,7 @@ const ScreenTransitionData gUnk_08128024[] = {
u32 sub_080A3B48(void) { u32 sub_080A3B48(void) {
u32 index; u32 index;
for (index = 0; index <= 0x12; index++) { for (index = 0; index <= 0x12; index++) {
if (gSave.unk12B[index] == 0) { if (gSave.kinstoneAmounts[index] == 0) {
break; break;
} }
} }
@ -206,7 +206,7 @@ void KinstoneMenu_Type1(void) {
case A_BUTTON: case A_BUTTON:
if (gMenu.column_idx == 2) { if (gMenu.column_idx == 2) {
tmp3 = gGenericMenu.unk10.i / 0x10000; tmp3 = gGenericMenu.unk10.i / 0x10000;
gGenericMenu.unk2a = gSave.unk118[tmp3]; gGenericMenu.unk2a = gSave.kinstoneTypes[tmp3];
SetMenuType(3); SetMenuType(3);
} }
break; break;
@ -448,7 +448,7 @@ NONMATCH("asm/non_matching/menu/kinstone_menu/KinstoneMenu_080A414C.inc", void K
gOamCmd.x = ((gSineTable[(uVar1 + 0x40) & 0xff] * 0x42) / 0x100) - 0x10; gOamCmd.x = ((gSineTable[(uVar1 + 0x40) & 0xff] * 0x42) / 0x100) - 0x10;
iVar2 = gKinstoneMenu.unk10.WORD / 0x10000 + i; iVar2 = gKinstoneMenu.unk10.WORD / 0x10000 + i;
if (iVar2 >= 0) { if (iVar2 >= 0) {
uVar3 = gSave.unk12B[iVar2]; uVar3 = gSave.kinstoneAmounts[iVar2];
if (i == 0) { if (i == 0) {
switch (gMenu.column_idx) { switch (gMenu.column_idx) {
case 3: case 3:
@ -460,7 +460,7 @@ NONMATCH("asm/non_matching/menu/kinstone_menu/KinstoneMenu_080A414C.inc", void K
} }
} }
if (0 < uVar3) { if (0 < uVar3) {
sub_080A42E0(gSave.unk118[iVar2], uVar3); sub_080A42E0(gSave.kinstoneTypes[iVar2], uVar3);
} }
} }
} }

View File

@ -665,7 +665,7 @@ void sub_080A5594(void) {
iVar5 = 0; iVar5 = 0;
if (GetInventoryValue(ITEM_KINSTONE_BAG) != 0) { if (GetInventoryValue(ITEM_KINSTONE_BAG) != 0) {
for (i = 0; i < 0x13; i++) { for (i = 0; i < 0x13; i++) {
iVar5 += gSave.unk12B[i]; iVar5 += gSave.kinstoneAmounts[i];
} }
if (iVar5 >= 0x50) { if (iVar5 >= 0x50) {
@ -1299,11 +1299,11 @@ void sub_080A6044(void) {
gOamCmd._6 = 0; gOamCmd._6 = 0;
uVar4 = 0; uVar4 = 0;
uVar2 = 0; uVar2 = 0;
uVar1 = gSave.unk118[0]; uVar1 = gSave.kinstoneTypes[0];
while (uVar1 != 0) { while (uVar1 != 0) {
gOamCmd.x = (uVar4 & 3) * 0x30 + 0x2b; gOamCmd.x = (uVar4 & 3) * 0x30 + 0x2b;
gOamCmd.y = (uVar4 >> 2) * 0x24 + 0x34; gOamCmd.y = (uVar4 >> 2) * 0x24 + 0x34;
uVar3 = gSave.unk12B[uVar2]; uVar3 = gSave.kinstoneAmounts[uVar2];
gMenu.column_idx = 0; gMenu.column_idx = 0;
sub_080A42E0(uVar1, uVar3); sub_080A42E0(uVar1, uVar3);
uVar4++; uVar4++;
@ -1314,7 +1314,7 @@ void sub_080A6044(void) {
if (0x11 < uVar2) { if (0x11 < uVar2) {
return; return;
} }
uVar1 = gSave.unk118[uVar2]; uVar1 = gSave.kinstoneTypes[uVar2];
} }
} }
} }

View File

@ -1090,7 +1090,7 @@ bool32 sub_080782C0(void) {
} }
if (((gPlayerState.playerInput.newInput & PLAYER_INPUT_1000) != 0) && ((u8)(gUnk_03003DF0.unk_4[3] - 1) < 100)) { if (((gPlayerState.playerInput.newInput & PLAYER_INPUT_1000) != 0) && ((u8)(gUnk_03003DF0.unk_4[3] - 1) < 100)) {
sub_0801E738(0); sub_0801E738(0);
if (gSave.unk12B[0] != 0) { if (gSave.kinstoneAmounts[0] != 0) {
gUnk_03003DF0.unk_2 = gUnk_03003DF0.unk_4[3]; gUnk_03003DF0.unk_2 = gUnk_03003DF0.unk_4[3];
*(u8*)(*(int*)(gUnk_03003DF0.unk_4 + 8) + 0x39) = 2; *(u8*)(*(int*)(gUnk_03003DF0.unk_4 + 8) + 0x39) = 2;
gPlayerState.queued_action = PLAYER_08070E9C; gPlayerState.queued_action = PLAYER_08070E9C;