Skip to content

GZAP: WadFusion logic#38

Open
sflavelle wants to merge 40 commits intoToxicFrog:mainfrom
sflavelle:gzap-wadfusion
Open

GZAP: WadFusion logic#38
sflavelle wants to merge 40 commits intoToxicFrog:mainfrom
sflavelle:gzap-wadfusion

Conversation

@sflavelle
Copy link
Copy Markdown

@sflavelle sflavelle commented Feb 27, 2025

Draft for supporting a fully loaded WadFusion.

Status:

  • Levels scanned
  • Initial tuning (in progress)
  • Tuning passes:
    • Doom 1993
    • SIGIL
    • SIGIL II
    • Hell on Earth
    • Master Levels + Rejects
    • No Rest for the Living
    • Legacy of Rust
    • TNT: Evilution
    • The Plutonia Experiment

Note that while in the version I have generated I have the iddm1 maps included, I haven't included them in the logic.
I am in the early stages of a first playthrough with this set, so the tuning will be updated as I go.

WadFusion v1.5.0
----------------

A new IPK3 will be generated with the following episodes:
- Knee Deep in the Dead
- The Shores of Hell
- Inferno
- Thy Flesh Consumed
- SIGIL
- SIGIL II
- Hell on Earth
- Tim Willits
- Christen Klie
- Tom Mustaine
- Jim Flynn's Titan
- John Anderson's INFERNO
- Sverre Kvernmo's CABAL
- No Rest for the Living
- The Vulcan Abyss
- Counterfeit Eden
- id Deathmatch Pack #1
- TNT: Evilution
- The Plutonia Experiment

Press Y and then Enter to proceed, anything else to cancel: y

Processing WADs...
Compressing doom_fusion.ipk3...
Generated doom_fusion.ipk3 (792.97 MiB) with 247 maps in 18 episodes in 66.50 seconds.
Done!
Press Enter to exit.

sflavelle and others added 30 commits February 28, 2025 09:07
WadFusion v1.4.0-dev
--------------------

Found in source_wads/:
  doom, sigil, sigil_shreds, sigil2, sigil2_mp3, doom2, masterlevels, device_1, nerve, id1, id1-res, id24res, iddm1, tnt, plutonia, sewers, betray, extras, doomkex, doom2kex, tntkex, plutoniakex

A new IPK3 will be generated with the following episodes:
- Knee Deep in the Dead
- The Shores of Hell
- Inferno
- Thy Flesh Consumed
- SIGIL
- SIGIL II
- Hell on Earth
- Tim Willits (Master Levels)
- Christen Klie (Master Levels)
- Tom Mustaine (Master Levels)
- Jim Flynn's Titan (Master Levels)
- John Anderson's INFERNO (Master Levels)
- Sverre André Kvernmo's CABAL (Master Levels)
- No Rest for the Living
- The Vulcan Abyss
- Counterfeit Eden
- id Deathmatch Pack ToxicFrog#1
- TNT: Evilution
- The Plutonia Experiment
There were two issues here:
- early_exit wasn't getting cleared in OnLoadGame(), so if you loaded a game
where it was set -- e.g. by playing in persistent mode and revisiting an earlier
level -- it stayed set
- ap_scan_unreachable was skipped if early_exit was set
This meant that you couldn't complete a level at all if you didn't do it on the
first try (unless you reset all maps), and you couldn't use ap_scan_unreachable
unless you finished the level.
…ocess them

This is done by looking for an AP-XOFF marker at the end of the log and ignoring
the log if it exists.
This checks the level checksums and spawnfilter against the ones in the
generated pk3, and if they don't match, displays a warning the first time the
level select is opened -- which should be as soon as the player loads in.
In some circumstances the checked_items could be updated while the location_loop
was running, resulting in locations being recorded in last_locations that were
never actually sent to the game.
WeaponGivers are now properly handled by checking the specs on the weapon they
turn into rather than the Giver itself, and drop suppression temporary
disablement when Replicating items now works...less unreliably.
Turns out at 1, a lot of Metadoom drops don't work right.
This is experimental, we'll see if it helps with exiting the same level multiple
times.
This also regenerates the existing logic files to use them, but this is mostly a
fix for Wadfusion, which isn't built in yet.
Why did they do it this way? Each firemace has a 75% random chance to spawn!
Copy link
Copy Markdown
Author

@sflavelle sflavelle left a comment

Choose a reason for hiding this comment

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

Async is finished up! I didn't get to play all of the levels before I decided to release, but this accounts for 202 of 220 maps finished.

I'm now working on updating the logic file to be up-to-date with the latest version, then I'll be starting on pre-tuning passes.

@sflavelle sflavelle changed the title GZAP: WadFusion logic and tuning GZAP: WadFusion logic May 13, 2025
@sflavelle
Copy link
Copy Markdown
Author

After a brief discussion with ToxicFrog on the AP Discord, I'm updating this PR to be just the logic. This is a lot to tune all at once (And I don't think I can just copy Doom 1/2's tunings over into this), so that'll be its own thing. The sooner this easily gets into people's hands, the better!

@sflavelle sflavelle marked this pull request as ready for review May 13, 2025 15:36
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