aboutsummaryrefslogtreecommitdiffstats
path: root/engine
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2024-10-09 21:56:57 -0500
committerdannye <33dannye@gmail.com>2024-10-09 21:56:57 -0500
commit942c5f13eadb828dbf9dd6f75dfece007b53f353 (patch)
tree0013406b83f352bed3f9b8247e7a73d11a150828 /engine
parentRename off-by-one wram labels (diff)
parentRenamed pokemon-asm-tools to gb-asm-tools (diff)
downloadpokeyellow-942c5f13eadb828dbf9dd6f75dfece007b53f353.tar.gz
pokeyellow-942c5f13eadb828dbf9dd6f75dfece007b53f353.tar.xz
pokeyellow-942c5f13eadb828dbf9dd6f75dfece007b53f353.zip
Merge branch 'master' of https://github.com/pret/pokered
Diffstat (limited to 'engine')
-rw-r--r--engine/movie/oak_speech/init_player_data.asm2
-rw-r--r--engine/movie/trade.asm64
-rw-r--r--engine/overworld/cut.asm11
-rw-r--r--engine/overworld/emotion_bubbles.asm11
-rw-r--r--engine/overworld/npc_movement_2.asm6
5 files changed, 55 insertions, 39 deletions
diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm
index 25b6067d..d393b333 100644
--- a/engine/movie/oak_speech/init_player_data.asm
+++ b/engine/movie/oak_speech/init_player_data.asm
@@ -39,7 +39,7 @@ DEF START_MONEY EQU $3000
ld hl, wObtainedBadges
ld [hli], a
-
+ assert wObtainedBadges + 1 == wUnusedObtainedBadges
ld [hl], a
ld hl, wPlayerCoins
diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm
index 990f1788..be826996 100644
--- a/engine/movie/trade.asm
+++ b/engine/movie/trade.asm
@@ -312,7 +312,7 @@ Trade_AnimateBallEnteringLinkCable:
.moveBallInsideLinkCableLoop
push bc
xor a
- ld de, Trade_BallInsideLinkCableOAM
+ ld de, Trade_BallInsideLinkCableOAMBlock
call WriteOAMBlock
ld a, [wLinkCableAnimBulgeToggle]
xor $1
@@ -348,9 +348,11 @@ Trade_AnimateBallEnteringLinkCable:
ldh [hAutoBGTransferEnabled], a
ret
-Trade_BallInsideLinkCableOAM:
- dbsprite 0, 15, 0, 6, $7e, OAM_HFLIP
- dbsprite 8, 15, 0, 6, $7e, OAM_HFLIP | OAM_VFLIP
+Trade_BallInsideLinkCableOAMBlock:
+ db $7e, 0
+ db $7e, OAM_HFLIP
+ db $7e, OAM_VFLIP
+ db $7e, OAM_HFLIP | OAM_VFLIP
Trade_ShowEnemyMon:
ld a, TRADE_BALL_TILT_ANIM
@@ -620,7 +622,7 @@ Trade_AnimCircledMon:
Trade_WriteCircledMonOAM:
farcall WriteMonPartySpriteOAMBySpecies
- call Trade_WriteCircleOAM
+ call Trade_WriteCircleOAMBlock
Trade_AddOffsetsToOAMCoords:
ld hl, wShadowOAM
@@ -674,11 +676,11 @@ Trade_AnimMonMoveVertical:
jr nz, .loop
ret
-Trade_WriteCircleOAM:
+Trade_WriteCircleOAMBlock:
; Writes the OAM blocks for the circle around the traded mon as it passes
; the link cable.
- ld hl, Trade_CircleOAMPointers
- ld c, $4
+ ld hl, Trade_CircleOAMBlocks
+ ld c, 4
xor a
.loop
push bc
@@ -701,33 +703,41 @@ Trade_WriteCircleOAM:
jr nz, .loop
ret
-MACRO trade_circle_oam
+MACRO trade_circle_oam_block
+ ; oam block pointer, upper-left x coord, upper-left y coord
dw \1
db \2, \3
ENDM
-Trade_CircleOAMPointers:
- ; oam pointer, upper-left x coord, upper-left y coord
- trade_circle_oam Trade_CircleOAM0, $08, $08
- trade_circle_oam Trade_CircleOAM1, $18, $08
- trade_circle_oam Trade_CircleOAM2, $08, $18
- trade_circle_oam Trade_CircleOAM3, $18, $18
+Trade_CircleOAMBlocks:
+ trade_circle_oam_block .OAMBlock0, 8, 8
+ trade_circle_oam_block .OAMBlock1, 24, 8
+ trade_circle_oam_block .OAMBlock2, 8, 24
+ trade_circle_oam_block .OAMBlock3, 24, 24
-Trade_CircleOAM0:
- dbsprite 2, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1
- dbsprite 2, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1
+.OAMBlock0:
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1
-Trade_CircleOAM1:
- dbsprite 6, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP
- dbsprite 6, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP
+.OAMBlock1:
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_HFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_HFLIP
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP
-Trade_CircleOAM2:
- dbsprite 10, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_VFLIP
- dbsprite 10, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_VFLIP
+.OAMBlock2:
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_VFLIP
-Trade_CircleOAM3:
- dbsprite 14, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
- dbsprite 14, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
+.OAMBlock3:
+ db ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
+ db ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP
; a = species
Trade_LoadMonSprite:
diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm
index 8cc76104..d26832ec 100644
--- a/engine/overworld/cut.asm
+++ b/engine/overworld/cut.asm
@@ -120,12 +120,15 @@ LoadCutGrassAnimationTilePattern:
WriteCutOrBoulderDustAnimationOAMBlock:
call GetCutOrBoulderDustAnimationOffsets
ld a, $9
- ld de, CutOrBoulderDustAnimationTilesAndAttributes
+ ld de, .OAMBlock
jp WriteOAMBlock
-CutOrBoulderDustAnimationTilesAndAttributes:
- dbsprite 2, -1, 4, 4, $fd, OAM_OBP1 | OAM_HIGH_PALS
- dbsprite 2, -1, 4, 6, $ff, OAM_OBP1 | OAM_HIGH_PALS
+.OAMBlock:
+; tile ID, attributes
+ db $fc, OAM_OBP1 | OAM_HIGH_PALS
+ db $fd, OAM_OBP1 | OAM_HIGH_PALS
+ db $fe, OAM_OBP1 | OAM_HIGH_PALS
+ db $ff, OAM_OBP1 | OAM_HIGH_PALS
GetCutOrBoulderDustAnimationOffsets:
ld hl, wSpritePlayerStateData1YPixels
diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm
index 61bbc4f5..da9502b0 100644
--- a/engine/overworld/emotion_bubbles.asm
+++ b/engine/overworld/emotion_bubbles.asm
@@ -54,7 +54,7 @@ EmotionBubble:
add $8
ld c, a
- ld de, EmotionBubblesOAM
+ ld de, EmotionBubblesOAMBlock
xor a
call WriteOAMBlock
ld c, 60
@@ -66,9 +66,12 @@ EmotionBubble:
ret
-EmotionBubblesOAM:
- dbsprite 0, -1, 0, 0, $f9, 0
- dbsprite 0, -1, 0, 2, $fb, 0
+EmotionBubblesOAMBlock:
+; tile ID, attributes
+ db $f8, 0
+ db $f9, 0
+ db $fa, 0
+ db $fb, 0
EmotionBubbles:
ShockEmote: INCBIN "gfx/emotes/shock.2bpp"
diff --git a/engine/overworld/npc_movement_2.asm b/engine/overworld/npc_movement_2.asm
index 2ced9da6..bca9bf52 100644
--- a/engine/overworld/npc_movement_2.asm
+++ b/engine/overworld/npc_movement_2.asm
@@ -1,7 +1,7 @@
-FreezeEnemyTrainerSprite::
+SetEnemyTrainerToStayAndFaceAnyDirection::
ld a, [wCurMap]
cp POKEMON_TOWER_7F
- ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them
+ ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't set them
ld hl, RivalIDs
ld a, [wEngagedTrainerClass]
ld b, a
@@ -10,7 +10,7 @@ FreezeEnemyTrainerSprite::
cp -1
jr z, .notRival
cp b
- ret z ; the rival leaves after battling, so don't freeze him
+ ret z ; the rival leaves after battling, so don't set him
jr .loop
.notRival
ld a, [wSpriteIndex]