summaryrefslogtreecommitdiff
path: root/engine/events/magikarp.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/events/magikarp.asm')
-rw-r--r--engine/events/magikarp.asm19
1 files changed, 13 insertions, 6 deletions
diff --git a/engine/events/magikarp.asm b/engine/events/magikarp.asm
index 02c4b10cd..68e8baad7 100644
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -79,7 +79,7 @@ Special_CheckMagikarpLength: ; fbb32
; 0xfbbae
Magikarp_LoadFeetInchesChars: ; fbbae
- ld hl, VTiles2 tile "′" ; $6e
+ ld hl, vTiles2 tile "′" ; $6e
ld de, .feetinchchars
lb bc, BANK(.feetinchchars), 2
call Request2bpp
@@ -108,7 +108,7 @@ PrintMagikarpLength: ; fbbdb
; fbbfc
CalcMagikarpLength: ; fbbfc
-; Return Magikarp's length (in mm) at wMagikarpLength (big endian).
+; Return Magikarp's length (in feet and inches) at wMagikarpLength (big endian).
;
; input:
; de: EnemyMonDVs
@@ -247,6 +247,10 @@ CalcMagikarpLength: ; fbbfc
ld e, l
.done
+ ; convert from mm to feet and inches
+ ; in = mm / 25.4
+ ; ft = in / 12
+
; hl = de × 10
ld h, d
ld l, e
@@ -275,9 +279,9 @@ CalcMagikarpLength: ; fbbfc
ld e, a
ld hl, wMagikarpLength
- ld [hl], d
+ ld [hl], d ; ft
inc hl
- ld [hl], e
+ ld [hl], e ; in
ret
; fbc9a
@@ -305,8 +309,11 @@ CalcMagikarpLength: ; fbbfc
; fbca8
.Lengths: ; fbca8
-; ????, divisor
- dwb 110, 1
+; [wMagikarpLength] = z * 100 + (bc - x) / y
+; First argument is the bc threshold as well as x.
+; Second argument is y.
+; In reality, due to the bug at .BCLessThanDE, the threshold is determined by only register b.
+ dwb 110, 1 ; not used unless the bug is fixed
dwb 310, 2
dwb 710, 4
dwb 2710, 20