Merge pull request #433 from roukaour/master

More code cleanup
This commit is contained in:
yenatch 2017-12-25 19:01:36 -05:00 committed by GitHub
commit 73db02d3cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
106 changed files with 997 additions and 1009 deletions

View File

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

View File

@ -141,7 +141,7 @@ AI_Setup: ; 385e0
.discourage
call Random
cp 30
cp 12 percent
jr c, .checkmove
inc [hl]
inc [hl]
@ -453,7 +453,7 @@ AI_Smart_LeechHit: ; 387f7
.asm_38815
call Random
cp 100
cp 39 percent + 1
ret c
inc [hl]
@ -594,7 +594,7 @@ AI_Smart_Selfdestruct: ; 388a6
; If enemy's HP is between 25% and 50%,
; over 90% chance to greatly discourage this move.
call Random
cp 20
cp 9 percent - 2
ret c
.asm_388c6
@ -610,7 +610,7 @@ AI_Smart_DreamEater: ; 388ca
; The AI_Basic layer will make sure that
; Dream Eater is only used against sleeping targets.
call Random
cp 25
cp 10 percent
ret c
dec [hl]
dec [hl]
@ -637,7 +637,7 @@ AI_Smart_EvasionUp: ; 388d4
; ...70% chance to greatly encourage this move if player is not badly poisoned.
call Random
cp $b2
cp 70 percent
jr nc, .asm_38911
.asm_388ef
@ -653,7 +653,7 @@ AI_Smart_EvasionUp: ; 388d4
; If enemy's HP is above 25% but not full, 4% chance to greatly encourage this move.
call Random
cp $a
cp 4 percent
jr c, .asm_388ef
; If enemy's HP is between 25% and 50%,...
@ -710,11 +710,11 @@ AI_Smart_EvasionUp: ; 388d4
ret
; Player is badly poisoned.
; 80% chance to greatly encourage this move.
; 70% chance to greatly encourage this move.
; This would counter any previous discouragement.
.asm_38938
call Random
cp $50
cp 31 percent + 1
ret c
dec [hl]
dec [hl]
@ -791,7 +791,7 @@ AI_Smart_MirrorMove: ; 3895b
ret nc
call Random
cp $19
cp 10 percent
ret c
dec [hl]
@ -816,7 +816,7 @@ AI_Smart_AccuracyDown: ; 38985
; ...70% chance to greatly encourage this move if player is not badly poisoned.
call Random
cp $b2
cp 70 percent
jr nc, .asm_389bf
.asm_3899d
@ -832,7 +832,7 @@ AI_Smart_AccuracyDown: ; 38985
; If player's HP is above 25% but not full, 4% chance to greatly encourage this move.
call Random
cp $a
cp 4 percent
jr c, .asm_3899d
; If player's HP is between 25% and 50%,...
@ -884,11 +884,11 @@ AI_Smart_AccuracyDown: ; 38985
ret
; Player is badly poisoned.
; 80% chance to greatly encourage this move.
; 70% chance to greatly encourage this move.
; This would counter any previous discouragement.
.asm_389e6
call Random
cp $50
cp 31 percent + 1
ret c
dec [hl]
dec [hl]
@ -934,7 +934,7 @@ AI_Smart_ResetStats: ; 389f5
.asm_38a12
pop hl
call Random
cp $28
cp 16 percent
ret c
dec [hl]
ret
@ -955,7 +955,7 @@ AI_Smart_Bide: ; 38a1e
call AICheckEnemyMaxHP
ret c
call Random
cp $19
cp 10 percent
ret c
inc [hl]
ret
@ -997,7 +997,7 @@ AI_Smart_Moonlight: ; 38a3a
.asm_38a45
call Random
cp $19
cp 10 percent
ret c
dec [hl]
dec [hl]
@ -1023,7 +1023,7 @@ AI_Smart_Reflect: ; 38a54
call AICheckEnemyMaxHP
ret c
call Random
cp $14
cp 8 percent
ret c
inc [hl]
ret
@ -1126,7 +1126,7 @@ AI_Smart_Unused2B: ; 38a9c
.asm_38acd
call Random
cp $c8
cp 79 percent - 1
ret c
.asm_38ad3
@ -1148,7 +1148,7 @@ AI_Smart_Confuse: ; 38adb
call AICheckPlayerHalfHP
ret c
call Random
cp $19
cp 10 percent
jr c, .asm_38ae7
inc [hl]
@ -1272,7 +1272,7 @@ AI_Smart_SpeedDownHit: ; 38b40
call AICompareSpeed
ret c
call Random
cp 30
cp 12 percent
ret c
dec [hl]
dec [hl]
@ -1304,7 +1304,7 @@ AI_Smart_HyperBeam: ; 38b63
.asm_38b72
; If enemy's HP is above 50%, discourage this move at random
call Random
cp 40
cp 16 percent
ret c
inc [hl]
call AI_50_50
@ -1457,7 +1457,7 @@ AI_Smart_Counter: ; 38bf1
.asm_38c30
call Random
cp $64
cp 39 percent + 1
jr c, .asm_38c38
dec [hl]
@ -1510,7 +1510,7 @@ AI_Smart_Encore: ; 38c3b
.asm_38c78
call Random
cp $46
cp 28 percent - 1
ret c
dec [hl]
dec [hl]
@ -1657,7 +1657,7 @@ AI_Smart_Spite: ; 38cd5
jr nc, .asm_38d0b
call Random
cp $64
cp 39 percent + 1
ret nc
.asm_38d0b
@ -1666,7 +1666,7 @@ AI_Smart_Spite: ; 38cd5
.asm_38d0d
call Random
cp $64
cp 39 percent + 1
ret c
dec [hl]
dec [hl]
@ -1827,7 +1827,7 @@ AI_Smart_Conversion2: ; 38d98
.asm_38dc9
call Random
cp 25
cp 10 percent
ret c
inc [hl]
ret
@ -1848,7 +1848,7 @@ AI_Smart_Disable: ; 38dd1
jr nc, .asm_38dee
call Random
cp 100
cp 39 percent + 1
ret c
dec [hl]
ret
@ -1860,7 +1860,7 @@ AI_Smart_Disable: ; 38dd1
.asm_38df3
call Random
cp 20
cp 8 percent
ret c
inc [hl]
ret
@ -2096,7 +2096,7 @@ AI_Smart_Protect: ; 38ed2
.asm_38f14
call Random
cp 20
cp 8 percent
ret c
inc [hl]
inc [hl]
@ -2120,14 +2120,14 @@ AI_Smart_Foresight: ; 38f1d
jr z, .asm_38f41
call Random
cp 20
cp 8 percent
ret c
inc [hl]
ret
.asm_38f41
call Random
cp 100
cp 39 percent + 1
ret c
dec [hl]
dec [hl]
@ -2317,7 +2317,7 @@ AI_Smart_Rollout: ; 38fef
; Otherwise, 80% chance to greatly encourage this move.
call Random
cp 200
cp 79 percent - 1
ret nc
dec [hl]
dec [hl]
@ -2347,7 +2347,7 @@ AI_Smart_Attract: ; 39026
.first_turn
call Random
cp 200
cp 79 percent - 1
ret nc
dec [hl]
ret
@ -2850,7 +2850,7 @@ AI_Smart_Solarbeam: ; 3920b
ret nz
call Random
cp 25 ; 1/10
cp 10 percent
ret c
inc [hl]
@ -2875,7 +2875,7 @@ AI_Smart_Thunder: ; 39225
ret nz
call Random
cp 25 ; 1/10
cp 10 percent
ret c
inc [hl]
@ -3387,7 +3387,7 @@ AI_Cautious: ; 39418
jr nc, .asm_39425
call Random
cp 230
cp 90 percent + 1
ret nc
inc [hl]
@ -3513,7 +3513,7 @@ AI_Risky: ; 394a9
; Else, 80% chance to exclude them.
call Random
cp 200 ; 1/5
cp 79 percent - 1
jr c, .nextmove
.checkko
@ -3586,13 +3586,13 @@ AIGetEnemyMove: ; 39508
AI_80_20: ; 39521
call Random
cp 50 ; 1/5
cp 20 percent - 1
ret
; 39527
AI_50_50: ; 39527
call Random
cp $80 ; 1/2
cp 50 percent + 1
ret
; 3952d

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -120,3 +120,5 @@ const_value = 1
const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_MASSAGE ; 12
const HAPPINESS_GAINLEVELATHOME ; 13
MAX_DAY_CARE_EXP EQU $500000

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

@ -1,6 +1,5 @@
; valid roofs: 0, 1, 2, 3, 4, or -1 for none
MapGroupRoofs: ; 1c021i
; entries correspond to Roofs (see below)
db -1 ; group 0 (unused)
db 3 ; group 1 (Olivine)
db 2 ; group 2 (Mahogany)
@ -29,3 +28,11 @@ MapGroupRoofs: ; 1c021i
db -1 ; group 25
db 0 ; group 26 (Cherrygrove)
; 1c03c
Roofs: ; 1c03c
INCBIN "gfx/tilesets/roofs/0.2bpp"
INCBIN "gfx/tilesets/roofs/1.2bpp"
INCBIN "gfx/tilesets/roofs/2.2bpp"
INCBIN "gfx/tilesets/roofs/3.2bpp"
INCBIN "gfx/tilesets/roofs/4.2bpp"
; 1c30c

View File

@ -1,28 +1,29 @@
; gray
RGB 31, 31, 31
RGB 25, 25, 25
RGB 13, 13, 13
RGB 00, 00, 00
; yellow
RGB 31, 31, 31
RGB 31, 31, 07
RGB 31, 16, 01
RGB 00, 00, 00
; red
RGB 31, 31, 31
RGB 31, 19, 24
RGB 30, 10, 06
RGB 00, 00, 00
; green
RGB 31, 31, 31
RGB 12, 25, 01
RGB 05, 14, 00
RGB 00, 00, 00
; blue
RGB 31, 31, 31
RGB 08, 12, 31
RGB 01, 04, 31
RGB 00, 00, 00
; brown
RGB 31, 31, 31
RGB 24, 18, 07
RGB 20, 15, 03

View File

@ -0,0 +1,40 @@
BlkPacket_9a86:
db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9a96:
db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9aa6:
db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00
db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07
BlkPacket_9ac6:
db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9ad6:
db $21, $01, $07, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9ae6:
db $21, $01, $07, $05, $01, $01, $08, $08, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9af6:
db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b06:
db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f
db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11
BlkPacket_9b26:
db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $00, $12, $01, $02, $00
db $0c, $02, $12, $03, $02, $00, $0c, $04, $12, $05, $02, $00, $0c, $06, $12, $07
db $02, $00, $0c, $08, $12, $09, $02, $00, $0c, $0a, $12, $0b, $00, $00, $00, $00
BlkPacket_9b56:
db $22, $03, $07, $20, $00, $00, $13, $04, $03, $0f, $00, $06, $13, $11, $03, $05
db $0f, $01, $12, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b76:
db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b86:
db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00

View File

@ -0,0 +1,3 @@
; blue
RGB 30, 26, 15
RGB 04, 17, 31

9
data/palettes/hp_bar.pal Normal file
View File

@ -0,0 +1,9 @@
; green
RGB 30, 26, 15
RGB 00, 23, 00
; yellow
RGB 30, 26, 15
RGB 31, 21, 00
; red
RGB 30, 26, 15
RGB 31, 00, 00

View File

@ -0,0 +1,4 @@
RGB 31, 31, 31
RGB 08, 19, 28
RGB 05, 05, 16
RGB 00, 00, 00

View File

@ -1,4 +1,4 @@
; morn
; morn
RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red
RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue
RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green
@ -8,7 +8,7 @@
RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree
RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock
; day
; day
RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red
RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue
RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green
@ -18,7 +18,7 @@
RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree
RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock
; nite
; nite
RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red
RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue
RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green
@ -28,7 +28,7 @@
RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree
RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock
; dark
; dark
RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red
RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue
RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green

View File

@ -0,0 +1,61 @@
; morn
RGB 28,31,16, 21,21,21, 13,13,13, 07,07,07 ; gray
RGB 28,31,16, 31,19,24, 30,10,06, 07,07,07 ; red
RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; green
RGB 31,31,31, 08,12,31, 01,04,31, 07,07,07 ; water
RGB 28,31,16, 31,31,07, 31,16,01, 07,07,07 ; yellow
RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; brown
RGB 28,31,16, 15,31,31, 05,17,31, 07,07,07 ; roof
RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
; day
RGB 27,31,27, 21,21,21, 13,13,13, 07,07,07 ; gray
RGB 27,31,27, 31,19,24, 30,10,06, 07,07,07 ; red
RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; green
RGB 31,31,31, 08,12,31, 01,04,31, 07,07,07 ; water
RGB 27,31,27, 31,31,07, 31,16,01, 07,07,07 ; yellow
RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; brown
RGB 27,31,27, 15,31,31, 05,17,31, 07,07,07 ; roof
RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
; nite
RGB 15,14,24, 11,11,19, 07,07,12, 00,00,00 ; gray
RGB 15,14,24, 14,07,17, 13,00,08, 00,00,00 ; red
RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; green
RGB 15,14,24, 05,05,17, 03,03,10, 00,00,00 ; water
RGB 30,30,11, 16,14,18, 16,14,10, 00,00,00 ; yellow
RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; brown
RGB 15,14,24, 13,12,23, 11,09,20, 00,00,00 ; roof
RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
; dark
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; gray
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; red
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; green
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; water
RGB 30,30,11, 00,00,00, 00,00,00, 00,00,00 ; yellow
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; brown
RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; roof
RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
; indoor
RGB 30,28,26, 19,19,19, 13,13,13, 07,07,07 ; gray
RGB 30,28,26, 31,19,24, 30,10,06, 07,07,07 ; red
RGB 18,24,09, 15,20,01, 09,13,00, 07,07,07 ; green
RGB 30,28,26, 15,16,31, 09,09,31, 07,07,07 ; water
RGB 30,28,26, 31,31,07, 31,16,01, 07,07,07 ; yellow
RGB 26,24,17, 21,17,07, 16,13,03, 07,07,07 ; brown
RGB 30,28,26, 17,19,31, 14,16,31, 07,07,07 ; roof
RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
; overworld water
; morn/day
RGB 23, 23, 31
RGB 18, 19, 31
RGB 13, 12, 31
RGB 07, 07, 07
; nite
RGB 15, 13, 27
RGB 10, 09, 20
RGB 04, 03, 18
RGB 00, 00, 00

View File

@ -0,0 +1,113 @@
PalPacket_9b96:
db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ba6:
db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bb6:
db $51, $41, $00, $42, $00, $43, $00, $44, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bc6:
db $51, $4c, $00, $4c, $00, $4c, $00, $4c, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bd6:
db $51, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9be6:
db $51, $36, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bf6:
db $51, $37, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c06:
db $51, $38, $00, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c16:
db $51, $3a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c26:
db $51, $3b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c36:
db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c46:
db $51, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c56:
db $51, $2e, $00, $2f, $00, $30, $00, $31, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c66:
db $51, $1a, $00, $1a, $00, $1a, $00, $1a, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c76:
db $51, $32, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c86:
db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c96:
db $51, $3d, $00, $3e, $00, $3f, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ca6:
db $51, $33, $00, $34, $00, $1b, $00, $1f, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cb6:
db $51, $1b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cc6:
db $51, $1c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cd6:
db $51, $35, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ce6:
db $01, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cf6:
db $09, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d06:
db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d16:
db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d26:
db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d36:
db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d46:
db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d56:
db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d66:
db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d76:
db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d86:
db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
PalPacket_9d96:
db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28
PalPacket_9da6:
db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
PalPacket_9db6:
db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
PalPacket_9dc6:
db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
PalPacket_9dd6:
db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
PalPacket_9de6:
db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea

View File

@ -1,393 +1,394 @@
; $00
RGB 31, 31, 31
RGB 22, 25, 19
RGB 16, 21, 30
RGB 00, 00, 00
; $01
RGB 31, 31, 31
RGB 27, 28, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $02
RGB 31, 31, 31
RGB 24, 28, 19
RGB 15, 20, 31
RGB 00, 00, 00
; $03
RGB 31, 31, 31
RGB 24, 24, 24
RGB 15, 20, 31
RGB 00, 00, 00
; $04
RGB 31, 31, 31
RGB 21, 23, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $05
RGB 31, 31, 31
RGB 24, 21, 27
RGB 15, 20, 31
RGB 00, 00, 00
; $06
RGB 31, 31, 31
RGB 31, 24, 16
RGB 15, 20, 31
RGB 00, 00, 00
; $07
RGB 31, 31, 31
RGB 25, 30, 26
RGB 15, 20, 31
RGB 00, 00, 00
; $08
RGB 31, 31, 31
RGB 31, 25, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $09
RGB 31, 31, 31
RGB 31, 20, 19
RGB 15, 20, 31
RGB 00, 00, 00
; $0a
RGB 31, 31, 31
RGB 31, 26, 19
RGB 15, 20, 31
RGB 00, 00, 00
; $0b
RGB 31, 31, 31
RGB 27, 28, 27
RGB 15, 20, 31
RGB 00, 00, 00
; $0c
RGB 31, 31, 31
RGB 24, 30, 23
RGB 15, 20, 31
RGB 00, 00, 00
; $0d
RGB 31, 31, 31
RGB 29, 24, 29
RGB 15, 20, 31
RGB 00, 00, 00
; $0e
RGB 31, 31, 31
RGB 26, 23, 29
RGB 15, 20, 31
RGB 00, 00, 00
; $0f
RGB 31, 31, 31
RGB 25, 23, 20
RGB 15, 20, 31
RGB 00, 00, 00
; $10
RGB 31, 31, 31
RGB 29, 26, 18
RGB 15, 20, 31
RGB 00, 00, 00
; $11
RGB 31, 31, 31
RGB 31, 21, 18
RGB 15, 20, 31
RGB 00, 00, 00
; $12
RGB 31, 31, 31
RGB 26, 25, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $13
RGB 31, 31, 31
RGB 22, 21, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $14
RGB 31, 31, 31
RGB 22, 25, 21
RGB 15, 20, 31
RGB 00, 00, 00
; $15
RGB 31, 31, 31
RGB 21, 21, 22
RGB 15, 20, 31
RGB 00, 00, 00
; $16
RGB 31, 31, 31
RGB 31, 20, 20
RGB 15, 20, 31
RGB 00, 00, 00
; $17
RGB 31, 31, 31
RGB 26, 26, 26
RGB 15, 20, 31
RGB 00, 00, 00
; $18
RGB 31, 31, 31
RGB 21, 14, 09
RGB 15, 20, 20
RGB 00, 00, 00
; $19
RGB 31, 31, 31
RGB 12, 28, 22
RGB 15, 20, 20
RGB 00, 00, 00
; $1a
RGB 31, 31, 31
RGB 07, 07, 07
RGB 02, 03, 03
RGB 00, 00, 00
; $1b
RGB 31, 31, 31
RGB 30, 22, 17
RGB 16, 14, 19
RGB 00, 00, 00
; $1c
RGB 31, 31, 31
RGB 18, 20, 27
RGB 11, 15, 23
RGB 00, 00, 00
; $1d
RGB 31, 31, 31
RGB 31, 20, 10
RGB 26, 10, 06
RGB 00, 00, 00
; $1e
RGB 31, 31, 31
RGB 21, 25, 29
RGB 14, 19, 25
RGB 00, 00, 00
; $1f
RGB 31, 31, 31
RGB 27, 22, 24
RGB 21, 15, 23
RGB 00, 00, 00
; $20
RGB 31, 31, 31
RGB 28, 20, 15
RGB 21, 14, 09
RGB 00, 00, 00
; $21
RGB 31, 31, 31
RGB 20, 26, 16
RGB 09, 20, 11
RGB 00, 00, 00
; $22
RGB 31, 31, 31
RGB 30, 22, 24
RGB 28, 15, 21
RGB 00, 00, 00
; $23
RGB 31, 31, 31
RGB 31, 28, 14
RGB 26, 20, 00
RGB 00, 00, 00
; $24
RGB 31, 31, 31
RGB 26, 21, 22
RGB 15, 15, 18
RGB 00, 00, 00
; $25
RGB 31, 31, 31
RGB 23, 19, 13
RGB 14, 12, 17
RGB 00, 00, 00
; $26
RGB 31, 31, 31
RGB 16, 18, 21
RGB 10, 12, 18
RGB 00, 00, 00
; $27
RGB 31, 31, 31
RGB 22, 15, 16
RGB 17, 02, 05
RGB 00, 00, 00
; $28
RGB 31, 31, 31
RGB 15, 20, 20
RGB 05, 16, 16
RGB 00, 00, 00
; $29
RGB 31, 31, 31
RGB 23, 15, 19
RGB 14, 04, 12
RGB 00, 00, 00
; $2a
RGB 31, 31, 31
RGB 20, 17, 18
RGB 18, 13, 11
RGB 00, 00, 00
; $2b
RGB 31, 31, 31
RGB 23, 21, 16
RGB 12, 12, 10
RGB 00, 00, 00
; $2c
RGB 31, 31, 31
RGB 21, 25, 29
RGB 30, 22, 24
RGB 00, 00, 00
; $2d
RGB 31, 31, 31
RGB 26, 23, 16
RGB 29, 14, 09
RGB 00, 00, 00
; $2e
RGB 31, 31, 31
RGB 18, 18, 18
RGB 10, 10, 10
RGB 00, 00, 00
; $2f
RGB 31, 31, 31
RGB 30, 26, 15
RGB 00, 23, 00
RGB 00, 00, 00
; $30
RGB 31, 31, 31
RGB 30, 26, 15
RGB 31, 23, 00
RGB 00, 00, 00
; $31
RGB 31, 31, 31
RGB 30, 26, 15
RGB 31, 00, 00
RGB 00, 00, 00
; $32
RGB 31, 31, 31
RGB 29, 26, 19
RGB 27, 20, 14
RGB 00, 00, 00
; $33
RGB 31, 31, 31
RGB 24, 20, 10
RGB 21, 00, 04
RGB 00, 00, 00
; $34
RGB 31, 31, 31
RGB 31, 20, 10
RGB 21, 00, 04
RGB 00, 00, 00
; $35
RGB 31, 31, 31
RGB 30, 26, 16
RGB 16, 12, 09
RGB 00, 00, 00
; $36
RGB 31, 31, 31
RGB 15, 28, 26
RGB 12, 22, 26
RGB 03, 16, 14
; $37
RGB 31, 31, 31
RGB 15, 28, 26
RGB 23, 24, 24
RGB 00, 00, 00
; $38
RGB 31, 31, 24
RGB 07, 27, 19
RGB 26, 20, 10
RGB 19, 12, 08
; $39
RGB 31, 31, 31
RGB 31, 28, 14
RGB 31, 13, 31
RGB 00, 00, 00
; $3a
RGB 31, 31, 31
RGB 16, 18, 21
RGB 10, 12, 18
RGB 00, 00, 00
; $3b
RGB 31, 31, 31
RGB 23, 21, 16
RGB 12, 12, 10
RGB 00, 00, 00
; $3c
RGB 31, 31, 31
RGB 31, 14, 00
RGB 07, 11, 15
RGB 00, 00, 00
; $3d
RGB 31, 31, 31
RGB 26, 21, 22
RGB 26, 10, 06
RGB 00, 00, 00
; $3e
RGB 31, 31, 31
RGB 30, 27, 04
RGB 24, 20, 11
RGB 00, 00, 00
; $3f
RGB 31, 31, 31
RGB 31, 13, 25
RGB 24, 20, 11
RGB 00, 00, 00
; $40
RGB 31, 31, 31
RGB 16, 19, 29
RGB 24, 20, 11
RGB 00, 00, 00
; $41
RGB 31, 31, 31
RGB 30, 22, 24
RGB 18, 18, 18
RGB 16, 10, 07
; $42
RGB 31, 31, 31
RGB 21, 25, 29
RGB 18, 18, 18
RGB 16, 10, 07
; $43
RGB 31, 31, 31
RGB 20, 26, 16
RGB 18, 18, 18
RGB 16, 10, 07
; $44
RGB 31, 31, 31
RGB 31, 28, 14
RGB 18, 18, 18
RGB 16, 10, 07
; $45
RGB 31, 31, 31
RGB 18, 18, 18
RGB 26, 10, 06
RGB 00, 00, 00
; $46
RGB 31, 31, 31
RGB 30, 22, 24
RGB 28, 15, 21
RGB 00, 00, 00
; $47
RGB 31, 31, 31
RGB 26, 20, 00
RGB 16, 19, 29
RGB 00, 00, 00
; $48
RGB 31, 31, 31
RGB 16, 02, 30
RGB 15, 20, 31
RGB 00, 00, 00
; $49
RGB 31, 31, 31
RGB 16, 13, 04
RGB 15, 20, 31
RGB 00, 00, 00
; $4a
RGB 31, 31, 31
RGB 28, 04, 02
RGB 15, 20, 31
RGB 00, 00, 00
; $4b
RGB 31, 31, 31
RGB 18, 23, 31
RGB 15, 20, 31
RGB 00, 00, 00
; $4c
RGB 31, 31, 31
RGB 24, 20, 11
RGB 18, 13, 11
RGB 00, 00, 00
; $4d
RGB 31, 31, 31
RGB 31, 31, 31
RGB 25, 30, 00
RGB 25, 30, 00
; $4e
RGB 00, 00, 00
RGB 08, 11, 11
RGB 21, 21, 21

View File

@ -1,227 +0,0 @@
; morn
; gray
RGB 28, 31, 16
RGB 21, 21, 21
RGB 13, 13, 13
RGB 07, 07, 07
; red
RGB 28, 31, 16
RGB 31, 19, 24
RGB 30, 10, 06
RGB 07, 07, 07
; green
RGB 22, 31, 10
RGB 12, 25, 01
RGB 05, 14, 00
RGB 07, 07, 07
; water
RGB 31, 31, 31
RGB 08, 12, 31
RGB 01, 04, 31
RGB 07, 07, 07
; yellow
RGB 28, 31, 16
RGB 31, 31, 07
RGB 31, 16, 01
RGB 07, 07, 07
; brown
RGB 28, 31, 16
RGB 24, 18, 07
RGB 20, 15, 03
RGB 07, 07, 07
; roof
RGB 28, 31, 16
RGB 15, 31, 31
RGB 05, 17, 31
RGB 07, 07, 07
; text
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; day
; gray
RGB 27, 31, 27
RGB 21, 21, 21
RGB 13, 13, 13
RGB 07, 07, 07
; red
RGB 27, 31, 27
RGB 31, 19, 24
RGB 30, 10, 06
RGB 07, 07, 07
; green
RGB 22, 31, 10
RGB 12, 25, 01
RGB 05, 14, 00
RGB 07, 07, 07
; water
RGB 31, 31, 31
RGB 08, 12, 31
RGB 01, 04, 31
RGB 07, 07, 07
; yellow
RGB 27, 31, 27
RGB 31, 31, 07
RGB 31, 16, 01
RGB 07, 07, 07
; brown
RGB 27, 31, 27
RGB 24, 18, 07
RGB 20, 15, 03
RGB 07, 07, 07
; roof
RGB 27, 31, 27
RGB 15, 31, 31
RGB 05, 17, 31
RGB 07, 07, 07
; text
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; nite
; gray
RGB 15, 14, 24
RGB 11, 11, 19
RGB 07, 07, 12
RGB 00, 00, 00
; red
RGB 15, 14, 24
RGB 14, 07, 17
RGB 13, 00, 08
RGB 00, 00, 00
; green
RGB 15, 14, 24
RGB 08, 13, 19
RGB 00, 11, 13
RGB 00, 00, 00
; water
RGB 15, 14, 24
RGB 05, 05, 17
RGB 03, 03, 10
RGB 00, 00, 00
; yellow
RGB 30, 30, 11
RGB 16, 14, 18
RGB 16, 14, 10
RGB 00, 00, 00
; brown
RGB 15, 14, 24
RGB 12, 09, 15
RGB 08, 04, 05
RGB 00, 00, 00
; roof
RGB 15, 14, 24
RGB 13, 12, 23
RGB 11, 09, 20
RGB 00, 00, 00
; text
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; dark
; gray
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; red
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; green
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; water
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; yellow
RGB 30, 30, 11
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; brown
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; roof
RGB 01, 01, 02
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
; text
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; indoor
; gray
RGB 30, 28, 26
RGB 19, 19, 19
RGB 13, 13, 13
RGB 07, 07, 07
; red
RGB 30, 28, 26
RGB 31, 19, 24
RGB 30, 10, 06
RGB 07, 07, 07
; green
RGB 18, 24, 09
RGB 15, 20, 01
RGB 09, 13, 00
RGB 07, 07, 07
; water
RGB 30, 28, 26
RGB 15, 16, 31
RGB 09, 09, 31
RGB 07, 07, 07
; yellow
RGB 30, 28, 26
RGB 31, 31, 07
RGB 31, 16, 01
RGB 07, 07, 07
; brown
RGB 26, 24, 17
RGB 21, 17, 07
RGB 16, 13, 03
RGB 07, 07, 07
; roof
RGB 30, 28, 26
RGB 17, 19, 31
RGB 14, 16, 31
RGB 07, 07, 07
; text
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; overworld water
; morn/day
RGB 23, 23, 31
RGB 18, 19, 31
RGB 13, 12, 31
RGB 07, 07, 07
; nite
RGB 15, 13, 27
RGB 10, 09, 20
RGB 04, 03, 18
RGB 00, 00, 00

View File

@ -0,0 +1,15 @@
db $ab, $03, $57, $24, $ac, $0e, $13, $32
db $be, $30, $5b, $4c, $47, $60, $ed, $f2
db $ab, $03, $55, $26, $aa, $0a, $13, $3a
db $be, $28, $33, $24, $6e, $71, $df, $b0
db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c
db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d
db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c
db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd

View File

@ -1,4 +1,4 @@
SGBBorderMap:
db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $54, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54
db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54

View File

@ -38,15 +38,15 @@ UnownWords: ; fba5a
dw UnownWord26
; fba90
UnownWord1: unownword "ANGRY"
UnownWord2: unownword "BEAR"
UnownWord3: unownword "CHASE"
UnownWord4: unownword "DIRECT"
UnownWord5: unownword "ENGAGE"
UnownWord6: unownword "FIND"
UnownWord7: unownword "GIVE"
UnownWord8: unownword "HELP"
UnownWord9: unownword "INCREASE"
UnownWord1: unownword "ANGRY"
UnownWord2: unownword "BEAR"
UnownWord3: unownword "CHASE"
UnownWord4: unownword "DIRECT"
UnownWord5: unownword "ENGAGE"
UnownWord6: unownword "FIND"
UnownWord7: unownword "GIVE"
UnownWord8: unownword "HELP"
UnownWord9: unownword "INCREASE"
UnownWord10: unownword "JOIN"
UnownWord11: unownword "KEEP"
UnownWord12: unownword "LAUGH"

View File

@ -1,13 +1,19 @@
# Assembly Programming
- [**RGBDS documentation**][rgbds-doc]: Includes information on the RGBDS tools and the assembly language syntax.
- [**GBZ80 instructions**][gbz80-instructions]: List of CPU instructions and their effects.
- [**RGBASM features**][rgbasm-features]: How to use the assembler features: constants, labels, sections, macros, etc.
- [**RGBLINK features**][rgblink-features]: How to use the linker, including the [pokecrystal.link](/pokecrystal.link) linkerscript.
- [**Pan Docs**][pan-docs]: Everything You Always Wanted To Know About GAMEBOY (but were afraid to ask).
- [**GameBoy Programming Manual][gb-manual]: The official GameBoy programming and hardware manual by Nintendo.
- [**GameBoy Programming Manual**][gb-manual]: The official GameBoy programming and hardware manual by Nintendo.
- [**GameBoy Opcode Summary**][gb-opcodes]: Describes the opcodes of GameBoy assembly language.
- [**GameBoy Memory Map**][gb-memory-map]: Describes the GameBoy Color address space.
- [**awesome-gbdev**][awesome-gbdev]: A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.
[rgbds-doc]: https://rednex.github.io/
[rgbasm-features]: https://rednex.github.io/rgbds/rgbasm.5.html
[rgblink-features]: https://rednex.github.io/rgbds/rgblink.5.html
[gbz80-instructions]: https://rednex.github.io/rgbds/gbz80.7.html
[pan-docs]: http://bgb.bircd.org/pandocs.htm
[gb-manual]: https://ia801906.us.archive.org/19/items/GameBoyProgManVer1.1/GameBoyProgManVer1.1.pdf
[gb-opcodes]: http://www.devrs.com/gb/files/opcodes.html

View File

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

View File

@ -5,7 +5,26 @@ Defined in [macros/scripts/move_anim.asm](/macros/scripts/move_anim.asm) and [ba
## `$00``$EF`: `anim_wait` *length*
## `$D0`: `anim_obj` *object*, *x*, *y*, *param*
## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param*
The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object.
*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile.
Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile.
Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player).
Some sample values are:
- 0: player left border
- 6: player center
- -15: enemy center
- -10: enemy right border
Values for *y1* are also between -16 to 31; the useful range is between 2 to 14.
Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the
bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border).
The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player).
## `$D1`: `anim_1gfx` *gfx*

View File

@ -2,99 +2,131 @@
Defined in [macros/scripts/audio.asm](/macros/scripts/audio.asm) and [audio/engine.asm:MusicCommands](/audio/engine.asm).
See also: [Sound Engine Commands](https://github.com/pret/pokecrystal/wiki/Sound-Engine-Commands)
## `musicheader` *n*, *index*, *address*
## `cry_header` *n*, *index*, *address*
## `note` *pitch*, *length*
(Used on all channels)
The high nibble is the note to play, 0 is rest, 1 is C_ 2 is C# ...etc... $C is B_
The low nibble is the length of the note. 1 gets added to this, so 0 still has a length.
(Used on all channels)
The high nibble is the note to play. 0 is rest, 1 is `C_`, 2 is `C#`, etc; `$C` is `B_`.
The low nibble is the length of the note. 1 gets added to this, so 0 still has a length.
## `sound` *pitch*, *octave*, *intensity*, *frequency*
## `noise` *pitch*, *duration*, *intensity*, *frequency*
## `$D0``$D7`: `octave` *n*
(Used in channels 1-3)
Sets the octave for the notes played on the channel.
$D7 is the lowest octave, where as $D0 is the highest.
(Used in channels 1-3)
Sets the octave for the notes played on the channel.
`$D7` is the lowest octave, whereas `$D0` is the highest.
## `$D8`: `notetype` *length*[, *intensity*]
(Used in channels 1-4)(When using in channel 4, the intensity byte is not needed)
Sets the length multiplier of notes on the channel, and the envelope for channels 1-3 (see "intensity")
The first byte only reads the lower 4-bits, and multiplies it to the note length. A larger number means slower playback/longer notes. $C is commonly used for a normal timeframe.
The second byte is identical to the first byte in the intensity command.
(Used in channels 1-4) (When using in channel 4, the *intensity* byte is not needed)
Sets the length multiplier of notes on the channel, and the envelope for channels 1-3 (see `intensity`).
The first byte only reads the lower 4 bits, and multiplies it by the note length. A larger number means slower playback/longer notes. `$C` is commonly used for a normal timeframe.
The second byte is identical to the first byte in the `intensity` command.
## `$D9`: `pitchoffset` *octave*, *key*
(Used in channels 1-3)
Transposes all notes played on the channel by a value.
The high nibble determins how many octaves to subtract, while the low nibble is how many note values to add.
Ex: Setting a value of $13 would make a C_4 play as a D#3
(Used in channels 1-3)
Transposes all notes played on the channel by a value.
The high nibble determins how many octaves to subtract, while the low nibble is how many note values to add.
Ex: Setting a value of `$13` would make a `C_`4 play as a `D#`3.
## `$DA`: `tempo` *tempo*
Sets the tempo for all playing channels. This should only be called on channel 1.
The formula to convert from this tempo to BPM is: BPM = 19200 / Tempo
This formula also works backwards to convert BPM to tempo: Tempo = 19200 / BPM
Only set or change this value when all playing channels are triggering a note or rest at the same time, otherwise desyncs may happen.
(Used in channel 1)
Sets the tempo for all playing channels. This should only be called on channel 1.
The formula to convert from this tempo to BPM is: BPM = 19200 / Tempo
This formula also works backwards to convert BPM to tempo: Tempo = 19200 / BPM
Only set or change this value when all playing channels are triggering a note or rest at the same time, otherwise desyncs may happen.
## `$DB`: `dutycycle` *duty_cycle*
(Used on channels 1&2)
Sets the square duty (sound) for the current channel. To change the sound for channel 3, use intensity. Only accepted values are 0-3.
0=12.5% waveform _______-
1=25% waveform ______--
2=50% waveform ____----
3=75% waveform __------ (Sounds the same as 25%)
(Used on channels 1&2)
Sets the square duty (sound) for the current channel. To change the sound for channel 3, use intensity. The only accepted values are 0-3.
- 0 = 12.5% waveform: `_______¯`
- 1 = 25% waveform: `______¯¯`
- 2 = 50% waveform: `____¯¯¯¯`
- 3 = 75% waveform: `__¯¯¯¯¯¯` (sounds the same as 25%)
## `$DC`: `intensity` *intensity*
(Used on channels 1-3)(Used to set instrument on channel 3)
For channels 1&2:
This sets the volume and fade of the notes. The high nibble is the starting volume, 0 is mute, $F is max. Bit 3 determines the fade direction (0=Fade to silence, 1=Fade to max volume). The last 3 bits is how fast the fade happens. 0 is no fade, 1 is fastest fade, 7 is slowest fade.
For channel 3:
The high nibble sets the volume of channel 3. Only 4 values are accepted (0=Mute, 1=100% volume, 2=50% volume, 3=25% volume). The low nibble sets the instrument/waveform for channel 3 to play. Crystal natively has 10 instruments, values 0-9.
(Used on channels 1-3) (Used to set instrument on channel 3)
For channels 1&2:
This sets the volume and fade of the notes. The high nibble is the starting volume, 0 is mute, $F is max. Bit 3 determines the fade direction (0=Fade to silence, 1=Fade to max volume). The last 3 bits is how fast the fade happens. 0 is no fade, 1 is fastest fade, 7 is slowest fade.
For channel 3:
The high nibble sets the volume of channel 3. Only 4 values are accepted (0=Mute, 1=100% volume, 2=50% volume, 3=25% volume). The low nibble sets the instrument/waveform for channel 3 to play. Crystal natively has 10 instruments, values 0-9.
## `$DD`: `soundinput` *input*
## `$DE`: `sound_duty` *a*, *b*, *c*, *d*
(Used on channels 1&2)
This cycles the channel through 4 duty definitions, one per frame.
Each pair of bits defines a duty, same as the dutycycle command.
This is mostly only used in cries, sfx, and Jigglypuff's song in RBY.
(Used on channels 1&2)
This cycles the channel through 4 duty definitions, one per frame.
Each pair of bits defines a duty, same as the `dutycycle` command.
This is mostly only used in cries, SFX, and Jigglypuff's song in RBY.
## `$DF`: `togglesfx`
## `$E0`: `slidepitchto` *duration*, *octave*, *pitch*
(Used on channel 1)
This bends the pitch of the note played next, and only that note.
The first byte tells how many frames to play the destination note for, before the length of the note is up.
The high nibble of the second byte is the octave of the destination note.
The low nibble of the second byte is the destination note. If rest is used as the destination note, then the whole destination pitch becomes $0000 (the lowest pitch).
(Used on channel 1)
This bends the pitch of the note played next, and only that note.
The first byte tells how many frames to play the destination note for, before the length of the note is up.
The high nibble of the second byte is the octave of the destination note.
The low nibble of the second byte is the destination note. If rest is used as the destination note, then the whole destination pitch becomes `$0000` (the lowest pitch).
## `$E1`: `vibrato` *delay*, *extent*
(Used on channels 1-3)
Modifies pitch after the timer runs out, making notes sound less "flat"
First byte will set the delay, decrementing by one each frame. When it tries subtracting from 0, it starts decrementing from the speed timer.
Second byte, high nibble is the speed timer. It will decrement by one each frame, when it tries decrementing from 0, it mods the frequencey by half of pitch depth, and resets itself to it's initial value.
Second byte, low nibble is the pitch depth. Half of this value will alternate between adding to the pitch, and subtracting from the pitch each time speed timer resets. When this is an odd number, the value added to the pitch will be greater than the value subtracted from the pitch.
EX. normal pitch of 405, if pitch depth=3, it will alternate between 407 and 404. Speed timer does NOT reset when a new note is played. only when the song stops or changes. (also, because a timer counts 0, a timer of 5 will take 6 frames to change)
(Used on channels 1-3)
Modifies pitch after the timer runs out, making notes sound less "flat".
First byte will set the delay, decrementing by one each frame. When it tries subtracting from 0, it starts decrementing from the speed timer.
Second byte, high nibble is the speed timer. It will decrement by one each frame, when it tries decrementing from 0, it mods the frequencey by half of pitch depth, and resets itself to it's initial value.
Second byte, low nibble is the pitch depth. Half of this value will alternate between adding to the pitch, and subtracting from the pitch each time speed timer resets. When this is an odd number, the value added to the pitch will be greater than the value subtracted from the pitch.
Ex: normal pitch of 405, if pitch depth = 3, it will alternate between 407 and 404. Speed timer does NOT reset when a new note is played. only when the song stops or changes. (Also, because a timer counts 0, a timer of 5 will take 6 frames to change.)
## `$E2`: `unknownmusic0xe2` *unknown*
## `$E3`: `togglenoise` *id*
(Used on channel 4)
Sets the "drum kit" to be used. This needs to be called before channel 4 can make any noise.
Calling it more than once in a song will mute the channel. (Keep it out of loops!)
(Used on channel 4)
Sets the "drum kit" to be used. This needs to be called before channel 4 can make any noise.
Calling it more than once in a song will mute the channel. (Keep it out of loops!)
## `$E4`: `panning` *tracks*
## `$E5`: `volume` *volume*
## `$E6`: `tone` *tone*
(Used on channel 1-3)
This modifies the pitch of the notes (fine tuning).
It makes notes sound better if multiple channels play the same note simultaniously.
A lot of GSC songs set the main melody channel with a value of 1, and the secondary channel (not bass) as 2.
(Used on channel 1-3)
This modifies the pitch of the notes (fine tuning).
It makes notes sound better if multiple channels play the same note simultaneously.
A lot of GSC songs set the main melody channel with a value of 1, and the secondary channel (not bass) as 2.
## `$E7`: `unknownmusic0xe7` *unknown*

View File

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

View File

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

View File

@ -145,7 +145,7 @@ _CGB_FinishBattleScreenLayout: ; 8e23
ld bc, 6 * SCREEN_WIDTH
ld a, PAL_BATTLE_BG_TEXT
call ByteFill
ld hl, Palettes_979c
ld hl, BattleObjectPals
ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
ld bc, 6 palettes
ld a, BANK(UnknOBPals)
@ -621,8 +621,8 @@ _CGB_Evolution: ; 91e4
ld a, [PlayerHPPal]
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld hl, Palettes_979c
ld de, UnknOBPals palette 2
ld hl, BattleObjectPals
ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
ld bc, 6 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM

View File

@ -43,6 +43,7 @@ CheckShininess:
and a
ret
; unreferenced
CheckContestMon:
; Check a mon's DVs at hl in the bug catching contest.
; Return carry if its DVs are good enough to place in the contest.
@ -108,7 +109,8 @@ InitPartyMenuPalettes:
call WipeAttrMap
ret
SGB_ApplyPartyMenuHPPals: ; 8ade SGB layout $fc
; SGB layout for SCGB_PARTY_MENU_HP_PALS
SGB_ApplyPartyMenuHPPals: ; 8ade
ld hl, wHPPals
ld a, [wSGBPals]
ld e, a
@ -343,11 +345,11 @@ ApplyHPBarPals:
ret
.Enemy:
ld de, BGPals + 2 palettes + 2
ld de, BGPals palette PAL_BATTLE_BG_ENEMY_HP + 2
jr .okay
.Player:
ld de, BGPals + 3 palettes + 2
ld de, BGPals palette PAL_BATTLE_BG_PLAYER_HP + 2
.okay
ld l, c
@ -395,11 +397,11 @@ LoadStatsScreenPals:
ld a, $5
ld [rSVBK], a
ld a, [hli]
ld [UnknBGPals], a
ld [UnknBGPals + 8 * 2], a
ld [UnknBGPals palette 0], a
ld [UnknBGPals palette 2], a
ld a, [hl]
ld [UnknBGPals + 1], a
ld [UnknBGPals + 8 * 2 + 1], a
ld [UnknBGPals palette 0 + 1], a
ld [UnknBGPals palette 2 + 1], a
pop af
ld [rSVBK], a
call ApplyPals
@ -457,7 +459,7 @@ Function95f0:
; XXX
ld hl, .Palette
ld de, UnknBGPals
ld bc, 8
ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
call ApplyPals
@ -521,10 +523,10 @@ LoadPalette_White_Col1_Col2_Black:
ld a, $5
ld [rSVBK], a
ld a, $7fff % $100
ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [de], a
inc de
ld a, $7fff / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [de], a
inc de
@ -574,7 +576,7 @@ ResetBGPals:
ld [rSVBK], a
ld hl, UnknBGPals
ld c, 8
ld c, 1 palettes
.loop
ld a, $ff
ld [hli], a
@ -655,7 +657,8 @@ ApplyAttrMap:
ld [rVBK], a
ret
CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc
; CGB layout for SCGB_PARTY_MENU_HP_PALS
CGB_ApplyPartyMenuHPPals: ; 96f3
ld hl, wHPPals
ld a, [wSGBPals]
ld e, a
@ -746,7 +749,7 @@ GetMonPalettePointer_:
Function9779: mobile
call CheckCGB
ret z
ld hl, Palettes_979c
ld hl, BattleObjectPals
ld a, $90
ld [rOBPI], a
ld c, 6 palettes
@ -755,15 +758,15 @@ Function9779: mobile
ld [rOBPD], a
dec c
jr nz, .loop
ld hl, Palettes_979c
ld hl, BattleObjectPals
ld de, UnknOBPals palette 2
ld bc, 2 palettes
ld a, $5
call FarCopyWRAM
ret
Palettes_979c:
INCLUDE "data/palettes/979c.pal"
BattleObjectPals:
INCLUDE "data/palettes/battle_objects.pal"
Function97cc:
; XXX
@ -909,9 +912,9 @@ InitCGBPals::
ld [rBGPI], a
ld c, 4 * 8
.bgpals_loop
ld a, $7fff % $100
ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [rBGPD], a
ld a, $7fff / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [rBGPD], a
dec c
jr nz, .bgpals_loop
@ -919,9 +922,9 @@ InitCGBPals::
ld [rOBPI], a
ld c, 4 * 8
.obpals_loop
ld a, $7fff % $100
ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [rOBPD], a
ld a, $7fff / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [rOBPD], a
dec c
jr nz, .obpals_loop
@ -940,9 +943,9 @@ InitCGBPals::
.LoadWhitePals:
ld c, 4 * 16
.loop
ld a, $7fff % $100
ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [hli], a
ld a, $7fff / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [hli], a
dec c
jr nz, .loop
@ -1006,7 +1009,7 @@ PushSGBBorder:
SGB_ClearVRAM:
ld hl, VTiles0
ld bc, $2000
ld bc, VRAM_End - VTiles0
xor a
call ByteFill
ret
@ -1067,7 +1070,7 @@ SGBBorder_PushBGPals:
ld [rBGP], a
ld hl, PredefPals
ld de, VTiles1
ld bc, $1000
ld bc, $100 tiles
call CopyData
call DrawDefaultTiles
ld a, $e3
@ -1194,90 +1197,13 @@ SGBDelayCycles:
jr nz, .wait
ret
BlkPacket_9a86:
db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00
INCLUDE "data/palettes/blk_packets.asm"
BlkPacket_9a96:
db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9aa6:
db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00
db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07
BlkPacket_9ac6:
db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9ad6:
db $21, $01, $07, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9ae6:
db $21, $01, $07, $05, $01, $01, $08, $08, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9af6:
db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b06:
db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f
db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11
BlkPacket_9b26:
db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $00, $12, $01, $02, $00
db $0c, $02, $12, $03, $02, $00, $0c, $04, $12, $05, $02, $00, $0c, $06, $12, $07
db $02, $00, $0c, $08, $12, $09, $02, $00, $0c, $0a, $12, $0b, $00, $00, $00, $00
BlkPacket_9b56:
db $22, $03, $07, $20, $00, $00, $13, $04, $03, $0f, $00, $06, $13, $11, $03, $05
db $0f, $01, $12, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b76:
db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00
BlkPacket_9b86:
db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00
PalPacket_9b96: db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ba6: db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bb6: db $51, $41, $00, $42, $00, $43, $00, $44, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bc6: db $51, $4c, $00, $4c, $00, $4c, $00, $4c, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bd6: db $51, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9be6: db $51, $36, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bf6: db $51, $37, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c06: db $51, $38, $00, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c16: db $51, $3a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c26: db $51, $3b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c36: db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c46: db $51, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c56: db $51, $2e, $00, $2f, $00, $30, $00, $31, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c66: db $51, $1a, $00, $1a, $00, $1a, $00, $1a, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c76: db $51, $32, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c86: db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9c96: db $51, $3d, $00, $3e, $00, $3f, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ca6: db $51, $33, $00, $34, $00, $1b, $00, $1f, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cb6: db $51, $1b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cc6: db $51, $1c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cd6: db $51, $35, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ce6: db $01, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9cf6: db $09, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d06: db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d16: db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d26: db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d36: db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d46: db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d56: db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d66: db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d76: db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00
PalPacket_9d86: db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
PalPacket_9d96: db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28
PalPacket_9da6: db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
PalPacket_9db6: db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
PalPacket_9dc6: db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
PalPacket_9dd6: db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
PalPacket_9de6: db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
INCLUDE "data/palettes/pal_packets.asm"
PredefPals:
INCLUDE "data/palettes/predef.pal"
SGBBorderMap:
INCLUDE "data/sgb_border_map.asm"
SGBBorderPalettes:
@ -1287,20 +1213,10 @@ SGBBorder:
INCBIN "gfx/sgb/sgb_border.2bpp"
HPBarPals:
; green
RGB 30, 26, 15
RGB 00, 23, 00
; yellow
RGB 30, 26, 15
RGB 31, 21, 00
; red
RGB 30, 26, 15
RGB 31, 00, 00
INCLUDE "data/palettes/hp_bar.pal"
ExpBarPalette:
; blue
RGB 30, 26, 15
RGB 04, 17, 31
INCLUDE "data/palettes/exp_bar.pal"
INCLUDE "gfx/pics/palette_pointers.asm"
INCLUDE "gfx/trainer_palettes.asm"
@ -1314,7 +1230,7 @@ LoadMapPals:
and 7
ld e, a
ld d, 0
ld hl, .TilesetColorsPointers
ld hl, EnvironmentColorsPointers
add hl, de
add hl, de
ld a, [hli]
@ -1405,40 +1321,7 @@ endr
call FarCopyWRAM
ret
.TilesetColorsPointers:
dw .OutdoorColors ; unused
dw .OutdoorColors ; TOWN
dw .OutdoorColors ; ROUTE
dw .IndoorColors ; INDOOR
dw .DungeonColors ; CAVE
dw .Perm5Colors ; 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
.Perm5Colors:
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
INCLUDE "data/maps/environment_colors.asm"
Palette_b309: ; b309 mobile
RGB 31, 31, 31
@ -1453,13 +1336,13 @@ Palette_b311: ; b311 not mobile
RGB 00, 00, 00
TilesetBGPalette:
INCLUDE "data/palettes/tileset_bg.pal"
INCLUDE "data/palettes/overworld/tileset_bg.pal"
MapObjectPals::
INCLUDE "data/palettes/map_objects.pal"
INCLUDE "data/palettes/overworld/map_objects.pal"
RoofPals:
INCLUDE "data/palettes/roofs.pal"
INCLUDE "data/palettes/overworld/roofs.pal"
DiplomaPalettes:
INCLUDE "data/palettes/diploma.pal"
@ -1468,10 +1351,10 @@ PartyMenuOBPals:
INCLUDE "data/palettes/party_menu.pal"
Palettes_b6f1:
INCLUDE "data/palettes/b6f1.pal"
INCLUDE "data/palettes/unknown/b6f1.pal"
Palettes_b719:
INCLUDE "data/palettes/b719.pal"
INCLUDE "data/palettes/unknown/b719.pal"
MalePokegearPals:
INCLUDE "data/palettes/pokegear.pal"
@ -1480,7 +1363,7 @@ FemalePokegearPals:
INCLUDE "data/palettes/pokegear_f.pal"
Palettes_b789:
INCLUDE "data/palettes/b789.pal"
INCLUDE "data/palettes/unknown/b789.pal"
SlotMachinePals:
INCLUDE "data/palettes/slot_machine.pal"

View File

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

View File

@ -126,10 +126,7 @@ LoadOW_BGPal7:: ; 49409
; 49418
Palette_TextBG7: ; 49418
RGB 31, 31, 31
RGB 08, 19, 28
RGB 05, 05, 16
RGB 00, 00, 00
INCLUDE "data/palettes/overworld/bg_text.pal"
; 49420
Function49420:: ; 49420 (12:5420)
@ -144,7 +141,7 @@ Function49420:: ; 49420 (12:5420)
MG_Mobile_Layout01: ; 4942f
call MG_Mobile_Layout_LoadPals
ld de, UnknBGPals palette PAL_BG_TEXT
ld hl, Palette_49478
ld hl, .Palette_49478
ld bc, 1 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
@ -174,7 +171,7 @@ MG_Mobile_Layout01: ; 4942f
ret
; 49478
Palette_49478: ; 49478
.Palette_49478: ; 49478
RGB 31, 31, 31
RGB 26, 31, 00
RGB 20, 16, 03
@ -210,7 +207,7 @@ Function49496: ; 49496
INCLUDE "tilesets/special_palettes.asm"
MG_Mobile_Layout02: ; 49706
ld hl, Palette_49732
ld hl, .Palette_49732
ld de, UnknBGPals
ld bc, 1 palettes
ld a, BANK(UnknBGPals)
@ -218,7 +215,7 @@ MG_Mobile_Layout02: ; 49706
farcall ApplyPals
call MG_Mobile_Layout_WipeAttrMap
farcall ApplyAttrMap
ld hl, Palette_4973a
ld hl, .Palette_4973a
ld de, UnknOBPals
ld bc, 1 palettes
ld a, BANK(UnknOBPals)
@ -226,14 +223,14 @@ MG_Mobile_Layout02: ; 49706
ret
; 49732
Palette_49732: ; 49732
.Palette_49732: ; 49732
RGB 31, 31, 31
RGB 23, 16, 07
RGB 23, 07, 07
RGB 03, 07, 20
; 4973a
Palette_4973a: ; 4973a
.Palette_4973a: ; 4973a
RGB 00, 00, 00
RGB 07, 05, 31
RGB 14, 18, 31
@ -241,17 +238,17 @@ Palette_4973a: ; 4973a
; 49742
Function49742: ; 49742
ld hl, Palette_49757
ld hl, .Palette_49757
ld de, UnknBGPals
ld bc, $40
ld bc, 8 palettes
ld a, $5
call FarCopyWRAM
farcall ApplyPals
ret
; 49757
Palette_49757: ; 49757
INCLUDE "data/palettes/49757.pal"
.Palette_49757: ; 49757
INCLUDE "data/palettes/unknown/49757.pal"
; 49797
_InitMG_Mobile_LinkTradePalMap: ; 49797
@ -326,11 +323,4 @@ InitMG_Mobile_LinkTradePalMap: ; 49856
; 4985a
Unknown_4985a: ; unreferenced
db $ab, $03, $57, $24, $ac, $0e, $13, $32
db $be, $30, $5b, $4c, $47, $60, $ed, $f2
db $ab, $03, $55, $26, $aa, $0a, $13, $3a
db $be, $28, $33, $24, $6e, $71, $df, $b0
db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c
db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d
db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c
db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd
INCLUDE "data/palettes/unknown/4985a.asm"

View File

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

View File

@ -1069,7 +1069,7 @@ TilesetColorTest:
ld hl, VTiles1
lb bc, BANK(DebugColorTestGFX), 1
call Request2bpp
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 0, 0
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
; shop owner try to call us.
ld a, d
cp 1024 >> 8
cp HIGH(1024)
jr c, .NoCall
; If a call has already been queued, don't overwrite

View File

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

View File

@ -46,9 +46,9 @@ InitDisplayForRedCredits: ; 4e8c2
ld hl, UnknBGPals
ld c, 4 tiles
.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 a, (palred 31 + palgreen 31 + palblue 31) / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [hli], a
dec c
jr nz, .load_white_palettes

View File

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

View File

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

View File

@ -861,7 +861,7 @@ HeavyBallMultiplier:
.compare
ld c, a
cp 1024 >> 8 ; 102.4 kg
cp HIGH(1024) ; 102.4 kg
jr c, .lightmon
ld hl, .WeightsTable
@ -892,10 +892,10 @@ HeavyBallMultiplier:
.WeightsTable:
; weight factor, boost
db 2048 >> 8, 0
db 3072 >> 8, 20
db 4096 >> 8, 30
db 65280 >> 8, 40
db HIGH(2048), 0
db HIGH(3072), 20
db HIGH(4096), 30
db HIGH(65280), 40
LureBallMultiplier:
; multiply catch rate by 3 if this is a fishing rod battle

View File

@ -124,28 +124,28 @@ _CheckItem:: ; d244
DoesHLEqualNumItems: ; d27b
ld a, l
cp NumItems % $100
cp LOW(NumItems)
ret nz
ld a, h
cp NumItems / $100
cp HIGH(NumItems)
ret
GetPocketCapacity: ; d283
ld c, MAX_ITEMS
ld a, e
cp NumItems % $100
cp LOW(NumItems)
jr nz, .not_bag
ld a, d
cp NumItems / $100
cp HIGH(NumItems)
ret z
.not_bag
ld c, MAX_PC_ITEMS
ld a, e
cp PCItems % $100
cp LOW(PCItems)
jr nz, .not_pc
ld a, d
cp PCItems / $100
cp HIGH(PCItems)
ret z
.not_pc

View File

@ -162,9 +162,9 @@ TimeCapsule: ; 2805d
ld [de], a
ld hl, wTimeCapsulePartyMon1Species
call Function2868a
ld a, OTPartyMonOT % $100
ld a, LOW(OTPartyMonOT)
ld [wUnusedD102], a
ld a, OTPartyMonOT / $100
ld a, HIGH(OTPartyMonOT)
ld [wUnusedD102 + 1], a
ld de, MUSIC_NONE
call PlayMusic
@ -333,10 +333,10 @@ Gen2ToGen2LinkComms: ; 28177
push bc
ld bc, MAIL_MSG_LENGTH + 1
call CopyBytes
ld a, (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) % $100
ld a, LOW(MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1))
add e
ld e, a
ld a, (MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)) / $100
ld a, HIGH(MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1))
adc d
ld d, a
pop bc
@ -346,10 +346,10 @@ Gen2ToGen2LinkComms: ; 28177
ld b, PARTY_LENGTH
.copy_author_loop
push bc
ld a, (MAIL_MSG_LENGTH + 1) % $100
ld a, LOW(MAIL_MSG_LENGTH + 1)
add e
ld e, a
ld a, (MAIL_MSG_LENGTH + 1) / $100
ld a, HIGH(MAIL_MSG_LENGTH + 1)
adc d
ld d, a
ld bc, MAIL_STRUCT_LENGTH - (MAIL_MSG_LENGTH + 1)
@ -403,9 +403,9 @@ Gen2ToGen2LinkComms: ; 28177
ld de, OTPartyMons
ld bc, OTPartyDataEnd - OTPartyMons
call CopyBytes
ld a, OTPartyMonOT % $100
ld a, LOW(OTPartyMonOT)
ld [wUnusedD102], a
ld a, OTPartyMonOT / $100
ld a, HIGH(OTPartyMonOT)
ld [wUnusedD102 + 1], a
ld de, MUSIC_NONE
call PlayMusic

View File

@ -2812,7 +2812,7 @@ _UpdateSprites:: ; 5920
.fill
ld a, [VramState]
bit 1, a
ld b, SpritesEnd % $100
ld b, LOW(SpritesEnd)
jr z, .ok
ld b, 28 * 4
.ok
@ -2820,7 +2820,7 @@ _UpdateSprites:: ; 5920
cp b
ret nc
ld l, a
ld h, Sprites / $100
ld h, HIGH(Sprites)
ld de, 4
ld a, b
ld c, SCREEN_HEIGHT_PX + 16
@ -3032,11 +3032,11 @@ PRIORITY_HIGH EQU $30
ld l, a
ld a, [hUsedSpriteIndex]
ld c, a
ld b, Sprites / $100
ld b, HIGH(Sprites)
ld a, [hli]
ld [hUsedSpriteTile], a
add c
cp SpritesEnd % $100
cp LOW(SpritesEnd)
jr nc, .full
.addsprite
ld a, [hFFC0]

View File

@ -1570,18 +1570,18 @@ CalcPkmnStatC: ; e17b
.no_overflow_4
ld a, [hQuotient + 1]
cp (1000 / $100) + 1
cp HIGH(MAX_STAT_VALUE + 1) + 1
jr nc, .max_stat
cp 1000 / $100
cp HIGH(MAX_STAT_VALUE + 1)
jr c, .stat_value_okay
ld a, [hQuotient + 2]
cp 1000 % $100
cp LOW(MAX_STAT_VALUE + 1)
jr c, .stat_value_okay
.max_stat
ld a, MAX_STAT_VALUE / $100
ld a, HIGH(MAX_STAT_VALUE)
ld [hMultiplicand + 1], a
ld a, MAX_STAT_VALUE % $100
ld a, LOW(MAX_STAT_VALUE)
ld [hMultiplicand + 2], a
.stat_value_okay
@ -1702,9 +1702,9 @@ GivePoke:: ; e277
ld hl, PartyMon1ID
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld a, 01001 / $100
ld a, HIGH(01001)
ld [hli], a
ld [hl], 01001 % $100
ld [hl], LOW(01001)
pop bc
farcall SetGiftPartyMonCaughtData
jr .skip_nickname

View File

@ -264,7 +264,7 @@ Function104a95: ; 104a95 (41:4a95)
ld a, [rLY]
cp $90
jr c, .ly_loop
ld c, rRP % $100
ld c, LOW(rRP)
ld a, $c0
ld [$ff00+c], a
ld b, 240 ; This might have been intended as a 4-second timeout buffer.
@ -274,7 +274,7 @@ Function104a95: ; 104a95 (41:4a95)
call MysteryGift_ReadJoypad
ld b, $2
ld c, rRP % $100
ld c, LOW(rRP)
; Delay frame
.ly_loop2
ld a, [$ff00+c]
@ -715,7 +715,7 @@ Function104ddd: ; 104ddd (41:4ddd)
.loop
call MysteryGift_ReadJoypad
ld b, $2
ld c, rRP % $100
ld c, LOW(rRP)
ld a, [hMGJoypadReleased]
bit B_BUTTON_F, a
jr z, .next
@ -731,7 +731,7 @@ Function104ddd: ; 104ddd (41:4ddd)
jr nz, .loop
Function104dfe: ; 104dfe (41:4dfe)
ld c, rRP % $100
ld c, LOW(rRP)
ld d, $0
ld e, d
call Function104db7
@ -771,7 +771,7 @@ Function104e3a: ; 104e3a (41:4e3a)
Function104e46: ; 104e46 (41:4e46)
ld a, $2
ld [hPrintNum9], a
ld c, rRP % $100
ld c, LOW(rRP)
ld d, $0
ld e, d
ld d, $3d
@ -812,7 +812,7 @@ Function104e93: ; 104e93 (41:4e93)
ld [hPrintNum6], a
push hl
push bc
ld c, rRP % $100
ld c, LOW(rRP)
ld d, $3d
call Function104dd1
ld hl, hPrintNum2
@ -844,7 +844,7 @@ Function104e93: ; 104e93 (41:4e93)
ret
Function104ed6: ; 104ed6 (41:4ed6)
ld c, rRP % $100
ld c, LOW(rRP)
ld d, $5
call Function104dd1
ld d, $5
@ -981,7 +981,7 @@ Function104f57: ; 104f57 (41:4f57)
ret
Function104faf: ; 104faf (41:4faf)
ld c, rRP % $100
ld c, LOW(rRP)
ld d, $0
call Function104db7
jp z, Function104f42

View File

@ -235,10 +235,10 @@ NamingScreen: ; 116c1
pop de
ld b, SPRITE_ANIM_INDEX_RED_WALK
ld a, d
cp KrisSpriteGFX / $100
cp HIGH(KrisSpriteGFX)
jr nz, .not_kris
ld a, e
cp KrisSpriteGFX % $100
cp LOW(KrisSpriteGFX)
jr nz, .not_kris
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
.not_kris

View File

@ -15,10 +15,10 @@ GiveOddEgg: ; 1fb4b6
; Break on $ffff.
ld a, d
cp $ffff / $100
cp HIGH($ffff)
jr nz, .not_done
ld a, e
cp $ffff % $100
cp LOW($ffff)
jr z, .done
.not_done
@ -60,14 +60,14 @@ GiveOddEgg: ; 1fb4b6
ld [wMobileMonSpeciesBuffer], a
; load pointer to (wMobileMonSpeciesBuffer - 1) in wMobileMonSpeciesPointerBuffer
ld a, (wMobileMonSpeciesBuffer - 1) % $100
ld a, LOW(wMobileMonSpeciesBuffer - 1)
ld [wMobileMonSpeciesPointerBuffer], a
ld a, (wMobileMonSpeciesBuffer - 1) / $100
ld a, HIGH(wMobileMonSpeciesBuffer - 1)
ld [wMobileMonSpeciesPointerBuffer + 1], a
; load pointer to OddEggSpecies in wMobileMonStructurePointerBuffer
ld a, OddEggSpecies % $100
ld a, LOW(OddEggSpecies)
ld [wMobileMonStructurePointerBuffer], a
ld a, OddEggSpecies / $100
ld a, HIGH(OddEggSpecies)
ld [wMobileMonStructurePointerBuffer + 1], a
; load Odd Egg Name in wTempOddEggNickname
@ -77,14 +77,14 @@ GiveOddEgg: ; 1fb4b6
call CopyBytes
; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer
ld a, wTempOddEggNickname % $100
ld a, LOW(wTempOddEggNickname)
ld [wMobileMonOTNamePointerBuffer], a
ld a, wTempOddEggNickname / $100
ld a, HIGH(wTempOddEggNickname)
ld [wMobileMonOTNamePointerBuffer + 1], a
; load pointer to wOddEggName in wMobileMonNicknamePointerBuffer
ld a, wOddEggName % $100
ld a, LOW(wOddEggName)
ld [wMobileMonNicknamePointerBuffer], a
ld a, wOddEggName / $100
ld a, HIGH(wOddEggName)
ld [wMobileMonNicknamePointerBuffer + 1], a
farcall AddMobileMonToParty
ret

View File

@ -663,10 +663,10 @@ rept 4
add hl, hl
endr
ld a, l
add VTiles0 % $100
add LOW(VTiles0)
ld l, a
ld a, h
adc VTiles0 / $100
adc HIGH(VTiles0)
ld h, a
ret
; 14418

View File

@ -587,10 +587,10 @@ PlacePartyMonMobileBattleSelection: ; 50307
PartyMenuCheckEgg: ; 50389
ld a, PartySpecies % $100
ld a, LOW(PartySpecies)
add b
ld e, a
ld a, PartySpecies / $100
ld a, HIGH(PartySpecies)
adc 0
ld d, a
ld a, [de]

View File

@ -156,7 +156,7 @@ UpdateOverworldMap: ; d536 (3:5536)
ld a, [wBGMapAnchor + 1]
inc a
and $3
or VBGMap0 / $100
or HIGH(VBGMap0)
ld [wBGMapAnchor + 1], a
.not_overflowed
ld hl, wMetatileStandingY
@ -187,7 +187,7 @@ UpdateOverworldMap: ; d536 (3:5536)
ld a, [wBGMapAnchor + 1]
dec a
and $3
or VBGMap0 / $100
or HIGH(VBGMap0)
ld [wBGMapAnchor + 1], a
.not_underflowed
ld hl, wMetatileStandingY

View File

@ -35,9 +35,9 @@ PokeGear: ; 90b8d (24:4b8d)
pop af
ld [Options], a
call ClearBGPalettes
xor a
xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
ld a, $90
ld [hWY], a
@ -243,18 +243,18 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
ld a, [wcf65]
and a
jr nz, .kanto_0
xor a
xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
call .UpdateBGMap
ld a, $90
jr .finish
.kanto_0
xor a
xor a ; LOW(VBGMap1)
ld [hBGMapAddress], a
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
call .UpdateBGMap
xor a
@ -2161,9 +2161,9 @@ _FlyMap: ; 91af3
call ClearBGPalettes
ld a, $90
ld [hWY], a
xor a
xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
ld a, [wTownMapPlayerIconLandmark]
ld e, a
@ -3003,9 +3003,9 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
call ClearBGPalettes
ld a, $90
ld [hWY], a
xor a
xor a ; LOW(VBGMap0)
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
ld a, [wTownMapPlayerIconLandmark]
ld e, a

View File

@ -109,9 +109,9 @@ Printer_StartTransmittingTilemap: ; 84099 (21:4099)
call Printer_CopyPacket
; prepare to send 40 tiles
call Printer_Convert2RowsTo2bpp
ld a, (40 tiles) % $100
ld a, LOW(40 tiles)
ld [wPrinterSendByteCounter], a
ld a, (40 tiles) / $100
ld a, HIGH(40 tiles)
ld [wPrinterSendByteCounter + 1], a
; compute the checksum
call Printer_ComputeChecksum
@ -142,9 +142,9 @@ Printer_SignalSendHeader: ; 840de (21:40de)
call Printer_CopyPacket
; prepare to send 1 tile
call Printer_StageHeaderForSend
ld a, 4 % $100
ld a, LOW(4)
ld [wPrinterSendByteCounter], a
ld a, 4 / $100
ld a, HIGH(4)
ld [wPrinterSendByteCounter + 1], a
; compute the checksum
call Printer_ComputeChecksum

View File

@ -80,51 +80,51 @@ _PrintNum:: ; c4c7
jr z, .six
.seven
ld a, 1000000 / $10000 % $100
ld a, HIGH(1000000 >> 8)
ld [hPrintNum5], a
ld a, 1000000 / $100 % $100
ld a, HIGH(1000000) ; mid
ld [hPrintNum6], a
ld a, 1000000 % $100
ld a, LOW(1000000)
ld [hPrintNum7], a
call .PrintDigit
call .AdvancePointer
.six
ld a, 100000 / $10000 % $100
ld a, HIGH(100000 >> 8)
ld [hPrintNum5], a
ld a, 100000 / $100 % $100
ld a, HIGH(100000) ; mid
ld [hPrintNum6], a
ld a, 100000 % $100
ld a, LOW(100000)
ld [hPrintNum7], a
call .PrintDigit
call .AdvancePointer
.five
xor a
xor a ; HIGH(10000 >> 8)
ld [hPrintNum5], a
ld a, 10000 / $100
ld a, HIGH(10000) ; mid
ld [hPrintNum6], a
ld a, 10000 % $100
ld a, LOW(10000)
ld [hPrintNum7], a
call .PrintDigit
call .AdvancePointer
.four
xor a
xor a ; HIGH(1000 >> 8)
ld [hPrintNum5], a
ld a, 1000 / $100
ld a, HIGH(1000) ; mid
ld [hPrintNum6], a
ld a, 1000 % $100
ld a, LOW(1000)
ld [hPrintNum7], a
call .PrintDigit
call .AdvancePointer
.three
xor a
xor a ; HIGH(100 >> 8)
ld [hPrintNum5], a
xor a
xor a ; HIGH(100) ; mid
ld [hPrintNum6], a
ld a, 100
ld a, LOW(100)
ld [hPrintNum7], a
call .PrintDigit
call .AdvancePointer

View File

@ -11,7 +11,7 @@ LoadPushOAM:: ; 4031
ret
.PushOAM: ; 403f
ld a, Sprites / $100
ld a, HIGH(Sprites)
ld [rDMA], a
ld a, (SpritesEnd - Sprites) / 4 ; 40
.pushoam_loop

View File

@ -50,7 +50,7 @@ PhoneRing_CopyTilemapAtOnce: ; 4d188
ld a, SCREEN_HEIGHT
ld [hTilesPerCycle], a
ld b, 1 << 1 ; not in v/hblank
ld c, rSTAT % $100
ld c, LOW(rSTAT)
.loop
rept SCREEN_WIDTH / 2

View File

@ -47,7 +47,7 @@ SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45)
ld a, SCREEN_HEIGHT
ld [hTilesPerCycle], a
ld b, 1 << 1
ld c, rSTAT % $100
ld c, LOW(rSTAT)
.loop
rept SCREEN_WIDTH / 2

View File

@ -471,10 +471,10 @@ Slots_LoadReelState: ; 929f6 (24:69f6)
Slot_CheckCoinCaseFull: ; 92a04 (24:6a04)
ld a, d
cp MAX_COINS / $100
cp HIGH(MAX_COINS)
jr c, .not_full
ld a, e
cp MAX_COINS % $100
cp LOW(MAX_COINS)
jr c, .not_full
scf
ret
@ -771,10 +771,10 @@ Function92bbe: ; 92bbe
push hl
srl a
srl a
add .Unknown_92bce % $100
add LOW(.Unknown_92bce)
ld l, a
ld a, 0
adc .Unknown_92bce / $100
adc HIGH(.Unknown_92bce)
ld h, a
ld a, [hl]
pop hl

View File

@ -617,9 +617,9 @@ SpecialGameboyCheck: ; c478
Special_FadeOutMusic: ; c48f
ld a, MUSIC_NONE % $100
ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a
ld a, $2
ld [MusicFade], a

View File

@ -23,7 +23,7 @@ PlaySpriteAnimations: ; 8cf69
push bc
push af
ld a, Sprites % $100
ld a, LOW(Sprites)
ld [wCurrSpriteOAMAddr], a
call DoNextFrameForAllSprites
@ -60,11 +60,11 @@ DoNextFrameForAllSprites: ; 8cf7a
ld a, [wCurrSpriteOAMAddr]
ld l, a
ld h, Sprites / $100
ld h, HIGH(Sprites)
.loop2 ; Clear (Sprites + [wCurrSpriteOAMAddr] --> SpritesEnd)
ld a, l
cp SpritesEnd % $100
cp LOW(SpritesEnd)
jr nc, .done
xor a
ld [hli], a
@ -100,11 +100,11 @@ DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8)
ld a, [wCurrSpriteOAMAddr]
ld l, a
ld h, (Sprites + $40) / $100
ld h, HIGH(Sprites + 16 * 4)
.loop2 ; Clear (Sprites + [wCurrSpriteOAMAddr] --> Sprites + $40)
ld a, l
cp (Sprites + 16 * 4) % $100
cp LOW(Sprites + 16 * 4)
jr nc, .done
xor a
ld [hli], a
@ -253,7 +253,7 @@ UpdateAnimFrame: ; 8d04c
push bc
ld a, [wCurrSpriteOAMAddr]
ld e, a
ld d, Sprites / $100
ld d, HIGH(Sprites)
ld a, [hli]
ld c, a ; number of objects
.loop
@ -302,7 +302,7 @@ UpdateAnimFrame: ; 8d04c
inc de
ld a, e
ld [wCurrSpriteOAMAddr], a
cp SpritesEnd % $100
cp LOW(SpritesEnd)
jr nc, .reached_the_end
dec c
jr nz, .loop

View File

@ -191,7 +191,7 @@ ClearBattleRAM: ; 2ef18
call ClearWindowData
ld hl, hBGMapAddress
xor a
xor a ; LOW(VBGMap0)
ld [hli], a
ld [hl], VBGMap0 / $100
ld [hl], HIGH(VBGMap0)
ret

View File

@ -9,9 +9,9 @@ InitClock: ; 90672 (24:4672)
ld [wSpriteUpdatesEnabled], a
ld a, $10
ld [MusicFade], a
ld a, MUSIC_NONE % $100
ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a
ld c, 8
call DelayFrames

View File

@ -627,7 +627,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6
push af
call ClearBGPalettes
call WaitTop
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
call ClearTileMap
hlcoord 0, 0
@ -657,7 +657,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6
call ByteFill
call WaitBGMap
call WaitTop
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
call ClearTileMap
ret
@ -776,7 +776,7 @@ TradeAnim_TextboxScrollStart: ; 293de
TradeAnim_ScrollOutRight: ; 293ea
call WaitTop
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
@ -785,7 +785,7 @@ TradeAnim_ScrollOutRight: ; 293ea
ld [hWY], a
call DelayFrame
call WaitTop
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
call ClearTileMap
call TradeAnim_IncrementJumptableIndex
@ -802,14 +802,14 @@ TradeAnim_ScrollOutRight2: ; 2940c
ret
.done
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
call TradeAnim_AdvanceScriptPointer
ret
@ -1009,7 +1009,7 @@ ShowOTTrademonStats: ; 29549
TrademonStats_MonTemplate: ; 29573
call WaitTop
call TradeAnim_BlankTileMap
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, $6
@ -1032,7 +1032,7 @@ TrademonStats_MonTemplate: ; 29573
TrademonStats_Egg: ; 295a1
call WaitTop
call TradeAnim_BlankTileMap
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, 6
@ -1055,7 +1055,7 @@ TrademonStats_Egg: ; 295a1
TrademonStats_WaitBGMap: ; 295d8
call WaitBGMap
call WaitTop
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
ret

View File

@ -233,9 +233,9 @@ LoadMapTimeOfDay: ; 104750
ret
.ClearBGMap: ; 104770 (41:4770)
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [wBGMapAnchor + 1], a
xor a
xor a ; LOW(VBGMap0)
ld [wBGMapAnchor], a
ld [hSCY], a
ld [hSCX], a

View File

@ -36,9 +36,9 @@ HallOfFame:: ; 0x8640e
; 0x86455
RedCredits:: ; 86455
ld a, MUSIC_NONE % $100
ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a
@ -59,9 +59,9 @@ RedCredits:: ; 86455
; 8648e
HallOfFame_FadeOutMusic: ; 8648e
ld a, MUSIC_NONE % $100
ld a, LOW(MUSIC_NONE)
ld [MusicFadeID], a
ld a, MUSIC_NONE / $100
ld a, HIGH(MUSIC_NONE)
ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a

View File

@ -159,9 +159,9 @@ DayCareStep:: ; 7282
dec hl
inc [hl]
ld a, [hl]
cp 5242880 / $10000
cp HIGH(MAX_DAY_CARE_EXP >> 8)
jr c, .day_care_lady
ld a, 5242880 / $10000
ld a, HIGH(MAX_DAY_CARE_EXP >> 8)
ld [hl], a
.day_care_lady
@ -181,9 +181,9 @@ DayCareStep:: ; 7282
dec hl
inc [hl]
ld a, [hl]
cp 5242880 / $10000
cp HIGH(MAX_DAY_CARE_EXP >> 8)
jr c, .check_egg
ld a, 5242880 / $10000
ld a, HIGH(MAX_DAY_CARE_EXP >> 8)
ld [hl], a
.check_egg
@ -199,7 +199,7 @@ DayCareStep:: ; 7282
callfar CheckBreedmonCompatibility
ld a, [wd265]
cp 230
ld b, -1 + 32 percent
ld b, 32 percent - 1
jr nc, .okay
ld a, [wd265]
cp 170

View File

@ -127,7 +127,7 @@ CalcMagikarpLength: ; fbbfc
; if bc < 10: [wMagikarpLength] = c + 190
; if bc ≥ $ff00: [wMagikarpLength] = c + 1370
; else: [wMagikarpLength] = z × 100 + (bc x) / y
; else: [wMagikarpLength] = z * 100 + (bc - x) / y
; X, Y, and Z depend on the value of b as follows:

View File

@ -83,11 +83,11 @@ CheckBalance_MomItem2: ; fd044
.check_have_2300
ld hl, hMoneyTemp
ld [hl], MOM_MONEY / $10000
ld [hl], HIGH(MOM_MONEY >> 8)
inc hl
ld [hl], MOM_MONEY / $100 % $100
ld [hl], HIGH(MOM_MONEY) ; mid
inc hl
ld [hl], MOM_MONEY % $100
ld [hl], LOW(MOM_MONEY)
.loop
ld de, MomItemTriggerBalance
ld bc, wMomsMoney

View File

@ -32,9 +32,9 @@ LoadPoisonBGPals: ; cbcdd
ld c, $20
.loop
; RGB 28, 21, 31
ld a, (palred 28 + palgreen 21 + palblue 31) % $100
ld a, LOW(palred 28 + palgreen 21 + palblue 31)
ld [hli], a
ld a, (palred 28 + palgreen 21 + palblue 31) / $100
ld a, HIGH(palred 28 + palgreen 21 + palblue 31)
ld [hli], a
dec c
jr nz, .loop

View File

@ -85,10 +85,10 @@ SpecialReturnShuckle: ; 737e
; OT ID
ld a, [hli]
cp 00518 / $100
cp HIGH(00518)
jr nz, .DontReturn
ld a, [hl]
cp 00518 % $100
cp LOW(00518)
jr nz, .DontReturn
; OT

View File

@ -59,10 +59,10 @@ SpecialAerodactylChamber: ; 8ae30
call GetSecondaryMapHeaderPointer
ld a, h
cp RuinsOfAlphAerodactylChamber_SecondMapHeader / $100
cp HIGH(RuinsOfAlphAerodactylChamber_SecondMapHeader)
jr nz, .nope
ld a, l
cp RuinsOfAlphAerodactylChamber_SecondMapHeader % $100
cp LOW(RuinsOfAlphAerodactylChamber_SecondMapHeader)
jr nz, .nope
ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
@ -87,10 +87,10 @@ SpecialKabutoChamber: ; 8ae4e
call GetSecondaryMapHeaderPointer
ld a, h
cp RuinsOfAlphKabutoChamber_SecondMapHeader / $100
cp HIGH(RuinsOfAlphKabutoChamber_SecondMapHeader)
jr nz, .done
ld a, l
cp RuinsOfAlphKabutoChamber_SecondMapHeader % $100
cp LOW(RuinsOfAlphKabutoChamber_SecondMapHeader)
jr nz, .done
ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER

View File

@ -606,7 +606,7 @@ CopyTilemapAtOnce:: ; 323d
ld a, SCREEN_HEIGHT
ld [hTilesPerCycle], a
ld b, 1 << 1 ; not in v/hblank
ld c, rSTAT % $100
ld c, LOW(rSTAT)
.loop
rept SCREEN_WIDTH / 2
@ -1350,14 +1350,14 @@ PushLYOverrides:: ; 3b0c
and a
ret z
ld a, LYOverridesBackup % $100
ld a, LOW(LYOverridesBackup)
ld [Requested2bppSource], a
ld a, LYOverridesBackup / $100
ld a, HIGH(LYOverridesBackup)
ld [Requested2bppSource + 1], a
ld a, LYOverrides % $100
ld a, LOW(LYOverrides)
ld [Requested2bppDest], a
ld a, LYOverrides / $100
ld a, HIGH(LYOverrides)
ld [Requested2bppDest + 1], a
ld a, (LYOverridesEnd - LYOverrides) / 16

View File

@ -72,16 +72,16 @@ OldDMATransfer:: ; dfd
call DelayFrame
; add $100 to hl and de
ld a, l
add $100 % $100
add LOW($100)
ld l, a
ld a, h
adc $100 / $100
adc HIGH($100)
ld h, a
ld a, e
add $100 % $100
add LOW($100)
ld e, a
ld a, d
adc $100 / $100
adc HIGH($100)
ld d, a
jr .loop

View File

@ -106,11 +106,11 @@ UpdateGameTimer:: ; 20ad
; Cap the timer after 1000 hours.
ld a, h
cp 1000 / $100
cp HIGH(1000)
jr c, .ok
ld a, l
cp 1000 % $100
cp LOW(1000)
jr c, .ok
ld hl, GameTimeCap

View File

@ -141,9 +141,9 @@ Init:: ; 17d
farcall InitCGBPals
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
xor a ; VBGMap1 % $100
xor a ; LOW(VBGMap1)
ld [hBGMapAddress], a
farcall StartClock
@ -201,7 +201,7 @@ ClearWRAM:: ; 25a
push af
ld [rSVBK], a
xor a
ld hl, $d000
ld hl, wRAM1Start
ld bc, $1000
call ByteFill
pop af

View File

@ -23,7 +23,7 @@ LCD:: ; 552
push bc
ld a, [rLY]
ld c, a
ld b, LYOverrides >> 8
ld b, HIGH(LYOverrides)
ld a, [bc]
ld b, a
ld a, [hLCDCPointer]

View File

@ -1241,10 +1241,10 @@ ScrollMapUp:: ; 2748
ld h, a
ld bc, $0200
add hl, bc
; cap d at VBGMap1 / $100
; cap d at HIGH(VBGMap0)
ld a, h
and %00000011
or VBGMap0 / $100
or HIGH(VBGMap0)
ld e, l
ld d, a
call UpdateBGMapRow
@ -1369,10 +1369,10 @@ UpdateBGMapColumn:: ; 27f8
ld e, a
jr nc, .skip
inc d
; cap d at VBGMap1 / $100
; cap d at HIGH(VBGMap0)
ld a, d
and $3
or VBGMap0 / $100
or HIGH(VBGMap0)
ld d, a
.skip

View File

@ -4,9 +4,9 @@ InitMovementBuffer:: ; 1b1e
ld [wMovementBufferCount], a
ld a, $0 ; useless
ld [wUnusedMovementBufferBank], a
ld a, MovementBuffer % $100
ld a, LOW(MovementBuffer)
ld [wUnusedMovementBufferPointer], a
ld a, MovementBuffer / $100
ld a, HIGH(MovementBuffer)
ld [wUnusedMovementBufferPointer + 1], a
ret
; 1b35

View File

@ -24,18 +24,18 @@ ForceUpdateCGBPals:: ; c37
ld a, [rSVBK]
push af
ld a, 5 ; BANK(BGPals)
ld a, BANK(BGPals)
ld [rSVBK], a
ld hl, BGPals ; 5:d080
ld hl, BGPals
; copy 8 pals to bgpd
ld a, %10000000 ; auto increment, index 0
ld [rBGPI], a
ld c, rBGPD % $100
ld b, 4 ; NUM_PALS / 2
ld c, LOW(rBGPD)
ld b, 8 / 2
.bgp
rept 2 palettes
rept (1 palettes) * 2
ld a, [hli]
ld [$ff00+c], a
endr
@ -43,15 +43,15 @@ endr
dec b
jr nz, .bgp
; hl is now 5:d0c0 OBPals
; hl is now OBPals
; copy 8 pals to obpd
ld a, %10000000 ; auto increment, index 0
ld [rOBPI], a
ld c, rOBPD % $100
ld b, 4 ; NUM_PALS / 2
ld c, LOW(rOBPD)
ld b, 8 / 2
.obp
rept 2 palettes
rept (1 palettes) * 2
ld a, [hli]
ld [$ff00+c], a
endr
@ -90,7 +90,7 @@ DmgToCgbBGPals:: ; c9f
ld a, [rSVBK]
push af
ld a, 5 ; gfx
ld a, BANK(BGPals)
ld [rSVBK], a
; copy & reorder bg pal buffer
@ -138,7 +138,7 @@ DmgToCgbObjPals:: ; ccb
ld a, [rSVBK]
push af
ld a, 5
ld a, BANK(OBPals)
ld [rSVBK], a
; copy & reorder obj pal buffer
@ -178,11 +178,11 @@ DmgToCgbObjPal0:: ; cf8
ld a, [rSVBK]
push af
ld a, 5 ; gfx
ld a, BANK(OBPals)
ld [rSVBK], a
ld hl, OBPals
ld de, UnknOBPals
ld hl, OBPals palette 0
ld de, UnknOBPals palette 0
ld a, [rOBP0]
ld b, a
ld c, 1
@ -216,11 +216,11 @@ DmgToCgbObjPal1:: ; d24
ld a, [rSVBK]
push af
ld a, 5 ; gfx
ld a, BANK(OBPals)
ld [rSVBK], a
ld hl, OBPals + 1 palettes
ld de, UnknOBPals + 1 palettes
ld hl, OBPals palette 1
ld de, UnknOBPals palette 1
ld a, [rOBP1]
ld b, a
ld c, 1
@ -325,10 +325,10 @@ Special_ReloadSpritesNoPalettes:: ; d91
ret z
ld a, [rSVBK]
push af
ld a, 5 ; BANK(BGPals)
ld a, BANK(BGPals)
ld [rSVBK], a
ld hl, BGPals
ld bc, $40 + $10
ld bc, (8 palettes) + (2 palettes)
xor a
call ByteFill
pop af

View File

@ -143,9 +143,9 @@ UpdateBGMap:: ; 164c
ld h, a
push hl
xor a
xor a ; LOW(VBGMap1)
ld [hBGMapAddress], a
ld a, VBGMap1 >> 8
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
ld a, [hBGMapMode]

View File

@ -108,10 +108,10 @@ Function110030:: ; 110030 (44:4030)
ld a, [$c988]
ld l, a
push hl
ld a, Function110236 % $100
ld a, LOW(Function110236)
cp l
jr nz, .okay
ld a, Function110236 / $100
ld a, HIGH(Function110236)
cp h
.okay
call nz, Function1100b4
@ -615,7 +615,7 @@ Function11032c: ; 11032c
; 110393
Function110393: ; 110393
ld c, rIE % $100
ld c, LOW(rIE)
ld a, [$ff00+c]
or $c
ld [$ff00+c], a
@ -1969,11 +1969,11 @@ Function110d37: ; 110d37
push de
ld b, 0
.check_under_10k
ld a, 10000 / $100
ld a, HIGH(10000)
cp h
jr c, .subtract_10k
jr nz, .done_10k
ld a, 10000 % $100
ld a, LOW(10000)
cp l
jr z, .subtract_10k
jr nc, .done_10k
@ -1993,11 +1993,11 @@ Function110d37: ; 110d37
inc de
ld b, 0
.check_under_1k
ld a, 1000 / $100
ld a, HIGH(1000)
cp h
jr c, .subtract_1k
jr nz, .done_1k
ld a, 1000 % $100
ld a, LOW(1000)
cp l
jr z, .subtract_1k
jr nc, .done_1k
@ -2017,10 +2017,10 @@ Function110d37: ; 110d37
inc de
ld b, 0
.check_under_100
ld a, 100 / $100
ld a, HIGH(100)
cp h
jr nz, .subtract_100
ld a, 100 % $100
ld a, LOW(100)
cp l
jr z, .subtract_100
jr nc, .check_under_10
@ -8521,14 +8521,14 @@ Function1136c1: ; 1136c1
.asm_113734
ld hl, $cc0c
ld a, Unknown_113b8e % $100
ld a, LOW(Unknown_113b8e)
ld [hli], a
ld a, Unknown_113b8e / $100
ld a, HIGH(Unknown_113b8e)
ld [hl], a
ld hl, $cc0e
ld a, Unknown_113a70 % $100
ld a, LOW(Unknown_113a70)
ld [hli], a
ld a, Unknown_113a70 / $100
ld a, HIGH(Unknown_113a70)
ld [hl], a
ld hl, $cbe7
ld de, $cc18
@ -8610,7 +8610,7 @@ endr
ld [$cc0d], a
ld a, l
ld [$cc0c], a
cp $8e ; XXX (Unknown_113b8e + $100) % $100 ???
cp $8e ; XXX ; LOW(Unknown_113b8e + $100) ???
jp nz, .asm_113751
ld de, $cc18
ld hl, $cbe7

View File

@ -19,7 +19,6 @@ INCLUDE "macros/scripts/move_anim.asm"
INCLUDE "macros/scripts/trade_anim.asm"
INCLUDE "macros/scripts/gfx_anim.asm"
percent EQUS "* $ff / 100"
tiles EQUS "* LEN_2BPP_TILE"

View File

@ -95,7 +95,7 @@ dsprite: MACRO
; conditional segment is there because not every instance of
; this macro is directly OAM
if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette
db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & 7)
db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & PALETTE_MASK)
else
db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
endc

View File

@ -85,9 +85,16 @@ INCLUDE "event/daycare.asm"
INCLUDE "event/print_unown.asm"
INCLUDE "event/print_photo.asm"
INCLUDE "engine/breeding.asm"
INCLUDE "tilesets/data.asm"
SECTION "Roofs", ROMX
INCLUDE "tilesets/roofs.asm"
SECTION "Clock Reset", ROMX
INCLUDE "engine/clock_reset.asm"

View File

@ -116,13 +116,13 @@ Function170139: ; 170139
ld a, c
ld [de], a
inc de
ld a, PartyMons % $100
ld a, LOW(PartyMons)
ld [wcd49], a
ld a, PartyMons / $100
ld a, HIGH(PartyMons)
ld [wcd4a], a
ld a, PartyMonNicknames % $100
ld a, LOW(PartyMonNicknames)
ld [wcd4b], a
ld a, PartyMonNicknames / $100
ld a, HIGH(PartyMonNicknames)
ld [wcd4c], a
ld a, 3
.CopyLoop:
@ -355,9 +355,9 @@ ReadBTTrainerParty: ; 1702b7
ld hl, wBT_OTTempTrainerClass
ld a, [hli]
ld [OtherTrainerClass], a
ld a, OTPartyMonNicknames % $100
ld a, LOW(OTPartyMonNicknames)
ld [BGMapBuffer], a
ld a, OTPartyMonNicknames / $100
ld a, HIGH(OTPartyMonNicknames)
ld [BGMapBuffer + 1], a
; Copy Pkmn into Memory from the address in hl

View File

@ -3015,26 +3015,26 @@ EZChat_GetSeenPokemonByKana: ; 11d3ba
ld a, [rSVBK]
push af
ld hl, $c648
ld a, w5_d800 % $100
ld a, LOW(w5_d800)
ld [wcd2d], a
ld [hli], a
ld a, w5_d800 / $100
ld a, HIGH(w5_d800)
ld [wcd2e], a
ld [hl], a
ld a, SortedPokemon % $100
ld a, LOW(SortedPokemon)
ld [wcd2f], a
ld a, SortedPokemon / $100
ld a, HIGH(SortedPokemon)
ld [wcd30], a
ld a, $c6a8 % $100
ld a, LOW($c6a8)
ld [wcd31], a
ld a, $c6a8 / $100
ld a, HIGH($c6a8)
ld [wcd32], a
ld a, $c64a % $100
ld a, LOW($c64a)
ld [wcd33], a
ld a, $c64a / $100
ld a, HIGH($c64a)
ld [wcd34], a
ld hl, EZChat_SortedWords

View File

@ -39,9 +39,9 @@ InitMobileProfile: ; 4802f (12:402f)
.asm_4808a
ld a, $5
ld [MusicFade], a
ld a, MUSIC_MOBILE_ADAPTER_MENU % $100
ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU)
ld [MusicFadeID], a
ld a, MUSIC_MOBILE_ADAPTER_MENU / $100
ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU)
ld [MusicFadeID + 1], a
ld c, 20
call DelayFrames

View File

@ -2736,9 +2736,9 @@ LoadSelectedPartiesForColosseum: ; 1010f2
.ContinueCopy:
; Copy, via wc608...
ld a, wc608 % $100
ld a, LOW(wc608)
ld [StringBuffer2], a
ld a, wc608 / $100
ld a, HIGH(wc608)
ld [StringBuffer2 + 1], a
; ... bc bytes...
ld a, c
@ -7237,9 +7237,9 @@ Function1030cd: ; 1030cd
add a
add a
add Unknown_10327a % $100
add LOW(Unknown_10327a)
ld l, a
ld a, Unknown_10327a / $100
ld a, HIGH(Unknown_10327a)
adc 0
ld h, a

View File

@ -1297,7 +1297,7 @@ MobileTradeAnim_DisplayReceivedMon:
MobileTradeAnim_DisplayEggData
call WaitTop
call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 5, 0
ld b, 6
@ -1320,7 +1320,7 @@ MobileTradeAnim_DisplayEggData
Function108a33: ; 108a33
call WaitTop
call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 5, 0
ld b, 6
@ -1340,7 +1340,7 @@ Function108a33: ; 108a33
MobileTradeAnim_LoadMonTemplate: ; 108a5b
call WaitTop
call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld a, HIGH(VBGMap1)
ld [hBGMapAddress + 1], a
hlcoord 4, 0
ld b, 6
@ -1363,7 +1363,7 @@ MobileTradeAnim_LoadMonTemplate: ; 108a5b
MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87
call WaitBGMap
call WaitTop
ld a, VBGMap0 / $100
ld a, HIGH(VBGMap0)
ld [hBGMapAddress + 1], a
ret
; 108a92

View File

@ -1,4 +1,3 @@
SECTION "bank45", ROMX
charmap " ", $20 ; revert to ascii
@ -7613,9 +7612,9 @@ Function117c4a:
ld c, 8
.loop
push hl
ld a, $7fff % $100
ld a, LOW(palred 31 + palgreen 31 + palblue 31)
ld [hli], a
ld a, $7fff / $100
ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
ld [hl], a
pop hl
add hl, de

View File

@ -1901,17 +1901,17 @@ Function118f68:
and a
jr z, .asm_118fba
ld hl, $c346
ld a, $c608 % $100
ld a, LOW($c608)
ld [hli], a
ld a, $c608 / $100
ld a, HIGH($c608)
ld [hli], a
ld a, [wcd4b]
ld [hli], a
ld a, [wcd4c]
ld [hli], a
ld a, $c708 % $100
ld a, LOW($c708)
ld [hli], a
ld a, $c708 / $100
ld a, HIGH($c708)
ld [hli], a
ld a, $60
ld [hli], a
@ -2530,17 +2530,17 @@ Function1193a0:
ld [wcd3c], a
call BattleTowerRoomMenu2
ld hl, $c346
ld a, wd000 % $100
ld a, LOW(wd000)
ld [hli], a
ld a, wd000 / $100
ld a, HIGH(wd000)
ld [hli], a
ld a, [wcd3b]
ld [hli], a
xor a
ld [hli], a
ld a, $c708 % $100
ld a, LOW($c708)
ld [hli], a
ld a, $c708 / $100
ld a, HIGH($c708)
ld [hli], a
ld a, $60
ld [hli], a
@ -3358,17 +3358,17 @@ Function1198f7:
ld hl, $c608 + 2
call Function119940
ld hl, w3_d800
ld a, $c608 % $100
ld a, LOW($c608)
ld [hli], a
ld a, $c608 / $100
ld a, HIGH($c608)
ld [hli], a
ld a, $f6
ld [hli], a
xor a
ld [hli], a
ld a, $c708 % $100
ld a, LOW($c708)
ld [hli], a
ld a, $c708 / $100
ld a, HIGH($c708)
ld [hli], a
ld a, [wcd51]
ld [hli], a
@ -3794,10 +3794,10 @@ Function119b6b: ; 119b6b
cp $d
jr nz, .asm_119b93
ld a, l
cp (w3_d869) % $100
cp LOW(w3_d869)
jr nz, .asm_119be3
ld a, h
cp (w3_d869) / $100
cp HIGH(w3_d869)
jr nz, .asm_119be3
ld a, $5
call GetSRAMBank
@ -5497,9 +5497,9 @@ Function11a90f: ; 11a90f
.asm_11a94f
xor a
ld [$c31f], a
ld a, $c320 % $100
ld a, LOW($c320)
ld [$c31b], a
ld a, $c320 / $100
ld a, HIGH($c320)
ld [$c31c], a
hlcoord 1, 14
ld a, l
@ -7456,29 +7456,29 @@ Function11b6b4: ; 11b6b4
ld a, [wcd31]
ld [$c709], a
ld a, $c708 % $100
ld a, LOW($c708) ; Species
ld [wMobileMonSpeciesPointerBuffer], a
ld a, $c708 / $100
ld a, HIGH($c708)
ld [wMobileMonSpeciesPointerBuffer + 1], a
ld a, $c60d % $100 ; Partymon Struct
ld a, LOW($c60d) ; Partymon Struct
ld [wMobileMonStructurePointerBuffer], a
ld a, $c60d / $100
ld a, HIGH($c60d)
ld [wMobileMonStructurePointerBuffer + 1], a
ld a, $c63d % $100 ; OT
ld a, LOW($c63d) ; OT
ld [wMobileMonOTNamePointerBuffer], a
ld a, $c63d / $100
ld a, HIGH($c63d)
ld [wMobileMonOTNamePointerBuffer + 1], a
ld a, $c642 % $100 ; Nickname
ld a, LOW($c642) ; Nickname
ld [wMobileMonNicknamePointerBuffer], a
ld a, $c642 / $100
ld a, HIGH($c642)
ld [wMobileMonNicknamePointerBuffer + 1], a
ld a, $c647 % $100 ; ???
ld a, LOW($c647) ; Mail
ld [wMobileMonMailPointerBuffer], a
ld a, $c647 / $100
ld a, HIGH($c647)
ld [wMobileMonMailPointerBuffer + 1], a
ld a, $46
@ -7762,29 +7762,29 @@ Function11b93b: ; 11b93b
call CopyBytes
call CloseSRAM
ld a, $c608 % $100
ld a, LOW($c608)
ld [wMobileMonSpeciesPointerBuffer], a
ld a, $c608 / $100
ld a, HIGH($c608)
ld [wMobileMonSpeciesPointerBuffer + 1], a
ld a, $c611 % $100
ld a, LOW($c611)
ld [wMobileMonStructurePointerBuffer], a
ld a, $c611 / $100
ld a, HIGH($c611)
ld [wMobileMonStructurePointerBuffer + 1], a
ld a, $c641 % $100
ld a, LOW($c641)
ld [wMobileMonOTNamePointerBuffer], a
ld a, $c641 / $100
ld a, HIGH($c641)
ld [wMobileMonOTNamePointerBuffer + 1], a
ld a, $c646 % $100
ld a, LOW($c646)
ld [wMobileMonNicknamePointerBuffer], a
ld a, $c646 / $100
ld a, HIGH($c646)
ld [wMobileMonNicknamePointerBuffer + 1], a
ld a, $c64b % $100
ld a, LOW($c64b)
ld [wMobileMonMailPointerBuffer], a
ld a, $c64b / $100
ld a, HIGH($c64b)
ld [wMobileMonMailPointerBuffer + 1], a
call AddMobileMonToParty
farcall SaveAfterLinkTrade

View File

@ -1,4 +1,3 @@
_AnimateTileset:: ; fc000
; Iterate over a given pointer array of
; animation functions (one per frame).
@ -476,10 +475,10 @@ AnimateWaterTile: ; fc402
add a
add a
add WaterTileFrames % $100
add LOW(WaterTileFrames)
ld l, a
ld a, 0
adc WaterTileFrames / $100
adc HIGH(WaterTileFrames)
ld h, a
; Stack now points to the start of the tile for this frame.
@ -514,10 +513,10 @@ ForestTreeLeftAnimation: ; fc45c
add a
add a
add a
add ForestTreeLeftFrames % $100
add LOW(ForestTreeLeftFrames)
ld l, a
ld a, 0
adc ForestTreeLeftFrames / $100
adc HIGH(ForestTreeLeftFrames)
ld h, a
.asm_fc47d
@ -556,10 +555,10 @@ ForestTreeRightAnimation: ; fc4c4
add a
add a
add a
add ForestTreeLeftFrames % $100
add LOW(ForestTreeLeftFrames)
ld l, a
ld a, 0
adc ForestTreeLeftFrames / $100
adc HIGH(ForestTreeLeftFrames)
ld h, a
push bc
ld bc, ForestTreeRightFrames - ForestTreeLeftFrames
@ -592,10 +591,10 @@ ForestTreeLeftAnimation2: ; fc4f2
add a
add a
add a
add ForestTreeLeftFrames % $100
add LOW(ForestTreeLeftFrames)
ld l, a
ld a, 0
adc ForestTreeLeftFrames / $100
adc HIGH(ForestTreeLeftFrames)
ld h, a
.asm_fc515
@ -624,10 +623,10 @@ ForestTreeRightAnimation2: ; fc51c
add a
add a
add a
add ForestTreeLeftFrames % $100
add LOW(ForestTreeLeftFrames)
ld l, a
ld a, 0
adc ForestTreeLeftFrames / $100
adc HIGH(ForestTreeLeftFrames)
ld h, a
push bc
ld bc, ForestTreeRightFrames - ForestTreeLeftFrames

View File

@ -1,8 +1,3 @@
SECTION "Roofs", ROMX
INCLUDE "tilesets/roofs.asm"
SECTION "Tileset Data 1", ROMX
TilesetKantoGFX: ; 0x18000

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