diff --git a/Module.mk b/Module.mk
index 57aac8c..bf727e4 100644
--- a/Module.mk
+++ b/Module.mk
@@ -277,10 +277,10 @@ $(zipdir)/iidx-09-to-12.zip: \
dist/iidx/gamestart-10.bat \
dist/iidx/gamestart-11.bat \
dist/iidx/gamestart-12.bat \
- dist/iidx/iidxhook-09.conf \
- dist/iidx/iidxhook-10.conf \
- dist/iidx/iidxhook-11.conf \
- dist/iidx/iidxhook-12.conf \
+ dist/iidx/inject-09.xml \
+ dist/iidx/inject-10.xml \
+ dist/iidx/inject-11.xml \
+ dist/iidx/inject-12.xml \
dist/iidx/inject-09.xml \
dist/iidx/vefx.txt \
build/bin/indep-32/iidx-irbeat-patch.exe \
diff --git a/dist/iidx/gamestart-09.bat b/dist/iidx/gamestart-09.bat
index bc1eecb..de3dc1a 100755
--- a/dist/iidx/gamestart-09.bat
+++ b/dist/iidx/gamestart-09.bat
@@ -46,5 +46,4 @@ cd /d %REVISION_DIR%
%BEMANITOOLS_DIR%\inject.exe^
%BEMANITOOLS_DIR%\inject-09.xml^
- --config %BEMANITOOLS_DIR%\iidxhook-09.conf^
%*
\ No newline at end of file
diff --git a/dist/iidx/gamestart-10.bat b/dist/iidx/gamestart-10.bat
index 43ffb85..f6f6b71 100755
--- a/dist/iidx/gamestart-10.bat
+++ b/dist/iidx/gamestart-10.bat
@@ -45,8 +45,5 @@ set PATH=^
cd /d %REVISION_DIR%
%BEMANITOOLS_DIR%\inject.exe^
- %BEMANITOOLS_DIR%\iidxhook1.dll^
- %REVISION_DIR%\bm2dx.exe^
- -D^
- --config %BEMANITOOLS_DIR%\iidxhook-10.conf^
+ %BEMANITOOLS_DIR%\inject-10.xml^
%*
diff --git a/dist/iidx/gamestart-11.bat b/dist/iidx/gamestart-11.bat
index 9a2005d..15b6f1e 100755
--- a/dist/iidx/gamestart-11.bat
+++ b/dist/iidx/gamestart-11.bat
@@ -45,8 +45,5 @@ set PATH=^
cd /d %REVISION_DIR%
%BEMANITOOLS_DIR%\inject.exe^
- %BEMANITOOLS_DIR%\iidxhook1.dll^
- %REVISION_DIR%\bm2dx.exe^
- -D^
- --config %BEMANITOOLS_DIR%\iidxhook-11.conf^
- %*
+ %BEMANITOOLS_DIR%\inject-11.xml^
+ %*
\ No newline at end of file
diff --git a/dist/iidx/gamestart-12.bat b/dist/iidx/gamestart-12.bat
index 6682948..450641e 100755
--- a/dist/iidx/gamestart-12.bat
+++ b/dist/iidx/gamestart-12.bat
@@ -45,8 +45,5 @@ set PATH=^
cd /d %REVISION_DIR%
%BEMANITOOLS_DIR%\inject.exe^
- %BEMANITOOLS_DIR%\iidxhook1.dll^
- %REVISION_DIR%\bm2dx.exe^
- -D^
- --config %BEMANITOOLS_DIR%\iidxhook-12.conf^
- %*
+ %BEMANITOOLS_DIR%\inject-12.xml^
+ %*
\ No newline at end of file
diff --git a/dist/iidx/iidxhook-09.conf b/dist/iidx/iidxhook-09.conf
deleted file mode 100755
index 077e3d2..0000000
--- a/dist/iidx/iidxhook-09.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-# Magnetic card type, format XXX, 3 digit string (supports: C02, D01, E11, ECO)
-eamuse.card_type=C02
-
-# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
-eamuse.server=localhost:80
-
-# PCBID
-eamuse.pcbid=0101020304050607086F
-
-# EAMID
-eamuse.eamid=0101020304050607086F
-
-# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
-gfx.bgvideo_uv_fix=false
-
-# Run the game in a framed window (requires windowed option)
-gfx.framed=false
-
-# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
-gfx.frame_rate_limit=0.0
-
-# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
-gfx.monitor_check=-1.000000
-
-# Run the game windowed
-gfx.windowed=false
-
-# Windowed width, 0 for default size
-gfx.window_width=0
-
-# Windowed height, 0 for default size
-gfx.window_height=0
-
-# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
-gfx.scale_back_buffer_width=0
-
-# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
-gfx.scale_back_buffer_height=0
-
-# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
-gfx.scale_back_buffer_filter=none
-
-# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
-gfx.forced_refresh_rate=-1
-
-# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
-gfx.device_adapter=-1
-
-# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
-ezusb.api_call_monitoring=false
-
-# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
-ezusb.io_board_type=0
-
-# Disable operator clock setting system clock time
-misc.disable_clock_set=false
-
-# Stub calls to rteffect.dll (10th to DistorteD)
-misc.rteffect_stub=false
-
-# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
-misc.settings_path=.\
-
-# Security boot version (e.g. GEC02).
-sec.boot_version=GEC02
-
-# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
-sec.boot_seeds=0:0:0
-
-# Security black plug mcode id string (e.g. GEC02JAA).
-sec.black_plug_mcode=GEC02JAA
\ No newline at end of file
diff --git a/dist/iidx/iidxhook-10.conf b/dist/iidx/iidxhook-10.conf
deleted file mode 100755
index 328526c..0000000
--- a/dist/iidx/iidxhook-10.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-# Magnetic card type, format XXX, 3 digit string (supports: C02, D01, E11, ECO)
-eamuse.card_type=D01
-
-# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
-eamuse.server=localhost:80
-
-# PCBID
-eamuse.pcbid=0101020304050607086F
-
-# EAMID
-eamuse.eamid=0101020304050607086F
-
-# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
-gfx.bgvideo_uv_fix=false
-
-# Run the game in a framed window (requires windowed option)
-gfx.framed=false
-
-# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
-gfx.frame_rate_limit=0.0
-
-# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
-gfx.monitor_check=-1.000000
-
-# Run the game windowed
-gfx.windowed=false
-
-# Windowed width, 0 for default size
-gfx.window_width=0
-
-# Windowed height, 0 for default size
-gfx.window_height=0
-
-# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
-gfx.scale_back_buffer_width=0
-
-# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
-gfx.scale_back_buffer_height=0
-
-# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
-gfx.scale_back_buffer_filter=none
-
-# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
-gfx.forced_refresh_rate=-1
-
-# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
-gfx.device_adapter=-1
-
-# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
-ezusb.api_call_monitoring=false
-
-# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
-ezusb.io_board_type=1
-
-# Disable operator clock setting system clock time
-misc.disable_clock_set=false
-
-# Stub calls to rteffect.dll (10th to DistorteD)
-misc.rteffect_stub=true
-
-# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
-misc.settings_path=.\
-
-# Security boot version (e.g. GEC02).
-sec.boot_version=GEC02
-
-# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
-sec.boot_seeds=0:1:1
-
-# Security black plug mcode id string (e.g. GQC02JAA).
-sec.black_plug_mcode=GQD01JAA
\ No newline at end of file
diff --git a/dist/iidx/iidxhook-11.conf b/dist/iidx/iidxhook-11.conf
deleted file mode 100755
index 01e0f44..0000000
--- a/dist/iidx/iidxhook-11.conf
+++ /dev/null
@@ -1,71 +0,0 @@
-# Magnetic card type, format XXX, 3 digit string (supports: C02, D01, E11, ECO)
-eamuse.card_type=E11
-
-# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
-eamuse.server=localhost:80
-
-# PCBID
-eamuse.pcbid=0101020304050607086F
-
-# EAMID
-eamuse.eamid=0101020304050607086F
-
-# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
-gfx.bgvideo_uv_fix=false
-
-# Run the game in a framed window (requires windowed option)
-gfx.framed=false
-
-# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
-gfx.frame_rate_limit=0.0
-
-# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
-gfx.monitor_check=-1.000000
-
-# Run the game windowed
-gfx.windowed=false
-
-# Windowed width, 0 for default size
-gfx.window_width=0
-
-# Windowed height, 0 for default size
-gfx.window_height=0
-
-# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
-gfx.scale_back_buffer_width=0
-
-# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
-gfx.scale_back_buffer_height=0
-
-# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
-gfx.scale_back_buffer_filter=none
-
-# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
-gfx.forced_refresh_rate=-1
-
-# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
-gfx.device_adapter=-1
-
-# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
-ezusb.api_call_monitoring=false
-
-# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
-ezusb.io_board_type=1
-
-# Disable operator clock setting system clock time
-misc.disable_clock_set=false
-
-# Stub calls to rteffect.dll (10th to DistorteD)
-misc.rteffect_stub=true
-
-# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
-misc.settings_path=.\
-
-# Security boot version (e.g. GEC02).
-sec.boot_version=GEC02
-
-# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
-sec.boot_seeds=0:2:2
-
-# Security black plug mcode id string (e.g. GQC02JAA).
-sec.black_plug_mcode=GQE11JAA
\ No newline at end of file
diff --git a/dist/iidx/iidxhook-12.conf b/dist/iidx/iidxhook-12.conf
deleted file mode 100755
index ef1e6f2..0000000
--- a/dist/iidx/iidxhook-12.conf
+++ /dev/null
@@ -1,74 +0,0 @@
-# Magnetic card type, format XXX, 3 digit string (supports: C02, D01, E11, ECO)
-eamuse.card_type=ECO
-
-# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
-eamuse.server=localhost:80
-
-# PCBID
-eamuse.pcbid=0101020304050607086F
-
-# EAMID
-eamuse.eamid=0101020304050607086F
-
-# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
-gfx.bgvideo_uv_fix=false
-
-# Run the game in a framed window (requires windowed option)
-gfx.framed=false
-
-# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
-gfx.frame_rate_limit=0.0
-
-# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
-gfx.monitor_check=-1.000000
-
-# Run the game windowed
-gfx.windowed=false
-
-# Windowed width, 0 for default size
-gfx.window_width=0
-
-# Windowed height, 0 for default size
-gfx.window_height=0
-
-# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
-gfx.scale_back_buffer_width=0
-
-# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
-gfx.scale_back_buffer_height=0
-
-# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
-gfx.scale_back_buffer_filter=none
-
-# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
-gfx.forced_refresh_rate=-1
-
-# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
-gfx.device_adapter=-1
-
-# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
-ezusb.api_call_monitoring=false
-
-# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
-ezusb.io_board_type=1
-
-# Fix broken 3D background on Happy Sky's music select (if appearing completely white)
-misc.happy_sky_ms_bg_fix=false
-
-# Disable operator clock setting system clock time
-misc.disable_clock_set=false
-
-# Stub calls to rteffect.dll (10th to DistorteD)
-misc.rteffect_stub=true
-
-# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
-misc.settings_path=.\
-
-# Security boot version (e.g. GEC02).
-sec.boot_version=GEC02
-
-# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
-sec.boot_seeds=0:3:3
-
-# Security black plug mcode id string (e.g. GQC02JAA).
-sec.black_plug_mcode=GQECOJAA
\ No newline at end of file
diff --git a/dist/iidx/inject-09.xml b/dist/iidx/inject-09.xml
index 05c1b8d..0ab002e 100644
--- a/dist/iidx/inject-09.xml
+++ b/dist/iidx/inject-09.xml
@@ -4,6 +4,7 @@
bm2dx.exe
+
inject
diff --git a/dist/iidx/inject-10.xml b/dist/iidx/inject-10.xml
new file mode 100644
index 0000000..8e1e307
--- /dev/null
+++ b/dist/iidx/inject-10.xml
@@ -0,0 +1,105 @@
+
+
+ 1
+
+
+ bm2dx.exe
+
+
+ inject
+
+
+
+ 1
+ iidxhook1.dll
+
+
+
+
+ D01
+
+ localhost:80
+ 0101020304050607086F
+ 0101020304050607086F
+
+
+
+
+ -1
+
+ -1
+
+ 0.0
+
+
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+ 0
+ 0
+
+ none
+
+
+
+ -1.000000
+
+ 1
+
+
+
+ D01
+
+
+ GEC02
+ 0:1:1
+
+ GQD01JAA
+
+
+ 0
+
+
+
+
+ .\
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ misc
+ 8192
+
+
+ 0
+ 64
+ discard_new
+
+
+ 1
+ 1
+
+
+ 1
+ inject.log
+ 0
+ 0
+ 1
+
+
+
+
+ 1
+ 0
+
+
\ No newline at end of file
diff --git a/dist/iidx/inject-11.xml b/dist/iidx/inject-11.xml
new file mode 100644
index 0000000..22fde17
--- /dev/null
+++ b/dist/iidx/inject-11.xml
@@ -0,0 +1,105 @@
+
+
+ 1
+
+
+ bm2dx.exe
+
+
+ inject
+
+
+
+ 1
+ iidxhook1.dll
+
+
+
+
+ E11
+
+ localhost:80
+ 0101020304050607086F
+ 0101020304050607086F
+
+
+
+
+ -1
+
+ -1
+
+ 0.0
+
+
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+ 0
+ 0
+
+ none
+
+
+
+ -1.000000
+
+ 1
+
+
+
+ D01
+
+
+ GEC02
+ 0:2:2
+
+ GQE11JAA
+
+
+ 0
+
+
+
+
+ .\
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ misc
+ 8192
+
+
+ 0
+ 64
+ discard_new
+
+
+ 1
+ 1
+
+
+ 1
+ inject.log
+ 0
+ 0
+ 1
+
+
+
+
+ 1
+ 0
+
+
\ No newline at end of file
diff --git a/dist/iidx/inject-12.xml b/dist/iidx/inject-12.xml
new file mode 100644
index 0000000..a0414d1
--- /dev/null
+++ b/dist/iidx/inject-12.xml
@@ -0,0 +1,107 @@
+
+
+ 1
+
+
+ bm2dx.exe
+
+
+ inject
+
+
+
+ 1
+ iidxhook1.dll
+
+
+
+
+ ECO
+
+ localhost:80
+ 0101020304050607086F
+ 0101020304050607086F
+
+
+
+
+ -1
+
+ -1
+
+ 0.0
+
+
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+ 0
+ 0
+
+ none
+
+
+
+ -1.000000
+
+ 1
+
+ 0
+
+
+
+ D01
+
+
+ GEC02
+ 0:3:3
+
+ GQECOJAA
+
+
+ 0
+
+
+
+
+ .\
+ 1
+ 1
+
+
+
+
+
+
+ 1
+ misc
+ 8192
+
+
+ 0
+ 64
+ discard_new
+
+
+ 1
+ 1
+
+
+ 1
+ inject.log
+ 0
+ 0
+ 1
+
+
+
+
+ 1
+ 0
+
+
\ No newline at end of file