diff --git a/reaction/cgame/cg_local.h b/reaction/cgame/cg_local.h index a701ceb7..e402c83c 100644 --- a/reaction/cgame/cg_local.h +++ b/reaction/cgame/cg_local.h @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.134 2003/02/05 20:21:38 jbravo +// Fixed the model replacement system. Its no longer an ugly hack. +// // Revision 1.133 2003/02/01 02:15:31 jbravo // Replacement models and items // @@ -375,7 +378,9 @@ #define TEAM_OVERLAY_MAXNAME_WIDTH 12 #define TEAM_OVERLAY_MAXLOCATION_WIDTH 16 -//#define DEFAULT_MODEL "sarge" +// JBravo: used to store replacement models +#define MAX_MODEL_LEN 128 + // Elder: changed to good ol' resdog #define DEFAULT_MODEL "grunt" // Elder: this is added diff --git a/reaction/cgame/cg_main.c b/reaction/cgame/cg_main.c index d340e318..aa9a69dd 100644 --- a/reaction/cgame/cg_main.c +++ b/reaction/cgame/cg_main.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.119 2003/02/05 20:21:38 jbravo +// Fixed the model replacement system. Its no longer an ugly hack. +// // Revision 1.118 2003/02/01 02:15:31 jbravo // Replacement models and items // @@ -280,6 +283,23 @@ void CG_Shutdown(void); //Blaze: used to access the names of the breakables char rq3_breakables[RQ3_MAX_BREAKABLES][80]; +// JBravo: used to store replacement models +char RQ3_knife_model[MAX_MODEL_LEN], RQ3_knife_icon[MAX_MODEL_LEN]; +char RQ3_pistol_model[MAX_MODEL_LEN], RQ3_pistol_icon[MAX_MODEL_LEN]; +char RQ3_m4_model[MAX_MODEL_LEN], RQ3_m4_icon[MAX_MODEL_LEN]; +char RQ3_ssg3000_model[MAX_MODEL_LEN], RQ3_ssg3000_icon[MAX_MODEL_LEN]; +char RQ3_mp5_model[MAX_MODEL_LEN], RQ3_mp5_icon[MAX_MODEL_LEN]; +char RQ3_handcannon_model[MAX_MODEL_LEN], RQ3_handcannon_icon[MAX_MODEL_LEN]; +char RQ3_m3_model[MAX_MODEL_LEN], RQ3_m3_icon[MAX_MODEL_LEN]; +char RQ3_akimbo_model[MAX_MODEL_LEN], RQ3_akimbo_icon[MAX_MODEL_LEN]; +char RQ3_grenade_model[MAX_MODEL_LEN], RQ3_grenade_icon[MAX_MODEL_LEN]; +char RQ3_kevlar_model[MAX_MODEL_LEN], RQ3_kevlar_icon[MAX_MODEL_LEN]; +char RQ3_silencer_model[MAX_MODEL_LEN], RQ3_silencer_icon[MAX_MODEL_LEN]; +char RQ3_laser_model[MAX_MODEL_LEN], RQ3_laser_icon[MAX_MODEL_LEN]; +char RQ3_bandolier_model[MAX_MODEL_LEN], RQ3_bandolier_icon[MAX_MODEL_LEN]; +char RQ3_slippers_model[MAX_MODEL_LEN], RQ3_slippers_icon[MAX_MODEL_LEN]; +char RQ3_helmet_model[MAX_MODEL_LEN], RQ3_helmet_icon[MAX_MODEL_LEN]; + /* ================ vmMain @@ -2218,133 +2238,162 @@ static qboolean JB_FileExists(const char *filename) ================= CG_ReplaceModels -Hack by JBravo to replace world_models in bg_itemlist +Routine 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_knife") && strcmp(cg_RQ3_knife.string, "knife")) { + Com_sprintf(RQ3_knife_model, MAX_MODEL_LEN, "models/weapons2/%s/knife.md3", cg_RQ3_knife.string); + Com_sprintf(RQ3_knife_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_knife.string); + if (JB_FileExists(RQ3_knife_model) && (strlen(RQ3_knife_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_knife_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_knife_icon; + } else { + CG_Printf("^1Error loading knife replacement model %s\n", cg_RQ3_knife.string); } } - 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_pistol") && strcmp(cg_RQ3_mk23.string, "mk23")) { + Com_sprintf(RQ3_pistol_model, MAX_MODEL_LEN, "models/weapons2/%s/mk23.md3", cg_RQ3_mk23.string); + Com_sprintf(RQ3_pistol_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_mk23.string); + if (JB_FileExists(RQ3_pistol_model) && (strlen(RQ3_pistol_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_pistol_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_pistol_icon; + } else { + CG_Printf("^1Error loading pistol replacement model %s\n", cg_RQ3_mk23.string); } } - 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_m4") && strcmp(cg_RQ3_m4.string, "m4")) { + Com_sprintf(RQ3_m4_model, MAX_MODEL_LEN, "models/weapons2/%s/m4.md3", cg_RQ3_m4.string); + Com_sprintf(RQ3_m4_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_m4.string); + if (JB_FileExists(RQ3_m4_model) && (strlen(RQ3_m4_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_m4_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_m4_icon; + } else { + CG_Printf("^1Error loading m4 replacement model %s\n", cg_RQ3_m4.string); } } - 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_ssg3000") && strcmp(cg_RQ3_ssg3000.string, "ssg3000")) { + Com_sprintf(RQ3_ssg3000_model, MAX_MODEL_LEN, "models/weapons2/%s/ssg3000.md3", cg_RQ3_ssg3000.string); + Com_sprintf(RQ3_ssg3000_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_ssg3000.string); + if (JB_FileExists(RQ3_ssg3000_model) && (strlen(RQ3_ssg3000_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_ssg3000_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_ssg3000_icon; + } else { + CG_Printf("^1Error loading ssg3000 replacement model %s\n", cg_RQ3_ssg3000.string); } } - 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_mp5") && strcmp(cg_RQ3_mp5.string, "mp5")) { + Com_sprintf(RQ3_mp5_model, MAX_MODEL_LEN, "models/weapons2/%s/mp5.md3", cg_RQ3_mp5.string); + Com_sprintf(RQ3_mp5_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_mp5.string); + if (JB_FileExists(RQ3_mp5_model) && (strlen(RQ3_mp5_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_mp5_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_mp5_icon; + } else { + CG_Printf("^1Error loading mp5 replacement model\n", cg_RQ3_mp5.string); } } - 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_handcannon") && strcmp(cg_RQ3_handcannon.string, "handcannon")) { + Com_sprintf(RQ3_handcannon_model, MAX_MODEL_LEN, "models/weapons2/%s/handcannon.md3", cg_RQ3_handcannon.string); + Com_sprintf(RQ3_handcannon_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_handcannon.string); + if (JB_FileExists(RQ3_handcannon_model) && (strlen(RQ3_handcannon_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_handcannon_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_handcannon_icon; + } else { + CG_Printf("^1Error loading handcannon replacement model %s\n", cg_RQ3_handcannon.string); } } - 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_m3") && strcmp(cg_RQ3_m3.string, "m3")) { + Com_sprintf(RQ3_m3_model, MAX_MODEL_LEN, "models/weapons2/%s/m3.md3", cg_RQ3_m3.string); + Com_sprintf(RQ3_m3_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_m3.string); + if (JB_FileExists(RQ3_m3_model) && (strlen(RQ3_m3_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_m3_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_m3_icon; + } else { + CG_Printf("^1Error loading m3 replacement model %s\n", cg_RQ3_m3.string); } } - 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_akimbo") && strcmp(cg_RQ3_akimbo.string, "akimbo")) { + Com_sprintf(RQ3_akimbo_model, MAX_MODEL_LEN, "models/weapons2/%s/akimbo.md3", cg_RQ3_akimbo.string); + Com_sprintf(RQ3_akimbo_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_akimbo.string); + if (JB_FileExists(RQ3_akimbo_model) && (strlen(RQ3_akimbo_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_akimbo_model; + bg_itemlist[item - bg_itemlist].icon = (char *)&RQ3_akimbo_icon; + } else { + CG_Printf("^1Error loading akimbo replacement model %s\n", cg_RQ3_akimbo.string); } } - 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); + if (!strcmp(item->classname, "weapon_grenade") && strcmp(cg_RQ3_grenade.string, "grenade")) { + Com_sprintf(RQ3_grenade_model, MAX_MODEL_LEN, "models/weapons2/%s/grenade.md3", cg_RQ3_grenade.string); + Com_sprintf(RQ3_grenade_icon, MAX_MODEL_LEN, "icons/iconw_%s", cg_RQ3_grenade.string); + if (JB_FileExists(RQ3_grenade_model) && (strlen(RQ3_grenade_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_grenade_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_grenade_icon; + } else { + CG_Printf("^1Error loading grenade replacement model %s\n", cg_RQ3_grenade.string); } } - if (!strcmp(item->classname, "item_kevlar")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_kevlar.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_kevlar.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, "item_kevlar") && strcmp(cg_RQ3_kevlar.string, "kevlar")) { + Com_sprintf(RQ3_kevlar_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_kevlar.string); + Com_sprintf(RQ3_kevlar_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_kevlar.string); + if (JB_FileExists(RQ3_kevlar_model) && (strlen(RQ3_kevlar_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_kevlar_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_kevlar_icon; + } else { + CG_Printf("^1Error loading kevlar replacement model %s\n", cg_RQ3_kevlar.string); } } - if (!strcmp(item->classname, "item_silencer")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_silencer.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_silencer.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, "item_silencer") && strcmp(cg_RQ3_silencer.string, "silencer")) { + Com_sprintf(RQ3_silencer_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_silencer.string); + Com_sprintf(RQ3_silencer_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_silencer.string); + if (JB_FileExists(RQ3_silencer_model) && (strlen(RQ3_silencer_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_silencer_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_silencer_icon; + } else { + CG_Printf("^1Error loading silencer replacement model %s\n", cg_RQ3_silencer.string); } } - if (!strcmp(item->classname, "item_laser")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_laser.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_laser.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, "item_laser") && strcmp(cg_RQ3_laser.string, "laser")) { + Com_sprintf(RQ3_laser_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_laser.string); + Com_sprintf(RQ3_laser_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_laser.string); + if (JB_FileExists(RQ3_laser_model) && (strlen(RQ3_laser_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_laser_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_laser_icon; + } else { + CG_Printf("^1Error loading laser replacement model %s\n", cg_RQ3_laser.string); } } - if (!strcmp(item->classname, "item_bandolier")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_bandolier.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_bandolier.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, "item_bandolier") && strcmp(cg_RQ3_bandolier.string, "bandolier")) { + Com_sprintf(RQ3_bandolier_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_bandolier.string); + Com_sprintf(RQ3_bandolier_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_bandolier.string); + if (JB_FileExists(RQ3_bandolier_model) && (strlen(RQ3_bandolier_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_bandolier_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_bandolier_icon; + } else { + CG_Printf("^1Error loading bandolier replacement model %s\n", cg_RQ3_bandolier.string); } } - if (!strcmp(item->classname, "item_slippers")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_slippers.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_slippers.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, "item_slippers") && strcmp(cg_RQ3_slippers.string, "slippers")) { + Com_sprintf(RQ3_slippers_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_slippers.string); + Com_sprintf(RQ3_slippers_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_slippers.string); + if (JB_FileExists(RQ3_slippers_model) && (strlen(RQ3_slippers_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_slippers_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_slippers_icon; + } else { + CG_Printf("^1Error loading slippers replacement model %s\n", cg_RQ3_slippers.string); } } - if (!strcmp(item->classname, "item_helmet")) { - Com_sprintf(newname, MAX_QPATH, "models/items/%s.md3", cg_RQ3_helmet.string); - Com_sprintf(newicon, MAX_QPATH, "icons/iconi_%s", cg_RQ3_helmet.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, "item_helmet") && strcmp(cg_RQ3_helmet.string, "helmet")) { + Com_sprintf(RQ3_helmet_model, MAX_MODEL_LEN, "models/items/%s.md3", cg_RQ3_helmet.string); + Com_sprintf(RQ3_helmet_icon, MAX_MODEL_LEN, "icons/iconi_%s", cg_RQ3_helmet.string); + if (JB_FileExists(RQ3_helmet_model) && (strlen(RQ3_helmet_model) < MAX_MODEL_LEN)) { + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_helmet_model; + bg_itemlist[item - bg_itemlist].world_model[0] = (char *)&RQ3_helmet_icon; + } else { + CG_Printf("^1Error loading helmet replacement model %s\n", cg_RQ3_helmet.string); } } } diff --git a/reaction/game/bg_misc.c b/reaction/game/bg_misc.c index 42b79a96..37432ce2 100644 --- a/reaction/game/bg_misc.c +++ b/reaction/game/bg_misc.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.49 2003/02/05 20:21:38 jbravo +// Fixed the model replacement system. Its no longer an ugly hack. +// // Revision 1.48 2003/02/01 02:15:31 jbravo // Replacement models and items // @@ -134,12 +137,11 @@ gitem_t bg_itemlist[] = { //Knife { "weapon_knife", - //"sound/weapons/knife/knife.wav", "sound/misc/am_pkup.wav", - {"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", + {"models/weapons2/knife/knife.md3", 0, 0, 0} , - "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", + "icons/iconw_knife", RQ3_KNIFE_NAME, 1, IT_WEAPON, @@ -152,10 +154,10 @@ gitem_t bg_itemlist[] = { { "weapon_pistol", "sound/weapons/mk23/mk23slide.wav", - {"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", + {"models/weapons2/mk23/mk23.md3", 0, 0, 0} , -/* 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", +/* icon */ "icons/iconw_mk23", /* pickup */ RQ3_PISTOL_NAME, 12, IT_WEAPON, @@ -169,10 +171,10 @@ gitem_t bg_itemlist[] = { { "weapon_m4", "sound/weapons/m4/m4slide.wav", - {"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", + {"models/weapons2/m4/m4.md3", 0, 0, 0} , -/* 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\0\0", +/* icon */ "icons/iconw_m4", /* pickup */ RQ3_M4_NAME, 24, IT_WEAPON, @@ -186,10 +188,10 @@ gitem_t bg_itemlist[] = { { "weapon_ssg3000", "sound/weapons/ssg3000/ssgin.wav", - {"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", + {"models/weapons2/ssg3000/ssg3000.md3", 0, 0, 0} , -/* 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\0", +/* icon */ "icons/iconw_ssg", /* pickup */ RQ3_SSG3000_NAME, 6, IT_WEAPON, @@ -203,10 +205,10 @@ gitem_t bg_itemlist[] = { { "weapon_mp5", "sound/weapons/mp5/mp5slide.wav", - {"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", + {"models/weapons2/mp5/mp5.md3", 0, 0, 0} , -/* 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\0", +/* icon */ "icons/iconw_mp5", /* pickup */ RQ3_MP5_NAME, 30, IT_WEAPON, @@ -220,10 +222,10 @@ gitem_t bg_itemlist[] = { { "weapon_handcannon", "sound/weapons/handcannon/hcopen.wav", - {"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", + {"models/weapons2/handcannon/handcannon.md3", 0, 0, 0} , -/* 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", +/* icon */ "icons/iconw_handcannon", /* pickup */ RQ3_HANDCANNON_NAME, 2, IT_WEAPON, @@ -237,10 +239,10 @@ gitem_t bg_itemlist[] = { { "weapon_m3", "sound/weapons/m3/m3in.wav", - {"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", + {"models/weapons2/m3/m3.md3", 0, 0, 0} , -/* 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\0\0", +/* icon */ "icons/iconw_m3", /* pickup */ RQ3_M3_NAME, 7, IT_WEAPON, @@ -254,10 +256,10 @@ gitem_t bg_itemlist[] = { { "weapon_akimbo", "sound/weapons/mk23/mk23slide.wav", - {"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", + {"models/weapons2/akimbo/akimbo.md3", 0, 0, 0} , -/* 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", +/* icon */ "icons/iconw_akimbo", /* pickup */ RQ3_AKIMBO_NAME, 24, IT_WEAPON, @@ -272,10 +274,10 @@ gitem_t bg_itemlist[] = { "weapon_grenade", //"sound/grenade/tink2.wav", "sound/misc/am_pkup.wav", - {"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", + {"models/weapons2/grenade/grenade.md3", 0, 0, 0} , -/* 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", +/* icon */ "icons/iconw_grenade", /* pickup */ RQ3_GRENADE_NAME, 1, IT_WEAPON, @@ -591,10 +593,10 @@ Only in CTF games { "item_kevlar", "sound/items/kevlar.wav", - {"models/items/kevlar.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", + {"models/items/kevlar.md3", 0, 0, 0} , - "icons/iconi_kevlar\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/iconi_kevlar", RQ3_KEVLAR_NAME, 0, IT_HOLDABLE, @@ -606,10 +608,10 @@ Only in CTF games { "item_silencer", "sound/items/silencer.wav", - {"models/items/silencer.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", + {"models/items/silencer.md3", 0, 0, 0} , - "icons/iconi_silencer\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/iconi_silencer", RQ3_SILENCER_NAME, 0, IT_HOLDABLE, @@ -621,10 +623,10 @@ Only in CTF games { "item_laser", "sound/items/laser.wav", - {"models/items/laser.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", + {"models/items/laser.md3", 0, 0, 0} , - "icons/iconi_laser\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", + "icons/iconi_laser", RQ3_LASER_NAME, 0, IT_HOLDABLE, @@ -636,10 +638,10 @@ Only in CTF games { "item_bandolier", "sound/items/bandolier.wav", - {"models/items/bandolier.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", + {"models/items/bandolier.md3", 0, 0, 0} , - "icons/iconi_bandolier\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/iconi_bandolier", RQ3_BANDOLIER_NAME, 0, IT_HOLDABLE, @@ -651,10 +653,10 @@ Only in CTF games { "item_slippers", "sound/items/slippers.wav", - {"models/items/slippers.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", + {"models/items/slippers.md3", 0, 0, 0} , - "icons/iconi_slippers\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/iconi_slippers", RQ3_SLIPPERS_NAME, 0, IT_HOLDABLE, @@ -666,10 +668,10 @@ Only in CTF games { "item_helmet", "sound/items/slippers.wav", - {"models/items/helmet.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", + {"models/items/helmet.md3", 0, 0, 0} , - "icons/iconi_helmet\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", + "icons/iconi_helmet", RQ3_HELMET_NAME, 0, IT_HOLDABLE,