@@ -43,10 +43,6 @@ class PlayState extends MusicBeatState
4343
4444 private var tauntKey : Array <FlxKey >;
4545
46- public var camGameShaders : Array <ShaderEffect > = [];
47- public var camHUDShaders : Array <ShaderEffect > = [];
48- public var camOtherShaders : Array <ShaderEffect > = [];
49-
5046 var lastUpdateTime : Float = 0.0 ;
5147
5248 // event variables
@@ -1714,31 +1710,16 @@ class PlayState extends MusicBeatState
17141710 }
17151711
17161712 public function addShaderToCamera (cam : String ,effect : Dynamic ){// STOLE FROM ANDROMEDA // actually i got it from old psych engine
1717- #if SHADERS_ALLOWED
1718- if (! ClientPrefs .shaders )
1719- return ;
17201713 switch (cam .toLowerCase ()) {
17211714 case ' camhud' | ' hud' :
1722- camHUDShaders .push (effect );
1723- var newCamEffects : Array <BitmapFilter >= []; // IT SHUTS HAXE UP IDK WHY BUT WHATEVER IDK WHY I CANT JUST ARRAY<SHADERFILTER>
1724- for (i in camHUDShaders ){
1725- newCamEffects .push (new ShaderFilter (i .shader ));
1726- }
1727- camHUD .filters = newCamEffects ;
1715+ if (camHUD .filters == null ) camHUD .filters = [];
1716+ camHUD .filters ?. push (new ShaderFilter (effect .shader ));
17281717 case ' camother' | ' other' :
1729- camOtherShaders .push (effect );
1730- var newCamEffects : Array <BitmapFilter >= []; // IT SHUTS HAXE UP IDK WHY BUT WHATEVER IDK WHY I CANT JUST ARRAY<SHADERFILTER>
1731- for (i in camOtherShaders ){
1732- newCamEffects .push (new ShaderFilter (i .shader ));
1733- }
1734- camOther .filters = newCamEffects ;
1718+ if (camOther .filters == null ) camOther .filters = [];
1719+ camOther .filters ?. push (new ShaderFilter (effect .shader ));
17351720 case ' camgame' | ' game' :
1736- camGameShaders .push (effect );
1737- var newCamEffects : Array <BitmapFilter >= []; // IT SHUTS HAXE UP IDK WHY BUT WHATEVER IDK WHY I CANT JUST ARRAY<SHADERFILTER>
1738- for (i in camGameShaders ){
1739- newCamEffects .push (new ShaderFilter (i .shader ));
1740- }
1741- camGame .filters = newCamEffects ;
1721+ if (camGame .filters == null ) camGame .filters = [];
1722+ camGame .filters ?. push (new ShaderFilter (effect .shader ));
17421723 default :
17431724 if (modchartSprites .exists (cam )) {
17441725 Reflect .setProperty (modchartSprites .get (cam )," shader" ,effect .shader );
@@ -1749,64 +1730,47 @@ class PlayState extends MusicBeatState
17491730 Reflect .setProperty (OBJ ," shader" , effect .shader );
17501731 }
17511732 }
1752- #end
1753- }
1733+ }
17541734
1755- public function removeShaderFromCamera (cam : String ,effect : ShaderEffect ){
1756- #if SHADERS_ALLOWED
1757- if (! ClientPrefs .shaders )
1758- return ;
1759- switch (cam .toLowerCase ()) {
1760- case ' camhud' | ' hud' :
1761- camHUDShaders .remove (effect );
1762- var newCamEffects : Array <BitmapFilter >= [];
1763- for (i in camHUDShaders ){
1764- newCamEffects .push (new ShaderFilter (i .shader ));
1765- }
1766- camHUD .filters = newCamEffects ;
1767- case ' camother' | ' other' :
1768- camOtherShaders .remove (effect );
1769- var newCamEffects : Array <BitmapFilter >= [];
1770- for (i in camOtherShaders ){
1771- newCamEffects .push (new ShaderFilter (i .shader ));
1772- }
1773- camOther .filters = newCamEffects ;
1774- default :
1775- if (modchartSprites .exists (cam )) {
1776- Reflect .setProperty (modchartSprites .get (cam )," shader" ,null );
1777- } else if (modchartTexts .exists (cam )) {
1778- Reflect .setProperty (modchartTexts .get (cam )," shader" ,null );
1779- } else {
1780- var OBJ = Reflect .getProperty (PlayState .instance ,cam );
1781- Reflect .setProperty (OBJ ," shader" , null );
1735+ public function removeShaderFromCamera (cam : String ,effect : Dynamic ){
1736+ var filter = new ShaderFilter (effect .shader );
1737+ switch (cam .toLowerCase ()) {
1738+ case ' camhud' | ' hud' :
1739+ camHUD .filters ?. remove (filter );
1740+ case ' camother' | ' other' :
1741+ camOther .filters ?. remove (filter );
1742+ case ' camgame' | ' game' :
1743+ camGame .filters ?. remove (filter );
1744+ default :
1745+ if (modchartSprites .exists (cam )) {
1746+ Reflect .setProperty (modchartSprites .get (cam )," shader" ,null );
1747+ } else if (modchartTexts .exists (cam )) {
1748+ Reflect .setProperty (modchartTexts .get (cam )," shader" ,null );
1749+ } else {
1750+ var OBJ = Reflect .getProperty (PlayState .instance ,cam );
1751+ Reflect .setProperty (OBJ ," shader" , null );
1752+ }
17821753 }
1754+ }
1755+ public function clearShaderFromCamera (cam : String ){
1756+ switch (cam .toLowerCase ()) {
1757+ case ' camhud' | ' hud' :
1758+ camHUD .filters = [];
1759+ case ' camother' | ' other' :
1760+ camOther .filters = [];
1761+ case ' camgame' | ' game' :
1762+ camGame .filters = [];
1763+ default :
1764+ camGame .filters = [];
17831765 }
1784- #end
1785- }
1786- public function clearShaderFromCamera (cam : String ){
1787- #if SHADERS_ALLOWED
1788- if (! ClientPrefs .shaders )
1789- return ;
1790- switch (cam .toLowerCase ()) {
1791- case ' camhud' | ' hud' :
1792- camHUDShaders = [];
1793- var newCamEffects : Array <BitmapFilter >= [];
1794- camHUD .filters = newCamEffects ;
1795- case ' camother' | ' other' :
1796- camOtherShaders = [];
1797- var newCamEffects : Array <BitmapFilter >= [];
1798- camOther .filters = newCamEffects ;
1799- case ' camgame' | ' game' :
1800- camGameShaders = [];
1801- var newCamEffects : Array <BitmapFilter >= [];
1802- camGame .filters = newCamEffects ;
1803- default :
1804- camGameShaders = [];
1805- var newCamEffects : Array <BitmapFilter >= [];
1806- camGame .filters = newCamEffects ;
18071766 }
1808- #end
1809- }
1767+
1768+ public function getLuaObject (tag : String , text : Bool = true ): FlxSprite {
1769+ if (modchartSprites .exists (tag )) return modchartSprites .get (tag );
1770+ if (text && modchartTexts .exists (tag )) return modchartTexts .get (tag );
1771+ if (variables .exists (tag )) return variables .get (tag );
1772+ return null ;
1773+ }
18101774
18111775 public function getLuaObject (tag : String , text : Bool = true ): FlxSprite {
18121776 if (modchartSprites .exists (tag )) return modchartSprites .get (tag );
@@ -3075,12 +3039,17 @@ class PlayState extends MusicBeatState
30753039 if (disableTheTripperAt <= curStep || isDead )
30763040 disableTheTripper = true ;
30773041
3078- FlxG .camera .filters = [new ShaderFilter (screenshader .shader )];
3079- screenshader .update (elapsed );
30803042 if (disableTheTripper )
30813043 {
30823044 screenshader .shader .uampmul .value [0 ] - = (elapsed / 2 );
30833045 }
3046+
3047+ if (screenshader ?. shader ?. uampmul ?. value [0 ] > 0 )
3048+ screenshader .update (elapsed );
3049+ else {
3050+ removeShaderFromCamera (' camGame' , screenshader );
3051+ screenshader. Enabled = false ;
3052+ }
30843053 }
30853054
30863055 if (! cpuControlled && canUseBotEnergy )
@@ -4128,16 +4097,14 @@ class PlayState extends MusicBeatState
41284097 return ;
41294098 #end
41304099 #if SHADERS_ALLOWED
4131- if (ClientPrefs .flashing && ClientPrefs .shaders ) {
4132- var timeRainbow : Int = Std .parseInt (value1 );
4133- var speedRainbow : Float = Std .parseFloat (value2 );
4100+ if (ClientPrefs .flashing && ClientPrefs .shaders && curStep < Std .parseInt (value1 )) {
41344101 disableTheTripper = false ;
4135- disableTheTripperAt = timeRainbow ;
4102+ disableTheTripperAt = Std . parseInt ( value1 ) ;
41364103 FlxG .camera .filters = [new ShaderFilter (screenshader .shader )];
41374104 screenshader .waveAmplitude = 1 ;
41384105 screenshader .waveFrequency = 2 ;
4139- screenshader .waveSpeed = speedRainbow * playbackRate ;
4140- screenshader .shader .uTime .value [0 ] = new flixel.math. FlxRandom ().float (- 100000 , 100000 );
4106+ screenshader .waveSpeed = Std . parseFloat ( value2 ) * playbackRate ;
4107+ screenshader .shader .uTime .value [0 ] = new flixel.math. FlxRandom ().float (- 1e3 , 1e3 );
41414108 screenshader .shader .uampmul .value [0 ] = 1 ;
41424109 screenshader. Enabled = true ;
41434110 }
0 commit comments