diff --git a/add after objDebugList/objDebugInspector.object.gmx b/add after objDebugList/objDebugInspector.object.gmx index 4aaa817..043367a 100644 --- a/add after objDebugList/objDebugInspector.object.gmx +++ b/add after objDebugList/objDebugInspector.object.gmx @@ -1,247 +1,247 @@ - - - <undefined> - 0 - -1 - 0 - -1 - objDebugList - <undefined> - - - - 1 - 603 - 7 - 0 - 0 - -1 - 2 - - - self - 0 - 0 - - - 1 - event_inherited(); - -enum __INSPECTOR_TYPES { - NOT_SET, REAL, STRING, ARRAY, BOOL, UNDEFINED, SPRITE_ASSET, COLOR, UNKNOWN -} - -target = noone; -box_padding = 4; - -variable_values = -1; -variable_types = -1; -variable_names = -1; -variable_strings = -1; -variable_strings_rendered = -1; -variable_number = -1; - - - - - - - - 1 - 603 - 7 - 0 - 0 - -1 - 2 - - - self - 0 - 0 - - - 1 - if (global.__synthasmagoria_debug_inspector_show_instance_vars) { - var _instance_variable_names = array_create(22); - var _instance_variable_types = array_create(22); - _instance_variable_names[0] = "solid"; - _instance_variable_types[0] = __INSPECTOR_TYPES.BOOL; - _instance_variable_names[1] = "visible"; - _instance_variable_types[1] = __INSPECTOR_TYPES.BOOL; - _instance_variable_names[2] = "persistent"; - _instance_variable_types[2] = __INSPECTOR_TYPES.BOOL; - _instance_variable_names[3] = "depth"; - _instance_variable_names[4] = "sprite_index"; - _instance_variable_types[4] = __INSPECTOR_TYPES.SPRITE_ASSET; - _instance_variable_names[5] = "sprite_width"; - _instance_variable_names[6] = "sprite_height"; - _instance_variable_names[7] = "sprite_xoffset"; - _instance_variable_names[8] = "sprite_yoffset"; - _instance_variable_names[9] = "image_alpha"; - _instance_variable_names[10] = "image_angle"; - _instance_variable_names[11] = "image_blend"; - _instance_variable_types[11] = __INSPECTOR_TYPES.COLOR; - _instance_variable_names[12] = "image_index"; - _instance_variable_names[13] = "image_number"; - _instance_variable_names[14] = "image_speed"; - _instance_variable_names[15] = "image_xscale"; - _instance_variable_names[16] = "image_yscale"; - _instance_variable_names[17] = "mask_index"; - _instance_variable_types[17] = __INSPECTOR_TYPES.SPRITE_ASSET; - _instance_variable_names[18] = "bbox_bottom"; - _instance_variable_names[19] = "bbox_left"; - _instance_variable_names[20] = "bbox_right"; - _instance_variable_names[21] = "bbox_top"; - var _custom_instance_variable_names = variable_instance_get_names(target); - var _custom_instance_variable_count = array_length_1d(_custom_instance_variable_names); - var _instance_variable_count = array_length_1d(_instance_variable_names); - variable_number = _instance_variable_count + _custom_instance_variable_count; - variable_names = array_create(variable_number); - variable_types = array_create(variable_number); - array_copy(variable_names, 0, _custom_instance_variable_names, 0, _custom_instance_variable_count); - array_copy(variable_names, _custom_instance_variable_count, _instance_variable_names, 0, _instance_variable_count); - array_copy(variable_types, _custom_instance_variable_count, _instance_variable_types, 0, _instance_variable_count); - -} else { - variable_names = variable_instance_get_names(target); - variable_number = array_length_1d(variable_names); - variable_types = array_create(variable_number); -} -variable_values = array_create(variable_number); -variable_strings = array_create(variable_number); -variable_strings_rendered = array_create(variable_number); - -var _val; -for (var i = 0; i < variable_number; i++) { - _val = variable_instance_get(target, variable_names[i]); - variable_values[i] = _val; - switch (variable_types[i]) { - case __INSPECTOR_TYPES.NOT_SET: - if (is_undefined(_val)) { - variable_strings[i] = string(_val); - variable_types[i] = __INSPECTOR_TYPES.UNDEFINED; - } else if (is_bool(_val)) { - if (_val) { - variable_strings[i] = "true"; - } else { - variable_strings[i] = "false"; - } - variable_types[i] = __INSPECTOR_TYPES.BOOL; - } else if (is_real(_val)) { - variable_strings[i] = string(_val); - variable_types[i] = __INSPECTOR_TYPES.REAL; - } else if (is_string(_val)) { - variable_strings[i] = "'" + _val + "'"; - variable_types[i] = __INSPECTOR_TYPES.STRING; - } else if (is_array(_val)) { - var _buf_str = buffer_create(512, buffer_grow, 1); - buffer_write(_buf_str, buffer_text, "["); - for (var ii = 0, nn = array_length_1d(_val); ii < nn; ii++) { - buffer_write(_buf_str, buffer_text, string(_val[ii]) + ", "); - } - buffer_write(_buf_str, buffer_text, "]"); - buffer_seek(_buf_str, buffer_seek_start, 0); - variable_strings[i] = buffer_read(_buf_str, buffer_text); - buffer_delete(_buf_str); - variable_types[i] = __INSPECTOR_TYPES.ARRAY; - } else { - variable_strings[i] = string(_val); - variable_types[i] = __INSPECTOR_TYPES.UNKNOWN; - } - break; - - case __INSPECTOR_TYPES.SPRITE_ASSET: - variable_strings[i] = sprite_get_name(_val) + " (" + string(_val) + ")"; - break; - - case __INSPECTOR_TYPES.COLOR: - variable_strings[i] = "{r: " + string(color_get_red(_val)) + ", g: " + string(color_get_blue(_val)) + ", b: " + string(color_get_green(_val)) + "}"; - break; - - case __INSPECTOR_TYPES.BOOL: - if (_val) { - variable_strings[i] = "true"; - } else { - variable_strings[i] = "false"; - } - break; - - // note: the others aren't implemented so if a custom variable type is set then it will crash with DoAdd - } - - variable_strings_rendered[i] = variable_names[i] + ": " + variable_strings[i]; -} - -header = object_get_name(target.object_index) + " inst_" + string(target.id); -items = variable_strings_rendered; - -event_inherited(); - -if (global.__synthasmagoria_debug_inspector_show_instance_vars) { - for (var i = array_length_1d(items) - array_length_1d(_instance_variable_names), n = array_length_1d(items); i < n; i++) { - item_colors[i] = c_lime; - } -} - -var _view = scrDebugInspectorGetView(0); -x = target.bbox_right + box_padding - _view[0]; -if (x + width >= _view[2]) { - x = target.bbox_left - width - box_padding - _view[0]; -} -y = target.bbox_bottom + box_padding - _view[1]; -y -= max(0, (y + height) - (_view[3] - box_padding)); - -x = clamp(x, _view[0] + box_padding, _view[2] - width - box_padding); -y = clamp(y, _view[1] + box_padding, _view[3] - height - box_padding); - - - - - - - - 1 - 603 - 7 - 0 - 0 - -1 - 2 - - - self - 0 - 0 - - - 1 - var _view = scrDebugInspectorGetView(0); -if (instance_exists(target)) { - draw_set_color(c_black); - draw_line(x, y - 1, target.x - _view[0], target.y - _view[1] - 1); - draw_line(x, y + 1, target.x - _view[0], target.y - _view[1] + 1); - draw_set_color(c_white); - draw_line(x, y, target.x - _view[0], target.y - _view[1]); -} - -event_inherited(); - - - - - - - 0 - 0 - 0 - 0.5 - 0.100000001490116 - 0 - 0.100000001490116 - 0.100000001490116 - 0.200000002980232 - -1 - 0 - - + + + <undefined> + 0 + -1 + 0 + -1 + objDebugList + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + event_inherited(); + +enum __INSPECTOR_TYPES { + NOT_SET, REAL, STRING, ARRAY, BOOL, UNDEFINED, SPRITE_ASSET, COLOR, UNKNOWN +} + +target = noone; +box_padding = 4; + +variable_values = -1; +variable_types = -1; +variable_names = -1; +variable_strings = -1; +variable_strings_rendered = -1; +variable_number = -1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if (global.__synthasmagoria_debug_inspector_show_instance_vars) { + var _instance_variable_names = array_create(22); + var _instance_variable_types = array_create(22); + _instance_variable_names[0] = "solid"; + _instance_variable_types[0] = __INSPECTOR_TYPES.BOOL; + _instance_variable_names[1] = "visible"; + _instance_variable_types[1] = __INSPECTOR_TYPES.BOOL; + _instance_variable_names[2] = "persistent"; + _instance_variable_types[2] = __INSPECTOR_TYPES.BOOL; + _instance_variable_names[3] = "depth"; + _instance_variable_names[4] = "sprite_index"; + _instance_variable_types[4] = __INSPECTOR_TYPES.SPRITE_ASSET; + _instance_variable_names[5] = "sprite_width"; + _instance_variable_names[6] = "sprite_height"; + _instance_variable_names[7] = "sprite_xoffset"; + _instance_variable_names[8] = "sprite_yoffset"; + _instance_variable_names[9] = "image_alpha"; + _instance_variable_names[10] = "image_angle"; + _instance_variable_names[11] = "image_blend"; + _instance_variable_types[11] = __INSPECTOR_TYPES.COLOR; + _instance_variable_names[12] = "image_index"; + _instance_variable_names[13] = "image_number"; + _instance_variable_names[14] = "image_speed"; + _instance_variable_names[15] = "image_xscale"; + _instance_variable_names[16] = "image_yscale"; + _instance_variable_names[17] = "mask_index"; + _instance_variable_types[17] = __INSPECTOR_TYPES.SPRITE_ASSET; + _instance_variable_names[18] = "bbox_bottom"; + _instance_variable_names[19] = "bbox_left"; + _instance_variable_names[20] = "bbox_right"; + _instance_variable_names[21] = "bbox_top"; + var _custom_instance_variable_names = variable_instance_get_names(target); + var _custom_instance_variable_count = array_length_1d(_custom_instance_variable_names); + var _instance_variable_count = array_length_1d(_instance_variable_names); + variable_number = _instance_variable_count + _custom_instance_variable_count; + variable_names = array_create(variable_number); + variable_types = array_create(variable_number); + array_copy(variable_names, 0, _custom_instance_variable_names, 0, _custom_instance_variable_count); + array_copy(variable_names, _custom_instance_variable_count, _instance_variable_names, 0, _instance_variable_count); + array_copy(variable_types, _custom_instance_variable_count, _instance_variable_types, 0, _instance_variable_count); + +} else { + variable_names = variable_instance_get_names(target); + variable_number = array_length_1d(variable_names); + variable_types = array_create(variable_number); +} +variable_values = array_create(variable_number); +variable_strings = array_create(variable_number); +variable_strings_rendered = array_create(variable_number); + +var _val; +for (var i = 0; i < variable_number; i++) { + _val = variable_instance_get(target, variable_names[i]); + variable_values[i] = _val; + switch (variable_types[i]) { + case __INSPECTOR_TYPES.NOT_SET: + if (is_undefined(_val)) { + variable_strings[i] = string(_val); + variable_types[i] = __INSPECTOR_TYPES.UNDEFINED; + } else if (is_bool(_val)) { + if (_val) { + variable_strings[i] = "true"; + } else { + variable_strings[i] = "false"; + } + variable_types[i] = __INSPECTOR_TYPES.BOOL; + } else if (is_real(_val)) { + variable_strings[i] = string(_val); + variable_types[i] = __INSPECTOR_TYPES.REAL; + } else if (is_string(_val)) { + variable_strings[i] = "'" + string_replace_all(_val, "#", "\#") + "'"; + variable_types[i] = __INSPECTOR_TYPES.STRING; + } else if (is_array(_val)) { + var _buf_str = buffer_create(512, buffer_grow, 1); + buffer_write(_buf_str, buffer_text, "["); + for (var ii = 0, nn = array_length_1d(_val); ii < nn; ii++) { + buffer_write(_buf_str, buffer_text, string(_val[ii]) + ", "); + } + buffer_write(_buf_str, buffer_text, "]"); + buffer_seek(_buf_str, buffer_seek_start, 0); + variable_strings[i] = buffer_read(_buf_str, buffer_text); + buffer_delete(_buf_str); + variable_types[i] = __INSPECTOR_TYPES.ARRAY; + } else { + variable_strings[i] = string(_val); + variable_types[i] = __INSPECTOR_TYPES.UNKNOWN; + } + break; + + case __INSPECTOR_TYPES.SPRITE_ASSET: + variable_strings[i] = sprite_get_name(_val) + " (" + string(_val) + ")"; + break; + + case __INSPECTOR_TYPES.COLOR: + variable_strings[i] = "{r: " + string(color_get_red(_val)) + ", g: " + string(color_get_blue(_val)) + ", b: " + string(color_get_green(_val)) + "}"; + break; + + case __INSPECTOR_TYPES.BOOL: + if (_val) { + variable_strings[i] = "true"; + } else { + variable_strings[i] = "false"; + } + break; + + // note: the others aren't implemented so if a custom variable type is set then it will crash with DoAdd + } + + variable_strings_rendered[i] = variable_names[i] + ": " + variable_strings[i]; +} + +header = object_get_name(target.object_index) + " inst_" + string(target.id); +items = variable_strings_rendered; + +event_inherited(); + +if (global.__synthasmagoria_debug_inspector_show_instance_vars) { + for (var i = array_length_1d(items) - array_length_1d(_instance_variable_names), n = array_length_1d(items); i < n; i++) { + item_colors[i] = c_lime; + } +} + +var _view = scrDebugInspectorGetView(0); +x = target.bbox_right + box_padding - _view[0]; +if (x + width >= _view[2]) { + x = target.bbox_left - width - box_padding - _view[0]; +} +y = target.bbox_bottom + box_padding - _view[1]; +y -= max(0, (y + height) - (_view[3] - box_padding)); + +x = clamp(x, _view[0] + box_padding, _view[2] - width - box_padding); +y = clamp(y, _view[1] + box_padding, _view[3] - height - box_padding); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + var _view = scrDebugInspectorGetView(0); +if (instance_exists(target)) { + draw_set_color(c_black); + draw_line(x, y - 1, target.x - _view[0], target.y - _view[1] - 1); + draw_line(x, y + 1, target.x - _view[0], target.y - _view[1] + 1); + draw_set_color(c_white); + draw_line(x, y, target.x - _view[0], target.y - _view[1]); +} + +event_inherited(); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + 0.200000002980232 + -1 + 0 + + diff --git a/add after objDebugList/scrDebugInspectorGetView.gml b/add after objDebugList/scrDebugInspectorGetView.gml index c7cae15..0d34f1b 100644 --- a/add after objDebugList/scrDebugInspectorGetView.gml +++ b/add after objDebugList/scrDebugInspectorGetView.gml @@ -10,4 +10,4 @@ if (view_enabled && view_visible[argument0]) { _view[0] = 0; _view[1] = 0; _view[2] = window_get_width(); -_view[3] = window_get_height(); +_view[3] = window_get_height(); \ No newline at end of file diff --git a/add after objDebugList/scrDebugInspectorInitialize.gml b/add after objDebugList/scrDebugInspectorInitialize.gml index be5e4a3..2ae6047 100644 --- a/add after objDebugList/scrDebugInspectorInitialize.gml +++ b/add after objDebugList/scrDebugInspectorInitialize.gml @@ -1,22 +1,22 @@ -///scrDebugInspectorInitialize(global_game_start_name, show_instance_vars, [debug_key], [font]) -if (instance_exists(objDebugInspectorControl)) { - exit; -} -if (variable_global_exists(argument[0])) { - global.__synthasmagoria_debug_inspector_global_game_start_name = argument[0]; -} else { - show_error("Global variable '" + argument[0] + "' didn't exist", false); - global.__synthasmagoria_debug_inspector_global_game_start_name = "@"; -} -global.__synthasmagoria_debug_inspector_show_instance_vars = argument[1]; -var _debug_key = -1; -if (argument_count > 2) { - _debug_key = argument[2]; -} -global.__synthasmagoria_debug_inspector_debug_key = _debug_key; -var _font = -1; -if (argument_count > 3) { - _font = argument[3]; -} -global.__synthasmagoria_debug_inspector_font = _font; -instance_create(0, 0, objDebugInspectorControl); +///scrDebugInspectorInitialize(global_game_start_name, show_instance_vars, [debug_key], [font]) +if (instance_exists(objDebugInspectorControl)) { + exit; +} +if (variable_global_exists(argument[0])) { + global.__synthasmagoria_debug_inspector_global_game_start_name = argument[0]; +} else { + show_error("Global variable '" + argument[0] + "' didn't exist", false); + global.__synthasmagoria_debug_inspector_global_game_start_name = "@"; +} +global.__synthasmagoria_debug_inspector_show_instance_vars = argument[1]; +var _debug_key = -1; +if (argument_count > 2) { + _debug_key = argument[2]; +} +global.__synthasmagoria_debug_inspector_debug_key = _debug_key; +var _font = -1; +if (argument_count > 3) { + _font = argument[3]; +} +global.__synthasmagoria_debug_inspector_font = _font; +instance_create(0, 0, objDebugInspectorControl); \ No newline at end of file