From 6757a7652aaf512f978c8a043c74e85bd606697d Mon Sep 17 00:00:00 2001 From: Zeta_Null Date: Sun, 21 Jul 2024 16:57:20 -0400 Subject: [PATCH 1/2] SGB color mode stuff! dark caves don't currently work correctly, need to look into a fix --- data/tilesets/nihon_snowy_collision.asm | 2 +- engine/battle/battle_transition.asm | 4 +- engine/events/heal_machine_anim.asm | 3 +- engine/gfx/cgb_layouts.asm | 86 +++++++++++++++++++++++++ engine/menus/options_menu.asm | 2 +- engine/menus/start_menu.asm | 4 +- engine/tilesets/tileset_anims.asm | 13 ++-- gfx/sgb/predef.pal | 2 +- 8 files changed, 102 insertions(+), 14 deletions(-) diff --git a/data/tilesets/nihon_snowy_collision.asm b/data/tilesets/nihon_snowy_collision.asm index 5d011e9..32b1b77 100644 --- a/data/tilesets/nihon_snowy_collision.asm +++ b/data/tilesets/nihon_snowy_collision.asm @@ -11,7 +11,7 @@ tilecoll WALL, WALL, WALL, WALL ; 0a tilecoll WALL, WALL, WALL, WALL ; 0b tilecoll WALL, DOOR, FLOOR, FLOOR ; 0c - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d + tilecoll WALL, WALL, FLOOR, FLOOR ; 0d tilecoll WALL, WALL, WALL, DOOR ; 0e tilecoll WALL, WALL, WALL, WALL ; 0f tilecoll WALL, WALL, WALL, WALL ; 10 diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 74c5304..185995a 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -645,8 +645,8 @@ StartTrainerBattle_LoadPokeBallGraphics: dec b jr nz, .tile_loop - ldh a, [hCGB] - and a + ld a, [wOptions2] + and 1 << MENU_ACCOUNT jr nz, .cgb ld a, 1 ldh [hBGMapMode], a diff --git a/engine/events/heal_machine_anim.asm b/engine/events/heal_machine_anim.asm index a6f0496..dd848e8 100644 --- a/engine/events/heal_machine_anim.asm +++ b/engine/events/heal_machine_anim.asm @@ -155,7 +155,8 @@ INCBIN "gfx/overworld/heal_machine.2bpp" dbsprite 11, 7, 5, 1, $7d, PAL_OW_TREE | OBP_NUM .LoadPalettes: - call IsCGB + ld a, [wOptions2] + and 1 << MENU_ACCOUNT jr nz, .cgb ld a, %11100000 ldh [rOBP1], a diff --git a/engine/gfx/cgb_layouts.asm b/engine/gfx/cgb_layouts.asm index e205733..c91faf9 100644 --- a/engine/gfx/cgb_layouts.asm +++ b/engine/gfx/cgb_layouts.asm @@ -531,10 +531,94 @@ _CGB_Diploma: ret _CGB_MapPals: + ld a, [wOptions2] + and 1 << MENU_ACCOUNT + jr z, .SGBmode + ld a, [wOptions2] + and 1 << MENU_ACCOUNT + jr nz, .GBCmode + ret + +.GBCmode: call LoadMapPals ld a, SCGB_MAPPALS ld [wDefaultSGBLayout], a ret + +.SGBmode: + ; Get SGB palette + call SGBLayoutJumptable.GetMapPalsIndex + call GetPredefPal + ld de, wBGPals1 +; Copy 7 BG palettes + ld b, 7 +.bg_loop + call .LoadHLBGPaletteIntoDE + dec b + jr nz, .bg_loop +; Copy PAL_BG_TEXT and 6 OB palettes + ld b, 7 +.ob_loop + call .LoadHLOBPaletteIntoDE + dec b + jr nz, .ob_loop +; Copy PAL_OW_TREE and PAL_OW_ROCK + call .LoadHLBGPaletteIntoDE + call .LoadHLBGPaletteIntoDE + ld a, SCGB_MAPPALS + ld [wDefaultSGBLayout], a + ret + +.LoadHLBGPaletteIntoDE: +; morn/day: shades 0, 1, 2, 3 -> 0, 1, 2, 3 +; nite: shades 0, 1, 2, 3 -> 1, 2, 2, 3 + push hl + ld a, [wTimeOfDayPal] + cp NITE_F + jr c, .bg_morn_day + inc hl + inc hl + call .LoadHLColorIntoDE + call .LoadHLColorIntoDE + dec hl + dec hl + call .LoadHLColorIntoDE + call .LoadHLColorIntoDE +.bg_done + pop hl + ret + +.bg_morn_day + call LoadHLPaletteIntoDE + jr .bg_done + +.LoadHLOBPaletteIntoDE: +; shades 0, 1, 2, 3 -> 0, 0, 1, 3 + push hl + call .LoadHLColorIntoDE + dec hl + dec hl + call .LoadHLColorIntoDE + call .LoadHLColorIntoDE + inc hl + inc hl + call .LoadHLColorIntoDE + pop hl + ret + +.LoadHLColorIntoDE: + ldh a, [rSVBK] + push af + ld a, BANK(wBGPals1) + ldh [rSVBK], a +rept PAL_COLOR_SIZE + ld a, [hli] + ld [de], a + inc de +endr + pop af + ldh [rSVBK], a + ret _CGB_PartyMenu: ld hl, PalPacket_PartyMenu + 1 @@ -627,6 +711,8 @@ _CGB_UnownPuzzle: ret _CGB_TrainerCard: + ld a, [wOptions2] + and 1 << MENU_ACCOUNT ld de, wBGPals1 xor a ; CHRIS call GetTrainerPalettePointer diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index 3d83a97..d1ec83e 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -85,7 +85,7 @@ StringOptions: db " :" db "PRINT" db " :" - db "MENU ACCOUNT" + db "GBC COLORS" db " :" db "FRAME" db " :TYPE" diff --git a/engine/menus/start_menu.asm b/engine/menus/start_menu.asm index 84636e0..3fe9084 100644 --- a/engine/menus/start_menu.asm +++ b/engine/menus/start_menu.asm @@ -381,8 +381,8 @@ endr jp TextboxPalette .IsMenuAccountOn: - ld a, [wOptions2] - and 1 << MENU_ACCOUNT +; ld a, [wOptions2] +; and 1 << MENU_ACCOUNT ret .DrawBugContestStatusBox: diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index a74cf86..cfcb539 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -717,8 +717,8 @@ AnimateFlowerTile: ; CGB has different tile graphics for flowers ld e, a - ldh a, [hCGB] - and 1 + ld a, [wOptions2] + and 1 << MENU_ACCOUNT add e ; hl = .FlowerTileFrames + a * 16 @@ -738,6 +738,7 @@ AnimateFlowerTile: INCBIN "gfx/tilesets/flower/cgb_1.2bpp" INCBIN "gfx/tilesets/flower/dmg_2.2bpp" INCBIN "gfx/tilesets/flower/cgb_2.2bpp" + AnimateLavaBubbleTile1: ; Save the stack pointer in bc for WriteTile to restore @@ -950,8 +951,8 @@ AnimateWaterPalette: ; Transition between color values 0-2 for color 0 in palette 3. ; Don't update the palette on DMG - ldh a, [hCGB] - and a + ld a, [wOptions2] + and 1 << MENU_ACCOUNT ret z ; Don't update a non-standard palette order @@ -1013,8 +1014,8 @@ AnimateWaterPalette: FlickeringCaveEntrancePalette: ; Don't update the palette on DMG - ldh a, [hCGB] - and a + ld a, [wOptions2] + and 1 << MENU_ACCOUNT ret z ; Don't update a non-standard palette order diff --git a/gfx/sgb/predef.pal b/gfx/sgb/predef.pal index 152047f..c98ddd7 100644 --- a/gfx/sgb/predef.pal +++ b/gfx/sgb/predef.pal @@ -23,7 +23,6 @@ RGB 31,31,31, 31,20,20, 15,20,31, 00,00,00 ; PREDEFPAL_LAKE_OF_RAGE RGB 31,31,31, 26,26,26, 15,20,31, 00,00,00 ; PREDEFPAL_SILVER_CAVE RGB 31,31,31, 21,14,09, 15,20,20, 00,00,00 ; PREDEFPAL_DUNGEONS - RGB 31,31,31, 12,28,22, 15,20,20, 00,00,00 ; PREDEFPAL_SILENT_HILLS RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_CITRINE (temp) RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_ONE_ISLAND (temp) RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_TWO_ISLAND (temp) @@ -32,6 +31,7 @@ RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_FIVE_ISLAND (temp) RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_SIX_ISLAND (temp) RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_SEVEN_ISLAND (temp) + RGB 31,31,31, 12,28,22, 15,20,20, 00,00,00 ; PREDEFPAL_SILENT_HILLS RGB 31,31,31, 18,14,31, 15,20,20, 00,00,00 ; PREDEFPAL_BLUE_FOREST RGB 31,31,31, 12,28,22, 15,20,20, 00,00,00 ; PREDEFPAL_NITE RGB 31,31,31, 07,07,07, 02,03,03, 00,00,00 ; PREDEFPAL_BLACKOUT From 869986db26b723e7af76b13dd2aa62f90ca5e2cf Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 21 Jul 2024 22:26:04 +0100 Subject: [PATCH 2/2] uncommitted bits --- README.md | 3 ++- gfx/pokemon/vulpixalola/anim.asm | 11 +++++++++++ gfx/pokemon/vulpixalola/anim_idle.asm | 10 ++++++++++ gfx/pokemon/vulpixalola/back.png | Bin 0 -> 948 bytes gfx/pokemon/vulpixalola/front.png | Bin 0 -> 4750 bytes gfx/pokemon/vulpixalola/shiny.pal | 2 ++ maps/DebugRoom.asm | 4 ++-- 7 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 gfx/pokemon/vulpixalola/anim.asm create mode 100644 gfx/pokemon/vulpixalola/anim_idle.asm create mode 100644 gfx/pokemon/vulpixalola/back.png create mode 100644 gfx/pokemon/vulpixalola/front.png create mode 100644 gfx/pokemon/vulpixalola/shiny.pal diff --git a/README.md b/README.md index d7ce2fe..4326e6a 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,8 @@ Additionally, there have been many wild encounter tweaks. View this document for # Sprite Credits - Zeta_Null: Topaz sprites, numerous tileset bits, Omegadge, Qatu, Phandarin, Stromen, Lickilord, - Martha's Against Humanity: Shi-Shi, Fossil Aerodactyl, Fossil Kabutops -- nuuk: (WIP) Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Porygon-Z, Sylveon, Togekiss, Wyrdeer +- zuperZACH: Clodsire (front), Mismagius, Alolan Vulpix +- nuuk: (WIP) Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Porygon-Z, Sylveon, Togekiss, Wyrdeer, Clodsire (back) - Scarlax, Pix, BloodlessNX, Kam, Poket, BimbelyGimbly - Animated sprites from [Pokemon October](https://github.com/pokeachromicdevs/pokeoctober): Bellignan, Caretorker (Adbarstork), Inoshika (Aggroswine), Bipulla, Sonegg (Clefling), Kolta (Coalta), Coinpur, Dodaerie, Bundra (Germifrost), Kiwooked (Kiwacki), Eucala (Koalyptus), Trebir, Burgela, Gorotora, Moibelle, Molambino, Dokuroar (Necrorex), Orfry, Blossomole (Petamole), Smujj - SoupPotato et al - Various sprites from [Pokemon Gold & Silver '97 Reforged](https://github.com/SoupPotato/gold97); Palssio (Cruize), Pressio (Aquallo) Donmarin (Aquarius), Grenmar (Bombsheal, with edits), Jungela (Gelania), Elebebi (Elebabe), Mimmeo (Metto), Kazeppelin (Numbpuff), Disturban (Turban), Angore (Anchorage) - SCMidna: Munchlax diff --git a/gfx/pokemon/vulpixalola/anim.asm b/gfx/pokemon/vulpixalola/anim.asm new file mode 100644 index 0000000..1877a76 --- /dev/null +++ b/gfx/pokemon/vulpixalola/anim.asm @@ -0,0 +1,11 @@ + frame 0, 08 + frame 1, 10 + frame 2, 04 + frame 3, 04 + frame 2, 04 + frame 3, 04 + frame 2, 04 + frame 3, 04 + frame 2, 05 + frame 0, 16 + endanim \ No newline at end of file diff --git a/gfx/pokemon/vulpixalola/anim_idle.asm b/gfx/pokemon/vulpixalola/anim_idle.asm new file mode 100644 index 0000000..9561dd4 --- /dev/null +++ b/gfx/pokemon/vulpixalola/anim_idle.asm @@ -0,0 +1,10 @@ + frame 4, 02 + frame 5, 02 + frame 4, 02 + frame 5, 02 + frame 4, 02 + frame 5, 02 + frame 4, 02 + frame 5, 02 + frame 0, 16 + endanim \ No newline at end of file diff --git a/gfx/pokemon/vulpixalola/back.png b/gfx/pokemon/vulpixalola/back.png new file mode 100644 index 0000000000000000000000000000000000000000..c58987f7facad3fc24aaadc6a868c73d2632f8d6 GIT binary patch literal 948 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 B8_WOz literal 0 HcmV?d00001 diff --git a/gfx/pokemon/vulpixalola/shiny.pal b/gfx/pokemon/vulpixalola/shiny.pal new file mode 100644 index 0000000..9a4ad0d --- /dev/null +++ b/gfx/pokemon/vulpixalola/shiny.pal @@ -0,0 +1,2 @@ + RGB 25, 23, 29 + RGB 16, 10, 21 \ No newline at end of file diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index 583029a..d58f39c 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -57,11 +57,11 @@ DebugPokemon4Script: faceplayer opentext writetext DebugTextB - cry DOKUROAR + cry NIDORAN_M pause 15 closetext loadvar VAR_BATTLETYPE, BATTLETYPE_NORMAL - loadwildmon DOKUROAR, 60 + loadwildmon BIPULLA, 60 startbattle reloadmapafterbattle end