Commit graph

1274 commits

Author SHA1 Message Date
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
Blue-Shadow
69a00ddabb Added TRANSFERTRANSLATION morph flag 2016-07-24 00:56:57 +02:00
yqco
4d6532d303 Added RGF_NORANDOMPUFFZ flag for A_CustomRailgun and A_RailAttack 2016-07-22 02:46:41 -06: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
35c30ab62f Fixed missing constants. 2016-07-16 20:28:43 -05: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
da9f4cc1dd Added 'ammo display order' item to options menu 2016-07-16 16:15:59 +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
m-x-d
1cf51791de Adds //%Title property to all locks to make parsing LOCKDEFS by map editors more feasible.
Fixes: Strife Base key Message now uses LANGUAGE string.
2016-07-12 23:52:04 +02:00
Christoph Oelckers
522b2f4706 - updated xlat/eternity.txt for reference. 2016-07-12 23:50:45 +02:00
Christoph Oelckers
0b93e9b897 Merge branch 'roll' of https://github.com/MajorCooke/zdoom 2016-07-04 00:43:16 +02:00
Christoph Oelckers
148de414e0 - fixed: Checking for quest item 0 should not print an error message but silently fail. 2016-07-03 13:32:40 +02:00
Christoph Oelckers
593e2f7641 - fixed spelling. 2016-06-29 13:03:39 +02:00
jayman2000
43e62c4236 Added sliders in the display options menu to control movebob and stillbob. 2016-06-29 13:02:55 +02:00
Christoph Oelckers
ce0c2863b0 - set 'maskedmidtex' compatibility option for Caverns of Darkness MAP07. 2016-06-21 10:31:25 +02: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
MajorCooke
630dc8c8cd Fixed execution prevention. 2016-06-19 22:18:43 -05: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
Christoph Oelckers
7ccdbf9b62 Merge branch 'PSprites' 2016-06-16 16:16:16 +02: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
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
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
Leonard2
afa708c138 Allow psprite layers to be manipulated directly from the player's own body 2016-06-03 19:18:58 +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
Christoph Oelckers
9cf1d96698 - added identification for delaweare.wad to the list of supported IWADs. 2016-06-02 12:04:35 +02:00
MajorCooke
bb91723174 - Added GetCrouchFactor(ptr).
Gets the crouch factor of a player. Can be set to target/master/tracer, as long as it's a player. Defaults to the first player.
2016-05-29 12:43:46 +02:00
MajorCooke
2719905ade - Added source and inflictor parameters to all A_Damage/Kill functions.
- Source is the actor to blame for the cause of damage (monster infighting for example). For missiles, modders should consider setting to AAPTR_TARGET.
- Inflictor is the actor doing the damage itself. Note that by changing this, it will take into account the flags on the pointed actor.
2016-05-29 12:40:17 +02:00
Roadcrosser
334962da2c Corrected death message not being gender neutral. 2016-05-29 12:38:36 +02:00
Leonard2
2f5ae3b51e Changed the default layer indices and renamed them
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c Added A_OverlayFlags
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
MajorCooke
1b1195df6a - Added limit parameter to A_RadiusGive.
- The function ends operation if the number of successfully given actors reaches this count.
2016-05-23 21:11:26 -05:00
Leonard2
8c205ebac3 Added A_OverlayOffset
Like A_WeaponOffset except it can access any psprites
2016-05-20 17:04:45 +02:00
Leonard2
1ecfb5897b Added A_Overlay 2016-05-20 17:04:45 +02:00
Christoph Oelckers
f22adcc398 - be more thorough with Eternal Doom MAP03. The compatibility option does not seem to fully solve the problem, so let's just clear the tags in the bogus stair sectors. 2016-05-18 21:06:07 +02:00
Christoph Oelckers
ae3f50d1b2 - set a compatibility option to build the stairs in Eternal Doom MAP03 correctly. 2016-05-18 13:11:31 +02:00
MajorCooke
cd3a3d4472 Not like this makes a difference. 2016-05-18 11:19:24 +02:00
MajorCooke
115dbd0b58 - Added A_WeaponOffset(x = 0, y = 32, flags).
- Places the weapon offset by the defined x and y. Both are floats. This stacks with weapon bobbing.
- WOF_KEEPX: Don't change the X offset.
- WOF_KEEPY: Don't change the Y offset.
- WOF_ADD: Add onto instead of replacing the coordinates.
2016-05-18 11:19:24 +02:00
MajorCooke
2ba26693d1 - Added 3D Floor + Portal awareness, along with flags to turn off detection of both features. 2016-05-12 22:15:06 +02:00
MajorCooke
b91ed5dc5d Added GetZAt DECORATE function.
- float GetZAt(x, y, angle, flags, pick_pointer);
- Gets the floor z  at x distance ahead and y distance to the side in relative form from the calling actor pointer. Flags are as follows (GZF_ prefix):
- CEILING: Returns the ceiling z instead of floor.
- ABSOLUTEPOS: x and y are absolute positions.
- ABSOLUTEANG: angle parameter does not add the pointer's angle to the angle parameter.
2016-05-12 22:15:05 +02:00
MajorCooke
39f64383cb Changed RTF_THRUSTZ to match RADF_THRUSTZ's bitmap. 2016-05-11 19:41:33 +02:00
MajorCooke
952219a018 Added RTF_THRUSTZ for A_RadiusThrust.
- Allows thrusting with Z velocity.
2016-05-11 19:41:33 +02:00
MajorCooke
0bf7c3e362 - Removed FlatAngle. This will come back hopefully in another commit sometime in the future. 2016-05-01 17:19:39 -05:00
MajorCooke
f41dcc75d1 FlatAngle can now be defined directly via properties. 2016-05-01 16:33:00 -05:00
MajorCooke
a8248433e9 - Updated <pitch>/flat/roll/wall sprites submission to 2.9+. (ZDoom compatibility submission. )
- FLATSPRITE: An actor becomes flat as if they were a decal on the floor.
- PITCHFLATSPRITE: A flat sprite tilts up and down based on pitch.
- WALLSPRITE: Similar to a Y billboarded sprite. The degree of the flattening is determined by the FlatAngle property.
- ROLLSPRITE: The sprite of the actor is affected by the Roll property.
2016-05-01 08:45:50 -05:00
Christoph Oelckers
4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
MajorCooke
6f11a65893 - Converted rollIntensity from int to double.
- It was already a double in the save version serialization so nothing had to be changed there.
2016-04-27 12:58:18 -05:00
MajorCooke
c972caa9f3 - Added rollIntensity and rollWave to A_QuakeEx.
- Instead of moving the camera around, it rolls the camera.
- This only has an effect in GZDoom.
2016-04-27 13:42:15 +02:00
Christoph Oelckers
f5afa30ee6 - added GetAngle(bool relative, int target) DECORATE function. 2016-04-27 11:52:52 +02:00
Christoph Oelckers
61b165ccc4 - fixed the camera height setting for the camera actors.
The scripting branch changed camera semantics to default to an actor's center - which for monsters and decorations makes sense - but not for simple mapspots that get used as camera. For those the CameraHeight must be explicitly set to 0.
2016-04-27 11:38:54 +02:00
Christoph Oelckers
172290224b - make modes 2 and 3 of Teleport_NoFog compatible with Eternity by defaulting to mode 1 when no line is available. 2016-04-25 01:01:28 +02:00
Randy Heit
593f6c29ad Use 2 decimal places for volume sliders, since they move in 0.05 increments 2016-04-23 22:38:55 -05:00
Christoph Oelckers
f420ccd287 - made Teleport_NoFog compatible with Hexen and Eternity.
ZDoom defaulted to Boom's (buggy) angle adjustment.
Changed it so that
 * Mode 0 is like Hexen, performing no adjustment at all. This still should match all known maps using this special.
 * Mode 1 remains unchanged.
 * Mode 2 replicates Boom's broken angle adjustment and is used in the xlat file.
 * Mode 3 implements the correct angle adjustment that Boom originally intended.

 (Note: Should some map require something different it should be handled with compatibility.txt instead of reverting this back to the broken way it was before.)
2016-04-23 21:32:40 +02:00
Christoph Oelckers
ed070cfe06 - updated xlat/eternity.txt. 2016-04-21 13:01:57 +02:00
Randy Heit
074bce643a Fixed: A_SetAngle had accidentally had the "action" specifier removed 2016-04-20 20:03:05 -05:00
Christoph Oelckers
082042818b - refactored sector portal data so that it does not rely on actors.
This is necessary because otherwise the level data cannot be serialized before the actors.
2016-04-20 19:20:11 +02:00
Randy Heit
60966f472f Revert "Revert "Remove "action" from Actor functions that don't actually need it""
- This reverts commit 06216d733e.
- I don't know what I was thinking. Since stateowner is always available
  to the wrapper function, and this code is only generated for the wrapper
  function, it's a nonissue. The state is already located before calling
  any function that uses it.
2016-04-19 21:09:15 -05:00
Randy Heit
06216d733e Revert "Remove "action" from Actor functions that don't actually need it"
- This reverts commit 39df62b20e.
- Anything that needs to lookup a state also needs stateowner. See
  FxMultiNameState::Emit(). I will need to be more selective when
  de-actionifying functions.
2016-04-19 20:56:43 -05:00
Randy Heit
5d3e413d42 Make A_Stop an action function again
- A_Stop takes no parameters, so it should be an action function to avoid
  creating the wrapper when called.
2016-04-19 20:46:30 -05:00
Randy Heit
39df62b20e Remove "action" from Actor functions that don't actually need it
- An actor function really only needs to be an action function if:
  1. It can be called with no parameters specified, either because it takes
     none or because all its parameters are optional. This lets SetState()
     call it directly without creating a wrapper function for it.
  2. It wants access to the callingstate or stateowner parameters. Most
     functions don't care about them, so passing them is superfluous.
2016-04-19 20:28:49 -05:00
Randy Heit
c795f29cc4 Reduce calling overhead for A_SetUser* functions by making them non-action functions 2016-04-18 23:18:34 -05:00
Christoph Oelckers
30a530b178 - fixed: TAG_BLASTERP was on the wrong actor. 2016-04-19 02:06:36 +02:00
Christoph Oelckers
e48c4d3e44 - added tag strings for Heretic's powered weapon versions. 2016-04-19 01:00:09 +02:00
Christoph Oelckers
fd27c8db9e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
#	src/version.h
2016-04-04 01:21:24 +02:00
Randy Heit
0cc2705b99 Added A_LogFloat 2016-04-03 16:12:35 -05:00
Christoph Oelckers
0eb35d6c6e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
2016-03-30 09:47:25 +02:00
Randy Heit
b6e3358b1c Add A_SetUserVarFloat and A_SetUserArrayFloat 2016-03-29 22:41:37 -05:00
Christoph Oelckers
70d87f94f2 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_acs.cpp
#	src/r_utility.cpp
#	src/thingdef/thingdef_codeptr.cpp
#	src/version.h
2016-03-23 14:15:24 +01:00
MajorCooke
b16e696157 - Added offset and angle parameters to A_CheckBlock.
- Includes 2 flags, affixed by CBF_: AbsolutePos, and AbsoluteAngle.
- AbsolutePos: Absolute position of where to check.
- AbsoluteAngle: Angle parameter is used as is, not added onto the actor's current angle.
2016-03-23 14:05:31 +01:00
Christoph Oelckers
0d1fbcf65f - flattened the following commits by Major Cooke:
* Added falloff parameter to A_QuakeEx.
- Treated just like A_Explode's 'fullradiusdamage' parameter, where the quake will fall off from this distance on out to the edge. Default is 0, which means no falloff.
- Credits to MaxED and Michaelis for helping.

* - Added HighPoint parameter to QuakeEx.
- Allows fine tuning of where the quake's maximum or minimum occurs, in tics. This must be a range between [1, duration).
- For up or down scaling quakes, this sets the quake to reach maximum sooner or start minimizing later.
- For both, this indicates when the strongest will occur. Default is 0, or in the middle.

The original commits were nearly impossible to find in the convoluted commit tree, so I think it's preferable to have one clean commit instead.
2016-03-23 14:03:10 +01:00
Christoph Oelckers
f60eac8dc0 - floatified FMapThing, dropoffz and GetBobOffset 2016-03-23 12:21:52 +01:00
Christoph Oelckers
af427b80bd - did some cleanup and consolidation on damage factor code while converting it all to floating point.
- made armor properties floating point.
2016-03-22 16:35:41 +01:00
Christoph Oelckers
cf79e1cb6d - fixed some leftover fixed point remnants in g_hexen.
- made the full-coordinate version of P_SpawnPlayerMissile use float coordinates.
2016-03-22 00:30:56 +01:00
Christoph Oelckers
51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers
51ab60178a - added portal overlays to automap. 2016-03-13 12:33:58 +01:00
j-palomo
0269aeea80 Fixed: MNU_COLORPICKER defined twice in language.eng 2016-03-13 02:56:20 +01:00
alexey.lysiuk
c7c2beee2c Fixed A_Blast parameter type and default values
Default values for strength and speed parameter are fixed type, not integers
Also strength parameter needs to have floating point type
2016-03-12 13:11:46 +02:00
Christoph Oelckers
346fae82c7 - fixed beta Lost Soul's states. 2016-03-12 10:54:14 +01:00
Christoph Oelckers
7c47e6ddb2 - how about updating the reference first before adding this stuff... Overlooked those two because my Eternity repo was not fully up to date. 2016-03-08 16:05:53 +01:00
Christoph Oelckers
6787dfeafb - updated xlat/eternity.txt 2016-03-08 16:01:26 +01:00
MajorCooke
af50a79e55 - Fixed: ScaleY was not defaulting to ScaleX when specified as 0, which is how the behavior originally was in 2.8. This behavior can now be toggled with a new boolean, 'usezero'. 2016-03-07 09:02:34 -06:00
Christoph Oelckers
5c1ec2c0bf - added some more British English text variants. 2016-03-04 01:46:37 +01:00
Michael Labbe
a28c8091fc UI support for 21:9
- Can specify aspect ratio 21:9 in video menu
 - menu_screenratios cvar can now force 21:9
2016-03-03 17:31:12 -06:00
Christoph Oelckers
d8c009bb41 - fixed: A_Blast read the blast radius as an int, but used it as fixed_t. Also changed the definition of this parameter to float. 2016-03-03 10:23:04 +01:00
MaxED
81a5273b58 Added "Miscellaneous Options" -> "Save/Load confirmation" option (defaults to true). When disabled, confirmation dialog won't be shown when performing quicksave/quickload. 2016-03-03 09:59:26 +01:00
MajorCooke
59ad6206de Added CBF_NOACTORS to A_CheckBlock.
- Self explanatory, doesn't count actors as blocking them.
2016-03-02 20:35:54 -06:00
MajorCooke
fb3769a730 Added offsetforward to A_CheckLOF.
- offsetforward is to A_SpawnItemEx's x offset property, just like offsetwidth is to y offset.
2016-03-03 02:58:43 +01:00
Randy Heit
c160121f45 Add float casts to DECORATE for the sake of completeness 2016-03-01 11:36:15 -06:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
44a6cafd4b - we are using C++11 now, so all those old VC 2005 project files are of no use anymore. 2016-03-01 09:38:49 +01:00
Christoph Oelckers
6bcaa51968 - updates eternity.xlat. 2016-02-29 21:40:37 +01:00
Randy Heit
7f57f68ce1 Added GetSpawnHealth() and GetGibHealth() for DECORATE 2016-02-25 10:08:08 -06:00
Christoph Oelckers
0f871a1d21 - fixed some language issues with the menu. 2016-02-25 09:27:30 +01:00
Christoph Oelckers
5b99691fd4 - updated xlat/eternity.txt 2016-02-25 01:09:01 +01:00
Blue-Shadow
81cca69303 Fixed "Detailed save messages" option's value
The value for that option was displayed as "Unknown", instead of "On" or
"Off".
2016-02-24 14:52:29 +03:00
Christoph Oelckers
8e2a629e5a - missed a semicolon, 2016-02-24 11:19:58 +01:00