Move NUM_BUENA_PRIZES to event/buena.asm (still hard-coded)

Buena_PrizeMenu has "rept NUM_BUENA_PRIZES", which needs NUM_BUENA_PRIZES to be already defined. BuenaPrizeItems and BuenaPrizeItemsEnd are needed to define NUM_BUENA_PRIZES; but BuenaPrizeItems is defined after Buena_PrizeMenu. I don't see a way to avoid hard-coding its value of 9.

Contrast that with the NUM_MOM_ITEMS constants, which are not used as "rept" arguments and so can be defined within their code file.
This commit is contained in:
Remy Oukaour 2017-12-23 00:31:04 -05:00
parent daa071451d
commit aa97752efe
4 changed files with 10 additions and 7 deletions

View File

@ -123,6 +123,3 @@ NUM_PASSWORDS_PER_CATEGORY EQU 3
const BUENA_ITEM const BUENA_ITEM
const BUENA_MOVE const BUENA_MOVE
const BUENA_STRING const BUENA_STRING
; BuenaPrizeItems table length (see data/items/buena_prizes.asm)
NUM_BUENA_PRIZES EQU 9

View File

@ -1,5 +1,5 @@
BuenaPrizeItems: ; 8b15e BuenaPrizeItems: ; 8b15e
; there are NUM_BUENA_PRIZES entries ; there are NUM_BUENA_PRIZES items (see event/buena.asm)
db ULTRA_BALL, 2 db ULTRA_BALL, 2
db FULL_RESTORE, 2 db FULL_RESTORE, 2
db NUGGET, 3 db NUGGET, 3
@ -9,4 +9,5 @@ BuenaPrizeItems: ; 8b15e
db CARBOS, 5 db CARBOS, 5
db CALCIUM, 5 db CALCIUM, 5
db HP_UP, 5 db HP_UP, 5
BuenaPrizeItemsEnd:
; 8b170 ; 8b170

View File

@ -288,6 +288,8 @@ Buena_PrizeMenu: ; 8b0e2
dba .prizepoints dba .prizepoints
; 8b129 ; 8b129
NUM_BUENA_PRIZES EQU 9 ; ((BuenaPrizeItemsEnd - BuenaPrizeItems) / 2)
.indices ; 8b129 .indices ; 8b129
db NUM_BUENA_PRIZES db NUM_BUENA_PRIZES
x = 1 x = 1

View File

@ -1,3 +1,6 @@
NUM_MOM_ITEMS_1 EQUS "((MomItems_1End - MomItems_1) / 8)"
NUM_MOM_ITEMS_2 EQUS "((MomItems_2End - MomItems_2) / 8)"
const_value = 1 const_value = 1
const MOM_ITEM const MOM_ITEM
const MOM_DOLL const MOM_DOLL
@ -57,7 +60,7 @@ MomTriesToBuySomething:: ; fcfec
CheckBalance_MomItem2: ; fd044 CheckBalance_MomItem2: ; fd044
ld a, [wWhichMomItem] ld a, [wWhichMomItem]
cp 10 cp NUM_MOM_ITEMS_2
jr nc, .nope jr nc, .nope
call GetItemFromMom call GetItemFromMom
ld a, [hli] ld a, [hli]
@ -100,7 +103,7 @@ CheckBalance_MomItem2: ; fd044
.exact .exact
call .AddMoney call .AddMoney
ld a, 5 ld a, NUM_MOM_ITEMS_1
call RandomRange call RandomRange
inc a inc a
ld [wWhichMomItemSet], a ld [wWhichMomItemSet], a
@ -195,7 +198,7 @@ GetItemFromMom: ; fd117
.zero .zero
ld a, [wWhichMomItem] ld a, [wWhichMomItem]
cp 10 ; length of MomItems_2 cp NUM_MOM_ITEMS_2
jr c, .ok jr c, .ok
xor a xor a