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;
}