- Add per node log.

This commit is contained in:
Tanasart 2024-06-26 11:38:57 +07:00
parent e8acf572d7
commit 1db8b7a488
21 changed files with 168 additions and 50 deletions

Binary file not shown.

View file

@ -63,43 +63,63 @@ function buttonGroup(_data, _onClick) : widget() constructor {
hovering = hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h); hovering = hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h);
var amo = array_length(data); var amo = array_length(data);
var ww = _w / amo; var _tw = _w;
var _mx = false, _t = 0;
var _sw = _h + ui(8);
var tamo = amo;
var total_width = 0; var total_width = 0;
draw_set_font(font); draw_set_font(font);
for(var i = 0; i < amo; i++) { for(var i = 0; i < amo; i++) {
if(is_string(data[i])) var _d = data[i];
total_width += string_width(data[i]) + ui(32);
if(is_string(_d)) {
_t = 1;
total_width += ui(32) + string_width(_d);
} else if(sprite_exists(_d)) {
if(_t) _mx = true;
if(_mx) tamo--;
total_width += _sw;
_tw -= _sw;
}
} }
display_button = total_width < _w; display_button = total_width < _w;
var ww = (_mx? _tw : _w) / tamo;
if(display_button) { if(display_button) {
var bx = _x; var bx = _x;
var draw_sel = noone; var draw_sel = noone;
for(var i = 0; i < amo; i++) { for(var i = 0; i < amo; i++) {
var _d = data[i];
buttons[i].setFocusHover(active, hover); buttons[i].setFocusHover(active, hover);
buttons[i].tooltip = array_safe_get(tooltips, i, ""); buttons[i].tooltip = array_safe_get(tooltips, i, "");
var bww = !is_string(_d) && sprite_exists(_d) && _mx? _sw : ww;
var spr = i == 0 ? buttonSpr[0] : (i == amo - 1? buttonSpr[2] : buttonSpr[1]); var spr = i == 0 ? buttonSpr[0] : (i == amo - 1? buttonSpr[2] : buttonSpr[1]);
if(_selecting == i) { if(_selecting == i) {
draw_sprite_stretched(spr, 2, floor(bx), _y, ceil(ww), _h); draw_sprite_stretched(spr, 2, floor(bx), _y, ceil(bww), _h);
draw_sel = [spr, bx]; draw_sel = [spr, bx];
} else { } else {
buttons[i].draw(floor(bx), _y, ceil(ww), _h, _m, spr); buttons[i].draw(floor(bx), _y, ceil(bww), _h, _m, spr);
if(buttons[i].clicked) onClick(i); if(buttons[i].clicked) onClick(i);
} }
if(is_string(data[i])) { if(is_string(data[i])) {
draw_set_text(font, fa_center, fa_center, fColor); draw_set_text(font, fa_center, fa_center, fColor);
draw_text(bx + ww / 2, _y + _h / 2, data[i]); draw_text_add(bx + bww / 2, _y + _h / 2, data[i]);
} else if(sprite_exists(data[i])) { } else if(sprite_exists(data[i])) {
draw_sprite_ui_uniform(data[i], i, bx + ww / 2, _y + _h / 2); draw_sprite_ui_uniform(data[i], i, bx + bww / 2, _y + _h / 2, 1);
} }
bx += ww; bx += bww;
} }
if(draw_sel != noone) if(draw_sel != noone)

View file

@ -162,7 +162,10 @@ function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) cons
file_text_write_all( _path, _obj); file_text_write_all( _path, _obj);
if(_mat) file_text_write_all(_mtlPath, _mtl); if(_mat) file_text_write_all(_mtlPath, _mtl);
var noti = log_message("EXPORT", $"Export model complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false); var _txt = $"Export model complete.";
logNode(_txt);
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
noti.path = filename_dir(_path); noti.path = filename_dir(_path);
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer); noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
} }

View file

@ -140,7 +140,10 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
// print(txt); // print(txt);
var span = max(abs(obj_raw.model_size.x), abs(obj_raw.model_size.y), abs(obj_raw.model_size.z)); var span = max(abs(obj_raw.model_size.x), abs(obj_raw.model_size.y), abs(obj_raw.model_size.z));
if(span > 10) noti_warning($"The model is tool large to display properly ({span}u). Scale the model down to preview."); if(span > 10) {
var _txt = $"The model is tool large to display properly ({span}u). Scale the model down to preview.";
logNode(_txt); noti_warning(_txt);
}
if(object != noone) object.destroy(); if(object != noone) object.destroy();
@ -171,8 +174,10 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
var _ord = array_find(materialNames, _mat); var _ord = array_find(materialNames, _mat);
materialIndex[i] = _ord; materialIndex[i] = _ord;
} }
} else } else {
noti_warning("Load mtl error: Material amount defined in .mtl file not match the .obj file.") var _txt = "Load mtl error: Material amount defined in .mtl file not match the .obj file.";
logNode(_txt); noti_warning(_txt);
}
} }
array_resize(input_display_list, input_display_len); array_resize(input_display_list, input_display_len);

View file

@ -307,6 +307,13 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
#region ---- log ---- #region ---- log ----
messages = [ ]; messages = [ ];
messages_bub = false;
static logNode = function(text) {
var _time = $"{string_lead_zero(current_hour, 2)}:{string_lead_zero(current_minute, 2)}.{string_lead_zero(current_second, 2)}";
messages_bub = true;
array_push(messages, [ _time, text ]);
}
#endregion #endregion
#region ---- serialization ---- #region ---- serialization ----
@ -2074,7 +2081,9 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
var _data_length = load_map.data_length; var _data_length = load_map.data_length;
var _dynamic_inputs = (array_length(load_map.inputs) - _input_fix_len) / _data_length; var _dynamic_inputs = (array_length(load_map.inputs) - _input_fix_len) / _data_length;
if(frac(_dynamic_inputs) != 0) { if(frac(_dynamic_inputs) != 0) {
noti_warning("LOAD: Uneven dynamic input."); var _txt = "LOAD: Uneven dynamic input.";
logNode(_txt); noti_warning(_txt);
_dynamic_inputs = ceil(_dynamic_inputs); _dynamic_inputs = ceil(_dynamic_inputs);
} }

View file

@ -71,7 +71,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
pathObj.spr = sprite_add(path, 1, false, false, 0, 0); pathObj.spr = sprite_add(path, 1, false, false, 0, 0);
if(pathObj.spr == -1) { if(pathObj.spr == -1) {
noti_warning($"Image node: File not a valid image."); var _txt = $"Image node: File not a valid image.";
logNode(_txt); noti_warning(_txt);
break; break;
} }
@ -105,7 +106,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
var _paths = path_dir_get_files(path, filter, recurs); var _paths = path_dir_get_files(path, filter, recurs);
if(array_empty(_paths)) { if(array_empty(_paths)) {
noti_warning("Directory Search: Empty search results.") var _txt = "Directory Search: Empty search results.";
logNode(_txt); noti_warning(_txt);
return; return;
} }

View file

@ -590,7 +590,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
} }
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) { if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
var noti = log_message("EXPORT", $"Export {array_length(surf)} images complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false); var _txt = $"Export {array_length(surf)} images complete.";
logNode(_txt);
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
noti.path = filename_dir(p); noti.path = filename_dir(p);
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer); noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
@ -611,7 +614,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
p = save_surface(surf, p); p = save_surface(surf, p);
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) { if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
var noti = log_message("EXPORT", $"Export image as {p}", THEME.noti_icon_tick, COLORS._main_value_positive, false); var _txt = $"Export image as {p}";
logNode(_txt);
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
noti.path = filename_dir(p); noti.path = filename_dir(p);
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer); noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);

View file

@ -73,7 +73,8 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
var _spr = sprite_add(path, 1, false, false, 0, 0); var _spr = sprite_add(path, 1, false, false, 0, 0);
if(_spr == -1) { if(_spr == -1) {
noti_warning($"Image node: File not a valid image."); var _txt = $"Image node: File not a valid image.";
logNode(_txt); noti_warning(_txt);
break; break;
} }

View file

@ -133,7 +133,8 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons
var _spr = sprite_add(_path, 1, false, false, 0, 0); var _spr = sprite_add(_path, 1, false, false, 0, 0);
if(_spr == -1) { if(_spr == -1) {
noti_warning($"Image node: File not a valid image."); var _txt = $"Image node: File not a valid image.";
logNode(_txt); noti_warning(_txt);
return false; return false;
} }

View file

@ -123,7 +123,8 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons
var _spr = sprite_add_map(path); var _spr = sprite_add_map(path);
if(_spr == -1) { if(_spr == -1) {
noti_warning($"Image node: File not a valid image."); var _txt = $"Image node: File not a valid image.";
logNode(_txt); noti_warning(_txt);
return false; return false;
} }

View file

@ -38,12 +38,14 @@ function Node_Iterate_Filter(_x, _y, _group = noone) : Node_Iterator(_x, _y, _gr
} }
if(_int == noone) { if(_int == noone) {
noti_warning("Filter Array: Input node not found."); var _txt = "Filter Array: Input node not found.";
logNode(_txt); noti_warning(_txt);
return; return;
} }
if(_oup == noone) { if(_oup == noone) {
noti_warning("Filter Array: Output node not found."); var _txt = "Filter Array: Output node not found.";
logNode(_txt); noti_warning(_txt);
return; return;
} }

View file

@ -91,7 +91,8 @@ function Node_Iterate_Sort(_x, _y, _group = noone) : Node_Collection(_x, _y, _gr
nodeValid = inputReady == 0b111; nodeValid = inputReady == 0b111;
if(!nodeValid) { if(!nodeValid) {
noti_warning($"Array sort: Missing inputs or output, need 2 inputs and 1 output for comparison [{inputReady}]."); var _txt = $"Array sort: Missing inputs or output, need 2 inputs and 1 output for comparison [{inputReady}].";
logNode(_txt); noti_warning(_txt);
return; return;
} }
} }

View file

@ -97,8 +97,10 @@ function Node_Pack_Sprites(_x, _y, _group = noone) : Node(_x, _y, _group) constr
var rect = pack[1]; var rect = pack[1];
var atlas = []; var atlas = [];
if(array_length(rect) < array_length(_rects)) if(array_length(rect) < array_length(_rects)) {
noti_warning($"Not enought space, packed {array_length(rect)} out of {array_length(_rects)} images."); var _txt = $"Not enought space, packed {array_length(rect)} out of {array_length(_rects)} images.";
logNode(_txt); noti_warning(_txt);
}
var _surf = outputs[| 0].getValue(); var _surf = outputs[| 0].getValue();
_surf = surface_verify(_surf, area.w, area.h, surface_get_format(_inpt[0])); _surf = surface_verify(_surf, area.w, area.h, surface_get_format(_inpt[0]));

View file

@ -242,7 +242,8 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
cache_data.result = _temp_s; cache_data.result = _temp_s;
if(string_length(cache_data.result) > attributes.rule_length_limit) { if(string_length(cache_data.result) > attributes.rule_length_limit) {
noti_warning($"L System: Rules length limit ({attributes.rule_length_limit}) reached."); var _txt = $"L System: Rules length limit ({attributes.rule_length_limit}) reached.";
logNode(_txt); noti_warning(_txt);
break; break;
} }
} }

View file

@ -229,7 +229,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
var _sy = py; var _sy = py;
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h; curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite."); if(curr_w != _w || curr_h != _h) {
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
logNode(_txt); noti_warning(_txt);
}
switch(alig) { switch(alig) {
case 1 : _sy = py + (hh - _h) / 2; break; case 1 : _sy = py + (hh - _h) / 2; break;
@ -252,7 +255,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
var _sy = py; var _sy = py;
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h; curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite."); if(curr_w != _w || curr_h != _h) {
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
logNode(_txt); noti_warning(_txt);
}
switch(alig) { switch(alig) {
case 1 : _sx = px + (ww - _w) / 2; break; case 1 : _sx = px + (ww - _w) / 2; break;
@ -288,7 +294,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
var _h = surface_get_height_safe(inpt[index]); var _h = surface_get_height_safe(inpt[index]);
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h; curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite."); if(curr_w != _w || curr_h != _h) {
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
logNode(_txt); noti_warning(_txt);
}
array_push(atlases, new SurfaceAtlas(inpt[index], px, py)); array_push(atlases, new SurfaceAtlas(inpt[index], px, py));
draw_surface_safe(inpt[index], px, py); draw_surface_safe(inpt[index], px, py);
@ -485,7 +494,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
var _w = surface_get_width_safe(_surfi); var _w = surface_get_width_safe(_surfi);
var _h = surface_get_height_safe(_surfi); var _h = surface_get_height_safe(_surfi);
if(anim_curr_w != _w || anim_curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite."); if(anim_curr_w != _w || anim_curr_h != _h) {
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
logNode(_txt); noti_warning(_txt);
}
var px; var px;
var _sx = 0; var _sx = 0;

View file

@ -9,7 +9,10 @@ function Node_Spout_Send(_x, _y, _group = noone) : Node(_x, _y, _group) construc
.setVisible(false); .setVisible(false);
spoutIndex = spoutSenderInit(); spoutIndex = spoutSenderInit();
if(spoutIndex == noone) noti_warning("Spout initialize error"); if(spoutIndex == noone) {
var _txt = "Spout initialize error";
logNode(_txt); noti_warning(_txt);
}
surf_buff = buffer_create(1, buffer_grow, 1); surf_buff = buffer_create(1, buffer_grow, 1);

View file

@ -56,13 +56,15 @@ function Node_WAV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) cons
for( var i = 0; i < _chn; i++ ) { for( var i = 0; i < _chn; i++ ) {
if(!is_array(data[i])) { if(!is_array(data[i])) {
noti_warning("Audio Export: Malformed data. Expects 2D array [channel x number array]."); var _txt = "Audio Export: Malformed data. Expects 2D array [channel x number array].";
logNode(_txt); noti_warning(_txt);
return; return;
} }
var len = array_length(data[i]); var len = array_length(data[i]);
if(_siz && _siz != len) { if(_siz && _siz != len) {
noti_warning("Audio Export: Uneven sample per channel."); var _txt = "Audio Export: Uneven sample per channel.";
logNode(_txt); noti_warning(_txt);
return; return;
} }

View file

@ -70,12 +70,16 @@ function Node_Websocket_Receiver(_x, _y, _group = noone) : Node(_x, _y, _group)
switch(type) { switch(type) {
case network_type_connect : case network_type_connect :
noti_status($"Websocket server: Client connected at port {port} on node {display_name}"); var _txt = $"Websocket server: Client connected at port {port} on node {display_name}";
logNode(_txt); noti_status(_txt);
connected_device++; connected_device++;
break; break;
case network_type_disconnect : case network_type_disconnect :
noti_status($"Websocket server: Client disconnected at port {port} on node {display_name}"); var _txt = $"Websocket server: Client disconnected at port {port} on node {display_name}";
logNode(_txt); noti_status(_txt);
connected_device--; connected_device--;
break; break;

View file

@ -35,7 +35,7 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
}) ]); }) ]);
static connectTo = function(newPort, newUrl, params) { #region static connectTo = function(newPort, newUrl, params) { #region
//print($"Connecting to {newUrl}:{newPort}"); logNode($"Connecting to {newUrl}:{newPort}");
if(ds_map_exists(PORT_MAP, port)) if(ds_map_exists(PORT_MAP, port))
array_remove(PORT_MAP[? port], self); array_remove(PORT_MAP[? port], self);
@ -48,7 +48,8 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
var socket = network_create_socket(network_socket_ws); var socket = network_create_socket(network_socket_ws);
if(socket < 0) { if(socket < 0) {
noti_warning("Websocket sender: Fail to create new socket."); var _txt = "Websocket sender: Fail to create new socket.";
logNode(_txt); noti_warning(_txt);
return; return;
} }
@ -57,7 +58,7 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
callbackMap[$ _conId] = params; callbackMap[$ _conId] = params;
NETWORK_CLIENTS[? _conId] = socket; NETWORK_CLIENTS[? _conId] = socket;
//print($"Connecting to {newUrl}:{newPort} complete"); logNode($"Connected to {newUrl}:{newPort}");
} #endregion } #endregion
setInspector(1, __txt("Resend"), [ THEME.refresh_icon, 1, COLORS._main_value_positive ], function() { triggerRender(); }); setInspector(1, __txt("Resend"), [ THEME.refresh_icon, 1, COLORS._main_value_positive ], function() { triggerRender(); });
@ -65,13 +66,17 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
static sendCall = function(ID, params) { static sendCall = function(ID, params) {
var network = ds_map_try_get(NETWORK_CLIENTS, ID, noone); var network = ds_map_try_get(NETWORK_CLIENTS, ID, noone);
if(network < 0) { if(network < 0) {
noti_warning("Websocket sender: No client."); var _txt = "Websocket sender: No client.";
logNode(_txt); noti_warning(_txt);
return; return;
} }
var content = params.content; var content = params.content;
var res = network_send_raw(network, content, buffer_get_size(content), network_send_text); var res = network_send_raw(network, content, buffer_get_size(content));
if(res < 0) noti_warning("Websocket sender: Send error."); if(res < 0) {
var _txt = "Websocket sender: Send error.";
logNode(_txt); noti_warning(_txt);
}
} }
static asyncPackets = function(_async_load) { #region static asyncPackets = function(_async_load) { #region
@ -81,7 +86,9 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
var type = async_load[? "type"]; var type = async_load[? "type"];
if(type == network_type_non_blocking_connect) { if(type == network_type_non_blocking_connect) {
noti_status($"Websocket sender: Connected at port {port} on node {display_name}"); var _txt = $"Websocket sender: Connected at port {port} on node {display_name}";
logNode(_txt); noti_status(_txt);
connected = true; connected = true;
var callBack = callbackMap[$ aid]; var callBack = callbackMap[$ aid];
sendCall(aid, callBack); sendCall(aid, callBack);
@ -136,7 +143,6 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
var network = ds_map_try_get(NETWORK_CLIENTS, port, noone); var network = ds_map_try_get(NETWORK_CLIENTS, port, noone);
var cc = CDEF.lime, aa = 1; var cc = CDEF.lime, aa = 1;
//if(network >= 0) cc = CDEF.lime;
var _y0 = bbox.y0 + ui(16); var _y0 = bbox.y0 + ui(16);
var _y1 = bbox.y1 - ui(16); var _y1 = bbox.y1 - ui(16);

View file

@ -94,9 +94,9 @@ function Panel_Inspector() : PanelContent() constructor {
tb_prop_filter.hide = true; tb_prop_filter.hide = true;
filter_text = ""; filter_text = "";
prop_page_button = new buttonGroup([ "Properties", "Settings" ], function(val) { prop_page = val; }); prop_page_button = new buttonGroup([ "Properties", "Settings", THEME.message_16 ], function(val) { prop_page = val; });
prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ]; prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ];
prop_page_button.font = f_p1; prop_page_button.font = f_p2;
prop_page_button.fColor = COLORS._main_text_sub; prop_page_button.fColor = COLORS._main_text_sub;
prop_page = 0; prop_page = 0;
#endregion #endregion
@ -505,7 +505,7 @@ function Panel_Inspector() : PanelContent() constructor {
var xc = con_w / 2; var xc = con_w / 2;
if(prop_page == 1) { #region attribute/settings editor if(prop_page == 1) { // attribute/settings editor
hh += ui(8); hh += ui(8);
var hg = ui(32); var hg = ui(32);
var yy = _y + hh; var yy = _y + hh;
@ -557,7 +557,41 @@ function Panel_Inspector() : PanelContent() constructor {
hh += _hg + ui(8); hh += _hg + ui(8);
} }
return hh; return hh;
} #endregion
} else if(prop_page == 2) {
var _logs = _inspecting.messages;
_inspecting.messages_bub = false;
var _tmw = ui(64);
var yy = _y;
var hh = ui(64);
var con_w = contentPane.surface_w;
var con_h = contentPane.surface_h - yy;
draw_sprite_stretched_ext(THEME.ui_panel_bg, 1, 0, yy, con_w, con_h, COLORS._main_icon);
yy += ui(8);
for (var i = 0, n = array_length(_logs); i < n; i++) {
var _log = _logs[i];
var _time = _log[0];
var _text = _log[1];
draw_set_text(f_p3, fa_left, fa_top, COLORS._main_text_sub);
var _hg = string_height_ext(_text, -1, con_w - _tmw - ui(10 + 8)) + ui(4);
if(i % 2) draw_sprite_stretched_ext(THEME.ui_panel_bg, 4, ui(4), yy, con_w - ui(8), _hg, CDEF.main_dkblack, 0.25);
draw_text_add(ui(10), yy + ui(2), _time);
draw_set_color(COLORS._main_text);
draw_text_ext_add(_tmw + ui(10), yy + ui(2), _text, -1, con_w - _tmw - ui(10 + 8));
yy += _hg;
hh += _hg;
}
return hh;
}
var color_picker_index = 0; var color_picker_index = 0;
var pickers = []; var pickers = [];
@ -857,8 +891,9 @@ function Panel_Inspector() : PanelContent() constructor {
if(inspecting == noone) return drawMeta(_y, _m); if(inspecting == noone) return drawMeta(_y, _m);
prop_page_button.data[2] = inspecting.messages_bub? THEME.message_16_grey_bubble : THEME.message_16_grey;
prop_page_button.setFocusHover(pFOCUS, pHOVER); prop_page_button.setFocusHover(pFOCUS, pHOVER);
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m, x + contentPane.x, y + contentPane.y); prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(24), prop_page, _m, x + contentPane.x, y + contentPane.y);
var _hh = ui(40); var _hh = ui(40);
_y += _hh; _y += _hh;

View file

@ -89,6 +89,8 @@ function file_read_wav(path) {
content.packet = bits; content.packet = bits;
printIf(global.FLAG.wav_import, debug_str); printIf(global.FLAG.wav_import, debug_str);
logNode(debug_str);
print($"Reading buffer {bits} pack from data length {l} with remaining data {_buffer_left}"); print($"Reading buffer {bits} pack from data length {l} with remaining data {_buffer_left}");
return content; return content;