map out ram variables

This commit is contained in:
drifloony 2017-07-15 18:48:46 -07:00
parent 7d960d219f
commit e4a72cbff3
89 changed files with 546 additions and 818 deletions

View File

@ -4,6 +4,8 @@
.syntax unified
.lcomm gUnknown_030007B8, 0x770
.text
thumb_func_start umul3232H32

View File

@ -0,0 +1,3 @@
gSoundAnimFramesToWait
gBattleAnimArgs
gAnimSpriteIndexArray

View File

@ -0,0 +1,5 @@
gUnknown_03005E10
gUnknown_03005E20
gUnknown_03005E40
gUnknown_03005E8C
gUnknown_03005E90

View File

@ -0,0 +1,3 @@
gUnknown_03004880
gUnknown_03004898
gUnknown_0300489C

View File

@ -0,0 +1 @@
gSelectedMapObject

View File

@ -0,0 +1 @@
gMapObjects

1
common_syms/fieldmap.txt Normal file
View File

@ -0,0 +1 @@
gUnknown_03004870

2
common_syms/intro.txt Normal file
View File

@ -0,0 +1,2 @@
gIntroFrameCounter
gMultibootProgramStruct

View File

@ -0,0 +1 @@
gUnknown_03004DA0

2
common_syms/pokedex.txt Normal file
View File

@ -0,0 +1,2 @@
gUnknown_03005CE8
gUnknown_03005CEC

View File

@ -0,0 +1,4 @@
gPlayerPartyCount
gPlayerParty
gEnemyPartyCount
gEnemyParty

View File

@ -0,0 +1 @@
gUnknown_03005D2C

1
common_syms/rom3.txt Normal file
View File

@ -0,0 +1 @@
gBattleBuffersTransferData

4
common_syms/rom4.txt Normal file
View File

@ -0,0 +1,4 @@
word_3004858
gFieldCallback
gUnknown_03004860
gFieldLinkPlayerCount

9
common_syms/save.txt Normal file
View File

@ -0,0 +1,9 @@
gLastWrittenSector
gLastSaveCounter
gLastKnownGoodSector
gDamagedSaveSectors
gSaveCounter
gFastSaveSection
gUnknown_03005EB4
gSaveFileStatus
gGameContinueCallback

1
common_syms/sound.txt Normal file
View File

@ -0,0 +1 @@
gDisableMusic

View File

@ -0,0 +1 @@
gUnknown_03005D30

View File

@ -0,0 +1 @@
gCallback_03004AE8

1
common_syms/tv.txt Normal file
View File

@ -0,0 +1 @@
gUnknown_03005D38

View File

@ -49,11 +49,6 @@ struct ContestEntry
/*0x16*/ u8 trainer_name[OT_NAME_LENGTH];
};
struct Unk3000756
{
/*0x00*/ u8 var_0;
};
struct LabelPair
{
const u8 *prefix;

View File

@ -25,4 +25,20 @@ 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

View File

@ -245,4 +245,6 @@ void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
void sub_80878A8(void);
void sub_8087BA8(void);
extern u32 gUnknown_0202FF84[8];
#endif // GUARD_FIELD_EFFECT_H

View File

@ -70,8 +70,6 @@ extern struct CameraSomething gUnknown_03004880;
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;
extern u32 gUnknown_0202FF84[];
extern const struct Coords16 gDirectionToVector[];
void FieldObjectCB_BerryTree(struct Sprite *);

View File

@ -8,11 +8,6 @@ struct ElevatorMenu {
u8 var3;
};
extern struct ElevatorMenu gUnknown_03000760[20];
extern struct WarpData gUnknown_020297F0;
extern u8 gBattleOutcome;
extern u16 gScriptResult;
extern u8 gUnknown_02039250;
extern u8 gUnknown_02039251;
extern u32 gUnknown_02039254;
@ -22,9 +17,6 @@ extern u8 gUnknown_0203925A;
extern u8 gUnknown_0203925B;
extern u8 gUnknown_0203925C;
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
void ResetCyclingRoadChallengeData(void);
bool32 CountSSTidalStep(u16);
u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *);

View File

@ -5,6 +5,7 @@ struct GcmbStruct
{
u16 gcmb_field_0;
u8 gcmb_field_2;
u8 filler3[0x2C - 0x3];
};
void GameCubeMultiBoot_Main(struct GcmbStruct *pStruct);

View File

@ -1,11 +1,6 @@
#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
struct YesNoCBTable {
void (*yesFunc)(void);
void (*noFunc)(void);
};
enum {
PBLOCK_CLR_BLACK,
PBLOCK_CLR_RED,
@ -15,12 +10,6 @@ enum {
PBLOCK_CLR_YELLOW
};
extern u8 ewram[];
extern u8 gUnknown_02039244;
extern u8 gUnknown_02039248[4];
extern u8 gUnknown_0203924C;
extern const u8 *gUnknown_03000758;
void sub_810B96C(void);
u8 sub_810BA50(s16, s16, u8);
u8 sub_810C9B0(struct Pokeblock *);

View File

@ -55,7 +55,5 @@ u32 CalculateRamScriptChecksum(void);
void ClearRamScript(void);
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
u8 *GetRamScript(u8 objectId, u8 *script);
u16 gScriptResult;
extern u16 gScriptLastTalked;
#endif // GUARD_SCRIPT_H

View File

@ -5,9 +5,6 @@
#ifndef POKERUBY_USE_POKEBLOCK_H
#define POKERUBY_USE_POKEBLOCK_H
extern void *gUnknown_02030400;
extern s16 gUnknown_02039312;
void sub_8136130(struct Pokeblock *, MainCallback);
#endif //POKERUBY_USE_POKEBLOCK_H

View File

@ -38,7 +38,7 @@ the number of bytes that the current command had reserved for arguments
in order to read the next command correctly. refer to battle_ai_scripts.s for the
AI scripts.
*/
extern u8 *gAIScriptPtr;
EWRAM_DATA u8 *gAIScriptPtr = NULL;
static void BattleAICmd_if_random_less_than(void);
static void BattleAICmd_if_random_greater_than(void);

View File

@ -49,9 +49,11 @@ extern u16 gUnknown_03004280;
extern u16 gUnknown_03004288;
extern u16 gUnknown_030042C0;
extern u16 gUnknown_030042C4;
extern u16 gSoundAnimFramesToWait;
extern u16 gAnimSpriteIndexArray[8];
extern s16 gBattleAnimArgs[8];
u16 gSoundAnimFramesToWait;
s16 gBattleAnimArgs[8];
u16 gAnimSpriteIndexArray[8];
extern struct MusicPlayerInfo gMPlay_BGM;
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;

View File

@ -28,16 +28,12 @@ struct Struct2000000
/*0x1FFFF*/ u8 var_1FFFF;
};
struct BerryTagStatus
{
s16 circles[5];
};
extern struct Struct2000000 unk_2000000;
extern u8 gUnknown_0203932C;
extern struct BerryTagStatus gUnknown_0203932E;
extern u16 gUnknown_030041B4;
static EWRAM_DATA u8 gUnknown_0203932C = 0;
static EWRAM_DATA s16 gUnknown_0203932E[5] = {0};
extern const struct CompressedSpriteSheet gUnknown_083C1F74;
extern const struct CompressedSpritePalette gUnknown_083C1F7C;
@ -336,19 +332,19 @@ static void sub_8146600(u8 berry)
berryInfo = GetBerryInfo(berry + 1);
for (i = 0; i < 5; i++)
gUnknown_0203932E.circles[i] = (u16)gUnknown_0203932E.circles[i] | 0xFFFF;
gUnknown_0203932E[i] = (u16)gUnknown_0203932E[i] | 0xFFFF;
// argument is the center of the circle
if (berryInfo->spicy)
gUnknown_0203932E.circles[0] = sub_80A7E5C(48);
gUnknown_0203932E[0] = sub_80A7E5C(48);
if (berryInfo->dry)
gUnknown_0203932E.circles[1] = sub_80A7E5C(88);
gUnknown_0203932E[1] = sub_80A7E5C(88);
if (berryInfo->sweet)
gUnknown_0203932E.circles[2] = sub_80A7E5C(128);
gUnknown_0203932E[2] = sub_80A7E5C(128);
if (berryInfo->bitter)
gUnknown_0203932E.circles[3] = sub_80A7E5C(168);
gUnknown_0203932E[3] = sub_80A7E5C(168);
if (berryInfo->sour)
gUnknown_0203932E.circles[4] = sub_80A7E5C(208);
gUnknown_0203932E[4] = sub_80A7E5C(208);
}
void sub_81466A0(void)
@ -357,10 +353,10 @@ void sub_81466A0(void)
for (i = 0; i < 5; i++)
{
if (gUnknown_0203932E.circles[i] != -1)
if (gUnknown_0203932E[i] != -1)
{
DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]);
gUnknown_0203932E.circles[i] = -1;
DestroySprite(&gSprites[gUnknown_0203932E[i]]);
gUnknown_0203932E[i] = -1;
}
}
}

View File

@ -15,8 +15,6 @@ extern u8 sub_80608A4(u8);
extern u8 gUnknown_02039250;
extern u8 gUnknown_02039251;
extern u8 gUnknown_0202E854;
extern u8 gUnknown_0202E86C[];
extern u8 gUnknown_0202E874[];
static void MovePlayerOnMachBike(u8, u16, u16);
static u8 GetMachBikeTransition(u8 *);
@ -758,12 +756,12 @@ static bool8 sub_80E5BC8(const u8 *a, const u8 *b)
for (i = 0; a[i] != 0; i++)
{
if (gUnknown_0202E86C[i] > a[i])
if (gPlayerAvatar.unk14[i] > a[i])
return FALSE;
}
for (i = 0; b[i] != 0; i++)
{
if (gUnknown_0202E874[i] > b[i])
if (gPlayerAvatar.unk1C[i] > b[i])
return FALSE;
}
return TRUE;

View File

@ -19,8 +19,6 @@
extern u8 gPlayerPartyCount;
extern u8 gLastFieldPokeMenuOpened;
extern u32 gUnknown_0202FF84[];
extern u8 gIslandCave_EventScript_OpenRegiiceChamber[]; // regiice event script
bool8 ShouldDoBrailleDigEffect(void)

View File

@ -13,7 +13,6 @@
extern u16 gScriptResult;
extern struct TrainerCard gTrainerCards[4];
extern struct LinkPlayer gLinkPlayers[];
extern u8 gUnknown_03004860;
extern u8 gFieldLinkPlayerCount;

View File

@ -31,7 +31,6 @@ struct UnknownPokemonStruct2
/*0x1D*/ u8 language;
};
extern u8 gSelectedOrderFromParty[];
extern u8 gPlayerPartyCount;
extern u8 gLastFieldPokeMenuOpened;
extern u8 gUnknown_020384F0;
@ -40,6 +39,8 @@ extern u8 gUnknown_0202E8F6;
extern struct Pokemon gUnknown_030042FC[];
extern const u16 gBattleTowerBanlist[];
EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
extern void OpenPartyMenu();
extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
extern void LoadHeldItemIconGraphics(void);

View File

@ -14,18 +14,20 @@
#include "unknown_task.h"
extern u8 unk_2000000[];
extern u8 gUnknown_03000750;
extern u16 gUnknown_03000752;
extern u16 gUnknown_03000754;
extern u16 (*gUnknown_03005E10)[][32];
extern u8 gUnknown_03005E40[];
extern u16 (*gUnknown_03005E90)[];
static u8 gUnknown_03000750;
static u16 gUnknown_03000752;
static u16 gUnknown_03000754;
static u8 gUnknown_03000756;
u16 (*gUnknown_03005E10)[][32];
struct Unk03005E20 gUnknown_03005E20;
u8 gUnknown_03005E40[0x4C];
struct ContestEntry *gUnknown_03005E8C;
u16 (*gUnknown_03005E90)[];
extern struct ContestEntry unk_2015de0;
extern struct Unk2015E00 unk_2015e00;
extern struct Unk3000756 gUnknown_03000756;
extern struct Unk03005E20 gUnknown_03005E20;
extern struct ContestEntry *gUnknown_03005E8C;
static const u16 gPictureFramePalettes[][16] =
{
@ -220,7 +222,7 @@ static void HoldContestPainting(void)
case 0:
if (!gPaletteFade.active)
gUnknown_03000750 = 1;
if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 != 0)
if (gUnknown_03000756 != 0 && gUnknown_03000754 != 0)
gUnknown_03000754--;
break;
case 1:
@ -231,13 +233,13 @@ static void HoldContestPainting(void)
gUnknown_03000750 = two;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
}
if (gUnknown_03000756.var_0 != 0)
if (gUnknown_03000756 != 0)
gUnknown_03000754 = 0;
break;
case 2:
if (!gPaletteFade.active)
SetMainCallback2(CB2_QuitContestPainting);
if (gUnknown_03000756.var_0 != 0 && gUnknown_03000754 <= 0x1D)
if (gUnknown_03000756 != 0 && gUnknown_03000754 <= 0x1D)
gUnknown_03000754++;
break;
}
@ -311,13 +313,13 @@ static void ContestPaintingInitVars(bool8 arg0)
{
if (arg0 == FALSE)
{
gUnknown_03000756.var_0 = FALSE;
gUnknown_03000756 = FALSE;
gUnknown_03000752 = 0;
gUnknown_03000754 = 0;
}
else
{
gUnknown_03000756.var_0 = TRUE;
gUnknown_03000756 = TRUE;
gUnknown_03000752 = 15;
gUnknown_03000754 = 30;
}
@ -325,7 +327,7 @@ static void ContestPaintingInitVars(bool8 arg0)
static void ContestPaintingMosaic(void)
{
if (gUnknown_03000756.var_0 == FALSE)
if (gUnknown_03000756 == FALSE)
{
REG_MOSAIC = 0;
return;

View File

@ -177,14 +177,15 @@ extern u16 unk_201f800[];
extern struct SpriteTemplate gUnknown_02024E8C;
extern s16 gUnknown_02039320;
extern u16 gUnknown_02039322; // TASK A
extern u8 gUnknown_02039324;
extern u8 gUnknown_02039325;
extern u16 gUnknown_02039358;
extern s16 gUnknown_0203935A;
extern s16 gUnknown_0203935C;
static EWRAM_DATA s16 gUnknown_02039320 = 0;
static EWRAM_DATA u16 gUnknown_02039322 = 0; // TASK A
EWRAM_DATA u8 gUnknown_02039324 = 0;
static EWRAM_DATA u8 gUnknown_02039325 = 0;
extern u8 gReservedSpritePaletteCount;
// data/hall_of_fame

View File

@ -19,6 +19,27 @@
#include "field_weather.h"
#include "decoration.h"
EWRAM_DATA u8 *gUnknown_020388D0 = NULL;
EWRAM_DATA u8 gUnknown_020388D4 = 0;
EWRAM_DATA u8 gUnknown_020388D5 = 0;
EWRAM_DATA u8 gUnknown_020388D6[16] = {0};
EWRAM_DATA u8 gUnknown_020388E6[12] = {0};
EWRAM_DATA u8 gUnknown_020388F2 = 0;
EWRAM_DATA u8 gUnknown_020388F3 = 0;
EWRAM_DATA u8 gUnknown_020388F4 = 0;
EWRAM_DATA u8 gUnknown_020388F5 = 0;
EWRAM_DATA u8 gUnknown_020388F6 = 0;
EWRAM_DATA u8 gUnknown_020388F7[8] = {0};
EWRAM_DATA struct UnkStruct_02038900 gUnknown_02038900 = {0};
EWRAM_DATA u16 gUnknown_020391A4 = 0;
EWRAM_DATA u16 gUnknown_020391A6 = 0;
EWRAM_DATA u8 gUnknown_020391A8 = 0;
EWRAM_DATA u8 gUnknown_020391A9 = 0;
EWRAM_DATA u8 gUnknown_020391AA = 0;
EWRAM_DATA struct OamData gUnknown_020391AC = {0};
EWRAM_DATA struct UnkStruct_020391B4 gUnknown_020391B4[16] = {0};
EWRAM_DATA u8 gUnknown_02039234 = 0;
#if ENGLISH
const u8 DecorDesc_SMALL_DESK[] = _(
"A small desk built\n"

View File

@ -6,7 +6,23 @@
#define TEMP_UPPER_FLAGS_SIZE 0x8
#define TEMP_VARS_SIZE 0x20
extern u8 gUnknown_0202E8E2[16];
EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
EWRAM_DATA u16 gSpecialVar_0x8002 = 0;
EWRAM_DATA u16 gSpecialVar_0x8003 = 0;
EWRAM_DATA u16 gSpecialVar_0x8004 = 0;
EWRAM_DATA u16 gSpecialVar_0x8005 = 0;
EWRAM_DATA u16 gSpecialVar_0x8006 = 0;
EWRAM_DATA u16 gSpecialVar_0x8007 = 0;
EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
EWRAM_DATA u16 gSpecialVar_0x800A = 0;
EWRAM_DATA u16 gSpecialVar_0x800B = 0;
EWRAM_DATA u16 gScriptResult = 0;
EWRAM_DATA u16 gScriptLastTalked = 0;
EWRAM_DATA u16 gScriptFacing = 0;
EWRAM_DATA u8 gUnknown_0202E8E2[16] = {0};
extern u16 *gSpecialVars[];
void InitEventData(void)

View File

@ -7,8 +7,7 @@
#include "sprite.h"
#include "text.h"
extern u8 gUnknown_0202E854;
EWRAM_DATA u8 gUnknown_0202E854 = 0;
struct UnknownStruct
{
@ -19,15 +18,15 @@ struct UnknownStruct
bool8 unk4;
};
extern struct UnknownStruct gUnknown_03000590;
extern u16 gUnknown_03000598;
extern s16 gUnknown_0300059A;
extern u8 gUnknown_0300059C;
extern void (*gUnknown_030005A0)(void);
static struct UnknownStruct gUnknown_03000590;
static u16 gUnknown_03000598;
static s16 gUnknown_0300059A;
static u8 gUnknown_0300059C;
static void (*gUnknown_030005A0)(void);
extern struct CameraSomething gUnknown_03004880;
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;
struct CameraSomething gUnknown_03004880;
u16 gUnknown_03004898;
u16 gUnknown_0300489C;
static void RedrawMapSliceNorth(struct UnknownStruct *a, struct MapData *mapData);
static void RedrawMapSliceSouth(struct UnknownStruct *a, struct MapData *mapData);

View File

@ -35,8 +35,11 @@ extern u16 gScriptFacing;
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u8 gUnknown_0202E8C0;
extern u16 gUnknown_0202E8C2;
static EWRAM_DATA u8 gUnknown_0202E8C0 = 0;
static EWRAM_DATA u16 gUnknown_0202E8C2 = 0;
u8 gSelectedMapObject;
//scripts
extern u8 gUnknown_081A2C51[];

View File

@ -28,6 +28,8 @@
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
EWRAM_DATA u32 gUnknown_0202FF84[8] = {0};
const u32 gSpriteImage_839DC14[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
const u16 gBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal");
const u32 gSpriteImage_839E434[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp");

View File

@ -1902,8 +1902,11 @@ extern void CameraObjectReset1(void);
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern u8 gReservedSpritePaletteCount;
extern struct Camera gUnknown_0202E844;
extern u8 gUnknown_030005A4;
extern u16 gUnknown_030005A6;
static u8 gUnknown_030005A4;
static u16 gUnknown_030005A6;
struct MapObject gMapObjects[16];
void npc_clear_ids_and_state(struct MapObject *mapObj)
{
@ -3881,8 +3884,6 @@ u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite)
return gUnknown_083752D0[sprite->data1](mapObject, sprite);
}
extern u32 gUnknown_0202FF84[];
u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 berryTreeStage;

View File

@ -7,8 +7,6 @@
typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
extern u32 gUnknown_0202FF84[];
extern s16 gUnknown_08376194[];
extern SpriteStepFunc *gUnknown_08376180[];
extern s8 *gUnknown_083761D0[];

View File

@ -6,7 +6,7 @@
#include "text.h"
#include "text_window.h"
extern struct Window gFieldMessageBoxWindow;
static EWRAM_DATA struct Window gFieldMessageBoxWindow = {0};
static u8 sMessageBoxMode;

View File

@ -24,7 +24,7 @@
#include "tv.h"
#include "wild_encounter.h"
extern u32 gUnknown_0202FF84[];
EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0};
//Functions
static bool8 sub_8058854(struct MapObject *, u8);

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "event_data.h"
#include "field_camera.h"
#include "menu.h"
#include "palette.h"

View File

@ -41,8 +41,26 @@
#elif GERMAN
#define CHAR_DECIMAL_SEPARATOR CHAR_COMMA
#endif
extern struct WarpData gUnknown_020297F0;
extern u8 gBattleOutcome;
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gScriptResult;
EWRAM_DATA u8 gUnknown_02039250 = 0;
EWRAM_DATA u8 gUnknown_02039251 = 0;
EWRAM_DATA u32 gUnknown_02039254 = 0;
EWRAM_DATA u8 gUnknown_02039258 = 0;
EWRAM_DATA u8 gUnknown_02039259 = 0;
EWRAM_DATA u8 gUnknown_0203925A = 0;
EWRAM_DATA u8 gUnknown_0203925B = 0;
EWRAM_DATA u8 gUnknown_0203925C = 0;
static void RecordCyclingRoadResults(u32, u8);
static struct ElevatorMenu gUnknown_03000760[20];
void sub_810D6A4(void) {
SetMainCallback2(sub_8145D88);
ScriptContext2_Enable();

View File

@ -25,6 +25,8 @@ EWRAM_DATA struct MapHeader gMapHeader = {0};
EWRAM_DATA struct Camera gUnknown_0202E844 = {0};
EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0};
struct BackupMapData gUnknown_03004870;
static const struct ConnectionFlags sDummyConnectionFlags = {0};
struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection)

View File

@ -27,7 +27,6 @@ extern struct SpriteTemplate gSpriteTemplate_CutGrass;
extern struct MapPosition gUnknown_0203923C;
extern u8 gLastFieldPokeMenuOpened;
extern u32 gUnknown_0202FF84[];
extern u8 UseCutScript;

View File

@ -13,8 +13,6 @@ static void sub_811AA18(void);
static void sub_811AA38(void);
static void sub_811AA9C(void);
extern u32 gUnknown_0202FF84[];
extern u8 gLastFieldPokeMenuOpened;
extern u16 gScriptResult;
extern void (*gFieldCallback)(void);

View File

@ -15,8 +15,6 @@ static void sub_812C01C(void);
static void sub_812C084(u8);
static void sub_812C118(u8);
extern u32 gUnknown_0202FF84[];
extern u8 gLastFieldPokeMenuOpened;
extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);

View File

@ -7,8 +7,6 @@
#include "rom6.h"
#include "task.h"
extern u32 gUnknown_0202FF84[];
extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);

View File

@ -22,12 +22,8 @@
#include "unknown_task.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gUnknown_02039318;
extern u16 gUnknown_0203931A;
extern u16 gUnknown_02039358;
extern u16 gUnknown_0203935A;
extern u32 gIntroFrameCounter;
extern struct GcmbStruct gMultibootProgramStruct;
extern u16 gSaveFileStatus;
extern u8 gReservedSpritePaletteCount;
extern const u8 gInterfaceGfx_PokeBall[];
@ -37,6 +33,12 @@ extern const u16 gIntroCopyright_Pal[];
extern const u16 gIntroCopyright_Tilemap[];
extern void *const gUnknown_0840B5A0[];
static EWRAM_DATA u16 gUnknown_02039318 = 0;
static EWRAM_DATA u16 gUnknown_0203931A = 0;
u32 gIntroFrameCounter;
struct GcmbStruct gMultibootProgramStruct;
//--------------------------------------------------
// Graphics Data
//--------------------------------------------------

View File

@ -19,7 +19,10 @@ struct LoadedSaveData
struct MailStruct mail[16];
};
extern struct LoadedSaveData gLoadedSaveData[];
EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {0};
EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {0};
static EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
void CheckForFlashMemory(void)
{
@ -112,27 +115,27 @@ void LoadPlayerBag(void)
// load player items.
for (i = 0; i < 20; i++)
gLoadedSaveData->items[i] = gSaveBlock1.bagPocket_Items[i];
gLoadedSaveData.items[i] = gSaveBlock1.bagPocket_Items[i];
// load player key items.
for (i = 0; i < 20; i++)
gLoadedSaveData->keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i];
gLoadedSaveData.keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i];
// load player pokeballs.
for (i = 0; i < 16; i++)
gLoadedSaveData->pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i];
gLoadedSaveData.pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i];
// load player TMs and HMs.
for (i = 0; i < 64; i++)
gLoadedSaveData->TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i];
gLoadedSaveData.TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i];
// load player berries.
for (i = 0; i < 46; i++)
gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i];
gLoadedSaveData.berries[i] = gSaveBlock1.bagPocket_Berries[i];
// load mail.
for (i = 0; i < 16; i++)
gLoadedSaveData->mail[i] = gSaveBlock1.mail[i];
gLoadedSaveData.mail[i] = gSaveBlock1.mail[i];
}
void SavePlayerBag(void)
@ -141,25 +144,25 @@ void SavePlayerBag(void)
// save player items.
for (i = 0; i < 20; i++)
gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData->items[i];
gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData.items[i];
// save player key items.
for (i = 0; i < 20; i++)
gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData->keyItems[i];
gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i];
// save player pokeballs.
for (i = 0; i < 16; i++)
gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData->pokeBalls[i];
gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i];
// save player TMs and HMs.
for (i = 0; i < 64; i++)
gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData->TMsHMs[i];
gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i];
// save player berries.
for (i = 0; i < 46; i++)
gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i];
gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData.berries[i];
// save mail.
for (i = 0; i < 16; i++)
gSaveBlock1.mail[i] = gLoadedSaveData->mail[i];
gSaveBlock1.mail[i] = gLoadedSaveData.mail[i];
}

View File

@ -22,13 +22,12 @@ extern const struct Subsprite gUnknown_0842F790;
extern u16 gUnknown_0203A360[];
extern struct Subsprite gMenuCursorSubsprites[];
extern u8 gUnknown_0203A3D0;
extern u8 gUnknown_0203A3D1;
extern u8 gUnknown_0203A3D2;
extern u8 gUnknown_0203A3D3;
extern u8 gUnknown_0203A3D4;
EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0};
EWRAM_DATA u8 gUnknown_0203A3D0 = 0;
EWRAM_DATA u8 gUnknown_0203A3D1 = 0;
EWRAM_DATA u8 gUnknown_0203A3D2 = 0;
EWRAM_DATA u8 gUnknown_0203A3D3 = 0;
EWRAM_DATA u8 gUnknown_0203A3D4 = 0;
void sub_814A590(void)
{

View File

@ -8,7 +8,8 @@
#define SPRITE_TAG_MONEY (0x2722)
extern u16 gSpecialVar_0x8005;
extern u8 gUnknown_02038734;
static EWRAM_DATA u8 gUnknown_02038734 = 0;
extern const struct CompressedSpriteSheet gUnknown_083CF584;
extern const struct CompressedSpritePalette gUnknown_083CF58C;

View File

@ -12,9 +12,10 @@
#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
extern u8 gUnknown_03004DA0[];
extern u8 (*gCallback_03004AE8)(void);
u8 gUnknown_03004DA0[0x20];
extern u8 gUnknown_0839B22C[][3];
extern u8 gUnknown_0839B24A[];
extern u8 gUnknown_0839B24D[];

View File

@ -15,7 +15,8 @@
#include "text.h"
extern u8 unk_2000000[];
extern u8 gUnknown_02039338;
static EWRAM_DATA u8 gUnknown_02039338 = 0;
static void VBlankCB(void);
static bool8 CheckLanguageMatch(void);

View File

@ -16,13 +16,13 @@
#define UNK_MASK_2 0x80
#endif
extern struct ScriptContext gUnknown_02039288;
extern ScrCmdFunc gScriptFuncs[];
extern ScrCmdFunc gScriptFuncs_End[];
extern u8 gOtherText_DataCannotUseVersion[];
static EWRAM_DATA struct ScriptContext gUnknown_02039288 = {0};
bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4)
{
if (!(a1 & UNK_MASK_1))

View File

@ -26,7 +26,8 @@
#include "secret_base.h"
#include "tv.h"
extern u8 gDifferentSaveFile;
EWRAM_DATA u8 gDifferentSaveFile = 0;
EWRAM_DATA u8 gUnknown_020297ED = 0;
extern u8 gPlayerPartyCount;
extern u8 gUnknown_03005CE8;

View File

@ -32,8 +32,9 @@ extern u8 sub_807D770(void);
extern void sub_808B020(void);
extern void sub_80F944C(void);
extern u8 *gPcItemMenuOptionOrder;
extern u8 gPcItemMenuOptionsNum;
static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL;
static u8 gPcItemMenuOptionsNum;
extern u8 gUnknown_02038561;

View File

@ -26,8 +26,15 @@
#include "songs.h"
#include "safari_zone.h"
#include "use_pokeblock.h"
#include "event_data.h"
#include "pokeblock.h"
extern u8 ewram[];
static EWRAM_DATA u8 gUnknown_02039244 = 0;
static EWRAM_DATA ALIGNED(4) u8 gUnknown_02039248[4] = {0}; // why aligned to 4 bytes?
static EWRAM_DATA u8 gUnknown_0203924C = 0;
// function declarations
// gUnknown_083F7EF4
@ -76,6 +83,8 @@ static void sub_810C5EC(u8);
// sub_810C610
static void sub_810C704(u8);
static const u8 *gUnknown_03000758;
// rodata
#define GFX_TAG_POKEBLOCK_CASE 14800

View File

@ -143,13 +143,7 @@ struct UnknownStruct4
extern struct MusicPlayerInfo gMPlay_BGM;
extern u8 gReservedSpritePaletteCount;
extern struct PokedexView *gPokedexView;
extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gUnknown_0202FFB8;
extern u8 gUnknown_0202FFBA;
extern struct PokedexListItem *gUnknown_0202FFBC;
extern u8 gUnknown_03005CE8;
extern IntrCallback gUnknown_03005CEC;
extern u8 gUnknown_03005E98;
extern const u8 gPokedexMenu_Gfx[];
extern const u8 gUnknown_08E96738[];
@ -171,6 +165,14 @@ extern const u16 gPokedexMenuSearch_Pal[];
extern const u8 gTypeNames[][7];
extern const u8 gPokedexMenu2_Gfx[];
static EWRAM_DATA struct PokedexView *gPokedexView = NULL;
static EWRAM_DATA u16 gUnknown_0202FFB8 = 0;
static EWRAM_DATA u8 gUnknown_0202FFBA = 0;
static EWRAM_DATA struct PokedexListItem *gUnknown_0202FFBC = NULL;
u8 gUnknown_03005CE8;
IntrCallback gUnknown_03005CEC;
static u8 sub_8091E3C(void);
static const u16 sPokedexSearchPalette[] = INCBIN_U16("graphics/pokedex/search.gbapal");

View File

@ -18,7 +18,13 @@
extern u8 unk_2000000[];
extern u16 word_2024E82;
extern u8 byte_2024E88;
static EWRAM_DATA u8 byte_2024E88 = 0;
u8 gPlayerPartyCount;
struct Pokemon gPlayerParty[6];
u8 gEnemyPartyCount;
struct Pokemon gEnemyParty[6];
void ZeroBoxMonData(struct BoxPokemon *boxMon)
{

View File

@ -31,10 +31,11 @@ extern u8 gXXX_CritRelated;
extern u16 gBattleWeather;
extern struct BattleEnigmaBerry gEnigmaBerries[];
extern u16 gBattleMovePower;
extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gTrainerBattleOpponent;
extern struct PokemonStorage gPokemonStorage;
EWRAM_DATA struct SpriteTemplate gUnknown_02024E8C = {0};
extern u8 gBadEggNickname[];
extern const struct SpriteTemplate gSpriteTemplate_8208288[];
//array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.)

View File

@ -12,6 +12,8 @@ extern const struct StorageAction gUnknown_083B6DF4[];
extern const u8 unk_2000000[];
EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
#define gUnk2002694 (u8 *)(&unk_2000000[0x2694])
#define gUnk20026A6 (u8 *)(&unk_2000000[0x26a6])
#define gUnk20011fa (u8 *)(&unk_2000000[0x11fa])

View File

@ -31,10 +31,11 @@ extern u8 ewram[];
extern struct RecordMixing_UnknownStruct gUnknown_02038738;
extern u16 gSpecialVar_0x8005;
extern u32 gUnknown_03005D2C;
extern u8 gUnknown_03000718;
extern u8 gUnknown_0300071C[];
extern bool8 gReceivedRemoteLinkPlayers;
u32 gUnknown_03005D2C;
static u8 gUnknown_03000718;
static u8 gUnknown_0300071C[4];
void *recordMixingSecretBases = &gSaveBlock1.secretBases;
void *recordMixingTvShows = &gSaveBlock1.tvShows;

View File

@ -127,7 +127,7 @@ enum
INPUT_EVENT_B_BUTTON,
};
extern struct RegionMap *gRegionMap;
static EWRAM_DATA struct RegionMap *gRegionMap = NULL;
static const u16 sRegionMapCursor_Pal[] = INCBIN_U16("graphics/pokenav/cursor.gbapal");
static const u8 sRegionMapCursorSmall_ImageLZ[] = INCBIN_U8("graphics/pokenav/cursor_small.4bpp.lz");

View File

@ -24,9 +24,10 @@ extern u16 gBattleTypeFlags;
extern u16 gBattleWeather;
extern struct BattlePokemon gBattleMons[];
extern u8 gUnknown_020238C4;
extern u8 gUnknown_020238C5;
extern u8 gUnknown_020238C6;
static EWRAM_DATA u8 gUnknown_020238C4 = 0;
static EWRAM_DATA u8 gUnknown_020238C5 = 0;
static EWRAM_DATA u8 gUnknown_020238C6 = 0;
extern u32 gUnknown_020239FC;
extern u8 gBattleBufferA[][0x200];
extern u8 gBattleBufferB[][0x200];
@ -49,13 +50,14 @@ extern u8 gUnknown_02024C78;
extern u8 gBattleOutcome;
extern u8 gActionSelectionCursor[];
extern u8 gMoveSelectionCursor[];
extern u8 gBattleBuffersTransferData[];
extern u8 gBattleTextBuff1[];
extern u8 gBattleTextBuff2[];
extern u8 gBattleTextBuff3[];
extern void (*gBattleMainFunc)(void);
extern void (*gBattleBankFunc[])(void);
u8 gBattleBuffersTransferData[0x170];
void sub_800B858(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)

View File

@ -60,23 +60,23 @@ struct UnkTVStruct
u32 tv_field_4;
};
extern struct WarpData gUnknown_020297F0;
extern struct WarpData gUnknown_020297F8;
extern struct WarpData gUnknown_02029800;
extern struct WarpData gUnknown_02029808;
extern struct UnkPlayerStruct gUnknown_02029810;
extern u16 gUnknown_02029814;
extern bool8 gUnknown_02029816;
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
EWRAM_DATA struct WarpData gUnknown_020297F0 = {0};
EWRAM_DATA struct WarpData gUnknown_020297F8 = {0};
EWRAM_DATA struct WarpData gUnknown_02029800 = {0};
EWRAM_DATA struct WarpData gUnknown_02029808 = {0};
EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0};
EWRAM_DATA u16 gUnknown_02029814 = 0;
EWRAM_DATA bool8 gUnknown_02029816 = FALSE;
EWRAM_DATA struct LinkPlayerMapObject gLinkPlayerMapObjects[4] = {0};
extern u8 gUnknown_03000580[];
extern u16 (*gUnknown_03000584)(u32);
extern u8 gUnknown_03000588;
static u8 gUnknown_03000580[4];
static u16 (*gUnknown_03000584)(u32);
static u8 gUnknown_03000588;
extern u16 word_3004858;
extern void (*gFieldCallback)(void);
extern u8 gUnknown_03004860;
extern u8 gFieldLinkPlayerCount;
u16 word_3004858;
void (*gFieldCallback)(void);
u8 gUnknown_03004860;
u8 gFieldLinkPlayerCount;
extern u16 gUnknown_03004898;
extern u16 gUnknown_0300489C;

View File

@ -14,13 +14,13 @@
#include "task.h"
extern u16 gScriptLastTalked;
extern u32 gUnknown_0202FF84[];
extern struct MapPosition gUnknown_0203923C;
extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
extern u8 UseRockSmashScript[];
EWRAM_DATA struct MapPosition gUnknown_0203923C = {0};
static void task08_080C9820(u8);
static void sub_810B3DC(u8);
static void sub_810B428(u8);

View File

@ -565,9 +565,9 @@ static const u8 sRotatingGate_ArmLayout[][GATE_ARM_WEST + 1][GATE_ARM_MAX_LENGTH
},
};
extern u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX];
extern const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig;
extern u8 gRotatingGate_PuzzleCount;
static EWRAM_DATA u8 gRotatingGate_GateSpriteIds[ROTATING_GATE_PUZZLE_MAX] = {0};
static EWRAM_DATA const struct RotatingGatePuzzle *gRotatingGate_PuzzleConfig = NULL;
static EWRAM_DATA u8 gRotatingGate_PuzzleCount = 0;
static int GetCurrentMapRotatingGatePuzzleType(void)
{

View File

@ -11,21 +11,23 @@
#define GETBLOCKOFFSET(n) (0xF80 * (n - 1))
#define TOTALNUMSECTORS ((ARRAY_COUNT(gSaveSectionLocations) * 2) + (ARRAY_COUNT(gHallOfFameSaveSectionLocations) * 2)) // there are 2 slots, so double each array count and get the sum.
extern u32 gLastSaveSectorStatus; // used but in an unferenced function, so unused
extern u16 gLastWrittenSector;
extern u32 gLastSaveCounter;
extern u16 gLastKnownGoodSector;
extern u32 gDamagedSaveSectors;
extern u32 gSaveCounter;
extern struct SaveSection unk_2000000; // slow save RAM
extern struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM.
extern u16 gUnknown_03005EB4;
extern u16 gSaveFileStatus;
extern u32 gGameContinueCallback;
u16 gLastWrittenSector;
u32 gLastSaveCounter;
u16 gLastKnownGoodSector;
u32 gDamagedSaveSectors;
u32 gSaveCounter;
struct SaveSection *gFastSaveSection; // the pointer is in fast IWRAM but may sometimes point to the slower EWRAM.
u16 gUnknown_03005EB4;
u16 gSaveFileStatus;
u32 gGameContinueCallback;
extern struct PokemonStorage gPokemonStorage;
extern struct HallOfFame gHallOfFame;
static EWRAM_DATA u32 gLastSaveSectorStatus = 0; // used but in an unferenced function, so unused
const struct SaveSectionLocation gSaveSectionLocations[] =
{
{((u8 *) &gSaveBlock2) + GETBLOCKOFFSET(1), GETCHUNKSIZE(gSaveBlock2, 1)},

View File

@ -22,17 +22,11 @@
#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
struct SaveFailedClockStruct
{
bool16 clockRunning;
u16 timer; // appears to be unused, the only case its "used" cannot be reached normally
u8 unused[0xE]; // appears to be unused space. alternatively, there could have been multiple clock structs. however, neither of these cases are fulfilled, so the purpose of this space is unknown. one theory is that there is room for 3 more clock structs (2 16-bit values), so its possible GF intended there to be support for link-based save failed screens in case the synchronization failed, or it in fact was present in an earlier build but taken out for reasons.
};
extern u8 unk_2000000[];
extern u16 gSaveFailedType;
extern struct SaveFailedClockStruct gSaveFailedClockInfo;
static EWRAM_DATA u16 gSaveFailedType = 0;
static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0};
extern u32 gDamagedSaveSectors;
extern u32 gGameContinueCallback;
@ -83,7 +77,7 @@ void DoSaveFailedScreen(u8 saveType)
{
SetMainCallback2(CB2_SaveFailedScreen);
gSaveFailedType = saveType;
gSaveFailedClockInfo.clockRunning = FALSE;
gSaveFailedClockInfo[0] = FALSE;
}
static void VBlankCB(void)
@ -159,7 +153,7 @@ static void CB2_WipeSave(void)
{
u8 wipeTries = 0;
gSaveFailedClockInfo.clockRunning = TRUE;
gSaveFailedClockInfo[0] = TRUE;
while (gDamagedSaveSectors != 0 && wipeTries < 3) // while there are still attempts left, keep trying to fix the save sectors.
{
@ -208,7 +202,7 @@ static void CB2_WipeSave(void)
static void CB2_GameplayCannotBeContinued(void)
{
gSaveFailedClockInfo.clockRunning = FALSE;
gSaveFailedClockInfo[0] = FALSE;
if (gMain.newKeys & A_BUTTON)
{
@ -221,7 +215,7 @@ static void CB2_GameplayCannotBeContinued(void)
static void CB2_FadeAndReturnToTitleScreen(void)
{
gSaveFailedClockInfo.clockRunning = FALSE;
gSaveFailedClockInfo[0] = FALSE;
if (gMain.newKeys & A_BUTTON)
{
@ -255,7 +249,7 @@ static void VBlankCB_UpdateClockGraphics(void)
gMain.oamBuffer[0].x = 112;
gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8;
if (gSaveFailedClockInfo.clockRunning != FALSE)
if (gSaveFailedClockInfo[0] != FALSE)
{
gMain.oamBuffer[0].tileNum = sClockFrames[n][0];
gMain.oamBuffer[0].matrixNum = (sClockFrames[n][2] << 4) | (sClockFrames[n][1] << 3);
@ -267,8 +261,8 @@ static void VBlankCB_UpdateClockGraphics(void)
CpuFastCopy(gMain.oamBuffer, (void *)OAM, 4);
if (gSaveFailedClockInfo.timer) // maybe was used for debugging?
gSaveFailedClockInfo.timer--;
if (gSaveFailedClockInfo[1]) // maybe was used for debugging?
gSaveFailedClockInfo[1]--;
}
static bool8 VerifySectorWipe(u16 sector)

View File

@ -48,12 +48,14 @@ typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void);
extern u32 gUnknown_0202E8AC;
extern u32 gUnknown_0202E8B0;
extern u16 gUnknown_0202E8B4;
extern u16 gUnknown_0202E8B6;
extern u16 gUnknown_0202E8B8;
extern u16 gUnknown_0202E8BA;
extern u16 gUnknown_0202E8BC;
static EWRAM_DATA u32 gUnknown_0202E8B0 = 0;
static EWRAM_DATA u16 gUnknown_0202E8B4 = 0;
static EWRAM_DATA u16 gUnknown_0202E8B6 = 0;
static EWRAM_DATA u16 gUnknown_0202E8B8 = 0;
static EWRAM_DATA u16 gUnknown_0202E8BA = 0;
static EWRAM_DATA u16 gUnknown_0202E8BC = 0;
extern u16 gSpecialVar_0x8000;
extern u16 gSpecialVar_0x8001;
extern u16 gSpecialVar_0x8002;
@ -61,8 +63,6 @@ extern u16 gSpecialVar_0x8004;
extern u16 gScriptResult;
extern u32 gUnknown_0202FF84[];
extern u16 gScriptContestCategory;
extern SpecialFunc gSpecials[];

View File

@ -4,8 +4,7 @@
#define RAM_SCRIPT_MAGIC 51
extern u8 *gUnknown_0202E8AC;
extern u32 gUnknown_0202E8B0;
EWRAM_DATA u8 *gUnknown_0202E8AC = NULL;
static u8 sScriptContext1Status;
static struct ScriptContext sScriptContext1;

View File

@ -5,7 +5,7 @@
#include "task.h"
#include "util.h"
extern u8 *gUnknown_020384F8[];
static EWRAM_DATA u8 *gUnknown_020384F8[16] = {0};
static void sub_80A2198(u8);
static u8 sub_80A21E0(void);

View File

@ -17,8 +17,9 @@ struct Fanfare
u32 SpeciesToCryId(u32);
extern u16 gBattleTypeFlags;
extern struct MusicPlayerInfo *gMPlay_PokemonCry;
extern u8 gPokemonCryBGMDuckingCounter;
static EWRAM_DATA struct MusicPlayerInfo *gMPlay_PokemonCry = NULL;
static EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0;
static u16 sCurrentMapMusic;
static u16 sNextMapMusic;
@ -26,7 +27,8 @@ static u8 sMapMusicState;
static u8 sMapMusicFadeInSpeed;
static u16 sFanfareCounter;
extern bool8 gDisableMusic;
bool8 gDisableMusic;
extern struct MusicPlayerInfo gMPlay_BGM;
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;

View File

@ -57,18 +57,19 @@ extern struct ToneData voicegroup_8453190[];
extern struct ToneData voicegroup_84549C0[];
extern struct ToneData voicegroup_8453790[];
extern int gUnknown_020387B4[9];
static EWRAM_DATA u8 gUnknown_020387B0 = 0;
static EWRAM_DATA u8 gUnknown_020387B1 = 0;
static EWRAM_DATA u8 gUnknown_020387B2 = 0;
static EWRAM_DATA s8 gUnknown_020387B3 = 0;
static EWRAM_DATA int gUnknown_020387B4[9] = {0};
static EWRAM_DATA u8 gUnknown_020387D8 = 0;
static EWRAM_DATA u8 gUnknown_020387D9 = 0;
extern s8 gUnknown_020387B3;
extern u8 gUnknown_020387B1;
extern u8 gUnknown_020387B2;
extern u8 gUnknown_020387D8;
extern u8 gUnknown_020387D9;
extern u8 gUnknown_020387B0;
extern u16 gUnknown_03005D34;
extern u8 gUnknown_03005E98;
extern struct MusicPlayerInfo *gUnknown_03005D30;
struct MusicPlayerInfo *gUnknown_03005D30;
extern struct MusicPlayerInfo gMPlay_BGM;
void sub_80BA258(u8);

View File

@ -51,9 +51,11 @@ static bool8 savingComplete;
extern bool8 gDifferentSaveFile;
extern u16 gSaveFileStatus;
extern u16 gScriptResult;
extern u8 (*gCallback_03004AE8)(void);
extern u8 gUnknown_03004860;
u8 (*gCallback_03004AE8)(void);
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
EWRAM_DATA static u8 sCurrentStartMenuActions[10] = {0};

View File

@ -41,7 +41,6 @@
extern u8 gReservedSpritePaletteCount;
extern struct MusicPlayerInfo gMPlay_BGM;
extern u8 gUnknown_0202F7E4;
extern u16 gUnknown_030041B4;
extern u16 gUnknown_030042C0;
extern const u8 gUnknown_08E9D8CC[];
@ -51,6 +50,8 @@ extern const u8 gVersionTiles[];
extern const u8 gTitleScreenPressStart_Gfx[];
extern const u16 gTitleScreenLogoShinePalette[];
static EWRAM_DATA u8 gUnknown_0202F7E4 = 0;
#ifdef SAPPHIRE
static const u16 sLegendaryMonPalettes[][16] =
{

View File

@ -51,7 +51,8 @@ extern u8 ewram[];
#define ewram0 (*(struct Struct2000000 *)(ewram))
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[];
extern struct TrainerCard gTrainerCards[4];
EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0};
struct UnknownStruct1
{

View File

@ -13,8 +13,6 @@ extern bool8 (*gIsTrainerInRange[])(struct MapObject *, u16, s16, s16);
extern bool8 (*gTrainerSeeFuncList[])(u8, struct Task *, struct MapObject *);
extern bool8 (*gTrainerSeeFuncList2[])(u8, struct Task *, struct MapObject *);
extern u32 gUnknown_0202FF84[];
extern struct SpriteTemplate gSpriteTemplate_839B510;
extern struct SpriteTemplate gSpriteTemplate_839B528;

View File

@ -63,14 +63,7 @@ extern u8 gUnknown_02038694;
extern struct TVSaleItem gUnknown_02038724[3];
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gSpecialVar_0x8006;
extern u8 gSpecialVar_0x8007;
extern u16 gScriptResult;
extern u8 gUnknown_020387E8;
extern struct UnkTvStruct gUnknown_03005D38;
struct UnkTvStruct gUnknown_03005D38;
extern u8 *gTVBravoTrainerTextGroup[];
extern u8 *gTVBravoTrainerBattleTowerTextGroup[];
@ -87,8 +80,7 @@ extern u8 *gTVFishingGuruAdviceTextGroup[];
extern u8 *gTVWorldOfMastersTextGroup[];
extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
extern u16 gUnknown_020387E0;
extern u16 gUnknown_020387E2;
extern const u8 *gTVNewsTextGroup1[];
extern const u8 *gTVNewsTextGroup2[];
@ -96,7 +88,6 @@ extern const u8 *gTVNewsTextGroup3[];
extern u16 gScriptLastTalked;
extern u8 gScriptContestCategory;
extern u8 gScriptContestRank;
extern u8 gUnknown_03004316[11];
@ -106,10 +97,15 @@ extern u16 gLastUsedItem;
extern u8 ewram[];
#define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000))
extern u8 gUnknown_020387E4;
extern u8 gUnknown_03000720;
extern s8 gUnknown_03000722;
static EWRAM_DATA u16 gUnknown_020387E0 = 0;
static EWRAM_DATA u16 gUnknown_020387E2 = 0;
static EWRAM_DATA u8 gUnknown_020387E4 = 0;
static EWRAM_DATA ALIGNED(4) u8 gUnknown_020387E8 = 0; // why is this aligned to a 4-byte boundary?
static u8 gUnknown_03000720;
static u8 gUnknown_03000721;
static s8 gUnknown_03000722;
void ClearTVShowData(void)
{
@ -1921,9 +1917,6 @@ void sub_80BFD44(u8 *arg0, u32 arg1, u8 arg2)
sub_80C0408();
}
extern u8 gUnknown_03000720;
extern u8 gUnknown_03000721;
extern s8 gUnknown_03000722;
s8 sub_80C019C(TVShow tvShows[]);
bool8 sub_80BFF68(TVShow * tv1[25], TVShow * tv2[25], u8 idx);
u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx);

View File

@ -102,10 +102,11 @@ const struct SpriteTemplate gSpriteTemplate_840618C = {
asm(".text\n"
".include \"constants/gba_constants.inc\"");
extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304;
extern MainCallback gUnknown_02039308;
extern struct Pokeblock *gUnknown_0203930C;
extern u8 gUnknown_02039310;
static EWRAM_DATA struct UnkPokenavStruct_Sub1 *gUnknown_02039304 = NULL;
static EWRAM_DATA MainCallback gUnknown_02039308 = NULL;
static EWRAM_DATA struct Pokeblock *gUnknown_0203930C = NULL;
EWRAM_DATA u8 gUnknown_02039310 = 0;
EWRAM_DATA s16 gUnknown_02039312 = 0;
extern u16 gKeyRepeatStartDelay;
extern u16 gScriptItemId; // FIXME: remove after merge of #349 Pokeblock

View File

@ -5,6 +5,8 @@
.include "src/link.o"
.include "src/rtc.o"
@ daycare
.align 2
gUnknown_03000470: @ 3000470
.space 0x68
@ -21,9 +23,13 @@ gUnknown_030004E8: @ 30004E8
gUnknown_03000500: @ 3000500
.space 0x8
@ trade
gUnknown_03000508: @ 3000508
.space 0x8
@ berry_blender
gUnknown_03000510: @ 3000510
.space 0x10
@ -49,38 +55,14 @@ gUnknown_03000560: @ 3000560
.space 0x1C
.include "src/play_time.o"
.include "src/rom4.o"
@ unused variable?
.align 2
gUnknown_03000580: @ 3000580
.space 0x4
gUnknown_03000584: @ 3000584
.space 0x4
gUnknown_03000588: @ 3000588
.space 0x8
gUnknown_03000590: @ 3000590
.space 0x8
gUnknown_03000598: @ 3000598
.space 0x2
gUnknown_0300059A: @ 300059A
.space 0x2
gUnknown_0300059C: @ 300059C
.space 0x4
gUnknown_030005A0: @ 30005A0
.space 0x4
gUnknown_030005A4: @ 30005A4
.space 0x2
gUnknown_030005A6: @ 30005A6
.space 0x2
.include "src/field_camera.o"
.include "src/field_map_obj.o"
.include "src/field_message_box.o"
.include "src/text_window.o"
.include "src/script.o"
@ -89,29 +71,27 @@ gUnknown_030005A6: @ 30005A6
.include "src/tileset_anim.o"
.include "src/sound.o"
@ field_weather
gUnknown_030006DC: @ 30006DC
.space 0x4
.include "src/field_effect.o"
.include "src/item_menu.o"
.include "src/item_menu.o"
@ shop
gUnknown_03000708: @ 3000708
.space 0x10
gUnknown_03000718: @ 3000718
.include "src/record_mixing.o"
.include "src/tv.o"
@ unused variable?
.align 2
.space 0x4
gUnknown_0300071C: @ 300071C
.space 0x4
gUnknown_03000720: @ 3000720
.space 0x1
gUnknown_03000721: @ 3000721
.space 0x1
gUnknown_03000722: @ 3000722
.space 0x6
@ battle_anim_80CA710
gUnknown_03000728: @ 3000728
.space 0x8
@ -119,45 +99,39 @@ gUnknown_03000728: @ 3000728
gUnknown_03000730: @ 3000730
.space 0x10
@ easy_chat
gUnknown_03000740: @ 3000740
.space 0x4
@ pokenav
gUnknown_03000744: @ 3000744
.space 0x4
@ mauville_old_man
gUnknown_03000748: @ 3000748
.space 0x4
.include "src/menu_helpers.o"
.include "src/contest_painting.o"
.include "src/pokeblock.o"
@ unused variable?
.align 2
.space 0x4
.include "src/field_specials.o"
@ learn_move
.align 2
gUnknown_03000750: @ 3000750
.space 0x2
gUnknown_03000752: @ 3000752
.space 0x2
gUnknown_03000754: @ 3000754
.space 0x2
gUnknown_03000756: @ 3000756
.space 0x2
gUnknown_03000758: @ 3000758
.space 0x8
gUnknown_03000760: @ 3000760
.space 0x50
gUnknown_030007B0: @ 30007B0
.space 0x4
gPcItemMenuOptionsNum: @ 30007B4
.space 0x4
gUnknown_030007B8: @ 30007B8
.space 0x770
.include "src/player_pc.o"
.include "asm/m4a_1.o"
.include "src/agb_flash.o"
.include "src/siirtc.o"
.include "tools/agbcc/lib/libgcc.a:dp-bit.o"

View File

@ -3,11 +3,11 @@
.include "string_util.o"
.include "link.o"
.include "rtc.o"
.include "rom3.o"
.align 4
gBattleBuffersTransferData: @ 3004040
.space 0x170
@ battle
.align 2
gUnknown_030041B0: @ 30041B0
.space 0x4
@ -104,32 +104,27 @@ gUnknown_03004348: @ 3004348
gUnknown_0300434C: @ 300434C
.space 0x4
gPlayerPartyCount: @ 3004350
.space 0x10
gPlayerParty: @ 3004360
.space 0x258
gEnemyPartyCount: @ 30045B8
.space 0x8
gEnemyParty: @ 30045C0
.space 0x258
.include "pokemon_1.o"
.include "rng.o"
@ egg_hatch
.align 2
gUnknown_0300481C: @ 300481C
.space 0x4
.include "load_save.o"
@ trade
gUnknown_03004824: @ 3004824
.space 0x4
gUnknown_03004828: @ 3004828
.space 0x8
@ berry_blender
gUnknown_03004830: @ 3004830
.space 0x4
@ -142,59 +137,27 @@ gUnknown_03004840: @ 3004840
gUnknown_03004854: @ 3004854
.space 0x4
word_3004858: @ 3004858
.space 0x4
.include "rom4.o"
.include "fieldmap.o"
.include "field_camera.o"
.include "field_map_obj.o"
.include "field_control_avatar.o"
gFieldCallback: @ 300485C
.space 0x4
gUnknown_03004860: @ 3004860
.space 0x4
gFieldLinkPlayerCount: @ 3004864
.space 0xC
gUnknown_03004870: @ 3004870
.space 0x10
gUnknown_03004880: @ 3004880
.space 0x18
gUnknown_03004898: @ 3004898
.space 0x4
gUnknown_0300489C: @ 300489C
.space 0x4
gMapObjects: @ 30048A0
.space 0x240
gSelectedMapObject: @ 3004AE0
.space 0x4
@ party_menu?
.align 2
gUnknown_03004AE4: @ 3004AE4
.space 0x4
gCallback_03004AE8: @ 3004AE8
.space 0x4
gDisableMusic: @ 3004AEC
.space 0x4
gSoundAnimFramesToWait: @ 3004AF0
.space 0x10
gBattleAnimArgs: @ 3004B00
.space 0x10
gAnimSpriteIndexArray: @ 3004B10
.space 0x10
.include "start_menu.o"
.include "sound.o"
.include "battle_anim.o"
.include "task.o"
.include "mori_debug_menu.o"
gUnknown_03004DA0: @ 3004DA0
.space 0x20
@ unknown_task
.align 4
gUnknown_03004DC0: @ 3004DC0
.space 0x20
@ -216,21 +179,25 @@ gUnknown_03005560: @ 3005560
gUnknown_030056A0: @ 30056A0
.space 0x640
@ pokemon_menu
gLastFieldPokeMenuOpened: @ 3005CE0
.space 0x4
gUnknown_03005CE4: @ 3005CE4
.space 0x4
gUnknown_03005CE8: @ 3005CE8
.space 0x4
.include "pokedex.o"
gUnknown_03005CEC: @ 3005CEC
.space 0x4
@ pokemon_summary_screen
.align 4
gUnknown_03005CF0: @ 3005CF0
.space 0x10
@ item_menu
.align 4
gUnknown_03005D00: @ 3005D00
.space 0x10
@ -240,24 +207,31 @@ gBagPocketScrollStates: @ 3005D10
gCurrentBagPocketItemSlots: @ 3005D24
.space 0x4
@ contest
.align 2
gUnknown_03005D28: @ 3005D28
.space 0x4
gUnknown_03005D2C: @ 3005D2C
.space 0x4
gUnknown_03005D30: @ 3005D30
.space 0x4
.include "record_mixing.o"
.include "sound_check_menu.o"
.align 2
gUnknown_03005D34: @ 3005D34
.space 0x4
gUnknown_03005D38: @ 3005D38
.space 0x68
.include "tv.o"
.space 0x64 @ unused variable?
@ mauville_old_man
.align 4
gUnknown_03005DA0: @ 3005DA0
.space 0x48
@ cute_sketch
gUnknown_03005DE8: @ 3005DE8
.space 0x4
@ -288,60 +262,28 @@ gUnknown_03005E08: @ 3005E08
gUnknown_03005E0C: @ 3005E0C
.space 0x4
gUnknown_03005E10: @ 3005E10
.space 0x10
.include "contest_painting.o"
gUnknown_03005E20: @ 3005E20
.space 0x20
gUnknown_03005E40: @ 3005E40
.space 0x4C
gUnknown_03005E8C: @ 3005E8C
.space 0x4
gUnknown_03005E90: @ 3005E90
.space 0x4
@ evolution_scene
.align 2
gUnknown_03005E94: @ 3005E94
.space 0x4
@ pokedex_cry_screen
gUnknown_03005E98: @ 3005E98
.space 0x4
gLastWrittenSector: @ 3005E9C
.space 0x4
.include "save.o"
gLastSaveCounter: @ 3005EA0
.space 0x4
.space 0x10 @ unused variable?
gLastKnownGoodSector: @ 3005EA4
.space 0x4
.include "intro.o"
gDamagedSaveSectors: @ 3005EA8
.space 0x4
gSaveCounter: @ 3005EAC
.space 0x4
gFastSaveSection: @ 3005EB0
.space 0x4
gUnknown_03005EB4: @ 3005EB4
.space 0x4
gSaveFileStatus: @ 3005EB8
.space 0x4
gGameContinueCallback: @ 3005EBC
.space 0x14
gIntroFrameCounter: @ 3005ED0
.space 0x10
gMultibootProgramStruct: @ 3005EE0
.space 0x2C
@ battle_anim_813F0F4
.align 2
gUnknown_03005F0C: @ 3005F0C
.space 0x4
@ -351,6 +293,8 @@ gUnknown_03005F10: @ 3005F10
gUnknown_03005F14: @ 3005F14
.space 0xC
@ pokeblock_feed
gUnknown_03005F20: @ 3005F20
.space 0x4

View File

@ -6,17 +6,11 @@
.space 0x2E8
.include "src/link.o"
.include "src/rom3.o"
@ battle
.align 2
gUnknown_020238C4: @ 20238C4
.space 0x1
gUnknown_020238C5: @ 20238C5
.space 0x1
gUnknown_020238C6: @ 20238C6
.space 0x2
gUnknown_020238C8: @ 20238C8
.space 0x4
@ -299,20 +293,11 @@ word_2024E82: @ 2024E82
gBattleMonForms: @ 2024E84
.space 0x4
byte_2024E88: @ 2024E88
.space 0x4
.include "src/pokemon_1.o"
.include "src/pokemon_2.o"
.include "src/load_save.o"
gUnknown_02024E8C: @ 2024E8C
.space 0x18
gSaveBlock2: @ 2024EA4
.space 0x890
gSaveBlock1: @ 2025734
.space 0x3AC0
gLoadedSaveData: @ items
.space 0x4D8
@ trade
gUnknown_020296CC: @ 20296CC
.space 0x34
@ -323,6 +308,8 @@ gUnknown_02029700: @ 2029700
gUnknown_020297D8: @ 20297D8
.space 0x4
@ berry_blender
gUnknown_020297DC: @ 20297DC
.space 0x4
@ -335,128 +322,20 @@ gUnknown_020297E4: @ 20297E4
gUnknown_020297E8: @ 20297E8
.space 0x4
gDifferentSaveFile: @ 20297EC
.space 0x1
gUnknown_020297ED: @ 20297ED
.space 0x3
gUnknown_020297F0: @ 20297F0
.space 0x8
gUnknown_020297F8: @ 20297F8
.space 0x8
gUnknown_02029800: @ 2029800
.space 0x8
gUnknown_02029808: @ 2029808
.space 0x8
gUnknown_02029810: @ 2029810
.space 0x4
gUnknown_02029814: @ 2029814
.space 0x2
gUnknown_02029816: @ 2029816
.space 0x2
gLinkPlayerMapObjects: @ 2029818
.space 0x10
.include "src/new_game.o"
.include "src/rom4.o"
.include "src/fieldmap.o"
.include "src/field_camera.o"
.include "src/field_player_avatar.o"
.include "src/field_message_box.o"
.include "src/script.o"
.include "src/scrcmd.o"
.include "src/field_control_avatar.o"
.include "src/event_data.o"
gUnknown_0202E854: @ 202E854
.space 0x4
gPlayerAvatar: @ 202E858
.space 0x14
gUnknown_0202E86C: @ 202E86C
.space 0x8
gUnknown_0202E874: @ 202E874
.space 0x8
gFieldMessageBoxWindow: @ 202E87C
.space 0x30
gUnknown_0202E8AC: @ 202E8AC
.space 0x4
gUnknown_0202E8B0: @ 202E8B0
.space 0x4
gUnknown_0202E8B4: @ 202E8B4
.space 0x2
gUnknown_0202E8B6: @ 202E8B6
.space 0x2
gUnknown_0202E8B8: @ 202E8B8
.space 0x2
gUnknown_0202E8BA: @ 202E8BA
.space 0x2
gUnknown_0202E8BC: @ 202E8BC
.space 0x4
gUnknown_0202E8C0: @ 202E8C0
.space 0x2
gUnknown_0202E8C2: @ 202E8C2
.space 0x2
gSpecialVar_0x8000: @ 202E8C4
.space 0x2
gSpecialVar_0x8001: @ 202E8C6
.space 0x2
gSpecialVar_0x8002: @ 202E8C8
.space 0x2
gSpecialVar_0x8003: @ 202E8CA
.space 0x2
gSpecialVar_0x8004: @ 202E8CC
.space 0x2
gSpecialVar_0x8005: @ 202E8CE
.space 0x2
gSpecialVar_0x8006: @ 202E8D0
.space 0x2
gSpecialVar_0x8007: @ 202E8D2
.space 0x2
gSpecialVar_0x8008: @ 202E8D4
.space 0x2
gSpecialVar_0x8009: @ 202E8D6
.space 0x2
gSpecialVar_0x800A: @ 202E8D8
.space 0x2
gSpecialVar_0x800B: @ 202E8DA
.space 0x2
gScriptResult: @ 202E8DC
.space 0x2
gScriptLastTalked: @ 202E8DE
.space 0x2
gScriptFacing: @ 202E8E0
.space 0x2
gUnknown_0202E8E2: @ 202E8E2
.space 0x12
@ party_menu
.align 2
gUnknown_0202E8F4: @ 202E8F4
.space 0x1
@ -476,20 +355,14 @@ gUnknown_0202E8FA: @ 202E8FA
.include "src/menu.o"
.include "src/tileset_anim.o"
.include "src/palette.o"
.align 2
gMPlay_PokemonCry: @ 202F79C
.space 0x4
gPokemonCryBGMDuckingCounter: @ 202F7A0
.space 0x4
.include "src/sound.o"
.include "src/battle_anim.o"
.include "src/rom_8077ABC.o"
.include "src/title_screen.o"
gUnknown_0202F7E4: @ 202F7E4
.space 0x4
@ field_weather
.align 2
gUnknown_0202F7E8: @ 202F7E8
.space 0x200
@ -507,13 +380,15 @@ gUnknown_0202FF58: @ 202FF58
.include "src/battle_setup.o"
.include "src/wild_encounter.o"
.include "src/field_effect.o"
gUnknown_0202FF84: @ 202FF84
.space 0x20
@ unknown_task
gUnknown_0202FFA4: @ 202FFA4
.space 0x4
@ pokemon_menu
gUnknown_0202FFA8: @ 202FFA8
.space 0x1
@ -523,27 +398,13 @@ gUnknown_0202FFA9: @ 202FFA9
gUnknown_0202FFAA: @ 202FFAA
.space 0xA
gPokedexView: @ 202FFB4
.space 0x4
.include "src/pokedex.o"
.include "src/trainer_card.o"
.include "src/pokemon_storage_system.o"
gUnknown_0202FFB8: @ 202FFB8
.space 0x2
gUnknown_0202FFBA: @ 202FFBA
.space 0x2
gUnknown_0202FFBC: @ 202FFBC
.space 0x4
gTrainerCards: @ 202FFC0
.space 0xE0
gPokemonStorage: @ 20300A0
.space 0x360
gUnknown_02030400: @ 02030400
.space 0x8070
@ still pokemon_storage_system
.align 2
gUnknown_02038470: @ 2038470
.space 0x3
@ -595,19 +456,21 @@ gUnknown_020384EA: @ 20384EA
gUnknown_020384EC: @ 20384EC
.space 0x4
@ pokemon_summary_screen
gUnknown_020384F0: @ 20384F0
.space 0x4
gUnknown_020384F4: @ 20384F4
.space 0x4
gUnknown_020384F8: @ 20384F8
.space 0x40
.include "src/script_movement.o"
.include "src/map_name_popup.o"
.include "src/item_menu.o"
.align 2
@ contest
.align 2
gUnknown_0203856C: @ 203856C
.space 0x4
@ -660,6 +523,8 @@ gScriptContestCategory: @ 203869C
gScriptContestRank: @ 203869E
.space 0x2
@ shop
gUnknown_020386A0: @ 20386A0
.space 0x4
@ -681,182 +546,69 @@ gUnknown_02038730: @ 2038730
gUnknown_02038731: @ 2038731
.space 0x3
gUnknown_02038734: @ 2038734
.space 0x4
.include "src/money.o"
@ record_mixing
.align 2
gUnknown_02038738: @ 2038738
.space 0x78
gUnknown_020387B0: @ 20387B0
.space 0x1
.include "src/sound_check_menu.o"
gUnknown_020387B1: @ 20387B1
.space 0x1
gUnknown_020387B2: @ 20387B2
.space 0x1
gUnknown_020387B3: @ 20387B3
.space 0x1
gUnknown_020387B4: @ 20387B4
.space 0x24
gUnknown_020387D8: @ 20387D8
.space 0x1
gUnknown_020387D9: @ 20387D9
.space 0x3
@ secret_base
.align 2
gUnknown_020387DC: @ 20387DC
.space 0x4
gUnknown_020387E0: @ 20387E0
.space 0x2
@ tv
gUnknown_020387E2: @ 20387E2
.space 0x2
.include "src/tv.o"
gUnknown_020387E4: @ 20387E4
.space 0x4
gUnknown_020387E8: @ 20387E8
.space 0x4
@ fldeff_80C5CD4
.align 2
gUnknown_020387EC: @ 20387EC
.space 0x4
gRotatingGate_GateSpriteIds: @ 20387F0
.space 0x10
gRotatingGate_PuzzleConfig: @ 2038800
.space 0x4
gRotatingGate_PuzzleCount: @ 2038804
.space 0x4
.include "src/rotating_gate.o"
.include "src/safari_zone.o"
@ easy_chat
gUnknown_020388AC: @ 20388AC
.space 0x4
@ pokenav
gUnknown_020388B0: @ 20388B0
.space 0x4
gUnknown_020388B4: @ 20388B4
.space 0x4
@ mon_markings
gUnknown_020388B8: @ 20388B8
.space 0x4
@ mauville_old_man
gUnknown_020388BC: @ 20388BC
.space 0x4
.include "src/menu_helpers.o"
.include "src/region_map.o"
.include "src/decoration.o"
.include "src/battle_ai.o"
.include "src/rom6.o"
.include "src/pokeblock.o"
.include "src/field_specials.o"
@ pokedex_area_screen
.align 2
gRegionMap: @ 20388CC
.space 0x4
gUnknown_020388D0: @ 20388D0
.space 0x4
gUnknown_020388D4: @ 20388D4
.space 0x1
gUnknown_020388D5: @ 20388D5
.space 0x1
gUnknown_020388D6: @ 20388D6
.space 0x10
gUnknown_020388E6: @ 20388E6
.space 0xC
gUnknown_020388F2: @ 20388F2
.space 0x1
gUnknown_020388F3: @ 20388F3
.space 0x1
gUnknown_020388F4: @ 20388F4
.space 0x1
gUnknown_020388F5: @ 20388F5
.space 0x1
gUnknown_020388F6: @ 20388F6
.space 0x1
gUnknown_020388F7: @ 20388F7
.space 0x9
gUnknown_02038900: @ 2038900
.space 0x8A4
gUnknown_020391A4: @ 20391A4
.space 0x2
gUnknown_020391A6: @ 20391A6
.space 0x2
gUnknown_020391A8: @ 20391A8
.space 0x1
gUnknown_020391A9: @ 20391A9
.space 0x1
gUnknown_020391AA: @ 20391AA
.space 0x2
gUnknown_020391AC: @ 20391AC
.space 0x8
gUnknown_020391B4: @ 20391B4
.space 0x80
gUnknown_02039234: @ 2039234
.space 0x4
gAIScriptPtr: @ 2039238
.space 0x4
gUnknown_0203923C: @ 203923C
.space 0x8
gUnknown_02039244: @ 2039244
.space 0x4
gUnknown_02039248: @ 2039248
.space 0x4
gUnknown_0203924C: @ 203924C
.space 0x4
gUnknown_02039250: @ 2039250
.space 0x1
gUnknown_02039251: @ 2039251
.space 0x3
gUnknown_02039254: @ 2039254
.space 0x4
gUnknown_02039258: @ 2039258
.space 0x1
gUnknown_02039259: @ 2039259
.space 0x1
gUnknown_0203925A: @ 203925A
.space 0x1
gUnknown_0203925B: @ 203925B
.space 0x1
gUnknown_0203925C: @ 203925C
.space 0x4
gUnknown_02039260: @ 2039260
.space 0x2
@ -875,12 +627,16 @@ gUnknown_02039268: @ 2039268
gUnknown_0203926A: @ 203926A
.space 0x2
@ battle_message
gAbilitiesPerBank: @ 203926C
.space 0x4
gSelectedOrderFromParty: @ 2039270
.space 0x4
.include "src/choose_party.o"
@ cable_car
.align 2
gUnknown_02039274: @ 2039274
.space 0x4
@ -902,75 +658,33 @@ gUnknown_0203927C: @ 203927C
gUnknown_0203927D: @ 203927D
.space 0x7
gLastSaveSectorStatus: @ 2039284
.space 0x4
gUnknown_02039288: @ 2039288
.space 0x74
.include "src/save.o"
.include "src/mystery_event_script.o"
.include "src/roamer.o"
.include "src/use_pokeblock.o"
.include "src/player_pc.o"
.include "src/intro.o"
@ hall_of_fame
.align 2
gUnknown_02039304: @ 2039304
.space 0x4
gUnknown_02039308: @ 2039308
.space 0x4
gUnknown_0203930C: @ 203930C
.space 0x4
gUnknown_02039310: @ 2039310
.space 0x2
gUnknown_02039312: @ 2039312
.space 0x2
gPcItemMenuOptionOrder: @ 2039314
.space 0x4
gUnknown_02039318: @ 2039318
.space 0x2
gUnknown_0203931A: @ 203931A
.space 0x2
gUnknown_0203931C: @ 203931C
.space 0x4
gUnknown_02039320: @ 2039320
.space 0x2
gUnknown_02039322: @ 2039322
.space 0x2
gUnknown_02039324: @ 2039324
.space 0x1
gUnknown_02039325: @ 2039325
.space 0x3
.include "src/credits.o"
.include "src/lottery_corner.o"
.include "src/berry_tag_screen.o"
.include "src/mystery_event_menu.o"
.include "src/save_failed_screen.o"
gUnknown_0203932C: @ 203932C
.space 0x2
gUnknown_0203932E: @ 203932E
.space 0xA
gUnknown_02039338: @ 2039338
.space 0x4
gSaveFailedType: @ 203933C
.space 0x2
gSaveFailedClockInfo: @ 203933E
.space 0x12
@ pokeblock_feed
.align 2
gUnknown_02039350: @ 2039350
.space 0x8
@ intro_credits_graphics
gUnknown_02039358: @ 2039358
.space 0x2
@ -980,6 +694,8 @@ gUnknown_0203935A: @ 203935A
gUnknown_0203935C: @ 203935C
.space 0x4
@ ???
gTileBuffer: @ 2039360
.space 0x100
@ -992,19 +708,4 @@ gUnknown_02039760: @ 2039760
gUnknown_0203A360: @ 203A360
.space 0x20
gMenuCursorSubsprites: @ 203A380
.space 0x50
gUnknown_0203A3D0: @ 203A3D0
.space 0x1
gUnknown_0203A3D1: @ 203A3D1
.space 0x1
gUnknown_0203A3D2: @ 203A3D2
.space 0x1
gUnknown_0203A3D3: @ 203A3D3
.space 0x1
gUnknown_0203A3D4: @ 203A3D4
.include "src/menu_cursor.o"