summaryrefslogtreecommitdiff
path: root/src/code/code_8012EC80.c
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2022-10-05 01:15:39 -0400
committerGitHub <noreply@github.com>2022-10-05 06:15:39 +0100
commitf379012742c07f2e069b24d77e4f30a614f63080 (patch)
tree2c27c31a663a82497efe4c97ac45734ddc77ac42 /src/code/code_8012EC80.c
parent2006a65ba62e7e848823cd1de009c9e16d6421eb (diff)
z_kaleido_map.c OK and Documented (Pause Menu Map Page) + related icon_item statics (dungeon/field/jpn) (#1094)
* import pause menu map page * better owl-warp docs * fix func name * missed some owlwarps * fix merge from master * fix scene region code * PR Suggestions * add comment * add description of gWorldMapImageTex, thanks @EllipticEllipsis * clearup docs * missed a comma * bad formatter, drop comment * more cleanup
Diffstat (limited to 'src/code/code_8012EC80.c')
-rw-r--r--src/code/code_8012EC80.c109
1 files changed, 53 insertions, 56 deletions
diff --git a/src/code/code_8012EC80.c b/src/code/code_8012EC80.c
index 278ef0830..eb70cfbc8 100644
--- a/src/code/code_8012EC80.c
+++ b/src/code/code_8012EC80.c
@@ -96,7 +96,7 @@ u32 gGsFlagsShift[] = {
};
// TODO: use symbols for these icon textures once textures are properly in C
-void* gItemIcons[] = {
+TexturePtr gItemIcons[] = {
0x08000000, // ITEM_OCARINA
0x08001000, // ITEM_BOW
0x08002000, // ITEM_ARROW_FIRE
@@ -249,7 +249,7 @@ u8 gItemSlots[] = {
SLOT_LENS, // ITEM_LENS
SLOT_HOOKSHOT, // ITEM_HOOKSHOT
SLOT_SWORD_GREAT_FAIRY, // ITEM_SWORD_GREAT_FAIRY
- SLOT_BOTTLE_1, //
+ SLOT_BOTTLE_1, // ITEM_LONGSHOT
SLOT_BOTTLE_1, // ITEM_BOTTLE
SLOT_BOTTLE_1, // ITEM_POTION_RED
SLOT_BOTTLE_1, // ITEM_POTION_GREEN
@@ -365,8 +365,8 @@ s16 gItemPrices[] = {
};
// Used to map scene indexes to their region in Termina
-u16 gSceneIdsPerRegion[11][27] = {
- // Great Bay
+u16 gSceneIdsPerRegion[REGION_MAX][27] = {
+ // REGION_GREAT_BAY
{
SCENE_30GYOSON,
SCENE_LABO,
@@ -378,15 +378,15 @@ u16 gSceneIdsPerRegion[11][27] = {
SCENE_PIRATE,
SCENE_35TAKI,
SCENE_KINDAN2,
- -1,
+ 0xFFFF,
},
- // Zora Hall
+ // REGION_ZORA_HALL
{
SCENE_33ZORACITY,
SCENE_BANDROOM,
- -1,
+ 0xFFFF,
},
- // Romani Ranch
+ // REGION_ROMANI_RANCH
{
SCENE_F01,
SCENE_ROMANYMAE,
@@ -394,17 +394,17 @@ u16 gSceneIdsPerRegion[11][27] = {
SCENE_F01C,
SCENE_F01_B,
SCENE_KOEPONARACE,
- -1,
+ 0xFFFF,
},
- // Deku Palace
+ // REGION_DEKU_PALACE
{
SCENE_22DEKUCITY,
SCENE_DEKU_KING,
SCENE_26SARUNOMORI,
SCENE_DANPEI,
- -1,
+ 0xFFFF,
},
- // Southern Swamp
+ // REGION_WOODFALL
{
SCENE_20SICHITAI,
SCENE_20SICHITAI2,
@@ -412,21 +412,18 @@ u16 gSceneIdsPerRegion[11][27] = {
SCENE_WITCH_SHOP,
SCENE_21MITURINMAE,
SCENE_KINSTA1,
- -1,
+ 0xFFFF,
},
- // Clock Town
+ // REGION_CLOCK_TOWN
{
- SCENE_00KEIKOKU, SCENE_TENMON_DAI, SCENE_13HUBUKINOMITI,
- SCENE_24KEMONOMITI, SCENE_SYATEKI_MORI, SCENE_IKANAMAE,
- SCENE_TOWN, SCENE_SYATEKI_MIZU, SCENE_BOWLING,
- SCENE_TAKARAYA, SCENE_YADOYA, SCENE_SONCHONOIE,
- SCENE_MILK_BAR, SCENE_ICHIBA, SCENE_BOMYA,
- SCENE_AYASHIISHOP, SCENE_8ITEMSHOP, SCENE_DOUJOU,
- SCENE_POSTHOUSE, SCENE_TAKARAKUJI, SCENE_BACKTOWN,
- SCENE_CLOCKTOWER, SCENE_INSIDETOWER, SCENE_OKUJOU,
- SCENE_ALLEY, SCENE_DEKUTES, -1,
+ SCENE_00KEIKOKU, SCENE_TENMON_DAI, SCENE_13HUBUKINOMITI, SCENE_24KEMONOMITI, SCENE_SYATEKI_MORI,
+ SCENE_IKANAMAE, SCENE_TOWN, SCENE_SYATEKI_MIZU, SCENE_BOWLING, SCENE_TAKARAYA,
+ SCENE_YADOYA, SCENE_SONCHONOIE, SCENE_MILK_BAR, SCENE_ICHIBA, SCENE_BOMYA,
+ SCENE_AYASHIISHOP, SCENE_8ITEMSHOP, SCENE_DOUJOU, SCENE_POSTHOUSE, SCENE_TAKARAKUJI,
+ SCENE_BACKTOWN, SCENE_CLOCKTOWER, SCENE_INSIDETOWER, SCENE_OKUJOU, SCENE_ALLEY,
+ SCENE_DEKUTES, 0xFFFF,
},
- // Snowhead
+ // REGION_SNOWHEAD
{
SCENE_10YUKIYAMANOMURA,
SCENE_10YUKIYAMANOMURA2,
@@ -437,15 +434,15 @@ u16 gSceneIdsPerRegion[11][27] = {
SCENE_GORON_HAKA,
SCENE_17SETUGEN,
SCENE_17SETUGEN2,
- -1,
+ 0xFFFF,
},
- // Ikana Graveyard
+ // REGION_IKANA_GRAVEYARD
{
SCENE_BOTI,
SCENE_DANPEI2TEST,
- -1,
+ 0xFFFF,
},
- // Ikana Canyon
+ // REGION_IKANA_CANYON
{
SCENE_CASTLE,
SCENE_IKNINSIDE,
@@ -456,21 +453,21 @@ u16 gSceneIdsPerRegion[11][27] = {
SCENE_REDEAD,
SCENE_TOUGITES,
SCENE_HAKASHITA,
- -1,
+ 0xFFFF,
},
- // Goron Village
+ // REGION_GORON_VILLAGE
{
SCENE_11GORONNOSATO,
SCENE_11GORONNOSATO2,
SCENE_16GORON_HOUSE,
SCENE_GORONSHOP,
- -1,
+ 0xFFFF,
},
- // Stone Tower
+ // REGION_STONE_TOWER
{
SCENE_F40,
SCENE_F41,
- -1,
+ 0xFFFF,
},
};
@@ -553,9 +550,9 @@ s32 Inventory_IsMapVisible(s16 sceneId) {
return false;
}
-static u16 sSceneIdsPerTingleMap[6][12] = {
+static u16 sSceneIdsPerTingleMap[TINGLE_MAP_MAX][12] = {
{
- // Clock Town Tingle Map
+ // TINGLE_MAP_CLOCK_TOWN
SCENE_00KEIKOKU,
SCENE_BOTI,
SCENE_13HUBUKINOMITI,
@@ -566,20 +563,20 @@ static u16 sSceneIdsPerTingleMap[6][12] = {
SCENE_BACKTOWN,
SCENE_CLOCKTOWER,
SCENE_ALLEY,
- -1,
+ 0xFFFF,
},
{
- // Woodfall Tingle Map
+ // TINGLE_MAP_WOODFALL
SCENE_20SICHITAI,
SCENE_20SICHITAI2,
SCENE_21MITURINMAE,
SCENE_22DEKUCITY,
SCENE_DEKU_KING,
SCENE_KINSTA1,
- -1,
+ 0xFFFF,
},
{
- // Snowhead Tingle Map
+ // TINGLE_MAP_SNOWHEAD
SCENE_10YUKIYAMANOMURA,
SCENE_10YUKIYAMANOMURA2,
SCENE_11GORONNOSATO,
@@ -590,20 +587,20 @@ static u16 sSceneIdsPerTingleMap[6][12] = {
SCENE_GORONRACE,
SCENE_17SETUGEN,
SCENE_17SETUGEN2,
- -1,
+ 0xFFFF,
},
{
- // Romani Ranch Tingle Map
+ // TINGLE_MAP_ROMANI_RANCH
SCENE_F01,
SCENE_ROMANYMAE,
SCENE_OMOYA,
SCENE_F01C,
SCENE_F01_B,
SCENE_KOEPONARACE,
- -1,
+ 0xFFFF,
},
{
- // Great Bay Tingle Map
+ // TINGLE_MAP_GREAT_BAY
SCENE_30GYOSON,
SCENE_SINKAI,
SCENE_31MISAKI,
@@ -611,28 +608,28 @@ static u16 sSceneIdsPerTingleMap[6][12] = {
SCENE_KAIZOKU,
SCENE_33ZORACITY,
SCENE_35TAKI,
- -1,
+ 0xFFFF,
},
{
- // Stone Tower Tingle Map
+ // TINGLE_MAP_STONE_TOWER
SCENE_F40,
SCENE_F41,
SCENE_CASTLE,
SCENE_IKANA,
SCENE_REDEAD,
- -1,
+ 0xFFFF,
},
};
/**
- * Map visibility is achieved by purchasing a tingle map
+ * Removing clouds from the World Map is achieved by purchasing a tingle map
*/
-void Inventory_SetMapVisibility(s16 tingleIndex) {
+void Inventory_SetWorldMapCloudVisibility(s16 tingleIndex) {
s16 i = 0;
s16 index = 0;
u16(*tingleMapSceneIds)[] = &sSceneIdsPerTingleMap[tingleIndex];
- if ((tingleIndex >= 0) && (tingleIndex < 6)) {
+ if ((tingleIndex >= 0) && (tingleIndex < TINGLE_MAP_MAX)) {
while (true) {
if ((*tingleMapSceneIds)[i] == 0xFFFF) {
break;
@@ -665,21 +662,21 @@ void Inventory_SetMapVisibility(s16 tingleIndex) {
}
if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[0]) {
- gSaveContext.save.mapsVisible |= 3;
+ gSaveContext.save.worldMapCloudVisibility |= 3;
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[1]) {
- gSaveContext.save.mapsVisible |= 0x1C;
+ gSaveContext.save.worldMapCloudVisibility |= 0x1C;
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[2]) {
- gSaveContext.save.mapsVisible |= 0xE0;
+ gSaveContext.save.worldMapCloudVisibility |= 0xE0;
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[3]) {
- gSaveContext.save.mapsVisible |= 0x100;
+ gSaveContext.save.worldMapCloudVisibility |= 0x100;
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[4]) {
- gSaveContext.save.mapsVisible |= 0x1E00;
+ gSaveContext.save.worldMapCloudVisibility |= 0x1E00;
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[5]) {
- gSaveContext.save.mapsVisible |= 0x6000;
+ gSaveContext.save.worldMapCloudVisibility |= 0x6000;
}
}
- XREG(95) = 0;
+ R_MINIMAP_DISABLED = false;
}
/**