ref: be082943ed8fa746ae345b9f93783e5993550373
parent: 92a8c491c3a8c39a7c51b300d759f93aa5157447
author: PikalaxALT <PikalaxALT@gmail.com>
date: Wed Dec 2 08:24:18 EST 2015
More work interpreting the sprite engine
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -5225,11 +5225,11 @@
BattleMenu_Pack: ; 3e1c7
ld a, [wLinkMode]
and a
- jp nz, ItemsCantBeUsed
+ jp nz, .ItemsCantBeUsed
ld a, [InBattleTowerBattle]
and a
- jp nz, ItemsCantBeUsed
+ jp nz, .ItemsCantBeUsed
call LoadStandardMenuDataHeader
@@ -5258,7 +5258,7 @@
call DoItemEffect
.got_item
- call Function3e234
+ call .UseItem
ret
.didnt_use_item
@@ -5274,23 +5274,23 @@
jp BattleMenu
; 3e22b
-ItemsCantBeUsed: ; 3e22b
+.ItemsCantBeUsed: ; 3e22b
ld hl, BattleText_ItemsCantBeUsedHere
call StdBattleTextBox
jp BattleMenu
; 3e234
-Function3e234: ; 3e234
+.UseItem: ; 3e234
ld a, [wc64e]
and a
- jr nz, .asm_3e279
+ jr nz, .run
callab CheckItemPocket
ld a, [wItemAttributeParamBuffer]
- cp $3
- jr z, .asm_3e24a
+ cp BALL
+ jr z, .ball
call ClearBGPalettes
-.asm_3e24a
+.ball
xor a
ld [hBGMapMode], a
call _LoadBattleFontsHPBar
@@ -5297,10 +5297,10 @@
call ClearSprites
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
- jr z, .asm_3e25d
+ jr z, .tutorial2
call GetMonBackpic
-.asm_3e25d
+.tutorial2
call GetMonFrontpic
ld a, $1
ld [MenuSelection2], a
@@ -5313,7 +5313,7 @@
and a
ret
-.asm_3e279
+.run
xor a
ld [wc64e], a
ld a, [wBattleResult]
@@ -5331,39 +5331,39 @@
call ExitMenu
call LoadStandardMenuDataHeader
call ClearBGPalettes
-Function3e299:
+BattleMenuPKMN_Loop:
call Function3d2fa
xor a
ld [PartyMenuActionText], a
call Function3d313
call Function3d329
- jr c, .asm_3e2da
-.asm_3e2a8
+ jr c, .Cancel
+.loop
callba Function8ea4a
- call Function3e2f5
- jr c, .asm_3e2c8
+ call .GetMenu
+ jr c, .PressedB
call Function1bee
ld a, [MenuSelection2]
- cp $1
- jp z, Function3e358
- cp $2
- jr z, .asm_3e2cf
- cp $3
- jr z, .asm_3e2da
- jr .asm_3e2a8
+ cp $1 ; SWITCH
+ jp z, TryPlayerSwitch
+ cp $2 ; STATS
+ jr z, .Stats
+ cp $3 ; CANCEL
+ jr z, .Cancel
+ jr .loop
-.asm_3e2c8
+.PressedB
call CheckMobileBattleError
- jr c, .asm_3e2da
- jr Function3e299
+ jr c, .Cancel
+ jr BattleMenuPKMN_Loop
-.asm_3e2cf
+.Stats
call Function3e308
call CheckMobileBattleError
- jr c, .asm_3e2da
+ jr c, .Cancel
jp Function3e290
-.asm_3e2da
+.Cancel
call ClearSprites
call ClearPalettes
call DelayFrame
@@ -5375,14 +5375,14 @@
jp BattleMenu
; 3e2f5
-Function3e2f5: ; 3e2f5
+.GetMenu: ; 3e2f5
call IsMobileBattle
- jr z, .asm_3e301
- callba Function24e99
+ jr z, .mobile
+ callba BattleMonMenu
ret
-.asm_3e301
- callba Function100d22
+.mobile
+ callba MobileBattleMonMenu
ret
; 3e308
@@ -5394,7 +5394,7 @@
call CopyBytes
ld hl, VTiles2
ld de, VTiles0 tile $11
- ld bc, $0310
+ ld bc, $31 tiles
call CopyBytes
call EnableLCD
call ClearSprites
@@ -5406,11 +5406,11 @@
call DisableLCD
ld hl, VTiles0
ld de, VTiles2 tile $31
- ld bc, $0110
+ ld bc, $11 tiles
call CopyBytes
ld hl, VTiles0 tile $11
ld de, VTiles2
- ld bc, $0310
+ ld bc, $31 tiles
call CopyBytes
call EnableLCD
ret
@@ -5417,32 +5417,32 @@
; 3e358
-Function3e358: ; 3e358
+TryPlayerSwitch: ; 3e358
ld a, [CurBattleMon]
ld d, a
ld a, [CurPartyMon]
cp d
- jr nz, .asm_3e36b
+ jr nz, .check_trapped
ld hl, BattleText_PkmnIsAlreadyOut
call StdBattleTextBox
- jp Function3e299
+ jp BattleMenuPKMN_Loop
-.asm_3e36b
+.check_trapped
ld a, [wPlayerWrapCount]
and a
- jr nz, .asm_3e378
+ jr nz, .trapped
ld a, [EnemySubStatus5]
bit SUBSTATUS_CANT_RUN, a
- jr z, .asm_3e381
+ jr z, .try_switch
-.asm_3e378
+.trapped
ld hl, BattleText_PkmnCantBeRecalled
call StdBattleTextBox
- jp Function3e299
+ jp BattleMenuPKMN_Loop
-.asm_3e381
+.try_switch
call CheckIfPartyHasPkmnToBattleWith
- jp z, Function3e299
+ jp z, BattleMenuPKMN_Loop
ld a, [CurBattleMon]
ld [LastPlayerMon], a
ld a, $2
@@ -5456,9 +5456,6 @@
call SetPalettes
ld a, [CurPartyMon]
ld [CurBattleMon], a
- ; fallthrough
-; 3e3ad
-
PlayerSwitch: ; 3e3ad
ld a, 1
ld [wPlayerIsSwitching], a
@@ -9479,7 +9476,7 @@
GetTrainerBackpic: ; 3fbff
-; Load the player character's backpic (6x6) into VRAM starting from $9310.
+; Load the player character's backpic (6x6) into VRAM starting from VTiles2 tile $31.
; Special exception for Dude.
ld b, BANK(DudeBackpic)
--- a/data/sprite_engine.asm
+++ b/data/sprite_engine.asm
@@ -67,159 +67,289 @@
dw Unknown_8d948 ; 41
; 8d76a
-Unknown_8d76a: dw $2000
+Unknown_8d76a: db $00, $20
db -1
-Unknown_8d76d: dw $0800, $0801
+Unknown_8d76d: db $00, $08
+ db $01, $08
db -2
-Unknown_8d772: dw $083d, $083e
+Unknown_8d772: db $3d, $08
+ db $3e, $08
db -2
-Unknown_8d777: dw $083f, $0840
+Unknown_8d777: db $3f, $08
+ db $40, $08
db -2
-Unknown_8d77c: dw $0400, $0401
+Unknown_8d77c: db $00, $04
+ db $01, $04
db -2
-Unknown_8d781: dw $043d, $043e
+Unknown_8d781: db $3d, $04
+ db $3e, $04
db -2
-Unknown_8d786: dw $043f, $0440
+Unknown_8d786: db $3f, $04
+ db $40, $04
db -2
-Unknown_8d78b: dw $0800, $0801, $0800, $4801
+Unknown_8d78b: db $00, $08
+ db $01, $08
+ db $00, $08
+ db $01, $48
db -2
-Unknown_8d794: dw $0863, $0864, $0863, $4864
+Unknown_8d794: db $63, $08
+ db $64, $08
+ db $63, $08
+ db $64, $48
db -2
-Unknown_8d79d: dw $0865, $0866, $0865, $4866
+Unknown_8d79d: db $65, $08
+ db $66, $08
+ db $65, $08
+ db $66, $48
db -2
-Unknown_8d7a6: dw $011e, $011f
+Unknown_8d7a6: db $1e, $01
+ db $1f, $01
db -2
-Unknown_8d7ab: dw $0120, $01fd
+Unknown_8d7ab: db $20, $01
+ db $fd, $01
db -2
-Unknown_8d7b0: dw $0121, $01fd
+Unknown_8d7b0: db $21, $01
+ db $fd, $01
db -2
-Unknown_8d7b5: dw $0c81, $0182, $0183, $0482, $0c81, $0c82, $0483, $2084, $0385, $0386, $0487, $0488, $0489, $0a8a, $078b
+Unknown_8d7b5: db $81, $0c
+ db $82, $01
+ db $83, $01
+ db $82, $04
+ db $81, $0c
+ db $82, $0c
+ db $83, $04
+ db $84, $20
+ db $85, $03
+ db $86, $03
+ db $87, $04
+ db $88, $04
+ db $89, $04
+ db $8a, $0a
+ db $8b, $07
db -1
-Unknown_8d7d4: dw $0323, $8323
+Unknown_8d7d4: db $23, $03
+ db $23, $83
db -2
-Unknown_8d7d9: dw $0224, $0225, $0226, $0225
+Unknown_8d7d9: db $24, $02
+ db $25, $02
+ db $26, $02
+ db $25, $02
db -2
-Unknown_8d7e2: dw $0727, $0728, $8727, $4728
+Unknown_8d7e2: db $27, $07
+ db $28, $07
+ db $27, $87
+ db $28, $47
db -2
-Unknown_8d7eb: dw $0729, $072a, $0729, $072b
+Unknown_8d7eb: db $29, $07
+ db $2a, $07
+ db $29, $07
+ db $2b, $07
db -2
-Unknown_8d7f4: dw $0729, $072c, $072d, $072c, $0729
+Unknown_8d7f4: db $29, $07
+ db $2c, $07
+ db $2d, $07
+ db $2c, $07
+ db $29, $07
db -1
-Unknown_8d7ff: dw $142e
+Unknown_8d7ff: db $2e, $14
db -1
-Unknown_8d802: dw $202f
+Unknown_8d802: db $2f, $20
db -1
-Unknown_8d805: dw $2030
+Unknown_8d805: db $30, $20
db -1
-Unknown_8d808: dw $0330, $0331, $0330, $4331
+Unknown_8d808: db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
db -2
-Unknown_8d811: dw $0432, $0433, $0434
+Unknown_8d811: db $32, $04
+ db $33, $04
+ db $34, $04
db -4
-Unknown_8d818: dw $0335, $0336
+Unknown_8d818: db $35, $03
+ db $36, $03
db -2
-Unknown_8d81d: dw $0737, $0738
+Unknown_8d81d: db $37, $07
+ db $38, $07
db -2
-Unknown_8d822: dw $2039
+Unknown_8d822: db $39, $20
db -1
-Unknown_8d825: dw $023b, $023a, $023b
+Unknown_8d825: db $3b, $02
+ db $3a, $02
+ db $3b, $02
db -1
-Unknown_8d82c: dw $203c
+Unknown_8d82c: db $3c, $20
db -1
-Unknown_8d82f: dw $0841, $0842, $0841, $4842
+Unknown_8d82f: db $41, $08
+ db $42, $08
+ db $41, $08
+ db $42, $48
db -2
- dw $0843, $0844
+ db $43, $08
+ db $44, $08
db -2
- dw $0845, $0846
+ db $45, $08
+ db $46, $08
db -2
- dw $0847, $0848
+ db $47, $08
+ db $48, $08
db -2
- dw $0149, $4149, $c149, $8149
+ db $49, $01
+ db $49, $41
+ db $49, $c1
+ db $49, $81
db -2
- dw $204a
+ db $4a, $20
db -1
- dw $204b
+ db $4b, $20
db -1
- dw $204c
+ db $4c, $20
db -1
- dw $204d
+ db $4d, $20
db -1
- dw $034e, $03fd
+ db $4e, $03
+ db $fd, $03
db -2
-Unknown_8d861: dw $20fd
+Unknown_8d861: db $fd, $20
db -1
-Unknown_8d864: dw $204f
+Unknown_8d864: db $4f, $20
db -1
-Unknown_8d867: dw $0250, $1051, $01fd, $0152, $01fd, $0153
+Unknown_8d867: db $50, $02
+ db $51, $10
+ db $fd, $01
+ db $52, $01
+ db $fd, $01
+ db $53, $01
db -4
-Unknown_8d874: dw $2054
+Unknown_8d874: db $54, $20
db -1
-Unknown_8d877: dw $2055
+Unknown_8d877: db $55, $20
db -1
-Unknown_8d87a: dw $6055
+Unknown_8d87a: db $55, $60
db -1
-Unknown_8d87d: dw $a055
+Unknown_8d87d: db $55, $a0
db -1
-Unknown_8d880: dw $e055
+Unknown_8d880: db $55, $e0
db -1
-Unknown_8d883: dw $0a56, $0957, $0a58, $0a59, $0958, $0a5a
+Unknown_8d883: db $56, $0a
+ db $57, $09
+ db $58, $0a
+ db $59, $0a
+ db $58, $09
+ db $5a, $0a
db -2
-Unknown_8d890: dw $0250, $025b, $0250, $425b
+Unknown_8d890: db $50, $02
+ db $5b, $02
+ db $50, $02
+ db $5b, $42
db -2
-Unknown_8d899: dw $025c
+Unknown_8d899: db $5c, $02
db -1
-Unknown_8d89c: dw $025d
+Unknown_8d89c: db $5d, $02
db -1
-Unknown_8d89f: dw $025e
+Unknown_8d89f: db $5e, $02
db -1
-Unknown_8d8a2: dw $025f
+Unknown_8d8a2: db $5f, $02
db -1
-Unknown_8d8a5: dw $0260
+Unknown_8d8a5: db $60, $02
db -1
-Unknown_8d8a8: dw $0261
+Unknown_8d8a8: db $61, $02
db -1
-Unknown_8d8ab: dw $0262
+Unknown_8d8ab: db $62, $02
db -1
-Unknown_8d8ae: dw $0332, $0333, $0334, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331
+Unknown_8d8ae: db $32, $03
+ db $33, $03
+ db $34, $03
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
db -1
-Unknown_8d8cd: dw $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0330, $0331, $0330, $4331, $0332, $0333, $0334
+Unknown_8d8cd: db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $30, $03
+ db $31, $03
+ db $30, $03
+ db $31, $43
+ db $32, $03
+ db $33, $03
+ db $34, $03
db -4
-Unknown_8d8ec: dw $0367, $0368
+Unknown_8d8ec: db $67, $03
+ db $68, $03
db -2
-Unknown_8d8f1: dw $036c
+Unknown_8d8f1: db $6c, $03
db -1
-Unknown_8d8f4: dw $036d
+Unknown_8d8f4: db $6d, $03
db -1
-Unknown_8d8f7: dw $0269, $026a, $026b
+Unknown_8d8f7: db $69, $02
+ db $6a, $02
+ db $6b, $02
db -4
-Unknown_8d8fe: dw $036e, $036f, $0370, $0371
+Unknown_8d8fe: db $6e, $03
+ db $6f, $03
+ db $70, $03
+ db $71, $03
db -2
-Unknown_8d907: dw $0371, $076e
+Unknown_8d907: db $71, $03
+ db $6e, $07
db -1
-Unknown_8d90c: dw $2072, $0773, $0774
+Unknown_8d90c: db $72, $20
+ db $73, $07
+ db $74, $07
db -1
-Unknown_8d913: dw $0375
+Unknown_8d913: db $75, $03
db -1
-Unknown_8d916: dw $0376, $0377, $0778
+Unknown_8d916: db $76, $03
+ db $77, $03
+ db $78, $07
db -4
-Unknown_8d91d: dw $4376, $4377, $4778
+Unknown_8d91d: db $76, $43
+ db $77, $43
+ db $78, $47
db -4
-Unknown_8d924: dw $8376, $8377, $8778
+Unknown_8d924: db $76, $83
+ db $77, $83
+ db $78, $87
db -4
-Unknown_8d92b: dw $c376, $c377, $c778
+Unknown_8d92b: db $76, $c3
+ db $77, $c3
+ db $78, $c7
db -4
-Unknown_8d932: dw $0379, $037a, $037b, $077c, $077d
+Unknown_8d932: db $79, $03
+ db $7a, $03
+ db $7b, $03
+ db $7c, $07
+ db $7d, $07
db -1
-Unknown_8d93d: dw $037e
+Unknown_8d93d: db $7e, $03
db -1
-Unknown_8d940: dw $00fd
+Unknown_8d940: db $fd, $00
db -1
-Unknown_8d943: dw $087f, $0880
+Unknown_8d943: db $7f, $08
+ db $80, $08
db -1
-Unknown_8d948: dw $487f, $4880
+Unknown_8d948: db $7f, $48
+ db $80, $48
db -1
; 8d94d
Unknown_8d94d: ; 8d94d
+ ; vtile offset, pointer
dbw $00, Unknown_8dd8a ; 00
dbw $04, Unknown_8dd8a ; 01
dbw $4c, Unknown_8daf1 ; 02
@@ -365,1064 +495,1069 @@
Unknown_8daf1: ; 8daf1
db 1
- db $fc, $fc, $00, $00
+ dsprite -1, 4, -1, 4, $00, $00
; 8daf6
Unknown_8daf6: ; 8daf6
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $10, $00
- db $00, $00, $11, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $10, $00
+ dsprite 0, 0, 0, 0, $11, $00
; 8db07
Unknown_8db07: ; 8db07
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $01, $00
- db $00, $00, $01, $20
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
; 8db18
Unknown_8db18: ; 8db18
db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $00, $a0
- db $00, $f8, $01, $80
- db $00, $00, $01, $a0
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $01, $80
+ dsprite 0, 0, 0, 0, $01, $a0
; 8db29
Unknown_8db29: ; 8db29
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $00, $20
- db $00, $f8, $00, $40
- db $00, $00, $00, $60
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
; 8db3a
Unknown_8db3a: ; 8db3a
db 4
- db $f8, $f8, $00, $07
- db $f8, $00, $00, $27
- db $00, $f8, $00, $47
- db $00, $00, $00, $67
+ dsprite -1, 0, -1, 0, $00, $07
+ dsprite -1, 0, 0, 0, $00, $27
+ dsprite 0, 0, -1, 0, $00, $47
+ dsprite 0, 0, 0, 0, $00, $67
; 8db4b
; 8db4b
db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $00, $a0
- db $00, $f8, $00, $c0
- db $00, $00, $00, $e0
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $00, $c0
+ dsprite 0, 0, 0, 0, $00, $e0
; 8db5c
Unknown_8db5c: ; 8db5c
db 16
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f8, $f0, $02, $00
- db $f8, $f8, $03, $00
- db $f0, $00, $01, $20
- db $f0, $08, $00, $20
- db $f8, $00, $03, $20
- db $f8, $08, $02, $20
- db $00, $f0, $02, $40
- db $00, $f8, $03, $40
- db $08, $f0, $00, $40
- db $08, $f8, $01, $40
- db $00, $00, $03, $60
- db $00, $08, $02, $60
- db $08, $00, $01, $60
- db $08, $08, $00, $60
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, 0, 0, $03, $20
+ dsprite -1, 0, 1, 0, $02, $20
+ dsprite 0, 0, -2, 0, $02, $40
+ dsprite 0, 0, -1, 0, $03, $40
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $03, $60
+ dsprite 0, 0, 1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
; 8db9d
Unknown_8db9d: ; 8db9d
db 36
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $f0, $e8, $03, $00
- db $f0, $f0, $04, $00
- db $f0, $f8, $05, $00
- db $f8, $e8, $06, $00
- db $f8, $f0, $05, $00
- db $f8, $f8, $05, $00
- db $e8, $00, $02, $20
- db $e8, $08, $01, $20
- db $e8, $10, $00, $20
- db $f0, $00, $05, $20
- db $f0, $08, $04, $20
- db $f0, $10, $03, $20
- db $f8, $00, $05, $20
- db $f8, $08, $05, $20
- db $f8, $10, $06, $20
- db $00, $e8, $06, $40
- db $00, $f0, $05, $40
- db $00, $f8, $05, $40
- db $08, $e8, $03, $40
- db $08, $f0, $04, $40
- db $08, $f8, $05, $40
- db $10, $e8, $00, $40
- db $10, $f0, $01, $40
- db $10, $f8, $02, $40
- db $00, $00, $05, $60
- db $00, $08, $05, $60
- db $00, $10, $06, $60
- db $08, $00, $05, $60
- db $08, $08, $04, $60
- db $08, $10, $03, $60
- db $10, $00, $02, $60
- db $10, $08, $01, $60
- db $10, $10, $00, $60
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -2, 0, -3, 0, $03, $00
+ dsprite -2, 0, -2, 0, $04, $00
+ dsprite -2, 0, -1, 0, $05, $00
+ dsprite -1, 0, -3, 0, $06, $00
+ dsprite -1, 0, -2, 0, $05, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -3, 0, 0, 0, $02, $20
+ dsprite -3, 0, 1, 0, $01, $20
+ dsprite -3, 0, 2, 0, $00, $20
+ dsprite -2, 0, 0, 0, $05, $20
+ dsprite -2, 0, 1, 0, $04, $20
+ dsprite -2, 0, 2, 0, $03, $20
+ dsprite -1, 0, 0, 0, $05, $20
+ dsprite -1, 0, 1, 0, $05, $20
+ dsprite -1, 0, 2, 0, $06, $20
+ dsprite 0, 0, -3, 0, $06, $40
+ dsprite 0, 0, -2, 0, $05, $40
+ dsprite 0, 0, -1, 0, $05, $40
+ dsprite 1, 0, -3, 0, $03, $40
+ dsprite 1, 0, -2, 0, $04, $40
+ dsprite 1, 0, -1, 0, $05, $40
+ dsprite 2, 0, -3, 0, $00, $40
+ dsprite 2, 0, -2, 0, $01, $40
+ dsprite 2, 0, -1, 0, $02, $40
+ dsprite 0, 0, 0, 0, $05, $60
+ dsprite 0, 0, 1, 0, $05, $60
+ dsprite 0, 0, 2, 0, $06, $60
+ dsprite 1, 0, 0, 0, $05, $60
+ dsprite 1, 0, 1, 0, $04, $60
+ dsprite 1, 0, 2, 0, $03, $60
+ dsprite 2, 0, 0, 0, $02, $60
+ dsprite 2, 0, 1, 0, $01, $60
+ dsprite 2, 0, 2, 0, $00, $60
; 8dc2e
Unknown_8dc2e: ; 8dc2e
db 9
- db $f4, $f4, $00, $00
- db $f4, $fc, $01, $00
- db $f4, $04, $02, $00
- db $fc, $f4, $10, $00
- db $fc, $fc, $11, $00
- db $fc, $04, $12, $00
- db $04, $f4, $20, $00
- db $04, $fc, $21, $00
- db $04, $04, $22, $00
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $10, $00
+ dsprite -1, 4, -1, 4, $11, $00
+ dsprite -1, 4, 0, 4, $12, $00
+ dsprite 0, 4, -2, 4, $20, $00
+ dsprite 0, 4, -1, 4, $21, $00
+ dsprite 0, 4, 0, 4, $22, $00
; 8dc53
Unknown_8dc53: ; 8dc53
db 16
- db $f0, $f0, $00, $00
- db $f0, $f8, $01, $00
- db $f0, $00, $02, $00
- db $f0, $08, $03, $00
- db $f8, $f0, $10, $00
- db $f8, $f8, $11, $00
- db $f8, $00, $12, $00
- db $f8, $08, $13, $00
- db $00, $f0, $20, $00
- db $00, $f8, $21, $00
- db $00, $00, $22, $00
- db $00, $08, $23, $00
- db $08, $f0, $30, $00
- db $08, $f8, $31, $00
- db $08, $00, $32, $00
- db $08, $08, $33, $00
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $10, $00
+ dsprite -1, 0, -1, 0, $11, $00
+ dsprite -1, 0, 0, 0, $12, $00
+ dsprite -1, 0, 1, 0, $13, $00
+ dsprite 0, 0, -2, 0, $20, $00
+ dsprite 0, 0, -1, 0, $21, $00
+ dsprite 0, 0, 0, 0, $22, $00
+ dsprite 0, 0, 1, 0, $23, $00
+ dsprite 1, 0, -2, 0, $30, $00
+ dsprite 1, 0, -1, 0, $31, $00
+ dsprite 1, 0, 0, 0, $32, $00
+ dsprite 1, 0, 1, 0, $33, $00
; 8dc94
Unknown_8dc94: ; 8dc94
db 25
- db $ec, $ec, $00, $00
- db $f4, $ec, $01, $00
- db $fc, $ec, $02, $00
- db $04, $ec, $03, $00
- db $0c, $ec, $04, $00
- db $ec, $f4, $05, $00
- db $f4, $f4, $06, $00
- db $fc, $f4, $07, $00
- db $04, $f4, $08, $00
- db $0c, $f4, $09, $00
- db $ec, $fc, $0a, $00
- db $f4, $fc, $0b, $00
- db $fc, $fc, $0c, $00
- db $04, $fc, $0d, $00
- db $0c, $fc, $0e, $00
- db $ec, $04, $0f, $00
- db $f4, $04, $10, $00
- db $fc, $04, $11, $00
- db $04, $04, $12, $00
- db $0c, $04, $13, $00
- db $ec, $0c, $14, $00
- db $f4, $0c, $15, $00
- db $fc, $0c, $16, $00
- db $04, $0c, $17, $00
- db $0c, $0c, $18, $00
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -2, 4, -3, 4, $01, $00
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite 0, 4, -3, 4, $03, $00
+ dsprite 1, 4, -3, 4, $04, $00
+ dsprite -3, 4, -2, 4, $05, $00
+ dsprite -2, 4, -2, 4, $06, $00
+ dsprite -1, 4, -2, 4, $07, $00
+ dsprite 0, 4, -2, 4, $08, $00
+ dsprite 1, 4, -2, 4, $09, $00
+ dsprite -3, 4, -1, 4, $0a, $00
+ dsprite -2, 4, -1, 4, $0b, $00
+ dsprite -1, 4, -1, 4, $0c, $00
+ dsprite 0, 4, -1, 4, $0d, $00
+ dsprite 1, 4, -1, 4, $0e, $00
+ dsprite -3, 4, 0, 4, $0f, $00
+ dsprite -2, 4, 0, 4, $10, $00
+ dsprite -1, 4, 0, 4, $11, $00
+ dsprite 0, 4, 0, 4, $12, $00
+ dsprite 1, 4, 0, 4, $13, $00
+ dsprite -3, 4, 1, 4, $14, $00
+ dsprite -2, 4, 1, 4, $15, $00
+ dsprite -1, 4, 1, 4, $16, $00
+ dsprite 0, 4, 1, 4, $17, $00
+ dsprite 1, 4, 1, 4, $18, $00
; 8dcf9
; 8dcf9
db 36
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $e8, $00, $03, $00
- db $e8, $08, $04, $00
- db $e8, $10, $05, $00
- db $f0, $e8, $06, $00
- db $f0, $f0, $07, $00
- db $f0, $f8, $08, $00
- db $f0, $00, $09, $00
- db $f0, $08, $0a, $00
- db $f0, $10, $0b, $00
- db $f8, $e8, $0c, $00
- db $f8, $f0, $0d, $00
- db $f8, $f8, $0e, $00
- db $f8, $00, $0f, $00
- db $f8, $08, $10, $00
- db $f8, $10, $11, $00
- db $00, $e8, $12, $00
- db $00, $f0, $13, $00
- db $00, $f8, $14, $00
- db $00, $00, $15, $00
- db $00, $08, $16, $00
- db $00, $10, $17, $00
- db $08, $e8, $18, $00
- db $08, $f0, $19, $00
- db $08, $f8, $1a, $00
- db $08, $00, $1b, $00
- db $08, $08, $1c, $00
- db $08, $10, $1d, $00
- db $10, $e8, $1e, $00
- db $10, $f0, $1f, $00
- db $10, $f8, $20, $00
- db $10, $00, $21, $00
- db $10, $08, $22, $00
- db $10, $10, $23, $00
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -3, 0, 1, 0, $04, $00
+ dsprite -3, 0, 2, 0, $05, $00
+ dsprite -2, 0, -3, 0, $06, $00
+ dsprite -2, 0, -2, 0, $07, $00
+ dsprite -2, 0, -1, 0, $08, $00
+ dsprite -2, 0, 0, 0, $09, $00
+ dsprite -2, 0, 1, 0, $0a, $00
+ dsprite -2, 0, 2, 0, $0b, $00
+ dsprite -1, 0, -3, 0, $0c, $00
+ dsprite -1, 0, -2, 0, $0d, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite -1, 0, 0, 0, $0f, $00
+ dsprite -1, 0, 1, 0, $10, $00
+ dsprite -1, 0, 2, 0, $11, $00
+ dsprite 0, 0, -3, 0, $12, $00
+ dsprite 0, 0, -2, 0, $13, $00
+ dsprite 0, 0, -1, 0, $14, $00
+ dsprite 0, 0, 0, 0, $15, $00
+ dsprite 0, 0, 1, 0, $16, $00
+ dsprite 0, 0, 2, 0, $17, $00
+ dsprite 1, 0, -3, 0, $18, $00
+ dsprite 1, 0, -2, 0, $19, $00
+ dsprite 1, 0, -1, 0, $1a, $00
+ dsprite 1, 0, 0, 0, $1b, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite 1, 0, 2, 0, $1d, $00
+ dsprite 2, 0, -3, 0, $1e, $00
+ dsprite 2, 0, -2, 0, $1f, $00
+ dsprite 2, 0, -1, 0, $20, $00
+ dsprite 2, 0, 0, 0, $21, $00
+ dsprite 2, 0, 1, 0, $22, $00
+ dsprite 2, 0, 2, 0, $23, $00
; 8dd8a
Unknown_8dd8a: ; 8dd8a
+; party menu icons
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $02, $00
- db $00, $00, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
; 8dd9b
Unknown_8dd9b: ; 8dd9b
db 4
- db $f8, $f8, $00, $80
- db $f8, $00, $01, $80
- db $00, $f8, $02, $80
- db $00, $00, $03, $80
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $01, $80
+ dsprite 0, 0, -1, 0, $02, $80
+ dsprite 0, 0, 0, 0, $03, $80
; 8ddac
Unknown_8ddac: ; 8ddac
+; party menu icon with mail, frame 1
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $08, $00
- db $00, $00, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $08, $00
+ dsprite 0, 0, 0, 0, $03, $00
; 8ddbd
Unknown_8ddbd: ; 8ddbd
+; party menu icon with mail, frame 2
db 4
- db $f8, $f8, $04, $00
- db $f8, $00, $05, $00
- db $00, $f8, $08, $00
- db $00, $00, $07, $00
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $08, $00
+ dsprite 0, 0, 0, 0, $07, $00
; 8ddce
Unknown_8ddce: ; 8ddce
+; party menu icon with item, frame 1
db 4
- db $f8, $f8, $00, $00
- db $f8, $00, $01, $00
- db $00, $f8, $09, $00
- db $00, $00, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $03, $00
; 8dddf
Unknown_8dddf: ; 8dddf
+; party menu icon with item, frame 2
db 4
- db $f8, $f8, $04, $00
- db $f8, $00, $05, $00
- db $00, $f8, $09, $00
- db $00, $00, $07, $00
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $07, $00
; 8ddf0
Unknown_8ddf0: ; 8ddf0
db 6
- db $f8, $f4, $00, $01
- db $f8, $fc, $01, $01
- db $f8, $04, $02, $01
- db $00, $f4, $10, $01
- db $00, $fc, $11, $01
- db $00, $04, $12, $01
+ dsprite -1, 0, -2, 4, $00, $01
+ dsprite -1, 0, -1, 4, $01, $01
+ dsprite -1, 0, 0, 4, $02, $01
+ dsprite 0, 0, -2, 4, $10, $01
+ dsprite 0, 0, -1, 4, $11, $01
+ dsprite 0, 0, 0, 4, $12, $01
; 8de09
Unknown_8de09: ; 8de09
db 29
- db $e8, $e8, $00, $00
- db $e8, $f0, $01, $00
- db $e8, $f8, $02, $00
- db $e8, $00, $03, $00
- db $f0, $e8, $10, $00
- db $f0, $f0, $11, $00
- db $f0, $f8, $12, $00
- db $f0, $00, $13, $00
- db $f8, $e8, $20, $00
- db $f8, $f0, $21, $00
- db $f8, $f8, $22, $00
- db $f8, $00, $23, $00
- db $f8, $08, $24, $00
- db $00, $e8, $30, $80
- db $00, $f0, $31, $80
- db $00, $f8, $32, $80
- db $00, $00, $33, $80
- db $00, $08, $34, $80
- db $08, $e8, $40, $80
- db $08, $f0, $41, $80
- db $08, $f8, $42, $80
- db $08, $00, $43, $80
- db $08, $08, $44, $80
- db $08, $10, $45, $80
- db $10, $f0, $51, $80
- db $10, $f8, $52, $80
- db $10, $00, $53, $80
- db $10, $08, $54, $80
- db $10, $10, $55, $80
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -2, 0, -3, 0, $10, $00
+ dsprite -2, 0, -2, 0, $11, $00
+ dsprite -2, 0, -1, 0, $12, $00
+ dsprite -2, 0, 0, 0, $13, $00
+ dsprite -1, 0, -3, 0, $20, $00
+ dsprite -1, 0, -2, 0, $21, $00
+ dsprite -1, 0, -1, 0, $22, $00
+ dsprite -1, 0, 0, 0, $23, $00
+ dsprite -1, 0, 1, 0, $24, $00
+ dsprite 0, 0, -3, 0, $30, $80
+ dsprite 0, 0, -2, 0, $31, $80
+ dsprite 0, 0, -1, 0, $32, $80
+ dsprite 0, 0, 0, 0, $33, $80
+ dsprite 0, 0, 1, 0, $34, $80
+ dsprite 1, 0, -3, 0, $40, $80
+ dsprite 1, 0, -2, 0, $41, $80
+ dsprite 1, 0, -1, 0, $42, $80
+ dsprite 1, 0, 0, 0, $43, $80
+ dsprite 1, 0, 1, 0, $44, $80
+ dsprite 1, 0, 2, 0, $45, $80
+ dsprite 2, 0, -2, 0, $51, $80
+ dsprite 2, 0, -1, 0, $52, $80
+ dsprite 2, 0, 0, 0, $53, $80
+ dsprite 2, 0, 1, 0, $54, $80
+ dsprite 2, 0, 2, 0, $55, $80
; 8de7e
Unknown_8de7e: ; 8de7e
db 2
- db $f8, $fc, $00, $00
- db $00, $fc, $10, $00
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $10, $00
; 8de87
Unknown_8de87: ; 8de87
db 5
- db $f0, $18, $00, $00
- db $f0, $20, $01, $00
- db $f8, $10, $02, $00
- db $f8, $18, $03, $00
- db $00, $10, $04, $00
+ dsprite -2, 0, 3, 0, $00, $00
+ dsprite -2, 0, 4, 0, $01, $00
+ dsprite -1, 0, 2, 0, $02, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite 0, 0, 2, 0, $04, $00
; 8de9c
Unknown_8de9c: ; 8de9c
db 1
- db $fc, $fc, $00, $06
+ dsprite -1, 4, -1, 4, $00, $06
; 8dea1
Unknown_8dea1: ; 8dea1
db 4
- db $f8, $f8, $00, $06
- db $f8, $00, $01, $06
- db $00, $f8, $02, $06
- db $00, $00, $03, $06
+ dsprite -1, 0, -1, 0, $00, $06
+ dsprite -1, 0, 0, 0, $01, $06
+ dsprite 0, 0, -1, 0, $02, $06
+ dsprite 0, 0, 0, 0, $03, $06
; 8deb2
Unknown_8deb2: ; 8deb2
db 4
- db $ff, $ff, $00, $00
- db $ff, $00, $00, $20
- db $00, $ff, $00, $40
- db $00, $00, $00, $60
+ dsprite -1, 7, -1, 7, $00, $00
+ dsprite -1, 7, 0, 0, $00, $20
+ dsprite 0, 0, -1, 7, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
; 8dec3
Unknown_8dec3: ; 8dec3
db 10
- db $ff, $00, $00, $00
- db $ff, $08, $01, $00
- db $ff, $10, $01, $00
- db $ff, $18, $01, $00
- db $ff, $20, $00, $20
- db $00, $00, $00, $40
- db $00, $08, $01, $40
- db $00, $10, $01, $40
- db $00, $18, $01, $40
- db $00, $20, $00, $60
+ dsprite -1, 7, 0, 0, $00, $00
+ dsprite -1, 7, 1, 0, $01, $00
+ dsprite -1, 7, 2, 0, $01, $00
+ dsprite -1, 7, 3, 0, $01, $00
+ dsprite -1, 7, 4, 0, $00, $20
+ dsprite 0, 0, 0, 0, $00, $40
+ dsprite 0, 0, 1, 0, $01, $40
+ dsprite 0, 0, 2, 0, $01, $40
+ dsprite 0, 0, 3, 0, $01, $40
+ dsprite 0, 0, 4, 0, $00, $60
; 8deec
Unknown_8deec: ; 8deec
db 15
- db $ec, $f4, $00, $11
- db $ec, $fc, $01, $11
- db $ec, $04, $02, $11
- db $f4, $f4, $03, $11
- db $f4, $fc, $04, $11
- db $f4, $04, $05, $11
- db $fc, $f4, $06, $11
- db $fc, $fc, $07, $11
- db $fc, $04, $08, $11
- db $04, $f4, $09, $11
- db $04, $fc, $0a, $11
- db $04, $04, $0b, $11
- db $0c, $f4, $0c, $11
- db $0c, $fc, $0d, $11
- db $0c, $04, $0e, $11
+ dsprite -3, 4, -2, 4, $00, $11
+ dsprite -3, 4, -1, 4, $01, $11
+ dsprite -3, 4, 0, 4, $02, $11
+ dsprite -2, 4, -2, 4, $03, $11
+ dsprite -2, 4, -1, 4, $04, $11
+ dsprite -2, 4, 0, 4, $05, $11
+ dsprite -1, 4, -2, 4, $06, $11
+ dsprite -1, 4, -1, 4, $07, $11
+ dsprite -1, 4, 0, 4, $08, $11
+ dsprite 0, 4, -2, 4, $09, $11
+ dsprite 0, 4, -1, 4, $0a, $11
+ dsprite 0, 4, 0, 4, $0b, $11
+ dsprite 1, 4, -2, 4, $0c, $11
+ dsprite 1, 4, -1, 4, $0d, $11
+ dsprite 1, 4, 0, 4, $0e, $11
; 8df29
Unknown_8df29: ; 8df29
db 6
- db $f4, $f4, $00, $15
- db $f4, $fc, $02, $15
- db $f4, $04, $00, $35
- db $04, $f4, $04, $15
- db $04, $fc, $06, $15
- db $04, $04, $04, $35
+ dsprite -2, 4, -2, 4, $00, $15
+ dsprite -2, 4, -1, 4, $02, $15
+ dsprite -2, 4, 0, 4, $00, $35
+ dsprite 0, 4, -2, 4, $04, $15
+ dsprite 0, 4, -1, 4, $06, $15
+ dsprite 0, 4, 0, 4, $04, $35
; 8df42
Unknown_8df42: ; 8df42
db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $06, $16
- db $04, $fc, $08, $16
- db $04, $04, $0a, $16
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $06, $16
+ dsprite 0, 4, -1, 4, $08, $16
+ dsprite 0, 4, 0, 4, $0a, $16
; 8df5b
Unknown_8df5b: ; 8df5b
db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $0c, $16
- db $04, $fc, $0e, $16
- db $04, $04, $10, $16
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $0c, $16
+ dsprite 0, 4, -1, 4, $0e, $16
+ dsprite 0, 4, 0, 4, $10, $16
; 8df74
Unknown_8df74: ; 8df74
db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $12, $16
- db $04, $fc, $14, $16
- db $04, $04, $16, $16
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $12, $16
+ dsprite 0, 4, -1, 4, $14, $16
+ dsprite 0, 4, 0, 4, $16, $16
; 8df8d
Unknown_8df8d: ; 8df8d
db 6
- db $f4, $f4, $00, $16
- db $f4, $fc, $02, $16
- db $f4, $04, $04, $16
- db $04, $f4, $18, $16
- db $04, $fc, $1a, $16
- db $04, $04, $1c, $16
+ dsprite -2, 4, -2, 4, $00, $16
+ dsprite -2, 4, -1, 4, $02, $16
+ dsprite -2, 4, 0, 4, $04, $16
+ dsprite 0, 4, -2, 4, $18, $16
+ dsprite 0, 4, -1, 4, $1a, $16
+ dsprite 0, 4, 0, 4, $1c, $16
; 8dfa6
Unknown_8dfa6: ; 8dfa6
db 6
- db $f4, $f4, $1e, $16
- db $f4, $fc, $20, $16
- db $f4, $04, $22, $16
- db $04, $f4, $24, $16
- db $04, $fc, $26, $16
- db $04, $04, $28, $16
+ dsprite -2, 4, -2, 4, $1e, $16
+ dsprite -2, 4, -1, 4, $20, $16
+ dsprite -2, 4, 0, 4, $22, $16
+ dsprite 0, 4, -2, 4, $24, $16
+ dsprite 0, 4, -1, 4, $26, $16
+ dsprite 0, 4, 0, 4, $28, $16
; 8dfbf
Unknown_8dfbf: ; 8dfbf
db 3
- db $f4, $fc, $00, $10
- db $fc, $fc, $00, $10
- db $04, $fc, $00, $10
+ dsprite -2, 4, -1, 4, $00, $10
+ dsprite -1, 4, -1, 4, $00, $10
+ dsprite 0, 4, -1, 4, $00, $10
; 8dfcc
Unknown_8dfcc: ; 8dfcc
db 6
- db $00, $00, $00, $00
- db $00, $08, $01, $00
- db $00, $10, $01, $00
- db $00, $18, $01, $00
- db $00, $20, $02, $00
- db $00, $28, $03, $00
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $01, $00
+ dsprite 0, 0, 3, 0, $01, $00
+ dsprite 0, 0, 4, 0, $02, $00
+ dsprite 0, 0, 5, 0, $03, $00
; 8dfe5
Unknown_8dfe5: ; 8dfe5
db 4
- db $00, $00, $00, $00
- db $00, $08, $01, $00
- db $00, $10, $02, $00
- db $00, $18, $03, $00
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $02, $00
+ dsprite 0, 0, 3, 0, $03, $00
; 8dff6
Unknown_8dff6: ; 8dff6
db 4
- db $f8, $f6, $00, $06
- db $f8, $02, $01, $06
- db $00, $f6, $02, $06
- db $00, $02, $03, $06
+ dsprite -1, 0, -2, 6, $00, $06
+ dsprite -1, 0, 0, 2, $01, $06
+ dsprite 0, 0, -2, 6, $02, $06
+ dsprite 0, 0, 0, 2, $03, $06
; 8e007
Unknown_8e007: ; 8e007
db 4
- db $f8, $f4, $00, $06
- db $f8, $04, $01, $06
- db $00, $f4, $02, $06
- db $00, $04, $03, $06
+ dsprite -1, 0, -2, 4, $00, $06
+ dsprite -1, 0, 0, 4, $01, $06
+ dsprite 0, 0, -2, 4, $02, $06
+ dsprite 0, 0, 0, 4, $03, $06
; 8e018
Unknown_8e018: ; 8e018
db 4
- db $f8, $f0, $00, $06
- db $f8, $08, $01, $06
- db $00, $f0, $02, $06
- db $00, $08, $03, $06
+ dsprite -1, 0, -2, 0, $00, $06
+ dsprite -1, 0, 1, 0, $01, $06
+ dsprite 0, 0, -2, 0, $02, $06
+ dsprite 0, 0, 1, 0, $03, $06
; 8e029
Unknown_8e029: ; 8e029
db 19
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $e8, $f0, $06, $00
- db $f8, $f0, $08, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $0c, $00
- db $f8, $f8, $0e, $00
- db $08, $f8, $10, $00
- db $e8, $00, $12, $00
- db $f8, $00, $14, $00
- db $08, $00, $16, $00
- db $e8, $08, $18, $00
- db $f8, $08, $1a, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -3, 0, -2, 0, $06, $00
+ dsprite -1, 0, -2, 0, $08, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $0c, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $12, $00
+ dsprite -1, 0, 0, 0, $14, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -3, 0, 1, 0, $18, $00
+ dsprite -1, 0, 1, 0, $1a, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
; 8e076
Unknown_8e076: ; 8e076
db 16
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $26, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $28, $00
- db $f8, $f8, $2a, $00
- db $08, $f8, $10, $00
- db $f8, $00, $2c, $00
- db $08, $00, $16, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $26, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $28, $00
+ dsprite -1, 0, -1, 0, $2a, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -1, 0, 0, 0, $2c, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
; 8e0b7
Unknown_8e0b7: ; 8e0b7
db 15
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $32, $00
- db $f8, $f0, $34, $00
- db $08, $f0, $36, $00
- db $f8, $f8, $38, $00
- db $08, $f8, $3a, $00
- db $f8, $00, $3c, $00
- db $08, $00, $3e, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $32, $00
+ dsprite -1, 0, -2, 0, $34, $00
+ dsprite 1, 0, -2, 0, $36, $00
+ dsprite -1, 0, -1, 0, $38, $00
+ dsprite 1, 0, -1, 0, $3a, $00
+ dsprite -1, 0, 0, 0, $3c, $00
+ dsprite 1, 0, 0, 0, $3e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
; 8e0f4
Unknown_8e0f4: ; 8e0f4
db 17
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $40, $00
- db $08, $f0, $42, $00
- db $18, $f0, $44, $00
- db $f8, $f8, $46, $00
- db $08, $f8, $48, $00
- db $18, $f8, $4a, $00
- db $f8, $00, $4c, $00
- db $08, $00, $4e, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $40, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 3, 0, -2, 0, $44, $00
+ dsprite -1, 0, -1, 0, $46, $00
+ dsprite 1, 0, -1, 0, $48, $00
+ dsprite 3, 0, -1, 0, $4a, $00
+ dsprite -1, 0, 0, 0, $4c, $00
+ dsprite 1, 0, 0, 0, $4e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
; 8e139
Unknown_8e139: ; 8e139
db 17
- db $f8, $e0, $00, $00
- db $f0, $e8, $02, $00
- db $00, $e8, $04, $00
- db $f8, $f0, $50, $00
- db $08, $f0, $0a, $00
- db $e8, $f8, $52, $00
- db $f8, $f8, $54, $00
- db $08, $f8, $10, $00
- db $e8, $00, $56, $00
- db $f8, $00, $2e, $00
- db $08, $00, $16, $00
- db $f8, $08, $30, $00
- db $08, $08, $1c, $00
- db $f8, $10, $1e, $00
- db $08, $10, $20, $00
- db $f0, $18, $22, $00
- db $00, $18, $24, $00
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $50, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $52, $00
+ dsprite -1, 0, -1, 0, $54, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $56, $00
+ dsprite -1, 0, 0, 0, $2e, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
; 8e17e
Unknown_8e17e: ; 8e17e
db 1
- db $fc, $fc, $00, $11
+ dsprite -1, 4, -1, 4, $00, $11
; 8e183
Unknown_8e183: ; 8e183
db 12
- db $00, $00, $30, $00
- db $00, $08, $31, $00
- db $00, $10, $31, $00
- db $00, $18, $31, $00
- db $00, $20, $31, $00
- db $00, $28, $32, $00
- db $08, $00, $33, $00
- db $08, $08, $34, $00
- db $08, $10, $34, $00
- db $08, $18, $34, $00
- db $08, $20, $34, $00
- db $08, $28, $35, $00
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 0, 0, 1, 0, $31, $00
+ dsprite 0, 0, 2, 0, $31, $00
+ dsprite 0, 0, 3, 0, $31, $00
+ dsprite 0, 0, 4, 0, $31, $00
+ dsprite 0, 0, 5, 0, $32, $00
+ dsprite 1, 0, 0, 0, $33, $00
+ dsprite 1, 0, 1, 0, $34, $00
+ dsprite 1, 0, 2, 0, $34, $00
+ dsprite 1, 0, 3, 0, $34, $00
+ dsprite 1, 0, 4, 0, $34, $00
+ dsprite 1, 0, 5, 0, $35, $00
; 8e1b4
Unknown_8e1b4: ; 8e1b4
db 1
- db $00, $00, $ed, $00
+ dsprite 0, 0, 0, 0, $ed, $00
; 8e1b9
Unknown_8e1b9: ; 8e1b9
db 4
- db $ff, $ff, $30, $00
- db $ff, $01, $32, $00
- db $01, $ff, $33, $00
- db $01, $01, $35, $00
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 1, $35, $00
; 8e1ca
Unknown_8e1ca: ; 8e1ca
db 8
- db $ff, $ff, $30, $00
- db $ff, $04, $31, $00
- db $ff, $0c, $31, $00
- db $ff, $11, $32, $00
- db $01, $ff, $33, $00
- db $01, $04, $34, $00
- db $01, $0c, $34, $00
- db $01, $11, $35, $00
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 4, $31, $00
+ dsprite -1, 7, 1, 4, $31, $00
+ dsprite -1, 7, 2, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 4, $34, $00
+ dsprite 0, 1, 1, 4, $34, $00
+ dsprite 0, 1, 2, 1, $35, $00
; 8e1eb
Unknown_8e1eb: ; 8e1eb
db 1
- db $00, $00, $34, $00
+ dsprite 0, 0, 0, 0, $34, $00
; 8e1f0
Unknown_8e1f0: ; 8e1f0
db 2
- db $00, $00, $30, $00
- db $08, $00, $33, $00
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 1, 0, 0, 0, $33, $00
; 8e1f9
Unknown_8e1f9: ; 8e1f9
db 2
- db $00, $00, $32, $00
- db $08, $00, $35, $00
+ dsprite 0, 0, 0, 0, $32, $00
+ dsprite 1, 0, 0, 0, $35, $00
; 8e202
Unknown_8e202: ; 8e202
db 4
- db $f8, $f8, $00, $01
- db $f8, $00, $01, $01
- db $00, $f8, $02, $01
- db $00, $00, $03, $01
+ dsprite -1, 0, -1, 0, $00, $01
+ dsprite -1, 0, 0, 0, $01, $01
+ dsprite 0, 0, -1, 0, $02, $01
+ dsprite 0, 0, 0, 0, $03, $01
; 8e213
Unknown_8e213: ; 8e213
db 4
- db $f8, $f8, $00, $81
- db $f8, $00, $01, $81
- db $00, $f8, $02, $81
- db $00, $00, $03, $81
+ dsprite -1, 0, -1, 0, $00, $81
+ dsprite -1, 0, 0, 0, $01, $81
+ dsprite 0, 0, -1, 0, $02, $81
+ dsprite 0, 0, 0, 0, $03, $81
; 8e224
Unknown_8e224: ; 8e224
db 1
- db $fc, $fc, $00, $02
+ dsprite -1, 4, -1, 4, $00, $02
; 8e229
Unknown_8e229: ; 8e229
db 4
- db $f0, $fc, $00, $03
- db $f8, $fc, $01, $03
- db $00, $fc, $02, $03
- db $08, $fc, $03, $03
+ dsprite -2, 0, -1, 4, $00, $03
+ dsprite -1, 0, -1, 4, $01, $03
+ dsprite 0, 0, -1, 4, $02, $03
+ dsprite 1, 0, -1, 4, $03, $03
; 8e23a
Unknown_8e23a: ; 8e23a
db 4
- db $f0, $fc, $03, $44
- db $f8, $fc, $02, $44
- db $00, $fc, $01, $44
- db $08, $fc, $00, $44
+ dsprite -2, 0, -1, 4, $03, $44
+ dsprite -1, 0, -1, 4, $02, $44
+ dsprite 0, 0, -1, 4, $01, $44
+ dsprite 1, 0, -1, 4, $00, $44
; 8e24b
Unknown_8e24b: ; 8e24b
db 4
- db $f8, $f8, $00, $01
- db $f8, $00, $00, $21
- db $00, $f8, $00, $41
- db $00, $00, $00, $61
+ dsprite -1, 0, -1, 0, $00, $01
+ dsprite -1, 0, 0, 0, $00, $21
+ dsprite 0, 0, -1, 0, $00, $41
+ dsprite 0, 0, 0, 0, $00, $61
; 8e25c
Unknown_8e25c: ; 8e25c
db 8
- db $f4, $f4, $00, $01
- db $f4, $fc, $01, $01
- db $f4, $04, $00, $21
- db $fc, $f4, $02, $01
- db $fc, $04, $02, $21
- db $04, $f4, $00, $41
- db $04, $fc, $01, $41
- db $04, $04, $00, $61
+ dsprite -2, 4, -2, 4, $00, $01
+ dsprite -2, 4, -1, 4, $01, $01
+ dsprite -2, 4, 0, 4, $00, $21
+ dsprite -1, 4, -2, 4, $02, $01
+ dsprite -1, 4, 0, 4, $02, $21
+ dsprite 0, 4, -2, 4, $00, $41
+ dsprite 0, 4, -1, 4, $01, $41
+ dsprite 0, 4, 0, 4, $00, $61
; 8e27d
Unknown_8e27d: ; 8e27d
db 12
- db $f0, $f0, $00, $01
- db $f0, $f8, $01, $01
- db $f8, $f0, $02, $01
- db $f0, $00, $01, $21
- db $f0, $08, $00, $21
- db $f8, $08, $02, $21
- db $00, $f0, $02, $41
- db $08, $f0, $00, $41
- db $08, $f8, $01, $41
- db $00, $08, $02, $61
- db $08, $00, $01, $61
- db $08, $08, $00, $61
+ dsprite -2, 0, -2, 0, $00, $01
+ dsprite -2, 0, -1, 0, $01, $01
+ dsprite -1, 0, -2, 0, $02, $01
+ dsprite -2, 0, 0, 0, $01, $21
+ dsprite -2, 0, 1, 0, $00, $21
+ dsprite -1, 0, 1, 0, $02, $21
+ dsprite 0, 0, -2, 0, $02, $41
+ dsprite 1, 0, -2, 0, $00, $41
+ dsprite 1, 0, -1, 0, $01, $41
+ dsprite 0, 0, 1, 0, $02, $61
+ dsprite 1, 0, 0, 0, $01, $61
+ dsprite 1, 0, 1, 0, $00, $61
; 8e2ae
Unknown_8e2ae: ; 8e2ae
db 36
- db $e8, $08, $05, $00
- db $e8, $10, $06, $00
- db $e8, $18, $07, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $f8, $18, $27, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $00, $10, $36, $00
- db $08, $e0, $40, $00
- db $08, $e8, $41, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $08, $10, $46, $00
- db $08, $18, $47, $00
- db $10, $e0, $50, $00
- db $10, $e8, $51, $00
- db $10, $18, $57, $00
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -3, 0, 2, 0, $06, $00
+ dsprite -3, 0, 3, 0, $07, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite -1, 0, 3, 0, $27, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 0, 0, 2, 0, $36, $00
+ dsprite 1, 0, -4, 0, $40, $00
+ dsprite 1, 0, -3, 0, $41, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 1, 0, 2, 0, $46, $00
+ dsprite 1, 0, 3, 0, $47, $00
+ dsprite 2, 0, -4, 0, $50, $00
+ dsprite 2, 0, -3, 0, $51, $00
+ dsprite 2, 0, 3, 0, $57, $00
; 8e33f
Unknown_8e33f: ; 8e33f
db 28
- db $e8, $00, $04, $00
- db $e8, $08, $05, $00
- db $e8, $10, $06, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $f8, $53, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
+ dsprite -3, 0, 0, 0, $04, $00
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -3, 0, 2, 0, $06, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -1, 0, $53, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
; 8e3b0
Unknown_8e3b0: ; 8e3b0
db 30
- db $e8, $00, $04, $00
- db $e8, $08, $05, $00
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $f0, $52, $00
- db $10, $f8, $53, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
+ dsprite -3, 0, 0, 0, $04, $00
+ dsprite -3, 0, 1, 0, $05, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -2, 0, $52, $00
+ dsprite 2, 0, -1, 0, $53, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
; 8e429
Unknown_8e429: ; 8e429
db 31
- db $f0, $e8, $11, $00
- db $f0, $f0, $12, $00
- db $f0, $f8, $13, $00
- db $f0, $00, $14, $00
- db $f0, $08, $15, $00
- db $f0, $10, $16, $00
- db $f0, $18, $17, $00
- db $f8, $e0, $20, $00
- db $f8, $e8, $21, $00
- db $f8, $f0, $22, $00
- db $f8, $f8, $23, $00
- db $f8, $00, $24, $00
- db $f8, $08, $25, $00
- db $f8, $10, $26, $00
- db $f8, $18, $27, $00
- db $00, $e0, $30, $00
- db $00, $e8, $31, $00
- db $00, $f0, $32, $00
- db $00, $f8, $33, $00
- db $00, $00, $34, $00
- db $00, $08, $35, $00
- db $00, $10, $36, $00
- db $08, $e8, $41, $00
- db $08, $f0, $42, $00
- db $08, $f8, $43, $00
- db $08, $00, $44, $00
- db $08, $08, $45, $00
- db $10, $e8, $51, $00
- db $10, $f0, $52, $00
- db $10, $00, $54, $00
- db $10, $08, $55, $00
+ dsprite -2, 0, -3, 0, $11, $00
+ dsprite -2, 0, -2, 0, $12, $00
+ dsprite -2, 0, -1, 0, $13, $00
+ dsprite -2, 0, 0, 0, $14, $00
+ dsprite -2, 0, 1, 0, $15, $00
+ dsprite -2, 0, 2, 0, $16, $00
+ dsprite -2, 0, 3, 0, $17, $00
+ dsprite -1, 0, -4, 0, $20, $00
+ dsprite -1, 0, -3, 0, $21, $00
+ dsprite -1, 0, -2, 0, $22, $00
+ dsprite -1, 0, -1, 0, $23, $00
+ dsprite -1, 0, 0, 0, $24, $00
+ dsprite -1, 0, 1, 0, $25, $00
+ dsprite -1, 0, 2, 0, $26, $00
+ dsprite -1, 0, 3, 0, $27, $00
+ dsprite 0, 0, -4, 0, $30, $00
+ dsprite 0, 0, -3, 0, $31, $00
+ dsprite 0, 0, -2, 0, $32, $00
+ dsprite 0, 0, -1, 0, $33, $00
+ dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 1, 0, $35, $00
+ dsprite 0, 0, 2, 0, $36, $00
+ dsprite 1, 0, -3, 0, $41, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 1, 0, -1, 0, $43, $00
+ dsprite 1, 0, 0, 0, $44, $00
+ dsprite 1, 0, 1, 0, $45, $00
+ dsprite 2, 0, -3, 0, $51, $00
+ dsprite 2, 0, -2, 0, $52, $00
+ dsprite 2, 0, 0, 0, $54, $00
+ dsprite 2, 0, 1, 0, $55, $00
; 8e4a6
Unknown_8e4a6: ; 8e4a6
db 25
- db $ec, $ec, $00, $09
- db $ec, $f4, $01, $09
- db $ec, $fc, $02, $09
- db $ec, $04, $03, $09
- db $ec, $0c, $04, $09
- db $f4, $ec, $10, $09
- db $f4, $f4, $11, $09
- db $f4, $fc, $12, $09
- db $f4, $04, $13, $09
- db $f4, $0c, $14, $09
- db $fc, $ec, $20, $09
- db $fc, $f4, $21, $09
- db $fc, $fc, $22, $09
- db $fc, $04, $23, $09
- db $fc, $0c, $24, $09
- db $04, $ec, $30, $09
- db $04, $f4, $31, $09
- db $04, $fc, $32, $09
- db $04, $04, $33, $09
- db $04, $0c, $34, $09
- db $0c, $ec, $40, $09
- db $0c, $f4, $41, $09
- db $0c, $fc, $42, $09
- db $0c, $04, $43, $09
- db $0c, $0c, $44, $09
+ dsprite -3, 4, -3, 4, $00, $09
+ dsprite -3, 4, -2, 4, $01, $09
+ dsprite -3, 4, -1, 4, $02, $09
+ dsprite -3, 4, 0, 4, $03, $09
+ dsprite -3, 4, 1, 4, $04, $09
+ dsprite -2, 4, -3, 4, $10, $09
+ dsprite -2, 4, -2, 4, $11, $09
+ dsprite -2, 4, -1, 4, $12, $09
+ dsprite -2, 4, 0, 4, $13, $09
+ dsprite -2, 4, 1, 4, $14, $09
+ dsprite -1, 4, -3, 4, $20, $09
+ dsprite -1, 4, -2, 4, $21, $09
+ dsprite -1, 4, -1, 4, $22, $09
+ dsprite -1, 4, 0, 4, $23, $09
+ dsprite -1, 4, 1, 4, $24, $09
+ dsprite 0, 4, -3, 4, $30, $09
+ dsprite 0, 4, -2, 4, $31, $09
+ dsprite 0, 4, -1, 4, $32, $09
+ dsprite 0, 4, 0, 4, $33, $09
+ dsprite 0, 4, 1, 4, $34, $09
+ dsprite 1, 4, -3, 4, $40, $09
+ dsprite 1, 4, -2, 4, $41, $09
+ dsprite 1, 4, -1, 4, $42, $09
+ dsprite 1, 4, 0, 4, $43, $09
+ dsprite 1, 4, 1, 4, $44, $09
; 8e50b
Unknown_8e50b: ; 8e50b
db 16
- db $f0, $ec, $00, $0a
- db $f0, $f4, $01, $0a
- db $f0, $fc, $02, $0a
- db $f0, $04, $03, $0a
- db $f8, $ec, $04, $0a
- db $f8, $f4, $05, $0a
- db $f8, $fc, $06, $0a
- db $f8, $04, $07, $0a
- db $00, $ec, $08, $0a
- db $00, $f4, $09, $0a
- db $00, $fc, $0a, $0a
- db $00, $04, $0b, $0a
- db $08, $ec, $0c, $0a
- db $08, $f4, $0d, $0a
- db $08, $fc, $0e, $0a
- db $08, $04, $0f, $0a
+ dsprite -2, 0, -3, 4, $00, $0a
+ dsprite -2, 0, -2, 4, $01, $0a
+ dsprite -2, 0, -1, 4, $02, $0a
+ dsprite -2, 0, 0, 4, $03, $0a
+ dsprite -1, 0, -3, 4, $04, $0a
+ dsprite -1, 0, -2, 4, $05, $0a
+ dsprite -1, 0, -1, 4, $06, $0a
+ dsprite -1, 0, 0, 4, $07, $0a
+ dsprite 0, 0, -3, 4, $08, $0a
+ dsprite 0, 0, -2, 4, $09, $0a
+ dsprite 0, 0, -1, 4, $0a, $0a
+ dsprite 0, 0, 0, 4, $0b, $0a
+ dsprite 1, 0, -3, 4, $0c, $0a
+ dsprite 1, 0, -2, 4, $0d, $0a
+ dsprite 1, 0, -1, 4, $0e, $0a
+ dsprite 1, 0, 0, 4, $0f, $0a
; 8e54c
Unknown_8e54c: ; 8e54c
db 1
- db $fc, $fc, $00, $00
+ dsprite -1, 4, -1, 4, $00, $00
; 8e551
Unknown_8e551: ; 8e551
db 3
- db $00, $f8, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $02, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
; 8e55e
Unknown_8e55e: ; 8e55e
db 7
- db $08, $f0, $00, $00
- db $00, $f0, $01, $00
- db $f8, $f0, $02, $00
- db $f8, $f8, $03, $00
- db $f0, $f8, $04, $00
- db $f0, $00, $05, $00
- db $f0, $08, $06, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 0, 0, -2, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, -1, 0, $04, $00
+ dsprite -2, 0, 0, 0, $05, $00
+ dsprite -2, 0, 1, 0, $06, $00
; 8e57b
Unknown_8e57b: ; 8e57b
db 8
- db $f8, $f0, $00, $00
- db $f8, $f8, $01, $00
- db $f8, $00, $01, $20
- db $f8, $08, $00, $20
- db $00, $f0, $00, $40
- db $00, $f8, $01, $40
- db $00, $00, $01, $60
- db $00, $08, $00, $60
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $01, $20
+ dsprite -1, 0, 1, 0, $00, $20
+ dsprite 0, 0, -2, 0, $00, $40
+ dsprite 0, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $01, $60
+ dsprite 0, 0, 1, 0, $00, $60
; 8e59c
Unknown_8e59c: ; 8e59c
db 12
- db $e8, $f8, $00, $00
- db $f0, $f8, $01, $00
- db $f8, $f8, $02, $00
- db $e8, $00, $00, $20
- db $f0, $00, $01, $20
- db $f8, $00, $02, $20
- db $00, $f8, $02, $40
- db $08, $f8, $01, $40
- db $10, $f8, $00, $40
- db $00, $00, $02, $60
- db $08, $00, $01, $60
- db $10, $00, $00, $60
+ dsprite -3, 0, -1, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $00, $20
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -1, 0, 0, 0, $02, $20
+ dsprite 0, 0, -1, 0, $02, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 2, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 2, 0, 0, 0, $00, $60
; 8e5cd
Unknown_8e5cd: ; 8e5cd
db 20
- db $ec, $f0, $00, $00
- db $ec, $f8, $01, $00
- db $ec, $00, $02, $00
- db $ec, $08, $03, $00
- db $f4, $f0, $04, $00
- db $f4, $f8, $05, $00
- db $f4, $00, $06, $00
- db $f4, $08, $07, $00
- db $fc, $f0, $08, $00
- db $fc, $f8, $09, $00
- db $fc, $00, $0a, $00
- db $fc, $08, $0b, $00
- db $04, $f0, $0c, $00
- db $04, $f8, $0d, $00
- db $04, $00, $0e, $00
- db $04, $08, $0f, $00
- db $0c, $f0, $10, $00
- db $0c, $f8, $11, $00
- db $0c, $00, $12, $00
- db $0c, $08, $13, $00
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $01, $00
+ dsprite -3, 4, 0, 0, $02, $00
+ dsprite -3, 4, 1, 0, $03, $00
+ dsprite -2, 4, -2, 0, $04, $00
+ dsprite -2, 4, -1, 0, $05, $00
+ dsprite -2, 4, 0, 0, $06, $00
+ dsprite -2, 4, 1, 0, $07, $00
+ dsprite -1, 4, -2, 0, $08, $00
+ dsprite -1, 4, -1, 0, $09, $00
+ dsprite -1, 4, 0, 0, $0a, $00
+ dsprite -1, 4, 1, 0, $0b, $00
+ dsprite 0, 4, -2, 0, $0c, $00
+ dsprite 0, 4, -1, 0, $0d, $00
+ dsprite 0, 4, 0, 0, $0e, $00
+ dsprite 0, 4, 1, 0, $0f, $00
+ dsprite 1, 4, -2, 0, $10, $00
+ dsprite 1, 4, -1, 0, $11, $00
+ dsprite 1, 4, 0, 0, $12, $00
+ dsprite 1, 4, 1, 0, $13, $00
; 8e61e
Unknown_8e61e: ; 8e61e
db 20
- db $00, $08, $00, $81
- db $08, $10, $00, $81
- db $10, $18, $00, $81
- db $18, $20, $00, $81
- db $20, $28, $00, $81
- db $18, $30, $00, $81
- db $10, $38, $00, $81
- db $08, $40, $00, $81
- db $00, $48, $00, $81
- db $08, $50, $00, $81
- db $10, $58, $00, $81
- db $18, $60, $00, $81
- db $20, $68, $00, $81
- db $18, $70, $00, $81
- db $10, $78, $00, $81
- db $08, $80, $00, $81
- db $00, $88, $00, $81
- db $08, $90, $00, $81
- db $10, $98, $00, $81
- db $18, $a0, $00, $81
+ dsprite 0, 0, 1, 0, $00, $81
+ dsprite 1, 0, 2, 0, $00, $81
+ dsprite 2, 0, 3, 0, $00, $81
+ dsprite 3, 0, 4, 0, $00, $81
+ dsprite 4, 0, 5, 0, $00, $81
+ dsprite 3, 0, 6, 0, $00, $81
+ dsprite 2, 0, 7, 0, $00, $81
+ dsprite 1, 0, 8, 0, $00, $81
+ dsprite 0, 0, 9, 0, $00, $81
+ dsprite 1, 0, 10, 0, $00, $81
+ dsprite 2, 0, 11, 0, $00, $81
+ dsprite 3, 0, 12, 0, $00, $81
+ dsprite 4, 0, 13, 0, $00, $81
+ dsprite 3, 0, 14, 0, $00, $81
+ dsprite 2, 0, 15, 0, $00, $81
+ dsprite 1, 0, 16, 0, $00, $81
+ dsprite 0, 0, -15, 0, $00, $81
+ dsprite 1, 0, -14, 0, $00, $81
+ dsprite 2, 0, -13, 0, $00, $81
+ dsprite 3, 0, -12, 0, $00, $81
; 8e66f
Unknown_8e66f: ; 8e66f
db 4
- db $f8, $f8, $00, $02
- db $f8, $00, $01, $02
- db $00, $f8, $02, $02
- db $00, $00, $03, $02
+ dsprite -1, 0, -1, 0, $00, $02
+ dsprite -1, 0, 0, 0, $01, $02
+ dsprite 0, 0, -1, 0, $02, $02
+ dsprite 0, 0, 0, 0, $03, $02
; 8e680
Unknown_8e680: ; 8e680
db 9
- db $f0, $f4, $00, $01
- db $f0, $fc, $01, $01
- db $f0, $04, $02, $01
- db $f8, $f4, $10, $01
- db $f8, $fc, $11, $01
- db $f8, $04, $12, $01
- db $00, $f4, $20, $01
- db $00, $fc, $21, $01
- db $00, $04, $22, $01
+ dsprite -2, 0, -2, 4, $00, $01
+ dsprite -2, 0, -1, 4, $01, $01
+ dsprite -2, 0, 0, 4, $02, $01
+ dsprite -1, 0, -2, 4, $10, $01
+ dsprite -1, 0, -1, 4, $11, $01
+ dsprite -1, 0, 0, 4, $12, $01
+ dsprite 0, 0, -2, 4, $20, $01
+ dsprite 0, 0, -1, 4, $21, $01
+ dsprite 0, 0, 0, 4, $22, $01
; 8e6a5
Unknown_8e6a5: ; 8e6a5
db 24
- db $d8, $f4, $00, $01
- db $d8, $fc, $01, $01
- db $d8, $04, $02, $01
- db $d8, $0c, $03, $01
- db $e0, $f4, $10, $01
- db $e0, $fc, $11, $01
- db $e0, $04, $12, $01
- db $e0, $0c, $13, $01
- db $e8, $f4, $20, $01
- db $e8, $fc, $21, $01
- db $e8, $04, $22, $01
- db $e8, $0c, $23, $01
- db $f0, $f4, $30, $01
- db $f0, $fc, $31, $01
- db $f0, $04, $32, $01
- db $f0, $0c, $33, $01
- db $f8, $f4, $40, $01
- db $f8, $fc, $41, $01
- db $f8, $04, $42, $01
- db $f8, $0c, $43, $01
- db $00, $f4, $50, $01
- db $00, $fc, $51, $01
- db $00, $04, $52, $01
- db $00, $0c, $53, $01
+ dsprite -5, 0, -2, 4, $00, $01
+ dsprite -5, 0, -1, 4, $01, $01
+ dsprite -5, 0, 0, 4, $02, $01
+ dsprite -5, 0, 1, 4, $03, $01
+ dsprite -4, 0, -2, 4, $10, $01
+ dsprite -4, 0, -1, 4, $11, $01
+ dsprite -4, 0, 0, 4, $12, $01
+ dsprite -4, 0, 1, 4, $13, $01
+ dsprite -3, 0, -2, 4, $20, $01
+ dsprite -3, 0, -1, 4, $21, $01
+ dsprite -3, 0, 0, 4, $22, $01
+ dsprite -3, 0, 1, 4, $23, $01
+ dsprite -2, 0, -2, 4, $30, $01
+ dsprite -2, 0, -1, 4, $31, $01
+ dsprite -2, 0, 0, 4, $32, $01
+ dsprite -2, 0, 1, 4, $33, $01
+ dsprite -1, 0, -2, 4, $40, $01
+ dsprite -1, 0, -1, 4, $41, $01
+ dsprite -1, 0, 0, 4, $42, $01
+ dsprite -1, 0, 1, 4, $43, $01
+ dsprite 0, 0, -2, 4, $50, $01
+ dsprite 0, 0, -1, 4, $51, $01
+ dsprite 0, 0, 0, 4, $52, $01
+ dsprite 0, 0, 1, 4, $53, $01
; 8e706
Unknown_8e706: ; Broken 2bpp pointers
dbbw $80, $01, $672a ; 128-tile 2bpp at 1:672a (inside Multiply)
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -191,30 +191,30 @@
OverworldHatchEgg:: ; 16f5e
call ResetWindow
call LoadStandardMenuDataHeader
- call Function16f70
+ call HatchEggs
call ExitAllMenus
call RestartMapMusic
jp CloseText
; 16f70
-Function16f70: ; 16f70 (5:6f70)
+HatchEggs: ; 16f70 (5:6f70)
ld de, PartySpecies
ld hl, PartyMon1Happiness
xor a
ld [CurPartyMon], a
-Function16f7a: ; 16f7a (5:6f7a)
+.loop: ; 16f7a (5:6f7a)
ld a, [de]
inc de
cp -1
- jp z, Function1708a
+ jp z, .done
push de
push hl
cp EGG
- jp nz, Function1707d
+ jp nz, .next
ld a, [hl]
and a
- jp nz, Function1707d
+ jp nz, .next
ld [hl], $78
push de
@@ -304,7 +304,7 @@
ld e, l
ld hl, PlayerName
call CopyBytes
- ld hl, UnknownText_0x1708b
+ ld hl, .Text_HatchEgg
call PrintText
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
@@ -313,11 +313,12 @@
ld d, h
ld e, l
push de
- ld hl, UnknownText_0x170ba
+ ld hl, .Text_NicknameHatchling
call PrintText
call YesNoBox
pop de
jr c, .nonickname
+
ld a, $1
ld [wd26b], a
xor a
@@ -328,13 +329,14 @@
pop hl
ld de, StringBuffer1
call InitName
- jr Function1707d
+ jr .next
+
.nonickname
ld hl, StringBuffer1
ld bc, PKMN_NAME_LENGTH
call CopyBytes
-Function1707d: ; 1707d (5:707d)
+.next: ; 1707d (5:707d)
ld hl, CurPartyMon
inc [hl]
pop hl
@@ -341,19 +343,16 @@
ld de, PARTYMON_STRUCT_LENGTH
add hl, de
pop de
- jp Function16f7a
+ jp .loop
-Function1708a: ; 1708a (5:708a)
+.done: ; 1708a (5:708a)
ret
; 1708b (5:708b)
-UnknownText_0x1708b: ; 0x1708b
+.Text_HatchEgg: ; 0x1708b
; Huh? @ @
text_jump UnknownText_0x1c0db0
start_asm
-; 0x17090
-
-Function17090: ; 17090
ld hl, VramState
res 0, [hl]
push hl
@@ -361,8 +360,8 @@
push bc
ld a, [CurPartySpecies]
push af
- call Function1728f
- ld hl, UnknownText_0x170b0
+ call EggHatch_AnimationSequence
+ ld hl, .ClearTextbox
call PrintText
pop af
ld [CurPartySpecies], a
@@ -369,30 +368,30 @@
pop bc
pop de
pop hl
- ld hl, UnknownText_0x170b5
+ ld hl, .CameOutOfItsEgg
ret
; 170b0 (5:70b0)
-UnknownText_0x170b0: ; 0x170b0
+.ClearTextbox: ; 0x170b0
;
text_jump UnknownText_0x1c0db8
db "@"
; 0x170b5
-UnknownText_0x170b5: ; 0x170b5
+.CameOutOfItsEgg: ; 0x170b5
; came out of its EGG!@ @
text_jump UnknownText_0x1c0dba
db "@"
; 0x170ba
-UnknownText_0x170ba: ; 0x170ba
+.Text_NicknameHatchling: ; 0x170ba
; Give a nickname to @ ?
text_jump UnknownText_0x1c0dd8
db "@"
; 0x170bf
-Function170bf: ; 170bf
- call Function17197
+InitEggMoves: ; 170bf
+ call GetHeritableMoves
ld d, h
ld e, l
ld b, NUM_MOVES
@@ -409,9 +408,9 @@
inc hl
dec c
jr nz, .next
- call Function170e4
+ call GetEggMove
jr nc, .skip
- call Function17169
+ call LoadEggMove
.skip
inc de
@@ -422,7 +421,7 @@
ret
; 170e4
-Function170e4: ; 170e4
+GetEggMove: ; 170e4
GLOBAL EggMoves
push bc
@@ -440,7 +439,7 @@
ld a, BANK(EggMoves)
call GetFarByte
cp -1
- jr z, .found_mon
+ jr z, .reached_end
ld b, a
ld a, [de]
cp b
@@ -448,7 +447,7 @@
inc hl
jr .loop
-.found_mon
+.reached_end
call Function1720b
ld b, NUM_MOVES
.loop2
@@ -504,7 +503,7 @@
ld a, [de]
cp b
jr nz, .loop5
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
predef CanLearnTMHMMove
ld a, c
and a
@@ -521,7 +520,7 @@
ret
; 17169
-Function17169: ; 17169
+LoadEggMove: ; 17169
push de
push bc
ld a, [de]
@@ -556,7 +555,7 @@
ret
; 17197
-Function17197: ; 17197
+GetHeritableMoves: ; 17197
ld hl, wBreedMon2Moves
ld a, [wBreedMon1Species]
cp DITTO
@@ -579,7 +578,7 @@
ld [TempMonDVs], a
ld a, [wBreedMon2DVs + 1]
ld [TempMonDVs + 1], a
- ld a, $3
+ ld a, BREEDMON
ld [MonType], a
predef GetGender
jr c, .inherit_mon2_moves
@@ -595,7 +594,7 @@
ld [TempMonDVs], a
ld a, [wBreedMon1DVs + 1]
ld [TempMonDVs + 1], a
- ld a, $3
+ ld a, BREEDMON
ld [MonType], a
predef GetGender
jr c, .inherit_mon1_moves
@@ -674,7 +673,7 @@
call SetPalettes
jp WaitBGMap
-Function1727f: ; 1727f (5:727f)
+EggHatch_DoAnimFrame: ; 1727f (5:727f)
push hl
push de
push bc
@@ -685,7 +684,7 @@
pop hl
ret
-Function1728f: ; 1728f (5:728f)
+EggHatch_AnimationSequence: ; 1728f (5:728f)
ld a, [wd265]
ld [wJumptableIndex], a
ld a, [CurSpecies]
@@ -710,45 +709,47 @@
call PlayMusic
call EnableLCD
hlcoord 7, 4
- ld b, $98
- ld c, $31
+ ld b, (VBGMap0 + 1 * $20 + 17) / $100
+ ld c, (VBGMap0 + 1 * $20 + 17) % $100
ld a, EGG
call Function17254
- ld c, $50
+ ld c, 80
call DelayFrames
xor a
ld [wcf64], a
ld a, [hSCX]
ld b, a
-.asm_172ee
+.outerloop
ld hl, wcf64
ld a, [hl]
inc [hl]
- cp $8
- jr nc, .asm_17327
+ cp 8
+ jr nc, .done
ld e, [hl]
-.asm_172f8
- ld a, $2
+.loop
+; wobble e times
+ ld a, 2
ld [hSCX], a
- ld a, $fe
+ ld a, -2
ld [wc3c0], a
- call Function1727f
- ld c, $2
+ call EggHatch_DoAnimFrame
+ ld c, 2
call DelayFrames
- ld a, $fe
+ ld a, -2
ld [hSCX], a
- ld a, $2
+ ld a, 2
ld [wc3c0], a
- call Function1727f
- ld c, $2
+ call EggHatch_DoAnimFrame
+ ld c, 2
call DelayFrames
dec e
- jr nz, .asm_172f8
- ld c, $10
+ jr nz, .loop
+ ld c, 16
call DelayFrames
- call Function1736d
- jr .asm_172ee
-.asm_17327
+ call EggHatch_CrackShell
+ jr .outerloop
+
+.done
ld de, SFX_EGG_HATCH
call PlaySFX
xor a
@@ -757,8 +758,8 @@
call ClearSprites
call Function173b3
hlcoord 6, 3
- ld b, $98
- ld c, $0
+ ld b, VBGMap0 / $100
+ ld c, VBGMap0 % $100
ld a, [wJumptableIndex]
call Function17254
call Function17418
@@ -779,7 +780,7 @@
ld c, $0
jp GetSGBLayout
-Function1736d: ; 1736d (5:736d)
+EggHatch_CrackShell: ; 1736d (5:736d)
ld a, [wcf64]
dec a
and $7
@@ -794,7 +795,7 @@
ld e, 11 * 8
ld a, SPRITE_ANIM_INDEX_19
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
ld de, SFX_EGG_CRACK
@@ -840,7 +841,7 @@
.done
ld de, SFX_EGG_HATCH
call PlaySFX
- call Function1727f
+ call EggHatch_DoAnimFrame
ret
; 173ef (5:73ef)
@@ -862,7 +863,7 @@
Function17418: ; 17418 (5:7418)
ld c, $81
.asm_1741a
- call Function1727f
+ call EggHatch_DoAnimFrame
dec c
jr nz, .asm_1741a
ret
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -828,7 +828,7 @@
ld [wd265], a
predef GetTMHMMove
ld a, [wd265]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
hlcoord 10, 12
call PlaceString
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -485,7 +485,7 @@
.learn
ld a, d
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
ld [wd265], a
call GetMoveName
call CopyName1
--- a/engine/learn.asm
+++ b/engine/learn.asm
@@ -57,7 +57,7 @@
pop hl
.learn
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld [hl], a
ld bc, MON_PP - MON_MOVES
add hl, bc
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -100,7 +100,7 @@
call Function92844
call Function92b0f
xor a
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
callab DoNextFrameForFirst16Sprites
call Function927f8
call Function927d3
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -23,8 +23,8 @@
push bc
push af
- ld a, $0
- ld [wc3b5], a
+ ld a, 0 * 4
+ ld [wOAMRetentionSize], a
call DoNextFrameForAllSprites
pop af
@@ -58,11 +58,11 @@
dec e
jr nz, .loop
- ld a, [wc3b5]
+ ld a, [wOAMRetentionSize]
ld l, a
ld h, Sprites / $0100
-.loop2 ; Clear (Sprites + [wc3b5] --> SpritesEnd)
+.loop2 ; Clear (Sprites + [wOAMRetentionSize] --> SpritesEnd)
ld a, l
cp SpritesEnd % $100
jr nc, .done
@@ -98,11 +98,11 @@
dec e
jr nz, .loop
- ld a, [wc3b5]
+ ld a, [wOAMRetentionSize]
ld l, a
ld h, (Sprites + $40) / $100
-.loop2 ; Clear (Sprites + [wc3b5] --> Sprites + $40)
+.loop2 ; Clear (Sprites + [wOAMRetentionSize] --> Sprites + $40)
ld a, l
cp (Sprites + 16 * 4) % $100
jr nc, .done
@@ -213,7 +213,7 @@
Function8d036: ; 8d036
; Clear the index field of the struct in bc.
- ld hl, 0
+ ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
ld [hl], $0
ret
@@ -240,25 +240,29 @@
cp -3
jr z, .done
cp -4
- jr z, .almost
+ jr z, .delete
call Function8d1a2 ; OAM?
- ld a, [wc3ba]
+ ; add byte to [wCurrAnimVTile]
+ ld a, [wCurrAnimVTile]
add [hl]
- ld [wc3ba], a
+ ld [wCurrAnimVTile], a
inc hl
+ ; load pointer into hl
ld a, [hli]
ld h, [hl]
ld l, a
push bc
- ld a, [wc3b5]
+ ld a, [wOAMRetentionSize]
ld e, a
ld d, Sprites / $100
ld a, [hli]
- ld c, a
+ ld c, a ; number of objects
.loop
- ld a, [wc3bc]
+ ; first byte: y (px)
+ ; [de] = [wCurrAnimYCoord] + [wCurrAnimYOffset] + [wc3bf] + Function8d0be([hl])
+ ld a, [wCurrAnimYCoord]
ld b, a
- ld a, [wc3be]
+ ld a, [wCurrAnimYOffset]
add b
ld b, a
ld a, [wc3bf]
@@ -269,9 +273,11 @@
ld [de], a
inc hl
inc de
- ld a, [wc3bb]
+ ; second byte: x (px)
+ ; [de] = [wCurrAnimXCoord] + [wCurrAnimXOffset] + [wc3c0] + Function8d0ce([hl])
+ ld a, [wCurrAnimXCoord]
ld b, a
- ld a, [wc3bd]
+ ld a, [wCurrAnimXOffset]
add b
ld b, a
ld a, [wc3c0]
@@ -282,25 +288,29 @@
ld [de], a
inc hl
inc de
- ld a, [wc3ba]
+ ; third byte: vtile
+ ; [de] = [wCurrAnimVTile] + [hl]
+ ld a, [wCurrAnimVTile]
add [hl]
ld [de], a
inc hl
inc de
+ ; fourth byte: attributes
+ ; [de] = Function8d0de([hl])
call Function8d0de
ld [de], a
inc hl
inc de
ld a, e
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
cp SpritesEnd % $100
- jr nc, .outofroom
+ jr nc, .reached_the_end
dec c
jr nz, .loop
pop bc
jr .done
-.almost
+.delete
call Function8d036
.done
@@ -307,7 +317,7 @@
and a
ret
-.outofroom
+.reached_the_end
pop bc
scf
ret
@@ -359,18 +369,18 @@
Function8d0ec: ; 8d0ec
xor a
ld [wc3b8], a
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld a, [hli]
- ld [wc3ba], a
+ ld [wCurrAnimVTile], a
ld a, [hli]
- ld [wc3bb], a
+ ld [wCurrAnimXCoord], a
ld a, [hli]
- ld [wc3bc], a
+ ld [wCurrAnimYCoord], a
ld a, [hli]
- ld [wc3bd], a
+ ld [wCurrAnimXOffset], a
ld a, [hli]
- ld [wc3be], a
+ ld [wCurrAnimYOffset], a
ret
; 8d109
@@ -420,7 +430,7 @@
add hl, bc
ld a, [hl]
and a
- jr z, .done ; finished the current sequence
+ jr z, .next_frame ; finished the current sequence
dec [hl]
call Function8d189 ; load pointer from Unknown_8d6e6
ld a, [hli]
@@ -427,15 +437,15 @@
push af
jr .okay
-.done
+.next_frame
ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
inc [hl]
call Function8d189 ; load pointer from Unknown_8d6e6
ld a, [hli]
- cp $fe
+ cp -2
jr z, .minus_2
- cp $ff
+ cp -1
jr z, .minus_1
push af
@@ -486,7 +496,7 @@
Function8d189: ; 8d189
; Get the data for the current frame for the current animation sequence
- ; Unknown_8d6e6 + 2 * SpriteAnim[SPRITEANIMSTRUCT_01] + 3 * SpriteAnim[SPRITEANIMSTRUCT_FRAME]
+ ; Unknown_8d6e6[SpriteAnim[SPRITEANIMSTRUCT_01]][SpriteAnim[SPRITEANIMSTRUCT_FRAME]]
ld hl, SPRITEANIMSTRUCT_01
add hl, bc
ld e, [hl]
@@ -508,6 +518,7 @@
; 8d1a2
Function8d1a2: ; 8d1a2
+; Load OAM data pointer
ld e, a
ld d, 0
ld hl, Unknown_8d94d
--- a/engine/tmhm.asm
+++ b/engine/tmhm.asm
@@ -5,7 +5,7 @@
ld hl, BaseTMHM
push hl
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld b, a
ld c, 0
ld hl, TMHMMoves
--- a/event/celebi.asm
+++ b/event/celebi.asm
@@ -30,7 +30,7 @@
inc d
push de
ld a, $90
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
callba DoNextFrameForAllSprites
call Function49935
ld c, 2
--- a/event/daycare.asm
+++ b/event/daycare.asm
@@ -660,7 +660,7 @@
xor a
ld [Buffer1], a
predef FillMoves
- callba Function170bf
+ callba InitEggMoves
ld hl, wEggMonID
ld a, [PlayerID]
ld [hli], a
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -36,7 +36,7 @@
add hl, bc
ld [hl], $84
ld a, 36 * 4
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
callba DoNextFrameForAllSprites
call GetHeadbuttTreeRelativeLocation
ld a, $20
@@ -51,7 +51,7 @@
jr z, .done
dec [hl]
ld a, 36 * 4
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
callba DoNextFrameForAllSprites
call DelayFrame
jr .loop
@@ -68,7 +68,7 @@
call ByteFill
ld de, Font
ld hl, VTiles1
- lb bc, BANK(Font), $c
+ lb bc, BANK(Font), 12
call Get1bpp
call ReplaceKrisSprite
ret
@@ -124,8 +124,8 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
- ld a, $90
- ld [wc3b5], a
+ ld a, 36 * 4
+ ld [wOAMRetentionSize], a
callab DoNextFrameForAllSprites
call OWCutJumptable
call DelayFrame
@@ -341,8 +341,8 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .exit
- ld a, $0
- ld [wc3b5], a
+ ld a, 0 * 4
+ ld [wOAMRetentionSize], a
callab DoNextFrameForAllSprites
call Function8cbc8
call DelayFrame
@@ -379,8 +379,8 @@
ld a, [wJumptableIndex]
bit 7, a
jr nz, .exit
- ld a, $0
- ld [wc3b5], a
+ ld a, 0 * 4
+ ld [wOAMRetentionSize], a
callab DoNextFrameForAllSprites
call Function8cbc8
call DelayFrame
--- a/macros.asm
+++ b/macros.asm
@@ -248,5 +248,5 @@
palblue EQUS "$0001 *"
dsprite: MACRO
- db \1 * 8 + \2, \3 * 8 + \4, \5, \6
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
endm
--- a/main.asm
+++ b/main.asm
@@ -8528,26 +8528,26 @@
KnowsMove: ; f9ea
ld a, MON_MOVES
call GetPartyParamLocation
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld b, a
ld c, NUM_MOVES
-.asm_f9f5
+.loop
ld a, [hli]
cp b
- jr z, .asm_f9fe
+ jr z, .knows_move
dec c
- jr nz, .asm_f9f5
+ jr nz, .loop
and a
ret
-.asm_f9fe
- ld hl, UnknownText_0xfa06
+.knows_move
+ ld hl, .Text_knows
call PrintText
scf
ret
; fa06
-UnknownText_0xfa06: ; 0xfa06
+.Text_knows: ; 0xfa06
; knows @ .
text_jump UnknownText_0x1c5ea8
db "@"
@@ -10983,8 +10983,7 @@
ret
; 24e99
-Function24e99: ; 24e99
-; BattleMonMenu
+BattleMonMenu: ; 24e99
ld hl, MenuDataHeader_0x24ed4
call CopyMenuDataHeader
xor a
@@ -10996,7 +10995,7 @@
call CopyMenuData2
ld a, [wMenuData2Flags]
bit 7, a
- jr z, .asm_24ed0
+ jr z, .set_carry
call Function1c10
ld hl, wcfa5
set 6, [hl]
@@ -11004,15 +11003,15 @@
ld de, SFX_READ_TEXT_2
call PlaySFX
ld a, [hJoyPressed]
- bit 1, a
- jr z, .asm_24ed2
+ bit B_BUTTON_F, a
+ jr z, .clear_carry
ret z
-.asm_24ed0
+.set_carry
scf
ret
-.asm_24ed2
+.clear_carry
and a
ret
; 24ed4
@@ -12863,7 +12862,7 @@
jr c, .NotTMHM
call GetTMHMItemMove
ld a, [wCurTMHM]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
call CopyName1
ld hl, UnknownText_0x2c8bf ; Booted up a TM
@@ -13206,7 +13205,7 @@
.okay
predef GetTMHMMove
ld a, [wd265]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
pop hl
ld bc, $3
@@ -13270,7 +13269,7 @@
add hl, bc
predef GetTMHMMove
ld a, [wd265]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
push hl
call PlaceString
@@ -14410,7 +14409,7 @@
ld [wItemAttributeParamBuffer], a
call Function492a5
ld [wd265], a
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
call CopyName1
callba Function2c7fb
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -2054,7 +2054,7 @@
ret
; 100d22
-Function100d22: ; 100d22
+MobileBattleMonMenu: ; 100d22
call Function100dd8
ret c
call Function100d67
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -5884,8 +5884,8 @@
call Function11b314
call Function11acb7
call Function11ad6e
- ld a, $78
- ld [wc3b5], a
+ ld a, 30 * 4
+ ld [wOAMRetentionSize], a
callba DoNextFrameForAllSprites
callba ReloadMapPart
jr .asm_11ac82
--- a/wram.asm
+++ b/wram.asm
@@ -463,7 +463,7 @@
wc3ac:: ds 8 ; c3ac
wSpriteAnimCount::
wc3b4:: ds 1
-wc3b5:: ds 1
+wOAMRetentionSize:: ds 1
CurIcon:: ; c3b6
ds 1
@@ -470,12 +470,12 @@
wc3b7:: ds 1
-wc3b8:: dw
-wc3ba:: ds 1
-wc3bb:: ds 1
-wc3bc:: ds 1
-wc3bd:: ds 1
-wc3be:: ds 1
+wc3b8:: ds 2
+wCurrAnimVTile:: ds 1
+wCurrAnimXCoord:: ds 1
+wCurrAnimYCoord:: ds 1
+wCurrAnimXOffset:: ds 1
+wCurrAnimYOffset:: ds 1
wc3bf:: ds 1
wc3c0:: ds 1
wSpriteAnimsEnd::
@@ -1838,8 +1838,7 @@
PartyMenuActionText:: ; d141
ds 1
-wItemAttributeParamBuffer::
-wd142::
+wItemAttributeParamBuffer:: ; d142
ds 1
CurPartyLevel:: ; d143
@@ -2155,7 +2154,7 @@
wd25a:: ds 3
wd25d:: ds 1
wListMoves_MoveIndicesBuffer:: ds 4
-wd262:: ds 1
+wPutativeTMHMMove:: ds 1
wd263:: ds 1
wd264:: ds 1
wFoundMatchingIDInParty::