"New" launcher, bootstrap.xml compatible #277
Open
icex2 wants to merge 19 commits from
icex2/launcher-refactoring into development
pull from: icex2/launcher-refactoring
merge into: :development
: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
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#277
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.
Fundamentally re-think how launcher operates and
bootstrapping the games is managed and configured.
This brings it significantly closer to how the original
bootstrap is doing the job: launcher now utilizes the
data (structures) provided by the bootstrap.xml configuration
file. This creates compatibility with vanilla data dumps
and original stock images. Note that bemanitools does not
include any code or means to run DRM'd data, only decrypted.
But, this allows users to keep decrypted dumps as stock as
possible which means:
A list of key features of the "new" launcher:
stock game's bootstrap.xml files
launcher configurable features, composability of
bootstrap.xml configuration(s) as well as configuration
overriding/stacking of selected types of configurations,
e.g. eamuse config, avs-config. The latter eliminates
the need for modifying stock config files in the prop/
folder
the same logger, all output can now be in a single file
available
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.
Due to the significant architectural changes, this also
breaks with any backwards compatibility to existing
launcher setups. Thus, users need to migrate by re-applying
the new configuration format and migrating their config
parameters accordingly.
Further migration instructions and updated documentation
will be provided upon release.
Remark: This is currently not rebased to https://github.com/djhackersdev/bemanitools/pull/278 which is pre-work required for the major refactoring. Just the last two commits account for the actual refactoring work relevant in this PR. I will rebase accordingly to clean-up the history once https://github.com/djhackersdev/bemanitools/pull/278 is merged.
These are still open TODOs and feedback that are not addressed by this PR but will be followed-up to once this is merged.
implement features such as log ration etc. as outlined by the bootstrap logging config
documentation about how to use the launcher the configuration xml file and what you can do
with it with various use-case examples
vfs nodes are being replaced as they are not unique by node name -> add tag __replace="true" or something similar to
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.