mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 05:53:23 -05:00
119 lines
4.8 KiB
YAML
119 lines
4.8 KiB
YAML
emulator: openjk
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/JACoders/OpenJK"
|
|
upstream: "https://github.com/JACoders/OpenJK"
|
|
profiled_date: "2026-10-04"
|
|
source_commit: "260c59c2907187af555a676fe0cc798893bf7757"
|
|
display_name: "OpenJK"
|
|
cores: [openjk]
|
|
systems: [jediacademy, jediknight2]
|
|
|
|
notes: |
|
|
id Tech 3 source port for Star Wars Jedi Knight: Jedi Academy (JKA, single
|
|
and multiplayer) and Star Wars Jedi Knight II: Jedi Outcast (JK2, single
|
|
player only; JK2 MP is not supported, upstream points users to JK2MV).
|
|
|
|
One source tree, three binaries:
|
|
openjk_sp JKA SP, built from code/ with BuildSPEngine
|
|
openjk JKA MP, built from codemp/ with BuildMPEngine
|
|
openjo_sp JK2 SP, built from code/ with BuildJK2SPEngine
|
|
(same translation units, JK2_MODE defined,
|
|
CMakeLists.txt:450-453)
|
|
|
|
BASEGAME = "base" (code/qcommon/q_shared.h:86). FS_Startup( BASEGAME )
|
|
adds base/ from cdpath, basepath, apppath, homepath via
|
|
FS_AddGameDirectory (code/qcommon/files.cpp:2730) which enumerates every
|
|
*.pk3 found there with Sys_ListFiles (code/qcommon/files.cpp:2770). No
|
|
specific pak filename is hard-coded in the loader: the retail archives
|
|
listed below are the files the stock games ship under base/, not a list
|
|
the engine looks up by name.
|
|
|
|
Hard engine dependency: default.cfg (SP) or mpdefault.cfg (MP) must be
|
|
readable through the virtual filesystem, otherwise FS_Startup aborts
|
|
with Com_Error( ERR_FATAL, "Couldn't load default.cfg" ) at
|
|
code/qcommon/files.cpp:3002,3041 and codemp/qcommon/files.cpp:4040,4089.
|
|
Both config files live inside the retail assets0.pk3.
|
|
|
|
Pure-server pak reference list uses NUM_ID_PAKS = 9
|
|
(codemp/qcommon/qcommon.h:567, codemp/qcommon/files.cpp:3169): the MP
|
|
client treats base/assets0.pk3 through base/assets8.pk3 as official id
|
|
paks and refuses to auto-download them, but this only governs server
|
|
compatibility, not file requirement.
|
|
|
|
files:
|
|
# ================================================================
|
|
# Jedi Academy retail (base/, assets0.pk3 through assets3.pk3)
|
|
# Shared by openjk_sp (SP) and openjk (MP) — same base/ directory.
|
|
# ================================================================
|
|
|
|
- name: "assets0.pk3"
|
|
category: game_data
|
|
system: jediacademy
|
|
path: "base/assets0.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.cpp:3002 (default.cfg ERR_FATAL), codemp/qcommon/files.cpp:4040 (mpdefault.cfg ERR_FATAL), codemp/qcommon/files.cpp:3169 (NUM_ID_PAKS index 0)"
|
|
note: "Carries default.cfg and mpdefault.cfg — the only files the SP and MP engines refuse to start without. Also holds the base menus, shaders, strings and the cgamex86.dll / jagamex86.dll VMs."
|
|
|
|
- name: "assets1.pk3"
|
|
category: game_data
|
|
system: jediacademy
|
|
path: "base/assets1.pk3"
|
|
required: false
|
|
source_ref: "codemp/qcommon/files.cpp:3169 (NUM_ID_PAKS index 1)"
|
|
note: "Retail JKA base content (audio). Loader scans the directory, no hard reference."
|
|
|
|
- name: "assets2.pk3"
|
|
category: game_data
|
|
system: jediacademy
|
|
path: "base/assets2.pk3"
|
|
required: false
|
|
source_ref: "codemp/qcommon/files.cpp:3169 (NUM_ID_PAKS index 2)"
|
|
note: "Retail JKA base content (video/cinematics)."
|
|
|
|
- name: "assets3.pk3"
|
|
category: game_data
|
|
system: jediacademy
|
|
path: "base/assets3.pk3"
|
|
required: false
|
|
source_ref: "codemp/qcommon/files.cpp:3169 (NUM_ID_PAKS index 3)"
|
|
note: "Retail JKA patch 1.01 content."
|
|
|
|
# ================================================================
|
|
# Jedi Outcast retail (base/, assets0.pk3, assets1.pk3, assets2.pk3,
|
|
# assets5.pk3). Loaded by openjo_sp (JK2_MODE); openjk upstream does
|
|
# not build a JK2 MP engine.
|
|
# ================================================================
|
|
|
|
- name: "assets0.pk3"
|
|
category: game_data
|
|
system: jediknight2
|
|
path: "base/assets0.pk3"
|
|
required: true
|
|
source_ref: "code/qcommon/files.cpp:3002 (default.cfg ERR_FATAL, built with JK2_MODE via CMakeLists.txt:450-453)"
|
|
note: "Retail JK2 base archive. Carries default.cfg; openjo_sp aborts without it."
|
|
|
|
- name: "assets1.pk3"
|
|
category: game_data
|
|
system: jediknight2
|
|
path: "base/assets1.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.cpp:2770 (Sys_ListFiles(curpath, \".pk3\", ...))"
|
|
note: "Retail JK2 base content."
|
|
|
|
- name: "assets2.pk3"
|
|
category: game_data
|
|
system: jediknight2
|
|
path: "base/assets2.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.cpp:2770 (Sys_ListFiles(curpath, \".pk3\", ...))"
|
|
note: "Retail JK2 base content."
|
|
|
|
- name: "assets5.pk3"
|
|
category: game_data
|
|
system: jediknight2
|
|
path: "base/assets5.pk3"
|
|
required: false
|
|
source_ref: "code/qcommon/files.cpp:2770 (Sys_ListFiles(curpath, \".pk3\", ...))"
|
|
note: "Retail JK2 patch 1.04 content."
|