CLIENT: Update IQM skin str building

This commit is contained in:
blubs 2023-08-29 01:53:33 -07:00
parent 7d2b4afa84
commit e3dcb2aa13

View file

@ -476,11 +476,11 @@ void() Update_Vmodel =
.float prev_limbs_state; .float prev_limbs_state;
.float prev_skin; .float prev_skin;
.float cur_skin_idx; .float cur_skin_idx;
#define ZOMBIE_LIMB_STATE_HEAD 1 #define ZOMBIE_LIMB_STATE_HEAD 1
#define ZOMBIE_LIMB_STATE_ARM_L 2 #define ZOMBIE_LIMB_STATE_ARM_L 2
#define ZOMBIE_LIMB_STATE_ARM_R 4 #define ZOMBIE_LIMB_STATE_ARM_R 4
#define ZOMBIE_LIMB_STATE_LEG_L 8 #define ZOMBIE_LIMB_STATE_LEG_L 8
#define ZOMBIE_LIMB_STATE_LEG_R 16 #define ZOMBIE_LIMB_STATE_LEG_R 16
#define ZOMBIE_IQM_GEOMSET_BODY 0 #define ZOMBIE_IQM_GEOMSET_BODY 0
#define ZOMBIE_IQM_GEOMSET_HEAD 1 #define ZOMBIE_IQM_GEOMSET_HEAD 1
@ -509,34 +509,27 @@ float() zombie_predraw = {
// Due to QC's limit of 8-args per vararg func, split this up into // Due to QC's limit of 8-args per vararg func, split this up into
// a few different sprintf calls. // a few different sprintf calls.
string skin_str = sprintf("%s%s", string skin_str = "";
sprintf("%s%s", skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_BODY, )
sprintf("%s%s%s",
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_BODY, 0),
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_HEAD, self.limbs_state & ZOMBIE_LIMB_STATE_HEAD ? 0 : 1), string skin_str = "";
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_EYES, self.limbs_state & ZOMBIE_LIMB_STATE_HEAD ? 0 : 1) // Add in the geomset defs
),sprintf("%s%s%s%s", skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_BODY, 0);
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_ARM_L, self.limbs_state & ZOMBIE_LIMB_STATE_ARM_L ? 0 : 1), skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_HEAD, self.limbs_state & ZOMBIE_LIMB_STATE_HEAD == 0);
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_LEG_L, self.limbs_state & ZOMBIE_LIMB_STATE_LEG_L ? 0 : 1), skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_EYES, self.limbs_state & ZOMBIE_LIMB_STATE_HEAD == 0);
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_LEG_R, self.limbs_state & ZOMBIE_LIMB_STATE_LEG_R ? 0 : 1), skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_ARM_L, self.limbs_state & ZOMBIE_LIMB_STATE_ARM_L == 0);
sprintf("geomset %d %d \n", ZOMBIE_IQM_GEOMSET_ARM_R, self.limbs_state & ZOMBIE_LIMB_STATE_ARM_R ? 0 : 1) skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_LEG_L, self.limbs_state & ZOMBIE_LIMB_STATE_LEG_L == 0);
) skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_LEG_R, self.limbs_state & ZOMBIE_LIMB_STATE_LEG_R == 0);
), skin_str = sprintf("%sgeomset %d %d\n", skin_str, ZOMBIE_IQM_GEOMSET_ARM_R, self.limbs_state & ZOMBIE_LIMB_STATE_ARM_R == 0);
sprintf( // Add in the shader defs
"replace ZombieBody \"%s\" \n" skin_str = sprintf("%sreplace ZombieBody %S\n", skin_str, shader_name);
"replace ZombieHead \"%s\" \n" skin_str = sprintf("%sreplace ZombieHead %S\n", skin_str, shader_name);
"replace ZombieArmL \"%s\" \n" skin_str = sprintf("%sreplace ZombieArmL %S\n", skin_str, shader_name);
"replace ZombieLegL \"%s\" \n" skin_str = sprintf("%sreplace ZombieLegL %S\n", skin_str, shader_name);
"replace ZombieLegR \"%s\" \n" skin_str = sprintf("%sreplace ZombieLegR %S\n", skin_str, shader_name);
"replace ZombieArmR \"%s\" \n", skin_str = sprintf("%sreplace ZombieArmR %S\n", skin_str, shader_name);
shader_name,
shader_name,
shader_name,
shader_name,
shader_name,
shader_name
)
);
// print("Zombie limbs: ", ftos(self.limbs_state), "\n"); // print("Zombie limbs: ", ftos(self.limbs_state), "\n");
// print("Zombie shader: ", shader_name, "\n"); // print("Zombie shader: ", shader_name, "\n");
// print(skin_str); // print(skin_str);