mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 11:14:15 +01:00
begin event data
This commit is contained in:
parent
a47face8cf
commit
a4cc67008e
@ -70,7 +70,7 @@ sub_809E7E8: @ 809E7E8
|
||||
subs r4, r0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
bl sub_809D3A0
|
||||
bl ClearUpperFlags
|
||||
adds r0, r4, 0
|
||||
bl sub_8122580
|
||||
adds r0, r4, 0
|
||||
|
@ -10134,7 +10134,7 @@ _0811F0EC:
|
||||
thumb_func_start sub_811F0F8
|
||||
sub_811F0F8: @ 811F0F8
|
||||
push {lr}
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
@ -10447,7 +10447,7 @@ _0811F358:
|
||||
movs r1, 0x14
|
||||
strh r1, [r0]
|
||||
_0811F37A:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _0811F398
|
||||
ldr r0, =gUnknown_0203A120
|
||||
|
@ -5,36 +5,9 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_809D300
|
||||
sub_809D300: @ 809D300
|
||||
push {r4,lr}
|
||||
ldr r4, =gSaveBlock1Ptr
|
||||
ldr r0, [r4]
|
||||
ldr r1, =0x00001270
|
||||
adds r0, r1
|
||||
movs r2, 0x96
|
||||
lsls r2, 1
|
||||
movs r1, 0
|
||||
bl memset
|
||||
ldr r0, [r4]
|
||||
ldr r1, =0x0000139c
|
||||
adds r0, r1
|
||||
movs r2, 0x80
|
||||
lsls r2, 2
|
||||
movs r1, 0
|
||||
bl memset
|
||||
ldr r0, =gUnknown_020375FC
|
||||
movs r1, 0
|
||||
movs r2, 0x10
|
||||
bl memset
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D300
|
||||
|
||||
thumb_func_start sub_809D344
|
||||
sub_809D344: @ 809D344
|
||||
thumb_func_start ClearTempFieldEventData
|
||||
ClearTempFieldEventData: @ 809D344
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
@ -61,10 +34,10 @@ sub_809D344: @ 809D344
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D344
|
||||
thumb_func_end ClearTempFieldEventData
|
||||
|
||||
thumb_func_start sub_809D3A0
|
||||
sub_809D3A0: @ 809D3A0
|
||||
thumb_func_start ClearUpperFlags
|
||||
ClearUpperFlags: @ 809D3A0
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
@ -76,10 +49,10 @@ sub_809D3A0: @ 809D3A0
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D3A0
|
||||
thumb_func_end ClearUpperFlags
|
||||
|
||||
thumb_func_start sub_809D3C0
|
||||
sub_809D3C0: @ 809D3C0
|
||||
thumb_func_start DisableNationalPokedex
|
||||
DisableNationalPokedex: @ 809D3C0
|
||||
push {lr}
|
||||
ldr r0, =0x00004046
|
||||
bl GetVarPointer
|
||||
@ -93,10 +66,10 @@ sub_809D3C0: @ 809D3C0
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D3C0
|
||||
thumb_func_end DisableNationalPokedex
|
||||
|
||||
thumb_func_start sub_809D3E8
|
||||
sub_809D3E8: @ 809D3E8
|
||||
thumb_func_start EnableNationalPokedex
|
||||
EnableNationalPokedex: @ 809D3E8
|
||||
push {r4,r5,lr}
|
||||
ldr r0, =0x00004046
|
||||
bl GetVarPointer
|
||||
@ -120,10 +93,10 @@ sub_809D3E8: @ 809D3E8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D3E8
|
||||
thumb_func_end EnableNationalPokedex
|
||||
|
||||
thumb_func_start sub_809D42C
|
||||
sub_809D42C: @ 809D42C
|
||||
thumb_func_start IsNationalPokedexEnabled
|
||||
IsNationalPokedexEnabled: @ 809D42C
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
@ -149,30 +122,30 @@ _0809D468:
|
||||
_0809D46A:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_809D42C
|
||||
thumb_func_end IsNationalPokedexEnabled
|
||||
|
||||
thumb_func_start sub_809D470
|
||||
sub_809D470: @ 809D470
|
||||
thumb_func_start DisableMysteryGift
|
||||
DisableMysteryGift: @ 809D470
|
||||
push {lr}
|
||||
ldr r0, =0x000008ac
|
||||
bl FlagReset
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D470
|
||||
thumb_func_end DisableMysteryGift
|
||||
|
||||
thumb_func_start sub_809D480
|
||||
sub_809D480: @ 809D480
|
||||
thumb_func_start EnableMysteryGift
|
||||
EnableMysteryGift: @ 809D480
|
||||
push {lr}
|
||||
ldr r0, =0x000008ac
|
||||
bl FlagSet
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_809D480
|
||||
thumb_func_end EnableMysteryGift
|
||||
|
||||
thumb_func_start sub_809D490
|
||||
sub_809D490: @ 809D490
|
||||
thumb_func_start IsMysteryGiftEnabled
|
||||
IsMysteryGiftEnabled: @ 809D490
|
||||
push {lr}
|
||||
ldr r0, =0x000008ac
|
||||
bl FlagGet
|
||||
@ -181,7 +154,7 @@ sub_809D490: @ 809D490
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_809D490
|
||||
thumb_func_end IsMysteryGiftEnabled
|
||||
|
||||
thumb_func_start sub_809D4A4
|
||||
sub_809D4A4: @ 809D4A4
|
||||
|
@ -307,7 +307,7 @@ sub_8009638: @ 8009638
|
||||
movs r0, 0x80
|
||||
lsls r0, 8
|
||||
strh r0, [r5, 0x2]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
strb r0, [r5, 0x10]
|
||||
ldr r0, =0x0000087f
|
||||
bl FlagGet
|
||||
@ -9240,7 +9240,7 @@ _0800DDC8:
|
||||
ands r4, r1
|
||||
orrs r4, r0
|
||||
strb r4, [r7]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
ands r0, r6
|
||||
ldrb r1, [r7, 0x1]
|
||||
ands r5, r1
|
||||
@ -39455,7 +39455,7 @@ sub_801DC20: @ 801DC20
|
||||
ldr r6, =gUnknown_020375F0
|
||||
bl sub_801B044
|
||||
adds r4, r0, 0
|
||||
bl sub_809D490
|
||||
bl IsMysteryGiftEnabled
|
||||
cmp r0, 0
|
||||
beq _0801DC3A
|
||||
bl sub_801B0CC
|
||||
|
@ -4650,7 +4650,7 @@ fmt_pokedex: @ 8031F7C
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08031FFE
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _08031FA4
|
||||
movs r0, 0x1
|
||||
|
@ -582,7 +582,7 @@ sub_8153BE4: @ 8153BE4
|
||||
sub_8153C4C: @ 8153C4C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_809D3E8
|
||||
bl EnableNationalPokedex
|
||||
ldr r0, =gStringVar4
|
||||
ldr r1, =gUnknown_08674B9E
|
||||
bl StringExpandPlaceholders
|
||||
|
@ -280,7 +280,7 @@ _080844B2:
|
||||
bl set_player_trainer_id
|
||||
bl PlayTimeCounter_Reset
|
||||
bl sub_8084390
|
||||
bl sub_809D300
|
||||
bl InitEventData
|
||||
bl sub_80EBEE0
|
||||
bl GabbyAndTyNewGameInitData
|
||||
bl sub_80E8B28
|
||||
|
@ -30,7 +30,7 @@ sub_80BB2D0: @ 80BB2D0
|
||||
str r1, [r0, 0x1C]
|
||||
str r1, [r0, 0x20]
|
||||
str r1, [r0, 0x24]
|
||||
bl sub_809D3C0
|
||||
bl DisableNationalPokedex
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
ldr r3, =gSaveBlock1Ptr
|
||||
@ -409,7 +409,7 @@ _080BB628:
|
||||
ldr r3, =0x00000612
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080BB65E
|
||||
@ -439,7 +439,7 @@ _080BB65E:
|
||||
adds r0, r3
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080BB6D0
|
||||
movs r0, 0
|
||||
@ -1181,7 +1181,7 @@ _080BBD7C:
|
||||
adds r3, 0x4
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080BBDB6
|
||||
@ -1227,7 +1227,7 @@ sub_80BBDE8: @ 80BBDE8
|
||||
adds r1, r2
|
||||
ldrh r1, [r1]
|
||||
strb r1, [r0, 0x19]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080BBE18
|
||||
@ -1875,7 +1875,7 @@ sub_80BC3DC: @ 80BC3DC
|
||||
adds r3, 0x4
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080BC42A
|
||||
@ -1940,7 +1940,7 @@ sub_80BC47C: @ 80BC47C
|
||||
adds r3, 0x4
|
||||
adds r1, r3
|
||||
strh r0, [r1]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080BC4CA
|
||||
@ -2295,7 +2295,7 @@ sub_80BC844: @ 80BC844
|
||||
b _080BC862
|
||||
.pool
|
||||
_080BC858:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080BC870
|
||||
ldr r0, =gUnknown_08DC16F6
|
||||
@ -2383,7 +2383,7 @@ _080BC8FC:
|
||||
b _080BC92C
|
||||
.pool
|
||||
_080BC910:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _080BC924
|
||||
mov r0, sp
|
||||
@ -4743,7 +4743,7 @@ sub_80BDB7C: @ 80BDB7C
|
||||
beq _080BDCCC
|
||||
b _080BE414
|
||||
_080BDCCC:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _080BDCD6
|
||||
b _080BDF4C
|
||||
@ -8589,7 +8589,7 @@ _080BFF78:
|
||||
adds r0, r2
|
||||
b _080C0038
|
||||
_080BFF82:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x1
|
||||
@ -11142,7 +11142,7 @@ _080C1332:
|
||||
movs r0, 0x3
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080C13E4
|
||||
ldr r1, =gUnknown_08DC3A0C
|
||||
@ -11520,7 +11520,7 @@ sub_80C170C: @ 80C170C
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0
|
||||
beq _080C1740
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
ldr r6, =gUnknown_0856EDB8
|
||||
cmp r0, 0
|
||||
bne _080C174C
|
||||
@ -11528,7 +11528,7 @@ sub_80C170C: @ 80C170C
|
||||
b _080C174C
|
||||
.pool
|
||||
_080C1740:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
ldr r6, =gUnknown_0856ED9C
|
||||
cmp r0, 0
|
||||
bne _080C174C
|
||||
@ -11594,7 +11594,7 @@ _080C178C:
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
ldr r1, [r4]
|
||||
strb r0, [r1, 0x19]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080C17E8
|
||||
ldr r1, [r4]
|
||||
@ -12368,7 +12368,7 @@ _080C1E94:
|
||||
b _080C1EC4
|
||||
.pool
|
||||
_080C1EA4:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080C1ED0
|
||||
ldr r2, =gUnknown_0856ED48
|
||||
@ -12722,7 +12722,7 @@ sub_80C20F8: @ 80C20F8
|
||||
movs r1, 0x2D
|
||||
movs r2, 0x41
|
||||
bl sub_80C1270
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _080C21B6
|
||||
ldrh r0, [r5, 0xE]
|
||||
|
@ -4893,7 +4893,7 @@ sub_806E3C0: @ 806E3C0
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _0806E3DA
|
||||
adds r0, r4, 0
|
||||
|
@ -1376,7 +1376,7 @@ _080850C8:
|
||||
bl set_current_map_header_from_sav1_save_old_name
|
||||
bl CopyFieldObjectTemplatesToSav1
|
||||
bl sav2_set_x9_depending_on_sav1_map
|
||||
bl sub_809D344
|
||||
bl ClearTempFieldEventData
|
||||
bl wild_pokemon_reroll
|
||||
bl prev_quest_postbuffer_cursor_backup_reset
|
||||
adds r0, r6, 0
|
||||
@ -1464,7 +1464,7 @@ _080851A2:
|
||||
lsrs r6, r0, 24
|
||||
bl sub_80EB218
|
||||
bl sav2_set_x9_depending_on_sav1_map
|
||||
bl sub_809D344
|
||||
bl ClearTempFieldEventData
|
||||
bl wild_pokemon_reroll
|
||||
bl prev_quest_postbuffer_cursor_backup_reset
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
|
@ -4432,7 +4432,7 @@ _08137A70:
|
||||
_08137A80:
|
||||
ldr r1, =gUnknown_020375E4
|
||||
strh r0, [r1]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
pop {r1}
|
||||
|
@ -34000,7 +34000,7 @@ _081970A2:
|
||||
adds r1, r7, 0
|
||||
bl StringExpandPlaceholders
|
||||
adds r5, r0, 0
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _08197156
|
||||
strb r6, [r5]
|
||||
@ -40566,7 +40566,7 @@ _0819A398:
|
||||
b _0819A43C
|
||||
.pool
|
||||
_0819A3A8:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _0819A3B8
|
||||
movs r0, 0x1
|
||||
|
@ -3578,7 +3578,7 @@ _0807912C:
|
||||
cmp r0, 0
|
||||
beq _08079158
|
||||
_08079138:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _08079164
|
||||
ldr r0, =gUnknown_0203229C
|
||||
@ -6142,7 +6142,7 @@ _0807A60C:
|
||||
cmp r5, r7
|
||||
blt _0807A60C
|
||||
_0807A62E:
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
mov r1, r9
|
||||
lsls r4, r1, 2
|
||||
cmp r0, 0
|
||||
|
@ -1921,7 +1921,7 @@ _080C3740:
|
||||
thumb_func_start sub_80C376C
|
||||
sub_80C376C: @ 80C376C
|
||||
push {lr}
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
bne _080C377E
|
||||
movs r0, 0x1
|
||||
|
2
asm/tv.s
2
asm/tv.s
@ -3321,7 +3321,7 @@ _080EDB9C:
|
||||
cmp r6, r0
|
||||
bls _080EDB88
|
||||
strb r5, [r4, 0x4]
|
||||
bl sub_809D42C
|
||||
bl IsNationalPokedexEnabled
|
||||
cmp r0, 0
|
||||
beq _080EDBCC
|
||||
movs r0, 0x1
|
||||
|
@ -16,6 +16,11 @@
|
||||
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
|
||||
#define BATTLE_TYPE_LEGENDARY 0x2000
|
||||
#define BATTLE_TYPE_REGI 0x4000
|
||||
#define BATTLE_TYPE_TWO_VS_ONE 0x8000
|
||||
#define BATTLE_TYPE_RECORDED 0x1000000
|
||||
#define BATTLE_TYPE_GROUDON 0x10000000
|
||||
#define BATTLE_TYPE_KYORGE 0x20000000
|
||||
#define BATTLE_TYPE_RAYQUAZA 0x40000000
|
||||
|
||||
#define AI_ACTION_UNK1 0x0001
|
||||
#define AI_ACTION_UNK2 0x0002
|
||||
|
44
include/event_data.h
Normal file
44
include/event_data.h
Normal file
@ -0,0 +1,44 @@
|
||||
#ifndef GUARD_EVENT_DATA_H
|
||||
#define GUARD_EVENT_DATA_H
|
||||
|
||||
#include "flags.h"
|
||||
#include "vars.h"
|
||||
|
||||
void InitEventData(void);
|
||||
void ClearTempFieldEventData(void);
|
||||
void ClearUpperFlags(void);
|
||||
void DisableNationalPokedex(void);
|
||||
void EnableNationalPokedex(void);
|
||||
bool32 IsNationalPokedexEnabled(void);
|
||||
void DisableMysteryGift(void);
|
||||
void EnableMysteryGift(void);
|
||||
bool32 IsMysteryGiftEnabled(void);
|
||||
void DisableResetRTC(void);
|
||||
void EnableResetRTC(void);
|
||||
bool32 CanResetRTC(void);
|
||||
u16 *GetVarPointer(u16 id);
|
||||
u16 VarGet(u16 id);
|
||||
bool8 VarSet(u16 id, u16 value);
|
||||
u8 VarGetFieldObjectGraphicsId(u8 id);
|
||||
u8 *GetFlagPointer(u16 id);
|
||||
u8 FlagSet(u16 id);
|
||||
u8 FlagReset(u16 id);
|
||||
bool8 FlagGet(u16 id);
|
||||
|
||||
extern u16 gSpecialVar_0x8000;
|
||||
extern u16 gSpecialVar_0x8001;
|
||||
extern u16 gSpecialVar_0x8002;
|
||||
extern u16 gSpecialVar_0x8003;
|
||||
extern u16 gSpecialVar_0x8004;
|
||||
extern u16 gSpecialVar_0x8005;
|
||||
extern u16 gSpecialVar_0x8006;
|
||||
extern u16 gSpecialVar_0x8007;
|
||||
extern u16 gSpecialVar_0x8008;
|
||||
extern u16 gSpecialVar_0x8009;
|
||||
extern u16 gSpecialVar_0x800A;
|
||||
extern u16 gSpecialVar_0x800B;
|
||||
extern u16 gScriptResult;
|
||||
extern u16 gScriptLastTalked;
|
||||
extern u16 gScriptFacing;
|
||||
|
||||
#endif // GUARD_EVENT_DATA_H
|
89
include/flags.h
Normal file
89
include/flags.h
Normal file
@ -0,0 +1,89 @@
|
||||
#ifndef GUARD_FLAGS_H
|
||||
#define GUARD_FLAGS_H
|
||||
|
||||
#define TRAINER_FLAG_START 0x500
|
||||
|
||||
// SYSTEM FLAGS
|
||||
|
||||
#define SYS_POKEMON_GET 0x800
|
||||
#define SYS_POKEDEX_GET 0x801
|
||||
#define SYS_POKENAV_GET 0x802
|
||||
#define SYS_GAME_CLEAR 0x804
|
||||
#define SYS_CHAT_USED 0x805
|
||||
#define SYS_HIPSTER_MEET 0x806
|
||||
|
||||
// badges
|
||||
#define BADGE01_GET 0x807
|
||||
#define BADGE02_GET 0x808
|
||||
#define BADGE03_GET 0x809
|
||||
#define BADGE04_GET 0x80A
|
||||
#define BADGE05_GET 0x80B
|
||||
#define BADGE06_GET 0x80C
|
||||
#define BADGE07_GET 0x80D
|
||||
#define BADGE08_GET 0x80E
|
||||
|
||||
// cities and towns
|
||||
#define FLAG_VISITED_LITTLEROOT_TOWN 0x80F
|
||||
#define FLAG_VISITED_OLDALE_TOWN 0x810
|
||||
#define FLAG_VISITED_DEWFORD_TOWN 0x811
|
||||
#define FLAG_VISITED_LAVARIDGE_TOWN 0x812
|
||||
#define FLAG_VISITED_FALLARBOR_TOWN 0x813
|
||||
#define FLAG_VISITED_VERDANTURF_TOWN 0x814
|
||||
#define FLAG_VISITED_PACIFIDLOG_TOWN 0x815
|
||||
#define FLAG_VISITED_PETALBURG_CITY 0x816
|
||||
#define FLAG_VISITED_SLATEPORT_CITY 0x817
|
||||
#define FLAG_VISITED_MAUVILLE_CITY 0x818
|
||||
#define FLAG_VISITED_RUSTBORO_CITY 0x819
|
||||
#define FLAG_VISITED_FORTREE_CITY 0x81A
|
||||
#define FLAG_VISITED_LILYCOVE_CITY 0x81B
|
||||
#define FLAG_VISITED_MOSSDEEP_CITY 0x81C
|
||||
#define FLAG_VISITED_SOOTOPOLIS_CITY 0x81D
|
||||
#define FLAG_VISITED_EVER_GRANDE_CITY 0x81E
|
||||
|
||||
#define SYS_USE_FLASH 0x828
|
||||
#define SYS_USE_STRENGTH 0x829
|
||||
#define SYS_WEATHER_CTRL 0x82A
|
||||
#define SYS_CYCLING_ROAD 0x82B
|
||||
#define SYS_SAFARI_MODE 0x82C
|
||||
#define SYS_CRUISE_MODE 0x82D
|
||||
|
||||
#define SYS_TV_HOME 0x830
|
||||
#define SYS_TV_WATCH 0x831
|
||||
#define SYS_TV_START 0x832
|
||||
#define SYS_POPWORD_INPUT 0x833
|
||||
#define SYS_MIX_RECORD 0x834
|
||||
#define SYS_CLOCK_SET 0x835
|
||||
#define SYS_NATIONAL_DEX 0x836
|
||||
#define SYS_CAVE_SHIP 0x837
|
||||
#define SYS_CAVE_WONDER 0x838
|
||||
#define SYS_CAVE_BATTLE 0x839
|
||||
#define SYS_SHOAL_TIDE 0x83A
|
||||
#define SYS_RIBBON_GET 0x83B
|
||||
|
||||
#define FLAG_UNLOCK_BATTLE_TOWER 0x848
|
||||
#define FLAG_UNLOCK_SOUTHERN_ISLAND 0x849
|
||||
|
||||
#define SYS_PC_LANETTE 0x84B
|
||||
#define SYS_EXDATA_ENABLE 0x84C
|
||||
#define SYS_ENC_UP_ITEM 0x84D
|
||||
#define SYS_ENC_DOWN_ITEM 0x84E
|
||||
#define SYS_BRAILLE_DIG 0x84F
|
||||
#define SYS_BRAILLE_STRENGTH 0x850
|
||||
#define SYS_BRAILLE_WAIT 0x851
|
||||
#define SYS_BRAILLE_FLY 0x852
|
||||
#define SYS_HAS_EON_TICKET 0x853
|
||||
|
||||
#define SYS_POKEMON_LEAGUE_FLY 0x854
|
||||
|
||||
#define SYS_TV_LATI 0x85D
|
||||
|
||||
#define SYS_SHOAL_ITEM 0x85F
|
||||
#define SYS_B_DASH 0x860 // got Running Shoes
|
||||
#define SYS_CTRL_OBJ_DELETE 0x861
|
||||
#define SYS_RESET_RTC_ENABLE 0x862
|
||||
|
||||
// SPECIAL FLAGS (unknown purpose)
|
||||
|
||||
#define SPECIAL_FLAG_1 0x4001
|
||||
|
||||
#endif // GUARD_FLAGS_H
|
56
include/game_stat.h
Normal file
56
include/game_stat.h
Normal file
@ -0,0 +1,56 @@
|
||||
#ifndef GUARD_GAME_STAT_H
|
||||
#define GUARD_GAME_STAT_H
|
||||
|
||||
#define GAME_STAT_SAVED_GAME 0
|
||||
#define GAME_STAT_FIRST_HOF_PLAY_TIME 1
|
||||
#define GAME_STAT_STARTED_TRENDS 2
|
||||
#define GAME_STAT_PLANTED_BERRIES 3
|
||||
#define GAME_STAT_TRADED_BIKES 4
|
||||
#define GAME_STAT_STEPS 5
|
||||
#define GAME_STAT_GOT_INTERVIEWED 6
|
||||
#define GAME_STAT_TOTAL_BATTLES 7
|
||||
#define GAME_STAT_WILD_BATTLES 8
|
||||
#define GAME_STAT_TRAINER_BATTLES 9
|
||||
#define GAME_STAT_ENTERED_HOF 10
|
||||
#define GAME_STAT_POKEMON_CAPTURES 11
|
||||
#define GAME_STAT_FISHING_CAPTURES 12
|
||||
#define GAME_STAT_HATCHED_EGGS 13
|
||||
#define GAME_STAT_EVOLVED_POKEMON 14
|
||||
#define GAME_STAT_USED_POKECENTER 15
|
||||
#define GAME_STAT_RESTED_AT_HOME 16
|
||||
#define GAME_STAT_ENTERED_SAFARI_ZONE 17
|
||||
#define GAME_STAT_USED_CUT 18
|
||||
#define GAME_STAT_USED_ROCK_SMASH 19
|
||||
#define GAME_STAT_MOVED_SECRET_BASE 20
|
||||
#define GAME_STAT_POKEMON_TRADES 21
|
||||
#define GAME_STAT_UNKNOWN_22 22
|
||||
#define GAME_STAT_LINK_BATTLE_WINS 23
|
||||
#define GAME_STAT_LINK_BATTLE_LOSSES 24
|
||||
#define GAME_STAT_LINK_BATTLE_DRAWS 25
|
||||
#define GAME_STAT_USED_SPLASH 26
|
||||
#define GAME_STAT_USED_STRUGGLE 27
|
||||
#define GAME_STAT_SLOT_JACKPOTS 28
|
||||
#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29
|
||||
#define GAME_STAT_ENTERED_BATTLE_TOWER 30
|
||||
#define GAME_STAT_UNKNOWN_31 31
|
||||
#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32
|
||||
#define GAME_STAT_POKEBLOCKS 33
|
||||
#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34
|
||||
#define GAME_STAT_WON_LINK_CONTEST 35
|
||||
#define GAME_STAT_ENTERED_CONTEST 36
|
||||
#define GAME_STAT_WON_CONTEST 37
|
||||
#define GAME_STAT_SHOPPED 38
|
||||
#define GAME_STAT_USED_ITEMFINDER 39
|
||||
#define GAME_STAT_GOT_RAINED_ON 40
|
||||
#define GAME_STAT_CHECKED_POKEDEX 41
|
||||
#define GAME_STAT_RECEIVED_RIBBONS 42
|
||||
#define GAME_STAT_JUMPED_DOWN_LEDGES 43
|
||||
#define GAME_STAT_WATCHED_TV 44
|
||||
#define GAME_STAT_CHECKED_CLOCK 45
|
||||
#define GAME_STAT_WON_POKEMON_LOTTERY 46
|
||||
#define GAME_STAT_USED_DAYCARE 47
|
||||
#define GAME_STAT_RODE_CABLE_CAR 48
|
||||
#define GAME_STAT_ENTERED_HOT_SPRINGS 49
|
||||
#define NUM_GAME_STATS 50
|
||||
|
||||
#endif // GUARD_GAME_STAT_H
|
57
include/global.berry.h
Normal file
57
include/global.berry.h
Normal file
@ -0,0 +1,57 @@
|
||||
#ifndef GUARD_GLOBAL_BERRY_H
|
||||
#define GUARD_GLOBAL_BERRY_H
|
||||
|
||||
struct Berry
|
||||
{
|
||||
const u8 name[7];
|
||||
u8 firmness;
|
||||
u16 size;
|
||||
u8 maxYield;
|
||||
u8 minYield;
|
||||
const u8 *description1;
|
||||
const u8 *description2;
|
||||
u8 stageDuration;
|
||||
u8 spicy;
|
||||
u8 dry;
|
||||
u8 sweet;
|
||||
u8 bitter;
|
||||
u8 sour;
|
||||
u8 smoothness;
|
||||
};
|
||||
|
||||
struct EnigmaBerry
|
||||
{
|
||||
struct Berry berry;
|
||||
u8 pic[(6 * 6) * TILE_SIZE_4BPP];
|
||||
u16 palette[16];
|
||||
u8 description1[45];
|
||||
u8 description2[45];
|
||||
u8 itemEffect[18];
|
||||
u8 holdEffect;
|
||||
u8 holdEffectParam;
|
||||
u32 checksum;
|
||||
};
|
||||
|
||||
struct BattleEnigmaBerry
|
||||
{
|
||||
/*0x00*/ u8 name[7];
|
||||
/*0x07*/ u8 holdEffect;
|
||||
/*0x08*/ u8 itemEffect[18];
|
||||
/*0x1A*/ u8 holdEffectParam;
|
||||
};
|
||||
|
||||
struct BerryTree
|
||||
{
|
||||
u8 berry;
|
||||
u8 stage:7;
|
||||
u8 growthSparkle:1;
|
||||
u16 minutesUntilNextStage;
|
||||
u8 berryYield;
|
||||
u8 regrowthCount:4;
|
||||
u8 watered1:1;
|
||||
u8 watered2:1;
|
||||
u8 watered3:1;
|
||||
u8 watered4:1;
|
||||
};
|
||||
|
||||
#endif // GUARD_GLOBAL_BERRY_H
|
389
include/global.fieldmap.h
Normal file
389
include/global.fieldmap.h
Normal file
@ -0,0 +1,389 @@
|
||||
#ifndef GUARD_GLOBAL_FIELDMAP_H
|
||||
#define GUARD_GLOBAL_FIELDMAP_H
|
||||
|
||||
enum
|
||||
{
|
||||
CONNECTION_SOUTH = 1,
|
||||
CONNECTION_NORTH,
|
||||
CONNECTION_WEST,
|
||||
CONNECTION_EAST,
|
||||
CONNECTION_DIVE,
|
||||
CONNECTION_EMERGE
|
||||
};
|
||||
|
||||
// map types
|
||||
enum
|
||||
{
|
||||
MAP_TYPE_0,
|
||||
MAP_TYPE_TOWN,
|
||||
MAP_TYPE_CITY,
|
||||
MAP_TYPE_ROUTE,
|
||||
MAP_TYPE_UNDERGROUND,
|
||||
MAP_TYPE_UNDERWATER,
|
||||
MAP_TYPE_6,
|
||||
MAP_TYPE_7,
|
||||
MAP_TYPE_INDOOR,
|
||||
MAP_TYPE_SECRET_BASE
|
||||
};
|
||||
|
||||
// map battle scenes
|
||||
enum
|
||||
{
|
||||
MAP_BATTLE_SCENE_NORMAL, // 0
|
||||
MAP_BATTLE_SCENE_GYM, // 1
|
||||
MAP_BATTLE_SCENE_MAGMA, // 2
|
||||
MAP_BATTLE_SCENE_AQUA, // 3
|
||||
MAP_BATTLE_SCENE_SIDNEY, // 4
|
||||
MAP_BATTLE_SCENE_PHOEBE, // 5
|
||||
MAP_BATTLE_SCENE_GLACIA, // 6
|
||||
MAP_BATTLE_SCENE_DRAKE, // 7
|
||||
MAP_BATTLE_SCENE_BATTLE_TOWER, // 8
|
||||
};
|
||||
|
||||
typedef void (*TilesetCB)(void);
|
||||
|
||||
struct Tileset
|
||||
{
|
||||
/*0x00*/ bool8 isCompressed;
|
||||
/*0x01*/ bool8 isSecondary;
|
||||
/*0x04*/ void *tiles;
|
||||
/*0x08*/ void *palettes;
|
||||
/*0x0c*/ void *metatiles;
|
||||
/*0x10*/ void *metatileAttributes;
|
||||
/*0x14*/ TilesetCB callback;
|
||||
};
|
||||
|
||||
struct MapData
|
||||
{
|
||||
/*0x00*/ s32 width;
|
||||
/*0x04*/ s32 height;
|
||||
/*0x08*/ u16 *border;
|
||||
/*0x0c*/ u16 *map;
|
||||
/*0x10*/ struct Tileset *primaryTileset;
|
||||
/*0x14*/ struct Tileset *secondaryTileset;
|
||||
};
|
||||
|
||||
struct BackupMapData
|
||||
{
|
||||
s32 width;
|
||||
s32 height;
|
||||
u16 *map;
|
||||
};
|
||||
|
||||
struct MapObjectTemplate
|
||||
{
|
||||
/*0x00*/ u8 localId;
|
||||
/*0x01*/ u8 graphicsId;
|
||||
/*0x02*/ u8 unk2;
|
||||
/*0x04*/ s16 x;
|
||||
/*0x06*/ s16 y;
|
||||
/*0x08*/ u8 elevation;
|
||||
/*0x09*/ u8 movementType;
|
||||
/*0x0A*/ u8 unkA_0:4;
|
||||
u8 unkA_4:4;
|
||||
///*0x0B*/ u8 fillerB[1];
|
||||
/*0x0C*/ u16 unkC;
|
||||
/*0x0E*/ u16 unkE;
|
||||
/*0x10*/ u8 *script;
|
||||
/*0x14*/ u16 flagId;
|
||||
/*0x16*/ u8 filler_16[2];
|
||||
}; /*size = 0x18*/
|
||||
|
||||
struct WarpEvent
|
||||
{
|
||||
s16 x, y;
|
||||
s8 warpId;
|
||||
u8 mapGroup;
|
||||
u8 mapNum;
|
||||
u8 unk7;
|
||||
};
|
||||
|
||||
struct CoordEvent
|
||||
{
|
||||
s16 x, y;
|
||||
u8 unk4;
|
||||
u8 filler_5;
|
||||
u16 trigger;
|
||||
u16 index;
|
||||
u8 filler_A[0x2];
|
||||
u8 *script;
|
||||
};
|
||||
|
||||
struct BgEvent
|
||||
{
|
||||
u16 x, y;
|
||||
u8 unk4;
|
||||
u8 kind;
|
||||
// 0x2 padding for the union beginning.
|
||||
union { // carried over from diego's FR/LG work, seems to be the same struct
|
||||
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
|
||||
u8 *script;
|
||||
|
||||
// hidden item type probably
|
||||
struct {
|
||||
u8 filler6[0x2];
|
||||
u16 hiddenItemId; // flag offset to determine flag lookup
|
||||
} hiddenItem;
|
||||
|
||||
// secret base type
|
||||
u32 secretBaseId;
|
||||
|
||||
} bgUnion;
|
||||
};
|
||||
|
||||
struct MapEvents
|
||||
{
|
||||
u8 mapObjectCount;
|
||||
u8 warpCount;
|
||||
u8 coordEventCount;
|
||||
u8 bgEventCount;
|
||||
|
||||
struct MapObjectTemplate *mapObjects;
|
||||
struct WarpEvent *warps;
|
||||
struct CoordEvent *coordEvents;
|
||||
struct BgEvent *bgEvents;
|
||||
};
|
||||
|
||||
struct MapConnection
|
||||
{
|
||||
/*0x00*/ u8 direction;
|
||||
/*0x01*/ u32 offset;
|
||||
/*0x05*/ u8 mapGroup;
|
||||
/*0x06*/ u8 mapNum;
|
||||
};
|
||||
|
||||
struct MapConnections
|
||||
{
|
||||
s32 count;
|
||||
struct MapConnection *connections;
|
||||
};
|
||||
|
||||
struct MapHeader
|
||||
{
|
||||
/* 0x00 */ struct MapData *mapData;
|
||||
/* 0x04 */ struct MapEvents *events;
|
||||
/* 0x08 */ u8 *mapScripts;
|
||||
/* 0x0C */ struct MapConnections *connections;
|
||||
/* 0x10 */ u16 music;
|
||||
/* 0x12 */ u16 mapDataId;
|
||||
/* 0x14 */ u8 regionMapSectionId;
|
||||
/* 0x15 */ u8 cave;
|
||||
/* 0x16 */ u8 weather;
|
||||
/* 0x17 */ u8 mapType;
|
||||
/* 0x18 */ u8 filler_18;
|
||||
/* 0x19 */ u8 escapeRope;
|
||||
/* 0x1A */ u8 flags;
|
||||
/* 0x1B */ u8 battleType;
|
||||
};
|
||||
|
||||
struct MapObject
|
||||
{
|
||||
/*0x00*/ u32 active:1;
|
||||
u32 mapobj_bit_1:1;
|
||||
u32 mapobj_bit_2:1;
|
||||
u32 mapobj_bit_3:1;
|
||||
u32 mapobj_bit_4:1;
|
||||
u32 mapobj_bit_5:1;
|
||||
u32 mapobj_bit_6:1;
|
||||
u32 mapobj_bit_7:1;
|
||||
/*0x01*/ u32 mapobj_bit_8:1;
|
||||
u32 mapobj_bit_9:1;
|
||||
u32 mapobj_bit_10:1;
|
||||
u32 mapobj_bit_11:1;
|
||||
u32 mapobj_bit_12:1;
|
||||
u32 mapobj_bit_13:1;
|
||||
u32 mapobj_bit_14:1;
|
||||
u32 mapobj_bit_15:1;
|
||||
/*0x02*/ u32 mapobj_bit_16:1;
|
||||
u32 mapobj_bit_17:1;
|
||||
u32 mapobj_bit_18:1;
|
||||
u32 mapobj_bit_19:1;
|
||||
u32 mapobj_bit_20:1;
|
||||
u32 mapobj_bit_21:1;
|
||||
u32 mapobj_bit_22:1;
|
||||
u32 mapobj_bit_23:1;
|
||||
/*0x03*/ u32 mapobj_bit_24:1;
|
||||
u32 mapobj_bit_25:1;
|
||||
u32 mapobj_bit_26:1;
|
||||
u32 mapobj_bit_27:1;
|
||||
u32 mapobj_bit_28:1;
|
||||
u32 mapobj_bit_29:1;
|
||||
u32 mapobj_bit_30:1;
|
||||
u32 mapobj_bit_31:1;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 graphicsId;
|
||||
/*0x06*/ u8 animPattern;
|
||||
/*0x07*/ u8 trainerType;
|
||||
/*0x08*/ u8 localId;
|
||||
/*0x09*/ u8 mapNum;
|
||||
/*0x0A*/ u8 mapGroup;
|
||||
/*0x0B*/ u8 mapobj_unk_0B_0:4;
|
||||
u8 elevation:4;
|
||||
/*0x0C*/ struct Coords16 coords1;
|
||||
/*0x10*/ struct Coords16 coords2;
|
||||
/*0x14*/ struct Coords16 coords3;
|
||||
/*0x18*/ u8 mapobj_unk_18:4; //current direction?
|
||||
/*0x18*/ u8 placeholder18:4;
|
||||
/*0x19*/ u8 mapobj_unk_19;
|
||||
/*0x1A*/ u8 mapobj_unk_1A;
|
||||
/*0x1B*/ u8 mapobj_unk_1B;
|
||||
/*0x1C*/ u8 mapobj_unk_1C;
|
||||
/*0x1D*/ u8 trainerRange_berryTreeId;
|
||||
/*0x1E*/ u8 mapobj_unk_1E;
|
||||
/*0x1F*/ u8 mapobj_unk_1F;
|
||||
/*0x20*/ u8 mapobj_unk_20;
|
||||
/*0x21*/ u8 mapobj_unk_21;
|
||||
/*0x22*/ u8 animId;
|
||||
/*size = 0x24*/
|
||||
};
|
||||
|
||||
// THIS IS NEEDED TO MAKE TRAINER_SEE.C MATCH, PLEASE DO NOT REMOVE UNLESS YOU FIX CHECKPATHBETWEENTRAINERANDPLAYER
|
||||
struct MapObject2
|
||||
{
|
||||
/*0x00*/ u32 active:1;
|
||||
u32 mapobj_bit_1:1;
|
||||
u32 mapobj_bit_2:1;
|
||||
u32 mapobj_bit_3:1;
|
||||
u32 mapobj_bit_4:1;
|
||||
u32 mapobj_bit_5:1;
|
||||
u32 mapobj_bit_6:1;
|
||||
u32 mapobj_bit_7:1;
|
||||
/*0x01*/ u32 mapobj_bit_8:1;
|
||||
u32 mapobj_bit_9:1;
|
||||
u32 mapobj_bit_10:1;
|
||||
u32 mapobj_bit_11:1;
|
||||
u32 mapobj_bit_12:1;
|
||||
u32 mapobj_bit_13:1;
|
||||
u32 mapobj_bit_14:1;
|
||||
u32 mapobj_bit_15:1;
|
||||
/*0x02*/ u32 mapobj_bit_16:1;
|
||||
u32 mapobj_bit_17:1;
|
||||
u32 mapobj_bit_18:1;
|
||||
u32 mapobj_bit_19:1;
|
||||
u32 mapobj_bit_20:1;
|
||||
u32 mapobj_bit_21:1;
|
||||
u32 mapobj_bit_22:1;
|
||||
u32 mapobj_bit_23:1;
|
||||
/*0x03*/ u32 mapobj_bit_24:1;
|
||||
u32 mapobj_bit_25:1;
|
||||
u32 mapobj_bit_26:1;
|
||||
u32 mapobj_bit_27:1;
|
||||
u32 mapobj_bit_28:1;
|
||||
u32 mapobj_bit_29:1;
|
||||
u32 mapobj_bit_30:1;
|
||||
u32 mapobj_bit_31:1;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 graphicsId;
|
||||
/*0x06*/ u8 animPattern;
|
||||
/*0x07*/ u8 trainerType;
|
||||
/*0x08*/ u8 localId;
|
||||
/*0x09*/ u8 mapNum;
|
||||
/*0x0A*/ u8 mapGroup;
|
||||
/*0x0B*/ u8 mapobj_unk_0B_0:4;
|
||||
u8 elevation:4;
|
||||
/*0x0C*/ struct Coords16 coords1;
|
||||
/*0x10*/ struct Coords16 coords2;
|
||||
/*0x14*/ struct Coords16 coords3;
|
||||
/*0x18*/ u8 mapobj_unk_18:4;
|
||||
/*0x18*/ u8 placeholder18:4;
|
||||
/*0x19*/ u8 mapobj_unk_19:4;
|
||||
/*0x19*/ u8 mapobj_unk_19b:4;
|
||||
/*0x1A*/ u8 mapobj_unk_1A;
|
||||
/*0x1B*/ u8 mapobj_unk_1B;
|
||||
/*0x1C*/ u8 mapobj_unk_1C;
|
||||
/*0x1D*/ u8 trainerRange_berryTreeId;
|
||||
/*0x1E*/ u8 mapobj_unk_1E;
|
||||
/*0x1F*/ u8 mapobj_unk_1F;
|
||||
/*0x20*/ u8 mapobj_unk_20;
|
||||
/*0x21*/ u8 mapobj_unk_21;
|
||||
/*size = 0x24*/
|
||||
};
|
||||
|
||||
struct MapObjectGraphicsInfo
|
||||
{
|
||||
/*0x00*/ u16 tileTag;
|
||||
/*0x02*/ u16 paletteTag1;
|
||||
/*0x04*/ u16 paletteTag2;
|
||||
/*0x06*/ u16 size;
|
||||
/*0x08*/ s16 width;
|
||||
/*0x0A*/ s16 height;
|
||||
/*0x0C*/ u8 paletteSlot:4;
|
||||
u8 shadowSize:2;
|
||||
u8 inanimate:1;
|
||||
u8 disableReflectionPaletteLoad:1;
|
||||
/*0x0D*/ u8 tracks;
|
||||
/*0x10*/ const struct OamData *oam;
|
||||
/*0x14*/ const struct SubspriteTable *subspriteTables;
|
||||
/*0x18*/ const union AnimCmd *const *anims;
|
||||
/*0x1C*/ const struct SpriteFrameImage *images;
|
||||
/*0x20*/ const union AffineAnimCmd *const *affineAnims;
|
||||
};
|
||||
|
||||
#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
|
||||
#define PLAYER_AVATAR_FLAG_4 (1 << 4)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << 5)
|
||||
#define PLAYER_AVATAR_FLAG_6 (1 << 6)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
|
||||
|
||||
enum
|
||||
{
|
||||
ACRO_BIKE_NORMAL,
|
||||
ACRO_BIKE_TURNING,
|
||||
ACRO_BIKE_WHEELIE_STANDING,
|
||||
ACRO_BIKE_BUNNY_HOP,
|
||||
ACRO_BIKE_WHEELIE_MOVING,
|
||||
ACRO_BIKE_STATE5,
|
||||
ACRO_BIKE_STATE6,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
DIR_NONE,
|
||||
DIR_SOUTH,
|
||||
DIR_NORTH,
|
||||
DIR_WEST,
|
||||
DIR_EAST,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
COLLISION_LEDGE_JUMP = 6
|
||||
};
|
||||
|
||||
struct PlayerAvatar /* 0x202E858 */
|
||||
{
|
||||
/*0x00*/ u8 flags;
|
||||
/*0x01*/ u8 bike;
|
||||
/*0x02*/ u8 running2;
|
||||
/*0x03*/ u8 running1;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 mapObjectId;
|
||||
/*0x06*/ u8 unk6;
|
||||
/*0x07*/ u8 gender;
|
||||
u8 acroBikeState;
|
||||
u8 unk9;
|
||||
u8 bikeFrameCounter;
|
||||
u8 unkB;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u8 unk14[8];
|
||||
u8 unk1C[8];
|
||||
// TODO: rest of struct
|
||||
};
|
||||
|
||||
struct Camera
|
||||
{
|
||||
bool8 field_0:1;
|
||||
s32 x;
|
||||
s32 y;
|
||||
};
|
||||
|
||||
extern struct MapObject gMapObjects[];
|
||||
extern u8 gSelectedMapObject;
|
||||
extern struct MapHeader gMapHeader;
|
||||
extern struct PlayerAvatar gPlayerAvatar;
|
||||
|
||||
#endif // GUARD_GLOBAL_FIELDMAP_H
|
538
include/global.h
538
include/global.h
@ -108,6 +108,544 @@ struct SaveBlock2
|
||||
|
||||
extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
|
||||
struct SecretBaseRecord
|
||||
{
|
||||
/*ID?*/ /*0x1A08*/ u8 sbr_field_0;
|
||||
/*0x1A09*/ u8 sbr_field_1_0:4;
|
||||
/*0x1A09*/ u8 gender:1;
|
||||
/*0x1A09*/ u8 sbr_field_1_5:1;
|
||||
/*0x1A09*/ u8 sbr_field_1_6:2;
|
||||
/*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes?
|
||||
/*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||
/*0x1A16*/ u16 sbr_field_e;
|
||||
/*0x1A18*/ u8 sbr_field_10;
|
||||
/*0x1A19*/ u8 sbr_field_11;
|
||||
/*0x1A1A*/ u8 decorations[16];
|
||||
/*0x1A2A*/ u8 decorationPos[16];
|
||||
/*0x1A3A*/ u32 partyPersonality[6];
|
||||
/*0x1A54*/ u16 partyMoves[6 * 4];
|
||||
/*0x1A84*/ u16 partySpecies[6];
|
||||
/*0x1A90*/ u16 partyHeldItems[6];
|
||||
/*0x1A9C*/ u8 partyLevels[6];
|
||||
/*0x1AA2*/ u8 partyEVs[6];
|
||||
};
|
||||
|
||||
#include "game_stat.h"
|
||||
#include "global.fieldmap.h"
|
||||
#include "global.berry.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
struct WarpData
|
||||
{
|
||||
s8 mapGroup;
|
||||
s8 mapNum;
|
||||
s8 warpId;
|
||||
s16 x, y;
|
||||
};
|
||||
|
||||
struct ItemSlot
|
||||
{
|
||||
u16 itemId;
|
||||
u16 quantity;
|
||||
};
|
||||
|
||||
struct Pokeblock
|
||||
{
|
||||
u8 color;
|
||||
u8 spicy;
|
||||
u8 dry;
|
||||
u8 sweet;
|
||||
u8 bitter;
|
||||
u8 sour;
|
||||
u8 feel;
|
||||
};
|
||||
|
||||
struct Roamer
|
||||
{
|
||||
/*0x00*/ u32 ivs;
|
||||
/*0x04*/ u32 personality;
|
||||
/*0x08*/ u16 species;
|
||||
/*0x0A*/ u16 hp;
|
||||
/*0x0C*/ u8 level;
|
||||
/*0x0D*/ u8 status;
|
||||
/*0x0E*/ u8 cool;
|
||||
/*0x0F*/ u8 beauty;
|
||||
/*0x10*/ u8 cute;
|
||||
/*0x11*/ u8 smart;
|
||||
/*0x12*/ u8 tough;
|
||||
/*0x13*/ bool8 active;
|
||||
/*0x14*/ u8 filler[0x8];
|
||||
};
|
||||
|
||||
struct RamScriptData
|
||||
{
|
||||
u8 magic;
|
||||
u8 mapGroup;
|
||||
u8 mapNum;
|
||||
u8 objectId;
|
||||
u8 script[995];
|
||||
};
|
||||
|
||||
struct RamScript
|
||||
{
|
||||
u32 checksum;
|
||||
struct RamScriptData data;
|
||||
};
|
||||
|
||||
struct SB1_2EFC_Struct
|
||||
{
|
||||
u16 var;
|
||||
u8 unknown[0x1E];
|
||||
};
|
||||
|
||||
struct EasyChatPair
|
||||
{
|
||||
u16 unk0_0:7;
|
||||
u16 unk0_7:7;
|
||||
u16 unk1_6:1;
|
||||
u16 unk2;
|
||||
u16 words[2];
|
||||
}; /*size = 0x8*/
|
||||
|
||||
struct TVShowCommon
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 pad02[20];
|
||||
/*0x16*/ u16 var16[3];
|
||||
/*0x1C*/ u8 srcTrainerId3Lo;
|
||||
/*0x1D*/ u8 srcTrainerId3Hi;
|
||||
/*0x1E*/ u8 srcTrainerId2Lo;
|
||||
/*0x1F*/ u8 srcTrainerId2Hi;
|
||||
/*0x20*/ u8 srcTrainerIdLo;
|
||||
/*0x21*/ u8 srcTrainerIdHi;
|
||||
/*0x22*/ u8 trainerIdLo;
|
||||
/*0x23*/ u8 trainerIdHi;
|
||||
};
|
||||
|
||||
struct TVShowFanClubLetter
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 pad04[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
};
|
||||
|
||||
struct TVShowRecentHappenings
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u16 var04[6];
|
||||
/*0x10*/ u8 playerName[8];
|
||||
/*0x18*/ u8 language;
|
||||
/*0x19*/ u8 pad19[10];
|
||||
};
|
||||
|
||||
struct TVShowFanclubOpinions
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u8 var04A:4;
|
||||
/*0x04*/ u8 var04B:4;
|
||||
/*0x05*/ u8 playerName[8];
|
||||
/*0x0D*/ u8 language;
|
||||
/*0x0E*/ u8 var0E;
|
||||
/*0x0F*/ u8 var0F;
|
||||
/*0x10*/ u8 var10[8];
|
||||
/*0x18*/ u16 var18[2];
|
||||
/*0x1C*/ u16 var1C[4];
|
||||
};
|
||||
|
||||
struct TVShowUnknownType04
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 pad02[4];
|
||||
/*0x06*/ u16 var06;
|
||||
};
|
||||
|
||||
struct TVShowNameRaterShow
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u8 pokemonName[11];
|
||||
/*0x0F*/ u8 trainerName[11];
|
||||
/*0x1A*/ u8 random;
|
||||
/*0x1B*/ u8 random2;
|
||||
/*0x1C*/ u16 var1C;
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 pokemonNameLanguage;
|
||||
};
|
||||
|
||||
struct TVShowBravoTrainerPokemonProfiles
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x04*/ u16 var04[2];
|
||||
/*0x08*/ u8 pokemonNickname[11];
|
||||
/*0x13*/ u8 contestCategory:3;
|
||||
/*0x13*/ u8 contestRank:2;
|
||||
/*0x13*/ u8 contestResult:2;
|
||||
/*0x13*/ u8 var13_7:1;
|
||||
/*0x14*/ u16 var14;
|
||||
/*0x16*/ u8 playerName[8];
|
||||
/*0x1E*/ u8 language;
|
||||
/*0x1F*/ u8 var1f;
|
||||
};
|
||||
|
||||
struct TVShowBravoTrainerBattleTowerSpotlight
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 trainerName[8];
|
||||
/*0x0A*/ u16 species;
|
||||
/*0x0C*/ u8 pokemonName[8];
|
||||
/*0x14*/ u16 defeatedSpecies;
|
||||
/*0x16*/ u16 var16;
|
||||
/*0x18*/ u16 var18[1];
|
||||
/*0x1A*/ u8 btLevel;
|
||||
/*0x1B*/ u8 var1b;
|
||||
/*0x1C*/ u8 var1c;
|
||||
/*0x1D*/ u8 language;
|
||||
};
|
||||
|
||||
struct TVShowPokemonToday
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 language2;
|
||||
/*0x04*/ u8 nickname[11];
|
||||
/*0x0F*/ u8 ball;
|
||||
/*0x10*/ u16 species;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowSmartShopper
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 priceReduced;
|
||||
/*0x03*/ u8 language;
|
||||
/*0x04*/ u8 pad04[2];
|
||||
/*0x06*/ u16 itemIds[3];
|
||||
/*0x0C*/ u16 itemAmounts[3];
|
||||
/*0x12*/ u8 shopLocation;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowPokemonTodayFailed
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 language;
|
||||
/*0x03*/ u8 pad03[9];
|
||||
/*0x0c*/ u16 species;
|
||||
/*0x0e*/ u16 species2;
|
||||
/*0x10*/ u8 var10;
|
||||
/*0x11*/ u8 var11;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowPokemonAngler
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 var02;
|
||||
/*0x03*/ u8 var03;
|
||||
/*0x04*/ u16 var04;
|
||||
/*0x06*/ u8 language;
|
||||
u8 pad07[12];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowWorldOfMasters
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u16 var04;
|
||||
/*0x06*/ u16 var06;
|
||||
/*0x08*/ u16 var08;
|
||||
/*0x0a*/ u8 var0a;
|
||||
/*0x0b*/ u8 language;
|
||||
u8 pad0c[7];
|
||||
/*0x13*/ u8 playerName[8];
|
||||
};
|
||||
|
||||
struct TVShowMassOutbreak
|
||||
{
|
||||
/*0x00*/ u8 var00;
|
||||
/*0x01*/ u8 var01;
|
||||
/*0x02*/ u8 var02;
|
||||
/*0x03*/ u8 var03;
|
||||
/*0x04*/ u16 moves[4];
|
||||
/*0x0C*/ u16 species;
|
||||
/*0x0E*/ u16 var0E;
|
||||
/*0x10*/ u8 locationMapNum;
|
||||
/*0x11*/ u8 locationMapGroup;
|
||||
/*0x12*/ u8 var12;
|
||||
/*0x13*/ u8 probability;
|
||||
/*0x14*/ u8 level;
|
||||
/*0x15*/ u8 var15;
|
||||
/*0x16*/ u16 var16;
|
||||
/*0x18*/ u8 language;
|
||||
u8 pad19[11];
|
||||
};
|
||||
|
||||
typedef union TVShow
|
||||
{
|
||||
struct TVShowCommon common;
|
||||
struct TVShowFanClubLetter fanclubLetter;
|
||||
struct TVShowRecentHappenings recentHappenings;
|
||||
struct TVShowFanclubOpinions fanclubOpinions;
|
||||
struct TVShowUnknownType04 unkShow04;
|
||||
struct TVShowNameRaterShow nameRaterShow;
|
||||
struct TVShowBravoTrainerPokemonProfiles bravoTrainer;
|
||||
struct TVShowBravoTrainerBattleTowerSpotlight bravoTrainerTower;
|
||||
struct TVShowPokemonToday pokemonToday;
|
||||
struct TVShowSmartShopper smartshopperShow;
|
||||
struct TVShowPokemonTodayFailed pokemonTodayFailed;
|
||||
struct TVShowPokemonAngler pokemonAngler;
|
||||
struct TVShowWorldOfMasters worldOfMasters;
|
||||
struct TVShowMassOutbreak massOutbreak;
|
||||
} TVShow;
|
||||
|
||||
struct MailStruct
|
||||
{
|
||||
/*0x00*/ u16 words[9];
|
||||
/*0x12*/ u8 playerName[8];
|
||||
/*0x1A*/ u8 trainerId[4];
|
||||
/*0x1E*/ u16 species;
|
||||
/*0x20*/ u16 itemId;
|
||||
};
|
||||
|
||||
struct UnkMauvilleOldManStruct
|
||||
{
|
||||
u8 unk_2D94;
|
||||
u8 unk_2D95;
|
||||
/*0x2D96*/ u16 mauvilleOldMan_ecArray[6];
|
||||
/*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6];
|
||||
/*0x2DAE*/ u8 playerName[8];
|
||||
/*0x2DB6*/ u8 filler_2DB6[0x3];
|
||||
/*0x2DB9*/ u8 playerTrainerId[4];
|
||||
u8 unk_2DBD;
|
||||
}; /*size = 0x2C*/
|
||||
|
||||
struct UnkMauvilleOldManStruct2
|
||||
{
|
||||
u8 filler0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u16 mauvilleOldMan_ecArray[10];
|
||||
u8 mauvilleOldMan_ecArray2[12];
|
||||
u8 fillerF[0x2];
|
||||
}; /*size = 0x2C*/
|
||||
|
||||
struct MauvilleOldManTrader
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1[4];
|
||||
u8 unk5[4][11];
|
||||
u8 unk31;
|
||||
};
|
||||
|
||||
typedef union OldMan
|
||||
{
|
||||
struct UnkMauvilleOldManStruct oldMan1;
|
||||
struct UnkMauvilleOldManStruct2 oldMan2;
|
||||
struct MauvilleOldManTrader trader;
|
||||
u8 filler[0x40];
|
||||
} OldMan;
|
||||
|
||||
struct Unk_SB_Access_Struct1
|
||||
{
|
||||
u8 filler0[0xF8];
|
||||
struct SB1_2EFC_Struct sb1_2EFC_struct[5];
|
||||
};
|
||||
|
||||
struct Unk_SB_Access_Struct2
|
||||
{
|
||||
/*0x0000*/ struct SB1_2EFC_Struct sb1_2EFC_struct2[12]; // each is 0x20
|
||||
/*0x2F84*/ u8 filler[0x18];
|
||||
};
|
||||
|
||||
/*0x2E04*/
|
||||
typedef union SB_Struct
|
||||
{
|
||||
struct Unk_SB_Access_Struct1 unkSB1;
|
||||
struct Unk_SB_Access_Struct2 unkSB2;
|
||||
} SB_Struct;
|
||||
// size is 0x198
|
||||
|
||||
struct UnknownSaveStruct2ABC
|
||||
{
|
||||
u8 val0;
|
||||
u8 val1;
|
||||
u16 val2;
|
||||
};
|
||||
|
||||
struct GabbyAndTyData
|
||||
{
|
||||
/*2b10*/ u16 mon1;
|
||||
/*2b12*/ u16 mon2;
|
||||
/*2b14*/ u16 lastMove;
|
||||
/*2b16*/ u16 quote;
|
||||
/*2b18*/ u8 mapnum;
|
||||
/*2b19*/ u8 battleNum;
|
||||
/*2b1a*/ u8 valA_0:1;
|
||||
/*2b1a*/ u8 valA_1:1;
|
||||
/*2b1a*/ u8 valA_2:1;
|
||||
/*2b1a*/ u8 valA_3:1;
|
||||
/*2b1a*/ u8 valA_4:1;
|
||||
/*2b1a*/ u8 valA_5:3;
|
||||
/*2b1b*/ u8 valB_0:1;
|
||||
/*2b1b*/ u8 valB_1:1;
|
||||
/*2b1b*/ u8 valB_2:1;
|
||||
/*2b1b*/ u8 valB_3:1;
|
||||
/*2b1b*/ u8 valB_4:1;
|
||||
/*2b1b*/ u8 valB_5:3;
|
||||
};
|
||||
|
||||
struct RecordMixing_UnknownStructSub
|
||||
{
|
||||
u32 unk0;
|
||||
u8 data[0x34];
|
||||
//u8 data[0x38];
|
||||
};
|
||||
|
||||
struct RecordMixing_UnknownStruct
|
||||
{
|
||||
struct RecordMixing_UnknownStructSub data[2];
|
||||
u32 unk70;
|
||||
u16 unk74[0x2];
|
||||
};
|
||||
|
||||
struct LinkBattleRecord
|
||||
{
|
||||
u8 name[8];
|
||||
u16 trainerId;
|
||||
u16 wins;
|
||||
u16 losses;
|
||||
u16 draws;
|
||||
};
|
||||
|
||||
struct RecordMixingGiftData
|
||||
{
|
||||
u8 unk0;
|
||||
u8 quantity;
|
||||
u16 itemId;
|
||||
u8 filler4[8];
|
||||
};
|
||||
|
||||
struct RecordMixingGift
|
||||
{
|
||||
int checksum;
|
||||
struct RecordMixingGiftData data;
|
||||
};
|
||||
|
||||
struct SaveBlock1
|
||||
{
|
||||
/*0x00*/ struct Coords16 pos;
|
||||
/*0x04*/ struct WarpData location;
|
||||
/*0x0C*/ struct WarpData warp1;
|
||||
/*0x14*/ struct WarpData warp2;
|
||||
/*0x1C*/ struct WarpData warp3;
|
||||
/*0x24*/ struct WarpData warp4;
|
||||
/*0x2C*/ u16 battleMusic;
|
||||
/*0x2E*/ u8 weather;
|
||||
/*0x2F*/ u8 filler_2F;
|
||||
/*0x30*/ u8 flashUsed;
|
||||
/*0x32*/ u16 mapDataId;
|
||||
/*0x34*/ u16 mapView[0x100];
|
||||
/*0x234*/ u8 playerPartyCount;
|
||||
/*0x238*/ struct Pokemon playerParty[6];
|
||||
/*0x490*/ u32 money;
|
||||
/*0x494*/ u16 coins;
|
||||
/*0x496*/ u16 registeredItem; // registered for use with SELECT button
|
||||
/*0x498*/ struct ItemSlot pcItems[50];
|
||||
/*0x560*/ struct ItemSlot bagPocket_Items[30];
|
||||
/*0x5D8*/ struct ItemSlot bagPocket_KeyItems[30];
|
||||
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
|
||||
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
|
||||
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
|
||||
/*0x848*/ struct Pokeblock pokeblocks[40];
|
||||
/*0x988*/ u8 seen1[52];
|
||||
/*0x9BC*/ u16 berryBlenderRecords[3];
|
||||
/*0x9C2*/ u8 field_9C2[6];
|
||||
/*0x9C8*/ u16 trainerRematchStepCounter;
|
||||
/*0x9CA*/ u8 trainerRematches[100];
|
||||
/*0xA30*/ struct MapObject mapObjects[16];
|
||||
/*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
|
||||
/*0x1270*/ u8 flags[300];
|
||||
/*0x139C*/ u16 vars[256];
|
||||
|
||||
// TODO: FIX BELOW
|
||||
|
||||
/*0x1540*/ u32 gameStats[NUM_GAME_STATS];
|
||||
/*0x1608*/ struct BerryTree berryTrees[128];
|
||||
/*0x1A08*/ struct SecretBaseRecord secretBases[20];
|
||||
/*0x2688*/ u8 playerRoomDecor[12];
|
||||
/*0x2694*/ u8 playerRoomDecorPos[12];
|
||||
/*0x26A0*/ u8 decorDesk[10];
|
||||
/*0x26AA*/ u8 decorChair[10];
|
||||
/*0x26B4*/ u8 decorPlant[10];
|
||||
/*0x26BE*/ u8 decorOrnament[30];
|
||||
/*0x26DC*/ u8 decorMat[30];
|
||||
/*0x26FA*/ u8 decorPoster[10];
|
||||
/*0x2704*/ u8 decorDoll[40];
|
||||
/*0x272C*/ u8 decorCushion[10];
|
||||
/*0x2736*/ u8 padding_2736[2];
|
||||
/*0x2738*/ TVShow tvShows[25];
|
||||
/*0x2ABC*/ struct UnknownSaveStruct2ABC unknown_2ABC[16];
|
||||
/*0x2AFC*/ u16 outbreakPokemonSpecies;
|
||||
/*0x2AFE*/ u8 outbreakLocationMapNum;
|
||||
/*0x2AFF*/ u8 outbreakLocationMapGroup;
|
||||
/*0x2B00*/ u8 outbreakPokemonLevel;
|
||||
/*0x2B01*/ u8 outbreakUnk1;
|
||||
/*0x2B02*/ u16 outbreakUnk2;
|
||||
/*0x2B04*/ u16 outbreakPokemonMoves[4];
|
||||
/*0x2B0C*/ u8 outbreakUnk4;
|
||||
/*0x2B0D*/ u8 outbreakPokemonProbability;
|
||||
/*0x2B0E*/ u16 outbreakUnk5;
|
||||
/*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
|
||||
/*0x2B1C*/ u16 unk2B1C[6];
|
||||
/*0x2B28*/ u16 unk2B28[6];
|
||||
/*0x2B34*/ u16 unk2B34[6];
|
||||
/*0x2B40*/ u16 unk2B40[6];
|
||||
/*0x2B4C*/ struct MailStruct mail[16];
|
||||
/*0x2D8C*/ u8 unk2D8C[4];
|
||||
/*0x2D90*/ u8 filler_2D90[0x4];
|
||||
/*0x2D94*/ OldMan oldMan;
|
||||
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
|
||||
/*0x2DFC*/ u8 filler_2DFC[0x8];
|
||||
/*0x2E04*/ SB_Struct sbStruct;
|
||||
/*0x2F9C*/ struct BoxPokemon daycareData[2];
|
||||
/*0x303C*/ struct RecordMixing_UnknownStruct filler_303C;
|
||||
/*0x30AC*/ u8 filler_30B4[0x2];
|
||||
/*0x30B6*/ u8 filler_30B6;
|
||||
/*0x30B7*/ u8 filler_30B7[1];
|
||||
/*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
|
||||
/*0x3108*/ u8 filler_3108[8];
|
||||
/*0x3110*/ u8 giftRibbons[7];
|
||||
/*0x3117*/ u8 filler_311B[0x2D];
|
||||
/*0x3144*/ struct Roamer roamer;
|
||||
/*0x3160*/ struct EnigmaBerry enigmaBerry;
|
||||
/*0x3690*/ struct RamScript ramScript;
|
||||
/*0x3A7C*/ struct RecordMixingGift recordMixingGift;
|
||||
/*0x3A8C*/ u8 unk3A8C[52]; //pokedex related
|
||||
};
|
||||
|
||||
extern struct SaveBlock1* gSaveBlock1Ptr;
|
||||
|
||||
struct Bitmap // TODO: Find a better spot for this
|
||||
{
|
||||
u8* pixels;
|
||||
|
53
include/vars.h
Normal file
53
include/vars.h
Normal file
@ -0,0 +1,53 @@
|
||||
#ifndef GUARD_VARS_H
|
||||
#define GUARD_VARS_H
|
||||
|
||||
#define VAR_0x4000 0x4000
|
||||
#define VAR_0x4001 0x4001
|
||||
#define VAR_0x4002 0x4002
|
||||
#define VAR_0x4003 0x4003
|
||||
#define VAR_0x4004 0x4004
|
||||
#define VAR_0x4005 0x4005
|
||||
#define VAR_0x4006 0x4006
|
||||
#define VAR_0x4007 0x4007
|
||||
#define VAR_0x4008 0x4008
|
||||
#define VAR_0x4009 0x4009
|
||||
#define VAR_0x400A 0x400A
|
||||
#define VAR_0x401F 0x401F
|
||||
#define VAR_RECYCLE_GOODS 0x4020
|
||||
#define VAR_REPEL_STEP_COUNT 0x4021
|
||||
#define VAR_ICE_STEP_COUNT 0x4022
|
||||
#define VAR_FIRST_POKE 0x4023
|
||||
#define VAR_MIRAGE_RND_H 0x4024
|
||||
#define VAR_MIRAGE_RND_L 0x4025
|
||||
#define VAR_SECRET_BASE_MAP 0x4026
|
||||
|
||||
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
|
||||
#define VAR_POISON_STEP_COUNTER 0x402B
|
||||
#define VAR_RESET_RTC_ENABLE 0x402C
|
||||
|
||||
#define VAR_DAYS 0x4040
|
||||
|
||||
#define VAR_DEPT_STORE_FLOOR 0x4043
|
||||
#define VAR_POKELOT_PRIZE 0x4045
|
||||
#define VAR_NATIONAL_DEX 0x4046
|
||||
#define VAR_SHROOMISH_SIZE_RECORD 0x4047
|
||||
#define VAR_ASH_GATHER_COUNT 0x4048
|
||||
#define VAR_BIRCH_STATE 0x4049
|
||||
#define VAR_CRUISE_STEP_COUNT 0x404A
|
||||
#define VAR_POKELOT_RND1 0x404B
|
||||
#define VAR_POKELOT_RND2 0x404C
|
||||
|
||||
#define VAR_BARBOACH_SIZE_RECORD 0x404F
|
||||
|
||||
#define VAR_0x4054 0x4054
|
||||
|
||||
#define VAR_0x4089 0x4089
|
||||
#define VAR_0x4095 0x4095
|
||||
#define VAR_0x4097 0x4097
|
||||
#define VAR_0x409a 0x409a
|
||||
#define VAR_PORTHOLE 0x40B4
|
||||
|
||||
#define VAR_0x40BC 0x40BC
|
||||
#define VAR_0x40C2 0x40C2
|
||||
|
||||
#endif // GUARD_VARS_H
|
@ -93,6 +93,7 @@ SECTIONS {
|
||||
asm/script.o(.text);
|
||||
asm/scrcmd.o(.text);
|
||||
asm/field_control_avatar.o(.text);
|
||||
src/event_data.o(.text);
|
||||
asm/event_data.o(.text);
|
||||
asm/coord_event_weather.o(.text);
|
||||
asm/field_tasks.o(.text);
|
||||
|
11
src/event_data.c
Normal file
11
src/event_data.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
|
||||
extern u8 gUnknown_020375FC[16];
|
||||
|
||||
void InitEventData(void)
|
||||
{
|
||||
memset(gSaveBlock1Ptr->flags, 0, sizeof(gSaveBlock1Ptr->flags));
|
||||
memset(gSaveBlock1Ptr->vars, 0, sizeof(gSaveBlock1Ptr->vars));
|
||||
memset(gUnknown_020375FC, 0, sizeof(gUnknown_020375FC));
|
||||
}
|
Loading…
Reference in New Issue
Block a user