summaryrefslogtreecommitdiff
path: root/engine/menu/vending_machine.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/menu/vending_machine.asm')
-rwxr-xr-xengine/menu/vending_machine.asm93
1 files changed, 49 insertions, 44 deletions
diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm
index 88cfcf65..aab4adf4 100755
--- a/engine/menu/vending_machine.asm
+++ b/engine/menu/vending_machine.asm
@@ -1,4 +1,4 @@
-VendingMachineMenu: ; 74ee0 (1d:4ee0)
+VendingMachineMenu:
ld hl, VendingMachineText1
call PrintText
ld a, MONEY_BOX
@@ -7,65 +7,66 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
- ld a, $3
+ ld a, A_BUTTON | B_BUTTON
ld [wMenuWatchedKeys], a
- ld a, $3
+ ld a, 3
ld [wMaxMenuItem], a
- ld a, $5
+ ld a, 5
ld [wTopMenuItemY], a
- ld a, $1
+ ld a, 1
ld [wTopMenuItemX], a
ld hl, wd730
set 6, [hl]
- hlCoord 0, 3
- ld b, $8
- ld c, $c
+ coord hl, 0, 3
+ ld b, 8
+ ld c, 12
call TextBoxBorder
call UpdateSprites
- hlCoord 2, 5
+ coord hl, 2, 5
ld de, DrinkText
call PlaceString
- hlCoord 9, 6
+ coord hl, 9, 6
ld de, DrinkPriceText
call PlaceString
ld hl, wd730
res 6, [hl]
call HandleMenuInput
- bit 1, a
- jr nz, .asm_74f93
+ bit 1, a ; pressed B?
+ jr nz, .notThirsty
ld a, [wCurrentMenuItem]
- cp $3
- jr z, .asm_74f93
+ cp 3 ; chose Cancel?
+ jr z, .notThirsty
xor a
- ld [$ff9f], a
- ld [$ffa1], a
+ ld [hMoney], a
+ ld [hMoney + 2], a
ld a, $2
- ld [$ffa0], a
+ ld [hMoney + 1], a
call HasEnoughMoney
jr nc, .enoughMoney
ld hl, VendingMachineText4
jp PrintText
.enoughMoney
- call Func_74fe7
- ld a, [$ffdb]
+ call LoadVendingMachineItem
+ ld a, [hVendingMachineItem]
ld b, a
ld c, 1
call GiveItem
jr nc, .BagFull
- ld b, $3c ; number of times to play the "brrrrr" sound
-.playDeliverySound ; 0x74f63
- ld c, $2
+
+ ld b, 60 ; number of times to play the "brrrrr" sound
+.playDeliverySound
+ ld c, 2
call DelayFrames
push bc
- ld a, (SFX_02_53 - SFX_Headers_02) / 3
+ ld a, SFX_PUSH_BOULDER
call PlaySound
pop bc
dec b
jr nz, .playDeliverySound
-.asm_74f72
+
ld hl, VendingMachineText5
call PrintText
- ld hl, $ffde
+ ld hl, hVendingMachinePrice + 2
ld de, wPlayerMoney + 2
ld c, $3
predef SubBCDPredef
@@ -75,60 +76,64 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
.BagFull
ld hl, VendingMachineText6
jp PrintText
-.asm_74f93
+.notThirsty
ld hl, VendingMachineText7
jp PrintText
-VendingMachineText1: ; 74f99 (1d:4f99)
+VendingMachineText1:
TX_FAR _VendingMachineText1
db "@"
-DrinkText: ; 74f9e (1d:4f9e)
+DrinkText:
db "FRESH WATER"
next "SODA POP"
next "LEMONADE"
next "CANCEL@"
-DrinkPriceText: ; 74fc3 (1d:4fc3)
+DrinkPriceText:
db "¥200"
next "¥300"
- next "¥350",$4E,"@"
+ next "¥350"
+ next "@"
-VendingMachineText4: ; 74fd3 (1d:4fd3)
+VendingMachineText4:
TX_FAR _VendingMachineText4
db "@"
-VendingMachineText5: ; 74fd8 (1d:4fd8)
+VendingMachineText5:
TX_FAR _VendingMachineText5
db "@"
-VendingMachineText6: ; 74fdd (1d:4fdd)
+VendingMachineText6:
TX_FAR _VendingMachineText6
db "@"
-VendingMachineText7: ; 74fe2 (1d:4fe2)
+VendingMachineText7:
TX_FAR _VendingMachineText7
db "@"
-Func_74fe7: ; 74fe7 (1d:4fe7)
+LoadVendingMachineItem:
ld hl, VendingPrices
ld a, [wCurrentMenuItem]
add a
add a
- ld d, $0
+ ld d, 0
ld e, a
add hl, de
ld a, [hli]
- ld [$ffdb], a
+ ld [hVendingMachineItem], a
ld a, [hli]
- ld [$ffdc], a
+ ld [hVendingMachinePrice], a
ld a, [hli]
- ld [$ffdd], a
+ ld [hVendingMachinePrice + 1], a
ld a, [hl]
- ld [$ffde], a
+ ld [hVendingMachinePrice + 2], a
ret
-VendingPrices: ; 75000 (1d:5000)
- db FRESH_WATER,$00,$02,$00
- db SODA_POP, $00,$03,$00
- db LEMONADE, $00,$03,$50
+VendingPrices:
+ db FRESH_WATER
+ money 200
+ db SODA_POP
+ money 300
+ db LEMONADE
+ money 350