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
Cacodemon345
4b4ff8dd0e
Fix bouncing missiles not dealing damage when hitting top/bottom ( #1068 )
...
* Fix bouncing missiles not dealing damage when hitting top/bottom
2020-04-30 08:55:09 +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
Major Cooke
a56177f178
Begin TICRATE conversion.
...
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.
2020-04-12 22:43:33 +02:00
nashmuhandes
cb6514cc05
Added Actor.CopyBloodColor to copy another existing actor's blood color.
2020-03-23 21:04:59 +01:00
nashmuhandes
7a141f3aa3
Add help messages for most of the deprecated stuff in ZScript.
2020-03-14 12:56:03 +02:00
alexey.lysiuk
f46e80e2b4
- fixed FLineTraceData scripting definition
...
https://forum.zdoom.org/viewtopic.php?t=67795
2020-03-14 12:51:06 +02:00
Christoph Oelckers
4201c4fbb5
- fixed A_FireCGun.
2020-03-11 19:47:23 +01: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
Major Cooke
33b343ef31
Added Pre(Un)Morph and Post(Un)Morph functions.
...
- cls: The other class's cast type which the actor is transitioning from/to.
2020-03-08 15:29:09 +01:00
Rachael Alexanderson
3d3a29979b
- remove addition from deprecated A_PlaySound
2020-03-02 22:15:37 +01:00
Rachael Alexanderson
1b80b7bf2f
- ported over Nash's startTime for A_StartSound
2020-03-02 22:15:37 +01:00
Major Cooke
4cf7c6351d
Added A_StopSounds(int chanmin, int chanmax).
...
- If both channels are 0, completely silences the actor.
- Adapted A_StopAllSounds to call A_StopSounds(0,0);
2020-03-01 19:42:21 +01:00
Major Cooke
55284d46bf
Added A_StopAllSounds.
2020-02-29 19:19:51 +01:00
Chronos Ouroboros
bb42d58427
Revert "Added support for standard DamageFactor property on Armor, PowerProtection and PowerDamage items."
...
This reverts commit e781cb4043
.
2020-02-10 15:38:12 -03:00
Major Cooke
e781cb4043
Added support for standard DamageFactor property on Armor, PowerProtection and PowerDamage items.
2020-02-09 19:07:52 +01:00
Major Cooke
39a9a48ad6
Added source, inflictor and damage flags to AbsorbDamage.
2020-02-09 19:07:52 +01:00
alexey.lysiuk
081cf814b0
- fixed wrong arguments of a few A_StartSound() calls
...
https://forum.zdoom.org/viewtopic.php?t=67074
2020-01-24 11:57:01 +02:00
Christoph Oelckers
c0b9bb6e76
- bumped ZScript version to 4.3 and silenced the remaining deprecation warnings.
2020-01-04 14:25:56 +01:00
Christoph Oelckers
4a67bfcddb
- deprecated A_PlaySound for real and transitoned the internal scripts to A_StartSound
2020-01-04 14:25:55 +01:00
Christoph Oelckers
b7e1a35e6f
- cleaned up the parameters of A_StartSound.
...
There were two booleans that could be merged into the flag word.
This also fixes a bug with CHAN_NOSTOP not working for local sounds because it checked the wrong sound source for the playing sound.
2020-01-04 14:25:55 +01:00
Christoph Oelckers
f647f3c132
- added the Dehacked extensions from Crispy/Doom Retro.
...
All empty placeholders for mods to fill in, no new functionality.
2019-12-31 21:13:18 +01:00
Chronos Ouroboros
b4ba7dfec2
Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that)
2019-12-30 12:37:33 -03:00
Cacodemon345
7fd27bc925
Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
2019-12-30 13:05:38 +01:00
Christoph Oelckers
d08bb93b84
- elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP.
2019-12-30 09:47:25 +01:00
Christoph Oelckers
136ab4f48a
- renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
2019-12-17 09:58:50 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
b9582cc98e
- continued refactoring on sound code.
...
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
alexey.lysiuk
ad89f1381c
- fixed missing fullbright for Berserk
...
https://forum.zdoom.org/viewtopic.php?t=66307
2019-11-05 15:32:00 +02:00
alexey.lysiuk
10078f519a
- fixed missing frames for axe attack without mana
...
The target state to jump is S_FAXEATK_5 in the original Hexen, but we were jumping to S_FAXEATK_7
5329fb5d75/src/hexen/info.c (L1298-L1299)
https://forum.zdoom.org/viewtopic.php?t=66216
2019-10-26 11:32:27 +03:00
Christoph Oelckers
8b10d231cd
- when adding some minmum lateral movement to trigger collision detection, do not just set Vel.X but actually use a vector pointing in the proper facing direction of the actor.
2019-10-20 14:02:28 +02:00
alexey.lysiuk
89ecd7a964
- fixed: pickup flash didn't fade out if player was killed by pickup
...
https://forum.zdoom.org/viewtopic.php?t=66135
2019-10-16 18:13:01 +03:00
PaulyB
223b62aa59
Wrong offset on Fighter's Fist
2019-09-10 18:52:17 +02:00