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
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
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
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
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
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
Blue-Shadow
69a00ddabb
Added TRANSFERTRANSLATION morph flag
2016-07-24 00:56:57 +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
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
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
MajorCooke
7ded355d5d
Added rollcenter compatibility.
2016-07-13 09:29:36 +02:00
Leonard2
bdeb233849
Fixed: conditionals didn't properly compile to vm code
2016-07-12 19:50:37 +02:00