- JD8_Init/Quit: new[]/delete[] per a screen, main_palette, pixel_data
- JD8_NewSurface/FreeSurface: new Uint8[64000]{}/delete[]
- JD8_LoadPalette: uniforme — sempre retorna `new Color[256]`, copiant del
LoadPalette extern al path no-cached (l'intermedi raw es frees amb free()
perquè gif.h el malloca)
- JD8_SetScreenPalette: delete[] la paleta reemplaçada
- slides/secreta/menu/banner/mort scenes: std::free/std::malloc → delete[]/new Color[256]
Ownership uniforme: tot el cicle de vida de surface/palette usa new[]/delete[].
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- jdraw8.hpp: typedef → using (JD8_Surface, JD8_Palette)
- jdraw8.cpp: NULL → nullptr, C-casts → static_cast/reinterpret_cast, anon enum FadeType → enum class
- momia.cpp: NULL → nullptr
- bola/mapa/marcador/momia/engendro: explicit als constructors
Zero canvis de lògica ni ownership. Primera fase de la modernització RAII.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>