Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#4375 closed enhancement (fixed)

Display which clients are still in the loading screen

Reported by: elexis Owned by: Imarok
Priority: Should Have Milestone: Alpha 22
Component: Network Keywords:
Cc: Imarok Patch:

Description

When a multiplayergame has finished the gamesetup phase, clients will load the map. Few clients are loading significantly slower, so often people ask in the chat who is missing.

Instead we could show a message (for example in the network warning panel) who is still missing.

Network implementation: Whenever CheckGameLoadStatus of NetServer.cpp is called, the server noticed that a client has finished the loading sceen and could thus broadcast a message to the other clients.

The existing LoadedGame message defined in NetMessages.h can be extended. The message type is currently only used when the client informs the server of having finished the loading screen, and used when the server informs the clients that all clients have finished.

So the type can receive a new GUID argument that is empty in the current use cases and gets the GUID in the new use case.

functions_global_object.js sets the network warning panel.

Change History (8)

comment:1 Changed 3 years ago by Imarok

Cc: Imarok added

comment:2 Changed 3 years ago by Imarok

This approach doesn't work, because NMT_LOADED_GAME triggers the transition to NCS_INGAME regardles if a m_GUID is defined or not.

comment:3 Changed 3 years ago by elexis

Didn't returning false in the function prevent the transition? Alternatively adding a new message type would work too.

comment:4 in reply to:  3 Changed 3 years ago by Imarok

Replying to elexis:

Didn't returning false in the function prevent the transition? Alternatively adding a new message type would work too.

Man, you are right :D It has been a long time ago since I've done something with network...

A new message type would just be: meh

Seems like to get this properly working we'll need #4036

Last edited 3 years ago by Imarok (previous) (diff)

comment:5 Changed 3 years ago by Imarok

Apparently I wasn't wrong: returning false soesn't prevent the transtition, but throws an error. So I'll unfortunately have to create a new message type.

comment:7 Changed 3 years ago by Imarok

Owner: set to Imarok
Resolution: fixed
Status: newclosed

In 19320:

Display which clients are still in the loading screen

Reviewed by: elexis
Differential Revision: https://code.wildfiregames.com/D120
Fixes #4375

comment:8 Changed 3 years ago by elexis

Milestone: BacklogAlpha 22
Priority: Nice to HaveShould Have

Thanks for the feature!

Note: See TracTickets for help on using tickets.