diff options
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/game.c | 2 | ||||
| -rw-r--r-- | src/code/m_actor_shadow.c | 2 | ||||
| -rw-r--r-- | src/code/m_all_grow.c | 24 | ||||
| -rw-r--r-- | src/code/m_cockroach.c | 36 | ||||
| -rw-r--r-- | src/code/m_mail.c | 4 | ||||
| -rw-r--r-- | src/code/m_npc.c | 209 | ||||
| -rw-r--r-- | src/code/m_npc_schedule.c | 2 | ||||
| -rw-r--r-- | src/code/m_npc_walk.c | 22 | ||||
| -rw-r--r-- | src/code/m_private.c | 37 | ||||
| -rw-r--r-- | src/code/m_scene.c | 54 | ||||
| -rw-r--r-- | src/code/m_snowman.c | 18 | ||||
| -rw-r--r-- | src/code/m_start_data_init.c | 63 | ||||
| -rw-r--r-- | src/code/m_time.c | 2 |
13 files changed, 234 insertions, 241 deletions
diff --git a/src/code/game.c b/src/code/game.c index 02a7339..4edc1fb 100644 --- a/src/code/game.c +++ b/src/code/game.c @@ -7,7 +7,7 @@ #include "graph.h" #include "libu64/debug.h" #include "libc64/malloc.h" -#include "6EDD10.h" +#include "m_time.h" #include "padmgr.h" #include "69E2C0.h" #include "gfxalloc.h" diff --git a/src/code/m_actor_shadow.c b/src/code/m_actor_shadow.c index b8c993a..6ddc884 100644 --- a/src/code/m_actor_shadow.c +++ b/src/code/m_actor_shadow.c @@ -200,7 +200,7 @@ void mActorShadow_DrawActorShadow(Actor* actor, ShadowInfo* shadow, Game* game, u8 g; u8 b; f32 yAdjust; - s32 scene = common_data.sceneNo; + s32 scene = common_data.save.sceneNo; mActorShadow_GetLastAlphaScale(&scale, &alpha, actor, shadow); diff --git a/src/code/m_all_grow.c b/src/code/m_all_grow.c index 392aa57..8546837 100644 --- a/src/code/m_all_grow.c +++ b/src/code/m_all_grow.c @@ -87,8 +87,8 @@ void mAGrw_SetDebugDataBlock(u16* fgItems, u16* deposit, AllGrowBlock* fossilBlo } void mAGrw_SetDebugData() { - Foreground* fgItems = common_data.foreground[0]; - u16* deposit = common_data.deposit[0]; + Foreground* fgItems = common_data.save.foreground[0]; + u16* deposit = common_data.save.deposit[0]; s32 blockZ; mAGrw_ClearDebugData(); @@ -122,7 +122,7 @@ void mAGrw_PrintFossilHaniwa_debug(gfxprint* gfxprint) { s32 mAGrw_CheckKabuPeddler() { lbRTC_time_c* rtcTime = &common_data.time.rtcTime; - lbRTC_time_c* renewTime = &common_data.allGrowRenewTime; + lbRTC_time_c* renewTime = &common_data.save.allGrowRenewTime; lbRTC_time_c peddlerSpawnTime; s32 res = FALSE; @@ -142,7 +142,7 @@ s32 mAGrw_CheckKabuPeddler() { } void mAGrw_OrderSetHaniwa() { - common_data.haniwaScheduled = TRUE; + common_data.save.haniwaScheduled = TRUE; } u8 func_80055E34_jp(u16* items) { @@ -229,7 +229,7 @@ typedef void (*xmasProcFunc)(u16*); void mAGrw_XmasTreeField(s32 type) { static xmasProcFunc xmas_proc[] = { &mAGrw_ClearXmasTreeBlock, &mAGrw_SetXmasTreeBlock }; - Foreground* block = common_data.foreground[0]; + Foreground* block = common_data.save.foreground[0]; s32 i; for (i = 0; i < FG_BLOCK_TOTAL_NUM; i++) { @@ -239,7 +239,7 @@ void mAGrw_XmasTreeField(s32 type) { } void mAGrw_SetXmasTree() { - if (common_data.sceneNo == SCENE_FG) { + if (common_data.save.sceneNo == SCENE_FG) { s32 type = mAGrw_CheckPutXmasTree(&common_data.time.rtcTime); mAGrw_XmasTreeField(type); } @@ -249,16 +249,16 @@ void mAGrw_RenewalFgItem(lbRTC_time_c* time) { u32 ovlSize = SEGMENT_VRAM_SIZE(m_all_grow_ovl); allGrowOvlUnkFunc func; - if (common_data.sceneNo == SCENE_FG) { - s32 schedHaniwa = common_data.haniwaScheduled; + if (common_data.save.sceneNo == SCENE_FG) { + s32 schedHaniwa = common_data.save.haniwaScheduled; D_80100C5C_jp = zelda_malloc(ovlSize); if (D_80100C5C_jp != NULL) { ovlmgr_Load(SEGMENT_ROM_START(m_all_grow_ovl), SEGMENT_ROM_END(m_all_grow_ovl), SEGMENT_VRAM_START(m_all_grow_ovl), SEGMENT_VRAM_END(m_all_grow_ovl), D_80100C5C_jp); func = (allGrowOvlUnkFunc)SEGMENT_VRAM_RESOLVE_ADDR(m_all_grow_ovl, D_80100C5C_jp, mAGrw_RenewalFgItem_ovl); - (*func)(time, &schedHaniwa); - common_data.haniwaScheduled = schedHaniwa; + func(time, &schedHaniwa); + common_data.save.haniwaScheduled = schedHaniwa; zelda_free(D_80100C5C_jp); } @@ -290,12 +290,12 @@ void mAGrw_ChangeTree2FruitTreeLine(Foreground* fg, u16 fruitTree) { } void mAGrw_ChangeTree2FruitTree() { - s32 fruit = common_data.fruit - 0x2800; + s32 fruit = common_data.save.fruit - 0x2800; u16 fruitTree; s32 blockZ; fruitTree = l_tree_max_table[fruit]; for (blockZ = 0; blockZ < FG_BLOCK_Z_NUM; blockZ++) { - mAGrw_ChangeTree2FruitTreeLine(common_data.foreground[blockZ], fruitTree); + mAGrw_ChangeTree2FruitTreeLine(common_data.save.foreground[blockZ], fruitTree); } } diff --git a/src/code/m_cockroach.c b/src/code/m_cockroach.c index b774da9..00b83e2 100644 --- a/src/code/m_cockroach.c +++ b/src/code/m_cockroach.c @@ -19,11 +19,11 @@ s32 mCkRh_GokiFamilyCount2Good(s32 count) { } s32 mCkRh_InitGokiSaveData_1Room(s32 player) { - common_data.homes[player & 3].goki.num = 0; - common_data.homes[player & 3].goki.pad = 0; - common_data.homes[player & 3].goki.time.year = common_data.time.rtcTime.year; - common_data.homes[player & 3].goki.time.month = common_data.time.rtcTime.month; - common_data.homes[player & 3].goki.time.day = common_data.time.rtcTime.day; + common_data.save.homes[player & 3].goki.num = 0; + common_data.save.homes[player & 3].goki.pad = 0; + common_data.save.homes[player & 3].goki.time.year = common_data.time.rtcTime.year; + common_data.save.homes[player & 3].goki.time.month = common_data.time.rtcTime.month; + common_data.save.homes[player & 3].goki.time.day = common_data.time.rtcTime.day; } void mCkRh_InitGokiSaveData_1Room_ByHomeData(mHm_hs_c* home) { @@ -47,9 +47,9 @@ void mCkRh_SavePlayTime(s32 player) { if (player < PLAYER_NUM) { home = mHS_get_arrange_idx(player) & 3; - common_data.homes[home].goki.time.year = common_data.time.rtcTime.year; - common_data.homes[home].goki.time.month = common_data.time.rtcTime.month; - common_data.homes[home].goki.time.day = common_data.time.rtcTime.day; + common_data.save.homes[home].goki.time.year = common_data.time.rtcTime.year; + common_data.save.homes[home].goki.time.month = common_data.time.rtcTime.month; + common_data.save.homes[home].goki.time.day = common_data.time.rtcTime.day; } } @@ -61,9 +61,9 @@ s32 mCkRh_DaysGapCompareWithSaveTime(s32 player) { lbRTC_time_c gokiTime; home = mHS_get_arrange_idx(player) & 3; - gokiTime.year = common_data.homes[home].goki.time.year; - gokiTime.month = common_data.homes[home].goki.time.month; - gokiTime.day = common_data.homes[home].goki.time.day; + gokiTime.year = common_data.save.homes[home].goki.time.year; + gokiTime.month = common_data.save.homes[home].goki.time.month; + gokiTime.day = common_data.save.homes[home].goki.time.day; gokiTime.weekday = lbRTC_Week(gokiTime.year, gokiTime.month, gokiTime.day); gokiTime.hour = 1; @@ -86,9 +86,9 @@ void mCkRh_DecideNowGokiFamilyCount(s32 player) { if (dayGap > 6) { s32 gokiNum; s32 count; - gokiNum = common_data.homes[home].goki.num; + gokiNum = common_data.save.homes[home].goki.num; count = gokiNum > 0 ? dayGap : dayGap - 6; - common_data.homes[home].goki.num = mCkRh_GokiFamilyCount2Good(count + gokiNum); + common_data.save.homes[home].goki.num = mCkRh_GokiFamilyCount2Good(count + gokiNum); } } } @@ -106,9 +106,9 @@ s32 mCkRh_PlussGokiN_NowRoom(s32 count) { housefieldId = FI_GET_PLAYER_ROOM_NO(fieldId); homeId = mHS_get_arrange_idx(player) & 3; if ((player < PLAYER_NUM) && (housefieldId == homeId)) { - num = common_data.homes[homeId].goki.num; + num = common_data.save.homes[homeId].goki.num; - common_data.homes[homeId].goki.num = mCkRh_GokiFamilyCount2Good(count + num); + common_data.save.homes[homeId].goki.num = mCkRh_GokiFamilyCount2Good(count + num); return TRUE; } } @@ -128,8 +128,8 @@ s32 mCkRh_MinusGokiN_NowRoom(s32 count) { housefieldId = FI_GET_PLAYER_ROOM_NO(fieldId); homeId = mHS_get_arrange_idx(player) & 3; if ((player < PLAYER_NUM) && (housefieldId == homeId)) { - num = common_data.homes[homeId].goki.num; - common_data.homes[homeId].goki.num = mCkRh_GokiFamilyCount2Good(num - count); + num = common_data.save.homes[homeId].goki.num; + common_data.save.homes[homeId].goki.num = mCkRh_GokiFamilyCount2Good(num - count); return TRUE; } } @@ -140,7 +140,7 @@ s32 mCkRh_NowSceneGokiFamilyCount() { u16 fieldid = mFI_GetFieldId(); if (FI_IS_PLAYER_ROOM(fieldid)) { - return common_data.homes[FI_GET_PLAYER_ROOM_NO(fieldid)].goki.num; + return common_data.save.homes[FI_GET_PLAYER_ROOM_NO(fieldid)].goki.num; } else { return 0; } diff --git a/src/code/m_mail.c b/src/code/m_mail.c index 540fd6c..7874f57 100644 --- a/src/code/m_mail.c +++ b/src/code/m_mail.c @@ -193,8 +193,8 @@ s32 mMl_hunt_for_send_address(Mail_c* mail) { return -1; } - for (i = 0; i < ARRAY_COUNT(common_data.homes); i++) { - if (mPr_CheckCmpPersonalID(&common_data.homes[i].ownerID, &mail->header.recipient.personalID) == 1) { + for (i = 0; i < ARRAY_COUNT(common_data.save.homes); i++) { + if (mPr_CheckCmpPersonalID(&common_data.save.homes[i].ownerID, &mail->header.recipient.personalID) == 1) { return i; } } diff --git a/src/code/m_npc.c b/src/code/m_npc.c index 1c85824..6e0ab8a 100644 --- a/src/code/m_npc.c +++ b/src/code/m_npc.c @@ -1,3 +1,5 @@ +#include "prevent_bss_reordering.h" + #include "m_npc.h" #include "macros.h" #include "m_lib.h" @@ -144,7 +146,7 @@ s32 mNpc_CheckCmpAnimalPersonalID(AnmPersonalID_c* id0, AnmPersonalID_c* id1) { } s32 mNpc_GetAnimalNum() { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 num = 0; s32 i; @@ -189,7 +191,7 @@ void mNpc_SetParentName(Animal_c* animal, PersonalID_c* parentId) { } void mNpc_SetParentNameAllAnimal() { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; PrivateInfo* priv = common_data.privateInfo; s32 i; @@ -266,7 +268,7 @@ s32 mNpc_CheckFreeAnimalMemory(Anmmem_c* memory) { void mNpc_RenewalAnimalMemory() { PrivateInfo* priv; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; Anmmem_c* memory; s32 i; s32 j; @@ -278,7 +280,7 @@ void mNpc_RenewalAnimalMemory() { for (j = 0; j < ANIMAL_MEMORY_NUM; j++) { if (mNpc_CheckFreeAnimalMemory(memory) == FALSE && mLd_CheckThisLand(memory->memoryPlayerId.landName, memory->memoryPlayerId.landId) == TRUE) { - priv = common_data.saveFilePrivateInfo; + priv = common_data.save.saveFilePrivateInfo; for (k = 0; k < PLAYER_NUM; k++) { if (mPr_NullCheckPersonalID(&priv->playerId) == FALSE && @@ -425,9 +427,9 @@ void mNpc_SetAnimalLastTalk(Animal_c* animal) { if (memory != NULL) { lbRTC_TimeCopy(&memory->lastSpeakTime, &common_data.time.rtcTime); - mLd_CopyLandName(memory->land.name, common_data.landInfo.name); - memory->land.id = common_data.landInfo.id; - memory->savedTownTune = common_data.melody; + mLd_CopyLandName(memory->land.name, common_data.save.landInfo.name); + memory->land.id = common_data.save.landInfo.id; + memory->savedTownTune = common_data.save.melody; } } } @@ -441,7 +443,7 @@ void mNpc_SetAnimalPersonalID2Memory(AnmPersonalID_c* anmId) { id = mNpc_SearchAnimalPersonalID(anmId); if (id != -1) { - animal = &common_data.animals[id]; + animal = &common_data.save.animals[id]; id = mNpc_GetAnimalMemoryIdx(&priv->playerId, animal->memories, ANIMAL_MEMORY_NUM); if (id == -1) { @@ -539,7 +541,7 @@ s32 mNpc_GetAnimalMemoryFriend_Land_Sex(Anmmem_c* memory, s32 num, s32 sex) { if (mNpc_CheckFreeAnimalMemory(memory) == FALSE) { id = mPr_GetPrivateIdx(&memory->memoryPlayerId); - if (id != -1 && common_data.saveFilePrivateInfo[id].gender == sex && + if (id != -1 && common_data.save.saveFilePrivateInfo[id].gender == sex && mNpc_SelectBestFriend(&bestFriend, memory, &bestFriendship) == TRUE) { res = i; } @@ -702,17 +704,17 @@ s32 mNpc_SearchAnimalinfo(Animal_c* animal, u16 npcName, s32 count) { Animal_c* mNpc_GetAnimalInfoP(u16 id) { UNUSED s32 pad; Animal_c* animal = NULL; - s32 idx = mNpc_SearchAnimalinfo(common_data.animals, id, ANIMAL_NUM_MAX); + s32 idx = mNpc_SearchAnimalinfo(common_data.save.animals, id, ANIMAL_NUM_MAX); if (idx != -1) { - animal = common_data.animals + idx; + animal = common_data.save.animals + idx; } return animal; } s32 mNpc_SearchAnimalPersonalID(AnmPersonalID_c* id) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 res = -1; s32 i; @@ -741,14 +743,14 @@ AnmPersonalID_c* mNpc_GetOtherAnimalPersonalIDOtherBlock(AnmPersonalID_c* pids, s32 i; UNUSED s32 pad2[2]; s32 valid; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 tempHome; s32 homesInBlock; otherId = NULL; homesInBlock = 0; ids = count; - npcMax = common_data.nowNpcMax; + npcMax = common_data.save.nowNpcMax; bitfield = 0xFFFF; if ((blockX == 0xFF) || (blockY == 0xFF)) { @@ -786,7 +788,7 @@ AnmPersonalID_c* mNpc_GetOtherAnimalPersonalIDOtherBlock(AnmPersonalID_c* pids, } } if (((ids + homesInBlock) < npcMax) && (count < ANIMAL_NUM_MAX)) { - animal = common_data.animals; + animal = common_data.save.animals; tempHome = fqrand() * ((npcMax - ids) - homesInBlock); for (j = 0; j < ANIMAL_NUM_MAX; j++) { @@ -832,7 +834,7 @@ AnmPersonalID_c* mNpc_GetOtherAnimalPersonalID(AnmPersonalID_c* pids, s32 count) } void mNpc_SetAnimalThisLand(Animal_c* animal, s32 count) { - LandInfo* landInfo = &common_data.landInfo; + LandInfo* landInfo = &common_data.save.landInfo; for (; count != 0; count--) { if (!mNpc_CheckFreeAnimalPersonalID(&animal->id)) { @@ -845,7 +847,7 @@ void mNpc_SetAnimalThisLand(Animal_c* animal, s32 count) { } s32 mNpc_GetSameLooksNum(u8 looks) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 i; s32 num = 0; @@ -1055,7 +1057,7 @@ s32 mNpc_SendMailtoNpc(Mail_c* mail) { Animal_c* anm; if (mMl_get_npcinfo_from_mail_name(&anmId, &mail->header.recipient) == TRUE) { - anm = common_data.animals; + anm = common_data.save.animals; anmIdx = mNpc_SearchAnimalPersonalID(&anmId); if (anmIdx != -1) { @@ -1307,7 +1309,7 @@ s32 mNpc_CheckLetterTime(lbRTC_ymd_t* letterDate, lbRTC_time_c* rtcTime) { } void mNpc_Remail() { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; Anmremail* remail; PrivateInfo* priv = common_data.privateInfo; Anmmem_c* memory; @@ -1411,7 +1413,7 @@ s32 mNpc_SendEventPresentMail(PersonalID_c* pid, s32 playerNo, AnmPersonalID_c* looks = anmId->looks; res = FALSE; - home = &common_data.homes[mHS_get_arrange_idx(playerNo)]; + home = &common_data.save.homes[mHS_get_arrange_idx(playerNo)]; if (mPr_CheckCmpPersonalID(pid, &home->ownerID) == TRUE) { @@ -1451,7 +1453,7 @@ void mNpc_SendEventPresentMailSex(s32* selected, u8* type, Animal_c* animal, Npc s32 mNpc_SendEventPresentMail_common(NpcSex sexType) { static NpcSex sex[] = { NPC_SEX_FEMALE, NPC_SEX_MALE }; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; PersonalID_c* pid; s32 otherSexBestFriends[ANIMAL_NUM_MAX]; u8 types[ANIMAL_NUM_MAX]; @@ -1474,7 +1476,7 @@ s32 mNpc_SendEventPresentMail_common(NpcSex sexType) { } for (i = 0; i < 3; i++) { - animal = common_data.animals; + animal = common_data.save.animals; for (j = 0; j < ANIMAL_NUM_MAX; j++) { if (otherSexBestFriends[j] >= 0 && types[j] == i) { @@ -1534,7 +1536,7 @@ s32 mNpc_SendBirthdayCard(PersonalID_c* pid, s32 playerNo, AnmPersonalID_c* anm_ s32 freeIdx; s32 res = FALSE; - home = &common_data.homes[mHS_get_arrange_idx(playerNo)]; + home = &common_data.save.homes[mHS_get_arrange_idx(playerNo)]; if (mPr_NullCheckPersonalID(pid) == FALSE && mPr_CheckCmpPersonalID(pid, &home->ownerID) == TRUE) { freeIdx = mMl_chk_mail_free_space(home->mailbox, 10); @@ -1557,7 +1559,7 @@ s32 mNpc_SendEventBirthdayCard(UNUSED PersonalID_c* pid) { } s32 mNpc_SendEventBirthdayCard2(PersonalID_c* pid, s32 playerNo) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 res = FALSE; s32 idx; s32 i; @@ -1602,7 +1604,7 @@ s32 mNpc_SendEventXmasCard(PersonalID_c* pid, s32 playerNo) { s32 res = FALSE; if (mPr_NullCheckPersonalID(pid) == FALSE) { - home = &common_data.homes[mHS_get_arrange_idx(playerNo)]; + home = &common_data.save.homes[mHS_get_arrange_idx(playerNo)]; if (mPr_CheckCmpPersonalID(pid, &home->ownerID) == TRUE) { freeSpace = mMl_chk_mail_free_space(home->mailbox, 10); @@ -1749,8 +1751,8 @@ void mNpc_SetDefAnimalInfo(Animal_c* animal, u16 npcId, u8 looks, NpcDefaultData animal->id.looks = looks; animal->cloth = defaultData->cloth; mString_Load_StringFromRom(animal->catchphrase, ANIMAL_CATCHPHRASE_LEN, defaultData->catchphraseIdx); - animal->id.landId = common_data.landInfo.id; - mLd_CopyLandName(animal->id.landName, common_data.landInfo.name); + animal->id.landId = common_data.save.landInfo.id; + mLd_CopyLandName(animal->id.landName, common_data.save.landInfo.name); } } @@ -1763,13 +1765,13 @@ void mNpc_SetDefAnimal(Animal_c* animal, u16 npcId, NpcDefaultData* defaultData) } void mNpc_SetHaveAppeared(u16 npcId) { - u8* usedTable = common_data.npcUsedTable; + u8* usedTable = common_data.save.npcUsedTable; if (ACTOR_FGNAME_GET_F000(npcId) == FGNAME_F000_E) { s32 idx = npcId & 0xFFF; s32 i = idx / 8; - if (i < ARRAY_COUNT(common_data.npcUsedTable)) { + if (i < ARRAY_COUNT(common_data.save.npcUsedTable)) { usedTable += i; idx &= 7; *usedTable |= 1 << idx; @@ -1779,10 +1781,10 @@ void mNpc_SetHaveAppeared(u16 npcId) { s32 mNpc_GetHaveAppeared_idx(s32 idx) { s32 res = TRUE; - u8* usedTable = common_data.npcUsedTable; + u8* usedTable = common_data.save.npcUsedTable; s32 i = idx / 8; - if (i < ARRAY_COUNT(common_data.npcUsedTable)) { + if (i < ARRAY_COUNT(common_data.save.npcUsedTable)) { usedTable += i; res = (*usedTable >> (idx & 7)) & 1; } @@ -1808,7 +1810,7 @@ s32 mNpc_GetLooks2NotHaveAppearedNum(u8 id) { void mNpc_ResetHaveAppeared_common(u8* npcUsedTable, Animal_c* animal) { s32 i; - bzero(npcUsedTable, sizeof(common_data.npcUsedTable)); + bzero(npcUsedTable, sizeof(common_data.save.npcUsedTable)); for (i = 0; i < ANIMAL_NUM_MAX; i++) { if (mNpc_CheckFreeAnimalInfo(animal) == FALSE) { mNpc_SetHaveAppeared(animal->id.npcId); @@ -1828,7 +1830,7 @@ void mNpc_ResetHaveAppeared() { } if (i == NPC_NUM) { - mNpc_ResetHaveAppeared_common(common_data.npcUsedTable, common_data.animals); + mNpc_ResetHaveAppeared_common(common_data.save.npcUsedTable, common_data.save.animals); } } @@ -1989,7 +1991,7 @@ s32 mNpc_BlockNum2ReservedUtNum(s32* utX, s32* utZ, s32 bx, s32 bz) { } void mNpc_MakeReservedListBeforeFieldct(Anmhome_c* reserved, s32 reservedNum, u8* reservedCount) { - Foreground* fg = &common_data.foreground[0][0]; + Foreground* fg = &common_data.save.foreground[0][0]; Anmhome_c* reservedp = reserved; u16* item; u8 num = 0; @@ -2104,7 +2106,7 @@ void mNpc_BuildHouseBeforeFieldct(u16 npcId, s32 bx, s32 bz, s32 utX, s32 utZ) { if (bx >= 0 && bx < FG_BLOCK_X_NUM && bz >= 0 && bz < FG_BLOCK_Z_NUM && utX > 0 && utX < (UT_X_NUM - 1) && utZ > 0 && utZ < (UT_Z_NUM - 1)) { set_fg[0] = house; - fg = &common_data.foreground[bz][bx]; + fg = &common_data.save.foreground[bz][bx]; deposit = mFI_GetDepositP(bx + 1, bz + 1); @@ -2132,15 +2134,15 @@ void mNpc_DestroyHouse(Anmhome_c* home) { utZ < (UT_Z_NUM - 1)) { u16 reserveNo = mFM_GetReseveName(home->blockX, home->blockZ); - common_data.foreground[bz][bx].items[utZ][utX] = reserveNo; - common_data.foreground[bz][bx].items[utZ + 1][utX - 1] = 0; - common_data.foreground[bz][bx].items[utZ + 1][utX] = 0; - common_data.foreground[bz][bx].items[utZ + 1][utX + 1] = 0; - common_data.foreground[bz][bx].items[utZ][utX - 1] = 0; - common_data.foreground[bz][bx].items[utZ][utX + 1] = 0; - common_data.foreground[bz][bx].items[utZ - 1][utX - 1] = 0; - common_data.foreground[bz][bx].items[utZ - 1][utX] = 0; - common_data.foreground[bz][bx].items[utZ - 1][utX + 1] = 0; + common_data.save.foreground[bz][bx].items[utZ][utX] = reserveNo; + common_data.save.foreground[bz][bx].items[utZ + 1][utX - 1] = 0; + common_data.save.foreground[bz][bx].items[utZ + 1][utX] = 0; + common_data.save.foreground[bz][bx].items[utZ + 1][utX + 1] = 0; + common_data.save.foreground[bz][bx].items[utZ][utX - 1] = 0; + common_data.save.foreground[bz][bx].items[utZ][utX + 1] = 0; + common_data.save.foreground[bz][bx].items[utZ - 1][utX - 1] = 0; + common_data.save.foreground[bz][bx].items[utZ - 1][utX] = 0; + common_data.save.foreground[bz][bx].items[utZ - 1][utX + 1] = 0; } } @@ -2182,7 +2184,7 @@ void mNpc_InitNpcData() { u8 reservedNum = 0; mNpc_MakeReservedListBeforeFieldct(reserved, ARRAY_COUNT(reserved), &reservedNum); - mNpc_SetNpcHome(common_data.animals, reserved, reservedNum); + mNpc_SetNpcHome(common_data.save.animals, reserved, reservedNum); } void mNpc_InitNpcList() { @@ -2282,12 +2284,12 @@ void mNpc_SetNpcinfo(Actor* actor, s8 npcInfoIdx) { NpcEvent* eventNpc = mNpc_GetSameEventNpc(npcId); if (eventNpc != NULL) { - npcInfoIdx = mNpc_SearchAnimalinfo(common_data.animals, eventNpc->npcId, ANIMAL_NUM_MAX); + npcInfoIdx = mNpc_SearchAnimalinfo(common_data.save.animals, eventNpc->npcId, ANIMAL_NUM_MAX); } } if (npcInfoIdx >= 0 && npcInfoIdx < ANIMAL_NUM_MAX) { - npc->npcInfo.animal = &common_data.animals[npcInfoIdx]; + npc->npcInfo.animal = &common_data.save.animals[npcInfoIdx]; npc->npcInfo.list = &common_data.npclist[npcInfoIdx]; } else { npc->npcInfo.animal = NULL; @@ -2315,7 +2317,7 @@ void mNpc_AddNpc_inNpcRoom(FieldMakeMoveActor* moveActor, u8 bx, u8 bz) { houseOwnerId = common_data.houseOwnerName; if ((idx < ANIMAL_NUM_MAX) && (houseOwnerId != 0xFFFF) && (houseOwnerId != 0)) { if (mEvNM_CheckJointEvent(houseOwnerId) != 1) { - animalId = mNpc_SearchAnimalinfo(common_data.animals, houseOwnerId, ANIMAL_NUM_MAX); + animalId = mNpc_SearchAnimalinfo(common_data.save.animals, houseOwnerId, ANIMAL_NUM_MAX); if (animalId != -1) { moveActor->nameId = houseOwnerId; moveActor->utX = 4; @@ -2330,7 +2332,7 @@ void mNpc_AddNpc_inNpcRoom(FieldMakeMoveActor* moveActor, u8 bx, u8 bz) { animalIdInField = func_8008033C_jp(0xE, 0xF); if (animalIdInField != NULL) { npcId = *animalIdInField; - currentNpc = common_data.animals[npcId].id.npcId; + currentNpc = common_data.save.animals[npcId].id.npcId; func_80082BD8_jp(¤tNpc, 0xE, npcId, 0); moveActor->nameId = currentNpc; moveActor->utX = 4; @@ -2353,7 +2355,7 @@ void mNpc_RenewalNpcRoom(s16* wallFloor) { if ((fieldId & 0xF000) == 0x4000) { if ((ownerName != 0) && (ownerName != 0xFFFF)) { - npcIdx = mNpc_SearchAnimalinfo(common_data.animals, ownerName, ANIMAL_NUM_MAX); + npcIdx = mNpc_SearchAnimalinfo(common_data.save.animals, ownerName, ANIMAL_NUM_MAX); wallId = common_data.npclist[npcIdx].houseData.wallId; floorId = common_data.npclist[npcIdx].houseData.floorId; *wallFloor = floorId | (wallId << 8); @@ -2381,7 +2383,7 @@ void mNpc_RenewalSetNpc(Actor* actor) { } s32 mNpc_GetFriendAnimalNum(PersonalID_c* pid) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 num = 0; s32 i; @@ -2400,7 +2402,7 @@ s32 mNpc_GetFriendAnimalNum(PersonalID_c* pid) { } s32 mNpc_CheckFriendAllAnimal(PersonalID_c* pid) { - s32 nowNpcMax = common_data.nowNpcMax; + s32 nowNpcMax = common_data.save.nowNpcMax; s32 friendNum = mNpc_GetFriendAnimalNum(pid); if (nowNpcMax <= friendNum) { @@ -2469,7 +2471,7 @@ u16 mNpc_DecideNpcFurniture(FieldMakeFGData** data, NpcList* npcList, s32 count) void mNpc_SetNpcFurnitureRandom(FieldMakeFGData** data, s32 base) { NpcList* npclist = common_data.npclist; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 i; for (i = 0; i < ANIMAL_NUM_MAX; i++) { @@ -2501,7 +2503,7 @@ Animal_c* mNpc_GetInAnimalP() { } s32 mNpc_DecideRemoveAnimalNo_Friend(Animal_c* animal, s32 metFlag) { - PrivateInfo* priv = common_data.saveFilePrivateInfo; + PrivateInfo* priv = common_data.save.saveFilePrivateInfo; s32 res = -1; s32 playerNumber = 0; s32 possibleNum = 0; @@ -2520,7 +2522,7 @@ s32 mNpc_DecideRemoveAnimalNo_Friend(Animal_c* animal, s32 metFlag) { if (playerNumber > 0) { for (i = 0; i < ANIMAL_NUM_MAX; i++) { if (mNpc_CheckFreeAnimalInfo(animal) == FALSE) { - priv = common_data.saveFilePrivateInfo; + priv = common_data.save.saveFilePrivateInfo; met = 0; for (j = 0; j < PLAYER_NUM; j++) { @@ -2588,8 +2590,8 @@ u8 mNpc_DecideRemoveAnimalNo(Animal_c* animal, s32 max) { } void mNpc_SetRemoveAnimalNo(Animal_c* animal) { - u8* removalIdx = &common_data.removeAnimalIdx; - u8 nowMax = common_data.nowNpcMax; + u8* removalIdx = &common_data.save.removeAnimalIdx; + u8 nowMax = common_data.save.nowNpcMax; if ((nowMax >= 6) && (*removalIdx == 0xFF)) { s32 removeNo = mNpc_DecideRemoveAnimalNo_Friend(animal, TRUE); @@ -2649,7 +2651,7 @@ s32 mNpc_CheckGoodbyAnimalMemoryNum(Animal_c* a0, Animal_c* a1) { s32 mNpc_GetGoodbyAnimalIdx() { UNUSED s32 pad; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; Animal_c* otherAnimal = NULL; s32 res0; s32 res1; @@ -2659,7 +2661,7 @@ s32 mNpc_GetGoodbyAnimalIdx() { s32 i; for (i = 0; i < ANIMAL_NUM_MAX; i++, animal++) { - if ((i != (u32)&common_data.removeAnimalIdx) && (mNpc_CheckFreeAnimalInfo(animal) == FALSE)) { + if ((i != (u32)&common_data.save.removeAnimalIdx) && (mNpc_CheckFreeAnimalInfo(animal) == FALSE)) { if (otherAnimal != NULL) { if (mNpc_CheckRemoveExp(animal) == 0) { if (mNpc_CheckRemoveExp(otherAnimal) != 0) { @@ -2742,7 +2744,7 @@ void mNpc_FirstClearGoodbyMail() { } void mNpc_SetGoodbyAnimalMail(AnmGoodbyeMail* mail, Animal_c* animal) { - PrivateInfo* priv = common_data.saveFilePrivateInfo; + PrivateInfo* priv = common_data.save.saveFilePrivateInfo; s32 i; if ((animal != NULL) && (mNpc_CheckFreeAnimalPersonalID(&animal->id) == FALSE)) { @@ -2767,7 +2769,7 @@ s32 mNpc_SetGoodbyMailData(Mail_c* mail, PersonalID_c* pid, AnmPersonalID_c* anm mNpc_GetNpcWorldNameAnm(Goodby_animal_name, anm_id); mHandbill_Set_free_str(0, pid->playerName, PLAYER_NAME_LEN); mHandbill_Set_free_str(1, Goodby_animal_name, ANIMAL_NAME_LEN); - mHandbill_Set_free_str(3, common_data.landInfo.name, LAND_NAME_SIZE); + mHandbill_Set_free_str(3, common_data.save.landInfo.name, LAND_NAME_SIZE); mNpc_LoadMailDataCommon2(mail, pid, anm_id, 0, mNpc_GetPaperType(), mailNo); res = TRUE; } @@ -2780,7 +2782,7 @@ s32 mNpc_SendGoodbyAnimalMailOne(Mail_c* mail, PrivateInfo* priv, s32 playerNo, UNUSED s32 pad; s32 res = FALSE; - home = &common_data.homes[mHS_get_arrange_idx(playerNo)]; + home = &common_data.save.homes[mHS_get_arrange_idx(playerNo)]; if ((mPr_NullCheckPersonalID(&priv->playerId) == FALSE) && (mPr_CheckCmpPersonalID(&priv->playerId, &home->ownerID) == TRUE)) { @@ -2798,7 +2800,7 @@ s32 mNpc_SendGoodbyAnimalMailOne(Mail_c* mail, PrivateInfo* priv, s32 playerNo, } void mNpc_SendGoodbyAnimalMail(AnmGoodbyeMail* mail) { - PrivateInfo* priv = common_data.saveFilePrivateInfo; + PrivateInfo* priv = common_data.save.saveFilePrivateInfo; s32 i; if (mNpc_CheckFreeAnimalPersonalID(&mail->id) == FALSE) { @@ -2826,17 +2828,17 @@ void mNpc_GetRemoveAnimal(Animal_c* transferAnimal, s32 movingOut) { s32 newAnimal; Animal_c* animal; s32 freeAnimalIdx; - u8* removeAnimalIdx = &common_data.removeAnimalIdx; - u8* nowMax = &common_data.nowNpcMax; + u8* removeAnimalIdx = &common_data.save.removeAnimalIdx; + u8* nowMax = &common_data.save.nowNpcMax; s32 i; - animal = common_data.animals; + animal = common_data.save.animals; newAnimal = TRUE; priv = common_data.privateInfo; if (mLd_PlayerManKindCheck() == 0) { if (movingOut == 1) { if (*removeAnimalIdx != 0xFF) { - animal = &common_data.animals[*removeAnimalIdx]; + animal = &common_data.save.animals[*removeAnimalIdx]; animal->isMoving = FALSE; mNpc_CopyAnimalInfo(transferAnimal, animal); mNpc_DestroyHouse(&animal->homeInfo); @@ -2855,7 +2857,7 @@ void mNpc_GetRemoveAnimal(Animal_c* transferAnimal, s32 movingOut) { animal++; } - if (transferAnimal->id.npcId == common_data.lastRemovedAnimalId.npcId) { + if (transferAnimal->id.npcId == common_data.save.lastRemovedAnimalId.npcId) { newAnimal = FALSE; } } else { @@ -2863,8 +2865,8 @@ void mNpc_GetRemoveAnimal(Animal_c* transferAnimal, s32 movingOut) { } if (newAnimal == TRUE) { - animal = common_data.animals; - freeAnimalIdx = mNpc_GetFreeAnimalInfo(common_data.animals, ANIMAL_NUM_MAX); + animal = common_data.save.animals; + freeAnimalIdx = mNpc_GetFreeAnimalInfo(common_data.save.animals, ANIMAL_NUM_MAX); if (freeAnimalIdx == -1) { animal += mNpc_GetGoodbyAnimalIdx(); mNpc_DestroyHouse(&animal->homeInfo); @@ -2872,7 +2874,7 @@ void mNpc_GetRemoveAnimal(Animal_c* transferAnimal, s32 movingOut) { mNpc_SendRegisteredGoodbyMail(); } else { animal += freeAnimalIdx; - mNpc_AddNowNpcMax(&common_data.nowNpcMax); + mNpc_AddNowNpcMax(&common_data.save.nowNpcMax); } mNpc_ClearAnimalInfo(animal); mNpc_CopyAnimalInfo(animal, transferAnimal); @@ -2895,7 +2897,7 @@ s32 mNpc_CheckBuildHouse(s32 blockX, s32 blockZ, u8 utX, u8 utZ) { s32 res = FALSE; if ((blockX >= 0) && (blockX < 5) && (blockZ >= 0) && (blockZ < 6) && (utX < 0x10) && (utZ < 0x10)) { - u16 item = common_data.foreground[blockZ][blockX].items[utZ][utX]; + u16 item = common_data.save.foreground[blockZ][blockX].items[utZ][utX]; if ((item >= 0x5810) && (item < 0x5825)) { res = TRUE; @@ -2907,20 +2909,20 @@ s32 mNpc_CheckBuildHouse(s32 blockX, s32 blockZ, u8 utX, u8 utZ) { void mNpc_SetReturnAnimal(Animal_c* returnAnimal) { Anmhome_c* homeInfo; Animal_c* foundAnimal = NULL; - u8* nowMax = &common_data.nowNpcMax; + u8* nowMax = &common_data.save.nowNpcMax; Animal_c* animal; s32 foundAnimalIdx; if (mLd_PlayerManKindCheck() == FALSE && mNpc_CheckFreeAnimalInfo(returnAnimal) == FALSE) { if (returnAnimal->isMoving == 0) { - animal = common_data.animals; + animal = common_data.save.animals; foundAnimalIdx = mNpc_SearchAnimalinfo(animal, returnAnimal->id.npcId, ANIMAL_NUM_MAX); if (foundAnimalIdx != -1) { foundAnimal = &animal[foundAnimalIdx]; mNpc_DestroyHouse(&foundAnimal->homeInfo); (*nowMax)--; - if (common_data.removeAnimalIdx == foundAnimalIdx) { - common_data.removeAnimalIdx = 0xFF; + if (common_data.save.removeAnimalIdx == foundAnimalIdx) { + common_data.save.removeAnimalIdx = 0xFF; } } else if ((*nowMax) >= ANIMAL_NUM_MAX) { foundAnimalIdx = mNpc_GetGoodbyAnimalIdx(); @@ -2928,8 +2930,8 @@ void mNpc_SetReturnAnimal(Animal_c* returnAnimal) { mNpc_SetGoodbyAnimalMail(&l_mnpc_goodby_mail, foundAnimal); mNpc_DestroyHouse(&foundAnimal->homeInfo); (*nowMax)--; - if (foundAnimalIdx == common_data.removeAnimalIdx) { - common_data.removeAnimalIdx = 0xFF; + if (foundAnimalIdx == common_data.save.removeAnimalIdx) { + common_data.save.removeAnimalIdx = 0xFF; } } else { foundAnimalIdx = mNpc_GetFreeAnimalInfo(animal, ANIMAL_NUM_MAX); @@ -2958,7 +2960,7 @@ void mNpc_SetReturnAnimal(Animal_c* returnAnimal) { } } } else { - mNpc_CopyAnimalPersonalID(&common_data.lastRemovedAnimalId, &returnAnimal->id); + mNpc_CopyAnimalPersonalID(&common_data.save.lastRemovedAnimalId, &returnAnimal->id); } mNpc_ClearAnimalInfo(returnAnimal); } @@ -3056,7 +3058,7 @@ void mNpc_GetNpcWorldName(char* name, Npc* npc) { } void mNpc_GetRandomAnimalName(char* dst) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; u16 bitfield = 0; s32 num = 0; s32 select; @@ -3073,7 +3075,7 @@ void mNpc_GetRandomAnimalName(char* dst) { } if (num > 0) { - animal = common_data.animals; + animal = common_data.save.animals; select = RANDOM(num); for (i = 0; i < ANIMAL_NUM_MAX; i++) { @@ -3093,7 +3095,7 @@ void mNpc_GetRandomAnimalName(char* dst) { void mNpc_GetAnimalPlateName(char* dst, xyz_t wpos) { UNUSED s32 pad; - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 bx; s32 bz; s32 utX; @@ -3237,12 +3239,12 @@ void mNpc_GetMsg(UNUSED s32 arg) { } void mNpc_InitNpcAllInfo(s32 mallocFlag) { - common_data.nowNpcMax = NPC_LOOKS_NUM; - common_data.removeAnimalIdx = 0xFF; - mNpc_ClearAnimalPersonalID(&common_data.lastRemovedAnimalId); - mNpc_ClearAnyAnimalInfo(common_data.animals, ANIMAL_NUM_MAX); - mNpc_DecideLivingNpcMax(common_data.animals, NPC_LOOKS_NUM, mallocFlag); - mNpc_SetNpcNameID(common_data.animals, ANIMAL_NUM_MAX); + common_data.save.nowNpcMax = NPC_LOOKS_NUM; + common_data.save.removeAnimalIdx = 0xFF; + mNpc_ClearAnimalPersonalID(&common_data.save.lastRemovedAnimalId); + mNpc_ClearAnyAnimalInfo(common_data.save.animals, ANIMAL_NUM_MAX); + mNpc_DecideLivingNpcMax(common_data.save.animals, NPC_LOOKS_NUM, mallocFlag); + mNpc_SetNpcNameID(common_data.save.animals, ANIMAL_NUM_MAX); } s32 mNpc_CheckGrowFieldRank() { @@ -3264,10 +3266,10 @@ s32 mNpc_CheckGrowFieldRank() { s32 mNpc_CheckGrow() { UNUSED s32 pad; lbRTC_time_c* rtcTime = &common_data.time.rtcTime; - lbRTC_time_c* lastGrowTime = &common_data.lastGrowTime; + lbRTC_time_c* lastGrowTime = &common_data.save.lastGrowTime; s32 res = FALSE; - if (common_data.nowNpcMax < ANIMAL_NUM_MAX) { + if (common_data.save.nowNpcMax < ANIMAL_NUM_MAX) { if (lbRTC_IsEqualTime(&mTM_rtcTime_clear_code, lastGrowTime, lbRTC_CHECK_ALL) == TRUE) { lbRTC_TimeCopy(lastGrowTime, rtcTime); } else if (mNpc_CheckGrowFieldRank() == TRUE) { @@ -3317,7 +3319,7 @@ u8 mNpc_GetMinLooks(u8* bitfield, s32* minLooksNum) { } if (bitfield[0] == 0 && minLooksNum[0] == 0) { - mNpc_ResetHaveAppeared_common(common_data.npcUsedTable, common_data.animals); + mNpc_ResetHaveAppeared_common(common_data.save.npcUsedTable, common_data.save.animals); for (i = 0; i < NPC_LOOKS_NUM; i++) { bitfield[0] |= (1 << i); @@ -3333,7 +3335,7 @@ u8 mNpc_GetMinLooks(u8* bitfield, s32* minLooksNum) { } NpcSex mNpc_GetMinSex() { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 males = 0; s32 females = 0; NpcSex res; @@ -3384,7 +3386,8 @@ s32 mNpc_GrowLooksNpcIdx(u8 looks) { for (i = 0; i < ARRAY_COUNT(candidate_table); i++) { for (j = 0; j < 8; j++) { if (looks == *looks_table) { - if ((mNpc_SearchAnimalinfo(common_data.animals, ((i * 8) + j) | 0xE000, ANIMAL_NUM_MAX) == -1) && + if ((mNpc_SearchAnimalinfo(common_data.save.animals, ((i * 8) + j) | 0xE000, ANIMAL_NUM_MAX) == + -1) && (mNpc_GetHaveAppeared_idx(npc_idx) == FALSE)) { candidates++; candidate_table[i] |= 1 << j; @@ -3451,7 +3454,7 @@ void mNpc_SetAnimalInfoNpcIdx(Animal_c* animal, s32 idx) { } s32 mNpc_SetGrowNpc(u8 looks) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; UNUSED s32 pad; s32 idx; s32 npcIdx; @@ -3485,7 +3488,7 @@ void mNpc_Grow() { if (mNpc_CheckGrow() == TRUE) { mNpc_ResetHaveAppeared(); - lbRTC_TimeCopy(&common_data.lastGrowTime, &common_data.time.rtcTime); + lbRTC_TimeCopy(&common_data.save.lastGrowTime, &common_data.time.rtcTime); minLooks = mNpc_GetMinLooks(&minLooksBitfield, &minLooksNum); @@ -3528,8 +3531,8 @@ void mNpc_Grow() { growIdx = mNpc_SetGrowNpc(minLooks); if (growIdx >= 0 && growIdx < ANIMAL_NUM_MAX) { - mNpc_SetNpcNameID(&common_data.animals[growIdx], 1); - mNpc_AddNowNpcMax(&common_data.nowNpcMax); + mNpc_SetNpcNameID(&common_data.save.animals[growIdx], 1); + mNpc_AddNowNpcMax(&common_data.save.nowNpcMax); } } } @@ -3835,7 +3838,7 @@ s32 mNpc_GetNpcFloorNo() { s32 floor_no = -1; if (((field_id & 0xF000) == 0x4000) && (owner_name != 0) && (owner_name != 0xFFFF)) { - s32 idx = mNpc_SearchAnimalinfo(common_data.animals, owner_name, ANIMAL_NUM_MAX); + s32 idx = mNpc_SearchAnimalinfo(common_data.save.animals, owner_name, ANIMAL_NUM_MAX); floor_no = common_data.npclist[idx].houseData.floorId; } @@ -3845,7 +3848,7 @@ s32 mNpc_GetNpcFloorNo() { void mNpc_SetTalkBee() { if (common_data.beeStingFlag != TRUE) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; NpcList* npclist = common_data.npclist; s32 i; @@ -3893,7 +3896,7 @@ void mNpc_SetInsectCompleteTalk(NpcList* npclist) { } void mNpc_SetNpcHomeYpos() { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; NpcList* npclist = common_data.npclist; s32 i; @@ -3910,13 +3913,13 @@ void mNpc_SetNpcHomeYpos() { void mNpc_PrintRemoveInfo(gfxprint* gfxprint) { Animal_c* remove_anm = NULL; Animal_c* in_anm = mNpc_GetInAnimalP(); - u8 removeAnimalIdx = common_data.removeAnimalIdx; + u8 removeAnimalIdx = common_data.save.removeAnimalIdx; gfxprint_color(gfxprint, 200, 150, 50, 255); gfxprint_locate8x8(gfxprint, 3, 10); if (removeAnimalIdx < ANIMAL_NUM_MAX) { - remove_anm = &common_data.animals[removeAnimalIdx]; + remove_anm = &common_data.save.animals[removeAnimalIdx]; } if (remove_anm != NULL) { @@ -3948,7 +3951,7 @@ void mNpc_PrintFriendship_fdebug(gfxprint* gfxprint) { int i; if (l_mnpc_animal_idx >= 0 && l_mnpc_animal_idx < ANIMAL_NUM_MAX) { - memory = common_data.animals[l_mnpc_animal_idx].memories; + memory = common_data.save.animals[l_mnpc_animal_idx].memories; if (memory != NULL) { gfxprint_color(gfxprint, 250, 100, 170, 255); diff --git a/src/code/m_npc_schedule.c b/src/code/m_npc_schedule.c index 20510f6..6630dcb 100644 --- a/src/code/m_npc_schedule.c +++ b/src/code/m_npc_schedule.c @@ -154,7 +154,7 @@ void mNPS_schedule_manager(void) { } void mNPS_set_all_schedule_area(void) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; s32 i; for (i = 0; i < ANIMAL_NUM_MAX; i++) { diff --git a/src/code/m_npc_walk.c b/src/code/m_npc_walk.c index 40ee911..9a0cbd6 100644 --- a/src/code/m_npc_walk.c +++ b/src/code/m_npc_walk.c @@ -278,7 +278,7 @@ s32 mNpcW_ChangeNpcWalk(NpcWalking* walk, NpcWalkInfo* info) { NpcWalkInfo* free_info = &walk->info[free_idx]; mNpcW_ClearNpcWalkInfo(free_info, 1); - idx = mNpcW_DecideNpc(common_data.animals, walk->idxUse); + idx = mNpcW_DecideNpc(common_data.save.animals, walk->idxUse); if (idx == -1) { walk->idxUse = 0; @@ -288,10 +288,10 @@ s32 mNpcW_ChangeNpcWalk(NpcWalking* walk, NpcWalkInfo* info) { } } - idx = mNpcW_DecideNpc(common_data.animals, walk->idxUse); + idx = mNpcW_DecideNpc(common_data.save.animals, walk->idxUse); } - mNpcW_SetNpcWalkInfo(free_info, &common_data.animals[idx], idx); + mNpcW_SetNpcWalkInfo(free_info, &common_data.save.animals[idx], idx); walk->idxUse |= (1 << idx); mNpcW_SetGoalBlock(free_info); } @@ -300,7 +300,7 @@ s32 mNpcW_ChangeNpcWalk(NpcWalking* walk, NpcWalkInfo* info) { } s32 mNpcW_GetAloneBlock(u8* goalBlockX, u8* goalBlockZ) { - Animal_c* animal = common_data.animals; + Animal_c* animal = common_data.save.animals; NpcList* npcList = common_data.npclist; u8 block_field[FG_BLOCK_Z_NUM + 2]; u8 count = 0; @@ -415,7 +415,7 @@ s32 mNpcW_CheckDiffBlockWalkNpcHome(s32 blockX, s32 blockZ, NpcWalkInfo* info) { for (i = 0; i < NPCW_MAX; i++) { idx = info->idx; if (idx != -1) { - home = &common_data.animals[idx].homeInfo; + home = &common_data.save.animals[idx].homeInfo; if (home->blockX == blockX && home->blockZ == blockZ) { break; @@ -515,8 +515,8 @@ void mNpcW_SetGoalBlock(NpcWalkInfo* info) { case NPCW_GOAL_MY_HOME: idx = info->idx; - info->goalX = common_data.animals[idx].homeInfo.blockX; - info->goalZ = common_data.animals[idx].homeInfo.blockZ; + info->goalX = common_data.save.animals[idx].homeInfo.blockX; + info->goalZ = common_data.save.animals[idx].homeInfo.blockZ; break; default: @@ -536,13 +536,13 @@ void mNpcW_InitNpcWalk(NpcWalking* walk) { bzero(l_goal_block, sizeof(l_goal_block)); bzero(l_arrive_stay_count, sizeof(l_arrive_stay_count)); - animals = common_data.animals; - walk->infoMax = NPCW_GET_WALK_NUM(common_data.nowNpcMax); + animals = common_data.save.animals; + walk->infoMax = NPCW_GET_WALK_NUM(common_data.save.nowNpcMax); for (i = 0; i < walk->infoMax; i++) { idx = mNpcW_DecideNpc(animals, walk->idxUse); - mNpcW_SetNpcWalkInfo(info, &common_data.animals[idx], idx); + mNpcW_SetNpcWalkInfo(info, &common_data.save.animals[idx], idx); walk->idxUse |= (1 << idx); info++; } @@ -588,7 +588,7 @@ s32 mNpcW_GetWalkInfoStatusGoalAnimalIdx(s32* status, s32* goal, s32 idx) { if (idx >= 0 && idx < ANIMAL_NUM_MAX) { NpcWalking* walk = &common_data.npcWalk; - s32 info_idx = mNpcW_GetNpcWalkInfoIdx(walk->info, NPCW_MAX, &common_data.animals[idx].id); + s32 info_idx = mNpcW_GetNpcWalkInfoIdx(walk->info, NPCW_MAX, &common_data.save.animals[idx].id); if (info_idx >= 0) { res = TRUE; diff --git a/src/code/m_private.c b/src/code/m_private.c index 3c816d4..35a1801 100644 --- a/src/code/m_private.c +++ b/src/code/m_private.c @@ -11,7 +11,6 @@ #include "m_handbill.h" #include "m_house.h" #include "6DA460.h" -#include "6EDD10.h" PrivateInfo g_foreigner_private; Mail_c l_mpr_mail; @@ -57,8 +56,8 @@ s32 mPr_GetPlayerName(char* buf, s32 playerNumber) { s32 res = FALSE; if (mLd_PlayerManKindCheckNo(playerNumber) == FALSE) { - if (mPr_NullCheckPersonalID(&common_data.saveFilePrivateInfo[playerNumber].playerId) == FALSE) { - mPr_CopyPlayerName(buf, common_data.saveFilePrivateInfo[playerNumber].playerId.playerName); + if (mPr_NullCheckPersonalID(&common_data.save.saveFilePrivateInfo[playerNumber].playerId) == FALSE) { + mPr_CopyPlayerName(buf, common_data.save.saveFilePrivateInfo[playerNumber].playerId.playerName); res = TRUE; } } else if (mLd_PlayerManKindCheckNo(common_data.playerNumber) == TRUE) { @@ -146,7 +145,7 @@ s32 mPr_GetRandomFace() { } s32 mPr_GetRandomOriginalFace() { - PrivateInfo* priv = common_data.saveFilePrivateInfo; + PrivateInfo* priv = common_data.save.saveFilePrivateInfo; PrivateInfo* pr2; s32 j; PrivateInfo* pr = priv; @@ -225,11 +224,11 @@ void mPr_InitPrivateInfo(PrivateInfo* priv) { exists = FALSE; face = mPr_GetRandomOriginalFace(); - priv->playerId.landId = common_data.landInfo.id; - mLd_CopyLandName(priv->playerId.landName, common_data.landInfo.name); + priv->playerId.landId = common_data.save.landInfo.id; + mLd_CopyLandName(priv->playerId.landName, common_data.save.landInfo.name); pid = RANDOM_F(253); - ogPriv = common_data.saveFilePrivateInfo; + ogPriv = common_data.save.saveFilePrivateInfo; for (i = 0; i < PLAYER_NUM - 1; i++, exists = FALSE) { s32 j; @@ -287,7 +286,7 @@ s32 mPr_CheckCmpPrivate(PrivateInfo* priv0, PrivateInfo* priv1) { } s32 mPr_GetPrivateIdx(PersonalID_c* pid) { - PrivateInfo* priv = common_data.saveFilePrivateInfo; + PrivateInfo* priv = common_data.save.saveFilePrivateInfo; s32 res = -1; s32 i; @@ -670,7 +669,7 @@ s32 mPr_LoadPak_and_SetPrivateInfo2(u8 player, PakInfo* pak) { if (save == TRUE) { if (player < 4) { - priv = &common_data.saveFilePrivateInfo[player]; + priv = &common_data.save.saveFilePrivateInfo[player]; if (mPr_CheckCmpPrivate(priv, &g_foreigner_private) == TRUE) { mPr_CopyPrivateInfo(priv, &g_foreigner_private); common_data.privateInfo = priv; @@ -680,7 +679,7 @@ s32 mPr_LoadPak_and_SetPrivateInfo2(u8 player, PakInfo* pak) { } else { s32 i; s32 exists; - priv = common_data.saveFilePrivateInfo; + priv = common_data.save.saveFilePrivateInfo; for (i = 0; i < PLAYER_NUM; i++, priv++) { exists = mPr_CheckCmpPrivate(priv, &g_foreigner_private); @@ -753,7 +752,7 @@ s32 mPr_SendMotherMailPost(PersonalID_c* pid, s32 playerNumber, u16 present, s32 UNUSED s32 pad; mail = &l_mpr_mail; - home = &common_data.homes[mHS_get_arrange_idx(playerNumber)]; + home = &common_data.save.homes[mHS_get_arrange_idx(playerNumber)]; if (mPr_CheckCmpPersonalID(pid, &home->ownerID) == TRUE) { mailboxIdx = mMl_chk_mail_free_space(home->mailbox, HOME_MAILBOX_SIZE); @@ -1095,12 +1094,12 @@ void mPr_SendMailFromMother() { if (mLd_PlayerManKindCheckNo(playerNumber) == FALSE && priv != NULL && mPr_NullCheckPersonalID(&priv->playerId) == FALSE) { - mailDate = &common_data.motherMailInfo[playerNumber].date; + mailDate = &common_data.save.motherMailInfo[playerNumber].date; if (mailDate->year != mTM_rtcTime_ymd_clear_code.year && mailDate->month != mTM_rtcTime_ymd_clear_code.month && mailDate->day != mTM_rtcTime_ymd_clear_code.day) { if (mailDate->year != rtcTime->year || mailDate->month != rtcTime->month || mailDate->day != rtcTime->day) { - mPr_SendMotherMail(&common_data.motherMailInfo[playerNumber], rtcTime); + mPr_SendMotherMail(&common_data.save.motherMailInfo[playerNumber], rtcTime); } } else { mTM_set_renew_time(mailDate, rtcTime); @@ -1192,7 +1191,7 @@ s32 mPr_CheckFishCompleteTalk(u8 playerNumber) { s32 res = FALSE; if (playerNumber < PLAYER_NUM && - mPr_GetCompleteTalk(common_data.saveFilePrivateInfo[playerNumber].completeFishInsectFlags, 0) == TRUE) { + mPr_GetCompleteTalk(common_data.save.saveFilePrivateInfo[playerNumber].completeFishInsectFlags, 0) == TRUE) { res = TRUE; } @@ -1207,7 +1206,7 @@ s32 mPr_CheckInsectCompleteTalk(u8 playerNumber) { s32 res = FALSE; if (playerNumber < PLAYER_NUM && - mPr_GetCompleteTalk(common_data.saveFilePrivateInfo[playerNumber].completeFishInsectFlags, 1) == TRUE) { + mPr_GetCompleteTalk(common_data.save.saveFilePrivateInfo[playerNumber].completeFishInsectFlags, 1) == TRUE) { res = TRUE; } @@ -1260,8 +1259,8 @@ void mPr_CopyMapInfo(mPr_map_info_c* dst, mPr_map_info_c* src) { void mPr_SetMapThisLand(mPr_map_info_c* mapInfo) { if (mapInfo != NULL) { - mLd_CopyLandName(mapInfo->landName, common_data.landInfo.name); - mapInfo->landId = common_data.landInfo.id; + mLd_CopyLandName(mapInfo->landName, common_data.save.landInfo.name); + mapInfo->landId = common_data.save.landInfo.id; } } @@ -1301,7 +1300,7 @@ s32 mPr_GetLandMapIdx(mPr_map_info_c* mapInfo, s32 max, LandInfo* landInfo) { } s32 mPr_GetThisLandMapIdx(mPr_map_info_c* map_info, s32 max) { - return mPr_GetLandMapIdx(map_info, max, &common_data.landInfo); + return mPr_GetLandMapIdx(map_info, max, &common_data.save.landInfo); } void mPr_PushMapInfo(mPr_map_info_c* map_info, s32 max) { @@ -1375,7 +1374,7 @@ void mPr_PrintMapInfo_debug(gfxprint* gfxprint) { mapInfo = priv->maps; gfxprint_color(gfxprint, 30, 100, 100, 255); gfxprint_locate8x8(gfxprint, 3, 21); - gfxprint_printf(gfxprint, "%04x ", common_data.landInfo.id); + gfxprint_printf(gfxprint, "%04x ", common_data.save.landInfo.id); gfxprint_locate8x8(gfxprint, 3, 22); gfxprint_color(gfxprint, 30, 200, 70, 255); diff --git a/src/code/m_scene.c b/src/code/m_scene.c index d3be1c9..80bc5c2 100644 --- a/src/code/m_scene.c +++ b/src/code/m_scene.c @@ -14,7 +14,6 @@ #include "m_std_dma.h" #include "m_scene_table.h" #include "m_scene_ftr.h" -#include "m_player_lib.h" #include "overlays/actors/player_actor/m_player.h" s32 func_800C59B0_jp(ObjectExchangeBank* objectExchangeBank) { @@ -468,8 +467,8 @@ void Scene_player_select(s32 sceneNo, s32 npcActor) { s32 selected; metVillagersBitfield = 0; - animal = common_data.animals; - if (sceneNo != common_data.sceneNo) { + animal = common_data.save.animals; + if (sceneNo != common_data.save.sceneNo) { return; } @@ -481,8 +480,8 @@ void Scene_player_select(s32 sceneNo, s32 npcActor) { Anmmem_c* memory = animal->memories; for (j = 0; j < ANIMAL_MEMORY_NUM; j++) { - if (memory->memoryPlayerId.landId == common_data.landInfo.id && - mLd_CheckCmpLandName(memory->memoryPlayerId.landName, common_data.landInfo.name) == TRUE) { + if (memory->memoryPlayerId.landId == common_data.save.landInfo.id && + mLd_CheckCmpLandName(memory->memoryPlayerId.landName, common_data.save.landInfo.name) == TRUE) { metVillagersBitfield |= 1 << i; metVillagersNum++; break; @@ -499,10 +498,10 @@ void Scene_player_select(s32 sceneNo, s32 npcActor) { if (metVillagersNum == 0) { do { selected = RANDOM(ANIMAL_NUM_MAX); - } while (mNpc_CheckFreeAnimalPersonalID(&common_data.animals[selected].id)); + } while (mNpc_CheckFreeAnimalPersonalID(&common_data.save.animals[selected].id)); if (1) {}; - npcId = common_data.animals[selected].id.npcId; - found = mNpc_SearchAnimalinfo(common_data.animals, npcId, ANIMAL_NUM_MAX); + npcId = common_data.save.animals[selected].id.npcId; + found = mNpc_SearchAnimalinfo(common_data.save.animals, npcId, ANIMAL_NUM_MAX); } else { /* Pick a random villager which has met a player in town */ @@ -517,37 +516,30 @@ void Scene_player_select(s32 sceneNo, s32 npcActor) { } metVillagersBitfield >>= 1; } - npcId = common_data.animals[found].id.npcId; + npcId = common_data.save.animals[found].id.npcId; } - mNpc_RegistEventNpc(npcActor, npcId, npcId, common_data.animals[found].cloth); + mNpc_RegistEventNpc(npcActor, npcId, npcId, common_data.save.animals[found].cloth); } -void Scene_Proc_Player_Ptr(Game_Play* play, SceneData* data); -void Scene_Proc_Ctrl_Actor_Ptr(Game_Play* play, SceneData* data); -void Scene_Proc_Actor_Ptr(Game_Play* play, SceneData* data); -void Scene_Proc_Object_Exchange_Bank_Ptr(Game_Play* play, SceneData* data); -void Scene_Proc_Door_Data_Ptr(Game_Play* play, SceneData* data); -void Scene_Proc_Field_ct(Game_Play* play, SceneData* data); +void Scene_Proc_Ctrl_Actor_Ptr(Game_Play* play, SceneData* scene_data); + void Scene_Proc_MyRoom_ct(Game_Play* play, SceneData* data); -void Scene_Proc_ArrangeRoom_ct(Game_Play* play, SceneData* data); -void Scene_Proc_ArrangeFurniture_ct(Game_Play* play, SceneData* data); -void Scene_Proc_Sound(Game_Play* play, SceneData* data); typedef void (*SceneDataProc)(Game_Play*, SceneData*); void Scene_ct(Game_Play* play, SceneData* sceneData) { static SceneDataProc Scene_Proc[] = { - &Scene_Proc_Player_Ptr, - &Scene_Proc_Ctrl_Actor_Ptr, - &Scene_Proc_Actor_Ptr, - &Scene_Proc_Object_Exchange_Bank_Ptr, - &Scene_Proc_Door_Data_Ptr, - &Scene_Proc_Field_ct, - &Scene_Proc_MyRoom_ct, - &Scene_Proc_ArrangeRoom_ct, - &Scene_Proc_ArrangeFurniture_ct, - &Scene_Proc_Sound, + Scene_Proc_Player_Ptr, + Scene_Proc_Ctrl_Actor_Ptr, + Scene_Proc_Actor_Ptr, + Scene_Proc_Object_Exchange_Bank_Ptr, + Scene_Proc_Door_Data_Ptr, + Scene_Proc_Field_ct, + Scene_Proc_MyRoom_ct, + Scene_Proc_ArrangeRoom_ct, + Scene_Proc_ArrangeFurniture_ct, + Scene_Proc_Sound, NULL, }; @@ -724,7 +716,7 @@ s32 goto_emu_game(Game_Play* play, s16 famicomRomId) { res = TRUE; door_data = &common_data.famicomEmuDoorData; - door_data->nextSceneId = common_data.sceneNo; + door_data->nextSceneId = common_data.save.sceneNo; door_data->exitOrientation = 0; door_data->exitType = 0; door_data->params = 0; @@ -743,5 +735,5 @@ void return_emu_game(Game* game) { common_data.doorData.nextSceneId = common_data.famicomEmuDoorData.nextSceneId + 1; game->unk_74 = FALSE; game_goto_next_game_play(game); - common_data.sceneNo = common_data.famicomEmuDoorData.nextSceneId; + common_data.save.sceneNo = common_data.famicomEmuDoorData.nextSceneId; } diff --git a/src/code/m_snowman.c b/src/code/m_snowman.c index 3075c24..e55229a 100644 --- a/src/code/m_snowman.c +++ b/src/code/m_snowman.c @@ -40,7 +40,7 @@ s32 mSN_check_life(u16* name, s32 daysElapsed) { } void mSN_ClearSnowmanData(u16* name, s32 snowmanIndex) { - bzero(&common_data.snowmanData[snowmanIndex], sizeof(SnowmanData)); + bzero(&common_data.save.snowmanData[snowmanIndex], sizeof(SnowmanData)); *name = 0; } @@ -70,17 +70,17 @@ s32 mSN_MeltSnowman(u16* name, s32 daysElapsed) { if (daysElapsed < 0) { daysElapsed = 1; - common_data.snowmanYear = 0; - common_data.snowmanMonth = 0; - common_data.snowmanDay = 0; - common_data.snowmanHour = 0; + common_data.save.snowmanYear = 0; + common_data.save.snowmanMonth = 0; + common_data.save.snowmanDay = 0; + common_data.save.snowmanHour = 0; } if (!mSN_check_life(name, daysElapsed)) { mSN_ClearSnowmanData(name, snowmanIndex); } else { - SnowmanData* snowmanData = &common_data.snowmanData[snowmanIndex]; + SnowmanData* snowmanData = &common_data.save.snowmanData[snowmanIndex]; *name += daysElapsed; @@ -103,7 +103,7 @@ s32 mSN_MeltSnowman(u16* name, s32 daysElapsed) { * @return the index of the first empty slot. If there are no empty slots, return -1. */ s32 mSN_get_free_space(void) { - SnowmanData* snowmanData = common_data.snowmanData; + SnowmanData* snowmanData = common_data.save.snowmanData; s32 snowmanIndex; for (snowmanIndex = 0; snowmanIndex < SNOWMAN_SAVE_COUNT; snowmanIndex++) { @@ -121,7 +121,7 @@ void mSN_regist_snowman_society(SnowmanInfo* snowmanInfo) { u16 name; if (snowmanIndex != -1) { - mem_copy((u8*)&common_data.snowmanData[snowmanIndex], (u8*)snowmanInfo, sizeof(SnowmanData)); + mem_copy((u8*)&common_data.save.snowmanData[snowmanIndex], (u8*)snowmanInfo, sizeof(SnowmanData)); if (sp2E) { mPB_keep_item(sp2E); @@ -138,6 +138,6 @@ void mSN_decide_msg(void) { } void mSN_snowman_init(void) { - bzero(common_data.snowmanData, sizeof(SnowmanData[SNOWMAN_SAVE_COUNT])); + bzero(common_data.save.snowmanData, sizeof(SnowmanData[SNOWMAN_SAVE_COUNT])); mSN_decide_msg(); } diff --git a/src/code/m_start_data_init.c b/src/code/m_start_data_init.c index 7dd776c..ca4c3dd 100644 --- a/src/code/m_start_data_init.c +++ b/src/code/m_start_data_init.c @@ -10,7 +10,7 @@ #include "6E3240.h" #include "m_string.h" #include "6ECD90.h" -#include "6EDD10.h" +#include "m_time.h" #include "global.h" #include "lb_rtc.h" #include "libc64/qrand.h" @@ -34,12 +34,11 @@ #include "m_quest.h" #include "m_scene_table.h" #include "m_snowman.h" -#include "m_time.h" #include "overlays/gamestates/ovl_play/m_play.h" #include "sys_math.h" void famicom_emu_initial_common_data(void) { - FamicomEmuCommonData* famicom = &common_data.famicomEmuCommonData; + FamicomEmuCommonData* famicom = &common_data.save.famicomEmuCommonData; famicom->unk00 = 0; famicom->unk02 = 0x3E8; @@ -80,9 +79,9 @@ void title_game_haniwa_data_init(void) { mString_Load_StringFromRom(haniwaBuf, HANIWA_MESSAGE_LEN, 0x55C); for (i = 0; i < mHS_HOUSE_NUM; i++) { - haniwa = &common_data.homes[i].haniwa; + haniwa = &common_data.save.homes[i].haniwa; - mem_copy(common_data.homes[i].haniwa.message, (u8*)haniwaBuf, HANIWA_MESSAGE_LEN); + mem_copy(common_data.save.homes[i].haniwa.message, (u8*)haniwaBuf, HANIWA_MESSAGE_LEN); for (j = 0; j < HANIWA_ITEM_HOLD_NUM; j++) { haniwa->items[j].item = EMPTY_NO; @@ -111,7 +110,7 @@ void mSDI_ClearMoneyPlayerHomeStationBlock(void) { blockX = block_num[i][0]; depositOffset = block_num[i][1] * FG_BLOCK_X_NUM + blockX; - items = common_data.foreground[blockZ][blockX].items[0]; + items = common_data.save.foreground[blockZ][blockX].items[0]; if (items != NULL) { for (utZ = 0; utZ < UT_Z_NUM; utZ++) { @@ -119,7 +118,7 @@ void mSDI_ClearMoneyPlayerHomeStationBlock(void) { item = *items; if (item >= ITM_MONEY_START && item <= ITM_MONEY_END) { - u16* deposit = common_data.deposit[depositOffset]; + u16* deposit = common_data.save.deposit[depositOffset]; mPB_keep_item(item); *items = EMPTY_NO; @@ -157,7 +156,7 @@ void mSDI_PullTree(void) { for (blockZ = 0; blockZ < FG_BLOCK_Z_NUM; blockZ++) { // Clear trees against the cliffs on the left and right town cliff borders - fgBlock = &common_data.foreground[blockZ][0]; + fgBlock = &common_data.save.foreground[blockZ][0]; mSDI_PullTreeBlock(fgBlock->items[0], 0); mSDI_PullTreeBlock((fgBlock + FG_BLOCK_X_NUM - 1)->items[0], UT_X_NUM - 1); } @@ -175,7 +174,7 @@ void mSDI_PullTreeUnderPlayerBlock(void) { * ... **/ - u16* items = &common_data.foreground[2][2].items[0][0]; + u16* items = &common_data.save.foreground[2][2].items[0][0]; mSDI_PullTreeUT(&items[7]); mSDI_PullTreeUT(&items[8]); @@ -194,18 +193,18 @@ s32 mSDI_StartInitNew(Game* game2, s32 playerNumber, s32 mallocFlag) { common_data.sceneFromTitleDemo = SCENE_START_DEMO; lbRTC_GetTime(&common_data.time.rtcTime); - privateInfo = &common_data.saveFilePrivateInfo[playerNumber]; + privateInfo = &common_data.save.saveFilePrivateInfo[playerNumber]; common_data.privateInfo = privateInfo; common_data.playerNumber = playerNumber; common_data.privateInfo->gender = mPr_SEX_MALE; - decide_fruit(&common_data.fruit); + decide_fruit(&common_data.save.fruit); if (mallocFlag == 0) { game = game2; } - bzero(&common_data.deposit, sizeof(common_data.deposit)); + bzero(&common_data.save.deposit, sizeof(common_data.save.deposit)); mFM_InitFgCombiSaveData(game); mSDI_PullTree(); @@ -213,11 +212,11 @@ s32 mSDI_StartInitNew(Game* game2, s32 playerNumber, s32 mallocFlag) { mFM_SetBlockKindLoadCombi(game); mAGrw_ChangeTree2FruitTree(); - privateInfoPointer = &common_data.saveFilePrivateInfo[0]; + privateInfoPointer = &common_data.save.saveFilePrivateInfo[0]; mMld_SetDefaultMelody(); mLd_LandDataInit(); - mEv_ClearEventSaveInfo(&common_data.eventSaveInfo); + mEv_ClearEventSaveInfo(&common_data.save.eventSaveInfo); mEv_init(&game_play->event); mNpc_InitNpcAllInfo(mallocFlag); @@ -229,27 +228,27 @@ s32 mSDI_StartInitNew(Game* game2, s32 playerNumber, s32 mallocFlag) { privateInfoPointer += playerNumber; privateInfoPointer -= PLAYER_NUM; mPr_InitPrivateInfo(privateInfoPointer); - mNpc_SetRemoveAnimalNo(common_data.animals); + mNpc_SetRemoveAnimalNo(common_data.save.animals); title_game_haniwa_data_init(); mPB_police_box_init(game); mSN_snowman_init(); mHS_house_init(); - lbRTC_TimeCopy(&common_data.lastGrowTime, &mTM_rtcTime_clear_code); - lbRTC_TimeCopy(&common_data.unk_0F89C, &mTM_rtcTime_clear_code); - lbRTC_TimeCopy(&common_data.unk_0F8A4, &mTM_rtcTime_clear_code); + lbRTC_TimeCopy(&common_data.save.lastGrowTime, &mTM_rtcTime_clear_code); + lbRTC_TimeCopy(&common_data.save.unk_0F89C, &mTM_rtcTime_clear_code); + lbRTC_TimeCopy(&common_data.save.unk_0F8A4, &mTM_rtcTime_clear_code); for (i = 0; i < PLAYER_NUM; i++) { - common_data.homes[i].unk_022.unk_22_0 = 0; - common_data.homes[i].unk_022.unk_22_2 = 0; - common_data.homes[i].unk_022.unk_22_4 = 0; - common_data.homes[i].unk_024 = i; + common_data.save.homes[i].unk_022.unk_22_0 = 0; + common_data.save.homes[i].unk_022.unk_22_2 = 0; + common_data.save.homes[i].unk_022.unk_22_4 = 0; + common_data.save.homes[i].unk_024 = i; } - common_data.stationType = RANDOM_F(15); + common_data.save.stationType = RANDOM_F(15); for (i = 0; i < PLAYER_NUM; i++) { - mPr_ClearMotherMailInfo(&common_data.motherMailInfo[i]); + mPr_ClearMotherMailInfo(&common_data.save.motherMailInfo[i]); } mPr_SetPossessionItem(common_data.privateInfo, 0, ITM_MONEY_1000, mPr_ITEM_COND_QUEST); @@ -273,7 +272,7 @@ s32 mSDI_StartInitFrom(Game* game2, s32 playerNumber, s32 mallocFlag) { lbRTC_GetTime(&common_data.time.rtcTime); if (mFRm_CheckSaveData() == TRUE) { - privateInfo = &common_data.saveFilePrivateInfo[playerNumber]; + privateInfo = &common_data.save.saveFilePrivateInfo[playerNumber]; if (mPr_CheckPrivate(privateInfo) == TRUE) { if (privateInfo->exists == TRUE) { common_data.privateInfo = privateInfo; @@ -282,7 +281,7 @@ s32 mSDI_StartInitFrom(Game* game2, s32 playerNumber, s32 mallocFlag) { mEv_init_force(&game_play->event); mHsRm_GetHuusuiRoom(game, playerNumber); mSP_ExchangeLineUp_InGame(game); - mNpc_SetRemoveAnimalNo(common_data.animals); + mNpc_SetRemoveAnimalNo(common_data.save.animals); mCkRh_DecideNowGokiFamilyCount(playerNumber); mMkRm_MarkRoom(game); res = TRUE; @@ -294,7 +293,7 @@ s32 mSDI_StartInitFrom(Game* game2, s32 playerNumber, s32 mallocFlag) { mFM_SetBlockKindLoadCombi(game); mHsRm_GetHuusuiRoom(game, playerNumber); mSP_ExchangeLineUp_InGame(game); - mNpc_SetRemoveAnimalNo(common_data.animals); + mNpc_SetRemoveAnimalNo(common_data.save.animals); bzero(privateInfo->inventory.pockets, sizeof(privateInfo->inventory.pockets)); privateInfo->inventory.lotto_ticket_expiry_month = 0; @@ -321,7 +320,7 @@ s32 mSDI_StartInitNewPlayer(Game* game, s32 playerNumber, s32 mallocFlag) { common_data.sceneFromTitleDemo = SCENE_START_DEMO2; lbRTC_GetTime(&common_data.time.rtcTime); - privateInfo = &common_data.saveFilePrivateInfo[playerNumber]; + privateInfo = &common_data.save.saveFilePrivateInfo[playerNumber]; if (mFRm_CheckSaveData() == TRUE) { if (mPr_CheckPrivate(privateInfo) != TRUE) { mPr_InitPrivateInfo(privateInfo); @@ -338,7 +337,7 @@ s32 mSDI_StartInitNewPlayer(Game* game, s32 playerNumber, s32 mallocFlag) { mEv_init_force(&game_play->event); mSP_ExchangeLineUp_InGame(NULL); } - mNpc_SetRemoveAnimalNo(common_data.animals); + mNpc_SetRemoveAnimalNo(common_data.save.animals); mSDI_ClearMoneyPlayerHomeStationBlock(); res = TRUE; } @@ -368,7 +367,7 @@ s32 mSDI_StartInitPak(Game* game2, s32 playerNumber, s32 mallocFlag) { mEv_init_force(&game_play->event); mHsRm_GetHuusuiRoom(game, playerNumber); mSP_ExchangeLineUp_InGame(game); - mNpc_SetRemoveAnimalNo(common_data.animals); + mNpc_SetRemoveAnimalNo(common_data.save.animals); mNpc_SetReturnAnimal(mNpc_GetInAnimalP()); mNpc_SendRegisteredGoodbyMail(); mCkRh_DecideNowGokiFamilyCount(playerNumber); @@ -403,7 +402,7 @@ void mSDI_StartInitAfter(Game* game, s32 renewalReserveFlag, s32 mallocFlag) { Kabu_manager(); mNpc_InitNpcData(); mNpc_InitNpcList(); - mNpc_SetNpcList(common_data.npclist, common_data.animals, ANIMAL_NUM_MAX, mallocFlag); + mNpc_SetNpcList(common_data.npclist, common_data.save.animals, ANIMAL_NUM_MAX, mallocFlag); mNpc_ClearTalkInfo(); if (renewalReserveFlag == 1) { mFM_RenewalReserve(); @@ -424,7 +423,7 @@ void mSDI_StartInitAfter(Game* game, s32 renewalReserveFlag, s32 mallocFlag) { func_8008DCF8_jp(); func_800A4D10_jp(); mSN_decide_msg(); - mPr_RenewalMapInfo(common_data.privateInfo->maps, mPr_FOREIGN_MAP_COUNT, &common_data.landInfo); + mPr_RenewalMapInfo(common_data.privateInfo->maps, mPr_FOREIGN_MAP_COUNT, &common_data.save.landInfo); } typedef s32 (*StartDataInitProcess)(Game*, s32, s32); diff --git a/src/code/m_time.c b/src/code/m_time.c index f4f4601..01d3a77 100644 --- a/src/code/m_time.c +++ b/src/code/m_time.c @@ -99,7 +99,7 @@ void mTM_set_renew_time(lbRTC_ymd_t* renewTime, lbRTC_time_c* time) { } void mTM_renewal_renew_time() { - lbRTC_ymd_t* renewTime = &common_data.renewTime; + lbRTC_ymd_t* renewTime = &common_data.save.renewTime; lbRTC_time_c* rtcTime = &common_data.time.rtcTime; if ((renewTime->year != rtcTime->year) || (renewTime->month != rtcTime->month) || |
