Files
libretro/emulators/theforceengine.yml
T
Abdessamad Derraz 8b8d94e331 fix: name moved repositories by their new name
profile_sync --all reported 18 repositories the forge answers under another owner or name. Each pin resolves in the renamed repository, so the URLs change and the pins stay. flycast2021 builds from metallic77/flycast 603814c9 (ROCKNIX package.mk), whose upstream libretro/flycast now answers as libretro/parallel-dc with 4c293f30 still in its master history.
2026-10-21 11:10:46 +02:00

89 lines
3.6 KiB
YAML

emulator: The Force Engine
type: standalone
core_classification: game_engine
source: "https://github.com/TheForceEngine/TheForceEngine"
upstream: "https://github.com/TheForceEngine/TheForceEngine"
profiled_date: "2026-10-04"
source_commit: "cc25205cc94c36a396f6f50295772f6ec83069a2"
core_version: "v1.22.420"
display_name: "The Force Engine"
cores: [theforceengine, tfe]
systems: [dark-forces, outlaws]
verification: existence
notes: |
Modern Jedi engine reimplementation by Lucius Dark, supporting LucasArts
Dark Forces (shipping) and Outlaws (in-progress).
TFE itself bundles the engine data under TheForceEngine/ in the source tree,
which batocera.ports/theforceengine.mk rsyncs to
/usr/share/batocera/datainit/system/configs/theforceengine/ on install:
Captions/ Documentation/ ExternalData/ Fonts/
Mods/ Shaders/ SoundFonts/ UI_Text/ UI_Images/
The user is expected to supply the retail game data. Dark Forces is probed
by checking for DARK.GOB in the configured source-data path
(TheForceEngine/main.cpp:484-485, with PATH_SOURCE_DATA from TFE_Paths).
Dark Forces loader list (TFE_DarkForces/darkForcesMain.cpp:70-83):
c_gobFileNames[] = DARK.GOB, SOUNDS.GOB, TEXTURES.GOB, SPRITES.GOB
c_optionalGobFileNames[] = enhanced.gob
The DOS retail Dark Forces floppy and CD both ship DARK.GOB, SOUNDS.GOB,
TEXTURES.GOB, SPRITES.GOB, and enhanced.gob is the TFE-only HD asset pack.
Dark Forces official patch v1.22 (df_patch4) is pulled by the build script as
df_patch4.zip from df-21.net and dropped under Mods/, so the engine applies
the retail v1.22 patches on top of any user retail install (THEFORCEENGINE_
PATCH_SOURCE in the batocera mk). The patch itself is bundled with the
emulator, not with the retail data.
Outlaws: every method of TFE_Outlaws/outlawsMain.cpp is a stub and
runGame() returns false. The only Outlaws file the code names is
Outlaws.lab, tested by the settings dialog before it stores the Outlaws
source path (TFE_FrontEndUI/frontEndUi.cpp:1340). The line that would
make it the active source path is commented out (:1344).
files:
- name: "DARK.GOB"
category: game_data
system: dark-forces
description: "Dark Forces main data archive (levels, briefings, scripts)"
required: true
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:74 (c_gobFileNames[0]), main.cpp:484-485 (install detection)"
- name: "SOUNDS.GOB"
category: game_data
system: dark-forces
description: "Dark Forces audio archive"
required: true
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:75 (c_gobFileNames[1])"
- name: "TEXTURES.GOB"
category: game_data
system: dark-forces
description: "Dark Forces texture archive"
required: true
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:76 (c_gobFileNames[2])"
- name: "SPRITES.GOB"
category: game_data
system: dark-forces
description: "Dark Forces sprite archive"
required: true
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:77 (c_gobFileNames[3])"
- name: "enhanced.gob"
category: game_data
system: dark-forces
description: "Optional enhanced HD asset pack"
required: false
source_ref: "TheForceEngine/TFE_DarkForces/darkForcesMain.cpp:80-83, 1360-1372"
- name: "Outlaws.lab"
category: game_data
system: outlaws
description: "Outlaws main LAB archive"
required: false
source_ref: "TheForceEngine/TFE_FrontEndUI/frontEndUi.cpp:1306, 1340"
note: "Tested for existence when the user picks the Outlaws source path. The Outlaws game class is stubs and opens no file."