Commit Graph

680 Commits

Author SHA1 Message Date
icex2
541683d9ca >>> wip todo list, wip, Wip todo list, Wip, Temporary Commit at 15/08/2024, 15:58:27, Wip, Temporary Commit at 15/08/2024, 21:47:12, TODO
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:51:03 +02:00
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
4c9175c697 chore: Remove now obselete tests for cconfig
Due to the deprecation of cconfig, these are no
longer needed.
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
507f161c13 chore: Cleanup cconfig remains from iidxhooks
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
51582f2ca1 refact(ddrio-p3io): Support new config api
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
d237b42525 feat(bt-module): Add optional “configurable” interface to bt io modules
This solves the problem have requiring nested configuration for
several IO modules in bemanitools, e.g. com port configuration
for p3io.

Don’t make this a part of the specific IO API, e.g. iidxio, to keep the
IO interface clean and independent of bemanitools. Any bemanitools
functionality is composed as separate interfaces into a final module.

This concept was already applied to all modules with providing the
API vtables for threads, log and config.
2024-08-17 12:50:15 +02:00
icex2
620ca84c5f fix(iface-iidxio): Add missing implementation checks for init and fine
Summary:

Test Plan:
2024-08-17 12:50:15 +02:00
icex2
d4ad25f110 feat(ddrhook1): Use sdk-hook and support new config api
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
4a751a13aa feat(core/config-ext): Support reading of security id and mcode
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-17 12:50:14 +02:00
icex2
a1d103f661 feat(config-ext): Methods for handling optionals
There are several cases across configuration files where
optional values are reflected as values such as 0, -1 or empty
strings. Provide explicit means to handle optional configuration
values which can be easily reflected in the xml style configuraion
as empty nodes.
2024-08-17 12:50:14 +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
d578feb4f9 chore: Remove broken test
Trouble building it because of some linking issues.
Since cconfig is going to be deprecated anyway, don’t
bother fixing this anymore.
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
4e6385ea27 feat(iidxhook1): Implement hook cleanup
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
206e92a7d4 chore(iidxhook1): Cleanup unused headers, fix naming
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
51f3b07acf feat: Add missing cleanup functions various iidx hook modules
Summary:

Test Plan:
2024-08-15 13:24:47 +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
0be5f8def2 chore: Bump version to alpha 4
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
fa1d3583d5 doc: Update changelog, alpha 3
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
20e7cdaa31 fix: Setup config API on minimial boot env
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
b031d40d2d feat: Add helper to setup logger with null sink
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
9c538cccac fix: Add property node printing for float and double types
Summary:

Test Plan:
2024-08-15 13:24:47 +02:00
icex2
c3835118b1 chore: Improve log output, include config path
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
833fa2f99c feat: Add sdk-hook
Module to handle environment setup for hooks that use DllMain and
calls the bemanitools 6 API for hooks. This way, all hooks that use inject
(no AVS available) can be refactored and use the same API as any hooks that use launcher (with AVS available).

Remark: Module namespacing is not proper. This should move to a separate
part of the project that’s purely holding SDK related code that can be used
by other developers on other projects without requiring the whole
bemanitools project checkout. This problem is considered out of scope for now.
2024-08-15 11:34:34 +02:00
icex2
73da986d0b refactor: Inject
- Split into modules similar to launcher to improve overall structure
- Use property (node) API for configuration

Remark: "MVP" without IAT hooking working, command line arguments and overriding. Will be added (again) later
2024-08-15 11:34:33 +02:00
icex2
c965011788 feat: Add config-ext
Add wrapper functions that fatal on any error.
Saves a lot of error checking code on occasions
where we want to fail anyway because some
configuration value could not be retrieved
successfully.
2024-08-15 11:34:33 +02:00
icex2
e3c97801ed feat: Property (node) API impl with mxml
To provide a unified backend for all games, no
matter if they have AVS 2 available or now, use the
property (node) abstraction for any means of
configuration. This is somewhat annoying and a pain
because the property API isn't amazing. However,
the past has shown that having different means of
providing and handling (structured) configuration
data isn't great either.

Thus, have a non AVS implementation that allows
AVS independent applications/old games to use
the same core bemanitools API.
Summary:

Test Plan:
Summary:

Test Plan:
2024-08-15 11:34:33 +02:00
icex2
7a6c3af9c8 feat: Add log-ext, handle win last errors
Helper to easily deal with GetLastError, log it and
make the application fail
2024-08-15 11:34:33 +02:00
icex2
d73ded1895 chore: Add more debug logging
Good to know if the API actually got initialized
when tracing issues with these.
2024-08-15 11:34:33 +02:00