<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