diff --git a/assets/xml/textures/icon_item_field_static.xml b/assets/xml/textures/icon_item_field_static.xml index 1d94ffda11..1ee2483501 100644 --- a/assets/xml/textures/icon_item_field_static.xml +++ b/assets/xml/textures/icon_item_field_static.xml @@ -12,21 +12,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/include/z64save.h b/include/z64save.h index f270600254..12491072ce 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -176,6 +176,32 @@ typedef enum TimerId { #define ENV_HAZARD_TEXT_TRIGGER_HOTROOM (1 << 0) #define ENV_HAZARD_TEXT_TRIGGER_UNDERWATER (1 << 1) +typedef enum WorldMapArea { + /* 0 */ WORLD_MAP_AREA_HYRULE_FIELD, + /* 1 */ WORLD_MAP_AREA_KAKARIKO_VILLAGE, + /* 2 */ WORLD_MAP_AREA_GRAVEYARD, + /* 3 */ WORLD_MAP_AREA_ZORAS_RIVER, + /* 4 */ WORLD_MAP_AREA_KOKIRI_FOREST, + /* 5 */ WORLD_MAP_AREA_SACRED_FOREST_MEADOW, + /* 6 */ WORLD_MAP_AREA_LAKE_HYLIA, + /* 7 */ WORLD_MAP_AREA_ZORAS_DOMAIN, + /* 8 */ WORLD_MAP_AREA_ZORAS_FOUNTAIN, + /* 9 */ WORLD_MAP_AREA_GERUDO_VALLEY, + /* 10 */ WORLD_MAP_AREA_LOST_WOODS, + /* 11 */ WORLD_MAP_AREA_DESERT_COLOSSUS, + /* 12 */ WORLD_MAP_AREA_GERUDOS_FORTRESS, + /* 13 */ WORLD_MAP_AREA_HAUNTED_WASTELAND, + /* 14 */ WORLD_MAP_AREA_MARKET, + /* 15 */ WORLD_MAP_AREA_HYRULE_CASTLE, + /* 16 */ WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL, + /* 17 */ WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER, + /* 18 */ WORLD_MAP_AREA_GORON_CITY, + /* 19 */ WORLD_MAP_AREA_LON_LON_RANCH, + /* 20 */ WORLD_MAP_AREA_QUESTION_MARK, // Windmill/Dampé's Grave (and a Lon Lon Ranch cutscene). Labeled as "?" + /* 21 */ WORLD_MAP_AREA_GANONS_CASTLE, + /* 22 */ WORLD_MAP_AREA_MAX // also grottos and fairy's/great fairy's fountains (scenes with varying locations) +} WorldMapArea; + // offsets in SavePlayerData and SaveContext/Save typedef struct SavePlayerData { /* 0x00 0x001C */ char newf[6]; // string "ZELDAZ" diff --git a/src/code/sys_cfb.c b/src/code/sys_cfb.c index 5c7c0bcae4..e770025758 100644 --- a/src/code/sys_cfb.c +++ b/src/code/sys_cfb.c @@ -1,6 +1,6 @@ #include "global.h" -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" uintptr_t sSysCfbFbPtr[2]; uintptr_t sSysCfbEnd; diff --git a/src/code/sys_matrix.c b/src/code/sys_matrix.c index 440e4c6d6c..08fb315792 100644 --- a/src/code/sys_matrix.c +++ b/src/code/sys_matrix.c @@ -19,7 +19,7 @@ MtxF gMtxFClear = { }; // clang-format on -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" MtxF* sMatrixStack; // "Matrix_stack" MtxF* sCurrentMatrix; // "Matrix_now" diff --git a/src/code/z_play.c b/src/code/z_play.c index c650cbd6c3..4a0309b5fa 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -1527,7 +1527,7 @@ void Play_InitScene(PlayState* this, s32 spawn) { TransitionActor_InitContext(&this->state, &this->transiActorCtx); func_80096FD4(this, &this->roomCtx.curRoom); R_SCENE_CAM_TYPE = SCENE_CAM_TYPE_DEFAULT; - gSaveContext.worldMapArea = 0; + gSaveContext.worldMapArea = WORLD_MAP_AREA_HYRULE_FIELD; Scene_ExecuteCommands(this, this->sceneSegment); Play_InitEnvironment(this, this->skyboxId); } diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 34ddb933f8..83714b8a4d 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -462,7 +462,7 @@ BAD_RETURN(s32) Scene_CommandMiscSettings(PlayState* play, SceneCmd* cmd) { if ((play->sceneId == SCENE_BAZAAR) || (play->sceneId == SCENE_SHOOTING_GALLERY)) { if (LINK_AGE_IN_YEARS == YEARS_ADULT) { - gSaveContext.worldMapArea = 1; + gSaveContext.worldMapArea = WORLD_MAP_AREA_KAKARIKO_VILLAGE; } } diff --git a/src/code/z_skin.c b/src/code/z_skin.c index ab3b8624a4..77b7aedc45 100644 --- a/src/code/z_skin.c +++ b/src/code/z_skin.c @@ -1,6 +1,6 @@ #include "global.h" -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" MtxF gSkinLimbMatrices[60]; // holds matrices for each limb of the skeleton currently being drawn diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index e22bb5e868..861301efe4 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -14,7 +14,7 @@ #include "cic6105.h" #endif -#pragma increment_block_number "gc-eu:166 gc-eu-mq:166 gc-jp:168 gc-jp-ce:168 gc-jp-mq:168 gc-us:168 gc-us-mq:168" +#pragma increment_block_number "gc-eu:163 gc-eu-mq:163 gc-jp:165 gc-jp-ce:165 gc-jp-mq:165 gc-us:165 gc-us-mq:165" #define FLAGS ACTOR_FLAG_4 diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c index 0b45c13bf8..74324b9011 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map.c @@ -358,13 +358,32 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { static void* cloudTexs[] = { - gWorldMapCloud16Tex, gWorldMapCloud15Tex, gWorldMapCloud14Tex, gWorldMapCloud13Tex, - gWorldMapCloud12Tex, gWorldMapCloud11Tex, gWorldMapCloud10Tex, gWorldMapCloud9Tex, - gWorldMapCloud8Tex, gWorldMapCloud7Tex, gWorldMapCloud6Tex, gWorldMapCloud5Tex, - gWorldMapCloud4Tex, gWorldMapCloud3Tex, gWorldMapCloud2Tex, gWorldMapCloud1Tex, + gWorldMapCloudSacredForestMeadowTex, gWorldMapCloudHyruleFieldTex, + gWorldMapCloudLonLonRanchTex, gWorldMapCloudMarketTex, + gWorldMapCloudHyruleCastleTex, gWorldMapCloudKakarikoVillageTex, + gWorldMapCloudGraveyardTex, gWorldMapCloudDeathMountainTrailTex, + gWorldMapCloudGoronCityTex, gWorldMapCloudZorasRiverTex, + gWorldMapCloudZorasDomainTex, gWorldMapCloudZorasFountainTex, + gWorldMapCloudGerudoValleyTex, gWorldMapCloudGerudosFortressTex, + gWorldMapCloudDesertColossusTex, gWorldMapCloudLakeHyliaTex, }; static u16 cloudFlagNums[] = { - 0x05, 0x00, 0x13, 0x0E, 0x0F, 0x01, 0x02, 0x10, 0x12, 0x03, 0x07, 0x08, 0x09, 0x0C, 0x0B, 0x06, + WORLD_MAP_AREA_SACRED_FOREST_MEADOW, + WORLD_MAP_AREA_HYRULE_FIELD, + WORLD_MAP_AREA_LON_LON_RANCH, + WORLD_MAP_AREA_MARKET, + WORLD_MAP_AREA_HYRULE_CASTLE, + WORLD_MAP_AREA_KAKARIKO_VILLAGE, + WORLD_MAP_AREA_GRAVEYARD, + WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL, + WORLD_MAP_AREA_GORON_CITY, + WORLD_MAP_AREA_ZORAS_RIVER, + WORLD_MAP_AREA_ZORAS_DOMAIN, + WORLD_MAP_AREA_ZORAS_FOUNTAIN, + WORLD_MAP_AREA_GERUDO_VALLEY, + WORLD_MAP_AREA_GERUDOS_FORTRESS, + WORLD_MAP_AREA_DESERT_COLOSSUS, + WORLD_MAP_AREA_LAKE_HYLIA, }; static s16 pointPulsePrimColor[] = { 0, 0, 255 }; static s16 pointPrimColors[][3] = { @@ -380,23 +399,124 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { static s16 pointPulseTimer = 20; static s16 D_8082A5B8[] = { 64, 64, 64, 28 }; static s16 areaBoxPosX[] = { - -41, 19, 44, 40, 49, 51, -49, 83, 80, -67, 50, -109, -76, -86, -10, -6, 19, 24, 11, -17, 37, -6, + -41, // WORLD_MAP_AREA_HYRULE_FIELD + 19, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 44, // WORLD_MAP_AREA_GRAVEYARD + 40, // WORLD_MAP_AREA_ZORAS_RIVER + 49, // WORLD_MAP_AREA_KOKIRI_FOREST + 51, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + -49, // WORLD_MAP_AREA_LAKE_HYLIA + 83, // WORLD_MAP_AREA_ZORAS_DOMAIN + 80, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + -67, // WORLD_MAP_AREA_GERUDO_VALLEY + 50, // WORLD_MAP_AREA_LOST_WOODS + -109, // WORLD_MAP_AREA_DESERT_COLOSSUS + -76, // WORLD_MAP_AREA_GERUDOS_FORTRESS + -86, // WORLD_MAP_AREA_HAUNTED_WASTELAND + -10, // WORLD_MAP_AREA_MARKET + -6, // WORLD_MAP_AREA_HYRULE_CASTLE + 19, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 24, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 11, // WORLD_MAP_AREA_GORON_CITY + -17, // WORLD_MAP_AREA_LON_LON_RANCH + 37, // WORLD_MAP_AREA_QUESTION_MARK + -6, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 areaBoxWidths[] = { - 96, 32, 32, 48, 48, 32, 48, 32, 32, 32, 16, 32, 32, 16, 32, 32, 32, 32, 32, 32, 16, 32, + 96, // WORLD_MAP_AREA_HYRULE_FIELD + 32, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 32, // WORLD_MAP_AREA_GRAVEYARD + 48, // WORLD_MAP_AREA_ZORAS_RIVER + 48, // WORLD_MAP_AREA_KOKIRI_FOREST + 32, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + 48, // WORLD_MAP_AREA_LAKE_HYLIA + 32, // WORLD_MAP_AREA_ZORAS_DOMAIN + 32, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 32, // WORLD_MAP_AREA_GERUDO_VALLEY + 16, // WORLD_MAP_AREA_LOST_WOODS + 32, // WORLD_MAP_AREA_DESERT_COLOSSUS + 32, // WORLD_MAP_AREA_GERUDOS_FORTRESS + 16, // WORLD_MAP_AREA_HAUNTED_WASTELAND + 32, // WORLD_MAP_AREA_MARKET + 32, // WORLD_MAP_AREA_HYRULE_CASTLE + 32, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 32, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 32, // WORLD_MAP_AREA_GORON_CITY + 32, // WORLD_MAP_AREA_LON_LON_RANCH + 16, // WORLD_MAP_AREA_QUESTION_MARK + 32, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 areaBoxPosY[] = { - 30, 36, 35, 26, 7, 11, -31, 30, 38, 23, 2, 42, 40, 32, 38, 50, 57, 58, 56, 12, 36, 50, + 30, // WORLD_MAP_AREA_HYRULE_FIELD + 36, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 35, // WORLD_MAP_AREA_GRAVEYARD + 26, // WORLD_MAP_AREA_ZORAS_RIVER + 7, // WORLD_MAP_AREA_KOKIRI_FOREST + 11, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + -31, // WORLD_MAP_AREA_LAKE_HYLIA + 30, // WORLD_MAP_AREA_ZORAS_DOMAIN + 38, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 23, // WORLD_MAP_AREA_GERUDO_VALLEY + 2, // WORLD_MAP_AREA_LOST_WOODS + 42, // WORLD_MAP_AREA_DESERT_COLOSSUS + 40, // WORLD_MAP_AREA_GERUDOS_FORTRESS + 32, // WORLD_MAP_AREA_HAUNTED_WASTELAND + 38, // WORLD_MAP_AREA_MARKET + 50, // WORLD_MAP_AREA_HYRULE_CASTLE + 57, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 58, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 56, // WORLD_MAP_AREA_GORON_CITY + 12, // WORLD_MAP_AREA_LON_LON_RANCH + 36, // WORLD_MAP_AREA_QUESTION_MARK + 50, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 areaBoxHeights[] = { - 59, 19, 13, 19, 38, 17, 38, 17, 13, 26, 16, 26, 26, 16, 19, 17, 26, 13, 17, 17, 16, 17, + 59, // WORLD_MAP_AREA_HYRULE_FIELD + 19, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 13, // WORLD_MAP_AREA_GRAVEYARD + 19, // WORLD_MAP_AREA_ZORAS_RIVER + 38, // WORLD_MAP_AREA_KOKIRI_FOREST + 17, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + 38, // WORLD_MAP_AREA_LAKE_HYLIA + 17, // WORLD_MAP_AREA_ZORAS_DOMAIN + 13, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 26, // WORLD_MAP_AREA_GERUDO_VALLEY + 16, // WORLD_MAP_AREA_LOST_WOODS + 26, // WORLD_MAP_AREA_DESERT_COLOSSUS + 26, // WORLD_MAP_AREA_GERUDOS_FORTRESS + 16, // WORLD_MAP_AREA_HAUNTED_WASTELAND + 19, // WORLD_MAP_AREA_MARKET + 17, // WORLD_MAP_AREA_HYRULE_CASTLE + 26, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 13, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 17, // WORLD_MAP_AREA_GORON_CITY + 17, // WORLD_MAP_AREA_LON_LON_RANCH + 16, // WORLD_MAP_AREA_QUESTION_MARK + 17, // WORLD_MAP_AREA_GANONS_CASTLE }; static void* areaBoxTexs[] = { - gWorldMapAreaBox7Tex, gWorldMapAreaBox1Tex, gWorldMapAreaBox4Tex, gWorldMapAreaBox6Tex, gWorldMapAreaBox2Tex, - gWorldMapAreaBox3Tex, gWorldMapAreaBox2Tex, gWorldMapAreaBox3Tex, gWorldMapAreaBox4Tex, gWorldMapAreaBox5Tex, - gWorldMapAreaBox8Tex, gWorldMapAreaBox5Tex, gWorldMapAreaBox5Tex, gWorldMapAreaBox8Tex, gWorldMapAreaBox1Tex, - gWorldMapAreaBox3Tex, gWorldMapAreaBox5Tex, gWorldMapAreaBox4Tex, gWorldMapAreaBox3Tex, gWorldMapAreaBox3Tex, - gWorldMapAreaBox8Tex, gWorldMapAreaBox3Tex, + gWorldMapAreaBox7Tex, // WORLD_MAP_AREA_HYRULE_FIELD + gWorldMapAreaBox1Tex, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + gWorldMapAreaBox4Tex, // WORLD_MAP_AREA_GRAVEYARD + gWorldMapAreaBox6Tex, // WORLD_MAP_AREA_ZORAS_RIVER + gWorldMapAreaBox2Tex, // WORLD_MAP_AREA_KOKIRI_FOREST + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + gWorldMapAreaBox2Tex, // WORLD_MAP_AREA_LAKE_HYLIA + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_ZORAS_DOMAIN + gWorldMapAreaBox4Tex, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + gWorldMapAreaBox5Tex, // WORLD_MAP_AREA_GERUDO_VALLEY + gWorldMapAreaBox8Tex, // WORLD_MAP_AREA_LOST_WOODS + gWorldMapAreaBox5Tex, // WORLD_MAP_AREA_DESERT_COLOSSUS + gWorldMapAreaBox5Tex, // WORLD_MAP_AREA_GERUDOS_FORTRESS + gWorldMapAreaBox8Tex, // WORLD_MAP_AREA_HAUNTED_WASTELAND + gWorldMapAreaBox1Tex, // WORLD_MAP_AREA_MARKET + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_HYRULE_CASTLE + gWorldMapAreaBox5Tex, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + gWorldMapAreaBox4Tex, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_GORON_CITY + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_LON_LON_RANCH + gWorldMapAreaBox8Tex, // WORLD_MAP_AREA_QUESTION_MARK + gWorldMapAreaBox3Tex, // WORLD_MAP_AREA_GANONS_CASTLE }; static void* currentPosTitleTexs[] = LANGUAGE_ARRAY(gPauseCurrentPositionJPNTex, gPauseCurrentPositionENGTex, gPauseCurrentPositionGERTex, gPauseCurrentPositionFRATex); @@ -615,7 +735,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { } } - if (gSaveContext.worldMapArea < 22) { + if (gSaveContext.worldMapArea < WORLD_MAP_AREA_MAX) { gDPPipeSync(POLY_OPA_DISP++); gDPSetTextureFilter(POLY_OPA_DISP++, G_TF_POINT); @@ -749,7 +869,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } - if (gSaveContext.worldMapArea < 22) { + if (gSaveContext.worldMapArea < WORLD_MAP_AREA_MAX) { gDPPipeSync(POLY_OPA_DISP++); gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c index 0f9d3e8693..c72a47810a 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c @@ -2192,23 +2192,103 @@ static s16* sVtxPageQuadsHeight[] = { }; static s16 sVtxMapWorldAreaX[] = { - 0xFFC6, 0x000B, 0x001E, 0x001E, 0x000F, 0x0026, 0xFFC2, 0x003C, 0x003D, 0xFFB2, 0xFED4, - 0xFFAA, 0xFFBF, 0xFED4, 0xFED4, 0xFFEB, 0x000E, 0x000D, 0x0014, 0xFFDE, 0xFED4, 0x0000, + -58, // WORLD_MAP_AREA_HYRULE_FIELD + 11, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 30, // WORLD_MAP_AREA_GRAVEYARD + 30, // WORLD_MAP_AREA_ZORAS_RIVER + 15, // WORLD_MAP_AREA_KOKIRI_FOREST + 38, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + -62, // WORLD_MAP_AREA_LAKE_HYLIA + 60, // WORLD_MAP_AREA_ZORAS_DOMAIN + 61, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + -78, // WORLD_MAP_AREA_GERUDO_VALLEY + -300, // WORLD_MAP_AREA_LOST_WOODS + -86, // WORLD_MAP_AREA_DESERT_COLOSSUS + -65, // WORLD_MAP_AREA_GERUDOS_FORTRESS + -300, // WORLD_MAP_AREA_HAUNTED_WASTELAND + -300, // WORLD_MAP_AREA_MARKET + -21, // WORLD_MAP_AREA_HYRULE_CASTLE + 14, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 13, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 20, // WORLD_MAP_AREA_GORON_CITY + -34, // WORLD_MAP_AREA_LON_LON_RANCH + -300, // WORLD_MAP_AREA_QUESTION_MARK + 0, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 sVtxMapWorldAreaWidth[] = { - 0x0059, 0x0014, 0x000E, 0x0023, 0x0020, 0x0011, 0x0032, 0x0010, 0x0015, 0x0014, 0xFFFF, - 0x0020, 0x0010, 0xFFFF, 0xFFFF, 0x0013, 0x0013, 0x0015, 0x0010, 0x0014, 0xFFFF, 0x0000, + 89, // WORLD_MAP_AREA_HYRULE_FIELD + 20, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 14, // WORLD_MAP_AREA_GRAVEYARD + 35, // WORLD_MAP_AREA_ZORAS_RIVER + 32, // WORLD_MAP_AREA_KOKIRI_FOREST + 17, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + 50, // WORLD_MAP_AREA_LAKE_HYLIA + 16, // WORLD_MAP_AREA_ZORAS_DOMAIN + 21, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 20, // WORLD_MAP_AREA_GERUDO_VALLEY + -1, // WORLD_MAP_AREA_LOST_WOODS + 32, // WORLD_MAP_AREA_DESERT_COLOSSUS + 16, // WORLD_MAP_AREA_GERUDOS_FORTRESS + -1, // WORLD_MAP_AREA_HAUNTED_WASTELAND + -1, // WORLD_MAP_AREA_MARKET + 19, // WORLD_MAP_AREA_HYRULE_CASTLE + 19, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 21, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 16, // WORLD_MAP_AREA_GORON_CITY + 20, // WORLD_MAP_AREA_LON_LON_RANCH + -1, // WORLD_MAP_AREA_QUESTION_MARK + 0, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 sVtxMapWorldAreaY[] = { - 0x0001, 0x000F, 0x0014, 0x0009, 0xFFE2, 0xFFEF, 0xFFDE, 0x000F, 0x001E, 0x0001, 0xFED4, - 0x002A, 0x0007, 0xFED4, 0xFED4, 0x0018, 0x0024, 0x0035, 0x0025, 0xFFF3, 0xFED4, 0x0000, + 1, // WORLD_MAP_AREA_HYRULE_FIELD + 15, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 20, // WORLD_MAP_AREA_GRAVEYARD + 9, // WORLD_MAP_AREA_ZORAS_RIVER + -30, // WORLD_MAP_AREA_KOKIRI_FOREST + -17, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + -34, // WORLD_MAP_AREA_LAKE_HYLIA + 15, // WORLD_MAP_AREA_ZORAS_DOMAIN + 30, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 1, // WORLD_MAP_AREA_GERUDO_VALLEY + -300, // WORLD_MAP_AREA_LOST_WOODS + 42, // WORLD_MAP_AREA_DESERT_COLOSSUS + 7, // WORLD_MAP_AREA_GERUDOS_FORTRESS + -300, // WORLD_MAP_AREA_HAUNTED_WASTELAND + -300, // WORLD_MAP_AREA_MARKET + 24, // WORLD_MAP_AREA_HYRULE_CASTLE + 36, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 53, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 37, // WORLD_MAP_AREA_GORON_CITY + -13, // WORLD_MAP_AREA_LON_LON_RANCH + -300, // WORLD_MAP_AREA_QUESTION_MARK + 0, // WORLD_MAP_AREA_GANONS_CASTLE }; static s16 sVtxMapWorldAreaHeight[] = { - 0x0024, 0x000F, 0x0010, 0x0017, 0x0017, 0x0010, 0x0018, 0x000D, 0x0011, 0x0012, 0x0001, - 0x0019, 0x000D, 0x0001, 0x0001, 0x000D, 0x0015, 0x000F, 0x000D, 0x000C, 0x0001, 0x0000, + 36, // WORLD_MAP_AREA_HYRULE_FIELD + 15, // WORLD_MAP_AREA_KAKARIKO_VILLAGE + 16, // WORLD_MAP_AREA_GRAVEYARD + 23, // WORLD_MAP_AREA_ZORAS_RIVER + 23, // WORLD_MAP_AREA_KOKIRI_FOREST + 16, // WORLD_MAP_AREA_SACRED_FOREST_MEADOW + 24, // WORLD_MAP_AREA_LAKE_HYLIA + 13, // WORLD_MAP_AREA_ZORAS_DOMAIN + 17, // WORLD_MAP_AREA_ZORAS_FOUNTAIN + 18, // WORLD_MAP_AREA_GERUDO_VALLEY + 1, // WORLD_MAP_AREA_LOST_WOODS + 25, // WORLD_MAP_AREA_DESERT_COLOSSUS + 13, // WORLD_MAP_AREA_GERUDOS_FORTRESS + 1, // WORLD_MAP_AREA_HAUNTED_WASTELAND + 1, // WORLD_MAP_AREA_MARKET + 13, // WORLD_MAP_AREA_HYRULE_CASTLE + 21, // WORLD_MAP_AREA_DEATH_MOUNTAIN_TRAIL + 15, // WORLD_MAP_AREA_DEATH_MOUNTAIN_CRATER + 13, // WORLD_MAP_AREA_GORON_CITY + 12, // WORLD_MAP_AREA_LON_LON_RANCH + 1, // WORLD_MAP_AREA_QUESTION_MARK + 0, // WORLD_MAP_AREA_GANONS_CASTLE }; s16 KaleidoScope_SetPageVertices(PlayState* play, Vtx* vtx, s16 vtxPage, s16 numQuads) { @@ -3269,7 +3349,7 @@ void KaleidoScope_Update(PlayState* play) { Interface_SetDoAction(play, DO_ACTION_DECIDE); PRINTF("サイズ=%x\n", size2 + size1 + size0 + size + 0x800); - if (((void)0, gSaveContext.worldMapArea) < 22) { + if (((void)0, gSaveContext.worldMapArea) < WORLD_MAP_AREA_MAX) { #if OOT_NTSC if (gSaveContext.language == LANGUAGE_JPN) { DmaMgr_RequestSync(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), @@ -3421,7 +3501,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[7] = 1; } - if (gBitFlags[1] & gSaveContext.save.info.worldMapAreaData) { + if (gBitFlags[WORLD_MAP_AREA_KAKARIKO_VILLAGE] & gSaveContext.save.info.worldMapAreaData) { pauseCtx->worldMapPoints[8] = 1; } @@ -3457,7 +3537,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->worldMapPoints[8] = 1; } - if (gBitFlags[10] & gSaveContext.save.info.worldMapAreaData) { + if (gBitFlags[WORLD_MAP_AREA_LOST_WOODS] & gSaveContext.save.info.worldMapAreaData) { pauseCtx->worldMapPoints[9] = 1; }