MCPcopy Create free account
hub / github.com/JACoders/OpenJK / FX_AddElectricity

Function FX_AddElectricity

code/cgame/FxUtil.cpp:581–663  ·  view source on GitHub ↗

------------------------- FX_AddElectricity -------------------------

Source from the content-addressed store, hash-verified

579// FX_AddElectricity
580//-------------------------
581CElectricity *FX_AddElectricity( int clientID, vec3_t start, vec3_t end, float size1, float size2, float sizeParm,
582 float alpha1, float alpha2, float alphaParm,
583 vec3_t sRGB, vec3_t eRGB, float rgbParm,
584 float chaos, int killTime, qhandle_t shader, int flags, int modelNum, int boltNum )
585{
586 if ( theFxHelper.mFrameTime < 1 )
587 { // disallow adding new effects when the system is paused
588 return 0;
589 }
590
591 CElectricity *fx = new CElectricity;
592
593 if ( fx )
594 {
595 if (flags&FX_RELATIVE && clientID>=0)
596 {
597 fx->SetOrigin1( NULL );
598 fx->SetOrgOffset( start );//offset
599 fx->SetVel( end ); //vel is the vector offset from bolt+orgOffset
600 fx->SetClient( clientID, modelNum, boltNum );
601 }
602 else
603 {
604 fx->SetOrigin1( start );
605 fx->SetOrigin2( end );
606 }
607
608 // RGB----------------
609 fx->SetRGBStart( sRGB );
610 fx->SetRGBEnd( eRGB );
611
612 if (( flags & FX_RGB_PARM_MASK ) == FX_RGB_WAVE )
613 {
614 fx->SetRGBParm( rgbParm * PI * 0.001f );
615 }
616 else if ( flags & FX_RGB_PARM_MASK )
617 {
618 // rgbParm should be a value from 0-100..
619 fx->SetRGBParm( rgbParm * 0.01f * killTime + theFxHelper.mTime );
620 }
621
622 // Alpha----------------
623 fx->SetAlphaStart( alpha1 );
624 fx->SetAlphaEnd( alpha2 );
625
626 if (( flags & FX_ALPHA_PARM_MASK ) == FX_ALPHA_WAVE )
627 {
628 fx->SetAlphaParm( alphaParm * PI * 0.001f );
629 }
630 else if ( flags & FX_ALPHA_PARM_MASK )
631 {
632 fx->SetAlphaParm( alphaParm * 0.01f * killTime + theFxHelper.mTime );
633 }
634
635 // Size----------------
636 fx->SetSizeStart( size1 );
637 fx->SetSizeEnd( size2 );
638

Callers 2

CreateEffectMethod · 0.70
CG_ForceElectrocutionFunction · 0.70

Calls 15

FX_AddPrimitiveFunction · 0.70
SetOrigin1Method · 0.45
SetOrgOffsetMethod · 0.45
SetVelMethod · 0.45
SetClientMethod · 0.45
SetOrigin2Method · 0.45
SetRGBStartMethod · 0.45
SetRGBEndMethod · 0.45
SetRGBParmMethod · 0.45
SetAlphaStartMethod · 0.45
SetAlphaEndMethod · 0.45
SetAlphaParmMethod · 0.45

Tested by

no test coverage detected