.macro def_special ptr
.global SPECIAL_\ptr
.set SPECIAL_\ptr, __special__
.set __special__, __special__ + 1
	.4byte \ptr
	.endm

.set __special__, 0
		.align 2
gSpecials:: @ 81DBA64
	def_special HealPlayerParty
	def_special SetCableClubWarp
	def_special sub_80AF948
	def_special sub_80AF9F8
	def_special CleanupLinkRoomState
	def_special ExitLinkRoom
	def_special SetPlayerSecretBase
	def_special CheckPlayerHasSecretBase
	def_special EnterSecretBase
	def_special ClearAndLeaveSecretBase
	def_special MoveOutOfSecretBase
	def_special IsCurSecretBaseOwnedByAnotherPlayer
	def_special GetCurSecretBaseRegistrationValidity
	def_special ToggleCurSecretBaseRegistry
	def_special ShowSecretBaseDecorationMenu
	def_special ShowSecretBaseRegistryMenu
	def_special PrepSecretBaseBattleFlags
	def_special GetSecretBaseOwnerInteractionState
	def_special InitSecretBaseDecorationSprites
	def_special sub_8127E18
	def_special sub_81297AC
	def_special GetSecretBaseTypeInFrontOfPlayer
	def_special SetSecretBaseOwnerGfxId
	def_special sub_8129708
	def_special EnterNewlyCreatedSecretBase
	def_special sub_80EA30C
	def_special DoSecretBasePCTurnOffEffect
	def_special RecordMixingPlayerSpotTriggered
	def_special sub_80B2DA4
	def_special sub_80B2E4C
	def_special sub_80B2E74
	def_special sub_80B2EA8
	def_special CloseLink
	def_special ColosseumPlayerSpotTriggered
	def_special PlayerEnteredTradeSeat
	def_special nullsub_37
	def_special sub_80B3254
	def_special sub_80B2FD8
	def_special GetLinkPartnerNames
	def_special SpawnLinkPartnerEventObject
	def_special SavePlayerParty
	def_special LoadPlayerParty
	def_special ChooseHalfPartyForBattle
	def_special sp02A_crash_sound
	def_special EventObjectInteractionGetBerryTreeData
	def_special EventObjectInteractionGetBerryName
	def_special EventObjectInteractionGetBerryCountString
	def_special Bag_ChooseBerry
	def_special EventObjectInteractionPlantBerryTree
	def_special EventObjectInteractionPickBerryTree
	def_special EventObjectInteractionRemoveBerryTree
	def_special EventObjectInteractionWaterBerryTree
	def_special PlayerHasBerries
	def_special IsEnigmaBerryValid
	def_special GetTrainerBattleMode
	def_special ShowTrainerIntroSpeech
	def_special ShowTrainerCantBattleSpeech
	def_special GetTrainerFlag
	def_special EndTrainerApproach
	def_special SetUpTrainerEncounterMusic
	def_special ShouldTryRematchBattle
	def_special IsTrainerReadyForRematch
	def_special BattleSetup_StartRematchBattle
	def_special ShowPokemonStorageSystemPC
	def_special HasEnoughMonsForDoubleBattle
	def_special TurnOffTVScreen
	def_special DoTVShow
	def_special DoPokeNews
	def_special special_0x44
	def_special special_0x45
	def_special InterviewBefore
	def_special InterviewAfter
	def_special sub_80EF8F8
	def_special SetContestCategoryStringVarForInterview
	def_special special_0x4a
	def_special TV_IsScriptShowKindAlreadyInQueue
	def_special CheckForBigMovieOrEmergencyNewsOnTV
	def_special GetMomOrDadStringForTVMessage
	def_special ResetTVShowState
	def_special sub_80F831C
	def_special sub_80F84B0
	def_special sub_80F8814
	def_special sub_80F834C
	def_special sub_80F8390
	def_special sub_80F8850
	def_special sub_80F82B4
	def_special SetContestTrainerGfxIds
	def_special sub_80F7F30
	def_special sub_80F8970
	def_special sub_80F8AFC
	def_special sub_80F82FC
	def_special sub_80F7F7C
	def_special sub_80F7FFC
	def_special sub_80F8D24
	def_special GiveMonArtistRibbon
	def_special sub_80B3000
	def_special SaveGame
	def_special DoWateringBerryTreeAnim
	def_special ShowEasyChatScreen
	def_special sub_811EECC
	def_special ScrSpecial_GetCurrentMauvilleMan
	def_special ScrSpecial_HasBardSongBeenChanged
	def_special ScrSpecial_SaveBardSongLyrics
	def_special ScrSpecial_GetHipsterSpokenFlag
	def_special ScrSpecial_SetHipsterSpokenFlag
	def_special ScrSpecial_HipsterTeachWord
	def_special ScrSpecial_PlayBardSong
	def_special ScrSpecial_SetMauvilleOldManEventObjGfx
	def_special ScrSpecial_GenerateGiddyLine
	def_special ScrSpecial_GiddyShouldTellAnotherTale
	def_special ScrSpecial_StorytellerGetFreeStorySlot
	def_special ScrSpecial_StorytellerDisplayStory
	def_special ScrSpecial_StorytellerStoryListMenu
	def_special ScrSpecial_StorytellerUpdateStat
	def_special ScrSpecial_StorytellerInitializeRandomStat
	def_special ScrSpecial_HasStorytellerAlreadyRecorded
	def_special ScrSpecial_TraderMenuGetDecoration
	def_special ScrSpecial_GetTraderTradedFlag
	def_special ScrSpecial_DoesPlayerHaveNoDecorations
	def_special ScrSpecial_IsDecorationFull
	def_special ScrSpecial_TraderMenuGiveDecoration
	def_special ScrSpecial_TraderDoDecorationTrade
	def_special GetSeedotSizeRecordInfo
	def_special CompareSeedotSize
	def_special GetLotadSizeRecordInfo
	def_special CompareLotadSize
	def_special TV_PutNameRaterShowOnTheAirIfNicknameChanged
	def_special TV_CopyNicknameToStringVar1AndEnsureTerminated
	def_special TV_CheckMonOTIDEqualsPlayerID
	def_special BufferTrendyPhraseString
	def_special TrendyPhraseIsOld
	def_special sub_811EF6C
	def_special GetDewfordHallPaintingNameIndex
	def_special SwapRegisteredBike
	def_special CalculatePlayerPartyCount
	def_special CountPartyNonEggMons
	def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
	def_special sub_80F88E8
	def_special sub_80F88DC
	def_special sub_80F8864
	def_special CountPlayerContestPaintings
	def_special ShowContestWinner
	def_special MauvilleGymSpecial2
	def_special MauvilleGymSpecial1
	def_special ShowFieldMessageStringVar4
	def_special DrawWholeMapView
	def_special StorePlayerCoordsInVars
	def_special MauvilleGymSpecial3
	def_special PetalburgGymSpecial1
	def_special PetalburgGymSpecial2
	def_special GetPlayerTrainerIdOnesDigit
	def_special GetPlayerBigGuyGirlString
	def_special GetRivalSonDaughterString
	def_special SetFlagInVar
	def_special CableCarWarp
	def_special CableCar
	def_special Overworld_PlaySpecialMapMusic
	def_special StartWallClock
	def_special Special_ViewWallClock
	def_special ChooseStarter
	def_special StartWallyTutorialBattle
	def_special ChangePokemonNickname
	def_special sub_81B94B0
	def_special GetFirstFreePokeblockSlot
	def_special DoBerryBlending
	def_special PlayRoulette
	def_special ShouldMoveLilycoveFanClubMember
	def_special GetNumMovedLilycoveFanClubMembers
	def_special BufferStreakTrainerText
	def_special sub_813BA30
	def_special UpdateMovedLilycoveFanClubMembers
	def_special sub_813BF60
	def_special sub_813BA60
	def_special sub_813BF7C
	def_special RockSmashWildEncounter
	def_special GabbyAndTyGetBattleNum
	def_special GabbyAndTyAfterInterview
	def_special GabbyAndTyBeforeInterview
	def_special DoTVShowInSearchOfTrainers
	def_special IsTVShowInSearchOfTrainersAiring
	def_special GabbyAndTyGetLastQuote
	def_special GabbyAndTyGetLastBattleTrivia
	def_special GabbyAndTySetScriptVarsToEventObjectLocalIds
	def_special GetBattleOutcome
	def_special GetDaycareMonNicknames
	def_special GetDaycareState
	def_special RejectEggFromDayCare
	def_special GiveEggFromDaycare
	def_special SetDaycareCompatibilityString
	def_special GetSelectedMonNickAndSpecies
	def_special StoreSelectedPokemonInDaycare
	def_special ChooseSendDaycareMon
	def_special ShowDaycareLevelMenu
	def_special GetNumLevelsGainedFromDaycare
	def_special GetDaycareCost
	def_special TakePokemonFromDaycare
	def_special ScriptHatchMon
	def_special EggHatch
	def_special sub_8071614
	def_special ShowLinkBattleRecords
	def_special IsEnoughForCostInVar0x8005
	def_special SubtractMoneyFromVar0x8005
	def_special ExecuteWhiteOut
	def_special sp0C8_whiteout_maybe
	def_special RotatingGate_InitPuzzle
	def_special RotatingGate_InitPuzzleAndGraphics
	def_special SetSSTidalFlag
	def_special ResetSSTidalFlag
	def_special EnterSafariMode
	def_special ExitSafariMode
	def_special GetPokeblockFeederInFront
	def_special OpenPokeblockCaseOnFeeder
	def_special IsMirageIslandPresent
	def_special UpdateShoalTideFlag
	def_special InitBirchState
	def_special ScriptGetPokedexInfo
	def_special ShowPokedexRatingMessage
	def_special DoPCTurnOnEffect
	def_special DoPCTurnOffEffect
	def_special SetDepartmentStoreFloorVar
	def_special DoLotteryCornerComputerEffect
	def_special EndLotteryCornerComputerEffect
	def_special sub_81B951C
	def_special sub_81B968C
	def_special sub_81B9770
	def_special sub_81B9718
	def_special sub_81B96D0
	def_special TeachMoveRelearnerMove
	def_special GetRecordedCyclingRoadResults
	def_special Special_BeginCyclingRoadChallenge
	def_special GetPlayerAvatarBike
	def_special FinishCyclingRoadChallenge
	def_special UpdateCyclingRoadState
	def_special GetLeadMonFriendshipScore
	def_special CallFrontierUtilFunc
	def_special sub_8161F74
	def_special CallBattleDomeFunction
	def_special CallBattlePalaceFunction
	def_special CopyEReaderTrainerGreeting
	def_special DoSpecialTrainerBattle
	def_special CallBattleArenaFunction
	def_special CallBattleFactoryFunction
	def_special CallBattlePikeFunction
	def_special CallBattlePyramidFunction
	def_special StopMapMusic
	def_special sub_81B99B4
	def_special sub_81B9B80
	def_special sub_81B9D08
	def_special sub_80F9490
	def_special ValidateEReaderTrainer
	def_special GetBestBattleTowerStreak
	def_special ReducePlayerPartyToSelectedMons
	def_special BedroomPC
	def_special PlayerPC
	def_special FieldShowRegionMap
	def_special GetInGameTradeSpeciesInfo
	def_special CreateInGameTradePokemon
	def_special DoInGameTradeScene
	def_special GetTradeSpecies
	def_special GetWeekCount
	def_special RetrieveLotteryNumber
	def_special PickLotteryCornerTicket
	def_special ShowBerryBlenderRecordWindow
	def_special ResetTrickHouseEndRoomFlag
	def_special SetTrickHouseEndRoomFlag
	def_special ScrSpecial_CreatePCMenu
	def_special AccessHallOfFamePC
	def_special Special_ShowDiploma
	def_special CheckLeadMonCool
	def_special CheckLeadMonBeauty
	def_special CheckLeadMonCute
	def_special CheckLeadMonSmart
	def_special CheckLeadMonTough
	def_special sub_80FB7A4
	def_special DoSoftReset
	def_special GameClear
	def_special ShakeScreenInElevator
	def_special nullsub_55
	def_special SpawnCameraObject
	def_special RemoveCameraObject
	def_special GetPokeblockNameByMonNature
	def_special GetSecretBaseNearbyMapName
	def_special CheckRelicanthWailord
	def_special ShouldDoBrailleRegirockEffectOld
	def_special sub_80B0534
	def_special sub_80B058C
	def_special WaitWeather
	def_special BufferEReaderTrainerName
	def_special GetSlotMachineId
	def_special GetPlayerFacingDirection
	def_special FoundAbandonedShipRoom1Key
	def_special FoundAbandonedShipRoom2Key
	def_special FoundAbandonedShipRoom4Key
	def_special FoundAbandonedShipRoom6Key
	def_special LeadMonHasEffortRibbon
	def_special GiveLeadMonEffortRibbon
	def_special Special_AreLeadMonEVsMaxedOut
	def_special sub_8098574
	def_special sub_809859C
	def_special InitRoamer
	def_special TryUpdateRusturfTunnelState
	def_special IsGrassTypeInParty
	def_special sub_80AFC60
	def_special PutZigzagoonInPlayerParty
	def_special IsStarterInParty
	def_special CopyCurSecretBaseOwnerName_StrVar1
	def_special ScriptCheckFreePokemonStorageSpace
	def_special DoSealedChamberShakingEffect1
	def_special sub_8139B60
	def_special GetShieldToyTVDecorationInfo
	def_special IsPokerusInParty
	def_special SetSootopolisGymCrackedIceMetatiles
	def_special sub_8139560
	def_special StartGroudonKyogreBattle
	def_special BattleSetup_StartLegendaryBattle
	def_special StartRegiBattle
	def_special SetUpTrainerMovement
	def_special DoSealedChamberShakingEffect2
	def_special FoundBlackGlasses
	def_special StartDroughtWeatherBlend
	def_special DoDiveWarp
	def_special DoFallWarp
	def_special ShowContestEntryMonPic
	def_special sub_80F8EB8
	def_special SetEReaderTrainerGfxId
	def_special BattleSetup_StartLatiBattle
	def_special SetRoute119Weather
	def_special SetRoute123Weather
	def_special ScriptGetMultiplayerId
	def_special ScriptGetPartyMonSpecies
	def_special sub_81B98DC
	def_special nullsub_54
	def_special MoveOutOfSecretBaseFromOutside
	def_special LoadPlayerBag
	def_special sub_80B05B4
	def_special SetPacifidlogTMReceivedDay
	def_special GetDaysUntilPacifidlogTMAvailable
	def_special HasAllHoennMons
	def_special MonOTNameMatchesPlayer
	def_special BufferLottoTicketNumber
	def_special sub_81653CC
	def_special sub_80F9370
	def_special ScriptRandom
	def_special sub_81AFDD0
	def_special sub_80EDCE8
	def_special sub_80EE2CC
	def_special sub_80EE72C
	def_special sub_80EE7C0
	def_special nullsub_55
	def_special PutFanClubSpecialOnTheAir
	def_special sub_80EED10
	def_special sub_80EED34
	def_special sub_80EB1AC
	def_special SetSecretBaseSecretsTvFlags_SandOrnament
	def_special sub_80EB300
	def_special sub_80EB438
	def_special sub_80EB368
	def_special sub_80EB3D0
	def_special sub_80EB290
	def_special sub_80EB2C8
	def_special SetSecretBaseSecretsTvFlags_MiscFurnature
	def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
	def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
	def_special SetSecretBaseSecretsTvFlags_Poster
	def_special sub_818D9C0
	def_special sub_818DAEC
	def_special sub_818DBE8
	def_special sub_818DC2C
	def_special sub_818DC60
	def_special sub_818DCC8
	def_special sub_818DD14
	def_special sub_818DD54
	def_special sub_818DD78
	def_special sub_818DE44
	def_special sub_818DE5C
	def_special sub_818DEA0
	def_special sub_818DEDC
	def_special sub_818E038
	def_special sub_818E06C
	def_special sub_818E2D8
	def_special sub_811A858
	def_special sub_818E2FC
	def_special sub_818E308
	def_special sub_818E358
	def_special sub_818E37C
	def_special sub_818E298
	def_special sub_818E39C
	def_special sub_818E3BC
	def_special sub_818E3E0
	def_special sub_818E430
	def_special sub_818E47C
	def_special sub_818E490
	def_special sub_813986C
	def_special sub_818E4A4
	def_special sub_818E510
	def_special sub_818E538
	def_special sub_818E274
	def_special sub_818E3EC
	def_special sub_818E8E0
	def_special sub_818E8B4
	def_special sub_818E914
	def_special sub_818E92C
	def_special sub_818E940
	def_special sub_818E960
	def_special sub_818E990
	def_special PutLilycoveContestLadyShowOnTheAir
	def_special sub_813B880
	def_special CallApprenticeFunction
	def_special ShouldTryGetTrainerScript
	def_special ShowMapNamePopup
	def_special ShowMapNamePopup
	def_special DoMirageTowerCeilingCrumble
	def_special SetMirageTowerVisibility
	def_special StartPlayerDescendMirageTower
	def_special sub_81398C0
	def_special IsWirelessAdapterConnected
	def_special BerryBlenderLinkBecomeLeader
	def_special BerryBlenderLinkJoinGroup
	def_special UnionRoomSpecial
	def_special sub_801A42C
	def_special sub_8016934
	def_special sp182_move_string
	def_special sub_801DC20
	def_special sub_81B8958
	def_special sub_8018090
	def_special sub_813990C
	def_special ValidateReceivedWonderCard
	def_special HasAtLeastOneBerry
	def_special sub_802C920
	def_special sub_802E3C4
	def_special sub_8027A5C
	def_special sub_8027AAC
	def_special sub_8139980
	def_special sub_81399F4
	def_special sub_8139D98
	def_special sub_80F905C
	def_special sub_800B518
	def_special sub_80F90DC
	def_special sub_80F910C
	def_special sub_80F9160
	def_special ShowRankingHallRecordsWindow
	def_special ScrollRankingHallRecordsWindow
	def_special sub_8139F20
	def_special sub_80F9134
	def_special sub_80F9154
	def_special sub_80B3028
	def_special sub_813A128
	def_special sub_813A630
	def_special sub_813A080
	def_special sub_81C6A94
	def_special sub_81C4F24
	def_special sub_81B95E0
	def_special sub_81B9620
	def_special sub_813A76C
	def_special sub_813A7B8
	def_special sub_813A958
	def_special sub_813A8FC
	def_special sub_813A988
	def_special sub_813A9D0
	def_special sub_813A9A4
	def_special sub_813AA04
	def_special sub_813AA18
	def_special sub_813AA44
	def_special DisplayBerryPowderVendorMenu
	def_special RemoveBerryPowderVendorMenu
	def_special HasEnoughBerryPowder
	def_special TakeBerryPowder
	def_special PrintPlayerBerryPowderAmount
	def_special sub_813A820
	def_special sub_813A854
	def_special sub_813B7D8
	def_special sub_81C72A4
	def_special sp106_CreateStartMenu
	def_special CountPlayerTrainerStars
	def_special sub_813AC7C
	def_special sub_813ADB8
	def_special sub_813ADD4
	def_special sub_81B892C
	def_special sub_813AEB4
	def_special sub_813AF48
	def_special DoDeoxysRockInteraction
	def_special sub_813B1D0
	def_special CreateObedientEnemyMon
	def_special StartMirageTowerDisintegration
	def_special StartMirageTowerShake
	def_special StartMirageTowerFossilFallAndSink
	def_special ChangeBoxPokemonNickname
	def_special get_unknown_box_id
	def_special sub_813B21C
	def_special SetMatchCallRegisteredFlag
	def_special sub_8175280
	def_special CreateUnusualWeatherEvent
	def_special GetUnusualWeatherMapNameAndType
	def_special sub_813B490
	def_special sub_80A08CC
	def_special Unused_SetWeatherSunny
	def_special sub_81AFDA0
	def_special sub_813B4E0
	def_special ShouldDoBrailleRegicePuzzle
	def_special EnableNationalPokedex
	def_special sub_80E2548
	def_special sub_80E2878
	def_special TurnOnTVScreen
	def_special sub_81D4A90
	def_special sub_813B514
	def_special sub_813B568
	def_special sub_813B534
	def_special CallTrainerHillFunction
	def_special sub_813B7D8
	def_special sub_813B80C
	def_special sub_81D4BEC
	def_special sub_80224D0
	def_special TryBufferWaldaPhrase
	def_special DoWaldaNamingScreen
	def_special TryGetWallpaperWithWaldaPhrase
	def_special sub_8139ED0
	def_special sub_813B968
	def_special sub_80F8B94
	def_special ShowTrainerHillRecords
	def_special sub_80B4808
	def_special sub_813B9A0
	def_special sub_81B9918
	def_special sub_80722E0
	def_special TryPrepareSecondApproachingTrainer
	def_special RemoveRecordsWindow
	def_special sub_8139C10
	def_special sub_80B3BC4