WIP: feat: bemanitools 6, wip (TBD needs splitting and reviewing) #305
Draft
icex2 wants to merge 90 commits from
bemanitools-6-alpha into master
pull from: bemanitools-6-alpha
merge into: :master
:master
:example_libaio_io
:sapling-pr-archive-icex2
:pr322
:pr320
:pr316
:frame-pacing-wip
:bemanitools-6-alpha
:wip-new-btapi
:pr290
:pr291
:pr292
:pr293
:pr294
:pr295
:pr296
:pr297
:pr298
:pr288
:pr287
:pr286
:pr285
:development
:core-feat
:ci-github
No Reviewers
Labels
Clear labels
acio
bio2
bst
bug
ddr
documentation
duplicate
enhancement
ezusb
feature
gitlab merge request
good first issue
has attachment
help wanted
high priority
iidx
invalid
jb
low priority
museca
popn
question
sdvx
tech debt
wontfix
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
This will not be worked on
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Max/djhackersdev_bemanitools#305
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.
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
providing a new/different version when necessary
features like configurable keyboard implementations for IO or hooks for different games and
versions
executed, i.e. pre AVS, before main game, iat hooking instead of relying purely on DllMain
(which is still a compatible option though)
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
a more seamless bootstrapping process for games that keeps pre-eapki data as vanilla as possible
Unsorted thoughts, mostly based around "hey this is a new major version, so maybe we should do some other big semver things"
aciomgr.dll,geninput.dllandeamio.dllare when placed next to the other game DLLs. My opinionated suggestion here is to prefix all shipped bemanitools DLLs and files withbt-so it's both blindingly obvious and lexicographically grouped separately.Other extremely early thoughts on the changes made so far:
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.