MantisBT - Zandronum
View Issue Details
0001688Zandronum[All Projects] Suggestionpublic2014-01-29 18:112021-12-05 18:26
TerminusEst13 
Kaminsky 
lowfeatureN/A
resolvedfixed 
MicrosoftWindowsXP/Vista/7
1.2 
3.13.1-beta 
0001688: GetPlayerChasecam and SetPlayerChasecam ACS functions.
Hello.

The chasecam is a neat tool in various ways; I'm currently using it for a sort of third-person perspective for a Metroid morph ball. However, the way it's enabled is unbelievably hacky as can be--a ConsoleCommand("chase"); script. Well, shit.

All other third-person camera systems I've tried have been insufficient for the purpose--the third-person camera system on the ZDoom wiki not only lags horribly but gets caught on architecture, and a GetPlayerInput-based system doesn't take into account non-player-inputted movement.
Even now, enabling and disabling the Chasecam is a toggle, so there's a chance that the player will end up in third-person non-morph-ball if they exit the level while morphed.

This isn't exactly a feature that's desperately needed or else the world of Doom modding will collapse, but I think this is one of the few legitimate uses of ConsoleCommand that currently doesn't have any reasonable or viable alternatives. When ConsoleCommand is phased out, this will kind of be left high and dry--so, well, I'd like to request a few ACS funcs to Enable/Disable/Toggle the chasecam.
dicks
I dunno what else to say, so I've attached a picture of the ConsoleCommand("chase"); in action. Behold the Morph Trapezoid.
No tags attached.
has duplicate 0003408closed  ACS function to turn Built-in Chasecam On / Off 
child of 0001070new Dusk Phasing out the dangerous ConsoleCommand for various additional/improved ACS commands 
png Screenshot_Doom_20140129_125453.png (234,097) 2014-01-29 18:11
https://zandronum.com/tracker/file_download.php?file_id=1157&type=bug
png
Issue History
2014-01-29 18:11TerminusEst13New Issue
2014-01-29 18:11TerminusEst13File Added: Screenshot_Doom_20140129_125453.png
2014-01-29 20:19DuskRelationship addedrelated to 0001070
2014-01-30 00:30Ijon TichyNote Added: 0008148
2014-02-05 12:45LeonardNote Added: 0008168
2014-06-15 15:18WatermelonStatusnew => confirmed
2014-07-12 09:48Torr SamahoProduct Version2.0-beta => 1.2
2014-07-12 10:43DuskNote Added: 0009938
2014-07-12 10:46DuskStatusconfirmed => acknowledged
2014-07-12 11:46ZzZomboNote Added: 0009939
2014-07-12 19:28StrikerMan780Note Added: 0009953
2016-06-27 02:20StrikerMan780Note Added: 0015139
2016-06-27 02:21StrikerMan780Note Edited: 0015139bug_revision_view_page.php?bugnote_id=15139#r9181
2018-03-23 12:13LeonardRelationship addedhas duplicate 0003408
2018-03-23 12:14LeonardRelationship replacedchild of 0001070
2018-03-26 14:29KorshunNote Added: 0019160
2021-07-23 20:48KaminskyNote Added: 0021629
2021-07-23 20:48KaminskyAssigned To => Kaminsky
2021-07-23 20:48KaminskyStatusacknowledged => needs testing
2021-12-05 18:26KaminskyNote Added: 0021853
2021-12-05 18:26KaminskyStatusneeds testing => resolved
2021-12-05 18:26KaminskyResolutionopen => fixed
2021-12-05 18:26KaminskyFixed in Version => 3.1-beta
2021-12-05 18:26KaminskyTarget Version => 3.1
2021-12-05 18:26KaminskySummaryEnableChasecam and DisableChasecam ACS functions. => GetPlayerChasecam and SetPlayerChasecam ACS functions.

Notes
(0008148)
Ijon Tichy   
2014-01-30 00:30   
Having two functions for essentially the exact same job is... kind of bad. Instead...

GetPlayerChasecam(int pln)
- pln: player number, where -1 means activator.

Returns how far the specified player's chasecam is from the player itself. 0 means off.

SetPlayerChasecam(int pln, float distance)
- pln: player number, where -1 means activator.
- distance: How far, in map units, the camera should be able to go from the player. Negative values should be considered 0.

Sets how far the chasecam can go for the specified player. A distance of 0 means "turn off".
(0008168)
Leonard   
2014-02-05 12:45   
But why should negative values be unusable ?
We could use it to make the chasecam face the player from in front of him.
And what about the height of the camera ? It would be nice to have that customizable too.
(0009938)
Dusk   
2014-07-12 10:43   
Perhaps this could be tacked onto Get/SetPlayerProperty?
(0009939)
ZzZombo   
2014-07-12 11:46   
No, SetPlayerProperty is a really weird shit. It doesn't really deal w/ player properties, it's moreover a deprecated function to give player a cheat.
(0009953)
StrikerMan780   
2014-07-12 19:28   
I have an ACS Script that does chasecam client-side, and also obeys the user's chase distance and chase height parameters. It may be of help.
(0015139)
StrikerMan780   
2016-06-27 02:20   
(edited on: 2016-06-27 02:21)
Bumping this, as in 3.0, the chasecam I created in ACS is no longer interpolated, thus looking extremely jittery in uncapped FPS. (Seems SetActorPosition is no longer interpolated.)

This wasn't an issue in 1.3, unsure of 2.0... but, being able to use the native chasecam would be better than anything else.

(0019160)
Korshun   
2018-03-26 14:29   
> Bumping this, as in 3.0, the chasecam I created in ACS is no longer interpolated, thus looking extremely jittery in uncapped FPS. (Seems SetActorPosition is no longer interpolated.)

This is just GZDoom breaking backwards compatibility. SetActorPosition is not interpolated anymore. You must use Warp to gain interpolation back.
(0021629)
Kaminsky   
2021-07-23 20:48   
3.1 adds the functions "SetPlayerChasecam" and "GetPlayerChasecam", to enable/disable the chasecam for a given player, and to check if they're currently using the chasecam, respectively.
(0021853)
Kaminsky   
2021-12-05 18:26   
The new chasecam functions in 3.1 seem to work properly, so I'll mark this as resolved.