summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rwxr-xr-xengine/breeding/egg.asm125
-rwxr-xr-xengine/debug.asm2
-rwxr-xr-xengine/evolve.asm2
-rwxr-xr-xengine/learn.asm2
-rwxr-xr-xengine/slot_machine.asm2
-rwxr-xr-xengine/sprites.asm75
-rwxr-xr-xengine/tmhm.asm2
7 files changed, 111 insertions, 99 deletions
diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm
index f0a8ac0fd..446ed9e2f 100755
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -191,30 +191,30 @@ DoEggStep:: ; 16f3e
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 @@ Function16f7a: ; 16f7a (5:6f7a)
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 @@ Function16f7a: ; 16f7a (5:6f7a)
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,32 +329,30 @@ Function16f7a: ; 16f7a (5:6f7a)
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
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,38 +360,38 @@ Function17090: ; 17090
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
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 @@ Function170bf: ; 170bf
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 @@ Function170bf: ; 170bf
ret
; 170e4
-Function170e4: ; 170e4
+GetEggMove: ; 170e4
GLOBAL EggMoves
push bc
@@ -440,7 +439,7 @@ endr
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 @@ endr
inc hl
jr .loop
-.found_mon
+.reached_end
call Function1720b
ld b, NUM_MOVES
.loop2
@@ -504,7 +503,7 @@ endr
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 @@ endr
ret
; 17169
-Function17169: ; 17169
+LoadEggMove: ; 17169
push de
push bc
ld a, [de]
@@ -556,7 +555,7 @@ Function17169: ; 17169
ret
; 17197
-Function17197: ; 17197
+GetHeritableMoves: ; 17197
ld hl, wBreedMon2Moves
ld a, [wBreedMon1Species]
cp DITTO
@@ -579,7 +578,7 @@ Function17197: ; 17197
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 @@ Function17197: ; 17197
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 @@ Function17254: ; 17254 (5:7254)
call SetPalettes
jp WaitBGMap
-Function1727f: ; 1727f (5:727f)
+EggHatch_DoAnimFrame: ; 1727f (5:727f)
push hl
push de
push bc
@@ -685,7 +684,7 @@ Function1727f: ; 1727f (5:727f)
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 @@ Function1728f: ; 1728f (5:728f)
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 @@ Function1728f: ; 1728f (5:728f)
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 @@ Function17363: ; 17363 (5:7363)
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 @@ Function1736d: ; 1736d (5:736d)
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 @@ Function173b3: ; 173b3 (5:73b3)
.done
ld de, SFX_EGG_HATCH
call PlaySFX
- call Function1727f
+ call EggHatch_DoAnimFrame
ret
; 173ef (5:73ef)
@@ -862,7 +863,7 @@ Function173b3: ; 173b3 (5:73b3)
Function17418: ; 17418 (5:7418)
ld c, $81
.asm_1741a
- call Function1727f
+ call EggHatch_DoAnimFrame
dec c
jr nz, .asm_1741a
ret
diff --git a/engine/debug.asm b/engine/debug.asm
index 1e00ae4f5..896e0b1f6 100755
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -828,7 +828,7 @@ Function81df4: ; 81df4
ld [wd265], a
predef GetTMHMMove
ld a, [wd265]
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
call GetMoveName
hlcoord 10, 12
call PlaceString
diff --git a/engine/evolve.asm b/engine/evolve.asm
index 2ea3ee0a9..4a959529a 100755
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -485,7 +485,7 @@ endr
.learn
ld a, d
- ld [wd262], a
+ ld [wPutativeTMHMMove], a
ld [wd265], a
call GetMoveName
call CopyName1
diff --git a/engine/learn.asm b/engine/learn.asm
index cafbe6f43..260d50052 100755
--- a/engine/learn.asm
+++ b/engine/learn.asm
@@ -57,7 +57,7 @@ LearnMove: ; 6508
pop hl
.learn
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld [hl], a
ld bc, MON_PP - MON_MOVES
add hl, bc
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index 9f07aa8cd..24af53357 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -100,7 +100,7 @@ Function927af: ; 927af (24:67af)
call Function92844
call Function92b0f
xor a
- ld [wc3b5], a
+ ld [wOAMRetentionSize], a
callab DoNextFrameForFirst16Sprites
call Function927f8
call Function927d3
diff --git a/engine/sprites.asm b/engine/sprites.asm
index 3bcad90b3..912983231 100755
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -23,8 +23,8 @@ PlaySpriteAnimations: ; 8cf69
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 @@ DoNextFrameForAllSprites: ; 8cf7a
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 @@ DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8)
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 @@ endr
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 @@ Function8d04c: ; 8d04c
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 @@ Function8d04c: ; 8d04c
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,32 +288,36 @@ Function8d04c: ; 8d04c
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
and a
ret
-.outofroom
+.reached_the_end
pop bc
scf
ret
@@ -359,18 +369,18 @@ Function8d0de: ; 8d0de
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,22 +430,22 @@ Function8d132: ; 8d132
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]
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 @@ endr
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 @@ endr
; 8d1a2
Function8d1a2: ; 8d1a2
+; Load OAM data pointer
ld e, a
ld d, 0
ld hl, Unknown_8d94d
diff --git a/engine/tmhm.asm b/engine/tmhm.asm
index b66131ac9..dc5d698e1 100755
--- a/engine/tmhm.asm
+++ b/engine/tmhm.asm
@@ -5,7 +5,7 @@ CanLearnTMHMMove: ; 11639
ld hl, BaseTMHM
push hl
- ld a, [wd262]
+ ld a, [wPutativeTMHMMove]
ld b, a
ld c, 0
ld hl, TMHMMoves