From 2f4c9923ffb6f592be88243a1ec43eabaaf2fd62 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Fri, 7 Jun 2024 01:25:51 +0530 Subject: [PATCH] optimize playgui to use less shaders --- data/ui/game/powerbarMaskBlast.png | Bin 0 -> 332 bytes data/ui/game/powerbarMaskLess.png | Bin 0 -> 323 bytes data/ui/game/powerbarMaskUltra.png | Bin 0 -> 337 bytes src/gui/PlayGui.hx | 82 ++++++++++++++++++++--------- 4 files changed, 58 insertions(+), 24 deletions(-) create mode 100644 data/ui/game/powerbarMaskBlast.png create mode 100644 data/ui/game/powerbarMaskLess.png create mode 100644 data/ui/game/powerbarMaskUltra.png diff --git a/data/ui/game/powerbarMaskBlast.png b/data/ui/game/powerbarMaskBlast.png new file mode 100644 index 0000000000000000000000000000000000000000..f13c0feb26f7e1cde5529827d575fa58fc8ab6f5 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^-astE!3HFcPCIY{NHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI}E~%$MaXD00kd3hEYIDamG*W8aKzwe8;_FYqO z-^H6c)AVmcD(40r#%ZbtHnBuZV>m685Xq$D4HS&9n;tn)Is2N6=@Z8L?e-fkIrc0s z6+;V__5|K~7+$%vHJ9J;=9`5+U#6Ex azv5BSQ2qbl3Y$OBvkacDelF{r5}E)?q=a_> literal 0 HcmV?d00001 diff --git a/data/ui/game/powerbarMaskLess.png b/data/ui/game/powerbarMaskLess.png new file mode 100644 index 0000000000000000000000000000000000000000..70b95bf944f3b817d1496b99624b23b13be80602 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^-astE!3HFcPCIY{NHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI}E~%$MaXD00nP&x;TbJxWBz_$#uv<rYlJ zG5X1?svyRgB#22omf3qM>2QQjiSOax8(5y*xVGzl@3OXq_n+`^J^7y?m2+D-F)8|) z>ik3g=Ub<;S$AF#7d>uwTCk?#_PfXxepk5eMt#+A|M2Lw#ulH)v)*l3^6;8@5lhg+ zy^3N7&wQVy-CI0oN>Jh&p9j^a9q-J0oHa3U3VS8LxOPIg!DFBw89ZJ6T-G@yGywqV CN_}tu literal 0 HcmV?d00001 diff --git a/data/ui/game/powerbarMaskUltra.png b/data/ui/game/powerbarMaskUltra.png new file mode 100644 index 0000000000000000000000000000000000000000..88647c18ac189f320ed21df7f78fd1b6a91b8da9 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^-astE!3HFcPCIY{NHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI}E~%$MaXD00p0Ux;TbJxWB!=H;c(pg!O@Ox5gv>j*WpE zJGvr+T@M~}sA+r~^fa`lW6R1*k)5s4w>;P6Zr$LQF3!|taH>e~|JQ5t)=T+SO1ztE zsLaj1YZYg+I_#y3-8L~(f{x0rJl?F=ULm?t{++|AFZZ$@V&`B%p&z! zXkW2rMQ~@v@r#!gyFM-Ax?g+Xcz}{n`u#}JlBmip_Rc2?g1M64KGpkY@J;Q*FYiB6 go$rE#udQJWI;s4p_Qv7qKp!)By85}Sb4q9e00O#)uK)l5 literal 0 HcmV?d00001 diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index c3655234..7dca49d8 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -35,17 +35,22 @@ import src.Settings; import src.Util; import src.AudioManager; -typedef MiddleMessage = { - ctrl:GuiText, - age:Float, - yPos:Float +@:publicFields +@:structInit +class MiddleMessage { + var ctrl:GuiText; + var ctrl2:GuiText; + var age:Float; + var yPos:Float; } +@:publicFields +@:structInit typedef PlayerInfo = { - id:Int, - name:String, - us:Bool, - score:Int + var id:Int; + var name:String; + var us:Bool; + var score:Int; } class PlayGui { @@ -73,6 +78,8 @@ class PlayGui { var blastFill:GuiImage; var blastFillUltra:GuiImage; var blastFrame:GuiImage; + var blastFillBlast:h2d.Tile; + var blastFillBlastLess:h2d.Tile; var playerListContainer:GuiControl; var playerListCtrl:GuiMLTextListCtrl; @@ -595,25 +602,28 @@ class PlayGui { blastBar.yScale = (scene2d.height - safeVerMargin * 2) / 480; this.playGuiCtrl.addChild(blastBar); - blastFill = new GuiImage(ResourceLoader.getResource("data/ui/game/powerbarMask.png", ResourceLoader.getImage, this.imageResources).toTile()); + blastFillBlastLess = ResourceLoader.getResource("data/ui/game/powerbarMaskLess.png", ResourceLoader.getImage, this.imageResources).toTile(); + blastFillBlast = ResourceLoader.getResource("data/ui/game/powerbarMaskBlast.png", ResourceLoader.getImage, this.imageResources).toTile(); + + blastFill = new GuiImage(blastFillBlastLess.clone()); blastFill.position = new Vector(36, 38); blastFill.extent = new Vector(100, 27); blastFill.xScale = (scene2d.height - safeVerMargin * 2) / 480; blastFill.yScale = (scene2d.height - safeVerMargin * 2) / 480; - var colorMat = Matrix.I(); - colorMat.colorSet(0xCDD2D7); - blastFill.bmp.filter = new h2d.filter.ColorMatrix(colorMat); + // var colorMat = Matrix.I(); + // colorMat.colorSet(0xCDD2D7); + // blastFill.bmp.filter = new h2d.filter.ColorMatrix(colorMat); blastBar.addChild(blastFill); - blastFillUltra = new GuiImage(ResourceLoader.getResource("data/ui/game/powerbarMask.png", ResourceLoader.getImage, this.imageResources).toTile()); + blastFillUltra = new GuiImage(ResourceLoader.getResource("data/ui/game/powerbarMaskUltra.png", ResourceLoader.getImage, this.imageResources).toTile()); blastFillUltra.position = new Vector(36, 38); blastFillUltra.extent = new Vector(100, 27); blastFillUltra.xScale = (scene2d.height - safeVerMargin * 2) / 480; blastFillUltra.yScale = (scene2d.height - safeVerMargin * 2) / 480; - var colorMat = Matrix.I(); - colorMat.colorSet(0xC4FF00); - blastFillUltra.bmp.filter = new h2d.filter.ColorMatrix(colorMat); + // var colorMat = Matrix.I(); + // colorMat.colorSet(0xC4FF00); + // blastFillUltra.bmp.filter = new h2d.filter.ColorMatrix(colorMat); blastBar.addChild(blastFillUltra); @@ -647,13 +657,15 @@ class PlayGui { blastFill.bmp.scaleX = value; // blastFill.extent = new Vector(Util.lerp(0, 100, value), 27); if (oldVal < 0.25 && value >= 0.25) { - var colorMat = cast(blastFill.bmp.filter, h2d.filter.ColorMatrix); - colorMat.matrix.colorSet(0x0080FF); + blastFill.bmp.tile.switchTexture(blastFillBlast); + // var colorMat = cast(blastFill.bmp.filter, h2d.filter.ColorMatrix); + // colorMat.matrix.colorSet(0x0080FF); MarbleGame.instance.touchInput.blastbutton.setEnabled(true); } if (oldVal >= 0.25 && value < 0.25) { - var colorMat = cast(blastFill.bmp.filter, h2d.filter.ColorMatrix); - colorMat.matrix.colorSet(0xCDD2D7); + blastFill.bmp.tile.switchTexture(blastFillBlastLess); + // var colorMat = cast(blastFill.bmp.filter, h2d.filter.ColorMatrix); + // colorMat.matrix.colorSet(0xCDD2D7); MarbleGame.instance.touchInput.blastbutton.setEnabled(false); } blastFillUltra.bmp.visible = false; @@ -1105,10 +1117,14 @@ class PlayGui { if (thismsg.age > 3) { this.middleMessages.remove(thismsg); thismsg.ctrl.parent.removeChild(thismsg.ctrl); // Delete it + thismsg.ctrl2.parent.removeChild(thismsg.ctrl2); } else { var t = thismsg.age; thismsg.ctrl.text.alpha = 1 - thismsg.age / 3; thismsg.ctrl.text.y = thismsg.yPos - (-33 * 0.5 * t * t + 100 * t); + + thismsg.ctrl2.text.alpha = 1 - thismsg.age / 3; + thismsg.ctrl2.text.y = thismsg.yPos - (-33 * 0.5 * t * t + 100 * t); } } } @@ -1120,19 +1136,37 @@ class PlayGui { var arial14 = arial14b.toSdfFont(cast 33 * Settings.uiScale, h2d.Font.SDFChannel.MultiChannel); var middleMsg = new GuiText(arial14); - middleMsg.position = new Vector(200, 50); + middleMsg.position = new Vector(199, 49); middleMsg.extent = new Vector(400, 100); middleMsg.horizSizing = Center; middleMsg.vertSizing = Center; middleMsg.text.text = text; middleMsg.justify = Center; - middleMsg.text.textColor = color; - middleMsg.text.filter = new h2d.filter.DropShadow(1.414, 0.785, 0x000000, 1, 0, 0.4, 1, true); + middleMsg.text.textColor = 0x000000; + // middleMsg.text.filter = new h2d.filter.DropShadow(1.414, 0.785, 0x000000, 1, 0, 0.4, 1, true); this.playGuiCtrl.addChild(middleMsg); middleMsg.render(scene2d, @:privateAccess this.playGuiCtrl._flow); middleMsg.text.y -= (25 / playGuiCtrl.extent.y) * scene2d.height; - this.middleMessages.push({ctrl: middleMsg, age: 0, yPos: middleMsg.text.y}); + var middleMsg2 = new GuiText(arial14); + middleMsg2.position = new Vector(200, 50); + middleMsg2.extent = new Vector(400, 100); + middleMsg2.horizSizing = Center; + middleMsg2.vertSizing = Center; + middleMsg2.text.text = text; + middleMsg2.justify = Center; + middleMsg2.text.textColor = color; + // middleMsg.text.filter = new h2d.filter.DropShadow(1.414, 0.785, 0x000000, 1, 0, 0.4, 1, true); + this.playGuiCtrl.addChild(middleMsg2); + middleMsg2.render(scene2d, @:privateAccess this.playGuiCtrl._flow); + middleMsg2.text.y -= (25 / playGuiCtrl.extent.y) * scene2d.height; + + this.middleMessages.push({ + ctrl: middleMsg, + ctrl2: middleMsg2, + age: 0, + yPos: middleMsg.text.y + }); } var pgoChildren = [];