summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home.asm71
-rwxr-xr-xhome/mon_data.asm87
-rw-r--r--main.asm2
-rw-r--r--wram.asm7
4 files changed, 94 insertions, 73 deletions
diff --git a/home.asm b/home.asm
index fa5c96cf..f275dd3f 100644
--- a/home.asm
+++ b/home.asm
@@ -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
diff --git a/main.asm b/main.asm
index 0a7fed3b..199d16e7 100644
--- a/main.asm
+++ b/main.asm
@@ -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
diff --git a/wram.asm b/wram.asm
index 29e88447..6daa6f35 100644
--- a/wram.asm
+++ b/wram.asm
@@ -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