#endif
#ifdef CSQC
bool autocvar_cl_arcbeam_teamcolor = true;
+bool autocvar_cl_arcbeam_simple = true;
METHOD(Arc, wr_impacteffect, void(entity thiswep, entity actor))
{
vector last_top = WarpZone_TransformOrigin(WarpZone_trace_transform, Draw_ArcBeam_callback_last_top);
vector last_bottom = WarpZone_TransformOrigin(WarpZone_trace_transform, Draw_ArcBeam_callback_last_bottom);
- R_BeginPolygon(beam.beam_image, DRAWFLAG_NORMAL); // DRAWFLAG_ADDITIVE
- R_PolygonVertex(
- top,
- '0 0.5 0' + ('0 0.5 0' * (thickness / beam.beam_thickness)),
- beam.beam_color,
- beam.beam_alpha
- );
- R_PolygonVertex(
- last_top,
- '0 0.5 0' + ('0 0.5 0' * (Draw_ArcBeam_callback_last_thickness / beam.beam_thickness)),
- beam.beam_color,
- beam.beam_alpha
- );
- R_PolygonVertex(
- last_bottom,
- '0 0.5 0' * (1 - (Draw_ArcBeam_callback_last_thickness / beam.beam_thickness)),
- beam.beam_color,
- beam.beam_alpha
- );
- R_PolygonVertex(
- bottom,
- '0 0.5 0' * (1 - (thickness / beam.beam_thickness)),
- beam.beam_color,
- beam.beam_alpha
- );
- R_EndPolygon();
+ if(autocvar_cl_arcbeam_simple)
+ Draw_CylindricLine(start, end, thickness, beam.beam_image, 0.25, -time * 3, beam.beam_color, beam.beam_alpha, DRAWFLAG_NORMAL, transformed_view_org);
+ else
+ {
+ R_BeginPolygon(beam.beam_image, DRAWFLAG_NORMAL); // DRAWFLAG_ADDITIVE
+ R_PolygonVertex(
+ top,
+ '0 0.5 0' + ('0 0.5 0' * (thickness / beam.beam_thickness)),
+ beam.beam_color,
+ beam.beam_alpha
+ );
+ R_PolygonVertex(
+ last_top,
+ '0 0.5 0' + ('0 0.5 0' * (Draw_ArcBeam_callback_last_thickness / beam.beam_thickness)),
+ beam.beam_color,
+ beam.beam_alpha
+ );
+ R_PolygonVertex(
+ last_bottom,
+ '0 0.5 0' * (1 - (Draw_ArcBeam_callback_last_thickness / beam.beam_thickness)),
+ beam.beam_color,
+ beam.beam_alpha
+ );
+ R_PolygonVertex(
+ bottom,
+ '0 0.5 0' * (1 - (thickness / beam.beam_thickness)),
+ beam.beam_color,
+ beam.beam_alpha
+ );
+ R_EndPolygon();
+ }
// draw trailing particles
// NOTES:
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; // (EFFECT_GRENADE_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null; // (EFFECT_GRENADE_MUZZLEFLASH);
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 0;
this.beam_hitlight[3] = 0;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 50;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 0;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}
this.beam_hitlight[1] = 1;
this.beam_hitlight[2] = 1;
this.beam_hitlight[3] = 1;
- this.beam_muzzleeffect = NULL; //(EFFECT_VORTEX_MUZZLEFLASH);
+ this.beam_muzzleeffect = EFFECT_Null;
this.beam_muzzlelight[0] = 0;
this.beam_muzzlelight[1] = 1;
this.beam_muzzlelight[2] = 1;
setmodel(flash, MDL_ARC_MUZZLEFLASH);
flash.alpha = this.beam_alpha;
flash.colormod = this.beam_color;
- flash.scale = 0.5;
+ flash.scale = 0.35;
}
break;
}