mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-01-23 11:28:06 +01:00
area unit
This commit is contained in:
parent
922a41b79e
commit
4b62aa01b8
7 changed files with 53 additions and 33 deletions
|
@ -315,6 +315,16 @@ event_inherited();
|
|||
})
|
||||
));
|
||||
|
||||
ds_list_add(pref_appr, new __Panel_Linear_Setting_Item_Preference(
|
||||
__txtx("pref_ui_frame_rate", "UI inactive frame rate"),
|
||||
"ui_framerate_non_focus",
|
||||
new textBox(TEXTBOX_INPUT.number, function(str) /*=>*/ {
|
||||
PREFERENCES.ui_framerate_non_focus = max(1, round(real(str)));
|
||||
game_set_speed(PREFERENCES.ui_framerate_non_focus, gamespeed_fps);
|
||||
PREF_SAVE();
|
||||
})
|
||||
));
|
||||
|
||||
locals = [];
|
||||
var f = file_find_first(DIRECTORY + "Locale/*", fa_directory);
|
||||
while(f != "") {
|
||||
|
|
|
@ -18,11 +18,11 @@ _FILE_DROPPED = false;
|
|||
window_preminimize_rect = [ window_get_x(), window_get_y(), window_get_width(), window_get_height() ];
|
||||
|
||||
if(minimized) {
|
||||
game_set_speed(PREFERENCES.ui_framerate, gamespeed_fps);
|
||||
window_set_rectangle(window_preminimize_rect[0], window_preminimize_rect[1], window_preminimize_rect[2], window_preminimize_rect[3]);
|
||||
|
||||
minimized = false;
|
||||
}
|
||||
|
||||
game_set_speed(window_has_focus() || IS_PLAYING? PREFERENCES.ui_framerate : PREFERENCES.ui_framerate_non_focus, gamespeed_fps);
|
||||
#endregion
|
||||
|
||||
#region fpss
|
||||
|
|
|
@ -149,8 +149,8 @@ function __part(_node) : __particleObject() constructor {
|
|||
x = _x;
|
||||
y = _y;
|
||||
|
||||
drawx = x;
|
||||
drawy = y;
|
||||
drawx = undefined;
|
||||
drawy = undefined;
|
||||
|
||||
anim_len = is_array(surf)? array_length(surf) : 1;
|
||||
|
||||
|
@ -299,9 +299,11 @@ function __part(_node) : __particleObject() constructor {
|
|||
spVec[1] = point_direction(prevx, prevy, x, y);
|
||||
}
|
||||
|
||||
if(drawx != undefined) {
|
||||
x_history[life_incr] = drawx;
|
||||
y_history[life_incr] = drawy;
|
||||
life_incr++;
|
||||
}
|
||||
|
||||
prevx = x;
|
||||
prevy = y;
|
||||
|
@ -317,6 +319,15 @@ function __part(_node) : __particleObject() constructor {
|
|||
drawrot += wig_rot.get(seed + life);
|
||||
drawsx += wig_scy.get(seed + life);
|
||||
drawsy += wig_scy.get(seed + life);
|
||||
|
||||
if(path != noone) {
|
||||
var _lifeRat = clamp(1 - life / life_total, 0., 1.);
|
||||
var _pathDiv = pathDiv.get(_lifeRat);
|
||||
|
||||
pathPos = path.getPointRatio(clamp(_lifeRat, 0, 0.99), pathIndex, pathPos);
|
||||
drawx = pathPos.x + drawx * _pathDiv;
|
||||
drawy = pathPos.y + drawy * _pathDiv;
|
||||
}
|
||||
}
|
||||
|
||||
static draw = function(exact, surf_w, surf_h) {
|
||||
|
@ -373,30 +384,25 @@ function __part(_node) : __particleObject() constructor {
|
|||
scy = 1;
|
||||
}
|
||||
|
||||
if(life_incr) {
|
||||
scx_history[life_incr - 1] = scx;
|
||||
scy_history[life_incr - 1] = scy;
|
||||
|
||||
var _xx, _yy;
|
||||
var s_w = (_useS? surface_get_width_safe(surface) : 1) * scx;
|
||||
var s_h = (_useS? surface_get_height_safe(surface) : 1) * scy;
|
||||
|
||||
var _pp = point_rotate(-s_w / 2, -s_h / 2, 0, 0, rot);
|
||||
_xx = drawx + _pp[0];
|
||||
_yy = drawy + _pp[1];
|
||||
|
||||
if(path != noone) {
|
||||
var _div = pathDiv.get(lifeRat);
|
||||
|
||||
pathPos = path.getPointRatio(clamp(lifeRat, 0, 0.99), pathIndex, pathPos);
|
||||
_xx = _xx * _div + pathPos.x;
|
||||
_yy = _yy * _div + pathPos.y;
|
||||
}
|
||||
|
||||
var _xx = drawx;
|
||||
var _yy = drawy;
|
||||
|
||||
if(exact) {
|
||||
_xx = round(_xx);
|
||||
_yy = round(_yy);
|
||||
}
|
||||
|
||||
var s_w = (_useS? surface_get_width_safe(surface) : 1) * scx;
|
||||
var s_h = (_useS? surface_get_height_safe(surface) : 1) * scy;
|
||||
var _pp = point_rotate(-s_w / 2, -s_h / 2, 0, 0, rot);
|
||||
_xx += _pp[0];
|
||||
_yy += _pp[1];
|
||||
|
||||
var x0 = _xx - s_w * 1.5;
|
||||
var y0 = _yy - s_h * 1.5;
|
||||
var x1 = _xx + s_w * 1.5;
|
||||
|
@ -406,8 +412,10 @@ function __part(_node) : __particleObject() constructor {
|
|||
if(blend != c_white) cc = colorMultiply(blend, cc);
|
||||
alp_draw = alp * (alp_fade == noone? 1 : alp_fade.get(lifeRat)) * _color_get_alpha(cc);
|
||||
|
||||
if(life_incr) {
|
||||
blend_history[life_incr - 1] = cc;
|
||||
alp_history[life_incr - 1] = alp_draw;
|
||||
}
|
||||
|
||||
currColor = cola(cc, alp_draw);
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ function areaBox(_onModify, _unit = noone) : widget() constructor {
|
|||
var _bx = _x + _w - _bs;
|
||||
var _by = _y + h / 2 - _bs / 2;
|
||||
|
||||
unit.triggerButton.setFocusHover(active, hover);
|
||||
unit.triggerButton.setFocusHover(iactive, ihover);
|
||||
unit.draw(_bx, _by, _bs, _bs, _m);
|
||||
|
||||
_w -= _bs + ui(4);
|
||||
|
|
|
@ -2070,6 +2070,7 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
|||
static _clearCacheForward = function() {
|
||||
if(!isRenderActive()) return;
|
||||
|
||||
clearCache();
|
||||
var arr = getNextNodesRaw();
|
||||
for( var i = 0, n = array_length(arr); i < n; i++ )
|
||||
arr[i]._clearCacheForward();
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
PREFERENCES.font_overwrite = "";
|
||||
|
||||
PREFERENCES.ui_framerate = 120;
|
||||
PREFERENCES.ui_framerate_non_focus = 10;
|
||||
PREFERENCES.path_resolution = 32;
|
||||
PREFERENCES.move_directory = false;
|
||||
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
uniform float w_curve[1024];
|
||||
uniform float w_curve[512];
|
||||
uniform int w_amount;
|
||||
|
||||
uniform float r_curve[1024];
|
||||
uniform float r_curve[512];
|
||||
uniform int r_amount;
|
||||
|
||||
uniform float g_curve[1024];
|
||||
uniform float g_curve[512];
|
||||
uniform int g_amount;
|
||||
|
||||
uniform float b_curve[1024];
|
||||
uniform float b_curve[512];
|
||||
uniform int b_amount;
|
||||
|
||||
uniform float a_curve[1024];
|
||||
uniform float a_curve[512];
|
||||
uniform int a_amount;
|
||||
|
||||
float eval_curve_segment_t(in float _y0, in float ax0, in float ay0, in float bx1, in float by1, in float _y1, in float prog) {
|
||||
|
@ -73,7 +73,7 @@ float eval_curve_segment_x(in float _y0, in float ax0, in float ay0, in float bx
|
|||
return eval_curve_segment_t(_y0, ax0, ay0, bx1, by1, _y1, _xt);
|
||||
}
|
||||
|
||||
float curveEval(in float[1024] curve, in int amo, in float _x) {
|
||||
float curveEval(in float[512] curve, in int amo, in float _x) {
|
||||
|
||||
int _shf = amo - int(floor(float(amo) / 6.) * 6.);
|
||||
int _segs = (amo - _shf) / 6 - 1;
|
||||
|
|
Loading…
Reference in a new issue