z_sram_NES with 2 NON_MATCHINGs and 1 NON_EQUIVALENTs (#531)

* Rename Sram_InitDebugSave

* Sram_InitDebugSave

* err

* Sram_IncrementDay

* non_matchings

* func_80146F5C and protos

* func_80146EE8

* func_80145698

* func_80143A54

* Split SaveContext

* problems with bss

* Fix bss

* more

* a small bunch

* Fix warnings

* almost everything

* two attempts

* at least compiles

* import data

* bss

* format

* stuff?

* Progress?

* More progress

* clean up data a little

* More progress

* disaster

* re split data

* A bit less of a disaster

* Fix renamed stuff

* data stuff

* fix conflicts

* format

* CycleSceneFlags

* some enums

* cleanup

* Fix merge issues

* format

* some changes

* format

* Lots of progress on z_sram_NES, but no matches yet

* SaveContent Documentation

* Oops

* Oops2

* Document more SaveContext

* Oops, don't need that anymore

* add small comment

* Another comment

* dekuPlaygroundPlayerName

* Fix merge issues

* format

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* remove magic number

* format

* fix merge issues

* bss

* format

* macro cleanup

* review

* merge issues

* review

* cleanup

* UNK_TYPE1

* Fix

* Remove comment

* small change

* conflicts

* review

* fix

* fixes

* format

* Update actorCtx renames part

* Match func_80143B0C thanks to Petrie and Anon

* minor cleaning pass

* format

* cleanup

* more minor cleanups

* Macros for accessing gSaveContext.save.stolenItems

* Introduce STOLEN_ITEM_NONE and remove CLEAR_STOLEN_ITEM_

* format

* Update include/macros.h

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/code/z_sram_NES.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* @hensldm review

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Rename QUEST_SONG_NEW_WAVE

* Add scene name comments to D_801C5FC0

* rename horseData.yaw

* Update include/functions.h

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/code/z_sram_NES.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* // = CUR_UPG_VALUE(UPG_WALLET);

* run actorfixer and format

* fix bss

* Fix merge problems and run format

* Some improvements to func_801457CC by anon

* bss

* format

* run actorfixer

* actorfixer, bss and format

* Use original names for the RESPAWN_MODE enum because the current ones are bad

* QUEST_SONG_BOSSA_NOVA

* some minor fixes on the SaveContext struct according to the debug rom

* Merge Inventory.items and Inventory.masks

* a

* simplify saveBuf accesses

* A few func renames

* actorfixer

* bss

* fixes

* bss

* actorfixer

* actorfixer and format

* actorfixer

* whoops

* whops

* bss

Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
Anghelo Carvajal
2022-03-27 12:37:02 -03:00
committed by GitHub
parent 95c6ddbcc8
commit b08880f7a7
201 changed files with 4584 additions and 2880 deletions
+24 -21
View File
@@ -504,7 +504,7 @@ void Inventory_ChangeEquipment(s16 value) {
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) {
Player* player = GET_PLAYER(globalCtx);
if (CUR_EQUIP_VALUE_VOID(EQUIP_SHIELD) != 0) {
if (GET_CUR_EQUIP_VALUE(EQUIP_SHIELD) != 0) {
SET_EQUIP_VALUE(EQUIP_SHIELD, 0);
Player_SetEquipmentData(globalCtx, player);
return true;
@@ -514,12 +514,12 @@ u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) {
}
void Inventory_ChangeUpgrade(s16 upgrade, u32 value) {
u32 upgrades = gSaveContext.inventory.upgrades;
u32 upgrades = gSaveContext.save.inventory.upgrades;
upgrades &= gUpgradeNegMasks[upgrade];
upgrades |= value << gUpgradeShifts[upgrade];
gSaveContext.inventory.upgrades = upgrades;
gSaveContext.save.inventory.upgrades = upgrades;
}
s32 Inventory_IsMapVisible(s16 sceneNum) {
@@ -546,7 +546,7 @@ s32 Inventory_IsMapVisible(s16 sceneNum) {
}
}
if (gSaveContext.scenesVisible[index] & gBitFlags[sceneNum - (index << 5)]) {
if (gSaveContext.save.scenesVisible[index] & gBitFlags[sceneNum - (index << 5)]) {
return true;
}
@@ -659,23 +659,23 @@ void Inventory_SetMapVisibility(s16 tingleIndex) {
index = 6;
}
gSaveContext.scenesVisible[index] =
gSaveContext.scenesVisible[index] | gBitFlags[(s16)(*tingleMapSceneIndices)[i] - (index << 5)];
gSaveContext.save.scenesVisible[index] =
gSaveContext.save.scenesVisible[index] | gBitFlags[(s16)(*tingleMapSceneIndices)[i] - (index << 5)];
i++;
}
if ((*tingleMapSceneIndices) == sScenesPerTingleMap[0]) {
gSaveContext.mapsVisible |= 3;
gSaveContext.save.mapsVisible |= 3;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[1]) {
gSaveContext.mapsVisible |= 0x1C;
gSaveContext.save.mapsVisible |= 0x1C;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[2]) {
gSaveContext.mapsVisible |= 0xE0;
gSaveContext.save.mapsVisible |= 0xE0;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[3]) {
gSaveContext.mapsVisible |= 0x100;
gSaveContext.save.mapsVisible |= 0x100;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[4]) {
gSaveContext.mapsVisible |= 0x1E00;
gSaveContext.save.mapsVisible |= 0x1E00;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[5]) {
gSaveContext.mapsVisible |= 0x6000;
gSaveContext.save.mapsVisible |= 0x6000;
}
}
@@ -688,32 +688,34 @@ void Inventory_SetMapVisibility(s16 tingleIndex) {
void Inventory_SaveDekuPlaygroundHighScore(s16 timerId) {
s16 i;
gSaveContext.dekuPlaygroundHighScores[CURRENT_DAY - 1] = gSaveContext.unk_3DE0[timerId];
gSaveContext.save.dekuPlaygroundHighScores[CURRENT_DAY - 1] = gSaveContext.unk_3DE0[timerId];
for (i = 0; i < 8; i++) {
gSaveContext.inventory.dekuPlaygroundPlayerName[CURRENT_DAY - 1][i] = gSaveContext.playerName[i];
gSaveContext.save.inventory.dekuPlaygroundPlayerName[CURRENT_DAY - 1][i] =
gSaveContext.save.playerData.playerName[i];
}
}
void Inventory_IncrementSkullTokenCount(s16 sceneIndex) {
if (sceneIndex == SCENE_KINSTA1) {
// Swamp Spider House (increment high bits of skullTokenCount)
gSaveContext.skullTokenCount = ((u16)(((gSaveContext.skullTokenCount & 0xFFFF0000) >> 0x10) + 1) << 0x10) |
(gSaveContext.skullTokenCount & 0xFFFF);
gSaveContext.save.skullTokenCount =
((u16)(((gSaveContext.save.skullTokenCount & 0xFFFF0000) >> 0x10) + 1) << 0x10) |
(gSaveContext.save.skullTokenCount & 0xFFFF);
} else {
// Ocean Spider House (increment low bits of skullTokenCount)
gSaveContext.skullTokenCount =
(((u16)gSaveContext.skullTokenCount + 1) & 0xFFFF) | (gSaveContext.skullTokenCount & 0xFFFF0000);
gSaveContext.save.skullTokenCount =
(((u16)gSaveContext.save.skullTokenCount + 1) & 0xFFFF) | (gSaveContext.save.skullTokenCount & 0xFFFF0000);
}
}
s16 Inventory_GetSkullTokenCount(s16 sceneIndex) {
if (sceneIndex == SCENE_KINSTA1) {
// Swamp Spider House
return (gSaveContext.skullTokenCount & 0xFFFF0000) >> 0x10;
return (gSaveContext.save.skullTokenCount & 0xFFFF0000) >> 0x10;
} else {
// Ocean Spider House
return gSaveContext.skullTokenCount & 0xFFFF;
return gSaveContext.save.skullTokenCount & 0xFFFF;
}
}
@@ -723,5 +725,6 @@ void Inventory_SaveLotteryCodeGuess(GlobalContext* globalCtx) {
lotteryCodeGuess = ((globalCtx->msgCtx.unk12054[0] & 0xF) << 8); // First Digit
lotteryCodeGuess |= ((globalCtx->msgCtx.unk12054[1] & 0xF) << 4); // Second Digit
lotteryCodeGuess |= (globalCtx->msgCtx.unk12054[2] & 0xF); // Third Digit
gSaveContext.lotteryCodeGuess = (gSaveContext.lotteryCodeGuess & 0xFFFF0000) | (lotteryCodeGuess & 0xFFFF);
gSaveContext.save.lotteryCodeGuess =
(gSaveContext.save.lotteryCodeGuess & 0xFFFF0000) | (lotteryCodeGuess & 0xFFFF);
}
+102 -102
View File
@@ -12,106 +12,106 @@
#include "global.h"
static FlagSetEntry sFlagEntries[] = {
{ &gSaveContext.weekEventReg[0], "week_event_reg[0]" },
{ &gSaveContext.weekEventReg[1], "week_event_reg[1]" },
{ &gSaveContext.weekEventReg[2], "week_event_reg[2]" },
{ &gSaveContext.weekEventReg[3], "week_event_reg[3]" },
{ &gSaveContext.weekEventReg[4], "week_event_reg[4]" },
{ &gSaveContext.weekEventReg[5], "week_event_reg[5]" },
{ &gSaveContext.weekEventReg[6], "week_event_reg[6]" },
{ &gSaveContext.weekEventReg[7], "week_event_reg[7]" },
{ &gSaveContext.weekEventReg[8], "week_event_reg[8]" },
{ &gSaveContext.weekEventReg[9], "week_event_reg[9]" },
{ &gSaveContext.weekEventReg[10], "week_event_reg[10]" },
{ &gSaveContext.weekEventReg[11], "week_event_reg[11]" },
{ &gSaveContext.weekEventReg[12], "week_event_reg[12]" },
{ &gSaveContext.weekEventReg[13], "week_event_reg[13]" },
{ &gSaveContext.weekEventReg[14], "week_event_reg[14]" },
{ &gSaveContext.weekEventReg[15], "week_event_reg[15]" },
{ &gSaveContext.weekEventReg[16], "week_event_reg[16]" },
{ &gSaveContext.weekEventReg[17], "week_event_reg[17]" },
{ &gSaveContext.weekEventReg[18], "week_event_reg[18]" },
{ &gSaveContext.weekEventReg[19], "week_event_reg[19]" },
{ &gSaveContext.weekEventReg[20], "week_event_reg[20]" },
{ &gSaveContext.weekEventReg[21], "week_event_reg[21]" },
{ &gSaveContext.weekEventReg[22], "week_event_reg[22]" },
{ &gSaveContext.weekEventReg[23], "week_event_reg[23]" },
{ &gSaveContext.weekEventReg[24], "week_event_reg[24]" },
{ &gSaveContext.weekEventReg[25], "week_event_reg[25]" },
{ &gSaveContext.weekEventReg[26], "week_event_reg[26]" },
{ &gSaveContext.weekEventReg[27], "week_event_reg[27]" },
{ &gSaveContext.weekEventReg[28], "week_event_reg[28]" },
{ &gSaveContext.weekEventReg[29], "week_event_reg[29]" },
{ &gSaveContext.weekEventReg[30], "week_event_reg[30]" },
{ &gSaveContext.weekEventReg[31], "week_event_reg[31]" },
{ &gSaveContext.weekEventReg[32], "week_event_reg[32]" },
{ &gSaveContext.weekEventReg[33], "week_event_reg[33]" },
{ &gSaveContext.weekEventReg[34], "week_event_reg[34]" },
{ &gSaveContext.weekEventReg[35], "week_event_reg[35]" },
{ &gSaveContext.weekEventReg[36], "week_event_reg[36]" },
{ &gSaveContext.weekEventReg[37], "week_event_reg[37]" },
{ &gSaveContext.weekEventReg[38], "week_event_reg[38]" },
{ &gSaveContext.weekEventReg[39], "week_event_reg[39]" },
{ &gSaveContext.weekEventReg[40], "week_event_reg[40]" },
{ &gSaveContext.weekEventReg[41], "week_event_reg[41]" },
{ &gSaveContext.weekEventReg[42], "week_event_reg[42]" },
{ &gSaveContext.weekEventReg[43], "week_event_reg[43]" },
{ &gSaveContext.weekEventReg[44], "week_event_reg[44]" },
{ &gSaveContext.weekEventReg[45], "week_event_reg[45]" },
{ &gSaveContext.weekEventReg[46], "week_event_reg[46]" },
{ &gSaveContext.weekEventReg[47], "week_event_reg[47]" },
{ &gSaveContext.weekEventReg[48], "week_event_reg[48]" },
{ &gSaveContext.weekEventReg[49], "week_event_reg[49]" },
{ &gSaveContext.weekEventReg[50], "week_event_reg[50]" },
{ &gSaveContext.weekEventReg[51], "week_event_reg[51]" },
{ &gSaveContext.weekEventReg[52], "week_event_reg[52]" },
{ &gSaveContext.weekEventReg[53], "week_event_reg[53]" },
{ &gSaveContext.weekEventReg[54], "week_event_reg[54]" },
{ &gSaveContext.weekEventReg[55], "week_event_reg[55]" },
{ &gSaveContext.weekEventReg[56], "week_event_reg[56]" },
{ &gSaveContext.weekEventReg[57], "week_event_reg[57]" },
{ &gSaveContext.weekEventReg[58], "week_event_reg[58]" },
{ &gSaveContext.weekEventReg[59], "week_event_reg[59]" },
{ &gSaveContext.weekEventReg[60], "week_event_reg[60]" },
{ &gSaveContext.weekEventReg[61], "week_event_reg[61]" },
{ &gSaveContext.weekEventReg[62], "week_event_reg[62]" },
{ &gSaveContext.weekEventReg[63], "week_event_reg[63]" },
{ &gSaveContext.weekEventReg[64], "week_event_reg[64]" },
{ &gSaveContext.weekEventReg[65], "week_event_reg[65]" },
{ &gSaveContext.weekEventReg[66], "week_event_reg[66]" },
{ &gSaveContext.weekEventReg[67], "week_event_reg[67]" },
{ &gSaveContext.weekEventReg[68], "week_event_reg[68]" },
{ &gSaveContext.weekEventReg[69], "week_event_reg[69]" },
{ &gSaveContext.weekEventReg[70], "week_event_reg[70]" },
{ &gSaveContext.weekEventReg[71], "week_event_reg[71]" },
{ &gSaveContext.weekEventReg[72], "week_event_reg[72]" },
{ &gSaveContext.weekEventReg[73], "week_event_reg[73]" },
{ &gSaveContext.weekEventReg[74], "week_event_reg[74]" },
{ &gSaveContext.weekEventReg[75], "week_event_reg[75]" },
{ &gSaveContext.weekEventReg[76], "week_event_reg[76]" },
{ &gSaveContext.weekEventReg[77], "week_event_reg[77]" },
{ &gSaveContext.weekEventReg[78], "week_event_reg[78]" },
{ &gSaveContext.weekEventReg[79], "week_event_reg[79]" },
{ &gSaveContext.weekEventReg[80], "week_event_reg[80]" },
{ &gSaveContext.weekEventReg[81], "week_event_reg[81]" },
{ &gSaveContext.weekEventReg[82], "week_event_reg[82]" },
{ &gSaveContext.weekEventReg[83], "week_event_reg[83]" },
{ &gSaveContext.weekEventReg[84], "week_event_reg[84]" },
{ &gSaveContext.weekEventReg[85], "week_event_reg[85]" },
{ &gSaveContext.weekEventReg[86], "week_event_reg[86]" },
{ &gSaveContext.weekEventReg[87], "week_event_reg[87]" },
{ &gSaveContext.weekEventReg[88], "week_event_reg[88]" },
{ &gSaveContext.weekEventReg[89], "week_event_reg[89]" },
{ &gSaveContext.weekEventReg[90], "week_event_reg[90]" },
{ &gSaveContext.weekEventReg[91], "week_event_reg[91]" },
{ &gSaveContext.weekEventReg[92], "week_event_reg[92]" },
{ &gSaveContext.weekEventReg[93], "week_event_reg[93]" },
{ &gSaveContext.weekEventReg[94], "week_event_reg[94]" },
{ &gSaveContext.weekEventReg[95], "week_event_reg[95]" },
{ &gSaveContext.weekEventReg[96], "week_event_reg[96]" },
{ &gSaveContext.weekEventReg[97], "week_event_reg[97]" },
{ &gSaveContext.weekEventReg[98], "week_event_reg[98]" },
{ &gSaveContext.weekEventReg[99], "week_event_reg[99]" },
{ &gSaveContext.save.weekEventReg[0], "week_event_reg[0]" },
{ &gSaveContext.save.weekEventReg[1], "week_event_reg[1]" },
{ &gSaveContext.save.weekEventReg[2], "week_event_reg[2]" },
{ &gSaveContext.save.weekEventReg[3], "week_event_reg[3]" },
{ &gSaveContext.save.weekEventReg[4], "week_event_reg[4]" },
{ &gSaveContext.save.weekEventReg[5], "week_event_reg[5]" },
{ &gSaveContext.save.weekEventReg[6], "week_event_reg[6]" },
{ &gSaveContext.save.weekEventReg[7], "week_event_reg[7]" },
{ &gSaveContext.save.weekEventReg[8], "week_event_reg[8]" },
{ &gSaveContext.save.weekEventReg[9], "week_event_reg[9]" },
{ &gSaveContext.save.weekEventReg[10], "week_event_reg[10]" },
{ &gSaveContext.save.weekEventReg[11], "week_event_reg[11]" },
{ &gSaveContext.save.weekEventReg[12], "week_event_reg[12]" },
{ &gSaveContext.save.weekEventReg[13], "week_event_reg[13]" },
{ &gSaveContext.save.weekEventReg[14], "week_event_reg[14]" },
{ &gSaveContext.save.weekEventReg[15], "week_event_reg[15]" },
{ &gSaveContext.save.weekEventReg[16], "week_event_reg[16]" },
{ &gSaveContext.save.weekEventReg[17], "week_event_reg[17]" },
{ &gSaveContext.save.weekEventReg[18], "week_event_reg[18]" },
{ &gSaveContext.save.weekEventReg[19], "week_event_reg[19]" },
{ &gSaveContext.save.weekEventReg[20], "week_event_reg[20]" },
{ &gSaveContext.save.weekEventReg[21], "week_event_reg[21]" },
{ &gSaveContext.save.weekEventReg[22], "week_event_reg[22]" },
{ &gSaveContext.save.weekEventReg[23], "week_event_reg[23]" },
{ &gSaveContext.save.weekEventReg[24], "week_event_reg[24]" },
{ &gSaveContext.save.weekEventReg[25], "week_event_reg[25]" },
{ &gSaveContext.save.weekEventReg[26], "week_event_reg[26]" },
{ &gSaveContext.save.weekEventReg[27], "week_event_reg[27]" },
{ &gSaveContext.save.weekEventReg[28], "week_event_reg[28]" },
{ &gSaveContext.save.weekEventReg[29], "week_event_reg[29]" },
{ &gSaveContext.save.weekEventReg[30], "week_event_reg[30]" },
{ &gSaveContext.save.weekEventReg[31], "week_event_reg[31]" },
{ &gSaveContext.save.weekEventReg[32], "week_event_reg[32]" },
{ &gSaveContext.save.weekEventReg[33], "week_event_reg[33]" },
{ &gSaveContext.save.weekEventReg[34], "week_event_reg[34]" },
{ &gSaveContext.save.weekEventReg[35], "week_event_reg[35]" },
{ &gSaveContext.save.weekEventReg[36], "week_event_reg[36]" },
{ &gSaveContext.save.weekEventReg[37], "week_event_reg[37]" },
{ &gSaveContext.save.weekEventReg[38], "week_event_reg[38]" },
{ &gSaveContext.save.weekEventReg[39], "week_event_reg[39]" },
{ &gSaveContext.save.weekEventReg[40], "week_event_reg[40]" },
{ &gSaveContext.save.weekEventReg[41], "week_event_reg[41]" },
{ &gSaveContext.save.weekEventReg[42], "week_event_reg[42]" },
{ &gSaveContext.save.weekEventReg[43], "week_event_reg[43]" },
{ &gSaveContext.save.weekEventReg[44], "week_event_reg[44]" },
{ &gSaveContext.save.weekEventReg[45], "week_event_reg[45]" },
{ &gSaveContext.save.weekEventReg[46], "week_event_reg[46]" },
{ &gSaveContext.save.weekEventReg[47], "week_event_reg[47]" },
{ &gSaveContext.save.weekEventReg[48], "week_event_reg[48]" },
{ &gSaveContext.save.weekEventReg[49], "week_event_reg[49]" },
{ &gSaveContext.save.weekEventReg[50], "week_event_reg[50]" },
{ &gSaveContext.save.weekEventReg[51], "week_event_reg[51]" },
{ &gSaveContext.save.weekEventReg[52], "week_event_reg[52]" },
{ &gSaveContext.save.weekEventReg[53], "week_event_reg[53]" },
{ &gSaveContext.save.weekEventReg[54], "week_event_reg[54]" },
{ &gSaveContext.save.weekEventReg[55], "week_event_reg[55]" },
{ &gSaveContext.save.weekEventReg[56], "week_event_reg[56]" },
{ &gSaveContext.save.weekEventReg[57], "week_event_reg[57]" },
{ &gSaveContext.save.weekEventReg[58], "week_event_reg[58]" },
{ &gSaveContext.save.weekEventReg[59], "week_event_reg[59]" },
{ &gSaveContext.save.weekEventReg[60], "week_event_reg[60]" },
{ &gSaveContext.save.weekEventReg[61], "week_event_reg[61]" },
{ &gSaveContext.save.weekEventReg[62], "week_event_reg[62]" },
{ &gSaveContext.save.weekEventReg[63], "week_event_reg[63]" },
{ &gSaveContext.save.weekEventReg[64], "week_event_reg[64]" },
{ &gSaveContext.save.weekEventReg[65], "week_event_reg[65]" },
{ &gSaveContext.save.weekEventReg[66], "week_event_reg[66]" },
{ &gSaveContext.save.weekEventReg[67], "week_event_reg[67]" },
{ &gSaveContext.save.weekEventReg[68], "week_event_reg[68]" },
{ &gSaveContext.save.weekEventReg[69], "week_event_reg[69]" },
{ &gSaveContext.save.weekEventReg[70], "week_event_reg[70]" },
{ &gSaveContext.save.weekEventReg[71], "week_event_reg[71]" },
{ &gSaveContext.save.weekEventReg[72], "week_event_reg[72]" },
{ &gSaveContext.save.weekEventReg[73], "week_event_reg[73]" },
{ &gSaveContext.save.weekEventReg[74], "week_event_reg[74]" },
{ &gSaveContext.save.weekEventReg[75], "week_event_reg[75]" },
{ &gSaveContext.save.weekEventReg[76], "week_event_reg[76]" },
{ &gSaveContext.save.weekEventReg[77], "week_event_reg[77]" },
{ &gSaveContext.save.weekEventReg[78], "week_event_reg[78]" },
{ &gSaveContext.save.weekEventReg[79], "week_event_reg[79]" },
{ &gSaveContext.save.weekEventReg[80], "week_event_reg[80]" },
{ &gSaveContext.save.weekEventReg[81], "week_event_reg[81]" },
{ &gSaveContext.save.weekEventReg[82], "week_event_reg[82]" },
{ &gSaveContext.save.weekEventReg[83], "week_event_reg[83]" },
{ &gSaveContext.save.weekEventReg[84], "week_event_reg[84]" },
{ &gSaveContext.save.weekEventReg[85], "week_event_reg[85]" },
{ &gSaveContext.save.weekEventReg[86], "week_event_reg[86]" },
{ &gSaveContext.save.weekEventReg[87], "week_event_reg[87]" },
{ &gSaveContext.save.weekEventReg[88], "week_event_reg[88]" },
{ &gSaveContext.save.weekEventReg[89], "week_event_reg[89]" },
{ &gSaveContext.save.weekEventReg[90], "week_event_reg[90]" },
{ &gSaveContext.save.weekEventReg[91], "week_event_reg[91]" },
{ &gSaveContext.save.weekEventReg[92], "week_event_reg[92]" },
{ &gSaveContext.save.weekEventReg[93], "week_event_reg[93]" },
{ &gSaveContext.save.weekEventReg[94], "week_event_reg[94]" },
{ &gSaveContext.save.weekEventReg[95], "week_event_reg[95]" },
{ &gSaveContext.save.weekEventReg[96], "week_event_reg[96]" },
{ &gSaveContext.save.weekEventReg[97], "week_event_reg[97]" },
{ &gSaveContext.save.weekEventReg[98], "week_event_reg[98]" },
{ &gSaveContext.save.weekEventReg[99], "week_event_reg[99]" },
{ &gSaveContext.eventInf[0], "event_inf[0]" },
{ &gSaveContext.eventInf[1], "event_inf[1]" },
@@ -245,8 +245,8 @@ void FlagSet_Update(GameState* gameState) {
if (CHECK_BTN_ALL(input->cur.button, BTN_START)) {
if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
s16 i;
for (i = 0; i < ARRAY_COUNT(gSaveContext.weekEventReg); i++) {
gSaveContext.weekEventReg[i] = 0;
for (i = 0; i < ARRAY_COUNT(gSaveContext.save.weekEventReg); i++) {
gSaveContext.save.weekEventReg[i] = 0;
}
for (i = 0; i < ARRAY_COUNT(gSaveContext.eventInf); i++) {
gSaveContext.eventInf[i] = 0;
-1
View File
@@ -1,4 +1,3 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#define RSP_DONE_MSG 667
+4 -4
View File
@@ -2224,7 +2224,7 @@ void func_800B90F4(GlobalContext* globalCtx) {
void func_800B9120(ActorContext* actorCtx) {
s32 phi_v0 = CURRENT_DAY * 2;
if (gSaveContext.time < CLOCK_TIME(6, 0) || gSaveContext.time > CLOCK_TIME(18, 0)) {
if (gSaveContext.save.time < CLOCK_TIME(6, 0) || gSaveContext.save.time > CLOCK_TIME(18, 0)) {
phi_v0++;
}
@@ -2236,7 +2236,7 @@ void Actor_InitContext(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEn
CycleSceneFlags* cycleFlags;
s32 i;
gSaveContext.weekEventReg[92] |= 0x80;
gSaveContext.save.weekEventReg[92] |= 0x80;
cycleFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneNumber(globalCtx->sceneNum)];
bzero(actorCtx, sizeof(ActorContext));
@@ -2252,8 +2252,8 @@ void Actor_InitContext(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEn
}
actorCtx->flags.chest = cycleFlags->chest;
actorCtx->flags.switches[0] = cycleFlags->swch0;
actorCtx->flags.switches[1] = cycleFlags->swch1;
actorCtx->flags.switches[0] = cycleFlags->switch0;
actorCtx->flags.switches[1] = cycleFlags->switch1;
if (globalCtx->sceneNum == SCENE_INISIE_R) {
cycleFlags = &gSaveContext.cycleSceneFlags[globalCtx->sceneNum];
}
+5 -5
View File
@@ -6,11 +6,11 @@
#define DYNA_RAYCAST_WALLS 2
#define DYNA_RAYCAST_CEILINGS 4
static u32 sWallFlags[32] = {
u32 sWallFlags[32] = {
0, 1, 3, 5, 8, 16, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
static u16 sSurfaceTypeSfx[] = {
u16 sSurfaceTypeSfx[] = {
/* 0x00 */ NA_SE_PL_WALK_GROUND - SFX_FLAG,
/* 0x01 */ NA_SE_PL_WALK_SAND - SFX_FLAG,
/* 0x02 */ NA_SE_PL_WALK_CONCRETE - SFX_FLAG,
@@ -28,7 +28,7 @@ static u16 sSurfaceTypeSfx[] = {
/* 0x0E */ NA_SE_PL_WALK_SNOW - SFX_FLAG
};
static u8 D_801B46C0[] = {
u8 D_801B46C0[] = {
/* 0x00 */ 1,
/* 0x01 */ 1,
/* 0x02 */ 0,
@@ -46,7 +46,7 @@ static u8 D_801B46C0[] = {
/* 0x0E */ 1
};
static s16 sSmallMemScenes[] = {
s16 sSmallMemScenes[] = {
SCENE_F01,
};
@@ -55,7 +55,7 @@ typedef struct {
u32 memSize;
} BgCheckSceneMemEntry;
static BgCheckSceneMemEntry sSceneMemList[] = {
BgCheckSceneMemEntry sSceneMemList[] = {
{ SCENE_00KEIKOKU, 0xC800 },
};
+7 -5
View File
@@ -3,8 +3,9 @@
SaveContext gSaveContext;
void SaveContext_Init(void) {
bzero(&gSaveContext, sizeof(gSaveContext));
gSaveContext.playerForm = 0;
bzero(&gSaveContext, sizeof(SaveContext));
gSaveContext.save.playerForm = 0;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.unk_3F46 = NA_BGM_GENERAL_SFX;
@@ -16,7 +17,8 @@ void SaveContext_Init(void) {
gSaveContext.dogIsLost = true;
gSaveContext.nextTransition = 0xFF;
gSaveContext.unk_3F26 = 50;
gSaveContext.language = 1;
gSaveContext.audioSetting = 0;
gSaveContext.zTargetSetting = 0;
gSaveContext.options.language = 1;
gSaveContext.options.audioSetting = 0;
gSaveContext.options.zTargetSetting = 0;
}
+39 -38
View File
@@ -68,7 +68,7 @@ CutsceneStateHandler sCsStateHandlers1[] = {
};
void Cutscene_Update1(GlobalContext* globalCtx, CutsceneContext* csCtx) {
if (gSaveContext.cutscene < 0xFFF0) {
if (gSaveContext.save.cutscene < 0xFFF0) {
sCsStateHandlers1[csCtx->state](globalCtx, csCtx);
}
}
@@ -87,11 +87,11 @@ void Cutscene_Update2(GlobalContext* globalCtx, CutsceneContext* csCtx) {
}
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_0)) {
gSaveContext.cutscene = 0xFFFD;
gSaveContext.save.cutscene = 0xFFFD;
gSaveContext.cutsceneTrigger = 1;
}
if (gSaveContext.cutscene >= 0xFFF0) {
if (gSaveContext.save.cutscene >= 0xFFF0) {
func_800EDA84(globalCtx, csCtx);
sCsStateHandlers2[csCtx->state](globalCtx, csCtx);
}
@@ -250,12 +250,12 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
gSaveContext.sunsSongState = SUNSSONG_START;
break;
case 0x12:
if (!gSaveContext.isNight) {
time = gSaveContext.time;
gSaveContext.time = time - (u16)REG(15);
if (!gSaveContext.save.isNight) {
time = gSaveContext.save.time;
gSaveContext.save.time = time - (u16)REG(15);
} else {
time = gSaveContext.time;
gSaveContext.time = time - (u16)(2 * REG(15));
time = gSaveContext.save.time;
gSaveContext.save.time = time - (u16)(2 * REG(15));
}
break;
case 0x13:
@@ -270,7 +270,7 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
EnvFlags_Set(globalCtx, 4);
break;
case 0x16:
gSaveContext.playerForm = PLAYER_FORM_DEKU;
gSaveContext.save.playerForm = PLAYER_FORM_DEKU;
break;
case 0x17:
player->stateFlags2 |= 0x4000000;
@@ -279,9 +279,9 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
player->stateFlags2 &= ~0x4000000;
break;
case 0x19:
sCutsceneStoredPlayerForm = gSaveContext.playerForm;
gSaveContext.playerForm = PLAYER_FORM_HUMAN;
gSaveContext.equippedMask = PLAYER_MASK_NONE;
sCutsceneStoredPlayerForm = gSaveContext.save.playerForm;
gSaveContext.save.playerForm = PLAYER_FORM_HUMAN;
gSaveContext.save.equippedMask = PLAYER_MASK_NONE;
break;
case 0x1A:
func_8019F128(NA_SE_EV_EARTHQUAKE_LAST2 - SFX_FLAG);
@@ -306,7 +306,7 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
}
break;
case 0x1D:
gSaveContext.playerForm = sCutsceneStoredPlayerForm;
gSaveContext.save.playerForm = sCutsceneStoredPlayerForm;
break;
case 0x1E:
D_801F4DE0 = true;
@@ -316,7 +316,7 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
break;
case 0x21:
if (isStartFrame) {
func_80146EE8(globalCtx);
Sram_SaveSpecialEnterClockTown(globalCtx);
}
break;
case 0x22:
@@ -329,10 +329,10 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
D_801BB15C = csCtx->frames;
if (REG(15) != 0) {
time = gSaveContext.time;
gSaveContext.time = (u16)REG(15) + time;
time = gSaveContext.time;
gSaveContext.time = (u16)gSaveContext.unk_14 + time;
time = gSaveContext.save.time;
gSaveContext.save.time = (u16)REG(15) + time;
time = gSaveContext.save.time;
gSaveContext.save.time = (u16)gSaveContext.save.daySpeed + time;
}
}
break;
@@ -349,7 +349,7 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
case 0x26:
// Seems to be used to trigger "Dawn of A New Day"
gSaveContext.day = 9;
gSaveContext.save.day = 9;
{
GameState* gameState = &globalCtx->state;
@@ -357,11 +357,11 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
}
SET_NEXT_GAMESTATE(&globalCtx->state, Daytelop_Init, DaytelopContext);
func_80146F5C(globalCtx);
Sram_SaveSpecialNewDay(globalCtx);
break;
case 0x27:
gSaveContext.playerForm = PLAYER_FORM_ZORA;
gSaveContext.save.playerForm = PLAYER_FORM_ZORA;
break;
case 0x28:
@@ -442,7 +442,7 @@ void func_800EADB0(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
u8 dayMinusOne;
if (csCtx->frames == cmd->startFrame) {
dayMinusOne = (gSaveContext.day - 1);
dayMinusOne = (gSaveContext.save.day - 1);
if (dayMinusOne >= 3) {
dayMinusOne = 0;
}
@@ -557,7 +557,7 @@ void Cutscene_Command_SetTime(GlobalContext* globalCtx, CutsceneContext* csCtx,
minutes = CLOCK_TIME_ALT_F(0, cmd->minute + 1);
nextTime = hourAsMinutes + minutes;
gSaveContext.time = nextTime;
gSaveContext.save.time = nextTime;
gSaveContext.environmentTime = nextTime;
}
}
@@ -572,7 +572,7 @@ void Cutscene_TerminatorImpl(GlobalContext* globalCtx, CutsceneContext* csCtx, C
gSaveContext.unk_3F1E = 1;
}
gSaveContext.cutscene = 0;
gSaveContext.save.cutscene = 0;
if (cmd->base == 1) {
globalCtx->nextEntranceIndex = globalCtx->csCtx.sceneCsList[globalCtx->csCtx.currentCsIndex].nextEntranceIndex;
gSaveContext.nextCutsceneIndex = 0;
@@ -607,7 +607,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
switch (D_801F4DE2) {
case 0x1F:
if (gSaveContext.weekEventReg[0x14] & 2) {
if (gSaveContext.save.weekEventReg[20] & 2) {
globalCtx->nextEntranceIndex = 0x3010;
globalCtx->sceneLoadFlag = 0x14;
globalCtx->unk_1887F = 3;
@@ -620,7 +620,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
break;
case 0x44:
if (gSaveContext.weekEventReg[0x21] & 0x80) {
if (gSaveContext.save.weekEventReg[33] & 0x80) {
globalCtx->nextEntranceIndex = 0xAE70;
globalCtx->sceneLoadFlag = 0x14;
globalCtx->unk_1887F = 3;
@@ -633,7 +633,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
break;
case 0x5F:
gSaveContext.weekEventReg[0x37] |= 0x80;
gSaveContext.save.weekEventReg[55] |= 0x80;
globalCtx->nextEntranceIndex = 0x6A80;
gSaveContext.nextCutsceneIndex = 0xFFF0;
globalCtx->sceneLoadFlag = 0x14;
@@ -641,7 +641,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
break;
case 0x36:
gSaveContext.weekEventReg[0x34] |= 0x20;
gSaveContext.save.weekEventReg[52] |= 0x20;
globalCtx->nextEntranceIndex = 0x2000;
gSaveContext.nextCutsceneIndex = 0xFFF1;
globalCtx->sceneLoadFlag = 0x14;
@@ -813,7 +813,7 @@ void Cutscene_Command_GiveTatlToPlayer(GlobalContext* globalCtx, CutsceneContext
if (csCtx->frames == cmd->startFrame) {
if (cmd->base == 1) {
gSaveContext.hasTatl = true;
gSaveContext.save.hasTatl = true;
if (player->tatlActor != NULL) {
return;
}
@@ -1093,7 +1093,7 @@ void Cutscene_Command_Textbox(GlobalContext* globalCtx, CutsceneContext* csCtx,
}
}
if (dialogState == 5 && Message_ShouldAdvance(globalCtx) != 0) {
if (dialogState == 5 && Message_ShouldAdvance(globalCtx)) {
func_80152434(globalCtx, cmd->base);
}
}
@@ -1424,7 +1424,7 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
/* End of command handling section */
void func_800ED980(GlobalContext* globalCtx, CutsceneContext* csCtx) {
if (gSaveContext.cutscene >= 0xFFF0) {
if (gSaveContext.save.cutscene >= 0xFFF0) {
csCtx->frames++;
Cutscene_ProcessCommands(globalCtx, csCtx, (u8*)globalCtx->csCtx.csData);
}
@@ -1448,7 +1448,7 @@ void func_800EDA04(GlobalContext* globalCtx, CutsceneContext* csCtx) {
csCtx->actorActions[i] = NULL;
}
gSaveContext.cutscene = 0;
gSaveContext.save.cutscene = 0;
gSaveContext.gameMode = 0;
ActorCutscene_Stop(0x7F);
Audio_SetCutsceneFlag(false);
@@ -1458,10 +1458,10 @@ void func_800EDA04(GlobalContext* globalCtx, CutsceneContext* csCtx) {
void func_800EDA84(GlobalContext* globalCtx, CutsceneContext* csCtx) {
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_0) && !Player_InCsMode(&globalCtx->state)) {
gSaveContext.cutscene = 0xFFFD;
gSaveContext.save.cutscene = 0xFFFD;
}
if ((gSaveContext.cutscene >= 0xFFF0) && (csCtx->state == CS_STATE_0)) {
if ((gSaveContext.save.cutscene >= 0xFFF0) && (csCtx->state == CS_STATE_0)) {
s16 i;
D_801BB124 = 0;
@@ -1515,8 +1515,9 @@ void func_800EDBE0(GlobalContext* globalCtx) {
ActorCutscene_Start(sp2A, NULL);
gSaveContext.showTitleCard = false;
} else if (!((1 << (temp_a3[temp_v0_3].unk7 % 8)) &
gSaveContext.weekEventReg[temp_a3[temp_v0_3].unk7 / 8])) {
gSaveContext.weekEventReg[(temp_a3[temp_v0_3].unk7 / 8)] |= 1 << (temp_a3[temp_v0_3].unk7 % 8);
gSaveContext.save.weekEventReg[temp_a3[temp_v0_3].unk7 / 8])) {
gSaveContext.save.weekEventReg[(temp_a3[temp_v0_3].unk7 / 8)] |=
1 << (temp_a3[temp_v0_3].unk7 % 8);
ActorCutscene_Start(sp2A, NULL);
gSaveContext.showTitleCard = false;
}
@@ -1530,8 +1531,8 @@ void func_800EDBE0(GlobalContext* globalCtx) {
if ((gSaveContext.respawnFlag == 0) || (gSaveContext.respawnFlag == -2)) {
sp24 = globalCtx->loadedScene;
if ((sp24->titleTextId != 0) && gSaveContext.showTitleCard) {
if ((Entrance_GetTransitionFlags(gSaveContext.sceneSetupIndex + gSaveContext.entranceIndex) & 0x4000) !=
0) {
if ((Entrance_GetTransitionFlags(gSaveContext.sceneSetupIndex + gSaveContext.save.entranceIndex) &
0x4000) != 0) {
func_80151A68(globalCtx, sp24->titleTextId);
}
}
+13 -13
View File
@@ -7,17 +7,17 @@ u16 ElfMessage_GetFirstCycleHint(GlobalContext* globalCtx) {
if (CURRENT_DAY <= 0) {
return 0;
}
if (gSaveContext.weekEventReg[88] & 0x20) {
if (gSaveContext.save.weekEventReg[88] & 0x20) {
return 0;
}
if (gSaveContext.weekEventReg[79] & 0x10) {
if (gSaveContext.weekEventReg[8] & 0x40) {
if (gSaveContext.save.weekEventReg[79] & 0x10) {
if (gSaveContext.save.weekEventReg[8] & 0x40) {
return 0;
}
return 0x224;
}
if (!(gSaveContext.weekEventReg[8] & 0x80)) {
if (gSaveContext.weekEventReg[9] & 1) {
if (!(gSaveContext.save.weekEventReg[8] & 0x80)) {
if (gSaveContext.save.weekEventReg[9] & 1) {
return 0x21E;
}
if (globalCtx->sceneNum == SCENE_YOUSEI_IZUMI) {
@@ -25,7 +25,7 @@ u16 ElfMessage_GetFirstCycleHint(GlobalContext* globalCtx) {
}
return 0x21D;
}
if (gSaveContext.magicAcquired != true) {
if (gSaveContext.save.playerData.magicAcquired != true) {
return 0x21F;
}
if (INV_CONTENT(ITEM_DEED_LAND) == ITEM_DEED_LAND) {
@@ -35,27 +35,27 @@ u16 ElfMessage_GetFirstCycleHint(GlobalContext* globalCtx) {
return 0;
}
if (INV_CONTENT(ITEM_MOON_TEAR) == ITEM_MOON_TEAR) {
if (gSaveContext.weekEventReg[86] & 4) {
if (gSaveContext.save.weekEventReg[86] & 4) {
return 0x242;
}
return 0x243;
}
if (gSaveContext.weekEventReg[74] & 0x20) {
if (gSaveContext.save.weekEventReg[74] & 0x20) {
return 0x223;
}
if (gSaveContext.weekEventReg[73] & 0x80) {
if (gSaveContext.save.weekEventReg[73] & 0x80) {
return 0x222;
}
if (gSaveContext.weekEventReg[73] & 0x20) {
if (gSaveContext.save.weekEventReg[73] & 0x20) {
return 0x221;
}
if (gSaveContext.weekEventReg[77] & 2) {
if (gSaveContext.weekEventReg[73] & 0x10) {
if (gSaveContext.save.weekEventReg[77] & 2) {
if (gSaveContext.save.weekEventReg[73] & 0x10) {
return 0x240;
}
return 0x241;
}
if ((gSaveContext.weekEventReg[86] & 2) || (gSaveContext.weekEventReg[73] & 0x40)) {
if ((gSaveContext.save.weekEventReg[86] & 2) || (gSaveContext.save.weekEventReg[73] & 0x40)) {
return 0x23F;
}
return 0x220;
+12 -10
View File
@@ -822,13 +822,14 @@ s16 func_800A7650(s16 dropId) {
(((dropId == ITEM00_ARROWS_10) || (dropId == ITEM00_ARROWS_30) || (dropId == ITEM00_ARROWS_40) ||
(dropId == ITEM00_ARROWS_50)) &&
(INV_CONTENT(ITEM_BOW) == ITEM_NONE)) ||
(((dropId == ITEM00_MAGIC_LARGE) || (dropId == ITEM00_MAGIC_SMALL)) && (gSaveContext.magicLevel == 0))) {
(((dropId == ITEM00_MAGIC_LARGE) || (dropId == ITEM00_MAGIC_SMALL)) &&
(gSaveContext.save.playerData.magicLevel == 0))) {
return ITEM00_NO_DROP;
}
if (dropId == ITEM00_HEART) {
healthCapacity = gSaveContext.healthCapacity;
if (healthCapacity == gSaveContext.health) {
healthCapacity = gSaveContext.save.playerData.healthCapacity;
if (healthCapacity == gSaveContext.save.playerData.health) {
return ITEM00_RUPEE_GREEN;
}
}
@@ -1049,7 +1050,7 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
dropQuantity = sDropTableAmounts[params + dropTableIndex];
if (dropId == ITEM00_MASK) {
switch (gSaveContext.playerForm) {
switch (gSaveContext.save.playerForm) {
case PLAYER_FORM_HUMAN:
dropId = ITEM00_ARROWS_10;
break;
@@ -1085,26 +1086,27 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
}
if (dropId == ITEM00_FLEXIBLE) {
if (gSaveContext.health <= 0x10) {
if (gSaveContext.save.playerData.health <= 0x10) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f,
spawnPos->z, 0, 0, 0, 2);
SoundSource_PlaySfxAtFixedWorldPos(globalCtx, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY);
return;
}
if (gSaveContext.health <= 0x30) {
if (gSaveContext.save.playerData.health <= 0x30) {
params = 0x10;
dropId = ITEM00_HEART;
dropQuantity = 3;
} else if (gSaveContext.health <= 0x50) {
} else if (gSaveContext.save.playerData.health <= 0x50) {
params = 0x10;
dropId = ITEM00_HEART;
dropQuantity = 1;
} else if ((gSaveContext.magicLevel != 0) && (gSaveContext.magic == 0)) {
} else if ((gSaveContext.save.playerData.magicLevel != 0) && (gSaveContext.save.playerData.magic == 0)) {
params = 0xD0;
dropId = ITEM00_MAGIC_LARGE;
dropQuantity = 1;
} else if ((gSaveContext.magicLevel != 0) && ((gSaveContext.magicLevel >> 1) >= gSaveContext.magic)) {
} else if ((gSaveContext.save.playerData.magicLevel != 0) &&
((gSaveContext.save.playerData.magicLevel >> 1) >= gSaveContext.save.playerData.magic)) {
params = 0xD0;
dropId = ITEM00_MAGIC_LARGE;
dropQuantity = 1;
@@ -1116,7 +1118,7 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
params = 0xB0;
dropId = ITEM00_BOMBS_A;
dropQuantity = 1;
} else if (gSaveContext.rupees < 11) {
} else if (gSaveContext.save.playerData.rupees < 11) {
params = 0xA0;
dropId = ITEM00_RUPEE_RED;
dropQuantity = 1;
+4 -4
View File
@@ -44,7 +44,7 @@ void GameOver_Update(GlobalContext* globalCtx) {
}
gSaveContext.unk_3DC0 = 2000;
gSaveContext.tatlTimer = 0;
gSaveContext.save.playerData.tatlTimer = 0;
gSaveContext.seqIndex = (u8)NA_BGM_DISABLED;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.eventInf[0] = 0;
@@ -72,11 +72,11 @@ void GameOver_Update(GlobalContext* globalCtx) {
gSaveContext.respawnFlag = -6;
}
gSaveContext.nextTransition = 2;
gSaveContext.health = 48;
gSaveContext.save.playerData.health = 48;
gameOverCtx->state++;
if (INV_CONTENT(ITEM_MASK_DEKU) == ITEM_MASK_DEKU) {
gSaveContext.playerForm = PLAYER_FORM_HUMAN;
gSaveContext.equippedMask = PLAYER_MASK_NONE;
gSaveContext.save.playerForm = PLAYER_FORM_HUMAN;
gSaveContext.save.equippedMask = PLAYER_MASK_NONE;
}
func_8013EE24();
}
+14 -14
View File
@@ -38,7 +38,7 @@ void LifeMeter_Init(GlobalContext* globalCtx) {
interfaceCtx->unkTimer = 320;
interfaceCtx->health = gSaveContext.health;
interfaceCtx->health = gSaveContext.save.playerData.health;
interfaceCtx->lifeColorChange = 0;
interfaceCtx->lifeColorChangeDirection = 0;
@@ -168,7 +168,7 @@ void LifeMeter_UpdateColors(GlobalContext* globalCtx) {
}
s32 LifeMeter_SaveInterfaceHealth(GlobalContext* globalCtx) {
gSaveContext.health = globalCtx->interfaceCtx.health;
gSaveContext.save.playerData.health = globalCtx->interfaceCtx.health;
return 1;
}
@@ -178,8 +178,8 @@ s32 LifeMeter_IncreaseInterfaceHealth(GlobalContext* globalCtx) {
interfaceCtx->unkTimer = 320;
interfaceCtx->health += 0x10;
if (globalCtx->interfaceCtx.health >= gSaveContext.health) {
globalCtx->interfaceCtx.health = gSaveContext.health;
if (globalCtx->interfaceCtx.health >= gSaveContext.save.playerData.health) {
globalCtx->interfaceCtx.health = gSaveContext.save.playerData.health;
return 1;
}
return 0;
@@ -195,7 +195,7 @@ s32 LifeMeter_DecreaseInterfaceHealth(GlobalContext* globalCtx) {
interfaceCtx->health -= 0x10;
if (interfaceCtx->health <= 0) {
interfaceCtx->health = 0;
globalCtx->damagePlayer(globalCtx, -(((void)0, gSaveContext.health) + 1));
globalCtx->damagePlayer(globalCtx, -(((void)0, gSaveContext.save.playerData.health) + 1));
return 1;
}
}
@@ -216,18 +216,18 @@ void LifeMeter_Draw(GlobalContext* globalCtx) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
Vtx* beatingHeartVtx = interfaceCtx->beatingHeartVtx;
s32 fractionHeartCount = gSaveContext.health % 0x10;
s16 healthCapacity = gSaveContext.healthCapacity / 0x10;
s16 fullHeartCount = gSaveContext.health / 0x10;
s32 fractionHeartCount = gSaveContext.save.playerData.health % 0x10;
s16 healthCapacity = gSaveContext.save.playerData.healthCapacity / 0x10;
s16 fullHeartCount = gSaveContext.save.playerData.health / 0x10;
s32 pad2;
f32 lifesize = interfaceCtx->lifeSizeChange * 0.1f;
u32 curCombineModeSet = 0;
TexturePtr temp = NULL;
s32 ddCount = gSaveContext.inventory.dungeonKeys[9] - 1;
s32 ddCount = gSaveContext.save.inventory.dungeonKeys[9] - 1;
OPEN_DISPS(gfxCtx);
if ((gSaveContext.health % 0x10) == 0) {
if ((gSaveContext.save.playerData.health % 0x10) == 0) {
fullHeartCount--;
}
offsetY = 0.0f;
@@ -417,19 +417,19 @@ void LifeMeter_UpdateSizeAndBeep(GlobalContext* globalCtx) {
u32 LifeMeter_IsCritical(void) {
s16 criticalThreshold;
if (gSaveContext.healthCapacity <= 80) { // healthCapacity <= 5 hearts?
if (gSaveContext.save.playerData.healthCapacity <= 80) { // healthCapacity <= 5 hearts?
criticalThreshold = 16;
} else if (gSaveContext.healthCapacity <= 160) { // healthCapacity <= 10 hearts?
} else if (gSaveContext.save.playerData.healthCapacity <= 160) { // healthCapacity <= 10 hearts?
criticalThreshold = 24;
} else if (gSaveContext.healthCapacity <= 240) { // healthCapacity <= 15 hearts?
} else if (gSaveContext.save.playerData.healthCapacity <= 240) { // healthCapacity <= 15 hearts?
criticalThreshold = 32;
} else {
criticalThreshold = 44;
}
if ((criticalThreshold >= gSaveContext.health) && (gSaveContext.health > 0)) {
if ((criticalThreshold >= gSaveContext.save.playerData.health) && (gSaveContext.save.playerData.health > 0)) {
return true;
}
return false;
+6 -6
View File
@@ -391,12 +391,12 @@ void func_80151BB4(GlobalContext* globalCtx, u8 arg1) {
u8 temp = arg1;
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
if ((gSaveContext.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
if ((gSaveContext.save.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
msgCtx->unk120B1++;
}
} else if (arg1 >= 20) {
if ((gSaveContext.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
if ((gSaveContext.save.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
msgCtx->unk120B1++;
}
@@ -413,10 +413,10 @@ u32 func_80151C9C(GlobalContext* globalCtx) {
}
msgCtx->unk120B1--;
if ((gSaveContext.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] &
if ((gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] &
(u8)D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]]) == 0) {
flag = gSaveContext.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8];
gSaveContext.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] =
flag = gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8];
gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] =
flag | (u8)D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]];
if ((D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]] != 0) && CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
func_80151938(globalCtx, D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]]);
@@ -474,7 +474,7 @@ void func_80152EC0(GlobalContext* globalCtx) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80153750.s")
void func_80153E7C(GlobalContext* globalCtx, void* arg1) {
if ((gSaveContext.language == 0) && (globalCtx->msgCtx.unk12090 == 0)) {
if ((gSaveContext.options.language == 0) && (globalCtx->msgCtx.unk12090 == 0)) {
func_8014ADBC(globalCtx, arg1);
return;
}
+7 -7
View File
@@ -131,15 +131,15 @@ void Message_LoadLocalizedRupeesNES(GlobalContext* globalCtx, s16* decodedBufPos
msgCtx->decodedBuffer.schar[p] = ' ';
p++;
for (j = 0; j < D_801D0710[gSaveContext.language - 1]; j++) {
Font_LoadCharNES(globalCtx, D_801D06F0[gSaveContext.language - 1][j], o);
msgCtx->decodedBuffer.schar[p] = D_801D06F0[gSaveContext.language - 1][j];
for (j = 0; j < D_801D0710[gSaveContext.options.language - 1]; j++) {
Font_LoadCharNES(globalCtx, D_801D06F0[gSaveContext.options.language - 1][j], o);
msgCtx->decodedBuffer.schar[p] = D_801D06F0[gSaveContext.options.language - 1][j];
o += FONT_CHAR_TEX_SIZE;
p++;
}
p--;
f += 16.0f * msgCtx->unk12098 * (D_801D0710[gSaveContext.language - 1] + 1);
f += 16.0f * msgCtx->unk12098 * (D_801D0710[gSaveContext.options.language - 1] + 1);
*decodedBufPos = p;
*offset = o;
*arg3 = f;
@@ -200,10 +200,10 @@ void Message_LoadTimeNES(GlobalContext* globalCtx, u8 arg1, s32* offset, f32* ar
s16 i;
if (arg1 == 0xCF) {
day = gSaveContext.day;
dayTime = 0x40000 - ((day % 5) << 16) - (u16)(-0x4000 + gSaveContext.time);
day = gSaveContext.save.day;
dayTime = 0x40000 - ((day % 5) << 16) - (u16)(-0x4000 + gSaveContext.save.time);
} else {
dayTime = 0x10000 - (u16)(-0x4000 + gSaveContext.time);
dayTime = 0x10000 - (u16)(-0x4000 + gSaveContext.save.time);
}
timeInMinutes = TIME_TO_MINUTES_F(dayTime);
+9 -9
View File
@@ -158,8 +158,8 @@ void Play_SaveCycleSceneFlags(GameState* gameState) {
cycleSceneFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneNumber(globalCtx->sceneNum)];
cycleSceneFlags->chest = globalCtx->actorCtx.flags.chest;
cycleSceneFlags->swch0 = globalCtx->actorCtx.flags.switches[0];
cycleSceneFlags->swch1 = globalCtx->actorCtx.flags.switches[1];
cycleSceneFlags->switch0 = globalCtx->actorCtx.flags.switches[0];
cycleSceneFlags->switch1 = globalCtx->actorCtx.flags.switches[1];
if (globalCtx->sceneNum == SCENE_INISIE_R) { // Inverted Stone Tower Temple
cycleSceneFlags = &gSaveContext.cycleSceneFlags[globalCtx->sceneNum];
@@ -178,7 +178,7 @@ void Play_SetRespawnData(GameState* gameState, s32 respawnMode, u16 entranceInde
gSaveContext.respawn[respawnMode].pos = *pos;
gSaveContext.respawn[respawnMode].yaw = yaw;
gSaveContext.respawn[respawnMode].playerParams = playerParams;
gSaveContext.respawn[respawnMode].tempSwchFlags = globalCtx->actorCtx.flags.switches[2];
gSaveContext.respawn[respawnMode].tempSwitchFlags = globalCtx->actorCtx.flags.switches[2];
gSaveContext.respawn[respawnMode].unk_18 = globalCtx->actorCtx.flags.collectible[1];
gSaveContext.respawn[respawnMode].tempCollectFlags = globalCtx->actorCtx.flags.collectible[2];
}
@@ -188,7 +188,7 @@ void Play_SetupRespawnPoint(GameState* gameState, s32 respawnMode, s32 playerPar
Player* player = GET_PLAYER(globalCtx);
if (globalCtx->sceneNum != SCENE_KAKUSIANA) { // Grottos
Play_SetRespawnData(&globalCtx->state, respawnMode, (u16)((void)0, gSaveContext.entranceIndex),
Play_SetRespawnData(&globalCtx->state, respawnMode, (u16)((void)0, gSaveContext.save.entranceIndex),
globalCtx->roomCtx.currRoom.num, playerParams, &player->actor.world.pos,
player->actor.shape.rot.y);
}
@@ -207,10 +207,10 @@ void func_80169ECC(GlobalContext* globalCtx) {
void func_80169EFC(GameState* gameState) {
GlobalContext* globalCtx = (GlobalContext*)gameState;
gSaveContext.respawn[0].tempSwchFlags = globalCtx->actorCtx.flags.switches[2];
gSaveContext.respawn[0].unk_18 = globalCtx->actorCtx.flags.collectible[1];
gSaveContext.respawn[0].tempCollectFlags = globalCtx->actorCtx.flags.collectible[2];
globalCtx->nextEntranceIndex = gSaveContext.respawn[0].entranceIndex;
gSaveContext.respawn[RESTART_MODE_DOWN].tempSwitchFlags = globalCtx->actorCtx.flags.switches[2];
gSaveContext.respawn[RESTART_MODE_DOWN].unk_18 = globalCtx->actorCtx.flags.collectible[1];
gSaveContext.respawn[RESTART_MODE_DOWN].tempCollectFlags = globalCtx->actorCtx.flags.collectible[2];
globalCtx->nextEntranceIndex = gSaveContext.respawn[RESTART_MODE_DOWN].entranceIndex;
gSaveContext.respawnFlag = 1;
func_80169ECC(globalCtx);
globalCtx->sceneLoadFlag = 0x14;
@@ -222,7 +222,7 @@ void func_80169EFC(GameState* gameState) {
void func_80169F78(GameState* gameState) {
GlobalContext* globalCtx = (GlobalContext*)gameState;
globalCtx->nextEntranceIndex = gSaveContext.respawn[2].entranceIndex;
globalCtx->nextEntranceIndex = gSaveContext.respawn[RESTART_MODE_TOP].entranceIndex;
gSaveContext.respawnFlag = -1;
func_80169ECC(globalCtx);
globalCtx->sceneLoadFlag = 0x14;
+11 -11
View File
@@ -151,7 +151,7 @@ void Scene_HeaderCmdSpawnList(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->linkActorEntry = (ActorEntry*)Lib_SegmentedToVirtual(cmd->spawnList.segment) +
globalCtx->setupEntranceList[globalCtx->curSpawn].spawn;
if ((globalCtx->linkActorEntry->params & 0x0F00) >> 8 == 0x0C ||
(gSaveContext.respawnFlag == 0x02 && gSaveContext.respawn[1].playerParams == 0x0CFF)) {
(gSaveContext.respawnFlag == 0x02 && gSaveContext.respawn[RESTART_MODE_RETURN].playerParams == 0x0CFF)) {
// Skull Kid Object
Object_Spawn(&globalCtx->objectCtx, OBJECT_STK);
return;
@@ -161,7 +161,7 @@ void Scene_HeaderCmdSpawnList(GlobalContext* globalCtx, SceneCmd* cmd) {
nextObject = globalCtx2->objectCtx.status[globalCtx2->objectCtx.num].segment;
globalCtx->objectCtx.num = loadedCount;
globalCtx->objectCtx.spawnedObjectCount = loadedCount;
playerForm = gSaveContext.playerForm;
playerForm = gSaveContext.save.playerForm;
playerObjectId = gLinkFormObjectIndexes[playerForm];
gActorOverlayTable[0].initInfo->objectId = playerObjectId;
Object_Spawn(&globalCtx->objectCtx, playerObjectId);
@@ -383,7 +383,7 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
u32 dayTime;
if (cmd->timeSettings.hour != 0xFF && cmd->timeSettings.min != 0xFF) {
gSaveContext.environmentTime = gSaveContext.time =
gSaveContext.environmentTime = gSaveContext.save.time =
(u16)(((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / 0.021972656f);
}
@@ -393,7 +393,7 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->envCtx.timeIncrement = 0;
}
if ((gSaveContext.inventory.items[SLOT_OCARINA] == ITEM_NONE) && (globalCtx->envCtx.timeIncrement != 0)) {
if ((gSaveContext.save.inventory.items[SLOT_OCARINA] == ITEM_NONE) && (globalCtx->envCtx.timeIncrement != 0)) {
globalCtx->envCtx.timeIncrement = 5;
}
@@ -401,15 +401,15 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
REG(15) = globalCtx->envCtx.timeIncrement;
}
dayTime = gSaveContext.time;
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_4 = -(Math_SinS(dayTime - 0x8000) * 120.0f) * 25.0f;
dayTime = gSaveContext.time;
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_8 = (Math_CosS(dayTime - 0x8000) * 120.0f) * 25.0f;
dayTime = gSaveContext.time;
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_C = (Math_CosS(dayTime - 0x8000) * 20.0f) * 25.0f;
if (globalCtx->envCtx.timeIncrement == 0 && gSaveContext.cutscene < 0xFFF0) {
gSaveContext.environmentTime = gSaveContext.time;
if (globalCtx->envCtx.timeIncrement == 0 && gSaveContext.save.cutscene < 0xFFF0) {
gSaveContext.environmentTime = gSaveContext.save.time;
if (gSaveContext.environmentTime >= CLOCK_TIME(4, 0) && gSaveContext.environmentTime < CLOCK_TIME(6, 30)) {
gSaveContext.environmentTime = CLOCK_TIME(5, 0);
@@ -527,7 +527,7 @@ void Scene_HeaderCmdSetAreaVisitedFlag(GlobalContext* globalCtx, SceneCmd* cmd)
}
if (i < ARRAY_COUNT(gScenesPerRegion)) {
gSaveContext.mapsVisited = (gBitFlags[i] | gSaveContext.mapsVisited) | gSaveContext.mapsVisited;
gSaveContext.save.mapsVisited = (gBitFlags[i] | gSaveContext.save.mapsVisited) | gSaveContext.save.mapsVisited;
}
}
@@ -610,5 +610,5 @@ u16 Entrance_CreateIndex(s32 sceneIndex, s32 spawnIndex, s32 sceneSetup) {
* Creates an entrance index from the current entrance index with the given spawn index.
*/
u16 Entrance_CreateIndexFromSpawn(s32 spawnIndex) {
return Entrance_CreateIndex(gSaveContext.entranceIndex >> 9, spawnIndex, 0);
return Entrance_CreateIndex(gSaveContext.save.entranceIndex >> 9, spawnIndex, 0);
}
+9 -9
View File
@@ -12,8 +12,8 @@ s32 func_8013A240(GlobalContext* globalCtx) {
s32 seen;
s32 count = 0;
gSaveContext.pictoFlags0 = 0;
gSaveContext.pictoFlags1 = 0;
gSaveContext.save.pictoFlags0 = 0;
gSaveContext.save.pictoFlags1 = 0;
if (globalCtx->sceneNum == SCENE_20SICHITAI) {
func_8013A41C(1);
@@ -76,19 +76,19 @@ s32 func_8013A240(GlobalContext* globalCtx) {
void func_8013A41C(s32 flag) {
if (flag < 0x20) {
gSaveContext.pictoFlags0 |= (1 << flag);
gSaveContext.save.pictoFlags0 |= (1 << flag);
} else {
flag &= 0x1F;
gSaveContext.pictoFlags1 |= (1 << flag);
gSaveContext.save.pictoFlags1 |= (1 << flag);
}
}
void func_8013A46C(s32 flag) {
if (flag < 0x20) {
gSaveContext.pictoFlags0 &= ~(1 << flag);
gSaveContext.save.pictoFlags0 &= ~(1 << flag);
} else {
flag &= 0x1F;
gSaveContext.pictoFlags1 &= ~(1 << flag);
gSaveContext.save.pictoFlags1 &= ~(1 << flag);
}
}
@@ -96,10 +96,10 @@ u32 func_8013A4C4(s32 flag) {
SaveContext* saveCtx = &gSaveContext;
if (flag < 0x20) {
return saveCtx->pictoFlags0 & (1 << flag);
return saveCtx->save.pictoFlags0 & (1 << flag);
} else {
flag &= 0x1F;
return saveCtx->pictoFlags1 & (1 << flag);
return saveCtx->save.pictoFlags1 & (1 << flag);
}
}
@@ -135,7 +135,7 @@ s32 func_8013A530(GlobalContext* globalCtx, Actor* actor, s32 flag, Vec3f* pos,
Actor_GetProjectedPos(globalCtx, pos, &screenSpace, &distance);
x = (s16)(screenSpace.x * distance * 160.0f + 160.0f) - 85;
y = (s16)(screenSpace.y * distance * -120.0f + 120.0f) - 67;
if ((x < 0) || (0x96 < x) || (y < 0) || (0x69 < y)) {
if ((x < 0) || (150 < x) || (y < 0) || (105 < y)) {
func_8013A41C(0x3D);
ret |= 0x3D;
}
+1640 -31
View File
File diff suppressed because it is too large Load Diff