Skip to content

Conversation

@shizmob
Copy link
Contributor

@shizmob shizmob commented May 1, 2023

This patchset adds full support for parsing and handling of prop/bootstrap.xml as alternative to the command-line parameter configuration of launcher itself.

It adds the following command line options:

  • -C: path to bootstrap.xml (default: prop/bootstrap.xml)
  • -Z: selector in bootstrap.xml to use. Required for bootstrap.xml parsing to take place.

If given a valid bootstrap.xml and selector, launcher will:

  • Use avs-config.xml path from it by default
  • Use ea3-config.xml path from it by default
  • Use AVS and std heap size from it by default
  • Use module path from it by default
  • Use module parameters from it it in lieu of app-config.xml
  • Setup initialising default files specified in it
  • Update parsed AVS config with log node and some default parameters, like bootstrap

As indicated by the @573 ordinal number, all avs_fs_* imports need to be checked, except for AVS 2.15.8.

This MR depends on #253 for its added property definitions.

/* Read command line */

options_init(&options);
options_read_early_cmdline(&options, argc, argv);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be good to have reasoning in the commit why this is required.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.


#include "imports/avs.h"

struct bootstrap_startup_config {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this unified across all different games? Anything that only came with specific (newer/older) versions of bootstrap?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bunch of things came only with newer versions, that's why almost all psmap properties are _OPTIONAL with a sensible default.

Copy link
Contributor

@icex2 icex2 May 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Defaults match with official bootstrap? If yes, that might be worth a comment in the code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They do, will do.

@icex2
Copy link
Contributor

icex2 commented Nov 19, 2023

Closing as I picked up the work and continue driving it from a new PR: #272

@icex2 icex2 closed this Nov 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants