mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
feat: profile visual-pinball hrtf, collect the sofa
This commit is contained in:
1 parent
df70a1458c
commit
7bc5e795f1
2 files changed
+41
-23
No files matched your search
Binary file not shown.
@@ -4,7 +4,7 @@ core_classification: game_engine
|
|||||||
source: "https://github.com/vpinball/vpinball"
|
source: "https://github.com/vpinball/vpinball"
|
||||||
upstream: "https://github.com/vpinball/vpinball"
|
upstream: "https://github.com/vpinball/vpinball"
|
||||||
profiled_date: "2026-10-04"
|
profiled_date: "2026-10-04"
|
||||||
source_commit: "a31565f1589c17afd0502a8c6a690f408ede14b2"
|
source_commit: "8a9f36d227a0e71be33c36418e4e3ffc8c5c2723"
|
||||||
core_version: "10.8.1"
|
core_version: "10.8.1"
|
||||||
display_name: "Visual Pinball X"
|
display_name: "Visual Pinball X"
|
||||||
cores:
|
cores:
|
||||||
@@ -17,13 +17,14 @@ mode: standalone
|
|||||||
notes: |
|
notes: |
|
||||||
Pinball table simulator. The table is the content: .vpx and .vpt files are
|
Pinball table simulator. The table is the content: .vpx and .vpt files are
|
||||||
OLE Compound Documents holding the geometry, textures, sounds and a VBScript
|
OLE Compound Documents holding the geometry, textures, sounds and a VBScript
|
||||||
program, read through POLE (src/parts/pintable.cpp:1424-1427). Every build
|
program, read through POLE (src/parts/pintable.cpp:1427-1430). Every build
|
||||||
other than the Windows editor compiles the shared source set with
|
other than the Windows editor compiles the shared source set with
|
||||||
__STANDALONE__ and links libwinevbs, Wine's VBScript engine with its COM and
|
__STANDALONE__ and links libwinevbs, Wine's VBScript engine with its COM and
|
||||||
ATL headers, beside SDL3, SDL3_ttf, FreeImage and hidapi; PinMAME, AltSound,
|
ATL headers, beside SDL3, SDL3_ttf, FreeImage, hidapi, libspatialaudio and
|
||||||
|
libmysofa with zlib; PinMAME, AltSound,
|
||||||
DMDUtil, DOF, FlexDMD, B2S, PUP, Serum, VNI and ScoreView are plugins staged
|
DMDUtil, DOF, FlexDMD, B2S, PUP, Serum, VNI and ScoreView are plugins staged
|
||||||
in plugins/ next to the binary (make/CMakeLists_app.txt:525-546,597-603,
|
in plugins/ next to the binary (make/CMakeLists_app.txt:533-554,605-615,
|
||||||
make/CMakeLists_sources.txt:809-815, make/CMakeLists_plugins.txt:21-25,39-56).
|
make/CMakeLists_sources.txt:811-817, make/CMakeLists_plugins.txt:21-25,39-56).
|
||||||
ES-DE finds VPinballX_BGFX or VPinballX_GL and
|
ES-DE finds VPinballX_BGFX or VPinballX_GL and
|
||||||
runs `<binary> -play <rom>`, Batocera builds the standalone tree at
|
runs `<binary> -play <rom>`, Batocera builds the standalone tree at
|
||||||
3ec37c7f9a into /usr/bin/vpinball and runs `VPinballX_GL -PrefPath <dir> -Ini
|
3ec37c7f9a into /usr/bin/vpinball and runs `VPinballX_GL -PrefPath <dir> -Ini
|
||||||
@@ -48,11 +49,11 @@ notes: |
|
|||||||
user/ and scripts/ beside it, then the installation folder with user/,
|
user/ and scripts/ beside it, then the installation folder with user/,
|
||||||
scripts/ and tables/ under it, then the preferences folder with user/ and
|
scripts/ and tables/ under it, then the preferences folder with user/ and
|
||||||
scripts/ under it (src/core/FileLocator.cpp:379-412,
|
scripts/ under it (src/core/FileLocator.cpp:379-412,
|
||||||
src/core/ScriptGlobalTable.cpp:346-375). The
|
src/core/ScriptGlobalTable.cpp:352-381). The
|
||||||
scripts/ directory the build ships carries the 71 .vbs files tables include
|
scripts/ directory the build ships carries the 71 .vbs files tables include
|
||||||
by name, core.vbs and controller.vbs beside the per-manufacturer machine
|
by name, core.vbs and controller.vbs beside the per-manufacturer machine
|
||||||
scripts (WPC.vbs, sam.vbs, s11.vbs, zac.vbs and the rest), copied from
|
scripts (WPC.vbs, sam.vbs, s11.vbs, zac.vbs and the rest), copied from
|
||||||
src/scripts (make/CMakeLists_app.txt:619-623). The Windows editor's
|
src/scripts (make/CMakeLists_app.txt:631-635). The Windows editor's
|
||||||
completion parser asks for core.vbs through the same search without a table,
|
completion parser asks for core.vbs through the same search without a table,
|
||||||
so in the seven installation and preferences locations, and shows a warning
|
so in the seven installation and preferences locations, and shows a warning
|
||||||
box when none holds it (src/ui/win/codeview.cpp:2068-2076,
|
box when none holds it (src/ui/win/codeview.cpp:2068-2076,
|
||||||
@@ -62,7 +63,7 @@ notes: |
|
|||||||
folder or the installation folder when SDL reports none, MusicDirectory the
|
folder or the installation folder when SDL reports none, MusicDirectory the
|
||||||
table's music folder with an optional subfolder, ScriptsDirectory scripts/
|
table's music folder with an optional subfolder, ScriptsDirectory scripts/
|
||||||
under the installation folder; each fails when its directory does not exist
|
under the installation folder; each fails when its directory does not exist
|
||||||
(src/core/ScriptGlobalTable.cpp:377-418, src/core/FileLocator.cpp:251-259).
|
(src/core/ScriptGlobalTable.cpp:383-424, src/core/FileLocator.cpp:251-259).
|
||||||
In AppPrefData mode user/, music/, cache/ and autosave/ sit beside the table;
|
In AppPrefData mode user/, music/, cache/ and autosave/ sit beside the table;
|
||||||
a folder missing there on a read is looked up the AppOnly way, where user/
|
a folder missing there on a read is looked up the AppOnly way, where user/
|
||||||
hangs off the installation folder and music/ is tried under the installation
|
hangs off the installation folder and music/ is tried under the installation
|
||||||
@@ -83,10 +84,10 @@ notes: |
|
|||||||
blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx and strippedTable.vpx:
|
blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx and strippedTable.vpx:
|
||||||
the live editor loads blankTable.vpx when started without a table or when
|
the live editor loads blankTable.vpx when started without a table or when
|
||||||
the requested one fails to load, and its New Table menu loads any of the
|
the requested one fails to load, and its New Table menu loads any of the
|
||||||
four (src/core/AppCommands.cpp:277-283, src/ui/live/EditorUI.cpp:334-353).
|
four (src/core/AppCommands.cpp:277-283, src/ui/live/EditorUI.cpp:338-357).
|
||||||
OpenGL builds also get shaders-10.8.1/, the .glfx and .fxh sources parsed at
|
OpenGL builds also get shaders-10.8.1/, the .glfx and .fxh sources parsed at
|
||||||
runtime (src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1827-1828,2234-2237,
|
runtime (src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1827-1828,2231-2234,
|
||||||
make/CMakeLists_app.txt:625-635); the directory is not copied for the BGFX
|
make/CMakeLists_app.txt:637-647); the directory is not copied for the BGFX
|
||||||
renderer. Three plugins carry resources of their own: plugins/flexdmd/assets/
|
renderer. Three plugins carry resources of their own: plugins/flexdmd/assets/
|
||||||
holds the bitmap fonts UltraDMD asks for by resource name, the
|
holds the bitmap fonts UltraDMD asks for by resource name, the
|
||||||
FlexDMD.Resources. prefix being stripped before the lookup
|
FlexDMD.Resources. prefix being stripped before the lookup
|
||||||
@@ -100,11 +101,11 @@ notes: |
|
|||||||
Two parts of that tree ship without a reader on the desktop targets.
|
Two parts of that tree ship without a reader on the desktop targets.
|
||||||
docs/Changelog.txt is read by the About dialog
|
docs/Changelog.txt is read by the About dialog
|
||||||
(src/ui/win/dialogs/AboutDialog.cpp:34), which sits in the Windows source
|
(src/ui/win/dialogs/AboutDialog.cpp:34), which sits in the Windows source
|
||||||
list only (make/CMakeLists_sources.txt:491,540-541,
|
list only (make/CMakeLists_sources.txt:493,542-543,
|
||||||
make/CMakeLists_app.txt:78-80), and assets/web/, vpx.html with its scripts
|
make/CMakeLists_app.txt:78-80), and assets/web/, vpx.html with its scripts
|
||||||
and style sheet, is served by the web server that only the iOS and Android
|
and style sheet, is served by the web server that only the iOS and Android
|
||||||
library build compiles (lib/src/WebServer.cpp:92-99,
|
library build compiles (lib/src/WebServer.cpp:92-99,
|
||||||
make/CMakeLists_sources.txt:817-823, make/CMakeLists_app.txt:669).
|
make/CMakeLists_sources.txt:819-825, make/CMakeLists_app.txt:679).
|
||||||
|
|
||||||
PinMAME is where the emulation happens. Tables that recreate a real solid
|
PinMAME is where the emulation happens. Tables that recreate a real solid
|
||||||
state machine hand a ROM name to the controller, which resolves its root as
|
state machine hand a ROM name to the controller, which resolves its root as
|
||||||
@@ -340,7 +341,7 @@ files:
|
|||||||
category: game_data
|
category: game_data
|
||||||
required: false
|
required: false
|
||||||
description: "MAME high score memory map database, read once per machine start"
|
description: "MAME high score memory map database, read once per machine start"
|
||||||
source_ref: "pinmame src/hiscore.c:18,223-230, pinmame src/cpuexec.c:332-334,393,1755, src/core/player.cpp:457-459"
|
source_ref: "pinmame src/hiscore.c:18, 223-230, pinmame src/cpuexec.c:332-334, 393, 1755, src/core/player.cpp:463-465"
|
||||||
note: >-
|
note: >-
|
||||||
hs_open is called unconditionally at the top of cpu_run for every PinMAME
|
hs_open is called unconditionally at the top of cpu_run for every PinMAME
|
||||||
machine, and the whole body sits behind `if (f)`, so an absent file is a
|
machine, and the whole body sits behind `if (f)`, so an absent file is a
|
||||||
@@ -364,23 +365,40 @@ files:
|
|||||||
absent file leaves the menu showing "cheat database not found"
|
absent file leaves the menu showing "cheat database not found"
|
||||||
(pinmame src/cheat.c:2463). Same bare-filename resolution as hiscore.dat.
|
(pinmame src/cheat.c:2463). Same bare-filename resolution as hiscore.dat.
|
||||||
|
|
||||||
|
- name: fabian-hrir.sofa
|
||||||
|
path: "assets/fabian-hrir.sofa"
|
||||||
|
system: vpinball
|
||||||
|
required: false
|
||||||
|
size: 1766147
|
||||||
|
sha1: "5bf46cfb6472b81f4aa7fb2c87bc79afc23109d7"
|
||||||
|
md5: "b98b60a050e3c2edfa7a59863c625c61"
|
||||||
|
description: "FABIAN full-sphere HRIR set, the HRTF of the binaural spatial audio renderer"
|
||||||
|
source_ref: "src/audio/SpatialAudio.cpp:49-56,344-360, make/CMakeLists_app.txt:631-635"
|
||||||
|
note: >-
|
||||||
|
Read from assets/ under the installation folder when libspatialaudio is
|
||||||
|
built with libmysofa, which every build script does; the headphone and VR
|
||||||
|
binauralizer then runs second order ambisonics on it. A missing or
|
||||||
|
unreadable file logs "Failed to load the binaural HRTF" and audio falls
|
||||||
|
back to loudspeaker decoding. The file sits in the repository's top-level
|
||||||
|
assets/ while the build copies src/assets, so no build output carries it.
|
||||||
|
|
||||||
analysis:
|
analysis:
|
||||||
shipped_with_the_binary:
|
shipped_with_the_binary:
|
||||||
note: >-
|
note: >-
|
||||||
Copied into the build output next to the executable and installed as one
|
Copied into the build output next to the executable and installed as one
|
||||||
unit by every distribution, so they arrive with the emulator rather than
|
unit by every distribution, so they arrive with the emulator rather than
|
||||||
being sourced separately.
|
being sourced separately.
|
||||||
source_ref: "make/CMakeLists_app.txt:619-623"
|
source_ref: "make/CMakeLists_app.txt:631-635"
|
||||||
entries:
|
entries:
|
||||||
- what: "scripts/, the .vbs library tables include"
|
- what: "scripts/, the .vbs library tables include"
|
||||||
source_ref: "src/core/FileLocator.cpp:379-412, src/core/ScriptGlobalTable.cpp:346-375, src/ui/win/codeview.cpp:2068-2076"
|
source_ref: "src/core/FileLocator.cpp:379-412, src/core/ScriptGlobalTable.cpp:352-381, src/ui/win/codeview.cpp:2068-2076"
|
||||||
- what: "assets/, textures, segment display maps, TableSizes.csv, the window icon, the fallback font, the editor icons"
|
- what: "assets/, textures, segment display maps, TableSizes.csv, the window icon, the fallback font, the editor icons"
|
||||||
source_ref: "src/renderer/Renderer.cpp:176-188,1493-1510, src/parts/bumper.cpp:148,160,172,186, src/parts/kicker.cpp:198-239, src/core/TableDB.cpp:16, src/renderer/Window.cpp:280, src/parts/textbox.cpp:719-720, src/ui/live/editor/EditorChrome.cpp:200"
|
source_ref: "src/renderer/Renderer.cpp:176-188,1493-1510, src/parts/bumper.cpp:148,160,172,186, src/parts/kicker.cpp:198-239, src/core/TableDB.cpp:16, src/renderer/Window.cpp:280, src/parts/textbox.cpp:719-720, src/ui/live/editor/EditorChrome.cpp:200"
|
||||||
- what: "assets/blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx, strippedTable.vpx"
|
- what: "assets/blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx, strippedTable.vpx"
|
||||||
source_ref: "src/core/AppCommands.cpp:277-283, src/ui/live/EditorUI.cpp:334-353"
|
source_ref: "src/core/AppCommands.cpp:277-283, src/ui/live/EditorUI.cpp:338-357"
|
||||||
note: "The live editor's default table and its four New Table templates."
|
note: "The live editor's default table and its four New Table templates."
|
||||||
- what: "shaders-10.8.1/, .glfx and .fxh parsed at runtime by the OpenGL renderer"
|
- what: "shaders-10.8.1/, .glfx and .fxh parsed at runtime by the OpenGL renderer"
|
||||||
source_ref: "src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1827-1828,2234-2237, make/CMakeLists_app.txt:625-635"
|
source_ref: "src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1827-1828, src/renderer/Shader.cpp:2231-2234, make/CMakeLists_app.txt:637-647"
|
||||||
- what: "plugins/flexdmd/assets/, the bitmap fonts UltraDMD names as FlexDMD.Resources.*"
|
- what: "plugins/flexdmd/assets/, the bitmap fonts UltraDMD names as FlexDMD.Resources.*"
|
||||||
source_ref: "plugins/flexdmd/UltraDMD.cpp:20-24,32-34, plugins/flexdmd/resources/AssetManager.cpp:103-109,252-272, make/CMakeLists_plugin_FlexDMD.txt:179-182"
|
source_ref: "plugins/flexdmd/UltraDMD.cpp:20-24,32-34, plugins/flexdmd/resources/AssetManager.cpp:103-109,252-272, make/CMakeLists_plugin_FlexDMD.txt:179-182"
|
||||||
- what: "plugins/scoreview/layouts/, the default score view layouts"
|
- what: "plugins/scoreview/layouts/, the default score view layouts"
|
||||||
@@ -392,10 +410,10 @@ analysis:
|
|||||||
note: "Copied into the build output but unreachable in the desktop standalone binary"
|
note: "Copied into the build output but unreachable in the desktop standalone binary"
|
||||||
entries:
|
entries:
|
||||||
- what: "docs/Changelog.txt"
|
- what: "docs/Changelog.txt"
|
||||||
source_ref: "src/ui/win/dialogs/AboutDialog.cpp:34, make/CMakeLists_sources.txt:540-541, make/CMakeLists_app.txt:622"
|
source_ref: "src/ui/win/dialogs/AboutDialog.cpp:34, make/CMakeLists_sources.txt:542-543, make/CMakeLists_app.txt:634"
|
||||||
note: "The About dialog is in the Windows editor source list only."
|
note: "The About dialog is in the Windows editor source list only."
|
||||||
- what: "assets/web/, vpx.html and the files it pulls"
|
- what: "assets/web/, vpx.html and the files it pulls"
|
||||||
source_ref: "lib/src/WebServer.cpp:92-99, make/CMakeLists_sources.txt:817-823"
|
source_ref: "lib/src/WebServer.cpp:92-99, make/CMakeLists_sources.txt:819-825"
|
||||||
note: "The web server is compiled into the iOS and Android library build only."
|
note: "The web server is compiled into the iOS and Android library build only."
|
||||||
|
|
||||||
user_supplied_paths:
|
user_supplied_paths:
|
||||||
@@ -432,12 +450,12 @@ analysis:
|
|||||||
- what: "score view layout, <table basename>.scv, else <table folder name>.scv, else the LayoutFolder setting"
|
- what: "score view layout, <table basename>.scv, else <table folder name>.scv, else the LayoutFolder setting"
|
||||||
source_ref: "plugins/scoreview/ScoreViewPlugin.cpp:23,46-62"
|
source_ref: "plugins/scoreview/ScoreViewPlugin.cpp:23,46-62"
|
||||||
- what: "table music, music/ beside the table"
|
- what: "table music, music/ beside the table"
|
||||||
source_ref: "src/core/ScriptGlobalTable.cpp:116-130, src/core/FileLocator.cpp:267-377"
|
source_ref: "src/core/ScriptGlobalTable.cpp:122-136, src/core/FileLocator.cpp:267-377"
|
||||||
note: "In the legacy layout, music/ under the installation folder, then the table folder, then the preferences folder."
|
note: "In the legacy layout, music/ under the installation folder, then the table folder, then the preferences folder."
|
||||||
- what: "textbox fonts, <table folder>/<FontName>-<Style>.ttf"
|
- what: "textbox fonts, <table folder>/<FontName>-<Style>.ttf"
|
||||||
source_ref: "src/parts/textbox.cpp:701-722"
|
source_ref: "src/parts/textbox.cpp:701-722"
|
||||||
- what: "table sidecars, the .vbs script override, the per-table .ini and the legacy .pov"
|
- what: "table sidecars, the .vbs script override, the per-table .ini and the legacy .pov"
|
||||||
source_ref: "src/parts/pintable.cpp:1322-1328,1380-1396, src/parts/pintable.h:562-589"
|
source_ref: "src/parts/pintable.cpp:1325-1331, src/parts/pintable.cpp:1383-1399, src/parts/pintable.h:560-587"
|
||||||
|
|
||||||
generated_files:
|
generated_files:
|
||||||
- what: "VPinballX.ini, the settings file"
|
- what: "VPinballX.ini, the settings file"
|
||||||
@@ -448,7 +466,7 @@ analysis:
|
|||||||
Batocera seeds it from the assets/Default_VPinballX.ini its pinned tree
|
Batocera seeds it from the assets/Default_VPinballX.ini its pinned tree
|
||||||
carries and rewrites it before every launch.
|
carries and rewrites it before every launch.
|
||||||
- what: "VPReg.ini, values saved by table scripts in the table's user folder; vpinball.log in the preferences folder"
|
- what: "VPReg.ini, values saved by table scripts in the table's user folder; vpinball.log in the preferences folder"
|
||||||
source_ref: "src/core/ScriptGlobalTable.cpp:521-551, src/utils/Logger.cpp:164-165"
|
source_ref: "src/core/ScriptGlobalTable.cpp:527-557, src/utils/Logger.cpp:164-165"
|
||||||
- what: "PinMAME state: nvram/, cfg/, hi/, inp/, memcard/ and sta/"
|
- what: "PinMAME state: nvram/, cfg/, hi/, inp/, memcard/ and sta/"
|
||||||
source_ref: "pinmame src/libpinmame/libpinmame.cpp:1081,1083-1087"
|
source_ref: "pinmame src/libpinmame/libpinmame.cpp:1081,1083-1087"
|
||||||
note: "Written by PinMAME as the machine runs."
|
note: "Written by PinMAME as the machine runs."
|
||||||
Reference in new issue
Block a user