diff options
-rw-r--r-- | home.asm | 71 | ||||
-rwxr-xr-x | home/mon_data.asm | 87 | ||||
-rw-r--r-- | main.asm | 2 | ||||
-rw-r--r-- | wram.asm | 7 |
4 files changed, 94 insertions, 73 deletions
@@ -263,76 +263,7 @@ INCLUDE "home/trainers.asm" INCLUDE "home/mon_stats.asm" INCLUDE "home/cry.asm" INCLUDE "home/print_level.asm" - -Function3a70:: - ld hl, wd149 - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ret - -GetBaseData:: - push bc - push de - push hl - ldh a, [hROMBank] - push af - ld a, BANK(BaseData) ; $14 - rst Bankswitch - ld a, [wCurSpecies] - cp EGG - jr z, .egg - dec a - ld bc, $20 - ld hl, BaseData ; $5b0b - call AddNTimes - ld de, wd120 - ld bc, $20 - call CopyBytes - jr .asm_3ab3 - -.egg - ld de, UnknownEggPic ; $7a83 - ln b, 5, 5 - ld hl, wd131 - ld [hl], b - ld hl, wd132 - ld [hl], e - inc hl - ld [hl], d - inc hl - ld [hl], e - inc hl - ld [hl], d - jr .asm_3ab3 - -.asm_3ab3 - ld a, [wCurSpecies] - ld [wd120], a - pop af - rst Bankswitch - pop hl - pop de - pop bc - ret - -GetCurNick:: - ld a, [wCurPartyMon] - ld hl, wPartyMon1Nickname -GetNick:: - push hl - push bc - call SkipNames - ld de, wStringBuffer1 - push de - ld bc, $b - call CopyBytes - pop de - callfar CheckNickErrors - pop bc - pop hl - ret +INCLUDE "home/mon_data.asm" PrintBCDNumber:: ; 3ade (0:3ade) ld b, c diff --git a/home/mon_data.asm b/home/mon_data.asm new file mode 100755 index 00000000..c18bfd20 --- /dev/null +++ b/home/mon_data.asm @@ -0,0 +1,87 @@ +Unreferenced_GetNthMove:: + ld hl, wd149 + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ret + +GetBaseData:: + push bc + push de + push hl + ldh a, [hROMBank] + push af + ld a, BANK(BaseData) + rst Bankswitch + +; Egg doesn't have BaseData + ld a, [wCurSpecies] + cp EGG + jr z, .egg + +; Get BaseData + dec a + ld bc, BASE_DATA_SIZE + ld hl, BaseData + call AddNTimes + ld de, wCurBaseData + ld bc, BASE_DATA_SIZE + call CopyBytes + jr .end + +.egg + ld de, UnknownEggPic + +; Sprite dimensions + ld b, $55 ; 5x5 + ld hl, wBasePicSize + ld [hl], b + +; Beta front and back sprites +; (see pokegold-spaceworld's data/pokemon/base_stats/*) + ld hl, wBaseUnusedFrontpic + ld [hl], e + inc hl + ld [hl], d + inc hl + ld [hl], e + inc hl + ld [hl], d + jr .end ; useless + +.end +; Replace Pokedex # with species + ld a, [wCurSpecies] + ld [wBaseDexNo], a + + pop af + rst Bankswitch + pop hl + pop de + pop bc + ret + +GetCurNick:: + ld a, [wCurPartyMon] + ld hl, wPartyMonNicknames + +GetNick:: +; Get nickname a from list hl. + + push hl + push bc + + call SkipNames + ld de, wStringBuffer1 + + push de + ld bc, MON_NAME_LENGTH + call CopyBytes + pop de + + callfar CorrectNickErrors + + pop bc + pop hl + ret
\ No newline at end of file @@ -129,7 +129,7 @@ LoadFonts_NoOAMUpdate:: ; 65cb (1:65cb) INCLUDE "engine/learn.asm" -CheckNickErrors:: ; 677e (1:677e) +CorrectNickErrors:: ; 677e (1:677e) push bc push de ld b, MON_NAME_LENGTH @@ -2701,7 +2701,8 @@ wTrainerClass:: ds 1 ; d11d wd11e:: ds 1 ; d11e wd11f:: ds 1 ; d11f -wBaseData:: ; d120 +wBaseDexNo:: ; d120 +wCurBaseData:: ; d120 wd120:: ds 1 ; d120 wd121:: ds 1 ; d121 wd122:: ds 1 ; d122 @@ -2719,7 +2720,9 @@ wd12d:: ds 1 ; d12d wd12e:: ds 1 ; d12e wBaseEggSteps:: db ; d12f wd130:: ds 1 ; d130 +wBasePicSize:: wd131:: ds 1 ; d131 +wBaseUnusedFrontpic:: wd132:: ds 1 ; d132 wd133:: ds 1 ; d133 wd134:: ds 1 ; d134 @@ -2734,7 +2737,7 @@ wd13c:: ds 1 ; d13c wd13d:: ds 1 ; d13d wd13e:: ds 1 ; d13e wd13f:: ds 1 ; d13f -wBaseDataEnd:: +wCurBaseDataEnd:: wd140:: ds 1 ; d140 wCurDamage:: ds 2 ; d141 |