Patched for QSG Standard 2 (Extend Protocol).

Unfinished, renderer effects are only half implimented at this point.
This commit is contained in:
James Brown 2000-06-25 13:00:19 +00:00
parent f6ec000127
commit 089a0a35d0
16 changed files with 273 additions and 64 deletions

View file

@ -75,59 +75,37 @@
#define svc_nop 1
#define svc_disconnect 2
#define svc_updatestat 3 // [byte] [byte]
//define svc_version 4 // [long] server version
#define svc_setview 5 // [short] entity number
#define svc_sound 6 // <see code>
//define svc_time 7 // [float] server time
#define svc_print 8 // [byte] id [string] null terminated string
#define svc_stufftext 9 // [string] stuffed into client's console buffer
// the string should be \n terminated
#define svc_setangle 10 // [angle3] set the view angle to this absolute value
#define svc_serverdata 11 // [long] protocol ...
#define svc_serverdata 11 // [long] protocol ...
#define svc_lightstyle 12 // [byte] [string]
//define svc_updatename 13 // [byte] [string]
#define svc_updatefrags 14 // [byte] [short]
//define svc_clientdata 15 // <shortbits + data>
#define svc_stopsound 16 // <see code>
//define svc_updatecolors 17 // [byte] [byte] [byte]
//define svc_particle 18 // [vec3] <variable>
#define svc_damage 19
#define svc_damage 19
#define svc_spawnstatic 20
// svc_spawnbinary 21
#define svc_spawnbaseline 22
#define svc_temp_entity 23 // variable
#define svc_setpause 24 // [byte] on / off
// svc_signonnum 25 // [byte] used for the signon sequence
#define svc_centerprint 26 // [string] to put in center of the screen
#define svc_killedmonster 27
#define svc_foundsecret 28
#define svc_spawnstaticsound 29 // [coord3] [byte] samp [byte] vol [byte] aten
#define svc_intermission 30 // [vec3_t] origin [vec3_t] angle
#define svc_finale 31 // [string] text
#define svc_cdtrack 32 // [byte] track
#define svc_cdtrack 32 // [byte] track
#define svc_sellscreen 33
#define svc_smallkick 34 // set client punchangle to 2
#define svc_bigkick 35 // set client punchangle to 4
#define svc_updateping 36 // [byte] [short]
#define svc_updateentertime 37 // [byte] [float]
#define svc_updatestatlong 38 // [byte] [long]
#define svc_muzzleflash 39 // [short] entity
#define svc_updateuserinfo 40 // [byte] slot [long] uid
// [string] userinfo
// [string] userinfo
#define svc_download 41 // [short] size [size bytes]
#define svc_playerinfo 42 // variable
#define svc_nails 43 // [byte] num [48 bits] xyzpy 12 12 12 4 8
@ -211,6 +189,30 @@
#define U_EFFECTS (1<<5)
#define U_SOLID (1<<6) // the entity should be solid for prediction
///////////////////////////////////////////////////////////////////////////
// QSG Protocol Extensions (Version 2)
// Network definitions for the engine, as defined in protocol.h
#define U_EXTEND1 (1<<7)
#define U_ALPHA (1<<17) // 1 byte, 0.0-1.0 = 0-255 (Unsent if 1)
#define U_SCALE (1<<18) // 1 byte, scale / 16 positive, (Unsent if 1)
#define U_EFFECTS2 (1<<19) // 1 byte, .effects & 0xFF00
#define U_GLOWSIZE (1<<20) // 1 byte, float/8.0, signed. Unsent if 1
#define U_GLOWCOLOR (1<<21) // 1 byte, palette index, default, 254.
#define U_COLORMOD (1<<22) // 1 byte, rrrgggbb. Model tinting
#define U_EXTEND2 (1<<23) // Another byte to follow
#define U_GLOWTRAIL (1<<24) // Leave U_GLOW* trail
#define U_VIEWMODEL (1<<25) // Attach model to view (relative). Owner only
#define U_FRAME2 (1<<26) // 1 byte .frame & 0xFF00 (second byte)
#define U_UNUSED27 (1<<27) // future expansion
#define U_UNUSED28 (1<<28) // future expansion
#define U_UNUSED29 (1<<29) // future expansion
#define U_UNUSED30 (1<<30) // future expansion
#define U_EXTEND3 (1<<31) // another byte to follow, future expansion
//==============================================
// a sound with no channel is a local only sound
@ -274,6 +276,10 @@ typedef struct
int colormap;
int skinnum;
int effects;
byte glowsize;
byte glowcolor;
byte colormod;
} entity_state_t;