Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate: Add --skip_output flag to bypass assertion and output stages. #2416

Merged
merged 1 commit into from
Nov 23, 2023

Conversation

ThePhar
Copy link
Member

@ThePhar ThePhar commented Nov 2, 2023

What is this fixing or adding?

Adds a flag, --skip_output, intended for testing/debugging multiworld generation without running output stages. Also skips assert_generate stages as ROM output is not required.

Generate.py --help output:

> python .\Generate.py --help             
[...]

options:
  [...]
  --skip_output         Skips generation assertion and output stages and skips multidata and spoiler output. Intended for debugging and testing purposes.

How was this tested?

Ran test generation with default templates of all games currently in main, excluding Archipelago and Sudoku.

> python .\Generate.py --skip_output

Archipelago (0.4.3) logging initialized on Windows-10-10.0.22621-SP0 running Python 3.11.4
[...]
Generating for 47 players, 97632999143129170817 Seed 16052371818855632864 with plando: items, connections, texts, bosses
Archipelago Version 0.4.3  -  Seed: 16052371818855632864

Found 50 World Types:
[...]

Creating World.
Creating Items.
Calculating Access Rules.
Running Item Plando
Running Pre Main Fill.
Took 1.7550411999982316 seconds in LinksAwakeningWorld.pre_fill for player 16, named Player16.
Took 4.4173094000143465 seconds in OOTWorld.pre_fill for player 23, named Player23.
Took 1.0802717999904417 seconds in SMZ3World.pre_fill for player 29, named Player29.
Took 1.0498637999990024 seconds in ALTTPWorld.stage_pre_fill.
Filling the world with 6730 items.
Current fill step (Progression) at 1000/2343 items placed.
Current fill step (Progression) at 2000/2343 items placed.
Current fill step (Progression) at 2343/2343 items placed.
Current fill step (Remaining) at 1000/4089 items placed.
Current fill step (Remaining) at 2000/4089 items placed.
Current fill step (Remaining) at 3000/4089 items placed.
Current fill step (Remaining) at 4000/4089 items placed.
Current fill step (Remaining) at 4089/4089 items placed.
Balancing multiworld progression for 47 Players.
Done. Skipped output/spoiler generation. Total Time: 153.442778800003

If this makes graphical changes, please attach screenshots.

N/A

…ges.

Intended for quick debugging and testing purposes.
@ThePhar ThePhar added is: enhancement Issues requesting new features or pull requests implementing new features. affects: core Issues/PRs that touch core and may need additional validation. labels Nov 2, 2023
@el-u
Copy link
Collaborator

el-u commented Nov 3, 2023

Going forward, will it be expected of all worlds not named Final Fantasy that they can generate successfully with this arg? If yes, you should add a test for it.

@alwaysintreble
Copy link
Collaborator

Going forward, will it be expected of all worlds not named Final Fantasy that they can generate successfully with this arg? If yes, you should add a test for it.

isn't this what test_slot_data already does?

@ThePhar ThePhar merged commit 5d98967 into main Nov 23, 2023
21 checks passed
@ThePhar ThePhar deleted the dry_run branch November 23, 2023 22:03
Jouramie pushed a commit to Jouramie/Archipelago that referenced this pull request Feb 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects: core Issues/PRs that touch core and may need additional validation. is: enhancement Issues requesting new features or pull requests implementing new features.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants