8244790603
- Add doc/AScreamFromTheDark_report.md: deep technical report covering
architecture, features, historical workarounds and known debt.
- Rewrite README.md to reflect the current 'A Scream from the Dark'
identity (ghost enemy, stamina/jump, fog of war, going-deeper victory)
instead of the stale 'gioco carino' copy with old file paths.
- Update doc/generation.md: goal is now a random south-edge hatch,
not the max-Manhattan-distance portal.
- Remove orphaned src/victory.{c,h} and its include in render.c;
the victory sequence was replaced by the full-screen next_level image.
- Regenerate tracked png2asset outputs to match current build.
226 lines
5.0 KiB
C
226 lines
5.0 KiB
C
//AUTOGENERATED FILE FROM png2asset
|
|
|
|
#include <stdint.h>
|
|
#include <gbdk/platform.h>
|
|
#include <gbdk/metasprites.h>
|
|
|
|
BANKREF(enemy)
|
|
|
|
const palette_color_t enemy_palettes[32] = {
|
|
RGB8(224,248,207), RGB8(134,192,108), RGB8( 48,104, 80), RGB8( 7, 24, 33)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
,
|
|
RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0), RGB8( 0, 0, 0)
|
|
|
|
};
|
|
|
|
const uint8_t enemy_tiles[512] = {
|
|
0x07,0x07,0x08,0x0f,
|
|
0x17,0x18,0x1f,0x12,
|
|
0x1c,0x13,0x3f,0x23,
|
|
0x2e,0x31,0x17,0x18,
|
|
0x09,0x0e,0x09,0x0e,
|
|
0x04,0x07,0x04,0x07,
|
|
0x05,0x06,0x0b,0x0d,
|
|
0x06,0x06,0x00,0x00,
|
|
|
|
0xc0,0xc0,0x20,0xe0,
|
|
0xd0,0x30,0xf0,0x50,
|
|
0x70,0x90,0xf0,0x90,
|
|
0xf8,0x18,0xfc,0x04,
|
|
0xf8,0x08,0xf0,0x30,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0xc0,0x40,0x80,0x80,
|
|
0x00,0x00,0x00,0x00,
|
|
|
|
0x07,0x07,0x08,0x0f,
|
|
0x17,0x18,0x1f,0x12,
|
|
0x1c,0x13,0x1f,0x13,
|
|
0x2e,0x31,0x27,0x38,
|
|
0x13,0x1c,0x09,0x0e,
|
|
0x04,0x07,0x04,0x07,
|
|
0x05,0x06,0x02,0x03,
|
|
0x01,0x01,0x00,0x00,
|
|
|
|
0xc0,0xc0,0x20,0xe0,
|
|
0xd0,0x30,0xf0,0x50,
|
|
0x70,0x90,0xf0,0x90,
|
|
0xf8,0x18,0xfc,0x04,
|
|
0xf8,0x08,0xf0,0x30,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0x80,0x80,0x00,0x00,
|
|
|
|
0x03,0x03,0x04,0x07,
|
|
0x0b,0x0c,0x0f,0x0a,
|
|
0x0e,0x09,0x0f,0x09,
|
|
0x1f,0x18,0x3f,0x20,
|
|
0x1f,0x10,0x0f,0x0c,
|
|
0x03,0x02,0x03,0x02,
|
|
0x03,0x02,0x01,0x01,
|
|
0x00,0x00,0x00,0x00,
|
|
|
|
0xe0,0xe0,0x10,0xf0,
|
|
0xe8,0x18,0xf8,0x48,
|
|
0x38,0xc8,0xfc,0xc4,
|
|
0x74,0x8c,0xe8,0x18,
|
|
0x90,0x70,0x90,0x70,
|
|
0x20,0xe0,0x20,0xe0,
|
|
0xa0,0x60,0xd0,0xb0,
|
|
0x60,0x60,0x00,0x00,
|
|
|
|
0x03,0x03,0x04,0x07,
|
|
0x0b,0x0c,0x0f,0x0a,
|
|
0x0e,0x09,0x0f,0x09,
|
|
0x1f,0x18,0x3f,0x20,
|
|
0x1f,0x10,0x0f,0x0c,
|
|
0x03,0x02,0x03,0x02,
|
|
0x03,0x02,0x03,0x02,
|
|
0x01,0x01,0x00,0x00,
|
|
|
|
0xe0,0xe0,0x10,0xf0,
|
|
0xe8,0x18,0xf8,0x48,
|
|
0x38,0xc8,0xf8,0xc8,
|
|
0x74,0x8c,0xe4,0x1c,
|
|
0xc8,0x38,0x90,0x70,
|
|
0x20,0xe0,0x20,0xe0,
|
|
0xa0,0x60,0x40,0xc0,
|
|
0x80,0x80,0x00,0x00,
|
|
|
|
0x03,0x03,0x04,0x07,
|
|
0x0b,0x0c,0x0f,0x08,
|
|
0x0f,0x08,0x0f,0x08,
|
|
0x1f,0x18,0x3f,0x20,
|
|
0x1f,0x10,0x0f,0x0c,
|
|
0x03,0x02,0x03,0x02,
|
|
0x03,0x02,0x01,0x01,
|
|
0x00,0x00,0x00,0x00,
|
|
|
|
0xe0,0xe0,0x10,0xf0,
|
|
0xe8,0x18,0xf8,0x08,
|
|
0xf8,0x08,0xf8,0x08,
|
|
0xe8,0x18,0xd0,0x30,
|
|
0x90,0x70,0x90,0x70,
|
|
0x20,0xe0,0x20,0xe0,
|
|
0xa0,0x60,0xd0,0xb0,
|
|
0x60,0x60,0x00,0x00,
|
|
|
|
0x03,0x03,0x04,0x07,
|
|
0x0b,0x0c,0x0f,0x08,
|
|
0x0f,0x08,0x0f,0x08,
|
|
0x1f,0x18,0x3f,0x20,
|
|
0x1f,0x10,0x0f,0x0c,
|
|
0x03,0x02,0x03,0x02,
|
|
0x03,0x02,0x03,0x02,
|
|
0x01,0x01,0x00,0x00,
|
|
|
|
0xe0,0xe0,0x10,0xf0,
|
|
0xe8,0x18,0xf8,0x08,
|
|
0xf8,0x08,0xf8,0x08,
|
|
0xe8,0x18,0xd0,0x30,
|
|
0x90,0x70,0x90,0x70,
|
|
0x20,0xe0,0x20,0xe0,
|
|
0xa0,0x60,0x40,0xc0,
|
|
0x80,0x80,0x00,0x00,
|
|
|
|
0x07,0x07,0x08,0x0f,
|
|
0x17,0x18,0x1f,0x10,
|
|
0x1f,0x10,0x1f,0x10,
|
|
0x17,0x18,0x0b,0x0c,
|
|
0x09,0x0e,0x09,0x0e,
|
|
0x04,0x07,0x04,0x07,
|
|
0x05,0x06,0x0b,0x0d,
|
|
0x06,0x06,0x00,0x00,
|
|
|
|
0xc0,0xc0,0x20,0xe0,
|
|
0xd0,0x30,0xf0,0x10,
|
|
0xf0,0x10,0xf0,0x10,
|
|
0xf8,0x18,0xfc,0x04,
|
|
0xf8,0x08,0xf0,0x30,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0xc0,0x40,0x80,0x80,
|
|
0x00,0x00,0x00,0x00,
|
|
|
|
0x07,0x07,0x08,0x0f,
|
|
0x17,0x18,0x1f,0x10,
|
|
0x1f,0x10,0x1f,0x10,
|
|
0x17,0x18,0x0b,0x0c,
|
|
0x09,0x0e,0x09,0x0e,
|
|
0x04,0x07,0x04,0x07,
|
|
0x05,0x06,0x02,0x03,
|
|
0x01,0x01,0x00,0x00,
|
|
|
|
0xc0,0xc0,0x20,0xe0,
|
|
0xd0,0x30,0xf0,0x10,
|
|
0xf0,0x10,0xf0,0x10,
|
|
0xf8,0x18,0xfc,0x04,
|
|
0xf8,0x08,0xf0,0x30,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0xc0,0x40,0xc0,0x40,
|
|
0x80,0x80,0x00,0x00
|
|
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite0[] = {
|
|
METASPR_ITEM(-8, -8, 0, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 2, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite1[] = {
|
|
METASPR_ITEM(-8, -8, 4, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 6, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite2[] = {
|
|
METASPR_ITEM(-8, -8, 8, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 10, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite3[] = {
|
|
METASPR_ITEM(-8, -8, 12, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 14, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite4[] = {
|
|
METASPR_ITEM(-8, -8, 16, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 18, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite5[] = {
|
|
METASPR_ITEM(-8, -8, 20, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 22, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite6[] = {
|
|
METASPR_ITEM(-8, -8, 24, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 26, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t enemy_metasprite7[] = {
|
|
METASPR_ITEM(-8, -8, 28, S_PAL(0) | S_PALETTE),
|
|
METASPR_ITEM(0, 8, 30, S_PAL(0) | S_PALETTE),
|
|
METASPR_TERM
|
|
};
|
|
|
|
const metasprite_t* const enemy_metasprites[8] = {
|
|
enemy_metasprite0, enemy_metasprite1, enemy_metasprite2, enemy_metasprite3, enemy_metasprite4, enemy_metasprite5, enemy_metasprite6, enemy_metasprite7
|
|
};
|