mirror of https://github.com/zeldaret/tmc.git
Give unk118 and unk12B in SaveFile names
This commit is contained in:
parent
fbdd0078cd
commit
c8d37f73c8
|
@ -58,8 +58,9 @@ typedef struct {
|
|||
/*0x0F2*/ u8 inventory[36];
|
||||
/*0x116*/ u8 didAllFusions;
|
||||
/*0x117*/ u8 fusedKinstoneCount;
|
||||
/*0x118*/ u8 unk118[0x13]; // TODO also related to kinstones
|
||||
/*0x12B*/ u8 unk12B[0x16]; // TODO also related to kinstones
|
||||
/*0x118*/ u8 kinstoneTypes[0x13]; // 0x65-0x75 for each kinstone type present in kinstone bag
|
||||
/*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
|
||||
/*0x1C1*/ u8 fuserOffers[128]; // available kinstone fusion for each fuser
|
||||
/*0x241*/ u8 fusedKinstones[13]; /**< Bitfield for fused kinstones. @see CheckKinstoneFused */
|
||||
|
|
34
src/common.c
34
src/common.c
|
@ -776,17 +776,17 @@ void sub_0801E738(u32 param_1) {
|
|||
index = sub_0801E8B0(param_1);
|
||||
if (index < 0) {
|
||||
index = 0;
|
||||
while (gSave.unk118[index] != 0) {
|
||||
while (gSave.kinstoneTypes[index] != 0) {
|
||||
index++;
|
||||
}
|
||||
}
|
||||
if ((u32)index < 0x12) {
|
||||
gSave.unk118[index] = param_1;
|
||||
tmp = gSave.unk12B[index] + 1;
|
||||
gSave.kinstoneTypes[index] = param_1;
|
||||
tmp = gSave.kinstoneAmounts[index] + 1;
|
||||
if (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) {
|
||||
s32 idx = sub_0801E8B0(a1);
|
||||
if (idx >= 0) {
|
||||
s32 next = gSave.unk12B[idx] - 1;
|
||||
s32 next = gSave.kinstoneAmounts[idx] - 1;
|
||||
if (next <= 0) {
|
||||
gSave.unk118[idx] = 0;
|
||||
gSave.kinstoneTypes[idx] = 0;
|
||||
next = 0;
|
||||
}
|
||||
gSave.unk12B[idx] = next;
|
||||
gSave.kinstoneAmounts[idx] = next;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -808,7 +808,7 @@ u32 sub_0801E7D0(u32 a1) {
|
|||
if (tmp < 0) {
|
||||
return 0;
|
||||
}
|
||||
return gSave.unk12B[tmp];
|
||||
return gSave.kinstoneAmounts[tmp];
|
||||
}
|
||||
|
||||
u32 CheckKinstoneFused(u32 kinstoneId) {
|
||||
|
@ -830,18 +830,18 @@ void sub_0801E82C(void) {
|
|||
u32 r5;
|
||||
|
||||
for (r5 = 0; r5 < 0x13; r5++) {
|
||||
if (gSave.unk12B[r5] == 0) {
|
||||
gSave.unk118[r5] = gSave.unk12B[r5];
|
||||
if (gSave.kinstoneAmounts[r5] == 0) {
|
||||
gSave.kinstoneTypes[r5] = gSave.kinstoneAmounts[r5];
|
||||
}
|
||||
}
|
||||
|
||||
gSave.unk118[0x12] = 0;
|
||||
gSave.unk12B[0x12] = 0;
|
||||
gSave.kinstoneTypes[0x12] = 0;
|
||||
gSave.kinstoneAmounts[0x12] = 0;
|
||||
|
||||
for (r5 = 0; r5 < 0x12; r5++) {
|
||||
if ((gSave.unk118[r5] - 0x65) > 0x10) {
|
||||
MemCopy(&gSave.unk118[r5 + 1], &gSave.unk118[r5], 0x12 - r5);
|
||||
MemCopy(&gSave.unk12B[r5 + 1], &gSave.unk12B[r5], 0x12 - r5);
|
||||
if ((gSave.kinstoneTypes[r5] - 0x65) > 0x10) {
|
||||
MemCopy(&gSave.kinstoneTypes[r5 + 1], &gSave.kinstoneTypes[r5], 0x12 - r5);
|
||||
MemCopy(&gSave.kinstoneAmounts[r5 + 1], &gSave.kinstoneAmounts[r5], 0x12 - r5);
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
@ -852,7 +852,7 @@ void sub_0801E82C(void) {
|
|||
new_var = 4;
|
||||
r1 = &gSave.inventory[34];
|
||||
r5 = 0;
|
||||
r2 = gSave.unk118;
|
||||
r2 = gSave.kinstoneTypes;
|
||||
code0_0:
|
||||
r0 = r2[0x13];
|
||||
r3 = &r1[4];
|
||||
|
@ -893,7 +893,7 @@ s32 sub_0801E8B0(u32 idx) {
|
|||
u32 i;
|
||||
|
||||
for (i = 0; i < 18; ++i) {
|
||||
if (idx == gSave.unk118[i])
|
||||
if (idx == gSave.kinstoneTypes[i])
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
|
|
|
@ -86,7 +86,7 @@ const ScreenTransitionData gUnk_08128024[] = {
|
|||
u32 sub_080A3B48(void) {
|
||||
u32 index;
|
||||
for (index = 0; index <= 0x12; index++) {
|
||||
if (gSave.unk12B[index] == 0) {
|
||||
if (gSave.kinstoneAmounts[index] == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ void KinstoneMenu_Type1(void) {
|
|||
case A_BUTTON:
|
||||
if (gMenu.column_idx == 2) {
|
||||
tmp3 = gGenericMenu.unk10.i / 0x10000;
|
||||
gGenericMenu.unk2a = gSave.unk118[tmp3];
|
||||
gGenericMenu.unk2a = gSave.kinstoneTypes[tmp3];
|
||||
SetMenuType(3);
|
||||
}
|
||||
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;
|
||||
iVar2 = gKinstoneMenu.unk10.WORD / 0x10000 + i;
|
||||
if (iVar2 >= 0) {
|
||||
uVar3 = gSave.unk12B[iVar2];
|
||||
uVar3 = gSave.kinstoneAmounts[iVar2];
|
||||
if (i == 0) {
|
||||
switch (gMenu.column_idx) {
|
||||
case 3:
|
||||
|
@ -460,7 +460,7 @@ NONMATCH("asm/non_matching/menu/kinstone_menu/KinstoneMenu_080A414C.inc", void K
|
|||
}
|
||||
}
|
||||
if (0 < uVar3) {
|
||||
sub_080A42E0(gSave.unk118[iVar2], uVar3);
|
||||
sub_080A42E0(gSave.kinstoneTypes[iVar2], uVar3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -665,7 +665,7 @@ void sub_080A5594(void) {
|
|||
iVar5 = 0;
|
||||
if (GetInventoryValue(ITEM_KINSTONE_BAG) != 0) {
|
||||
for (i = 0; i < 0x13; i++) {
|
||||
iVar5 += gSave.unk12B[i];
|
||||
iVar5 += gSave.kinstoneAmounts[i];
|
||||
}
|
||||
|
||||
if (iVar5 >= 0x50) {
|
||||
|
@ -1299,11 +1299,11 @@ void sub_080A6044(void) {
|
|||
gOamCmd._6 = 0;
|
||||
uVar4 = 0;
|
||||
uVar2 = 0;
|
||||
uVar1 = gSave.unk118[0];
|
||||
uVar1 = gSave.kinstoneTypes[0];
|
||||
while (uVar1 != 0) {
|
||||
gOamCmd.x = (uVar4 & 3) * 0x30 + 0x2b;
|
||||
gOamCmd.y = (uVar4 >> 2) * 0x24 + 0x34;
|
||||
uVar3 = gSave.unk12B[uVar2];
|
||||
uVar3 = gSave.kinstoneAmounts[uVar2];
|
||||
gMenu.column_idx = 0;
|
||||
sub_080A42E0(uVar1, uVar3);
|
||||
uVar4++;
|
||||
|
@ -1314,7 +1314,7 @@ void sub_080A6044(void) {
|
|||
if (0x11 < uVar2) {
|
||||
return;
|
||||
}
|
||||
uVar1 = gSave.unk118[uVar2];
|
||||
uVar1 = gSave.kinstoneTypes[uVar2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1090,7 +1090,7 @@ bool32 sub_080782C0(void) {
|
|||
}
|
||||
if (((gPlayerState.playerInput.newInput & PLAYER_INPUT_1000) != 0) && ((u8)(gUnk_03003DF0.unk_4[3] - 1) < 100)) {
|
||||
sub_0801E738(0);
|
||||
if (gSave.unk12B[0] != 0) {
|
||||
if (gSave.kinstoneAmounts[0] != 0) {
|
||||
gUnk_03003DF0.unk_2 = gUnk_03003DF0.unk_4[3];
|
||||
*(u8*)(*(int*)(gUnk_03003DF0.unk_4 + 8) + 0x39) = 2;
|
||||
gPlayerState.queued_action = PLAYER_08070E9C;
|
||||
|
|
Loading…
Reference in New Issue