GMS: substitute healthbars on Linux
For some reason, Game Maker draws healthbars in a different way on Linux. Moreover, the edge is misaligned with the filling.
So here is a script that takes the same arguments of draw_healthbar and draws healthbars correctly also on Linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
argument0=round(argument0); argument1=round(argument1); argument2=round(argument2); argument3=round(argument3); if (os_type==os_linux) { argument0-=1;argument1-=1;argument2+=1;argument3+=1; draw_set_color(c_black); draw_rectangle(argument0,argument1,argument2,argument3,true); draw_set_color(argument5); draw_rectangle(argument0+1,argument1+1,argument2-1,argument3-1,false); if (argument4>0) { var perc=argument4/100; var am=argument2-argument0-2; am*=argument4/100; am=floor(am); if (am>-1) { var col=merge_color(argument6,argument7,perc); draw_set_color(col); draw_rectangle(argument0+1,argument1+1,argument0+am+1,argument3-1,false); draw_set_color(c_black); draw_rectangle(argument0,argument1,argument0+am+2,argument3,true); } } } else { draw_healthbar(argument0,argument1,argument2,argument3,argument4,argument5,argument6,argument7,argument8,argument9,argument10); } |