Files
libretro/emulators/jazz2-native.yml
T

206 lines
7.1 KiB
YAML

emulator: Jazz² Resurrection
type: standalone
core_classification: game_engine
source: "https://github.com/deathkiller/jazz2-native"
upstream: "https://github.com/deathkiller/jazz2-native"
profiled_date: "2026-10-04"
source_commit: "cc06bdac1b957a069e1d05761c7437cd59886552"
core_version: "3.8.0"
display_name: "Jazz Jackrabbit 2 (Jazz² Resurrection)"
cores: []
systems: [jazz-jackrabbit-2]
notes: |
Open-source reimplementation of Jazz Jackrabbit 2 by Dan R. The engine
ships its own Content/ tree (animations, metadata, translations,
shaders) that must sit next to the executable.
ref: Sources/Jazz2/ContentResolver.cpp:187-240 (GetContentPath per
platform), ContentResolver.cpp:415-452 (desktop fallbacks)
Original Jazz Jackrabbit 2 data is read from Source/ and converted
on first launch into the engine's own pak format under Cache/.
ref: Sources/Jazz2/ContentResolver.cpp:279-310 (GetSourcePath),
Sources/Jazz2/Compatibility/AssetConverter.cpp:139-170
(ConvertSourceAssets, iterates .j2e / .j2l / .j2t / .j2b)
Content/ is the engine runtime — it is shipped with the release
package. Source/ holds the user's own copy of the 1998 game data.
The engine runs its UI with Content/ alone; levels and episodes
require Source/ to carry JJ2 files.
files:
# ================================================================
# Content/ (bundled runtime data, shipped with each release)
# These are generated at build time from the Content/ tree in the
# repo; the engine refuses to render its UI without them.
# ================================================================
- name: "Animations/"
category: game_data
path: "Content/Animations"
required: true
source_ref: "Sources/Jazz2/ContentResolver.cpp:2651 (CombinePath Content/Animations)"
note: "Native animation sheets, loaded by ContentResolver for every actor."
- name: "Metadata/"
category: game_data
path: "Content/Metadata"
required: true
source_ref: "Sources/Jazz2/ContentResolver.cpp (metadata loader for actors, UI, bosses)"
note: "Actor .res descriptors (Common, Enemy, Player, UI, Boss, ...)."
- name: "Translations/"
category: game_data
path: "Content/Translations"
required: false
source_ref: "Sources/Jazz2/ContentResolver.cpp (translation loader)"
note: "Language bundles. Engine falls back to English if absent."
- name: "Shaders/"
category: game_data
path: "Content/Shaders"
required: false
source_ref: "Sources/nCine (shader loader)"
note: "GLSL shaders used by the Jazz² renderer. Shipped with the engine."
# ================================================================
# Source/ (original Jazz Jackrabbit 2 data, user-supplied)
# Converted into Content/Cache on first launch.
# ================================================================
- name: "Anims.j2a"
category: game_data
system: jazz-jackrabbit-2
path: "Source/Anims.j2a"
required: false
source_ref: "Sources/Jazz2/Compatibility/JJ2Anims.cpp (JJ2Anims::Open)"
note: "Main animation archive. Required to generate the first-run cache."
- name: "Data.j2d"
category: game_data
system: jazz-jackrabbit-2
path: "Source/Data.j2d"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:162 (data.Open \"Data.j2d\")"
- name: "Plus.j2d"
category: game_data
system: jazz-jackrabbit-2
path: "Source/Plus.j2d"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp (JJ2+ data block)"
note: "JJ2+ extended data (optional)."
- name: "Jazz2.exe"
category: game_data
system: jazz-jackrabbit-2
path: "Source/Jazz2.exe"
required: false
source_ref: "Sources/Jazz2/Compatibility/JJ2Strings.cpp (localization extracted from executable)"
note: "Original executable used only to extract localized strings. The engine does not run it."
# Episode descriptors (.j2e) and level files (.j2l) are optional per
# episode. Any present in Source/ get discovered at scan time.
# ref: Sources/Jazz2/Compatibility/AssetConverter.cpp:338-437
- name: "prince.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/prince.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412 (episodesPath enumeration)"
note: "Episode 1 - Formerly a Prince."
- name: "rescue.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/rescue.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "Episode 2 - Rescue of the Princess (Shareware episode)."
- name: "flash.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/flash.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "Episode 3 - Flashback to the Past."
- name: "monk.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/monk.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "Episode 4 - Clash of the Jazz & Monk."
- name: "funky.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/funky.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "Episode 5 - Jazz in Time (The Secret Files)."
- name: "share.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/share.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "Shareware episode descriptor."
- name: "xmas99.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/xmas99.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:182 (hasChristmasChronicles probe)"
note: "Holiday Hare 99. Also auto-renamed from xmas98.j2e by the converter."
- name: "secretf.j2e"
category: game_data
system: jazz-jackrabbit-2
path: "Source/secretf.j2e"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:412"
note: "The Secret Files (TSF) episode."
# Audio tracks
- name: "menu.j2b"
category: game_data
system: jazz-jackrabbit-2
path: "Source/menu.j2b"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:536 (MainMenu::PlayMenuMusic)"
note: "Main menu music."
- name: "intro.j2b"
category: game_data
system: jazz-jackrabbit-2
path: "Source/intro.j2b"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:537 (Cinematics::Initialize)"
- name: "ending.j2b"
category: game_data
system: jazz-jackrabbit-2
path: "Source/ending.j2b"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:537"
- name: "bonus2.j2b"
category: game_data
system: jazz-jackrabbit-2
path: "Source/bonus2.j2b"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:536"
- name: "bonus3.j2b"
category: game_data
system: jazz-jackrabbit-2
path: "Source/bonus3.j2b"
required: false
source_ref: "Sources/Jazz2/Compatibility/AssetConverter.cpp:536"