mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
163 lines
6.1 KiB
YAML
163 lines
6.1 KiB
YAML
emulator: TheXTech
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/TheXTech/TheXTech"
|
|
upstream: "https://github.com/TheXTech/TheXTech"
|
|
profiled_date: "2026-10-04"
|
|
source_commit: "a72915cd9a2c811f2388423775f20d75bb2107bd"
|
|
display_name: "TheXTech"
|
|
cores: []
|
|
systems: [smbx]
|
|
|
|
notes: |
|
|
C++ reimplementation of the SMBX 1.3 engine. The engine itself ships
|
|
no game assets; asset packs are searched at startup under every root
|
|
of AppPathManager::assetsSearchPath(): the root itself (legacy
|
|
layout), then each directory or archive of its assets/ folder.
|
|
ref: src/main/asset_pack.cpp:249-378 (s_find_asset_packs),
|
|
lib/AppPath/private/app_path.cpp:135-181
|
|
|
|
A directory is scanned when it carries graphics/ui/, an archive when
|
|
it carries _meta.ini. Two descriptors are recognized:
|
|
_meta.ini archive pack ([content] engine "TheXTech", platform
|
|
matching the running target, pack-id)
|
|
gameinfo.ini directory pack ([game] id, menu images under
|
|
[android])
|
|
A pack under assets/ is ignored when no id could be read; the legacy
|
|
root pack needs none.
|
|
ref: src/main/asset_pack.cpp:125-207, 334-339
|
|
|
|
The pack-selection menu loads an icon, a logo and a background. Only
|
|
the logo is checked: without it the pack is ignored ("Could not load
|
|
UI assets from possible asset pack").
|
|
ref: src/main/asset_pack.cpp:115-117, 225-233, 282-283
|
|
|
|
The selected pack is then loaded by GFX_t::load, which fails when one
|
|
of the UI images it requires from graphics/ui/ is missing.
|
|
ref: src/gfx.cpp:121-229, src/main/asset_pack.cpp:415-438
|
|
|
|
TheXTech is content-agnostic. The reference packs that TheXTech
|
|
releases alongside the engine are the SMBX 1.3 asset pack
|
|
(`thextech-assets-smbx13`) and the free Adventures of Demo pack
|
|
(`thextech-assets-adventures-of-demo`); any pack that satisfies the
|
|
structure above runs.
|
|
|
|
files:
|
|
# ================================================================
|
|
# Asset pack identification files
|
|
# ================================================================
|
|
|
|
- name: "_meta.ini"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/main/asset_pack.cpp:125, 131-181, 318-319"
|
|
note: "Archive pack descriptor. [content] engine=TheXTech, platform, pack-id. An archive without it is skipped."
|
|
|
|
- name: "gameinfo.ini"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/main/asset_pack.cpp:126, 182-190, src/main/game_info.cpp:143"
|
|
note: "Directory pack descriptor. [game] id names the pack, [android] logo/background override the menu images."
|
|
|
|
# ================================================================
|
|
# Images of the pack-selection menu
|
|
# ================================================================
|
|
|
|
- name: "thextech_128.png"
|
|
category: game_data
|
|
path: "graphics/ui/icon/thextech_128.png"
|
|
required: false
|
|
source_ref: "src/main/asset_pack.cpp:115, 225"
|
|
note: "Pack icon. Loaded during pack scan, result not checked."
|
|
|
|
- name: "MenuGFX2.png"
|
|
category: game_data
|
|
path: "graphics/ui/MenuGFX2.png"
|
|
required: true
|
|
source_ref: "src/main/asset_pack.cpp:116, 226-230, 334-335, src/gfx.cpp:201"
|
|
note: "Main menu logo. Pack ignored if no logo loads; GFX_t::load requires it as well."
|
|
|
|
- name: "background2-2.png"
|
|
category: game_data
|
|
path: "graphics/background2/background2-2.png"
|
|
required: false
|
|
source_ref: "src/main/asset_pack.cpp:117, 227-233"
|
|
note: "Menu background. Loaded during pack scan, result not checked."
|
|
|
|
# ================================================================
|
|
# Core content (engine iterates on disk, filenames are the pack's
|
|
# own; the directory contract is what the engine checks)
|
|
# ================================================================
|
|
|
|
- name: "graphics/"
|
|
category: game_data
|
|
required: true
|
|
source_ref: "src/main/asset_pack.cpp:274, 326-327, src/gfx.cpp:121-229, src/load_gfx.cpp:120-123"
|
|
note: "graphics/ui/ must exist for a directory to be scanned as a pack; GFX_t::load rejects the pack when a required UI image is missing."
|
|
|
|
- name: "sound/"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/sound.cpp:1319"
|
|
note: "SFX directory, files named by sounds.ini. Game runs without sounds."
|
|
|
|
- name: "music/"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/sound.cpp:1318"
|
|
note: "Music tracks, files named by music.ini."
|
|
|
|
- name: "sounds.ini"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/sound.cpp:1322, 1348-1354, 1363"
|
|
note: "SFX index. A message box reports its absence and the game runs without SFX."
|
|
|
|
- name: "music.ini"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/sound.cpp:1321, 1341-1347, 1356"
|
|
note: "Music index. A message box reports its absence and the game runs without default music."
|
|
|
|
- name: "intro.lvlx"
|
|
category: game_data
|
|
required: true
|
|
source_ref: "src/game_main.cpp:172-185, 224-250, 1095-1106"
|
|
note: "Level shown behind the main menu. intro.lvl and a level picked from introset/ take its place; with none of the three the game exits on a fatal error."
|
|
|
|
- name: "intro.lvl"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/game_main.cpp:176-177"
|
|
note: "Read when intro.lvlx is absent."
|
|
|
|
- name: "introset/"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/game_main.cpp:194-222, 247"
|
|
note: "Directory of .lvl/.lvlx intro levels; one is picked at random when present."
|
|
|
|
- name: "outro.lvlx"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/game_main.cpp:857-869"
|
|
note: "Level shown behind the credits, unless the episode names its own."
|
|
|
|
- name: "outro.lvl"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/game_main.cpp:865-866"
|
|
note: "Read when outro.lvlx is absent."
|
|
|
|
- name: "worlds/"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/main/menu_main.cpp:361-370"
|
|
note: "Episodes shipped with the pack, listed next to the user's worlds directory."
|
|
|
|
- name: "battle/"
|
|
category: game_data
|
|
required: false
|
|
source_ref: "src/main/menu_main.cpp:701-706"
|
|
note: "Battle mode levels shipped with the pack."
|