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
0001478Zandronum[All Projects] Suggestionpublic2013-08-30 00:222017-06-11 15:39
ReporterQent 
Assigned ToTorr Samaho 
PrioritynormalSeverityminorReproducibilityN/A
StatusassignedResolutionno change required 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version1.1.1 
Target VersionFixed in Version 
Summary0001478: Un-deprecate IsMultiplayer
DescriptionIsMultiplayer is a useful ACS function to determine whether a game is online or offline. For the longest time it has been deprecated, according to both the Skulltag/Zandronum and ZDoom wikis; and ACC has not compiled it, replacing its opcode with the unimplemented PlayerOnTeam function. While the latter is an issue for the ACC maintainers to sort out, I would like to request here that support for IsMultiplayer be restored, or its functionality covered by other ACS functions.

The closest function that I have found so far is ConsolePlayerNumber. When run on the server, it will return -1, revealing that there is a server, and therefore the game is online; however, to work as a substitute for IsMultiplayer, ConsolePlayerNumber cannot be run CLIENTSIDE.
Additional InformationI have just written up a description of IsMultiplayer on the Zandronum wiki that truer to its current behavior.
Attached Files

- Relationships

-  Notes
User avatar (0007086)
Dusk (developer)
2013-08-30 16:36
edited on: 2013-08-30 16:37

Quote

[19:15:27] <@Dusk> hrm
[19:16:14] <@Dusk> what is `multiplayer` here? i'd think of it as the client and multiplayer emulation modes
[19:19:22] <@Qent> no, it checks if the game is online
[19:19:38] <@Dusk> not multiplayer emulation?
[19:19:44] <@Qent> i added a link to the wiki that describes what it does
[19:19:47] <@Qent> no
[19:19:49] <@Dusk> multiplayer emulation is multiplayer as far as gameplay goes
[19:20:12] <@Qent> but that is not what the function is for
[19:20:42] <@Qent> it's used to check if a game is online or not
[19:20:50] <@Dusk> isn't the name quite misleading then?
[19:21:20] <@Dusk> if you wish to check whether you're online or not, imo a GetNetstate() function would be a better option
[19:21:49] <@Dusk> hrm actually what you're asking here is a bit like NETWORK_InClientMode
[19:22:03] <@Qent> replacing IsMultiplayer's functionality with other functions would be fine with me
[19:22:14] <@Dusk> yeah i'm just thinking what would be the best way to do it
[19:22:39] <@Dusk> perhaps have a getnetstate() function which returns "client" if NETWORK_InClientMode() is true
[19:22:56] <@Dusk> so it works with demos too..
[19:23:23] <@Qent> IsMultiplayer works with demos i /think/
[19:23:32] <@Dusk> well everything should :P
[19:23:50] <@Dusk> ima post the ramblings in that ticket so they won't be lost


User avatar (0007088)
Watermelon (developer)
2013-08-31 17:16

An ACS function for NETWORK_GetState() may help here?
User avatar (0007104)
Blzut3 (administrator)
2013-09-04 15:21

Is there are reason that GameType() or SinglePlayer() do not return the proper value in multiplayer emulation? It would seem to me that a mode called "emulation" should actually emulate multiplayer as far as ACS scripts are concerned.
User avatar (0007110)
Qent (updater)
2013-09-05 13:00
edited on: 2013-09-05 13:35

Neither of those can distinguish between online and offline Deathmatch modes (needed for D2DM3). A function to expose NETWORK_GetState() would be great.

User avatar (0007113)
Blzut3 (administrator)
2013-09-05 14:36

Ahh, so this is "needed" for silly easter eggs. Still it would seem to me like SinglePlayer() could be modified to just be the inverse of IsMultiplayer(). If you really want to distinguish between offline deathmatch and true single player there are way you could still get that (count the players for example).
User avatar (0007131)
Torr Samaho (administrator)
2013-09-07 09:07
edited on: 2013-09-07 09:08

As far as I can tell Zandronum still fully supports IsMultiplayer and the op code has been the same ever since I joined, i.e. since Skulltag 97c2. I don't see why we should remove this function (although I don't don't see why it was added it the first place, but now that it's there we'll have to keep it) and I don't know who flagged this as deprecated.

Modifying SinglePlayer() risks breaking mods that rely on its current behavior.

User avatar (0007156)
Qent (updater)
2013-09-10 15:56

So all that's needed now is for ACC to add it back in.
User avatar (0007160)
ZzZombo (reporter)
2013-09-11 05:41
edited on: 2013-09-11 05:41

No. All what is needed is choosing an unused in ZDoom opcode for this function since ZDoom apparently never thought about Skulltag-specific function in its place (that's why PlayerOnTeam() is here) and will never change that in our favor.

User avatar (0007165)
Qent (updater)
2013-09-11 17:50

That would break compatibility with existing mods, and if we did that then we might as well deprecate IsMultiplayer in favor of an ACS function for NETWORK_GetState. But why do you think that PlayerOnTeam is ZDoom's (unused!) function? Both the ACC and ZDoom sources have it well within the "Skulltag pcodes."
User avatar (0007369)
Qent (updater)
2013-10-10 16:58

Since this requires only a change to ACC over which we have no control, I'm marking this closed.
User avatar (0015097)
Torr Samaho (administrator)
2016-06-19 08:57

Repoened to sort out the op code naming differences.
User avatar (0015098)
Edward-san (developer)
2016-06-19 10:07

As I said here, imho IsMultiplayer must be renamed to IsNetworkGame because it doesn't do what it's supposed to do and also the acc parser still uses the old name.
User avatar (0015099)
Edward-san (developer)
2016-06-19 11:02

Now Singleplayer will do the same thing in both zandronum and zdoom git (see this commit).
User avatar (0015100)
Edward-san (developer)
2016-06-20 08:35

In the dev meeting it was decided that the function should be renamed IsNetworkGame, for clearer meaning. Applied the changes to ZDoom (here) and acc (here).

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

- Issue History
Date Modified Username Field Change
2013-08-30 00:22 Qent New Issue
2013-08-30 16:36 Dusk Note Added: 0007086
2013-08-30 16:37 Dusk Note Edited: 0007086 View Revisions
2013-08-31 17:16 Watermelon Note Added: 0007088
2013-09-04 15:21 Blzut3 Note Added: 0007104
2013-09-05 13:00 Qent Note Added: 0007110
2013-09-05 13:35 Qent Note Edited: 0007110 View Revisions
2013-09-05 14:36 Blzut3 Note Added: 0007113
2013-09-07 09:07 Torr Samaho Note Added: 0007131
2013-09-07 09:08 Torr Samaho Note Edited: 0007131 View Revisions
2013-09-07 09:08 Torr Samaho Note Revision Dropped: 7131: 0004001
2013-09-10 15:56 Qent Note Added: 0007156
2013-09-11 05:41 ZzZombo Note Added: 0007160
2013-09-11 05:41 ZzZombo Note Edited: 0007160 View Revisions
2013-09-11 17:50 Qent Note Added: 0007165
2013-10-10 16:58 Qent Note Added: 0007369
2013-10-10 16:58 Qent Status new => closed
2013-10-10 16:58 Qent Resolution open => no change required
2016-06-19 08:57 Torr Samaho Note Added: 0015097
2016-06-19 08:57 Torr Samaho Status closed => new
2016-06-19 10:07 Edward-san Note Added: 0015098
2016-06-19 11:02 Edward-san Note Added: 0015099
2016-06-20 08:35 Edward-san Note Added: 0015100
2016-06-20 08:35 Edward-san Assigned To => Torr Samaho
2016-06-20 08:35 Edward-san Status new => assigned






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker