Releases: ToxicFrog/doom-mods
gzArchipelago 0.6.1
0.6.1
This is a feature release.
- New:
- Artwork for checks that distinguishes between progression, useful, useful
progression, and trap, in a way that's more consistent with other apworlds,
contributed by Vibri. - Traps can be disguised as filler (the default) or progression items, or
displayed as traps. - Logic and tuning for No Rest for the Living [from RakeVuril].
- Additional logic for Doom 2 [from j-palomo].
- Logic fixes for FreeDoom E2 [from Vibri].
- Showing check contents is now on by default.
- When playing a Doom or Doom 2 wad, items from
apdoom
will be shown using
their local Doom sprites. Likewise if you are playing a Heretic wad and
someone else is playingapheretic
.
- Artwork for checks that distinguishes between progression, useful, useful
- Change:
GZAPRC
config files can now be made conditional withrequire
, so that
they are only loaded when the specific megawad they apply to is present.- Builtin
GZAPRC
files are now split up by game.
- Fix:
- Disabled some debug logging that was accidentally left in 0.6.0.
gzArchipelago 0.6.0
0.6.0
This is a bugfix release. (It also has some cool new features, but the main
reason for this release -- and the reason it's 0.6.0 and not 0.5.1 -- is the
fixes to tuning generation related to keys.)
from earlier versions remain compatible.
- New:
- AP keybindings are now available under
Customize Controls
as well as in
the AP mod settings. - Full tuning for Doom 1 and 2 [from RakeVuril].
- Full tuning for Scythe 2 [from wrsw].
- Deathlink support. This is an in-game setting accessible from the
gzArchipelago options menu, and defaults to off. - Secret-sector checks now display an AP icon on the automap (if you have
checks on automap enabled), same as item-based checks. - GZAP now has a small library of builtin icons, and when generating, will try
to guess an appropriate icon to use for items from other games, for use in-
game whenap_show_check_contents
is on. This library is still very sparse
and I hope to add more icons and icon mappings in the future.
The current icons are all from Aleksandr Makarov's Heroic Asset Series.
- AP keybindings are now available under
- Change:
- Weapon suppression settings are now applied when the weapon is picked up,
rather than when it is dropped.
- Weapon suppression settings are now applied when the weapon is picked up,
- Fix:
- Keys spawned during play (e.g. with scripts or via enemy drops) are now
properly supported by the tuning engine and will be taken into account on
future generations if the resulting tuning engine is loaded. - Keys spawned during play are detected instantly rather than next time you
receive an AP item. - Adventures of Square E1A9 dynkeys are now properly accounted for in logic.
- 8bpp colour is now supported when converting AP messages to display in
gzDoom. Since, apparently, AP sometimes uses that! - The AP client program is now better about reporting errors.
- Keys spawned during play (e.g. with scripts or via enemy drops) are now
gzArchipelago 0.5.0
0.5.0
This is a feature release.
types and/or meanings changed. You must regenerate your template YAML.
specialaction_lowerfloortohighest
level special need to be rescanned. (It also
affects wads that use hubclusters, but those are not yet supported in general.)
This is the biggest release so far, and kind of got away from me. It's mostly
bugfixes, and of the new features, most of them are small things laying the
groundwork for later improvements rather than major stuff that players will
notice. The most interesting additions, I think, are beat specific levels as a
win condition and Universal Tracker glitch logic support.
There are also many bugfixes which should improve compatibility with AutoAutoSave,
Intelligent Supplies, Adventures of Square, anything that uses a TITLEMAP
, and
anything that uses death exits.
- New:
- Tuning data for Plutonia [from @gwen].
- Partial tuning (22 maps, major items only) for Going Down Turbo.
ap-debug
netevent to dump the AP state to the console.- In pretuning mode, keys are now displayed in the inventory menu and can be
toggled on and off, once you have them; they default off. Note that turning
a key off after using it to reach checks can generate impossible logic, so
please be careful. AP-KEY
messages are now emitted as part of the tuning file for keys that
exist across multiple maps. (This does not mean that hubmap-based megawads
are now playable, but it's a step in the right direction.)- The client now has an icon in the AP launcher! Contributed by @DwarfWoot.
- Universal Tracker integration now supports "glitch logic"; in UT versions
that support this (v0.2.8 or later), locations that are out of logic due to
weapon or difficulty settings, but which are still believed to be reachable
otherwise, will show up with a different colour in the in-game tracker. ap_scan_prune
cvar can be used to skip levels entirely when scanning (i.e.
not even scan them for exits).- New win condition: beat specific levels.
- Change:
- Going Down Turbo logic updated from RC 1.7 to the version released on idgames.
- Scanner now automatically skips levels with no randomizeable actors in them.
- Unreachable checks are now placed next to the item they would otherwise have
replaced, rather than replacing it. - In pretuning mode, all items picked up will be immediately vended, the same
as normal Doom gameplay; the AP inventory is bypassed. - Keys are now added to your inventory by spawning them into the world and
then touching them, similar to how other items are spawned. This should
hopefully improve compatibility with gameplay mods that implement their own
keys and then usereplaces
rules to replace the existing keys with them,
rather than simply reskinning the normal Doom/Heretic keys. - Saving your game, collecting a check that contains a normal item (i.e. not a
key or access token), vending the item, then loading your game now restores
the item to your AP inventory rather than banishing it forever. This brings
our behaviour more in line withapquake
, and means that things like
quicksaving, grabbing a weapon, then quickloading no longer makes that
weapon impossible to get.
- Fix:
- Incorrectly formatted
ap_bank_custom
entries will now be skipped instead
of crashing the game. - Scanner now properly handles
specialaction_lowerfloortohighest
. Heretic
logic updated accordingly. - Scan data for levels is no longer retained in memory once the level logic
is output. This should improve performance and memory usage when scanning
very large wads. - If you pick up a key that wasn't detected by the scanner (e.g. dropped by an
enemy or spawned with zscript or ACS), it will now be properly detected and
will be restored to your inventory when you return to that level. 1000 Lines II
logic was accidentally a duplicate of theDoom 2
logic.- When scanning hubcluster levels, it will bounce between the level being
scanned and theGZAPHUB
to force a reset. This may result in an excessive
number of intermission screens being displayed, unfortunately. - Item or location names from other games with quotes or backslashes in them
should no longer crash gzdoom on startup. - Attempting to open the inventory menu when not actually playing an
AP-randomized game now displays an error message rather than crashing, same
as the level select menu. - Items counter once again properly reflects number of remaining item-based
checks in the map. ap_scan_unreachable
is now only checked when exiting the map "properly",
not when using the level select or loading a savegame.- The GZDoom<->Client connection is not initialized until you are actually
in-game even if you are playing a mod that has aTITLEMAP
. This fixes an
issue where you could start the client sync while at the main menu and then
interrupt it by loading a game. - Universal Tracker no longer shows
unreachable
locations (i.e. those marked
in logic as being inaccessible by name means). - Universal Tracker is disabled in pretuning mode, as its output is basically
useless when pretuning. - Check spawning is now smarter about what it replaces, and, in particular,
does not replace invisible tokens. This should fix some issues with
Intelligent Supplies and AutoAutoSave, among others. - Fix issues with the secret and item counts.
- Linedef-based death exits now function properly (previously only boss-based
death exits did). In particular this should fix Eviternity.
- Incorrectly formatted
gzArchipelago 0.4.3
0.4.3
This is primarily a bugfix release, but also comes with Universal Tracker
support; if you have UT installed, the GZDoom Client will have a "tracker" tab,
and tracker information will be displayed in-game on the level select screen.
If you have customized the Auto-vend patterns
setting, or found it insufficiently
useful, you should look in the options screen for the Custom bank limits
setting
that has replaced it.
- New:
- Runtime mod and generated mod now report the zscript version and apworld
version, respectively, on startup. This should make version mismatches
very obvious from the first few lines of the log. - Universal Tracker support. If you have UT installed, the GZDoom client will
now have a "tracker" tab. - If UT is enabled, and the client is running, locations known to be in logic
will be displayed first and hilighted on the level select screen. - AP inventory screen displays tooltips showing you more information about
each item.
- Runtime mod and generated mod now report the zscript version and apworld
- Change:
ap_auto_vend
setting renamedap_bank_custom
, now lets you configure
bank limits per-category or per-item-type.- Logic loader redesigned. It now produces more useful error messages, and
loads all internal logic files before any external ones, which should reduce
the frequency of UT errors when joining a game while you have external logic
files that the host doesn't.
- Fix:
- Closing the GZDoom Client window now works even if gzdoom isn't running.
- Certain
included_item_categories
configurations could break Universal
Tracker. - Small performance improvements to AP<->GZDoom communication.
- Quitting gzdoom now causes the client to properly realize that gzdoom has
exited. - Items with different underlying types but the same user-visible name (e.g.
Shells vs. ShellBox) were being incorrectly merged into the same item
category. - Items with different underlying types but the same user-visible name now have
the type appended to their AP name so people can tell them apart. - Appending types to AP names no longer causes the apworld to stop loading
entirely when logic files requiring this are present.
gzArchipelago 0.4.2
0.4.2
This is a bugfix release.
The changes are small, but some of the bugs fixed are fairly large, including
one that was causing tuning files to not work properly, so upgrading is
recommended.
- Fix:
- Client now forces UTF-8 encoding for file IO, which fixes a client crash on
windows when processing messages that include non-ASCII characters. - Items originally placed with checks would respawn if the check was collected
and then the level reset. - Checked secret sectors were not counted towards "secrets found" in the level
stats if you left the level and then returned. - Tuning file entries for trivially reachable locations were not being read.
- Client now forces UTF-8 encoding for file IO, which fixes a client crash on
gzArchipelago 0.4.1
0.4.1
This is a bugfix release.
This release brings significant internal changes to the scanner. Rescanning wads
is not required, but is recommended; the new logic files are smaller, and it
brings better support for scanning items that are placed partly embedded in
walls/floors or on elevators/conveyors.
In a small minority of cases, rescanning a wad using 0.4.1 will cause some
tuning data generated in v0.4.0 to be invalidated. This only affects certain
UDMF-format maps, and this data will be safely skipped when the tuning file is
loaded. It does not affect tuning data from v0.3.x or earlier.
- New:
- the
ap_scan_skip
cvar can be used to skip some levels when scanning,
even if they are reachable from your starting levels. - Locations in the level select tooltips are now sorted alphabetically.
- the
- Change:
pretuning_mode
only overrides the originalMAPINFO
if you also ask for
full_persistence
. Leaving it off means you can now do a pretuning run with
the original WAD's intermission screens, episode divisions, etc.- File extensions are now ignored when loading logic or tuning files.
- The client now writes a separate tuning file for each game session, named
{wad name}.{timestamp}.tuning
. - Scanner and tuner now use integer positions to identify locations. In rare
cases (on UDMF maps using fractional actor positions), this may result in
checks being placed up to 2 world units away from the items they replaced;
this is unlikely to be noticeable.
- Fix:
- Scanner now captures object locations at spawn time rather than 1-2 tics
after spawning. - Encountering a logic file with no maps now produces a useful error message
rather than a division by zero crash. - Checks collected via release-at-exit are no longer used for tuning.
- Map markers now properly follow checks again.
- Check placement algorithm rewritten. "Unable to find original item, placing
check at player" errors eliminated; checks will now always spawn in the
correct locations. - "This game was generated on 'easy', but you are playing on 'easy'" error
should no longer occur when playing on ITYTD (nor the equivalent on NM!). - Adventures of Square now classifies more powerup types properly.
- Adventures of Square no longer includes cutscene maps in the logic.
- Items weren't sorted properly in the inventory screen.
- Scanner now captures object locations at spawn time rather than 1-2 tics
gzArchipelago 0.4.0
0.4.0
This is a feature release.
- New:
- gzArchipelago now has additional data about what items were originally stored
at check locations, and what items are stored there now, which will be used
for future user-facing features. ap_show_check_original
setting displays what was originally that location,
useful when learning the maps.ap_show_check_contents
setting displays the contents of each check (if it's
a Doom item).- AP automaps and AP level accesses have custom icons based on FreeDoom sprites.
- The
included_item_categories
option now lets you specify how much of each
category to include, e.g. you can tell it to randomize 50% of powerups or
10% of small health pickups. medium-health
andmedium-armor
categories have been added. The categorization
of health, armour, and ammo items has been improved.- Logic files now include information about total monster counts and a list of
secret sectors. - By adding
secret-sector
to included_item_categories, you can turn secrets
themselves into checks; you get the check as soon as you step into the secret
sector. Note that these are not currently marked on the map the way item-based
checks are! - New option to release some or all checks in a level when you finish the level,
for a faster-paced game that's less about check hunting and more about clearing
maps as quickly as you can. - Hints are now available in singleplayer games without needing an AP server
running! Hint limits are not enforced -- you're on the honour system. - The
win_conditions
option lets you specify how many levels you need to clear
to win the game. local_weapon_bias
andcarryover_weapon_bias
options for controlling how
early the randomizer makes weapons available to you.
- gzArchipelago now has additional data about what items were originally stored
- Change:
- All logic files regenerated using the updated scanner.
- The inventory menu no longer lists items you don't have.
- Tuning files now include coordinate data to more reliably match in-game checks
to locations in the logic file, even if location names change. - Location names have changed; if there are only a few instances of an item in
a level, it will try to name it based on compass heading and approximate
distance from the level center before falling back to coordinates.
- Fix:
- Map markers were not properly displaying filler/progression status if you
picked up the automap after entering the map when persistent mode was on. - Checks now vanish immediately when picked up, rather than waiting for
confirmation from the server. (If the server never confirms they will still
respawn when your reset the level.) ap_show_check_names
now behaves properly in netplay, and also supports
checks that don't exist in the world.- Unreachable checks now contain
Health
instead ofHealthBonus
and should
thus work with Chex Quest and other IWADs/IPK3s that don't define the latter. - Unreachable checks were visible on the minimap but not in play.
ap_suppress_weapon_drops 3
no longer causes you to spawn without fists.- In-game check objects now copy the TID, thing special, and special args from
the item they replaced, which should hopefully fix some levels that rely on
ACS scripting when certain things are picked up. level_order_bias
now rounds to nearest rather than rounding down when
calculating how many levels you need to beat.- Weapon balancing no longer counts unreachable weapons.
- Locations with the same (X,Y) coordinates but different Z no longer cause
generation failures. - Adventures of Square logic fixes.
- Map markers were not properly displaying filler/progression status if you
gzArchipelago 0.3.5
0.3.5
This is a bugfix release.
The previous version, 0.3.4, had a world generation bug that resulted in games that were playable but with effectively useless filler item pools. Updating is strongly recommended.
- Fix:
- Opening the level select menu when no AP-generated pk3 was loaded would crash
the game. It now displays an error message and refuses to open. - The filler item pool is no longer incorrectly populated with every filler item
the randomizer knows about (including ones that aren't being randomized) and
thus no longer consists almost entirely of 1-point health/armour bonuses. - Crash in AP client on startup.
- Opening the level select menu when no AP-generated pk3 was loaded would crash
gzArchipelago 0.3.4
0.3.4
This is a bugfix release.
This release changes the APWorld options. Please regenerate the template YAML.
- New:
- Quickstart documentation for players new to GZDoom
[by @FlapjackRetro]. - Globbing expressions are now supported in
included_levels
,excluded_levels
,
andstarting_levels
. start_with_keys
option can be used to turn off starting with all keys for
thestarting_levels
.ap_auto_vend
ingame setting can force specific items or item categories to
behave as if they had a limit of 0, useful for small-items games.ap_show_check_names
option to display the name of each check as you collect
it.ap-use-item:<name>
netevent to allow binding hotkeys to the AP inventory.
See the FAQ for more information.
- Quickstart documentation for players new to GZDoom
- Change:
- Inventory is now sorted alphabetically.
- Default
starting_levels
now mimics the behaviour of apdoom by including
the first level of every episode in D1 and Heretic. - Unreachable checks now contain a 1-point
HealthBonus
rather than aBackpack
,
both to improve compatibility with mods and to give less incentive to use
weird speedrunning tricks to grab them anyways. - Unreachable checks are now greyscale rather than flashing red, to make them
look more "boring" and less "super important".
- Fix:
included_item_categories
option now supports all recognized item categories.- Crash in client when receiving a message from the server with no
type
field. - Tuning files generated by the client are now written to
AP/gzdoom/tuning/
like the documentation says, notAP/gzdoom/
. - Scanner no longer emits invalid JSON when a map title contains a newline.
- Known-unreachable locations are no longer listed in the "unchecked locations"
tooltip, nor counted towards the level item total. - Turning off maps in
included_item_categories
no longer breaks everything. - Auto-vending of items will only occur if the player is in a state that will
cause them to be picked up immediately.
gzArchipelago 0.3.3
This is a bugfix release.
This release changes the map scanner. It is recommended that you rescan your wads,
although old logic files will continue to work.
This release changes the APWorld options. Please regenerate the template YAML.
- New:
pretuning_mode
option for doing a tuning run without randomizing item
placements or giving the player any starting keys.- Collected check translucency is adjustable via the
ap_collected_alpha
cvar. Setting takes effect on level entry. - Logic and tuning for 1000 Lines.
- Support for a
GZAPRC
lump for per-wad scanner configuration. See the
Adding New WADs documentation for details. included_item_category
option to control which items are included in the
rando. This is work in progress and is planned to be expanded later, but
what is there should work.- Logic and tuning for Adventures of Square [by @frozenLake]
- Change:
- default
included_levels
value is now[]
rather than a list of every level
in every supported wad; the behaviour is the same, but it was getting a bit
unwieldy. - generated PK3 file now includes the selected wad name in the filename, e.g.
AP_1234_P1_ToxicFrog.Doom_2.pk3
.
- default
- Fix:
- In-game timer now counts only time spent in gameplay, not time in menus.
- In-game timer should no longer double-count gameplay time.
- APWorld has better error reporting for certain classes of generation errors.
- Returning to a level where you've previously found some checks will report
them as collected items, rather than reducing the total item count for that
level. - Keys were not always properly added or removed when returning to earlier
levels with persistence enabled. - Command line arguments emitted by the client for launching gzdoom with now
always use forward slashes, to avoid escaping issues on windows. - HealthPickups are now properly scanned as health, not tools. In particular
this means that Quartz Flasks no longer flood the item pool in Heretic.
(Mystic Urns are still included in the pool.) - +INVBAR items that don't fall into any other category are now properly
scanned as tools. This has no effect at present but will be important for
some TCs later. - Scanner now uses the same logic to merge nearby locations as the check
replacer does, which should improve scanning of levels where items are placed
on conveyor belts or elevators.