From 90f57b04d14b5979ad08d0d60be2a5874236a288 Mon Sep 17 00:00:00 2001 From: Engezerstorung <154867622+Engezerstorung@users.noreply.github.com> Date: Sat, 19 Oct 2024 12:44:17 +0200 Subject: [PATCH] Color Plus update Miscellaneous updates and small fixes. Move OakIntro_ResetPlayerSpriteData in oak_intro.asm. Center the chairs in Mansion tileset. --- color/color.asm | 18 ++++++------------ color/data/map_palette_sets.asm | 2 +- color/data/spritepalettes.asm | 1 + color/loadpalettes.asm | 7 +++---- color/oak_intro.asm | 11 +++++++++++ color/sprites.asm | 2 +- engine/movie/oak_speech/oak_speech.asm | 2 +- gfx/tilesets/mansion.png | Bin 973 -> 987 bytes includes.asm | 2 +- 9 files changed, 25 insertions(+), 20 deletions(-) diff --git a/color/color.asm b/color/color.asm index dc7538123..cfe0ce3d5 100644 --- a/color/color.asm +++ b/color/color.asm @@ -1,13 +1,7 @@ ; Extending bank 1C, same bank as engine/palettes.asm (for "SetPal" functions) SECTION "bank1C_extension", ROMX -; Load red sprite palette at the end of Oack Speech, before the player map sprite appear -OakIntro_ResetPlayerSpriteData: - lb de, SPRITE_PAL_RED, 0 - call LoadSpritePalette - jp ResetPlayerSpriteData - -; Load Palettes for boulder dust or pokecenter healing machine when needed +; Load Palettes for cut animation and pokecenter healing machine when needed InitCutAnimOAM: ld hl, wCurrentMapScriptFlags set 0, [hl] ; prevent SetPal_Overworld before cut is done @@ -24,17 +18,17 @@ InitCutAnimOAM: jr z, .paletteSelected ld d, SPRITE_PAL_INDOORTREE .paletteSelected - ld e, 7 - call LoadSpritePalette + call LoadAndUpdateAnimationPalette jpfar _InitCutAnimOAM AnimateHealingMachine: - lb de, SPRITE_PAL_HEALINGMACHINE, 7 - call LoadSpritePalette + ld d, SPRITE_PAL_HEALINGMACHINE + call LoadAndUpdateAnimationPalette farcall _AnimateHealingMachine jp SetPal_Overworld -LoadSpritePalette: +LoadAndUpdateAnimationPalette: + ld e, 7 farcall LoadMapPalette_Sprite ; Update palettes ld a, 2 diff --git a/color/data/map_palette_sets.asm b/color/data/map_palette_sets.asm index 1188abd46..7a0ba283c 100644 --- a/color/data/map_palette_sets.asm +++ b/color/data/map_palette_sets.asm @@ -4,7 +4,7 @@ MapPaletteSets: .forestPalSet: .plateauPalSet: db OUTDOOR_GRAY - db OUTDOOR_RED + db OUTDOOR_FLOWER db OUTDOOR_GREEN db OUTDOOR_BLUE db OUTDOOR_YELLOW diff --git a/color/data/spritepalettes.asm b/color/data/spritepalettes.asm index 810cc8bc4..f60e57547 100644 --- a/color/data/spritepalettes.asm +++ b/color/data/spritepalettes.asm @@ -287,6 +287,7 @@ DEF const_value = 0 const SPRITE_PAL_PURPLEMON const SPRITE_PAL_YELLOWMON const SPRITE_PAL_GREYMON + const SPRITE_PAL_RED const SPRITE_PAL_PINK const SPRITE_PAL_PURPLE diff --git a/color/loadpalettes.asm b/color/loadpalettes.asm index bfccfcda2..e011783a4 100644 --- a/color/loadpalettes.asm +++ b/color/loadpalettes.asm @@ -245,7 +245,7 @@ BgPalSwap: ld a, [hli] ld e, a push hl - farcall LoadMapPalette + call LoadMapPalette pop hl pop af cp [hl] @@ -269,7 +269,7 @@ SprPalSwap: ld a, [hli] ld e, a push hl - farcall LoadMapPalette_Sprite + call LoadMapPalette_Sprite pop hl pop af cp [hl] @@ -281,15 +281,14 @@ SprPalSwap: TilesetBgPalSwapList: db CEMETERY, CEMETERY_STAIRS, 4 db CEMETERY, INDOOR_PURPLE, 6 - db FOREST, OUTDOOR_FLOWER, 1 db GATE, GATE_STAIRS, 4 db GYM, INDOOR_GREEN_BG, 2 db GYM, INDOOR_FLOWER, 4 db INTERIOR, OUTDOOR_GREEN, 2 db MART, PC_POKEBALL_PAL, 7 db MUSEUM, GATE_STAIRS, 4 - db OVERWORLD, OUTDOOR_FLOWER, 1 db POKECENTER, PC_POKEBALL_PAL, 7 + db PLATEAU, OUTDOOR_RED, 1 db UNDERGROUND, UNDERGROUND_STAIRS, 1 db -1 diff --git a/color/oak_intro.asm b/color/oak_intro.asm index 76f271832..868e355b7 100644 --- a/color/oak_intro.asm +++ b/color/oak_intro.asm @@ -38,3 +38,14 @@ GotPalID: ldh [rSVBK], a ret +; Load red sprite palette at the end of Oack Speech, before the player map sprite appear +OakIntro_ResetPlayerSpriteData: + lb de, SPRITE_PAL_RED, 0 + farcall LoadMapPalette_Sprite + ; Update palettes + ld a, 2 + ldh [rSVBK], a + ld a, 1 + ld [W2_ForceOBPUpdate], a + ldh [rSVBK], a + jp ResetPlayerSpriteData diff --git a/color/sprites.asm b/color/sprites.asm index 97c0d0dd0..5e12f7306 100644 --- a/color/sprites.asm +++ b/color/sprites.asm @@ -94,7 +94,7 @@ LoadSpecialOverworldSpritePalettes: jr nz, .notOutside .isOutside lb de, SPRITE_PAL_OUTDOORDUST, 7 - farcall LoadMapPalette_Sprite + call LoadMapPalette_Sprite .notOutside ; Check map to load sprite specific palettes (list in color/loadpalettes.asm) diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index 6348a33a4..6227217fe 100644 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -149,7 +149,7 @@ ENDC ld de, ShrinkPic2 lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight - farcall OakIntro_ResetPlayerSpriteData ; originally "call ResetPlayerSpriteData" + call OakIntro_ResetPlayerSpriteData ; originally "call ResetPlayerSpriteData" ldh a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) diff --git a/gfx/tilesets/mansion.png b/gfx/tilesets/mansion.png index b55db3a2cc973569a4d98811261422e15313df01..2dc1fa686d0145b2bd1ddd27bbb4240e6c2069d8 100644 GIT binary patch delta 965 zcmV;$13LW82ipgbB!8kwL_t(I%YBqhY#T)s$H$vR*yUm;Ss|xVaJ_t_M&d&`B}KA9 zMpP|I33yQH0YV8|yk{g19I%R8SxV%j0wJ3NGG$dQFFk;ZP^CT84OQhrlw5kKxW)8j zg%t#Z3JQ6=H@kL%5_poeyE8xk|L@J48G#74A*Dq0{S%14EPsD;{;Z(LBK}@OdO`dY zc)+qe??oY=diYg2)&ph{k$_8(kQ{-+_otK7I|={<03iK-0p&FKll)?bw%_5oPXmBhQ9ZMt<@ho@SS4v7!DHw$+z+IinjNCaTM``k2kVA8Am%?qGD}VWRv~Y%jz+z=QP{_Dd%bLwI z@N+5hSqPBD_`Fj1N{9#OTP?3=S?~8OR8YUf2!PWf{}vAnjL?X=xeLH8YL-r$ra=Eh z{>q}+L7W7*43`N2cd&A?%#$=kT5&A{W_uSP#NhmIHzs7!4uJzgq)f!VML9aOLI9rm zF$4~#hJVs)h-@kg1Z-B~QK3)Z8-IkrgXx9TH~~TgKs(AwPT&WB2S6g3GSl;9acx^D zz-)7wI|_+|szn$Bn4za37uu{)uO;gta6HKF$zZt{7;!U>7-(q$Fj(TPXGjJnfdEqh zxVH67m?R%0ttI+EJIVk&jyFPp+C2Trx##;9&3_65?)J4tXmO4NF0PgsFeCvhQBKJ{ z(d_{x%R2o<^?V-~uW*@e?$1WgqF!IrTCot|D3PX{i-o`lol=f4hY9-4!;}8U=31a&Prm)^#tRpo*bM|ZP%<`X&ZBbJZN_Hi_9}o1 z=X&nIbDjGat9yWcj13=YMsjmOnH(q-0Kn(zs1S#y4Vhoh^B{Y>QfBCq$Ov^aMUDY{ z9w9(0{|jI>DS7f3EUnY^sDr)_!14^dNj?fJ&o% n4}dGN_{Mf<9aNjSM1KAQzW>S;#8*u100000NkvXXu0mjfgD=GU delta 951 zcmV;o14#Va2h9hNB!84iL_t(I%YBqjXcTu8$A3Fc>8_{UBuhzzxY?;~TtO{4C5pSs zmIf`cY4=yugGPyCcg}(b4-UG@LV}4PvfD%1+CiqTUK&dgrr?@-SW7S$52d$+oFoo4 zifBpmeD622n@FM$!c2bi+0Xa={>%tOu#!?rMBhJ*`0w;H*!}UhvbPD0A|e5|AR)N|!(XR5hgS^%1OOyV(*y_%+ebSqs|FPTR>BsMrXd#B zC-rf~4=ZFa8g%RXz5>9ZCO@0AwV~uOa2b+vVu>!E=TQ%`D0FJ_ z*{{~mhmsb!Y#?AhFl4}$MO$aX;&IuX1O|`*6+woSh)P*ghTn3LPs4Rskdm5Ih8{Tx zu%Od4BYz*0-SqHP(8JX18pC6qXYzY@;S2*o#7tjcNPk1wG)MCcJhdY~gaAeKjRyv` z37)xsaT#gH&)1fKQFOmPtqA`y+0B{>_698^o z`DTe9(h#}gS_X{98bFA)@#hcvWzhhoNg`_0$uc$a)mwg)89z$VQt>`ANh+zKAoJ5;1%Rpz8}cq ztLRs;T6xc1!}G>G+Vu>*B?Uej1>TT>ZPm(mGFF?~K9~|x2UQQQ0 z&41p|aNVjMaqb^Ey?^nGYdhBhK@Zf71)B4T>~N=IBV+3gpvt+Q+k9aD!^x}bfL8T( z?3s$>#)4^bp-=z-zfXfg^b99uelE|0ob5`Pp^rpHs4r9GAi$3i0<_Xw0NbSGhX>)8 zIr=>6pl<-Mo`I8O5bFVeK`DFKa*cqmH!zB50(^wE_W@NZp}zy*nV9^=c4!^cHuDtu Z`UZ+h#uMS0E@l7#002ovPDHLkV1lbizX|{V diff --git a/includes.asm b/includes.asm index 86a7df1e7..bb738e0e8 100644 --- a/includes.asm +++ b/includes.asm @@ -35,7 +35,7 @@ ELIF WHITE_POINT == 2 ; Lighter BGB white point DEF wGreen = 27 DEF wBlue = 24 -ELIF WHITE_POINT == 3 ; Lighter BGB white point +ELIF WHITE_POINT == 3 ; Darker BGB white point DEF wRed = 16 DEF wGreen = 17 DEF wBlue = 15