Commit graph

62 commits

Author SHA1 Message Date
Major Cooke
44623daafe Fixed wrong pointer being used in PlayerFinishLevel, causing wrong inventory items to be destroyed. 2023-08-28 19:33:46 +02:00
Ricardo Luís Vaz Silva
1589afb46e Add Voodoo Zombie Compatflag 2023-05-14 08:14:47 +02:00
Boondorl
0d23816179 Added FlyBob Multiplier for Player 2023-01-02 08:14:24 +01:00
Boondorl
73159dac3e Added WaterClimbSpeed Property to Players 2023-01-02 08:13:13 +01:00
Boondorl
0d4d5587b5 Added FOV Interpolation 2022-12-18 08:23:19 +01:00
Rachael Alexanderson
b08295e7e1 - fix spacing 2022-12-16 20:40:05 -05:00
CandiceJoy
0fdb740ac7
Added toggle control for weapon bob while flying 2022-12-16 17:12:03 -06:00
Ricardo Luís Vaz Silva
de65d1b96f Misc Fixes for BobWeapon3D
- Fix inverted Y axis for offset/old BobWeapon
- finish adding PSPF_MIRROR
- fix missing pivot
2022-12-12 15:23:12 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7 add BobWeapon3D 2022-12-09 21:49:38 +01:00
Christoph Oelckers
ef8dd4d01e - fixed and consolidated artifact check in cheat code. 2022-07-15 07:56:22 +02:00
Christoph Oelckers
b719ab53f8 - weapons are not artifacts. 2022-07-14 00:12:20 +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
Christoph Oelckers
7ba2585490 - exclude keys from ‚artifact‘ cheats 2022-05-24 00:01: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
Xaser Acheron
bfb79e5b32 Merge branch 'master' into feature_weaponscale 2022-01-23 20:01:59 -06: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
Xaser Acheron
0b93aef776 add WeaponScaleX/WeaponScaleY properties for applying global scaling to a weapon's PSprites 2021-11-14 23:21:07 -06:00
Marisa Kirisame
d5ad8b28ec PreTravelled virtual for player and inventory. 2021-10-15 17:37:19 +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
3b31dda6b8 - resolved a VM abort upon morphing while the tome of power is active 2021-09-24 13:34:35 +02:00
Christoph Oelckers
73f73cdf7c - added a null check to CheckWeaponChange. 2021-08-12 20:28:04 +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
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
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
c7edb9d22f Add a null check in PlayerPawn::CheckFOV 2021-02-28 20:01:59 +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
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
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
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
Marisa Kirisame
58f5c030fe
Add Travelled virtual for PlayerPawn, akin to the same function for Inventory. (#1169) 2020-09-02 06:12:58 -04:00
Rachael Alexanderson
383f3e5fd6 - change recent /0 fix to conform to UDMF specs 2020-06-25 09:30:52 -04: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
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
4fb6b7c7d4 - block off the Substitute function by making it private to the 3 classes that really need it. 2020-04-19 21:08:24 +02:00
nashmuhandes
7a141f3aa3 Add help messages for most of the deprecated stuff in ZScript. 2020-03-14 12:56:03 +02:00
Christoph Oelckers
a638cfbd6e - fixed: player_t::GetPSprite cannot guarantee success
As a consequence it must return null in the failure case instead of asserting and all calls to this function must check for the failure case.
2020-03-11 00:56:29 +01:00
Major Cooke
70f9b649aa Changed Pre/Post(Un)Morph to take the other actor and a boolean indicating direction.
- 'current' is true for the actor that is the new body, false for the old body.
2020-03-08 15:29:09 +01:00