<undefined> 0 -1 -100 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 global.trialsurface = 0; /* i don't know how to work surfaces so i gave up enjoy this global var :cry: */ instance_create(160,120,oEditorCamera); instance_create(0,0,oEditorHelp); cursor_active = 1; placed_objs = 0; objs_hidden = 1; trial_tab_bottom = instance_create(160,225,oEditorTab); solid_place = 0; // 0 - normal solid // 1 - right slope // 2 - left slope // 3 - slipthrough solid // 4 - breakable solid (beam) // 5 - breakable solid (bomb) // 6 - breakable solid (missile) // 7 - breakable solid (soup) // 8 - breakable solid (powbomb) // 9 - breakable solid (screw) // 10 - breakable solid (speed) // 11 - samus spawn // 12 - exit solid // 13 - spikes // 14 - spiderball // 15 - jumpball // 16 - hijump // 17 - spacejump // 18 - bomb // 19 - 5 missiles // 20 - 2 soups // 21 - 2 powas // 22 - screwattack // 23 - speedbooster relay_button = -1; stage_name = "Untitled Level"; stage_auth = "Anonymous"; stage_id = generate_id(); lockout = 0; // mouse garbage idk 1 603 7 0 0 -1 2 self 0 0 1 // this is some temporary code to test clicking on specific areas if (cursor_active){ if (mouse_check_button(mb_left)){ if (!lockout){ // can't place if lockout exists var xx = floor(mouse_x/16)*16; var yy = floor(mouse_y/16)*16; if (xx < 0 || xx > room_width-1) then exit; // anti-widescreen lockout if (yy < 0 || yy > room_height-1) then exit; // another lockout for vertical stuff var no_multi = 0; if (solid_place == 11 || solid_place == 14 || solid_place == 15 || solid_place == 16 || solid_place == 17 || solid_place == 18 || solid_place == 22 || solid_place == 23 || solid_place == 34 || solid_place == 35 || solid_place == 37 || solid_place == 38 || solid_place == 39 || solid_place == 40 || solid_place == 41){ no_multi = 1; } with (oEditorSolid){ // a check to deny further placement of solids on top of each other OR if attempting to place multiple spawns if ((x == xx && y == yy) || (no_multi && solid_style == other.solid_place)){ instance_destroy(); // if check confirms, turn the old one into dust // this probably isn't efficient but i do not care } } with (instance_create(xx,yy,oEditorSolid)){ solid_style = other.solid_place; } placed_objs = get_obj_count(); } }else{ lockout = 0; } if (mouse_check_button(mb_right)){ with (oEditorSolid){ if (position_meeting(mouse_x,mouse_y,self)){ instance_destroy(); } } placed_objs = get_obj_count(); } } with (trial_tab_bottom){ if (position_meeting(mouse_x,mouse_y,self) && (!instance_exists(oEditorInfo)) && (!instance_exists(oEditorHelp))){ offset = 58; other.cursor_active = 0; }else{ offset = 0; other.cursor_active = 1; } smoothset += (offset-smoothset)/5; } if (instance_exists(oEditorInfo)) then cursor_active = -1; if (relay_button > -1){ switch (relay_button){ case 0: instance_create(0+view_xview[0],0+view_yview[0],oEditorInfo); break; case 1: // save level (there's a script for that) editor_save(); break; case 2: // load level (there's a script for that) editor_load(); break; case 3: // go away room_change(trialselectroom,0); break; case 4: // player spawn editor_message("Selected Player Spawn"); solid_place = 11; break; case 5: // normal solid editor_message("Selected Solid"); solid_place = 0; break; case 6: // normal going upright editor_message("Selected Right Slope"); solid_place = 1; break; case 7: // slope going upleft editor_message("Selected Left Slope"); solid_place = 2; break; case 8: // crumble solid editor_message("Selected Crumble Solid"); solid_place = 3; break; case 9: // beam block editor_message("Selected Breakable Block"); solid_place = 4; break; case 10: // bomb block editor_message("Selected Bomb Block"); solid_place = 5; break; case 11: // mibble block editor_message("Selected Missile Block"); solid_place = 6; break; case 12: // soup block editor_message("Selected Super Missile Block"); solid_place = 7; break; case 13: // powa block editor_message("Selected Power Bomb Block"); solid_place = 8; break; case 14: // screw block editor_message("Selected Screw Attack Block"); solid_place = 9; break; case 15: // speed block editor_message("Selected Speed Booster Block"); solid_place = 10; break; case 16: // exit area editor_message("Selected Exit Zone"); solid_place = 12; break; case 17: // spikes/hazards editor_message("Selected Hazard"); solid_place = 13; break; case 18: // spiderball editor_message("Selected Spider Ball"); solid_place = 14; break; case 19: // jumpball editor_message("Selected Spring Ball"); solid_place = 15; break; case 20: // hijump editor_message("Selected Hi-jump"); solid_place = 16; break; case 21: // spacejump editor_message("Selected Space Jump"); solid_place = 17; break; case 22: // bomb editor_message("Selected Bombs"); solid_place = 18; break; case 23: // mibble editor_message("Selected five Missiles"); solid_place = 19; break; case 24: // soup mibble editor_message("Selected two Super Missiles"); solid_place = 20; break; case 25: // powa bomb editor_message("Selected one Power Bomb"); solid_place = 21; break; case 26: // screwattack editor_message("Selected Screw Attack"); solid_place = 22; break; case 27: // speedbooster editor_message("Selected Speed Booster"); solid_place = 23; break; case 28: with (trial_tab_bottom){ if (tab_data){ tab_data = 0; }else{ tab_data = 1; } event_user(0); } break; case 29: // heal tile editor_message("Selected Regen Field"); solid_place = 24; break; case 33: // static stepblock editor_message("Selected Crumble Solid [S]"); solid_place = 25; break; case 34: // static shoottile editor_message("Selected Breakable Block [S]"); solid_place = 26; break; case 35: // static shoottile editor_message("Selected Bomb Block [S]"); solid_place = 27; break; case 36: // static shoottile editor_message("Selected Missile Block [S]"); solid_place = 28; break; case 37: // static shoottile editor_message("Selected Super Missile Block [S]"); solid_place = 29; break; case 38: // static shoottile editor_message("Selected Power Bomb Block [S]"); solid_place = 30; break; case 39: // static shoottile editor_message("Selected Screw Attack Block [S]"); solid_place = 31; break; case 40: // static shoottile editor_message("Selected Speedbooster Block [S]"); solid_place = 32; break; case 41: // ammo tile editor_message("Selected Ammo Field"); solid_place = 33; break; case 45: editor_message("Selected Morph Ball"); solid_place = 34; break; case 46: editor_message("Selected Power Grip"); solid_place = 35; break; case 47: editor_message("Selected Energy Tank"); solid_place = 36; break; case 50: editor_message("Selected Charge Beam"); solid_place = 37; break; case 51: editor_message("Selected Wave Beam"); solid_place = 38; break; case 52: editor_message("Selected Spazer Beam"); solid_place = 39; break; case 53: editor_message("Selected Water Line"); solid_place = 40; break; case 54: editor_message("Selected Gravity Suit"); solid_place = 41; break; default: // not much to say so fun fact! smart tab is terrible editor_message("Relayed message "+string(relay_button)+"."); break; } relay_button = -1; } 1 603 7 0 0 -1 2 self 0 0 1 // the cursor draw_set_alpha(1); draw_sprite(sEditorCursor,0,mouse_x,mouse_y); 1 603 7 0 0 -1 2 self 0 0 1 var cx = view_xview[0]; var cy = view_yview[0]; with (trial_tab_bottom){ x = 160+cx; y = (225-smoothset)+cy; } 1 603 7 0 0 -1 2 self 0 0 1 // surfaces are lame. you know what isn't lame? var cx = view_xview[0]; var cy = view_yview[0]; // spaghetti code from gms2 :) /* debug code, no longer necessary draw_set_font(fontGUI2Default); draw_set_color(c_white); draw_set_halign(fa_center); draw_text_border(120+cx,220+cy,"X: "+string(mouse_x)); draw_text_border(160+cx,220+cy,"Y: "+string(mouse_y)); draw_text_border(200+cx,220+cy,"CA: "+string(cursor_active)); */ // a forecast of the current object to be placed if (cursor_active){ var snap = 16; var xx = floor(mouse_x/snap)*snap; var yy = floor(mouse_y/snap)*snap; switch (solid_place){ default: draw_sprite_ext(sSolid,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 1: draw_sprite_ext(sSlope1,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 2: draw_sprite_ext(sSlope2,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 11: draw_sprite_ext(sEditorStart,0,xx+8,yy+16,1,1,0,c_black,0.3); break; } } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 0