diff options
author | libjet <libj3t@gmail.com> | 2019-12-11 21:50:49 +0000 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2019-12-12 20:43:24 +0000 |
commit | 7acf2ec917864acaa267411ffff96f60f50ce703 (patch) | |
tree | 9f26694b1d26ff0514d05f379567effa9021652b | |
parent | 93872e920e9c82e1299a7f674cba5b56397b359d (diff) |
Update predef_pointers and wram, and correct typo's caused by search + replace
-rw-r--r-- | data/pokemon/egg_moves.asm | 4 | ||||
-rw-r--r-- | data/pokemon/evos_attacks.asm | 6 | ||||
-rwxr-xr-x | data/predef_pointers.asm | 79 | ||||
-rw-r--r-- | engine/billspctop.asm | 4 | ||||
-rwxr-xr-x | engine/color.asm | 2 | ||||
-rw-r--r-- | engine/events/daycare.asm | 2 | ||||
-rwxr-xr-x | engine/events/misc_scripts_2.asm | 2 | ||||
-rw-r--r-- | engine/learn.asm | 2 | ||||
-rwxr-xr-x | engine/learn_tm.asm | 2 | ||||
-rwxr-xr-x | engine/link/place_waiting_text.asm | 24 | ||||
-rwxr-xr-x | engine/main_menu.asm | 8 | ||||
-rwxr-xr-x | engine/move_mon.asm | 28 | ||||
-rwxr-xr-x | engine/pack.asm | 2 | ||||
-rwxr-xr-x | engine/predef.asm | 100 | ||||
-rwxr-xr-x | engine/specials.asm | 2 | ||||
-rwxr-xr-x | engine/title.asm | 4 | ||||
-rw-r--r-- | home.asm | 15 | ||||
-rw-r--r-- | home/init.asm | 2 | ||||
-rw-r--r-- | home/map.asm | 28 | ||||
-rw-r--r-- | home/pokedex_flags.asm | 2 | ||||
-rw-r--r-- | home/predef.asm | 46 | ||||
-rw-r--r-- | home/random.asm | 4 | ||||
-rw-r--r-- | home/text.asm | 38 | ||||
-rw-r--r-- | home/tilemap.asm | 2 | ||||
-rw-r--r-- | home/window.asm | 2 | ||||
-rw-r--r-- | includes.asm | 2 | ||||
-rwxr-xr-x | items/item_effects.asm | 12 | ||||
-rwxr-xr-x[-rw-r--r--] | macros/predef.asm | 8 | ||||
-rw-r--r-- | main.asm | 71 | ||||
-rwxr-xr-x | predef/sgb.asm | 2 | ||||
-rw-r--r-- | wram.asm | 169 |
31 files changed, 344 insertions, 330 deletions
diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm index 6145e560..3e353ba4 100644 --- a/data/pokemon/egg_moves.asm +++ b/data/pokemon/egg_moves.asm @@ -1,5 +1,5 @@ -INCLUDE "includes.asm" - +INCLUDE "contents.asm" +INCLUDE "constants.asm" SECTION "Egg Moves", ROMX, BANK[EGG_MOVES] diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index ab181be8..8fc93897 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -1,12 +1,10 @@ -INCLUDE "includes.asm" - +INCLUDE "contents.asm" +INCLUDE "constants.asm" SECTION "Evolutions and Attacks", ROMX, BANK[EVOS_ATTACKS] - INCLUDE "data/pokemon/evos_attacks_pointers.asm" - EvosAttacks:: BulbasaurEvosAttacks: diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm new file mode 100755 index 00000000..8e4dac0f --- /dev/null +++ b/data/predef_pointers.asm @@ -0,0 +1,79 @@ +; Predef routines can be used with the "predef" and "predef_jump" macros. +; This preserves registers bc, de, hl and f. + +add_predef: MACRO +\1Predef:: + dab \1 +ENDM + +PredefPointers:: + add_predef LearnMove ; $0 + add_predef DummyPredef1 + add_predef HealParty ; this is both a special and a predef + add_predef SmallFarFlagAction + add_predef ComputeHPBarPixels + add_predef FillPP + add_predef TryAddMonToParty + add_predef AddTempmonToParty + add_predef SendGetMonIntoFromBox + add_predef SendMonIntoBox + add_predef GiveEgg + add_predef AnimateHPBar + add_predef CalcMonStats + add_predef CalcMonStatC + add_predef CanLearnTMHMMove + add_predef GetTMHMMove + add_predef LinkTextboxAtHL ; $ 10 + add_predef PrintMoveDesc + add_predef UpdatePlayerHUD + add_predef PlaceGraphic + add_predef CheckPlayerPartyForFitMon + add_predef UpdateEnemyHUD + add_predef StartBattle + add_predef FillInExpBar + add_predef GetBattleMonBackpic ; $18 + add_predef GetEnemyMonFrontpic + add_predef LearnLevelMoves + add_predef FillMoves + add_predef EvolveAfterBattle + add_predef TradeAnimationPlayer2 + add_predef TradeAnimation + add_predef CopyMonToTempMon + add_predef ListMoves ; $20 + add_predef PlaceNonFaintStatus + add_predef Unused_PlaceEnemyHPLevel + add_predef ListMovePP + add_predef GetGender + add_predef StatsScreenInit + add_predef DrawPlayerHP + add_predef DrawEnemyHP + add_predef PrintTempMonStats ; $28 + add_predef GetTypeName + add_predef PrintMoveType + add_predef PrintType + add_predef PrintMonTypes + add_predef GetUnownLetter + add_predef LoadPoisonBGPals + add_predef DummyPredef2F + add_predef InitSGBBorder ; $30 + add_predef LoadSGBLayout + add_predef Pokedex_GetArea + add_predef Unused_CheckShininess + add_predef DoBattleTransition + add_predef DummyPredef35 + add_predef DummyPredef36 + add_predef PlayBattleAnim + add_predef DummyPredef38 ; $38 + add_predef DummyPredef39 + add_predef DummyPredef3A + add_predef PartyMonItemName + add_predef GetMonFrontpic + add_predef GetMonBackpic + add_predef GetTrainerPic + add_predef DecompressGet2bpp + add_predef CheckTypeMatchup ; $40 + add_predef ConvertMon_1to2 + add_predef NewPokedexEntry + add_predef FrontpicPredef + add_predef UpdateTimePredef + dbw -1, InexplicablyEmptyFunction ; ??? diff --git a/engine/billspctop.asm b/engine/billspctop.asm index bfaf3a0c..65403656 100644 --- a/engine/billspctop.asm +++ b/engine/billspctop.asm @@ -235,10 +235,10 @@ Functione566: ; e566 (3:6566) call ByteFill hlcoord 0, 0 lb bc, 10, 18 - call TextBox + call Textbox hlcoord 0, 12 ld bc, IncGradGBPalTable_13 - call TextBox + call Textbox call Function3456 call SetPalettes ret diff --git a/engine/color.asm b/engine/color.asm index 7b081985..25f7179b 100755 --- a/engine/color.asm +++ b/engine/color.asm @@ -31,7 +31,7 @@ CheckShininess: and a ret -CheckContestMon: ; 9072 (2:5072) +Unused_CheckShininess: ; 9072 (2:5072) ld a, [hl] cp $a0 jr c, .asm_908c diff --git a/engine/events/daycare.asm b/engine/events/daycare.asm index 46cf62b8..4cd12087 100644 --- a/engine/events/daycare.asm +++ b/engine/events/daycare.asm @@ -522,7 +522,7 @@ DayCare_GiveEgg: pop hl push bc ld b, FALSE - predef CalcPkmnStats + predef CalcMonStats pop bc ld hl, MON_HP add hl, bc diff --git a/engine/events/misc_scripts_2.asm b/engine/events/misc_scripts_2.asm index c86d3420..ac0f7e31 100755 --- a/engine/events/misc_scripts_2.asm +++ b/engine/events/misc_scripts_2.asm @@ -45,4 +45,4 @@ SetMemEvent: ld e, a ld b, SET_FLAG call EventFlagAction - ret
\ No newline at end of file + ret diff --git a/engine/learn.asm b/engine/learn.asm index c3cb6a2f..d285d326 100644 --- a/engine/learn.asm +++ b/engine/learn.asm @@ -121,7 +121,7 @@ LearnMove: hlcoord 5, 2 ld b, $8 ld c, $d - call TextBox + call Textbox hlcoord 7, 4 ld a, $28 ld [wBuffer1], a diff --git a/engine/learn_tm.asm b/engine/learn_tm.asm index 3116a6db..530ecf41 100755 --- a/engine/learn_tm.asm +++ b/engine/learn_tm.asm @@ -22,7 +22,7 @@ CanLearnTMHMMove: ; 11a25 (4:5a25) ld b, CHECK_FLAG push de ld d, $0 - predef FlagPredef + predef SmallFarFlagAction pop de ret diff --git a/engine/link/place_waiting_text.asm b/engine/link/place_waiting_text.asm new file mode 100755 index 00000000..dc1fe215 --- /dev/null +++ b/engine/link/place_waiting_text.asm @@ -0,0 +1,24 @@ +PlaceWaitingText:: + hlcoord 3, 10 + ld b, 1 + ld c, 11 + + ld a, [wBattleMode] + and a + jr z, .notinbattle + + call Textbox + jr .proceed + +.notinbattle + predef LinkTextboxAtHL + +.proceed + hlcoord 4, 11 + ld de, .Waiting + call PlaceString + ld c, 50 + jp DelayFrames + +.Waiting: + db "Waiting...!@" diff --git a/engine/main_menu.asm b/engine/main_menu.asm index d04144c2..0bd56b1a 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -152,11 +152,11 @@ Function5b45: ; 5b45 (1:5b45) hlcoord 0, 12 ld b, $4 ld c, $d - call TextBox + call Textbox ret .asm_5b57 - call SpeechTextBox + call SpeechTextbox ret Function5b5b: ; 5b5b (1:5b5b) @@ -929,7 +929,7 @@ ShrinkPlayer: ; 6123 (1:6123) ld a, e ld [wMusicFadeID], a ld a, d - ld [wMusicFadeIDHi], a + ld [wMusicFadeID + 1], a ld de, SFX_ESCAPE_ROPE call PlaySFX @@ -1051,7 +1051,7 @@ Intro_PrepTrainerPic: ; 61df, 61e0 (1:61df, 1:61e0) ShrinkFrame: ; 61f7 (1:61f7) ld de, $9000 ld c, $31 - predef DecompressPredef + predef DecompressGet2bpp xor a ld [hGraphicStartTile], a hlcoord 6, 4 diff --git a/engine/move_mon.asm b/engine/move_mon.asm index ec84c710..bbfea25e 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -214,7 +214,7 @@ GeneratePartyMonStats: ld a, $1 ld c, a ld b, $0 - call CalcPkmnStatC + call CalcMonStatC ld a, [hStringCmpString2] ld [de], a inc de @@ -281,7 +281,7 @@ GeneratePartyMonStats: ld bc, $a add hl, bc ld b, $0 - call CalcPkmnStats + call CalcMonStats .asm_da4b ld a, [wMonType] and $f @@ -406,7 +406,7 @@ AddTempmonToParty: ; da9c (3:5a9c) and a ret -SentGetPkmnIntoFromBox: ; db45 (3:5b45) +SendGetMonIntoFromBox: ; db45 (3:5b45) ld a, $1 call OpenSRAM ld a, [wPokemonWithdrawDepositParameter] @@ -544,7 +544,7 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45) srl a add $2 ld [wMonType], a - predef CopyPkmnToTempMon + predef CopyMonToTempMon callfar CalcLevel ld a, d ld [wCurPartyLevel], a @@ -562,7 +562,7 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45) add hl, bc push bc ld b, $1 - call CalcPkmnStats + call CalcMonStats pop bc ld a, [wPokemonWithdrawDepositParameter] and a @@ -766,7 +766,7 @@ Functiondd6a: ; dd6a (3:5d6a) add hl, bc push bc ld b, $1 - call CalcPkmnStats + call CalcMonStats ld hl, wPartyMon1Moves ld a, [wPokemonData] dec a @@ -836,7 +836,7 @@ Functionde4a: ; de4a (3:5e4a) ld bc, BOXMON_STRUCT_LENGTH jp CopyBytes -SentPkmnIntoBox: ; de74 (3:5e74) +SendMonIntoBox: ; de74 (3:5e74) ld a, $1 call OpenSRAM ld de, sBoxCount @@ -1016,7 +1016,7 @@ GiveEgg: ; df92 (3:5f92) ld d, $0 ld hl, wPokedexCaught ld b, RESET_FLAG - predef FlagPredef + predef SmallFarFlagAction .asm_dfc9 pop bc ld a, c @@ -1028,7 +1028,7 @@ GiveEgg: ; df92 (3:5f92) ld d, $0 ld hl, wPokedexSeen ld b, RESET_FLAG - predef FlagPredef + predef SmallFarFlagAction .asm_dfdf pop af ld [wCurPartySpecies], a @@ -1234,7 +1234,7 @@ ComputeNPCTrademonStats: ld a, MON_STAT_EXP - 1 call GetPartyParamLocation ld b, $1 - call CalcPkmnStats + call CalcMonStats pop de ld a, MON_HP call GetPartyParamLocation @@ -1245,7 +1245,7 @@ ComputeNPCTrademonStats: ld [hl], a ret -CalcPkmnStats: ; e16d +CalcMonStats: ; e16d ; Calculates all 6 Stats of a Pkmn ; b: Take into account stat EXP if TRUE ; 'c' counts from 1-6 and points with 'BaseStats' to the base value @@ -1255,7 +1255,7 @@ CalcPkmnStats: ; e16d ld c, $0 .loop inc c - call CalcPkmnStatC + call CalcMonStatC ld a, [hMultiplicand + 1] ld [de], a inc de @@ -1268,7 +1268,7 @@ CalcPkmnStats: ; e16d ret ; e17b -CalcPkmnStatC: ; e181 +CalcMonStatC: ; e181 ; 'c' is 1-6 and points to the BaseStat ; 1: HP ; 2: Attack @@ -1511,7 +1511,7 @@ GivePoke: ; Give a Pokemon from script ld a, [wCurPartySpecies] ld [wTempEnemyMonSpecies], a callfar LoadEnemyMon - call SentPkmnIntoBox + call SendMonIntoBox jp nc, Functione3af ld a, BOXMON ld [wMonType], a diff --git a/engine/pack.asm b/engine/pack.asm index 54bd23cc..27db7cd2 100755 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -1335,7 +1335,7 @@ Function10d70: ; 10d70 (4:4d70) call Function10dc0 hlcoord 0, 12 ld bc, IncGradGBPalTable_13 - call TextBox + call Textbox call EnableLCD call Function10ccd ret diff --git a/engine/predef.asm b/engine/predef.asm index 4e386f98..b0d0eb56 100755 --- a/engine/predef.asm +++ b/engine/predef.asm @@ -1,102 +1,28 @@ -GetPredefPointer:: ; 8b3b (2:4b3b) +GetPredefPointer:: +; Return the bank and address of wPredefID in a and wPredefAddress. + +; Save hl for later (back in Predef) ld a, h - ld [wPredefHLBuffer], a + ld [wPredefTemp], a ld a, l - ld [wPredefHLBuffer + 1], a + ld [wPredefTemp + 1], a + push de ld a, [wPredefID] ld e, a - ld d, $0 + ld d, 0 ld hl, PredefPointers add hl, de add hl, de add hl, de pop de + ld a, [hli] - ld [wPredefPointerBuffer + 1], a + ld [wPredefAddress + 1], a ld a, [hli] - ld [wPredefPointerBuffer], a + ld [wPredefAddress], a ld a, [hl] - ret -PredefPointers:: -; temp macro -predef_pointer: macro -IF DEF(GOLD) - dwb \1, \3 -ENDC -IF DEF(SILVER) - dwb \2, \3 -ENDC -endm + ret - add_predef LearnMove ; $0 - add_predef Predef1 ; $1 - add_predef HealParty - add_predef FlagPredef - add_predef ComputeHPBarPixels - add_predef FillPP - add_predef TryAddMonToParty - add_predef AddTempmonToParty - add_predef SentGetPkmnIntoFromBox - add_predef SentPkmnIntoBox - add_predef GiveEgg - add_predef AnimateHPBar - add_predef CalcPkmnStats - add_predef CalcPkmnStatC - add_predef CanLearnTMHMMove - add_predef GetTMHMMove - add_predef Predef_LinkTextbox ; $ 10 - add_predef PrintMoveDesc - add_predef UpdatePlayerHUD - add_predef PlaceGraphic - add_predef CheckPlayerPartyForFitPkmn - add_predef UpdateEnemyHUD - add_predef StartBattle - add_predef FillInExpBar - add_predef GetMonBackpic ; $18 - add_predef GetMonFrontpic - add_predef LearnLevelMoves - add_predef FillMoves - add_predef EvolveAfterBattle - add_predef TradeAnimationPlayer2 - add_predef TradeAnimation - add_predef CopyPkmnToTempMon - add_predef ListMoves ; $20 - add_predef PlaceNonFaintStatus - add_predef Predef22 - add_predef ListMovePP - add_predef GetGender - add_predef StatsScreenInit - add_predef DrawPlayerHP - add_predef DrawEnemyHP - add_predef PrintTempMonStats ; $28 - add_predef GetTypeName - add_predef PrintMoveType - add_predef PrintType - add_predef PrintMonTypes - add_predef GetUnownLetter - add_predef LoadPoisonBGPals - add_predef Predef2F - add_predef InitSGBBorder ; $30 - add_predef Predef_LoadSGBLayout - add_predef Area_ - add_predef CheckContestMon - add_predef Predef_StartBattle - add_predef Predef35 - add_predef Predef36 - add_predef PlayBattleAnim - add_predef Predef38 ; $38 - add_predef Predef39 - add_predef Predef3A - add_predef PartyMonItemName - add_predef GetFrontpic - add_predef GetBackpic - add_predef GetTrainerPic - add_predef DecompressPredef - add_predef CheckTypeMatchup ; $40 - add_predef ConvertMon_1to2 - add_predef NewPokedexEntry - add_predef FrontpicPredef - add_predef UpdateTimePredef - dbw $ff, InexplicablyEmptyFunction +INCLUDE "data/predef_pointers.asm"
\ No newline at end of file diff --git a/engine/specials.asm b/engine/specials.asm index 78d281c0..aa8aefdd 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -547,7 +547,7 @@ FadeOutMusic: ; c628 (3:4628) ld a, $0 ld [wMusicFadeID], a ld a, $0 - ld [wMusicFadeIDHi], a + ld [wMusicFadeID + 1], a ld a, $2 ld [wMusicFade], a ret diff --git a/engine/title.asm b/engine/title.asm index b2546dd2..8427dfc9 100755 --- a/engine/title.asm +++ b/engine/title.asm @@ -341,8 +341,8 @@ Function6434: ld hl, wce63 inc [hl] xor a - ld [wMusicFadeIDLo], a - ld [wMusicFadeIDHi], a + ld [wMusicFadeID], a + ld [wMusicFadeID + 1], a ld hl, wMusicFade ld [hl], $8 ld hl, wce65 @@ -1,4 +1,5 @@ -INCLUDE "includes.asm" +INCLUDE "contents.asm" +INCLUDE "constants.asm" ; rst vectors INCLUDE "home/rst.asm" @@ -160,7 +161,7 @@ Function2ffe:: ; 2ffe (0:2ffe) push de push bc ld d, $0 - predef FlagPredef + predef SmallFarFlagAction pop bc pop de .next @@ -270,7 +271,7 @@ Function31e2:: ; 31e2 (0:31e2) ld a, [wOptions] bit 4, a ret nz - ld a, [wTextBoxFlags] + ld a, [wTextboxFlags] bit 1, a ret z push hl @@ -280,7 +281,7 @@ Function31e2:: ; 31e2 (0:31e2) ld a, [hl] push af ld [hl], a - ld a, [wTextBoxFlags] + ld a, [wTextboxFlags] bit 0, a jr z, .asm_3205 ld a, [wOptions] @@ -873,7 +874,7 @@ GetSGBLayout:: ; 3583 (0:3583) and a ret z .asm_358c - predef_jump Predef_LoadSGBLayout + predef_jump LoadSGBLayout SetHPPal:: call GetHPPal @@ -1184,7 +1185,7 @@ DrawScrollingMenu:: push de call Coord2Tile pop bc - jp TextBox + jp Textbox ScrollingMenuJoyTextDelay:: call DelayFrame @@ -1610,7 +1611,7 @@ PrepMonFrontpic_:: .egg push hl ld de, $9000 - predef GetFrontpic + predef GetMonFrontpic pop hl xor a ld [hGraphicStartTile], a diff --git a/home/init.asm b/home/init.asm index aaf71bb1..747d7817 100644 --- a/home/init.asm +++ b/home/init.asm @@ -47,7 +47,7 @@ Init:: ; 5d1 (0:05d1) ld [rLCDC], a ; Clear WRAM - ld hl, wc000 + ld hl, wMusicPlaying ld bc, $2000 .ByteFill ld [hl], $0 diff --git a/home/map.asm b/home/map.asm index f2d26b72..2766878b 100644 --- a/home/map.asm +++ b/home/map.asm @@ -199,10 +199,10 @@ Function2086:: call GetCurrentMapTrigger call ResetBikeFlags ld a, $5 - call RunMapfarcallck + call RunMapCallback farcall Function97c2a ld a, $3 - call RunMapfarcallck + call RunMapCallback call GetMapHeaderTimeOfDayNybble ld [wMapTimeOfDay], a ret @@ -742,7 +742,7 @@ ReadMapScripts:: ; 242e (0:242e) ld h, [hl] ld l, a call ReadMapTriggers - call ReadMapfarcallcks + call ReadMapCallbacks ret CopySecondMapHeader:: ; 243b (0:243b) @@ -811,7 +811,7 @@ ReadMapTriggers:: ; 248b (0:248b) call AddNTimes ret -ReadMapfarcallcks:: ; 24a2 (0:24a2) +ReadMapCallbacks:: ; 24a2 (0:24a2) ld a, [hli] ld c, a ld [wd954], a @@ -1035,7 +1035,7 @@ LoadBlockData:: call ChangeMap call FillMapConnections ld a, $1 - call RunMapfarcallck + call RunMapCallback ret ChangeMap:: ; 260d (0:260d) @@ -1256,24 +1256,24 @@ CallMapScript:: call GetMapScriptHeaderBank jr CallScript -RunMapfarcallck:: ; 2764 (0:2764) +RunMapCallback:: ; 2764 (0:2764) ld b, a ld a, [hROMBank] push af call SwitchToMapScriptHeaderBank - call Findfarcallck + call FindCallback jr nc, .asm_2779 call GetMapScriptHeaderBank ld b, a ld d, h ld e, l - call ExecutefarcallckScript + call ExecuteCallbackScript .asm_2779 pop af rst Bankswitch ret -Findfarcallck:: ; 277c (0:277c) +FindCallback:: ; 277c (0:277c) ld a, [wd954] ld c, a and a @@ -1303,8 +1303,8 @@ Findfarcallck:: ; 277c (0:277c) scf ret -ExecutefarcallckScript:: ; 279d (0:279d) - farcall Callfarcallck +ExecuteCallbackScript:: ; 279d (0:279d) + farcall CallCallback ld a, [wd15e] push af ld hl, wd15b @@ -1324,10 +1324,10 @@ MapTextbox:: push af ld a, b rst Bankswitch - call SetUpTextBox + call SetUpTextbox ld a, $1 ld [hOAMUpdate], a - call PrintTextBoxText + call PrintTextboxText xor a ld [hOAMUpdate], a pop af @@ -2134,7 +2134,7 @@ ReturnToMapWithSpeechTextbox:: call ReloadTilesetAndPalettes hlcoord 0, 12 lb bc, 4, 18 - call TextBox + call Textbox ld hl, wVramState set 0, [hl] call UpdateSprites diff --git a/home/pokedex_flags.asm b/home/pokedex_flags.asm index 39bdd48f..424fee13 100644 --- a/home/pokedex_flags.asm +++ b/home/pokedex_flags.asm @@ -23,7 +23,7 @@ CheckSeenMon:: ld b, CHECK_FLAG PokedexFlagAction:: ; 35e4 (0:35e4) ld d, 0 - predef FlagPredef + predef SmallFarFlagAction ld a, c and a ret diff --git a/home/predef.asm b/home/predef.asm index 6b478b56..2796cb67 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -1,34 +1,52 @@ -Predef:: ; 2e49 (0:2e49) +Predef:: +; Call predefined function a. +; Preserves bc, de, hl and f. + ld [wPredefID], a - ld a, [hROMBank] + ldh a, [hROMBank] push af + ld a, BANK(GetPredefPointer) rst Bankswitch - call GetPredefPointer + call GetPredefPointer ; stores hl in wPredefTemp + +; Switch to the new function's bank rst Bankswitch - ld hl, .return + +; Instead of directly calling stuff, +; push it to the stack in reverse. + + ld hl, .Return push hl - ld a, [wPredefPointerBuffer] + +; Call the Predef function + ld a, [wPredefAddress] ld h, a - ld a, [wPredefPointerBuffer + 1] + ld a, [wPredefAddress + 1] ld l, a push hl - ld a, [wPredefHLBuffer] + +; Get hl back + ld a, [wPredefTemp] ld h, a - ld a, [wPredefHLBuffer + 1] + ld a, [wPredefTemp + 1] ld l, a ret -.return +.Return: +; Clean up after the Predef call + ld a, h - ld [wPredefHLBuffer], a + ld [wPredefTemp], a ld a, l - ld [wPredefHLBuffer + 1], a + ld [wPredefTemp + 1], a + pop hl ld a, h rst Bankswitch - ld a, [wPredefHLBuffer] + + ld a, [wPredefTemp] ld h, a - ld a, [wPredefHLBuffer + 1] + ld a, [wPredefTemp + 1] ld l, a - ret + ret
\ No newline at end of file diff --git a/home/random.asm b/home/random.asm index f96718b2..3c2972af 100644 --- a/home/random.asm +++ b/home/random.asm @@ -19,10 +19,10 @@ BattleRandom:: ld a, BANK(BattleRandom_) rst Bankswitch call BattleRandom_ - ld [wPredefHLBuffer + 1], a + ld [wPredefTemp + 1], a pop af rst Bankswitch - ld a, [wPredefHLBuffer + 1] + ld a, [wPredefTemp + 1] ret RandomRange:: diff --git a/home/text.asm b/home/text.asm index 85bda81a..a1bc5b08 100644 --- a/home/text.asm +++ b/home/text.asm @@ -35,20 +35,20 @@ FillScreenWithTextboxPal:: call ByteFill jr ClearTileMap -TextBox:: ; eef (0:0eef) +Textbox:: ; eef (0:0eef) push bc push hl - call TextBoxBorder + call TextboxBorder pop hl pop bc - jr TextBoxPalette + jr TextboxPalette -TextBoxBorder:: ; ef8 (0:0ef8) +TextboxBorder:: ; ef8 (0:0ef8) push hl ld a, "┌" ld [hli], a inc a - call TextBoxBorder_PlaceTiles + call TextboxBorder_PlaceTiles inc a ld [hl], a pop hl @@ -61,7 +61,7 @@ TextBoxBorder:: ; ef8 (0:0ef8) ld a, "│" ld [hli], a ld a, " " - call TextBoxBorder_PlaceTiles + call TextboxBorder_PlaceTiles ld [hl], "│" pop hl @@ -74,11 +74,11 @@ TextBoxBorder:: ; ef8 (0:0ef8) ld a, "└" ld [hli], a ld a, "─" - call TextBoxBorder_PlaceTiles + call TextboxBorder_PlaceTiles ld [hl], "┘" ret -TextBoxBorder_PlaceTiles:: ; f25 (0:0f25) +TextboxBorder_PlaceTiles:: ; f25 (0:0f25) ld d, c .loop ld [hli], a @@ -86,7 +86,7 @@ TextBoxBorder_PlaceTiles:: ; f25 (0:0f25) jr nz, .loop ret -TextBoxPalette +TextboxPalette ld de, wAttrMap - wTileMap add hl, de inc b @@ -109,11 +109,11 @@ TextBoxPalette jr nz, .col ret -SpeechTextBox:: ; f45 (0:0f45) +SpeechTextbox:: ; f45 (0:0f45) hlcoord TEXTBOX_X, TEXTBOX_Y ld b, TEXTBOX_INNERH ld c, TEXTBOX_INNERW - jp TextBox + jp Textbox TestText:: text "ゲームフりーク!" @@ -126,15 +126,15 @@ RadioTerminator:: ; 1052 .stop db "@" PrintText:: - call SetUpTextBox -PrintTextBoxText:: + call SetUpTextbox +PrintTextboxText:: bccoord TEXTBOX_INNERX, TEXTBOX_INNERY call PlaceHLTextAtBC ret -SetUpTextBox:: ; f68 (0:0f68) +SetUpTextbox:: ; f68 (0:0f68) push hl - call SpeechTextBox + call SpeechTextbox call UpdateSprites call ApplyTilemap pop hl @@ -551,15 +551,15 @@ PokeFluteTerminatorCharacter:: .stop db "@" PlaceHLTextAtBC:: ; 1272 (0:1272) - ld a, [wTextBoxFlags] + ld a, [wTextboxFlags] push af set 1, a - ld [wTextBoxFlags], a + ld [wTextboxFlags], a call DoTextUntilTerminator pop af - ld [wTextBoxFlags], a + ld [wTextboxFlags], a ret DoTextUntilTerminator:: ; 1283 (0:1283) @@ -690,7 +690,7 @@ Text_TX_BOX:: ; 1318 (0:1318) push hl ld h, d ld l, e - call TextBox + call Textbox pop hl ret diff --git a/home/tilemap.asm b/home/tilemap.asm index 569cf08a..4cccbb61 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -195,7 +195,7 @@ MenuBox:: ; 1b4e (0:1b4e) call GetMenuBoxDims dec b dec c - jp TextBox + jp Textbox GetMenuTextStartCoord:: ; 1b59 (0:1b59) ld a, [wMenuBorderTopCoord] diff --git a/home/window.asm b/home/window.asm index e4a1e989..67326091 100644 --- a/home/window.asm +++ b/home/window.asm @@ -46,7 +46,7 @@ OpenText:: ld a, BANK(ReanchorBGMap_NoOAMUpdate) ; and BANK(LoadFonts_NoOAMUpdate) rst Bankswitch call ReanchorBGMap_NoOAMUpdate - call SpeechTextBox + call SpeechTextbox call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap call LoadFonts_NoOAMUpdate pop af diff --git a/includes.asm b/includes.asm deleted file mode 100644 index 456623d9..00000000 --- a/includes.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "contents.asm" -INCLUDE "constants.asm" diff --git a/items/item_effects.asm b/items/item_effects.asm index 506dc77f..7689720b 100755 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -556,7 +556,7 @@ UltraBall: ; e926 .send_mon_to_pc call ClearSprites - predef SentPkmnIntoBox + predef SendMonIntoBox ld a, BANK(sBoxCount) call OpenSRAM ld a, [sBoxCount] @@ -1083,7 +1083,7 @@ Functioneee0: ; eee0 (3:6ee0) ld a, MON_STAT_EXP - 1 call GetPartyParamLocation ld b, $1 - predef_jump CalcPkmnStats + predef_jump CalcMonStats Functioneef3: ; eef3 (3:6ef3) xor a @@ -1198,11 +1198,11 @@ RareCandy: ; ef68 (3:6f68) call Functionf2a0 xor a ld [wMonType], a - predef CopyPkmnToTempMon + predef CopyMonToTempMon hlcoord 9, 0 ld b, 10 ld c, 9 - call TextBox + call Textbox hlcoord 11, 1 ld bc, $4 predef PrintTempMonStats @@ -1406,7 +1406,7 @@ Functionf12c: ; f12c (3:712c) ld d, $0 ld hl, wcbda ld b, CHECK_FLAG - predef FlagPredef + predef SmallFarFlagAction ld a, c and a jr z, .asm_f15a @@ -1414,7 +1414,7 @@ Functionf12c: ; f12c (3:712c) ld c, a ld hl, wcb42 ld b, SET_FLAG - predef FlagPredef + predef SmallFarFlagAction .asm_f15a xor a ld [wLowHealthAlarm], a diff --git a/macros/predef.asm b/macros/predef.asm index 147c6fb9..7850350a 100644..100755 --- a/macros/predef.asm +++ b/macros/predef.asm @@ -1,11 +1,3 @@ -predef_const: MACRO - enum \1Predef -ENDM - -add_predef: MACRO -\1Predef:: dab \1 -ENDM - predef_id: MACRO ; Some functions load the predef id ; without immediately calling Predef. @@ -1,29 +1,12 @@ -INCLUDE "includes.asm" - -SECTION "bank1", ROMX, BANK[$1] -PlaceWaitingText:: ; 4000 (1:4000) - hlcoord 3, 10 - ld b, $1 - ld c, $b - ld a, [wBattleMode] - and a - jr z, .asm_4012 - call TextBox - jr .asm_4017 - -.asm_4012 - predef Predef_LinkTextbox -.asm_4017 - hlcoord 4, 11 - ld de, .Waiting - call PlaceString - ld c, 50 - jp DelayFrames - -.Waiting: - db "Waiting...!@" - -Predef1: +INCLUDE "contents.asm" +INCLUDE "constants.asm" + + +SECTION "bank1", ROMX + +INCLUDE "engine/link/place_waiting_text.asm" + +DummyPredef1: ret LoadPushOAM:: ; 4032 (1:4032) @@ -353,7 +336,7 @@ INCLUDE "engine/specials.asm" Functionc660: nop -FlagPredef: +SmallFarFlagAction: push hl push bc push bc @@ -798,7 +781,7 @@ ReturnToBattle_UseBall_: SECTION "banka", ROMX, BANK[$a] dr $28000, $28d88 -Predef_LinkTextbox:: +LinkTextboxAtHL:: dr $28d88, $28dea TradeAnimation:: @@ -915,7 +898,7 @@ SECTION "bankf", ROMX, BANK[$f] FleeMons:: dr $3c551, $3d70a -CheckPlayerPartyForFitPkmn:: +CheckPlayerPartyForFitMon:: dr $3d70a, $3d8f5 Function3d8f5: @@ -938,10 +921,10 @@ BattleRandom_:: ; 3ec11 FillInExpBar:: dr $3f196, $3f243 -GetMonBackpic:: +GetBattleMonBackpic:: dr $3f243, $3f282 -GetMonFrontpic:: +GetEnemyMonFrontpic:: dr $3f282, $3f2c7 StartBattle:: @@ -1035,7 +1018,7 @@ BasementKeyFunction: SacredAshFunction: dr $50819, $5087d -CopyPkmnToTempMon:: +CopyMonToTempMon:: dr $5087d, $50940 PrintMonTypes:: @@ -1068,7 +1051,7 @@ GetGender:: ListMovePP:: dr $51364, $513e4 -Predef22:: +Unused_PlaceEnemyHPLevel:: dr $513e4, $51437 PlaceNonFaintStatus:: @@ -1086,19 +1069,19 @@ CalcExpAtLevel: GetUnownLetter:: dr $51749, $51780 -GetFrontpic:: +GetMonFrontpic:: dr $51780, $51786 FrontpicPredef:: dr $51786, $51803 -GetBackpic:: +GetMonBackpic:: dr $51803, $518a0 GetTrainerPic:: dr $518a0, $518fa -DecompressPredef:: +DecompressGet2bpp:: dr $518fa, $51b0b INCLUDE "data/pokemon/base_stats.asm" @@ -1166,8 +1149,8 @@ ResetClock_: DeleteSaveData_: dr $8c310, $8c355 -Predef35:: -Predef36:: +DummyPredef35:: +DummyPredef36:: ret UpdateTimeOfDayPal:: ; 8c356 @@ -1194,7 +1177,7 @@ FadeBlackQuickly: Function8c3e9:: ; 8c3e9 dr $8c3e9, $8c513 -Predef_StartBattle:: +DoBattleTransition:: dr $8c513, $8ca5e PlayWhirlpoolSound: @@ -1267,7 +1250,7 @@ Function919c1: TownMap_: dr $91a4f, $91c7f -Area_:: +Pokedex_GetArea:: dr $91c7f, $92c36 Function92c36: dr $92c36, $94000 @@ -1371,7 +1354,7 @@ Functionc7cd0: SECTION "bank32", ROMX, BANK[$32] dr $c8000, $c80d6 -Predef2F:: +DummyPredef2F:: dr $c80d6, $c900a INCLUDE "data/moves/animations.asm" @@ -1386,8 +1369,8 @@ DisplayCaughtContestMonStats: DisplayAlreadyCaughtText: dr $cc0c8, $cc0d6 -Predef38:: -Predef39:: +DummyPredef38:: +DummyPredef39:: ret PlayBattleAnim:: @@ -1495,7 +1478,7 @@ MagikarpHouseSign: SECTION "bank3f", ROMX, BANK[$3f] nop -Predef3A:: +DummyPredef3A:: ret dr $fc002, $100000 diff --git a/predef/sgb.asm b/predef/sgb.asm index bd1480c2..eee36a80 100755 --- a/predef/sgb.asm +++ b/predef/sgb.asm @@ -1,4 +1,4 @@ -Predef_LoadSGBLayout: ; 8c2d (2:4c2d) +LoadSGBLayout: ; 8c2d (2:4c2d) call CheckCGB jp nz, Predef_LoadSGBLayoutCGB ld a, b @@ -1,13 +1,16 @@ -INCLUDE "includes.asm" +INCLUDE "contents.asm" +INCLUDE "constants.asm" + INCLUDE "macros/wram.asm" + INCLUDE "vram.asm" SECTION "Audio RAM", WRAM0 -wc000:: + wMusic:: -wMusicPlaying:: ; c000 + ; nonzero if playing - ds 1 +wMusicPlaying:: db ; c100 wChannels:: wChannel1:: channel_struct wChannel1 ; c101 @@ -18,121 +21,113 @@ wChannel4:: channel_struct wChannel4 ; c197 wSFXChannels:: wChannel5:: channel_struct wChannel5 ; c1c9 wChannel6:: channel_struct wChannel6 ; c1fb -wChannel7:: channel_struct wChannel7 ; c12d -wChannel8:: channel_struct wChannel8 ; c15f +wChannel7:: channel_struct wChannel7 ; c22d +wChannel8:: channel_struct wChannel8 ; c25f + + ds 1 ; c291 - ds 1 ; c191 -wCurTrackDuty:: ds 1 -wCurTrackIntensity:: ds 1 +wCurTrackDuty:: db +wCurTrackIntensity:: db wCurTrackFrequency:: dw wUnusedBCDNumber:: db ; BCD value, dummied out -wCurNoteDuration:: ds 1 ; used in MusicE0 and LoadNote +wCurNoteDuration:: db ; used in MusicE0 and LoadNote -wCurMusicByte:: ; c198 - ds 1 -wCurChannel:: ; c199 - ds 1 -wVolume:: ; c19a -; corresponds to $ff24 +wCurMusicByte:: db ; c298 +wCurChannel:: db ; c299 +wVolume:: ; c29a +; corresponds to rNR50 ; Channel control / ON-OFF / Volume (R/W) ; bit 7 - Vin->SO2 ON/OFF ; bit 6-4 - SO2 output level (volume) (# 0-7) ; bit 3 - Vin->SO1 ON/OFF ; bit 2-0 - SO1 output level (volume) (# 0-7) - ds 1 -wSoundOutput:: ; c19b -; corresponds to $ff25 + db +wSoundOutput:: ; c29b +; corresponds to rNR51 ; bit 4-7: ch1-4 so2 on/off ; bit 0-3: ch1-4 so1 on/off - ds 1 -wSoundInput:: ; c19c -; corresponds to $ff26 + db +wSoundInput:: ; c29c +; corresponds to rNR52 ; bit 7: global on/off ; bit 0: ch1 on/off ; bit 1: ch2 on/off ; bit 2: ch3 on/off ; bit 3: ch4 on/off - ds 1 + db -wMusicID:: -wMusicIDLo:: ; c19d - ds 1 -wMusicIDHi:: ; c19e - ds 1 -wMusicBank:: ; c19f - ds 1 -wNoiseSampleAddress:: -wNoiseSampleAddressLo:: ; c1a0 - ds 1 -wNoiseSampleAddressHi:: ; c1a1 - ds 1 -wNoiseSampleDelay:: ; noise delay? ; c1a2 - ds 1 -; c1a3 - ds 1 -wMusicNoiseSampleSet:: ; c1a4 - ds 1 -wSFXNoiseSampleSet:: ; c1a5 - ds 1 -wLowHealthAlarm:: ; c1a6 +wMusicID:: dw ; c29d +wMusicBank:: db ; c29f +wNoiseSampleAddress:: dw ; c2a0 +wNoiseSampleDelay:: db ; c2a2 + ds 1 ; c2a3 +wMusicNoiseSampleSet:: db ; c2a4 +wSFXNoiseSampleSet:: db ; c2a5 + +wLowHealthAlarm:: ; c2a6 ; bit 7: on/off ; bit 4: pitch ; bit 0-3: counter - ds 1 -wMusicFade:: ; c1a7 + db + +wMusicFade:: ; c2a7 ; fades volume over x frames ; bit 7: fade in/out ; bit 0-5: number of frames for each volume level ; $00 = none (default) - ds 1 -wMusicFadeCount:: ; c1a8 - ds 1 -wMusicFadeID:: -wMusicFadeIDLo:: ; c1a9 - ds 1 -wMusicFadeIDHi:: ; c1aa - ds 1 + db +wMusicFadeCount:: db ; c2a8 +wMusicFadeID:: dw ; c2a9 + ds 5 -wCryPitch:: ; c1b0 - ds 2 -wCryLength:: ; c1b2 - ds 2 -wLastVolume:: ; c1b4 - ds 1 -wUnusedMusicF9Flag:: ds 1 ; c1b5 -wSFXPriority:: ; c1b6 + +wCryPitch:: dw ; c2b0 +wCryLength:: dw ; c2b2 + +wLastVolume:: db ; c2b4 +wUnusedMusicF9Flag:: db ; c2b5 + +wSFXPriority:: ; c2b6 ; if nonzero, turn off music when playing sfx + db + ds 1 - ds 1 -wChannel1JumpCondition:: ds 1 -wChannel2JumpCondition:: ds 1 -wChannel3JumpCondition:: ds 1 -wChannel4JumpCondition:: ds 1 -wStereoPanningMask:: ds 1 ; c1bc -wCryTracks:: ; c1bd + +wChannel1JumpCondition:: db +wChannel2JumpCondition:: db +wChannel3JumpCondition:: db +wChannel4JumpCondition:: db + +wStereoPanningMask:: db ; c2bc + +wCryTracks:: ; c2bd ; plays only in left or right track depending on what side the monster is on ; both tracks active outside of battle - ds 1 -wSFXDuration:: ds 1 -wCurSFX:: ; c1bf + db + +wSFXDuration:: db +wCurSFX:: ; c2bf ; id of sfx currently playing - ds 1 + db wChannelsEnd:: -wMapMusic:: ; c1c0 - ds 1 -wDontPlayMapMusicOnReload:: ds 1 +wMapMusic:: db ; c2c0 + +wDontPlayMapMusicOnReload:: db wMusicEnd:: + SECTION "WRAM", WRAM0 -wLZAddress:: dw ; c1c2 -wLZBank:: ds 1 ; c1c4 -wc1c5:: ds 1 ; c1c5 -wInputType:: ds 1 ; c1c6 -wAutoInputAddress:: dw ; c1c7 -wAutoInputBank:: ds 1 ; c1c9 -wAutoInputLength:: ds 1 ; c1ca +wLZAddress:: dw ; c2c2 +wLZBank:: db ; c2c4 + +wBoxAlignment:: db + +wInputType:: db ; c2c6 +wAutoInputAddress:: dw ; c2c7 +wAutoInputBank:: db ; c2c9 +wAutoInputLength:: db ; c2ca wMonStatusFlags:: ds 1 ; c1cb wGameLogicPaused:: ds 1 ; c1cc @@ -2433,8 +2428,8 @@ wcfd8:: ds 1 ; cfd8 wcfd9:: ds 1 ; cfd9 wcfda:: ds 1 ; cfda wPredefID:: ds 1 ; cfdb -wPredefHLBuffer:: dw ; cfdc -wPredefPointerBuffer:: dw ; cfde +wPredefTemp:: dw ; cfdc +wPredefAddress:: dw ; cfde wFarCallBCBuffer:: dw ; cfe0 wcfe2:: ds 1 ; cfe2 wcfe3:: ds 1 ; cfe3 @@ -2841,11 +2836,11 @@ wOptions:: ; d199 ds 1 wSaveFileExists:: ds 1 ; d19a -wTextBoxFrame:: ; d19b +wTextboxFrame:: ; d19b ; bits 0-2: textbox frame 0-7 ds 1 -wTextBoxFlags:: ; d19c +wTextboxFlags:: ; d19c ; bit 0: 1-frame text delay ; bit 1: when unset, no text delay ds 1 |