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
0000510Zandronum[All Projects] Suggestionpublic2011-07-05 22:532024-01-27 14:57
ReporterAlexMax 
Assigned ToTorr Samaho 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000510: "Reset Map" ACS command
DescriptionA while ago we were discussing the possibility of adding a "Reset Map" ACS command, which functions similarly to the reset map trigger that happens in Duel and LMS.

Original discussion was in this thread:

'http://www.skulltag.com/forum/viewtopic.php?f=155&t=22146&sid=20ee4e9579f04900e4efa033d33c482c [^]'
Additional InformationThe gamemode keywords are:

COOPERATIVE
SURVIVAL
INVASION
DEATHMATCH
TEAMPLAY
DUEL
TERMINATOR
LASTMANSTANDING
TEAMLMS
POSSESSION
TEAMPOSSESSION
TEAMGAME
CTF
ONEFLAGCTF
SKULLTAG
DOMINATION


The flag keywords are:

COOPERATIVE
DEATHMATCH
TEAMGAME
PLAYERSEARNKILLS
PLAYERSEARNFRAGS
PLAYERSEARNPOINTS
PLAYERSEARNWINS
DONTSPAWNMAPTHINGS
MAPRESETS
DEADSPECTATORS
PLAYERSONTEAMS
USEMAXLIVES
Attached Files? file icon mapreset_01.wad [^] (868 bytes) 2012-04-09 19:04
? file icon mapreset_domination_01.wad [^] (2,962 bytes) 2012-04-27 07:26
? file icon mapreset_crush_01.wad [^] (2,920 bytes) 2012-04-27 13:21
? file icon mapreset_crush_02.wad [^] (5,392 bytes) 2012-05-06 12:38

- Relationships

-  Notes
User avatar (0001898)
Torr Samaho (administrator)
2011-07-13 01:13
edited on: 2011-07-13 01:14

Actually, I finished a first version of this command one a half years ago, but for some reason never created a testing binary with it...

This binary supports the new ACS command ResetMap(). You just need to a line with "-100:ResetMap(0)," to zspecial.acs to make acc aware of the new command. The binary also parses the GAMEMODE lump. I'm looking forward to your feedback :).

Note: The ResetMap() will request a map reset that will actually only happen during the next tic.

User avatar (0001928)
AlexMax (developer)
2011-07-23 13:09

Totally sorry about missing the reply. For some reason I'm not getting CC emails from the bugtracker.

I've been kind of busy recently though. I'll try and test it tomorrow, but if someone else could do it earlier that'd be gravy.
User avatar (0002159)
AlexMax (developer)
2011-09-16 04:48
edited on: 2011-09-16 11:57

It seems to work great when used in a map script, but if used via a library loaded by LOADACS it doesn't appear to work. Here's a test WAD with the map reset command in a library.

'http://dl.dropbox.com/u/1446507/atf/atf-beta1.wad [^]'

EDIT: Nevermind, apparently I loaded the wrong binary last night when testing, it still works great.

User avatar (0003193)
unknownna (updater)
2012-04-09 18:18

I haven't been testing this as much as I should have, but I noticed that the warning message "ResetMap can only be used in game modes that support map resets." isn't displayed for the clients online. It's only displayed in the server console.
User avatar (0003194)
unknownna (updater)
2012-04-09 18:36
edited on: 2012-04-09 19:12

* Maps break after map resets in the "invasion" game mode.
* Maps break after map resets in the "survival invasion" game mode.
* Skulls disappear after map resets in the "skulltag" game mode.
* Hellstones disappear after map resets in the "possession" game mode.
* Hellstones disappear after map resets in the "teampossession" game mode. (If a player is carrying the hellstone during the map reset, the player will not drop the hellstone after the map reset.)
* Terminator spheres disappear after map resets in the "terminator" game mode.
* Domination control points are not cleared after map resets in the "domination" game mode (needs further testing).

Enter "puke 975" into the console if you're using the example wad.

User avatar (0003201)
Torr Samaho (administrator)
2012-04-11 01:31

Now that you mention the invasion problems: IMHO the map reset is not really useful in invasion. If it worked how it is designed, it should reset everything to the before the first wave started. I can probably fix it to make it do exactly this, but does this sound useful?
User avatar (0003202)
Torr Samaho (administrator)
2012-04-11 01:53

When looking into the Skulltag (gamemode) problems, I noticed that the Skull actors (e.g. BlueSkullST/RedSkullST) don't have doomednums. Internally Skulltag just replaces BlueSkull/RedSkull actors spawned by the map with BlueSkullST/RedSkullST actors when initializing the game. There is no special handling add GreenSkullST/GoldSkullST actors. So is it even possible right now to create 3- or 4-way Skulltag maps?
User avatar (0003211)
unknownna (updater)
2012-04-11 19:59

> So is it even possible right now to create 3- or 4-way Skulltag maps?

Is it even possible to add green and gold team player starts?
User avatar (0003213)
Torr Samaho (administrator)
2012-04-11 23:13

> Is it even possible to add green and gold team player starts?

Sure, there are 3 and 4-way CTF map packs that work just fine. The PlayerStartThingNumber for green is 5083, the one for gold is 5084. I should probably clarify my question: Is it possible to create 3- or 4-way Skulltag maps without ACS and DECORATE? The problem here is that I don't see how to spawn the skulls for green and gold just using the map since they don't have a doomednum and the workaround that is used for blue and red doesn't work.
User avatar (0003443)
unknownna (updater)
2012-04-26 12:30
edited on: 2012-04-26 12:31

I noticed some more issues with the example WAD in regular COOP:

* Decals are not removed after map resets.
* CLIENTSIDE actors are not removed after map resets.
* Actors that are crushed are not removed after map resets.

> Sure, there are 3 and 4-way CTF map packs that work just fine.

I see. The reason why I asked is because the player starts are not displayed in Doom Builder.

User avatar (0003459)
Torr Samaho (administrator)
2012-04-27 02:04

This should fix the terminator/possession and client side problems (not sure about the crushed actor problem).
User avatar (0003461)
unknownna (updater)
2012-04-27 07:11

It took care of the terminator and CLIENTSIDE actor problems, but this bug is still there in possession:

Quote from unknownna
If a player is carrying the hellstone during the map reset, the player will not drop the hellstone after the map reset.

The stone is dropped, but the counter is not reset.

> (not sure about the crushed actor problem).

The bug is still there.
User avatar (0003462)
unknownna (updater)
2012-04-27 07:29

Quote from unknownna
Domination control points are not cleared after map resets in the "domination" game mode (needs further testing).

I created a new example WAD.

1. skulltag.exe -file mapreset_domination_01.wad +domination 1 +map map01
2. Join a team.
3. Capture a territory.
4. "puke 975" in the console.
User avatar (0003468)
Torr Samaho (administrator)
2012-04-27 11:35

>> (not sure about the crushed actor problem).
> The bug is still there.

Does this work in map resets not initiated by the new ACS command? Does it happen online and/or offline? Is there a small example wad for the crusher problem?
User avatar (0003469)
Torr Samaho (administrator)
2012-04-27 11:48

This should fix the Domination problem.
User avatar (0003471)
unknownna (updater)
2012-04-27 13:25
edited on: 2012-04-27 13:27

> This should fix the Domination problem.

It took care of the issue.

> Does this work in map resets not initiated by the new ACS command? Does it happen online and/or offline? Is there a small example wad for the crusher problem?

It only happens online, and it also happens in map resets not triggered by the ACS command. I created a new example WAD. Push the switch and then puke script 975.

BTW: I might have to leave in a short time and I might not be back for a while, so don't be surprised by a sudden lack of feedback from me.

User avatar (0003479)
Torr Samaho (administrator)
2012-04-28 16:27

> The stone is dropped, but the counter is not reset.

This should be fixed now. I'm not quite sure what the intended behavior of this should be though, i.e. to which state should possession go if ResetMap is called while the stone is held? For now I just let it go to the "next round countdown".

> I might have to leave in a short time and I might not be back for a while, so don't be surprised by a sudden lack of feedback from me.

Thanks for the heads-up!
User avatar (0003480)
Torr Samaho (administrator)
2012-04-28 16:40

The problem with the crushed actors should also be fixed now. Please test this in the next beta build.
User avatar (0003521)
unknownna (updater)
2012-05-01 09:14

> This should be fixed now. I'm not quite sure what the intended behavior of this should be though, i.e. to which state should possession go if ResetMap is called while the stone is held? For now I just let it go to the "next round countdown".

The issue is fixed, but if nobody is carrying the hellstone when the map reset is called, the next round countdown will not begin after the map reset.

> The problem with the crushed actors should also be fixed now. Please test this in the next beta build.

It seems to be fixed.

I think the partial map resets in the possession modes are confusing and feel buggy since they don't reset the map geometry, remove client side actors or respawn monsters (and items if sv_itemrespawn is set to 0) normally, but they do if the map reset is triggered by the MapReset ACS command.

And items respawn in the possession modes after map resets when sv_itemrespawn is set to 0 if the modes have the MAPRESETS flag added to them through the GAMEMODE lump.

And it seems that any telefrags that occur during a map reset and/or when joining games are not counted as valid frags, but this is probably the intended behavior (and should be). But you're awarded the first frag medal, so that's a bug. Should I create a new ticket for this?
User avatar (0003524)
unknownna (updater)
2012-05-01 10:03

* If you trigger a map reset while a player is carrying a time freeze sphere, you'll not hear anything but pickup sounds and menu sounds after the map reset. It corrects itself if you respawn after death.

1. skulltag.exe -file mapreset_01.wad -host +sv_cheats 1
2. Connect a client to the server and join the game.
3. "give timefreezesphere" in the console.
4. "puke 975" in the console.
User avatar (0003530)
Torr Samaho (administrator)
2012-05-01 11:41

This should restore the sound when a map reset happens during time freeze.

> And it seems that any telefrags that occur during a map reset and/or when joining games are not counted as valid frags, but this is probably the intended behavior (and should be). But you're awarded the first frag medal, so that's a bug. Should I create a new ticket for this?

Yes, please do so.

Regarding the partial resets in possession: I personally think it should a full map reset too, but I don't know how the majority of players sees this. I don't want to change this if the majority wants to keep it as it is.
User avatar (0003534)
unknownna (updater)
2012-05-01 11:58

> This should restore the sound when a map reset happens during time freeze.

It took care of the issue.
User avatar (0003566)
unknownna (updater)
2012-05-06 12:39

Quote from Torr Samaho
The problem with the crushed actors should also be fixed now. Please test this in the next beta build.

I noticed another crush issue. I created a new example WAD. The floor has the same height as the ceiling. It is lowered by Floor_LowerByValue. A map reset crushes all the corpses on the floor, but the crushed actors aren't removed.

1. skulltag.exe -file mapreset_crush_02.wad -host
2. Connect a client to the server and join the game.
3. Push the 3rd switch. The floor will lower.
4. Kill the zombieman.
5. "puke 975" in the server console.
6. Push the 3rd switch.
User avatar (0003569)
unknownna (updater)
2012-05-06 22:00
edited on: 2012-05-06 23:57

I started to mess around with the flags a little in COOP. Here's what I noticed:

* If USEMAXLIVES is added, sv_maxlives only takes effect if 2+ players are in-game. This means that you don't lose a life if you're the only non-spectator in the game. So you'll have an infinite amount of lives when all the other players have turned into dead spectators.
* If DEADSPECTATORS is added, dead spectators aren't brought back to life after map resets. Furthermore, it seems that dead spectators are able to turn into true spectators and rejoin the game again.
* If PLAYERSONTEAMS is added, the "team" and "changeteam" commands use deathmatch player starts, but the "join" command uses coop player starts.
* For some reason, team score counters appear on the HUD if PLAYERSONTEAMS is added.
* It seems that monsters are counted as points on the scoreboard if PLAYERSEARNPOINTS is added. Players don't earn the points.
* It seems that monsters are counted as wins on the scoreboard if PLAYERSEARNWINS is added. Players don't earn the wins.
* The scoreboard disappears if PLAYERSEARNKILLS is removed and no other PLAYERSEARN* flags are added.
* If COOPERATIVE is removed and DEATHMATCH added, other players turn into enemies, but you can't hurt them. Although large frag messages are displayed if teamdamage is set to 1 and you frag other players, you're not awarded medals. Furthermore, the frag counters don't work as intended.
* If PLAYERSEARNPOINTS/PLAYERSEARNWINS is added, the frag counter appears even though PLAYERSEARNFRAGS is removed.

User avatar (0011392)
Edward-san (developer)
2015-01-15 23:17
edited on: 2015-01-15 23:17

This is a mess. Many things reported here, no idea which one should be taken a look at...

User avatar (0014952)
Hypnotoad (reporter)
2016-05-18 20:31

I find this function problematic still, at least on coop where map resetting is enabled from the GAMEMODE lump.

One problem is that hud messages are not cleared on map reset, requiring a separate acs script to clear all the hud messages on screen before resetting.

Another problem is that the acs function timer() is not reset, I cannot think of a use case where one would want timer() not to reset after a map reset.
User avatar (0014956)
Hypnotoad (reporter)
2016-05-19 17:34

It also appears that textures changed with the setlinetexture function fails to reset as well.
User avatar (0014957)
Edward-san (developer)
2016-05-19 20:13
edited on: 2016-05-19 20:59

Quote
One problem is that hud messages are not cleared on map reset, requiring a separate acs script to clear all the hud messages on screen before resetting.


Should be fixed with this changeset and also this changeset (fixes a regression with my previous change).

Quote
Another problem is that the acs function timer() is not reset, I cannot think of a use case where one would want timer() not to reset after a map reset.


Make sure MAPRESET_RESETS_MAPTIME is present in the GAMEMODE lump.

User avatar (0014963)
Edward-san (developer)
2016-05-21 16:05

Quote

Quote
One problem is that hud messages are not cleared on map reset, requiring a separate acs script to clear all the hud messages on screen before resetting.


Should be fixed with this changeset and also this changeset (fixes a regression with my previous change).


Added in zandronum 3.0 with changeset:'https://bitbucket.org/Torr_Samaho/zandronum/commits/b7cc4d70fad7 [^]'
User avatar (0014991)
Edward-san (developer)
2016-05-27 22:41

Quote

I noticed another crush issue. I created a new example WAD. The floor has the same height as the ceiling. It is lowered by Floor_LowerByValue. A map reset crushes all the corpses on the floor, but the crushed actors aren't removed.


Should be finally fixed with this changeset:'https://bitbucket.org/zandronum/zandronum-sandbox/commits/2d0707a3438d523c5bac70ecf443a278bad7db38 [^]'

this must be tested, though.
User avatar (0015006)
WaTaKiD (updater)
2016-06-03 01:36

this 3.0 build contains the above commit:'https://www.dropbox.com/s/adsi6i9kb02bj54/zandronum-3.0-r160527-2232-2d0707a-windows.zip?dl=0 [^]'
User avatar (0023010)
Ru5tK1ng (updater)
2024-01-27 14:57

This was added in 3.0.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: ZzZombo Hypnotoad fr-blood
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2011-07-05 22:53 AlexMax New Issue
2011-07-13 01:13 Torr Samaho Note Added: 0001898
2011-07-13 01:13 Torr Samaho Assigned To => Torr Samaho
2011-07-13 01:13 Torr Samaho Status new => feedback
2011-07-13 01:14 Torr Samaho Note Edited: 0001898 View Revisions
2011-07-23 13:09 AlexMax Note Added: 0001928
2011-07-23 13:09 AlexMax Status feedback => assigned
2011-09-16 04:48 AlexMax Note Added: 0002159
2011-09-16 11:57 AlexMax Note Edited: 0002159 View Revisions
2012-04-09 18:18 unknownna Note Added: 0003193
2012-04-09 18:36 unknownna Note Added: 0003194
2012-04-09 18:59 unknownna Note Edited: 0003194 View Revisions
2012-04-09 19:04 unknownna File Added: mapreset_01.wad
2012-04-09 19:05 unknownna Note Edited: 0003194 View Revisions
2012-04-09 19:08 unknownna Note Edited: 0003194 View Revisions
2012-04-09 19:12 unknownna Note Edited: 0003194 View Revisions
2012-04-09 19:15 unknownna Additional Information Updated View Revisions
2012-04-11 01:31 Torr Samaho Note Added: 0003201
2012-04-11 01:53 Torr Samaho Note Added: 0003202
2012-04-11 19:59 unknownna Note Added: 0003211
2012-04-11 23:13 Torr Samaho Note Added: 0003213
2012-04-26 12:30 unknownna Note Added: 0003443
2012-04-26 12:31 unknownna Note Edited: 0003443 View Revisions
2012-04-27 02:04 Torr Samaho Note Added: 0003459
2012-04-27 02:05 Torr Samaho Status assigned => feedback
2012-04-27 07:11 unknownna Note Added: 0003461
2012-04-27 07:26 unknownna File Added: mapreset_domination_01.wad
2012-04-27 07:29 unknownna Note Added: 0003462
2012-04-27 11:35 Torr Samaho Note Added: 0003468
2012-04-27 11:48 Torr Samaho Note Added: 0003469
2012-04-27 13:21 unknownna File Added: mapreset_crush_01.wad
2012-04-27 13:25 unknownna Note Added: 0003471
2012-04-27 13:27 unknownna Note Edited: 0003471 View Revisions
2012-04-28 16:27 Torr Samaho Note Added: 0003479
2012-04-28 16:40 Torr Samaho Note Added: 0003480
2012-05-01 09:14 unknownna Note Added: 0003521
2012-05-01 10:03 unknownna Note Added: 0003524
2012-05-01 11:41 Torr Samaho Note Added: 0003530
2012-05-01 11:58 unknownna Note Added: 0003534
2012-05-06 12:38 unknownna File Added: mapreset_crush_02.wad
2012-05-06 12:39 unknownna Note Added: 0003566
2012-05-06 22:00 unknownna Note Added: 0003569
2012-05-06 23:57 unknownna Note Edited: 0003569 View Revisions
2015-01-15 23:17 Edward-san Note Added: 0011392
2015-01-15 23:17 Edward-san Note Edited: 0011392 View Revisions
2016-05-18 20:31 Hypnotoad Note Added: 0014952
2016-05-19 17:34 Hypnotoad Note Added: 0014956
2016-05-19 20:13 Edward-san Note Added: 0014957
2016-05-19 20:48 Edward-san Note Edited: 0014957 View Revisions
2016-05-19 20:56 Edward-san Note Edited: 0014957 View Revisions
2016-05-19 20:59 Edward-san Note Edited: 0014957 View Revisions
2016-05-21 16:05 Edward-san Note Added: 0014963
2016-05-27 22:41 Edward-san Note Added: 0014991
2016-06-03 01:36 WaTaKiD Note Added: 0015006
2024-01-27 14:57 Ru5tK1ng Note Added: 0023010
2024-01-27 14:57 Ru5tK1ng Status feedback => resolved
2024-01-27 14:57 Ru5tK1ng Resolution open => fixed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker