Wrote a new hackish model replacement system

This commit is contained in:
Richard Allen 2003-01-08 04:46:26 +00:00
parent b94dbab647
commit 9057628f98
5 changed files with 176 additions and 137 deletions

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.34 2003/01/08 04:46:25 jbravo
// Wrote a new hackish model replacement system
//
// Revision 1.33 2002/09/01 21:14:36 makro
// Sky portal tweaks
//
@ -334,8 +337,7 @@ static void CG_Item(centity_t * cent)
entityState_t *es;
gitem_t *item;
int msec;
float frac;
float scale;
float frac, scale;
weaponInfo_t *wi;
es = &cent->currentState;
@ -373,10 +375,6 @@ static void CG_Item(centity_t * cent)
trap_R_AddRefEntityToScene(&ent);
return;
}
// items bob up and down continuously
//Blaze: Stop the bobbing
// scale = 0.005 + cent->currentState.number * 0.00001;
// cent->lerpOrigin[2] += 4 + cos( ( cg.time + 1000 ) * scale ) * 4;
memset(&ent, 0, sizeof(ent));
@ -392,18 +390,6 @@ static void CG_Item(centity_t * cent)
AxisCopy(cg.autoAxis, ent.axis);
}
// autorotate at one of two speeds
//Blaze: no rotating
/*
if ( item->giType == IT_HEALTH ) {
VectorCopy( cg.autoAnglesFast, cent->lerpAngles );
AxisCopy( cg.autoAxisFast, ent.axis );
} else {
VectorCopy( cg.autoAngles, cent->lerpAngles );
AxisCopy( cg.autoAxis, ent.axis );
}
*/
if (item->giType == IT_WEAPON && item->giTag != WP_KNIFE &&
(es->pos.trDelta[0] != 0 || es->pos.trDelta[1] != 0 || es->pos.trDelta[2] != 0)) {
vec3_t myvec;
@ -513,16 +499,6 @@ static void CG_Item(centity_t * cent)
VectorScale(ent.axis[1], scale, ent.axis[1]);
VectorScale(ent.axis[2], scale, ent.axis[2]);
//Blaze: Dont make models bigger
/*
if ( item->giType == IT_WEAPON ) {
VectorScale( ent.axis[0], 1.5, ent.axis[0] );
VectorScale( ent.axis[1], 1.5, ent.axis[1] );
VectorScale( ent.axis[2], 1.5, ent.axis[2] );
ent.nonNormalizedAxes = qtrue;
}
*/
// add to refresh list
trap_R_AddRefEntityToScene(&ent);

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.117 2003/01/08 04:46:26 jbravo
// Wrote a new hackish model replacement system
//
// Revision 1.116 2002/12/06 07:31:41 blaze
// changed the helmet default from helmet/helmet to helmet
//
@ -2164,6 +2167,106 @@ void CG_StartMusic(void)
trap_S_StartBackgroundTrack(parm1, parm2);
}
static qboolean JB_FileExists(const char *filename)
{
int len;
len = trap_FS_FOpenFile(filename, 0, FS_READ);
if (len > 0) {
return qtrue;
}
return qfalse;
}
/*
=================
CG_ReplaceModels
Hack by JBravo to replace world_models in bg_itemlist
=================
*/
void CG_ReplaceModels(void)
{
gitem_t *item;
char newname[MAX_QPATH], newicon[MAX_QPATH];
for (item = bg_itemlist + 1; item->classname; item++) {
if (!strcmp(item->classname, "weapon_knife")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/knife.md3", cg_RQ3_knife.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_knife.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_pistol")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/mk23.md3", cg_RQ3_mk23.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_mk23.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_m4")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/m4.md3", cg_RQ3_m4.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_m4.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_ssg3000")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/ssg3000.md3", cg_RQ3_ssg3000.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_ssg3000.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_mp5")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/mp5.md3", cg_RQ3_mp5.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_mp5.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_handcannon")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/handcannon.md3", cg_RQ3_handcannon.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_handcannon.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_m3")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/m3.md3", cg_RQ3_m3.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_m3.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_akimbo")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/akimbo.md3", cg_RQ3_akimbo.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_akimbo.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
if (!strcmp(item->classname, "weapon_grenade")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/grenade.md3", cg_RQ3_grenade.string);
Com_sprintf(newicon, MAX_QPATH, "icons/iconw_%s", cg_RQ3_grenade.string);
if (JB_FileExists(newname) && (strlen(newname) < 59)) {
strcpy(bg_itemlist[item - bg_itemlist].world_model[0], newname);
strcpy(bg_itemlist[item - bg_itemlist].icon, newicon);
}
}
}
}
/*
=================
CG_Init
@ -2197,6 +2300,8 @@ void CG_Init(int serverMessageNum, int serverCommandSequence, int clientNum)
CG_RegisterCvars();
CG_ReplaceModels();
CG_InitConsoleCommands();
//Blaze: Default weapon = Pistol
cg.weaponSelect = WP_PISTOL;

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.102 2003/01/08 04:46:26 jbravo
// Wrote a new hackish model replacement system
//
// Revision 1.101 2002/12/05 23:11:29 blaze
// Added item replacement code
//
@ -633,10 +636,6 @@ void CG_RegisterWeapon(int weaponNum)
vec3_t mins, maxs;
// QUARANTINE - Weapon Animations - Added Variable
char filename[MAX_QPATH]; //Used to open animation.cfg files
char mname[MAX_QPATH];
char md3name[MAX_QPATH];
char newname[MAX_QPATH];
char newicon[MAX_QPATH];
// END
int i;
@ -666,40 +665,10 @@ void CG_RegisterWeapon(int weaponNum)
}
CG_RegisterItemVisuals(item - bg_itemlist);
strcpy(mname, item->world_model[0] + 16);
mname[strstr(mname, "/") - mname] = '\0';
strcpy(md3name, item->world_model[0] + 16 + strlen(mname) + 1);
// load cmodel before model so filecache works
if (!strcmp(mname, "knife")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_knife.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_knife.string) + 13, "icons/iconw_%s", cg_RQ3_knife.string);
} else if (!strcmp(mname, "mk23")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_mk23.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_mk23.string) + 13, "icons/iconw_%s", cg_RQ3_mk23.string);
} else if (!strcmp(mname, "m4")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_m4.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_m4.string) + 13, "icons/iconw_%s", cg_RQ3_m4.string);
} else if (!strcmp(mname, "ssg3000")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_ssg3000.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_ssg3000.string) + 13, "icons/iconw_%s", cg_RQ3_ssg3000.string);
} else if (!strcmp(mname, "mp5")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_mp5.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_mp5.string) + 13, "icons/iconw_%s", cg_RQ3_mp5.string);
} else if (!strcmp(mname, "handcannon")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_handcannon.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_handcannon.string) + 13, "icons/iconw_%s", cg_RQ3_handcannon.string);
} else if (!strcmp(mname, "m3")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_m3.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_m3.string) + 13, "icons/iconw_%s", cg_RQ3_m3.string);
} else if (!strcmp(mname, "akimbo")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_akimbo.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_akimbo.string) + 13, "icons/iconw_%s", cg_RQ3_akimbo.string);
} else if (!strcmp(mname, "grenade")) {
Com_sprintf(newname, MAX_QPATH, "models/weapons2/%s/%s", cg_RQ3_grenade.string, md3name);
Com_sprintf(newicon, strlen(cg_RQ3_grenade.string) + 13, "icons/iconw_%s", cg_RQ3_grenade.string);
}
weaponInfo->weaponModel = trap_R_RegisterModel(newname);
//
// load cmodel before model so filecache works
weaponInfo->weaponModel = trap_R_RegisterModel(item->world_model[0]);
// calc midpoint for rotation
trap_R_ModelBounds(weaponInfo->weaponModel, mins, maxs);
@ -707,8 +676,8 @@ void CG_RegisterWeapon(int weaponNum)
weaponInfo->weaponMidpoint[i] = mins[i] + 0.5 * (maxs[i] - mins[i]);
}
weaponInfo->weaponIcon = trap_R_RegisterShader(newicon);
weaponInfo->ammoIcon = trap_R_RegisterShader(newicon);
weaponInfo->weaponIcon = trap_R_RegisterShader(item->icon);
weaponInfo->ammoIcon = trap_R_RegisterShader(item->icon);
for (ammo = bg_itemlist + 1; ammo->classname; ammo++) {
if (ammo->giType == IT_AMMO && ammo->giTag == weaponNum) {
@ -729,23 +698,23 @@ void CG_RegisterWeapon(int weaponNum)
weaponInfo->ammoIcon = trap_R_RegisterShader(ammo->icon);
}
strcpy(path, newname);
strcpy(path, item->world_model[0]);
COM_StripExtension(path, path);
strcat(path, "_flash.md3");
weaponInfo->flashModel = trap_R_RegisterModel(path);
strcpy(path, newname);
strcpy(path, item->world_model[0]);
COM_StripExtension(path, path);
strcat(path, "_barrel.md3");
weaponInfo->barrelModel = trap_R_RegisterModel(path);
strcpy(path, newname);
strcpy(path, item->world_model[0]);
COM_StripExtension(path, path);
strcat(path, "_hand.md3");
weaponInfo->handsModel = trap_R_RegisterModel(path);
//Elder: added to cache 1st-person models
strcpy(path, newname);
strcpy(path, item->world_model[0]);
COM_StripExtension(path, path);
strcat(path, "_1st.md3");
weaponInfo->firstModel = trap_R_RegisterModel(path);
@ -1005,67 +974,49 @@ void CG_RegisterItemVisuals(int itemNum)
memset(itemInfo, 0, sizeof(&itemInfo));
itemInfo->registered = qtrue;
if (item->giType == IT_HOLDABLE)
{
if (item->giTag == HI_KEVLAR)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_kevlar.string));
if (item->giType == IT_HOLDABLE) {
if (item->giTag == HI_KEVLAR) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_kevlar.string));
}
if (item->giTag == HI_LASER)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_laser.string));
if (item->giTag == HI_LASER) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_laser.string));
}
if (item->giTag == HI_SILENCER)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_silencer.string));
if (item->giTag == HI_SILENCER) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_silencer.string));
}
if (item->giTag == HI_BANDOLIER)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_bandolier.string));
if (item->giTag == HI_BANDOLIER) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_bandolier.string));
}
if (item->giTag == HI_SLIPPERS)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_slippers.string));
if (item->giTag == HI_SLIPPERS) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_slippers.string));
}
if (item->giTag == HI_HELMET)
{
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3",cg_RQ3_helmet.string));
if (item->giTag == HI_HELMET) {
itemInfo->models[0] = trap_R_RegisterModel(va("models/items/%s.md3", cg_RQ3_helmet.string));
}
}
else
{
} else {
itemInfo->models[0] = trap_R_RegisterModel(item->world_model[0]);
}
if (item->giType == IT_HOLDABLE)
{
if (item->giTag == HI_KEVLAR)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_kevlar.string));
if (item->giType == IT_HOLDABLE) {
if (item->giTag == HI_KEVLAR) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_kevlar.string));
}
if (item->giTag == HI_LASER)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_laser.string));
if (item->giTag == HI_LASER) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_laser.string));
}
if (item->giTag == HI_SILENCER)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_silencer.string));
if (item->giTag == HI_SILENCER) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_silencer.string));
}
if (item->giTag == HI_BANDOLIER)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_bandolier.string));
if (item->giTag == HI_BANDOLIER) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_bandolier.string));
}
if (item->giTag == HI_SLIPPERS)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_slippers.string));
if (item->giTag == HI_SLIPPERS) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_slippers.string));
}
if (item->giTag == HI_HELMET)
{
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s",cg_RQ3_helmet.string));
if (item->giTag == HI_HELMET) {
itemInfo->icon = trap_R_RegisterShader(va("icons/iconi_%s", cg_RQ3_helmet.string));
}
}
else
{
itemInfo->icon = trap_R_RegisterShader(item->icon);
} else {
itemInfo->icon = trap_R_RegisterShader(item->icon);
}
if (item->giType == IT_WEAPON) {

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.53 2003/01/08 04:46:26 jbravo
// Wrote a new hackish model replacement system
//
// Revision 1.52 2002/11/17 20:14:15 jbravo
// Itembanning added
//
@ -2700,7 +2703,7 @@ BotSameTeam
*/
int BotSameTeam(bot_state_t * bs, int entnum)
{
char info1[1024], info2[1024];
// char info1[1024], info2[1024];
int team1, team2;
if (bs->client < 0 || bs->client >= MAX_CLIENTS) {

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.47 2003/01/08 04:46:26 jbravo
// Wrote a new hackish model replacement system
//
// Revision 1.46 2002/10/30 20:04:34 jbravo
// Adding helmet
//
@ -130,9 +133,10 @@ gitem_t bg_itemlist[] = {
"weapon_knife",
//"sound/weapons/knife/knife.wav",
"sound/misc/am_pkup.wav",
{"models/weapons2/knife/knife.md3", 0, 0, 0}
{"models/weapons2/knife/knife.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
"icons/iconw_knife",
"icons/iconw_knife\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
RQ3_KNIFE_NAME,
1,
IT_WEAPON,
@ -145,10 +149,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_pistol",
"sound/weapons/mk23/mk23slide.wav",
{"models/weapons2/mk23/mk23.md3",
{"models/weapons2/mk23/mk23.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_mk23",
/* icon */ "icons/iconw_mk23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_PISTOL_NAME,
12,
IT_WEAPON,
@ -162,10 +166,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_m4",
"sound/weapons/m4/m4slide.wav",
{"models/weapons2/m4/m4.md3",
{"models/weapons2/m4/m4.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_m4",
/* icon */ "icons/iconw_m4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_M4_NAME,
24,
IT_WEAPON,
@ -179,10 +183,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_ssg3000",
"sound/weapons/ssg3000/ssgin.wav",
{"models/weapons2/ssg3000/ssg3000.md3",
{"models/weapons2/ssg3000/ssg3000.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_ssg",
/* icon */ "icons/iconw_ssg\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_SSG3000_NAME,
6,
IT_WEAPON,
@ -196,10 +200,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_mp5",
"sound/weapons/mp5/mp5slide.wav",
{"models/weapons2/mp5/mp5.md3",
{"models/weapons2/mp5/mp5.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_mp5",
/* icon */ "icons/iconw_mp5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_MP5_NAME,
30,
IT_WEAPON,
@ -213,10 +217,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_handcannon",
"sound/weapons/handcannon/hcopen.wav",
{"models/weapons2/handcannon/handcannon.md3",
{"models/weapons2/handcannon/handcannon.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_sawedoff",
/* icon */ "icons/iconw_handcannon\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_HANDCANNON_NAME,
2,
IT_WEAPON,
@ -230,10 +234,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_m3",
"sound/weapons/m3/m3in.wav",
{"models/weapons2/m3/m3.md3",
{"models/weapons2/m3/m3.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_m3",
/* icon */ "icons/iconw_m3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_M3_NAME,
7,
IT_WEAPON,
@ -247,10 +251,10 @@ gitem_t bg_itemlist[] = {
{
"weapon_akimbo",
"sound/weapons/mk23/mk23slide.wav",
{"models/weapons2/akimbo/akimbo.md3",
{"models/weapons2/akimbo/akimbo.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_akimbo",
/* icon */ "icons/iconw_akimbo\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_AKIMBO_NAME,
24,
IT_WEAPON,
@ -265,10 +269,10 @@ gitem_t bg_itemlist[] = {
"weapon_grenade",
//"sound/grenade/tink2.wav",
"sound/misc/am_pkup.wav",
{"models/weapons2/grenade/grenade.md3",
{"models/weapons2/grenade/grenade.md3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
0, 0, 0}
,
/* icon */ "icons/iconw_gren",
/* icon */ "icons/iconw_grenade\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
/* pickup */ RQ3_GRENADE_NAME,
1,
IT_WEAPON,