Commit Graph

6842 Commits

Author SHA1 Message Date
Christoph Oelckers f1ba19073f - split Damage into two variables: DamageVal for the old constant and DamageFunc for the DECORATE function.
The way this was done was a major headache inducer, requiring reconstruction of the function each time the value was changed and in general made actor damage a major hassle.
There was a DECORATE wrapper to mimic the original behavior but this looked quite broken because it completely ignored the different semantics of both damage calculation types.
It also made it impossible to determine if damage was a function or a value.
This accessor has been reverted to what it should be, only returning the constant, which now is -1 for a damage function. I am sorry if this may break the odd mod out but a quick look over some DECORATE-heavy stuff showed that this was never combined in any of them so that accessing 'damage' in DECORATE code depended on an actual damage function.

To get proper damage, a future commit will add a DECORATE function which calls AActor::GetMissileDamage.
2016-09-19 03:36:51 +02:00
Christoph Oelckers 967ed48fd3 - fixing. 2016-09-19 01:48:48 +02:00
Christoph Oelckers 718614a820 - cleanup 2016-09-19 01:07:51 +02:00
Christoph Oelckers a5628518c1 - cut down on data size by not saving trivial defaults. 2016-09-18 16:41:34 +02:00
Christoph Oelckers 9313a99e12 - started implementing a JSON based serializer. Unfortunately it is far too slow to be of any real use. 2016-09-18 13:26:34 +02:00
Christoph Oelckers 3db7d9ad84 - fixed: AActor::alternative was not declared as a pointer. 2016-09-18 12:22:56 +02:00
raa-eruanna 476b727d5d "actorlist" and "actornum" no longer return already-owned inventory objects 2016-09-16 00:47:56 -04:00
raa-eruanna ac70f77e44 Added the following ccmds:
actorlist, actornum, monsternum, itemsnum, countitemsnum
Modified the following ccmds:
 monster, items, countitems

All commands with "num" at the end simply print a count of their respective filters, all other listed commands now print a list and a count.
2016-09-15 15:09:36 -04:00
Magnus Norddahl 0d27996a64 Replace CheckRatio with AspectTallerThanWide in DrawHUD 2016-09-15 07:52:53 +02:00
Magnus Norddahl 48f491cfd1 Fix video mode selection bug 2016-09-15 07:52:53 +02:00
Leonard2 cb17e109f1 Added "division by zero" to the VM-aborting errors 2016-09-14 20:47:00 +02:00
Leonard2 65af26f962 The VM now properly aborts on critical errors 2016-09-14 20:46:18 +02:00
Major Cooke 3b2359959e Quakes must use their own independent falloffs.This caused discrepencies and sudden drop-outs in stacked quakes otherwise. 2016-09-13 23:06:57 -05:00
Braden Obrzut f1bca9d20e The old DirectX setup is required to utilize v140_xp.
Revert "- removed DirectX setup from CMakeLists for Visual Studio"

This reverts commit 954ac8ce5e.
2016-09-13 20:12:59 -04:00
Magnus Norddahl 017d1cee29 Change canvas rendering to use the aspect ratio of the canvas and generalize 5:4 rendering as AspectTallerThanWide 2016-09-13 23:42:05 +02:00
Magnus Norddahl 172f58c165 Fix 5:4 aspect ratio gun and status bar 2016-09-13 23:42:05 +02:00
Christoph Oelckers ba68cfd611 - do not even allow creation of names in C_RemoveTabCommands if there are no tab commands, so that FindName cannot be called after the NameManager has been destroyed. 2016-09-13 21:01:50 +02:00
Christoph Oelckers e10abcad06 - fixed: The TabCommands array needs to be cleared before the NameManager is destroyed.
TabCommands use an FName to store the command's name so once the NameManager is destroyed its data will become invalid.
This is a problem because C_RemoveTabCommand is being called from FBaseCVar's destructor and most CVARs are global variables.
2016-09-13 10:43:53 +02:00
Christoph Oelckers 823f75e592 - fixed: UDMF user value lists need to be sorted for binary search to work but weren't. 2016-09-12 21:32:17 +02:00
alexey.lysiuk b308a7df52 Proper name of FMOD .dylib in loading path adjustment for macOS 2016-09-12 20:37:13 +02:00
alexey.lysiuk 9c91686e0f Set delay loading for proper .dll depending on FMOD version (Studio vs. Ex) 2016-09-12 20:37:13 +02:00
alexey.lysiuk 7e61a1ce2b Added simple detection for FMOD Studio API in CMake 2016-09-12 20:37:12 +02:00
alexey.lysiuk c88eec3d73 Fixed 'unreferenced local variable' warnings when building with FMOD Studio API 2016-09-12 20:37:12 +02:00
alexey.lysiuk 764705a8e0 Fixed 'Could not set resampler method. Defaults will be used. (Error 31)' message with FMOD Studio API 2016-09-12 20:37:11 +02:00
alexey.lysiuk a2a1d2a36d Fixed significant distortion of sound effects with FMOD Studio API 2016-09-12 20:37:11 +02:00
Magnus Norddahl 01b1efe9ee Switch from abs to fabs 2016-09-12 18:44:04 +02:00
Magnus Norddahl 4e58e6626c Fix buffer overrun in CommandAspectRatio for 21:9 aspect ratio 2016-09-12 16:05:42 +02:00
Magnus Norddahl 5b438d220f Switch from ratio enum to float 2016-09-12 15:51:50 +02:00
Magnus Norddahl 6d4e4dad25 BaseRatioSizes replacement functions 2016-09-12 14:37:10 +02:00
Magnus Norddahl 5720634045 Add ActiveRatio to be used where CheckRatio is used today 2016-09-12 13:59:01 +02:00
Magnus Norddahl b003c47e3e Improve CheckRatio to always return the closest ratio 2016-09-12 13:37:05 +02:00
Magnus Norddahl d3d8180f57 Resize framebuffer in windowed mode to match the client area 2016-09-12 13:04:36 +02:00
raa-eruanna 02e4ba464a Fixed mirror angle issue, fixes rendering of mirrors 2016-09-10 08:56:40 +02:00
Magnus Norddahl 303da0e071 Fix center text alignment issue 2016-09-09 20:09:54 +02:00
Magnus Norddahl e794e59cd2 Add con_scale for scaling just the console 2016-09-08 00:39:52 +02:00
Magnus Norddahl d2f8fc63fc Scale the console itself as specified by con_scaletext 2016-09-08 00:39:51 +02:00
Magnus Norddahl 6414e01354 Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext 2016-09-08 00:39:51 +02:00
Major Cooke 01e9d351b4 - Don't pass flags directly from A_Explode to P_RadiusAttack. XF_EXPLICITDAMAGETYPE would cause explosions to deal no damage otherwise. 2016-09-08 00:38:12 +02:00
Major Cooke 043ada24da Wave quakes now stack. 2016-09-08 00:38:12 +02:00
Major Cooke ce13b5c6e1 Enhanced FastProjectile trails.
- Trails now copy pitch, and set the projectile as the target.
- Added GETOWNER flag. Using it sets the owner of the fast projectile as the target instead, if it has an owner.
2016-09-08 00:38:11 +02:00
yqco 2e8aa53e6a Add SetActorFlag ACS function
int SetActorFlag(int tid, str flagname, bool value);

- Mimics DECORATE's A_ChangeFlag
- Returns number of actors affected (number of things with the flag)
- Affects activator if TID is 0

# Conflicts:
#	src/p_acs.cpp
2016-09-07 20:44:56 +02:00
Christoph Oelckers f536523fbd - It's Height, not height... 2016-09-06 22:36:53 +02:00
Christoph Oelckers 5a3147407e - fixed floatification error in A_MaulerTorpedoWave. 2016-09-06 22:34:59 +02:00
Christoph Oelckers 3ce25bc348 - fixed: FxPreIncrDecr depended on undefined compiler behavior.
It could only work with right to left function argument processing, but with left to right it failed because the ParseExpressionA call altered sc.TokenType.
Note that with register-based arguments on 64 bit platforms this is a very critical issue!
2016-09-06 08:41:13 +02:00
Christoph Oelckers 954ac8ce5e - removed DirectX setup from CMakeLists for Visual Studio
For VS 2015 this is no longer needed, the DX headers and libraries are part of the Windows SDK and do not need to be looked for explicitly.
2016-09-04 10:28:29 +02:00
Christoph Oelckers eff03d13f0 - fixed last commit. 2016-09-04 10:28:29 +02:00
alexey.lysiuk 677efb73bc Fixed compilation with GCC/Clang
No longer aborts with error: cannot pass object of non-trivial type 'FString' through variadic method; call will abort at runtime
2016-09-04 10:05:07 +03:00
Christoph Oelckers 77ac3bb265 - fixed angle range checks in A_CheckIfTargetInLOS.
The fixed point version had a mostly useless check that excluded ANGLE_MAX, this got incorrectly converted to floating point.
Note that this version will clamp the angle to 360°, not merely overflow like it did with the fixed point code
2016-09-04 08:33:19 +02:00
Blue-Shadow 2ed4208a1b Added IfCVarInt SBARINFO command 2016-09-03 18:55:19 +03:00
Christoph Oelckers f31346968f - added missing #include. 2016-09-03 17:29:28 +02:00
Christoph Oelckers 5770e5dfaf - split up m_specialpaths.cpp to be a separate file for each operating system.
The reason for this is that the macOS version uses a deprecated API and in order to correct this, the file needs to be compiled as Objective-C++ which requires a different extension.
2016-09-03 12:00:08 +02:00
arookas d7b5bdc0f7 Renamed Thing_Damage3 to DamageActor 2016-09-03 08:27:38 +02:00
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