mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 12:49:03 -05:00
emulator: carried the file stem on 67 profiles, so site links read like ids. Each now takes the project's own name (libretro .info corename, README title, window title or site title). tests/test_profile_names.py allows the stem only on a commented list: lowercase project names, test cores, aliases and the template.
121 lines
4.8 KiB
YAML
121 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, as JK2 MP is not supported and 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,
|
|
code/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-3003,3041 and
|
|
codemp/qcommon/files.cpp:4039-4040,4089.
|
|
Both config files live inside the retail assets0.pk3.
|
|
|
|
FS_idPak matches base/assets0 through base/assets8 (NUM_ID_PAKS = 9,
|
|
codemp/qcommon/qcommon.h:567, codemp/qcommon/files.cpp:3169-3170). The
|
|
MP client never auto-downloads a pak with one of those names
|
|
(codemp/qcommon/files.cpp:3241) and never offers one for download
|
|
(codemp/qcommon/files.cpp:4447). The check does not make any of them
|
|
required.
|
|
|
|
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-3003 (default.cfg ERR_FATAL), codemp/qcommon/files.cpp:4039-4040 (mpdefault.cfg ERR_FATAL), codemp/qcommon/files.cpp:3169-3170 (NUM_ID_PAKS index 0)"
|
|
note: "Carries default.cfg and mpdefault.cfg, the only files the SP and MP engines refuse to start without."
|
|
|
|
- name: "assets1.pk3"
|
|
category: game_data
|
|
system: jediacademy
|
|
path: "base/assets1.pk3"
|
|
required: false
|
|
source_ref: "codemp/qcommon/files.cpp:3169-3170 (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-3170 (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-3170 (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-3003 (default.cfg ERR_FATAL), code/CMakeLists.txt:450-453 (JK2_MODE build)"
|
|
note: "Retail JK2 base archive. Carries default.cfg, and 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 over .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 over .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 over .pk3)"
|
|
note: "Retail JK2 patch 1.04 content."
|