mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 15:43:45 -06:00
Each libretro profile records version_basis and core_version is read there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba 0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build takes its version from git carry the nearest tag in describe form (flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders copied from .info files (Git, SVN) are replaced by the code's statement, and a code that states none is null with kind none.
66 lines
3.3 KiB
YAML
66 lines
3.3 KiB
YAML
emulator: boom3
|
|
type: libretro
|
|
core_classification: game_engine
|
|
source: "https://github.com/libretro/boom3"
|
|
upstream: "https://github.com/dhewm/dhewm3"
|
|
profiled_date: "2026-03-23"
|
|
source_commit: "efe140ce8fdf8793f5a6fbba062fb34df7f55a81"
|
|
upstream_commit: "455b88e8dff2be822f08eb498f51b383e851fa38"
|
|
core_version: "1.5.5"
|
|
version_basis:
|
|
kind: file
|
|
path: "neo/framework/Licensee.h"
|
|
pattern: '#define\s+ENGINE_VERSION\s+"dhewm3 ([^"]+)"'
|
|
display_name: "Doom 3 (boom3)"
|
|
cores: [boom3, boom3_xp]
|
|
systems: [doom3]
|
|
verification: existence
|
|
notes: >
|
|
Doom 3 source port based on dhewm3 (GPL Doom 3 engine). The core accepts
|
|
.pk4 extensions (retro_get_system_info sets valid_extensions = "pk4").
|
|
Content is loaded directly from the .pk4 file path - the engine extracts
|
|
the grandparent directory as fs_basepath (neo/sys/libretro/libretro.cpp:4242,4310-4311
|
|
via extract_directory called twice on info->path) and expects the standard
|
|
Doom 3 directory layout with base/ containing pak000.pk4 through pak008.pk4.
|
|
BASE_GAMEDIR is "base" (neo/framework/Licensee.h:58), and content in a
|
|
directory under another name is mounted in its place through fs_gamedirname
|
|
(neo/sys/libretro/libretro.cpp:3248-3262). One binary serves both
|
|
games: content in a directory named d3xp, or the doom_game core option,
|
|
passes "+set fs_game d3xp" (neo/sys/libretro/libretro.cpp:3238-3246,4245-4271) to load the
|
|
Resurrection of Evil expansion from a d3xp/ subdirectory alongside base/.
|
|
The filesystem code (neo/framework/FileSystem.cpp:2318)
|
|
scans for .pk4 files in the game directory and loads them in order, with
|
|
higher-numbered paks overriding lower ones. The core requires OpenGL
|
|
(RETRO_ENVIRONMENT_SET_HW_RENDER) and XRGB8888 pixel format. The game
|
|
data is the commercial Doom 3 release, not engine firmware. No BIOS or
|
|
system files are needed in the RetroArch system directory.
|
|
|
|
Builds made with HAVE_VR=1 (the Windows x64, Linux x64 and Linux arm64
|
|
jobs, .gitlab-ci.yml:87, 101, 109) offer the boom3_vr_enable option. With it
|
|
on, the core passes "+set fs_vr 1" and the filesystem mounts base_vr/ over
|
|
base/ and d3xp_vr/ over d3xp/ (neo/sys/libretro/libretro.cpp:3264-3272,
|
|
neo/framework/FileSystem.cpp:2440-2472). These replacement packs carry the
|
|
hand and weapon models of Doom3Quest and ship in the core's repository under
|
|
tools/vr_paks/compiled.
|
|
|
|
files:
|
|
- name: "pak399.pk4"
|
|
path: "base_vr/pak399.pk4"
|
|
system: doom3
|
|
category: game_data
|
|
load_from: content_dir
|
|
required: false
|
|
description: "VR hand and weapon models (Doom3Quest), mounted over base/"
|
|
source_ref: "neo/sys/libretro/libretro.cpp:4313-4335, neo/framework/FileSystem.cpp:2440-2450"
|
|
note: "Read in VR builds with boom3_vr_enable on. base_vr/ sits beside base/, one level above the loaded .pk4. When the file is absent the core shows a notification and the game still starts."
|
|
|
|
- name: "pak399roe.pk4"
|
|
path: "d3xp_vr/pak399roe.pk4"
|
|
system: doom3
|
|
category: game_data
|
|
load_from: content_dir
|
|
required: false
|
|
description: "VR replacement pack for Resurrection of Evil, mounted over d3xp/"
|
|
source_ref: "neo/framework/FileSystem.cpp:2465-2472"
|
|
note: "Mounted in VR builds when fs_game is d3xp. The code reads every .pk4 in d3xp_vr/ and names none, this is the pack the core's repository ships for it."
|