arookas
d14782fb37
Added Thing_Damage3 function
...
It acts as a simple wrapper around P_DamageMobj which can damage a
single actor, but can also set the actor inflicting the damage. It
returns the amount of damage actually done, or -1 if the damaging was
cancelled.
2016-09-03 08:27:38 +02:00
Major Cooke
c4357bd352
Tracer pointer is no longer a safe candidate for storing player morph pointers. Instead, actors must have a new, non-manipulatable pointer. This fixes the following circumstances:
...
- Crashes occurred if a particular actor was a tracer to the player and the actor was not gone by the time the player unmorphs.
- Failed unmorphs occur if tracer was manipulated through means like A_RearrangePointers, etc.
2016-09-01 13:49:58 -05:00
Christoph Oelckers
4993018520
- fixed: Actor velocity requires an upper limit to prevent uncontrolled accumulation, as can happen when multiple exploding and pushable objects overlap. The value 5000 was chosen because it is high enough to not occur under regular circumstances and small enough to prevent severe slowdowns. In the old fixed point code the lack of such a check just caused random overflows.
2016-08-31 09:18:59 +02:00
Christoph Oelckers
3299a29c44
- added CheckClass ACS function.
2016-08-28 16:14:24 +02:00
Christoph Oelckers
e04055dbb2
- added multiple message levels for 'developer' CVAR so that the important stuff won't get drowned in pointless notification spam that's of no use to anyone.
...
- made 'developer' CVAR persist across launches and added some menu entries for it.
- added checks for 'developer' to ACS's CheckInventory function.
2016-08-28 09:55:04 +02:00
Braden Obrzut
716fbec8ee
- Added support for building with FMOD Studio Low Level API (partially based off of Emile Belanger's/Beloko Games Android work)
...
- Use with FMOD Studio 1.06.x. 1.07 and 1.08 compile but for some reason produce a lot of noise on vanilla Doom sounds.
- Crashes when used with fluidsynth provided by Ubuntu 16.04, but a self compiled version of the library works just fine.
- Reverbs are mostly untested, but implemented.
- Debug waveform drawing is not implemented as it requires a non-trivial amount of work.
- It will still show as FMOD Ex in the menus since I'm too lazy at the moment to make it a "separate" backend.
2016-08-27 22:14:57 -04:00
Christoph Oelckers
5303526c70
- actually use the parameter...
2016-08-26 08:34:27 +02:00
Christoph Oelckers
465792df0a
- make sure that after travelling has finished, no travelling thinkers are left in the list.
...
Since this list is excluded from regular thinker cleaning, anything that may survive through the end of G_FinishTravel will endlessly multiply and severely break the following savegames or just simply crash on broken pointers.
2016-08-26 02:16:06 +02:00
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
314e89b84f
- fixed what looks like a copy/paste error in A_Explode.
2016-08-16 10:53:30 +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
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
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
alexey.lysiuk
cbe0a34f0b
Fixed usages of abs() function with double arguments
...
Clang no longer issues "warning: using integer absolute value function 'abs' when argument is of floating point type"
2016-07-30 14:03:57 +02:00
Christoph Oelckers
5ddee98e70
- fixed: Voxels with scaled to 0 caused a division by zero crash.
2016-07-30 13:19:02 +02:00
alexey.lysiuk
0648ef693f
Fixed compilation with Clang and GCC
...
No more "error: cannot pass object of non-trivial type 'FString' through variadic method; call will abort at runtime"
2016-07-30 13:04:16 +02:00
Xaser Acheron
a1a0da1f13
added SWF_SELECTPRIORITY flag to A_SelectWeapon
2016-07-29 18:48:54 -05:00
Major Cooke
13fa06fe7a
Renamed GetProximity to CountProximity.
...
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-30 00:27:12 +02:00
Major Cooke
167cb28563
Added GetProximity(classname, distance, flags, ptr).
...
- Behaves similarly to A_CheckProximity but returns the count of classname instead of true/false.
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-30 00:26:55 +02:00
Leonard2
d0b953cbb7
Added for loops to DECORATE
2016-07-30 00:26:42 +02:00
Leonard2
e2fa8c2257
Added do-while loops to DECORATE
2016-07-30 00:26:41 +02:00
Leonard2
d1749233ec
Added while loops to DECORATE
2016-07-30 00:26:41 +02:00
Leonard2
c4eafc1c38
DECORATE can now handle jump statements
...
break and continue were added but are not yet useable anywhere
This was made general enough so that loops and switch statements that accept breaks/continues can be done without much difficulty as well as goto statements with explicit labels if those are ever wanted
2016-07-30 00:26:41 +02:00
Major Cooke
dfed6ac1fb
Added SpriteAngle and SpriteRotation properties.
...
- Includes four functions, A_SetSprite(Angle/Rotation) and GetSprite(Angle/Rotation).
- SpriteRotation offsets the angle of the sprite, allowing for actors to move backwards or sideways for example.
- SpriteAngle requires +SPRITEANGLE and sets the actor's sprite to the absolute rotation found at that angle. Overrides SpriteRotation once the flag is on.
2016-07-30 00:26:40 +02:00
Major Cooke
6ada8aa644
Fixed A_CopySpriteFrame not working under certain circumstances.
2016-07-28 15:55:49 -05:00
Leonard2
5907ff662d
Added a new state that the weapon jumps to when it is lowered all the way and the player is currently dead
...
The state is undefined by default to preserve the original behavior of having the weapon layer deleted which modders can now avoid by defining it properly
2016-07-28 17:42:22 +02:00
Christoph Oelckers
759753eadc
- replaced more copystrings with FString.
2016-07-28 09:06:49 +02:00
Christoph Oelckers
66006a5c14
- use an FString to handle the new message.
2016-07-28 08:54:51 +02:00
yqco
58a6d7df1f
Added optional prompt argument to MENUDEF's SafeCommand
2016-07-28 08:41:55 +02:00
MajorCooke
3d9591229e
Added A_CopySpriteFrame(from, to, flags)..
...
- Copies a sprite/frame from one actor pointer to another. Sprite and/or frame copying can be disabled with flags CPSF_NO<SPRITE/FRAME>.
2016-07-28 08:39:32 +02:00
Jordon Moss
c0eb8f3b96
Added KILL Script type and associated flags and GameInfo keyword.
...
This is different from the original "Death Scripts" idea. This tackles
some issues I've found with the original idea (now you can have as many
scripts as you want, not just global and actor-defined). Also takes care
of other complaints about the original idea and push request. Flags and
their use are in code comments.
2016-07-28 08:34:23 +02:00
MajorCooke
1322ef2449
Renamed NODEATHJUMP to NODEATHDESELECT.
2016-07-28 08:29:47 +02:00
Leonard2
797f3aec0a
Added a weapon flag to ignore a player's input when dead
...
The reason this is not set by default is because before that anyone could call A_WeaponReady within their Deselect state which would have allowed players to fire even when dead
2016-07-28 08:29:46 +02:00
Leonard2
bcb18cf7d8
Added a flag to prevent the weapon from jumping to its Deselect state when the player dies
2016-07-28 08:29:46 +02:00
alexey.lysiuk
f38f7adf17
Automatic layout for ammo images in alternative HUD
...
When ammo icon is displayed before text its position depends on number of digits in current and maximum amounts
2016-07-28 08:19:31 +02:00
Christoph Oelckers
f67243a40f
- fixed: The NO_CHANGE constant shouldn't have been floatified because this is an input value for action specials which will remain integers.
2016-07-27 08:23:00 +02:00
alexey.lysiuk
4345623e28
Fixed incorrect scaling of particles
...
http://forum.zdoom.org/viewtopic.php?t=52906
2016-07-24 14:25:31 +03:00
MajorCooke
41414830a5
- Fixed: A_Warp never properly positioned actors on floors, if they wound up in or on one
2016-07-24 01:02:21 +02:00
Blue-Shadow
121db8fd37
Fixed: The player failed to unmorph upon resurrection
...
This happened if the morphing was triggered by a PowerMorph power-up.
2016-07-24 00:59:35 +02:00
Blue-Shadow
69a00ddabb
Added TRANSFERTRANSLATION morph flag
2016-07-24 00:56:57 +02:00
alexey.lysiuk
a1a0bdefff
Added support for older versions of DeHackEd patches
...
Patches from DeHackEd 2.3 and 2.4 are now loaded without warnings/errors
2016-07-23 11:09:52 +03:00
yqco
4d6532d303
Added RGF_NORANDOMPUFFZ flag for A_CustomRailgun and A_RailAttack
2016-07-22 02:46:41 -06:00
Christoph Oelckers
fa22acca5d
- fixed: Dehacked's 'Speed' value should be treated as signed when being assigned to a double variable.
2016-07-21 12:01:06 +02:00
Blue-Shadow
c428e376cd
Added INFLICTORDMGTYPE flag to A_Damage* action functions
...
It forces the use of the inflictor's damagetype instead of whatever is
passed to the functions.
2016-07-19 08:34:55 +02:00
Blue-Shadow
d09ec5a930
Added DamageType ACS actor property
2016-07-19 03:16:12 +03:00
Christoph Oelckers
d4352dd1a7
- fixed slope calculation error.
2016-07-17 23:13:10 +02:00
alexey.lysiuk
8369833dc5
Fixed setting of custom color for static text in menu
2016-07-17 17:28:46 +02:00
Leonard2
446bc1018c
Fixed: weapons didn't clear their flash layer when the player died
2016-07-17 17:28:45 +02:00
Leonard2
e482a54389
Fixed a crash with A_ClearOverlays
2016-07-17 14:27:56 +02:00
alexey.lysiuk
39042dc4bf
macOS application controller is now using proper delegate protocol
...
Fixes compilation error with Xcode 8:
cannot initialize a parameter of type 'id<NSApplicationDelegate> _Nullable' with an lvalue of type 'ApplicationController *'
2016-07-17 08:02:55 +02:00
Christoph Oelckers
c150116f79
- fixed: When changing weapons due to starting or ending a Tome of Power effect, the PSprite's caller needs to be changed.
...
In this case the PSprite animation won't be changed, only the ReadyWeapon. But in order to work, the PSprite's caller needs to change as well so that the next weapon check does not fail.
2016-07-16 19:55:00 +02:00
MajorCooke
7544adfc91
Combined the target/master/tracer checking into AimBulletMissile.
2016-07-16 17:43:00 +02:00
MajorCooke
376c9b0306
- Optimized handling of puffs in the event they're null.
...
- Only spawn the puff as needed again if the projectile actually spawns.
2016-07-16 17:41:28 +02:00
MajorCooke
02064437c5
Fixed wrong angle/slopes being used and one too many &s for NOINTERACT.
2016-07-16 17:34:17 +02:00
MajorCooke
10fabc3ab7
Cleaned up code. Puffs no longer need ALWAYSPUFF.
...
- A_CustomBulletAttack and A_FireBullets will perform a second P_LineAttack to get a puff which only returns to the previous function after a tracer.
2016-07-16 17:34:17 +02:00
MajorCooke
4750dfd8b6
Added ability to set the puffs directly as the spawned projectile's target, master, and/or tracer.
2016-07-16 17:34:16 +02:00
MajorCooke
cc8e7f8de6
Cleaning finished.
2016-07-16 17:34:16 +02:00
MajorCooke
791852a6bd
Cleaned up.
2016-07-16 17:34:15 +02:00
MajorCooke
3c7e1e0528
- Added the tracer actor spawning for A_FireBullets and A_CustomBulletAttack.
...
The projectiles spawning conditions rely upon the puff successfully spawning.
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-16 17:34:15 +02:00
alexey.lysiuk
ee72760f3a
libc++ is now used by the linker too (when applicable)
2016-07-16 17:04:38 +02:00
alexey.lysiuk
58fb993402
Added ability to select ammo image and text display order in alternative HUD
...
Controlled via hud_ammo_order CVAR:
* 0 (default): image and text
* any other value: text and image
2016-07-16 16:15:59 +02:00
alexey.lysiuk
74fc45d7b7
Fixed instant boss brain spawning
...
There was a possibility of division by zero which led to nonsensical spawn time
http://forum.zdoom.org/viewtopic.php?t=52760
2016-07-16 15:39:57 +03:00
MajorCooke
b121284fc0
Added GAF_SWITCH to GetAngle, inverting the function to get the caller's angle on the pointer instead.
2016-07-14 17:14:17 +02:00
MajorCooke
09175a6a7a
This wasn't supposed to be committed...
2016-07-14 09:55:13 -05:00
MajorCooke
59593e57c6
- Fixed: RGF_ITEMS wasn't considered a part of the RGF_MASK flag.
2016-07-14 09:27:29 -05:00
Leonard2
5c182c7fd7
Fixed a crash with heretic's ChickenPlayer class
2016-07-13 13:01:32 +02:00
Leonard2
05d1df3571
Fixed crashes with the A_CrispyPlayer and A_HandLower action functions
...
Simply using FindPSprite in those functions wouldn't be enough because if a mod is using the firehands layer when they are called this would go very wrong
2016-07-13 13:01:32 +02:00
Leonard2
3ea70980f9
Fixed: the strife firehands were interpolated if a mod used the layer before them
...
The flags were also already reset, no need to do it twice
2016-07-13 13:01:32 +02:00
Leonard2
b8e1bead0a
Removed unneeded checks
...
GetPSprite cannot return a null pointer and calling setstate with a null pointer destroys it
2016-07-13 13:01:32 +02:00
Leonard2
da6e12d5bc
Fixed: the weapon layer offsets were interpolated even after the player switched his weapon
2016-07-13 13:01:32 +02:00
Leonard2
75cb8c00a6
Fixed: the flags weren't properly reset if a mod used the old layers before the code used them
2016-07-13 13:01:32 +02:00
MajorCooke
7ded355d5d
Added rollcenter compatibility.
2016-07-13 09:29:36 +02:00
Christoph Oelckers
79264cb8cd
- fixed missing QuakeEx parameter conversion.
2016-07-12 19:57:32 +02:00
Leonard2
bdeb233849
Fixed: conditionals didn't properly compile to vm code
2016-07-12 19:50:37 +02:00
Leonard2
bbdc64a955
Fixed bad serialization of float types
...
The value was written twice if it couldn't be reduced to a single precision value
2016-07-12 19:37:00 +02:00
Leonard2
af53f5a825
Properly use the boolean type in function declarations
...
This will get rid of useless casts like 'if (isPointerEqual(x))'
It will also allow for proper casting in parameters like using a state as a boolean which is allowed in if statements for example
2016-07-12 19:36:59 +02:00
Leonard2
371896b2cc
Properly use the boolean type in expressions
...
This fixes things like 'if (GetCVar(x))' not working
2016-07-12 19:36:59 +02:00
subenji
7d1dc46665
Implemented fix discussed in http://forum.zdoom.org/viewtopic.php?f=2&t=52428 rearding UserVar corruption in savegames
2016-07-12 19:36:59 +02:00
Blue-Shadow
1f2c8181bb
Added IfWaterLevel SBARINFO command
2016-07-12 19:36:58 +02:00
Braden Obrzut
e401588f40
- Set -stdlib=libc++ and disable inconsistent-missing-override warning with OS X Clang (the latter may be useful for recent versions of Clang in general, but I can't tell at the moment.)
2016-07-11 01:22:37 -04:00
Christoph Oelckers
b2a88c1abd
- fixed: mapthinghexen_t::flags needs to be unsigned.
...
This is necessary so that an incorrectly set 0x8000 bit won't enable all high flags.
2016-07-05 01:17:12 +02:00
Christoph Oelckers
b81876698f
- changed P_ChangeSector so that for bridges it only keeps the floorz and ceilingz of the spawn position.
...
This is necessary to prevent moving sectors from altering the bridge's z-position. The bridge should remain at its current z, even if the sector change would cause floorz or ceilingz to be changed in a way that would make P_ZMovement adjust the bridge.
2016-07-04 22:36:27 +02:00
Christoph Oelckers
0b93e9b897
Merge branch 'roll' of https://github.com/MajorCooke/zdoom
2016-07-04 00:43:16 +02:00
Christoph Oelckers
d87665bfe0
- fixed: A_CheckTerrain must add to the actor's current velocity, not set it.
2016-07-04 00:39:35 +02:00
Christoph Oelckers
d6d9057f1f
- removed the old way to stop the AnimatedDoor interpolation, now that the parent class can be told that we do not want one. This old code was no longer functionsl.
2016-07-03 13:42:54 +02:00
Christoph Oelckers
1b6a850bf6
- fixed: DAnimatedDoor's main constructor did not disable ceiling interpolation.
2016-07-03 13:39:33 +02:00
Christoph Oelckers
7bdb98cc0b
- removed debug stuff.
2016-06-30 11:31:00 +02:00
Christoph Oelckers
fc3682006a
- fixed PointOnSide functions to consider 'on the line' as 'in front of'.
...
The bad code was taken from the 2005 floating point rewrite that, by comparing the value with '> -EQUAL_EPSILON', returned 1 for any value close to 0 (as 'on the line') so it was mistakenly reported as 'behind the line'.
2016-06-30 11:30:32 +02:00
Christoph Oelckers
c6fb35ed52
- added per-item colors for static text items in the menu.
...
For option menus this replaces the 'highlighted' parameter with an actual color, for list menus it adds a new parameter.
2016-06-30 10:27:14 +02:00
Edoardo Prezioso
4defb6e967
- Fix myoffsetof using misaligned pointer access.
...
That could be a problem for particularly pedantic platforms.
2016-06-29 13:04:31 +02:00
MajorCooke
41d20fa6cf
Fixed freeze with A_ClearOverlays.
2016-06-29 12:46:50 +02:00
Christoph Oelckers
6cf96372ba
- fixed: incorrect flag masking for polyobjects disabled all line portals.
2016-06-29 12:46:20 +02:00
Christoph Oelckers
f8ae166281
- fixed return value inversion of FS's ceilingheight and floorheight functions.
2016-06-29 12:46:20 +02:00
Christoph Oelckers
a3450ab824
- removed unused cruft in FS code.
2016-06-29 12:46:19 +02:00
Christoph Oelckers
c6d8125b45
- fixed FraggleScript's resurrect function to call AActor::Revive to ensure that everything gets reset.
2016-06-29 12:46:19 +02:00
Christoph Oelckers
4899c405c3
- fixed: all non-ZDoom compatibility profiles need compat_maskedmidtex set.
...
This was neither fixed in Boom nor MBF.
2016-06-21 10:45:17 +02:00
MajorCooke
613fa4c9e4
Fixed: GetDistance was missing the original Z check disabling introduced in commit bd16ccb
.
2016-06-21 10:14:25 +02:00
MajorCooke
9df65f73fc
Localized the input checker into P_Thing_CheckInputNum now called by both ACS and DECORATE..
2016-06-20 09:41:46 -05:00
MajorCooke
26408a5043
Switched the pointer to AAPTR_DEFAULT.
2016-06-20 09:11:38 -05:00
MajorCooke
85a34bbb88
Added GetPlayerInput(int numinput, int ptr = AAPTR_PLAYER1).
...
- Works exactly like the ACS version, but with pointers instead. The pointer can be anything, so long as it can be identified as a player.
2016-06-20 08:49:57 -05:00
Edoardo Prezioso
6384e81d0f
- Add support for Skulltag ACS IsNetworkGame.
...
Once known as PlayerOnTeam, then it became IsMultiplayer, but Skulltag code ignored emulated multiplayer, hence the new and clearer name.
2016-06-20 09:34:41 +02:00
MajorCooke
e02ed3a6f7
Take in the targeter layers if someone disables the safety and uses 0 for start and stop.
2016-06-20 01:15:51 +02:00
MajorCooke
ecfa7415b3
This small change was left out by mistake.
2016-06-20 01:15:51 +02:00
MajorCooke
30880aab79
And a bit more optimization...
2016-06-20 01:15:50 +02:00
MajorCooke
2b91db7b3a
Refactored A_ClearOverlays.
2016-06-20 01:15:50 +02:00
MajorCooke
dd410876cf
Added A_ClearOverlays(int start, int stop, bool safety).
...
- Clears a set of overlays in ranges [start,stop]. If unspecified, wipes all non-hardcoded layers. Safety determines whether to affect core layers or not (i.e. weapon). Returns the number of layers cleared.
Added no override boolean to A_Overlay and a boolean return type.
- If true, and a layer already has an active layer, the function returns false. Otherwise, sets the layer and returns true.
2016-06-20 01:15:49 +02:00
Edoardo Prezioso
2f6c98ead3
- Added support for old Skulltag ACS PlayerTeam.
2016-06-19 22:57:42 +02:00
Edoardo Prezioso
de55d693f9
- Fixed ACS Singleplayer for non-net multiplayer.
2016-06-19 12:59:46 +02:00
Christoph Oelckers
8cf150e68a
- set up portal rotations in the finalizing step, not during initialization.
...
Anything earlier may miss some information required to do this correctly.
2016-06-19 12:40:38 +02:00
Christoph Oelckers
da05dfa72e
fixed: Polyobject-based line portals may not cache their angle as it may change at any time.
2016-06-19 12:32:45 +02:00
Edoardo Prezioso
4e148f00e6
- Fixed wrong Skulltag ConsoleCommand pcode name.
...
Also report this pcode as not supported by the program.
2016-06-19 12:01:29 +02:00
Christoph Oelckers
cebd877191
- fixed the center point calculation for triangular sectors.
...
The old method does not work as expected with the higher precision of doubles, so instead just average the 3 vertex positions to get the triangle's center.
2016-06-19 11:48:20 +02:00
Edoardo Prezioso
56508a2d82
- Avoid issues with misused Strife actions.
2016-06-17 23:09:34 +02:00
Leonard2
24c73071f4
Fixed a crash with A_JumpIfNoAmmo
...
Non-weapon layers can pass the caller check even when there is no ReadyWeapon
2016-06-17 18:36:57 +02:00
Leonard2
68c483c041
Renamed the weapon action function caller check to ACTION_CALL_FROM_PSPRITE to avoid confusion
...
This was always checking for every psprites rather than just weapon layers
2016-06-17 18:36:57 +02:00
Leonard2
abc7113e09
Removed the INSTATECALL flag because it is now unused and was replaced by stateinfo
2016-06-17 18:36:57 +02:00
Christoph Oelckers
05fabbe294
- fixed: G_InitNew may only clear the hub statistics when it is not called during loading of a savegame.
2016-06-17 16:14:58 +02:00
Christoph Oelckers
2c928a2cda
- fixed: Strife's firehands' coordinates need WEAPONTOP being added because it cannot be taken from the main weapon layer which no longer exists when the hands appear.
2016-06-17 15:26:00 +02:00
Christoph Oelckers
018615ca0d
- fixed weapon-based Psprite adjustment to always use the weapon this was called from and make non-weapon specific checks only exclude the targeter.
2016-06-17 14:14:35 +02:00
Edoardo Prezioso
574f2936d4
- Fixed GCC/Clang compiler errors and warnings.
2016-06-17 10:19:03 +02:00
Christoph Oelckers
cfaa3e3fa9
- changed action function interface so that callers can be identified directly, instead of guessing it from looking at the parameters.
...
With arbitrary PSP layers the old method was no longer safe because the layer ID was not available in the action function.
2016-06-16 16:16:27 +02:00
Christoph Oelckers
7ccdbf9b62
Merge branch 'PSprites'
2016-06-16 16:16:16 +02:00
MajorCooke
c9f4620702
Reimplemented P_SetPsprite.
2016-06-16 07:24:00 -05:00
Xaser Acheron
de0301a704
split bfg self-damage code into its own function, A_RadiusDamageSelf
2016-06-16 00:43:07 +02:00
Xaser Acheron
481ef7a5b5
added SMMU-BFG11k-style 'damrad' property to A_BFGSpray
2016-06-16 00:43:07 +02:00
Xaser Acheron
8e8248284a
added BFGF_HURTSOURCE and BFGF_MISSILEORIGIN to A_BFGSpray
2016-06-16 00:43:06 +02:00
MajorCooke
2d4eb8dde4
- Added limit parameter to A_RailAttack and A_CustomRailgun.
2016-06-14 18:20:43 -05:00
Christoph Oelckers
f1597a5d26
- fixed: Trace should set CrossedWater only if a water surface actually is crossed, i.e. the start of the trace and the end of the trace are on different sides of the surface.
...
This was incorrectly spawning splashes when shooting inside a deep water sector, but in most cases the splash just was not visible. It could become visible if its position got clipped by a nearby one-sided wall.
2016-06-13 21:30:58 +02:00
MajorCooke
82bc5e7bd1
Fixed wrong token for Light keyword.
2016-06-13 09:50:12 -05:00
Christoph Oelckers
d74584e5b2
- fixed: DAnimatedDoor must not start an interpolation on the door sector's ceiling.
2016-06-13 13:58:39 +02:00
Braden Obrzut
624c935385
- Fixed: Floating point conversion error in SBarInfo DrawBar which broke interpolation.
2016-06-12 06:28:50 -04:00
Christoph Oelckers
b8e392eaa5
- do not try to load empty BEHAVIOR lumps.
...
These would otherwise print an error message but there's a lot of maps out there which only have an empty entry to mark the map as Hexen format.
2016-06-12 11:45:25 +02:00
Christoph Oelckers
373c59f924
- fixed inverse sign for rocket trail particle movement.
2016-06-12 00:05:23 +02:00
Christoph Oelckers
db2cef96d6
- removed unnecessary FLOAT2FIXED call in particle code.
2016-06-11 23:43:07 +02:00
MajorCooke
4c8028d64b
- Fixed a discrepancy with A_FaceMovementDirection involving pitch adjustments going the wrong way both in motion, and standing still.
2016-06-11 14:07:27 -05:00
MajorCooke
fb286d1737
- Changed endsize to sizestep. Endsize affected more things than I thought it would.
2016-06-11 08:05:29 -05:00
Leonard2
ebe3f23677
Added GetCVar(string name)
...
Works like ACS's GetCVar
2016-06-11 10:15:49 +02:00
MajorCooke
d8bf958a06
Fixed: Frozen particles would still be deleted when frozen instead of doing nothing with.
2016-06-11 10:00:50 +02:00
MajorCooke
f787056198
- Added endsize parameter and SPF_NOTIMEFREEZE for A_SpawnParticle.
...
SPF_NOTIMEFREEZE processes particles with this flag regardless of time freeze. The endsize parameter changes the scale of the particle to that size throughout its lifetime linearly.
2016-06-11 10:00:50 +02:00
Christoph Oelckers
c4d8950a7f
- fixed: APROP_Friction was missing a 'break'.
2016-06-10 13:23:23 +02:00
Christoph Oelckers
ef86b3975a
- added 'strictdecorate' CVAR. If this is set to 'true', any DECORATE error that had to be demoted to a warning for backwards compatibility will be treated as an actual error.
2016-06-08 10:56:11 +02:00
Christoph Oelckers
cf21bb1524
- reinstated abort-on-error for any problem that gets reported during DECORATE code generation.
...
- fixed: DECORATE allowed a silent conversion from names to integers.
In old versions the name was converted to 0, since the scripting branch to the name index. Reverted to the old behavior but added a warning message.
2016-06-08 10:46:35 +02:00
Christoph Oelckers
1703842a94
- fixed some issues with teleport fog:
...
* many calls didn't use TELEFOGHEIGHT, mostly those coming from external code submissions that never were tested on anything but Doom. Addressed by adding this value inside P_SpawnTeleportFog and making the distinction between projectiles and non-projectiles from P_Teleport also part of this function.
* there were still a few places which spawned the teleport fog directly, skipping all the added features of P_SpawnTeleportFog.
2016-06-06 10:48:40 +02:00
MajorCooke
53837de17d
Added DONTFLIP flag.
...
- By default, when viewing a flat sprite from behind, the image is flipped around on the X axis. This may not always be desired, so this flag disables it.
2016-06-05 15:21:19 -05:00
Christoph Oelckers
8a08fb2f6a
- fixed nullptr/bool mixup.
2016-06-04 20:52:56 +02:00
Leonard2
0b88bae458
The strife firehands now make proper use of the psprite layers
2016-06-03 19:46:31 +02:00
Leonard2
afa708c138
Allow psprite layers to be manipulated directly from the player's own body
2016-06-03 19:18:58 +02:00
Leonard2
eeff17c550
Account for this on the renderer's side instead
...
This fixes the weapon's layer behaving differently when called from
A_Overlay (the flag would be set in this case breaking the offsets)
2016-06-03 00:50:12 +02:00
Leonard2
543414d31f
Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
...
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Leonard2
bc334ccc9f
Avoid creating the targeter layers if the inventory item isn't attached to
...
its owner yet
2016-06-03 00:50:11 +02:00
Leonard2
e1f139ddcd
The targeter layers now use a proper Caller
...
This will avoid having to check for certain stuff and also allow them to not be destroyed when the ReadyWeapon is null like before
2016-06-03 00:50:10 +02:00
Leonard2
8244d2c844
Make sure never to call GetPSprite when the ReadyWeapon is null
2016-06-03 00:37:55 +02:00
Leonard2
9ee5e57340
Call GetPSprite here to update the ReadyWeapon but avoid doing so if it
...
is null
TickPSprites will take care of destroying the weapon/flash layers if the
ReadyWeapon is null
2016-06-03 00:37:54 +02:00
Leonard2
f14a840777
The ReadyWeapon is now assumed to not be null
2016-06-03 00:37:54 +02:00
Leonard2
8668719bbc
Revert "- re-added P_SetPSrite."
...
This reverts commit e6d89b9f71
.
2016-06-02 20:02:03 +02:00
Leonard2
d933f77bf5
Fixed: the game could crash if some inventory items were destroyed in a
...
certain way
2016-06-02 20:00:22 +02:00
Christoph Oelckers
2afadb0108
- fixed: ADehackedPickup was missing NULL pointer checks in nearly all methods that used RealPickup.
...
Some DECORATE hacks make it possible that this does not contain a valid pointer when these methods are called.
2016-06-01 23:41:34 +02:00
Christoph Oelckers
26a15d0ccc
- delete thinkers before starting to restore the savegame data to avoid interference of the old thinkers' Destroy() method with the newly loaded data.
...
Note that even with this change it is still not possible to unarchive any thinker pointers before the thinker list has been loaded as it would create broken lists.
2016-06-01 11:43:56 +02:00
Christoph Oelckers
978e522fb4
- fixed: portal-related sound calculations offset the sound in the wrong direction.
2016-06-01 11:14:25 +02:00