In cod4, all model stuff starts in maps/mp/gametypes/_teams.gsc, in the function setPlayerModels().
It calls a bunch of mptype/*.gsc scripts's precache() function, which looks like this:
PHP Code:
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY
main()
{
character\character_mp_usmc_specops::main();
}
precache()
{
character\character_mp_usmc_specops::precache();
}
So, chasing that to the character/ folder leads us to this:
PHP Code:
// THIS FILE IS AUTOGENERATED, DO NOT MODIFY
main()
{
self setModel("body_mp_usmc_specops");
self attach("head_mp_usmc_tactical_mich_stripes_nomex", "", true);
self setViewmodel("viewmodel_base_viewhands");
self.voice = "american";
}
precache()
{
precacheModel("body_mp_usmc_specops");
precacheModel("head_mp_usmc_tactical_mich_stripes_nomex");
precacheModel("viewmodel_base_viewhands");
}
The precache() in there does the precaching, while the main() is called on a player when he spawns to set his model.
If you want to change the models, the easiest way to make something that's understandable is to edit the _teams.gsc file to point to different mptype/ files, in which you can directly do the precache/main stuff then.