refactor(dist): Config and .bat files

Move everything to new launcher.xml configuration
files. Adjust the bootstrapping of launcher in the
.bat files. Features such as copying the default
props/ files to nvram are now handled by launcher.

Using the PATH variable, bemanitools binaries can
live in their own dedicated bemanitools/ subfolder
next to props/ and modules/ now. All original
binaries are expected to be kept in a modules/
folder like on stock data.
This commit is contained in:
icex2
2024-02-23 18:53:59 +01:00
parent 2fe21ae6b7
commit 2ebfd39bea
70 changed files with 3050 additions and 209 deletions
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="Shift-JIS"?>
<ea3_conf>
<soft>
<model __type="str">LDJ</model>
<dest __type="str">J</dest>
<spec __type="str">A</spec>
<rev __type="str">A</rev>
<ext __type="str">2022082400</ext>
</soft>
</ea3_conf>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="Shift-JIS"?>
<ea3>
<network>
<services>http://localhost</services>
</network>
</ea3>
+35
View File
@@ -8,3 +8,38 @@ if not exist dev\nvram\eacoin.xml copy prop\defaults\eacoin.xml dev\nvram\eacoin
if not exist dev\raw mkdir dev\raw
launcher -K sdvxhook.dll soundvoltex.dll %*
@echo off
:: Game doesn't work properly when not run with administrator privileges
>nul 2>&1 net session
if %errorlevel% neq 0 (
echo This script requires administrative privileges.
echo Please run the script as an administrator.
pause
exit 1
)
:: Script expects to be located in a subfolder "bemanitools" in the root folder
:: (contents/) next to the folders modules, data etc.
cd /d %~dp0
:: Script expects to be located in the root folder (contents/) next to the
:: folders modules, data etc.
set CONTENT_DIR=%CD%\..
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
set MODULES_DIR=%CONTENT_DIR%\modules
:: Keep that data vanilla, no need to copy these around anymore
:: Just add them to the env PATH so launcher can find the libs and game executable
:: Remark: This also requires admin privileges to propage correctly to launcher
set PATH=^
%MODULES_DIR%;^
%BEMANITOOLS_DIR%;^
%PATH%
:: Current working dir is the game's root folder
cd /d %CONTENT_DIR%
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher.xml %*
+75
View File
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="Shift-JIS"?>
<launcher version="1">
<bootstrap>
<selector __type="str">bemanitools_local_fs</selector>
<config kind="inline">
<config>
<startup>
<bemanitools_local_fs>
<default>
<file dst="/dev/nvram/ea3-config.xml" src="/prop/eamuse-config.xml" />
<file dst="/dev/nvram/coin.xml" src="/prop/coin.xml" />
<file dst="/dev/nvram/eacoin.xml" src="/prop/eacoin.xml" />
</default>
<boot>
<file>prop/avs-config.xml</file>
<heap_avs __type="u32">16777216</heap_avs>
<heap_std __type="u32">16777216</heap_std>
</boot>
<log>
<level>info</level>
</log>
<eamuse>
<file>/dev/nvram/ea3-config.xml</file>
</eamuse>
<component>
<file>soundvoltex.dll</file>
<param></param>
</component>
</bemanitools_local_fs>
</startup>
</config>
</config>
</bootstrap>
<ea3_ident>
<config kind="file">bemanitools/ea3-ident.xml</config>
<config kind="file">bemanitools/ea3-license.xml</config>
</ea3_ident>
<avs>
<config kind="inline">
<config>
<fs>
<root>
<device __type="str">.</device>
</root>
<nvram>
<device __type="str">dev/nvram</device>
<fstype __type="str">fs</fstype>
<option __type="str">vf=1,posix=1</option>
</nvram>
<raw>
<device __type="str">dev/raw</device>
<fstype __type="str">fs</fstype>
<option __type="str">vf=1,posix=1</option>
</raw>
</fs>
</config>
</config>
</avs>
<eamuse>
<config kind="file">bemanitools/ea3-service.xml</config>
</eamuse>
<hook>
<hook_dlls>
<dll __type="str">sdvxhook.dll</dll>
</hook_dlls>
<before_hook_dlls>
</before_hook_dlls>
<iat_hook_dlls>
</iat_hook_dlls>
</hook>
<debug>
<remote_debugger __type="bool">0</remote_debugger>
<log_property_configs __type="bool">0</log_property_configs>
</debug>
</launcher>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="Shift-JIS"?>
<ea3_conf>
<id>
<softid __type="str">0101020304050607083F</softid>
<pcbid __type="str">0101020304050607083F</pcbid>
</id>
</ea3_conf>