mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-11 18:45:55 -05:00
document some dungeon map
This commit is contained in:
@@ -428,7 +428,7 @@ _0800E030:
|
||||
bl sub_8000728
|
||||
cmp r0, 0x1
|
||||
bne _0800E058
|
||||
bl sub_8040238
|
||||
bl LoadDungeonMapPalette
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_803EAF0
|
||||
|
||||
@@ -6828,7 +6828,7 @@ _08065062:
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
bl sub_803E13C
|
||||
bl sub_8040238
|
||||
bl LoadDungeonMapPalette
|
||||
_08065088:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
|
||||
20
include/dungeon_map.h
Normal file
20
include/dungeon_map.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef GUARD_DUNGEON_MAP_H
|
||||
#define GUARD_DUNGEON_MAP_H
|
||||
|
||||
extern bool8 gUnknown_202EE00;
|
||||
extern bool8 gShowDungeonMap;
|
||||
|
||||
void SetDungeonMapToNotShown(void);
|
||||
void OpenDungeonMapFile(void);
|
||||
void InitDungeonMap(bool8 a0);
|
||||
void CloseDungeonMapFile(void);
|
||||
void LoadDungeonMapPalette(void);
|
||||
void sub_80402AC(s32 x, s32 y);
|
||||
void sub_8040788(void);
|
||||
void ShowPlayerDotOnMap(void);
|
||||
void ResetMapPlayerDotFrames(void);
|
||||
void sub_8040A84(void);
|
||||
void sub_8040ABC(bool8 a0);
|
||||
void sub_8040B60(void);
|
||||
|
||||
#endif
|
||||
@@ -348,9 +348,9 @@ struct UnkDungeonGlobal_unk1BBEC
|
||||
bool8 *boolPtr;
|
||||
};
|
||||
|
||||
struct UnkDungeonGlobal_1822C
|
||||
struct DungeonMap
|
||||
{
|
||||
struct UnkDungeonGlobal_1822C_Sub unk1822C[UNK1822C_ARR_COUNT][UNK1822C_ARR_COUNT_2];
|
||||
struct UnkDungeonGlobal_1822C_Sub dungeonMap[UNK1822C_ARR_COUNT][UNK1822C_ARR_COUNT_2];
|
||||
bool8 unk1BA2C[UNK1822C_ARR_COUNT][UNK1822C_ARR_COUNT_2];
|
||||
struct UnkDungeonGlobal_unk1BBEC unk1BBEC[40];
|
||||
s32 unk1BDCC;
|
||||
@@ -474,7 +474,7 @@ typedef struct Dungeon
|
||||
/* 0x17B44 */ OpenedFile *sprites[MONSTER_MAX];
|
||||
/* 0x181E4 */ OpenedFile *paletFile;
|
||||
/* 0x181E8 */ UnkDungeonGlobal_unk181E8_sub unk181e8;
|
||||
/* 0x1822C */ struct UnkDungeonGlobal_1822C unk1822C;
|
||||
/* 0x1822C */ struct DungeonMap dungeonMap;
|
||||
/* 0x1BDD4 */ struct UnkStructDungeon1BDD4 unk1BDD4;
|
||||
/* 0x1BE14 */ struct MessageLogString messageLogStrings[MESSAGE_LOG_STRINGS_COUNT];
|
||||
/* 0x1C570 */ DungeonLocation unk1C570;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "code_800E9A8.h"
|
||||
#include "file_system.h"
|
||||
#include "memory.h"
|
||||
#include "dungeon_map.h"
|
||||
|
||||
EWRAM_INIT struct unkStruct_203B0CC *gUnknown_203B0CC = NULL;
|
||||
|
||||
@@ -19,7 +20,6 @@ extern s32 sub_800E2C0(u32);
|
||||
extern s32 sub_8000728(void);
|
||||
extern u32 sub_800E900(void);
|
||||
extern void sub_8009BE4(void);
|
||||
extern void sub_8040238(void);
|
||||
extern void sub_800F204(void);
|
||||
extern void sub_803EAF0(u32, u32);
|
||||
extern struct unkStruct_800F18C *sub_800F18C(s32);
|
||||
@@ -136,7 +136,7 @@ void sub_800DC14(s32 param_1)
|
||||
if (preload->unk34 == 4) {
|
||||
sub_8009BE4();
|
||||
if (sub_8000728() == 1) {
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
sub_803EAF0(0,0);
|
||||
sub_800CD64(0x8000,0);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "code_800C9CC.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_803E668.h"
|
||||
|
||||
#include "dungeon_map.h"
|
||||
#include "bg_palette_buffer.h"
|
||||
#include "bg_control.h"
|
||||
#include "dungeon_music.h"
|
||||
@@ -32,7 +32,6 @@ void sub_806CC10();
|
||||
void sub_804522C();
|
||||
void sub_803F9CC();
|
||||
extern void xxx_call_update_bg_vram(void);
|
||||
void sub_8040894();
|
||||
void sub_803ECE0();
|
||||
void sub_803EDF0();
|
||||
void sub_800E90C();
|
||||
@@ -82,7 +81,7 @@ void sub_803E490(u32 unused)
|
||||
sub_8042E5C();
|
||||
|
||||
if(gUnknown_202EDD0 == 0 || gUnknown_202EDD0 == 3 || gGameOptionsRef->mapOption == TOP_MAP_AND_TEAM_NO_BOTTOM)
|
||||
sub_8040894();
|
||||
ShowPlayerDotOnMap();
|
||||
sub_803ECE0();
|
||||
sub_803EDF0();
|
||||
|
||||
|
||||
@@ -9,12 +9,6 @@
|
||||
#include "dungeon_music.h"
|
||||
#include "file_system.h"
|
||||
#include "play_time.h"
|
||||
#include "cpu.h"
|
||||
#include "dungeon.h"
|
||||
#include "code_8009804.h"
|
||||
#include "code_800E9E4.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "code_804267C.h"
|
||||
|
||||
extern s32 gUnknown_80F6568[];
|
||||
extern const char gUnknown_80F6604; // "zmappat"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon.h"
|
||||
#include "dungeon_engine.h"
|
||||
#include "dungeon_map.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_music.h"
|
||||
@@ -22,7 +23,6 @@ extern const u32 gUnknown_80F680C[8];
|
||||
extern const u16 gUnknown_80F682C[8];
|
||||
extern const u8 *gPtrFeralFoundItemMessage[];
|
||||
|
||||
extern void sub_8040238(void);
|
||||
extern void sub_804151C(Entity *pokemon, u32 r1, u8 r2);
|
||||
extern void sub_804178C(u32);
|
||||
extern void sub_80416A4(DungeonPos *r0, u32 r1, bool8 r2);
|
||||
@@ -182,7 +182,7 @@ void sub_80426C8(u32 a0, u32 a1)
|
||||
sub_803E46C(0x46);
|
||||
|
||||
sub_8042D7C();
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
sub_8052210(1);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "constants/trap.h"
|
||||
#include "dungeon_serializer.h"
|
||||
#include "dungeon_config.h"
|
||||
#include "dungeon_map.h"
|
||||
|
||||
extern void sub_800EE5C(s32);
|
||||
extern void sub_800EF64(void);
|
||||
@@ -255,17 +256,13 @@ extern void sub_8040094(u8 r0);
|
||||
extern void sub_8068BDC(u8 r0);
|
||||
extern s16 GetTurnLimit(u8 dungeon);
|
||||
extern void sub_8041888(u8 param_1);
|
||||
extern void sub_8040150(bool8 param_1);
|
||||
extern void sub_803D4AC(void);
|
||||
extern void sub_804513C(void);
|
||||
extern void sub_8043CD8(void);
|
||||
extern void sub_803E250(void);
|
||||
extern void sub_8040130(void);
|
||||
extern void sub_8040124(void);
|
||||
extern void sub_803E830(void);
|
||||
extern void sub_803E214(void);
|
||||
extern void nullsub_56(void);
|
||||
extern void sub_8040218(void);
|
||||
extern void sub_8047104(void);
|
||||
extern void sub_8068F28(void);
|
||||
extern void sub_806C1D8(void);
|
||||
@@ -415,8 +412,8 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
||||
sub_8043CD8();
|
||||
sub_80495E4();
|
||||
sub_803E250();
|
||||
sub_8040130();
|
||||
sub_8040124();
|
||||
OpenDungeonMapFile();
|
||||
SetDungeonMapToNotShown();
|
||||
sub_803F27C(1);
|
||||
gUnknown_2026E4E = 2056;
|
||||
sub_80095CC(1, 0x14);
|
||||
@@ -589,7 +586,7 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
||||
sub_8049840();
|
||||
sub_803E178();
|
||||
gDungeonBrightness = 0;
|
||||
sub_8040124();
|
||||
SetDungeonMapToNotShown();
|
||||
sub_803EAF0(4, 0);
|
||||
sub_8052210(0);
|
||||
sub_803F27C(r6);
|
||||
@@ -661,7 +658,7 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
||||
}
|
||||
sub_8040094(0);
|
||||
sub_803EAF0(0, 0);
|
||||
sub_8040150(r6);
|
||||
InitDungeonMap(r6);
|
||||
sub_8040A84();
|
||||
gDungeon->unkB8 = NULL;
|
||||
gDungeon->unk644.unk28 = 0;
|
||||
@@ -745,7 +742,7 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
||||
sub_8052740(0x4F);
|
||||
}
|
||||
|
||||
sub_8040124();
|
||||
SetDungeonMapToNotShown();
|
||||
sub_803EAF0(1, 0);
|
||||
gDungeon->unk181e8.unk18219 = 0;
|
||||
gDungeon->unk181e8.unk18218 = 1;
|
||||
@@ -915,7 +912,7 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
||||
CloseDungeonPaletteFile();
|
||||
sub_803E214();
|
||||
nullsub_56();
|
||||
sub_8040218();
|
||||
CloseDungeonMapFile();
|
||||
if (r8->unk7C == 1 || r8->unk7C == 4 || r8->unk7C == 2) {
|
||||
sub_8047104();
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_map.h"
|
||||
#include "pokemon.h"
|
||||
#include "moves.h"
|
||||
#include "items.h"
|
||||
@@ -76,7 +77,6 @@ bool8 sub_80701A4(Entity *a0);
|
||||
void sub_80647F0(Entity *a0);
|
||||
void sub_805E738(Entity *a0);
|
||||
void sub_803E708(s32 a0, s32 a1);
|
||||
void sub_8040A78(void);
|
||||
void sub_805E804(void);
|
||||
void sub_8064BE0(void);
|
||||
void sub_8075680(u32);
|
||||
@@ -168,7 +168,7 @@ void DungeonHandlePlayerInput(void)
|
||||
}
|
||||
|
||||
gDungeon->unk644.unk2F = 0;
|
||||
sub_8040A78();
|
||||
ResetMapPlayerDotFrames();
|
||||
if (gDungeon->unk1 != 0) {
|
||||
gDungeon->unk1 = 0;
|
||||
if (!ShouldMonsterRunAwayAndShowEffect(GetLeader(), TRUE)) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_map.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_map_access.h"
|
||||
@@ -29,32 +30,41 @@ extern bool8 DoesNotHaveShadedMap(void);
|
||||
|
||||
extern const u8 gUnknown_80F65F0[];
|
||||
|
||||
EWRAM_DATA u8 gUnknown_202EE00 = 0;
|
||||
EWRAM_DATA u8 gUnknown_202EE01 = 0;
|
||||
EWRAM_DATA static u8 gUnknown_202EE02 = 0;
|
||||
EWRAM_DATA static OpenedFile *gUnknown_202EE04 = NULL;
|
||||
struct UnkStruct1
|
||||
{
|
||||
u32 **unk0;
|
||||
};
|
||||
|
||||
struct DungeonMapGfx
|
||||
{
|
||||
struct UnkStruct1 *gfx;
|
||||
RGB *pal;
|
||||
};
|
||||
|
||||
EWRAM_DATA bool8 gUnknown_202EE00 = FALSE;
|
||||
EWRAM_DATA bool8 gShowDungeonMap = FALSE;
|
||||
EWRAM_DATA static u8 sPlayerDotFrames = 0;
|
||||
EWRAM_DATA static OpenedFile *sDungeonMapGfxFile = NULL;
|
||||
EWRAM_DATA static void *gUnknown_202EE08 = NULL;
|
||||
|
||||
void sub_8040238(void);
|
||||
|
||||
void sub_8040124(void)
|
||||
void SetDungeonMapToNotShown(void)
|
||||
{
|
||||
gUnknown_202EE01 = 0;
|
||||
gShowDungeonMap = FALSE;
|
||||
}
|
||||
|
||||
void sub_8040130(void)
|
||||
void OpenDungeonMapFile(void)
|
||||
{
|
||||
gUnknown_202EE04 = OpenFileAndGetFileDataPtr(&gUnknown_80F6604, &gDungeonFileArchive);
|
||||
sDungeonMapGfxFile = OpenFileAndGetFileDataPtr(&gUnknown_80F6604, &gDungeonFileArchive);
|
||||
}
|
||||
|
||||
void sub_8040150(bool8 a0)
|
||||
void InitDungeonMap(bool8 a0)
|
||||
{
|
||||
s32 i, j;
|
||||
|
||||
for (i = 0; i < UNK1822C_ARR_COUNT; i++) {
|
||||
for (j = 0; j < UNK1822C_ARR_COUNT_2; j++) {
|
||||
CpuClear(&gDungeon->unk1822C.unk1822C[i][j], sizeof(struct UnkDungeonGlobal_1822C_Sub));
|
||||
gDungeon->unk1822C.unk1BA2C[i][j] = FALSE;
|
||||
CpuClear(&gDungeon->dungeonMap.dungeonMap[i][j], sizeof(struct UnkDungeonGlobal_1822C_Sub));
|
||||
gDungeon->dungeonMap.unk1BA2C[i][j] = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,21 +73,21 @@ void sub_8040150(bool8 a0)
|
||||
gUnknown_203B410.y = 100;
|
||||
}
|
||||
|
||||
gDungeon->unk1822C.unk1BDCC = 0;
|
||||
gDungeon->unk1822C.unk1BDD0 = 1;
|
||||
gDungeon->unk1822C.unk1BDD2 = 0;
|
||||
gDungeon->dungeonMap.unk1BDCC = 0;
|
||||
gDungeon->dungeonMap.unk1BDD0 = 1;
|
||||
gDungeon->dungeonMap.unk1BDD2 = 0;
|
||||
gUnknown_202EE00 = 1;
|
||||
gUnknown_202EE08 = (void *) VRAM + 0x1700;
|
||||
gUnknown_202EE01 = 1;
|
||||
sub_8040238();
|
||||
gShowDungeonMap = TRUE;
|
||||
LoadDungeonMapPalette();
|
||||
}
|
||||
|
||||
void sub_8040218(void)
|
||||
void CloseDungeonMapFile(void)
|
||||
{
|
||||
if (gUnknown_202EE04 != NULL) {
|
||||
CloseFile(gUnknown_202EE04);
|
||||
if (sDungeonMapGfxFile != NULL) {
|
||||
CloseFile(sDungeonMapGfxFile);
|
||||
}
|
||||
sub_8040124();
|
||||
SetDungeonMapToNotShown();
|
||||
}
|
||||
|
||||
// Used in Pmd's Blue version. Stores different Vram address in gUnknown_202EE08(maybe?), depending on TOP_MAP_AND_TEAM_NO_BOTTOM map option.
|
||||
@@ -86,24 +96,13 @@ UNUSED static void nullsub_203(void)
|
||||
|
||||
}
|
||||
|
||||
struct UnkStruct1
|
||||
{
|
||||
u32 **unk0;
|
||||
};
|
||||
|
||||
struct UnkPaletteFileData
|
||||
{
|
||||
struct UnkStruct1 *unk0;
|
||||
RGB *pal;
|
||||
};
|
||||
|
||||
void sub_8040238(void)
|
||||
void LoadDungeonMapPalette(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
if (gUnknown_202EE04 == NULL)
|
||||
if (sDungeonMapGfxFile == NULL)
|
||||
return;
|
||||
if (!gUnknown_202EE01)
|
||||
if (!gShowDungeonMap)
|
||||
return;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
@@ -112,8 +111,8 @@ void sub_8040238(void)
|
||||
nullsub_5(238, &gFontPalette[1]);
|
||||
}
|
||||
else {
|
||||
SetBGPaletteBufferColorArray(i + 224, &((struct UnkPaletteFileData *)(gUnknown_202EE04->data))->pal[i]);
|
||||
nullsub_5(i + 224, &((struct UnkPaletteFileData *)(gUnknown_202EE04->data))->pal[i]);
|
||||
SetBGPaletteBufferColorArray(i + 224, &((struct DungeonMapGfx *)(sDungeonMapGfxFile->data))->pal[i]);
|
||||
nullsub_5(i + 224, &((struct DungeonMapGfx *)(sDungeonMapGfxFile->data))->pal[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -140,9 +139,9 @@ void sub_80402AC(s32 x, s32 y)
|
||||
dungeon = gDungeon;
|
||||
r10 = TRUE;
|
||||
|
||||
if (gUnknown_202EE04 == NULL)
|
||||
if (sDungeonMapGfxFile == NULL)
|
||||
return;
|
||||
if (!gUnknown_202EE01)
|
||||
if (!gShowDungeonMap)
|
||||
return;
|
||||
if (sub_800EC74())
|
||||
return;
|
||||
@@ -353,10 +352,10 @@ void sub_80402AC(s32 x, s32 y)
|
||||
yDiv2 = (yMinus / 2);
|
||||
r3 = x - (xDiv2 * 2);
|
||||
r3 += (yMinus - (yDiv2 * 2)) * 2;
|
||||
dst = dungeon->unk1822C.unk1822C[yDiv2][xDiv2].arr;
|
||||
dst = dungeon->dungeonMap.dungeonMap[yDiv2][xDiv2].arr;
|
||||
{
|
||||
struct UnkPaletteFileData *ptr = ((struct UnkPaletteFileData *)(&gUnknown_202EE04->data));
|
||||
src = ptr->unk0->unk0[r6 * 4 + r3];
|
||||
struct DungeonMapGfx *ptr = ((struct DungeonMapGfx *)(&sDungeonMapGfxFile->data));
|
||||
src = ptr->gfx->unk0[r6 * 4 + r3];
|
||||
}
|
||||
|
||||
dst[0] = (dst[0] & src[0]) | src[1];
|
||||
@@ -368,19 +367,19 @@ void sub_80402AC(s32 x, s32 y)
|
||||
dst[6] = (dst[6] & src[12]) | src[13];
|
||||
dst[7] = (dst[7] & src[14]) | src[15];
|
||||
|
||||
if (!dungeon->unk1822C.unk1BDD1 && !dungeon->unk1822C.unk1BA2C[yDiv2][xDiv2]) {
|
||||
if (!dungeon->dungeonMap.unk1BDD1 && !dungeon->dungeonMap.unk1BA2C[yDiv2][xDiv2]) {
|
||||
s32 id;
|
||||
|
||||
dungeon->unk1822C.unk1BA2C[yDiv2][xDiv2] = TRUE;
|
||||
id = dungeon->unk1822C.unk1BDCC;
|
||||
dungeon->dungeonMap.unk1BA2C[yDiv2][xDiv2] = TRUE;
|
||||
id = dungeon->dungeonMap.unk1BDCC;
|
||||
if (id < 40) {
|
||||
dungeon->unk1822C.unk1BBEC[id].ptr1 = gUnknown_202EE08 + ((xDiv2 + yDiv2 * 28) * 32);
|
||||
dungeon->unk1822C.unk1BBEC[id].ptr2 = dst;
|
||||
dungeon->unk1822C.unk1BBEC[id].boolPtr = &dungeon->unk1822C.unk1BA2C[yDiv2][xDiv2];
|
||||
dungeon->unk1822C.unk1BDCC++;
|
||||
dungeon->dungeonMap.unk1BBEC[id].ptr1 = gUnknown_202EE08 + ((xDiv2 + yDiv2 * 28) * 32);
|
||||
dungeon->dungeonMap.unk1BBEC[id].ptr2 = dst;
|
||||
dungeon->dungeonMap.unk1BBEC[id].boolPtr = &dungeon->dungeonMap.unk1BA2C[yDiv2][xDiv2];
|
||||
dungeon->dungeonMap.unk1BDCC++;
|
||||
}
|
||||
else {
|
||||
dungeon->unk1822C.unk1BDD1 = 1;
|
||||
dungeon->dungeonMap.unk1BDD1 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -391,14 +390,14 @@ void sub_8040788(void)
|
||||
Dungeon *dungeon = gDungeon;
|
||||
if (dungeon == NULL)
|
||||
return;
|
||||
if (!dungeon->unk1822C.unk1BDD0)
|
||||
if (!dungeon->dungeonMap.unk1BDD0)
|
||||
return;
|
||||
if (sub_800EC74())
|
||||
return;
|
||||
|
||||
if (!dungeon->unk1822C.unk1BDD1) {
|
||||
for (i = 0; i < dungeon->unk1822C.unk1BDCC; i++) {
|
||||
struct UnkDungeonGlobal_unk1BBEC *ptr = &dungeon->unk1822C.unk1BBEC[i];
|
||||
if (!dungeon->dungeonMap.unk1BDD1) {
|
||||
for (i = 0; i < dungeon->dungeonMap.unk1BDCC; i++) {
|
||||
struct UnkDungeonGlobal_unk1BBEC *ptr = &dungeon->dungeonMap.unk1BBEC[i];
|
||||
u32 *src = ptr->ptr2;
|
||||
u32 *dst = ptr->ptr1;
|
||||
|
||||
@@ -418,9 +417,9 @@ void sub_8040788(void)
|
||||
else {
|
||||
void *dst, *src;
|
||||
|
||||
dungeon->unk1822C.unk1BDD1 = FALSE;
|
||||
dungeon->dungeonMap.unk1BDD1 = FALSE;
|
||||
dst = gUnknown_202EE08;
|
||||
src = dungeon->unk1822C.unk1822C[0][0].arr;
|
||||
src = dungeon->dungeonMap.dungeonMap[0][0].arr;
|
||||
|
||||
for (i = 0; i < DUNGEON_MAX_SIZE_X * 8; i += 8) {
|
||||
if (gUnknown_202EDD0 == 0 || gUnknown_202EDD0 == 3) {
|
||||
@@ -429,12 +428,12 @@ void sub_8040788(void)
|
||||
dst += 0x100;
|
||||
src += 0x100;
|
||||
}
|
||||
dungeon->unk1822C.unk1BDD2 = 1;
|
||||
dungeon->dungeonMap.unk1BDD2 = 1;
|
||||
}
|
||||
dungeon->unk1822C.unk1BDCC = 0;
|
||||
dungeon->dungeonMap.unk1BDCC = 0;
|
||||
}
|
||||
|
||||
void sub_8040894(void)
|
||||
void ShowPlayerDotOnMap(void)
|
||||
{
|
||||
if (gDungeon->unk181e8.unk18214)
|
||||
return;
|
||||
@@ -442,7 +441,7 @@ void sub_8040894(void)
|
||||
return;
|
||||
if (gUnknown_203B410.x >= 100)
|
||||
return;
|
||||
if ((++gUnknown_202EE02 & 8) == 0) {
|
||||
if ((++sPlayerDotFrames & 8) == 0) {
|
||||
SpriteOAM sprite = {0};
|
||||
|
||||
SpriteSetAffine1(&sprite, 0);
|
||||
@@ -472,16 +471,16 @@ void sub_8040894(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8040A78(void)
|
||||
void ResetMapPlayerDotFrames(void)
|
||||
{
|
||||
gUnknown_202EE02 = 0;
|
||||
sPlayerDotFrames = 0;
|
||||
}
|
||||
|
||||
void sub_8040A84(void)
|
||||
{
|
||||
s32 x, y;
|
||||
|
||||
gDungeon->unk1822C.unk1BDD1 = TRUE;
|
||||
gDungeon->dungeonMap.unk1BDD1 = TRUE;
|
||||
|
||||
for (y = 0; y < DUNGEON_MAX_SIZE_Y; y++) {
|
||||
for (x = 0; x < DUNGEON_MAX_SIZE_X; x++) {
|
||||
@@ -533,20 +532,20 @@ void sub_8040B60(void)
|
||||
{
|
||||
s32 x, y;
|
||||
Dungeon *dungeon = gDungeon;
|
||||
if (dungeon->unk1822C.unk1BDD2) {
|
||||
if (dungeon->dungeonMap.unk1BDD2) {
|
||||
#ifdef BUGFIX
|
||||
for (y = 0; y < UNK1822C_ARR_COUNT; y++) {
|
||||
for (x = 0; x < UNK1822C_ARR_COUNT_2; x++) {
|
||||
dungeon->unk1822C.unk1BA2C[y][x] = FALSE;
|
||||
dungeon->dungeonMap.unk1BA2C[y][x] = FALSE;
|
||||
}
|
||||
}
|
||||
#else
|
||||
for (y = 0; y < DUNGEON_MAX_SIZE_Y; y++) {
|
||||
for (x = 0; x < DUNGEON_MAX_SIZE_X; x++) {
|
||||
dungeon->unk1822C.unk1BA2C[y][x] = FALSE;
|
||||
dungeon->dungeonMap.unk1BA2C[y][x] = FALSE;
|
||||
}
|
||||
}
|
||||
#endif // BUGFIX
|
||||
dungeon->unk1822C.unk1BDD2 = FALSE;
|
||||
dungeon->dungeonMap.unk1BDD2 = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_map.h"
|
||||
#include "dungeon.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "code_803E46C.h"
|
||||
@@ -33,7 +34,6 @@ static bool8 sub_8052DC0(Entity *);
|
||||
extern bool8 sub_8045888(Entity *pokemon);
|
||||
extern void sub_805E804(void);
|
||||
extern void sub_803EAF0(s32, s32);
|
||||
extern void sub_8040238(void);
|
||||
extern void sub_8083E28(void);
|
||||
extern u32 sub_8014140(s32 a0, const void *a1);
|
||||
extern void sub_8083D30(void);
|
||||
@@ -44,7 +44,6 @@ extern void sub_8083CE0(u8 param_1);
|
||||
|
||||
extern u32 gUnknown_202EDD0;
|
||||
extern u8 gUnknown_203B40C;
|
||||
extern u8 gUnknown_202EE01;
|
||||
extern s32 gUnknown_202EDCC;
|
||||
|
||||
extern const u8 gUnknown_80F7AE8[];
|
||||
@@ -379,8 +378,8 @@ void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8
|
||||
|
||||
if (a2) {
|
||||
sub_805E804();
|
||||
sub_8040238();
|
||||
if (gUnknown_202EE01) {
|
||||
LoadDungeonMapPalette();
|
||||
if (gShowDungeonMap) {
|
||||
sub_803EAF0(0, 0);
|
||||
}
|
||||
else {
|
||||
@@ -510,7 +509,7 @@ void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo)
|
||||
}
|
||||
|
||||
if (dialogueInfo->unk0 != 1 && dialogueInfo->unk0 != 3) {
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
sub_803EAF0(0, 0);
|
||||
}
|
||||
sub_803E708(8, 9);
|
||||
@@ -556,7 +555,7 @@ bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, c
|
||||
CloseFile(monPortrait.faceFile);
|
||||
}
|
||||
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
sub_803EAF0(0, 0);
|
||||
|
||||
if (chosenMenuIndex == 1)
|
||||
@@ -599,7 +598,7 @@ s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const
|
||||
CloseFile(monPortrait.faceFile);
|
||||
}
|
||||
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
sub_803EAF0(0, 0);
|
||||
return chosenMenuIndex;
|
||||
}
|
||||
@@ -786,7 +785,7 @@ void sub_8052FB8(const u8 *str)
|
||||
|
||||
ShowWindows(NULL, TRUE, TRUE);
|
||||
sub_803E46C(9);
|
||||
sub_8040238();
|
||||
LoadDungeonMapPalette();
|
||||
for (j = 0; j < 8; j++) {
|
||||
SetBGPaletteBufferColorArray(240 + j, &gFontPalette[j]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user