about summary refs log tree commit diff
path: root/datasrc/network.py
diff options
context:
space:
mode:
Diffstat (limited to 'datasrc/network.py')
-rw-r--r--datasrc/network.py212
1 files changed, 212 insertions, 0 deletions
diff --git a/datasrc/network.py b/datasrc/network.py
new file mode 100644
index 00000000..5029cbc1
--- /dev/null
+++ b/datasrc/network.py
@@ -0,0 +1,212 @@
+from datatypes import *
+
+Emotes = ["NORMAL", "PAIN", "HAPPY", "SURPRISE", "ANGRY", "BLINK"]
+PlayerStates = ["UNKNOWN", "PLAYING", "IN_MENU", "CHATTING"]
+GameTypes = ["DM", "TDM", "CTF"]
+
+Enums = [Enum("GAMETYPE", GameTypes), Enum("PLAYERSTATE", PlayerStates), Enum("EMOTE", Emotes)]
+
+Objects = [
+
+	NetObject("PlayerInput", [
+		NetIntAny("direction"),
+		NetIntAny("target_x"),
+		NetIntAny("target_y"),
+		
+		NetIntAny("jump"),
+		NetIntAny("fire"),
+		NetIntAny("hook"),
+		
+		NetIntRange("player_state", 0, len(PlayerStates)),
+		
+		NetIntAny("wanted_weapon"),
+		NetIntAny("next_weapon"),
+		NetIntAny("prev_weapon"),
+	]),
+	
+	NetObject("Projectile", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+		NetIntAny("vx"),
+		NetIntAny("vy"),
+		
+		NetIntRange("type", 0, 'NUM_WEAPONS-1'),
+		NetTick("start_tick"),
+	]),
+
+	NetObject("Laser", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+		NetIntAny("from_x"),
+		NetIntAny("from_y"),
+		
+		NetTick("start_tick"),
+	]),
+
+	NetObject("Pickup", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+		
+		NetIntRange("type", 0, 'max_int'),
+		NetIntRange("subtype", 0, 'max_int'),
+	]),
+
+	NetObject("Flag", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+		
+		NetIntRange("team", 0, 1),
+		NetIntRange("carried_by", -2, 'MAX_CLIENTS-1')
+	]),
+
+	NetObject("Game", [
+		NetIntRange("team", 0, 1),
+		NetTick("round_start_tick"),
+		
+		NetIntRange("game_over", 0, 1),
+		NetIntRange("sudden_death", 0, 1),
+		NetIntRange("paused", 0, 1),
+		
+		NetIntRange("score_limit", 0, 'max_int'),
+		NetIntRange("time_limit", 0, 'max_int'),
+		NetIntRange("gametype", 0, len(GameTypes)),
+		
+		NetIntRange("warmup", 0, 'max_int'),
+
+		NetIntAny("teamscore_red"),
+		NetIntAny("teamscore_blue"),
+	]),
+
+	NetObject("PlayerCore", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+		NetIntAny("vx"),
+		NetIntAny("vy"),
+
+		NetIntAny("angle"),
+		
+		NetIntRange("jumped", 0, 3),
+		NetIntRange("hooked_player", 0, 'MAX_CLIENTS-1'),
+		NetIntRange("hook_state", -1, 5),
+		NetTick("hook_tick"),
+
+		NetIntAny("hook_x"),
+		NetIntAny("hook_y"),
+		NetIntAny("hook_dx"),
+		NetIntAny("hook_dy"),
+	]),
+
+	NetObject("PlayerCharacter:PlayerCore", [
+		NetIntRange("local", 0, 1),
+		NetIntRange("cid", 0, 'MAX_CLIENTS-1'),
+		NetIntRange("team", -1, 1),
+		
+		NetIntAny("score"),
+		NetIntAny("latency"),
+		NetIntAny("latency_flux"),
+	]),
+	
+	## Events
+	
+	NetEvent("CommonEvent", [
+		NetIntAny("x"),
+		NetIntAny("y"),
+	]),
+	
+
+	NetEvent("Explosion:CommonEvent", []),
+	NetEvent("Spawn:CommonEvent", []),
+	NetEvent("Death:CommonEvent", []),
+	NetEvent("AirJump:CommonEvent", []),
+
+	NetEvent("SoundGlobal:CommonEvent", [
+		NetIntRange("soundid", 0, 'NUM_SOUNDS-1'),
+	]),
+
+	NetEvent("SoundWorld:CommonEvent", [
+		NetIntRange("soundid", 0, 'NUM_SOUNDS-1'),
+	]),
+
+	NetEvent("DamageInd:CommonEvent", [
+		NetIntAny("angle"),
+	]),
+]
+
+Messages = [
+
+	### Server messages
+	NetMessage("sv_motd", [
+		NetString("message"),
+	]),
+
+	NetMessage("sv_broadcast", [
+		NetString("message"),
+	]),
+
+	NetMessage("sv_chat", [
+		NetIntRange("team", -1, 1),
+		NetIntRange("cid", -1, 'MAX_CLIENTS-1'),
+		NetString("message"),
+	]),
+	
+	NetMessage("sv_setinfo", [
+		NetIntRange("cid", 0, 'MAX_CLIENTS-1'),
+		NetString("name"),
+		NetString("skin"),
+		NetBool("use_custom_color"),
+		NetIntAny("color_body"),
+		NetIntAny("color_feet"),
+	]),
+		
+	NetMessage("sv_killmsg", [
+		NetIntRange("killer", 0, 'MAX_CLIENTS-1'),
+		NetIntRange("victim", 0, 'MAX_CLIENTS-1'),
+		NetIntRange("weapon", 0, 'NUM_WEAPONS-1'),
+		NetIntAny("mode_special"),
+	]),
+
+	NetMessage("sv_soundglobal", [
+		NetIntRange("soundid", 0, 'NUM_SOUNDS-1'),
+	]),
+	
+	NetMessage("sv_tuneparams", []),
+	NetMessage("sv_extraprojectile", []),
+	NetMessage("sv_readytoenter", []),
+
+	NetMessage("sv_weaponpickup", [
+		NetIntRange("weapon", 0, 'NUM_WEAPONS-1'),
+	]),
+
+	NetMessage("sv_emoticon", [
+		NetIntRange("cid", 0, 'MAX_CLIENTS-1'),
+		NetIntRange("emoticon", 0, 'NUM_EMOTICONS-1'),
+	]),
+	
+	
+	### Client messages
+	NetMessage("cl_say", [
+		NetBool("team"),
+		NetString("message"),
+	]),
+
+	NetMessage("cl_setteam", [
+		NetIntRange("team", -1, 1),
+	]),
+	
+	NetMessage("cl_startinfo", [
+		NetString("name"),
+		NetString("skin"),
+		NetBool("use_custom_color"),
+		NetIntAny("color_body"),
+		NetIntAny("color_feet"),
+	]),	
+
+	NetMessage("cl_changeinfo:cl_startinfo", []),
+	
+	NetMessage("cl_kill", []),
+
+	NetMessage("cl_emoticon", [
+		NetIntRange("emoticon", 0, 'NUM_EMOTICONS-1'),
+	]),
+	
+]