Commit Graph

108 Commits

Author SHA1 Message Date
icex2
7840864998 chore: Remove cconfig
Finish deprecation. Everything uses the new config
abstraction layer of the bt(6) core.
2024-08-17 12:51:00 +02:00
icex2
04603a9591 feat(vigem-sdvxio): Use new config api
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
d98311762b feat(sdvxio-kfca): Use new config api
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
8a68e563e0 feat(popnhook1): Use sdk-hook and new config api
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
3008a1410d feat(jbio-h44b): Use new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
f9f930112d feat(jbhook1): Use sdk-hook and new config api
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
c03f5d3909 refact(vigem-iidxio): Use new config api
Summary:

Test Plan:
2024-08-17 12:51:00 +02:00
icex2
d14f7e2d6c refact(sdvxio-bio2): Use new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
ac302b7ddd refact(sdvxhook2-cn): Use new config api
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
ee85ad4447 refact(sdvxhook2) Use new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
d1c346595c refact(iidxio-bio2): Use new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
6c0820ae42 refact(eamio-icca): Use new config api
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
979b6e090c refact(vigem-ddrio): Use new config api
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
8b6cd4a58e refact(iidxhook9): Use sdk-hook and support new config api
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
c5b54d4e24 refact(iidxhook8): Use sdk-hook and support new config api
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
f7d4b036f2 refact(iidxhook7): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
b4bccfbe63 refact(iidxhook6): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
a6202f4701 refact(iidxhook5-cn): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
baf3e5ff81 refact(iidxhook5): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
4f97282d97 React(iidxhook4-cn): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:49:18 +02:00
icex2
617550b6e6 refact(iidxhook4): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-15 13:26:41 +02:00
icex2
f3deaddba1 refact(iidxhook3): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-15 13:26:41 +02:00
icex2
95e167c01c refact(iidxhook2): Use sdk-hook and support new config api
Summary:

Test Plan:
2024-08-15 13:26:20 +02:00
icex2
f5ed7f5231 feat(iidxhook1): Switch iidx versions 10-12 to new xml config
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
5531726fc2 feat(iidxhook1): Use sdk-hook and support config api
Summary:

Test Plan:
Read any configuration values through bemanitools's
configuration API abstraction. This still had to be
hooked up when a hook dll is being loaded. The
current implementation relies on an environment
variable providing the path to the original inject
configuration file, then it extracts the relevant hook
configuration section for the currently loaded hook
library.

This adheres to the limitations of not having any
other entry points than DllMain for a hook library
(as of now).
2024-08-15 13:24:47 +02:00
icex2
57e68f928a 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:
2024-08-15 11:34:31 +02:00
icex2
aaef2d94c5 feat(launcher): Improve error output when missing vcredist deps
Apply a simple heuristic to provide the user with more
specific information regarding which vcredist package
might not have been found on their system.

This is a common problem as different games require
different versions and different versions of windows
and installations might already come with some versions
already pre-installed.

Also improve the readme regarding that and provide links
to all versions that are required by one game or another
today.
2024-08-14 17:53:52 +02:00
icex2
1b8bf7b245 feat(util): Separate debug module with proper stacktrace printing
Because we are using mingw, we can't just use window's
dbghelp library as the symbols created are in dwarf format.

Fortunately, the dwarfstack library already provides all the
facilities to easily print very descriptive stacktraces,
including function names, file names and line numbers,
when dwarf symbols are available.

This moves the incomplete exception handling portion from
signal to a separate module as well to improve scoping.
2024-08-14 17:53:52 +02:00
icex2
8fde17d24a refactor(dist): Config and .bat files
Move everything to new launcher.xml configuration
files. Adjust the bootstrapping of launcher in the
.bat files. Features such as copying the default
props/ files to nvram are now handled by launcher.

Using the PATH variable, bemanitools binaries can
live in their own dedicated bemanitools/ subfolder
next to props/ and modules/ now. All original
binaries are expected to be kept in a modules/
folder like on stock data.
2024-08-14 17:53:51 +02:00
Will Xyen
48668837a8 camhook: fix camhook for new style camera detection 2024-05-21 22:29:11 -07:00
icex2
ce1a004bf6 fix(ddr): Add missing distribution files for 17 and 18
Even they are identical to 16, stick to the current scheme
of copy-pasting them.
2024-02-03 10:29:10 +01:00
Will Toohey
82343d8cf1 Fix missing xml for jb04. Fixes booting Ave. 2023-10-18 23:29:19 +02:00
Will Toohey
c0101cb614 Fix missing xml for jb03. Closes #258. 2023-10-18 23:29:19 +02:00
icex2
e673cf694f feat(iidx): Support iidx 30 2023-10-18 01:09:45 +02:00
Jeffrey Paine
3c185d5fde
fix(iidx): Fix stretched BGAs in 9th and 10th style
This adds edge cases to the existing logic that checks the
vertex UV values to fix stretched BG videos on 11 to 17
already.

However, 9 and 10 also show this issue on modern GPU
hardware though it does not appear on all BG videos but
only on videos from 1st to 3rd style songs.

This commit addresses that issue by adding the missing
checks to the existing logic. Additional refactoring of
configuration naming etc. to match the extended
functionality is included.
2023-06-25 13:02:02 +02:00
Jeffrey Paine
3249e70cc2 iidx25-29 - Fix settings description in config files
Co-authored-by: icex2 <icex2@users.noreply.github.com>
2023-04-10 21:44:52 +02:00
Jeffrey Paine
d54627c3fc iidx25-29 - Fix settings description in config files
Co-authored-by: icex2 <icex2@users.noreply.github.com>
2023-04-10 21:44:52 +02:00
Jeffrey Paine
be4b303ed7 iidx25-29 - Fix settings description in config files
Co-authored-by: icex2 <icex2@users.noreply.github.com>
2023-04-10 21:44:52 +02:00
Jeffrey Paine
d438cd320e iidx25-29 - Fix settings description in config files
Co-authored-by: icex2 <icex2@users.noreply.github.com>
2023-04-10 21:44:52 +02:00
Jeffrey Paine
4b23860f8c iidx28/29 - Add cam.disable_camera options to config files 2023-04-10 21:44:52 +02:00
Jeffrey Paine
3d36da6751 iidx28/29 - Add cam.disable_camera options to config files 2023-04-10 21:44:52 +02:00
Jeffrey Paine
9dd7a81033 iidx26 - Fix cam.disable_camera1 default 2023-04-10 21:44:52 +02:00
Jeffrey Paine
6eb415a9d7 iidx27 - Add cam.disable_cam options and align cam.disable_emu with 28/29 2023-04-10 21:44:52 +02:00
Jeffrey Paine
df9a617062 iidx25/26 - Add cam.disable_camera options to config files 2023-04-10 21:44:52 +02:00
Jeffrey Paine
11f670b5a1 iidx25/26 - Add cam.disable_camera options to config files 2023-04-10 21:44:52 +02:00
Jeffrey Paine
c38ea64ea9 Update iidxhook-26.conf
Add info on new SKIP feature for cameras
2023-04-10 21:44:52 +02:00
Jeffrey Paine
cd7425a3b9 Update iidxhook-25.conf
Added instructions on the new SKIP feature for cameras
2023-04-10 21:44:52 +02:00
icex2
5c4afb8a2a fix(iidx/config): Utilize io board type, fix 10th SQ-INIT error
Using the right combination of "flags", this addresses the
SQ-INIT error on 10th style as well as forces 10 to 13 into
using the D01 operation mode. The latter follows the approach that
14+ is also using the best/latest IO type supported (IO2 in that
case). Expecting that gameplay experience benefits from more
optimized/better maintained code paths.

Make 10 operate in D01 IO mode which forces security to using
the D01 dongle from a D01 dedicab setup. The alternative would
be using a C02 dongle from a C02 upgraded cabinet.

More details to follow in another commit with a dev journal
entry.
2023-04-06 15:39:53 +02:00
icex2
b2e0d9f3d6 feat(iidx19): Add back btools monitor check for iidxhook5
Provide an option for non final lincle revisions and
if the "modern" monitor check is not delivering stable
results on the final lincle revision, e.g. using the
original "pendual lcd" monitor.
2023-04-06 15:39:53 +02:00
icex2
cb884c307c iidx: Update dist default files, add settings_path item 2023-03-19 21:15:28 +01:00