Files
libretro/emulators/etlegacy.yml
T
Abdessamad Derraz f5b0815c3a docs: say how ET: Legacy builds its legacy pk3
legacy_<version>.pk3 is the engine's own build output, named from git describe and different for each release and architecture (ETLBuildMod.cmake:301-316, ETLVersion.cmake:120-131). It is installed with the engine, not downloaded on first run as the note said.
2026-10-20 10:31:14 +02:00

80 lines
3.4 KiB
YAML

emulator: ET Legacy
type: standalone
core_classification: game_engine
source: "https://github.com/etlegacy/etlegacy"
upstream: "https://github.com/etlegacy/etlegacy"
profiled_date: "2026-10-04"
source_commit: "f8974d1861e3e95c236d3a7c05362d05f408275f"
core_version: "2.83.0+git"
display_name: "ET: Legacy"
cores: [etlegacy]
systems: [enemyterritory]
notes: |
Wolfenstein: Enemy Territory source port. BASEGAME = "etmain"
(src/qcommon/qcommon.h:787). FS_InitFilesystem (src/qcommon/files.c:
5066-5094) refuses to start if pak0.pk3 is not reachable under etmain
and prints "Please copy pak0.pk3 from the 'etmain' path of your
Wolfenstein: Enemy Territory installation to <path>". pak1.pk3 and
pak2.pk3 are checked against the server's requested pak list in
FS_ComparePaks (src/qcommon/files.c:4011-4018) but neither is a
startup gate. Third-party mods pull them in as needed (see README.md
"In addition, third party mods might also require pak1.pk3 and
pak2.pk3"). mp_bin.pk3 ships in the retail release and holds the
stock multiplayer binaries.
NUM_ID_PAKS = 9 (src/qcommon/qcommon.h:815) counts the names recognised
by FS_idPak. Retail Enemy Territory 2.60b publishes only pak0, pak1,
pak2 and mp_bin, so the extra slots are reserved for forward compatible
server lists, never filled by id.
fs_game defaults to the legacy mod (src/qcommon/files.c:5141-5148). The
build packs the cgame and ui libraries with the source tree's etmain/
assets (configs, presets, locale files) into legacy/legacy_<version>.pk3
and installs it with the engine (cmake/ETLBuildMod.cmake:301-316). The
client extracts its cgame and ui libraries from that pk3 at load
(src/sys/sys_main.c:954-966). The user still has to supply the retail
pak0.pk3 from the free Enemy Territory 2.60b download. pak0.pk3 holds
every id map, model, texture and sound.
files:
- name: "pak0.pk3"
category: game_data
system: enemyterritory
path: "etmain/pak0.pk3"
required: true
source_ref: "src/qcommon/files.c:5066-5094 (fatal if absent), 5076 (FS_FOpenFileRead \"pak0.pk3\"), src/qcommon/qcommon.h:787 (BASEGAME \"etmain\")"
note: "Retail Wolfenstein: Enemy Territory 2.60b data pak. Startup gate."
- name: "pak1.pk3"
category: game_data
system: enemyterritory
path: "etmain/pak1.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak, NUM_ID_PAKS=9), README.md"
note: "Retail content update pak. Required by servers running 2.60b, pulled in by FS_ComparePaks."
- name: "pak2.pk3"
category: game_data
system: enemyterritory
path: "etmain/pak2.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak), README.md"
note: "Retail content update pak."
- name: "mp_bin.pk3"
category: game_data
system: enemyterritory
path: "etmain/mp_bin.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak)"
note: "Retail multiplayer QVM binaries. ET Legacy ships its own cgame/ui binaries, and the retail pack is for pure clients joining stock servers."
exclusion_note: >
legacy/legacy_<version>.pk3 is not listed. It is the engine's own build
output, named after the git describe of the build and holding cgame and
ui libraries compiled for the host, so every release and architecture
ships different bytes under a different name. It arrives with every
install of the engine.
ref: cmake/ETLBuildMod.cmake:301-316, cmake/ETLVersion.cmake:120-131