Files

89 lines
3.6 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: 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."