summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouist103 <35883445+louist103@users.noreply.github.com>2023-11-25 19:00:13 -0500
committerlouist103 <35883445+louist103@users.noreply.github.com>2023-11-25 19:00:13 -0500
commit880899ce40826b89ad3289ba0ec03be2bc156e77 (patch)
tree65305b3aaf329c1669db13cea6add500551a4405
parentbf7e50aadb5c1c0e416e3eaac1b2e2ab116e810e (diff)
Fix world map.
-rw-r--r--mm/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/mm/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c b/mm/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c
index 9209510a8..bae459ecb 100644
--- a/mm/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c
+++ b/mm/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c
@@ -11,6 +11,8 @@
#include "interface/icon_item_jpn_static/icon_item_jpn_static.h"
#include "archives/icon_item_24_static/icon_item_24_static_yar.h"
+#include "BenPort.h"
+
void KaleidoScope_DrawDungeonStrayFairyCount(PlayState* play) {
s16 counterDigits[2];
s16 rectLeft;
@@ -549,7 +551,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
if ((pauseCtx->pageIndex == PAUSE_MAP) && (pauseCtx->state == PAUSE_STATE_MAIN) &&
((pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_ITEM)) &&
YREG(6) && (pauseCtx->state != PAUSE_STATE_SAVEPROMPT) && !IS_PAUSE_STATE_GAMEOVER) {
-
+ char* tex = ResourceMgr_LoadTexOrDListByName(gWorldMapImageTex);
// Draw the world map image flat
// Because it is flat, the texture is loaded by filling it in 8 rows at a time.
// 8 is chosen because it is smaller than `TMEM_SIZE / 2 / textureWidth` and divides the texture's height.
@@ -567,7 +569,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
// Process the 128 rows of pixels for gWorldMapImageTex, 8 rows at a time over 16 iterations
// Loop over yPos (t), textureIndex (j)
for (t = 62, j = 0; j < 16; j++, t += 8) {
- gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + j * (WORLD_MAP_IMAGE_WIDTH * 8), G_IM_FMT_CI,
+ gDPLoadTextureBlock(POLY_OPA_DISP++, &tex[j * (WORLD_MAP_IMAGE_WIDTH * 8)], G_IM_FMT_CI,
G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -603,9 +605,10 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
// Process the first 72 rows of pixels for gWorldMapImageTex, 9 rows at a time over 8 iterations
// Loop over quadIndex of this loop (i), quadIndex of the entire texture (k), vtxIndex (j)
+ char* tex = ResourceMgr_LoadTexOrDListByName(gWorldMapImageTex);
for (i = 0, k = 0, j = 0; i < 8; i++, k++, j += 4) {
gDPLoadTextureBlock(
- POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
+ POLY_OPA_DISP++, &tex[k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT)],
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -619,8 +622,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
// Process the next 54 rows of pixels for gWorldMapImageTex, 9 rows at a time over 6 iterations
// Loop over quadIndex of this loop (i), quadIndex of the entire texture (k), vtxIndex (j)
for (i = 0, j = 0; i < 6; i++, k++, j += 4) {
- gDPLoadTextureBlock(
- POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
+ gDPLoadTextureBlock(POLY_OPA_DISP++, &tex[k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT)],
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -629,11 +631,11 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
// Process the last 2 rows of pixels for gWorldMapImageTex
gDPLoadTextureBlock(
- POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
+ POLY_OPA_DISP++, &tex[k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT)],
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_HEIGHT % WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
-
gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0);
+
}
Gfx_SetupDL42_Opa(play->state.gfxCtx);