ZDoom 2.1.2

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]
[🔎 Google This Site]

Moderator: GZDoom Developers

User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

ZDoom 2.1.2

Post by randi »

ZDoom 2.1.2 and the ACC 1.41 to go with it are now available. (Warning: 2.1.1 and 2.1.0 save games are not compatible with 2.1.2 thanks to the inclusion of custom player classes, so you might want to keep an old version around until you've finished any saves you're playing through.)

Changes are as follows:

New
  • Added Grubber's custom player class support.
  • The IWAD dialog now remembers the last IWAD you picked and automatically highlights it the next time you run the game. This also applies if you check "Don't ask me this again": The IWAD selected will be the one that gets automatically loaded, not the one located first. (Using the -iwad parameter will not change the default IWAD.) In addition, you can now bring the dialog up even if you disable it by holding down SHIFT during startup.
  • Added actor replacement for DECORATE. This works at a higher level than using duplicate DoomEdNums and will affect many more attempts to spawn the replaced actor. For example, if you want to use a modified imp, you can use this DECORATE:

    Code: Select all

    actor MyImp : DoomImp replaces DoomImp
    {
        // Put changed properties here
    }
    Replacements are considered for the following situations:
    • Line specials that spawn things (Thing_Spawn and related)
    • ACS spawning commands (SpawnSpot and the like)
    • Spawning mapthings at level load time in P_SpawnMapThing()
    • Spawning items off of dead dudes in P_DropItem()
    • The A_SpawnItem decorate function
    • The summon and summonfriend console commands
    • Attempting to use ThingCount to count original actor types will count both the original actors and their replacements as the same things. (But counting the replacement actors will not count the originals as well.)
Changes
  • Improved feedback for network game initialization with the console ticker.
  • Changed masses of ice chunks and glass shards to make small splashes.
  • Added a 'default' setting to all color selection menu items that leaves the font untranslated.
  • Added A_RadiusThrust code pointer for DECORATE and adjusted the radius attack functions accordingly.
  • Changed the special radius damage handling for the barrel and boss brain into an actor flag.
  • Removed -maxdemo and -heapsize parameters.
  • Blends created with the ACS fade commands now degrade to transparent overlays when the console is visible, just as they do for the menu.
  • Added ThingCountName ACS function which is the same as ThingCount but it takes an actor's type name instead of a spawn ID.
  • Added SpawnSpotFacing ACS function which is the same as SpawnSpot but it uses the map spot's angle.
  • Changed the additive scrollers option into a compatibility flag so that it can be changed from the menu.
  • Streamlined zip file loading by delaying the processing of the local file header until it is actually needed.
Fixes
  • P_UndoPlayerMorph didn't properly transfer the inventory.
  • Bouncing projectiles should not bounce off horizon lines.
  • Heretic's monsters were missing the MF2_MCROSS flag.
  • PlayerIsGone() should set the gone player's camera to NULL in case the player who left was player 0.
  • PacketGet can receive ECONNRESET from nodes that aren't in the game. It should be safe to just ignore these packets.
  • EAX settings are global and not per-application.
  • DDrawFB::PaintToWindow() should simulate proper unlocking behavior and set Buffer to NULL.
  • APlayerPawn::AddInventory() should also check for a NULL player->mo in case the player left but somebody still has a reference to their actor.
  • PlayerIsGone() needs to stop any scripts that belong to the player who left, in addition to executing disconnect scripts.
  • Earthquakes were unreliable in multiplayer games and only worked for players.
  • Stopping demo recording in multiplayer games should not abruptly drop the recorder out of the game without notifying the other players.
  • When playing back demos, DoAddBot() can be called without an associated call to SpawnBot().
  • Crash reporting for stack overflows crashed again if debughlp.dll was available to make the minidump.
  • KeyRead() should handle DIERR_NOTACQUIRED errors the same way it handles DIERR_INPUTLOST errors.
  • In multiplayer games, when trying to change targets, A_Chase forgot to check whether the new target was the same as the old one and treated this case as a real target change.
  • The status bar tried to access CPlayer->camera without checking its validity. In spy mode there is a possibility that it is NULL.
  • A_Beacon was missing a NULL pointer check for the beacon's owner.
  • Weapons could be picked up for ammo even if they gave none.
  • Changed parsing of actor names back to not use C-mode.
  • Changed initialization of Weapon.Kickback so that it is only done for direct descendants of AWeapon and not for every weapon being defined.
  • maxstepheight and maxdropoffheight were stored as ints instead of fixed_t's by the DECORATE parser.
  • Specifying 'strifefallingdamage' in MAPINFO cleared all other flags.
  • If the sector behind a seg was closed, but it was closed between the ceiling and floor of the front sector, the renderer did not add it to the solid clip list.
  • The defaultbind command still treated the bindings as char pointers and as a result didn't work.
  • G_DoAutosave could divide by 0 if autosavecount was 0.
  • R_ClearPlanes() did not clear skybox planes for a full clear.
  • FreeKeySections() was called before M_SaveDefaults() during shutdown, so all custom keys would go to a "(null)" section instead of their intended section.
  • Forcefully removing a weapon from a player's inventory would not reset the player's refire counter.
  • The game would crash after informing you of a duplicate class registration because PClass::CreateDerivedClass() did not initialize everything before calling InsertIntoHash().
  • Any kill in multiplayer games that could not be credited to a player didn't count at all - not even toward the global level statistics.
  • Makefile.mgw was mysteriously missing some targets.
Last edited by randi on Sat Jul 15, 2006 10:44 pm, edited 2 times in total.
User avatar
Bashe
Posts: 1680
Joined: Mon Nov 10, 2003 11:32 am
Location: Ohio
Contact:

Post by Bashe »

YAY!!!
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

Heh, that was certainly less than "a couple of days" ;)
User avatar
Unknown_Assassin
Posts: 2468
Joined: Wed Apr 12, 2006 5:17 pm
Location: Where dead carcasses lie
Contact:

Post by Unknown_Assassin »

Oh goody, another version!
skadoomer
Posts: 1026
Joined: Fri Sep 05, 2003 12:49 pm

Post by skadoomer »

randy wrote:Added actor replacement for DECORATE. This works at a higher level than using duplicate DoomEdNums and will affect many more attempts to spawn the replaced actor. For example, if you want to use a modified imp, you can use this DECORATE:
Since this has been a frquest for ages now, can we expect the custom states to make their way into the next release?
User avatar
Doom A Holic
Posts: 60
Joined: Fri Jun 03, 2005 4:03 pm

Post by Doom A Holic »

Custom Player Classes?! Can you use these with Doom and not just Hexen?
User avatar
Unknown_Assassin
Posts: 2468
Joined: Wed Apr 12, 2006 5:17 pm
Location: Where dead carcasses lie
Contact:

Post by Unknown_Assassin »

Doom A Holic wrote:Custom Player Classes?! Can you use these with Doom and not just Hexen?
Yes. Grubber inputed into 2.0.99x. Then randy implented them into Zdoom version 2.1.2

Anyways, I think the version needs to be updated to 2.1.3, since there is an ammo issue that Wasted Youth had said in the Bugs Forum http://forum.zdoom.org/potato.php?t=10350 . While you're fixing that, could 'things_raise' be implented in the next version? It was said earlier in this thread: http://forum.zdoom.org/potato.php?t=10350 , but it was never added (I checked typing things_raise in the console) even though it said added.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Thing_Raise is in.
This is an ACS special, not a console command.
User avatar
Xaser
 
 
Posts: 10772
Joined: Sun Jul 20, 2003 12:15 pm
Contact:

Post by Xaser »

Sorry, I have to drop by again to say this... The addition of modifying existing classes has got to be THE GREATEST Decorate feature ever to me. Randy, you are just plain amazing. :P

I'll need to pick this up sometime soon. Maybe after that weird ammo dropping bug is fixed, though... :P
User avatar
eliw00d
Posts: 585
Joined: Sun Oct 17, 2004 2:46 pm
Location: Duluth, MN
Contact:

Post by eliw00d »

i do enjoy the "replaces" function, but will there be a way to edit existing actors in decorate so that you can truely replace the actor and not modify it? so that there wouldn't have to be an acs workaround for replacing the fist or the pistol? or something simpler perhaps? awesome work, though. the "replaces" function helps a lot so far.
User avatar
Xaser
 
 
Posts: 10772
Joined: Sun Jul 20, 2003 12:15 pm
Contact:

Post by Xaser »

Isn't that exactly what this is able to do? Does this mean that all the original actors can be completely modified directly, including the Fist and Pistol? Sure beats the heck out of DEHacking them or forcing GZDoom-only with the FSGlobal lump.
User avatar
eliw00d
Posts: 585
Joined: Sun Oct 17, 2004 2:46 pm
Location: Duluth, MN
Contact:

Post by eliw00d »

Xaser wrote:Isn't that exactly what this is able to do? Does this mean that all the original actors can be completely modified directly, including the Fist and Pistol? Sure beats the heck out of DEHacking them or forcing GZDoom-only with the FSGlobal lump.
well, i was just playing around with it, and althought it DOES replace them entirely, you still start with the original fist and pistol, but if you switch to a different weapon and back it will be the replacement weapon. it's rather odd, actually. for example, i replaced the pistol and started with the doom pistol. i switched to the fists, which i did not replace, and then tried to go back to the pistol. neither the doom pistol nor my pistol was then selectable. i had only the fists left. lol.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Actor replacement means replacing for spawning into the map, not for inventory purposes. None of the inventory functions checks for this feature.

This feature is *not* robust enough to force massive changes into maps that do inventory checks (That means checks by ACS or even by normal locks!) It is meant for mods that do minor changes to certain actors or for add-ons that want to replace monsters or pickup items. But it will only work properly if the level's scripting doesn't require proper inventory checks for the replaced items. So for example, replacing the red keycard in a map that has a lock requiring it won't work without altering the LOCKDEFS lump as well.

However, since most of these limitations can be overcome by providing additional resources (e.g. a new LOCKDEFS lump when altering keys) I don't consider it too problematic.

The only thing where it won't help if a map uses ACS inventory commands. But forcing this into the mechanism as well would create massive problems elsewhere so don't count on it ever being added.
No matter how hard you try, there will always be maps that get broken by weapon mods and other similar add-ons and the maps affected by this are most likely the ones where you will run into other issues as well.
User avatar
BouncyTEM
Posts: 3820
Joined: Sun Aug 24, 2003 5:42 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: 2280 Lol Street: The Calamitous Carnival (formerly Senators Prison)

Post by BouncyTEM »

EXCELLENT!

About damn time. :)

Now get to work on DoomScript please :P
User avatar
Jimmy
 
 
Posts: 4720
Joined: Mon Apr 10, 2006 1:49 pm
Preferred Pronouns: He/Him
Contact:

Post by Jimmy »

Oh em gee it's finally out, you guys rock. :wink:
Post Reply

Return to “ZDoom (and related) News”