pokered/engine/predefs.asm
2015-07-23 21:00:30 -07:00

153 lines
3.7 KiB
NASM
Executable file

GetPredefPointer:
; Store the contents of the register
; pairs (hl, de, bc) at wPredefRegisters.
; Then put the bank and address of predef
; wPredefID in [wPredefBank] and hl.
ld a,h
ld [wPredefRegisters],a
ld a,l
ld [wPredefRegisters + 1],a
ld hl,wPredefRegisters + 2
ld a,d
ld [hli],a
ld a,e
ld [hli],a
ld a,b
ld [hli],a
ld [hl],c
ld hl,PredefPointers
ld de,0
ld a,[wPredefID]
ld e,a
add a
add e
ld e,a
jr nc,.next
inc d
.next
add hl,de
ld d,h
ld e,l
; get bank of predef routine
ld a,[de]
ld [wPredefBank],a
; get pointer
inc de
ld a,[de]
ld l,a
inc de
ld a,[de]
ld h,a
ret
PredefPointers:: ; 4fe79 (13:7e79)
; these are pointers to ASM routines.
; they appear to be used in overworld map scripts.
add_predef DrawPlayerHUDAndHPBar
add_predef CopyUncompressedPicToTilemap
add_predef AnimateSendingOutMon
add_predef ScaleSpriteByTwo
add_predef LoadMonBackPic
add_predef CopyDownscaledMonTiles
add_predef LoadMissableObjects
add_predef HealParty
add_predef MoveAnimation; 08 play move animation
add_predef DivideBCDPredef
add_predef DivideBCDPredef2
add_predef AddBCDPredef
add_predef SubBCDPredef
add_predef DivideBCDPredef3
add_predef DivideBCDPredef4
add_predef InitPlayerData
add_predef FlagActionPredef
add_predef HideObject
add_predef IsObjectHidden
add_predef ApplyOutOfBattlePoisonDamage
add_predef AnyPartyAlive
add_predef ShowObject
add_predef ShowObject2
add_predef ReplaceTileBlock
add_predef InitPlayerData2
add_predef LoadTilesetHeader
add_predef LearnMoveFromLevelUp
add_predef LearnMove
add_predef IsItemInBag_
dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; for these two, the bank number is actually 0
dbw $03,GiveItem
add_predef ChangeBGPalColor0_4Frames
add_predef FindPathToPlayer
add_predef PredefShakeScreenVertically
add_predef CalcPositionOfPlayerRelativeToNPC
add_predef ConvertNPCMovementDirectionsToJoypadMasks
add_predef PredefShakeScreenHorizontally
add_predef UpdateHPBar
add_predef HPBarLength
add_predef Diploma_TextBoxBorder
add_predef DoubleOrHalveSelectedStats
add_predef ShowPokedexMenu
add_predef EvolutionAfterBattle
add_predef SaveSAVtoSRAM0
add_predef InitOpponent
add_predef CableClub_Run
add_predef DrawBadges
add_predef ExternalClockTradeAnim
add_predef BattleTransition
add_predef CopyTileIDsFromList
add_predef PlayIntro
add_predef GetMoveSoundB
add_predef FlashScreen
add_predef GetTileAndCoordsInFrontOfPlayer
add_predef StatusScreen
add_predef StatusScreen2
add_predef InternalClockTradeAnim
add_predef TrainerEngage
add_predef IndexToPokedex
add_predef DisplayPicCenteredOrUpperRight
add_predef UsedCut
add_predef ShowPokedexData
add_predef WriteMonMoves
add_predef SaveSAV
add_predef LoadSGB
add_predef MarkTownVisitedAndLoadMissableObjects
add_predef SetPartyMonTypes
add_predef CanLearnTM
add_predef TMToMove
add_predef Func_71ddf
add_predef StarterDex ; 46
add_predef _AddPartyMon
add_predef UpdateHPBar2
add_predef DrawEnemyHUDAndHPBar
add_predef LoadTownMap_Nest
add_predef PrintMonType
add_predef EmotionBubble
add_predef EmptyFunc3; return immediately
add_predef AskName
add_predef PewterGuys
add_predef SaveSAVtoSRAM2
add_predef LoadSAV2
add_predef LoadSAV
add_predef SaveSAVtoSRAM1
add_predef DoInGameTradeDialogue
add_predef HallOfFamePC
add_predef DisplayDexRating
dbw $1E, _LeaveMapAnim ; wrong bank
dbw $1E, EnterMapAnim ; wrong bank
add_predef GetTileTwoStepsInFrontOfPlayer
add_predef CheckForCollisionWhenPushingBoulder
add_predef PrintStrengthTxt
add_predef PickUpItem
add_predef PrintMoveType
add_predef LoadMovePPs
add_predef DrawHP ; 5F
add_predef DrawHP2
add_predef DisplayElevatorFloorMenu
add_predef OaksAideScript