------------------------- FX_AddElectricity -------------------------
| 579 | // FX_AddElectricity |
| 580 | //------------------------- |
| 581 | CElectricity *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 |
no test coverage detected