MantisBT - Zandronum
View Issue Details
0002158Zandronum[All Projects] Bugpublic2015-04-01 23:552017-08-13 18:10
AlexMax 
 
normalminoralways
newopen 
 
 
0002158: GameType() returns incorrect values for some gametypes.
So I just came across this issue when trying to make a mod that calculates experience differently between team games and non-team games. GameType() erroniously returns GAME_NET_DEATHMATCH in Team Deathmatch, Team Last Man Standing, and Team Possession. Domination, CTF, Skulltag and the generic "Team Game" work fine.
The gametype check in PCD_GAMETYPE is very basic and only checks teamgame for truth.
No tags attached.
? invasion-gametype-acs.wad (3,459) 2017-08-13 17:22
https://zandronum.com/tracker/file_download.php?file_id=2177&type=bug
Issue History
2015-04-01 23:55AlexMaxNew Issue
2015-04-02 06:12Torr SamahoNote Added: 0011979
2017-08-13 17:22arkoreNote Added: 0018185
2017-08-13 17:22arkoreFile Added: invasion-gametype-acs.wad
2017-08-13 18:10DuskNote Added: 0018188

Notes
(0011979)
Torr Samaho   
2015-04-02 06:12   
Zandronum distinguishes between GMF_TEAMGAME and GMF_PLAYERSONTEAMS, ZDoom doesn't have anything like this. I could easily have the function map GMF_PLAYERSONTEAMS to GAME_NET_TEAMGAME. Is this what we want?
(0018185)
arkore   
2017-08-13 17:22   
I'm having a similar issue where GameType() is returning GAME_NET_COOPERATIVE during offline single-player.

I'll add a test wad. Notice the CMPGNINF, DECORATE, and SCRIPT lumps.

I'm using docs athttps://zdoom.org/wiki/GameType [^] and I am checking for GAME_SINGLE_PLAYER or GAME_TITLE_MAP as validation for my "IsSinglePlayerGame()" function.

My mod needs to detect if it's in singleplayer mode or not, so this bug is a little game-breaking for me at the moment. And PlayerCounting= 1 stuff won't suffice.

Zan v3.0-alpha (2.8pre-441-g458e1b1) 170709-2004
(0018188)
Dusk   
2017-08-13 18:10   
Quote
I could easily have the function map GMF_PLAYERSONTEAMS to GAME_NET_TEAMGAME. Is this what we want?

I don't think so. IMO it's better to have a new function for that.