mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 02:13:28 -05:00
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
92 lines
4.4 KiB
YAML
92 lines
4.4 KiB
YAML
emulator: NXEngine
|
|
type: libretro
|
|
core_classification: game_engine
|
|
source: "https://github.com/libretro/nxengine-libretro"
|
|
upstream: "https://github.com/Rox64/NXEngine"
|
|
profiled_date: "2026-03-24"
|
|
source_commit: "fd1c0686f8b4c0aea9b5addbc077e3ad7da23bb7"
|
|
core_version: "1.0.0.6"
|
|
display_name: "Cave Story (NXEngine)"
|
|
cores: [nxengine, nx]
|
|
systems: [cave-story]
|
|
|
|
notes: |
|
|
NXEngine is an open-source reimplementation of the Cave Story (Doukutsu
|
|
Monogatari) engine by Studio Pixel, authored by Caitlin Shaw. It is not
|
|
an emulator but a source port that loads the original freeware game data.
|
|
|
|
The core requires the freeware Cave Story distribution placed in
|
|
{system_dir}/nxengine/. When launched without content, it looks for
|
|
Doukutsu.exe there (nxengine/libretro/libretro.cpp:289-294). When launched with a .exe
|
|
content file, it uses the parent directory of that file (nxengine/libretro/libretro.cpp:272).
|
|
|
|
At startup (nxengine/main.cpp:75-90), the core opens Doukutsu.exe and extracts:
|
|
ORG music (extractorg.c), PXT sound effects (extractpxt.c), stage tile
|
|
attributes (extractstages.c), 18 credit BMPs + pixel.bmp (endpic/),
|
|
and the wavetable (nxengine/extract-auto/cachefiles.c:464-485). All kept in memory.
|
|
|
|
The data/ directory (399 files from the freeware release) is loaded into
|
|
an in-memory cache at init (nxengine/extract-auto/cachefiles.c:38-439, 497-540). All subsequent
|
|
file access goes through this cache. The core verifies data/ by checking
|
|
for data/npc.tbl (nxengine/main.cpp:47-58).
|
|
|
|
The font is compiled-in (bitmap_font.h). The upstream standalone version
|
|
uses font.ttf via SDL_ttf.
|
|
|
|
Valid content extension: .exe (nxengine/libretro/libretro.cpp:142).
|
|
|
|
files:
|
|
- name: "Doukutsu.exe"
|
|
installed_on: [lakka, retrobat, retrodeck]
|
|
path: "nxengine/Doukutsu.exe"
|
|
category: game_data
|
|
system: cave-story
|
|
description: "Cave Story freeware executable (data source for music, sfx, bitmaps, wavetable)"
|
|
required: true
|
|
size: 1478656
|
|
md5: "38695d3d69d7a0ada8178072dad4c58b"
|
|
sha1: "bb2d0441e073da9c584f23c2ad8c7ab8aac293bf"
|
|
source_ref: "nxengine/main.cpp:77-78 (opened for extraction), nxengine/libretro/libretro.cpp:278 (existence check)"
|
|
note: "Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable from this binary at each launch."
|
|
|
|
- name: "data/"
|
|
installed_on: [lakka, retrobat, retrodeck]
|
|
path: "nxengine/data/"
|
|
type: directory
|
|
category: game_data
|
|
system: cave-story
|
|
description: "Full game asset directory tree (399 files: sprites, NPC sheets, stage maps, scripts, backgrounds)"
|
|
required: true
|
|
source_ref: "nxengine/extract-auto/cachefiles.c:38-439 (filenames[] array loaded at init)"
|
|
note: "Must contain root assets (Arms.pbm, MyChar.pbm, etc.), Npc/ (36 sprite sheets), and Stage/ (333 map/script/tileset files). All files from the original freeware release."
|
|
|
|
- name: "data/npc.tbl"
|
|
installed_on: [lakka, retrobat, retrodeck]
|
|
path: "nxengine/data/npc.tbl"
|
|
category: game_data
|
|
system: cave-story
|
|
description: "NPC attribute table (entity behavior flags, HP, damage, display rect offsets)"
|
|
required: true
|
|
source_ref: "nxengine/main.cpp:47-53 (existence check for data/ directory), nxengine/ai/ai.cpp:56-59 (loaded for NPC properties)"
|
|
note: "Located in system/nxengine/data/. Used to validate data directory presence and to load NPC behavior attributes."
|
|
|
|
- name: "data/sprites.sif"
|
|
path: "nxengine/data/sprites.sif"
|
|
category: game_data
|
|
system: cave-story
|
|
description: "Sprite information file (sprite positions, sizes, animation data)"
|
|
required: false
|
|
hle_fallback: true
|
|
source_ref: "nxengine/extract-auto/cachefiles.c:101 (in filenames[]), nxengine/extract-auto/cachefiles.c:515-521 (compiled-in fallback from sprites_sif.h)"
|
|
note: "Not shipped in the freeware distribution. If missing, the core uses a compiled-in copy (sprites_sif.h)."
|
|
|
|
- name: "tilekey.dat"
|
|
path: "nxengine/tilekey.dat"
|
|
category: game_data
|
|
system: cave-story
|
|
description: "Tile attribute lookup table (maps tile codes to collision/behavior attributes)"
|
|
required: false
|
|
hle_fallback: true
|
|
source_ref: "nxengine/map.cpp:290-303 (loaded at init, hardcoded default if missing)"
|
|
note: "Not part of the freeware distribution. Generated by the standalone NXEngine extraction tool. The libretro core has hardcoded defaults in nxengine/map.cpp:30."
|