summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdata/slot_machine_wheels.asm6
-rwxr-xr-xengine/battle/animations.asm68
-rw-r--r--engine/battle/draw_hud_pokeball_gfx.asm16
-rw-r--r--engine/battle/ghost_marowak_anim.asm12
-rwxr-xr-xengine/game_corner_slots.asm8
-rwxr-xr-xengine/intro.asm24
-rwxr-xr-xengine/slot_machine.asm141
-rwxr-xr-xengine/titlescreen2.asm20
-rwxr-xr-xengine/trade.asm16
-rwxr-xr-xwram.asm4
-rwxr-xr-xyellow/main.asm8
11 files changed, 167 insertions, 156 deletions
diff --git a/data/slot_machine_wheels.asm b/data/slot_machine_wheels.asm
index 8f300152..dc9accca 100755
--- a/data/slot_machine_wheels.asm
+++ b/data/slot_machine_wheels.asm
@@ -1,4 +1,4 @@
-SlotMachineWheel1: ; 379e5 (d:79e5)
+SlotMachineWheel1: ; 37c15 (d:7c15)
dw SLOTS7
dw SLOTSMOUSE
dw SLOTSFISH
@@ -18,7 +18,7 @@ SlotMachineWheel1: ; 379e5 (d:79e5)
dw SLOTSMOUSE
dw SLOTSFISH
-SlotMachineWheel2: ; 37a09 (d:7a09)
+SlotMachineWheel2: ; 37c39 (d:7c39)
dw SLOTS7
dw SLOTSFISH
dw SLOTSCHERRY
@@ -38,7 +38,7 @@ SlotMachineWheel2: ; 37a09 (d:7a09)
dw SLOTSFISH
dw SLOTSCHERRY
-SlotMachineWheel3: ; 37a2d (d:7a2d)
+SlotMachineWheel3: ; 37c5d (d:7c5d)
dw SLOTS7
dw SLOTSBIRD
dw SLOTSFISH
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm
index c0d0e000..f2b660f7 100755
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -23,15 +23,15 @@ DrawFrameBlock: ; 78000 (1e:4000)
dec a
jr z,.flipBaseCoords ; 3
.noTransformation
- ld a,[W_BASECOORDY]
+ ld a,[wBaseCoordY]
add [hl]
ld [de],a ; store Y
inc hl
inc de
- ld a,[W_BASECOORDX]
+ ld a,[wBaseCoordX]
jr .finishCopying
.flipBaseCoords
- ld a,[W_BASECOORDY]
+ ld a,[wBaseCoordY]
ld b,a
ld a,136
sub b ; flip Y base coordinate
@@ -39,7 +39,7 @@ DrawFrameBlock: ; 78000 (1e:4000)
ld [de],a ; store Y
inc hl
inc de
- ld a,[W_BASECOORDX]
+ ld a,[wBaseCoordX]
ld b,a
ld a,168
sub b ; flip X base coordinate
@@ -57,7 +57,7 @@ DrawFrameBlock: ; 78000 (1e:4000)
inc de
jp .nextTile
.flipHorizontalAndVertical
- ld a,[W_BASECOORDY]
+ ld a,[wBaseCoordY]
add [hl] ; Y offset
ld b,a
ld a,136
@@ -65,7 +65,7 @@ DrawFrameBlock: ; 78000 (1e:4000)
ld [de],a ; store Y
inc hl
inc de
- ld a,[W_BASECOORDX]
+ ld a,[wBaseCoordX]
add [hl] ; X offset
ld b,a
ld a,168
@@ -95,13 +95,13 @@ DrawFrameBlock: ; 78000 (1e:4000)
inc de
jp .nextTile
.flipHorizontalTranslateDown
- ld a,[W_BASECOORDY]
+ ld a,[wBaseCoordY]
add [hl]
add a,40 ; translate Y coordinate downwards
ld [de],a ; store Y
inc hl
inc de
- ld a,[W_BASECOORDX]
+ ld a,[wBaseCoordX]
add [hl]
ld b,a
ld a,168
@@ -577,9 +577,9 @@ PlaySubanimation: ; 78e53 (1e:4e53)
add hl,de
add hl,de
ld a,[hli]
- ld [W_BASECOORDY],a
+ ld [wBaseCoordY],a
ld a,[hl]
- ld [W_BASECOORDX],a
+ ld [wBaseCoordX],a
pop hl
inc hl
ld a,[hl] ; frame block mode
@@ -1235,17 +1235,17 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
call LoadAnimationTileset
ld d, 32
ld a, -16
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, $71
ld [wDropletTile], a
.loop
ld a, 16
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, 0
ld [wUnusedD08A], a
call _AnimationWaterDroplets
ld a, 24
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, 32
ld [wUnusedD08A], a
call _AnimationWaterDroplets
@@ -1256,24 +1256,24 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
_AnimationWaterDroplets: ; 79246 (1e:5246)
ld hl, wOAMBuffer
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld [hli], a ; Y
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add 27
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld [hli], a ; X
ld a, [wDropletTile]
ld [hli], a ; tile
xor a
ld [hli], a ; attribute
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
cp 144
jr c, .loop
sub 168
- ld [W_BASECOORDX], a
- ld a, [W_BASECOORDY]
+ ld [wBaseCoordX], a
+ ld a, [wBaseCoordY]
add 16
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
cp 112
jr c, .loop
call AnimationCleanOAM
@@ -1379,14 +1379,14 @@ ShakeEnemyHUD_WritePlayerMonPicOAM: ; 792fd (1e:52fd)
; Writes the OAM entries for a copy of the player mon's pic in OAM.
; The top 5 rows are reproduced in OAM, although only 2 are actually needed.
ld a, $10
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, $30
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld hl, wOAMBuffer
ld d, 0
ld c, 7
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld e, a
ld b, 5
.innerLoop
@@ -1398,21 +1398,21 @@ ShakeEnemyHUD_WritePlayerMonPicOAM: ; 792fd (1e:52fd)
ret z
inc d
inc d
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add 8
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
jr .loop
BattleAnimWriteOAMEntry: ; 79329 (1e:5329)
; Y coordinate = e (increased by 8 each call, before the write to OAM)
-; X coordinate = [W_BASECOORDX]
+; X coordinate = [wBaseCoordX]
; tile = d
; attributes = 0
ld a, e
add 8
ld e, a
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld [hli], a
ld a, d
ld [hli], a
@@ -1741,9 +1741,9 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
lb bc, 6 * 8, 5 * 8
.next
ld a, b
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, c
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
lb bc, 5, 1
call _AnimationShootBallsUpward
jp AnimationCleanOAM
@@ -1757,7 +1757,7 @@ _AnimationShootBallsUpward: ; 79517 (1e:5517)
ld d, $7a ; ball tile
ld hl, wOAMBuffer
push bc
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld e, a
.initOAMLoop
call BattleAnimWriteOAMEntry
@@ -1771,7 +1771,7 @@ _AnimationShootBallsUpward: ; 79517 (1e:5517)
push bc
ld hl, wOAMBuffer
.innerLoop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
add 8
ld e, a
ld a, [hl]
@@ -1811,11 +1811,11 @@ AnimationShootManyBallsUpward: ; 79566 (1e:5566)
ld [wSavedY], a
.loop
ld a, [wSavedY]
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, [hli]
cp $ff
jp z, AnimationCleanOAM
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
lb bc, 4, 1
push hl
call _AnimationShootBallsUpward
@@ -2188,7 +2188,7 @@ InitMultipleObjectsOAM: ; 797e8 (1e:57e8)
pop bc
xor a
ld e, a
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld hl, wOAMBuffer
.loop
call BattleAnimWriteOAMEntry
diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm
index cc0219eb..8cfd30af 100644
--- a/engine/battle/draw_hud_pokeball_gfx.asm
+++ b/engine/battle/draw_hud_pokeball_gfx.asm
@@ -22,7 +22,7 @@ SetupOwnPartyPokeballs: ; 3a869 (e:6869)
ld de, wPartyCount
call SetupPokeballs
ld a, $60
- ld hl, W_BASECOORDX
+ ld hl, wBaseCoordX
ld [hli], a
ld [hl], a
ld a, 8
@@ -35,7 +35,7 @@ SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
ld hl, wEnemyMons
ld de, wEnemyPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX
+ ld hl, wBaseCoordX
ld a, $48
ld [hli], a
ld [hl], $20
@@ -98,19 +98,19 @@ WritePokeballOAMData: ; 3a8e1 (e:68e1)
ld de, wBuffer
ld c, PARTY_LENGTH
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld [hli], a
ld a, [de]
ld [hli], a
xor a
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld b, a
ld a, [wHUDPokeballGfxOffsetX]
add b
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
inc de
dec c
jr nz, .loop
@@ -168,7 +168,7 @@ SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
ld hl, wPartyMons
ld de, wPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX
+ ld hl, wBaseCoordX
ld a, $50
ld [hli], a
ld [hl], $40
@@ -179,7 +179,7 @@ SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
ld hl, wEnemyMons
ld de, wEnemyPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX
+ ld hl, wBaseCoordX
ld a, $50
ld [hli], a
ld [hl], $68
diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm
index 67ed3247..d61e5fec 100644
--- a/engine/battle/ghost_marowak_anim.asm
+++ b/engine/battle/ghost_marowak_anim.asm
@@ -58,22 +58,22 @@ CopyMonPicFromBGToSpriteVRAM: ; 70994 (1c:4994)
ld bc, 7 * 7
call CopyVideoData
ld a, $10
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, $70
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld hl, wOAMBuffer
lb bc, 6, 6
ld d, $8
.oamLoop
push bc
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld e, a
.oamInnerLoop
ld a, e
add $8
ld e, a
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld [hli], a
ld a, d
ld [hli], a
@@ -83,9 +83,9 @@ CopyMonPicFromBGToSpriteVRAM: ; 70994 (1c:4994)
dec c
jr nz, .oamInnerLoop
inc d
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add $8
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
pop bc
dec b
jr nz, .oamLoop
diff --git a/engine/game_corner_slots.asm b/engine/game_corner_slots.asm
index ff17d4d3..2e9ab4fb 100755
--- a/engine/game_corner_slots.asm
+++ b/engine/game_corner_slots.asm
@@ -1,4 +1,4 @@
-StartSlotMachine: ; 37e2d (d:7e2d)
+StartSlotMachine: ; 37ed1 (d:7ed1)
ld a, [wHiddenObjectFunctionArgument]
cp $fd
jr z, .printOutOfOrder
@@ -41,14 +41,14 @@ StartSlotMachine: ; 37e2d (d:7e2d)
call PrintPredefTextID
ret
-GameCornerOutOfOrderText: ; 37e79 (d:7e79)
+GameCornerOutOfOrderText: ; 37f1d (d:7f1d)
TX_FAR _GameCornerOutOfOrderText
db "@"
-GameCornerOutToLunchText: ; 37e7e (d:7e7e)
+GameCornerOutToLunchText: ; 37f22 (d:7f22)
TX_FAR _GameCornerOutToLunchText
db "@"
-GameCornerSomeonesKeysText: ; 37e83 (d:7e83)
+GameCornerSomeonesKeysText: ; 37f27 (d:7f27)
TX_FAR _GameCornerSomeonesKeysText
db "@"
diff --git a/engine/intro.asm b/engine/intro.asm
index bc795d5d..d4db9c93 100755
--- a/engine/intro.asm
+++ b/engine/intro.asm
@@ -29,9 +29,9 @@ PlayIntroScene: ; 4169d (10:569d)
ld b, $3 ; Gengar tiles
call IntroCopyTiles
ld a, 0
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, 80
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
lb bc, 6, 6
call InitIntroNidorinoOAM
lb de, 80 / 2, MOVE_NIDORINO_RIGHT
@@ -141,10 +141,10 @@ AnimateIntroNidorino: ; 41793 (10:5793)
ld a, [de]
cp $50
ret z
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
inc de
ld a, [de]
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
push de
ld c, 6 * 6
call UpdateIntroNidorinoOAM
@@ -159,10 +159,10 @@ UpdateIntroNidorinoOAM: ; 417ae (10:57ae)
ld a, [wIntroNidorinoBaseTile]
ld d, a
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
add [hl]
ld [hli], a ; Y
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add [hl]
ld [hli], a ; X
ld a, d
@@ -178,14 +178,14 @@ InitIntroNidorinoOAM: ; 417c7 (10:57c7)
ld d, 0
.loop
push bc
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld e, a
.innerLoop
ld a, e
add 8
ld e, a
ld [hli], a ; Y
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld [hli], a ; X
ld a, d
ld [hli], a ; tile
@@ -194,9 +194,9 @@ InitIntroNidorinoOAM: ; 417c7 (10:57c7)
inc d
dec c
jr nz, .innerLoop
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add 8
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
pop bc
dec b
jr nz, .loop
@@ -245,9 +245,9 @@ IntroMoveMon: ; 4180e (10:580e)
.moveNidorinoRight
push de
ld a, 2
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
xor a
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld c, 6 * 6
call UpdateIntroNidorinoOAM
pop de
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index f6b7c029..35f3a133 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -1,4 +1,4 @@
-PromptUserToPlaySlots: ; 3730e (d:730e)
+PromptUserToPlaySlots: ; 37530 (d:7530)
call SaveScreenTilesToBuffer2
ld a, BANK(DisplayTextIDInit)
ld [wAutoTextBoxDrawingControl], a
@@ -23,9 +23,11 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
call LoadFontTilePatterns
ld b, SET_PAL_SLOTS
call RunPaletteCommand
+ call Delay3
call GBPalNormal
ld a, $e4
ld [rOBP0], a
+ call UpdateGBCPal_OBP0
ld hl, wd730
set 6, [hl]
xor a
@@ -52,11 +54,11 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
push af
jp CloseTextDisplay
-PlaySlotMachineText: ; 37390 (d:7390)
+PlaySlotMachineText: ; 375b8 (d:75b8)
TX_FAR _PlaySlotMachineText
db "@"
-MainSlotMachineLoop: ; 37395 (d:7395)
+MainSlotMachineLoop: ; 375bd (d:75bd)
call SlotMachine_PrintCreditCoins
xor a
ld hl, wPayoutCoins
@@ -80,8 +82,7 @@ MainSlotMachineLoop: ; 37395 (d:7395)
ld [wLastMenuItem], a
ld [wMenuWatchMovingOutOfBounds], a
coord hl, 14, 11
- ld b, 5
- ld c, 4
+ lb bc, 5, 4
call TextBoxBorder
coord hl, 16, 12
ld de, CoinMultiplierSlotMachineText
@@ -146,32 +147,32 @@ MainSlotMachineLoop: ; 37395 (d:7395)
call SlotMachine_PutOutLitBalls
jp MainSlotMachineLoop
-CoinMultiplierSlotMachineText: ; 3745e (d:745e)
+CoinMultiplierSlotMachineText: ; 37685 (d:7685)
db "×3"
next "×2"
next "×1@"
-OutOfCoinsSlotMachineText: ; 37467 (d:7467)
+OutOfCoinsSlotMachineText: ; 3768e (d:768e)
TX_FAR _OutOfCoinsSlotMachineText
db "@"
-BetHowManySlotMachineText: ; 3746c (d:746c)
+BetHowManySlotMachineText: ; 37693 (d:7693)
TX_FAR _BetHowManySlotMachineText
db "@"
-StartSlotMachineText: ; 37471 (d:7471)
+StartSlotMachineText: ; 37698 (d:7698)
TX_FAR _StartSlotMachineText
db "@"
-NotEnoughCoinsSlotMachineText: ; 37476 (d:7476)
+NotEnoughCoinsSlotMachineText: ; 3769d (d:769d)
TX_FAR _NotEnoughCoinsSlotMachineText
db "@"
-OneMoreGoSlotMachineText: ; 3747b (d:747b)
+OneMoreGoSlotMachineText: ; 376a2 (d:76a2)
TX_FAR _OneMoreGoSlotMachineText
db "@"
-SlotMachine_SetFlags: ; 37480 (d:7480)
+SlotMachine_SetFlags: ; 376a7 (d:76a7)
ld hl, wSlotMachineFlags
bit 7, [hl]
ret nz
@@ -201,7 +202,7 @@ SlotMachine_SetFlags: ; 37480 (d:7480)
set 7, [hl]
ret
-SlotMachine_SpinWheels: ; 374ad (d:74ad)
+SlotMachine_SpinWheels: ; 376d4 (d:76d4)
ld c, 20
.loop1
push bc
@@ -233,7 +234,7 @@ SlotMachine_SpinWheels: ; 374ad (d:74ad)
; visible. The 3 functions below ensure this by checking if the wheel offset
; is even before stopping the wheel.
-SlotMachine_StopOrAnimWheel1: ; 374df (d:74df)
+SlotMachine_StopOrAnimWheel1: ; 37706 (d:7706)
ld a, [wStoppingWhichSlotMachineWheel]
cp 1
jr c, .animWheel
@@ -251,7 +252,7 @@ SlotMachine_StopOrAnimWheel1: ; 374df (d:74df)
.animWheel
jp SlotMachine_AnimWheel1
-SlotMachine_StopOrAnimWheel2: ; 374fb (d:74fb)
+SlotMachine_StopOrAnimWheel2: ; 37722 (d:7722)
ld a, [wStoppingWhichSlotMachineWheel]
cp 2
jr c, .animWheel
@@ -269,7 +270,7 @@ SlotMachine_StopOrAnimWheel2: ; 374fb (d:74fb)
.animWheel
jp SlotMachine_AnimWheel2
-SlotMachine_StopOrAnimWheel3: ; 37517 (d:7517)
+SlotMachine_StopOrAnimWheel3: ; 3773e (d:773e)
ld a, [wStoppingWhichSlotMachineWheel]
cp 3
jr c, .animWheel
@@ -285,7 +286,7 @@ SlotMachine_StopOrAnimWheel3: ; 37517 (d:7517)
and a
ret
-SlotMachine_StopWheel1Early: ; 3752c (d:752c)
+SlotMachine_StopWheel1Early: ; 37753 (d:7753)
call SlotMachine_GetWheel1Tiles
ld hl, wSlotMachineWheel1BottomTile
ld a, [wSlotMachineFlags]
@@ -314,7 +315,7 @@ SlotMachine_StopWheel1Early: ; 3752c (d:752c)
ld [hl], 0
ret
-SlotMachine_StopWheel2Early: ; 37552 (d:7552)
+SlotMachine_StopWheel2Early: ; 37779 (d:7779)
call SlotMachine_GetWheel2Tiles
ld a, [wSlotMachineFlags]
and $80
@@ -337,7 +338,7 @@ SlotMachine_StopWheel2Early: ; 37552 (d:7552)
ld [wSlotMachineWheel2SlipCounter], a
ret
-SlotMachine_FindWheel1Wheel2Matches: ; 3756e (d:756e)
+SlotMachine_FindWheel1Wheel2Matches: ; 37795 (d:7795)
; return whether wheel 1 and wheel 2's current positions allow a match (given
; that wheel 3 stops in a good position) in Z
ld hl, wSlotMachineWheel1BottomTile
@@ -363,7 +364,7 @@ SlotMachine_FindWheel1Wheel2Matches: ; 3756e (d:756e)
dec de
ret
-SlotMachine_CheckForMatches: ; 37588 (d:7588)
+SlotMachine_CheckForMatches: ; 377af (d:77af)
call SlotMachine_GetWheel3Tiles
ld a, [wSlotMachineBet]
cp 2
@@ -457,6 +458,7 @@ SlotMachine_CheckForMatches: ; 37588 (d:7588)
ld a, [rBGP]
xor $40
ld [rBGP], a
+ call UpdateGBCPal_BGP
ld c, 5
call DelayFrames
dec b
@@ -473,9 +475,10 @@ SlotMachine_CheckForMatches: ; 37588 (d:7588)
call SlotMachine_PrintPayoutCoins
ld a, $e4
ld [rOBP0], a
+ call UpdateGBCPal_OBP0
jp .done
-SymbolLinedUpSlotMachineText: ; 37665 (d:7665)
+SymbolLinedUpSlotMachineText: ; 37892 (d:7892)
TX_ASM
push bc
call SlotMachine_PrintWinningSymbol
@@ -487,11 +490,11 @@ SymbolLinedUpSlotMachineText: ; 37665 (d:7665)
inc bc
ret
-LinedUpText: ; 37673 (d:7673)
+LinedUpText: ; 378a0 (d:78a0)
TX_FAR _LinedUpText
db "@"
-SlotRewardPointers: ; 37678 (d:7678)
+SlotRewardPointers: ; 378a5 (d:78a5)
dw SlotReward300Func
dw SlotReward300Text
dw SlotReward100Func
@@ -505,24 +508,24 @@ SlotRewardPointers: ; 37678 (d:7678)
dw SlotReward15Func
dw SlotReward15Text
-SlotReward300Text: ; 37690 (d:7690)
+SlotReward300Text: ; 378bd (d:78bd)
db "300@"
-SlotReward100Text: ; 37694 (d:7694)
+SlotReward100Text: ; 378c1 (d:78c1)
db "100@"
-SlotReward8Text: ; 37698 (d:7698)
+SlotReward8Text: ; 378c5 (d:78c5)
db "8@"
-SlotReward15Text: ; 3769a (d:769a)
+SlotReward15Text: ; 378c7 (d:78c7)
db "15@"
-NotThisTimeText: ; 3769d (d:769d)
+NotThisTimeText: ; 378ca (d:78ca)
TX_FAR _NotThisTimeText
db "@"
; compares the slot machine tiles at bc, de, and hl
-SlotMachine_CheckForMatch: ; 376a2 (d:76a2)
+SlotMachine_CheckForMatch: ; 378cf (d:78cf)
ld a, [de]
cp [hl]
ret nz
@@ -530,24 +533,24 @@ SlotMachine_CheckForMatch: ; 376a2 (d:76a2)
cp [hl]
ret
-SlotMachine_GetWheel3Tiles: ; 376a8 (d:76a8)
+SlotMachine_GetWheel3Tiles: ; 378d5 (d:78d5)
ld de, wSlotMachineWheel3BottomTile
ld hl, SlotMachineWheel3
ld a, [wSlotMachineWheel3Offset]
call SlotMachine_GetWheelTiles
-SlotMachine_GetWheel2Tiles: ; 376b4 (d:76b4)
+SlotMachine_GetWheel2Tiles: ; 378e1 (d:78e1)
ld de, wSlotMachineWheel2BottomTile
ld hl, SlotMachineWheel2
ld a, [wSlotMachineWheel2Offset]
call SlotMachine_GetWheelTiles
-SlotMachine_GetWheel1Tiles: ; 376c0 (d:76c0)
+SlotMachine_GetWheel1Tiles: ; 378ed (d:78ed)
ld de, wSlotMachineWheel1BottomTile
ld hl, SlotMachineWheel1
ld a, [wSlotMachineWheel1Offset]
-SlotMachine_GetWheelTiles: ; 376c9 (d:76c9)
+SlotMachine_GetWheelTiles: ; 378f6 (d:78f6)
ld c, a
ld b, 0
add hl, bc
@@ -561,7 +564,7 @@ SlotMachine_GetWheelTiles: ; 376c9 (d:76c9)
jr nz, .loop
ret
-SlotReward8Func: ; 376d7 (d:76d7)
+SlotReward8Func: ; 37904 (d:7904)
ld hl, wSlotMachineAllowMatchesCounter
ld a, [hl]
and a
@@ -572,7 +575,7 @@ SlotReward8Func: ; 376d7 (d:76d7)
ld de, 8
ret
-SlotReward15Func: ; 376e5 (d:76e5)
+SlotReward15Func: ; 37912 (d:7912)
ld hl, wSlotMachineAllowMatchesCounter
ld a, [hl]
and a
@@ -583,7 +586,7 @@ SlotReward15Func: ; 376e5 (d:76e5)
ld de, 15
ret
-SlotReward100Func: ; 376f3 (d:76f3)
+SlotReward100Func: ; 37920 (d:7920)
ld a, SFX_GET_KEY_ITEM
call PlaySound
xor a
@@ -592,7 +595,7 @@ SlotReward100Func: ; 376f3 (d:76f3)
ld de, 100
ret
-SlotReward300Func: ; 37702 (d:7702)
+SlotReward300Func: ; 3792f (d:792f)
ld hl, YeahText
call PrintText
ld a, SFX_GET_ITEM_2
@@ -608,11 +611,11 @@ SlotReward300Func: ; 37702 (d:7702)
ld de, 300
ret
-YeahText: ; 37722 (d:7722)
+YeahText: ; 3794f (d:794f)
TX_FAR _YeahText
db $0a, "@"
-SlotMachine_PrintWinningSymbol: ; 37728 (d:7728)
+SlotMachine_PrintWinningSymbol: ; 37955 (d:7955)
; prints winning symbol and down arrow in text box
coord hl, 2, 14
ld a, [wSlotMachineWinningSymbol]
@@ -630,7 +633,7 @@ SlotMachine_PrintWinningSymbol: ; 37728 (d:7728)
ld [hl], $ee ; down arrow
ret
-SlotMachine_SubtractBetFromPlayerCoins: ; 37741 (d:7741)
+SlotMachine_SubtractBetFromPlayerCoins: ; 3796e (d:796e)
ld hl, wTempCoins2 + 1
ld a, [wSlotMachineBet]
ld [hld], a
@@ -640,19 +643,19 @@ SlotMachine_SubtractBetFromPlayerCoins: ; 37741 (d:7741)
ld c, $2
predef SubBCDPredef
-SlotMachine_PrintCreditCoins: ; 37754 (d:7754)
+SlotMachine_PrintCreditCoins: ; 37981 (d:7981)
coord hl, 5, 1
ld de, wPlayerCoins
ld c, $2
jp PrintBCDNumber
-SlotMachine_PrintPayoutCoins: ; 3775f (d:775f)
+SlotMachine_PrintPayoutCoins: ; 3798c (d:798c)
coord hl, 11, 1
ld de, wPayoutCoins
lb bc, LEADING_ZEROES | 2, 4 ; 2 bytes, 4 digits
jp PrintNumber
-SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b)
+SlotMachine_PayCoinsToPlayer: ; 37998 (d:7998)
ld a, $1
ld [wMuteAudioAndPauseMusic], a
call WaitForSoundToFinish
@@ -697,6 +700,7 @@ SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b)
ld a, [rOBP0]
xor $40 ; make the slot wheel symbols flash
ld [rOBP0], a
+ call UpdateGBCPal_OBP0
ld a, 5
.skip1
ld [wAnimCounter], a
@@ -709,12 +713,12 @@ SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b)
call DelayFrames
jr .loop
-SlotMachine_PutOutLitBalls: ; 377ce (d:77ce)
+SlotMachine_PutOutLitBalls: ; 379fe (d:79fe)
ld a, $23
ld [wNewSlotMachineBallTile], a
jr SlotMachine_UpdateThreeCoinBallTiles
-SlotMachine_LightBalls: ; 377d5 (d:77d5)
+SlotMachine_LightBalls: ; 37a05 (d:7a05)
ld a, $14
ld [wNewSlotMachineBallTile], a
ld a, [wSlotMachineBet]
@@ -723,22 +727,22 @@ SlotMachine_LightBalls: ; 377d5 (d:77d5)
dec a
jr z, SlotMachine_UpdateTwoCoinBallTiles
-SlotMachine_UpdateThreeCoinBallTiles: ; 377e3 (d:77e3)
+SlotMachine_UpdateThreeCoinBallTiles: ; 37a13 (d:7a13)
coord hl, 3, 2
call SlotMachine_UpdateBallTiles
coord hl, 3, 10
call SlotMachine_UpdateBallTiles
-SlotMachine_UpdateTwoCoinBallTiles: ; 377ef (d:77ef)
+SlotMachine_UpdateTwoCoinBallTiles: ; 37a1f (d:7a1f)
coord hl, 3, 4
call SlotMachine_UpdateBallTiles
coord hl, 3, 8
call SlotMachine_UpdateBallTiles
-SlotMachine_UpdateOneCoinBallTiles: ; 377fb (d:77fb)
+SlotMachine_UpdateOneCoinBallTiles: ; 37a2b (d:7a2b)
coord hl, 3, 6
-SlotMachine_UpdateBallTiles: ; 377fe (d:77fe)
+SlotMachine_UpdateBallTiles: ; 37a2e (d:7a2e)
ld a, [wNewSlotMachineBallTile]
ld [hl], a
ld bc, 13
@@ -753,32 +757,32 @@ SlotMachine_UpdateBallTiles: ; 377fe (d:77fe)
ld [hl], a
ret
-SlotMachine_AnimWheel1: ; 37813 (d:7813)
+SlotMachine_AnimWheel1: ; 37a43 (d:7a43)
ld bc, SlotMachineWheel1
ld de, wSlotMachineWheel1Offset
ld hl, wOAMBuffer
ld a, $30
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
jr SlotMachine_AnimWheel
-SlotMachine_AnimWheel2: ; 37823 (d:7823)
+SlotMachine_AnimWheel2: ; 37a53 (d:7a53)
ld bc, SlotMachineWheel2
ld de, wSlotMachineWheel2Offset
ld hl, wOAMBuffer + $30
ld a, $50
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
jr SlotMachine_AnimWheel
-SlotMachine_AnimWheel3: ; 37833 (d:7833)
+SlotMachine_AnimWheel3: ; 37a63 (d:7a63)
ld bc, SlotMachineWheel3
ld de, wSlotMachineWheel3Offset
ld hl, wOAMBuffer + $60
ld a, $70
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
-SlotMachine_AnimWheel: ; 37841 (d:7841)
+SlotMachine_AnimWheel: ; 37a71 (d:7a71)
ld a, $58
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
push de
ld a, [de]
ld d, b
@@ -787,17 +791,17 @@ SlotMachine_AnimWheel: ; 37841 (d:7841)
jr nc, .loop
inc d
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
ld [hli], a
ld a, [de]
ld [hli], a
ld a, $80
ld [hli], a
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add $8
ld [hli], a
ld a, [de]
@@ -806,9 +810,9 @@ SlotMachine_AnimWheel: ; 37841 (d:7841)
ld a, $80
ld [hli], a
inc de
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
sub $8
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
cp $28
jr nz, .loop
pop de
@@ -821,7 +825,7 @@ SlotMachine_AnimWheel: ; 37841 (d:7841)
ld [de], a
ret
-SlotMachine_HandleInputWhileWheelsSpin: ; 37882 (d:7882)
+SlotMachine_HandleInputWhileWheelsSpin: ; 37ab2 (d:7ab2)
call DelayFrame
call JoypadLowSensitivity
ld a, [hJoy5]
@@ -845,7 +849,7 @@ SlotMachine_HandleInputWhileWheelsSpin: ; 37882 (d:7882)
ret nz
jr .loop
-LoadSlotMachineTiles: ; 378a8 (d:78a8)
+LoadSlotMachineTiles: ; 37ad8 (d:7ad8)
call DisableLCD
ld hl, SlotMachineTiles2
ld de, vChars0
@@ -864,7 +868,7 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8)
call FarCopyData
ld hl, SlotMachineMap
coord de, 0, 0
- ld bc, $00f0
+ ld bc, SlotMachineMapEnd - SlotMachineMap
call CopyData
call EnableLCD
ld hl, wSlotMachineWheel1Offset
@@ -876,10 +880,11 @@ LoadSlotMachineTiles: ; 378a8 (d:78a8)
call SlotMachine_AnimWheel2
jp SlotMachine_AnimWheel3
-SlotMachineMap: ; 378f5 (d:78f5)
+SlotMachineMap: ; 37b25 (d:7b25)
INCBIN "gfx/tilemaps/slotmachine.map"
+SlotMachineMapEnd:
INCLUDE "data/slot_machine_wheels.asm"
-SlotMachineTiles1: ; 37a51 (d:7a51)
+SlotMachineTiles1: ; 37c81 (d:7c81)
INCBIN "gfx/slotmachine1.2bpp"
diff --git a/engine/titlescreen2.asm b/engine/titlescreen2.asm
index c0853a0d..dec37da2 100755
--- a/engine/titlescreen2.asm
+++ b/engine/titlescreen2.asm
@@ -1,22 +1,24 @@
-TitleScroll_WaitBall: ; 37244 (d:7244)
+; Leftover of Red/Blue. Seemingly unused
+
+TitleScroll_WaitBall: ; 3749e (d:749e)
; Wait around for the TitleBall animation to play out.
; hi: speed
; lo: duration
db $05, $05, 0
-TitleScroll_In: ; 37247 (d:7247)
+TitleScroll_In: ; 374a1 (d:74a1)
; Scroll a TitleMon in from the right.
; hi: speed
; lo: duration
db $a2, $94, $84, $63, $52, $31, $11, 0
-TitleScroll_Out: ; 3724f (d:724f)
+TitleScroll_Out: ; 374a9 (d:74a9)
; Scroll a TitleMon out to the left.
; hi: speed
; lo: duration
db $12, $22, $32, $42, $52, $62, $83, $93, 0
-TitleScroll: ; 37258 (d:7258)
+TitleScroll: ; 374b2 (d:74b2)
ld a, d
ld bc, TitleScroll_In
@@ -31,7 +33,7 @@ TitleScroll: ; 37258 (d:7258)
ld e, 0 ; don't animate titleball
.ok
-_TitleScroll: ; 3726a (d:726a)
+_TitleScroll: ; 374c4 (d:74c4)
ld a, [bc]
and a
ret z
@@ -67,7 +69,7 @@ _TitleScroll: ; 3726a (d:726a)
pop bc
jr _TitleScroll
-.ScrollBetween ; 37292 (d:7292)
+.ScrollBetween ; 374ec (d:74ec)
.wait
ld a, [rLY] ; rLY
cp l
@@ -82,12 +84,12 @@ _TitleScroll: ; 3726a (d:726a)
jr z, .wait2
ret
-TitleBallYTable: ; 372a0 (d:72a0)
+TitleBallYTable: ; 374fa (d:74fa)
; OBJ y-positions for the Poke Ball held by Red in the title screen.
; This is really two 0-terminated lists. Initiated with an index of 1.
db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0
-TitleScreenAnimateBallIfStarterOut: ; 372ac (d:72ac)
+TitleScreenAnimateBallIfStarterOut: ; 37506 (d:7506)
; Animate the TitleBall if a starter just got scrolled out.
ld a, [wTitleMonSpecies]
cp STARTER1
@@ -102,7 +104,7 @@ TitleScreenAnimateBallIfStarterOut: ; 372ac (d:72ac)
ld d, 0
jp _TitleScroll
-GetTitleBallY: ; 372c4 (d:72c4)
+GetTitleBallY: ; 3751e (d:751e)
; Get position e from TitleBallYTable
push de
push hl
diff --git a/engine/trade.asm b/engine/trade.asm
index 8887877b..2638835b 100755
--- a/engine/trade.asm
+++ b/engine/trade.asm
@@ -383,9 +383,9 @@ Trade_AnimLeftToRight: ; 41376 (10:5376)
ld a, $e4
ld [rOBP0], a
ld a, $54
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, $1c
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, [wLeftGBMonSpecies]
ld [wMonPartySpriteSpecies], a
call Trade_WriteCircledMonOAM
@@ -415,9 +415,9 @@ Trade_AnimRightToLeft: ; 413c6 (10:53c6)
xor a
ld [wTradedMonMovingRight], a
ld a, $64
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, $44
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld a, [wRightGBMonSpecies]
ld [wMonPartySpriteSpecies], a
call Trade_WriteCircledMonOAM
@@ -622,10 +622,10 @@ Trade_AddOffsetsToOAMCoords: ; 41510 (10:5510)
ld hl, wOAMBuffer
ld c, $14
.loop
- ld a, [W_BASECOORDY]
+ ld a, [wBaseCoordY]
add [hl]
ld [hli], a
- ld a, [W_BASECOORDX]
+ ld a, [wBaseCoordX]
add [hl]
ld [hli], a
inc hl
@@ -657,9 +657,9 @@ Trade_AnimMonMoveVertical: ; 41525 (10:5525)
lb bc, -4, 0 ; move left
.doAnim
ld a, b
- ld [W_BASECOORDX], a
+ ld [wBaseCoordX], a
ld a, c
- ld [W_BASECOORDY], a
+ ld [wBaseCoordY], a
ld d, $4
.loop
call Trade_AddOffsetsToOAMCoords
diff --git a/wram.asm b/wram.asm
index 74ca6a5d..b203bcb2 100755
--- a/wram.asm
+++ b/wram.asm
@@ -1767,9 +1767,9 @@ wSavedListScrollOffset:: ; d07e
ds 2
; base coordinates of frame block
-W_BASECOORDX:: ; d081
+wBaseCoordX:: ; d081
ds 1
-W_BASECOORDY:: ; d082
+wBaseCoordY:: ; d082
ds 1
; low health alarm counter/enable
diff --git a/yellow/main.asm b/yellow/main.asm
index 24b6250f..a8279d91 100755
--- a/yellow/main.asm
+++ b/yellow/main.asm
@@ -3997,7 +3997,9 @@ WeepinbellPicBack: INCBIN "pic/monback/weepinbellb.pic"
VictreebelPicFront: INCBIN "pic/ymon/victreebel.pic"
VictreebelPicBack: INCBIN "pic/monback/victreebelb.pic"
- dr $3749e,$38000
+INCLUDE "engine/titlescreen2.asm"
+INCLUDE "engine/slot_machine.asm"
+INCLUDE "engine/game_corner_slots.asm"
SECTION "bank0E",ROMX,BANK[$0E]
@@ -4306,7 +4308,9 @@ SECTION "bank1E",ROMX,BANK[$1E]
dr $78000,$78757
AnimationTileset2: ; 78757 (1e:4757)
- dr $78757,$797af
+ dr $78757,$78c17
+SlotMachineTiles2: ; 78c17 (1e:4c17)
+ dr $78c17,$797af
AnimationSubstitute: ; 797af (1e:57af)
dr $797af,$79816
HideSubstituteShowMonAnim: ; 79816 (1e:5816)