Commit Graph

7455 Commits

Author SHA1 Message Date
Christoph Oelckers 9ca6764556 Revert "- removed STAT_INVENTORY."
This reverts commit 5ff0abe568.

- use STAT_INVENTORY only for held items.

Seems this was causing some strange issues with hubs, but for items placed in the world it still cannot be allowed to have them in a different statnum.
2016-08-25 21:41:17 +02:00
Christoph Oelckers 48430d9b1a - don't assume that deserializing an actor will result in a valid pointer.
This addresses a very strange crash I encounteded while travelling in a hub, and ended up with a NULL pointer after the 'Serialize' call which means that some code cleared the variable that is currently being deserialized. I was completely unable to find out what caused this because there is so much recursion going on in the deserializer. All actions on the deserialized actor are now being done with a local copy of that variable so that altering the actual one won't have any adverse effects.
2016-08-25 21:15:53 +02:00
Major Cooke e22043a25b Fixed: A_FaceMovementDirection would not adjust the angle if it was actually under the limit. 2016-08-22 09:46:00 +02:00
yqco df4a8e38c5 Add CheckActorState ACS function
bool CheckActorState(int tid, str statename, bool exact = false);

- Same parameter order as SetActorState
- Returns true if actor has the state; else returns false
2016-08-22 01:21:38 -06:00
Christoph Oelckers 5ff0abe568 - removed STAT_INVENTORY.
This was causing issues with sprite sorting. For this to work as intended, all actors in the world that display sprites need to remain in spawn order, including inventory items.
The only thing this statnum was used for were some bot related search actions which are simply not worth breaking actual maps for some very minor performance gain.
2016-08-20 19:10:14 +02:00
Christoph Oelckers ca8ef7f3f3 - moved bobbing menu strings into the correct file. 2016-08-16 11:20:22 +02:00
Christoph Oelckers 314e89b84f - fixed what looks like a copy/paste error in A_Explode. 2016-08-16 10:53:30 +02:00
Christoph Oelckers 04c4147052 - renamed flag to be more descriptive. 2016-08-16 09:02:23 +02:00
Leonard2 e93b64f249 Fixed: a register from a return statement's value would not be freed 2016-08-16 08:59:27 +02:00
Major Cooke aa2ca77412 Added damagetype parameter and XF_NOACTORTYPE to A_Explode.
- By default, A_Explode will refer to the actor's damagetype if using none. The flag forces the function's type if used regardless of type.
2016-08-16 08:59:27 +02:00
Christoph Oelckers c02960e2cf - added error message highlighting for one overlooked DECORATE error. 2016-08-16 08:58:29 +02:00
Christoph Oelckers df0f06a5ce - fixed: FraggleScript's SetCamera function must call SetOrigin to set the camera's z. This needs updating of floorz and ceilingz, in case the camera is moved past a 3D floor. 2016-08-14 23:33:31 +02:00
Christoph Oelckers 6deb185b46 - fixed another typo in scroller code.
Now Scroll_Texture_Model is working properly again. (Note: Whoever designed this function must have been on drugs - its use of the source data in Boom is completely insane.)
2016-08-14 22:10:44 +02:00
Christoph Oelckers 47d2fd403c - fixed typos in scroll code. 2016-08-14 21:55:20 +02:00
Christoph Oelckers a0d66be6e9 - fixed: Terrain splashes could be generated for 3D floors that were below the sector's actual floor. 2016-08-14 20:52:13 +02:00
Major Cooke 9dd458030e This isn't needed. It's already checked at this point. 2016-08-12 09:17:21 +02:00
Major Cooke 7ffccd0009 Fixed: RGF_KILLED was not part of the mask.
- Greatly optimized DoRadiusGive by putting actor flag checking first ahead of pointer, classname and species checking.
2016-08-12 09:17:20 +02:00
Major Cooke ec14dd94a7 A_Explode now returns the number of actors damaged and can be used in expressions.
- Enemies that do not take damage in any way are not counted.
2016-08-12 09:17:20 +02:00
yqco ee7d933ed6 Add assert for previous I_Error condition 2016-08-11 04:47:17 -06:00
yqco 054f5c963e Use verbose error message with DECORATE array indices 2016-08-11 04:22:37 -06:00
Christoph Oelckers b4e712ab01 - made disabling the push window check a real compatibility option.
No idea why this was a hidden one, this one definitely needs to be in the menu.

- set some required compatibility options for Super Sonic Doom.
2016-08-09 20:15:13 +02:00
Christoph Oelckers 7104b01193 - added Hexen compatible handling to specials that stop perpetual sector movement.
This uses the same logic as Eternity.
2016-08-09 17:09:12 +02:00
Christoph Oelckers 6b27d0c3ba - fixed: FPolyObj::RecalcActorFloorCeil altered the floorz of all actors in the same blockmap block as the polyobject, even when they were nowhere near its bounding box.
This fix is still incomplete, it should really discard everything outside the polyobject, not outside its bounding box, but at least it eliminates the most severe occurences of dislocated items.
2016-08-09 15:11:11 +02:00
yqco b2a6512981 Fix partial initialization in ACS PickActor function 2016-08-09 02:11:13 -06:00
Christoph Oelckers 19b65195ea - added an internal compatibility option to disable setting the line ID for the Plane_Align special.
There have been reports for some Skulltag maps a few years back and I just ran across an old beta version of a map that got completely broken by this.
2016-08-09 10:07:06 +02:00
Christoph Oelckers d62d345a7b - fixed: The cosine of 0° is 1, not 0, as the portal code assumed for linked portals. 2016-08-08 13:06:29 +02:00
Leonard2 b97024b710 The return statement now accepts any expression as its return value
So something like 'return ++user_x;' is now possible
Admittedly this needed quite a bit of refactoring mainly due to the fact that return types now have to be checked after resolving the function rather than before
2016-08-07 22:10:02 +02:00
Leonard2 e79c0225ed Added all compound assignment operators to DECORATE 2016-08-07 22:10:02 +02:00
Leonard2 90cc79a902 Added the direct assignment operator to DECORATE 2016-08-07 22:10:01 +02:00
Leonard2 8437313e7c Added post/pre increment/decrement operators to DECORATE 2016-08-07 22:10:01 +02:00
Leonard2 2ef51d0d50 Re-allow casts in sequences 2016-08-07 22:10:00 +02:00
Leonard2 db9f4c1385 Re-allow indexes as state parameter in sequences 2016-08-07 22:10:00 +02:00
Leonard2 a4142ad9fb Re-allow action function calls with no argument list in sequences 2016-08-07 22:09:59 +02:00
Leonard2 078881a941 Parse statements as expressions in sequences
This will be needed for assignment operators to work
2016-08-07 22:09:59 +02:00
Christoph Oelckers ab837b608d - compatibility optioned triggering sector actions by indirectly initiated teleports
There's several old maps depending on this not happening.

- Set the option for Hell's Twisted Influence Part 1.
2016-08-07 22:04:16 +02:00
Edoardo Prezioso 5a66fdf9be - Hide Clang -Winconsistent-missing-override warnings in non-Apple targets, too. 2016-08-07 20:55:16 +02:00
alexey.lysiuk 5b079dd40b Fixed wrong height of player coordinates text 2016-08-07 11:32:55 +02:00
Christoph Oelckers fd7b833ad5 - added some helper code mainly designed to help GZDoom maintain the vertex buffer for the textured automap. 2016-08-06 19:20:41 +02:00
Magnus Norddahl a893013dbb Adds HUD quadruple scale and a scale slider for the crosshair 2016-08-05 12:20:34 +02:00
Leonard2 01fb2eaecc Fixed a typo in FxBoolCast::Emit 2016-08-05 12:16:13 +02:00
Leonard2 73d0ed78fe Fixed: the game could crash while resolving expressions in some places 2016-08-05 12:16:13 +02:00
Leonard2 4a859393fe Fixed: the game could crash while parsing expressions in some places 2016-08-05 12:16:12 +02:00
Christoph Oelckers 9229146eeb - fixed: DFloor set the 'gap' for one wrong movement type. 2016-08-05 12:13:47 +02:00
Christoph Oelckers 1d434add50 - fixed: monsters which were made friendly by the MBF map flag lost their friendliness when being revived with Thing_Raise. 2016-08-04 17:14:31 +02:00
Christoph Oelckers 2c38e20352 - update xlat/eternity.txt for reference. 2016-08-03 13:16:14 +02:00
Christoph Oelckers c1a4dd74c4 - added handling for Eternity's 'gap' parameter to:
Ceiling_LowerToFloor
Ceiling_LowerToHighestFloor
Ceiling_ToFloorInstant
Floor_RaiseToCeiling
Floor_RaiseToLowestCeiling
Floor_ToCeilingInstant
2016-08-03 12:59:40 +02:00
Christoph Oelckers 95c3464973 - properly handle 3D floors with inverted planes in the list sorter. 2016-08-03 12:17:22 +02:00
Leonard2 8068792f4b Fixed: A_RadiusGive had an incorrect definition 2016-07-31 09:06:14 +02:00
Leonard2 c0d3eb997a Fixed: the instant weapon switch flag didn't work anymore 2016-07-30 23:50:14 +02:00
alexey.lysiuk bd3fd22ac9 Do not use unicode characters in macOS console window
The same characters as in stdout are now used to draw bars in console window on macOS
All messages are treated as in ISO Latin 1 encoding and bars looked like garbage output
2016-07-30 16:21:48 +03:00