Commit graph

7446 commits

Author SHA1 Message Date
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
MajorCooke
35c30ab62f Fixed missing constants. 2016-07-16 20:28:43 -05: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
da9f4cc1dd Added 'ammo display order' item to options menu 2016-07-16 16:15:59 +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