1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-14 21:40:03 +00:00

Pause docs: WorldMapArea enum and related data (#2130)

* Pause docs: WorldMapArea enum and related data

* `WORLD_MAP_AREA_20` -> `_QUESTION_MARK`

* bss
This commit is contained in:
Dragorn421 2024-09-04 23:51:08 +02:00 committed by GitHub
parent c7b55f9a07
commit dc469461a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 275 additions and 49 deletions

View file

@ -12,21 +12,21 @@
<Texture Name="gWorldMapAreaBox7Tex" OutName="world_map_area_box_7" Format="ia4" Width="96" Height="59" Offset="0x7848"/>
<Texture Name="gWorldMapAreaBox8Tex" OutName="world_map_area_box_8" Format="ia4" Width="16" Height="16" Offset="0x8358"/>
<Texture Name="gWorldMapArrowTex" OutName="world_map_arrow" Format="ia8" Width="8" Height="8" Offset="0x83D8"/>
<Texture Name="gWorldMapCloud1Tex" OutName="world_map_cloud_1" Format="i4" Width="64" Height="60" Offset="0x8418"/>
<Texture Name="gWorldMapCloud2Tex" OutName="world_map_cloud_2" Format="i4" Width="48" Height="45" Offset="0x8B98"/>
<Texture Name="gWorldMapCloud3Tex" OutName="world_map_cloud_3" Format="i4" Width="48" Height="32" Offset="0x8FD0"/>
<Texture Name="gWorldMapCloud4Tex" OutName="world_map_cloud_4" Format="i4" Width="48" Height="49" Offset="0x92D0"/>
<Texture Name="gWorldMapCloud5Tex" OutName="world_map_cloud_5" Format="i4" Width="48" Height="21" Offset="0x9768"/>
<Texture Name="gWorldMapCloud6Tex" OutName="world_map_cloud_6" Format="i4" Width="32" Height="22" Offset="0x9960"/>
<Texture Name="gWorldMapCloud7Tex" OutName="world_map_cloud_7" Format="i4" Width="64" Height="26" Offset="0x9AC0"/>
<Texture Name="gWorldMapCloud8Tex" OutName="world_map_cloud_8" Format="i4" Width="32" Height="14" Offset="0x9E00"/>
<Texture Name="gWorldMapCloud9Tex" OutName="world_map_cloud_9" Format="i4" Width="48" Height="27" Offset="0x9EE0"/>
<Texture Name="gWorldMapCloud10Tex" OutName="world_map_cloud_10" Format="i4" Width="32" Height="19" Offset="0xA168"/>
<Texture Name="gWorldMapCloud11Tex" OutName="world_map_cloud_11" Format="i4" Width="32" Height="20" Offset="0xA298"/>
<Texture Name="gWorldMapCloud12Tex" OutName="world_map_cloud_12" Format="i4" Width="32" Height="19" Offset="0xA3D8"/>
<Texture Name="gWorldMapCloud13Tex" OutName="world_map_cloud_13" Format="i4" Width="48" Height="22" Offset="0xA508"/>
<Texture Name="gWorldMapCloud14Tex" OutName="world_map_cloud_14" Format="i4" Width="32" Height="13" Offset="0xA718"/>
<Texture Name="gWorldMapCloud15Tex" OutName="world_map_cloud_15" Format="i4" Width="112" Height="72" Offset="0xA7E8"/>
<Texture Name="gWorldMapCloud16Tex" OutName="world_map_cloud_16" Format="i4" Width="32" Height="24" Offset="0xB7A8"/>
<Texture Name="gWorldMapCloudLakeHyliaTex" OutName="world_map_cloud_lake_hylia" Format="i4" Width="64" Height="60" Offset="0x8418"/>
<Texture Name="gWorldMapCloudDesertColossusTex" OutName="world_map_cloud_desert_colossus" Format="i4" Width="48" Height="45" Offset="0x8B98"/>
<Texture Name="gWorldMapCloudGerudosFortressTex" OutName="world_map_cloud_gerudos_fortress" Format="i4" Width="48" Height="32" Offset="0x8FD0"/>
<Texture Name="gWorldMapCloudGerudoValleyTex" OutName="world_map_cloud_gerudo_valley" Format="i4" Width="48" Height="49" Offset="0x92D0"/>
<Texture Name="gWorldMapCloudZorasFountainTex" OutName="world_map_cloud_zoras_fountain" Format="i4" Width="48" Height="21" Offset="0x9768"/>
<Texture Name="gWorldMapCloudZorasDomainTex" OutName="world_map_cloud_zoras_domain" Format="i4" Width="32" Height="22" Offset="0x9960"/>
<Texture Name="gWorldMapCloudZorasRiverTex" OutName="world_map_cloud_zoras_river" Format="i4" Width="64" Height="26" Offset="0x9AC0"/>
<Texture Name="gWorldMapCloudGoronCityTex" OutName="world_map_cloud_goron_city" Format="i4" Width="32" Height="14" Offset="0x9E00"/>
<Texture Name="gWorldMapCloudDeathMountainTrailTex" OutName="world_map_cloud_death_mountain_trail" Format="i4" Width="48" Height="27" Offset="0x9EE0"/>
<Texture Name="gWorldMapCloudGraveyardTex" OutName="world_map_cloud_graveyard" Format="i4" Width="32" Height="19" Offset="0xA168"/>
<Texture Name="gWorldMapCloudKakarikoVillageTex" OutName="world_map_cloud_kakariko_village" Format="i4" Width="32" Height="20" Offset="0xA298"/>
<Texture Name="gWorldMapCloudHyruleCastleTex" OutName="world_map_cloud_hyrule_castle" Format="i4" Width="32" Height="19" Offset="0xA3D8"/>
<Texture Name="gWorldMapCloudMarketTex" OutName="world_map_cloud_market" Format="i4" Width="48" Height="22" Offset="0xA508"/>
<Texture Name="gWorldMapCloudLonLonRanchTex" OutName="world_map_cloud_lon_lon_ranch" Format="i4" Width="32" Height="13" Offset="0xA718"/>
<Texture Name="gWorldMapCloudHyruleFieldTex" OutName="world_map_cloud_hyrule_field" Format="i4" Width="112" Height="72" Offset="0xA7E8"/>
<Texture Name="gWorldMapCloudSacredForestMeadowTex" OutName="world_map_cloud_sacred_forest_meadow" Format="i4" Width="32" Height="24" Offset="0xB7A8"/>
</File>
</Root>

View file

@ -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"

View file

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

View file

@ -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"

View file

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

View file

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

View file

@ -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

View file

@ -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

View file

@ -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);

View file

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