Releases: ToxicFrog/doom-mods
Release list
UZArchipelago 0.8.5
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.
- Locations in Eviternity II MAP32 no longer require a Yellow Skull to reach
UZArchipelago 0.8.4
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
GZAPRCare no longer case sensitive. - The
typenamedirective inGZAPRCnow properly affects category assignment. - Items that the apworld treated as keys, but which were not derived from
Key
orPuzzleItem, 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 dashboardwasn'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.
- Typenames in
- For logic developers:
destroy-on-spawndirective inGZAPRC.- AP can now put multiple copies of a
keyin 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.
UZArchipelago 0.8.3
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:
tagdirectives in theGZAPRClump 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.
UZArchipelago 0.8.2
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.
- Patch file manifest now contains WAD name again rather than 20MB of debug
UZArchipelago 0.8.1
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:
shuffleoption forincluded_item_categories. Items set toshufflewill
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 withshift-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. Seewads/the_adventures_of_square/custom.pyfor 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.
- In-game logic dashboard, accessed with
- Changed:
- The YAML now uses option groups.
- The
start_inventoryoption 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 E1apworld 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".
- The inventory screen now uses Archipelago names for items rather than the
UZArchipelago 0.8.0
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.
🛈 Secret locations are now off by default. If you enjoy secret hunting, remember
to turn them back on in the yaml.
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, andsilverare now recognized key colours.- The
GZAPRClump 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.
- New graphics for checks that still exist in the world but have no items in
- 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: Entrywayin wads where map names
are available. - New item categories
ap_progression,ap_useful,ap_trap. - Changes to default yaml settings:
included_levelsnow defaults to all maps in the WAD.starting_levelscontains all episode-start maps. Documentation includes
a wad-specific recommendation for alternate starting maps for solo play.start_with_keysis now off by default if the WAD has tuning data.start_with_keysis 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_biasis now properly ignored for WADs using hub logic.included_item_categoriesnow excludes secrets and items in secrets by
default.max_weapon_copiesis now automatically set based on how many maps are in
the wad.
win_conditionssetting split intowin_map_countandwin_map_names.excluded_levelssetting removed. Delete entries fromincluded_levelsinstead.levels_per_weaponsetting removed. Adjustmax_weapon_copiesinstead.- WebWorld removed. If this ever gets merged into mainline AP it can be
reinstated with the new documentation.
- Complete overhaul of the setup documentation, including screenshotted
- 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 RustandSpace Cats Sagawere 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 Rustdue 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
itemprerequisites, so you can say "this is not in
logic until the player has found this specific item". Unlikekeythis
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 inincluded_item_categories
generation will fail. - New item categories
ap_skip_balancing,ap_deprioritized.
- Tuning files support
gzArchipelago 0.7.1
- 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
Faithlessepisode 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.
- Unchecked locations that you know the contents of (via hints) will now
- Fixed (some of these were previously included in an 0.7.0 hotfix):
- apworlds generated by the packager
were improperly structured. - apworlds with no
tuningdirectory 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.)
- apworlds generated by the packager
gzArchipelago 0.7.0
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.
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
EviternityandEviternity 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, andScientist. - Logic and tuning for episode 1 of
Faithless Trilogy. - Compatibility patch for DoomRL Arsenal [by J0osp].
- Logic and tuning for
- New scanner and tuner features:
GZAPRClump can now define default scanner settings for the wad.GZAPRClump 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.apworldcontains 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-healthitems now belong to two categories,bigandhealth). - 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_categoriescan now be used to force entire categories into starting inventory or their vanilla locations.included_item_categoriesnow supports keys, weapons, and AP automaps.included_item_categoriesnow 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.
- WAD support split into separate apworlds
- 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.
- The inventory screen now lists all keys for the current level. Keys you do not yet have are hintable with
- 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_progressyaml option removed. Useexclude_locations: ["secret"]instead.MapRevealers(e.g. Computer Area Map, Map Scroll) are now classified aspoweruprather than asmapfor the purposes of choosing which locations to randomize.- The (poorly named) cvar
ap_scan_keys_alwayswas removed. start_with_all_mapsyaml option removed. Use"ap_map:start"inincluded_item_categoriesinstead.- Items which are both powerups and tools, such as the Tome of Power from Heretic, are now classified as
powerup-toolrather than justpowerup. - Individual
ap_bank_cvars were removed;ap_bank_customandap_bank_othernow 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
DoomandDoom 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.
- When running from an unpacked tarball, gzdoom now locates its files with the rest of the tarball contents rather than in
- 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.
DoomHereticFreeDoom 21000 Linesand1000 Lines IIDemonfearMAYhem 2048Scythe
- 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.
gzArchipelago 0.6.6
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.
- If you download the pk3 for your game from the web host, the client will
- 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
map07specialflag 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.
- Add
gzArchipelago 0.6.5
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.jsonso that they can be
downloaded from the web host. - Logic and tuning for Amalgoom, contributed by zapadash04.
- Logic for Zone 300.
- Generated pk3s now have a proper
- Fix:
MAPINFOlump 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.