<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
  <spriteName>&lt;undefined&gt;</spriteName>
  <solid>0</solid>
  <visible>-1</visible>
  <depth>0</depth>
  <persistent>-1</persistent>
  <parentName>objDebugList</parentName>
  <maskName>&lt;undefined&gt;</maskName>
  <events>
    <event eventtype="0" enumb="0">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>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;
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="7" enumb="10">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>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.COLOR;
    _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 &lt; 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 &lt; 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 &lt; n; i++) {
        item_colors[i] = c_lime;
    }
}

var _view = scrDebugInspectorGetView(0);
x = target.bbox_right + box_padding - _view[0];
if (x + width &gt;= _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);
</string>
          </argument>
        </arguments>
      </action>
    </event>
    <event eventtype="8" enumb="75">
      <action>
        <libid>1</libid>
        <id>603</id>
        <kind>7</kind>
        <userelative>0</userelative>
        <isquestion>0</isquestion>
        <useapplyto>-1</useapplyto>
        <exetype>2</exetype>
        <functionname></functionname>
        <codestring></codestring>
        <whoName>self</whoName>
        <relative>0</relative>
        <isnot>0</isnot>
        <arguments>
          <argument>
            <kind>1</kind>
            <string>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();
</string>
          </argument>
        </arguments>
      </action>
    </event>
  </events>
  <PhysicsObject>0</PhysicsObject>
  <PhysicsObjectSensor>0</PhysicsObjectSensor>
  <PhysicsObjectShape>0</PhysicsObjectShape>
  <PhysicsObjectDensity>0.5</PhysicsObjectDensity>
  <PhysicsObjectRestitution>0.100000001490116</PhysicsObjectRestitution>
  <PhysicsObjectGroup>0</PhysicsObjectGroup>
  <PhysicsObjectLinearDamping>0.100000001490116</PhysicsObjectLinearDamping>
  <PhysicsObjectAngularDamping>0.100000001490116</PhysicsObjectAngularDamping>
  <PhysicsObjectFriction>0.200000002980232</PhysicsObjectFriction>
  <PhysicsObjectAwake>-1</PhysicsObjectAwake>
  <PhysicsObjectKinematic>0</PhysicsObjectKinematic>
  <PhysicsShapePoints/>
</object>
