365 lines
9.8 KiB
XML
365 lines
9.8 KiB
XML
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
|
|
<object>
|
|
<spriteName><undefined></spriteName>
|
|
<solid>0</solid>
|
|
<visible>0</visible>
|
|
<depth>0</depth>
|
|
<persistent>-1</persistent>
|
|
<parentName><undefined></parentName>
|
|
<maskName><undefined></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>///Initialize DEBUG value
|
|
globalvar DEBUG;
|
|
DEBUG = false;
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
<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>///Build object tree
|
|
objectList = ds_list_create();
|
|
objectNames = ds_map_create();
|
|
var objects = ds_priority_create();
|
|
|
|
for (var obj = 0; obj < 200; obj++)
|
|
if (object_exists(obj)) {
|
|
var prio = obj;
|
|
for (var parent = object_get_parent(obj); object_exists(parent); parent = object_get_parent(parent))
|
|
prio = parent+prio/200;
|
|
|
|
ds_priority_add(objects, obj, prio);
|
|
}
|
|
|
|
repeat (ds_priority_size(objects)) {
|
|
var obj = ds_priority_delete_min(objects);
|
|
|
|
ds_list_add(objectList, obj);
|
|
|
|
var dep = 0;
|
|
for (var parent = object_get_parent(obj); object_exists(parent); parent = object_get_parent(parent))
|
|
dep++;
|
|
|
|
objectNames[?obj] = string_repeat(" ", dep)+object_get_name(obj);
|
|
}
|
|
|
|
ds_priority_destroy(objects);
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="1" 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>ds_list_destroy(objectList);
|
|
ds_map_destroy(objectNames);
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="3" enumb="2">
|
|
<action>
|
|
<libid>1</libid>
|
|
<id>611</id>
|
|
<kind>6</kind>
|
|
<userelative>-1</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>visible</string>
|
|
</argument>
|
|
<argument>
|
|
<kind>0</kind>
|
|
<string>DEBUG</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="8" enumb="64">
|
|
<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>///Draw instance counts
|
|
var objs = ds_map_create();
|
|
|
|
with (all)
|
|
if (ds_map_exists(objs, self.object_index))
|
|
objs[?self.object_index]++;
|
|
else
|
|
objs[?self.object_index] = 1;
|
|
|
|
str = "";
|
|
|
|
for (var i = 0; i < ds_list_size(objectList); i++) {
|
|
var obj = objectList[|i];
|
|
if (ds_map_exists(objs, obj))
|
|
str += objectNames[?obj]+": "+string(objs[?obj])+"#";
|
|
}
|
|
|
|
ds_map_destroy(objs);
|
|
|
|
draw_set_colour(c_white);
|
|
draw_set_alpha(0.3);
|
|
var pad = 5;
|
|
draw_rectangle(x-pad, y-pad, x+string_width(str)+pad, y+string_height(str)+pad, false);
|
|
draw_set_halign(fa_left);
|
|
draw_set_valign(fa_top);
|
|
draw_set_colour(c_black);
|
|
draw_set_alpha(1);
|
|
draw_text(x, y, str);
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="8" 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>///Draw sprites of invisible objects
|
|
with (all)
|
|
if (!self.visible && sprite_exists(self.sprite_index))
|
|
draw_self();
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
<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>///highlight ParameterLink endpoints
|
|
var col = draw_get_colour();
|
|
draw_set_colour(c_red);
|
|
|
|
with (ParameterLink)
|
|
if (collision_point(mouse_x, mouse_y, id, true, false) != noone) {
|
|
with (self.source)
|
|
draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, true);
|
|
with (self.drain)
|
|
draw_rectangle(bbox_left, bbox_top, bbox_right, bbox_bottom, true);
|
|
}
|
|
|
|
draw_set_colour(col);
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="9" enumb="117">
|
|
<action>
|
|
<libid>1</libid>
|
|
<id>611</id>
|
|
<kind>6</kind>
|
|
<userelative>-1</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>DEBUG</string>
|
|
</argument>
|
|
<argument>
|
|
<kind>0</kind>
|
|
<string>!DEBUG</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="9" enumb="116">
|
|
<action>
|
|
<libid>1</libid>
|
|
<id>331</id>
|
|
<kind>0</kind>
|
|
<userelative>0</userelative>
|
|
<isquestion>0</isquestion>
|
|
<useapplyto>0</useapplyto>
|
|
<exetype>1</exetype>
|
|
<functionname>action_restart_game</functionname>
|
|
<codestring></codestring>
|
|
<whoName>self</whoName>
|
|
<relative>0</relative>
|
|
<isnot>0</isnot>
|
|
</action>
|
|
</event>
|
|
<event eventtype="9" enumb="67">
|
|
<action>
|
|
<libid>1</libid>
|
|
<id>408</id>
|
|
<kind>0</kind>
|
|
<userelative>0</userelative>
|
|
<isquestion>-1</isquestion>
|
|
<useapplyto>-1</useapplyto>
|
|
<exetype>1</exetype>
|
|
<functionname>action_if</functionname>
|
|
<codestring></codestring>
|
|
<whoName>self</whoName>
|
|
<relative>0</relative>
|
|
<isnot>0</isnot>
|
|
<arguments>
|
|
<argument>
|
|
<kind>0</kind>
|
|
<string>keyboard_check(vk_control)</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
<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>///copy type DOT to clipboard
|
|
clipboard_set_text(typesToDot());
|
|
|
|
</string>
|
|
</argument>
|
|
</arguments>
|
|
</action>
|
|
</event>
|
|
<event eventtype="9" enumb="27">
|
|
<action>
|
|
<libid>1</libid>
|
|
<id>332</id>
|
|
<kind>0</kind>
|
|
<userelative>0</userelative>
|
|
<isquestion>0</isquestion>
|
|
<useapplyto>0</useapplyto>
|
|
<exetype>1</exetype>
|
|
<functionname>action_end_game</functionname>
|
|
<codestring></codestring>
|
|
<whoName>self</whoName>
|
|
<relative>0</relative>
|
|
<isnot>0</isnot>
|
|
</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>
|