This commit is contained in:
mid-kid 2018-07-27 11:21:31 +02:00
commit 9aa6b55d7b
30 changed files with 198 additions and 195 deletions

View File

@ -63,7 +63,7 @@ MOVE_LENGTH EQU const_value
const STAT_SATK
NUM_EXP_STATS EQU const_value + -1
const STAT_SDEF
NUM_STATS EQU const_value
NUM_STATS EQU const_value +- 1
STAT_SPC EQU STAT_SATK
; stat formula constants

View File

@ -49,6 +49,6 @@ NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wVirtualOAM
const ANIM_MON_TRADE
const ANIM_MON_EVOLVE
const ANIM_MON_HATCH
const ANIM_MON_UNUSED
const ANIM_MON_HOF
const ANIM_MON_EGG1
const ANIM_MON_EGG2

View File

@ -94,7 +94,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 35, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
@ -146,7 +146,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 15, 20, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
@ -198,7 +198,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 35, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
@ -250,7 +250,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 25, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
@ -302,7 +302,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 30, 30, 10, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data
@ -354,7 +354,7 @@ OddEgg1End:
bigdw 0
bigdw 0
bigdw 0
db $0, $0 ; DVs
dn 0, 0, 0, 0 ; DVs
db 35, 10, 0, 0 ; PP
db 20 ; Happiness
db 0, 0, 0 ; Pokerus, Caught data

View File

@ -530,7 +530,7 @@ DetermineMoveOrder:
ld de, wBattleMonSpeed
ld hl, wEnemyMonSpeed
ld c, 2
call StringCmp
call CompareBytes
jr z, .speed_tie
jp nc, .player_first
jp .enemy_first
@ -3715,19 +3715,19 @@ TryToRunAwayFromBattle:
inc a
ld [wNumFleeAttempts], a
ld a, [hli]
ld [hStringCmpString2 + 0], a
ld [hPartyMon1Speed + 0], a
ld a, [hl]
ld [hStringCmpString2 + 1], a
ld [hPartyMon1Speed + 1], a
ld a, [de]
inc de
ld [hStringCmpString1 + 0], a
ld [hEnemyMonSpeed + 0], a
ld a, [de]
ld [hStringCmpString1 + 1], a
ld [hEnemyMonSpeed + 1], a
call Call_LoadTempTileMapToTileMap
ld de, hStringCmpString2
ld hl, hStringCmpString1
ld c, $2
call StringCmp
ld de, hPartyMon1Speed
ld hl, hEnemyMonSpeed
ld c, 2
call CompareBytes
jr nc, .can_escape
xor a
@ -3739,9 +3739,9 @@ TryToRunAwayFromBattle:
ld [hDividend + 0], a
ld a, [hProduct + 3]
ld [hDividend + 1], a
ld a, [hStringCmpString1 + 0]
ld a, [hEnemyMonSpeed + 0]
ld b, a
ld a, [hStringCmpString1 + 1]
ld a, [hEnemyMonSpeed + 1]
srl b
rr a
srl b
@ -7113,7 +7113,7 @@ GiveExperiencePoints:
push bc
call LoadTileMapToTempTileMap
pop bc
ld hl, MON_STAT_EXP - 1
ld hl, MON_EXP + 2
add hl, bc
ld d, [hl]
ld a, [hQuotient + 2]
@ -7145,7 +7145,7 @@ GiveExperiencePoints:
ld d, MAX_LEVEL
callfar CalcExpAtLevel
pop bc
ld hl, MON_STAT_EXP - 1
ld hl, MON_EXP + 2
add hl, bc
push bc
ld a, [hQuotient]
@ -8712,7 +8712,7 @@ AddLastMobileBattleToLinkRecord:
push de
ld bc, 12
ld de, wStringBuffer1
call CompareLong
call CompareBytesLong
pop de
pop hl
jr c, .done
@ -8821,7 +8821,7 @@ AddLastMobileBattleToLinkRecord:
pop hl
push bc
ld c, 3
call StringCmp
call CompareBytes
pop bc
jr z, .equal
jr nc, .done2
@ -9094,7 +9094,7 @@ BattleStartMessage:
jr .skip_cry ; cry is played during the animation
.cry_no_anim
ld a, $0f
ld a, $f
ld [wCryTracks], a
ld a, [wTempEnemyMonSpecies]
call PlayStereoCry

View File

@ -6154,7 +6154,7 @@ BattleCommand_Heal:
push de
push bc
ld c, 2
call StringCmp
call CompareBytes
pop bc
pop de
pop hl
@ -6573,7 +6573,7 @@ BattleCommand_TimeBasedHealContinue:
; Don't bother healing if HP is already full.
push bc
call StringCmp
call CompareBytes
pop bc
jr z, .Full

View File

@ -13,7 +13,7 @@ BattleCommand_FalseSwipe:
ld c, 2
push hl
push de
call StringCmp
call CompareBytes
pop de
pop hl
jr c, .done

View File

@ -171,7 +171,7 @@ DetermineContestWinners:
ld de, wBugContestTempScore
ld hl, wBugContestFirstPlaceScore
ld c, 2
call StringCmp
call CompareBytes
jr c, .not_first_place
ld hl, wBugContestSecondPlaceWinnerID
ld de, wBugContestThirdPlaceWinnerID
@ -189,7 +189,7 @@ DetermineContestWinners:
ld de, wBugContestTempScore
ld hl, wBugContestSecondPlaceScore
ld c, 2
call StringCmp
call CompareBytes
jr c, .not_second_place
ld hl, wBugContestSecondPlaceWinnerID
ld de, wBugContestThirdPlaceWinnerID
@ -203,7 +203,7 @@ DetermineContestWinners:
ld de, wBugContestTempScore
ld hl, wBugContestThirdPlaceScore
ld c, 2
call StringCmp
call CompareBytes
jr c, .done
ld hl, wBugContestThirdPlaceWinnerID
call CopyTempContestant

View File

@ -124,7 +124,7 @@ AnimateHallOfFame:
call PlaceString
call WaitBGMap
decoord 6, 5
ld c, $6
ld c, ANIM_MON_HOF
predef HOF_AnimateFrontpic
ld c, 60
call DelayFrames
@ -390,7 +390,7 @@ _HallOfFamePC:
call GetSGBLayout
call SetPalettes
decoord 6, 5
ld c, $6
ld c, ANIM_MON_HOF
predef HOF_AnimateFrontpic
and a
ret

View File

@ -36,7 +36,7 @@ CheckMagikarpLength:
ld hl, wMagikarpLength
ld de, wBestMagikarpLengthFeet
ld c, 2
call StringCmp
call CompareBytes
jr nc, .not_long_enough
; NEW RECORD!!! Let's save that.

View File

@ -478,21 +478,21 @@ PlayerDepositItemMenu:
push af
ld a, [wBuffer2]
push af
call .DepositItem_
call .DepositItem
pop af
ld [wBuffer2], a
pop af
ld [wBuffer1], a
ret
.DepositItem_:
.DepositItem:
farcall _CheckTossableItem
ld a, [wItemAttributeParamBuffer]
and a
jr z, .AskQuantity
ld a, $1
ld [wItemQuantityChangeBuffer], a
jr .DepositItem
jr .ContinueDeposit
.AskQuantity:
ld hl, .HowManyText
@ -504,7 +504,7 @@ PlayerDepositItemMenu:
pop af
jr c, .DeclinedToDeposit
.DepositItem:
.ContinueDeposit:
ld a, [wItemQuantityChangeBuffer]
ld [wBuffer1], a
ld a, [wCurItemQuantity]

View File

@ -266,7 +266,7 @@ _CGB_Pokedex:
jr .got_palette
.is_pokemon
call GetMonPalettePointer_
call GetMonPalettePointer
call LoadPalette_White_Col1_Col2_Black ; mon palette
.got_palette
call WipeAttrMap
@ -352,7 +352,7 @@ _CGB_PokedexUnownMode:
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [wCurPartySpecies]
call GetMonPalettePointer_
call GetMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
hlcoord 7, 5, wAttrMap
@ -914,7 +914,7 @@ _CGB_PlayerOrMonFrontpicPals:
_CGB1e:
ld de, wBGPals1
ld a, [wCurPartySpecies]
call GetMonPalettePointer_
call GetMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
call ApplyAttrMap

View File

@ -94,9 +94,9 @@ Unreferenced_Function8aa4:
ld a, d
ld [wSGBPals + 6], a
ld hl, wSGBPals
call PushSGBPals_
call PushSGBPals
ld hl, BlkPacket_9a86
call PushSGBPals_
call PushSGBPals
ret
InitPartyMenuPalettes:
@ -173,7 +173,7 @@ Unreferenced_Function8b3f:
and a
ret z
ld hl, BlkPacket_9a86
jp PushSGBPals_
jp PushSGBPals
Unreferenced_Function8b4d:
call CheckCGB
@ -182,7 +182,7 @@ Unreferenced_Function8b4d:
and a
ret z
ld hl, PalPacket_BetaIntroVenusaur
jp PushSGBPals_
jp PushSGBPals
.cgb
ld de, wOBPals1
@ -197,7 +197,7 @@ Unreferenced_Function8b67:
and a
ret z
ld hl, PalPacket_Pack
jp PushSGBPals_
jp PushSGBPals
.cgb
ld de, wOBPals1
@ -218,7 +218,7 @@ Unreferenced_Function8b81:
ld bc, PALPACKET_LENGTH
call CopyBytes
pop af
call GetMonPalettePointer_
call GetMonPalettePointer
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
@ -228,12 +228,12 @@ Unreferenced_Function8b81:
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
jp PushSGBPals_
jp PushSGBPals
.cgb
ld de, wOBPals1
ld a, c
call GetMonPalettePointer_
call GetMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
ret
@ -245,7 +245,7 @@ LoadTrainerClassPaletteAsNthBGPal:
LoadMonPaletteAsNthBGPal:
ld a, [wCurPartySpecies]
call GetMonPalettePointer
call _GetMonPalettePointer
ld a, e
bit 7, a
jr z, got_palette_pointer_8bd7
@ -278,7 +278,7 @@ Unreferenced_Function8bec:
and a
jr nz, .cgb
ld hl, wPlayerLightScreenCount
jp PushSGBPals_
jp PushSGBPals
.cgb
ld a, [wEnemyLightScreenCount] ; col
@ -310,7 +310,7 @@ ApplyMonOrTrainerPals:
and a
jr z, .get_trainer
ld a, [wCurPartySpecies]
call GetMonPalettePointer_
call GetMonPalettePointer
jr .load_palettes
.get_trainer
@ -426,9 +426,9 @@ LoadMailPalettes:
ld a, [hli]
ld [wSGBPals + 6], a
ld hl, wSGBPals
call PushSGBPals_
call PushSGBPals
ld hl, BlkPacket_9a86
call PushSGBPals_
call PushSGBPals
ret
.cgb
@ -732,8 +732,8 @@ GetTrainerPalettePointer:
add hl, bc
ret
GetMonPalettePointer_:
call GetMonPalettePointer
GetMonPalettePointer:
call _GetMonPalettePointer
ret
Unreferenced_Function9779:
@ -781,7 +781,7 @@ Unreferenced_Function97cc:
jr nz, .loop
ret
GetMonPalettePointer:
_GetMonPalettePointer:
ld l, a
ld h, $0
add hl, hl
@ -793,7 +793,7 @@ GetMonPalettePointer:
GetMonNormalOrShinyPalettePointer:
push bc
call GetMonPalettePointer
call _GetMonPalettePointer
pop bc
push hl
call CheckShininess
@ -804,17 +804,17 @@ rept 4
endr
ret
PushSGBPals_:
PushSGBPals:
ld a, [wcfbe]
push af
set 7, a
ld [wcfbe], a
call PushSGBPals
call _PushSGBPals
pop af
ld [wcfbe], a
ret
PushSGBPals:
_PushSGBPals:
ld a, [hl]
and $7
ret z
@ -878,7 +878,7 @@ InitSGBBorder:
call SGBDelayCycles
call SGB_ClearVRAM
ld hl, MaskEnCancelPacket
call PushSGBPals
call _PushSGBPals
.skip
pop af
@ -950,7 +950,7 @@ _InitSGBBorderPals:
push hl
ld h, [hl]
ld l, a
call PushSGBPals
call _PushSGBPals
pop hl
inc hl
pop bc
@ -974,12 +974,12 @@ Unreferenced_Function9911:
xor a
ld [rJOYP], a
ld hl, MaskEnFreezePacket
call PushSGBPals
call _PushSGBPals
call PushSGBBorder
call SGBDelayCycles
call SGB_ClearVRAM
ld hl, MaskEnCancelPacket
call PushSGBPals
call _PushSGBPals
ei
ret
@ -1005,7 +1005,7 @@ SGB_ClearVRAM:
PushSGBBorderPalsAndWait:
ld hl, MltReq2Packet
call PushSGBPals
call _PushSGBPals
call SGBDelayCycles
ld a, [rJOYP]
and $3
@ -1050,7 +1050,7 @@ endr
.FinalPush:
ld hl, MltReq1Packet
call PushSGBPals
call _PushSGBPals
jp SGBDelayCycles
SGBBorder_PushBGPals:
@ -1065,7 +1065,7 @@ SGBBorder_PushBGPals:
ld a, LCDC_DEFAULT
ld [rLCDC], a
ld hl, PalTrnPacket
call PushSGBPals
call _PushSGBPals
xor a
ld [rBGP], a
ret
@ -1099,7 +1099,7 @@ SGBBorder_MorePalPushing:
ld a, LCDC_DEFAULT
ld [rLCDC], a
ld hl, PctTrnPacket
call PushSGBPals
call _PushSGBPals
xor a
ld [rBGP], a
ret
@ -1123,7 +1123,7 @@ SGBBorder_YetMorePalPushing:
ld a, LCDC_DEFAULT
ld [rLCDC], a
ld hl, ChrTrnPacket
call PushSGBPals
call _PushSGBPals
xor a
ld [rBGP], a
ret

View File

@ -284,7 +284,7 @@ _InitMG_Mobile_LinkTradePalMap:
call ByteFill
ret
LoadTradeRoomBGPals:
_LoadTradeRoomBGPals:
ld hl, TradeRoomPalette
ld de, wBGPals1 palette PAL_BG_GREEN
ld bc, 6 palettes

View File

@ -40,8 +40,8 @@ AnimateMon_Hatch:
call AnimateFrontpic
ret
AnimateMon_Unused:
ld e, ANIM_MON_UNUSED
AnimateMon_HOF:
ld e, ANIM_MON_HOF
ld d, $0
call AnimateFrontpic
ret
@ -59,13 +59,14 @@ endr
ENDM
PokeAnims:
; entries correspond to ANIM_MON_* constants
dw .Slow
dw .Normal
dw .Menu
dw .Trade
dw .Evolve
dw .Hatch
dw .Unused ; same as .Menu
dw .HOF
dw .Egg1
dw .Egg2
@ -75,7 +76,7 @@ PokeAnims:
.Trade: pokeanim Idle, Play2, Idle, Play, SetWait, Wait, Cry, Setup, Play
.Evolve: pokeanim Idle, Play, SetWait, Wait, CryNoWait, Setup, Play
.Hatch: pokeanim Idle, Play, CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
.Unused: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
.HOF: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
.Egg1: pokeanim Setup, Play
.Egg2: pokeanim Idle, Play
@ -108,7 +109,7 @@ LoadMonAnimation:
SetUpPokeAnim:
ld a, [rSVBK]
push af
ld a, BANK(wPokeAnimSceneIndex)
ld a, BANK(wPokeAnimStruct)
ld [rSVBK], a
ld a, [wPokeAnimSceneIndex]
ld c, a
@ -283,14 +284,14 @@ AnimateMon_CheckIfPokemon:
PokeAnim_InitPicAttributes:
ld a, [rSVBK]
push af
ld a, BANK(wPokeAnimSceneIndex)
ld a, BANK(wPokeAnimStruct)
ld [rSVBK], a
push bc
push de
push hl
ld hl, wPokeAnimSceneIndex
ld bc, wPokeAnimStructEnd - wPokeAnimSceneIndex
ld hl, wPokeAnimStruct
ld bc, wPokeAnimStructEnd - wPokeAnimStruct
xor a
call ByteFill
pop hl

View File

@ -61,7 +61,7 @@ LoadSGBLayout:
.SGB_BattleColors:
ld hl, BlkPacket_Battle
call PushSGBPals_
call PushSGBPals
ld hl, PalPacket_9ce6
ld de, wSGBPals
@ -210,7 +210,7 @@ LoadSGBLayout:
inc hl
ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
ld a, [wCurPartySpecies]
call GetMonPalettePointer_
call GetMonPalettePointer
ld a, [hli]
ld [wSGBPals + 9], a
ld a, [hli]
@ -566,6 +566,6 @@ INCLUDE "data/maps/sgb_roof_pal_inds.asm"
_LoadSGBLayout_ReturnFromJumpTable:
push de
call PushSGBPals_
call PushSGBPals
pop hl
jp PushSGBPals_
jp PushSGBPals

View File

@ -1971,7 +1971,7 @@ LoadTradeScreenBorder:
ret
SetTradeRoomBGPals:
farcall LoadTradeRoomBGPals_ ; just a nested farcall; so wasteful
farcall LoadTradeRoomBGPals ; just a nested farcall; so wasteful
call SetPalettes
ret

View File

@ -133,8 +133,8 @@ LinkComms_LoadPleaseWaitTextboxBorderGFX:
call Get2bpp
ret
LoadTradeRoomBGPals_:
farcall LoadTradeRoomBGPals
LoadTradeRoomBGPals:
farcall _LoadTradeRoomBGPals
ret
Function16d6ae:

View File

@ -164,7 +164,7 @@ AddHallOfFameEntry:
ret
SaveGameData:
call SaveGameData_
call _SaveGameData
ret
AskOverwriteSaveFile:
@ -228,7 +228,7 @@ CompareLoadedAndSavedPlayerID:
_SavingDontTurnOffThePower:
call SavingDontTurnOffThePower
SavedTheGame:
call SaveGameData_
call _SaveGameData
; wait 32 frames
ld c, $20
call DelayFrames
@ -252,7 +252,7 @@ SavedTheGame:
call DelayFrames
ret
SaveGameData_:
_SaveGameData:
ld a, TRUE
ld [wSaveFileExists], a
farcall StageRTCTimeForSave

View File

@ -29,7 +29,7 @@ StartMenu::
call .SetUpMenuItems
ld a, [wBattleMenuCursorBuffer]
ld [wMenuCursorBuffer], a
call .DrawMenuAccount_
call .DrawMenuAccount
call DrawVariableLengthMenuBox
call .DrawBugContestStatusBox
call SafeUpdateSprites
@ -49,7 +49,7 @@ StartMenu::
.Select:
call .GetInput
jr c, .Exit
call .DrawMenuAccount
call ._DrawMenuAccount
ld a, [wMenuCursorBuffer]
ld [wBattleMenuCursorBuffer], a
call PlayClickSFX
@ -96,7 +96,7 @@ StartMenu::
; Return carry on exit, and no-carry on selection.
xor a
ld [hBGMapMode], a
call .DrawMenuAccount
call ._DrawMenuAccount
call SetUpMenu
ld a, $ff
ld [wMenuSelection], a
@ -147,7 +147,7 @@ StartMenu::
call ClearBGPalettes
call Call_ExitMenu
call ReloadTilesetAndPalettes
call .DrawMenuAccount_
call .DrawMenuAccount
call DrawVariableLengthMenuBox
call .DrawBugContestStatus
call UpdateSprites
@ -360,17 +360,17 @@ endr
inc c
ret
.DrawMenuAccount_:
jp .DrawMenuAccount
.DrawMenuAccount:
jp ._DrawMenuAccount
.PrintMenuAccount:
call .IsMenuAccountOn
ret z
call .DrawMenuAccount
call ._DrawMenuAccount
decoord 0, 14
jp .MenuDesc
.DrawMenuAccount:
._DrawMenuAccount:
call .IsMenuAccountOn
ret z
hlcoord 0, 13

View File

@ -99,7 +99,7 @@ EvolveAfterBattle_MasterLoop:
ld de, wTempMonAttack
ld hl, wTempMonDefense
ld c, 2
call StringCmp
call CompareBytes
ld a, ATK_EQ_DEF
jr z, .got_tyrogue_evo
ld a, ATK_LT_DEF

View File

@ -59,7 +59,7 @@ ReadAnyMail:
.pressed_start
ld a, [wJumptableIndex]
push af
callfar PrintMail ; printer
callfar PrintMailAndExit ; printer
pop af
ld [wJumptableIndex], a
jr .loop

View File

@ -268,12 +268,12 @@ PrintUnownStamp:
ld [wPrinterQueueLength], a
ret
PrintMail:
call PrintMail_
PrintMailAndExit:
call PrintMail
call Printer_ExitPrinter
ret
PrintMail_:
PrintMail:
ld a, [wPrinterQueueLength]
push af
xor a

View File

@ -44,14 +44,14 @@ PrinterJumptableIteration:
dw Printer_WaitUntilFinished ; 0c
dw Printer_Quit ; 0d
dw Printer_NextSection_ ; 0e
dw Printer_NextSection ; 0e
dw Printer_WaitSerial ; 0f
dw Printer_SignalLoopBack ; 10
dw Printer_SectionOne ; 11
dw Printer_WaitLoopBack ; 12
dw Printer_WaitLoopBack_ ; 13
dw Printer_NextSectionWaitLoopBack ; 12
dw Printer_WaitLoopBack ; 13
Printer_NextSection:
_Printer_NextSection:
ld hl, wJumptableIndex
inc [hl]
ret
@ -68,8 +68,8 @@ Printer_Quit:
set 7, [hl]
ret
Printer_NextSection_:
call Printer_NextSection
Printer_NextSection:
call _Printer_NextSection
ret
Printer_SectionOne:
@ -86,7 +86,7 @@ Print_InitPrinterHandshake:
ld [wPrinterSendByteCounter + 1], a
ld a, [wPrinterQueueLength]
ld [wPrinterRowIndex], a
call Printer_NextSection
call _Printer_NextSection
call Printer_WaitHandshake
ld a, PRINTER_STATUS_CHECKING
ld [wPrinterStatus], a
@ -110,7 +110,7 @@ Printer_StartTransmittingTilemap:
ld [wPrinterSendByteCounter + 1], a
; compute the checksum
call Printer_ComputeChecksum
call Printer_NextSection
call _Printer_NextSection
call Printer_WaitHandshake
ld a, PRINTER_STATUS_TRANSMITTING
ld [wPrinterStatus], a
@ -127,7 +127,7 @@ Printer_EndTilemapTransmission:
xor a
ld [wPrinterSendByteCounter], a
ld [wPrinterSendByteCounter + 1], a
call Printer_NextSection
call _Printer_NextSection
call Printer_WaitHandshake
ret
@ -143,7 +143,7 @@ Printer_SignalSendHeader:
ld [wPrinterSendByteCounter + 1], a
; compute the checksum
call Printer_ComputeChecksum
call Printer_NextSection
call _Printer_NextSection
call Printer_WaitHandshake
ld a, PRINTER_STATUS_PRINTING
ld [wPrinterStatus], a
@ -160,7 +160,7 @@ Printer_SignalLoopBack:
ld [wPrinterSendByteCounter + 1], a
ld a, [wPrinterQueueLength]
ld [wPrinterRowIndex], a
call Printer_NextSection
call _Printer_NextSection
call Printer_WaitHandshake
ret
@ -172,7 +172,7 @@ Printer_WaitSerial:
ret c
xor a
ld [hl], a
call Printer_NextSection
call _Printer_NextSection
ret
Printer_WaitSerialAndLoopBack2:
@ -211,7 +211,7 @@ Printer_CheckConnectionStatus:
set 1, [hl]
ld a, $5
ld [wHandshakeFrameDelay], a
call Printer_NextSection
call _Printer_NextSection
ret
.printer_error
@ -232,7 +232,7 @@ Printer_TransmissionLoop:
ld a, [wPrinterStatusFlags]
and $1
jr nz, .cycle_back
call Printer_NextSection
call _Printer_NextSection
ret
.cycle_back
@ -240,7 +240,7 @@ Printer_TransmissionLoop:
ret
.enter_wait_loop
ld a, $12 ; Printer_WaitLoopBack
ld a, $12 ; Printer_NextSectionWaitLoopBack
ld [wJumptableIndex], a
ret
@ -251,12 +251,12 @@ Printer_WaitUntilFinished:
ld a, [wPrinterStatusFlags]
and $f3
ret nz
call Printer_NextSection
call _Printer_NextSection
ret
Printer_NextSectionWaitLoopBack:
call _Printer_NextSection
Printer_WaitLoopBack:
call Printer_NextSection
Printer_WaitLoopBack_:
ld a, [wPrinterOpcode]
and a
ret nz
@ -474,31 +474,31 @@ _PrinterReceive::
dw Printer_SendNextByte ; 06
dw Printer_SendwPrinterChecksumLo ; 07
dw Printer_SendwPrinterChecksumHi ; 08
dw Printer_Send0x00 ; 09
dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 0a
dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 0b
dw Printer_Send0x00_2 ; 09
dw Printer_ReceiveTwoPrinterHandshakeAndSend0x00 ; 0a
dw Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop ; 0b
dw Printer_Send0x33 ; 0c triggered by AskSerial
dw Printer_Send0x0f ; 0d
dw Printer_Send0x00_ ; 0e
dw Printer_Send0x00_ ; 0f
dw Printer_Send0x00_ ; 10
dw Printer_Send0x00 ; 0e
dw Printer_Send0x00 ; 0f
dw Printer_Send0x00 ; 10
dw Printer_Send0x0f ; 11
dw Printer_Send0x00_ ; 12
dw Printer_Send0x00 ; 13
dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 14
dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_ ; 15
dw Printer_Send0x00 ; 12
dw Printer_Send0x00_2 ; 13
dw Printer_ReceiveTwoPrinterHandshakeAndSend0x00 ; 14
dw Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop_2 ; 15
dw Printer_Send0x33 ; 16 triggered by pressing B
dw Printer_Send0x08 ; 17
dw Printer_Send0x00_ ; 18
dw Printer_Send0x00_ ; 19
dw Printer_Send0x00_ ; 1a
dw Printer_Send0x00 ; 18
dw Printer_Send0x00 ; 19
dw Printer_Send0x00 ; 1a
dw Printer_Send0x08 ; 1b
dw Printer_Send0x00_ ; 1c
dw Printer_Send0x00 ; 1d
dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 1e
dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 1f
dw Printer_Send0x00 ; 1c
dw Printer_Send0x00_2 ; 1d
dw Printer_ReceiveTwoPrinterHandshakeAndSend0x00 ; 1e
dw Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop ; 1f
Printer_NextInstruction:
ld hl, wPrinterOpcode
@ -580,13 +580,14 @@ Printer_SendwPrinterChecksumHi:
call Printer_NextInstruction
ret
Printer_Send0x00:
Printer_Send0x00_2:
; identical to Printer_Send0x00, but referenced less
ld a, $0
call Printer_SerialSend
call Printer_NextInstruction
ret
Printer_ReceiveTowPrinterHandshakeAndSend0x00:
Printer_ReceiveTwoPrinterHandshakeAndSend0x00:
ld a, [rSB]
ld [wPrinterHandshake], a
ld a, $0
@ -594,7 +595,7 @@ Printer_ReceiveTowPrinterHandshakeAndSend0x00:
call Printer_NextInstruction
ret
Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop:
Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop:
ld a, [rSB]
ld [wPrinterStatusFlags], a
xor a
@ -607,7 +608,7 @@ Printer_Send0x0f:
call Printer_NextInstruction
ret
Printer_Send0x00_:
Printer_Send0x00:
ld a, $0
call Printer_SerialSend
call Printer_NextInstruction
@ -627,7 +628,8 @@ Printer_SerialSend:
ld [rSC], a
ret
Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_:
Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop_2:
; identical to Printer_ReceiveTwoPrinterStatusFlagsAndExitSendLoop, but referenced less
ld a, [rSB]
ld [wPrinterStatusFlags], a
xor a

View File

@ -162,55 +162,8 @@ CallPointerAt::
rst Bankswitch
ret
QueueScript::
; Push pointer hl in the current bank to wQueuedScriptBank.
ld a, [hROMBank]
FarQueueScript::
; Push pointer a:hl to wQueuedScriptBank.
ld [wQueuedScriptBank], a
ld a, l
ld [wQueuedScriptAddr], a
ld a, h
ld [wQueuedScriptAddr + 1], a
ret
StringCmp::
; Compare c bytes at de and hl.
; Return z if they all match.
.loop
ld a, [de]
cp [hl]
ret nz
inc de
inc hl
dec c
jr nz, .loop
ret
CompareLong::
; Compare bc bytes at de and hl.
; Return carry if they all match.
ld a, [de]
cp [hl]
jr nz, .Diff
inc de
inc hl
dec bc
ld a, b
or c
jr nz, CompareLong
scf
ret
.Diff:
and a
ret
INCLUDE "home/queue_script.asm"
INCLUDE "home/compare.asm"
INCLUDE "home/tilemap.asm"
INCLUDE "home/hp_pals.asm"

35
home/compare.asm Normal file
View File

@ -0,0 +1,35 @@
CompareBytes::
; Compare c bytes at de and hl.
; Return z if they all match.
.loop
ld a, [de]
cp [hl]
ret nz
inc de
inc hl
dec c
jr nz, .loop
ret
CompareBytesLong::
; Compare bc bytes at de and hl.
; Return carry if they all match.
.loop
ld a, [de]
cp [hl]
jr nz, .diff
inc de
inc hl
dec bc
ld a, b
or c
jr nz, .loop
scf
ret
.diff:
and a
ret

12
home/queue_script.asm Normal file
View File

@ -0,0 +1,12 @@
QueueScript::
; Push pointer hl in the current bank to wQueuedScriptBank.
ld a, [hROMBank]
FarQueueScript::
; Push pointer a:hl to wQueuedScriptBank.
ld [wQueuedScriptBank], a
ld a, l
ld [wQueuedScriptAddr], a
ld a, h
ld [wQueuedScriptAddr + 1], a
ret

View File

@ -48,8 +48,8 @@ hConnectedMapWidth EQU $ffb0
hPastLeadingZeroes EQU $ffb3
hStringCmpString1 EQU $ffb1
hStringCmpString2 EQU $ffb5
hEnemyMonSpeed EQU $ffb1
hPartyMon1Speed EQU $ffb5
hDividend EQU $ffb3 ; length in b register, before 'call Divide' (max 4 bytes)
hDivisor EQU $ffb7 ; 1 byte long

View File

@ -2063,7 +2063,7 @@ Function89d0d:
ld [rSVBK], a
call SetPalettes
farcall PrintMail_
farcall PrintMail
call Mobile22_SetBGMapMode1
ld c, 24
call DelayFrames

View File

@ -2967,7 +2967,7 @@ endr
ENDM
IncCrashCheckPointer_SaveGameData:
inc_crash_check_pointer_farcall SaveGameData_
inc_crash_check_pointer_farcall _SaveGameData
IncCrashCheckPointer_SaveAfterLinkTrade:
inc_crash_check_pointer_farcall SaveAfterLinkTrade

View File

@ -2893,6 +2893,7 @@ wTempTileMap::
ds SCREEN_WIDTH * SCREEN_HEIGHT ; $168 = 360
; PokeAnim data
wPokeAnimStruct::
wPokeAnimSceneIndex:: db
wPokeAnimPointer:: dw
wPokeAnimSpecies:: db
@ -2901,7 +2902,6 @@ wPokeAnimSpeciesOrUnown:: db
wPokeAnimGraphicStartTile:: db
wPokeAnimCoord:: dw
wPokeAnimFrontpicHeight:: db
; PokeAnim Data
wPokeAnimIdleFlag:: db
wPokeAnimSpeed:: db
wPokeAnimPointerBank:: db