You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Make map environments more granular and make all map palettes except darkness depend on map environment (#7)
This commit is contained in:
@@ -215,12 +215,8 @@ StartTrainerBattle_DetermineWhichAnimation:
|
||||
set TRANS_STRONGER_F, e
|
||||
.not_stronger
|
||||
ld a, [wEnvironment]
|
||||
cp CAVE
|
||||
jr z, .cave
|
||||
cp ENVIRONMENT_5
|
||||
jr z, .cave
|
||||
cp DUNGEON
|
||||
jr z, .cave
|
||||
cp INDOOR_ENVIRONMENT
|
||||
jr nc, .cave
|
||||
set TRANS_NO_CAVE_F, e
|
||||
.cave
|
||||
ld hl, .StartingPoints
|
||||
|
@@ -17,7 +17,6 @@ BlindingFlash:
|
||||
farcall UpdateTimeOfDayPal
|
||||
ld b, CGB_MAPPALS
|
||||
call GetCGBLayout
|
||||
farcall LoadOW_BGPal7
|
||||
farcall FadeInPalettes
|
||||
ret
|
||||
|
||||
|
@@ -404,7 +404,7 @@ MagnetTrain_Jumptable_FirstRunThrough:
|
||||
ld a, [wTimeOfDay]
|
||||
maskbits NUM_DAYTIMES
|
||||
ld [wTimeOfDayPal], a
|
||||
ld a, TOWN
|
||||
ld a, OUTDOOR_GRASSY
|
||||
ld [wEnvironment], a
|
||||
ld b, CGB_MAPPALS
|
||||
call GetCGBLayout
|
||||
|
@@ -762,9 +762,9 @@ EscapeRopeOrDig:
|
||||
|
||||
.CheckCanDig:
|
||||
call GetMapEnvironment
|
||||
cp CAVE
|
||||
cp INDOOR_CAVE
|
||||
jr z, .incave
|
||||
cp DUNGEON
|
||||
cp INDOOR_ICE_CAVE
|
||||
jr z, .incave
|
||||
.fail
|
||||
ld a, $2
|
||||
@@ -1677,13 +1677,8 @@ BikeFunction:
|
||||
|
||||
.CheckEnvironment:
|
||||
call GetMapEnvironment
|
||||
call CheckOutdoorMap
|
||||
jr z, .ok
|
||||
cp CAVE
|
||||
jr z, .ok
|
||||
cp GATE
|
||||
jr z, .ok
|
||||
jr .nope
|
||||
cp INDOOR_BUILDING
|
||||
jr z, .nope
|
||||
|
||||
.ok
|
||||
call GetPlayerTile
|
||||
|
@@ -30,7 +30,7 @@ SweetScentNothing:
|
||||
end
|
||||
|
||||
SweetScentEncounter:
|
||||
farcall CanUseSweetScent
|
||||
farcall CanEncounterWildMonInThisTile
|
||||
jr nc, .no_battle
|
||||
ld hl, wStatusFlags2
|
||||
bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl]
|
||||
|
@@ -628,12 +628,12 @@ INCLUDE "data/pokemon/palettes.asm"
|
||||
INCLUDE "data/trainers/palettes.asm"
|
||||
|
||||
LoadMapPals:
|
||||
farcall LoadSpecialMapPalette ; also handles darkness palettes
|
||||
call LoadDarknessPaletteIfDark ; also handles darkness palettes
|
||||
jr c, .got_pals
|
||||
|
||||
; Which palette group is based on whether we're outside or inside
|
||||
ld a, [wEnvironment]
|
||||
and 7
|
||||
maskbits NUM_ENVIRONMENTS + 1
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, EnvironmentColorsPointers
|
||||
@@ -713,9 +713,8 @@ LoadMapPals:
|
||||
call FarCopyWRAM
|
||||
|
||||
ld a, [wEnvironment]
|
||||
cp TOWN
|
||||
jr z, .outside
|
||||
cp ROUTE
|
||||
cp INDOOR_ENVIRONMENT
|
||||
jr c, .outside
|
||||
ret nz
|
||||
.outside
|
||||
ld a, [wMapGroup]
|
||||
@@ -740,6 +739,30 @@ endr
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
LoadDarknessPaletteIfDark:
|
||||
call GetMapTimeOfDay
|
||||
bit IN_DARKNESS_F, a
|
||||
jr z, .do_nothing
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_FLASH_F, a
|
||||
jr nz, .do_nothing
|
||||
|
||||
.darkness
|
||||
call LoadDarknessPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.do_nothing
|
||||
and a
|
||||
ret
|
||||
|
||||
LoadDarknessPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, DarknessPalette
|
||||
ld bc, 8 palettes
|
||||
jp FarCopyWRAM
|
||||
|
||||
INCLUDE "data/maps/environment_colors.asm"
|
||||
|
||||
PartyMenuBGMobilePalette:
|
||||
@@ -748,6 +771,9 @@ INCLUDE "gfx/stats/party_menu_bg_mobile.pal"
|
||||
PartyMenuBGPalette:
|
||||
INCLUDE "gfx/stats/party_menu_bg.pal"
|
||||
|
||||
DarknessPalette:
|
||||
INCLUDE "gfx/tilesets/bg_tiles_darkness.pal"
|
||||
|
||||
TilesetBGPalette:
|
||||
INCLUDE "gfx/tilesets/bg_tiles.pal"
|
||||
|
||||
|
@@ -1,16 +1,3 @@
|
||||
LoadOW_BGPal7::
|
||||
ld hl, Palette_TextBG7
|
||||
ld de, wBGPals1 palette PAL_BG_TEXT
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
Palette_TextBG7:
|
||||
INCLUDE "gfx/font/bg_text.pal"
|
||||
|
||||
INCLUDE "engine/tilesets/tileset_palettes.asm"
|
||||
|
||||
_InitMG_Mobile_LinkTradePalMap:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 16, 2
|
||||
|
@@ -1109,7 +1109,7 @@ RandomEncounter::
|
||||
|
||||
call CheckWildEncounterCooldown
|
||||
jr c, .nope
|
||||
call CanUseSweetScent
|
||||
call CanEncounterWildMonInThisTile
|
||||
jr nc, .nope
|
||||
ld hl, wStatusFlags2
|
||||
bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl]
|
||||
@@ -1149,15 +1149,13 @@ WildBattleScript:
|
||||
reloadmapafterbattle
|
||||
end
|
||||
|
||||
CanUseSweetScent::
|
||||
CanEncounterWildMonInThisTile::
|
||||
ld hl, wStatusFlags
|
||||
bit STATUSFLAGS_NO_WILD_ENCOUNTERS_F, [hl]
|
||||
jr nz, .no
|
||||
ld a, [wEnvironment]
|
||||
cp CAVE
|
||||
jr z, .ice_check
|
||||
cp DUNGEON
|
||||
jr z, .ice_check
|
||||
cp INDOOR_ENVIRONMENT
|
||||
jr nc, .ice_check
|
||||
farcall CheckGrassCollision
|
||||
jr nc, .no
|
||||
|
||||
|
@@ -31,7 +31,6 @@ ReanchorBGMap_NoOAMUpdate::
|
||||
ld a, HIGH(vBGMap1)
|
||||
call .LoadBGMapAddrIntoHRAM
|
||||
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
|
||||
farcall LoadOW_BGPal7
|
||||
farcall ApplyPals
|
||||
ld a, TRUE
|
||||
ldh [hCGBPalUpdate], a
|
||||
|
@@ -130,11 +130,7 @@ CheckUpdatePlayerSprite:
|
||||
cp PLAYER_SURF_PIKA
|
||||
jr z, .surfing
|
||||
call GetMapEnvironment
|
||||
cp INDOOR
|
||||
jr z, .no_biking
|
||||
cp ENVIRONMENT_5
|
||||
jr z, .no_biking
|
||||
cp DUNGEON
|
||||
cp INDOOR_BUILDING
|
||||
jr z, .no_biking
|
||||
jr .nope
|
||||
.no_biking
|
||||
|
@@ -236,6 +236,8 @@ ApplyCleanseTagEffectOnEncounterRate::
|
||||
ld hl, wPartyMon1Item
|
||||
ld de, PARTYMON_STRUCT_LENGTH
|
||||
ld a, [wPartyCount]
|
||||
and a
|
||||
ret z
|
||||
ld c, a
|
||||
.loop
|
||||
ld a, [hl]
|
||||
|
@@ -285,10 +285,8 @@ CheckSpecialPhoneCall::
|
||||
|
||||
SpecialCallOnlyWhenOutside:
|
||||
ld a, [wEnvironment]
|
||||
cp TOWN
|
||||
jr z, .outside
|
||||
cp ROUTE
|
||||
jr z, .outside
|
||||
cp INDOOR_ENVIRONMENT
|
||||
jr c, .outside
|
||||
xor a
|
||||
ret
|
||||
|
||||
|
@@ -1,160 +0,0 @@
|
||||
LoadSpecialMapPalette:
|
||||
call GetMapTimeOfDay
|
||||
bit IN_DARKNESS_F, a
|
||||
jr z, .not_dark
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_FLASH_F, a
|
||||
jr z, .darkness
|
||||
|
||||
.not_dark
|
||||
ld a, [wMapTileset]
|
||||
cp TILESET_POKECOM_CENTER
|
||||
jr z, .pokecom_2f
|
||||
cp TILESET_BATTLE_TOWER_INSIDE
|
||||
jr z, .battle_tower_inside
|
||||
cp TILESET_ICE_PATH
|
||||
jr z, .ice_path
|
||||
cp TILESET_HOUSE
|
||||
jr z, .house
|
||||
cp TILESET_RADIO_TOWER
|
||||
jr z, .radio_tower
|
||||
cp TILESET_MANSION
|
||||
jr z, .mansion_mobile
|
||||
jr .do_nothing
|
||||
|
||||
.darkness
|
||||
call LoadDarknessPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.pokecom_2f
|
||||
call LoadPokeComPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.battle_tower_inside
|
||||
call LoadBattleTowerInsidePalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.ice_path
|
||||
ld a, [wEnvironment]
|
||||
and $7
|
||||
cp INDOOR ; Hall of Fame
|
||||
jr z, .do_nothing
|
||||
call LoadIcePathPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.house
|
||||
call LoadHousePalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.radio_tower
|
||||
call LoadRadioTowerPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.mansion_mobile
|
||||
call LoadMansionPalette
|
||||
scf
|
||||
ret
|
||||
|
||||
.do_nothing
|
||||
and a
|
||||
ret
|
||||
|
||||
LoadDarknessPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, DarknessPalette
|
||||
ld bc, 8 palettes
|
||||
jp FarCopyWRAM
|
||||
|
||||
DarknessPalette:
|
||||
INCLUDE "gfx/tilesets/bg_tiles_darkness.pal"
|
||||
|
||||
LoadPokeComPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, PokeComPalette
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
PokeComPalette:
|
||||
INCLUDE "gfx/tilesets/pokecom_center.pal"
|
||||
|
||||
LoadBattleTowerInsidePalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, BattleTowerInsidePalette
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
BattleTowerInsidePalette:
|
||||
INCLUDE "gfx/tilesets/battle_tower_inside.pal"
|
||||
|
||||
LoadIcePathPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, IcePathPalette
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
IcePathPalette:
|
||||
INCLUDE "gfx/tilesets/ice_path.pal"
|
||||
|
||||
LoadHousePalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, HousePalette
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
HousePalette:
|
||||
INCLUDE "gfx/tilesets/house.pal"
|
||||
|
||||
LoadRadioTowerPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, RadioTowerPalette
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
RadioTowerPalette:
|
||||
INCLUDE "gfx/tilesets/radio_tower.pal"
|
||||
|
||||
MansionPalette1:
|
||||
INCLUDE "gfx/tilesets/mansion_1.pal"
|
||||
|
||||
LoadMansionPalette:
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1
|
||||
ld hl, MansionPalette1
|
||||
ld bc, 8 palettes
|
||||
call FarCopyWRAM
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1 palette PAL_BG_YELLOW
|
||||
ld hl, MansionPalette2
|
||||
ld bc, 1 palettes
|
||||
call FarCopyWRAM
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1 palette PAL_BG_WATER
|
||||
ld hl, MansionPalette1 palette 6
|
||||
ld bc, 1 palettes
|
||||
call FarCopyWRAM
|
||||
ld a, BANK(wBGPals1)
|
||||
ld de, wBGPals1 palette PAL_BG_ROOF
|
||||
ld hl, MansionPalette1 palette 8
|
||||
ld bc, 1 palettes
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
MansionPalette2:
|
||||
INCLUDE "gfx/tilesets/mansion_2.pal"
|
Reference in New Issue
Block a user