mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2026-08-28 03:14:03 -05:00
feat: bemanitools 6 initial refactoring drop, alpha 1
**THIS IS A HIGHLY WORK/DEVELOPMENT IN PROGRESS VERSION**
**THINGS ARE BROKEN AND EVERYTHING IS SUBJECT TO CHANGE**
First cut after massive refactoring with most critical and fundamental changes implemented.
We need to start somewhere, and this might be as good as anything else, so we can get started
with testing, bug fixing and iterating for the next releases.
The following list is non-exhaustive, does not guarantee anything does work, yet, and is supposed
to give a high level idea of what all of this is about. Updated documentation will reflect all of
this at some later point in time in more detail.
* A common "core" now abstracts logging, thread, property and configuration infrastructure and
provides a common interface. This is used by bemanitools internally as well as all tools, hooks
and APIs provided and don't depend on the game, version of the game or AVS version available
anymore
* New bemanitools (public) API
* Versioned API allowing for handling incremental API changes as well as breaking changes by
providing a new/different version when necessary
* Unified interfaces for bemanitools core API, i.e. logging, threads, configuration
* SDK with examples (TBD)
* Dogfooding approach: Bemanitools uses its own (public) API to implement and provide fundamental
features like configurable keyboard implementations for IO or hooks for different games and
versions
* All bemanitools hooks and IO libraries have been or are about to be re-worked to use the new APIs
* New hook API allows for more fine grained runtime control when stages of the hook are to be
executed, i.e. pre AVS, before main game, iat hooking instead of relying purely on DllMain
(which is still a compatible option though)
* launcher as a replacement for bootstrap: Bring it significantly closer to the original bootstrap
by supporting completely vanilla data and bootstrap.xml configurations to run the games. Note
that bemanitools does not include any code or means to run DRM'd data, only decrypted
* inject is also being reworked to use as much of the same "infrastructure" as launcher to provide
a more seamless bootstrapping process for games that keeps pre-eapki data as vanilla as possible
Summary:
Test Plan:
Summary:
Test Plan:
Summary:
Test Plan:
Summary:
Test Plan:
This commit is contained in:
52
CHANGELOG.md
52
CHANGELOG.md
@@ -3,6 +3,58 @@
|
||||
Note for CI/CD: Ensure the version formatting in the sections is kept identical to the versions
|
||||
given in tags. The pipeline will pick this up and cuts out the relevant section for release notes.
|
||||
|
||||
## 6.0.0-alpha.1
|
||||
|
||||
**THIS IS A HIGHLY WORK/DEVELOPMENT IN PROGRESS VERSION**
|
||||
|
||||
**THINGS ARE BROKEN AND EVERYTHING IS SUBJECT TO CHANGE**
|
||||
|
||||
First cut after massive refactoring with most critical and fundamental changes implemented.
|
||||
We need to start somewhere, and this might be as good as anything else, so we can get started
|
||||
with testing, bug fixing and iterating for the next releases.
|
||||
|
||||
The following list is non-exhaustive, does not guarantee anything does work, yet, and is supposed
|
||||
to give a high level idea of what all of this is about. Updated documentation will reflect all of
|
||||
this at some later point in time in more detail.
|
||||
|
||||
* A common "core" now abstracts logging, thread, property and configuration infrastructure and
|
||||
provides a common interface. This is used by bemanitools internally as well as all tools, hooks
|
||||
and APIs provided and don't depend on the game, version of the game or AVS version available
|
||||
anymore
|
||||
* New bemanitools (public) API
|
||||
* Versioned API allowing for handling incremental API changes as well as breaking changes by
|
||||
providing a new/different version when necessary
|
||||
* Unified interfaces for bemanitools core API, i.e. logging, threads, configuration
|
||||
* SDK with examples (TBD)
|
||||
* Dogfooding approach: Bemanitools uses its own (public) API to implement and provide fundamental
|
||||
features like configurable keyboard implementations for IO or hooks for different games and
|
||||
versions
|
||||
* All bemanitools hooks and IO libraries have been or are about to be re-worked to use the new APIs
|
||||
* New hook API allows for more fine grained runtime control when stages of the hook are to be
|
||||
executed, i.e. pre AVS, before main game, iat hooking instead of relying purely on DllMain
|
||||
(which is still a compatible option though)
|
||||
* launcher as a replacement for bootstrap: Bring it significantly closer to the original bootstrap
|
||||
by supporting completely vanilla data and bootstrap.xml configurations to run the games. Note
|
||||
that bemanitools does not include any code or means to run DRM'd data, only decrypted
|
||||
* inject is also being reworked to use as much of the same "infrastructure" as launcher to provide
|
||||
a more seamless bootstrapping process for games that keeps pre-eapki data as vanilla as possible
|
||||
|
||||
### What works
|
||||
|
||||
* inject: Basic functionality, launches games iidx 09 to 17 with iidxhook1 to iidxhook4
|
||||
* launcher: Basic functionality, launches games iidx 09 to 17 with iidxhook5 to iidxhook7
|
||||
* iidxhook1: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook2: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook3: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook4: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook5: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook6: Boots, reaching in-game with keyboard inputs working
|
||||
* iidxhook7: Boots, reaching in-game with keyboard inputs working
|
||||
|
||||
### What's broken
|
||||
|
||||
Since everything else is untested, consider it (very) broken
|
||||
|
||||
## 5.49
|
||||
|
||||
### Features
|
||||
|
||||
@@ -139,13 +139,14 @@ libs :=
|
||||
|
||||
avsdlls :=
|
||||
avsexes :=
|
||||
avslibs :=
|
||||
|
||||
testdlls :=
|
||||
testexes :=
|
||||
|
||||
include Module.mk
|
||||
|
||||
modules := $(dlls) $(exes) $(libs) $(avsdlls) $(avsexes) $(testdlls) $(testexes)
|
||||
modules := $(dlls) $(exes) $(libs) $(avsdlls) $(avsexes) $(avslibs) $(testdlls) $(testexes)
|
||||
|
||||
#
|
||||
# $1: Bitness
|
||||
@@ -200,6 +201,7 @@ $$(bindir_$1_$2):
|
||||
$$(eval $$(foreach imp,$(imps),$$(call t_import,$1,$2,$$(imp))))
|
||||
$$(eval $$(foreach dll,$(avsdlls),$$(call t_linkdll,$1,$2,$$(dll))))
|
||||
$$(eval $$(foreach exe,$(avsexes),$$(call t_linkexe,$1,$2,$$(exe))))
|
||||
$$(eval $$(foreach lib,$(avslibs),$$(call t_archive,$1,$2,$$(lib))))
|
||||
|
||||
endef
|
||||
|
||||
@@ -209,6 +211,7 @@ define t_compile
|
||||
|
||||
depdir_$1_$2_$3 := $(depdir)/$$(subdir_$1_$2)/$3
|
||||
abslib_$1_$2_$3 := $$(libs_$3:%=$$(bindir_$1_indep)/lib%.a)
|
||||
avslib_$1_$2_$3 := $$(avslibs_$3:%=$$(bindir_$1_$2)/lib%.a)
|
||||
absdpl_$1_$2_$3 := $$(deplibs_$3:%=$$(bindir_$1_$2)/lib%.a)
|
||||
objdir_$1_$2_$3 := $(objdir)/$$(subdir_$1_$2)/$3
|
||||
obj_$1_$2_$3 := $$(src_$3:%.c=$$(objdir_$1_$2_$3)/%.o) \
|
||||
@@ -260,6 +263,7 @@ dll_$1_$2_$3 := $$(bindir_$1_$2)/$3.dll
|
||||
implib_$1_$2_$3 := $$(bindir_$1_$2)/lib$3.a
|
||||
|
||||
$$(dll_$1_$2_$3) $$(implib_$1_$2_$3): $$(obj_$1_$2_$3) $$(abslib_$1_$2_$3) \
|
||||
$$(avslib_$1_$2_$3) \
|
||||
$$(absdpl_$1_$2_$3) \
|
||||
$$(srcdir_$3)/$3.def | $$(bindir_$1_$2)
|
||||
$(V)echo ... $$(dll_$1_$2_$3)
|
||||
@@ -278,7 +282,7 @@ $(t_compile)
|
||||
|
||||
exe_$1_$2_$3 := $$(bindir_$1_$2)/$3.exe
|
||||
|
||||
$$(exe_$1_$2_$3): $$(obj_$1_$2_$3) $$(abslib_$1_$2_$3) $$(absdpl_$1_$2_$3) \
|
||||
$$(exe_$1_$2_$3): $$(obj_$1_$2_$3) $$(abslib_$1_$2_$3) $$(avslib_$1_$2_$3) $$(absdpl_$1_$2_$3) \
|
||||
| $$(bindir_$1_$2)
|
||||
$(V)echo ... $$@
|
||||
$(V)$$(toolchain_$1)gcc -o $$@ $$^ $$(ldflags_$3)
|
||||
|
||||
21
Module.mk
21
Module.mk
@@ -88,10 +88,10 @@ imps += avs avs-ea3
|
||||
include src/main/aciodrv/Module.mk
|
||||
include src/main/aciodrv-proc/Module.mk
|
||||
include src/main/acioemu/Module.mk
|
||||
include src/main/aciomgr/Module.mk
|
||||
include src/main/acio-mgr/Module.mk
|
||||
include src/main/aciotest/Module.mk
|
||||
include src/main/asio/Module.mk
|
||||
include src/main/avs-util/Module.mk
|
||||
include src/main/avs-ext/Module.mk
|
||||
include src/main/bio2drv/Module.mk
|
||||
include src/main/bio2emu-iidx/Module.mk
|
||||
include src/main/bio2emu/Module.mk
|
||||
@@ -116,6 +116,7 @@ include src/main/dinput/Module.mk
|
||||
include src/main/eamio-icca/Module.mk
|
||||
include src/main/eamio/Module.mk
|
||||
include src/main/eamiotest/Module.mk
|
||||
include src/main/exceptiontrace/Module.mk
|
||||
include src/main/extio/Module.mk
|
||||
include src/main/extiodrv/Module.mk
|
||||
include src/main/extiotest/Module.mk
|
||||
@@ -138,6 +139,10 @@ include src/main/ezusb2/Module.mk
|
||||
include src/main/geninput/Module.mk
|
||||
include src/main/hook/Module.mk
|
||||
include src/main/hooklib/Module.mk
|
||||
include src/main/iface/Module.mk
|
||||
include src/main/iface-acio/Module.mk
|
||||
include src/main/iface-core/Module.mk
|
||||
include src/main/iface-io/Module.mk
|
||||
include src/main/iidx-bio2-exit-hook/Module.mk
|
||||
include src/main/iidx-ezusb-exit-hook/Module.mk
|
||||
include src/main/iidx-ezusb2-exit-hook/Module.mk
|
||||
@@ -173,6 +178,7 @@ include src/main/jbhook3/Module.mk
|
||||
include src/main/launcher/Module.mk
|
||||
include src/main/mempatch-hook/Module.mk
|
||||
include src/main/mm/Module.mk
|
||||
include src/main/module/Module.mk
|
||||
include src/main/p3io/Module.mk
|
||||
include src/main/p3iodrv/Module.mk
|
||||
include src/main/p3ioemu/Module.mk
|
||||
@@ -183,7 +189,6 @@ include src/main/popnhook-util/Module.mk
|
||||
include src/main/popnhook1/Module.mk
|
||||
include src/main/popnio/Module.mk
|
||||
include src/main/procmon/Module.mk
|
||||
include src/main/procmon-lib/Module.mk
|
||||
include src/main/pcbidgen/Module.mk
|
||||
include src/main/sdvxhook/Module.mk
|
||||
include src/main/sdvxhook2-cn/Module.mk
|
||||
@@ -493,7 +498,7 @@ $(zipdir)/iidx-27-to-30.zip: \
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/iidx-hwio-x86.zip: \
|
||||
build/bin/indep-32/aciomgr.dll \
|
||||
build/bin/indep-32/acio-mgr.dll \
|
||||
build/bin/indep-32/eamio-icca.dll \
|
||||
build/bin/indep-32/iidxio-bio2.dll \
|
||||
build/bin/indep-32/iidxio-ezusb.dll \
|
||||
@@ -506,7 +511,7 @@ $(zipdir)/iidx-hwio-x86.zip: \
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/iidx-hwio-x64.zip: \
|
||||
build/bin/indep-64/aciomgr.dll \
|
||||
build/bin/indep-64/acio-mgr.dll \
|
||||
build/bin/indep-64/eamio-icca.dll \
|
||||
build/bin/indep-64/iidxio-bio2.dll \
|
||||
build/bin/indep-64/iidxio-ezusb.dll \
|
||||
@@ -617,7 +622,7 @@ $(zipdir)/jb-08.zip: \
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/jb-hwio.zip: \
|
||||
build/bin/indep-32/aciomgr.dll \
|
||||
build/bin/indep-32/acio-mgr.dll \
|
||||
build/bin/indep-32/eamio-icca.dll \
|
||||
build/bin/indep-32/jbio-magicbox.dll \
|
||||
build/bin/indep-32/jbio-p4io.dll \
|
||||
@@ -681,7 +686,7 @@ $(zipdir)/sdvx-05-cn.zip: \
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/sdvx-hwio-x86.zip: \
|
||||
build/bin/indep-32/aciomgr.dll \
|
||||
build/bin/indep-32/acio-mgr.dll \
|
||||
build/bin/indep-32/eamio-icca.dll \
|
||||
build/bin/indep-32/sdvxio-kfca.dll \
|
||||
build/bin/indep-32/sdvxio-bio2.dll \
|
||||
@@ -691,7 +696,7 @@ $(zipdir)/sdvx-hwio-x86.zip: \
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/sdvx-hwio-x64.zip: \
|
||||
build/bin/indep-64/aciomgr.dll \
|
||||
build/bin/indep-64/acio-mgr.dll \
|
||||
build/bin/indep-64/eamio-icca.dll \
|
||||
build/bin/indep-64/sdvxio-kfca.dll \
|
||||
build/bin/indep-64/sdvxio-bio2.dll \
|
||||
|
||||
10
README.md
10
README.md
@@ -1,6 +1,12 @@
|
||||
# Bemanitools 5
|
||||
# Bemanitools 6
|
||||
|
||||
Version: `5.49`
|
||||
**THIS IS A HIGHLY WORK/DEVELOPMENT IN PROGRESS VERSION**
|
||||
|
||||
**THINGS ARE BROKEN AND EVERYTHING IS SUBJECT TO CHANGE**
|
||||
|
||||
**ALL DOCUMENTATION IS CONSIDERED OUTDATED AND IS NOT NECESSARILY REVISED UNTIL FURTHER NOTICE**
|
||||
|
||||
Version: `6.0.0-alpha.1`
|
||||
|
||||
[Changelog](CHANGELOG.md)
|
||||
|
||||
|
||||
42
btsdk/example/hook-example/hook.c
Normal file
42
btsdk/example/hook-example/hook.c
Normal file
@@ -0,0 +1,42 @@
|
||||
#define LOG_MODULE "btsdk-hook-example"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "btapi/hook-core.h"
|
||||
#include "btapi/hook-main.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "core/thread.h"
|
||||
|
||||
void btapi_hook_core_thread_impl_set(
|
||||
btapi_thread_create_t create,
|
||||
btapi_thread_join_t join,
|
||||
btapi_thread_destroy_t destroy)
|
||||
{
|
||||
core_thread_impl_set(create, join, destroy);
|
||||
}
|
||||
|
||||
void btapi_hook_core_log_impl_set(
|
||||
btapi_log_formatter_t misc,
|
||||
btapi_log_formatter_t info,
|
||||
btapi_log_formatter_t warning,
|
||||
btapi_log_formatter_t fatal)
|
||||
{
|
||||
core_log_impl_set(misc, info, warning, fatal);
|
||||
}
|
||||
|
||||
bool btapi_hook_main_init(
|
||||
HMODULE game_module, struct property_node *property_node_config)
|
||||
{
|
||||
log_info("btapi_hook_main_init");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void btapi_hook_main_fini()
|
||||
{
|
||||
log_info("btapi_hook_main_fini");
|
||||
}
|
||||
0
btsdk/example/hook/config.c
Normal file
0
btsdk/example/hook/config.c
Normal file
74
btsdk/example/hook/dllmain copy.c
Normal file
74
btsdk/example/hook/dllmain copy.c
Normal file
@@ -0,0 +1,74 @@
|
||||
#define LOG_MODULE "procmon-dllmain"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include "core/log-bt-ext.h"
|
||||
#include "core/log-bt.h"
|
||||
#include "core/thread-crt-ext.h"
|
||||
#include "launcher/property-util.h"
|
||||
|
||||
#include "procmon/config.h"
|
||||
#include "procmon/procmon.h"
|
||||
|
||||
#include "util/fs.h"
|
||||
|
||||
// TODO move this to a separate "standalone dllmain bootstrap" module in sdk
|
||||
|
||||
BOOL WINAPI DllMain(HMODULE mod, DWORD reason, void *ctx)
|
||||
{
|
||||
struct property *property;
|
||||
struct property_node *root_node;
|
||||
struct procmon_config config;
|
||||
|
||||
// TODO provide compatibility mode here? ctx set to...something?
|
||||
// to figure out if this is loaded/run by any bemanitools loader
|
||||
// or not.
|
||||
|
||||
if (reason == DLL_PROCESS_ATTACH) {
|
||||
core_thread_crt_ext_impl_set();
|
||||
core_log_bt_ext_init_with_stderr();
|
||||
|
||||
// TODO make this somehow configurable?
|
||||
// have additional stuff on procmon configuration xml
|
||||
// <dllmain>
|
||||
// <log>
|
||||
// have the same log stuff here as with launcher like file, level, rotation etc
|
||||
// </log>
|
||||
// <procmon>
|
||||
// ....
|
||||
// </procmon>
|
||||
// </dllmain>
|
||||
core_log_bt_level_set(CORE_LOG_BT_LOG_LEVEL_INFO);
|
||||
|
||||
log_info("DLL_PROCESS_ATTACH");
|
||||
|
||||
if (path_exists("procmon-config.xml")) {
|
||||
property = property_util_load("procmon-config.xml");
|
||||
|
||||
root_node = property_search(NULL, "hook/procmon");
|
||||
|
||||
if (!root_node) {
|
||||
// TODO error handling
|
||||
}
|
||||
|
||||
procmon_config_init(&config);
|
||||
procmon_config_load(root_node, &config);
|
||||
|
||||
procmon_init(&config);
|
||||
} else {
|
||||
log_warning("No configuration file found, defaulting");
|
||||
|
||||
procmon_config_init(&config);
|
||||
|
||||
procmon_init(&config);
|
||||
}
|
||||
|
||||
} else if (reason == DLL_PROCESS_DETACH) {
|
||||
log_info("DLL_PROCESS_DETACH");
|
||||
|
||||
procmon_fini();
|
||||
core_log_bt_fini();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
15
btsdk/example/hook/dllmain-bootstrap.c
Normal file
15
btsdk/example/hook/dllmain-bootstrap.c
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
|
||||
void btsdk_dllmain_bootstrap_process_attach()
|
||||
{
|
||||
// TODO have the whole stuff to bootstrap independently of hook API
|
||||
// with logging setup etc.
|
||||
// provide stuff via recovering from command line args or env vars?
|
||||
}
|
||||
|
||||
void btsdk_dllmain_bootstrap_process_detach()
|
||||
{
|
||||
// TODO cleanup
|
||||
|
||||
core_log_bt_fini();
|
||||
}
|
||||
12
btsdk/example/hook/dllmain-bootstrap.h
Normal file
12
btsdk/example/hook/dllmain-bootstrap.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef DLLMAIN_BOOTSTRAP_H
|
||||
#define DLLMAIN_BOOTSTRAP_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "imports/avs.h"
|
||||
|
||||
void btsdk_dllmain_bootstrap_process_attach();
|
||||
|
||||
void btsdk_dllmain_bootstrap_process_detach();
|
||||
|
||||
#endif
|
||||
0
btsdk/example/hook/log.c
Normal file
0
btsdk/example/hook/log.c
Normal file
21
btsdk/example/hook/thread.c
Normal file
21
btsdk/example/hook/thread.c
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
|
||||
void btapi_thread_impl_set()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int btapi_thread_create(int (*proc)(void *), void *ctx, uint32_t stack_sz, unsigned int priority)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void btapi_thread_join(int thread_id, int *result)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void btapi_thread_destroy(int thread_id)
|
||||
{
|
||||
|
||||
}
|
||||
3
btsdk/example/hook/thread.h
Normal file
3
btsdk/example/hook/thread.h
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
|
||||
void btapi_thread_impl_set();
|
||||
0
btsdk/hook-btapi/dllmain.c
Normal file
0
btsdk/hook-btapi/dllmain.c
Normal file
30
btsdk/hook-btapi/hook.c
Normal file
30
btsdk/hook-btapi/hook.c
Normal file
@@ -0,0 +1,30 @@
|
||||
#include "api/hook.h"
|
||||
|
||||
void btapi_hook_thread_impl_set(
|
||||
btapi_thread_create_t create,
|
||||
btapi_thread_join_t join,
|
||||
btapi_thread_destroy_t destroy)
|
||||
{
|
||||
// TODO some simple example how to use basic functionality of the API
|
||||
}
|
||||
|
||||
void btapi_hook_log_impl_set(
|
||||
btapi_log_formatter_t misc,
|
||||
btapi_log_formatter_t info,
|
||||
btapi_log_formatter_t warning,
|
||||
btapi_log_formatter_t fatal)
|
||||
{
|
||||
// TODO some simple example how to use basic functionality of the API
|
||||
}
|
||||
|
||||
bool btapi_hook_init(struct property_node *config)
|
||||
{
|
||||
// TODO some simple example how to use basic functionality of the API
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void btapi_hook_fini()
|
||||
{
|
||||
// TODO some simple example how to use basic functionality of the API
|
||||
}
|
||||
2
btsdk/hook-simple/dllmain.c
Normal file
2
btsdk/hook-simple/dllmain.c
Normal file
@@ -0,0 +1,2 @@
|
||||
// TODO simple hook example with DllMain only
|
||||
// ignoring the BT5 API
|
||||
14
dist/ddr/launcher-12.xml
vendored
14
dist/ddr/launcher-12.xml
vendored
@@ -59,15 +59,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-13.xml
vendored
14
dist/ddr/launcher-13.xml
vendored
@@ -59,15 +59,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-14.xml
vendored
14
dist/ddr/launcher-14.xml
vendored
@@ -59,15 +59,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-15.xml
vendored
14
dist/ddr/launcher-15.xml
vendored
@@ -59,15 +59,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-16.xml
vendored
14
dist/ddr/launcher-16.xml
vendored
@@ -60,15 +60,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-17.xml
vendored
14
dist/ddr/launcher-17.xml
vendored
@@ -60,15 +60,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
14
dist/ddr/launcher-18.xml
vendored
14
dist/ddr/launcher-18.xml
vendored
@@ -60,15 +60,11 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">ddrhook2.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<hook>
|
||||
<path __type="str">ddrhook2.dll</path>
|
||||
</hook>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
10
dist/iidx/ea3-ident.xml
vendored
10
dist/iidx/ea3-ident.xml
vendored
@@ -1,10 +0,0 @@
|
||||
<?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
dist/iidx/eamuse-server.xml
vendored
6
dist/iidx/eamuse-server.xml
vendored
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<ea3>
|
||||
<network>
|
||||
<services>http://localhost</services>
|
||||
</network>
|
||||
</ea3>
|
||||
48
dist/iidx/gamestart-09.bat
vendored
48
dist/iidx/gamestart-09.bat
vendored
@@ -1,6 +1,52 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
inject iidxhook1.dll bm2dx.exe -D --config iidxhook-09.conf %*
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\JAG
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook1.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-09.conf^
|
||||
%*
|
||||
48
dist/iidx/gamestart-10.bat
vendored
48
dist/iidx/gamestart-10.bat
vendored
@@ -1,6 +1,52 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
inject iidxhook1.dll bm2dx.exe -D --config iidxhook-10.conf %*
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\JAE
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook1.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-10.conf^
|
||||
%*
|
||||
|
||||
48
dist/iidx/gamestart-11.bat
vendored
48
dist/iidx/gamestart-11.bat
vendored
@@ -1,6 +1,52 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
inject iidxhook1.dll bm2dx.exe -D --config iidxhook-11.conf %*
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\JAA
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook1.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-11.conf^
|
||||
%*
|
||||
|
||||
49
dist/iidx/gamestart-12.bat
vendored
49
dist/iidx/gamestart-12.bat
vendored
@@ -1,5 +1,52 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
inject iidxhook1.dll bm2dx.exe -D --config iidxhook-12.conf %*
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\JAD
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook1.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-12.conf^
|
||||
%*
|
||||
|
||||
50
dist/iidx/gamestart-13.bat
vendored
50
dist/iidx/gamestart-13.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\JAG
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -11,5 +53,9 @@ if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
inject iidxhook2.dll bm2dx.exe -D --config iidxhook-13.conf %*
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook2.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-13.conf^
|
||||
%*
|
||||
|
||||
50
dist/iidx/gamestart-14.bat
vendored
50
dist/iidx/gamestart-14.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\2007072301
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -11,5 +53,9 @@ if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
inject iidxhook3.dll bm2dx.exe -D --config iidxhook-14.conf %*
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook3.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-14.conf^
|
||||
%*
|
||||
|
||||
50
dist/iidx/gamestart-15.bat
vendored
50
dist/iidx/gamestart-15.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\2008031100
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -11,5 +53,9 @@ if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
inject iidxhook3.dll bm2dx.exe -D --config iidxhook-15.conf %*
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook3.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-15.conf^
|
||||
%*
|
||||
|
||||
52
dist/iidx/gamestart-16.bat
vendored
52
dist/iidx/gamestart-16.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\2009072200
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -9,7 +51,11 @@ if not exist f mkdir f
|
||||
if not exist e\avs_conf mkdir e\avs_conf
|
||||
if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
inject iidxhook3.dll bm2dx.exe -D --config iidxhook-16.conf %*
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook3.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-16.conf^
|
||||
%*
|
||||
|
||||
50
dist/iidx/gamestart-17.bat
vendored
50
dist/iidx/gamestart-17.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%\2010071200
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -11,5 +53,9 @@ if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
|
||||
inject iidxhook3.dll bm2dx.exe -D --config iidxhook-17.conf %*
|
||||
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook3.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-17.conf^
|
||||
%*
|
||||
|
||||
49
dist/iidx/gamestart-18-cn.bat
vendored
49
dist/iidx/gamestart-18-cn.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -14,4 +56,9 @@ if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
if not exist dev\nvram mkdir dev\nvram
|
||||
if not exist dev\raw mkdir dev\raw
|
||||
|
||||
inject iidxhook4-cn.dll bm2dx.exe -D --config iidxhook-18-cn.conf %*
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook4-cn.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-18-cn.conf^
|
||||
%*
|
||||
|
||||
28
dist/iidx/gamestart-18.bat
vendored
28
dist/iidx/gamestart-18.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,15 +23,30 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%MODULES_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%MODULES_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the game's root folder
|
||||
:: Current working dir is the root/content directory of the game
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-18.xml --config %BEMANITOOLS_DIR%\iidxhook-18.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-18.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-18.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-19.bat
vendored
20
dist/iidx/gamestart-19.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-19.xml --config %BEMANITOOLS_DIR%\iidxhook-19.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-19.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-19.conf^
|
||||
%*
|
||||
49
dist/iidx/gamestart-20-cn.bat
vendored
49
dist/iidx/gamestart-20-cn.bat
vendored
@@ -1,7 +1,49 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: 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
|
||||
:: next to the folders data, JAA, JAB, etc.
|
||||
cd /d %~dp0
|
||||
|
||||
set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set REVISION_DIR=%CONTENT_DIR%
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%REVISION_DIR%" (
|
||||
echo The game modules directory "%REVISION_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: Keep that data vanilla, no need to copy these around anymore
|
||||
:: Just add them to the env PATH so inject can find the libs and game executable
|
||||
:: Remark: This also requires admin privileges to propage correctly to inject
|
||||
set PATH=^
|
||||
%REVISION_DIR%;^
|
||||
%BEMANITOOLS_DIR%;^
|
||||
%PATH%
|
||||
|
||||
:: Current working dir is the selected game revision root folder
|
||||
cd /d %REVISION_DIR%
|
||||
|
||||
if not exist d mkdir d
|
||||
if not exist e mkdir e
|
||||
if not exist f mkdir f
|
||||
@@ -14,4 +56,9 @@ if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||
if not exist dev\nvram mkdir dev\nvram
|
||||
if not exist dev\raw mkdir dev\raw
|
||||
|
||||
inject iidxhook5-cn.dll bm2dx.exe -D --config iidxhook-20-cn.conf %*
|
||||
%BEMANITOOLS_DIR%\inject.exe^
|
||||
%BEMANITOOLS_DIR%\iidxhook5-cn.dll^
|
||||
%REVISION_DIR%\bm2dx.exe^
|
||||
-D^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-20-cn.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-20.bat
vendored
20
dist/iidx/gamestart-20.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-20.xml --config %BEMANITOOLS_DIR%\iidxhook-20.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-20.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-20.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-21.bat
vendored
20
dist/iidx/gamestart-21.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-21.xml --config %BEMANITOOLS_DIR%\iidxhook-21.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-21.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-21.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-22.bat
vendored
20
dist/iidx/gamestart-22.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-22.xml --config %BEMANITOOLS_DIR%\iidxhook-22.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-22.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-22.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-23.bat
vendored
20
dist/iidx/gamestart-23.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-23.xml --config %BEMANITOOLS_DIR%\iidxhook-23.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-23.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-23.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-24.bat
vendored
20
dist/iidx/gamestart-24.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-24.xml --config %BEMANITOOLS_DIR%\iidxhook-24.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-24.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-24.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-25.bat
vendored
20
dist/iidx/gamestart-25.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-25.xml --config %BEMANITOOLS_DIR%\iidxhook-25.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-25.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-25.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-26.bat
vendored
20
dist/iidx/gamestart-26.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-26.xml --config %BEMANITOOLS_DIR%\iidxhook-26.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-26.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-26.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-27.bat
vendored
20
dist/iidx/gamestart-27.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-27.xml --config %BEMANITOOLS_DIR%\iidxhook-27.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-27.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-27.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-28.bat
vendored
20
dist/iidx/gamestart-28.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-28.xml --config %BEMANITOOLS_DIR%\iidxhook-28.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-28.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-28.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-29.bat
vendored
20
dist/iidx/gamestart-29.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-29.xml --config %BEMANITOOLS_DIR%\iidxhook-29.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-29.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-29.conf^
|
||||
%*
|
||||
20
dist/iidx/gamestart-30.bat
vendored
20
dist/iidx/gamestart-30.bat
vendored
@@ -1,5 +1,8 @@
|
||||
@echo off
|
||||
|
||||
:: Keep all vars scoped to this script
|
||||
setlocal
|
||||
|
||||
:: Game doesn't work properly when not run with administrator privileges
|
||||
>nul 2>&1 net session
|
||||
|
||||
@@ -20,6 +23,18 @@ set CONTENT_DIR=%CD%\..
|
||||
set BEMANITOOLS_DIR=%CONTENT_DIR%\bemanitools
|
||||
set MODULES_DIR=%CONTENT_DIR%\modules
|
||||
|
||||
if not exist "%BEMANITOOLS_DIR%" (
|
||||
echo The bemanitools directory "%BEMANITOOLS_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
if not exist "%MODULES_DIR%" (
|
||||
echo The game modules directory "%MODULES_DIR%" does not exist.
|
||||
pause
|
||||
exit 1
|
||||
)
|
||||
|
||||
:: 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
|
||||
@@ -31,4 +46,7 @@ set PATH=^
|
||||
:: Current working dir is the game's root folder
|
||||
cd /d %CONTENT_DIR%
|
||||
|
||||
%BEMANITOOLS_DIR%\launcher %BEMANITOOLS_DIR%\launcher-30.xml --config %BEMANITOOLS_DIR%\iidxhook-30.conf %*
|
||||
%BEMANITOOLS_DIR%\launcher.exe^
|
||||
%BEMANITOOLS_DIR%\launcher-30.xml^
|
||||
--config %BEMANITOOLS_DIR%\iidxhook-30.conf^
|
||||
%*
|
||||
2
dist/iidx/iidxhook-10.conf
vendored
2
dist/iidx/iidxhook-10.conf
vendored
@@ -56,7 +56,7 @@ ezusb.io_board_type=1
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
misc.rteffect_stub=false
|
||||
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=.\
|
||||
|
||||
2
dist/iidx/iidxhook-11.conf
vendored
2
dist/iidx/iidxhook-11.conf
vendored
@@ -56,7 +56,7 @@ ezusb.io_board_type=1
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
misc.rteffect_stub=false
|
||||
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=.\
|
||||
|
||||
2
dist/iidx/iidxhook-12.conf
vendored
2
dist/iidx/iidxhook-12.conf
vendored
@@ -59,7 +59,7 @@ misc.happy_sky_ms_bg_fix=false
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
misc.rteffect_stub=false
|
||||
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=.\
|
||||
|
||||
2
dist/iidx/iidxhook-13.conf
vendored
2
dist/iidx/iidxhook-13.conf
vendored
@@ -59,7 +59,7 @@ misc.distorted_ms_bg_fix=false
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
misc.rteffect_stub=false
|
||||
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=.\
|
||||
|
||||
44
dist/iidx/iidxhook-30.xml
vendored
Normal file
44
dist/iidx/iidxhook-30.xml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<hook>
|
||||
<version __type="u32">1</version>
|
||||
<io>
|
||||
<disable_card_reader_emu __type="bool">0</disable_card_reader_emu>
|
||||
<disable_bio2_emu __type="bool">0</disable_bio2_emu>
|
||||
<disable_poll_limiter __type="bool">0</disable_poll_limiter>
|
||||
<lightning_mode __type="bool">0</lighting_mode>
|
||||
<disable_cams __type="bool">1</disable_cams>
|
||||
<disable_file_hooks __type="bool">0</disable_file_hooks>
|
||||
<tt_multiplier __type="float">1.0</tt_multiplier>
|
||||
</io>
|
||||
<cam>
|
||||
<disable_emu __type="bool">1</disable_emu>
|
||||
<disable_camera1 __type="bool">1</disable_camera1>
|
||||
<disable_camera2 __type="bool">1</disable_camera2>
|
||||
<device_id1 __type="str"></device_id1>
|
||||
<device_id2 __type="str"></device_id2>
|
||||
</cam>
|
||||
<gfx>
|
||||
<framed __type="bool">1</framed>
|
||||
<windowed __type="bool">0</windowed>
|
||||
<confined __type="bool">0</confined>
|
||||
<window_width __type="s32">-1</window_width>
|
||||
<window_height __type="s32">-1</window_height>
|
||||
<window_x __type="s32">-1</window_x>
|
||||
<window_y __type="s32">-1</window_y>
|
||||
<forced_refresh_rate __type="s32">-1</forced_refresh_rate>
|
||||
<device_adapter __type="s32">-1</device_adapter>
|
||||
<force_orientation __type="s32">-1</force_orientation>
|
||||
<force_screen_res>
|
||||
<width __type="s32">-1</width>
|
||||
<height __type="s32">-1</height>
|
||||
</force_screen_res>
|
||||
</gfx>
|
||||
<adapter>
|
||||
<override_ip __type="str"></override_ip>
|
||||
</adapter>
|
||||
<asio>
|
||||
<force_asio __type="bool">0</force_asio>
|
||||
<force_wasapi __type="bool">1</force_wasapi>
|
||||
<device_name __type="str">XONAR SOUND CARD(64)</device_name>
|
||||
</asio>
|
||||
</hook>
|
||||
20
dist/iidx/launcher-18.xml
vendored
20
dist/iidx/launcher-18.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook4.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook4.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-19.xml
vendored
20
dist/iidx/launcher-19.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook5.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook5.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-20.xml
vendored
20
dist/iidx/launcher-20.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook6.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook6.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-21.xml
vendored
20
dist/iidx/launcher-21.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook7.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook7.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-22.xml
vendored
20
dist/iidx/launcher-22.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook7.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook7.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-23.xml
vendored
20
dist/iidx/launcher-23.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook7.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook7.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
20
dist/iidx/launcher-24.xml
vendored
20
dist/iidx/launcher-24.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -41,6 +42,8 @@
|
||||
<fs>
|
||||
<root>
|
||||
<device __type="str">.</device>
|
||||
<fstype __type="str">fs</fstype>
|
||||
<option __type="str">posix=1</option>
|
||||
</root>
|
||||
<nvram>
|
||||
<device __type="str">dev/nvram</device>
|
||||
@@ -60,13 +63,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook7.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook7.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
18
dist/iidx/launcher-25.xml
vendored
18
dist/iidx/launcher-25.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -59,13 +60,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook8.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook8.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
18
dist/iidx/launcher-26.xml
vendored
18
dist/iidx/launcher-26.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -59,13 +60,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
<dll __type="str">iidxhook8.dll</dll>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<hook>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook8.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</hook>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
18
dist/iidx/launcher-27.xml
vendored
18
dist/iidx/launcher-27.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -54,13 +55,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
<dll __type="str">iidxhook9.dll</dll>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<pre_avs>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook9.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</pre_avs>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
18
dist/iidx/launcher-28.xml
vendored
18
dist/iidx/launcher-28.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -54,13 +55,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
<dll __type="str">iidxhook9.dll</dll>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<pre_avs>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook9.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</pre_avs>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
18
dist/iidx/launcher-29.xml
vendored
18
dist/iidx/launcher-29.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -54,13 +55,14 @@
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
<dll __type="str">iidxhook9.dll</dll>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
<pre_avs>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook9.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</pre_avs>
|
||||
</hook>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
|
||||
22
dist/iidx/launcher-30.xml
vendored
22
dist/iidx/launcher-30.xml
vendored
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<launcher version="1">
|
||||
<launcher>
|
||||
<version __type="u32">1</version>
|
||||
<bootstrap>
|
||||
<selector __type="str">bemanitools_local_fs</selector>
|
||||
<config kind="inline">
|
||||
@@ -53,15 +54,16 @@
|
||||
<eamuse>
|
||||
<config kind="file">bemanitools/ea3-service.xml</config>
|
||||
</eamuse>
|
||||
<hook>
|
||||
<hook_dlls>
|
||||
</hook_dlls>
|
||||
<before_hook_dlls>
|
||||
<dll __type="str">iidxhook9.dll</dll>
|
||||
</before_hook_dlls>
|
||||
<iat_hook_dlls>
|
||||
</iat_hook_dlls>
|
||||
</hook>
|
||||
<hooks>
|
||||
<pre_avs>
|
||||
<enable __type="bool">1</enable>
|
||||
<path __type="str">iidxhook9.dll</path>
|
||||
<config kind="inline">
|
||||
<hook>
|
||||
</hook>
|
||||
</config>
|
||||
</pre_avs>
|
||||
</hooks>
|
||||
<debug>
|
||||
<remote_debugger __type="bool">0</remote_debugger>
|
||||
<log_property_configs __type="bool">0</log_property_configs>
|
||||
|
||||
7
dist/iidx/pcbid.xml
vendored
7
dist/iidx/pcbid.xml
vendored
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="Shift-JIS"?>
|
||||
<ea3_conf>
|
||||
<id>
|
||||
<softid __type="str">0101020304050607083F</softid>
|
||||
<pcbid __type="str">0101020304050607083F</pcbid>
|
||||
</id>
|
||||
</ea3_conf>
|
||||
42
src/api/acio/mgr.h
Normal file
42
src/api/acio/mgr.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef BT_API_ACIO_MGR_H
|
||||
#define BT_API_ACIO_MGR_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define BT_ACIO_MGR_NODE_PRODUCT_CODE_LEN 4
|
||||
|
||||
typedef struct ac_io_message bt_acio_message_t;
|
||||
typedef struct aciodrv_device_ctx bt_acio_drv_device_ctx_t;
|
||||
typedef struct bt_acio_mgr_port_dispatcher bt_acio_mgr_port_dispatcher_t;
|
||||
|
||||
typedef bt_acio_mgr_port_dispatcher_t *(*bt_acio_mgr_port_init_t)(const char *path, uint32_t baud);
|
||||
typedef void (*bt_acio_mgr_port_fini_t)(bt_acio_mgr_port_dispatcher_t *dispatcher);
|
||||
typedef uint8_t (*bt_acio_mgr_node_count_get_t)(const bt_acio_mgr_port_dispatcher_t *dispatcher);
|
||||
typedef bool (*bt_acio_mgr_node_product_ident_get_t)(
|
||||
const bt_acio_mgr_port_dispatcher_t *dispatcher,
|
||||
uint8_t node_id,
|
||||
char product[BT_ACIO_MGR_NODE_PRODUCT_CODE_LEN]);
|
||||
typedef bool (*bt_acio_mgr_port_packet_submit_t)(
|
||||
bt_acio_mgr_port_dispatcher_t *dispatcher,
|
||||
bt_acio_message_t *msg,
|
||||
uint32_t max_resp_size);
|
||||
typedef bt_acio_drv_device_ctx_t *(*bt_acio_mgr_port_checkout_t)(bt_acio_mgr_port_dispatcher_t *dispatcher);
|
||||
typedef void (*bt_acio_mgr_port_checkin_t)(bt_acio_mgr_port_dispatcher_t *dispatcher);
|
||||
|
||||
typedef struct bt_acio_mgr_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_acio_mgr_port_init_t port_init;
|
||||
bt_acio_mgr_port_fini_t port_fini;
|
||||
bt_acio_mgr_node_count_get_t node_count_get;
|
||||
bt_acio_mgr_node_product_ident_get_t node_product_ident_get;
|
||||
bt_acio_mgr_port_packet_submit_t port_packet_submit;
|
||||
bt_acio_mgr_port_checkout_t port_checkout;
|
||||
bt_acio_mgr_port_checkin_t port_checkin;
|
||||
} v1;
|
||||
} bt_acio_mgr_api_t;
|
||||
|
||||
#endif
|
||||
51
src/api/core/config.h
Normal file
51
src/api/core/config.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#ifndef BT_API_CORE_CONFIG_H
|
||||
#define BT_API_CORE_CONFIG_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef struct bt_core_config bt_core_config_t;
|
||||
|
||||
typedef enum bt_core_config_result {
|
||||
BT_CORE_CONFIG_RESULT_SUCCESS = 0,
|
||||
BT_CORE_CONFIG_RESULT_ERROR_INTERNAL = 1,
|
||||
BT_CORE_CONFIG_RESULT_VALUE_NOT_FOUND = 2,
|
||||
BT_CORE_CONFIG_RESULT_TYPE_MISMATCH = 3,
|
||||
} bt_core_config_result_t;
|
||||
|
||||
typedef bt_core_config_result_t (*bt_core_config_s8_get_t)(const bt_core_config_t *config, const char *path, int8_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_u8_get_t)(const bt_core_config_t *config, const char *path, uint8_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_s16_get_t)(const bt_core_config_t *config, const char *path, int16_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_u16_get_t)(const bt_core_config_t *config, const char *path, uint16_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_s32_get_t)(const bt_core_config_t *config, const char *path, int32_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_u32_get_t)(const bt_core_config_t *config, const char *path, uint32_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_s64_get_t)(const bt_core_config_t *config, const char *path, int64_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_u64_get_t)(const bt_core_config_t *config, const char *path, uint64_t *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_float_get_t)(const bt_core_config_t *config, const char *path, float *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_double_get_t)(const bt_core_config_t *config, const char *path, double *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_bool_get_t)(const bt_core_config_t *config, const char *path, bool *value);
|
||||
typedef bt_core_config_result_t (*bt_core_config_bin_get_t)(const bt_core_config_t *config, const char *path, void *value, size_t len);
|
||||
typedef bt_core_config_result_t (*bt_core_config_str_get_t)(const bt_core_config_t *config, const char *path, char *value, size_t len);
|
||||
|
||||
typedef struct bt_core_config_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
bt_core_config_s8_get_t s8_get;
|
||||
bt_core_config_u8_get_t u8_get;
|
||||
bt_core_config_s16_get_t s16_get;
|
||||
bt_core_config_u16_get_t u16_get;
|
||||
bt_core_config_s32_get_t s32_get;
|
||||
bt_core_config_u32_get_t u32_get;
|
||||
bt_core_config_s64_get_t s64_get;
|
||||
bt_core_config_u64_get_t u64_get;
|
||||
bt_core_config_float_get_t float_get;
|
||||
bt_core_config_double_get_t double_get;
|
||||
bt_core_config_bool_get_t bool_get;
|
||||
bt_core_config_bin_get_t bin_get;
|
||||
bt_core_config_str_get_t str_get;
|
||||
} v1;
|
||||
} bt_core_config_api_t;
|
||||
|
||||
#endif
|
||||
19
src/api/core/log.h
Normal file
19
src/api/core/log.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef BT_API_CORE_LOG_H
|
||||
#define BT_API_CORE_LOG_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef void (*bt_core_log_message_t)(const char *module, const char *fmt, ...);
|
||||
|
||||
typedef struct bt_core_log_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
bt_core_log_message_t misc;
|
||||
bt_core_log_message_t info;
|
||||
bt_core_log_message_t warning;
|
||||
bt_core_log_message_t fatal;
|
||||
} v1;
|
||||
} bt_core_log_api_t;
|
||||
|
||||
#endif
|
||||
28
src/api/core/thread.h
Normal file
28
src/api/core/thread.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef BT_API_CORE_THREAD_H
|
||||
#define BT_API_CORE_THREAD_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum bt_core_thread_result {
|
||||
BT_CORE_THREAD_RESULT_SUCCESS = 0,
|
||||
BT_CORE_THREAD_RESULT_ERROR_INTERNAL = 1,
|
||||
} bt_core_thread_result_t;
|
||||
|
||||
typedef int bt_core_thread_id_t;
|
||||
|
||||
typedef bt_core_thread_result_t (*bt_core_thread_create_t)(
|
||||
int (*proc)(void *), void *ctx, uint32_t stack_sz, unsigned int priority, bt_core_thread_id_t *thread_id);
|
||||
typedef bt_core_thread_result_t (*bt_core_thread_join_t)(bt_core_thread_id_t thread_id, int *result);
|
||||
typedef bt_core_thread_result_t (*bt_core_thread_destroy_t)(bt_core_thread_id_t thread_id);
|
||||
|
||||
typedef struct bt_core_thread_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
bt_core_thread_create_t create;
|
||||
bt_core_thread_join_t join;
|
||||
bt_core_thread_destroy_t destroy;
|
||||
} v1;
|
||||
} bt_core_thread_api_t;
|
||||
|
||||
#endif
|
||||
41
src/api/hook.h
Normal file
41
src/api/hook.h
Normal file
@@ -0,0 +1,41 @@
|
||||
#ifndef BT_API_HOOK_H
|
||||
#define BT_API_HOOK_H
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "api/core/config.h"
|
||||
|
||||
typedef enum bt_io_bst_gpio_sys_bit {
|
||||
BT_IO_BST_GPIO_SYS_COIN = 2,
|
||||
BT_IO_BST_GPIO_SYS_TEST = 4,
|
||||
BT_IO_BST_GPIO_SYS_SERVICE = 5,
|
||||
} bt_io_bst_gpio_sys_bit_t;
|
||||
|
||||
typedef void (*bt_hook_iat_dll_name_get_t)(char *buffer, size_t size);
|
||||
typedef bool (*bt_hook_pre_avs_init_t)(const bt_core_config_t *config);
|
||||
// game module reference, either the exe or dll. allow for further targeted hooking/patching
|
||||
// remark: you can't own the memory of the property_node config. whatever you need form that, make sure to copy the data and not just reference it.
|
||||
// there is no guarantee the data is not free'd/gone after this call returns
|
||||
// use the property api to iterate the data and parse it into your own custom configuration struct
|
||||
// it is advised to also validate all parameters
|
||||
// if no configuration was provided upon loading, the config_node contains an empty root node
|
||||
typedef bool (*bt_hook_main_init_t)(HMODULE game_module, const bt_core_config_t *config);
|
||||
typedef void (*bt_hook_main_fini_t)();
|
||||
|
||||
typedef struct bt_hook_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Optional
|
||||
bt_hook_iat_dll_name_get_t iat_dll_name_get;
|
||||
bt_hook_pre_avs_init_t pre_avs_init;
|
||||
bt_hook_main_init_t main_init;
|
||||
bt_hook_main_fini_t main_fini;
|
||||
} v1;
|
||||
} bt_hook_api_t;
|
||||
|
||||
#endif
|
||||
28
src/api/input.h
Normal file
28
src/api/input.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef BT_API_INPUT_H
|
||||
#define BT_API_INPUT_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef bool (*bt_input_init_t)();
|
||||
typedef void (*bt_input_fini_t)();
|
||||
typedef bool (*bt_input_mapper_config_load_t)(const char *game_type);
|
||||
typedef uint8_t (*bt_input_mapper_analog_read_t)(uint8_t analog);
|
||||
typedef uint64_t (*bt_input_mapper_update_t)();
|
||||
typedef void (*bt_input_mapper_light_write_t)(uint8_t light, uint8_t intensity);
|
||||
|
||||
typedef struct bt_input_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_input_init_t init;
|
||||
bt_input_fini_t fini;
|
||||
bt_input_mapper_config_load_t mapper_config_load;
|
||||
bt_input_mapper_analog_read_t mapper_analog_read;
|
||||
bt_input_mapper_update_t mapper_update;
|
||||
bt_input_mapper_light_write_t mapper_light_write;
|
||||
} v1;
|
||||
} bt_input_api_t;
|
||||
|
||||
#endif
|
||||
30
src/api/io/bst.h
Normal file
30
src/api/io/bst.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef BT_API_IO_BST_H
|
||||
#define BT_API_IO_BST_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum bt_io_bst_gpio_sys_bit {
|
||||
BT_IO_BST_GPIO_SYS_COIN = 2,
|
||||
BT_IO_BST_GPIO_SYS_TEST = 4,
|
||||
BT_IO_BST_GPIO_SYS_SERVICE = 5,
|
||||
} bt_io_bst_gpio_sys_bit_t;
|
||||
|
||||
typedef bool (*bt_io_bst_init_t)();
|
||||
typedef void (*bt_io_bst_fini_t)();
|
||||
typedef bool (*bt_io_bst_input_read_t)();
|
||||
typedef uint8_t (*bt_io_bst_input_get_t)();
|
||||
|
||||
typedef struct bt_io_bst_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_bst_init_t init;
|
||||
bt_io_bst_fini_t fini;
|
||||
bt_io_bst_input_read_t input_read;
|
||||
bt_io_bst_input_get_t input_get;
|
||||
} v1;
|
||||
} bt_io_bst_api_t;
|
||||
|
||||
#endif
|
||||
106
src/api/io/ddr.h
Normal file
106
src/api/io/ddr.h
Normal file
@@ -0,0 +1,106 @@
|
||||
#ifndef BT_API_IO_DDR_H
|
||||
#define BT_API_IO_DDR_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum bt_io_ddr_pad_bit {
|
||||
BT_IO_DDR_TEST = 0x04,
|
||||
BT_IO_DDR_COIN = 0x05,
|
||||
BT_IO_DDR_SERVICE = 0x06,
|
||||
|
||||
BT_IO_DDR_P2_START = 0x08,
|
||||
BT_IO_DDR_P2_UP = 0x09,
|
||||
BT_IO_DDR_P2_DOWN = 0x0A,
|
||||
BT_IO_DDR_P2_LEFT = 0x0B,
|
||||
BT_IO_DDR_P2_RIGHT = 0x0C,
|
||||
BT_IO_DDR_P2_MENU_LEFT = 0x0E,
|
||||
BT_IO_DDR_P2_MENU_RIGHT = 0x0F,
|
||||
BT_IO_DDR_P2_MENU_UP = 0x02,
|
||||
BT_IO_DDR_P2_MENU_DOWN = 0x03,
|
||||
|
||||
BT_IO_DDR_P1_START = 0x10,
|
||||
BT_IO_DDR_P1_UP = 0x11,
|
||||
BT_IO_DDR_P1_DOWN = 0x12,
|
||||
BT_IO_DDR_P1_LEFT = 0x13,
|
||||
BT_IO_DDR_P1_RIGHT = 0x14,
|
||||
BT_IO_DDR_P1_MENU_LEFT = 0x16,
|
||||
BT_IO_DDR_P1_MENU_RIGHT = 0x17,
|
||||
BT_IO_DDR_P1_MENU_UP = 0x00,
|
||||
BT_IO_DDR_P1_MENU_DOWN = 0x01,
|
||||
} bt_io_ddr_pad_bit_t;
|
||||
|
||||
// see the functions below for more information
|
||||
|
||||
typedef enum bt_io_ddr_p3io_light_bit {
|
||||
BT_IO_DDR_P3IO_LIGHT_P1_MENU = 0x00,
|
||||
BT_IO_DDR_P3IO_LIGHT_P2_MENU = 0x01,
|
||||
BT_IO_DDR_P3IO_LIGHT_P2_LOWER_LAMP = 0x04,
|
||||
BT_IO_DDR_P3IO_LIGHT_P2_UPPER_LAMP = 0x05,
|
||||
BT_IO_DDR_P3IO_LIGHT_P1_LOWER_LAMP = 0x06,
|
||||
BT_IO_DDR_P3IO_LIGHT_P1_UPPER_LAMP = 0x07,
|
||||
} bt_io_ddr_p3io_light_bit_t;
|
||||
|
||||
typedef enum bt_io_ddr_hdxs_light_bit {
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_START = 0x08,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_UP_DOWN = 0x09,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_LEFT_RIGHT = 0x0A,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_START = 0x0B,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_UP_DOWN = 0x0C,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_LEFT_RIGHT = 0x0D,
|
||||
} bt_io_ddr_hdxs_light_bit_t;
|
||||
|
||||
// the indexing starts from 0x20 if you're looking in geninput
|
||||
typedef enum bt_io_ddr_hdxs_rgb_light_idx {
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_F_R = 0x00,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_F_G = 0x01,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_F_B = 0x02,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_F_R = 0x03,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_F_G = 0x04,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_F_B = 0x05,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_W_R = 0x06,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_W_G = 0x07,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P1_SPEAKER_W_B = 0x08,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_W_R = 0x09,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_W_G = 0x0A,
|
||||
BT_IO_DDR_HDXS_LIGHT_HD_P2_SPEAKER_W_B = 0x0B,
|
||||
} bt_io_ddr_hdxs_rgb_light_idx_t;
|
||||
|
||||
typedef enum bt_io_ddr_extio_light_bit {
|
||||
BT_IO_DDR_EXTIO_LIGHT_NEONS = 0x0E,
|
||||
|
||||
BT_IO_DDR_EXTIO_LIGHT_P2_RIGHT = 0x13,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P2_LEFT = 0x14,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P2_DOWN = 0x15,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P2_UP = 0x16,
|
||||
|
||||
BT_IO_DDR_EXTIO_LIGHT_P1_RIGHT = 0x1B,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P1_LEFT = 0x1C,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P1_DOWN = 0x1D,
|
||||
BT_IO_DDR_EXTIO_LIGHT_P1_UP = 0x1E
|
||||
} bt_io_ddr_extio_light_bit_t;
|
||||
|
||||
typedef bool (*bt_io_ddr_init_t)();
|
||||
typedef void (*bt_io_ddr_fini_t)();
|
||||
typedef uint32_t (*bt_io_ddr_pad_read_t)();
|
||||
typedef void (*bt_io_ddr_extio_lights_set_t)(uint32_t extio_lights);
|
||||
typedef void (*bt_io_ddr_p3io_lights_set_t)(uint32_t p3io_lights);
|
||||
typedef void (*bt_io_ddr_hdxs_lights_panel_set_t)(uint32_t hdxs_lights);
|
||||
typedef void (*bt_io_ddr_hdxs_lights_rgb_set_t)(uint8_t idx, uint8_t r, uint8_t g, uint8_t b);
|
||||
|
||||
typedef struct bt_io_ddr_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_ddr_init_t init;
|
||||
bt_io_ddr_fini_t fini;
|
||||
bt_io_ddr_pad_read_t pad_read;
|
||||
bt_io_ddr_extio_lights_set_t extio_lights_set;
|
||||
bt_io_ddr_p3io_lights_set_t p3io_lights_set;
|
||||
bt_io_ddr_hdxs_lights_panel_set_t hdxs_lights_panel_set;
|
||||
bt_io_ddr_hdxs_lights_rgb_set_t hdxs_lights_rgb_set;
|
||||
} v1;
|
||||
} bt_io_ddr_api_t;
|
||||
|
||||
#endif
|
||||
88
src/api/io/eam.h
Normal file
88
src/api/io/eam.h
Normal file
@@ -0,0 +1,88 @@
|
||||
#ifndef BT_API_IO_EAM_H
|
||||
#define BT_API_IO_EAM_H
|
||||
|
||||
/* Card reader emulator API. You may replace the stock EAMIO.DLL supplied by
|
||||
Bemanitools with your own custom implementation, which should implement the
|
||||
interface contract defined in this header file. */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* Scan codes for the so-called "10 key" button panel on each card reader. Each
|
||||
scan code corresponds to a bit position within the 16-bit bitfield that you
|
||||
return from eam_io_get_keypad_state(). */
|
||||
|
||||
typedef enum bt_io_eam_keypad_scan_code {
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_0 = 0,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_1 = 1,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_4 = 2,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_7 = 3,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_00 = 4,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_2 = 5,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_5 = 6,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_8 = 7,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_DECIMAL = 8,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_3 = 9,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_6 = 10,
|
||||
BT_IO_EAM_KEYPAD_SCAN_CODE_9 = 11,
|
||||
|
||||
BT_IO_EAM_KEYPAD_COUNT = 12, /* Not an actual scan code */
|
||||
} bt_io_eam_keypad_scan_code_t;
|
||||
|
||||
/* Emulating the sensors of a slotted card reader. The reader has one
|
||||
sensor at the front that detects if a card is getting inserted or
|
||||
if the card is not fully removed. When the back sensor is triggered
|
||||
the card is locked in the slot and its data is read. */
|
||||
|
||||
typedef enum bt_io_eam_sensor_state {
|
||||
BT_IO_EAM_SENSOR_STATE_FRONT = 0,
|
||||
BT_IO_EAM_SENSOR_STATE_BACK = 1,
|
||||
} bt_io_eam_sensor_state_t;
|
||||
|
||||
/* Different commands for the (slotted) reader. The game triggers one
|
||||
of these actions and the card slot as to execute it. When non-slotted
|
||||
readers are emulated, these states are not used/set. */
|
||||
|
||||
typedef enum bt_io_eam_card_slot_cmd {
|
||||
BT_IO_EAM_CARD_SLOT_CMD_CLOSE = 0,
|
||||
BT_IO_EAM_CARD_SLOT_CMD_OPEN = 1,
|
||||
BT_IO_EAM_CARD_SLOT_CMD_EJECT = 2,
|
||||
BT_IO_EAM_CARD_SLOT_CMD_READ = 3,
|
||||
} bt_io_eam_card_slot_cmd_t;
|
||||
|
||||
/* Emulating of the card type for new readers. */
|
||||
|
||||
typedef enum bt_io_eam_read_card_result {
|
||||
BT_IO_EAM_READ_CARD_RESULT_NONE = 0,
|
||||
BT_IO_EAM_READ_CARD_RESULT_ISO15696 = 1,
|
||||
BT_IO_EAM_READ_CARD_RESULT_FELICA = 2,
|
||||
} bt_io_eam_read_card_result_t;
|
||||
|
||||
typedef struct bt_io_eam_config_api bt_io_eam_config_api_t;
|
||||
|
||||
typedef bool (*bt_io_eam_init_t)();
|
||||
typedef void (*bt_io_eam_fini_t)();
|
||||
typedef uint16_t (*bt_io_eam_keypad_state_get_t)(uint8_t unit_no);
|
||||
typedef uint8_t (*bt_io_eam_sensor_state_get_t)(uint8_t unit_no);
|
||||
typedef uint8_t (*bt_io_eam_card_read_t)(uint8_t unit_no, uint8_t *card_id, uint8_t nbytes);
|
||||
typedef bool (*bt_io_eam_card_slot_cmd_send_t)(uint8_t unit_no, uint8_t cmd);
|
||||
typedef bool (*bt_io_eam_poll_t)(uint8_t unit_no);
|
||||
typedef const bt_io_eam_config_api_t *(*bt_io_eam_config_api_get_t)();
|
||||
|
||||
typedef struct bt_io_eam_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_eam_init_t init;
|
||||
bt_io_eam_fini_t fini;
|
||||
bt_io_eam_keypad_state_get_t keypad_state_get;
|
||||
bt_io_eam_sensor_state_get_t sensor_state_get;
|
||||
bt_io_eam_card_read_t card_read;
|
||||
bt_io_eam_card_slot_cmd_send_t card_slot_cmd_send;
|
||||
bt_io_eam_poll_t poll;
|
||||
bt_io_eam_config_api_get_t config_api_get;
|
||||
} v1;
|
||||
} bt_io_eam_api_t;
|
||||
|
||||
#endif
|
||||
122
src/api/io/iidx.h
Normal file
122
src/api/io/iidx.h
Normal file
@@ -0,0 +1,122 @@
|
||||
#ifndef BT_API_IO_IIDX_H
|
||||
#define BT_API_IO_IIDX_H
|
||||
|
||||
/* IO emulation provider for beatmania IIDX. */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* Bit mapping for the "pad" word */
|
||||
|
||||
typedef enum bt_io_iidx_sys_bit {
|
||||
BT_IO_IIDX_SYS_TEST = 0x00,
|
||||
BT_IO_IIDX_SYS_SERVICE = 0x01,
|
||||
BT_IO_IIDX_SYS_COIN = 0x02
|
||||
} bt_io_iidx_sys_bit_t;
|
||||
|
||||
typedef enum bt_io_iidx_panel_bit {
|
||||
BT_IO_IIDX_PANEL_P1_START = 0x00,
|
||||
BT_IO_IIDX_PANEL_P2_START = 0x01,
|
||||
BT_IO_IIDX_PANEL_VEFX = 0x02,
|
||||
BT_IO_IIDX_PANEL_EFFECT = 0x03
|
||||
} bt_io_iidx_panel_bit_t;
|
||||
|
||||
typedef enum bt_io_iidx_key_bit {
|
||||
BT_IO_IIDX_KEY_P1_1 = 0x00,
|
||||
BT_IO_IIDX_KEY_P1_2 = 0x01,
|
||||
BT_IO_IIDX_KEY_P1_3 = 0x02,
|
||||
BT_IO_IIDX_KEY_P1_4 = 0x03,
|
||||
BT_IO_IIDX_KEY_P1_5 = 0x04,
|
||||
BT_IO_IIDX_KEY_P1_6 = 0x05,
|
||||
BT_IO_IIDX_KEY_P1_7 = 0x06,
|
||||
|
||||
BT_IO_IIDX_KEY_P2_1 = 0x07,
|
||||
BT_IO_IIDX_KEY_P2_2 = 0x08,
|
||||
BT_IO_IIDX_KEY_P2_3 = 0x09,
|
||||
BT_IO_IIDX_KEY_P2_4 = 0x0A,
|
||||
BT_IO_IIDX_KEY_P2_5 = 0x0B,
|
||||
BT_IO_IIDX_KEY_P2_6 = 0x0C,
|
||||
BT_IO_IIDX_KEY_P2_7 = 0x0D
|
||||
} bt_io_iidx_key_bit_t;
|
||||
|
||||
/* Bit mapping for the P1 and P2 deck lights */
|
||||
|
||||
typedef enum bt_io_iidx_deck_light {
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_1 = 0,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_2 = 1,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_3 = 2,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_4 = 3,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_5 = 4,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_6 = 5,
|
||||
BT_IO_IIDX_DECK_LIGHT_P1_7 = 6,
|
||||
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_1 = 8,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_2 = 9,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_3 = 10,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_4 = 11,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_5 = 12,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_6 = 13,
|
||||
BT_IO_IIDX_DECK_LIGHT_P2_7 = 14,
|
||||
} bt_io_iidx_deck_light_t;
|
||||
|
||||
/* Bit mapping for the front panel lights */
|
||||
|
||||
typedef enum bt_io_iidx_panel_light {
|
||||
BT_IO_IIDX_PANEL_LIGHT_P1_START = 0,
|
||||
BT_IO_IIDX_PANEL_LIGHT_P2_START = 1,
|
||||
BT_IO_IIDX_PANEL_LIGHT_VEFX = 2,
|
||||
BT_IO_IIDX_PANEL_LIGHT_EFFECT = 3,
|
||||
} bt_io_iidx_panel_light_t;
|
||||
|
||||
/* Bit mapping for the top lamps from left to right when facing cabinet screen
|
||||
*/
|
||||
|
||||
typedef enum bt_io_iidx_top_lamp {
|
||||
BT_IO_IIDX_TOP_LAMP_LEFT_BLUE = 0,
|
||||
BT_IO_IIDX_TOP_LAMP_LEFT_GREEN = 1,
|
||||
BT_IO_IIDX_TOP_LAMP_LEFT_YELLOW = 2,
|
||||
BT_IO_IIDX_TOP_LAMP_LEFT_RED = 3,
|
||||
BT_IO_IIDX_TOP_LAMP_RIGHT_BLUE = 4,
|
||||
BT_IO_IIDX_TOP_LAMP_RIGHT_GREEN = 5,
|
||||
BT_IO_IIDX_TOP_LAMP_RIGHT_YELLOW = 6,
|
||||
BT_IO_IIDX_TOP_LAMP_RIGHT_RED = 7,
|
||||
} bt_io_iidx_top_lamp_t;
|
||||
|
||||
typedef bool (*bt_io_iidx_init_t)();
|
||||
typedef void (*bt_io_iidx_fini_t)();
|
||||
typedef void (*bt_io_iidx_ep1_deck_lights_set_t)(uint16_t deck_lights);
|
||||
typedef void (*bt_io_iidx_ep1_panel_lights_set_t)(uint8_t panel_lights);
|
||||
typedef void (*bt_io_iidx_ep1_top_lamps_set_t)(uint8_t top_lamps);
|
||||
typedef void (*bt_io_iidx_ep1_top_neons_set_t)(bool top_neons);
|
||||
typedef bool (*bt_io_iidx_ep1_send_t)();
|
||||
typedef bool (*bt_io_iidx_ep2_recv_t)();
|
||||
typedef uint8_t (*bt_io_iidx_ep2_turntable_get_t)(uint8_t player_no);
|
||||
typedef uint8_t (*bt_io_iidx_ep2_slider_get_t)(uint8_t slider_no);
|
||||
typedef uint8_t (*bt_io_iidx_ep2_sys_get_t)();
|
||||
typedef uint8_t (*bt_io_iidx_ep2_panel_get_t)();
|
||||
typedef uint16_t (*bt_io_iidx_ep2_keys_get_t)();
|
||||
typedef bool (*bt_io_iidx_ep3_16seg_send_t)(const char *text);
|
||||
|
||||
typedef struct bt_io_iidx_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_iidx_init_t init;
|
||||
bt_io_iidx_fini_t fini;
|
||||
bt_io_iidx_ep1_deck_lights_set_t ep1_deck_lights_set;
|
||||
bt_io_iidx_ep1_panel_lights_set_t ep1_panel_lights_set;
|
||||
bt_io_iidx_ep1_top_lamps_set_t ep1_top_lamps_set;
|
||||
bt_io_iidx_ep1_top_neons_set_t ep1_top_neons_set;
|
||||
bt_io_iidx_ep1_send_t ep1_send;
|
||||
bt_io_iidx_ep2_recv_t ep2_recv;
|
||||
bt_io_iidx_ep2_turntable_get_t ep2_turntable_get;
|
||||
bt_io_iidx_ep2_slider_get_t ep2_slider_get;
|
||||
bt_io_iidx_ep2_sys_get_t ep2_sys_get;
|
||||
bt_io_iidx_ep2_panel_get_t ep2_panel_get;
|
||||
bt_io_iidx_ep2_keys_get_t ep2_keys_get;
|
||||
bt_io_iidx_ep3_16seg_send_t ep3_16seg_send;
|
||||
} v1;
|
||||
} bt_io_iidx_api_t;
|
||||
|
||||
#endif
|
||||
85
src/api/io/jb.h
Normal file
85
src/api/io/jb.h
Normal file
@@ -0,0 +1,85 @@
|
||||
#ifndef BT_API_IO_JB_H
|
||||
#define BT_API_IO_JB_H
|
||||
|
||||
/* IO emulation provider for jubeat. */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* input bit mappings. Panels on the controller are
|
||||
panel 1 top left corner down to panel 16 bottom right corner */
|
||||
typedef enum bt_io_jb_panel_bit {
|
||||
BT_IO_JB_PANEL_01 = 0x00,
|
||||
BT_IO_JB_PANEL_02 = 0x01,
|
||||
BT_IO_JB_PANEL_03 = 0x02,
|
||||
BT_IO_JB_PANEL_04 = 0x03,
|
||||
BT_IO_JB_PANEL_05 = 0x04,
|
||||
BT_IO_JB_PANEL_06 = 0x05,
|
||||
BT_IO_JB_PANEL_07 = 0x06,
|
||||
BT_IO_JB_PANEL_08 = 0x07,
|
||||
BT_IO_JB_PANEL_09 = 0x08,
|
||||
BT_IO_JB_PANEL_10 = 0x09,
|
||||
BT_IO_JB_PANEL_11 = 0x0A,
|
||||
BT_IO_JB_PANEL_12 = 0x0B,
|
||||
BT_IO_JB_PANEL_13 = 0x0C,
|
||||
BT_IO_JB_PANEL_14 = 0x0D,
|
||||
BT_IO_JB_PANEL_15 = 0x0E,
|
||||
BT_IO_JB_PANEL_16 = 0x0F,
|
||||
} bt_io_jb_panel_bit_t;
|
||||
|
||||
/* input "single button mode" mappings. Allows you to check each corner of each
|
||||
button to determine any flaky inputs
|
||||
*/
|
||||
typedef enum bt_io_jb_panel_mode {
|
||||
BT_IO_JB_PANEL_MODE_ALL = 0, // any of the four corners will trigger a panel
|
||||
BT_IO_JB_PANEL_MODE_TOP_LEFT = 1,
|
||||
BT_IO_JB_PANEL_MODE_TOP_RIGHT = 2,
|
||||
BT_IO_JB_PANEL_MODE_BOTTOM_RIGHT = 3,
|
||||
BT_IO_JB_PANEL_MODE_BOTTOM_LEFT = 4,
|
||||
} bt_io_jb_panel_mode_t;
|
||||
|
||||
/* Bit mappings for "system" inputs */
|
||||
typedef enum bt_io_jb_sys_bit {
|
||||
BT_IO_JB_SYS_TEST = 0x00,
|
||||
BT_IO_JB_SYS_SERVICE = 0x01,
|
||||
BT_IO_JB_SYS_COIN = 0x02,
|
||||
} bt_io_jb_sys_bit_t;
|
||||
|
||||
/* RGB led units to address */
|
||||
typedef enum bt_io_jb_rgb_led {
|
||||
BT_IO_JB_RGB_LED_FRONT = 0,
|
||||
BT_IO_JB_RGB_LED_TOP = 1,
|
||||
BT_IO_JB_RGB_LED_LEFT = 2,
|
||||
BT_IO_JB_RGB_LED_RIGHT = 3,
|
||||
BT_IO_JB_RGB_LED_TITLE = 4,
|
||||
BT_IO_JB_RGB_LED_WOOFER = 5
|
||||
} bt_io_jb_rgb_led_t;
|
||||
|
||||
typedef bool (*bt_io_jb_init_t)();
|
||||
typedef void (*bt_io_jb_fini_t)();
|
||||
typedef bool (*bt_io_jb_inputs_read_t)();
|
||||
typedef uint8_t (*bt_io_jb_sys_inputs_get_t)();
|
||||
typedef uint16_t (*bt_io_jb_panel_inputs_get_t)();
|
||||
typedef void (*bt_io_jb_rgb_led_set_t)(bt_io_jb_rgb_led_t unit, uint8_t r, uint8_t g, uint8_t b);
|
||||
typedef bool (*bt_io_jb_lights_write_t)();
|
||||
typedef bool (*bt_io_jb_panel_mode_set_t)(bt_io_jb_panel_mode_t mode);
|
||||
typedef bool (*bt_io_jb_coin_blocker_set_t)(bool blocked);
|
||||
|
||||
typedef struct bt_io_jb_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_jb_init_t init;
|
||||
bt_io_jb_fini_t fini;
|
||||
bt_io_jb_inputs_read_t inputs_read;
|
||||
bt_io_jb_sys_inputs_get_t sys_inputs_get;
|
||||
bt_io_jb_panel_inputs_get_t panel_inputs_get;
|
||||
bt_io_jb_rgb_led_set_t rgb_led_set;
|
||||
bt_io_jb_lights_write_t lights_write;
|
||||
bt_io_jb_panel_mode_set_t panel_mode_set;
|
||||
bt_io_jb_coin_blocker_set_t coin_blocker_set;
|
||||
} v1;
|
||||
} bt_io_jb_api_t;
|
||||
|
||||
#endif
|
||||
80
src/api/io/popn.h
Normal file
80
src/api/io/popn.h
Normal file
@@ -0,0 +1,80 @@
|
||||
#ifndef BT_API_IO_POPN_H
|
||||
#define BT_API_IO_POPN_H
|
||||
|
||||
/* IO emulation provider for pop'n music. */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* Bit mapping for the "buttons" word */
|
||||
|
||||
typedef enum bt_io_popn_sys_bit {
|
||||
BT_IO_POPN_SYS_SERVICE = 0x06,
|
||||
BT_IO_POPN_SYS_TEST = 0x07,
|
||||
} bt_io_popn_sys_bit_t;
|
||||
|
||||
typedef enum bt_io_popn_button_bit {
|
||||
BT_IO_POPN_BUTTON_1 = 0x08,
|
||||
BT_IO_POPN_BUTTON_2 = 0x09,
|
||||
BT_IO_POPN_BUTTON_3 = 0x0a,
|
||||
BT_IO_POPN_BUTTON_4 = 0x0b,
|
||||
BT_IO_POPN_BUTTON_5 = 0x0c,
|
||||
BT_IO_POPN_BUTTON_6 = 0x0d,
|
||||
BT_IO_POPN_BUTTON_7 = 0x0e,
|
||||
BT_IO_POPN_BUTTON_8 = 0x0f,
|
||||
BT_IO_POPN_BUTTON_9 = 0x10,
|
||||
} bt_io_popn_button_bit_t;
|
||||
|
||||
typedef enum bt_io_popn_light_top_lamp_bit {
|
||||
BT_IO_POPN_LIGHT_HI_LAMP1 = 0x00,
|
||||
BT_IO_POPN_LIGHT_HI_LAMP2 = 0x01,
|
||||
BT_IO_POPN_LIGHT_HI_LAMP3 = 0x02,
|
||||
BT_IO_POPN_LIGHT_HI_LAMP4 = 0x03,
|
||||
BT_IO_POPN_LIGHT_HI_LAMP5 = 0x04,
|
||||
} bt_io_popn_light_top_lamp_bit_t;
|
||||
|
||||
typedef enum bt_io_popn_light_side_lamp_bit {
|
||||
BT_IO_POPN_LIGHT_LEFT_LAMP1 = 0x00,
|
||||
BT_IO_POPN_LIGHT_LEFT_LAMP2 = 0x01,
|
||||
BT_IO_POPN_LIGHT_RIGHT_LAMP1 = 0x02,
|
||||
BT_IO_POPN_LIGHT_RIGHT_LAMP2 = 0x03,
|
||||
} bt_io_popn_light_side_lamp_bit_t;
|
||||
|
||||
typedef enum bt_io_popn_light_switch_lamp_bit {
|
||||
BT_IO_POPN_LIGHT_SW_LAMP1 = 0x00, // Is actually 4 bits wide
|
||||
BT_IO_POPN_LIGHT_SW_LAMP2 = 0x04,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP3 = 0x05,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP4 = 0x06,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP5 = 0x07,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP6 = 0x08,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP7 = 0x09,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP8 = 0x0a,
|
||||
BT_IO_POPN_LIGHT_SW_LAMP9 = 0x0b,
|
||||
} bt_io_popn_light_switch_lamp_bit_t;
|
||||
|
||||
typedef bool (*bt_io_popn_init_t)();
|
||||
typedef void (*bt_io_popn_fini_t)();
|
||||
typedef uint32_t (*bt_io_popn_buttons_get_t)();
|
||||
typedef void (*bt_io_popn_top_lights_set_t)(uint32_t lights);
|
||||
typedef void (*bt_io_popn_side_lights_set_t)(uint32_t lights);
|
||||
typedef void (*bt_io_popn_button_lights_set_t)(uint32_t lights);
|
||||
typedef void (*bt_io_popn_coin_blocker_light_set_t)(bool enabled);
|
||||
typedef void (*bt_io_popn_coin_counter_light_set_t)(bool enabled);
|
||||
|
||||
typedef struct bt_io_popn_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_popn_init_t init;
|
||||
bt_io_popn_fini_t fini;
|
||||
bt_io_popn_buttons_get_t buttons_get;
|
||||
bt_io_popn_top_lights_set_t top_lights_set;
|
||||
bt_io_popn_side_lights_set_t side_lights_set;
|
||||
bt_io_popn_button_lights_set_t button_lights_set;
|
||||
bt_io_popn_coin_blocker_light_set_t coin_blocker_light_set;
|
||||
bt_io_popn_coin_counter_light_set_t coin_counter_light_set;
|
||||
} v1;
|
||||
} bt_io_popn_api_t;
|
||||
|
||||
#endif
|
||||
70
src/api/io/sdvx.h
Normal file
70
src/api/io/sdvx.h
Normal file
@@ -0,0 +1,70 @@
|
||||
#ifndef BT_API_IO_SDVX_H
|
||||
#define BT_API_IO_SDVX_H
|
||||
|
||||
/* IO emulation provider for SOUND VOLTEX */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum bt_io_sdvx_in_gpio_sys_bit {
|
||||
BT_IO_SDVX_IN_GPIO_SYS_COIN = 2,
|
||||
BT_IO_SDVX_IN_GPIO_SYS_SERVICE = 4,
|
||||
BT_IO_SDVX_IN_GPIO_SYS_TEST = 5,
|
||||
} bt_io_sdvx_in_gpio_sys_bit_t;
|
||||
|
||||
typedef enum bt_io_sdvx_in_gpio_0_bit {
|
||||
BT_IO_SDVX_IN_GPIO_0_C = 0,
|
||||
BT_IO_SDVX_IN_GPIO_0_B = 1,
|
||||
BT_IO_SDVX_IN_GPIO_0_A = 2,
|
||||
BT_IO_SDVX_IN_GPIO_0_START = 3,
|
||||
BT_IO_SDVX_IN_GPIO_0_RECORDER = 4,
|
||||
BT_IO_SDVX_IN_GPIO_0_HEADPHONE = 5,
|
||||
} bt_io_sdvx_in_gpio_0_bit_t;
|
||||
|
||||
typedef enum bt_io_sdvx_in_gpio_1_bit {
|
||||
BT_IO_SDVX_IN_GPIO_1_FX_R = 3,
|
||||
BT_IO_SDVX_IN_GPIO_1_FX_L = 4,
|
||||
BT_IO_SDVX_IN_GPIO_1_D = 5,
|
||||
} bt_io_sdvx_in_gpio_1_bit_t;
|
||||
|
||||
typedef enum bt_io_sdvx_out_gpio_bit {
|
||||
BT_IO_SDVX_OUT_GPIO_D = 0,
|
||||
BT_IO_SDVX_OUT_GPIO_FX_L = 1,
|
||||
BT_IO_SDVX_OUT_GPIO_FX_R = 2,
|
||||
BT_IO_SDVX_OUT_GPIO_GENERATOR_B = 3,
|
||||
BT_IO_SDVX_OUT_GPIO_START = 12,
|
||||
BT_IO_SDVX_OUT_GPIO_A = 13,
|
||||
BT_IO_SDVX_OUT_GPIO_B = 14,
|
||||
BT_IO_SDVX_OUT_GPIO_C = 15,
|
||||
} bt_io_sdvx_out_gpio_bit_t;
|
||||
|
||||
typedef bool (*bt_io_sdvx_init_t)();
|
||||
typedef void (*bt_io_sdvx_fini_t)();
|
||||
typedef void (*bt_io_sdvx_gpio_lights_set_t)(uint32_t gpio_lights);
|
||||
typedef void (*bt_io_sdvx_pwm_light_set_t)(uint8_t light_no, uint8_t intensity);
|
||||
typedef bool (*bt_io_sdvx_output_write_t)();
|
||||
typedef bool (*bt_io_sdvx_input_read_t)();
|
||||
typedef uint8_t (*bt_io_sdvx_input_gpio_sys_get_t)();
|
||||
typedef uint16_t (*bt_io_sdvx_input_gpio_get_t)(uint8_t gpio_bank);
|
||||
typedef uint16_t (*bt_io_sdvx_spinner_pos_get_t)(uint8_t spinner_no);
|
||||
typedef bool (*bt_io_sdvx_amp_volume_set_t)(uint8_t primary, uint8_t headphone, uint8_t subwoofer);
|
||||
|
||||
typedef struct bt_io_sdvx_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_sdvx_init_t init;
|
||||
bt_io_sdvx_fini_t fini;
|
||||
bt_io_sdvx_gpio_lights_set_t gpio_lights_set;
|
||||
bt_io_sdvx_pwm_light_set_t pwm_light_set;
|
||||
bt_io_sdvx_output_write_t output_write;
|
||||
bt_io_sdvx_input_read_t input_read;
|
||||
bt_io_sdvx_input_gpio_sys_get_t input_gpio_sys_get;
|
||||
bt_io_sdvx_input_gpio_get_t input_gpio_get;
|
||||
bt_io_sdvx_spinner_pos_get_t spinner_pos_get;
|
||||
bt_io_sdvx_amp_volume_set_t amp_volume_set;
|
||||
} v1;
|
||||
} bt_io_sdvx_api_t;
|
||||
|
||||
#endif
|
||||
28
src/api/io/vefx.h
Normal file
28
src/api/io/vefx.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef BT_API_IO_VEFX_H
|
||||
#define BT_API_IO_VEFX_H
|
||||
|
||||
/* IO emulation provider for beatmania IIDX Effector Panel. */
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef bool (*bt_io_vefx_init_t)();
|
||||
typedef void (*bt_io_vefx_fini_t)();
|
||||
typedef bool (*bt_io_vefx_recv_t)(uint64_t *ppad);
|
||||
typedef uint8_t (*bt_io_vefx_slider_get_t)(uint8_t slider_no);
|
||||
typedef bool (*bt_io_vefx_16seg_send_t)(const char *text);
|
||||
|
||||
typedef struct bt_io_vefx_api {
|
||||
uint16_t version;
|
||||
|
||||
struct {
|
||||
// Required to be implemented
|
||||
bt_io_vefx_init_t init;
|
||||
bt_io_vefx_fini_t fini;
|
||||
bt_io_vefx_recv_t recv;
|
||||
bt_io_vefx_slider_get_t slider_get;
|
||||
bt_io_vefx_16seg_send_t _16seg_send;
|
||||
} v1;
|
||||
} bt_io_vefx_api_t;
|
||||
|
||||
#endif
|
||||
@@ -1,31 +0,0 @@
|
||||
#ifndef BEMANITOOLS_API_THREAD_H
|
||||
#define BEMANITOOLS_API_THREAD_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __GNUC__
|
||||
/* Bemanitools is compiled with GCC (MinGW, specifically) as of version 5 */
|
||||
#define LOG_CHECK_FMT __attribute__((format(printf, 2, 3)))
|
||||
#else
|
||||
/* Compile it out for MSVC plebs */
|
||||
#define LOG_CHECK_FMT
|
||||
#endif
|
||||
|
||||
/* An AVS-style logger function. Comes in four flavors: misc, info, warning,
|
||||
and fatal, with increasing severity. Fatal loggers do not return, they
|
||||
abort the running process after writing their message to the log.
|
||||
|
||||
"module" is an arbitrary short string identifying the source of the log
|
||||
message. The name of the calling DLL is a good default choice for this
|
||||
string, although you might want to identify a module within your DLL here
|
||||
instead.
|
||||
|
||||
"fmt" is a printf-style format string. Depending on the context in which
|
||||
your DLL is running you might end up calling a logger function exported
|
||||
from libavs, which has its own printf implementation (including a number of
|
||||
proprietary extensions), so don't use any overly exotic formats. */
|
||||
|
||||
typedef void (*btapi_log_formatter_t)(const char *module, const char *fmt, ...)
|
||||
LOG_CHECK_FMT;
|
||||
|
||||
#endif
|
||||
@@ -1,20 +0,0 @@
|
||||
#ifndef BEMANITOOLS_API_THREAD_H
|
||||
#define BEMANITOOLS_API_THREAD_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* An API for spawning threads. This API is defined by libavs, although
|
||||
Bemanitools itself may supply compatible implementations of these functions
|
||||
to your DLL, depending on the context in which it runs.
|
||||
|
||||
NOTE: You may only use the logging functions from a thread where Bemanitools
|
||||
calls you, or a thread that you create using this API. Failure to observe
|
||||
this restriction will cause the process to crash. This is a limitation of
|
||||
libavs itself, not Bemanitools. */
|
||||
|
||||
typedef int (*btapi_thread_create_t)(
|
||||
int (*proc)(void *), void *ctx, uint32_t stack_sz, unsigned int priority);
|
||||
typedef void (*btapi_thread_join_t)(int thread_id, int *result);
|
||||
typedef void (*btapi_thread_destroy_t)(int thread_id);
|
||||
|
||||
#endif
|
||||
@@ -142,7 +142,7 @@ typedef void (*avs_log_writer_t)(const char *chars, uint32_t nchars, void *ctx);
|
||||
typedef void (*avs_log_writer_t)(void *ctx, const char *chars, uint32_t nchars);
|
||||
#endif
|
||||
|
||||
typedef int (*avs_reader_t)(uint32_t context, void *bytes, size_t nbytes);
|
||||
typedef size_t (*avs_reader_t)(uint32_t context, void *bytes, size_t nbytes);
|
||||
|
||||
#if AVS_VERSION >= 1600
|
||||
/* "avs" and "std" heaps have been unified */
|
||||
@@ -186,7 +186,7 @@ void avs_shutdown(void);
|
||||
typedef uint32_t avs_desc;
|
||||
typedef int avs_error;
|
||||
|
||||
#define AVS_IS_ERROR(x) x < 0
|
||||
#define AVS_IS_ERROR(x) ((avs_error) x) < 0
|
||||
|
||||
void log_body_fatal(const char *module, const char *fmt, ...);
|
||||
void log_body_info(const char *module, const char *fmt, ...);
|
||||
@@ -223,12 +223,12 @@ void property_destroy(struct property *prop);
|
||||
avs_error property_get_error(struct property *prop);
|
||||
void property_clear_error(struct property *prop);
|
||||
|
||||
int property_psmap_import(
|
||||
avs_error property_psmap_import(
|
||||
struct property *prop,
|
||||
struct property_node *root,
|
||||
void *dest,
|
||||
const struct property_psmap *psmap);
|
||||
int property_psmap_export(
|
||||
avs_error property_psmap_export(
|
||||
struct property *prop,
|
||||
struct property_node *root,
|
||||
const void *src,
|
||||
@@ -254,7 +254,7 @@ int property_node_refer(
|
||||
enum property_type type,
|
||||
void *bytes,
|
||||
uint32_t nbytes);
|
||||
void property_node_remove(struct property_node *node);
|
||||
avs_error property_node_remove(struct property_node *node);
|
||||
enum property_type property_node_type(struct property_node *node);
|
||||
struct property_node *property_node_traversal(
|
||||
struct property_node *node, enum property_node_traversal direction);
|
||||
@@ -315,7 +315,7 @@ enum avs_seek_origin {
|
||||
|
||||
avs_desc avs_fs_open(const char *path, uint16_t mode, int flags);
|
||||
int avs_fs_close(avs_desc desc);
|
||||
size_t avs_fs_read(avs_desc desc, char *buf, uint32_t sz);
|
||||
size_t avs_fs_read(avs_desc desc, void *buf, size_t sz);
|
||||
int avs_fs_lseek(avs_desc desc, long pos, int whence);
|
||||
int avs_fs_lstat(const char *path, struct avs_stat *st);
|
||||
int avs_fs_copy(const char *src, const char *dest);
|
||||
|
||||
@@ -26,8 +26,8 @@ EXPORTS
|
||||
property_desc_to_buffer @246 NONAME
|
||||
property_destroy @247 NONAME
|
||||
property_insert_read @255 NONAME
|
||||
property_clear_error @573 NONAME
|
||||
property_get_error @573 NONAME
|
||||
property_clear_error @244 NONAME
|
||||
property_get_error @253 NONAME
|
||||
property_node_create @266 NONAME
|
||||
property_node_datasize @267 NONAME
|
||||
property_node_name @274 NONAME
|
||||
@@ -35,8 +35,8 @@ EXPORTS
|
||||
property_node_refer @278 NONAME
|
||||
property_node_remove @279 NONAME
|
||||
property_node_type @282 NONAME
|
||||
property_node_clone @280 NONAME
|
||||
property_node_traversal @282 NONAME
|
||||
property_node_clone @265 NONAME
|
||||
property_node_traversal @281 NONAME
|
||||
property_node_refdata @277 NONAME
|
||||
property_query_size @290 NONAME
|
||||
property_psmap_import @288 NONAME
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
LIBRARY libavs-win32
|
||||
|
||||
EXPORTS
|
||||
avs_boot @237 NONAME
|
||||
avs_fs_close @276 NONAME
|
||||
avs_fs_copy @283 NONAME
|
||||
avs_fs_lseek @16 NONAME
|
||||
avs_fs_lstat @97 NONAME
|
||||
avs_fs_open @178 NONAME
|
||||
avs_fs_read @306 NONAME
|
||||
avs_fs_opendir @216 NONAME
|
||||
avs_fs_readdir @130 NONAME
|
||||
avs_fs_closedir @131 NONAME
|
||||
avs_net_ctrl @15 NONAME
|
||||
avs_shutdown @333 NONAME
|
||||
avs_thread_create @183 NONAME
|
||||
avs_thread_destroy @76 NONAME
|
||||
avs_thread_exit @147 NONAME
|
||||
avs_thread_join @92 NONAME
|
||||
log_body_misc @44 NONAME
|
||||
log_body_info @339 NONAME
|
||||
log_body_warning @219 NONAME
|
||||
log_body_fatal @128 NONAME
|
||||
property_create @256 NONAME
|
||||
property_desc_to_buffer @201 NONAME
|
||||
property_destroy @264 NONAME
|
||||
property_insert_read @23 NONAME
|
||||
property_clear_error @573 NONAME
|
||||
property_get_error @573 NONAME
|
||||
property_node_create @316 NONAME
|
||||
property_node_datasize @249 NONAME
|
||||
property_node_name @255 NONAME
|
||||
property_node_read @2 NONAME
|
||||
property_node_refer @268 NONAME
|
||||
property_node_remove @129 NONAME
|
||||
property_node_type @329 NONAME
|
||||
property_node_clone @130 NONAME
|
||||
property_node_traversal @93 NONAME
|
||||
avs_boot @237 NONAME == XC058ba50000f4
|
||||
avs_fs_close @276 NONAME == XC058ba500011b
|
||||
avs_fs_copy @283 NONAME == XC058ba5000122
|
||||
avs_fs_lseek @16 NONAME == XC058ba500000f
|
||||
avs_fs_lstat @97 NONAME == XC058ba5000063
|
||||
avs_fs_open @178 NONAME == XC058ba50000b6
|
||||
avs_fs_read @306 NONAME == XC058ba5000139
|
||||
avs_fs_opendir @216 NONAME == XC058ba50000dd
|
||||
avs_fs_readdir @130 NONAME == XC058ba5000086
|
||||
avs_fs_closedir @131 NONAME == XC058ba5000087
|
||||
avs_net_ctrl @15 NONAME == XC058ba500000e
|
||||
avs_shutdown @333 NONAME == XC058ba5000154
|
||||
avs_thread_create @183 NONAME == XC058ba50000bb
|
||||
avs_thread_destroy @76 NONAME == XC058ba500004e
|
||||
avs_thread_exit @147 NONAME == XC058ba5000097
|
||||
avs_thread_join @92 NONAME == XC058ba500005e
|
||||
log_body_misc @44 NONAME == XC058ba500002d
|
||||
log_body_info @339 NONAME == XC058ba500015a
|
||||
log_body_warning @219 NONAME == XC058ba50000e1
|
||||
log_body_fatal @128 NONAME == XC058ba5000084
|
||||
property_create @256 NONAME == XC058ba5000107
|
||||
property_desc_to_buffer @201 NONAME == XC058ba50000cd
|
||||
property_destroy @264 NONAME == XC058ba500010f
|
||||
property_insert_read @23 NONAME == XC058ba5000016
|
||||
property_clear_error @163 NONAME == XC058ba50000a7
|
||||
property_get_error @295 NONAME == XC058ba500012e
|
||||
property_node_create @316 NONAME == XC058ba5000143
|
||||
property_node_datasize @249 NONAME == XC058ba5000100
|
||||
property_node_name @255 NONAME == XC058ba5000106
|
||||
property_node_read @2 NONAME == XC058ba5000001
|
||||
property_node_refer @268 NONAME == XC058ba5000113
|
||||
property_node_remove @129 NONAME == XC058ba5000085
|
||||
property_node_type @329 NONAME == XC058ba5000150
|
||||
property_node_clone @252 NONAME == XC058ba5000103
|
||||
property_node_traversal @93 NONAME == XC058ba500005f
|
||||
property_node_refdata @330 NONAME == XC058ba5000151
|
||||
property_query_size @250 NONAME == XC058ba5000101
|
||||
property_psmap_import @102 NONAME
|
||||
property_psmap_export @110 NONAME
|
||||
property_read_query_memsize @100 NONAME
|
||||
property_search @244 NONAME
|
||||
std_getenv @226 NONAME
|
||||
std_setenv @114 NONAME
|
||||
property_psmap_import @102 NONAME == XC058ba5000068
|
||||
property_psmap_export @110 NONAME == XC058ba5000071
|
||||
property_read_query_memsize @100 NONAME == XC058ba5000066
|
||||
property_search @244 NONAME == XC058ba50000fb
|
||||
std_getenv @226 NONAME == XC058ba50000e8
|
||||
std_setenv @114 NONAME == XC058ba5000075
|
||||
|
||||
@@ -25,8 +25,8 @@ EXPORTS
|
||||
property_desc_to_buffer @201 NONAME == XC058ba50000cd
|
||||
property_destroy @264 NONAME == XC058ba500010f
|
||||
property_insert_read @23 NONAME == XC058ba5000016
|
||||
property_clear_error @573 NONAME
|
||||
property_get_error @573 NONAME
|
||||
property_clear_error @163 NONAME == XC058ba50000a7
|
||||
property_get_error @295 NONAME == XC058ba500012e
|
||||
property_node_create @316 NONAME == XC058ba5000143
|
||||
property_node_datasize @249 NONAME == XC058ba5000100
|
||||
property_node_name @255 NONAME == XC058ba5000106
|
||||
|
||||
@@ -6,8 +6,8 @@ EXPORTS
|
||||
avs_fs_lseek @59 NONAME
|
||||
avs_fs_lseek64 @60 NONAME
|
||||
avs_fs_lstat @79 NONAME
|
||||
avs_fs_open @58 NONAME
|
||||
avs_fs_read @61 NONAME
|
||||
avs_fs_open @58 NONAME == XCd229cc000090
|
||||
avs_fs_read @61 NONAME == XCd229cc00010d
|
||||
avs_fs_copy @81 NONAME
|
||||
avs_fs_opendir @72 NONAME == XCd229cc0000f0
|
||||
avs_fs_readdir @73 NONAME == XCd229cc0000bb
|
||||
@@ -26,8 +26,8 @@ EXPORTS
|
||||
property_desc_to_buffer @129 NONAME
|
||||
property_destroy @128 NONAME
|
||||
property_insert_read @131 NONAME
|
||||
property_clear_error @573 NONAME
|
||||
property_get_error @573 NONAME
|
||||
property_clear_error @140 NONAME == XCd229cc00014b
|
||||
property_get_error @141 NONAME == XCd229cc0000b5
|
||||
property_node_create @145 NONAME
|
||||
property_node_name @150 NONAME
|
||||
property_node_read @154 NONAME == XCd229cc0000f3
|
||||
@@ -41,7 +41,7 @@ EXPORTS
|
||||
property_query_size @142 NONAME == XCd229cc000032
|
||||
property_psmap_export @162 NONAME
|
||||
property_psmap_import @161 NONAME
|
||||
property_read_query_memsize @159 NONAME
|
||||
property_read_query_memsize @159 NONAME == XCd229cc0000ff
|
||||
property_search @144 NONAME
|
||||
std_getenv @207 NONAME
|
||||
std_setenv @208 NONAME
|
||||
|
||||
@@ -5,8 +5,8 @@ EXPORTS
|
||||
avs_fs_copy @81 NONAME
|
||||
avs_fs_lseek @59 NONAME
|
||||
avs_fs_lstat @79 NONAME
|
||||
avs_fs_open @58 NONAME
|
||||
avs_fs_read @61 NONAME
|
||||
avs_fs_open @58 NONAME == XCnbrep7000039
|
||||
avs_fs_read @61 NONAME == XCnbrep700003c
|
||||
avs_fs_opendir @72 NONAME == XCnbrep7000047
|
||||
avs_fs_readdir @73 NONAME == XCnbrep7000048
|
||||
avs_fs_closedir @74 NONAME == XCnbrep7000049
|
||||
@@ -19,8 +19,8 @@ EXPORTS
|
||||
property_destroy @125 NONAME
|
||||
property_desc_to_buffer @126 NONAME
|
||||
property_insert_read @128 NONAME
|
||||
property_clear_error @573 NONAME
|
||||
property_get_error @573 NONAME
|
||||
property_clear_error @137 NONAME == XCnbrep7000088
|
||||
property_get_error @138 NONAME == XCnbrep7000089
|
||||
property_search @141 NONAME
|
||||
property_node_create @142 NONAME
|
||||
property_node_name @147 NONAME == XCnbrep7000092
|
||||
|
||||
11
src/main/acio-mgr/Module.mk
Normal file
11
src/main/acio-mgr/Module.mk
Normal file
@@ -0,0 +1,11 @@
|
||||
dlls += acio-mgr
|
||||
|
||||
libs_acio-mgr := \
|
||||
aciodrv \
|
||||
iface-core \
|
||||
core \
|
||||
util \
|
||||
|
||||
src_acio-mgr := \
|
||||
dllmain.c \
|
||||
mgr.c \
|
||||
20
src/main/acio-mgr/acio-mgr.def
Normal file
20
src/main/acio-mgr/acio-mgr.def
Normal file
@@ -0,0 +1,20 @@
|
||||
LIBRARY acio-mgr
|
||||
|
||||
EXPORTS
|
||||
; Bemanitools 6 API
|
||||
bt_module_core_log_api_set
|
||||
bt_module_acio_mgr_api_get
|
||||
|
||||
; Not exporting as these are called in DllMain
|
||||
; bt_acio_mgr_init
|
||||
; bt_acio_mgr_fini
|
||||
DllMain@12 @1 NONAME
|
||||
|
||||
; Direct API
|
||||
bt_acio_mgr_port_init
|
||||
bt_acio_mgr_port_fini
|
||||
bt_acio_mgr_node_count_get
|
||||
bt_acio_mgr_node_product_ident_get
|
||||
bt_acio_mgr_port_packet_submit
|
||||
bt_acio_mgr_port_checkout
|
||||
bt_acio_mgr_port_checkin
|
||||
@@ -1,15 +1,15 @@
|
||||
#include <windows.h>
|
||||
|
||||
#include "manager-init.h"
|
||||
#include "acio-mgr/internal.h"
|
||||
|
||||
BOOL WINAPI DllMain(HMODULE self, DWORD reason, void *ctx)
|
||||
{
|
||||
if (reason == DLL_PROCESS_ATTACH) {
|
||||
_aciomgr_init();
|
||||
bt_acio_mgr_init();
|
||||
}
|
||||
|
||||
if (reason == DLL_PROCESS_DETACH) {
|
||||
_aciomgr_fini();
|
||||
bt_acio_mgr_fini();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
7
src/main/acio-mgr/internal.h
Normal file
7
src/main/acio-mgr/internal.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef ACIO_MGR_INTERNAL_T
|
||||
#define ACIO_MGR_INTERNAL_T
|
||||
|
||||
void bt_acio_mgr_init();
|
||||
void bt_acio_mgr_fini();
|
||||
|
||||
#endif
|
||||
@@ -4,40 +4,43 @@
|
||||
|
||||
#include <stdatomic.h>
|
||||
|
||||
#include "aciomgr/manager-init.h"
|
||||
#include "aciomgr/manager.h"
|
||||
|
||||
#include "acio/acio.h"
|
||||
|
||||
#include "aciodrv/device.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "acio-mgr/internal.h"
|
||||
|
||||
#include "api/core/log.h"
|
||||
|
||||
#include "iface-core/log.h"
|
||||
|
||||
#include "sdk/module/acio/mgr.h"
|
||||
#include "sdk/module/core/log.h"
|
||||
|
||||
#include "util/array.h"
|
||||
|
||||
#define MAX_PORT_PATH_LENGTH 256
|
||||
|
||||
struct aciomgr_port_dispatcher {
|
||||
typedef struct bt_acio_mgr_port_dispatcher {
|
||||
CRITICAL_SECTION cs;
|
||||
atomic_size_t references;
|
||||
struct aciodrv_device_ctx *device;
|
||||
char path[MAX_PORT_PATH_LENGTH];
|
||||
int baud;
|
||||
bool has_failure;
|
||||
};
|
||||
} bt_acio_mgr_port_dispatcher_t;
|
||||
|
||||
static void _aciomgr_setup_port_dispatcher(
|
||||
struct aciomgr_port_dispatcher *dispatcher, const char *path, int baud);
|
||||
static void _bt_acio_mgr_setup_port_dispatcher(
|
||||
bt_acio_mgr_port_dispatcher_t *dispatcher, const char *path, int baud);
|
||||
static void
|
||||
_aciomgr_destroy_port_dispatcher(struct aciomgr_port_dispatcher *dispatcher);
|
||||
_bt_acio_mgr_destroy_port_dispatcher(bt_acio_mgr_port_dispatcher_t *dispatcher);
|
||||
|
||||
// DLL-globals
|
||||
static atomic_bool running;
|
||||
static CRITICAL_SECTION mgr_cs;
|
||||
static struct array active_ports;
|
||||
|
||||
static void _aciomgr_setup_port_dispatcher(
|
||||
struct aciomgr_port_dispatcher *dispatcher, const char *path, int baud)
|
||||
static void _bt_acio_mgr_setup_port_dispatcher(
|
||||
bt_acio_mgr_port_dispatcher_t *dispatcher, const char *path, int baud)
|
||||
{
|
||||
InitializeCriticalSection(&dispatcher->cs);
|
||||
|
||||
@@ -56,17 +59,17 @@ static void _aciomgr_setup_port_dispatcher(
|
||||
}
|
||||
|
||||
static void
|
||||
_aciomgr_destroy_port_dispatcher(struct aciomgr_port_dispatcher *dispatcher)
|
||||
_bt_acio_mgr_destroy_port_dispatcher(bt_acio_mgr_port_dispatcher_t *dispatcher)
|
||||
{
|
||||
aciodrv_device_close(dispatcher->device);
|
||||
DeleteCriticalSection(&dispatcher->cs);
|
||||
}
|
||||
|
||||
void _aciomgr_init()
|
||||
void bt_acio_mgr_init()
|
||||
{
|
||||
if (running) {
|
||||
log_warning("_aciomgr_init called when already running");
|
||||
_aciomgr_fini();
|
||||
bt_acio_mgr_fini();
|
||||
}
|
||||
InitializeCriticalSection(&mgr_cs);
|
||||
array_init(&active_ports);
|
||||
@@ -74,7 +77,7 @@ void _aciomgr_init()
|
||||
running = true;
|
||||
}
|
||||
|
||||
void _aciomgr_fini()
|
||||
void bt_acio_mgr_fini()
|
||||
{
|
||||
if (!running) {
|
||||
log_warning("_aciomgr_fini called when not running");
|
||||
@@ -85,16 +88,8 @@ void _aciomgr_fini()
|
||||
array_fini(&active_ports);
|
||||
}
|
||||
|
||||
void aciomgr_set_loggers(
|
||||
log_formatter_t misc,
|
||||
log_formatter_t info,
|
||||
log_formatter_t warning,
|
||||
log_formatter_t fatal)
|
||||
{
|
||||
core_log_impl_set(misc, warning, info, fatal);
|
||||
}
|
||||
|
||||
struct aciomgr_port_dispatcher *aciomgr_port_init(const char *path, int baud)
|
||||
bt_acio_mgr_port_dispatcher_t *
|
||||
bt_acio_mgr_port_init(const char *path, uint32_t baud)
|
||||
{
|
||||
if (!running) {
|
||||
log_warning("aciomgr_port_init: called when not running");
|
||||
@@ -106,12 +101,12 @@ struct aciomgr_port_dispatcher *aciomgr_port_init(const char *path, int baud)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct aciomgr_port_dispatcher *entry;
|
||||
bt_acio_mgr_port_dispatcher_t *entry;
|
||||
|
||||
EnterCriticalSection(&mgr_cs);
|
||||
|
||||
for (size_t i = 0; i < active_ports.nitems; i++) {
|
||||
entry = array_item(struct aciomgr_port_dispatcher, &active_ports, i);
|
||||
entry = array_item(bt_acio_mgr_port_dispatcher_t, &active_ports, i);
|
||||
|
||||
if (strcmp(entry->path, path) == 0) {
|
||||
// found
|
||||
@@ -126,8 +121,8 @@ struct aciomgr_port_dispatcher *aciomgr_port_init(const char *path, int baud)
|
||||
}
|
||||
}
|
||||
|
||||
entry = array_append(struct aciomgr_port_dispatcher, &active_ports);
|
||||
_aciomgr_setup_port_dispatcher(entry, path, baud);
|
||||
entry = array_append(bt_acio_mgr_port_dispatcher_t, &active_ports);
|
||||
_bt_acio_mgr_setup_port_dispatcher(entry, path, baud);
|
||||
|
||||
done:
|
||||
if (!entry->has_failure) {
|
||||
@@ -143,7 +138,7 @@ done:
|
||||
return entry;
|
||||
}
|
||||
|
||||
void aciomgr_port_fini(struct aciomgr_port_dispatcher *dispatcher)
|
||||
void bt_acio_mgr_port_fini(bt_acio_mgr_port_dispatcher_t *dispatcher)
|
||||
{
|
||||
if (!running) {
|
||||
log_warning("aciomgr_port_fini: called when not running");
|
||||
@@ -155,30 +150,31 @@ void aciomgr_port_fini(struct aciomgr_port_dispatcher *dispatcher)
|
||||
LeaveCriticalSection(&mgr_cs);
|
||||
|
||||
if (dispatcher->references == 0) {
|
||||
_aciomgr_destroy_port_dispatcher(dispatcher);
|
||||
_bt_acio_mgr_destroy_port_dispatcher(dispatcher);
|
||||
}
|
||||
}
|
||||
|
||||
// this function don't require the lock
|
||||
uint8_t aciomgr_get_node_count(struct aciomgr_port_dispatcher *dispatcher)
|
||||
uint8_t
|
||||
bt_acio_mgr_node_count_get(const bt_acio_mgr_port_dispatcher_t *dispatcher)
|
||||
{
|
||||
return aciodrv_device_get_node_count(dispatcher->device);
|
||||
}
|
||||
|
||||
// this function don't require the lock
|
||||
bool aciomgr_get_node_product_ident(
|
||||
struct aciomgr_port_dispatcher *dispatcher,
|
||||
bool bt_acio_mgr_node_product_ident_get(
|
||||
const bt_acio_mgr_port_dispatcher_t *dispatcher,
|
||||
uint8_t node_id,
|
||||
char product[ACIOMGR_NODE_PRODUCT_CODE_LEN])
|
||||
char product[BT_ACIO_MGR_NODE_PRODUCT_CODE_LEN])
|
||||
{
|
||||
return aciodrv_device_get_node_product_ident(
|
||||
dispatcher->device, node_id, product);
|
||||
}
|
||||
|
||||
bool aciomgr_port_submit_packet(
|
||||
struct aciomgr_port_dispatcher *dispatcher,
|
||||
struct ac_io_message *msg,
|
||||
int max_resp_size)
|
||||
bool bt_acio_mgr_port_packet_submit(
|
||||
bt_acio_mgr_port_dispatcher_t *dispatcher,
|
||||
bt_acio_message_t *msg,
|
||||
uint32_t max_resp_size)
|
||||
{
|
||||
// CS's although lightweight, may still be a burden, short circuit
|
||||
if (dispatcher->references > 1) {
|
||||
@@ -192,8 +188,8 @@ bool aciomgr_port_submit_packet(
|
||||
return aciodrv_send_and_recv(dispatcher->device, msg, max_resp_size);
|
||||
}
|
||||
|
||||
struct aciodrv_device_ctx *
|
||||
aciomgr_port_checkout(struct aciomgr_port_dispatcher *dispatcher)
|
||||
bt_acio_drv_device_ctx_t *
|
||||
bt_acio_mgr_port_checkout(bt_acio_mgr_port_dispatcher_t *dispatcher)
|
||||
{
|
||||
if (dispatcher->references > 1) {
|
||||
EnterCriticalSection(&dispatcher->cs);
|
||||
@@ -202,9 +198,27 @@ aciomgr_port_checkout(struct aciomgr_port_dispatcher *dispatcher)
|
||||
return dispatcher->device;
|
||||
}
|
||||
|
||||
void aciomgr_port_checkin(struct aciomgr_port_dispatcher *dispatcher)
|
||||
void bt_acio_mgr_port_checkin(bt_acio_mgr_port_dispatcher_t *dispatcher)
|
||||
{
|
||||
if (dispatcher->references > 1) {
|
||||
LeaveCriticalSection(&dispatcher->cs);
|
||||
}
|
||||
}
|
||||
|
||||
void bt_module_core_log_api_set(const bt_core_log_api_t *api)
|
||||
{
|
||||
bt_core_log_api_set(api);
|
||||
}
|
||||
|
||||
void bt_module_acio_mgr_api_get(bt_acio_mgr_api_t *api)
|
||||
{
|
||||
api->version = 1;
|
||||
|
||||
api->v1.port_init = bt_acio_mgr_port_init;
|
||||
api->v1.port_fini = bt_acio_mgr_port_fini;
|
||||
api->v1.node_count_get = bt_acio_mgr_node_count_get;
|
||||
api->v1.node_product_ident_get = bt_acio_mgr_node_product_ident_get;
|
||||
api->v1.port_packet_submit = bt_acio_mgr_port_packet_submit;
|
||||
api->v1.port_checkout = bt_acio_mgr_port_checkout;
|
||||
api->v1.port_checkin = bt_acio_mgr_port_checkin;
|
||||
}
|
||||
@@ -5,9 +5,8 @@
|
||||
#include "aciodrv/device.h"
|
||||
#include "aciodrv/panb.h"
|
||||
|
||||
#include "core/thread.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
#include "iface-core/thread.h"
|
||||
|
||||
static int auto_poll_proc(void *auto_poll_param);
|
||||
static int auto_poll_threadid;
|
||||
@@ -41,6 +40,8 @@ static int auto_poll_proc(void *param)
|
||||
|
||||
bool aciodrv_proc_panb_init(struct aciodrv_device_ctx *device)
|
||||
{
|
||||
bt_core_thread_result_t result;
|
||||
|
||||
log_assert(device);
|
||||
|
||||
if (!aciodrv_panb_start_auto_input(device, 0, AC_IO_PANB_NUM_NODES)) {
|
||||
@@ -50,8 +51,10 @@ bool aciodrv_proc_panb_init(struct aciodrv_device_ctx *device)
|
||||
auto_poll_stop = false;
|
||||
InitializeCriticalSection(&keypair_lock);
|
||||
InitializeCriticalSection(&auto_poll_stop_lock);
|
||||
auto_poll_threadid =
|
||||
core_thread_create(auto_poll_proc, (void *) device, 0x4000, 0);
|
||||
|
||||
result = bt_core_thread_create(
|
||||
auto_poll_proc, (void *) device, 0x4000, 0, &auto_poll_threadid);
|
||||
bt_core_thread_fatal_on_error(result);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -77,12 +80,17 @@ bool aciodrv_proc_panb_get_state(uint8_t *button_state)
|
||||
|
||||
void aciodrv_proc_panb_fini(struct aciodrv_device_ctx *device)
|
||||
{
|
||||
bt_core_thread_result_t result;
|
||||
|
||||
EnterCriticalSection(&auto_poll_stop_lock);
|
||||
auto_poll_stop = true;
|
||||
LeaveCriticalSection(&auto_poll_stop_lock);
|
||||
|
||||
core_thread_join(auto_poll_threadid, NULL);
|
||||
core_thread_destroy(auto_poll_threadid);
|
||||
result = bt_core_thread_join(auto_poll_threadid, NULL);
|
||||
bt_core_thread_fatal_on_error(result);
|
||||
|
||||
result = bt_core_thread_destroy(auto_poll_threadid);
|
||||
bt_core_thread_fatal_on_error(result);
|
||||
|
||||
DeleteCriticalSection(&keypair_lock);
|
||||
DeleteCriticalSection(&auto_poll_stop_lock);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "aciodrv/port.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
|
||||
#include "util/hex.h"
|
||||
#include "util/mem.h"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "aciodrv/device.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
|
||||
bool aciodrv_h44b_init(struct aciodrv_device_ctx *device, uint8_t node_id)
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "aciodrv/device.h"
|
||||
#include "aciodrv/icca.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
|
||||
static bool aciodrv_icca_queue_loop_start(
|
||||
struct aciodrv_device_ctx *device, uint8_t node_id)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "aciodrv/device.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
|
||||
static bool
|
||||
aciodrv_kfca_watchdog_start(struct aciodrv_device_ctx *device, uint8_t node_id)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "aciodrv/device.h"
|
||||
#include "aciodrv/panb.h"
|
||||
|
||||
#include "core/log.h"
|
||||
#include "iface-core/log.h"
|
||||
|
||||
bool aciodrv_panb_start_auto_input(
|
||||
struct aciodrv_device_ctx *device, uint8_t node_id, uint8_t node_count)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user