Files
ascreamfromthedark-gb/src/enemy.c
T
enne2 8244790603 Add technical report, update docs/README, remove orphaned victory asset
- 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.
2026-06-24 11:11:17 +02:00

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
};