Skip to content

Releases: ToxicFrog/doom-mods

UZArchipelago 0.8.5

Choose a tag to compare

@ToxicFrog ToxicFrog released this 28 Mar 17:43

This is a bugfix release. These are fixes from the unstable branch backported to 0.8.x.

  • Fixed:
    • Locations in Eviternity II MAP32 no longer require a Yellow Skull to reach
      that doesn't actually exist.
    • Logical prerequisites requiring a specific number of items now actually
      work rather than crashing the generator.
    • Locations with identical positions, identical tags, and distinct typenames
      no longer crash the generator when the yaml settings require both locations
      to be randomized.

Individual logic pack downloads

UZArchipelago 0.8.4

Choose a tag to compare

@ToxicFrog ToxicFrog released this 25 Mar 12:45

0.8.4

This is a bugfix release. The most notable changes are that it is now safe to
restart uzdoom and load a different wad and game without restarting the client,
and that different items at the same location are now considered different
checks, a change that has added 10-15 checks to most wads.

Existing logic and tuning data remains compatible; there is no need to re-scan
your wads, and tuning for existing checks will automatically apply to new checks
at the same positions.

  • Fixed:
    • Typenames in GZAPRC are no longer case sensitive.
    • The typename directive in GZAPRC now properly affects category assignment.
    • Items that the apworld treated as keys, but which were not derived from Key
      or PuzzleItem, were not treated as keys by the runtime.
    • Checks that replace floating items no longer fall to the floor.
    • Logic menu now always opens scrolled to the top.
    • Keybinding name for open logic dashboard wasn't properly displayed.
    • If more progression items exist than free locations, it will skip filler
      placement (rather than crashing), since generation may still succeed in
      multiworld where the extra items can be displace filler from other worlds.
    • Restarting uzdoom to load a different game while leaving the client open no
      longer sends out checks from the previous game.
    • When replacing items with checks, AP now tries to replace an actor of the
      expected type, or failing that, the expected logic category, rather than
      just picking anything vaguely plausible at the right coordinates.
    • Multiple items placed at the same coordinates are now considered multiple
      checks, if they are different actor types. (So, e.g., two backpacks are
      one check, but a backpack and a megasphere are two checks.) This adds 10-15
      locations to most wads.
  • For logic developers:
    • destroy-on-spawn directive in GZAPRC.
    • AP can now put multiple copies of a key in the pool and keep track of how
      many the player has collected.
    • key/ prerequisites can now include a count, e.g. key/PowerCore/3.
    • Defining a new subregion inserts a dependency on the subregion that was
      activate when you defined it, rather than copying all of the prereqs from
      that subregion.
    • Subregions are now emitted in the log in the same order they were defined.
    • Subregions are displayed in the menu most-recently-defined-first.
    • You can now output either all regions in the game or just the current map.

Logic pack downloads

UZArchipelago 0.8.3

Choose a tag to compare

@ToxicFrog ToxicFrog released this 21 Mar 13:39

0.8.3

This is a bugfix release. It fixes some client-crash errors that affected 0.8.1
and 0.8.2, so updating is strongly recommended. If you have a game in progress,
you can safely update from 0.8.1 or 0.8.2 to 0.8.3 without interrupting your
game.

  • Changed:
    • tag directives in the GZAPRC lump now override builtin tags.
  • Fixed:
    • Receiving peeks for specific locations could crash the client.
    • Receiving peeks for items owned by other players could crash the client or
      display incorrect peek data.
    • Other classes of mishandled hints and peeks (hopefully none, now) will result
      in warning messages rather than crashes or garbage data.
    • Logic errors in E1M7 and E2M7 of Doom.
    • Logic errors in C1M1 of Time Tripper.

Logic pack downloads

UZArchipelago 0.8.2

Choose a tag to compare

@ToxicFrog ToxicFrog released this 20 Mar 22:47

This is a bugfix release.

  • Fixed:
    • Patch file manifest now contains WAD name again rather than 20MB of debug
      output.
    • Scanner no longer properly handled some WADs with clusters.

UZArchipelago 0.8.1

Choose a tag to compare

@ToxicFrog ToxicFrog released this 20 Mar 18:00

0.8.1

The main focus of this release is fixes and polish, and most of the changes are
either fixes for bugs in 0.8.0 or improvements to the user-facing experience
like option groups and the in-game hint display. However, it does contain a few
new features, of which the most notable are the in-game logic editor and the
ability to return to your previous location when re-entering a level.

It also adds complete support for three new wads -- Time Tripper, Sigil, and
Overboard -- and upgrades the logic from the original Doom with complete
tuning data. Sigil and Time Tripper both make use of the new logic editing
features to give locations more descriptive names, an improvement that is likely
to gradually get applied to other wads over the next several releases.

  • New:
    • shuffle option for included_item_categories. Items set to shuffle will
      be shuffled among themselves locally and not reported to AP (and thus not
      factor into hint cost or generated text client messages).
    • The game will attempt to remember what weapons you have (even when weapon
      replacer mods are involved). It will restore any missing weapons when you
      enter a level or load a saved game. This feature is disabled in pretuning.
    • In persistent mode, exiting a level via the AP menu remembers your position
      and returns you to it when you return to that map. You can clear the saved
      position with shift-C.
    • In-game option (ap_disallowed_weapon_behaviour) to control whether suppressed
      weapons are left on the ground, converted to ammo, or deleted.
    • Complete logic for Time Tripper.
    • Complete logic for Sigil, by Xindage.
    • Complete logic for Overboard, by j-palomo.
    • Complete logic for Doom, by Tarlach.
  • For logic develpers:
    • In-game logic dashboard, accessed with L (by default). Allows defining
      map regions and their logical requirements without leaving the game.
    • You can now manually apply tweaks to the default YAML settings on a per-WAD
      basis. See wads/the_adventures_of_square/custom.py for an example.
    • Locations inside a defined region will use that region's name as part of the
      location name.
    • Pretuning mode now includes locations from all difficulties so that they can
      all be tuned at once.
  • Changed:
    • The YAML now uses option groups.
    • The start_inventory option can now accept any actor name understood by the
      game, even if the randomizer doesn't know about it.
    • Tooltips on the level select screen have been rearranged to be more concise
      and, hopefully, more useful.
    • Hints and peeks now use Archipelago text colours.
    • The inventory screen now displays hints for the current level.
    • Hints for progression items are now sorted before useful, which are before
      filler.
    • The scanner now fully supports spawn filters rather than using skill levels.
      This fixes a number of problems with wads that use custom skill levels. Wads
      need to be rescanned to use this data, but old logic files using skill levels
      are still supported and will still function properly if they did before.
    • The core apworld (uzdoom.apworld) now prints its version on startup.
    • Wad-specific apworlds will report their version as well if it doesn't match
      the core.
  • Fixed:
    • The inventory screen now uses Archipelago names for items rather than the
      tag (which was sometimes ambiguous or outright missing).
    • The link to the BTSX E1 apworld was missing from the documentation.
    • Hinting a level access token from the level select menu now works again.
    • The game now properly recognizes when you have hinted a level access token
      and will move on to the next hint.
    • Duplicate items at the same point in the map no longer produce duplicate
      entries in the logic file.
    • Windows setup instructions for DoomRunner, by ChromaNyan.
    • Some scanner settings were not properly exposed in the menu.
    • Destroying a check is now treated the same as collecting it normally.
    • Improvements to colour matching with AP.
    • Fix crash on game start when some maps were excluded from randomization.
    • Some impossible yaml settings will now error out early in the generation
      process rather than failing at the end with "game appears unbeatable".

UZArchipelago 0.8.0

Choose a tag to compare

@ToxicFrog ToxicFrog released this 01 Mar 19:53

0.8.0

Previously GZArchipelago; the name change reflects the fact that all development and testing has moved to UZDoom, although GZDoom is expected to remain compatible for some time.

This is a feature release. (It was meant to be a bugfix release but it got away
from me.) The focus is primarily on the out-of-the-box experience, with better
default yaml options and better documentation.

⚠️ YAML options have changed. You must regenerate your YAML templates.

🛈 Secret locations are now off by default. If you enjoy secret hunting, remember
to turn them back on in the yaml.

⚠️ The apworld has been renamed from gzdoom.apworld to uzdoom.apworld, to
reflect the fact that all development and testing has moved to UZDoom. Please
delete your old gzdoom.apworld.

🛈 Existing logic and tuning remains compatible, but re-scanning your wads will
add new information to the logic file which is used to produce better item names
in some cases.

  • New:
    • New graphics for checks that still exist in the world but have no items in
      them (e.g. because of quickload or !collect).
    • pink, gold, and silver are now recognized key colours.
    • The GZAPRC lump can now define tags (user-facing names) for actors that
      don't have tags in the WAD. This is used to rename some builtin actors (e.g.
      RedCard -> Red Keycard).
    • Tuning for Freedoom 2, by ZAPaDASH04.
  • Changed:
    • Complete overhaul of the setup documentation, including screenshotted
      instructions for setting up DoomRunner and an updated support table.
    • Level accesses are now named (e.g.) MAP01: Entryway in wads where map names
      are available.
    • New item categories ap_progression, ap_useful, ap_trap.
    • Changes to default yaml settings:
      • included_levels now defaults to all maps in the WAD.
      • starting_levels contains all episode-start maps. Documentation includes
        a wad-specific recommendation for alternate starting maps for solo play.
      • start_with_keys is now off by default if the WAD has tuning data.
      • start_with_keys is now forced off for WADs using hub logic, as turning it
        on will start you with all the keys for the entire episode.
      • level_order_bias is now properly ignored for WADs using hub logic.
      • included_item_categories now excludes secrets and items in secrets by
        default.
      • max_weapon_copies is now automatically set based on how many maps are in
        the wad.
    • win_conditions setting split into win_map_count and win_map_names.
    • excluded_levels setting removed. Delete entries from included_levels instead.
    • levels_per_weapon setting removed. Adjust max_weapon_copies instead.
    • WebWorld removed. If this ever gets merged into mainline AP it can be
      reinstated with the new documentation.
  • Fixed:
    • In-level check count could diverge significantly from the real check count.
    • UT did not work properly with non-default included_item_categories.
    • UT indicators in-game did not work reliably.
    • Signed/unsigned comparison warning at load time.
    • Documentation now correctly tells the player to start the game and connect
      to the client before connecting to the host.
    • WAD-specific apworlds with logic split across multiple files did not load
      correctly.
    • Errors in the logic for Faithless episode 2.
    • Checks with a TID associated with them will now clear the TID on collect,
      allowing scripts that check for the item disappearing (e.g. Adventures of
      Square's fizzopop vendors) to function properly.
    • Some maps in Legacy of Rust and Space Cats Saga were incorrectly marked
      as starting maps.
    • Errors loading the logic cache are now treated as cache misses rather than
      crashing the apworld.
    • MAP14 is excluded from Legacy of Rust due to functionality errors.
    • The scanner is now better at guessing rank information for secret levels.
      Logic for several wads has been updated accordingly.
    • Unreachable checks are now dropped from generation before AP sees them, so
      they don't count towards the world's total check count and thus don't
      affect hint cost calculations.
  • For logic developers:
    • Tuning files support item prerequisites, so you can say "this is not in
      logic until the player has found this specific item". Unlike key this
      works for any item in the game, and you can specify how many are needed.
      Note however that this will only function correctly if at least one of the
      item in question is randomized; if it's not in included_item_categories
      generation will fail.
    • New item categories ap_skip_balancing, ap_deprioritized.

gzArchipelago 0.7.1

Choose a tag to compare

@ToxicFrog ToxicFrog released this 29 Jan 22:28
  • New:
    • key/* supported in tuning files to mean "any key in this level".
    • Logic and tuning for BTSX E1, by Sayeth.
    • Logic and tuning for Faithless episode 2. Chests are not randomized
      (neither the items in the chests themselves, nor items in hidden areas that
      open when the chest is unlocked), but none of these are part of progression
      in any case.
  • Changed:
    • Unchecked locations that you know the contents of (via hints) will now
      appear first in the list of locations in the level select screen.
  • Fixed (some of these were previously included in an 0.7.0 hotfix):
    • apworlds generated by the packager
      were improperly structured.
    • apworlds with no tuning directory would load but were incapable of generating.
    • Selected WAD is now passed to the client from the loaded game, fixing invalid
      game errors when playing multiworld.
    • The maps from Heretic E6, the deathmatch maps from Shadow of the Serpent
      Riders, have been dropped from the logic.
    • Typo in the GZAPRC file for Adventures of Square.
    • apworld packaging page would misbehave when passed multiple tuning files.
    • More readable errors reported when the main apworld is missing.
    • The generated pk3 should have the correct manifest and thus be downloadable
      from the website as a patch file again. (0.7.0 broke this.)

gzArchipelago 0.7.0

Choose a tag to compare

@ToxicFrog ToxicFrog released this 05 Dec 01:24

0.7.0

This is a major release. The focus of this release is on adding features needed for hub-based games like Hexen, Faithless, Abysm, etc. This has required many changes to the logic and tuning format and significant internal adjustments.

As a secondary change, this also splits wad-specific logic/tuning data into separate apworlds. This makes it easier to share logic with game hosts, speeds up load times, and avoids some issues with AP and Universal Tracker that we were starting to run into by having a single huge apworld. See the updated support table for a list and download links.

⚠️ COMPATIBILITY WARNING ⚠️

This update breaks backwards compatibility in a bunch of ways. Rather than try
to enumerate them all I will just give update instructions:

  • Finish any games in progress.
  • Delete your old gzdoom apworld (or apworlds, if you were testing the unstable builds).
  • Install the new gzdoom.apworld.
  • Install the wad-specific apworlds for any wads you want to play.
  • Start up AP and Generate Template Options.
  • You now have a separate YAML for each WAD, and can configure and play normally.

If you are a logic developer, see also the updated new-wads.md.

  • New WAD support:
    • Logic and tuning for Eviternity and Eviternity II, by Akos.
    • Logic and tuning for Legacy of Rust, by RakeVuril.
    • Complete tuning for The Adventures of Square.
    • Basic logic for Arrival, Base Ganymede, Deathless, and Scientist.
    • Logic and tuning for episode 1 of Faithless Trilogy.
    • Compatibility patch for DoomRL Arsenal [by J0osp].
  • New scanner and tuner features:
    • GZAPRC lump can now define default scanner settings for the wad.
    • GZAPRC lump can now define cluster names.
    • Scanner can now find maps to scan via cluster membership as well as (or instead of) following exits.
    • Scanner can add arbitrary tags to the logic header which can then be read by the apworld to adjust logic behaviour.
    • Tuner emits information about which weapons the player has and which maps they have visited.
    • Tuning files can declare regions, with region-wide access rules, and checks can be grouped into regions instead of (or as well as) having their own rules. Regions can be assigned in-game while playing.
    • Region and check access rules can include dependencies on arbitrary weapons, items, or access to other maps or regions.
    • Logic files can now define custom names for locations.
    • Logic and tuning files support multiline entries. If a line ends with } it is considered the end of the entry.
    • Trigger-based secrets are now supported in addition to sector-based secrets.
  • New apworld features:
    • WAD support split into separate apworlds
      • gzdoom.apworld contains common code
      • Each WAD has its own separate apworld
    • Items/locations can now have multiple categories, and existing categories have been decomposed (e.g. big-health items now belong to two categories, big and health).
    • Item/location categories, and combinations thereof, can be used in the YAML in any setting that supports item/location groups; see the faq for more details.
    • included_item_categories can now be used to force entire categories into starting inventory or their vanilla locations.
    • included_item_categories now supports keys, weapons, and AP automaps.
    • included_item_categories now supports specific item names as well as broader item categories.
    • Internal manifest for compatibility with future AP versions.
    • Web-based apworld packager for logic developers.
  • New gameplay features:
    • The inventory screen now lists all keys for the current level. Keys you do not yet have are hintable with shift-H. (This is the same mechanism as hinting them from the level select screen, but unlike the level select it lets you choose which order to hint them in.)
    • Auto-release on exit can be made conditional on having all keys for the level.
    • The inventory menu now lets you queue up multiple items and dispenses them all at once when closed.
    • The opacity of uncollected checks can be configured.
  • Changed:
    • The scanner now reports the display names for keys as well as the typename. This results in better item and location names for keys in WADs that support key names (i.e. not Doom 1/2).
    • Tuning data is now loaded for a wad when generation starts, rather than on apworld initialization. This makes apworld loading noticeably faster.
    • allow_secret_progress yaml option removed. Use exclude_locations: ["secret"] instead.
    • MapRevealers (e.g. Computer Area Map, Map Scroll) are now classified as powerup rather than as map for the purposes of choosing which locations to randomize.
    • The (poorly named) cvar ap_scan_keys_always was removed.
    • start_with_all_maps yaml option removed. Use "ap_map:start" in included_item_categories instead.
    • Items which are both powerups and tools, such as the Tome of Power from Heretic, are now classified as powerup-tool rather than just powerup.
    • Individual ap_bank_ cvars were removed; ap_bank_custom and ap_bank_other now support everything you could do with those.
    • Internal changes to how locations are identified in logic, tuning, and internally which should significantly improve logic stability.
  • Fixed:
    • When running from an unpacked tarball, gzdoom now locates its files with the rest of the tarball contents rather than in ~/.local/share/Archipelago.
    • Removed incorrect tuning data for Doom and Doom 2.
    • Improved and corrected tuning data for Chex Quest 3 [from wobblefowl].
    • Duplicate puzzle items no long appear at the center of the map.
    • Duplicate keys no longer appear in the item pool.
    • Checks associated with event triggers will now respawn if the map is reset, even if collected, to allow the trigger to be repeated.
  • Removed:
    • Tuning data for the following wads was from a much earlier version and could not be upgraded to the new format. They are still playable, but AP will be more conservative about what counts as "in logic" than it needs to be.
      • Doom
      • Heretic
      • FreeDoom 2
      • 1000 Lines and 1000 Lines II
      • Demonfear
      • MAYhem 2048
      • Scythe

gzArchipelago 0.6.6

Choose a tag to compare

@ToxicFrog ToxicFrog released this 24 Oct 20:44

0.6.6

This is a bugfix release. It backports fixes for bugs discovered while working
on 0.7.x to the 0.6 release series.

  • New:
    • If you download the pk3 for your game from the web host, the client will
      read the connection address from it and connect to AP automatically.
    • Spoiler log now includes information about which WAD was actually selected,
      not just which WADs you listed as selectable in the yaml.
  • Changed:
    • Adjustments to icon guessing rules.
    • Reachable but out-of-logic locations reported by UT will now show up as
      orange in-game rather than dark grey.
    • In-game performance should now be modestly increased, especially for games
      with huge numbers of locations.
  • Fix:
    • Add map07special flag to Master Levels for Doom II MAP20, since it was
      originally designed to go in the MAP07 slot and relies on that behaviour.
    • Fix for older python versions that don't support PEP 701 f-strings.
    • Two unreachable locations in Going Down Turbo are now properly marked as such.
    • AP client now stores found locations and re-sends them later if the connection
      to the host is interrupted.
    • Client initialization no longer fails if UT is installed and you are playing
      a wad that doesn't have any overlap with the default set of starting levels.
    • UT integration was not properly displaying tracker information in-game.

gzArchipelago 0.6.5

Choose a tag to compare

@ToxicFrog ToxicFrog released this 27 Sep 14:14

0.6.5

This is a bugfix release. I am hoping that this will be the last one before 0.7.0, but we'll see.

The Archipelago×FinalDoomer.pk3 file should only be used if you are playing with Final Doomer loaded.

  • New:
    • Generated pk3s now have a proper archipelago.json so that they can be
      downloaded from the web host.
    • Logic and tuning for Amalgoom, contributed by zapadash04.
    • Logic for Zone 300.
  • Fix:
    • MAPINFO lump was not properly emitted when persistent mode was off.
    • Implement get_filler_item_name() to hopefully avoid generation failures
      when paired with apworlds that produce item pool underruns.
    • Icon inference and check location data were not always properly escaped in
      the generated zscript, leading to runtime failures when paired with some
      apworlds.
    • There is now a compatibility patch
      for Final Doomer support, contributed by snackerfork.
    • Improvements to debug mode, including a crash fix for ap-debug.
    • Going Down Turbo logic updated for the final release version.
    • Support table entry for Plutonia corrected.