]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/Main.qc
Update the server side cvar, fix something
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / Main.qc
index e480d0ef132cda38ee8ec42c2499fae3369cc94b..fb3106c29985c1a0070f46f3d5b0f8a393bb40e7 100644 (file)
@@ -698,39 +698,46 @@ void Ent_ReadAccuracy(void)
 
 void Spawn_Draw(void)
 {
-       pointparticles(self.cnt, self.origin, '0 0 2', bound(0, frametime, 0.1));
+       pointparticles(self.cnt, self.origin + '0 0 28', '0 0 2', bound(0, frametime, 0.1));
 }
 
 void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint
 {
-       float teamnum = ReadByte();
+       float teamnum = (ReadByte() - 1);
        self.origin_x = ReadShort();
        self.origin_y = ReadShort();
        self.origin_z = ReadShort();
-
+       
        if(is_new)
        {
-               switch(teamnum)
+               setsize(self, PL_MIN, PL_MAX);
+               droptofloor();
+
+               if(autocvar_cl_spawn_point_particles)
                {
-                       default: self.cnt = particleeffectnum("EF_STARDUST"); break;
+                       switch(teamnum)
+                       {
+                               case NUM_TEAM_1: self.cnt = particleeffectnum("spawn_point_red"); break;
+                               case NUM_TEAM_2: self.cnt = particleeffectnum("spawn_point_blue"); break;
+                               case NUM_TEAM_3: self.cnt = particleeffectnum("spawn_point_yellow"); break;
+                               case NUM_TEAM_4: self.cnt = particleeffectnum("spawn_point_pink"); break;
+                               default: self.cnt = particleeffectnum("spawn_point_neutral"); break;
+                       }
+                       self.draw = Spawn_Draw;
                }
-               
-               //self.colormod = '200 0 0'; //colormapPaletteColor(teamnum - 1, FALSE);
-
-               //setsize(self, PL_MIN, PL_MAX);
-
-               //droptofloor();
-
-               //self.mdl = "models/domination/dom_unclaimed.md3";
-               //precache_model(self.mdl);
-               //setmodel(self, self.mdl);
-               self.drawmask = MASK_NORMAL;
-               self.movetype = MOVETYPE_NOCLIP;
-               self.draw = Spawn_Draw;
-               
+               /*if(autocvar_cl_spawn_point_model) // needs a model first
+               {
+                       self.mdl = "models/spawnpoint.md3";
+                       self.colormod = Team_ColorRGB(teamnum);
+                       precache_model(self.mdl);
+                       setmodel(self, self.mdl);
+                       self.drawmask = MASK_NORMAL;
+                       //self.movetype = MOVETYPE_NOCLIP;
+                       //self.draw = Spawn_Draw;
+               }*/
        }
 
-       print(sprintf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d (%s)\n", is_new, vtos(self.origin), teamnum, "foobar"));
+       //print(sprintf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt));
 }
 
 void Ent_ReadSpawnEvent(float is_new)
@@ -749,15 +756,20 @@ void Ent_ReadSpawnEvent(float is_new)
                if(is_new)
                {
                        float teamnum = GetPlayerColor(entnum - 1);
-                       //if(autocvar_cl_spawn_event_sound)
+
+                       if(autocvar_cl_spawn_event_sound)
                        {
                                sound(self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
                        }
-                       //if(autocvar_cl_spawn_event_particles)
+                       if(autocvar_cl_spawn_event_particles)
                        {
                                switch(teamnum)
                                {
-                                       default: pointparticles(particleeffectnum("red_cap"), self.origin, '0 0 0', 1); break;
+                                       case NUM_TEAM_1: pointparticles(particleeffectnum("spawn_event_red"), self.origin, '0 0 0', 1); break;
+                                       case NUM_TEAM_2: pointparticles(particleeffectnum("spawn_event_blue"), self.origin, '0 0 0', 1); break;
+                                       case NUM_TEAM_3: pointparticles(particleeffectnum("spawn_event_yellow"), self.origin, '0 0 0', 1); break;
+                                       case NUM_TEAM_4: pointparticles(particleeffectnum("spawn_event_pink"), self.origin, '0 0 0', 1); break;
+                                       default: pointparticles(particleeffectnum("spawn_event_neutral"), self.origin, '0 0 0', 1); break;
                                }
                        }
                }
@@ -776,7 +788,7 @@ void Ent_ReadSpawnEvent(float is_new)
                }
        }
        
-       print(sprintf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d (%s), localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum, "foobar"));
+       //print(sprintf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum));
 }
 
 // CSQC_Ent_Update : Called every frame that the server has indicated an update to the SSQC / CSQC entity has occured.