Resolve #428: Use HIGH(X) and LOW(X) instead of X / $100 and X % $100 or X >> 8 and X & $ff

This commit is contained in:
Remy Oukaour
2017-12-25 13:40:10 -05:00
parent da2b01a36c
commit e34e68095d
71 changed files with 435 additions and 398 deletions

View File

@ -539,7 +539,7 @@ PlayDanger: ; e8307
ld a, [Danger] ld a, [Danger]
bit DANGER_ON_F, a bit DANGER_ON_F, a
ret z ret z
and $ff - (1 << DANGER_ON_F) and $ff ^ (1 << DANGER_ON_F)
ld d, a ld d, a
call _CheckSFX call _CheckSFX
jr c, .asm_e8335 jr c, .asm_e8335
@ -2297,9 +2297,9 @@ SetNoteDuration: ; e8a8d
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
; multiply NoteLength by delay units ; multiply NoteLength by delay units
ld l, 0; just multiply ld l, 0 ; just multiply
call .Multiply call .Multiply
ld a, l ; % $100 ld a, l ; low
; store Tempo in de ; store Tempo in de
ld hl, Channel1Tempo - Channel1 ld hl, Channel1Tempo - Channel1
add hl, bc add hl, bc
@ -2310,7 +2310,7 @@ SetNoteDuration: ; e8a8d
ld hl, Channel1Field0x16 - Channel1 ld hl, Channel1Field0x16 - Channel1
add hl, bc add hl, bc
ld l, [hl] ld l, [hl]
; multiply Tempo by last result (NoteLength * delay % $100) ; multiply Tempo by last result (NoteLength * LOW(delay))
call .Multiply call .Multiply
; copy result to de ; copy result to de
ld e, l ld e, l

View File

@ -237,16 +237,16 @@ Functioncc220: ; cc220
; Appears to be unused. ; Appears to be unused.
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, (VBGMap0 tile $28) % $100 ld a, LOW(VBGMap0 tile $28)
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld a, (VBGMap0 tile $28) / $100 ld a, HIGH(VBGMap0 tile $28)
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
call WaitBGMap2 call WaitBGMap2
ld a, $60 ld a, $60
ld [hWY], a ld [hWY], a
xor a xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld a, VBGMap0 / $100 ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
call BattleAnimDelayFrame call BattleAnimDelayFrame
ret ret
@ -1501,10 +1501,10 @@ BattleAnim_UpdateOAM_All: ; cc96e
jr nz, .loop jr nz, .loop
ld a, [wBattleAnimOAMPointerLo] ld a, [wBattleAnimOAMPointerLo]
ld l, a ld l, a
ld h, Sprites / $100 ld h, HIGH(Sprites)
.loop2 .loop2
ld a, l ld a, l
cp SpritesEnd % $100 cp LOW(SpritesEnd)
jr nc, .done jr nc, .done
xor a xor a
ld [hli], a ld [hli], a

View File

@ -1223,7 +1223,7 @@ BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
xor $ff xor $ff
inc a inc a
ld d, a ld d, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld a, [hLYOverrideStart] ld a, [hLYOverrideStart]
ld l, a ld l, a
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
@ -1264,7 +1264,7 @@ BattleBGEffect_AcidArmor: ; c8709 (32:4709)
ld e, [hl] ld e, [hl]
ld d, 2 ld d, 2
call Functionc8f2e call Functionc8f2e
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
ld l, a ld l, a
ld [hl], $0 ld [hl], $0
@ -1275,7 +1275,7 @@ BattleBGEffect_AcidArmor: ; c8709 (32:4709)
.one .one
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
ld l, a ld l, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld e, l ld e, l
ld d, h ld d, h
dec de dec de
@ -1554,7 +1554,7 @@ Functionc88a5: ; c88a5 (32:48a5)
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
sub d sub d
ld d, a ld d, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld a, [hSCY] ld a, [hSCY]
or a or a
jr nz, .skip1 jr nz, .skip1
@ -1846,7 +1846,7 @@ BattleBGEffect_2a: ; c8a3a (32:4a3a)
ld [hLYOverrideEnd], a ld [hLYOverrideEnd], a
ld a, [hLYOverrideStart] ld a, [hLYOverrideStart]
ld l, a ld l, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
.loop .loop
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
cp l cp l
@ -1900,7 +1900,7 @@ BattleBGEffect_2a: ; c8a3a (32:4a3a)
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
sub l sub l
srl a srl a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
.loop2 .loop2
ld [hl], e ld [hl], e
inc hl inc hl
@ -2851,7 +2851,7 @@ BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
ld l, a ld l, a
inc a inc a
ld e, a ld e, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld d, h ld d, h
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
sub l sub l
@ -2874,7 +2874,7 @@ BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
BGEffect_FillLYOverridesBackup: ; c900b (32:500b) BGEffect_FillLYOverridesBackup: ; c900b (32:500b)
push af push af
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld a, [hLYOverrideStart] ld a, [hLYOverrideStart]
ld l, a ld l, a
ld a, [hLYOverrideEnd] ld a, [hLYOverrideEnd]
@ -2897,7 +2897,7 @@ BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b)
sub l sub l
sub e sub e
ld d, a ld d, a
ld h, LYOverridesBackup / $100 ld h, HIGH(LYOverridesBackup)
ld a, [hLYOverrideStart] ld a, [hLYOverrideStart]
ld l, a ld l, a
ld a, $90 ld a, $90

View File

@ -2573,11 +2573,11 @@ WinTrainerBattle: ; 3cfa4
.CheckMaxedOutMomMoney: ; 3d0b1 .CheckMaxedOutMomMoney: ; 3d0b1
ld hl, wMomsMoney + 2 ld hl, wMomsMoney + 2
ld a, [hld] ld a, [hld]
cp MAX_MONEY % $100 cp LOW(MAX_MONEY)
ld a, [hld] ld a, [hld]
sbc MAX_MONEY / $100 % $100 sbc HIGH(MAX_MONEY) ; mid
ld a, [hl] ld a, [hl]
sbc MAX_MONEY / $10000 % $100 sbc HIGH(MAX_MONEY >> 8)
ret ret
; 3d0be ; 3d0be
@ -2602,17 +2602,17 @@ AddBattleMoneyToAccount: ; 3d0be
jr nz, .loop jr nz, .loop
pop hl pop hl
ld a, [hld] ld a, [hld]
cp MAX_MONEY % $100 cp LOW(MAX_MONEY)
ld a, [hld] ld a, [hld]
sbc MAX_MONEY / $100 % $100 sbc HIGH(MAX_MONEY) ; mid
ld a, [hl] ld a, [hl]
sbc MAX_MONEY / $10000 % $100 sbc HIGH(MAX_MONEY >> 8)
ret c ret c
ld [hl], MAX_MONEY / $10000 % $100 ld [hl], HIGH(MAX_MONEY >> 8)
inc hl inc hl
ld [hl], MAX_MONEY / $100 % $100 ld [hl], HIGH(MAX_MONEY) ; mid
inc hl inc hl
ld [hl], MAX_MONEY % $100 ld [hl], LOW(MAX_MONEY)
ret ret
; 3d0ea ; 3d0ea
@ -6384,25 +6384,25 @@ LoadEnemyMon: ; 3e8eb
; We're clear if the length is < 1536 ; We're clear if the length is < 1536
ld a, [wMagikarpLength] ld a, [wMagikarpLength]
cp $06 ; $600 = 1536 cp HIGH(1536)
jr nz, .CheckMagikarpArea jr nz, .CheckMagikarpArea
; 5% chance of skipping size checks ; 5% chance of skipping both size checks
call Random call Random
cp $0c ; / $100 cp 5 percent
jr c, .CheckMagikarpArea jr c, .CheckMagikarpArea
; Try again if > 1614 ; Try again if > 1614
ld a, [wMagikarpLength + 1] ld a, [wMagikarpLength + 1]
cp $50 cp LOW(1614) + 2
jr nc, .GenerateDVs jr nc, .GenerateDVs
; 20% chance of skipping this check ; 20% chance of skipping this check
call Random call Random
cp $32 ; / $100 cp 20 percent - 1
jr c, .CheckMagikarpArea jr c, .CheckMagikarpArea
; Try again if > 1598 ; Try again if > 1598
ld a, [wMagikarpLength + 1] ld a, [wMagikarpLength + 1]
cp $40 cp LOW(1598) + 2
jr nc, .GenerateDVs jr nc, .GenerateDVs
.CheckMagikarpArea: .CheckMagikarpArea:
@ -6423,11 +6423,11 @@ LoadEnemyMon: ; 3e8eb
jr z, .Happiness jr z, .Happiness
; 40% chance of not flooring ; 40% chance of not flooring
call Random call Random
cp $64 ; / $100 cp 40 percent - 2
jr c, .Happiness jr c, .Happiness
; Floor at length 1024 ; Floor at length 1024
ld a, [wMagikarpLength] ld a, [wMagikarpLength]
cp 1024 >> 8 cp HIGH(1024)
jr c, .GenerateDVs ; try again jr c, .GenerateDVs ; try again
; Finally done with DVs ; Finally done with DVs
@ -6462,7 +6462,7 @@ LoadEnemyMon: ; 3e8eb
.TreeMon: .TreeMon:
; If we're headbutting trees, some monsters enter battle asleep ; If we're headbutting trees, some monsters enter battle asleep
call CheckSleepingTreeMon call CheckSleepingTreeMon
ld a, SLP ; Asleep for 7 turns ld a, TREEMON_SLEEP_TURNS
jr c, .UpdateStatus jr c, .UpdateStatus
; Otherwise, no status ; Otherwise, no status
xor a xor a
@ -7009,14 +7009,14 @@ ApplyStatLevelMultiplier: ; 3ecb7
; Cap at 999. ; Cap at 999.
ld a, [hQuotient + 2] ld a, [hQuotient + 2]
sub MAX_STAT_VALUE % $100 sub LOW(MAX_STAT_VALUE)
ld a, [hQuotient + 1] ld a, [hQuotient + 1]
sbc MAX_STAT_VALUE / $100 sbc HIGH(MAX_STAT_VALUE)
jp c, .okay3 jp c, .okay3
ld a, MAX_STAT_VALUE / $100 ld a, HIGH(MAX_STAT_VALUE)
ld [hQuotient + 1], a ld [hQuotient + 1], a
ld a, MAX_STAT_VALUE % $100 ld a, LOW(MAX_STAT_VALUE)
ld [hQuotient + 2], a ld [hQuotient + 2], a
.okay3 .okay3
@ -7132,13 +7132,13 @@ BoostStat: ; 3ed7c
; Cap at 999. ; Cap at 999.
ld a, [hld] ld a, [hld]
sub MAX_STAT_VALUE % $100 sub LOW(MAX_STAT_VALUE)
ld a, [hl] ld a, [hl]
sbc MAX_STAT_VALUE / $100 sbc HIGH(MAX_STAT_VALUE)
ret c ret c
ld a, MAX_STAT_VALUE / $100 ld a, HIGH(MAX_STAT_VALUE)
ld [hli], a ld [hli], a
ld a, MAX_STAT_VALUE % $100 ld a, LOW(MAX_STAT_VALUE)
ld [hld], a ld [hld], a
ret ret
; 3ed9f ; 3ed9f
@ -7217,7 +7217,7 @@ _BattleRandom:: ; 3edd8
ld b, 10 ; number of seeds ld b, 10 ; number of seeds
; Generate next number in the sequence for each seed ; Generate next number in the sequence for each seed
; The algorithm takes the form *5 + 1 % 256 ; a[n+1] = (a[n] * 5 + 1) % 256
.loop .loop
; get last # ; get last #
ld a, [hl] ld a, [hl]
@ -9135,10 +9135,10 @@ AddLastMobileBattleToLinkRecord: ; 3fa42
dec hl dec hl
ld a, [hl] ld a, [hl]
inc hl inc hl
cp MAX_LINK_RECORD / $100 cp HIGH(MAX_LINK_RECORD)
ret c ret c
ld a, [hl] ld a, [hl]
cp MAX_LINK_RECORD % $100 cp LOW(MAX_LINK_RECORD)
ret ret
; 3fac8 ; 3fac8

View File

@ -3576,14 +3576,14 @@ BattleCommand_DamageCalc: ; 35612
jr nz, .Cap jr nz, .Cap
ld a, [hProduct + 2] ld a, [hProduct + 2]
cp 998 / $100 cp HIGH(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1)
jr c, .dont_cap_2 jr c, .dont_cap_2
cp 998 / $100 + 1 cp HIGH(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1) + 1
jr nc, .Cap jr nc, .Cap
ld a, [hProduct + 3] ld a, [hProduct + 3]
cp 998 % $100 cp LOW(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1)
jr nc, .Cap jr nc, .Cap
.dont_cap_2 .dont_cap_2
@ -3601,21 +3601,21 @@ BattleCommand_DamageCalc: ; 35612
jr c, .Cap jr c, .Cap
ld a, [hl] ld a, [hl]
cp 998 / $100 cp HIGH(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1)
jr c, .dont_cap_3 jr c, .dont_cap_3
cp 998 / $100 + 1 cp HIGH(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1) + 1
jr nc, .Cap jr nc, .Cap
inc hl inc hl
ld a, [hld] ld a, [hld]
cp 998 % $100 cp LOW(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE + 1)
jr c, .dont_cap_3 jr c, .dont_cap_3
.Cap: .Cap:
ld a, 997 / $100 ld a, HIGH(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE)
ld [hli], a ld [hli], a
ld a, 997 % $100 ld a, LOW(MAX_STAT_VALUE - MIN_NEUTRAL_DAMAGE)
ld [hld], a ld [hld], a
@ -3623,7 +3623,7 @@ BattleCommand_DamageCalc: ; 35612
; Minimum neutral damage is 2 (bringing the cap to 999). ; Minimum neutral damage is 2 (bringing the cap to 999).
inc hl inc hl
ld a, [hl] ld a, [hl]
add 2 add MIN_NEUTRAL_DAMAGE
ld [hld], a ld [hld], a
jr nc, .dont_floor jr nc, .dont_floor
inc [hl] inc [hl]
@ -5651,10 +5651,10 @@ CheckIfStatCanBeRaised: ; 361ef
.no_carry .no_carry
pop bc pop bc
ld a, [hld] ld a, [hld]
sub MAX_STAT_VALUE % $100 sub LOW(MAX_STAT_VALUE)
jr nz, .not_already_max jr nz, .not_already_max
ld a, [hl] ld a, [hl]
sbc MAX_STAT_VALUE / $100 sbc HIGH(MAX_STAT_VALUE)
jp z, .stats_already_max jp z, .stats_already_max
.not_already_max .not_already_max
ld a, [hBattleTurn] ld a, [hBattleTurn]
@ -6417,14 +6417,14 @@ CalcStats: ; 3661d
.check_maxed_out .check_maxed_out
ld a, [hQuotient + 2] ld a, [hQuotient + 2]
cp MAX_STAT_VALUE % $100 cp LOW(MAX_STAT_VALUE)
ld a, b ld a, b
sbc MAX_STAT_VALUE / $100 sbc HIGH(MAX_STAT_VALUE)
jr c, .not_maxed_out jr c, .not_maxed_out
ld a, MAX_STAT_VALUE % $100 ld a, LOW(MAX_STAT_VALUE)
ld [hQuotient + 2], a ld [hQuotient + 2], a
ld a, MAX_STAT_VALUE / $100 ld a, HIGH(MAX_STAT_VALUE)
ld [hQuotient + 1], a ld [hQuotient + 1], a
.not_maxed_out .not_maxed_out
@ -8367,7 +8367,7 @@ BattleCommand_Heal: ; 3713e
call GetBattleVarAddr call GetBattleVarAddr
ld a, [hl] ld a, [hl]
and a and a
ld [hl], REST_TURNS + 1 ld [hl], REST_SLEEP_TURNS + 1
ld hl, WentToSleepText ld hl, WentToSleepText
jr z, .no_status_to_heal jr z, .no_status_to_heal
ld hl, RestedText ld hl, RestedText

View File

@ -106,7 +106,7 @@ BattleAnimOAMUpdate: ; cca09
ld l, a ld l, a
ld a, [wBattleAnimOAMPointerLo] ld a, [wBattleAnimOAMPointerLo]
ld e, a ld e, a
ld d, Sprites / $100 ld d, HIGH(Sprites)
.loop .loop
ld a, [wBattleAnimTempYCoord] ld a, [wBattleAnimTempYCoord]
ld b, a ld b, a

View File

@ -10,8 +10,12 @@ NUM_MOVES EQU 4
BASE_STAT_LEVEL EQU 7 BASE_STAT_LEVEL EQU 7
MAX_STAT_LEVEL EQU 13 MAX_STAT_LEVEL EQU 13
; turns that Rest sleep lasts ; minimum damage before type effectiveness
REST_TURNS EQU 2 MIN_NEUTRAL_DAMAGE EQU 2
; turns that sleep lasts
REST_SLEEP_TURNS EQU 2
TREEMON_SLEEP_TURNS EQU 7
; PlayerStatLevels and EnemyStatLevels indexes ; PlayerStatLevels and EnemyStatLevels indexes
; used for GetStatName ; used for GetStatName

View File

@ -0,0 +1,35 @@
EnvironmentColorsPointers:
; entries correspond to environment constants (see constants/map_constants.asm)
dw .OutdoorColors ; unused
dw .OutdoorColors ; TOWN
dw .OutdoorColors ; ROUTE
dw .IndoorColors ; INDOOR
dw .DungeonColors ; CAVE
dw .Env5Colors ; ENVIRONMENT_5
dw .IndoorColors ; GATE
dw .DungeonColors ; DUNGEON
; Valid indices: $00 - $29
.OutdoorColors:
db $00, $01, $02, $28, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $29, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark
.IndoorColors:
db $20, $21, $22, $23, $24, $25, $26, $07 ; morn
db $20, $21, $22, $23, $24, $25, $26, $07 ; day
db $10, $11, $12, $13, $14, $15, $16, $07 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark
.DungeonColors:
db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark
.Env5Colors:
db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark

View File

@ -72,16 +72,16 @@ This is a bug with `SpeciesItemBoost` in [battle/effect_commands.asm](/battle/ef
sla l sla l
rl h rl h
ld a, 999 / $100 ld a, HIGH(MAX_STAT_VALUE)
cp h cp h
jr c, .cap jr c, .cap
ld a, 999 % $100 ld a, LOW(MAX_STAT_VALUE)
cp l cp l
ret nc ret nc
.cap .cap
ld h, 999 / $100 ld h, HIGH(MAX_STAT_VALUE)
ld l, 999 % $100 ld l, LOW(MAX_STAT_VALUE)
ret ret
``` ```
@ -128,16 +128,16 @@ This is a bug with `DittoMetalPowder` in [battle/effect_commands.asm](/battle/ef
scf scf
rr c rr c
ld a, 999 / $100 ld a, HIGH(MAX_STAT_VALUE)
cp b cp b
jr c, .cap jr c, .cap
ld a, 999 % $100 ld a, LOW(MAX_STAT_VALUE)
cp c cp c
ret nc ret nc
.cap .cap
ld b, 999 / $100 ld b, HIGH(MAX_STAT_VALUE)
ld c, 999 % $100 ld c, LOW(MAX_STAT_VALUE)
ret ret
``` ```
@ -1398,7 +1398,7 @@ ClearWRAM:: ; 25a
push af push af
ld [rSVBK], a ld [rSVBK], a
xor a xor a
ld hl, $d000 ld hl, wRAM1Start
ld bc, $1000 ld bc, $1000
call ByteFill call ByteFill
pop af pop af

View File

@ -719,7 +719,7 @@ EggHatch_AnimationSequence: ; 1728f (5:728f)
call PlayMusic call PlayMusic
call EnableLCD call EnableLCD
hlcoord 7, 4 hlcoord 7, 4
ld b, VBGMap0 / $100 ld b, HIGH(VBGMap0)
ld c, $31 ; Egg tiles start here ld c, $31 ; Egg tiles start here
ld a, EGG ld a, EGG
call Hatch_UpdateFrontpicBGMapCenter call Hatch_UpdateFrontpicBGMapCenter
@ -768,7 +768,7 @@ EggHatch_AnimationSequence: ; 1728f (5:728f)
call ClearSprites call ClearSprites
call Hatch_InitShellFragments call Hatch_InitShellFragments
hlcoord 6, 3 hlcoord 6, 3
ld b, VBGMap0 / $100 ld b, HIGH(VBGMap0)
ld c, $00 ; Hatchling tiles start here ld c, $00 ; Hatchling tiles start here
ld a, [wJumptableIndex] ld a, [wJumptableIndex]
call Hatch_UpdateFrontpicBGMapCenter call Hatch_UpdateFrontpicBGMapCenter

View File

@ -644,10 +644,10 @@ CardFlip_BlankDiscardedCardSlot: ; e0534
ld a, e ld a, e
and $1c ; get level and $1c ; get level
srl a srl a
add .Jumptable % $100 add LOW(.Jumptable)
ld l, a ld l, a
ld a, 0 ld a, 0
adc .Jumptable / $100 adc HIGH(.Jumptable)
ld h, a ld h, a
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
@ -1185,14 +1185,14 @@ CardFlip_CheckWinCondition: ; e0637
.IsCoinCaseFull: ; e0833 .IsCoinCaseFull: ; e0833
ld a, [Coins] ld a, [Coins]
cp MAX_COINS / $100 cp HIGH(MAX_COINS)
jr c, .less jr c, .less
jr z, .check_low jr z, .check_low
jr .more jr .more
.check_low .check_low
ld a, [Coins + 1] ld a, [Coins + 1]
cp MAX_COINS % $100 cp LOW(MAX_COINS)
jr c, .less jr c, .less
.more .more

View File

@ -523,10 +523,10 @@ LoadPalette_White_Col1_Col2_Black:
ld a, $5 ld a, $5
ld [rSVBK], a ld [rSVBK], a
ld a, (palred 31 + palgreen 31 + palblue 31) % $100 ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [de], a ld [de], a
inc de inc de
ld a, (palred 31 + palgreen 31 + palblue 31) / $100 ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [de], a ld [de], a
inc de inc de
@ -912,9 +912,9 @@ InitCGBPals::
ld [rBGPI], a ld [rBGPI], a
ld c, 4 * 8 ld c, 4 * 8
.bgpals_loop .bgpals_loop
ld a, (palred 31 + palgreen 31 + palblue 31) % $100 ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [rBGPD], a ld [rBGPD], a
ld a, (palred 31 + palgreen 31 + palblue 31) / $100 ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [rBGPD], a ld [rBGPD], a
dec c dec c
jr nz, .bgpals_loop jr nz, .bgpals_loop
@ -922,9 +922,9 @@ InitCGBPals::
ld [rOBPI], a ld [rOBPI], a
ld c, 4 * 8 ld c, 4 * 8
.obpals_loop .obpals_loop
ld a, (palred 31 + palgreen 31 + palblue 31) % $100 ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [rOBPD], a ld [rOBPD], a
ld a, (palred 31 + palgreen 31 + palblue 31) / $100 ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [rOBPD], a ld [rOBPD], a
dec c dec c
jr nz, .obpals_loop jr nz, .obpals_loop
@ -943,9 +943,9 @@ InitCGBPals::
.LoadWhitePals: .LoadWhitePals:
ld c, 4 * 16 ld c, 4 * 16
.loop .loop
ld a, (palred 31 + palgreen 31 + palblue 31) % $100 ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [hli], a ld [hli], a
ld a, (palred 31 + palgreen 31 + palblue 31) / $100 ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [hli], a ld [hli], a
dec c dec c
jr nz, .loop jr nz, .loop
@ -1070,7 +1070,7 @@ SGBBorder_PushBGPals:
ld [rBGP], a ld [rBGP], a
ld hl, PredefPals ld hl, PredefPals
ld de, VTiles1 ld de, VTiles1
ld bc, $1000 ld bc, $100 tiles
call CopyData call CopyData
call DrawDefaultTiles call DrawDefaultTiles
ld a, $e3 ld a, $e3

View File

@ -193,9 +193,9 @@ Credits_UpdateGFXRequestPath: ; 109964 (42:5964)
ld [Requested2bppSource], a ld [Requested2bppSource], a
ld a, h ld a, h
ld [Requested2bppSource + 1], a ld [Requested2bppSource + 1], a
ld a, VTiles2 % $100 ld a, LOW(VTiles2)
ld [Requested2bppDest], a ld [Requested2bppDest], a
ld a, VTiles2 / $100 ld a, HIGH(VTiles2)
ld [Requested2bppDest + 1], a ld [Requested2bppDest + 1], a
jr Credits_RequestGFX jr Credits_RequestGFX
@ -374,9 +374,9 @@ ParseCredits: ; 1099aa
set 7, [hl] set 7, [hl]
ld a, 32 ld a, 32
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_POST_CREDITS % $100 ld a, LOW(MUSIC_POST_CREDITS)
ld [MusicFadeID], a ld [MusicFadeID], a
ld a, MUSIC_POST_CREDITS / $100 ld a, HIGH(MUSIC_POST_CREDITS)
ld [MusicFadeID + 1], a ld [MusicFadeID + 1], a
ret ret
@ -523,20 +523,20 @@ GetCreditsPalette: ; 109b2c
; Update the first three colors in both palette buffers. ; Update the first three colors in both palette buffers.
push af push af
push hl push hl
add UnknBGPals % $100 add LOW(UnknBGPals)
ld e, a ld e, a
ld a, 0 ld a, 0
adc UnknBGPals / $100 adc HIGH(UnknBGPals)
ld d, a ld d, a
ld bc, 24 ld bc, 24
call CopyBytes call CopyBytes
pop hl pop hl
pop af pop af
add BGPals % $100 add LOW(BGPals)
ld e, a ld e, a
ld a, 0 ld a, 0
adc BGPals / $100 adc HIGH(BGPals)
ld d, a ld d, a
ld bc, 24 ld bc, 24
call CopyBytes call CopyBytes

View File

@ -3,9 +3,9 @@ Copyright_GFPresents: ; e4579
call PlayMusic call PlayMusic
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
ld a, VBGMap0 / $100 ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
xor a xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld [hJoyDown], a ld [hJoyDown], a
ld [hSCX], a ld [hSCX], a
@ -1922,9 +1922,9 @@ Intro_RustleGrass: ; e546d (39:546d)
ld [Requested2bppSource], a ld [Requested2bppSource], a
ld a, [hli] ld a, [hli]
ld [Requested2bppSource + 1], a ld [Requested2bppSource + 1], a
ld a, (VTiles2 tile $09) % $100 ld a, LOW(VTiles2 tile $09)
ld [Requested2bppDest], a ld [Requested2bppDest], a
ld a, (VTiles2 tile $09) / $100 ld a, HIGH(VTiles2 tile $09)
ld [Requested2bppDest + 1], a ld [Requested2bppDest + 1], a
ld a, 4 ld a, 4
ld [Requested2bppSize], a ld [Requested2bppSize], a

View File

@ -1069,7 +1069,7 @@ TilesetColorTest:
ld hl, VTiles1 ld hl, VTiles1
lb bc, BANK(DebugColorTestGFX), 1 lb bc, BANK(DebugColorTestGFX), 1
call Request2bpp call Request2bpp
ld a, VBGMap1 / $100 ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
hlcoord 0, 0 hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld bc, SCREEN_WIDTH * SCREEN_HEIGHT

View File

@ -300,7 +300,7 @@ DoBikeStep:: ; 97db3
; If we've taken at least 1024 steps, have the bike ; If we've taken at least 1024 steps, have the bike
; shop owner try to call us. ; shop owner try to call us.
ld a, d ld a, d
cp 1024 >> 8 cp HIGH(1024)
jr c, .NoCall jr c, .NoCall
; If a call has already been queued, don't overwrite ; If a call has already been queued, don't overwrite

View File

@ -6,7 +6,7 @@ CalcLevel: ; 50e1b
.next_level .next_level
inc d inc d
ld a, d ld a, d
cp (MAX_LEVEL + 1) % $100 cp MAX_LEVEL + 1
jr z, .got_level jr z, .got_level
call CalcExpAtLevel call CalcExpAtLevel
push hl push hl

View File

@ -46,9 +46,9 @@ InitDisplayForRedCredits: ; 4e8c2
ld hl, UnknBGPals ld hl, UnknBGPals
ld c, 4 tiles ld c, 4 tiles
.load_white_palettes .load_white_palettes
ld a, (palred 31 + palgreen 31 + palblue 31) % $100 ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [hli], a ld [hli], a
ld a, (palred 31 + palgreen 31 + palblue 31) / $100 ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [hli], a ld [hli], a
dec c dec c
jr nz, .load_white_palettes jr nz, .load_white_palettes

View File

@ -27,7 +27,7 @@ ReanchorBGMap_NoOAMUpdate:: ; 6454
ld a, $90 ld a, $90
ld [hWY], a ld [hWY], a
call OverworldTextModeSwitch call OverworldTextModeSwitch
ld a, VBGMap1 / $100 ld a, HIGH(VBGMap1)
call .LoadBGMapAddrIntoHRAM call .LoadBGMapAddrIntoHRAM
call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
farcall LoadOW_BGPal7 farcall LoadOW_BGPal7
@ -38,11 +38,11 @@ ReanchorBGMap_NoOAMUpdate:: ; 6454
ld [hBGMapMode], a ld [hBGMapMode], a
ld [hWY], a ld [hWY], a
farcall HDMATransfer_FillBGMap0WithBlack ; no need to farcall farcall HDMATransfer_FillBGMap0WithBlack ; no need to farcall
ld a, VBGMap0 / $100 ld a, HIGH(VBGMap0)
call .LoadBGMapAddrIntoHRAM call .LoadBGMapAddrIntoHRAM
xor a xor a ; LOW(VBGMap0)
ld [wBGMapAnchor], a ld [wBGMapAnchor], a
ld a, VBGMap0 / $100 ld a, HIGH(VBGMap0)
ld [wBGMapAnchor + 1], a ld [wBGMapAnchor + 1], a
xor a xor a
ld [hSCX], a ld [hSCX], a
@ -86,13 +86,13 @@ HDMATransfer_FillBGMap0WithBlack: ; 64db
ld hl, wDecompressScratch ld hl, wDecompressScratch
ld bc, wScratchAttrMap - wDecompressScratch ld bc, wScratchAttrMap - wDecompressScratch
call ByteFill call ByteFill
ld a, wDecompressScratch / $100 ld a, HIGH(wDecompressScratch)
ld [rHDMA1], a ld [rHDMA1], a
ld a, wDecompressScratch % $100 ld a, LOW(wDecompressScratch)
ld [rHDMA2], a ld [rHDMA2], a
ld a, (VBGMap0 % $8000) / $100 ld a, HIGH(VBGMap0 % $8000)
ld [rHDMA3], a ld [rHDMA3], a
ld a, (VBGMap0 % $8000) % $100 ld a, LOW(VBGMap0 % $8000)
ld [rHDMA4], a ld [rHDMA4], a
ld a, $3f ld a, $3f
ld [hDMATransfer], a ld [hDMATransfer], a

View File

@ -199,24 +199,24 @@ _ResetWRAM: ; 5bae
ld [Coins], a ld [Coins], a
ld [Coins + 1], a ld [Coins + 1], a
IF START_MONEY / $10000 IF START_MONEY >= $10000
ld a, START_MONEY / $10000 ld a, HIGH(START_MONEY >> 8)
ENDC ENDC
ld [Money], a ld [Money], a
ld a, START_MONEY / $100 % $100 ld a, HIGH(START_MONEY) ; mid
ld [Money + 1], a ld [Money + 1], a
ld a, START_MONEY % $100 ld a, LOW(START_MONEY)
ld [Money + 2], a ld [Money + 2], a
xor a xor a
ld [wWhichMomItem], a ld [wWhichMomItem], a
ld hl, MomItemTriggerBalance ld hl, MomItemTriggerBalance
ld [hl], MOM_MONEY / $10000 ld [hl], HIGH(MOM_MONEY >> 8)
inc hl inc hl
ld [hl], MOM_MONEY / $100 % $100 ld [hl], HIGH(MOM_MONEY) ; mid
inc hl inc hl
ld [hl], MOM_MONEY % $100 ld [hl], LOW(MOM_MONEY)
call InitializeNPCNames call InitializeNPCNames
@ -372,9 +372,9 @@ Continue: ; 5d65
.Check2Pass: .Check2Pass:
ld a, $8 ld a, $8
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE % $100 ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a ld [MusicFadeID + 1], a
call ClearBGPalettes call ClearBGPalettes
call Continue_MobileAdapterMenu call Continue_MobileAdapterMenu
@ -426,9 +426,9 @@ Continue_MobileAdapterMenu: ; 5df0
ret nz ret nz
ld a, 5 ld a, 5
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU)
ld [MusicFadeID], a ld [MusicFadeID], a
ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU)
ld [MusicFadeID + 1], a ld [MusicFadeID + 1], a
ld c, 20 ld c, 20
call DelayFrames call DelayFrames
@ -437,9 +437,9 @@ Continue_MobileAdapterMenu: ; 5df0
farcall _SaveData farcall _SaveData
ld a, 8 ld a, 8
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE % $100 ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a ld [MusicFadeID + 1], a
ld c, 35 ld c, 35
call DelayFrames call DelayFrames
@ -1405,9 +1405,9 @@ GameInit:: ; 642e
call ClearWindowData call ClearWindowData
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
ld a, VBGMap0 / $100 ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
xor a xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld [hJoyDown], a ld [hJoyDown], a
ld [hSCX], a ld [hSCX], a

Some files were not shown because too many files have changed in this diff Show More