Files
AM2R-Community-Updates/objects/oTouchControls.object.gmx
2020-12-22 20:54:55 -06:00

1263 lines
41 KiB
XML

<!--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>-5000002</depth>
<persistent>-1</persistent>
<parentName>&lt;undefined&gt;</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>/// Initialize.
scale = oControl.touch_scale;
device_mouse_dbclick_enable(false);
device_screen_size = sqrt(power(display_get_width() / display_get_dpi_x(), 2) + power(display_get_height() / display_get_dpi_y(), 2));
draw = 1;
alpha = 0;
st_radius = display_get_height() / oControl.touch_scale; // default 4, smaller is bigger
st_offset = st_radius + 25;
gui_x[0] = st_offset;
gui_y[0] = display_get_height() - st_offset;
gui_x[1] = display_get_width() - st_offset;
gui_y[1] = display_get_height() - st_offset;
stick_x[0] = gui_x[0];
stick_y[0] = gui_y[0];
stick_x[1] = gui_x[1];
stick_y[1] = gui_y[1];
st_pressed[0] = -1;
st_pressed[1] = -1;
jump_pressed[0] = -1;
jump_pressed[1] = -1;
fire_pressed[0] = -1;
fire_pressed[1] = -1;
aimupleft_pressed[0] = -1;
aimupleft_pressed[1] = -1;
aimdownleft_pressed[0] = -1;
aimdownleft_pressed[1] = -1;
aimupright_pressed[0] = -1;
aimupright_pressed[1] = -1;
aimdownright_pressed[0] = -1;
aimdownright_pressed[1] = -1;
missile_pressed[0] = -1;
missile_pressed[1] = -1;
morph_pressed[0] = -1;
morph_pressed[1] = -1;
pause_pressed[0] = -1;
pause_pressed[1] = -1;
up_pressed[0] = -1;
up_pressed[1] = -1;
down_pressed[0] = -1;
down_pressed[1] = -1;
right_pressed[0] = -1;
right_pressed[1] = -1;
left_pressed[0] = -1;
left_pressed[1] = -1;
vdir = 0;
vdist = 0;
rdist = 0;
mx = 0;
my = 0;
joyx = 0;
joyy = 0;
</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>/// Button calulations.
gui_x[0] = st_offset;
gui_y[0] = display_get_gui_height() - st_offset;
gui_x[1] = display_get_gui_width() - st_offset;
gui_y[1] = display_get_gui_height() - st_offset;
btn_width = display_get_height() / oControl.touch_scale; // default 4, smaller is bigger
btn_height = display_get_height() / oControl.touch_scale;
btn_y = display_get_gui_height() - btn_height - 25;
btn_x = display_get_gui_width() - 25;
btn_jump_x = btn_x - btn_width * 2;
btn_fire_x = btn_x - btn_width;
btn_missile_x = btn_jump_x;
btn_missile_y = btn_y - btn_height;
btn_morph_x = btn_fire_x;
btn_morph_y = btn_y - btn_height;
btn_pause_x = mean(gui_x[0] + st_radius, btn_jump_x);
btn_pause_y = gui_y[1] + st_radius;
buttonScale = ((150*btn_width)/300)/150; // ((150*btn_width)/300)/150
pauseScale = ((50*btn_height/3)/85)/50;
btn_jump[0] = btn_jump_x;
btn_jump[1] = btn_y+10;
btn_jump[2] = btn_jump_x + btn_width-10;
btn_jump[3] = btn_y + btn_height;
btn_fire[0] = btn_fire_x+10;
btn_fire[1] = btn_y + 10;
btn_fire[2] = btn_fire_x + btn_width;
btn_fire[3] = btn_y + btn_height;
btn_missile[0] = btn_missile_x;
btn_missile[1] = btn_missile_y;
btn_missile[2] = btn_missile_x + btn_width - 10;
btn_missile[3] = btn_missile_y + btn_height - 10;
btn_morph[0] = btn_morph_x + 10;
btn_morph[1] = btn_morph_y;
btn_morph[2] = btn_morph_x + btn_width;
btn_morph[3] = btn_morph_y + btn_height - 10;
btn_pause[0] = btn_pause_x - btn_width/4;
btn_pause[1] = btn_pause_y - btn_height/3;
btn_pause[2] = btn_pause_x + btn_width/4;
btn_pause[3] = btn_pause_y;
btn_pausearrow_y = btn_pause_y - btn_height/3/2;
// Up Left
btn_aimul[0] = gui_x[0] - st_radius;
btn_aimul[1] = gui_y[0] - st_radius;
btn_aimul[2] = (gui_x[0] - st_radius) + st_radius/2;
btn_aimul[3] = (gui_y[0] - st_radius);
btn_aimul[4] = (gui_x[0] - st_radius);
btn_aimul[5] = (gui_y[0] - st_radius) + st_radius/2;
// Down Left
btn_aimdl[0] = gui_x[0] - st_radius;
btn_aimdl[1] = gui_y[0] + st_radius;
btn_aimdl[2] = (gui_x[0] - st_radius) + st_radius/2;
btn_aimdl[3] = (gui_y[0] + st_radius);
btn_aimdl[4] = (gui_x[0] - st_radius);
btn_aimdl[5] = (gui_y[0] + st_radius) - st_radius/2;
// Up Right
btn_aimur[0] = gui_x[0] + st_radius;
btn_aimur[1] = gui_y[0] - st_radius;
btn_aimur[2] = (gui_x[0] + st_radius) - st_radius/2;
btn_aimur[3] = (gui_y[0] - st_radius);
btn_aimur[4] = (gui_x[0] + st_radius);
btn_aimur[5] = (gui_y[0] - st_radius) + st_radius/2;
// Down Right
btn_aimdr[0] = gui_x[0] + st_radius;
btn_aimdr[1] = gui_y[0] + st_radius;
btn_aimdr[2] = (gui_x[0] + st_radius) - st_radius/2;
btn_aimdr[3] = (gui_y[0] + st_radius);
btn_aimdr[4] = (gui_x[0] + st_radius);
btn_aimdr[5] = (gui_y[0] + st_radius) - st_radius/2;
// Up Button
btn_aimu[0] = gui_x[0];
btn_aimu[1] = gui_y[0] - st_radius/4;
btn_aimu[2] = gui_x[0] - st_radius;
btn_aimu[3] = gui_y[0] - st_radius;
btn_aimu[4] = gui_x[0] + st_radius;
btn_aimu[5] = gui_y[0] - st_radius;
// Down Button
btn_aimd[0] = gui_x[0];
btn_aimd[1] = gui_y[0] + st_radius/4;
btn_aimd[2] = gui_x[0] - st_radius;
btn_aimd[3] = gui_y[0] + st_radius;
btn_aimd[4] = gui_x[0] + st_radius;
btn_aimd[5] = gui_y[0] + st_radius;
// Right Button
btn_aimr[0] = gui_x[0] + st_radius/4;
btn_aimr[1] = gui_y[0];
btn_aimr[2] = gui_x[0] + st_radius;
btn_aimr[3] = gui_y[0] + st_radius;
btn_aimr[4] = gui_x[0] + st_radius;
btn_aimr[5] = gui_y[0] - st_radius;
// Left Button
btn_aiml[0] = gui_x[0] - st_radius/4;
btn_aiml[1] = gui_y[0];
btn_aiml[2] = gui_x[0] - st_radius;
btn_aiml[3] = gui_y[0] + st_radius;
btn_aiml[4] = gui_x[0] - st_radius;
btn_aiml[5] = gui_y[0] - st_radius;
// Up Arrow
btn_uparrow[0] = gui_x[0];
btn_uparrow[1] = gui_y[0] - st_radius/1.25;
btn_uparrow[2] = gui_x[0] + st_radius/4;
btn_uparrow[3] = gui_y[0] - st_radius/2;
btn_uparrow[4] = gui_x[0] - st_radius/4;
btn_uparrow[5] = gui_y[0] - st_radius/2;
// Down Arrow
btn_downarrow[0] = gui_x[0];
btn_downarrow[1] = gui_y[0] + st_radius/1.25;
btn_downarrow[2] = gui_x[0] + st_radius/4;
btn_downarrow[3] = gui_y[0] + st_radius/2;
btn_downarrow[4] = gui_x[0] - st_radius/4;
btn_downarrow[5] = gui_y[0] + st_radius/2;
// Left Arrow
btn_leftarrow[0] = gui_x[0] - st_radius/1.25;
btn_leftarrow[1] = gui_y[0];
btn_leftarrow[2] = gui_x[0] - st_radius/2;
btn_leftarrow[3] = gui_y[0] - st_radius/4;
btn_leftarrow[4] = gui_x[0] - st_radius/2;
btn_leftarrow[5] = gui_y[0] + st_radius/4;
// Right Arrow
btn_rightarrow[0] = gui_x[0] + st_radius/1.25;
btn_rightarrow[1] = gui_y[0];
btn_rightarrow[2] = gui_x[0] + st_radius/2;
btn_rightarrow[3] = gui_y[0] - st_radius/4;
btn_rightarrow[4] = gui_x[0] + st_radius/2;
btn_rightarrow[5] = gui_y[0] + st_radius/4;
texture_set_interpolation(true);
var surf = -1,
spr;
if (!surface_exists(surf)) surf = surface_create(300*buttonScale, 300*buttonScale);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonX, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonX, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonS, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonS, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonC, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonC, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonT, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonT, spr);
sprite_delete(spr);
surface_free(surf);
if (!surface_exists(surf)) surf = surface_create(85*pauseScale, 85*pauseScale);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonPause, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, pauseScale, pauseScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonPause, spr);
sprite_delete(spr);
surface_free(surf);
texture_set_interpolation(false);
</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>/// Reset options.
/*global.opmslstyle = mis;
global.opaimstyle = aim;
global.opspdstyle = spd;
io_clear();
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="2" 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>/// Fade on-screen controls.
if (alpha &gt; 0) alpha -= 0.01;
alarm[0] = 1;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="3" 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>/// Touch input.
if(global.joydetected == 1 &amp;&amp; global.ingame) exit;
// Touch UI visibility
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
alpha = 0.5;
alarm[0] = 390;
}
}
var tx, ty;
joyx = 0;
joyy = 0;
stick_x[0] = gui_x[0];
stick_y[0] = gui_y[0];
if (os_is_paused()) mouse_clear(mb_any);
// Joystick
if (st_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_distance(tx, ty, gui_x[0], gui_y[0]) &lt; st_radius) {
if (st_pressed[1] != i) {
st_pressed[0] = i;
break;
}
}
}
}
}
if (device_mouse_check_button(st_pressed[0], 1)) {
mx = scr_mouse_gui_x(device_mouse_raw_x(st_pressed[0]));
my = scr_mouse_gui_y(device_mouse_raw_y(st_pressed[0]));
vdist = min(st_radius, point_distance(mx, my, gui_x[0], gui_y[0]));
rdist = vdist / st_radius;
vdir = point_direction(gui_x[0], gui_y[0], mx, my);
stick_x[0] = gui_x[0] + lengthdir_x(vdist, vdir);
stick_y[0] = gui_y[0] + lengthdir_y(vdist, vdir);
joyx = lengthdir_x(rdist, vdir);
joyy = lengthdir_y(rdist, vdir);
} else st_pressed[0] = -1;
// Jump
if (jump_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, btn_jump[0], btn_jump[1], btn_jump[2], btn_jump[3])) {
if (jump_pressed[1] != i) {
jump_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(jump_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(jump_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(jump_pressed[0]));
if (!point_in_rectangle(tx, ty, btn_jump[0], btn_jump[1], btn_jump[2], btn_jump[3])) {
jump_pressed[0] = -1;
}
} else jump_pressed[0] = -1;
}
// Fire
if (fire_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, btn_fire[0], btn_fire[1], btn_fire[2], btn_fire[3])) {
if (fire_pressed[1] != i) {
fire_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(fire_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(fire_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(fire_pressed[0]));
if (!point_in_rectangle(tx, ty, btn_fire[0], btn_fire[1], btn_fire[2], btn_fire[3])) {
fire_pressed[0] = -1;
}
} else fire_pressed[0] = -1;
}
// Missile
if (missile_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, btn_missile[0], btn_missile[1], btn_missile[2], btn_missile[3])) {
if (missile_pressed[1] != i) {
missile_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(missile_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(missile_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(missile_pressed[0]));
if (!point_in_rectangle(tx, ty, btn_missile[0], btn_missile[1], btn_missile[2], btn_missile[3])) {
missile_pressed[0] = -1;
}
} else missile_pressed[0] = -1;
}
// Morph
if (morph_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, btn_morph[0], btn_morph[1], btn_morph[2], btn_morph[3])) {
if (morph_pressed[1] != i) {
morph_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(morph_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(morph_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(morph_pressed[0]));
if (!point_in_rectangle(tx, ty, btn_morph[0], btn_morph[1], btn_morph[2], btn_morph[3])) {
morph_pressed[0] = -1;
}
} else morph_pressed[0] = -1;
}
// Pause
if (pause_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, btn_pause[0], btn_pause[1], btn_pause[2], btn_pause[3])) {
if (pause_pressed[1] != i) {
pause_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(pause_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(pause_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(pause_pressed[0]));
if (!point_in_rectangle(tx, ty, btn_pause[0], btn_pause[1], btn_pause[2], btn_pause[3])) {
pause_pressed[0] = -1;
}
} else pause_pressed[0] = -1;
}
// Aim up left
if (aimupleft_pressed[0] == -1 &amp;&amp; aimdownleft_pressed[0] == -1 &amp;&amp; aimupright_pressed[0] == -1 &amp;&amp; aimdownright_pressed[0] == -1 &amp;&amp; st_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimul[0], btn_aimul[1], btn_aimul[2], btn_aimul[3], btn_aimul[4], btn_aimul[5])) {
if (aimupleft_pressed[1] != i) {
aimupleft_pressed[0] = i;
break;
}
}
}
}
}
if (!device_mouse_check_button(aimupleft_pressed[0], 1) || st_pressed[0] != -1) aimupleft_pressed[0] = -1;
// Aim down left
if (aimupleft_pressed[0] == -1 &amp;&amp; aimdownleft_pressed[0] == -1 &amp;&amp; aimupright_pressed[0] == -1 &amp;&amp; aimdownright_pressed[0] == -1 &amp;&amp; st_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimdl[0], btn_aimdl[1], btn_aimdl[2], btn_aimdl[3], btn_aimdl[4], btn_aimdl[5])) {
if (aimdownleft_pressed[1] != i) {
aimdownleft_pressed[0] = i;
break;
}
}
}
}
}
if (!device_mouse_check_button(aimdownleft_pressed[0], 1) || st_pressed[0] != -1) aimdownleft_pressed[0] = -1;
// Aim up right
if (aimupleft_pressed[0] == -1 &amp;&amp; aimdownleft_pressed[0] == -1 &amp;&amp; aimupright_pressed[0] == -1 &amp;&amp; aimdownright_pressed[0] == -1 &amp;&amp; st_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimur[0], btn_aimur[1], btn_aimur[2], btn_aimur[3], btn_aimur[4], btn_aimur[5])) {
if (aimupright_pressed[1] != i) {
aimupright_pressed[0] = i;
break;
}
}
}
}
}
if (!device_mouse_check_button(aimupright_pressed[0], 1) || st_pressed[0] != -1) aimupright_pressed[0] = -1;
// Aim down right
if (aimupleft_pressed[0] == -1 &amp;&amp; aimdownleft_pressed[0] == -1 &amp;&amp; aimupright_pressed[0] == -1 &amp;&amp; aimdownright_pressed[0] == -1 &amp;&amp; st_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimdr[0], btn_aimdr[1], btn_aimdr[2], btn_aimdr[3], btn_aimdr[4], btn_aimdr[5])) {
if (aimdownright_pressed[1] != i) {
aimdownright_pressed[0] = i;
break;
}
}
}
}
}
if (!device_mouse_check_button(aimdownright_pressed[0], 1) || st_pressed[0] != -1) aimdownright_pressed[0] = -1;
// Aim up
if (up_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimu[0], btn_aimu[1], btn_aimu[2], btn_aimu[3], btn_aimu[4], btn_aimu[5])) {
if (up_pressed[1] != i) {
up_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(up_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(up_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(up_pressed[0]));
if (!point_in_triangle(tx, ty, btn_aimu[0], btn_aimu[1], btn_aimu[2], btn_aimu[3], btn_aimu[4], btn_aimu[5])) {
up_pressed[0] = -1;
}
} else up_pressed[0] = -1;
}
// Aim down
if (down_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimd[0], btn_aimd[1], btn_aimd[2], btn_aimd[3], btn_aimd[4], btn_aimd[5])) {
if (down_pressed[1] != i) {
down_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(down_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(down_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(down_pressed[0]));
if (!point_in_triangle(tx, ty, btn_aimd[0], btn_aimd[1], btn_aimd[2], btn_aimd[3], btn_aimd[4], btn_aimd[5])) {
down_pressed[0] = -1;
}
} else down_pressed[0] = -1;
}
if(!global.ingame) {
// Menu right
if (right_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aimr[0], btn_aimr[1], btn_aimr[2], btn_aimr[3], btn_aimr[4], btn_aimr[5])) {
if (right_pressed[1] != i) {
right_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(right_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(right_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(right_pressed[0]));
if (!point_in_triangle(tx, ty, btn_aimr[0], btn_aimr[1], btn_aimr[2], btn_aimr[3], btn_aimr[4], btn_aimr[5])) {
right_pressed[0] = -1;
}
} else right_pressed[0] = -1;
}
// Menu left
if (left_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_triangle(tx, ty, btn_aiml[0], btn_aiml[1], btn_aiml[2], btn_aiml[3], btn_aiml[4], btn_aiml[5])) {
if (left_pressed[1] != i) {
left_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(left_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(left_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(left_pressed[0]));
if (!point_in_triangle(tx, ty, btn_aiml[0], btn_aiml[1], btn_aiml[2], btn_aiml[3], btn_aiml[4], btn_aiml[5])) {
left_pressed[0] = -1;
}
} else left_pressed[0] = -1;
}
}
else {
right_pressed[0] = -1;
right_pressed[1] = -1;
left_pressed[0] = -1;
left_pressed[1] = -1;
}
if (global.gamestarted == 0 || room == gameintroroom || room == rm_credits) {
// Touch to Start
if (pause_pressed[0] == -1) {
for (i = 0; i &lt; 5; i += 1) {
if (device_mouse_check_button(i, 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(i));
ty = scr_mouse_gui_y(device_mouse_raw_y(i));
if (point_in_rectangle(tx, ty, 0, 0, display_get_width(), display_get_height())) {
if (pause_pressed[1] != i) {
pause_pressed[0] = i;
break;
}
}
}
}
}
else {
if (device_mouse_check_button(pause_pressed[0], 1)) {
tx = scr_mouse_gui_x(device_mouse_raw_x(pause_pressed[0]));
ty = scr_mouse_gui_y(device_mouse_raw_y(pause_pressed[0]));
if (!point_in_rectangle(tx, ty, 0, 0, display_get_width(), display_get_width())) {
pause_pressed[0] = -1;
}
} else pause_pressed[0] = -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>/// Prep
/*
if (surface_exists(surf)) {
surface_free(surf)
}
</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>/// Initialize.
scale = oControl.touch_scale;
device_mouse_dbclick_enable(false);
device_screen_size = sqrt(power(display_get_width() / display_get_dpi_x(), 2) + power(display_get_height() / display_get_dpi_y(), 2));
draw = 1;
//alpha = 0;
st_radius = display_get_height() / oControl.touch_scale; // default 4, smaller is bigger
st_offset = st_radius + 25;
gui_x[0] = st_offset;
gui_y[0] = display_get_height() - st_offset;
gui_x[1] = display_get_width() - st_offset;
gui_y[1] = display_get_height() - st_offset;
stick_x[0] = gui_x[0];
stick_y[0] = gui_y[0];
stick_x[1] = gui_x[1];
stick_y[1] = gui_y[1];
/*
st_pressed[0] = -1;
st_pressed[1] = -1;
jump_pressed[0] = -1;
jump_pressed[1] = -1;
fire_pressed[0] = -1;
fire_pressed[1] = -1;
aimupleft_pressed[0] = -1;
aimupleft_pressed[1] = -1;
aimdownleft_pressed[0] = -1;
aimdownleft_pressed[1] = -1;
aimupright_pressed[0] = -1;
aimupright_pressed[1] = -1;
aimdownright_pressed[0] = -1;
aimdownright_pressed[1] = -1;
missile_pressed[0] = -1;
missile_pressed[1] = -1;
morph_pressed[0] = -1;
morph_pressed[1] = -1;
pause_pressed[0] = -1;
pause_pressed[1] = -1;
up_pressed[0] = -1;
up_pressed[1] = -1;
down_pressed[0] = -1;
down_pressed[1] = -1;
right_pressed[0] = -1;
right_pressed[1] = -1;
left_pressed[0] = -1;
left_pressed[1] = -1;
vdir = 0;
vdist = 0;
rdist = 0;
mx = 0;
my = 0;
joyx = 0;
joyy = 0;
</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>/// Button calulations.
gui_x[0] = st_offset;
gui_y[0] = display_get_gui_height() - st_offset;
gui_x[1] = display_get_gui_width() - st_offset;
gui_y[1] = display_get_gui_height() - st_offset;
btn_width = display_get_height() / oControl.touch_scale; // default 4, smaller is bigger
btn_height = display_get_height() / oControl.touch_scale;
btn_y = display_get_gui_height() - btn_height - 25;
btn_x = display_get_gui_width() - 25;
btn_jump_x = btn_x - btn_width * 2;
btn_fire_x = btn_x - btn_width;
btn_missile_x = btn_jump_x;
btn_missile_y = btn_y - btn_height;
btn_morph_x = btn_fire_x;
btn_morph_y = btn_y - btn_height;
btn_pause_x = mean(gui_x[0] + st_radius, btn_jump_x);
btn_pause_y = gui_y[1] + st_radius;
buttonScale = ((150*btn_width)/300)/150; // ((150*btn_width)/300)/150
pauseScale = ((50*btn_height/3)/85)/50;
btn_jump[0] = btn_jump_x;
btn_jump[1] = btn_y+10;
btn_jump[2] = btn_jump_x + btn_width-10;
btn_jump[3] = btn_y + btn_height;
btn_fire[0] = btn_fire_x+10;
btn_fire[1] = btn_y + 10;
btn_fire[2] = btn_fire_x + btn_width;
btn_fire[3] = btn_y + btn_height;
btn_missile[0] = btn_missile_x;
btn_missile[1] = btn_missile_y;
btn_missile[2] = btn_missile_x + btn_width - 10;
btn_missile[3] = btn_missile_y + btn_height - 10;
btn_morph[0] = btn_morph_x + 10;
btn_morph[1] = btn_morph_y;
btn_morph[2] = btn_morph_x + btn_width;
btn_morph[3] = btn_morph_y + btn_height - 10;
btn_pause[0] = btn_pause_x - btn_width/4;
btn_pause[1] = btn_pause_y - btn_height/3;
btn_pause[2] = btn_pause_x + btn_width/4;
btn_pause[3] = btn_pause_y;
btn_pausearrow_y = btn_pause_y - btn_height/3/2;
// Up Left
btn_aimul[0] = gui_x[0] - st_radius;
btn_aimul[1] = gui_y[0] - st_radius;
btn_aimul[2] = (gui_x[0] - st_radius) + st_radius/2;
btn_aimul[3] = (gui_y[0] - st_radius);
btn_aimul[4] = (gui_x[0] - st_radius);
btn_aimul[5] = (gui_y[0] - st_radius) + st_radius/2;
// Down Left
btn_aimdl[0] = gui_x[0] - st_radius;
btn_aimdl[1] = gui_y[0] + st_radius;
btn_aimdl[2] = (gui_x[0] - st_radius) + st_radius/2;
btn_aimdl[3] = (gui_y[0] + st_radius);
btn_aimdl[4] = (gui_x[0] - st_radius);
btn_aimdl[5] = (gui_y[0] + st_radius) - st_radius/2;
// Up Right
btn_aimur[0] = gui_x[0] + st_radius;
btn_aimur[1] = gui_y[0] - st_radius;
btn_aimur[2] = (gui_x[0] + st_radius) - st_radius/2;
btn_aimur[3] = (gui_y[0] - st_radius);
btn_aimur[4] = (gui_x[0] + st_radius);
btn_aimur[5] = (gui_y[0] - st_radius) + st_radius/2;
// Down Right
btn_aimdr[0] = gui_x[0] + st_radius;
btn_aimdr[1] = gui_y[0] + st_radius;
btn_aimdr[2] = (gui_x[0] + st_radius) - st_radius/2;
btn_aimdr[3] = (gui_y[0] + st_radius);
btn_aimdr[4] = (gui_x[0] + st_radius);
btn_aimdr[5] = (gui_y[0] + st_radius) - st_radius/2;
// Up Button
btn_aimu[0] = gui_x[0];
btn_aimu[1] = gui_y[0] - st_radius/4;
btn_aimu[2] = gui_x[0] - st_radius;
btn_aimu[3] = gui_y[0] - st_radius;
btn_aimu[4] = gui_x[0] + st_radius;
btn_aimu[5] = gui_y[0] - st_radius;
// Down Button
btn_aimd[0] = gui_x[0];
btn_aimd[1] = gui_y[0] + st_radius/4;
btn_aimd[2] = gui_x[0] - st_radius;
btn_aimd[3] = gui_y[0] + st_radius;
btn_aimd[4] = gui_x[0] + st_radius;
btn_aimd[5] = gui_y[0] + st_radius;
// Right Button
btn_aimr[0] = gui_x[0] + st_radius/4;
btn_aimr[1] = gui_y[0];
btn_aimr[2] = gui_x[0] + st_radius;
btn_aimr[3] = gui_y[0] + st_radius;
btn_aimr[4] = gui_x[0] + st_radius;
btn_aimr[5] = gui_y[0] - st_radius;
// Left Button
btn_aiml[0] = gui_x[0] - st_radius/4;
btn_aiml[1] = gui_y[0];
btn_aiml[2] = gui_x[0] - st_radius;
btn_aiml[3] = gui_y[0] + st_radius;
btn_aiml[4] = gui_x[0] - st_radius;
btn_aiml[5] = gui_y[0] - st_radius;
// Up Arrow
btn_uparrow[0] = gui_x[0];
btn_uparrow[1] = gui_y[0] - st_radius/1.25;
btn_uparrow[2] = gui_x[0] + st_radius/4;
btn_uparrow[3] = gui_y[0] - st_radius/2;
btn_uparrow[4] = gui_x[0] - st_radius/4;
btn_uparrow[5] = gui_y[0] - st_radius/2;
// Down Arrow
btn_downarrow[0] = gui_x[0];
btn_downarrow[1] = gui_y[0] + st_radius/1.25;
btn_downarrow[2] = gui_x[0] + st_radius/4;
btn_downarrow[3] = gui_y[0] + st_radius/2;
btn_downarrow[4] = gui_x[0] - st_radius/4;
btn_downarrow[5] = gui_y[0] + st_radius/2;
// Left Arrow
btn_leftarrow[0] = gui_x[0] - st_radius/1.25;
btn_leftarrow[1] = gui_y[0];
btn_leftarrow[2] = gui_x[0] - st_radius/2;
btn_leftarrow[3] = gui_y[0] - st_radius/4;
btn_leftarrow[4] = gui_x[0] - st_radius/2;
btn_leftarrow[5] = gui_y[0] + st_radius/4;
// Right Arrow
btn_rightarrow[0] = gui_x[0] + st_radius/1.25;
btn_rightarrow[1] = gui_y[0];
btn_rightarrow[2] = gui_x[0] + st_radius/2;
btn_rightarrow[3] = gui_y[0] - st_radius/4;
btn_rightarrow[4] = gui_x[0] + st_radius/2;
btn_rightarrow[5] = gui_y[0] + st_radius/4;
/*
texture_set_interpolation(true);
var surf = -1,
spr;
if (!surface_exists(surf)) surf = surface_create(300*buttonScale, 300*buttonScale);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonX, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonX, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonS, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonS, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonC, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonC, spr);
sprite_delete(spr);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonT, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, buttonScale, buttonScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonT, spr);
sprite_delete(spr);
surface_free(surf);
if (!surface_exists(surf)) surf = surface_create(85*pauseScale, 85*pauseScale);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite_ext(sTouchButtonPause, 0, surface_get_width(surf)/2, surface_get_height(surf)/2, pauseScale, pauseScale, 0, c_white, 1);
surface_reset_target();
spr = sprite_create_from_surface(surf, 0, 0, surface_get_width(surf), surface_get_height(surf), 0, 0, surface_get_width(surf)/2, surface_get_height(surf)/2);
sprite_assign(sTouchButtonPause, spr);
sprite_delete(spr);
surface_free(surf);
texture_set_interpolation(false);
*/
/// Extra
alpha = 0.5;
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="8" enumb="77">
<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 on-screen controls.
if((global.joydetected == 1 &amp;&amp; global.ingame) || global.gamestarted == 0 || room == rm_credits || room == rm_score || room == rm_death || room == gameintroroom) exit;
if (draw == 1 &amp;&amp; alpha!=0) {
draw_set_color(c_white);
draw_set_alpha(alpha);
draw_set_circle_precision(48);
if(global.ingame || room == rm_subscreen || room == rm_secretEnding) {
draw_sprite_ext(sTouchButtonPause, 0, btn_pause_x, btn_pausearrow_y, 4/scale, 4/scale, 0, c_white, alpha/3);
draw_roundrect_ext(btn_pause[0], btn_pause[1], btn_pause[2], btn_pause[3], 30, 30, 1);
}
if (room != rm_secretEnding) {
// Jump
draw_roundrect(btn_jump[0], btn_jump[1], btn_jump[2], btn_jump[3], true);
// Fire
draw_roundrect(btn_fire[0], btn_fire[1], btn_fire[2], btn_fire[3], true);
draw_sprite_ext(sTouchButtonX, 0, mean(btn_fire[0], btn_fire[2]), mean(btn_fire[1], btn_fire[3]), 4/scale, 4/scale, 0, c_white, alpha/3);
draw_sprite_ext(sTouchButtonS, 0, mean(btn_jump[0], btn_jump[2]), mean(btn_jump[1], btn_jump[3]), 4/scale, 4/scale, 0, c_white, alpha/3);
draw_circle(gui_x[0], gui_y[0], st_radius, 1);
if (instance_exists(oSS_Fg) &amp;&amp; global.ssmode == 0 &amp;&amp; oSS_Fg.hidetext == 0 &amp;&amp; oSS_Fg.itemcollunlock) {
draw_roundrect(btn_missile[0], btn_missile[1], btn_missile[2], btn_missile[3], true);
draw_sprite_ext(sTouchButtonT, 0, mean(btn_missile[0], btn_missile[2]), mean(btn_missile[1], btn_missile[3]), 1, 1, 0, c_white, alpha/3);
}
if ((global.ingame || room == itemroom) &amp;&amp; !global.joydetected) {
// Up Left
draw_triangle(btn_aimul[0], btn_aimul[1], btn_aimul[2], btn_aimul[3], btn_aimul[4], btn_aimul[5], 1);
// Down Left
if (global.opaimstyle) draw_triangle(btn_aimdl[0], btn_aimdl[1], btn_aimdl[2], btn_aimdl[3], btn_aimdl[4], btn_aimdl[5], 1);
// Up Right
draw_triangle(btn_aimur[0], btn_aimur[1], btn_aimur[2], btn_aimur[3], btn_aimur[4], btn_aimur[5], 1);
// Down Right
if (global.opaimstyle) draw_triangle(btn_aimdr[0], btn_aimdr[1], btn_aimdr[2], btn_aimdr[3], btn_aimdr[4], btn_aimdr[5], 1);
// Missile
draw_roundrect(btn_missile[0], btn_missile[1], btn_missile[2], btn_missile[3], true);
//Morph
draw_roundrect(btn_morph[0], btn_morph[1], btn_morph[2], btn_morph[3], true);
draw_sprite_ext(sTouchButtonT, 0, mean(btn_missile[0], btn_missile[2]), mean(btn_missile[1], btn_missile[3]), 4/scale, 4/scale, 0, c_white, alpha/3);
draw_sprite_ext(sTouchButtonC, 0, mean(btn_morph[0], btn_morph[2]), mean(btn_morph[1], btn_morph[3]), 4/scale, 4/scale, 0, c_white, alpha/3);
draw_set_alpha(alpha/3);
draw_circle(stick_x[0], stick_y[0], 50, 0);
}
else {
draw_set_alpha(alpha/3);
// Up
draw_triangle(btn_uparrow[0], btn_uparrow[1], btn_uparrow[2], btn_uparrow[3], btn_uparrow[4], btn_uparrow[5], 0);
// Down
draw_triangle(btn_downarrow[0], btn_downarrow[1], btn_downarrow[2], btn_downarrow[3], btn_downarrow[4], btn_downarrow[5], 0);
// Left
draw_triangle(btn_leftarrow[0], btn_leftarrow[1], btn_leftarrow[2], btn_leftarrow[3], btn_leftarrow[4], btn_leftarrow[5], 0);
// Right
draw_triangle(btn_rightarrow[0], btn_rightarrow[1], btn_rightarrow[2], btn_rightarrow[3], btn_rightarrow[4], btn_rightarrow[5], 0);
}
}
draw_set_alpha(1);
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="9" enumb="8">
<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>/*oControl.showfps = !oControl.showfps;
show_debug_overlay(oControl.showfps);
/*if (global.ingame) {
global.targetx = 48;
global.targety = 1392;
get_loadout(10);
global.lavastate = 6;
room_goto(rm_a0h11);
}
</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>