mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05:00
docs: follow visual pinball to d858a1f
Starter tables are now .vpz folder packs, segment textures load a -cov.png coverage atlas beside them, table music falls back to the folders 10.8 searched (ScriptGlobalTable.cpp:120-148) and a Windows-only BAM plugin is staged. The build fetches pinmame d5e1921 now (platforms/config.sh:11): container sets unchanged, cited lines remapped.
This commit is contained in:
1 parent
5affacb596
commit
388a3a4f58
1 file changed
+66
-55
@@ -3,8 +3,8 @@ type: standalone
|
||||
core_classification: game_engine
|
||||
source: "https://github.com/vpinball/vpinball"
|
||||
upstream: "https://github.com/vpinball/vpinball"
|
||||
profiled_date: "2026-10-23"
|
||||
source_commit: "639ec097a4b4e2b96455efe80da753606acd245c"
|
||||
profiled_date: "2026-10-26"
|
||||
source_commit: "d858a1f30d12d78fb92e2da0548ca0719ca5baca"
|
||||
core_version: "10.8.1"
|
||||
display_name: "Visual Pinball X"
|
||||
cores:
|
||||
@@ -25,10 +25,10 @@ notes: |
|
||||
libwinevbs, Wine's VBScript engine with its COM and ATL headers, beside SDL3,
|
||||
SDL3_ttf, FreeImage, hidapi, libspatialaudio and libmysofa with zlib
|
||||
(make/CMakeLists_app.txt:558-579,630-640, make/CMakeLists_sources.txt:829-835).
|
||||
AlphaDMD, AltSound, B2S, DMDUtil, DOF, FlexDMD, HelloScript, HelloWorld,
|
||||
Inspector, Nixie, PinMAME, PUP, RemoteControl, Serum, UpscaleDMD, VNI and WMP
|
||||
are plugins staged in plugins/ next to the binary, ../PlugIns on macOS
|
||||
(make/CMakeLists_plugins.txt:21-25,39-55). The player scans that folder and
|
||||
AlphaDMD, AltSound, B2S, BAM (Windows only), DMDUtil, DOF, FlexDMD,
|
||||
HelloScript, HelloWorld, Inspector, Nixie, PinMAME, PUP, RemoteControl, Serum,
|
||||
UpscaleDMD, VNI and WMP are plugins staged in plugins/ next to the binary, ../PlugIns on macOS
|
||||
(make/CMakeLists_plugins.txt:21-25,39-56). The player scans that folder and
|
||||
loads every subfolder whose plugin.cfg names a library for the running
|
||||
platform (src/core/player.cpp:145, src/core/FileLocator.cpp:216-222,
|
||||
plugins/plugins/MsgPluginManager.cpp:425-436).
|
||||
@@ -56,7 +56,7 @@ notes: |
|
||||
user/ and scripts/ beside it, then the installation folder with user/,
|
||||
scripts/ and tables/ under it, then the preferences folder with user/ and
|
||||
scripts/ under it (src/core/FileLocator.cpp:400-433,
|
||||
src/core/ScriptGlobalTable.cpp:354-383). The
|
||||
src/core/ScriptGlobalTable.cpp:396-425). The
|
||||
scripts/ directory the build ships carries the 73 .vbs files tables include
|
||||
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
|
||||
@@ -69,8 +69,10 @@ notes: |
|
||||
table's user folder, created on demand, TablesDirectory the system documents
|
||||
folder or the installation folder when SDL reports none, MusicDirectory the
|
||||
table's music folder with an optional subfolder, ScriptsDirectory scripts/
|
||||
under the installation folder. Each fails when its directory does not exist
|
||||
(src/core/ScriptGlobalTable.cpp:385-426, src/core/FileLocator.cpp:251-259).
|
||||
under the installation folder. MusicDirectory falls back to the folders
|
||||
10.8 searched, listed under table music below. Each fails when its
|
||||
directory does not exist (src/core/ScriptGlobalTable.cpp:120-148, 427-480,
|
||||
src/core/FileLocator.cpp:251-259).
|
||||
In AppPrefData mode user/, music/, cache/<table name>/ and autosave/ sit
|
||||
beside the table. A folder missing there on a read is looked up the AppOnly
|
||||
way, where user/ hangs off the installation folder, the cache sits under
|
||||
@@ -82,23 +84,25 @@ notes: |
|
||||
assets/ holds BallEnv.exr, AODither.webp and EnvMap.webp, the first two
|
||||
loaded with no fallback (src/renderer/Renderer.cpp:178-190),
|
||||
the bumper and kicker textures (src/parts/bumper.cpp:150,162,171,186,
|
||||
src/parts/kicker.cpp:200-241), the segment display textures
|
||||
(src/renderer/Renderer.cpp:1661-1679), TableSizes.csv, the table size
|
||||
src/parts/kicker.cpp:200-241), the segment display textures, each with a
|
||||
<name>-cov.png coverage atlas loaded beside it and dropped when its width is
|
||||
not twice the texture's (src/renderer/Renderer.cpp:1580-1595,1674-1717),
|
||||
TableSizes.csv, the table size
|
||||
database (src/core/TableDB.cpp:16), vpinball.png for the window icon
|
||||
(src/renderer/Window.cpp:280), LiberationSans-Regular.ttf, the font textboxes
|
||||
and decals fall back to when neither the table folder, as
|
||||
<FontName>-<Style>.ttf, nor the table file carries the font, nor on builds
|
||||
with the Windows SDK an installed font matches
|
||||
(src/renderer/TextRenderer.cpp:125-198), and which PUP adds after the fonts
|
||||
of a pack's FONTS folder (plugins/pup/PUPManager.cpp:479-486),
|
||||
of a pack's FONTS folder (plugins/pup/PUPManager.cpp:476-483),
|
||||
fabian-hrir.sofa, listed below, the editor/ part icons
|
||||
(src/ui/live/editor/EditorChrome.cpp:200) and four starter tables,
|
||||
blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx and strippedTable.vpx:
|
||||
the live editor loads blankTable.vpx when started without a table or when
|
||||
(src/ui/live/editor/EditorChrome.cpp:200) and four starter tables, the
|
||||
.vpz folder packs blankTable.vpz, exampleTable.vpz, lightSeqTable.vpz and
|
||||
strippedTable.vpz: the live editor loads blankTable.vpz when started without a table or when
|
||||
the requested one fails to load, and its New Table menu loads any of the
|
||||
four (src/core/AppCommands.cpp:287-293, src/ui/live/EditorUI.cpp:340-359).
|
||||
four (src/core/AppCommands.cpp:302-308, src/ui/live/EditorUI.cpp:340-359).
|
||||
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:1806-1807,2210-2213,
|
||||
runtime (src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1807-1808,2211-2214,
|
||||
make/CMakeLists_app.txt:662-672), and the directory is not copied for the BGFX
|
||||
renderer. Four plugins carry resources of their own: plugins/flexdmd/assets/
|
||||
holds the bitmap fonts UltraDMD asks for by resource name, the
|
||||
@@ -130,21 +134,21 @@ notes: |
|
||||
PinMAMEPath setting, else $HOME/.pinmame on Linux and macOS, <prefpath>/pinmame
|
||||
on iOS and Android, and the registered Visual PinMAME install folder with its
|
||||
registry folder settings on Windows
|
||||
(plugins/pinmame/PinMAMEPlugin.cpp:216,274-294,437-509). libpinmame then hangs
|
||||
(plugins/pinmame/PinMAMEPlugin.cpp:226,284-304,447-519). libpinmame then hangs
|
||||
roms, nvram, samples, cfg, hi, inp, memcard and sta off that root
|
||||
(pinmame src/libpinmame/libpinmame.cpp:86-92,1151-1156) and reads alias.txt
|
||||
(pinmame src/libpinmame/libpinmame.cpp:88-94,1324-1329) and reads alias.txt
|
||||
from it, a list that renames a requested game before the driver lookup
|
||||
(pinmame src/libpinmame/libpinmame.cpp:362-395,401-404). A memmaps folder,
|
||||
(pinmame src/libpinmame/libpinmame.cpp:364-397,403-406). A memmaps folder,
|
||||
beside roms/ in the table's pinmame folder, under the PinMAMEPath setting or
|
||||
shipped in the plugin folder, is scanned for an index.json that maps the ROM
|
||||
name to an NVRAM memory map, loaded with the platforms/<platform>.json it
|
||||
names, and a gamedefs folder found the same way supplies
|
||||
catalog/pinmame.json, which maps the driver to a game definition naming the
|
||||
machine's inputs and outputs (plugins/pinmame/PinMAMEPlugin.cpp:445-472,
|
||||
machine's inputs and outputs (plugins/pinmame/PinMAMEPlugin.cpp:455-482,
|
||||
plugins/pinmame/Controller.cpp:188-288).
|
||||
|
||||
A ROM set is one zip per machine, and every ROM is looked up in the game's
|
||||
zip first, then up its parent chain (pinmame src/common.c:1343-1348).
|
||||
zip first, then up its parent chain (pinmame src/common.c:1379-1386).
|
||||
PinMAME carries neither GAME_IS_BIOS_ROOT nor ROM_SYSTEM_BIOS. What it has
|
||||
are nine container sets flagged NOT_A_DRIVER, gts1, gts1s, gts80, gts80s,
|
||||
gts80a, gts80as, allied, gp_110 and recel, each the parent of its family's
|
||||
@@ -158,21 +162,21 @@ notes: |
|
||||
mechanical sample set named by pinmame_sample_names, "*pinmame" followed by
|
||||
eighteen .wav members (pinmame src/wpc/wpcsam.c:31-57), is dead twice over:
|
||||
readsamples returns before opening anything unless options.use_samples is set
|
||||
(pinmame src/common.c:271), the two files that register that option live in
|
||||
(pinmame src/common.c:276), the two files that register that option live in
|
||||
src/windows/config.c and src/unix/sound.c and neither is in the libpinmame
|
||||
source list, and PinmameSetConfig zeroes the whole options struct
|
||||
(pinmame src/libpinmame/libpinmame.cpp:1142). Independently, SAMPLESINTERFACE
|
||||
(pinmame src/libpinmame/libpinmame.cpp:1315). Independently, SAMPLESINTERFACE
|
||||
is defined in the PinMAME tree (pinmame src/wpc/wpcsam.h:23) and no driver
|
||||
references it. history.dat and mameinfo.dat (pinmame src/datafile.c:619-623,
|
||||
649-653) are read only by displayhistory, a page of the MAME on-screen menu
|
||||
(pinmame src/usrintrf.c:2846-2851), and by the listing path in
|
||||
pinmame src/info.c:820 which libpinmame never calls. VPX passes NULL for
|
||||
fn_IsKeyPressed, the thirteenth member of PinmameConfig
|
||||
(plugins/pinmame/PinMAMEPlugin.cpp:411-427, pinmame src/libpinmame/libpinmame.h:451-467),
|
||||
(plugins/pinmame/PinMAMEPlugin.cpp:421-437, pinmame src/libpinmame/libpinmame.h:482-498),
|
||||
so osd_is_key_pressed always answers 0
|
||||
(pinmame src/libpinmame/libpinmame.cpp:577-583) and the menu cannot be opened.
|
||||
(pinmame src/libpinmame/libpinmame.cpp:582-588) and the menu cannot be opened.
|
||||
|
||||
The pinmame observations were read at 652249e2b98903b94cb8c200dd7024e4776fa0db,
|
||||
The pinmame observations were read at d5e1921db1ff34e1ff3e744e1480c5de799a7b86,
|
||||
the revision the build scripts fetch (platforms/config.sh:11), and the libdof
|
||||
ones at 4908f45a5bd3b05369885b23f39465d589a32c1f (platforms/config.sh:17).
|
||||
|
||||
@@ -184,7 +188,7 @@ files:
|
||||
category: bios_zip
|
||||
required: false
|
||||
description: "Gottlieb System 1 system ROMs"
|
||||
source_ref: "pinmame src/wpc/gts1games.c:15-22,33-34, pinmame src/wpc/gts1.h:229-233, pinmame src/common.c:1343-1348, pinmame src/fileio.c:953-966"
|
||||
source_ref: "pinmame src/wpc/gts1games.c:15-22,33-34, pinmame src/wpc/gts1.h:229-233, pinmame src/common.c:1379-1386, pinmame src/fileio.c:1039-1052"
|
||||
note: >-
|
||||
Container set, parent of every System 1 game. The path is the layout
|
||||
beside a table, and roms/ sits the same way under the PinMAMEPath setting or
|
||||
@@ -363,7 +367,7 @@ files:
|
||||
category: game_data
|
||||
required: false
|
||||
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, 1782, src/core/player.cpp:438-440"
|
||||
source_ref: "pinmame src/hiscore.c:18, 223-230, pinmame src/cpuexec.c:332-334, 393, 1782, src/core/player.cpp:442-444"
|
||||
note: >-
|
||||
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
|
||||
@@ -371,15 +375,15 @@ files:
|
||||
the player sets to the table's own folder: libpinmame sets paths for eight
|
||||
file types and FILETYPE_HIGHSCORE_DB is not among them, and the option
|
||||
table that would supply a default is linked only by the Windows COM build
|
||||
(pinmame src/libpinmame/libpinmame.cpp:86-92,1151-1156,
|
||||
pinmame src/libpinmame/fileio.c:146, pinmame src/win32com/VPinMAMEConfig.cpp:127).
|
||||
(pinmame src/libpinmame/libpinmame.cpp:88-94,1324-1329,
|
||||
pinmame src/libpinmame/fileio.c:147, pinmame src/win32com/VPinMAMEConfig.cpp:128).
|
||||
|
||||
- name: cheat.dat
|
||||
system: vpinball
|
||||
category: game_data
|
||||
required: false
|
||||
description: "MAME cheat database, read when the PinMAME plugin's Cheat setting is on"
|
||||
source_ref: "pinmame src/cheat.c:8434, 8602-8614, pinmame src/mame.c:590-596, pinmame src/libpinmame/libpinmame.cpp:1215-1218, plugins/pinmame/PinMAMEPlugin.cpp:217, 529, plugins/pinmame/Controller.cpp:167"
|
||||
source_ref: "pinmame src/cheat.c:8434, 8602-8614, pinmame src/mame.c:595-601, pinmame src/libpinmame/libpinmame.cpp:1388-1391, plugins/pinmame/PinMAMEPlugin.cpp:227, plugins/pinmame/PinMAMEPlugin.cpp:539, plugins/pinmame/Controller.cpp:167"
|
||||
note: >-
|
||||
Off by default: PinmameSetConfig zeroes options, and the plugin's Cheat
|
||||
setting, false unless the user changes it, is handed to PinmameSetCheat
|
||||
@@ -427,7 +431,7 @@ files:
|
||||
required: false
|
||||
bundled: true
|
||||
description: "NVRAM memory maps, index.json with the maps/ and platforms/ files it names"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:465-472, plugins/pinmame/Controller.cpp:188-246, make/CMakeLists_plugin_PinMAME.txt:115-122, platforms/config.sh:12, platforms/linux-x64/external.sh:252-254, 558-559"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:475-482, plugins/pinmame/Controller.cpp:188-246, make/CMakeLists_plugin_PinMAME.txt:115-122, platforms/config.sh:12, platforms/linux-x64/external.sh:252-254, 558-559"
|
||||
note: >-
|
||||
From tomlogic/pinball-memory-maps at
|
||||
68c1b3373ba74cd07f42fba9d56db63ea28212dc, which every platform script
|
||||
@@ -443,7 +447,7 @@ files:
|
||||
required: false
|
||||
bundled: true
|
||||
description: "PinMAME game definitions, catalog/pinmame.json, the machines/ files it names and the controllers/ files those reference"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:465-472, plugins/pinmame/Controller.cpp:248-288, make/CMakeLists_plugin_PinMAME.txt:115-122, platforms/config.sh:13, platforms/linux-x64/external.sh:256-258, 560-561"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:475-482, plugins/pinmame/Controller.cpp:248-288, make/CMakeLists_plugin_PinMAME.txt:115-122, platforms/config.sh:13, platforms/linux-x64/external.sh:256-258, 560-561"
|
||||
note: >-
|
||||
From vpinball/pinmame-game-defs at
|
||||
6eece7e53de9463bf783b9476ce3aeb98e2e7256, which every platform script
|
||||
@@ -461,14 +465,14 @@ analysis:
|
||||
source_ref: "make/CMakeLists_app.txt:656-660"
|
||||
entries:
|
||||
- what: "scripts/, the .vbs library tables include"
|
||||
source_ref: "src/core/FileLocator.cpp:400-433, src/core/ScriptGlobalTable.cpp:354-383, src/ui/win/codeview.cpp:2053-2061"
|
||||
source_ref: "src/core/FileLocator.cpp:400-433, src/core/ScriptGlobalTable.cpp:396-425, src/ui/win/codeview.cpp:2053-2061"
|
||||
- what: "assets/, textures, segment display maps, TableSizes.csv, the window icon, the fallback font, the editor icons"
|
||||
source_ref: "src/renderer/Renderer.cpp:178-190, src/renderer/Renderer.cpp:1661-1679, src/parts/bumper.cpp:150, 162, src/parts/bumper.cpp:171, src/parts/bumper.cpp:186, src/parts/kicker.cpp:200-241, src/core/TableDB.cpp:16, src/renderer/Window.cpp:280, src/renderer/TextRenderer.cpp:186-187, plugins/pup/PUPManager.cpp:483-485, src/ui/live/editor/EditorChrome.cpp:200"
|
||||
- what: "assets/blankTable.vpx, exampleTable.vpx, lightSeqTable.vpx, strippedTable.vpx"
|
||||
source_ref: "src/core/AppCommands.cpp:287-293, src/ui/live/EditorUI.cpp:340-359"
|
||||
source_ref: "src/renderer/Renderer.cpp:178-190, src/renderer/Renderer.cpp:1580-1595, src/renderer/Renderer.cpp:1674-1717, src/parts/bumper.cpp:150, 162, src/parts/bumper.cpp:171, src/parts/bumper.cpp:186, src/parts/kicker.cpp:200-241, src/core/TableDB.cpp:16, src/renderer/Window.cpp:280, src/renderer/TextRenderer.cpp:186-187, plugins/pup/PUPManager.cpp:480-482, src/ui/live/editor/EditorChrome.cpp:200"
|
||||
- what: "assets/blankTable.vpz, exampleTable.vpz, lightSeqTable.vpz, strippedTable.vpz, folder packs of JSON part files"
|
||||
source_ref: "src/core/AppCommands.cpp:302-308, src/ui/live/EditorUI.cpp:340-359"
|
||||
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"
|
||||
source_ref: "src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1806-1807, src/renderer/Shader.cpp:2210-2213, make/CMakeLists_app.txt:662-672"
|
||||
source_ref: "src/core/FileLocator.cpp:223, src/renderer/Shader.cpp:1807-1808, src/renderer/Shader.cpp:2211-2214, make/CMakeLists_app.txt:662-672"
|
||||
- what: "plugins/<name>/plugin.cfg, the descriptor naming each plugin's library"
|
||||
source_ref: "src/core/player.cpp:145, plugins/plugins/MsgPluginManager.cpp:425-436"
|
||||
- what: "plugins/flexdmd/assets/, the bitmap fonts UltraDMD names as FlexDMD.Resources.*"
|
||||
@@ -482,7 +486,7 @@ analysis:
|
||||
- what: "plugins/inspector/assets/, the inspector web pages"
|
||||
source_ref: "plugins/inspector/InspectorPlugin.cpp:618-626, make/CMakeLists_plugin_Inspector.txt:96"
|
||||
- what: "plugins/pinmame/memmaps/ and plugins/pinmame/gamedefs/, the NVRAM memory maps and game definitions"
|
||||
source_ref: "make/CMakeLists_plugin_PinMAME.txt:115-122, plugins/pinmame/PinMAMEPlugin.cpp:465-472, platforms/config.sh:12-13, platforms/linux-x64/external.sh:252-258,558-561"
|
||||
source_ref: "make/CMakeLists_plugin_PinMAME.txt:115-122, plugins/pinmame/PinMAMEPlugin.cpp:475-482, platforms/config.sh:12-13, platforms/linux-x64/external.sh:252-258, 558-561"
|
||||
note: >-
|
||||
Copied only when the platform script has fetched them into
|
||||
third-party/: index.json, maps/ and platforms/ from
|
||||
@@ -504,7 +508,7 @@ analysis:
|
||||
note: "Per table, keyed on the table folder or the ROM name"
|
||||
entries:
|
||||
- what: "PinMAME ROM sets, <pinmame root>/roms/<romname>.zip"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:437-509, pinmame src/libpinmame/libpinmame.cpp:87,1151-1153"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:447-519, pinmame src/libpinmame/libpinmame.cpp:89, 1324-1326"
|
||||
note: >-
|
||||
One zip per machine. The root is the pinmame folder beside the table
|
||||
when it holds roms/, else the PinMAMEPath setting, else $HOME/.pinmame
|
||||
@@ -514,23 +518,23 @@ analysis:
|
||||
rompath, nvram, samples, cfg and hiscore registry settings replace
|
||||
the default subfolders.
|
||||
- what: "PinMAME game aliases, <pinmame root>/alias.txt"
|
||||
source_ref: "pinmame src/libpinmame/libpinmame.cpp:362-395,401-404"
|
||||
source_ref: "pinmame src/libpinmame/libpinmame.cpp:364-397,403-406"
|
||||
note: "Optional. Each line pairs a requested game name with the ROM set loaded in its place."
|
||||
- what: "NVRAM memory maps, memmaps/index.json and the map files it names"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:448, 459-460, 468-469, plugins/pinmame/Controller.cpp:188-246"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:458, plugins/pinmame/PinMAMEPlugin.cpp:469-470, plugins/pinmame/PinMAMEPlugin.cpp:478-479, plugins/pinmame/Controller.cpp:188-246"
|
||||
note: >-
|
||||
Optional. index.json maps the ROM name to a map file, whose
|
||||
_metadata.platform names the platforms/<platform>.json loaded with it.
|
||||
- what: "game definitions, gamedefs/catalog/pinmame.json and the definition it names"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:449, 461-462, 470-471, plugins/pinmame/Controller.cpp:248-288"
|
||||
source_ref: "plugins/pinmame/PinMAMEPlugin.cpp:459, plugins/pinmame/PinMAMEPlugin.cpp:471-472, plugins/pinmame/PinMAMEPlugin.cpp:480-481, plugins/pinmame/Controller.cpp:248-288"
|
||||
note: "Optional. The catalog's drivers array maps the ROM name to a definition file under gamedefs/."
|
||||
- what: "backglass, <table basename>.directb2s, else <table folder name>.directb2s"
|
||||
source_ref: "plugins/b2s/B2SServer.cpp:317-323,446-463,487-491, plugins/b2s/B2SPlugin.cpp:76"
|
||||
source_ref: "plugins/b2s/B2SServer.cpp:321-327, plugins/b2s/B2SServer.cpp:450-467, plugins/b2s/B2SServer.cpp:491-495, plugins/b2s/B2SPlugin.cpp:76"
|
||||
note: >-
|
||||
Looked up in the table folder, or in the WorkingDir a table script
|
||||
sets. Edits made in the plugin's backglass editor are written back to
|
||||
the file through a temporary file renamed over it
|
||||
(plugins/b2s/B2SServer.cpp:107-109).
|
||||
(plugins/b2s/B2SServer.cpp:111-113).
|
||||
- what: "Serum colorizations, <table folder>/serum/<rom>/<rom>.cROMc or .cRZ, else the SerumPath setting"
|
||||
source_ref: "plugins/serum/serum.cpp:51,727-771"
|
||||
note: "A namespace folder may sit above the ROM folder, and PinMAME games are also looked up in <table folder>/pinmame/altcolor."
|
||||
@@ -541,10 +545,10 @@ analysis:
|
||||
source_ref: "plugins/altsound/AltSoundPlugin.cpp:28,114-151"
|
||||
note: "The library appends altsound/<rom> to the parent of the folder found, so that folder must be named altsound with this exact case."
|
||||
- what: "PUP video packs, <table folder>/pupvideos/<rom>, else pupvideos/ under the PUPFolder setting"
|
||||
source_ref: "plugins/pup/PUPManager.cpp:136-164, plugins/pup/PUPPlugin.cpp:66,298-309"
|
||||
source_ref: "plugins/pup/PUPManager.cpp:132-160, plugins/pup/PUPPlugin.cpp:64, plugins/pup/PUPPlugin.cpp:295-306"
|
||||
note: "A namespace folder may sit above the ROM folder."
|
||||
- what: "PUP pack sounds, every .wav in PUPSOUNDS/ inside the PUP video pack"
|
||||
source_ref: "plugins/pup/PUPSound.cpp:23-66, plugins/pup/PUPManager.cpp:179"
|
||||
source_ref: "plugins/pup/PUPSound.cpp:23-66, plugins/pup/PUPManager.cpp:175"
|
||||
note: "The pack's PuPSound triggers play these by name. ballroll0.wav to ballroll9.wav loop as ball rolling sounds."
|
||||
- what: "Nixie layouts, <table basename>.nix, else <table folder name>.nix, else the LayoutFolder setting"
|
||||
source_ref: "plugins/nixie/NixiePlugin.cpp:23,60-113, plugins/nixie/Nixie.cpp:45-65,104-129"
|
||||
@@ -557,13 +561,20 @@ analysis:
|
||||
source_ref: "plugins/dof/DOFPlugin.cpp:288-293, libdof src/DOF.cpp:36-45"
|
||||
note: "The global configuration names the cabinet and table configuration files libdof reads next."
|
||||
- what: "table music, music/ beside the table"
|
||||
source_ref: "src/core/ScriptGlobalTable.cpp:120-138, src/core/FileLocator.cpp:267-398"
|
||||
note: "An absolute path passed by the script is tried first. In the legacy layout, music/ under the installation folder, then the table folder, then the preferences folder."
|
||||
source_ref: "src/core/ScriptGlobalTable.cpp:120-148, src/core/ScriptGlobalTable.cpp:150-190, src/core/FileLocator.cpp:267-398"
|
||||
note: >-
|
||||
An absolute path passed by the script is tried first. In the legacy
|
||||
layout, music/ under the installation folder, then the table folder,
|
||||
then the preferences folder. When neither finds the file, the folders
|
||||
10.8 searched are tried: music/ under the installation folder, the
|
||||
table folder, music/ under it, then C:\Visual Pinball\music and
|
||||
music/ under %APPDATA%\VPinballX on Windows, ~/.vpinball/music
|
||||
elsewhere.
|
||||
- what: "textbox and decal fonts, <table folder>/<FontName>-<Style>.ttf"
|
||||
source_ref: "src/renderer/TextRenderer.cpp:116-155, src/parts/textbox.cpp:603, src/parts/decal.cpp:135"
|
||||
note: "A font embedded in the table file is tried next."
|
||||
- what: "table sidecars, the .vbs script override, the per-table .ini and the legacy .pov"
|
||||
source_ref: "src/parts/pintable.cpp:1507-1523, src/parts/pintable.cpp:1070-1122, src/parts/pintable.h:600-614"
|
||||
source_ref: "src/parts/pintable.cpp:1507-1523, src/parts/pintable.cpp:1070-1122, src/parts/pintable.h:603-617"
|
||||
note: >-
|
||||
The .vbs is searched like a script library under the table's name,
|
||||
then beside the table under its folder's name. The .ini takes the
|
||||
@@ -573,17 +584,17 @@ analysis:
|
||||
|
||||
generated_files:
|
||||
- what: "VPinballX.ini, the settings file"
|
||||
source_ref: "src/core/VPApp.cpp:293-307, src/core/AppCommands.cpp:543-549"
|
||||
source_ref: "src/core/VPApp.cpp:293-307, src/core/AppCommands.cpp:558-564"
|
||||
note: >-
|
||||
Looked up in the preferences folder, then beside the binary. When
|
||||
neither holds one the preferences path is kept. -Ini names another file.
|
||||
Batocera seeds it from the assets/Default_VPinballX.ini its pinned tree
|
||||
carries and rewrites it before every launch.
|
||||
- what: "VPReg.ini, values saved by table scripts in the table's user folder, and vpinball.log in the preferences folder"
|
||||
source_ref: "src/core/ScriptGlobalTable.cpp:529-562, src/utils/Logger.cpp:160-161"
|
||||
source_ref: "src/core/ScriptGlobalTable.cpp:583-616, src/utils/Logger.cpp:160-161"
|
||||
- what: "<table>.info, the frontend information file beside the table"
|
||||
source_ref: "src/parts/pintable.cpp:1125-1136, src/parts/pintable.cpp:1202-1227, src/parts/pintable.h:616-617, src/core/player.cpp:988, src/core/player.cpp:1002"
|
||||
source_ref: "src/parts/pintable.cpp:1125-1136, src/parts/pintable.cpp:1202-1227, src/parts/pintable.h:619-620, src/core/player.cpp:992, src/core/player.cpp:1006"
|
||||
note: "Only its VPX section is written, with the run count, the last run date and the play time."
|
||||
- what: "PinMAME state: nvram/, cfg/, hi/, inp/, memcard/ and sta/"
|
||||
source_ref: "pinmame src/libpinmame/libpinmame.cpp:88,90-91,1154-1156"
|
||||
source_ref: "pinmame src/libpinmame/libpinmame.cpp:90,92-93,1327-1329"
|
||||
note: "Written by PinMAME as the machine runs."
|
||||
Reference in new issue
Block a user