mirror of https://github.com/zeldaret/tmc.git
SaveFile cleanup part 2
This commit is contained in:
parent
bc22015987
commit
1e02286d2c
|
@ -353,14 +353,15 @@ typedef struct {
|
||||||
/*0x05*/ u8 arrowCount;
|
/*0x05*/ u8 arrowCount;
|
||||||
/*0x06*/ u8 bombBagType;
|
/*0x06*/ u8 bombBagType;
|
||||||
/*0x07*/ u8 quiverType;
|
/*0x07*/ u8 quiverType;
|
||||||
/*0x08*/ u8 filler[2];
|
/*0x08*/ u8 figurineCount;
|
||||||
|
/*0x09*/ u8 _hasAllFigurines;
|
||||||
/*0x0a*/ u8 charm;
|
/*0x0a*/ u8 charm;
|
||||||
/*0x0b*/ u8 picolyteType;
|
/*0x0b*/ u8 picolyteType;
|
||||||
/*0x0c*/ u8 itemButtons[2];
|
/*0x0c*/ u8 itemButtons[2];
|
||||||
/*0x0e*/ u8 bottles[4];
|
/*0x0e*/ u8 bottles[4];
|
||||||
/*0x12*/ u8 effect;
|
/*0x12*/ u8 effect;
|
||||||
/*0x13*/ u8 hasAllFigurines;
|
/*0x13*/ u8 hasAllFigurines;
|
||||||
/*0x14*/ u8 filler3[4];
|
/*0x14*/ u8 filler14[4];
|
||||||
/*0x18*/ u16 rupees;
|
/*0x18*/ u16 rupees;
|
||||||
/*0x1a*/ u16 shells;
|
/*0x1a*/ u16 shells;
|
||||||
/*0x1c*/ u16 charmTimer;
|
/*0x1c*/ u16 charmTimer;
|
||||||
|
|
|
@ -53,7 +53,7 @@ typedef struct {
|
||||||
/*0x05C*/ u32 items_bought; /**< number of items bought in stockwells shop */
|
/*0x05C*/ u32 items_bought; /**< number of items bought in stockwells shop */
|
||||||
/*0x060*/ u32 areaVisitFlags[8]; /**< Area visit flags. */
|
/*0x060*/ u32 areaVisitFlags[8]; /**< Area visit flags. */
|
||||||
/*0x080*/ char name[FILENAME_LENGTH]; /**< Save file name. */
|
/*0x080*/ char name[FILENAME_LENGTH]; /**< Save file name. */
|
||||||
/*0x086*/ u8 filler86[0x2]; /**< unused filler */
|
/*0x086*/ u8 filler86[2]; /**< unused filler */
|
||||||
/*0x088*/ PlayerRoomStatus saved_status; /**< Player room status. */
|
/*0x088*/ PlayerRoomStatus saved_status; /**< Player room status. */
|
||||||
/*0x0A8*/ Stats stats; /**< Player stats. */
|
/*0x0A8*/ Stats stats; /**< Player stats. */
|
||||||
/*0x0D0*/ u8 fillerD0[34];
|
/*0x0D0*/ u8 fillerD0[34];
|
||||||
|
|
|
@ -207,7 +207,7 @@ s32 ModHealth(s32 delta) {
|
||||||
newHealth = 0;
|
newHealth = 0;
|
||||||
}
|
}
|
||||||
if (stats->maxHealth < newHealth) {
|
if (stats->maxHealth < newHealth) {
|
||||||
newHealth = (u32)stats->maxHealth;
|
newHealth = stats->maxHealth;
|
||||||
}
|
}
|
||||||
stats->health = newHealth;
|
stats->health = newHealth;
|
||||||
gPlayerEntity.health = newHealth;
|
gPlayerEntity.health = newHealth;
|
||||||
|
|
|
@ -480,7 +480,7 @@ void sub_080880D8(FigurineDeviceEntity* this) {
|
||||||
}
|
}
|
||||||
gSave.available_figurines = this->unk_80;
|
gSave.available_figurines = this->unk_80;
|
||||||
}
|
}
|
||||||
if (CheckLocalFlag(SHOP07_COMPLETE) && (this->unk_80 != gSave.stats.filler[0])) {
|
if (CheckLocalFlag(SHOP07_COMPLETE) && (this->unk_80 != gSave.stats.figurineCount)) {
|
||||||
ClearLocalFlag(SHOP07_COMPLETE);
|
ClearLocalFlag(SHOP07_COMPLETE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -564,7 +564,7 @@ END_NONMATCH
|
||||||
|
|
||||||
void sub_0808826C(FigurineDeviceEntity* this) {
|
void sub_0808826C(FigurineDeviceEntity* this) {
|
||||||
s32 tmp = 0x64;
|
s32 tmp = 0x64;
|
||||||
tmp *= ((this->unk_80 - gSave.stats.filler[0]));
|
tmp *= ((this->unk_80 - gSave.stats.figurineCount));
|
||||||
tmp = tmp / this->unk_80;
|
tmp = tmp / this->unk_80;
|
||||||
if (tmp == 0 && !CheckLocalFlag(SHOP07_COMPLETE)) {
|
if (tmp == 0 && !CheckLocalFlag(SHOP07_COMPLETE)) {
|
||||||
tmp = 1;
|
tmp = 1;
|
||||||
|
@ -648,8 +648,8 @@ void sub_08088328(FigurineDeviceEntity* this) {
|
||||||
} while (uVar5 != uVar6);
|
} while (uVar5 != uVar6);
|
||||||
}
|
}
|
||||||
if (uVar2) {
|
if (uVar2) {
|
||||||
gSave.stats.filler[0]++;
|
gSave.stats.figurineCount++;
|
||||||
if (gSave.stats.filler[0] != this->unk_80) {
|
if (gSave.stats.figurineCount != this->unk_80) {
|
||||||
SetRoomFlag(7);
|
SetRoomFlag(7);
|
||||||
} else {
|
} else {
|
||||||
SetLocalFlag(SHOP07_COMPLETE);
|
SetLocalFlag(SHOP07_COMPLETE);
|
||||||
|
@ -661,15 +661,15 @@ void sub_08088328(FigurineDeviceEntity* this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_08088424(FigurineDeviceEntity* this) {
|
void sub_08088424(FigurineDeviceEntity* this) {
|
||||||
if (gSave.stats.filler[0] < 0x32) {
|
if (gSave.stats.figurineCount < 50) {
|
||||||
if (this->unk_83 < 0x0f) {
|
if (this->unk_83 < 0x0f) {
|
||||||
this->unk_83 = 0x0f;
|
this->unk_83 = 0x0f;
|
||||||
}
|
}
|
||||||
} else if (gSave.stats.filler[0] < 0x50) {
|
} else if (gSave.stats.figurineCount < 80) {
|
||||||
if (this->unk_83 < 0xc) {
|
if (this->unk_83 < 0xc) {
|
||||||
this->unk_83 = 0xc;
|
this->unk_83 = 0xc;
|
||||||
}
|
}
|
||||||
} else if (gSave.stats.filler[0] < 0x6e) {
|
} else if (gSave.stats.figurineCount < 110) {
|
||||||
if (this->unk_83 < 9) {
|
if (this->unk_83 < 9) {
|
||||||
this->unk_83 = 9;
|
this->unk_83 = 9;
|
||||||
}
|
}
|
||||||
|
@ -691,12 +691,12 @@ void sub_08088478(void) {
|
||||||
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x25);
|
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x25);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch (gSave.stats.filler[0]) {
|
switch (gSave.stats.figurineCount) {
|
||||||
case 0x88:
|
case 136:
|
||||||
gSave.stats.filler[1] = 0xff;
|
gSave.stats._hasAllFigurines = 0xff;
|
||||||
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x29);
|
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x29);
|
||||||
break;
|
break;
|
||||||
case 0x82:
|
case 130:
|
||||||
if (gSave.saw_staffroll) {
|
if (gSave.saw_staffroll) {
|
||||||
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x27);
|
messageIndex = TEXT_INDEX(TEXT_CARLOV, 0x27);
|
||||||
} else {
|
} else {
|
||||||
|
@ -720,11 +720,11 @@ void sub_08088478(void) {
|
||||||
|
|
||||||
void sub_08088504(void) {
|
void sub_08088504(void) {
|
||||||
u32 index;
|
u32 index;
|
||||||
switch (gSave.stats.filler[0]) {
|
switch (gSave.stats.figurineCount) {
|
||||||
case 0x88:
|
case 136:
|
||||||
index = TEXT_INDEX(TEXT_CARLOV, 0x2f);
|
index = TEXT_INDEX(TEXT_CARLOV, 0x2f);
|
||||||
break;
|
break;
|
||||||
case 0x82:
|
case 130:
|
||||||
index = TEXT_INDEX(TEXT_CARLOV, 0x14);
|
index = TEXT_INDEX(TEXT_CARLOV, 0x14);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -738,7 +738,7 @@ void sub_08088504(void) {
|
||||||
|
|
||||||
void sub_08088544(void) {
|
void sub_08088544(void) {
|
||||||
u32 index;
|
u32 index;
|
||||||
if (gSave.stats.filler[0] != 0x82) {
|
if (gSave.stats.figurineCount != 130) {
|
||||||
index = TEXT_INDEX(TEXT_CARLOV, 0xe);
|
index = TEXT_INDEX(TEXT_CARLOV, 0xe);
|
||||||
} else {
|
} else {
|
||||||
index = TEXT_INDEX(TEXT_CARLOV, 0x15);
|
index = TEXT_INDEX(TEXT_CARLOV, 0x15);
|
||||||
|
@ -776,7 +776,7 @@ void sub_080885B0(void) {
|
||||||
gMessage.textWindowPosX = 1;
|
gMessage.textWindowPosX = 1;
|
||||||
gMessage.textWindowPosY = 0xc;
|
gMessage.textWindowPosY = 0xc;
|
||||||
}
|
}
|
||||||
} else if (gSave.stats.filler[1] != 0) {
|
} else if (gSave.stats._hasAllFigurines != 0) {
|
||||||
// GOT ALL THEM FIGURINES (:
|
// GOT ALL THEM FIGURINES (:
|
||||||
gSave.stats.hasAllFigurines = 1;
|
gSave.stats.hasAllFigurines = 1;
|
||||||
CreateItemEntity(ITEM_QST_CARLOV_MEDAL, 0, 0);
|
CreateItemEntity(ITEM_QST_CARLOV_MEDAL, 0, 0);
|
||||||
|
|
|
@ -282,7 +282,7 @@ extern ScriptExecutionContext gPlayerScriptExecutionContext;
|
||||||
bool32 CheckInitPauseMenu(void) {
|
bool32 CheckInitPauseMenu(void) {
|
||||||
u32 framestate;
|
u32 framestate;
|
||||||
if (((gInput.newKeys & START_BUTTON) == 0 || gFadeControl.active || gPauseMenuOptions.disabled ||
|
if (((gInput.newKeys & START_BUTTON) == 0 || gFadeControl.active || gPauseMenuOptions.disabled ||
|
||||||
(gMessage.doTextBox & 0x7F) || gSave.stats.health == 0 || !gSave.fillerD0[34] ||
|
(gMessage.doTextBox & 0x7F) || gSave.stats.health == 0 || !gSave.inventory[0] ||
|
||||||
gPlayerState.controlMode != 0 || gPriorityHandler.priority_timer != 0)) {
|
gPlayerState.controlMode != 0 || gPriorityHandler.priority_timer != 0)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue