Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003304Zandronum[All Projects] Bugpublic2017-10-14 22:222021-10-08 00:57
ReporterHiM 
Assigned ToDusk 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version3.0 
Target VersionFixed in Version 
Summary0003304: Spectator functionality broken in multiplayer ZAN 3.0
DescriptionHi,
Latest stable built of Zandronum 3.0 has broken Spectator functionality in multiplayer coop mode with classes. All cases below worked fine in Zandronum 2.1.2 stable release. I will list the effects:

1) New player joined without selecting player Class (Spectator) does not have proper Marine voodoo doll spawn on new maps, breaks all levels that have voodoo doll where this player is 1st in player queue. Assuming voodoo doll have player properties, somehow it does not work on voodoo doll trolley (float, noclip, notrigger?).

2) In game spectating inherit properties from previous player class. This includes physics flags from previous player class (noclip, float etc.). Zandronum ACS KickFromGame/ForceToSpectate command does not purge all players inventory and does not reset to default spectator properties. Voodoo dolls are broken on new maps (same as 1st).

Suggestions:
- Have True Spectator functionality added back as in Zandronum 2.1.2 that has Marine voodoo doll spawn on trolley by default. Could be a separate server SV_* flag to differentiate from dead spectators (used mainly in LMS), and applied to all spectators on server that runs that flag.
- In game spectate by client / ACS KickFromGame/ForceToSpectate should be updated to return player to default spectator settings with purging everything to defaults and not inherit previous player class properties.
- Potentially, new separate Zandronum ACS function could be added for ForceToSpecateX with purging everything (not to be revived) as in Zandronum 2.1.2.
Steps To ReproducePlay cooperative multiplayer game with Classes (spectator, Class1, Class2 etc) and a map that has voodoo doll trolley.

Without joining a Class (spectator), change map with CHANGEMAP to map with voodoo doll trolley. Voodoo doll should be broken since voodoo dolls are spawn on level start.

Same applies when spectating from Marine class to spectator, change map with CHANGEMAP to map with voodoo doll trolley. Voodoo doll should be broken since voodoo dolls are spawn on level start.
Attached Fileszip file icon VoodooTest_chillax_MAP29.zip [^] (1,083,063 bytes) 2017-10-15 12:23

- Relationships

-  Notes
User avatar (0018573)
Dusk (developer)
2017-10-15 10:38

Please provide a minimal example WAD.
User avatar (0018574)
HiM (reporter)
2017-10-15 12:28

To replicate issue, create server using Doomseeker with following 4 wads (can\t upload all here as more than 2MB):
- skulltag_actors_1-1-1.pk3 (using wadseeker)
- skulltag_data_126.pk3 (using wadseeker)
- VoodooTest_chillax_MAP29.wad (test file attached, MAP29)
- MOP4Chillax_D2.2_update_by_HiM_5.6.pk3 (download from:'http://www.theultimatedoom.com/download/MOP4Chillax_D2.2_update_by_HiM_5.6.zip, [^]' or wadseeker)

Server is run with voodoo dolls flags:
+sv_coopspawnvoodoodolls TRUE
+sv_coopunassignedvoodoodolls TRUE
User avatar (0018575)
HiM (reporter)
2017-10-15 12:40

In created server with 4 wads, do the following:

- In server, maps/changemap to MAP29 (no client joined yet)
- Join server as client, hit space to change from spectator to player class, select Class "Marine". Go to room with green armor, hit 2 switches to left and right
- Door by green armor should open with cyber and key. Voodoo doll works fine in this case (OK).

- console: spectate (from marine to spectator)
- callvote changemap map29 (or server map/changemap with intermission to map29)
- after intermission when level is loaded, hit space to change from spectator to player class, select Class "Marine". Go to room with green armor, hit 2 switches to left and right
- Door by green armor should stay closed. Voodoo doll broken in this case as level was loaded with 1st player being spectator (bug).

- console: spectate (from marine to spectator)
- callvote changemap map29 (or server map/changemap with intermission to map29)
- DURING intermission before level is loaded, hit space to change from spectator to player class, select Class "Marine". Go to room with green armor, hit 2 switches to left and right
- Door by green armor should open with cyber and key. Voodoo doll works fine in this case (OK).
- It appears proper voodoo doll is spawn before level load if spectator managed to join queue during intermisison but before level load. If stays as spectator, next map voodoo is broken.

- This spectator voodoo issue appears in Zandronum 3.0 stable, but not in Zandronum 2.1.2 stable. Retest server with 2.1.2 when starting map as spectator always opens the door, proper voodoo doll is spawn for spectator.
User avatar (0018890)
HiM (reporter)
2017-11-19 00:02

Hi,
For voodoo dolls to work on trolley, doll needs to be spawn with +TRIGGER, -NOCLIP, no float, affected by physics etc. Has to have RADIUS (not 0) for trolley to pull over lowered doors.

In similar issue with PlayerClass (not a spectator) this was solved by:
- Initial playerpawn with RADIUS say 16
- Trigger, gravity etc. same as standard marine voodoo
- SPAWN state in actor just loops
- SEE state changes all flags to NOTRIGGER, float, noclip etc. Voodoo initially spawn is based on SPAWN state only!

Is there a way to customize SPECTATOR actor settings, actor states etc?
Like, increase RADIUS, TRIGGER, before SPAWN state for voodoo?
Player would start flying as soon as move keys are pressed. Please, advice.

This tracker is related to issue, but that look on in-game spectator changes, not on level OPEN with voodoo dolls functionality:
'https://zandronum.com/tracker/view.php?id=2594 [^]'
User avatar (0020728)
HiM (reporter)
2019-06-05 17:46

Hi,
Fixing this Zandronum 3.0/3.1 issue as per Zandronum 2.1.2 build logic, would solve only Spectator bug. Any real players that have customized SPAWN state different from built-in doomplayer decorate, can still break voodoo dolls on trolley (radius < 16, float, notrigger etc).

Based with discussions with other Zandronum modders, I would recommend to actually fix broken flag "+sv_coopunassignedvoodoodolls TRUE" in both 2.1.2, 3.0/3.1 zandronums. Voodoo dolls are level design feature, not a gameplay. And with this flag TRUE, should not depend what kind of players/classes are on level open. This flag should override and spawn built-in doomplayer/marine with default settings irrespective real player is Spectaror, Marine, custom playerclass, dead spectator or whatever. Maybe queue mechanism needs update as voodoo doll is spawn for first live player in queue (console: playerinfo, playerid0=first), maybe for voodoo built-in -1 would solve this. Spawn irrespective server level is open with or without live players.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: WaTaKiD
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-10-14 22:22 HiM New Issue
2017-10-15 10:38 Dusk Note Added: 0018573
2017-10-15 10:38 Dusk Assigned To => Dusk
2017-10-15 10:38 Dusk Status new => feedback
2017-10-15 12:23 HiM File Added: VoodooTest_chillax_MAP29.zip
2017-10-15 12:28 HiM Note Added: 0018574
2017-10-15 12:28 HiM Status feedback => assigned
2017-10-15 12:40 HiM Note Added: 0018575
2017-11-19 00:02 HiM Note Added: 0018890
2019-06-04 21:54 Dusk Status assigned => new
2019-06-05 17:46 HiM Note Added: 0020728






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker