In a hub map setup, and in multiplayer, the game doesn't remember which player start the level was entered from. You know how player starts can be given a number in the first arg to determine which "entrance" to place the player at when entering the level (a la Hexen)?
When you play in coop, save, quit and then load the game, the following can happen depending on how the level is setup:
Setup A) In maps that have no 0-arg player starts (the first arg == 0), player colours end up wrong, and when a player is killed and resurrected (by pressing +use), a VM abort occurs. My guess is that the game is always looking for the default 0-arg player starts, which is obviously missing in this setup.
Setup B) In maps that DO have 0-arg player starts, the game just doesn't remember them. When a player is killed and respawns, they will respawn at the 0-arg player start, instead of the numbered player start they actually entered the level from.
Note that in any case, what this affects is when a player dies and respawns. Simply loading the game, and then continuing to play, is fine (as long as no one dies in that level).
Changing levels after loading the save will "fix" the references, but only for that play session. When the game is quit and then loaded at a later time, the same problem happens all over again.
I've attached save files (for player 1 and player 2) to save you the time needed to reproduce this. Just load these saves (one for each player) in a Hexen coop session.
In this save, the players have freshly returned from the ice level and the game was immediately saved. Next, type 'kill' on one of the players and then press +use to respawn. Instead of respawning at the portal near the ice room, that player is brought back to the very start of the level, where Korax says "greetings mortal are you ready to die".
The game apparently forgot that the latest spawn point was from the ice level.
Player start number not remembered in multiplayer on load
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
-
-
- Posts: 17478
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Player start number not remembered in multiplayer on load
You do not have the required permissions to view the files attached to this post.
-
-
- Posts: 17478
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: Player start number not remembered in multiplayer on loa
I don't suppose the problem is "just" that LevelLocals' 'AllPlayerStarts' and the 'playerstarts' array isn't being serialized in FLevelLocals::Serialize, is it... ? Or does the problem run deeper than that.
-
-
- Posts: 17478
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia