MCPcopy Create free account
hub / github.com/demoth/jake2 / ParseServerData

Method ParseServerData

client/src/main/java/jake2/client/CL_parse.java:250–304  ·  view source on GitHub ↗
(ServerDataMessage serverData)

Source from the content-addressed store, hash-verified

248 */
249 //checked once, was ok.
250 public static void ParseServerData(ServerDataMessage serverData) {
251 Com.DPrintf("ParseServerData():Serverdata packet received.\n");
252 //
253 // wipe the client_state_t struct
254 //
255 CL.ClearState();
256 ClientGlobals.cls.state = Defines.ca_connected;
257
258 // parse protocol version number
259 ClientGlobals.cls.serverProtocol = serverData.protocol;
260
261 // BIG HACK to let demos from release work with the 3.0x patch!!!
262 // fixme: get rid of this
263 if (Globals.server_state == ServerStates.SS_DEAD || Defines.PROTOCOL_VERSION != 34) {
264 if (serverData.protocol != Defines.PROTOCOL_VERSION)
265 Com.Error(Defines.ERR_DROP, "Server returned version " + serverData.protocol
266 + ", not " + Defines.PROTOCOL_VERSION);
267 }
268
269 ClientGlobals.cl.servercount = serverData.spawnCount;
270 ClientGlobals.cl.attractloop = serverData.demo;
271
272 // game directory
273 ClientGlobals.cl.gamedir = serverData.gameName;
274 Com.dprintln("gamedir=" + serverData.gameName);
275
276 // set gamedir
277 // wtf?!
278 if (serverData.gameName.length() > 0
279 && (FS.fs_gamedirvar.string == null
280 || FS.fs_gamedirvar.string.length() == 0 || FS.fs_gamedirvar.string
281 .equals(serverData.gameName))
282 || (serverData.gameName.length() == 0 && (FS.fs_gamedirvar.string != null || FS.fs_gamedirvar.string
283 .length() == 0)))
284 Cvar.getInstance().Set("game", serverData.gameName);
285
286 // parse player entity number
287 ClientGlobals.cl.playernum = serverData.playerNumber;
288 Com.dprintln("numplayers=" + ClientGlobals.cl.playernum);
289 // get the full level name
290 Com.dprintln("levelname=" + serverData.levelString);
291
292 if (ClientGlobals.cl.playernum == -1) { // playing a cinematic or showing a
293 // pic, not a level
294 SCR.PlayCinematic(serverData.levelString);
295 } else {
296 // seperate the printfs so the server message can have a color
297 // Com.Printf(
298 // "\n\n\35\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\36\37\n\n");
299 // Com.Printf('\02' + str + "\n");
300 Com.Printf("Levelname:" + serverData.levelString + "\n");
301 // need to prep refresh at next oportunity
302 ClientGlobals.cl.refresh_prepped = false;
303 }
304 }
305
306 /*
307 * ================ CL_LoadClientinfo

Callers 1

ParseServerMessageMethod · 0.95

Calls 9

DPrintfMethod · 0.95
ClearStateMethod · 0.95
ErrorMethod · 0.95
dprintlnMethod · 0.95
getInstanceMethod · 0.95
PlayCinematicMethod · 0.95
PrintfMethod · 0.95
SetMethod · 0.80
equalsMethod · 0.45

Tested by

no test coverage detected