Files
libretro/emulators/theforceengine.yml
T

100 lines
3.7 KiB
YAML

emulator: The Force Engine
type: standalone
core_classification: game_engine
source: "https://github.com/luciusDXL/TheForceEngine"
upstream: "https://github.com/luciusDXL/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; 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 loader (TFE_Outlaws/outlawsMain.cpp) looks for the Outlaws retail
data in a separate configured directory. The level/sound/texture GOBs it
needs are OL.GOB (Outlaws main .gob) and the game's .LAB packages.
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 (c_optionalGobFileNames)"
- name: "OL.GOB"
category: game_data
system: outlaws
description: "Outlaws main data archive"
required: false
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"
- name: "OLSFX.GOB"
category: game_data
system: outlaws
description: "Outlaws sound effects archive"
required: false
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"
- name: "OLMUSIC.GOB"
category: game_data
system: outlaws
description: "Outlaws music archive"
required: false
source_ref: "TheForceEngine/TFE_Outlaws/outlawsMain.cpp"