mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 23:17:03 -05:00
dungeon map documentation
This commit is contained in:
parent
7dd904a428
commit
ce798ff03e
|
|
@ -85,13 +85,13 @@ typedef struct UnkDungeonGlobal_unk181E8_sub
|
|||
bool8 unk1820B; // x23
|
||||
bool8 unk1820C; // x24
|
||||
bool8 unk1820D; // x25
|
||||
bool8 unk1820E; // x26
|
||||
bool8 unk1820F; // x27
|
||||
bool8 showAllFloorItems; // x26
|
||||
bool8 showInvisibleTrapsMonsters; // x27
|
||||
/* 0x18210 */ bool8 hallucinating; // x28 Displays Substitute and flower sprites when the player has the Cross-Eyed status.
|
||||
bool8 unk18211; // x29
|
||||
u8 unk18212; // x2A
|
||||
bool8 unk18213; // x2B
|
||||
u8 unk18214; // x2C
|
||||
bool8 inFloorMapMode; // x2C
|
||||
u8 unk18215; // x2D
|
||||
u8 unk18216; // x2E
|
||||
u8 unk18217; // x2F
|
||||
|
|
|
|||
|
|
@ -686,10 +686,10 @@ void sub_803F27C(bool8 a0)
|
|||
if (!a0) {
|
||||
strPtr->blinded = 0;
|
||||
strPtr->hallucinating = 0;
|
||||
strPtr->unk1820F = 0;
|
||||
strPtr->showInvisibleTrapsMonsters = 0;
|
||||
strPtr->unk1820D = FALSE;
|
||||
strPtr->unk18211 = 0;
|
||||
strPtr->unk1820E = FALSE;
|
||||
strPtr->showAllFloorItems = FALSE;
|
||||
strPtr->unk1820B = 0;
|
||||
strPtr->unk1820C = 0;
|
||||
}
|
||||
|
|
@ -700,7 +700,7 @@ void sub_803F27C(bool8 a0)
|
|||
strPtr->unk18212 = 0;
|
||||
strPtr->unk1821B = 0;
|
||||
strPtr->unk1821C = 0;
|
||||
strPtr->unk18214 = 0;
|
||||
strPtr->inFloorMapMode = 0;
|
||||
strPtr->unk18215 = 1;
|
||||
sub_803F38C();
|
||||
|
||||
|
|
@ -805,7 +805,7 @@ void sub_803F580(u8 a0)
|
|||
|
||||
if (cameraTarget != NULL && EntityIsValid(cameraTarget)) {
|
||||
s32 i;
|
||||
u32 before, unk18214;
|
||||
u32 before, inFloorMapMode;
|
||||
EntityInfo *info = GetEntInfo(cameraTarget);
|
||||
|
||||
strPtr->cameraPixelPosMirror = strPtr->cameraPixelPos;
|
||||
|
|
@ -818,24 +818,24 @@ void sub_803F580(u8 a0)
|
|||
|
||||
if (HasHeldItem(cameraTarget, ITEM_X_RAY_SPECS) && info->isTeamLeader) {
|
||||
strPtr->unk1820D = TRUE;
|
||||
strPtr->unk1820E = TRUE;
|
||||
strPtr->showAllFloorItems = TRUE;
|
||||
}
|
||||
else {
|
||||
strPtr->unk1820D = info->powerEars;
|
||||
strPtr->unk1820E = info->scanning;
|
||||
strPtr->showAllFloorItems = info->scanning;
|
||||
}
|
||||
|
||||
strPtr->unk18211 = info->stairSpotter;
|
||||
before = strPtr->blinded;
|
||||
unk18214 = strPtr->unk18214;
|
||||
if (unk18214 == 0) {
|
||||
inFloorMapMode = strPtr->inFloorMapMode;
|
||||
if (inFloorMapMode == 0) {
|
||||
u32 unkVar;
|
||||
if (info->blinkerClassStatus.status == STATUS_BLINKER) {
|
||||
strPtr->blinded = 1;
|
||||
unkVar = 0xE;
|
||||
}
|
||||
else {
|
||||
strPtr->blinded = unk18214;
|
||||
strPtr->blinded = inFloorMapMode;
|
||||
unkVar = 0;
|
||||
}
|
||||
|
||||
|
|
@ -865,15 +865,15 @@ void sub_803F580(u8 a0)
|
|||
sub_8041888(0);
|
||||
}
|
||||
|
||||
before = strPtr->unk1820F;
|
||||
before = strPtr->showInvisibleTrapsMonsters;
|
||||
if (CanSeeInvisibleMonsters(cameraTarget)) {
|
||||
strPtr->unk1820F = 1;
|
||||
strPtr->showInvisibleTrapsMonsters = 1;
|
||||
}
|
||||
else {
|
||||
strPtr->unk1820F = 0;
|
||||
strPtr->showInvisibleTrapsMonsters = 0;
|
||||
}
|
||||
|
||||
if (before != strPtr->unk1820F) {
|
||||
if (before != strPtr->showInvisibleTrapsMonsters) {
|
||||
sub_8049ED4();
|
||||
sub_8040A84();
|
||||
sub_8041888(0);
|
||||
|
|
@ -951,7 +951,7 @@ void sub_803F878(s32 a0, s32 a1)
|
|||
strPtr->cameraPos.x = a0 / 6144;
|
||||
strPtr->cameraPos.y = a1 / 6144;
|
||||
strPtr->unk1820D = FALSE;
|
||||
strPtr->unk1820E = FALSE;
|
||||
strPtr->showAllFloorItems = FALSE;
|
||||
strPtr->unk18211 = 0;
|
||||
strPtr->unk18216 = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ struct UnkStruct_203B414
|
|||
struct DungeonPos unk8C[16];
|
||||
};
|
||||
|
||||
EWRAM_INIT DungeonPos gUnknown_203B410 = {100, 100};
|
||||
EWRAM_INIT DungeonPos gPlayerDotMapPosition = {100, 100};
|
||||
static EWRAM_INIT struct UnkStruct_203B414 *sUnknown_203B414 = NULL;
|
||||
EWRAM_INIT Dungeon *gDungeon = NULL;
|
||||
EWRAM_INIT u8 *gSerializedData_203B41C = NULL;
|
||||
|
|
@ -388,8 +388,8 @@ void RunDungeon(struct UnkStruct_RunDungeon *r8)
|
|||
dungeonPtr[i] = 0;
|
||||
}
|
||||
|
||||
gUnknown_203B410.x = 0; // Needed to match
|
||||
gUnknown_203B410.x = 100;
|
||||
gPlayerDotMapPosition.x = 0; // Needed to match
|
||||
gPlayerDotMapPosition.x = 100;
|
||||
|
||||
if (!r6) {
|
||||
gDungeon->unk644.unk34 = r8->unkF;
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ bool8 sub_8045804(Entity *ent)
|
|||
if (!monInfo->isNotTeamMember)
|
||||
return TRUE;
|
||||
|
||||
if (!saveTyping->unk1820F && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
|
||||
if (!saveTyping->showInvisibleTrapsMonsters && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
|
||||
return FALSE;
|
||||
|
||||
if (saveTyping->unk1820B || saveTyping->unk1820D)
|
||||
|
|
@ -252,7 +252,7 @@ bool8 sub_8045888(Entity *ent)
|
|||
|
||||
switch (GetEntityType(ent)) {
|
||||
case ENTITY_ITEM: {
|
||||
if (!saveTyping->unk1820E && !sub_803F428(&ent->pos))
|
||||
if (!saveTyping->showAllFloorItems && !sub_803F428(&ent->pos))
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
|
|
@ -260,7 +260,7 @@ bool8 sub_8045888(Entity *ent)
|
|||
EntityInfo *monInfo = GetEntInfo(ent);
|
||||
|
||||
if (monInfo->isNotTeamMember) {
|
||||
if (!gDungeon->unk181e8.unk1820F && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
|
||||
if (!gDungeon->unk181e8.showInvisibleTrapsMonsters && monInfo->invisibleClassStatus.status == STATUS_INVISIBLE)
|
||||
return FALSE;
|
||||
|
||||
if (!saveTyping->unk1820D && !sub_803F428(&ent->pos))
|
||||
|
|
@ -269,7 +269,7 @@ bool8 sub_8045888(Entity *ent)
|
|||
break;
|
||||
}
|
||||
case ENTITY_TRAP: {
|
||||
if (!gDungeon->unk181e8.unk1820F && !ent->isVisible)
|
||||
if (!gDungeon->unk181e8.showInvisibleTrapsMonsters && !ent->isVisible)
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -427,7 +427,7 @@ void DungeonHandlePlayerInput(void)
|
|||
if (!gDungeon->unk181e8.blinded && gGameOptionsRef->mapOption != 6 && gRealInputs.pressed & SELECT_BUTTON) {
|
||||
s32 prevMapOption = gGameOptionsRef->mapOption;
|
||||
gUnknown_202EE00 = 1;
|
||||
gDungeon->unk181e8.unk18214 = 1;
|
||||
gDungeon->unk181e8.inFloorMapMode = TRUE;
|
||||
if (!sub_8094C48()) {
|
||||
sub_8094C88();
|
||||
}
|
||||
|
|
@ -447,7 +447,7 @@ void DungeonHandlePlayerInput(void)
|
|||
sub_8040A84();
|
||||
}
|
||||
}
|
||||
gDungeon->unk181e8.unk18214 = 0;
|
||||
gDungeon->unk181e8.inFloorMapMode = FALSE;
|
||||
gGameOptionsRef->mapOption = prevMapOption;
|
||||
gUnknown_202EE00 = 1;
|
||||
sub_8040A84();
|
||||
|
|
@ -845,7 +845,7 @@ bool8 sub_805E874(void)
|
|||
if (tile->object != NULL && GetEntityType(tile->object) == ENTITY_TRAP && GetEntityType(tile->object) == ENTITY_TRAP) {
|
||||
if (tile->object->isVisible)
|
||||
return FALSE;
|
||||
if (gDungeon->unk181e8.unk1820F)
|
||||
if (gDungeon->unk181e8.showInvisibleTrapsMonsters)
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -853,7 +853,7 @@ bool8 sub_805E874(void)
|
|||
if (tile->object != NULL && GetEntityType(tile->object) == ENTITY_TRAP) {
|
||||
if (tile->object->isVisible)
|
||||
return FALSE;
|
||||
if (gDungeon->unk181e8.unk1820F)
|
||||
if (gDungeon->unk181e8.showInvisibleTrapsMonsters)
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ extern u8 gUnknown_810AC62; // 0xC
|
|||
extern u8 gUnknown_810AC68; // 0x8
|
||||
extern u8 gUnknown_810AC64; // 0x8
|
||||
extern u8 gUnknown_810AC66; // 0x8
|
||||
extern DungeonPos gUnknown_203B410;
|
||||
extern DungeonPos gPlayerDotMapPosition;
|
||||
extern DungeonPos gUnknown_202EE0C;
|
||||
s32 sub_806A4DC(EntityInfo *info);
|
||||
bool8 sub_8070F80(Entity * pokemon, s32 direction);
|
||||
|
|
@ -51,8 +51,8 @@ void sub_80694C0(Entity *target,s32 x,int y,char param_4)
|
|||
(target->pos).x = x;
|
||||
(target->pos).y = y;
|
||||
if (info->isTeamLeader) {
|
||||
gUnknown_203B410.x = x;
|
||||
gUnknown_203B410.y = y;
|
||||
gPlayerDotMapPosition.x = x;
|
||||
gPlayerDotMapPosition.y = y;
|
||||
}
|
||||
tile->monster = target;
|
||||
if (info->isTeamLeader) {
|
||||
|
|
@ -247,7 +247,7 @@ void sub_8069844(struct unkStruct_808FF20 *param_1, Entity *target) {
|
|||
param_1->unk44[1].level = 0;
|
||||
param_1->IQSkills = info->IQSkillMenuFlags;
|
||||
if (gDungeon->unk644.unk16 != 0) {
|
||||
param_1->unk4C = sub_806A4DC(info);
|
||||
param_1->unk4C = sub_806A4DC(info);
|
||||
}
|
||||
else {
|
||||
param_1->unk4C = 3;
|
||||
|
|
@ -265,7 +265,7 @@ void sub_8069844(struct unkStruct_808FF20 *param_1, Entity *target) {
|
|||
}
|
||||
if (FixedPointToInt(info->belly) == 0) {
|
||||
if (info->isTeamLeader) {
|
||||
param_1->unk58[uVar15] = 19;
|
||||
param_1->unk58[uVar15] = 19;
|
||||
}
|
||||
else {
|
||||
param_1->unk58[uVar15] = 59;
|
||||
|
|
|
|||
|
|
@ -2061,7 +2061,7 @@ void sub_806C51C(Entity *entity)
|
|||
if (entInfo->isNotTeamMember && (entInfo->apparentID == MONSTER_DEOXYS_ATTACK || entInfo->apparentID == MONSTER_DEOXYS_DEFENSE || entInfo->apparentID == MONSTER_DEOXYS_SPEED)) {
|
||||
r4 = TRUE;
|
||||
}
|
||||
if (entInfo->invisibleClassStatus.status == STATUS_INVISIBLE && !gDungeon->unk181e8.unk1820F) {
|
||||
if (entInfo->invisibleClassStatus.status == STATUS_INVISIBLE && !gDungeon->unk181e8.showInvisibleTrapsMonsters) {
|
||||
r4 = TRUE;
|
||||
}
|
||||
if (r4) {
|
||||
|
|
|
|||
|
|
@ -877,7 +877,7 @@ extern SpriteOAM gUnknown_202EDC0;
|
|||
void sub_807FA9C(void)
|
||||
{
|
||||
s32 x, y;
|
||||
bool8 unkBool = gDungeon->unk181e8.unk1820F;
|
||||
bool8 unkBool = gDungeon->unk181e8.showInvisibleTrapsMonsters;
|
||||
|
||||
for (y = gDungeon->unk181e8.cameraPos.y - 5; y < gDungeon->unk181e8.cameraPos.y + 5; y++) {
|
||||
for (x = gDungeon->unk181e8.cameraPos.x - 6; x < gDungeon->unk181e8.cameraPos.x + 6; x++) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
extern const char gUnknown_80F6604; // "zmappat"
|
||||
extern struct FileArchive gDungeonFileArchive;
|
||||
extern DungeonPos gUnknown_203B410;
|
||||
extern DungeonPos gPlayerDotMapPosition;
|
||||
extern s32 gUnknown_202EDD0;
|
||||
|
||||
extern void nullsub_11(SpriteOAM *, s32, UnkSpriteMem *, unkStruct_2039DB0 *);
|
||||
|
|
@ -69,8 +69,8 @@ void InitDungeonMap(bool8 a0)
|
|||
}
|
||||
|
||||
if (!a0) {
|
||||
gUnknown_203B410.x = 100;
|
||||
gUnknown_203B410.y = 100;
|
||||
gPlayerDotMapPosition.x = 100;
|
||||
gPlayerDotMapPosition.y = 100;
|
||||
}
|
||||
|
||||
gDungeon->dungeonMap.unk1BDCC = 0;
|
||||
|
|
@ -125,8 +125,8 @@ void sub_80402AC(s32 x, s32 y)
|
|||
bool8 blinded;
|
||||
u32 terrainType;
|
||||
bool8 hallucinating;
|
||||
bool8 var_2C;
|
||||
bool8 var_28;
|
||||
bool8 showItems;
|
||||
bool8 showHiddenTraps;
|
||||
bool8 r0;
|
||||
bool8 var_24;
|
||||
bool8 r7;
|
||||
|
|
@ -167,8 +167,8 @@ void sub_80402AC(s32 x, s32 y)
|
|||
terrainType = GetTerrainType(tile);
|
||||
hallucinating = gDungeon->unk181e8.hallucinating;
|
||||
blinded = gDungeon->unk181e8.blinded;
|
||||
var_28 = gDungeon->unk181e8.unk1820F;
|
||||
var_2C = gDungeon->unk181e8.unk1820E;
|
||||
showHiddenTraps = gDungeon->unk181e8.showInvisibleTrapsMonsters;
|
||||
showItems = gDungeon->unk181e8.showAllFloorItems;
|
||||
r0 = gDungeon->unk181e8.unk1820B;
|
||||
if (blinded) {
|
||||
r7 = tile->spawnOrVisibilityFlags & 1;
|
||||
|
|
@ -206,9 +206,9 @@ void sub_80402AC(s32 x, s32 y)
|
|||
r6 = 2;
|
||||
}
|
||||
else if (entInfo->isTeamLeader) {
|
||||
gUnknown_203B410.x = x;
|
||||
gUnknown_203B410.y = y;
|
||||
if (gDungeon->unk181e8.unk18214) {
|
||||
gPlayerDotMapPosition.x = x;
|
||||
gPlayerDotMapPosition.y = y;
|
||||
if (gDungeon->unk181e8.inFloorMapMode) {
|
||||
r6 = 8;
|
||||
}
|
||||
}
|
||||
|
|
@ -227,7 +227,7 @@ void sub_80402AC(s32 x, s32 y)
|
|||
if (!r7) {
|
||||
r6 = 0;
|
||||
if (entType == ENTITY_ITEM) {
|
||||
if ((var_2C || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
|
||||
if ((showItems || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
|
||||
r6 = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -235,7 +235,7 @@ void sub_80402AC(s32 x, s32 y)
|
|||
}
|
||||
else {
|
||||
if (entType == ENTITY_TRAP) {
|
||||
if (entity->isVisible || var_28) {
|
||||
if (entity->isVisible || showHiddenTraps) {
|
||||
Trap *trap = GetTrapData(entity);
|
||||
r6 = gUnknown_80F65F0[trap->id];
|
||||
r10 = FALSE;
|
||||
|
|
@ -245,7 +245,7 @@ void sub_80402AC(s32 x, s32 y)
|
|||
|
||||
if (r10) {
|
||||
if (entType == ENTITY_ITEM) {
|
||||
if ((var_2C || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
|
||||
if ((showItems || (tile->spawnOrVisibilityFlags & 2)) && terrainType != TERRAIN_TYPE_WALL) {
|
||||
r6 = 3;
|
||||
r10 = FALSE;
|
||||
}
|
||||
|
|
@ -344,7 +344,7 @@ void sub_80402AC(s32 x, s32 y)
|
|||
}
|
||||
else {
|
||||
r6 = 1;
|
||||
gUnknown_203B410.x = 100;
|
||||
gPlayerDotMapPosition.x = 100;
|
||||
}
|
||||
|
||||
xDiv2 = x / 2;
|
||||
|
|
@ -435,11 +435,11 @@ void sub_8040788(void)
|
|||
|
||||
void ShowPlayerDotOnMap(void)
|
||||
{
|
||||
if (gDungeon->unk181e8.unk18214)
|
||||
if (gDungeon->unk181e8.inFloorMapMode)
|
||||
return;
|
||||
if (!gDungeon->unk181e8.unk18219)
|
||||
return;
|
||||
if (gUnknown_203B410.x >= 100)
|
||||
if (gPlayerDotMapPosition.x >= 100)
|
||||
return;
|
||||
if ((++sPlayerDotFrames & 8) == 0) {
|
||||
SpriteOAM sprite = {0};
|
||||
|
|
@ -459,13 +459,13 @@ void ShowPlayerDotOnMap(void)
|
|||
SpriteSetUnk6_1(&sprite, 0);
|
||||
// Nulled on GBA
|
||||
if (gGameOptionsRef->mapOption == TOP_MAP_AND_TEAM_NO_BOTTOM) {
|
||||
SpriteSetX(&sprite, (gUnknown_203B410.x * 4) + 16);
|
||||
SpriteSetY(&sprite, (gUnknown_203B410.y + 1) * 4);
|
||||
SpriteSetX(&sprite, (gPlayerDotMapPosition.x * 4) + 16);
|
||||
SpriteSetY(&sprite, (gPlayerDotMapPosition.y + 1) * 4);
|
||||
nullsub_11(&sprite,0x100,NULL,NULL);
|
||||
}
|
||||
else {
|
||||
SpriteSetX(&sprite, (gUnknown_203B410.x * 4) + 8);
|
||||
SpriteSetY(&sprite, (gUnknown_203B410.y) * 4);
|
||||
SpriteSetX(&sprite, (gPlayerDotMapPosition.x * 4) + 8);
|
||||
SpriteSetY(&sprite, (gPlayerDotMapPosition.y) * 4);
|
||||
AddSprite(&sprite,0x100,NULL,NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ void sub_8049BB0(s32 x, s32 y)
|
|||
|
||||
void sub_8049ED4(void)
|
||||
{
|
||||
bool32 hallucinating, unk1820F;
|
||||
bool32 hallucinating, showInvisibleTrapsMonsters;
|
||||
u16 *src;
|
||||
const Tile *tile;
|
||||
s32 r7;
|
||||
|
|
@ -455,7 +455,7 @@ void sub_8049ED4(void)
|
|||
|
||||
Dungeon *dungeon = gDungeon;
|
||||
hallucinating = dungeon->unk181e8.hallucinating;
|
||||
unk1820F = dungeon->unk181e8.unk1820F;
|
||||
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
|
||||
x = dungeon->unk181e8.cameraPixelPos.x >> 3;
|
||||
r10 = gUnknown_80F6A4A[30 + x];
|
||||
var_48 = gUnknown_80F6C06[30 + x];
|
||||
|
|
@ -484,7 +484,7 @@ void sub_8049ED4(void)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r7];
|
||||
}
|
||||
|
|
@ -529,7 +529,7 @@ void sub_8049ED4(void)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r7];
|
||||
}
|
||||
|
|
@ -562,7 +562,7 @@ void sub_804A1F0(s32 a0, s32 a1)
|
|||
{
|
||||
const Tile *tile;
|
||||
u16 *src;
|
||||
bool32 hallucinating, unk1820F;
|
||||
bool32 hallucinating, showInvisibleTrapsMonsters;
|
||||
s32 xTemp, yTemp;
|
||||
s32 i;
|
||||
s32 r8;
|
||||
|
|
@ -574,7 +574,7 @@ void sub_804A1F0(s32 a0, s32 a1)
|
|||
|
||||
Dungeon *dungeon = gDungeon;
|
||||
hallucinating = dungeon->unk181e8.hallucinating;
|
||||
unk1820F = dungeon->unk181e8.unk1820F;
|
||||
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
|
||||
xTemp = dungeon->unk181e8.cameraPixelPos.x + a0;
|
||||
yTemp = dungeon->unk181e8.cameraPixelPos.y + a1;
|
||||
yTemp >>= 3;
|
||||
|
|
@ -599,7 +599,7 @@ void sub_804A1F0(s32 a0, s32 a1)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r6];
|
||||
}
|
||||
|
|
@ -640,7 +640,7 @@ void sub_804A1F0(s32 a0, s32 a1)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r6];
|
||||
}
|
||||
|
|
@ -664,7 +664,7 @@ void sub_804A49C(s32 a0, s32 a1)
|
|||
{
|
||||
const Tile *tile;
|
||||
u16 *src;
|
||||
bool32 hallucinating, unk1820F;
|
||||
bool32 hallucinating, showInvisibleTrapsMonsters;
|
||||
s32 xTemp, yTemp;
|
||||
s32 i;
|
||||
s32 var_2C;
|
||||
|
|
@ -676,7 +676,7 @@ void sub_804A49C(s32 a0, s32 a1)
|
|||
|
||||
Dungeon *dungeon = gDungeon;
|
||||
hallucinating = dungeon->unk181e8.hallucinating;
|
||||
unk1820F = dungeon->unk181e8.unk1820F;
|
||||
showInvisibleTrapsMonsters = dungeon->unk181e8.showInvisibleTrapsMonsters;
|
||||
xTemp = dungeon->unk181e8.cameraPixelPos.x + a0;
|
||||
yTemp = dungeon->unk181e8.cameraPixelPos.y + a1;
|
||||
x = xTemp >> 3;
|
||||
|
|
@ -700,7 +700,7 @@ void sub_804A49C(s32 a0, s32 a1)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r6];
|
||||
}
|
||||
|
|
@ -741,7 +741,7 @@ void sub_804A49C(s32 a0, s32 a1)
|
|||
{
|
||||
Entity *tileObject = tile->object;
|
||||
if (tileObject != NULL) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || unk1820F)) {
|
||||
if (GetEntityType(tileObject) == ENTITY_TRAP && (tileObject->isVisible || showInvisibleTrapsMonsters)) {
|
||||
u8 trapType = GetEntInfo(tileObject)->flags;
|
||||
src = &dungeon->unk12A18[trapType][r6];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
extern u8 gUnknown_202EE70[MAX_TEAM_BODY_SIZE];
|
||||
extern u8 gUnknown_202EE76[DUNGEON_MAX_WILD_POKEMON_BODY_SIZE];
|
||||
|
||||
extern DungeonPos gUnknown_203B410;
|
||||
extern DungeonPos gPlayerDotMapPosition;
|
||||
extern Entity *gLeaderPointer; // 203B450
|
||||
|
||||
#include "data/dungeon_serializer.h"
|
||||
|
|
@ -453,8 +453,8 @@ static void WriteDungeonVisibility(DataSerializer *seri)
|
|||
WriteBool8(seri, gDungeon->unk181e8.unk1820B);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk1820C);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk1820D);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk1820E);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk1820F);
|
||||
WriteBool8(seri, gDungeon->unk181e8.showAllFloorItems);
|
||||
WriteBool8(seri, gDungeon->unk181e8.showInvisibleTrapsMonsters);
|
||||
WriteBool8(seri, gDungeon->unk181e8.hallucinating);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk18211);
|
||||
WriteBool8(seri, gDungeon->unk181e8.unk18213);
|
||||
|
|
@ -850,8 +850,8 @@ static void ReadDungeonVisibility(DataSerializer *seri)
|
|||
gDungeon->unk181e8.unk1820B = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk1820C = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk1820D = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk1820E = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk1820F = ReadBool8(seri);
|
||||
gDungeon->unk181e8.showAllFloorItems = ReadBool8(seri);
|
||||
gDungeon->unk181e8.showInvisibleTrapsMonsters = ReadBool8(seri);
|
||||
gDungeon->unk181e8.hallucinating = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk18211 = ReadBool8(seri);
|
||||
gDungeon->unk181e8.unk18213 = ReadBool8(seri);
|
||||
|
|
@ -1100,8 +1100,8 @@ static void ReadMonster(DataSerializer *seri, bool8 isTeamMember, s32 index)
|
|||
gLeaderPointer = NULL;
|
||||
|
||||
if (monEntInfo->isTeamLeader) {
|
||||
gUnknown_203B410.x = mon->pos.x;
|
||||
gUnknown_203B410.y = mon->pos.y;
|
||||
gPlayerDotMapPosition.x = mon->pos.x;
|
||||
gPlayerDotMapPosition.y = mon->pos.y;
|
||||
}
|
||||
|
||||
LoadIQSkills(mon);
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ void HandleTrap(Entity *pokemon, DungeonPos *pos, int param_3, char param_4)
|
|||
if (HasHeldItem(target, ITEM_TRAP_SCARF)) {
|
||||
text = *gUnknown_80FDB5C;
|
||||
}
|
||||
if ((flag == TRUE) || (gDungeon->unk181e8.unk1820F != 0)) {
|
||||
if ((flag == TRUE) || (gDungeon->unk181e8.showInvisibleTrapsMonsters != 0)) {
|
||||
if (rand < 0) text = *gUnknown_80FDB7C;
|
||||
}
|
||||
else if (rand < 0xf) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user