moved breakables into a configstring so they work in demos

This commit is contained in:
Scott Brooks 2002-05-25 07:12:34 +00:00
parent 122459cec6
commit bbf845b22a
2 changed files with 54 additions and 3 deletions

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.69 2002/05/25 07:12:34 blaze
// moved breakables into a configstring so they work in demos
//
// Revision 1.68 2002/05/21 14:59:11 makro
// cg_RQ3_avidemo
//
@ -1163,7 +1166,46 @@ static void CG_RegisterSounds( void ) {
//===================================================================================
/*
=================
CG_RegisterBreakables
This function registers the breakables
=================
*/
static void CG_RegisterBreakables(void){
int i,id;
const char *breakInfo;
const char *name;
CG_Printf("In registerbreakables\n");
for (i=0;i < RQ3_MAX_BREAKABLES; i++)
{
breakInfo = CG_ConfigString( CS_BREAKABLES+i );
if ( !breakInfo[0]) {
continue;
}
id = atoi(Info_ValueForKey(breakInfo, "id"));
if (id >= 0 && id < RQ3_MAX_BREAKABLES) {
name = Info_ValueForKey(breakInfo,"type");
Com_Printf("Registering breakable %s ID=%d\n",name, id);
//Blaze: Breakable stuff - register the models, sounds, and explosion shader
cgs.media.breakables[id].model[0] = trap_R_RegisterModel( va("breakables/%s/models/break1.md3",name));
cgs.media.breakables[id].model[1] = trap_R_RegisterModel( va("breakables/%s/models/break2.md3",name));
cgs.media.breakables[id].model[2] = trap_R_RegisterModel( va("breakables/%s/models/break3.md3",name));
cgs.media.breakables[id].shader = trap_R_RegisterShader( va("breakable_%s_explosion",name));
cgs.media.breakables[id].sound[0] = trap_S_RegisterSound( va("breakables/%s/sounds/break1.wav", name), qfalse);
cgs.media.breakables[id].sound[1] = trap_S_RegisterSound( va("breakables/%s/sounds/break2.wav", name), qfalse);
cgs.media.breakables[id].sound[2] = trap_S_RegisterSound( va("breakables/%s/sounds/break3.wav", name), qfalse);
cgs.media.breakables[id].exp_sound = trap_S_RegisterSound( va("breakables/%s/sounds/explosion.wav", name), qfalse);
cgs.media.breakables[id].velocity = atoi(Info_ValueForKey(breakInfo,"velocity"));
cgs.media.breakables[id].jump = atoi(Info_ValueForKey(breakInfo,"jump"));
} else {
CG_Printf("ID was %d\n",id);
}
}
}
/*
=================
@ -2409,6 +2451,11 @@ void CG_Init( int serverMessageNum, int serverCommandSequence, int clientNum ) {
CG_RegisterGraphics();
//Blaze: Load breakables
CG_LoadingString( "breakables" );
CG_RegisterBreakables();
CG_LoadingString( "clients" );
CG_RegisterClients(); // if low on memory, some clients will be deferred

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.43 2002/05/25 07:12:34 blaze
// moved breakables into a configstring so they work in demos
//
// Revision 1.42 2002/05/23 03:06:56 blaze
// Some changes to autoaction, still need to fix up a little bit more stuff relating to getting sent 2 screenshot requests
//
@ -1539,11 +1542,12 @@ static void CG_ServerCommand( void ) {
return;
}
if (!strcmp(cmd, "breakable")) {
//Blaze: Moved to a config string to allow breakables to work in a demo
/* if (!strcmp(cmd, "breakable")) {
int id;
id = atoi(CG_Argv(1));
if (id >= 0 && id < RQ3_MAX_BREAKABLES) {
//Com_Printf("Registering breakable %s ID=%d\n",CG_Argv(2), id);
Com_Printf("Registering breakable %s ID=%d\n",CG_Argv(2), id);
//Blaze: Breakable stuff - register the models, sounds, and explosion shader
cgs.media.breakables[id].model[0] = trap_R_RegisterModel( va("breakables/%s/models/break1.md3",CG_Argv(2)));
cgs.media.breakables[id].model[1] = trap_R_RegisterModel( va("breakables/%s/models/break2.md3",CG_Argv(2)));
@ -1561,7 +1565,7 @@ static void CG_ServerCommand( void ) {
}
return;
}
*/
if (!strcmp(cmd, "rq3_cmd")) {
CG_RQ3_Cmd();
return;