diff options
-rw-r--r-- | asm/scrcmd.s | 8 | ||||
-rw-r--r-- | data/event_scripts.s | 3 | ||||
-rw-r--r-- | data/specials.inc | 456 |
3 files changed, 461 insertions, 6 deletions
diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 9bb17887a..24793be37 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -46,7 +46,7 @@ sub_8069EFC: @ 8069EFC bl ScriptReadHalfword lsls r0, 16 lsrs r0, 14 - ldr r1, _08069F18 @ =gUnknown_815FD60 + ldr r1, _08069F18 @ =gSpecials adds r1, r0, r1 ldr r0, _08069F1C @ =gUnknown_8160450 cmp r1, r0 @@ -55,7 +55,7 @@ sub_8069EFC: @ 8069EFC bl _call_via_r0 b _08069F2C .align 2, 0 -_08069F18: .4byte gUnknown_815FD60 +_08069F18: .4byte gSpecials _08069F1C: .4byte gUnknown_8160450 _08069F20: ldr r0, _08069F34 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" @@ -85,7 +85,7 @@ sub_8069F3C: @ 8069F3C bl ScriptReadHalfword lsls r0, 16 lsrs r0, 14 - ldr r1, _08069F6C @ =gUnknown_815FD60 + ldr r1, _08069F6C @ =gSpecials adds r1, r0, r1 ldr r0, _08069F70 @ =gUnknown_8160450 cmp r1, r0 @@ -95,7 +95,7 @@ sub_8069F3C: @ 8069F3C strh r0, [r5] b _08069F80 .align 2, 0 -_08069F6C: .4byte gUnknown_815FD60 +_08069F6C: .4byte gSpecials _08069F70: .4byte gUnknown_8160450 _08069F74: ldr r0, _08069F88 @ =gUnknown_83A725C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c" diff --git a/data/event_scripts.s b/data/event_scripts.s index c27df1946..5aef19caa 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -9,8 +9,7 @@ gScriptCmdTableEnd:: @ 815FD08 gUnknown_815FD0C:: @ 815FD0C .incbin "baserom.gba", 0x15FD0C, 0x54 -gUnknown_815FD60:: @ 815FD60 - .incbin "baserom.gba", 0x15FD60, 0x6F0 + .include "data/specials.inc" gUnknown_8160450:: @ 8160450 .incbin "baserom.gba", 0x160450, 0x28 diff --git a/data/specials.inc b/data/specials.inc new file mode 100644 index 000000000..171a6fd8e --- /dev/null +++ b/data/specials.inc @@ -0,0 +1,456 @@ +.macro def_special ptr +.global SPECIAL_\ptr +.set SPECIAL_\ptr, __special__ +.set __special__, __special__ + 1 + .4byte \ptr + .endm + +.set __special__, 0 + .align 2 + +gSpecials:: @ 815FD60 + def_special sp000_heal_pokemon + def_special SetCableClubWarp + def_special sub_807E654 + def_special sub_807E704 + def_special sub_8081744 + def_special sub_8081770 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8081064 + def_special sub_80810CC + def_special sub_80810F4 + def_special sub_80098B8 + def_special sub_80819C8 + def_special sub_8081978 + def_special sub_80819B8 + def_special sub_808130C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special SavePlayerParty + def_special LoadPlayerParty + def_special sub_80A0334 + def_special sp02A_crash_sound + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special IsEnigmaBerryValid + def_special sub_80803CC + def_special sub_80805D8 + def_special sub_8080618 + def_special ScrSpecial_HasTrainerBeenFought + def_special ScrSpecial_EndTrainerApproach + def_special sub_8080628 + def_special sub_810CD4C + def_special sub_810CEB4 + def_special sub_80805B0 + def_special sub_808C6A8 + def_special CheckForAlivePartyMons + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CBEBC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8081128 + def_special sub_806F67C + def_special nullsub_56 + def_special sub_80FEE44 + def_special sub_80BDA7C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80A0918 + def_special sub_80A0930 + def_special sub_80A096C + def_special sub_80A0984 + def_special sub_80CBFA0 + def_special TV_CopyNicknameToStringVar1AndEnsureTerminated + def_special TV_CheckMonOTIDEqualsPlayerID + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80BDB1C + def_special nullsub_75 + def_special sub_809A540 + def_special CalculatePlayerPartyCount + def_special CountPartyNonEggMons + def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA68C + def_special DrawWholeMapView + def_special sub_80CA69C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA6BC + def_special sub_80CA6DC + def_special sub_80CA714 + def_special sub_80CA758 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8055DC4 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_807F888 + def_special ChangePokemonNickname + def_special sub_80BF8FC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8113364 + def_special sub_8113288 + def_special sub_81133A4 + def_special sub_8113064 + def_special sub_81132CC + def_special sub_8113510 + def_special sub_81130A8 + def_special sub_8113530 + def_special sub_8082E54 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA74C + def_special GetDaycareMonNicknames + def_special sub_80464B4 + 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 sub_8046FD4 + def_special sub_8046EAC + def_special sub_80CD228 + def_special IsEnoughForCostInVar0x8005 + def_special SubtractMoneyFromVar0x8005 + def_special ExecuteWhiteOut + def_special sub_80CA3C4 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80A0EC4 + def_special sub_80A0EEC + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA3D8 + def_special sub_80CA524 + def_special sub_80CA86C + def_special sub_80CA9A8 + def_special sub_80CB204 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80BF93C + def_special sub_80BF9BC + def_special sub_80BFBA8 + def_special ScrSpecial_GetPokemonNicknameAndMoveName + def_special ScrSpecial_CountPokemonMoves + def_special sub_80E4634 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA664 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CA76C + def_special sub_80E5970 + def_special sub_80E5C28 + def_special sub_80E6648 + def_special sub_80E67FC + def_special sub_80E7538 + def_special sub_80E6900 + def_special sub_80E6A0C + def_special sub_80E6C8C + def_special sub_80E6E14 + def_special sub_80E6FB8 + def_special sub_80E7058 + def_special sub_80E71D0 + def_special sub_80E724C + def_special sub_80E72B8 + def_special sub_80A0380 + def_special ValidateEReaderTrainer + def_special nullsub_75 + def_special sub_80A03D8 + def_special sub_80EB6AC + def_special sub_80EB6FC + def_special sub_80CA7EC + def_special sub_8053A9C + def_special sub_8053D68 + def_special sub_8054440 + def_special sub_8053D2C + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sp109_CreatePCMenu + def_special sub_80CA574 + def_special sub_80CA618 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_61 + def_special DoSoftReset + def_special sub_80CA2E4 + def_special sub_80CB498 + def_special nullsub_75 + def_special SpawnScriptFieldObject + def_special RemoveScriptFieldObject + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAAAC + def_special sub_80CAABC + def_special player_get_direction_lower_nybble + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special LeadMonHasEffortRibbon + def_special GivLeadMonEffortRibbon + def_special ScrSpecial_AreLeadMonEVsMaxedOut + def_special sub_8069740 + def_special sub_8069768 + def_special sub_8141D9C + def_special nullsub_75 + def_special sub_80CA804 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAB78 + def_special nullsub_75 + def_special sub_80CABD0 + def_special nullsub_75 + def_special sub_80CB580 + def_special nullsub_75 + def_special sub_80CAC08 + def_special sub_806E99C + def_special sub_80CAC28 + def_special sub_807FA68 + def_special sub_807F9D8 + def_special sub_807FABC + def_special sub_8080398 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_807B6C0 + def_special sp13E_warp_to_last_warp + def_special sp13F_fall_to_last_warp + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80E5E70 + def_special sub_807F998 + def_special nullsub_75 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_80CAD54 + def_special sub_80BFC14 + def_special nullsub_75 + def_special nullsub_75 + def_special LoadPlayerBag + def_special sub_807F0B0 + def_special nullsub_75 + def_special nullsub_75 + def_special sub_8088F58 + def_special sub_80CAD7C + def_special nullsub_75 + def_special sub_80E759C + def_special GetNameOfEnigmaBerryInPlayerParty + def_special nullsub_75 + def_special sub_810B82C + def_special sub_807F904 + def_special sub_80CA630 + def_special sub_80CB7C4 + def_special sub_80CBC5C + def_special sub_80CADC4 + def_special sub_80CADEC + def_special sub_805D1A8 + def_special sub_80CB0A8 + def_special sub_80CB1D8 + def_special GetDaycarePokemonCount + def_special sub_80CB63C + def_special sub_80CBD80 + def_special sub_80CBDB0 + def_special sub_80CBDCC + def_special sub_810C444 + def_special sub_80CC7B4 + def_special ChangeBoxPokemonNickname + def_special sub_80CC2BC + def_special sub_80CC3CC + def_special sub_80CC524 + def_special sub_8009480 + def_special sub_8115A24 + def_special BerryBlenderLinkJoinGroup + def_special UnionRoomSpecial + def_special sub_814F1D4 + def_special EnableNationalPokedex + def_special sub_80699E0 + def_special sub_80699BC + def_special sub_810C3A4 + def_special SetFlavorTextFlagFromSpecialVars + def_special UpdatePickStateFromSpecialVar8005 + def_special sub_8054C48 + def_special sub_8046B40 + def_special sub_8046B70 + def_special sub_8046B94 + def_special sub_8046BBC + def_special sub_8046BDC + def_special sub_8146E78 + def_special sub_80CC48C + def_special sub_812B220 + def_special sub_812B234 + def_special sub_812B248 + def_special sub_8143FC8 + def_special sub_810B810 + def_special sub_811999C + def_special sp182_move_string + def_special sub_811390C + def_special sub_80CC4D4 + def_special sub_80CC730 + def_special sub_8110AB4 + def_special sub_8112364 + def_special sub_8146CE8 + def_special get_unknown_box_id + def_special sub_809D504 + def_special sub_809D620 + def_special sub_812781C + def_special sub_8127888 + def_special sub_80803FC + def_special sub_812B35C + def_special sub_815D334 + def_special sub_8149A18 + def_special sub_806E25C + def_special sub_815D9E8 + def_special sub_814B504 + def_special sub_80CC8CC + def_special sub_80CC948 + def_special sub_812B478 + def_special sub_812B484 + def_special sub_810B82C + def_special sub_8099FAC + def_special sub_815F094 + def_special sub_815F114 + def_special sub_815EEB0 + def_special sub_815EF5C + def_special sub_815F070 + def_special sub_80CC974 + def_special sub_814EA7C + def_special sub_80CCB94 + def_special sub_80CCCF8 + def_special sub_80F39B4 + def_special sub_8153810 + def_special sub_809D764 + def_special sub_809D8C0 + def_special sub_8147500 + def_special player_get_direction_lower_nybble + def_special sub_80CCDFC + def_special sub_80CD008 + def_special sub_8147594 + def_special sub_80CD034 + def_special sub_815D834 + def_special sub_8088F84 + def_special sub_80CD074 + def_special sub_80CD098 + def_special sub_811B15C + def_special sub_80CD0F4 + def_special sub_809C4A8 + def_special sub_81537C0 + def_special sub_809C5FC + def_special sub_80CB328 + def_special sub_80CD154 + def_special sub_80CD1B4 + def_special sub_8044838 +gSpecialsEnd:: |