Commit Graph
6 Commits
Author SHA1 Message Date
JailDesigner 2e3816783f feat(immunity): API setImmunity/isImmune i lectura del bloc immunity 2026-05-05 13:01:22 +02:00
JailDesignerandClaude Opus 4.7 be94a4390e refactor(core/rendering): neteja del parser GIF i construcció de Surface (DUP-01/-06 + HC-03/-10 + PATCH-05)
- DUP-01: les tres branques del switch d'extensions que saltaven el
  mateix (bloc fix + sub-blocs) es substitueixen per una crida a
  skipExtensionBlock(); com que totes les extensions comparteixen
  layout, el switch desapareix i el codi es redueix a una línia.
- DUP-06: el constructor Surface(file_path) llegia el fitxer dues
  voltes (una via loadSurface per pixels i una altra via
  loadPaletteFromGif per la paleta); ara carrega el buffer una sola
  vegada i n'extrau pixels + paleta en passades separades sobre la
  memòria. Surface::loadSurface passa a no existir públicament (no
  tenia callers externs).
- HC-03: les màscares i talls màgics del decoder LZW i del Screen
  Descriptor passen a constants nominals (LZW_MIN/MAX_CODE_LENGTH,
  LZW_MASK_INITIAL, LZW_MASK_OVERFLOW, SCREEN_GCT_FLAG,
  SCREEN_GCT_SIZE_MASK, GCT_BYTES_PER_ENTRY).
- HC-10: processImageDescriptor tenia gct i resolution_bits
  [[maybe_unused]] vestigials; se'n treu la signatura. L'struct RGB,
  que només servia per a aquests args, també s'elimina.
- PATCH-05: el comentari "reemplaçar macro READ" (migració parcial des
  de C) passa a ser un comentari neutre sobre el que fa readBytes.

Build + smoke 5s xvfb OK (exit 124).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 09:53:43 +02:00
JailDesignerandClaude Opus 4.7 597402aa1b refactor(core/rendering): esborrar codi mort a Sprite/Surface i inline Sprite::update (DEAD-04/-05/-07/-08/-10 + PATCH-04)
Eliminats mètodes sense callers:
- Sprite::getRect() (DEAD-04)
- Sprite::incX / incY (DEAD-05)
- AnimatedSprite::getCurrentAnimationSize() (DEAD-07)
- Surface::getSurfaceData() (DEAD-08)

Sprite::update passa a ser virtual amb cos buit inline al header, en
lloc de la definició a .cpp amb (void)delta_time; desapareix una línia
de "parxejament" sense alterar la polimorfia (Player::update, heretat
via AnimatedSprite/MovingSprite, continua fent override correctament).
Això tanca DEAD-10 i PATCH-04 alhora.

Els ctors per defecte Sprite()/MovingSprite() s'apunten com WONTFIX al
document: són necessaris per a la cadena de construcció base d'Animated
Sprite (que no delega explícitament al ctor parametritzat).

Build + smoke 5s xvfb OK (exit 124).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 09:43:39 +02:00
JailDesigner bee9b650db Paleta UI compartida (sega-cube.pal) i constants semàntiques UiColor (v0.7.1) 2026-04-19 09:30:29 +02:00
JailDesigner e6f3c888e6 Font 8bithud, classe Text i overlay RenderInfo (F3, persistit a config.yaml) (v0.7.0) 2026-04-19 00:31:02 +02:00
JailDesigner de5a670fdb Motor de sprites/animacions/surfaces i jugador centrat (v0.2.0) 2026-04-18 21:02:55 +02:00