Commit graph

313 commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva
b6202ffc4c Add Textured Particles 2022-11-01 21:25:31 +01:00
Ed the Bat
9bbf65df36 Add GFF_NOEXTCHANGE to Phasing Zorcher flash
The Plasma Rifle does not light the player's sprite, so we must assume the Phasing Zorcher also should not.
2022-11-01 16:46:19 +01:00
Shiny Metagross
f7c3615d3b IQM Refactor Milestone
- Removed bone manipulation code
- Implemented an index in calculateBones to optimize multi-armature actors
- Moved the bone storage object's creation to RenderModels so that the armature array can be sized there
2022-10-31 11:34:55 +01:00
Shiny Metagross
28444d4cfd Bone manipulation start
- Bone manipulation is largely finished, but I need to figure out how to multiply quaternions
2022-10-31 11:34:55 +01:00
nashmuhandes
80a31b074d Disable coronas for now 2022-10-19 22:52:27 +02:00
Shiny Metagross
5670e6f54c Some of the to-dos
- Implemented Animation parameters for A_ChangeModel
- Made a modeldef flag to treat additional model indices as just attachments, meaning they will use armature data from index 0
- Fixed an issue with A_ChangeModel where generated indices lower than smf frame amounts could not actually generate anything
2022-10-19 22:48:57 +02:00
Christoph Oelckers
1b762474f0 - added missing obituary for Strife's turret. 2022-09-28 07:56:19 +02:00
nashmuhandes
7ce364bf0f Add sv_noextraammo. When set to true, disables that weird hardcoded behavior from original Doom that gives extra ammo when picking up weapons in deathmatch 2022-09-15 20:41:16 -04:00
Rachael Alexanderson
ca6a2152b9 - add freezetics actor property 2022-09-03 17:58:16 -04:00
Rachael Alexanderson
8468f712e0 - fix arti teleport and arti teleother not respecting useplayerstartz mapflag 2022-08-26 04:11:29 -04:00
nashmuhandes
50d16c75d9 Add corona actor 2022-08-11 20:38:24 +08:00
Shiny Metagross
9ab6557822 A_ChangeModel now has generatorIndex
- To really take advantage of this function, I thought it would be useful to be able to add additional models if the user wants to. Let's say you got a player model at index 0. Your gun model has the same frames, but you don't want to duplicate the modeldef data. With generator index, you don't need to duplicate the data, just tell generator index to clone frame data from index 0.
- Implemented a little something to check if a negative skin or model index were passed, and prevent modders from pulling that off.
2022-07-22 17:11:59 +02:00
Shiny Metagross
69ee1eb0a2 Surfaceskin modification
- Made it so when rendering a model, it clones an smf to use so that data isn't overwritten
- Reimplemented the skin index property. This changes the behavior of this index if CMDL_USESURFACESKIN is activated
2022-07-22 17:11:59 +02:00
Shiny Metagross
e827e9b086 TArrays to TObjPtr
- Made the 2 TArrays into a class called DActorModelData.
- Removed the skinindex and now just uses one index
- Replaced a bunch of nullptr for modelDef checking with NAME_None
- Added some garbage cleanup to A_ChangeModel itself, as well as removing memory of modelData that is no longer needed
- Attempted serialize code, putting up for review
2022-07-22 17:11:59 +02:00
Shiny Metagross
5abadd3aab A_ChangeModeldef
-Added A_ChangeModelDef
A_ChangeModel(modeldef, modelpath, model, modelindex, skinpath, skin, skinid, flags)

This can change the modeldef, model and skins of an actor.

Currently, modelindex and skinindex accept indices from 0-15.

An actor MUST have a modeldef in order to use this function, either defined from modeldef, or given one through the modeldef parameter. You can pass "" to use the same modeldef. Likewise, passing "" for model or skin will just revert to the default model.

Available flags:
CMDL_WEAPONTOPLAYER - If used on a weapon, this instead change's the model on the player instead.

One issue I am aware of right now is that clearing a model by "" sort of works but is buggy. For now you can just manually set the model back using the names explicitly. However, I am stumped and I think getting more eyes on it would help.
2022-07-22 17:11:59 +02:00
Christoph Oelckers
ef8dd4d01e - fixed and consolidated artifact check in cheat code. 2022-07-15 07:56:22 +02:00
Christoph Oelckers
a952d0f36a -let A_FireProjectile pass through the second return value of SpawnPlayerMissile. 2022-07-14 07:59:52 +02:00
Christoph Oelckers
e1c458ab2f - fixed PoisonCloud's looping animation count. 2022-07-14 07:54:19 +02:00
Christoph Oelckers
b719ab53f8 - weapons are not artifacts. 2022-07-14 00:12:20 +02:00
Christoph Oelckers
a847dacaaa - fix scale members in actor.zs 2022-07-12 16:56:56 +02:00
Christoph Oelckers
aae1d1439a - reverted AActor::scale to a DVector2.
This was causing comparison precision issues with existing script code.
2022-07-11 12:20:34 +02:00
Christoph Oelckers
2397b9c117 - missed a ZScript declaration. 2022-06-16 08:23:09 +02:00
RaveYard
f9bf6f9311 Implement FVector ZScript for Actor Scale 2022-06-12 17:57:44 +02:00
Blue Shadow
d862bf4347 - added FailSound property to PuzzleItem 2022-06-12 17:26:18 +02:00
Major Cooke
d5e448671d Added LightLevel.
- Setting it to any value > -1 will override the sector's light level.
2022-05-31 21:00:31 +02:00
nashmuhandes
f235dcc38e Squashed commit of the following:
commit 553c4c12abd15e5f8fa02496ccfde81bdfdb53b0
Merge: cb03de5d2 add4ff12a
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Mon Feb 14 18:55:52 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

commit cb03de5d2fdcba8a32b83be32579be935c8b6600
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Tue Jan 25 12:54:33 2022 +0800

    Re-add WaterDepth to the custom namedef file

commit 8d1ff3c16018dd7c73c8950aa4c51f2bc0207837
Merge: f201e6307 a9eaae074
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Tue Jan 25 12:52:57 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

    # Conflicts:
    #	src/common/engine/namedef.h

commit f201e630706fc0ea7628b8a32bd5d88afb712208
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sun Jan 16 20:45:27 2022 +0800

    Fix compile error (MAX() -> max())

commit fe292ebd4312afe34b1e35e4c1eafba0dc168920
Merge: 3f9150c4e 12ed24d06
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sun Jan 16 20:37:58 2022 +0800

    Merge branch 'master' of https://github.com/coelckers/gzdoom into ActorFallAndSink

    # Conflicts:
    #	src/playsim/p_mobj.cpp

commit 3f9150c4eae1c5c5510e8f9b1c4bfaab46a96b8f
Author: nashmuhandes <nashbackslash@gmail.com>
Date:   Sat May 29 05:32:54 2021 +0800

    - Implement virtual Actor.FallAndSink for scriptable falling and water physics
    - Added Actor.WaterDepth to retrieve how submerged and actor is, in map units

    Original work credited to "gzdoomthrowaway"
2022-05-31 18:57:38 +02:00
Major Cooke
748156c846 Optimized CanCrossLine.
- Remove P_PointOnLineSide check
- Made CanCrossLine opt-in by requiring the CROSSLINECHECK flag.
2022-05-31 10:46:06 +02:00
Major Cooke
5afd14fd4d Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds. 2022-05-31 10:46:06 +02:00
Major Cooke
b5b2dd0903 Added CanCrossLine virtual for actors.
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-05-31 10:46:06 +02:00
Sally Coolatta
a98c1efc26 Add WorldOffset field
Adjusts the thing's 3D position on render side. This allows for adjusting a thing's visual position without impacting their hitbox.

# Conflicts:
#	src/playsim/p_mobj.cpp
2022-05-31 10:14:32 +02:00
Major Cooke
31fa78d7c9 Added the following GL Light flags:
- `DontLightOthers`: Acts as the inverse of `DontLightSelf`, where it won't light actors that aren't the owner.
- `DontLightMap`: The light doesn't affect the map.
2022-05-31 09:12:59 +02:00
Christoph Oelckers
7ba2585490 - exclude keys from ‚artifact‘ cheats 2022-05-24 00:01:51 +02:00
Rachael Alexanderson
f87c7b538a - add sv_ammofactor to change the skill adjustment for ammo 2022-05-18 15:09:13 -04:00
Christoph Oelckers
4b5431a81d - fixed radius of BossBrain actor 2022-05-09 00:00:28 +02:00
Christoph Oelckers
c855ed90ea - made friendlyseeblocks writable.
There’s really no need for this to be read-only.
2022-04-29 00:33:42 +02:00
Christoph Oelckers
519ecbe8eb - added Get/SetAmmoCapacity ZScript functions 2022-04-29 00:12:51 +02:00
Christoph Oelckers
05260d8e8a - don't let "give weapons" hand out abstract weapons. 2022-04-16 22:19:38 +02:00
Rachael Alexanderson
36245ae598 - allow artifacts that do not automatically activate to be given by the 'give artifacts' cheat 2022-04-11 15:59:20 -04:00
Lippeth
7830033722 - added vertical bullet spread relative to ssg 2022-04-09 22:46:20 +02:00
Rachael Alexanderson
a245e4faad - remove default lost soul translucency 2022-03-08 10:57:48 -05:00
Rachael Alexanderson
36629d2f80 - revert the previous two commits for now - needs further optimization and testing 2022-02-23 06:00:14 -05:00
Major Cooke
992141d8e3 Added a vector to CanCrossLine to indicate the next position the actor will be in if the move succeeds. 2022-02-23 05:20:09 -05:00
Major Cooke
bb862098ea Added CanCrossLine virtual for actors.
- Called last after all other line checks occur. Returning false means the actor cannot cross that line.
2022-02-23 05:20:09 -05:00
Rachael Alexanderson
c926b7533f - play both land and grunt sound if not the same, even if grunted (emulates pre-virtual behavior) 2022-02-17 01:36:38 -05:00
Christoph Oelckers
e6184ccb96 - silence some warnings. 2022-02-14 20:05:42 +01:00
Rachael Alexanderson
64ee08d80b - fix: player landing sound was not properly playing, error in morph logic check 2022-02-14 10:17:52 -05:00
Rachael Alexanderson
add4ff12ac - virtualize player landing on thing sound 2022-02-14 08:07:10 +01:00
Rachael Alexanderson
410c35b942 Merge commit 'refs/pull/1508/head' of https://github.com/coelckers/gzdoom 2022-01-24 12:30:59 -05:00
Major Cooke
4e8d59951b Added A_SetViewPos(Vector3 Offset, int Flags = -1)
- Offset: The offset from the actor's view to move the camera about.
 - Flags: (Default is -1, which means don't change flags)
  - VPSF_ABSOLUTEOFFSET: Don't include actor angles in calculation.
  - VPSF_ABSOLUTEPOS: Position is absolute, and disables all transformations. Modders are responsible for being portal aware!

Notes:
- `ViewPos` in Actor will be `null` until A_SetViewPos is called for the first time.

**Issues:**
- Hiding sprite while in portal incomplete.
2022-01-24 12:00:33 -05:00
Xaser Acheron
bfb79e5b32 Merge branch 'master' into feature_weaponscale 2022-01-23 20:01:59 -06:00
Xaser Acheron
e9c86017e4 apply WeaponScaleX/Y to all PSprites on a weapon 2022-01-23 19:59:06 -06:00
Xaser Acheron
0d8d4a2ad7 fix mbf21 A_FindTracer fov cone being twice as big as intended 2022-01-18 08:06:29 +01:00
Xaser Acheron
efbb31fa39 add SMF_PRECISE flag to mbf21 A_SeekTracer, for accuracy 2022-01-18 08:06:29 +01:00
Xaser Acheron
40a5c4c1c5 fix mbf21 A_SeekTracer not working (arg type shenanigans) 2022-01-18 08:06:29 +01:00
Xaser Acheron
a4b124bff8 fix mbf21 A_ConsumeAmmo ignoring explicit amount arg if weapon's ammopershot field set 2022-01-18 08:06:29 +01:00
Xaser Acheron
cf04ebb774 fix MBF21 A_WeaponProjectile spawn position 2022-01-18 08:06:29 +01:00
Christoph Oelckers
be103bd9dc - fixed: the powerup item for respawn invulnerability was never given to the player. 2022-01-07 00:39:22 +01:00
Christoph Oelckers
32de663210 - fixed MBF21's A_SeekTracer.
This cannot directly call A_SeekerMissile because that has more parameters. It now maps to a wrapper that takes care of these.
2022-01-07 00:33:56 +01:00
drfrag
2945e10a0e - More wrong tracer flags in ActorMover. 2021-12-24 16:37:58 +01:00
drfrag
395b5695ad - Fixed: ActorMover was not changing its tracer's flags. 2021-12-23 21:28:27 +01:00
Rachael Alexanderson
4db7a20f7a - apply clearscope to ApplyDamageFactor as well 2021-11-18 21:29:08 -05:00
Xaser Acheron
0b93aef776 add WeaponScaleX/WeaponScaleY properties for applying global scaling to a weapon's PSprites 2021-11-14 23:21:07 -06:00
Rachael Alexanderson
01b825b181 - apply clearscope for ApplyDamageFactor - https://forum.zdoom.org/viewtopic.php?f=15&t=73830 2021-11-13 11:07:42 -05:00
Marisa Kirisame
d5ad8b28ec PreTravelled virtual for player and inventory. 2021-10-15 17:37:19 +02:00
Marisa Kirisame
7c591cd0e9 Allow map markers to scale relative to automap zoom. 2021-10-08 16:03:51 +02:00
Christoph Oelckers
3c961a2aa2 - avoid multiple Dehacked mappings to the same function.
Due to some MBF21 related changes these would cause interference.
Instead the two affected functions, A_NailBomb and A_RadiusDamage are now separate script functions that just call A_Explode with the correct parameters.
2021-10-03 18:16:37 +02:00
Blue Shadow
f517d33ecf - fixed A_Punch having a short attack range (take 2).
The previous attempt to fix this did so partially; the range was fixed for AimLineAttack, but not for LineAttack, too.
2021-10-01 20:13:51 +02:00
Blue Shadow
3b31dda6b8 - resolved a VM abort upon morphing while the tome of power is active 2021-09-24 13:34:35 +02:00
Christoph Oelckers
08baad6e21 - fixed melee attack disance being off after adding MBF21 support. 2021-09-17 22:59:30 +02:00
Christoph Oelckers
fdf879167c - fixed bad parameter order in MinoraurSlam. 2021-09-16 07:45:09 +02:00
Christoph Oelckers
9aeb78ae97 - marked several invisible controller things to not show on the automap with the scanner powerup.
am_cheat will still show them.
2021-09-12 13:18:40 +02:00
Christoph Oelckers
73f73cdf7c - added a null check to CheckWeaponChange. 2021-08-12 20:28:04 +02:00
Christoph Oelckers
55520ed7d0 - fixed exploding barrel animation duration. 2021-08-10 18:57:31 +02:00
Kaelan
65d9d83ddd Add 'BF_ONLYVISIBLETHINGS' Flag to A_Blast
Adds 'BF_ONLYVISIBLETHINGS' flag to A_Blast, and enables A_Blast to only affect actors that have a line of sight to calling actor.
2021-07-21 06:48:50 -04:00
Christoph Oelckers
15a0baadd6 - fixed ZScript compilation. 2021-07-08 10:04:47 +02:00
Christoph Oelckers
fbf5b9f2d7 - MBF21: fix for missile flag checks. 2021-07-06 10:35:44 +02:00
Christoph Oelckers
2d63974d3a - fixed: splashes need the MOVEWITHSECTOR flag. 2021-07-02 08:16:29 +02:00
Christoph Oelckers
ff129b26d1 - MBF21: added the code generator for the new functions. 2021-07-01 17:42:24 +02:00
Christoph Oelckers
483c1f6dcf - MBF21: added the weapon functions. 2021-07-01 17:42:24 +02:00
Christoph Oelckers
c700682a36 - MBF21: ported the code pointers to ZScript.
So far it's just the functions and some initial changes to Dehacked's parser. None of this is usable yet.
2021-07-01 00:53:15 +02:00
Christoph Oelckers
1a0398ae59 - MBF21: new weapon flags.
Except for NOAUTOSWITCHTO all remappings to existing features.
2021-06-30 17:19:38 +02:00
Christoph Oelckers
b043a5a5de - add melee range support to A_Saw and A_Punch.
This is merely for MBF21 support and not a recommended editing feature! There are better ways to define the range of a player's attack!
2021-06-30 14:48:13 +02:00
Christoph Oelckers
9b3782ea0f - MBF21: remaining actor properties. 2021-06-29 22:32:38 +02:00
Christoph Oelckers
e2e8ec8b3e - MBF21: implemented thing flags. 2021-06-29 21:08:58 +02:00
Christoph Oelckers
bca8d01ab3 - MBF21: infighting groups. 2021-06-29 01:34:14 +02:00
Christoph Oelckers
dc7ba3778d - fixed explosive damage radius for clericflame.
This was fixed before but must have gotten lost somehow...
2021-06-07 07:46:13 +02:00
nashmuhandes
75e18cca3c Fixed wrong parameter type passed into TryMove here 2021-05-28 09:10:43 +02:00
Chronos Ouroboros
f19f825ccb - fix DaggerAlert using FindState incorrectly. 2021-05-28 00:34:04 -03:00
Dasperal
8c75c23822 - Fixed bug with BishopPuff moving in wrong direction 2021-05-23 19:42:38 +02:00
nashmuhandes
aeaa7f21c7 Add some new optional parameters to A_SprayDecal:
- useBloodColor: when true, the sprayed decal will be shaded to match the calling actor's blood color.
- decalColor: when defined, the sprayed decal will be shaded to the specified color. Note that this will take precedence over useBloodColor. It is recommended to use only one parameter.

Note that due to how decals work in the engine, the "decalColor" parameter will only properly colorize the decal if the image is grayscale.
2021-05-22 10:20:52 -04:00
Cacodemon345
9a860ae445 Account for portals when spawning missiles in A_FireBullets/A_CustomBulletAttack
This also gives the caller the information whether the LineAttack
hitscan passed through a portal regardless of whether it actually hit an
actor or not as a nice bonus.
2021-05-20 19:42:29 +02:00
alexey.lysiuk
98a9729da2 - fixed return type of Actor.GetCVarString()
https://forum.zdoom.org/viewtopic.php?t=72334
2021-05-20 12:01:52 +03:00
Christoph Oelckers
a3da915812 - gave the Raven invulnerability items the BIGPOWERUP flag to ensure proper respawning behavior. 2021-05-19 19:46:04 +02:00
Christoph Oelckers
28dab3889b - moved the handling of ending PowerWeaponLevel2 into PlayerPawn.Tick and restored the immediate weapon switch.
This got changed because switching weapons in EndPowerup is not safe - this can be called from weapon states where the player can end up with a different weapon being active than the one running the state.
The actual weapon switch has to be delayed until the state processing has ended.
2021-05-19 17:59:44 +02:00
Christoph Oelckers
97b8c0ccfb Revert "- fixed some uses of postincre,ment/decrements on narrow types."
This reverts commit 668f8f2cf6.

Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."

This reverts commit a94f5dd1b3.

None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
668f8f2cf6 - fixed some uses of postincre,ment/decrements on narrow types.
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
a94f5dd1b3 - added a proper error message when '--' or '++' gets used on 8 or 16 bit values. 2021-05-17 12:27:27 +02:00
Christoph Oelckers
ebbc94280e - fixed: The PrisonPass's TryPickup method did not properly report successful pickup. 2021-05-17 11:51:06 +02:00
Christoph Oelckers
cf3c573222 - give the first 16 DEHEXTRA states proper content.
No idea where this BLD2 stuff came from...
2021-05-07 23:03:46 +02:00
Blue Shadow
55ce0510c2 - added a A_SetFriendly function 2021-04-04 08:57:56 +02:00
sgrunt
0c776e3acd Move the modified behaviour to a new "resetvel" parameter 2021-03-19 20:12:20 +01:00
Blue Shadow
acd553aa6f - account for KEEPDEPLETED flag when destroying items with InterHubAmount of 0 upon leaving a level 2021-03-19 20:10:25 +01:00
nashmuhandes
229b065289 Add missing tag for Strife's KneelingGuy. 2021-03-18 19:11:37 +01:00
nashmuhandes
43937e4338 Add missing tag for the sub-Entity bosses. This was missed in the previous commit. 2021-03-15 22:05:25 +01:00
nashmuhandes
b28e5cb917 Add GetCharacterName() to retrieve an NPC's name as defined in its dialogue script, if it exists. Otherwise it will just return the same output as GetTag(). 2021-03-15 21:31:16 +01:00
nashmuhandes
45c1cc8c08 Add tag properties to Strife's enemies. 2021-03-15 20:10:49 +01:00
nashmuhandes
c7edb9d22f Add a null check in PlayerPawn::CheckFOV 2021-02-28 20:01:59 +01:00
Xaser Acheron
41ab1e4994 adjust defaults for DEHEXTRA states to match other ports:
- sprite is TNT1
- duration is -1
- next frame is itself
2021-02-24 22:46:50 +01:00
Marisa Kirisame
44b4359ba5 Add alternate "Full" mode for PowerIronFeet that prevents leaky damage. 2021-01-16 17:09:57 +01:00
Rachael Alexanderson
c28e53511c - fix bonuscount as uint 2021-01-05 19:48:32 -05:00
Rachael Alexanderson
e6c71c2f0c - reimplement fix #1267 from @drfrag666 differently - fix damagecount overflow 2021-01-05 11:09:19 -05:00
Player701
a6a02a2a6c - Fixed: RandomSpawner spawning another RandomSpawner spawning a missile could result in the second RandomSpawner being erroneously destroyed. 2020-12-02 15:30:23 +01:00
Christoph Oelckers
e19b1b2ee7 - fixed: IceGuyFX2 set its owner too late. 2020-11-25 07:37:17 +01:00
Chronos Ouroboros
75c791ecff Fixed the previous commit not accounting for mods that already fixed this internally. 2020-11-14 14:53:43 -03:00
Chronos Ouroboros
0aefc61f86 Fixed weapon bob jittering. 2020-11-14 14:34:09 -03:00
Major Cooke
7477dfa922 Converted scale and pivot to vectors, and rotation to an angle. 2020-10-25 15:42:12 +01:00
Major Cooke
a6bbddf167 Finished implementing PSprite interpolation for vertices.
- Setting WOF_INTERPOLATE on any of the functions with flags (except A_OverlayFlags) will enable one tic for interpolating.
- Setting PSPF_INTERPOLATE with A_OverlayFlags will permanently enable it for that layer, but requires manual calling.
2020-10-25 15:42:11 +01:00
Major Cooke
7c4c0163a3 Added A_OverlayPivotAlign and A_OverlayVertexOffset.
A_OverlayPivotAlign(int layer, int halign, int valign)
- Aligns the pivot point origin to a corner of the PSprite before applying offsets.
- - halign: Horizontal. Applicable constants are PSPA_<LEFT/CENTER/RIGHT>.
- - valign: Vertical. Applicable constants are PSPA_<TOP/CENTER/BOTTOM>.
- - Default is top left.

A_OverlayVertexOffset(int layer, int index, double x, double y, int flags)
- Allows offsetting the corners of the psprite, granting modders the ability to skew weapon sprites as they see fit.
- - index: The index of the vertice. Valid ranges are between [0,3].
- - x/y: Offsets of vertices.
- - flags: Takes WOF_ flags.

Other changes:
- Removed pivot point interpolation since it's pointless.
- Removed PSPF_PIVOTSCREEN due to complications with it having relativity. This will be revisited either later or in another submission.
- Added ResetPSprite() to be called with BringUpWeapon(), A_Lower(), and morph weapon raising to reset all the new properties to 0.

Nearly ready now. Just some final testing needed.
2020-10-25 15:42:11 +01:00
Major Cooke
4a3a5c3877 Replaced PSPF_PIVOTOFFSETREL with WOF_RELATIVE.
The idea behind this is to outright remove the relative position adding from the engine side and let it happen with A_OverlayOffset instead. Still more work to do.
2020-10-25 15:42:09 +01:00
Major Cooke
8f74cebd44 Added code for rotating the PSprite, courtesy of IvanDobrovski.
- However, the XY offsets are relative as a result.This must be made toggleable.
2020-10-25 15:42:09 +01:00
Major Cooke
e5ca3caa6c Setting everything up. 2020-10-25 15:42:08 +01:00
Major Cooke
60f0d35477 Added ThruBits. 2020-10-17 09:51:24 +02:00
Nash Muhandes
cfbf115c4b
Change A_OverlayTranslation to accept a named translation instead. (#1215)
For more advanced use cases, the Translation member of PSprite can be written to directly.
2020-10-12 11:43:37 -04:00
Nash Muhandes
7bea14e6b2
- Add A_OverlayTranslation to set PSprite translations (#1202)
- Added PSPF_PLAYERTRANSLATED support to the software renderer
2020-10-11 17:14:06 -04:00
Player701
ffb4c52c96 - Added NORANDOMPUFFZ flag to A_Saw 2020-10-04 08:07:13 +02:00
nashmuhandes
56a387ac82 - Fix weapon bobbing interpolation
There was a visual issue where the weapon bobbing would only start interpolating after the player's movement velocity exceeds a certain value.

(Thanks to @Doom2fan for the solution)
2020-10-04 08:06:34 +02:00
Christoph Oelckers
c1e04b29d1 - AActor size reduction
* a few shorter fields were moved into alignment gaps
* the visible angles are now stored as floats. Since these are only used for rendering the loss of precision is negligible, but this shortens AActor by 16 bytes alone.
2020-10-03 08:23:36 +02:00
Nikolay Ambartsumov
a72fdd7e3e Add MaxSlopeSteepness actor property 2020-10-03 07:53:55 +02:00
makise-homura
5720a54da4 Add species parameter to A_RadiusThrust
This is the last parameter for A_RadiusThrust() DECORATE function.
If it is omitted or none, then A_RadiusThrust will behave as usual.

If it is set for some species name, it witt thrust only that species.
Of course, these species should be +VULNERABLE to be thrustable.
2020-09-27 13:58:22 +02:00
Marisa Kirisame
58f5c030fe
Add Travelled virtual for PlayerPawn, akin to the same function for Inventory. (#1169) 2020-09-02 06:12:58 -04:00
Marisa Kirisame
e0aa8db616 Add Pre/PostTeleport virtuals, for special handling of actor teleportation. 2020-09-02 12:02:09 +02:00
MajorCooke
eaba63e13b
View Angles (Part 1 - Redux) (#1002)
* Added ViewAngle/Pitch/Roll properties to actors.

- These are offsets for camera angles that allow turning the camera without affecting aim or movement direction.
- Added A_SetView<Angle/Pitch/Roll>, which will set the view direction.
- Added ABSVIEWANGLES flag, used to make the view absolute instead of an offset.

* Converted functions to be direct-native.
2020-08-27 13:03:06 -04:00
MajorCooke
85759e3bd0
Added A_SpriteOffset. (#895)
- Coordinates work akin to A_OverlayOffset: +X shifts to the right, +Y shifts down.
2020-08-27 12:43:09 -04:00
alexey.lysiuk
c20a7f53c9 - do not report missing camera target if its TID is zero
This handles the case with setting TID of thing to follow after camera spawning, e.g. via ACS

https://forum.zdoom.org/viewtopic.php?t=69690
2020-08-27 11:57:25 +03:00
Blue Shadow
7179eaacda - fixed: the minotaur spawned its floor flames regardless of the setting of compat_minotaur
A_MinotaurAtk3 was checking against the CVAR instead of the compatibility flag constant.
2020-07-28 12:25:35 +02:00
Rachael Alexanderson
383f3e5fd6 - change recent /0 fix to conform to UDMF specs 2020-06-25 09:30:52 -04:00
Christoph Oelckers
486e07300c - fixed: Inventory items that are terminated by GoAwayAndDie must be removed from the blockmap and sector lists.
Since they were just scheduled for delayed deletion any map related action they can trigger is unwanted.
2020-06-16 01:11:08 +02:00
Christoph Oelckers
d739587f6b - let blastradius work without an effect actor. 2020-06-12 23:14:58 +02:00
Kevin Caccamo
79426c028b Fix Bag of Holding not increasing Firemace ammo capacity 2020-06-08 15:07:31 +03:00
Alexander Kromm
928c738e19 make various getter and pure-math methods clearscope, and where applicable, const
Original PR: https://github.com/coelckers/gzdoom/pull/532

Status of the original PR

1. Actor
- [already in] deltaangle
- [already in] absangle
- [already in] AngleToVector
- [already in] RotateVector
- [already in] Normalize180
- [already in] BobSin
- [already in] GetDefaultSpeed
- [this PR] GetBobOffset
- [this PR] InStateSequence
- [already in] FindState
- [already in] GetDropItems
- [this PR] DistanceBySpeed
- [this PR] AccuracyFactor
- [not in original PR, for PlayerInfo.isTotallyFrozen] isFrozen

2. PlayerInfo
- [this PR] GetUserName
- [this PR] GetColor
- [this PR] GetDisplayColor
- [this PR] GetColorSet
- [this PR] GetPlayerClassNum
- [this PR] GetSkin
- [this PR] GetNeverSwitch
- [this PR] GetGender
- [this PR] GetTeam
- [this PR] GetAutoaim
- [this PR] GetNoAutostartMap
- [this PR] GetClassicFlight
- [this PR] IsTotallyFrozen

3. C++ methods, to match ZScript:

- [scriptified] AActor::AccuracyFactor() to Actor.AccuracyFactor
- [this PR] AActor::DistanceBySpeed(AActor *, double) — it is a combination of getter and pure math
- [this PR] AActor::Distance2D(AActor *, bool) — called by DistanceBySpeed
- [this PR] AActor::Distance2D(AActor *, double, double, bool) — called by DistanceBySpeed
- [not in original PR, for PlayerInfo.isTotallyFrozen] AActor::isFrozen
2020-06-07 09:39:30 +02:00
Christoph Oelckers
1d1331289a - there is no mace ammo in the bag of holding. 2020-06-06 16:19:11 +02:00
Hugo Locurcio
80c5b4d37b Add a cvar to control weapon bobbing while firing
This simulates a feature found in Crispy Doom, which keeps the
weapon bobbing while firing. This leads to a "smoother" appearance
which may look a bit prettier to some people.

The default value of 0 preserves the old behavior.
2020-05-31 23:12:11 +02:00
Christoph Oelckers
6444a7535c - fixed use of Powerup.Strength in PowerInvisibility.
An integer division made the feature useless.
2020-05-25 16:43:01 +02:00
alexey.lysiuk
1fd2ea46d2 - fixed aiming camera that didn't follow target
https://forum.zdoom.org/viewtopic.php?t=68600
2020-05-18 14:00:48 +03:00
alexey.lysiuk
0631670a66 - restored warning about missing aiming camera target 2020-05-18 13:58:22 +03:00
Major Cooke
079e7ee4e9 Enforce the reflective flag as well. 2020-05-10 10:48:32 +02:00
Major Cooke
b70bc2b152 Fixed an issue where multiple invulnerability powerups could cancel each other out from just one expiring. 2020-05-10 10:48:32 +02:00
Mekboss
4807f4240b Fix MSVS compile bug and add offset parameter for SprayDecal 2020-05-07 09:35:48 +02:00
Mekboss
0e9ca3c850 Replace function variables to DVector3 2020-05-07 09:35:48 +02:00
Mekboss
ba43244764 Add optional direction parameters for SprayDecal and its A_SprayDecal zscript counterpart 2020-05-07 09:35:48 +02:00