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];
|
/*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 */
|
||||||
|
|
34
src/common.c
34
src/common.c
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue