summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common_syms/battle/battle_anim.txt3
-rw-r--r--common_syms/debug/mori_debug_menu.txt1
-rw-r--r--common_syms/debug/sound_check_menu.txt2
-rw-r--r--common_syms/engine/link.txt46
-rw-r--r--common_syms/engine/load_save.txt1
-rw-r--r--common_syms/engine/main.txt9
-rw-r--r--common_syms/engine/random.txt1
-rw-r--r--common_syms/engine/record_mixing.txt1
-rw-r--r--common_syms/engine/rtc.txt1
-rw-r--r--common_syms/engine/save.txt9
-rw-r--r--common_syms/engine/sound.txt1
-rw-r--r--common_syms/engine/sprite.txt12
-rw-r--r--common_syms/engine/string_util.txt1
-rw-r--r--common_syms/engine/task.txt1
-rw-r--r--common_syms/field/field_camera.txt3
-rw-r--r--common_syms/field/field_control_avatar.txt1
-rw-r--r--common_syms/field/field_map_obj.txt1
-rw-r--r--common_syms/field/fieldmap.txt1
-rw-r--r--common_syms/field/overworld.txt4
-rw-r--r--common_syms/field/start_menu.txt1
-rw-r--r--common_syms/field/tv.txt1
-rw-r--r--common_syms/libs/agb_flash.txt10
-rw-r--r--common_syms/libs/m4a_2.txt12
-rw-r--r--common_syms/pokemon/pokeblock_feed.txt12
-rw-r--r--common_syms/pokemon/pokedex.txt2
-rw-r--r--common_syms/pokemon/pokemon_1.txt4
-rw-r--r--common_syms/pokemon/pokemon_menu.txt2
-rw-r--r--common_syms/rom3.txt1
-rw-r--r--common_syms/scanline_effect.txt2
-rw-r--r--common_syms/scene/berry_blender.txt4
-rw-r--r--common_syms/scene/contest_painting.txt5
-rw-r--r--common_syms/scene/cute_sketch.txt0
-rw-r--r--common_syms/scene/egg_hatch.txt1
-rw-r--r--common_syms/scene/evolution_scene.txt1
-rw-r--r--common_syms/scene/intro.txt2
-rw-r--r--src/field/tv.c2
-rw-r--r--sym_common.txt799
37 files changed, 210 insertions, 750 deletions
diff --git a/common_syms/battle/battle_anim.txt b/common_syms/battle/battle_anim.txt
deleted file mode 100644
index a93ac9b5d..000000000
--- a/common_syms/battle/battle_anim.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-gSoundAnimFramesToWait
-gBattleAnimArgs
-gAnimSpriteIndexArray
diff --git a/common_syms/debug/mori_debug_menu.txt b/common_syms/debug/mori_debug_menu.txt
deleted file mode 100644
index 77ab5531c..000000000
--- a/common_syms/debug/mori_debug_menu.txt
+++ /dev/null
@@ -1 +0,0 @@
-gUnknown_03004DA0
diff --git a/common_syms/debug/sound_check_menu.txt b/common_syms/debug/sound_check_menu.txt
deleted file mode 100644
index e9e3032e6..000000000
--- a/common_syms/debug/sound_check_menu.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gUnknown_03005D30
-gSoundTestCryNum
diff --git a/common_syms/engine/link.txt b/common_syms/engine/link.txt
deleted file mode 100644
index faafda4d0..000000000
--- a/common_syms/engine/link.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-word_3002910
-gLinkDebugValue1
-localLinkPlayerBlock
-gLinkErrorOccurred
-4
-gLinkDebugValue2
-4
-#begin GERMAN
-deUnkValue1
-deUnkValue2
-#end
-gLinkPlayerPending
-gLinkPlayers
-gBlockReceived
-4
-gLinkHeldKeys
-gLinkTimeOutCounter
-4
-localLinkPlayer
-gRecvCmds
-gLinkStatus
-gLinkDummyBool
-byte_3002A68
-gBlockSendBuffer
-u8_array_3002B70
-gLinkType
-u8_array_3002B78
-gBlockRecvBuffer
-gSuppressLinkErrorMessage
-gSavedLinkPlayerCount
-gSendCmd
-gSavedMultiplayerId
-gReceivedRemoteLinkPlayers
-gLinkTestBGInfo
-gLinkCallback
-gSavedLinkPlayers
-gShouldAdvanceLinkState
-gLinkTestBlockChecksums
-4
-gBlockRequestType
-4
-4
-gLastSendQueueCount
-gLink
-gLastRecvQueueCount
-gLinkSavedIme
diff --git a/common_syms/engine/load_save.txt b/common_syms/engine/load_save.txt
deleted file mode 100644
index 3b969deca..000000000
--- a/common_syms/engine/load_save.txt
+++ /dev/null
@@ -1 +0,0 @@
-gFlashMemoryPresent
diff --git a/common_syms/engine/main.txt b/common_syms/engine/main.txt
deleted file mode 100644
index a620083d1..000000000
--- a/common_syms/engine/main.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-gKeyRepeatStartDelay
-gLinkTransferringData
-gMain
-gKeyRepeatContinueDelay
-gSoftResetDisabled
-gIntrTable
-gLinkVSyncDisabled
-IntrMain_Buffer
-gPcmDmaCounter
diff --git a/common_syms/engine/random.txt b/common_syms/engine/random.txt
deleted file mode 100644
index 794439ea5..000000000
--- a/common_syms/engine/random.txt
+++ /dev/null
@@ -1 +0,0 @@
-gRngValue
diff --git a/common_syms/engine/record_mixing.txt b/common_syms/engine/record_mixing.txt
deleted file mode 100644
index a6f4f8df3..000000000
--- a/common_syms/engine/record_mixing.txt
+++ /dev/null
@@ -1 +0,0 @@
-gUnknown_03005D2C
diff --git a/common_syms/engine/rtc.txt b/common_syms/engine/rtc.txt
deleted file mode 100644
index fa00a34d5..000000000
--- a/common_syms/engine/rtc.txt
+++ /dev/null
@@ -1 +0,0 @@
-gLocalTime
diff --git a/common_syms/engine/save.txt b/common_syms/engine/save.txt
deleted file mode 100644
index 4824255bf..000000000
--- a/common_syms/engine/save.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-gFirstSaveSector
-gPrevSaveCounter
-gLastKnownGoodSector
-gDamagedSaveSectors
-gSaveCounter
-gFastSaveSection
-gUnknown_03005EB4
-gSaveFileStatus
-gGameContinueCallback
diff --git a/common_syms/engine/sound.txt b/common_syms/engine/sound.txt
deleted file mode 100644
index 0f6f2fc75..000000000
--- a/common_syms/engine/sound.txt
+++ /dev/null
@@ -1 +0,0 @@
-gDisableMusic
diff --git a/common_syms/engine/sprite.txt b/common_syms/engine/sprite.txt
deleted file mode 100644
index fe38dc61f..000000000
--- a/common_syms/engine/sprite.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-gSpriteOrder
-gSpriteTileAllocBitmap
-gSpriteCoordOffsetX
-gOamLimit
-gReservedSpriteTileCount
-gSpriteCopyRequestCount
-gSpriteCopyRequests
-gSpriteCoordOffsetY
-gOamMatrices
-gShouldProcessSpriteCopyRequests
-gOamMatrixAllocBitmap
-gReservedSpritePaletteCount
diff --git a/common_syms/engine/string_util.txt b/common_syms/engine/string_util.txt
deleted file mode 100644
index 1ee62aaad..000000000
--- a/common_syms/engine/string_util.txt
+++ /dev/null
@@ -1 +0,0 @@
-gUnknownStringVar
diff --git a/common_syms/engine/task.txt b/common_syms/engine/task.txt
deleted file mode 100644
index 6601bd11b..000000000
--- a/common_syms/engine/task.txt
+++ /dev/null
@@ -1 +0,0 @@
-gTasks
diff --git a/common_syms/field/field_camera.txt b/common_syms/field/field_camera.txt
deleted file mode 100644
index 7aad967f8..000000000
--- a/common_syms/field/field_camera.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-gUnknown_03004880
-gUnknown_03004898
-gUnknown_0300489C
diff --git a/common_syms/field/field_control_avatar.txt b/common_syms/field/field_control_avatar.txt
deleted file mode 100644
index 040a9e6c1..000000000
--- a/common_syms/field/field_control_avatar.txt
+++ /dev/null
@@ -1 +0,0 @@
-gSelectedMapObject
diff --git a/common_syms/field/field_map_obj.txt b/common_syms/field/field_map_obj.txt
deleted file mode 100644
index 32d8b1915..000000000
--- a/common_syms/field/field_map_obj.txt
+++ /dev/null
@@ -1 +0,0 @@
-gMapObjects
diff --git a/common_syms/field/fieldmap.txt b/common_syms/field/fieldmap.txt
deleted file mode 100644
index 7819b3b40..000000000
--- a/common_syms/field/fieldmap.txt
+++ /dev/null
@@ -1 +0,0 @@
-gUnknown_03004870
diff --git a/common_syms/field/overworld.txt b/common_syms/field/overworld.txt
deleted file mode 100644
index ecdb190b2..000000000
--- a/common_syms/field/overworld.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-word_3004858
-gFieldCallback
-gUnknown_03004860
-gFieldLinkPlayerCount
diff --git a/common_syms/field/start_menu.txt b/common_syms/field/start_menu.txt
deleted file mode 100644
index 05beaf57c..000000000
--- a/common_syms/field/start_menu.txt
+++ /dev/null
@@ -1 +0,0 @@
-gMenuCallback
diff --git a/common_syms/field/tv.txt b/common_syms/field/tv.txt
deleted file mode 100644
index 829139f8f..000000000
--- a/common_syms/field/tv.txt
+++ /dev/null
@@ -1 +0,0 @@
-gUnknown_03005D38
diff --git a/common_syms/libs/agb_flash.txt b/common_syms/libs/agb_flash.txt
deleted file mode 100644
index cb421ec80..000000000
--- a/common_syms/libs/agb_flash.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-gFlashTimeoutFlag
-PollFlashStatus
-WaitForFlashWrite
-ProgramFlashSector
-gFlash
-ProgramFlashByte
-gFlashNumRemainingBytes
-EraseFlashChip
-EraseFlashSector
-gFlashMaxTime
diff --git a/common_syms/libs/m4a_2.txt b/common_syms/libs/m4a_2.txt
deleted file mode 100644
index a80d8a79d..000000000
--- a/common_syms/libs/m4a_2.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-gSoundInfo
-gPokemonCrySongs
-gPokemonCryMusicPlayers
-gMPlayJumpTable
-gCgbChans
-gPokemonCryTracks
-gPokemonCrySong
-gMPlay_BGM
-gMPlay_SE1
-gMPlay_SE2
-gMPlayMemAccArea
-gMPlay_SE3
diff --git a/common_syms/pokemon/pokeblock_feed.txt b/common_syms/pokemon/pokeblock_feed.txt
deleted file mode 100644
index 827e6526e..000000000
--- a/common_syms/pokemon/pokeblock_feed.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-gPokeblockFeedPokeSprite
-gPokeblockFeedMonSpecies
-gPokeblockMonNotFlipped
-gPokeblockFeedMonSpriteID
-gPokeblockFeedMonNature
-gUnknown_03005F34
-gPokeblockFeedUnused0
-gUnknown_03005F3C
-gUnknown_03005F40
-gPokeblockFeedPokeSpriteCopy
-gUnknown_03005F94
-gUnknown_03005FA0
diff --git a/common_syms/pokemon/pokedex.txt b/common_syms/pokemon/pokedex.txt
deleted file mode 100644
index 18b14f3ed..000000000
--- a/common_syms/pokemon/pokedex.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gUnknown_03005CE8
-gUnknown_03005CEC
diff --git a/common_syms/pokemon/pokemon_1.txt b/common_syms/pokemon/pokemon_1.txt
deleted file mode 100644
index c588d53a7..000000000
--- a/common_syms/pokemon/pokemon_1.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-gPlayerPartyCount
-gPlayerParty
-gEnemyPartyCount
-gEnemyParty
diff --git a/common_syms/pokemon/pokemon_menu.txt b/common_syms/pokemon/pokemon_menu.txt
deleted file mode 100644
index 98a1bf53b..000000000
--- a/common_syms/pokemon/pokemon_menu.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gLastFieldPokeMenuOpened
-gUnknown_03005CE4
diff --git a/common_syms/rom3.txt b/common_syms/rom3.txt
deleted file mode 100644
index 06a965ff6..000000000
--- a/common_syms/rom3.txt
+++ /dev/null
@@ -1 +0,0 @@
-gBattleBuffersTransferData
diff --git a/common_syms/scanline_effect.txt b/common_syms/scanline_effect.txt
deleted file mode 100644
index 280e7f891..000000000
--- a/common_syms/scanline_effect.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gScanlineEffect
-gScanlineEffectRegBuffers
diff --git a/common_syms/scene/berry_blender.txt b/common_syms/scene/berry_blender.txt
deleted file mode 100644
index 524a31411..000000000
--- a/common_syms/scene/berry_blender.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-gUnknown_03004830
-gInGameOpponentsNo
-gUnknown_03004840
-gBerryBlenderData
diff --git a/common_syms/scene/contest_painting.txt b/common_syms/scene/contest_painting.txt
deleted file mode 100644
index 2e8490348..000000000
--- a/common_syms/scene/contest_painting.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-gUnknown_03005E10
-gUnknown_03005E20
-gUnknown_03005E40
-gUnknown_03005E8C
-gUnknown_03005E90
diff --git a/common_syms/scene/cute_sketch.txt b/common_syms/scene/cute_sketch.txt
deleted file mode 100644
index e69de29bb..000000000
--- a/common_syms/scene/cute_sketch.txt
+++ /dev/null
diff --git a/common_syms/scene/egg_hatch.txt b/common_syms/scene/egg_hatch.txt
deleted file mode 100644
index 891ccc104..000000000
--- a/common_syms/scene/egg_hatch.txt
+++ /dev/null
@@ -1 +0,0 @@
-gEggHatchData
diff --git a/common_syms/scene/evolution_scene.txt b/common_syms/scene/evolution_scene.txt
deleted file mode 100644
index 137cd3e05..000000000
--- a/common_syms/scene/evolution_scene.txt
+++ /dev/null
@@ -1 +0,0 @@
-gCB2_AfterEvolution
diff --git a/common_syms/scene/intro.txt b/common_syms/scene/intro.txt
deleted file mode 100644
index d069b1014..000000000
--- a/common_syms/scene/intro.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gIntroFrameCounter
-gMultibootProgramStruct
diff --git a/src/field/tv.c b/src/field/tv.c
index efda4b925..8bd36bb9c 100644
--- a/src/field/tv.c
+++ b/src/field/tv.c
@@ -47,8 +47,6 @@ struct UnkTvStruct
s8 var0;
};
-extern u8 gUnknown_0300430A[11];
-
struct OutbreakPokemon
{
/*0x00*/ u16 species;
diff --git a/sym_common.txt b/sym_common.txt
index 1a523e7cb..d8dc14812 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -1,614 +1,235 @@
-. = ALIGN(4);
-. = ALIGN(4);
-gKeyRepeatStartDelay = .;
-. += 0x4;
-. = ALIGN(4);
-gLinkTransferringData = .;
-. += 0x4;
-. = ALIGN(16);
-gMain = .;
-. += 0x440;
-. = ALIGN(4);
-gKeyRepeatContinueDelay = .;
-. += 0x4;
-. = ALIGN(4);
-gSoftResetDisabled = .;
-. += 0x4;
-. = ALIGN(16);
-gIntrTable = .;
-. += 0x38;
-. = ALIGN(4);
-gLinkVSyncDisabled = .;
-. += 0x4;
-. = ALIGN(16);
-IntrMain_Buffer = .;
-. += 0x800;
-. = ALIGN(4);
-gPcmDmaCounter = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(16);
-gSpriteOrder = .;
-. += 0x40;
-. = ALIGN(16);
-gSpriteTileAllocBitmap = .;
-. += 0x80;
-. = ALIGN(4);
-gSpriteCoordOffsetX = .;
-. += 0x4;
-. = ALIGN(4);
-gOamLimit = .;
-. += 0x4;
-. = ALIGN(4);
-gReservedSpriteTileCount = .;
-. += 0x4;
-. = ALIGN(4);
-gSpriteCopyRequestCount = .;
-. += 0x4;
-. = ALIGN(16);
-gSpriteCopyRequests = .;
-. += 0x300;
-. = ALIGN(4);
-gSpriteCoordOffsetY = .;
-. += 0x4;
-. = ALIGN(16);
-gOamMatrices = .;
-. += 0x100;
-. = ALIGN(4);
-gShouldProcessSpriteCopyRequests = .;
-. += 0x4;
-. = ALIGN(4);
-gOamMatrixAllocBitmap = .;
-. += 0x4;
-. = ALIGN(4);
-gReservedSpritePaletteCount = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(16);
-gUnknownStringVar = .;
-. += 0x10;
-. = ALIGN(4);
-. = ALIGN(8);
-word_3002910 = .;
-. += 0x8;
-. = ALIGN(4);
-gLinkDebugValue1 = .;
-. += 0x4;
-. = ALIGN(16);
-localLinkPlayerBlock = .;
-. += 0x3C;
-. = ALIGN(4);
-gLinkErrorOccurred = .;
-. += 0x4;
-. += 0x4;
-. = ALIGN(4);
-gLinkDebugValue2 = .;
-. += 0x4;
-. += 0x4;
+#define SYMBOL(name, size) \
+ . = ALIGN (((size) > 16) ? 16 : (size)); \
+ . = ALIGN(4); \
+ name = .; \
+ . += size;
-#ifdef GERMAN
-. = ALIGN(4);
-deUnkValue1 = .;
-. += 0x4;
-. = ALIGN(4);
-deUnkValue2 = .;
+SYMBOL(gKeyRepeatStartDelay, 4)
+SYMBOL(gLinkTransferringData, 4)
+SYMBOL(gMain, 1088)
+SYMBOL(gKeyRepeatContinueDelay, 4)
+SYMBOL(gSoftResetDisabled, 4)
+SYMBOL(gIntrTable, 56)
+SYMBOL(gLinkVSyncDisabled, 4)
+SYMBOL(IntrMain_Buffer, 2048)
+SYMBOL(gPcmDmaCounter, 4)
+SYMBOL(gSpriteOrder, 64)
+SYMBOL(gSpriteTileAllocBitmap, 128)
+SYMBOL(gSpriteCoordOffsetX, 4)
+SYMBOL(gOamLimit, 4)
+SYMBOL(gReservedSpriteTileCount, 4)
+SYMBOL(gSpriteCopyRequestCount, 4)
+SYMBOL(gSpriteCopyRequests, 768)
+SYMBOL(gSpriteCoordOffsetY, 4)
+SYMBOL(gOamMatrices, 256)
+SYMBOL(gShouldProcessSpriteCopyRequests, 4)
+SYMBOL(gOamMatrixAllocBitmap, 4)
+SYMBOL(gReservedSpritePaletteCount, 4)
+SYMBOL(gUnknownStringVar, 16)
+SYMBOL(word_3002910, 8)
+SYMBOL(gLinkDebugValue1, 4)
+SYMBOL(localLinkPlayerBlock, 60)
+SYMBOL(gLinkErrorOccurred, 4)
+. += 0x4;
+SYMBOL(gLinkDebugValue2, 4)
. += 0x4;
+#ifdef GERMAN
+SYMB0L(deUnkValue1, 4)
+SYMB0L(deUnkValue2, 4)
#endif
-
-. = ALIGN(4);
-gLinkPlayerPending = .;
-. += 0x4;
-. = ALIGN(16);
-gLinkPlayers = .;
-. += 0x70;
-. = ALIGN(4);
-gBlockReceived = .;
-. += 0x4;
-. += 0x4;
-. = ALIGN(4);
-gLinkHeldKeys = .;
-. += 0x4;
-. = ALIGN(4);
-gLinkTimeOutCounter = .;
-. += 0x4;
-. += 0x4;
-. = ALIGN(16);
-localLinkPlayer = .;
-. += 0x1C;
-. = ALIGN(16);
-gRecvCmds = .;
-. += 0x40;
-. = ALIGN(4);
-gLinkStatus = .;
-. += 0x4;
-. = ALIGN(4);
-gLinkDummyBool = .;
-. += 0x4;
-. = ALIGN(4);
-byte_3002A68 = .;
-. += 0x4;
-. = ALIGN(16);
-gBlockSendBuffer = .;
-. += 0x100;
-. = ALIGN(4);
-u8_array_3002B70 = .;
-. += 0x4;
-. = ALIGN(4);
-gLinkType = .;
-. += 0x4;
-. = ALIGN(4);
-u8_array_3002B78 = .;
-. += 0x4;
-. = ALIGN(16);
-gBlockRecvBuffer = .;
-. += 0x400;
-. = ALIGN(4);
-gSuppressLinkErrorMessage = .;
-. += 0x4;
-. = ALIGN(4);
-gSavedLinkPlayerCount = .;
-. += 0x4;
-. = ALIGN(16);
-gSendCmd = .;
-. += 0x10;
-. = ALIGN(4);
-gSavedMultiplayerId = .;
-. += 0x4;
-. = ALIGN(4);
-gReceivedRemoteLinkPlayers = .;
-. += 0x4;
-. = ALIGN(16);
-gLinkTestBGInfo = .;
-. += 0x10;
-. = ALIGN(4);
-gLinkCallback = .;
-. += 0x4;
-. = ALIGN(16);
-gSavedLinkPlayers = .;
-. += 0x70;
-. = ALIGN(4);
-gShouldAdvanceLinkState = .;
-. += 0x4;
-. = ALIGN(8);
-gLinkTestBlockChecksums = .;
-. += 0x8;
-. += 0x4;
-. = ALIGN(4);
-gBlockRequestType = .;
-. += 0x4;
-. += 0x4;
-. += 0x4;
-. = ALIGN(4);
-gLastSendQueueCount = .;
-. += 0x4;
-. = ALIGN(16);
-gLink = .;
-. += 0xFC0;
-. = ALIGN(4);
-gLastRecvQueueCount = .;
-. += 0x4;
-. = ALIGN(4);
-gLinkSavedIme = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(8);
-gLocalTime = .;
+SYMBOL(gLinkPlayerPending, 4)
+SYMBOL(gLinkPlayers, 112)
+SYMBOL(gBlockReceived, 4)
+. += 0x4;
+SYMBOL(gLinkHeldKeys, 4)
+SYMBOL(gLinkTimeOutCounter, 4)
+. += 0x4;
+SYMBOL(localLinkPlayer, 28)
+SYMBOL(gRecvCmds, 64)
+SYMBOL(gLinkStatus, 4)
+SYMBOL(gLinkDummyBool, 4)
+SYMBOL(byte_3002A68, 4)
+SYMBOL(gBlockSendBuffer, 256)
+SYMBOL(u8_array_3002B70, 4)
+SYMBOL(gLinkType, 4)
+SYMBOL(u8_array_3002B78, 4)
+SYMBOL(gBlockRecvBuffer, 1024)
+SYMBOL(gSuppressLinkErrorMessage, 4)
+SYMBOL(gSavedLinkPlayerCount, 4)
+SYMBOL(gSendCmd, 16)
+SYMBOL(gSavedMultiplayerId, 4)
+SYMBOL(gReceivedRemoteLinkPlayers, 4)
+SYMBOL(gLinkTestBGInfo, 16)
+SYMBOL(gLinkCallback, 4)
+SYMBOL(gSavedLinkPlayers, 112)
+SYMBOL(gShouldAdvanceLinkState, 4)
+SYMBOL(gLinkTestBlockChecksums, 8)
+. += 0x4;
+SYMBOL(gBlockRequestType, 4)
. += 0x8;
-. = ALIGN(4);
-. = ALIGN(16);
-gBattleBuffersTransferData = .;
-. += 0x170;
-. = ALIGN(4);
-gBattle_BG3_X = .;
-. += 0x4;
-gBattle_BG1_Y = .;
-. += 0x4;
-gBattle_BG3_Y = .;
+SYMBOL(gLastSendQueueCount, 4)
+SYMBOL(gLink, 4032)
+SYMBOL(gLastRecvQueueCount, 4)
+SYMBOL(gLinkSavedIme, 4)
+SYMBOL(gLocalTime, 8)
+SYMBOL(gBattleBuffersTransferData, 368)
+SYMBOL(gBattle_BG3_X, 4)
+SYMBOL(gBattle_BG1_Y, 4)
+SYMBOL(gBattle_BG3_Y, 4)
+SYMBOL(gBattleTextBuff1, 16)
+SYMBOL(gUnknown_030041D0, 48)
+SYMBOL(gBattle_WIN1H, 4)
+SYMBOL(gUnknown_03004210, 48)
+SYMBOL(gBattle_WIN0V, 4)
+SYMBOL(gBattle_WIN1V, 4)
+SYMBOL(gUnknown_03004250, 48)
+SYMBOL(gBattle_BG2_Y, 4)
+SYMBOL(gUnknown_03004284, 4)
+SYMBOL(gBattle_BG2_X, 4)
+SYMBOL(gBattleTerrain, 4)
+SYMBOL(gBattleTextBuff2, 16)
+SYMBOL(gBattle_BG0_Y, 4)
+SYMBOL(gBattle_BG0_X, 4)
+SYMBOL(gBattleTextBuff3, 16)
+SYMBOL(gBattle_BG1_X, 4)
+SYMBOL(gBattle_WIN0H, 4)
. += 0x8;
-gBattleTextBuff1 = .;
-. += 0x10;
-gUnknown_030041D0 = .;
-. += 0x30;
-gBattle_WIN1H = .;
-. += 0x10;
-gUnknown_03004210 = .;
-. += 0x30;
-gBattle_WIN0V = .;
-. += 0x4;
-gBattle_WIN1V = .;
-. += 0xC;
-gUnknown_03004250 = .;
-. += 0x30;
-gBattle_BG2_Y = .;
-. += 0x4;
-gUnknown_03004284 = .;
-. += 0x4;
-gBattle_BG2_X = .;
-. += 0x4;
-gBattleTerrain = .;
-. += 0x4;
-gBattleTextBuff2 = .;
-. += 0x10;
-gBattle_BG0_Y = .;
-. += 0x4;
-gBattle_BG0_X = .;
-. += 0xC;
-gBattleTextBuff3 = .;
-. += 0x10;
-gBattle_BG1_X = .;
-. += 0x4;
-gBattle_WIN0H = .;
-. += 0xC;
-gPreBattleCallback1 = .;
-. += 0x4;
+SYMBOL(gPreBattleCallback1, 4)
gBattleMainFunc = .;
. += 0xC;
gBattleResults = .;
. += 0x1C;
+// Why is this not aligned?
gUnknown_030042FC = .;
-. += 0xE;
-gUnknown_0300430A = .;
-. += 0xC;
+. += 0x1A;
gUnknown_03004316 = .;
. += 0xE;
gLeveledUpInBattle = .;
. += 0xC;
-gBattleBankFunc = .;
-. += 0x10;
-gHealthboxIDs = .;
-. += 0x4;
-gUnknown_03004344 = .;
-. += 0x4;
-gUnknown_03004348 = .;
-. += 0x4;
-gUnknown_0300434C = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gPlayerPartyCount = .;
-. += 0x4;
-. = ALIGN(16);
-gPlayerParty = .;
-. += 0x258;
-. = ALIGN(4);
-gEnemyPartyCount = .;
-. += 0x4;
-. = ALIGN(16);
-gEnemyParty = .;
-. += 0x258;
-. = ALIGN(4);
-. = ALIGN(4);
-gRngValue = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gEggHatchData = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gFlashMemoryPresent = .;
-. += 0x4;
-gUnknown_03004824 = .;
-. += 0x4;
-gUnknown_03004828 = .;
-. += 0x8;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03004830 = .;
-. += 0x4;
-. = ALIGN(4);
-gInGameOpponentsNo = .;
-. += 0x4;
-. = ALIGN(16);
-gUnknown_03004840 = .;
-. += 0x14;
-. = ALIGN(4);
-gBerryBlenderData = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-word_3004858 = .;
-. += 0x4;
-. = ALIGN(4);
-gFieldCallback = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03004860 = .;
-. += 0x4;
-. = ALIGN(4);
-gFieldLinkPlayerCount = .;
-. += 0x4;
-. = ALIGN(4);
+SYMBOL(gBattleBankFunc, 16)
+SYMBOL(gHealthboxIDs, 4)
+SYMBOL(gUnknown_03004344, 4)
+SYMBOL(gUnknown_03004348, 4)
+SYMBOL(gUnknown_0300434C, 4)
+SYMBOL(gPlayerPartyCount, 4)
+SYMBOL(gPlayerParty, 600)
+SYMBOL(gEnemyPartyCount, 4)
+SYMBOL(gEnemyParty, 600)
+SYMBOL(gRngValue, 4)
+SYMBOL(gEggHatchData, 4)
+SYMBOL(gFlashMemoryPresent, 4)
+SYMBOL(gUnknown_03004824, 4)
+SYMBOL(gUnknown_03004828, 4)
+. += 0x4;
+SYMBOL(gUnknown_03004830, 4)
+SYMBOL(gInGameOpponentsNo, 4)
+SYMBOL(gUnknown_03004840, 20)
+SYMBOL(gBerryBlenderData, 4)
+SYMBOL(word_3004858, 4)
+SYMBOL(gFieldCallback, 4)
+SYMBOL(gUnknown_03004860, 4)
+SYMBOL(gFieldLinkPlayerCount, 4)
. = ALIGN(16);
gUnknown_03004870 = .;
. += 0xC;
-. = ALIGN(4);
-. = ALIGN(16);
-gUnknown_03004880 = .;
-. += 0x18;
-. = ALIGN(4);
-gUnknown_03004898 = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_0300489C = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(16);
-gMapObjects = .;
-. += 0x240;
-. = ALIGN(4);
-. = ALIGN(4);
-gSelectedMapObject = .;
-. += 0x4;
-. = ALIGN(4);
-gPokemonItemUseCallback = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gMenuCallback = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gDisableMusic = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gSoundAnimFramesToWait = .;
-. += 0x4;
-. = ALIGN(16);
-gBattleAnimArgs = .;
-. += 0x10;
-. = ALIGN(16);
-gAnimSpriteIndexArray = .;
-. += 0x10;
-. = ALIGN(4);
-. = ALIGN(16);
-gTasks = .;
-. += 0x280;
-. = ALIGN(4);
-. = ALIGN(16);
-gUnknown_03004DA0 = .;
-. += 0x20;
-. = ALIGN(4);
-. = ALIGN(16);
-gScanlineEffect = .;
-. += 0x20;
-. = ALIGN(16);
-gScanlineEffectRegBuffers = .;
-. += 0xF00;
-. = ALIGN(4);
-. = ALIGN(4);
-gLastFieldPokeMenuOpened = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005CE4 = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03005CE8 = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005CEC = .;
-. += 0x4;
-. = ALIGN(16);
-gUnknown_03005CF0 = .;
-. += 0x10;
+SYMBOL(gUnknown_03004880, 24)
+SYMBOL(gUnknown_03004898, 4)
+SYMBOL(gUnknown_0300489C, 4)
+SYMBOL(gMapObjects, 576)
+SYMBOL(gSelectedMapObject, 4)
+SYMBOL(gPokemonItemUseCallback, 4)
+SYMBOL(gMenuCallback, 4)
+SYMBOL(gDisableMusic, 4)
+SYMBOL(gSoundAnimFramesToWait, 4)
+SYMBOL(gBattleAnimArgs, 16)
+SYMBOL(gAnimSpriteIndexArray, 16)
+SYMBOL(gTasks, 640)
+SYMBOL(gUnknown_03004DA0, 32)
+SYMBOL(gScanlineEffect, 32)
+SYMBOL(gScanlineEffectRegBuffers, 3840)
+SYMBOL(gLastFieldPokeMenuOpened, 4)
+SYMBOL(gUnknown_03005CE4, 4)
+SYMBOL(gUnknown_03005CE8, 4)
+SYMBOL(gUnknown_03005CEC, 4)
+SYMBOL(gUnknown_03005CF0, 4)
+// huh?
. = ALIGN(16);
gFieldItemUseCallback = .;
. += 0x10;
gBagPocketScrollStates = .;
. += 0x14;
-gCurrentBagPocketItemSlots = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005D28 = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03005D2C = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03005D30 = .;
-. += 0x4;
-. = ALIGN(4);
-gSoundTestCryNum = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03005D38 = .;
-. += 0x4;
-. += 0x64;
-. = ALIGN(16);
-gUnknown_03005DA0 = .;
-. += 0x48;
-gUnknown_03005DE8 = .;
-. += 0x4;
-gUnknown_03005DEC = .;
-. += 0x4;
-gUnknown_03005DF0 = .;
-. += 0x4;
-gUnknown_03005DF4 = .;
-. += 0x4;
-gUnknown_03005DF8 = .;
-. += 0x4;
-gUnknown_03005DFC = .;
-. += 0x4;
-gUnknown_03005E00 = .;
-. += 0x4;
-gUnknown_03005E04 = .;
-. += 0x4;
-gUnknown_03005E08 = .;
-. += 0x4;
-gUnknown_03005E0C = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gUnknown_03005E10 = .;
-. += 0x4;
-. = ALIGN(16);
-gUnknown_03005E20 = .;
-. += 0x20;
-. = ALIGN(16);
-gUnknown_03005E40 = .;
-. += 0x4C;
-. = ALIGN(4);
-gUnknown_03005E8C = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005E90 = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gCB2_AfterEvolution = .;
-. += 0x4;
-gUnknown_03005E98 = .;
-. += 0x4;
-. = ALIGN(4);
-. = ALIGN(4);
-gFirstSaveSector = .;
-. += 0x4;
-. = ALIGN(4);
-gPrevSaveCounter = .;
-. += 0x4;
-. = ALIGN(4);
-gLastKnownGoodSector = .;
-. += 0x4;
-. = ALIGN(4);
-gDamagedSaveSectors = .;
-. += 0x4;
-. = ALIGN(4);
-gSaveCounter = .;
-. += 0x4;
-. = ALIGN(4);
-gFastSaveSection = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005EB4 = .;
-. += 0x4;
-. = ALIGN(4);
-gSaveFileStatus = .;
-. += 0x4;
-. = ALIGN(4);
-gGameContinueCallback = .;
-. += 0x4;
+SYMBOL(gCurrentBagPocketItemSlots, 4)
+SYMBOL(gUnknown_03005D28, 4)
+SYMBOL(gUnknown_03005D2C, 4)
+SYMBOL(gUnknown_03005D30, 4)
+SYMBOL(gSoundTestCryNum, 4)
+SYMBOL(gUnknown_03005D38, 4)
+. += 0x64; // huge gap?
+SYMBOL(gUnknown_03005DA0, 0x48)
+SYMBOL(gUnknown_03005DE8, 4)
+SYMBOL(gUnknown_03005DEC, 4)
+SYMBOL(gUnknown_03005DF0, 4)
+SYMBOL(gUnknown_03005DF4, 4)
+SYMBOL(gUnknown_03005DF8, 4)
+SYMBOL(gUnknown_03005DFC, 4)
+SYMBOL(gUnknown_03005E00, 4)
+SYMBOL(gUnknown_03005E04, 4)
+SYMBOL(gUnknown_03005E08, 4)
+SYMBOL(gUnknown_03005E0C, 4)
+SYMBOL(gUnknown_03005E10, 4)
+SYMBOL(gUnknown_03005E20, 32)
+SYMBOL(gUnknown_03005E40, 76)
+SYMBOL(gUnknown_03005E8C, 4)
+SYMBOL(gUnknown_03005E90, 4)
+SYMBOL(gCB2_AfterEvolution, 4)
+SYMBOL(gUnknown_03005E98, 4)
+SYMBOL(gFirstSaveSector, 4)
+SYMBOL(gPrevSaveCounter, 4)
+SYMBOL(gLastKnownGoodSector, 4)
+SYMBOL(gDamagedSaveSectors, 4)
+SYMBOL(gSaveCounter, 4)
+SYMBOL(gFastSaveSection, 4)
+SYMBOL(gUnknown_03005EB4, 4)
+SYMBOL(gSaveFileStatus, 4)
+SYMBOL(gGameContinueCallback, 4)
. += 0x10;
-. = ALIGN(4);
-. = ALIGN(4);
-gIntroFrameCounter = .;
-. += 0x4;
-. = ALIGN(16);
-gMultibootProgramStruct = .;
-. += 0x2C;
-. = ALIGN(4);
-gUnknown_03005F0C = .;
-. += 0x4;
-gUnknown_03005F10 = .;
-. += 0x4;
+SYMBOL(gIntroFrameCounter, 4)
+SYMBOL(gMultibootProgramStruct, 44)
+SYMBOL(gUnknown_03005F0C, 4)
+SYMBOL(gUnknown_03005F10, 4)
gUnknown_03005F14 = .;
. += 0xC;
-. = ALIGN(4);
-. = ALIGN(4);
-gPokeblockFeedPokeSprite = .;
-. += 0x4;
-. = ALIGN(4);
-gPokeblockFeedMonSpecies = .;
-. += 0x4;
-. = ALIGN(4);
-gPokeblockMonNotFlipped = .;
-. += 0x4;
-. = ALIGN(4);
-gPokeblockFeedMonSpriteID = .;
-. += 0x4;
-. = ALIGN(4);
-gPokeblockFeedMonNature = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005F34 = .;
-. += 0x4;
-. = ALIGN(4);
-gPokeblockFeedUnused0 = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005F3C = .;
-. += 0x4;
-. = ALIGN(4);
-gUnknown_03005F40 = .;
-. += 0x4;
-. = ALIGN(16);
-gPokeblockFeedPokeSpriteCopy = .;
-. += 0x44;
-. = ALIGN(4);
-gUnknown_03005F94 = .;
-. += 0x4;
-. = ALIGN(16);
-gUnknown_03005FA0 = .;
-. += 0x30;
-. = ALIGN(4);
-. = ALIGN(16);
-gSoundInfo = .;
-. += 0xFB0;
-. = ALIGN(16);
-gPokemonCrySongs = .;
-. += 0x68;
-. = ALIGN(16);
-gPokemonCryMusicPlayers = .;
-. += 0x80;
-. = ALIGN(16);
-gMPlayJumpTable = .;
-. += 0x90;
-. = ALIGN(16);
-gCgbChans = .;
-. += 0x100;
-. = ALIGN(16);
-gPokemonCryTracks = .;
-. += 0x140;
-. = ALIGN(16);
-gPokemonCrySong = .;
-. += 0x34;
-. = ALIGN(16);
-gMPlay_BGM = .;
-. += 0x40;
-. = ALIGN(16);
-gMPlay_SE1 = .;
-. += 0x40;
-. = ALIGN(16);
-gMPlay_SE2 = .;
-. += 0x40;
-. = ALIGN(16);
-gMPlayMemAccArea = .;
-. += 0x10;
-. = ALIGN(16);
-gMPlay_SE3 = .;
-. += 0x40;
-. = ALIGN(4);
-. = ALIGN(4);
-gFlashTimeoutFlag = .;
-. += 0x4;
-. = ALIGN(4);
-PollFlashStatus = .;
-. += 0x4;
-. = ALIGN(4);
-WaitForFlashWrite = .;
-. += 0x4;
-. = ALIGN(4);
-ProgramFlashSector = .;
-. += 0x4;
-. = ALIGN(4);
-gFlash = .;
-. += 0x4;
-. = ALIGN(4);
-ProgramFlashByte = .;
-. += 0x4;
-. = ALIGN(4);
-gFlashNumRemainingBytes = .;
-. += 0x4;
-. = ALIGN(4);
-EraseFlashChip = .;
-. += 0x4;
-. = ALIGN(4);
-EraseFlashSector = .;
-. += 0x4;
-. = ALIGN(4);
-gFlashMaxTime = .;
-. += 0x4;
+SYMBOL(gPokeblockFeedPokeSprite, 4)
+SYMBOL(gPokeblockFeedMonSpecies, 4)
+SYMBOL(gPokeblockMonNotFlipped, 4)
+SYMBOL(gPokeblockFeedMonSpriteID, 4)
+SYMBOL(gPokeblockFeedMonNature, 4)
+SYMBOL(gUnknown_03005F34, 4)
+SYMBOL(gPokeblockFeedUnused0, 4)
+SYMBOL(gUnknown_03005F3C, 4)
+SYMBOL(gUnknown_03005F40, 4)
+SYMBOL(gPokeblockFeedPokeSpriteCopy, 68)
+SYMBOL(gUnknown_03005F94, 4)
+SYMBOL(gUnknown_03005FA0, 48)
+SYMBOL(gSoundInfo, 4016)
+SYMBOL(gPokemonCrySongs, 104)
+SYMBOL(gPokemonCryMusicPlayers, 128)
+SYMBOL(gMPlayJumpTable, 144)
+SYMBOL(gCgbChans, 256)
+SYMBOL(gPokemonCryTracks, 320)
+SYMBOL(gPokemonCrySong, 52)
+SYMBOL(gMPlay_BGM, 64)
+SYMBOL(gMPlay_SE1, 64)
+SYMBOL(gMPlay_SE2, 64)
+SYMBOL(gMPlayMemAccArea, 16)
+SYMBOL(gMPlay_SE3, 64)
+SYMBOL(gFlashTimeoutFlag, 4)
+SYMBOL(PollFlashStatus, 4)
+SYMBOL(WaitForFlashWrite, 4)
+SYMBOL(ProgramFlashSector, 4)
+SYMBOL(gFlash, 4)
+SYMBOL(ProgramFlashByte, 4)
+SYMBOL(gFlashNumRemainingBytes, 4)
+SYMBOL(EraseFlashChip, 4)
+SYMBOL(EraseFlashSector, 4)
+SYMBOL(gFlashMaxTime, 4)