feat: add handcrafted 8x8 sprite art and VBlank bioluminescent animation for rotten apples

This commit is contained in:
phillip committed 2026-10-03 23:49:24 +02:00
1 parent 8559159fc0
commit 91908d1f15
6 files changed
+322 -260

No files matched your search

+28 -23
View File
@@ -425,26 +425,26 @@ void bg_update(BackgroundContext &bg_ctx, const GameState &state,
col_frame = make_rgb15(18, 2, 22);
col_frame_accent = make_rgb15(28, 6, 31);
} else if (hard) {
// Fiery amber / crimson cyber grid interpolating towards volcanic hyper-crimson
const uint16_t c_faint_0 = make_rgb15(5, 2, 1);
const uint16_t c_subtle_0 = make_rgb15(10, 4, 2);
const uint16_t c_primary_0 = make_rgb15(18, 8, 3);
const uint16_t c_star_dim_0 = make_rgb15(8, 3, 1);
const uint16_t c_star_med_0 = make_rgb15(16, 7, 2);
const uint16_t c_star_bright_0 = make_rgb15(26, 14, 4);
const uint16_t c_star_flare_0 = make_rgb15(31, 24, 10);
const uint16_t c_frame_0 = make_rgb15(14, 5, 2);
const uint16_t c_frame_accent_0 = make_rgb15(26, 10, 4);
// Fiery amber / crimson cyber grid interpolating towards volcanic hyper-crimson (toned darker for high item contrast)
const uint16_t c_faint_0 = make_rgb15(3, 1, 1);
const uint16_t c_subtle_0 = make_rgb15(6, 2, 1);
const uint16_t c_primary_0 = make_rgb15(12, 4, 2);
const uint16_t c_star_dim_0 = make_rgb15(6, 2, 1);
const uint16_t c_star_med_0 = make_rgb15(11, 4, 2);
const uint16_t c_star_bright_0 = make_rgb15(20, 9, 3);
const uint16_t c_star_flare_0 = make_rgb15(28, 18, 6);
const uint16_t c_frame_0 = make_rgb15(9, 3, 1);
const uint16_t c_frame_accent_0 = make_rgb15(18, 6, 2);
const uint16_t c_faint_max = make_rgb15(8, 3, 2);
const uint16_t c_subtle_max = make_rgb15(16, 7, 3);
const uint16_t c_primary_max = make_rgb15(28, 14, 5);
const uint16_t c_star_dim_max = make_rgb15(14, 5, 2);
const uint16_t c_star_med_max = make_rgb15(24, 11, 3);
const uint16_t c_star_bright_max = make_rgb15(31, 20, 6);
const uint16_t c_star_flare_max = make_rgb15(31, 31, 18);
const uint16_t c_frame_max = make_rgb15(22, 8, 3);
const uint16_t c_frame_accent_max = make_rgb15(31, 16, 5);
const uint16_t c_faint_max = make_rgb15(5, 2, 1);
const uint16_t c_subtle_max = make_rgb15(9, 3, 2);
const uint16_t c_primary_max = make_rgb15(18, 6, 2);
const uint16_t c_star_dim_max = make_rgb15(9, 3, 1);
const uint16_t c_star_med_max = make_rgb15(16, 6, 2);
const uint16_t c_star_bright_max = make_rgb15(26, 12, 4);
const uint16_t c_star_flare_max = make_rgb15(31, 26, 10);
const uint16_t c_frame_max = make_rgb15(15, 5, 2);
const uint16_t c_frame_accent_max = make_rgb15(25, 10, 3);
col_faint = lerp_color(c_faint_0, c_faint_max, intensity_31);
col_subtle = lerp_color(c_subtle_0, c_subtle_max, intensity_31);
@@ -491,8 +491,8 @@ void bg_update(BackgroundContext &bg_ctx, const GameState &state,
// Deep space backdrop color dynamically illuminates with intensity
if (in_game && !over) {
if (hard) {
BG_PALETTE_SUB[0] = lerp_color(make_rgb15(8, 3, 3), make_rgb15(12, 4, 4), intensity_31);
BG_PALETTE[0] = lerp_color(make_rgb15(6, 2, 2), make_rgb15(9, 3, 3), intensity_31);
BG_PALETTE_SUB[0] = lerp_color(make_rgb15(3, 1, 1), make_rgb15(6, 2, 2), intensity_31);
BG_PALETTE[0] = lerp_color(make_rgb15(2, 1, 1), make_rgb15(5, 1, 2), intensity_31);
} else {
BG_PALETTE_SUB[0] = lerp_color(make_rgb15(3, 4, 7), make_rgb15(5, 7, 12), intensity_31);
BG_PALETTE[0] = lerp_color(make_rgb15(2, 3, 6), make_rgb15(3, 5, 10), intensity_31);
@@ -501,8 +501,13 @@ void bg_update(BackgroundContext &bg_ctx, const GameState &state,
BG_PALETTE_SUB[0] = make_rgb15(3, 2, 2);
BG_PALETTE[0] = make_rgb15(2, 1, 1);
} else {
BG_PALETTE_SUB[0] = make_rgb15(2, 2, 6);
BG_PALETTE[0] = make_rgb15(2, 2, 6);
if (hard) {
BG_PALETTE_SUB[0] = make_rgb15(3, 1, 1);
BG_PALETTE[0] = make_rgb15(2, 1, 1);
} else {
BG_PALETTE_SUB[0] = make_rgb15(2, 2, 6);
BG_PALETTE[0] = make_rgb15(2, 2, 6);
}
}
// Animate twinkling stars using sine oscillations