mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2025-01-22 17:41:11 +00:00
moved breakable stuff over to config strings
This commit is contained in:
parent
0d4c0752ae
commit
b3e38a5b04
3 changed files with 42 additions and 43 deletions
|
@ -5,6 +5,9 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.71 2002/05/25 16:31:18 blaze
|
||||||
|
// moved breakable stuff over to config strings
|
||||||
|
//
|
||||||
// Revision 1.70 2002/05/25 10:40:31 makro
|
// Revision 1.70 2002/05/25 10:40:31 makro
|
||||||
// Loading screen
|
// Loading screen
|
||||||
//
|
//
|
||||||
|
@ -477,8 +480,10 @@ extern radio_msg_t female_radio_msgs[];
|
||||||
#define CS_PLAYERS (CS_SOUNDS+MAX_SOUNDS)
|
#define CS_PLAYERS (CS_SOUNDS+MAX_SOUNDS)
|
||||||
#define CS_LOCATIONS (CS_PLAYERS+MAX_CLIENTS)
|
#define CS_LOCATIONS (CS_PLAYERS+MAX_CLIENTS)
|
||||||
#define CS_PARTICLES (CS_LOCATIONS+MAX_LOCATIONS)
|
#define CS_PARTICLES (CS_LOCATIONS+MAX_LOCATIONS)
|
||||||
|
//Blaze: Storing breakables in config strings now
|
||||||
|
#define CS_BREAKABLES (CS_PARTICLES+MAX_LOCATIONS)
|
||||||
|
|
||||||
#define CS_MAX (CS_PARTICLES+MAX_LOCATIONS)
|
#define CS_MAX (CS_BREAKABLES+RQ3_MAX_BREAKABLES)
|
||||||
|
|
||||||
#if (CS_MAX) > MAX_CONFIGSTRINGS
|
#if (CS_MAX) > MAX_CONFIGSTRINGS
|
||||||
#error overflow: (CS_MAX) > MAX_CONFIGSTRINGS
|
#error overflow: (CS_MAX) > MAX_CONFIGSTRINGS
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.78 2002/05/25 16:31:18 blaze
|
||||||
|
// moved breakable stuff over to config strings
|
||||||
|
//
|
||||||
// Revision 1.77 2002/05/21 23:16:30 blaze
|
// Revision 1.77 2002/05/21 23:16:30 blaze
|
||||||
// Only send cheat vars on client connect instead of every spawn
|
// Only send cheat vars on client connect instead of every spawn
|
||||||
//
|
//
|
||||||
|
@ -1200,27 +1203,6 @@ int G_SendCheatVars(int clientNum)
|
||||||
}
|
}
|
||||||
return qtrue;
|
return qtrue;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
===============
|
|
||||||
G_SendBreakableInfo
|
|
||||||
sends out info to the clients about the breakables to load
|
|
||||||
===============
|
|
||||||
*/
|
|
||||||
|
|
||||||
int G_SendBreakableInfo(int clientNum)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
char cl_breakableinfo[128];
|
|
||||||
for (i=0;i< RQ3_MAX_BREAKABLES; i++)
|
|
||||||
{
|
|
||||||
if ( (strcmp(rq3_breakables[i].name,"") ) )
|
|
||||||
{
|
|
||||||
Com_sprintf(cl_breakableinfo, sizeof(cl_breakableinfo), "breakable %d %s %d %d\n",i,rq3_breakables[i].name, rq3_breakables[i].velocity, rq3_breakables[i].jump);
|
|
||||||
trap_SendServerCommand(clientNum, va("%s",cl_breakableinfo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===========
|
===========
|
||||||
|
@ -1342,10 +1324,11 @@ char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
//Blaze: Send out the breakable names to the clients
|
//Blaze: Send out the breakable names to the clients
|
||||||
if (!isBot && G_SendBreakableInfo(clientNum))
|
//Blaze: moved to configstring
|
||||||
{
|
//if (!isBot && G_SendBreakableInfo(clientNum))
|
||||||
Com_Printf("Error sending breakable info to client\n");
|
//{
|
||||||
}
|
// Com_Printf("Error sending breakable info to client\n");
|
||||||
|
//}
|
||||||
// for statistics
|
// for statistics
|
||||||
// client->areabits = areabits;
|
// client->areabits = areabits;
|
||||||
// if ( !client->areabits )
|
// if ( !client->areabits )
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.46 2002/05/25 16:31:18 blaze
|
||||||
|
// moved breakable stuff over to config strings
|
||||||
|
//
|
||||||
// Revision 1.45 2002/05/23 18:37:50 makro
|
// Revision 1.45 2002/05/23 18:37:50 makro
|
||||||
// Bots should crouch more often when they attack with a SSG
|
// Bots should crouch more often when they attack with a SSG
|
||||||
// Made this depend on skill. Also, elevator stuff
|
// Made this depend on skill. Also, elevator stuff
|
||||||
|
@ -572,13 +575,15 @@ If you wish to add a custom breakable to your map, please include your mapname (
|
||||||
void SP_func_breakable( gentity_t *ent ) {
|
void SP_func_breakable( gentity_t *ent ) {
|
||||||
int health;
|
int health;
|
||||||
int amount;
|
int amount;
|
||||||
int id;
|
|
||||||
int temp;
|
int temp;
|
||||||
int damage;
|
int damage;
|
||||||
int damage_radius;
|
int damage_radius;
|
||||||
int velocity;
|
|
||||||
int jump;
|
char *id;
|
||||||
|
char *velocity;
|
||||||
|
char *jump;
|
||||||
char *name, *s;
|
char *name, *s;
|
||||||
|
char breakinfo[MAX_INFO_STRING];
|
||||||
|
|
||||||
// Make it appear as the brush
|
// Make it appear as the brush
|
||||||
trap_SetBrushModel( ent, ent->model );
|
trap_SetBrushModel( ent, ent->model );
|
||||||
|
@ -655,36 +660,31 @@ void SP_func_breakable( gentity_t *ent ) {
|
||||||
}
|
}
|
||||||
ent->use = Use_Breakable;
|
ent->use = Use_Breakable;
|
||||||
|
|
||||||
G_SpawnInt( "id","0", &id);
|
G_SpawnString( "id","0", &id);
|
||||||
if (id < 0 || id >= RQ3_MAX_BREAKABLES )
|
if (atoi(id) < 0 || atoi(id) >= RQ3_MAX_BREAKABLES )
|
||||||
{
|
{
|
||||||
G_Printf("^2ERROR: ID too high\n");
|
G_Printf("^2ERROR: ID too high\n");
|
||||||
G_FreeEntity( ent );
|
G_FreeEntity( ent );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//Com_Printf("ID (%d) ", id);
|
//Com_Printf("ID (%d) ", id);
|
||||||
if (G_SpawnString( "type", "", &name) )
|
if (!G_SpawnString( "type", "", &name) )
|
||||||
{
|
|
||||||
Q_strncpyz(rq3_breakables[id].name,name,80);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
G_Printf("^2ERROR: broken breakable name (%s)\n", name);
|
G_Printf("^2ERROR: broken breakable name (%s)\n", name);
|
||||||
G_FreeEntity( ent );
|
G_FreeEntity( ent );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//Com_Printf("type (%s)\n",name);
|
//Com_Printf("type (%s)\n",name);
|
||||||
G_SpawnInt( "force", "7", &velocity);
|
G_SpawnString( "force", "7", &velocity);
|
||||||
rq3_breakables[id].velocity = velocity;
|
|
||||||
|
|
||||||
|
G_SpawnString( "lift", "5", &jump);
|
||||||
|
|
||||||
G_SpawnInt( "lift", "5", &jump);
|
|
||||||
rq3_breakables[id].jump = jump;
|
|
||||||
|
|
||||||
amount = amount << 6;
|
amount = amount << 6;
|
||||||
|
|
||||||
id = id & 0x0FFF;
|
|
||||||
//Elder: merge the bits
|
//Elder: merge the bits
|
||||||
ent->s.eventParm = amount | id ;
|
ent->s.eventParm = amount | (atoi(id) & 0x0FFF);
|
||||||
|
|
||||||
ent->health = health;
|
ent->health = health;
|
||||||
ent->takedamage = qtrue;
|
ent->takedamage = qtrue;
|
||||||
|
@ -702,12 +702,23 @@ void SP_func_breakable( gentity_t *ent ) {
|
||||||
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
ent->s.modelindex2 = G_ModelIndex( ent->model2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Makro - added this so spectators can go through breakables
|
||||||
|
//ent->nextthink = level.time + FRAMETIME;
|
||||||
|
//ent->think = Think_SpawnNewDoorTrigger;
|
||||||
|
Info_SetValueForKey( breakinfo, "type", name );
|
||||||
|
Info_SetValueForKey( breakinfo, "velocity", velocity );
|
||||||
|
Info_SetValueForKey( breakinfo, "jump", jump );
|
||||||
|
Info_SetValueForKey( breakinfo, "id", id );
|
||||||
|
trap_SetConfigstring( CS_BREAKABLES+atoi(id), breakinfo);
|
||||||
|
|
||||||
trap_LinkEntity (ent);
|
trap_LinkEntity (ent);
|
||||||
|
|
||||||
//Makro - added for elevators
|
//Makro - added for elevators
|
||||||
if (G_SpawnString( "pathtarget","", &s)) {
|
if (G_SpawnString( "pathtarget","", &s)) {
|
||||||
Q_strncpyz(ent->pathtarget, s, sizeof(ent->pathtarget));
|
Q_strncpyz(ent->pathtarget, s, sizeof(ent->pathtarget));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue