Files
libretro/emulators/doukutsu_rs.yml
T

70 lines
3.2 KiB
YAML

emulator: doukutsu-rs
type: standalone + libretro
core_classification: game_engine
source: "https://github.com/DrGlaucous/doukutsu-rs-nm"
upstream: "https://github.com/doukutsu-rs/doukutsu-rs"
profiled_date: "2026-03-23"
source_commit: "51e64c2e9615bcd476034c69b58927877fe73494"
core_version: "1.2.0 - 0.101.0"
display_name: "Cave Story (drs)"
cores:
- doukutsu_rs
systems:
- cavestory
# doukutsu-rs (d-rs) is an open-source reimplementation of the Cave Story
# (Doukutsu Monogatari) engine in Rust, ported to libretro by Dr. Glaucous.
# It plays the original freeware Cave Story and Cave Story+ (Steam/Switch).
#
# The core does NOT use RetroArch's system directory for any BIOS or firmware.
# get_system_directory() is defined in libretro.rs:1255 but never called by
# the core (the import is commented out in core.rs:28).
#
# Instead, the core loads game data relative to the content path provided by
# the frontend. The target is either a Doukutsu.exe (freeware) or a directory
# containing a data/ subfolder (core.rs:226-233):
#
# content_path = "/path/to/Doukutsu.exe" (or directory for CS Switch)
# resource_dir = parent_of(content_path) + "/data/"
#
# The data/ directory must contain the freeware Cave Story game assets:
# npc.tbl, mrmap.bin, *.png, Stage/, Npc/, org/ (music), *.tsc (scripts)
#
# These are the original Pixel game files from Doukutsu.exe, extracted by
# the doukutsu-rs/game-data repo (CSE2E-converted freeware data). They are
# copyrighted by Daisuke "Pixel" Amaya but freely redistributable for
# non-commercial use.
#
# Internal engine data (fonts, organya wavetables, gamecontrollerdb.txt,
# touch overlay, lightmap) is compiled into the core binary via
# include_bytes! in builtin_fs.rs, so nothing extra is needed in system/.
#
# The .info file (doukutsu_rs_libretro.info) declares:
# supported_extensions = "exe|dll|so"
# needs_fullpath = true
# supports_no_game = true
# notes = "(!) drs requires data ROM 'Cave Story (en).zip'."
# "|(!) Load Content 'Doukutsu.exe', Also works with all other ports of CS"
#
# No firmware entries are declared in the .info file.
# Valid extensions: exe, dll, so (loads the original game binary as content path)
notes: |
No BIOS or firmware files required in the system directory.
The core reads game data from a data/ subfolder next to the loaded content.
Users must provide the Cave Story freeware game files (Doukutsu.exe and its
data/ directory) or a Cave Story+ installation as the content to load.
All engine-internal resources (fonts, wavetables, controller mappings) are
built into the core binary.
exclusion_note: "game data loaded relative to content path, not from system directory"
files:
- name: "Doukutsu.exe"
category: game_data
system: cavestory
load_from: content_dir
required: false
description: "Freeware Cave Story executable, loaded as content"
note: "The engine reads the game from the data/ folder in the same directory. On first run it extracts the Organya music, bitmaps and stage table from it into data/, unless data/stage.sect already exists."
source_ref: "source drsretroarch/src/core.rs:51-52, 226-233, source src/game/shared_game_state.rs:366-384, source src/data/vanilla.rs:37-97"