]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - host_cmd.c
Remove alsa 0.6 (for some random date of cvs alsa) support, never officially released...
[xonotic/darkplaces.git] / host_cmd.c
index c08e92125405bcbb31a682cc5b70a47858a8d28f..4783279deb7cab63c3dc2fc58ad19aff5b0707e8 100644 (file)
@@ -80,7 +80,7 @@ void Host_Status_f (void)
                print = SV_ClientPrintf;
 
        print ("host:    %s\n", Cvar_VariableString ("hostname"));
-       print ("version: %4.2f\n", VERSION);
+       print ("version: %4.2f (build %i)\n", VERSION, buildnumber);
        if (tcpipAvailable)
                print ("tcp/ip:  %s\n", my_tcpip_address);
        if (ipxAvailable)
@@ -595,7 +595,7 @@ void Host_Loadgame_f (void)
        for (i=0 ; i<MAX_LIGHTSTYLES ; i++)
        {
                fscanf (f, "%s\n", str);
-               sv.lightstyles[i] = Hunk_Alloc (strlen(str)+1);
+               sv.lightstyles[i] = Hunk_AllocName (strlen(str)+1, "lightstyles");
                strcpy (sv.lightstyles[i], str);
        }
 
@@ -708,7 +708,7 @@ void Host_Name_f (void)
        
 void Host_Version_f (void)
 {
-       Con_Printf ("Version %4.2f\n", VERSION);
+       Con_Printf ("Version %4.2f (build %i)\n", VERSION, buildnumber);
        Con_Printf ("Exe: "__TIME__" "__DATE__"\n");
 }
 
@@ -795,7 +795,7 @@ void Host_Tell_f(void)
        client_t *save;
        int             j;
        char    *p;
-       char    text[64];
+       char    text[1024]; // LordHavoc: FIXME: temporary buffer overflow fix (was 64)
 
        if (cmd_source == src_command)
        {
@@ -894,7 +894,7 @@ void Host_Color_f(void)
                pr_global_struct->time = sv.time;
                pr_globals[0] = playercolor;
                pr_global_struct->self = EDICT_TO_PROG(host_client->edict);
-               PR_ExecuteProgram (SV_ChangeTeam);
+               PR_ExecuteProgram (SV_ChangeTeam, "");
        }
        else
        {
@@ -929,7 +929,7 @@ void Host_Kill_f (void)
        
        pr_global_struct->time = sv.time;
        pr_global_struct->self = EDICT_TO_PROG(sv_player);
-       PR_ExecuteProgram (pr_global_struct->ClientKill);
+       PR_ExecuteProgram (pr_global_struct->ClientKill, "QC function ClientKill is missing");
 }
 
 
@@ -1036,7 +1036,7 @@ void Host_Spawn_f (void)
                        Con_DPrintf("Calling RestoreGame\n");
                        pr_global_struct->time = sv.time;
                        pr_global_struct->self = EDICT_TO_PROG(sv_player);
-                       PR_ExecuteProgram (RestoreGame);
+                       PR_ExecuteProgram (RestoreGame, "");
                }
        }
        else
@@ -1061,12 +1061,12 @@ void Host_Spawn_f (void)
 
                pr_global_struct->time = sv.time;
                pr_global_struct->self = EDICT_TO_PROG(sv_player);
-               PR_ExecuteProgram (pr_global_struct->ClientConnect);
+               PR_ExecuteProgram (pr_global_struct->ClientConnect, "QC function ClientConnect is missing");
 
                if ((Sys_FloatTime() - host_client->netconnection->connecttime) <= sv.time)
                        Sys_Printf ("%s entered the game\n", host_client->name);
 
-               PR_ExecuteProgram (pr_global_struct->PutClientInServer);        
+               PR_ExecuteProgram (pr_global_struct->PutClientInServer, "QC function PutClientInServer is missing");
        }
 
 
@@ -1469,15 +1469,59 @@ void Host_Viewframe_f (void)
 
 void PrintFrameName (model_t *m, int frame)
 {
-       aliashdr_t                      *hdr;
-       maliasframedesc_t       *pframedesc;
-
-       hdr = (aliashdr_t *)Mod_Extradata (m);
-       if (!hdr)
+       if (m->type != mod_alias)
                return;
-       pframedesc = &hdr->frames[frame];
-       
-       Con_Printf ("frame %i: %s\n", frame, pframedesc->name);
+       switch(m->aliastype)
+       {
+       case ALIASTYPE_MDL:
+               {
+                       maliashdr_t *mheader;
+                       maliasframe_t *frameinfo;
+
+                       mheader = (maliashdr_t *)Mod_Extradata (m);
+                       if (!mheader)
+                               return;
+                       if (frame < 0 || frame >= mheader->numframes)
+                               frame = 0;
+                       frameinfo = &((maliasframe_t *)(mheader->framedata + (int) mheader))[frame];
+                       
+                       Con_Printf ("frame %i: %s\n", frame, frameinfo->name);
+               }
+               break;
+       case ALIASTYPE_MD2:
+               {
+                       md2mem_t *mheader;
+                       md2memframe_t *frameinfo;
+
+                       mheader = (md2mem_t *)Mod_Extradata (m);
+                       if (!mheader)
+                               return;
+                       if (frame < 0 || frame >= mheader->num_frames)
+                               frame = 0;
+                       frameinfo = (md2memframe_t *)(mheader->ofs_frames + (int) mheader) + frame;
+                       
+                       Con_Printf ("frame %i: %s\n", frame, frameinfo->name);
+               }
+               break;
+       case ALIASTYPE_ZYM:
+               {
+                       zymtype1header_t *mheader;
+                       zymscene_t *scene;
+
+                       mheader = (zymtype1header_t *)Mod_Extradata (m);
+                       if (!mheader)
+                               return;
+                       if (frame < 0 || frame >= mheader->numscenes)
+                               frame = 0;
+                       scene = (zymscene_t *)(mheader->lump_scenes.start + (int) mheader) + frame;
+                       
+                       Con_Printf ("frame %i: %s\n", frame, scene->name);
+               }
+               break;
+       default:
+               Con_Printf("frame %i: (unknown alias model type)\n", frame);
+               break;
+       }
 }
 
 /*