/*
Copyright (C) 1997-2001 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* Modifications
Copyright 2003-2004 Bytonic Software
Copyright 2010 Google Inc.
*/
package com.googlecode.gwtquake.shared.server;
import com.googlecode.gwtquake.*;
import com.googlecode.gwtquake.shared.client.*;
import com.googlecode.gwtquake.shared.common.*;
import com.googlecode.gwtquake.shared.game.*;
import com.googlecode.gwtquake.shared.render.*;
import com.googlecode.gwtquake.shared.server.*;
public class ClientData {
public ClientData() {
for (int n = 0; n < Constants.UPDATE_BACKUP; n++) {
frames[n] = new ClientFrame();
}
}
public static final int LATENCY_COUNTS = 16;
public static final int RATE_MESSAGES = 10;
int state;
String userinfo = "";
int lastframe; // for delta compression
UserCommand lastcmd = new UserCommand(); // for filling in big drops
int commandMsec; // every seconds this is reset, if user
// commands exhaust it, assume time cheating
int frame_latency[] = new int[LATENCY_COUNTS];
int ping;
int message_size[] = new int[RATE_MESSAGES]; // used to rate drop packets
int rate;
int surpressCount; // number of messages rate supressed
// pointer
Entity edict; // EDICT_NUM(clientnum+1)
//char name[32]; // extracted from userinfo, high bits masked
String name = ""; // extracted from userinfo, high bits masked
int messagelevel; // for filtering printed messages
// The datagram is written to by sound calls, prints, temp ents, etc.
// It can be harmlessly overflowed.
Buffer datagram = Buffer.allocate(Constants.MAX_MSGLEN);
ClientFrame frames[] = new ClientFrame[Constants.UPDATE_BACKUP]; // updates can be delta'd from here
byte download[]; // file being downloaded
int downloadsize; // total bytes (can't use EOF because of paks)
int downloadcount; // bytes sent
int lastmessage; // sv.framenum when packet was last received
int lastconnect;
int challenge; // challenge of this user, randomly generated
NetworkChannel netchan = new NetworkChannel();
//this was introduced by rst, since java can't calculate the index out of the address.
int serverindex;
}