Defined DungeonEntity (#51)

* Defined DungeonEntity

* Rename EntityType enums

* Revert EntityType rename
This commit is contained in:
Cheng Hann Gan 2021-09-04 00:47:29 -04:00 committed by GitHub
parent db05ce306f
commit 0313c6bbc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 744 additions and 686 deletions

View File

@ -1,48 +0,0 @@
#ifndef GUARD_CODE_8041D5C_H
#define GUARD_CODE_8041D5C_H
struct subStruct_8048524
{
u8 fill0[0x6];
u8 unk6;
u8 unk7;
u8 fill8[0xE - 0x8];
/* 0xE */ s16 HP; // HP??
s16 unk10;
u8 fill12[0x46 - 0x12];
s8 unk46;
u8 fill47[0xA4 - 0x47];
u8 unkA4;
u8 fillA5[0xAC - 0xA5];
/* 0xAC */ u8 statusCondition;
u8 fillAD[0xFB - 0xAD];
u8 unkFB;
u8 fillFC[0x112 - 0xFC];
u8 unk112;
u8 fill113[0x13C - 0x113];
u32 unk13C;
u8 fill140[0x15C - 0x140];
u8 unk15C;
u8 unk15D;
u8 unk15E;
u8 unk15F;
u8 fill160[0x174 - 0x160];
u32 unk174;
};
struct unkDungeon_8041D5C
{
u8 fill0[4];
/* 0x4 */ s16 posWorldX;
/* 0x6 */ s16 posWorldY;
/* 0x8 */ s16 prevPosWorldX;
/* 0xA */ s16 prevPosWorldY;
/* 0xC */ s32 unkC;
/* 0x10 */ s32 unk10;
/* 0x14 */ u8 fill14[0x20 - 0x14];
/* 0x20 */ u8 unk20;
/* 0x21 */ u8 unk21[0x70 - 0x21];
struct subStruct_8048524 *unk70;
};
#endif

106
include/dungeon_entity.h Normal file
View File

@ -0,0 +1,106 @@
#ifndef GUARD_DUNGEON_ENTITY_H
#define GUARD_DUNGEON_ENTITY_H
struct subStruct_8048524
{
u8 fill0[0x6];
u8 unk6;
u8 unk7;
u8 fill8[0xE - 0x8];
/* 0xE */ s16 HP; // HP??
s16 unk10;
u8 fill12[0x46 - 0x12];
s8 unk46;
u8 fill47[0xA4 - 0x47];
u8 unkA4;
u8 fillA5[0xAC - 0xA5];
/* 0xAC */ u8 statusCondition;
u8 fillAD[0xFB - 0xAD];
u8 unkFB;
u8 fillFC[0x112 - 0xFC];
u8 unk112;
u8 fill113[0x13C - 0x113];
u32 unk13C;
u8 fill140[0x15C - 0x140];
u8 unk15C;
u8 unk15D;
u8 unk15E;
u8 unk15F;
u8 fill160[0x174 - 0x160];
u32 unk174;
};
// Used for Pokémon, items, and traps.
struct DungeonEntity
{
/* 0x0 */ u8 entityType;
u8 fill1[0x4 - 0x1];
/* 0x4 */ s16 posWorldX;
/* 0x6 */ s16 posWorldY;
/* 0x8 */ s16 prevPosWorldX;
/* 0xA */ s16 prevPosWorldY;
// The center of the entity acccording to pixel-space coordinates, using the same origin as posWorld.
// X = (posWorld * 24 + 16) * 256, while Y = (posWorld * 24 + 12) * 256.
/* 0xC */ s32 posPixelX;
/* 0x10 */ s32 posPixelY;
/* 0x14 */ s32 prevPosPixelX;
/* 0x18 */ s32 prevPosPixelY;
u8 fill1C[0x20 - 0x1C];
/* 0x20 */ bool8 active; // Turned off when a Pokémon faints.
u8 fill21[0x25 - 0x21];
/* 0x25 */ u8 roomIndex;
// The global spawn index counter starts at 10. Each Pokémon that spawns increments the counter and
// gets assigned the current counter value as its spawn index.
/* 0x26 */ u16 spawnIndex;
u8 fill28[0x2A - 0x28];
// 0x2A and 0x2E seem to be related to the sprite animation, though not sure how they're related.
/* 0x2A */ u16 spriteAnimationCounter;
// Each animation has a few different sprites that it transitions between.
// This is the index of the currently displayed sprite within the animation.
// Differs from 0x34 as this index is only between the sprites used by the animation,
// while 0x34 is a shared index among all sprites.
/* 0x2C */ u16 spriteAnimationIndex;
/* 0x2E */ u16 spriteAnimationCounter2;
// The position of the sprite within the tile. The animation may change the position slightly.
/* 0x30 */ u16 spritePosX;
/* 0x32 */ u16 spritePosY;
// Offset of the sprite from its position at the start of the animation. Changes alongside spritePos.
/* 0x34 */ s16 spritePosOffsetX;
/* 0x36 */ s16 spritePosOffsetY;
u8 fill38[0x48 - 0x38];
// The sprite index to display, among the Pokémon's possible sprites.
/* 0x48 */ u16 spriteIndexForEntity;
/* 0x4A */ u16 spriteIndexForEntity2;
// Some kind of base sprite index depending on which way the Pokémon is facing.
// and which animation is playing (e.g., idle, moving).
// Compared to 0x48, 0x50 and 0x54 are much larger and could be global indexes among all sprites in the game.
/* 0x50 */ u16 spriteBaseForDirection;
u8 fill52[0x54 - 0x52];
/* 0x54 */ u16 spriteGlobalIndex;
u8 fill56[0x6C - 0x56];
/* 0x6C */ u8 facingDirection;
/* 0x6D */ u8 facingDirection2; // Duplicate of 0x6C?
u8 fill6D[0x70 - 0x6D];
struct subStruct_8048524 *unk70;
};
enum EntityType
{
ENTITY_POKEMON = 1,
ENTITY_ITEM = 2,
ENTITY_TRAP = 3
};
enum FacingDirection
{
SOUTH,
SOUTHEAST,
EAST,
NORTHEAST,
NORTH,
NORTHWEST,
WEST,
SOUTHWEST
};
#endif

View File

@ -1,7 +1,7 @@
#ifndef GUARD_GUNKNOWN_203B418_H
#define GUARD_GUNKNOWN_203B418_H
#include "code_8041D5C.h"
#include "dungeon_entity.h"
struct unkStruct_203B418
{
@ -27,7 +27,7 @@ struct unkStruct_203B418
u8 fillE26D[0x1356C - 0xE26D];
u8 unk1356C;
u8 fill1356D[0x1358C - 0x1356D];
struct unkDungeon_8041D5C *unk1358C[0x10];
struct DungeonEntity *unk1358C[0x10];
u8 fill135CC[0x181FC - 0x135CC];
u32 unk181FC;
u32 unk18200;

View File

@ -1,5 +1,5 @@
#include "global.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
#include "gUnknown_203B418.h"
struct unkStruct_80420E8
@ -12,32 +12,32 @@ struct unkStruct_80420E8
extern struct unkStruct_203B418 *gUnknown_203B418;
extern void sub_803ED30(u8, struct unkDungeon_8041D5C *r0, u8, u8);
extern void sub_804151C(struct unkDungeon_8041D5C *r0, u32 r1, u8 r2);
extern void sub_80416E0(struct unkDungeon_8041D5C *r0, u32, u32);
extern u8 sub_8042768(struct unkDungeon_8041D5C *r0);
extern void sub_806CDD4(struct unkDungeon_8041D5C *r0, u8, u32);
extern u8 sub_8071858(struct unkDungeon_8041D5C *r0, u8);
extern void sub_803ED30(u8, struct DungeonEntity *r0, u8, u8);
extern void sub_804151C(struct DungeonEntity *r0, u32 r1, u8 r2);
extern void sub_80416E0(struct DungeonEntity *r0, u32, u32);
extern u8 sub_8042768(struct DungeonEntity *r0);
extern void sub_806CDD4(struct DungeonEntity *r0, u8, u32);
extern u8 sub_8071858(struct DungeonEntity *r0, u8);
extern u32 sub_806F62C(u32);
extern void PlaySoundEffect(u32);
extern u8 sub_803F428(struct unkDungeon_8041D5C *r0);
extern void sub_8041550(struct unkDungeon_8041D5C *r0, u32, u32, u32, u32, u32);
extern u8 sub_803F428(struct DungeonEntity *r0);
extern void sub_8041550(struct DungeonEntity *r0, u32, u32, u32, u32, u32);
void sub_80421C0(struct unkDungeon_8041D5C *r0, u16 r1);
void sub_80421C0(struct DungeonEntity *r0, u16 r1);
void sub_8041AD0(struct unkDungeon_8041D5C *r0)
void sub_8041AD0(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xA2 << 1, 1);
}
void sub_8041AE0(struct unkDungeon_8041D5C *r0)
void sub_8041AE0(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x143, 1);
}
void sub_8041AF4(struct unkDungeon_8041D5C *r0)
void sub_8041AF4(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x25, 1);
sub_80421C0(r0, 0x197);
@ -47,7 +47,7 @@ void nullsub_57(void)
{
}
void sub_8041B18(struct unkDungeon_8041D5C *r0)
void sub_8041B18(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x141, 1);
}
@ -60,7 +60,7 @@ void nullsub_59(void)
{
}
void sub_8041B34(struct unkDungeon_8041D5C *r0)
void sub_8041B34(struct DungeonEntity *r0)
{
sub_804151C(r0, 7, 1);
}
@ -69,7 +69,7 @@ void nullsub_60(void)
{
}
void sub_8041B48(struct unkDungeon_8041D5C *r0)
void sub_8041B48(struct DungeonEntity *r0)
{
sub_804151C(r0, 4, 0);
}
@ -78,16 +78,16 @@ void nullsub_61(void)
{
}
void sub_8041B5C(struct unkDungeon_8041D5C *r0)
void sub_8041B5C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x171, 1);
}
void nullsub_62(struct unkDungeon_8041D5C *r0)
void nullsub_62(struct DungeonEntity *r0)
{
}
void sub_8041B74(struct unkDungeon_8041D5C *r0)
void sub_8041B74(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x171, 0);
}
@ -100,7 +100,7 @@ void nullsub_64(void)
{
}
void sub_8041B90(struct unkDungeon_8041D5C *r0)
void sub_8041B90(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD6 << 1, 0);
}
@ -113,7 +113,7 @@ void nullsub_66(void)
{
}
void sub_8041BA8(struct unkDungeon_8041D5C *r0)
void sub_8041BA8(struct DungeonEntity *r0)
{
sub_804151C(r0, 4, 1);
}
@ -122,7 +122,7 @@ void nullsub_67(void)
{
}
void sub_8041BBC(struct unkDungeon_8041D5C *r0)
void sub_8041BBC(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD4 << 1, 1);
}
@ -131,7 +131,7 @@ void nullsub_68(void)
{
}
void sub_8041BD0(struct unkDungeon_8041D5C *r0, u8 r1)
void sub_8041BD0(struct DungeonEntity *r0, u8 r1)
{
if(r1 == 0)
{
@ -140,22 +140,22 @@ void sub_8041BD0(struct unkDungeon_8041D5C *r0, u8 r1)
sub_80421C0(r0, 0x1a5);
}
void sub_8041BE8(struct unkDungeon_8041D5C *r0)
void sub_8041BE8(struct DungeonEntity *r0)
{
sub_80421C0(r0, 0xCB << 1);
}
void sub_8041BF8(struct unkDungeon_8041D5C *r0)
void sub_8041BF8(struct DungeonEntity *r0)
{
sub_806CDD4(r0, 0xA, 8);
}
void sub_8041C08(struct unkDungeon_8041D5C *r0)
void sub_8041C08(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a7, 1);
}
void sub_8041C1C(struct unkDungeon_8041D5C *r0)
void sub_8041C1C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a7, 1);
}
@ -164,7 +164,7 @@ void nullsub_69(void)
{
}
void sub_8041C34(struct unkDungeon_8041D5C *r0)
void sub_8041C34(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x4C, 1);
}
@ -177,22 +177,22 @@ void nullsub_71(void)
{
}
void sub_8041C4C(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041C4C(struct DungeonEntity *r0, u32 r1)
{
sub_804151C(r0, r1, 1);
}
void sub_8041C58(struct unkDungeon_8041D5C *r0)
void sub_8041C58(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 1);
}
void sub_8041C6C(struct unkDungeon_8041D5C *r0)
void sub_8041C6C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x9D << 1, 1);
}
void sub_8041C7C(struct unkDungeon_8041D5C *r0)
void sub_8041C7C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x9D << 1, 1);
}
@ -205,32 +205,32 @@ void nullsub_73(void)
{
}
void sub_8041C94(struct unkDungeon_8041D5C *r0)
void sub_8041C94(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x171, 1);
}
void sub_8041CA8(struct unkDungeon_8041D5C *r0)
void sub_8041CA8(struct DungeonEntity *r0)
{
sub_804151C(r0, 7, 1);
}
void sub_8041CB8(struct unkDungeon_8041D5C *r0)
void sub_8041CB8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x18b, 1);
}
void sub_8041CCC(struct unkDungeon_8041D5C *r0)
void sub_8041CCC(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xC5 << 1, 1);
}
void sub_8041CDC(struct unkDungeon_8041D5C *r0)
void sub_8041CDC(struct DungeonEntity *r0)
{
sub_804151C(r0, 5, 1);
}
void sub_8041CEC(struct unkDungeon_8041D5C *r0)
void sub_8041CEC(struct DungeonEntity *r0)
{
sub_80421C0(r0, 0x19d);
}
@ -239,7 +239,7 @@ void nullsub_74(void)
{
}
void sub_8041D00(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8041D00(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_804151C(r1, 0x2F, 1);
sub_804151C(r0, 0x30, 1);
@ -269,12 +269,12 @@ void nullsub_80(void)
{
}
void sub_8041D38(struct unkDungeon_8041D5C * r0)
void sub_8041D38(struct DungeonEntity * r0)
{
sub_804151C(r0, 0x21, 1);
}
void sub_8041D48(struct unkDungeon_8041D5C * r0)
void sub_8041D48(struct DungeonEntity * r0)
{
sub_80421C0(r0, 0x191);
}
@ -283,7 +283,7 @@ void nullsub_81(void)
{
}
void sub_8041D5C(struct unkDungeon_8041D5C *r0)
void sub_8041D5C(struct DungeonEntity *r0)
{
if(sub_8042768(r0) == 0)
{
@ -292,7 +292,7 @@ void sub_8041D5C(struct unkDungeon_8041D5C *r0)
sub_803ED30(r0->unk70->unk112 , r0, 1, 0xB);
}
void sub_8041D84(struct unkDungeon_8041D5C * r0)
void sub_8041D84(struct DungeonEntity * r0)
{
sub_80421C0(r0, 0x19f);
}
@ -305,12 +305,12 @@ void nullsub_83(void)
{
}
void sub_8041D9C(struct unkDungeon_8041D5C * r0)
void sub_8041D9C(struct DungeonEntity * r0)
{
sub_804151C(r0, 0x131, 1);
}
void sub_8041DB0(struct unkDungeon_8041D5C * r0)
void sub_8041DB0(struct DungeonEntity * r0)
{
sub_804151C(r0, 0x30, 1);
}
@ -339,7 +339,7 @@ void nullsub_88(void)
{
}
void sub_8041DD8(struct unkDungeon_8041D5C *r0, s16 r1)
void sub_8041DD8(struct DungeonEntity *r0, s16 r1)
{
u32 temp;
temp = r1;
@ -354,78 +354,78 @@ void nullsub_89(void)
{
}
void sub_8041E0C(struct unkDungeon_8041D5C *r0)
void sub_8041E0C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x41, 1);
}
void sub_8041E1C(struct unkDungeon_8041D5C *r0)
void sub_8041E1C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x8F << 1, 1);
sub_80421C0(r0, 0xCE << 1);
}
void sub_8041E3C(struct unkDungeon_8041D5C *r0)
void sub_8041E3C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD7 << 1, 1);
}
void sub_8041E4C(struct unkDungeon_8041D5C *r0)
void sub_8041E4C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1b1, 1);
}
void sub_8041E60(struct unkDungeon_8041D5C *r0)
void sub_8041E60(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 1);
}
void sub_8041E74(struct unkDungeon_8041D5C *r0)
void sub_8041E74(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xC9 << 1, 1);
}
void sub_8041E84(struct unkDungeon_8041D5C *r0)
void sub_8041E84(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xC7 << 1, 1);
}
void sub_8041E94(struct unkDungeon_8041D5C *r0)
void sub_8041E94(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xC8 << 1, 1);
}
void sub_8041EA4(struct unkDungeon_8041D5C *r0)
void sub_8041EA4(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x15, 1);
}
void sub_8041EB4(struct unkDungeon_8041D5C *r0)
void sub_8041EB4(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x171, 1);
}
void sub_8041EC8(struct unkDungeon_8041D5C *r0)
void sub_8041EC8(struct DungeonEntity *r0)
{
sub_80421C0(r0, 0x197);
}
void sub_8041ED8(struct unkDungeon_8041D5C *r0)
void sub_8041ED8(struct DungeonEntity *r0)
{
sub_80421C0(r0, 0x197);
}
void sub_8041EE8(struct unkDungeon_8041D5C *r0)
void sub_8041EE8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x15, 1);
}
void sub_8041EF8(struct unkDungeon_8041D5C *r0)
void sub_8041EF8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xF, 1);
}
void sub_8041F08(struct unkDungeon_8041D5C *r0)
void sub_8041F08(struct DungeonEntity *r0)
{
sub_8041550(r0, 0x15, 1, 3, 2, 0);
}
@ -434,7 +434,7 @@ void nullsub_90(void)
{
}
void sub_8041F28(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041F28(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -446,7 +446,7 @@ void sub_8041F28(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041F4C(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041F4C(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -458,7 +458,7 @@ void sub_8041F4C(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041F70(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041F70(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -470,7 +470,7 @@ void sub_8041F70(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041F94(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041F94(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -482,7 +482,7 @@ void sub_8041F94(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041FB4(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041FB4(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -494,7 +494,7 @@ void sub_8041FB4(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041FD8(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041FD8(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -506,7 +506,7 @@ void sub_8041FD8(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8041FFC(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8041FFC(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -518,7 +518,7 @@ void sub_8041FFC(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_804201C(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_804201C(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -530,7 +530,7 @@ void sub_804201C(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8042040(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8042040(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -542,7 +542,7 @@ void sub_8042040(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8042060(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8042060(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -554,7 +554,7 @@ void sub_8042060(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_8042080(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_8042080(struct DungeonEntity *r0, u32 r1)
{
if(r1 == 0)
{
@ -566,7 +566,7 @@ void sub_8042080(struct unkDungeon_8041D5C *r0, u32 r1)
}
}
void sub_80420A0(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_80420A0(struct DungeonEntity *r0, u32 r1)
{
sub_804151C(r0, 0x143, 1);
}
@ -575,12 +575,12 @@ void nullsub_91(void)
{
}
void sub_80420B8(struct unkDungeon_8041D5C *r0, u32 r1)
void sub_80420B8(struct DungeonEntity *r0, u32 r1)
{
sub_804151C(r0, 0x19, 1);
}
void sub_80420C8(struct unkDungeon_8041D5C *r0)
void sub_80420C8(struct DungeonEntity *r0)
{
sub_8041550(r0, 0x15, 1, 3, 2, 0);
}
@ -589,7 +589,7 @@ void nullsub_92(void)
{
}
void sub_80420E8(struct unkDungeon_8041D5C *r0, struct unkStruct_80420E8 *r1)
void sub_80420E8(struct DungeonEntity *r0, struct unkStruct_80420E8 *r1)
{
u32 temp;
u32 arg;
@ -615,7 +615,7 @@ void sub_80420E8(struct unkDungeon_8041D5C *r0, struct unkStruct_80420E8 *r1)
sub_8041550(r0, arg, 1, 3, 0, 1);
}
void sub_8042148(struct unkDungeon_8041D5C *r0)
void sub_8042148(struct DungeonEntity *r0)
{
sub_80421C0(r0, 0x1a7);
sub_804151C(r0, 0x9F << 1, 1);
@ -625,7 +625,7 @@ void nullsub_93()
{
}
void sub_804216C(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2)
void sub_804216C(u32 r0, struct DungeonEntity *r1, u32 r2)
{
if(r2 == 1)
sub_804151C(r1, 0xF8, 1);
@ -633,22 +633,22 @@ void sub_804216C(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2)
sub_804151C(r1, 0xF9, 1);
}
void sub_804218C(u32 r0, struct unkDungeon_8041D5C *r1)
void sub_804218C(u32 r0, struct DungeonEntity *r1)
{
sub_804151C(r1, 0x2A, 1);
}
void sub_804219C(struct unkDungeon_8041D5C *r0)
void sub_804219C(struct DungeonEntity *r0)
{
sub_80416E0(r0, 0x90, 1);
}
void sub_80421AC(u32 r0, struct unkDungeon_8041D5C * r1)
void sub_80421AC(u32 r0, struct DungeonEntity * r1)
{
sub_804151C(r1, 0x167, 1);
}
void sub_80421C0(struct unkDungeon_8041D5C *r0, u16 r1)
void sub_80421C0(struct DungeonEntity *r0, u16 r1)
{
if(r0 == NULL)
PlaySoundEffect(r1);
@ -657,13 +657,13 @@ void sub_80421C0(struct unkDungeon_8041D5C *r0, u16 r1)
PlaySoundEffect(r1);
}
void sub_80421EC(struct unkDungeon_8041D5C *r0, u16 r1)
void sub_80421EC(struct DungeonEntity *r0, u16 r1)
{
if(sub_803F428(r0) != 0)
PlaySoundEffect(r1);
}
void sub_8042208(struct unkDungeon_8041D5C *r0, u8 r1)
void sub_8042208(struct DungeonEntity *r0, u8 r1)
{
if(r1 == 0)
PlaySoundEffect(0x152);
@ -673,7 +673,7 @@ void sub_8042208(struct unkDungeon_8041D5C *r0, u8 r1)
PlaySoundEffect(0x150);
}
void sub_8042238(u32 r0, struct unkDungeon_8041D5C *r1)
void sub_8042238(u32 r0, struct DungeonEntity *r1)
{
if(r1->unk70->unk6 != 0)
PlaySoundEffect(0x157);

View File

@ -1,148 +1,148 @@
#include "global.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
extern void sub_804151C(struct unkDungeon_8041D5C *r0, u32 r1, u8 r2);
extern void sub_804151C(struct DungeonEntity *r0, u32 r1, u8 r2);
extern void sub_803E708(u32 r0, u32 r1);
extern void sub_80416A4(struct unkDungeon_8041D5C *r0, u32 r1, u32 r2);
extern void sub_80421C0(struct unkDungeon_8041D5C *r0, u16 r1);
extern void sub_80416A4(struct DungeonEntity *r0, u32 r1, u32 r2);
extern void sub_80421C0(struct DungeonEntity *r0, u16 r1);
void sub_80428A0(struct unkDungeon_8041D5C *r0)
void sub_80428A0(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x29, 1);
}
void sub_80428B0(struct unkDungeon_8041D5C *r0)
void sub_80428B0(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_80428C4(struct unkDungeon_8041D5C *r0)
void sub_80428C4(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_80428D8(struct unkDungeon_8041D5C *r0)
void sub_80428D8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_80428EC(struct unkDungeon_8041D5C *r0)
void sub_80428EC(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_8042900(struct unkDungeon_8041D5C *r0)
void sub_8042900(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD4 << 1, 0);
}
void sub_8042910(struct unkDungeon_8041D5C *r0)
void sub_8042910(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x29, 0);
}
void sub_8042920(struct unkDungeon_8041D5C *r0)
void sub_8042920(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x48, 0);
}
void sub_8042930(struct unkDungeon_8041D5C *r0)
void sub_8042930(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD3 << 1, 1);
}
void sub_8042940(struct unkDungeon_8041D5C *r0)
void sub_8042940(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xC7 << 1, 0);
}
void sub_8042950(struct unkDungeon_8041D5C *r0)
void sub_8042950(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD8 << 1, 1);
sub_803E708(0xA, 0x42);
}
void sub_8042968(struct unkDungeon_8041D5C *r0)
void sub_8042968(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xD4 << 1, 0);
}
void sub_8042978(struct unkDungeon_8041D5C *r0)
void sub_8042978(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_804298C(struct unkDungeon_8041D5C *r0)
void sub_804298C(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1a9, 0);
}
void sub_80429A0(struct unkDungeon_8041D5C *r0)
void sub_80429A0(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x199, 0);
}
void sub_80429B4(struct unkDungeon_8041D5C *r0)
void sub_80429B4(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x1ab, 0);
}
void sub_80429C8(struct unkDungeon_8041D5C *r0)
void sub_80429C8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x4, 1);
}
void sub_80429D8(struct unkDungeon_8041D5C *r0)
void sub_80429D8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x8F << 1, 1);
}
void sub_80429E8(struct unkDungeon_8041D5C *r0)
void sub_80429E8(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x11d, 1);
}
void sub_80429FC(struct unkDungeon_8041D5C *r0)
void sub_80429FC(struct DungeonEntity *r0)
{
sub_80416A4(r0, 0xCF << 1, 1);
sub_80421C0(NULL, 0xD4);
}
void sub_8042A14(struct unkDungeon_8041D5C *r0)
void sub_8042A14(struct DungeonEntity *r0)
{
sub_80416A4(r0, 0x36, 1);
}
void sub_8042A24(struct unkDungeon_8041D5C *r0)
void sub_8042A24(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x15, 1);
}
void sub_8042A34(struct unkDungeon_8041D5C *r0)
void sub_8042A34(struct DungeonEntity *r0)
{
sub_80416A4(r0, 0x9F << 1, 0);
}
void sub_8042A44(struct unkDungeon_8041D5C *r0)
void sub_8042A44(struct DungeonEntity *r0)
{
sub_804151C(r0, 0xDA << 1, 1);
}
void sub_8042A54(struct unkDungeon_8041D5C *r0)
void sub_8042A54(struct DungeonEntity *r0)
{
sub_80416A4(r0, 0x37, 1);
}
void sub_8042A64(struct unkDungeon_8041D5C *r0)
void sub_8042A64(struct DungeonEntity *r0)
{
sub_80416A4(r0, 0x29, 1);
}
void sub_8042A74(struct unkDungeon_8041D5C *r0)
void sub_8042A74(struct DungeonEntity *r0)
{
sub_804151C(r0, 0x18, 1);
}

View File

@ -1,5 +1,5 @@
#include "global.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
extern u32 gUnknown_80F89F4;
extern u8 gAvailablePokemonNames[0x58];
@ -10,76 +10,76 @@ extern s16 gUnknown_80F4FBA;
extern s16 gUnknown_80F4FBC;
extern s16 gUnknown_80F4FBE;
extern void sub_807D148(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2, u32 r3);
extern void sub_8075FCC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_8077AE4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2);
extern void sub_8072008(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2, u8 r3, u32);
extern void sub_8076D10(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void LevelDownTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2);
extern void sub_807D148(struct DungeonEntity *r0, struct DungeonEntity *r1, u32 r2, u32 r3);
extern void sub_8075FCC(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void sub_8077AE4(struct DungeonEntity *r0, struct DungeonEntity *r1, u32 r2);
extern void sub_8072008(struct DungeonEntity *r0, struct DungeonEntity *r1, u32 r2, u8 r3, u32);
extern void sub_8076D10(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void LevelDownTarget(struct DungeonEntity *r0, struct DungeonEntity *r1, u32 r2);
extern void sub_8045B94(u8 *r0, struct unkDungeon_8041D5C *r1, u32);
extern void sub_807A290(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_80522F4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32);
extern void RestoreVisionTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_8077910(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32);
extern void sub_80791D8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void BlindTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void HealTargetHP(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, s16, s16, u32);
extern void sub_80792F8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32);
extern void sub_8079F20(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u8);
extern void sub_806F370(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u32, u32, u32, u32, u32, u32);
extern void sub_8045B94(u8 *r0, struct DungeonEntity *r1, u32);
extern void sub_807A290(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void sub_80522F4(struct DungeonEntity *r0, struct DungeonEntity *r1, u32);
extern void RestoreVisionTarget(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void sub_8077910(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32);
extern void sub_80791D8(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void BlindTarget(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void HealTargetHP(struct DungeonEntity *r0, struct DungeonEntity *r1, s16, s16, u32);
extern void sub_80792F8(struct DungeonEntity *r0, struct DungeonEntity *r1, u32);
extern void sub_8079F20(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u8);
extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u32, u32, u32, u32, u32, u32);
void sub_8048340(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2)
void sub_8048340(struct DungeonEntity *r0, struct DungeonEntity *r1, u32 r2)
{
sub_806F370(r0, r1, r2, 1, 0, 0, 528, 0, 0, 0);
}
void sub_8048364(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u8 r2)
void sub_8048364(struct DungeonEntity *r0, struct DungeonEntity *r1, u8 r2)
{
sub_8079F20(r0, r1, 1, r2);
}
void sub_8048374(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048374(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
HealTargetHP(r0, r1, gUnknown_80F4FB6, gUnknown_80F4FB8, 1);
}
void sub_804839C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_804839C(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
HealTargetHP(r0, r1, gUnknown_80F4FBA, gUnknown_80F4FBC, 1);
}
void sub_80483C4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80483C4(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_80792F8(r0, r1, 999);
}
void sub_80483D4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80483D4(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
HealTargetHP(r0, r1, 0, gUnknown_80F4FBE, 1);
}
void sub_80483F4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80483F4(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
BlindTarget(r0, r1);
}
void sub_8048400(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048400(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_80791D8(r0, r1);
}
void sub_804840C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_804840C(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8077910(r0, r1, 0, 1);
}
void sub_804841C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_804841C(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
RestoreVisionTarget(r0, r1);
}
void sub_8048428(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048428(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
if(r1->unk70->statusCondition == 4) // 4 - Paralyzed??
sub_807A290(r0, r1);
@ -88,7 +88,7 @@ void sub_8048428(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
sub_80522F4(r0, r1, gUnknown_80F89F4);
}
void sub_8048450(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048450(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
if((u8)(r1->unk70->statusCondition - 2) <= 1)
sub_807A290(r0, r1);
@ -97,43 +97,43 @@ void sub_8048450(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
sub_80522F4(r0, r1, gUnknown_80F89F4);
}
void sub_8048480(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048480(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_807D148(r0, r1, 0, 0);
}
void sub_8048490(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048490(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8075FCC(r0, r1);
}
void sub_804849C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_804849C(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8077AE4(r0, r1, 1);
}
void sub_80484A8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484A8(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8072008(r0, r1, 1, 1, 1);
}
void sub_80484BC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484BC(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8076D10(r0, r1);
}
void sub_80484C8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484C8(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
// Pointer to "But nothing happened!"
sub_80522F4(r0, r1, gUnknown_80F89F4);
}
void sub_80484DC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484DC(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
LevelDownTarget(r0, r1, 1);
}
void sub_80484E8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484E8(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
if(r1->unk70->statusCondition == 1) // 1 - Burn??
sub_807A290(r0, r1);

View File

@ -1,12 +1,12 @@
#include "global.h"
#include "gUnknown_203B418.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
#include "friend_area.h"
#include "constants/friend_area.h"
#include "pokemon.h"
extern struct unkDungeon_8041D5C *sub_8085480(void);
extern struct unkDungeon_8041D5C *sub_8085680(u32);
extern struct DungeonEntity *sub_8085480(void);
extern struct DungeonEntity *sub_8085680(u32);
extern char gUnknown_202E038[0x50];
extern struct unkStruct_203B418 *gUnknown_203B418;
extern u32 gUnknown_202EDC8;
@ -65,12 +65,12 @@ extern u8 sub_800E9A8(u32);
extern void sub_800DC14(u32);
extern void sub_808BAA4();
extern void sub_8086A3C(struct unkDungeon_8041D5C *r0);
extern void sub_8086A3C(struct DungeonEntity *r0);
extern void sub_8083E88(u32);
extern void sub_80854D4(void);
extern void sub_80855E4(void *);
extern void sub_8085930(u32);
extern void sub_8068FE0(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_8068FE0(struct DungeonEntity *, u32, u32);
extern void sub_8085860(s16 r0, u32 r1);
extern void sub_80866C4(u32 *);
extern void sub_8083EA8(u32, u32);
@ -80,33 +80,33 @@ extern void sub_80866C4(u32 *r0);
extern void sub_803E708(u32, u32);
extern void sub_8086448(void);
extern void sub_8086598(void);
extern void SpriteLookAroundEffect(struct unkDungeon_8041D5C *);
extern void sub_80862BC(struct unkDungeon_8041D5C *);
extern void SpriteLookAroundEffect(struct DungeonEntity *);
extern void sub_80862BC(struct DungeonEntity *);
extern void PlaySoundEffect(u32);
extern void sub_806CDD4(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_80869E4(struct unkDungeon_8041D5C *, u32, u32, u32);
extern void sub_806CE68(struct unkDungeon_8041D5C *, u32);
extern void sub_804539C(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_806CDD4(struct DungeonEntity *, u32, u32);
extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32);
extern void sub_806CE68(struct DungeonEntity *, u32);
extern void sub_804539C(struct DungeonEntity *, u32, u32);
extern void sub_803E46C(u32);
extern void sub_8042B0C(struct unkDungeon_8041D5C *);
extern void sub_8085918(struct unkDungeon_8041D5C *, u32);
extern void sub_806CE68(struct unkDungeon_8041D5C *r0, u32);
extern void sub_8042B0C(struct DungeonEntity *);
extern void sub_8085918(struct DungeonEntity *, u32);
extern void sub_806CE68(struct DungeonEntity *r0, u32);
extern void sub_8052910(u32 *);
extern void sub_803E708(u32, u32);
extern u8 sub_80450E0(struct unkDungeon_8041D5C *);
extern u8 sub_80450E0(struct DungeonEntity *);
extern u8 HasRecruitedMon(u32);
extern u8 sub_806FD18(struct unkDungeon_8041D5C *);
extern u8 sub_806FD18(struct DungeonEntity *);
extern u8 sub_8083E74(u32);
extern s32 sub_8052C68(u32 *, u32 *, u32 *, u32);
extern void sub_8083F14();
extern void sub_80861D4(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_806FDF4(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C **);
extern u32 sub_80861F8(u32, struct unkDungeon_8041D5C *, u32);
extern void sub_80861D4(struct DungeonEntity *, u32, u32);
extern void sub_806FDF4(struct DungeonEntity *, struct DungeonEntity *, struct DungeonEntity **);
extern u32 sub_80861F8(u32, struct DungeonEntity *, u32);
extern void sub_8083ED8(u32);
extern u32 sub_803F994();
extern s32 sub_803F9B0();
extern void sub_803F878(u32, s32);
extern void sub_8086A70(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_8086A70(struct DungeonEntity *, u32, u32);
extern void sub_8085C54(u32, u32, u32, u32, u32);
extern void sub_803E9D0(void);
extern void DeoxysScreenFlash(void);
@ -114,19 +114,19 @@ extern void sub_8085EB0();
extern void sub_808563C(void *);
extern void sub_80858AC(u32 *, u32);
void sub_808C5AC(struct unkDungeon_8041D5C *r0);
void sub_808C5AC(struct DungeonEntity *r0);
void sub_808C550(void);
void sub_808C590(struct unkDungeon_8041D5C *r0);
void sub_808C5A0(struct unkDungeon_8041D5C *r0);
void sub_808C590(struct DungeonEntity *r0);
void sub_808C5A0(struct DungeonEntity *r0);
void sub_808C9B0();
void sub_808C8E0(struct unkDungeon_8041D5C *param_1);
void sub_808C8E0(struct DungeonEntity *param_1);
void sub_808C360(void);
void KyogreScreenFlash();
void sub_808C0CC();
void sub_808BFA0();
void sub_808C02C();
extern void sub_80861B8(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_80861B8(struct DungeonEntity *, u32, u32);
void nullsub_99();
extern u32 sub_8084100(s32);
@ -136,7 +136,7 @@ extern void sub_8049884();
extern void sub_8049B8C();
extern void sub_8049ED4();
extern void sub_8040A84();
extern void sub_8086A54(struct unkDungeon_8041D5C *);
extern void sub_8086A54(struct DungeonEntity *);
struct unk8049590
{
@ -150,16 +150,16 @@ struct unk8049590
extern struct unk8049590 *sub_8049590(u32, u32);
extern void sub_806BFC0(struct subStruct_8048524 *, u32);
void sub_808BBA8(struct unkDungeon_8041D5C *param_1)
void sub_808BBA8(struct DungeonEntity *param_1)
{
sub_806BFC0(param_1->unk70,0);
}
void sub_808BBB8(struct unkDungeon_8041D5C *param_1)
void sub_808BBB8(struct DungeonEntity *param_1)
{
s32 iVar1;
s32 iVar2;
sub_80861F8(0x1b,param_1,0);
sub_8086A54(param_1);
sub_80861B8(param_1,0xe,0);
@ -178,10 +178,10 @@ void sub_808BBB8(struct unkDungeon_8041D5C *param_1)
param_1->unk70->unk174 = 0;
}
void sub_808BC20(struct unkDungeon_8041D5C * param_1)
void sub_808BC20(struct DungeonEntity * param_1)
{
s32 uVar1;
PlaySoundEffect(0x298);
for(uVar1 = 0; uVar1 < 0x19; uVar1++){
sub_8085918(param_1,uVar1 & 7);
@ -192,10 +192,10 @@ void sub_808BC20(struct unkDungeon_8041D5C * param_1)
sub_80861F8(99,param_1,1);
}
void JirachiWishGrantDialogue(struct unkDungeon_8041D5C *param_1)
void JirachiWishGrantDialogue(struct DungeonEntity *param_1)
{
u32 uVar2;
param_1->unk70->unk15D = 1;
// Nnnnnnnnnn!
sub_8052910(&gUnknown_81058A8);
@ -277,8 +277,8 @@ u8 JirachiFriendAreaSearch(void)
void sub_808BDEC(void)
{
struct unkDungeon_8041D5C * iVar2;
struct unkDungeon_8041D5C * uVar3;
struct DungeonEntity * iVar2;
struct DungeonEntity * uVar3;
iVar2 = sub_8085480();
uVar3 = sub_8085680(0x1b);
@ -308,8 +308,8 @@ void sub_808BE70(u8 param_1,u8 param_2)
void LugiaPreFightDialogue(void)
{
struct unkDungeon_8041D5C * iVar2;
struct unkDungeon_8041D5C * uVar3;
struct DungeonEntity * iVar2;
struct DungeonEntity * uVar3;
iVar2 = sub_8085480();
uVar3 = sub_8085680(0x1b);
@ -343,7 +343,7 @@ void LugiaPreFightDialogue(void)
sub_808BFA0();
sub_8086A70(uVar3,800,0x20);
sub_8083E88(0x23);
sub_80858AC(&iVar2->unkC,0x10);
sub_80858AC(&iVar2->posPixelX,0x10);
}
}
@ -414,8 +414,8 @@ void sub_808C0CC(void)
void sub_808C10C(void)
{
struct unkDungeon_8041D5C * iVar1;
struct unkDungeon_8041D5C * uVar2;
struct DungeonEntity * iVar1;
struct DungeonEntity * uVar2;
u32 uVar3;
s32 iVar2;
@ -451,8 +451,8 @@ void sub_808C1A4(u8 param_1,u8 param_2)
void KyogrePreFightDialogue(void)
{
struct unkDungeon_8041D5C *iVar2;
struct unkDungeon_8041D5C *uVar3;
struct DungeonEntity *iVar2;
struct DungeonEntity *uVar3;
iVar2 = sub_8085480();
uVar3 = sub_8085680(0x1c);
@ -493,7 +493,7 @@ void KyogrePreFightDialogue(void)
sub_803E708(10,0x46);
sub_8086A70(uVar3,600,0xb);
sub_8083E88(0x23);
sub_80858AC(&iVar2->unkC,0x10);
sub_80858AC(&iVar2->posPixelX,0x10);
}
}
@ -536,7 +536,7 @@ void sub_808C360(void)
void sub_808C3A0(void)
{
struct unkDungeon_8041D5C * iVar2;
struct DungeonEntity * iVar2;
iVar2 = sub_8085480();
sub_8083F14();
@ -564,8 +564,8 @@ void sub_808C414(u8 param_1,u8 param_2)
void DeoxysPreFightDialogue(void)
{
struct unkDungeon_8041D5C * iVar2;
struct DungeonEntity * iVar2;
iVar2 = sub_8085480();
sub_8086448();
if (HasRecruitedMon(SPECIES_DEOXYS_NORMAL)) {
@ -584,14 +584,14 @@ void DeoxysPreFightDialogue(void)
sub_8052910(&gUnknown_8106390);
sub_803E708(10,0x46);
sub_808563C(sub_808C5AC);
sub_80858AC(&iVar2->unkC,0x10);
sub_80858AC(&iVar2->posPixelX,0x10);
}
}
void DeoxysScreenFlash(void)
{
s32 iVar1;
PlaySoundEffect(0x2c1);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10){
sub_8085C54(iVar1,0,0,1,1);
@ -621,25 +621,25 @@ void sub_808C550(void)
DeoxysScreenFlash();
}
void sub_808C590(struct unkDungeon_8041D5C *r0)
void sub_808C590(struct DungeonEntity *r0)
{
sub_8068FE0(r0, 0x21C, 0);
}
void sub_808C5A0(struct unkDungeon_8041D5C *r0)
void sub_808C5A0(struct DungeonEntity *r0)
{
sub_8085918(r0, 0);
}
void sub_808C5AC(struct unkDungeon_8041D5C *r0)
void sub_808C5AC(struct DungeonEntity *r0)
{
sub_8086A70(r0, 0x3b6, 0x20);
}
void sub_808C5C0(void)
{
struct unkDungeon_8041D5C * iVar1;
struct unkDungeon_8041D5C * uVar2;
struct DungeonEntity * iVar1;
struct DungeonEntity * uVar2;
u32 uVar3;
s32 iVar2;
@ -665,14 +665,14 @@ void nullsub_100(void)
#ifdef NONMATCHING
void CelebiJoinDialogue(void)
{
struct unkDungeon_8041D5C *uVar2;
struct DungeonEntity *uVar2;
s32 state;
s32 menuChoice;
struct unkDungeon_8041D5C *local_1c;
struct DungeonEntity *local_1c;
uVar2 = sub_8085480();
local_1c = sub_8085680(0x1e);
if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(local_1c) == '\0'))
if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(local_1c) == '\0'))
{
sub_8068FE0(local_1c,0x21c,0);
SpriteLookAroundEffect(uVar2);
@ -680,7 +680,7 @@ void CelebiJoinDialogue(void)
// .........
sub_8052910(&gUnknown_810663C);
}
else
else
{
SpriteLookAroundEffect(uVar2);
sub_803E708(10,0x46);
@ -715,7 +715,7 @@ void CelebiJoinDialogue(void)
&gPurityForestAllowCelebiToJoinPrompt,0x701);
} while (menuChoice < 1);
sub_803E708(10,0x46);
if (menuChoice == 1)
if (menuChoice == 1)
{
sub_8083F14();
PlaySoundEffect(0xcc);
@ -1069,7 +1069,7 @@ void CelebiJoinDialogue(void)
}
#endif
void sub_808C8E0(struct unkDungeon_8041D5C *param_1)
void sub_808C8E0(struct DungeonEntity *param_1)
{
s32 iVar1;
@ -1091,11 +1091,11 @@ void sub_808C938(void)
sub_80855E4(sub_808C9B0);
}
void sub_808C948(struct unkDungeon_8041D5C *param_1, u8 param_2)
void sub_808C948(struct DungeonEntity *param_1, u8 param_2)
{
bool8 flag;
s32 iVar3;
struct unkDungeon_8041D5C *iVar2;
struct DungeonEntity *iVar2;
if (param_2 == 0x37) {
flag = FALSE;
@ -1120,7 +1120,7 @@ void sub_808C998(void)
sub_803E708(0xA, 0x46);
}
void sub_808C9B0(struct unkDungeon_8041D5C *param_1)
void sub_808C9B0(struct DungeonEntity *param_1)
{
param_1->unk70->unk46 = 4;
sub_806CE68(param_1, 4);
@ -1128,8 +1128,8 @@ void sub_808C9B0(struct unkDungeon_8041D5C *param_1)
void sub_808C9C4(void)
{
struct unkDungeon_8041D5C *temp;
struct unkDungeon_8041D5C *temp_2;
struct DungeonEntity *temp;
struct DungeonEntity *temp_2;
temp = sub_8085480();
temp_2 = sub_8085680(7);
@ -1145,7 +1145,7 @@ void sub_808C9C4(void)
// Medicham Rescue Dialogue?
void MedichamRescueDialogue(void)
{
struct unkDungeon_8041D5C *temp;
struct DungeonEntity *temp;
s32 counter;
temp = sub_8085680(7);
@ -1197,8 +1197,8 @@ void MedichamRescueDialogue(void)
void sub_808CB5C(void)
{
struct unkDungeon_8041D5C *temp;
struct unkDungeon_8041D5C *temp_2;
struct DungeonEntity *temp;
struct DungeonEntity *temp_2;
temp = sub_8085480();
temp_2 = sub_8085680(7);
@ -1216,8 +1216,8 @@ void DummyFightDialogue(void)
void sub_808CBB0(void)
{
struct unkDungeon_8041D5C *temp;
struct unkDungeon_8041D5C *temp_2;
struct DungeonEntity *temp;
struct DungeonEntity *temp_2;
temp = sub_8085480();
temp_2 = sub_8085680(0x1F);
@ -1233,7 +1233,7 @@ void sub_808CBB0(void)
// Smeargle Rescue dialogue scene
void SmeargleRescueDialogue(void)
{
struct unkDungeon_8041D5C *temp;
struct DungeonEntity *temp;
s32 counter;
temp = sub_8085680(0x1F);
@ -1288,8 +1288,8 @@ void SmeargleRescueDialogue(void)
void sub_808CD44(void)
{
struct unkDungeon_8041D5C *temp;
struct unkDungeon_8041D5C *temp_2;
struct DungeonEntity *temp;
struct DungeonEntity *temp_2;
temp = sub_8085480();
temp_2 = sub_8085680(0x1F);

View File

@ -1,6 +1,6 @@
#include "global.h"
#include "gUnknown_203B418.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
extern struct unkStruct_203B418 *gUnknown_203B418;
@ -13,19 +13,19 @@ extern u32 gUnknown_8106A4C;
extern s16 gUnknown_80F4DB6;
extern u32 gUnknown_80FAC88;
extern void sub_80775DC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32);
extern void sub_80772C0(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u32);
extern void sub_80775DC(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32);
extern void sub_80772C0(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u32);
extern u8 sub_807EAA0(u32, u32);
extern void sub_80522F4(struct unkDungeon_8041D5C *r1, struct unkDungeon_8041D5C *r2, u32);
extern void sub_8079F20(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32);
extern void sub_80522F4(struct DungeonEntity *r1, struct DungeonEntity *r2, u32);
extern void sub_8079F20(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32);
extern u8 sub_805727C(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, s16);
extern u32 sub_8055640(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, u32, u32, u32);
extern void sub_80779F0(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, u32, u32);
extern void sub_8078968(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_8079618(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u32);
extern u8 sub_805727C(struct DungeonEntity *, struct DungeonEntity *, s16);
extern u32 sub_8055640(struct DungeonEntity *, struct DungeonEntity *, u32, u32, u32);
extern void sub_80779F0(struct DungeonEntity *, struct DungeonEntity *, u32, u32);
extern void sub_8078968(struct DungeonEntity *r0, struct DungeonEntity *r1);
extern void sub_8079618(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u32);
extern void sub_806F370(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
@ -33,21 +33,21 @@ extern u32 gUnknown_80FD018;
extern s16 sub_8057600(void*, u32);
extern u32 sub_8092B00(void*);
bool32 sub_8057824(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
bool32 sub_8057824(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
// Lower evasion?
sub_80775DC(param_1,param_2,gUnknown_8106A50,1);
return TRUE;
}
bool32 sub_805783C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
bool32 sub_805783C(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
// Lower attack?
sub_80772C0(param_1,param_2,gUnknown_8106A4C,0x80,1);
return TRUE;
}
bool32 sub_805785C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
bool32 sub_805785C(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
gUnknown_203B418->unkE26B = gUnknown_80F4F42;
if (sub_807EAA0(1,0) == '\0') {
@ -57,7 +57,7 @@ bool32 sub_805785C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C
return TRUE;
}
bool32 sub_80578A4(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
bool32 sub_80578A4(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
gUnknown_203B418->unkE26C = gUnknown_80F4F42;
if (sub_807EAA0(1,0) == '\0') {
@ -67,13 +67,13 @@ bool32 sub_80578A4(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C
return TRUE;
}
bool32 sub_80578EC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
bool32 sub_80578EC(struct DungeonEntity *r0, struct DungeonEntity *r1)
{
sub_8079F20(r0, r1, 1, 0);
return TRUE;
}
bool32 sub_80578FC(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3, u32 param_4)
bool32 sub_80578FC(struct DungeonEntity *param_1, struct DungeonEntity *param_2, u32 param_3, u32 param_4)
{
bool32 uVar3;
@ -87,20 +87,20 @@ bool32 sub_80578FC(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C
return uVar3;
}
bool32 sub_8057948(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
bool32 sub_8057948(struct DungeonEntity *param_1, struct DungeonEntity *param_2)
{
sub_8078968(param_1, param_2);
return TRUE;
}
bool32 sub_8057954(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3)
bool32 sub_8057954(struct DungeonEntity *param_1, struct DungeonEntity *param_2, u32 param_3)
{
// $m0 is enraged
sub_8079618(param_1,param_2,0xc,param_3,gUnknown_80FAC88);
return TRUE;
}
bool32 sub_8057974(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, void* param_3, u32 param_4)
bool32 sub_8057974(struct DungeonEntity *param_1, struct DungeonEntity *param_2, void* param_3, u32 param_4)
{
s32 newHP;
u8 local_24;

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#include "global.h"
#include "code_8041D5C.h"
#include "dungeon_entity.h"
#include "gUnknown_203B418.h"
#include "random.h"
@ -18,14 +18,14 @@ extern struct unkStruct_203B418 *gUnknown_203B418;
s8 sub_8002984(s8, u8);
void sub_803E708(u32, u32);
void sub_80869E4(struct unkDungeon_8041D5C *r0, u32, u8, s8);
void sub_80869E4(struct DungeonEntity *r0, u32, u8, s8);
extern void sub_80859F0(u32);
extern void sub_803E46C(u32);
extern void sub_803E9D0(void);
extern void sub_8085C54(u32, u32, u32, u32, u32);
extern void PlaySoundEffect(u32);
extern struct unkDungeon_8041D5C *sub_8085480(void);
void SpriteLookAroundEffect(struct unkDungeon_8041D5C *r0);
extern struct DungeonEntity *sub_8085480(void);
void SpriteLookAroundEffect(struct DungeonEntity *r0);
extern void sub_8052910(u32);
void sub_8086494();
@ -39,109 +39,109 @@ extern void sub_80855E4(void *);
extern u32 sub_803F994(void);
extern u32 sub_803F9B0(void);
extern void sub_803F878(u32, u32);
extern void sub_8086384(struct unkDungeon_8041D5C *r0);
extern void sub_8086384(struct DungeonEntity *r0);
extern void sub_8085930(u32);
extern void sub_804539C(struct unkDungeon_8041D5C *, u32, u32);
extern void sub_806CE68(struct unkDungeon_8041D5C *, u32);
extern void sub_806CDD4(struct unkDungeon_8041D5C *, u8, u32);
extern void sub_804535C(struct unkDungeon_8041D5C *, u32 *);
extern void sub_8086A54(struct unkDungeon_8041D5C *);
extern void sub_8086A3C(struct unkDungeon_8041D5C *);
extern void sub_804539C(struct DungeonEntity *, u32, u32);
extern void sub_806CE68(struct DungeonEntity *, u32);
extern void sub_806CDD4(struct DungeonEntity *, u8, u32);
extern void sub_804535C(struct DungeonEntity *, u32 *);
extern void sub_8086A54(struct DungeonEntity *);
extern void sub_8086A3C(struct DungeonEntity *);
extern void PlaySoundEffect(u32);
extern void sub_80861F8(u32, struct unkDungeon_8041D5C *, u32);
extern void sub_80861F8(u32, struct DungeonEntity *, u32);
void sub_80862BC(struct unkDungeon_8041D5C *r0)
void sub_80862BC(struct DungeonEntity *r0)
{
PlaySoundEffect(0xE8 << 1);
sub_80861F8(0x143, r0, 0);
}
void sub_80862DC(struct unkDungeon_8041D5C *r0)
void sub_80862DC(struct DungeonEntity *r0)
{
u32 array[2];
array[0] = r0->unkC;
array[1] = r0->unk10 + (0xE0 << 6);
array[0] = r0->posPixelX;
array[1] = r0->posPixelY + (0xE0 << 6);
sub_804535C(r0, array);
sub_806CDD4(r0, 0, 4);
sub_8086A54(r0);
}
void sub_8086310(struct unkDungeon_8041D5C *r0)
void sub_8086310(struct DungeonEntity *r0)
{
u32 array[2];
array[0] = r0->unkC;
array[1] = r0->unk10 + (0x90 << 8);
array[0] = r0->posPixelX;
array[1] = r0->posPixelY + (0x90 << 8);
sub_804535C(r0, array);
sub_806CE68(r0, 0);
sub_8086A3C(r0);
r0->unk20 = 0;
r0->active = 0;
}
void sub_8086348(struct unkDungeon_8041D5C *r0)
void sub_8086348(struct DungeonEntity *r0)
{
u32 array[2];
array[0] = r0->unkC + (0xF0 << 7);
array[1] = r0->unk10 + 0xffffe000;
array[0] = r0->posPixelX + (0xF0 << 7);
array[1] = r0->posPixelY + 0xffffe000;
sub_804535C(r0, array);
sub_806CDD4(r0, 0, 6);
sub_8086A54(r0);
}
void sub_8086384(struct unkDungeon_8041D5C *r0)
void sub_8086384(struct DungeonEntity *r0)
{
u32 array[2];
array[0] = r0->unkC + (0xF0 << 7);
array[1] = r0->unk10;
array[0] = r0->posPixelX + (0xF0 << 7);
array[1] = r0->posPixelY;
sub_804535C(r0, array);
sub_806CDD4(r0, 0, 6);
sub_8086A54(r0);
}
void sub_80863B8(struct unkDungeon_8041D5C *r0)
void sub_80863B8(struct DungeonEntity *r0)
{
sub_806CDD4(r0, 0, 4);
}
void sub_80863C8(struct unkDungeon_8041D5C *r0)
void sub_80863C8(struct DungeonEntity *r0)
{
sub_806CDD4(r0, 0, 0);
}
void sub_80863D8(struct unkDungeon_8041D5C *r0)
void sub_80863D8(struct DungeonEntity *r0)
{
sub_806CDD4(r0, 0, 6);
}
void sub_80863E8(struct unkDungeon_8041D5C *r0)
void sub_80863E8(struct DungeonEntity *r0)
{
sub_806CDD4(r0, 6, 4);
}
void sub_80863F8(struct unkDungeon_8041D5C *r0)
void sub_80863F8(struct DungeonEntity *r0)
{
sub_806CE68(r0, 4);
}
void sub_8086404(struct unkDungeon_8041D5C *r0)
void sub_8086404(struct DungeonEntity *r0)
{
sub_806CE68(r0, 6);
}
void sub_8086410(struct unkDungeon_8041D5C *r0)
void sub_8086410(struct DungeonEntity *r0)
{
sub_804539C(r0, 0, 0xffffff00);
}
void sub_8086424(struct unkDungeon_8041D5C *r0)
void sub_8086424(struct DungeonEntity *r0)
{
sub_804539C(r0, 0, 0x80 << 1);
}
void sub_8086434(struct unkDungeon_8041D5C *r0)
void sub_8086434(struct DungeonEntity *r0)
{
sub_804539C(r0, 0xffffff00, 0);
}
@ -446,13 +446,13 @@ void sub_8086854(void)
}
}
void sub_80868F4(struct unkDungeon_8041D5C *r0)
void sub_80868F4(struct DungeonEntity *r0)
{
r0->unk70->unk15C = 1;
r0->unk70->unk15D = 1;
}
void sub_8086910(struct unkDungeon_8041D5C *r0)
void sub_8086910(struct DungeonEntity *r0)
{
r0->unk70->unk15C = 0;
r0->unk70->unk15D = 0;
@ -473,7 +473,7 @@ void sub_808692C(void)
sub_803E708(0x4, 0x46);
}
void SpriteLookAroundEffect(struct unkDungeon_8041D5C *r0)
void SpriteLookAroundEffect(struct DungeonEntity *r0)
{
s8 r4;
s8 r3;