summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event_flag.c7
-rw-r--r--src/pokemon.c3
-rw-r--r--src/pokemon_1.c31
3 files changed, 38 insertions, 3 deletions
diff --git a/src/event_flag.c b/src/event_flag.c
index 1a4afc1..501b1af 100644
--- a/src/event_flag.c
+++ b/src/event_flag.c
@@ -13,7 +13,9 @@ struct UnkEventStruct
struct UnkEventStruct2
{
/* 0x0 */ u32 unk0;
- /* 0x4 */ u32 unk4;
+ /* 0x4 */ u32 *unk4;
+ /* 0x8 */ u16 unk8;
+ /* 0xA */ s16 unkA;
};
extern void sub_800226C(u8 r0, u8 r1, u32* r2, u8 u3);
@@ -22,6 +24,7 @@ extern void sub_800160C(struct UnkEventStruct2 *r0, u32 r1, u32 r2);
extern u8 gUnknown_2000A88;
+// TODO fix stack allocation from 0xC to 0x8 to make this match
//u8 sub_8002718(struct UnkEventStruct *r0)
//{
// struct UnkEventStruct2 temp;
@@ -29,7 +32,7 @@ extern u8 gUnknown_2000A88;
// MemoryCopy8(&gUnknown_2000A88, (u8 *)r0, (0x80 << 3));
//
// // TODO fix this comparison to make it match
-// if(r0->unkA != temp.unk4)
+// if(temp.unkA != *(temp.unk4))
// return 0;
// return 1;
//}
diff --git a/src/pokemon.c b/src/pokemon.c
index ae2b801..55316d6 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -14,7 +14,8 @@ void LoadMonsterParameters(void)
{
gUnknown_203B45C = &gUnknown_202F400;
gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gUnknown_8300500);
- gMonsterParameters.unk0 = gMonsterParametersFile->data;
+ // TODO verify this... other parts imply this is an array
+ gMonsterParameters.species = gMonsterParametersFile->data;
gUnknown_20384E8 = 0;
}
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
new file mode 100644
index 0000000..6d4cf75
--- /dev/null
+++ b/src/pokemon_1.c
@@ -0,0 +1,31 @@
+#include "global.h"
+#include "pokemon.h"
+#include "file_system.h"
+
+extern int sprintf(char *, const char *, ...);
+
+extern struct gPokemon *gMonsterParameters;
+extern struct FileArchive gUnknown_8510000;
+extern const char gUnknown_8107684;
+
+//u8 sub_808DDD0(s16 r0)
+//{
+// // Looks like this loads the dialogue sprite for the pokemon
+//
+// // TODO stack is being added instead of being substracted
+// // Else this matches
+// char buffer[0xC];
+// if(gMonsterParameters[r0].dialogue_sprites != 0)
+// {
+// sprintf(buffer, &gUnknown_8107684);
+// OpenFileAndGetFileDataPtr(buffer, &gUnknown_8510000);
+// return;
+// }
+// return 0;
+//}
+
+bool8 sub_808DE10(s16 r0, s32 r1)
+{
+ // checking to see if dialogue sprite is available??
+ return (gMonsterParameters[r0].dialogue_sprites >> r1) & 1;
+}