/* pop_shadow_atlas.h — раскладка атласа ТЕНИ. * СГЕНЕРЕНО toolchain/pop_pack_shadow.py — НЕ править вручную. * * Две половины, потому что и у оригинала их две (см. шапку * упаковщика): кадры вне боя адресуют chtab_2 (спрайты Кида), * кадры 150..189 — chtab_5, а он на 12-м уровне это SHADOW.DAT. * Какая половина нужна, приложение уже знает — тем же условием, * что выбирает таблицу кадров (pop_frame_tbl_is_guard). * * Спрайт Тени НА ОДИН ПИКСЕЛЬ ШИРЕ исходного: второй проход * оригинала кладётся в x+1, и суммарный след занимает [x, x+w]. * Рисовать по тем же координатам, что и Кида — сдвиг уже внутри. */ #ifndef POP_SHADOW_ATLAS_H #define POP_SHADOW_ATLAS_H #include #define POP_SHADOW_SHIFT 3 #define POP_SHADOW_MASK 7 #define POP_SHADOW_PAL_BASE 0xA0 /* слоты Sprinter под Тень */ /* Половина «вне боя» — кадры Кида (chtab_2). */ #define POP_SHADOW_KID_PAGES 28 /* Половина «в бою» — SHADOW.DAT (chtab_5, кадры 150..189). */ #define POP_SHADOW_FGT_PAGES 4 static const char *const pop_shadow_kid_atl[POP_SHADOW_KID_PAGES] = { "SHADOW\\sk0.atl", "SHADOW\\sk1.atl", "SHADOW\\sk2.atl", "SHADOW\\sk3.atl", "SHADOW\\sk4.atl", "SHADOW\\sk5.atl", "SHADOW\\sk6.atl", "SHADOW\\sk7.atl", "SHADOW\\sk8.atl", "SHADOW\\sk9.atl", "SHADOW\\sk10.atl", "SHADOW\\sk11.atl", "SHADOW\\sk12.atl", "SHADOW\\sk13.atl", "SHADOW\\sk14.atl", "SHADOW\\sk15.atl", "SHADOW\\sk16.atl", "SHADOW\\sk17.atl", "SHADOW\\sk18.atl", "SHADOW\\sk19.atl", "SHADOW\\sk20.atl", "SHADOW\\sk21.atl", "SHADOW\\sk22.atl", "SHADOW\\sk23.atl", "SHADOW\\sk24.atl", "SHADOW\\sk25.atl", "SHADOW\\sk26.atl", "SHADOW\\sk27.atl", }; static const char *const pop_shadow_fgt_atl[POP_SHADOW_FGT_PAGES] = { "SHADOW\\sf0.atl", "SHADOW\\sf1.atl", "SHADOW\\sf2.atl", "SHADOW\\sf3.atl", }; /* 16 цветов, запись 4 байта (B, G, R, 0) — формат gfx_pal_load. */ static const uint8_t pop_shadow_pal[64] = { 0x00,0x00,0x00,0x00,0xD8,0xFC,0xFC,0x00,0x6C,0x80,0xDC,0x00,0x78,0x44,0x24,0x00,0xA0,0xB8,0xD8,0x00,0xB5,0x7C,0x21,0x00,0x00,0x90,0xB8,0x00,0x5D,0x6D,0xAB,0x00,0x0C,0xF0,0x6C,0x00,0xCC,0x38,0x05,0x00,0x38,0xCC,0xC0,0x00,0x58,0xDB,0xA7,0x00,0xBB,0x9F,0x54,0x00,0x5D,0x18,0x60,0x00,0x37,0xD7,0x37,0x00,0x2F,0x17,0xD2,0x00, }; #endif