Commit graph

82 commits

Author SHA1 Message Date
Marisa Kirisame
0bc5bccb3b Add Travelled virtual for PlayerPawn, akin to the same function for Inventory. (#1169) 2020-09-02 13:56:24 +02:00
Marisa Kirisame
0255ee7719 Add Pre/PostTeleport virtuals, for special handling of actor teleportation. 2020-09-02 13:56:22 +02:00
MajorCooke
4f522c0ac3 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-28 13:47:22 +02:00
alexey.lysiuk
cebca2d93d - 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-28 13:46:52 +02:00
Blue Shadow
2cc9c0bbde - 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.

# Conflicts:
#	wadsrc/static/zscript/actors/raven/minotaur.zs
2020-07-28 13:26:55 +02:00
Major Cooke
b9e2063a65 Begin TICRATE conversion.
- Moved TICRATE from Thinker to Object in ZScript so status bars have access to it.

# Conflicts:
#	src/p_effect.h
#	wadsrc/static/zscript/base.zs
2020-07-15 19:03:44 +02:00
Rachael Alexanderson
de2d564c98 - change recent /0 fix to conform to UDMF specs
# Conflicts:
#	src/playsim/p_spec.cpp
2020-06-25 16:07:20 +02:00
Christoph Oelckers
cd74e70739 - 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-19 11:54:05 +02:00
Christoph Oelckers
5ad11d7587 - let blastradius work without an effect actor. 2020-06-13 01:49:25 +02:00
Kevin Caccamo
8081f6fcbe Fix Bag of Holding not increasing Firemace ammo capacity 2020-06-08 15:50:35 +02:00
Alexander Kromm
d28ba37af2 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

# Conflicts:
#	src/actor.h
#	src/actorinlines.h
2020-06-07 14:34:48 +02:00
Christoph Oelckers
0a5919aa02 - there is no mace ammo in the bag of holding. 2020-06-07 14:34:23 +02:00
Hugo Locurcio
03c9906b55 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-06-01 10:39:09 +02:00
Christoph Oelckers
b731a0e2c4 - fixed use of Powerup.Strength in PowerInvisibility.
An integer division made the feature useless.
2020-05-26 00:30:09 +02:00
alexey.lysiuk
2f50d5521a - fixed aiming camera that didn't follow target
https://forum.zdoom.org/viewtopic.php?t=68600
2020-05-18 14:23:43 +02:00
alexey.lysiuk
8dd30ab922 - restored warning about missing aiming camera target 2020-05-18 14:23:41 +02:00
Major Cooke
36bf930575 Enforce the reflective flag as well. 2020-05-17 02:10:14 +02:00
Major Cooke
ac015c4bb9 Fixed an issue where multiple invulnerability powerups could cancel each other out from just one expiring. 2020-05-17 02:10:12 +02:00
Mekboss
b658d4c225 Fix MSVS compile bug and add offset parameter for SprayDecal
# Conflicts:
#	src/g_shared/a_sharedglobal.h
2020-05-08 14:52:56 +02:00
Mekboss
6e30ac5f3c Replace function variables to DVector3
# Conflicts:
#	src/g_shared/a_sharedglobal.h
2020-05-08 14:52:53 +02:00
Mekboss
bfe367fb20 Add optional direction parameters for SprayDecal and its A_SprayDecal zscript counterpart
# Conflicts:
#	src/g_shared/a_sharedglobal.h
2020-05-08 14:52:51 +02:00
drfrag
6a3f2b59cd - Fixed compatibility flags not working in scripting. 2020-05-03 18:40:48 +02:00
Cacodemon345
19b125ca3a Fix bouncing missiles not dealing damage when hitting top/bottom (#1068)
* Fix bouncing missiles not dealing damage when hitting top/bottom
2020-04-30 11:45:45 +02:00
Christoph Oelckers
411b287cd9 - block off the Substitute function by making it private to the 3 classes that really need it. 2020-04-19 21:39:25 +02:00
nashmuhandes
72ecc11e8d Added Actor.CopyBloodColor to copy another existing actor's blood color. 2020-03-24 01:36:58 +01:00
nashmuhandes
315efb2b97 Add help messages for most of the deprecated stuff in ZScript.
# Conflicts:
#	wadsrc/static/zscript/actors/actor.zs
#	wadsrc/static/zscript/base.zs
#	wadsrc/static/zscript/destructible.zs
#	wadsrc/static/zscript/mapdata.zs

# Conflicts:
#	wadsrc/static/zscript/base.zs
2020-03-16 11:07:29 +01:00
alexey.lysiuk
eaa7e392d7 - fixed FLineTraceData scripting definition
https://forum.zdoom.org/viewtopic.php?t=67795

# Conflicts:
#	src/scripting/thingdef_data.cpp
2020-03-14 19:15:27 +01:00
Christoph Oelckers
9fe9552023 - fixed A_FireCGun. 2020-03-11 20:18:45 +01:00
Christoph Oelckers
4e40c4dfa9 - 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 20:18:43 +01:00
Major Cooke
c467539014 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-09 00:28:05 +01:00
Major Cooke
8712d7c237 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-09 00:28:03 +01:00
Rachael Alexanderson
c9476e6188 - remove addition from deprecated A_PlaySound 2020-03-03 10:58:50 +01:00
Rachael Alexanderson
4625925a69 - ported over Nash's startTime for A_StartSound 2020-03-03 10:58:46 +01:00
Major Cooke
45c80916bc 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 20:27:03 +01:00
Major Cooke
3e77f9a6bd Added A_StopAllSounds. 2020-02-29 20:02:17 +01:00
Major Cooke
116a935b71 Added source, inflictor and damage flags to AbsorbDamage. 2020-02-11 00:55:21 +01:00
alexey.lysiuk
b8395e5b59 - fixed wrong arguments of a few A_StartSound() calls
https://forum.zdoom.org/viewtopic.php?t=67074
2020-01-24 15:20:35 +01:00
Christoph Oelckers
286cda2bb5 - bumped ZScript version to 4.3 and silenced the remaining deprecation warnings.
# Conflicts:
#	wadsrc/static/zscript.txt
2020-01-07 19:37:00 +01:00
Christoph Oelckers
5229a84047 - deprecated A_PlaySound for real and transitoned the internal scripts to A_StartSound
# Conflicts:
#	wadsrc_extra/static/filter/harmony/decorate.txt
2020-01-07 19:36:57 +01:00
Christoph Oelckers
ce1f4427cc - 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-07 19:36:52 +01:00
Christoph Oelckers
16bd5e9619 - added the Dehacked extensions from Crispy/Doom Retro.
All empty placeholders for mods to fill in, no new functionality.
2020-01-06 21:57:04 +01:00
Cacodemon345
5ed070964c Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/r_data/models/models.cpp

# Conflicts:
#	src/gl/scene/gl_weapon.cpp
2020-01-06 21:50:14 +01:00
Chronos Ouroboros
b021befba8 Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that) 2020-01-06 19:49:28 +01:00
Christoph Oelckers
7919c86f3e - elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP. 2020-01-06 19:49:18 +01:00
Christoph Oelckers
25288d5cea - renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope. 2020-01-06 15:08:26 +01:00
Christoph Oelckers
c3759f389c - 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.

# Conflicts:
#	src/bbannouncer.cpp
#	src/fragglescript/t_func.cpp
#	src/g_shared/a_lightning.cpp
#	src/p_effect.cpp
#	src/p_mobj.cpp
#	src/p_switch.cpp
#	src/playsim/p_spec.cpp
#	src/sound/s_doomsound.cpp
#	src/sound/s_doomsound.h
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	src/intermission/intermission.cpp
#	src/sound/s_doomsound.cpp
2020-01-06 15:00:05 +01:00
Christoph Oelckers
8adf2c34cd - continued refactoring on sound code.
The game independent part of the code has been mostly isolated.

# Conflicts:
#	src/sound/s_doomsound.cpp
#	src/sound/s_sound.cpp
#	src/sound/s_sound.h

# Conflicts:
#	src/sound/s_sound.cpp
2020-01-06 13:45:19 +01:00
alexey.lysiuk
81010b4fbf - fixed missing fullbright for Berserk
https://forum.zdoom.org/viewtopic.php?t=66307
2019-11-06 17:51:03 +01:00
alexey.lysiuk
941a5f37a5 - 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 12:14:58 +02:00
Christoph Oelckers
f15a52b1e7 - 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-22 10:59:13 +02:00