commit 775de4184f828a27f393640710a67fa25feddfb2 Author: Blitz <93739827+blitzdotcs@users.noreply.github.com> Date: Sun Nov 12 11:33:42 2023 -0500 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/README.md b/README.md new file mode 100644 index 0000000..e1dff1d --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# UGP.gmx + A patched version of Universal Game Maker Patcher diff --git a/Thumbs.db b/Thumbs.db new file mode 100644 index 0000000..e8ca42b Binary files /dev/null and b/Thumbs.db differ diff --git a/UGP.exe b/UGP.exe new file mode 100644 index 0000000..bc3501c Binary files /dev/null and b/UGP.exe differ diff --git a/UGP.project.gmx b/UGP.project.gmx new file mode 100644 index 0000000..2ae6d3d --- /dev/null +++ b/UGP.project.gmx @@ -0,0 +1,273 @@ + + + + + libeay32.dll + libeay32.dll + C:\Users\Blitzeroni\Documents\UGP\UGP.gmx\\\datafiles\libeay32.dll + -1 + 1207808 + 2 + + 0 + -1 + 0 + -1 + datafiles\libeay32.dll + + + UGP.dll + UGP.dll + C:\Users\Blitzeroni\Documents\UGP\UGP.gmx\\\datafiles\UGP.dll + -1 + 97280 + 2 + + 0 + -1 + 0 + -1 + datafiles\UGP.dll + + + ModuleDownloader.exe + ModuleDownloader.exe + C:\Users\Blitzeroni\Documents\UGP\UGP.gmx\\\datafiles\ModuleDownloader.exe + -1 + 2147328 + 2 + + 0 + -1 + 0 + -1 + datafiles\ModuleDownloader.exe + + + + 0 + 0 + 0 + -1 + -1 + -1 + 0 + 0 + -1 + 0 + 5 + 0 + 0 + 0 + 1 + 0 + -1 + -1 + 0 + 0 + 0 + 0 + 0 + 567125678 + {0095A4A8-2BCC-46DF-AEA6-258CF5AA6DEB} + 0 + -1 + loadimage.png + + + -1 + 255 + 0 + icon.ico + 0 + -1 + 0 + 0 + -1 + decompiler clan :police_car: :police_car: :police_car: + + 44738.8179982292 + + 1 + 0 + 0 + 0 + + + + + <undefined> + + 0 + 0 + 0 + 0 + UGP + 1 + 0 + 0 + com + companyname + productname + + + + + -1 + -1 + 0 + 0 + 0 + 0 + 0 + -1 + + + + + sound\snd_mus + + + + sprites\spr_cursor + + sprites\spr_star + sprites\spr_universal_gm_patcher + + + sprites\spr_menu + sprites\spr_export_modules + + + + sprites\spr_studio_button + sprites\spr_gm81_button + sprites\spr_html5_button + sprites\spr_gm5_button + + sprites\spr_checkmark + sprites\spr_mute + sprites\spr_back + sprites\spr_go + sprites\spr_textinput + sprites\spr_textinput_small + sprites\spr_lstbox_entry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fonts\fn_text + + + objects\obj_main + + + objects\obj_checkmark_old + objects\obj_checkmark_modules + objects\obj_checkmark_updater + objects\obj_checkmark_libeay32 + objects\obj_checkmark_base + + + + objects\obj_go_studio + objects\obj_go_gmhtml5 + objects\obj_go_gm81 + + + objects\obj_gm81_button + objects\obj_gm5_button + objects\obj_html5_button + objects\obj_studio_button + + objects\obj_back + objects\obj_mute + objects\obj_lstbox_entry_module + + + objects\obj_textinput_answer + objects\obj_textinput_name + objects\obj_textinput_key + objects\obj_textinput_module + objects\obj_textinput_type + objects\obj_textinput_email + + objects\obj_textinput_name_keygen + objects\obj_textinput_version_keygen + objects\obj_textinput_key_keygen + + + + objects\obj_star + objects\obj_universal_patcher + + + objects\obj_draw_exports + objects\obj_status_draw + objects\obj_draw + objects\obj_cursor + + + + + rooms\rm_product_select + rooms\rm_crack_gm8 + rooms\rm_crack_studio + rooms\rm_keygen_gm5 + rooms\rm_close + rooms\rm_result + + + -1 + Game Information + -1 + -1 + 600 + 400 + -1 + -1 + 0 + -1 + help.rtf + + diff --git a/datafiles/ModuleDownloader.exe b/datafiles/ModuleDownloader.exe new file mode 100644 index 0000000..f2bab49 Binary files /dev/null and b/datafiles/ModuleDownloader.exe differ diff --git a/datafiles/UGP.dll b/datafiles/UGP.dll new file mode 100644 index 0000000..3a667f6 Binary files /dev/null and b/datafiles/UGP.dll differ diff --git a/datafiles/libeay32.dll b/datafiles/libeay32.dll new file mode 100644 index 0000000..d0fcde4 Binary files /dev/null and b/datafiles/libeay32.dll differ diff --git a/fonts/fn_text.font.gmx b/fonts/fn_text.font.gmx new file mode 100644 index 0000000..4a8826f --- /dev/null +++ b/fonts/fn_text.font.gmx @@ -0,0 +1,11 @@ + + + Snap ITC + 20 + -1 + 0 + 1 + 3 + 32 + 127 + diff --git a/help.rtf b/help.rtf new file mode 100644 index 0000000..274462b Binary files /dev/null and b/help.rtf differ diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000..6546453 Binary files /dev/null and b/icon.ico differ diff --git a/loadimage.png b/loadimage.png new file mode 100644 index 0000000..78bcbb0 Binary files /dev/null and b/loadimage.png differ diff --git a/objects/obj_back.object.gmx b/objects/obj_back.object.gmx new file mode 100644 index 0000000..b5c5349 --- /dev/null +++ b/objects/obj_back.object.gmx @@ -0,0 +1,116 @@ + + + spr_back + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + obj_draw.back_down = true; +obj_draw.action = "obj_draw.draw_subimage=0;"; +obj_draw.up_action = "create_product_menu();"; +room_goto(rm_product_select); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_base.object.gmx b/objects/obj_checkmark_base.object.gmx new file mode 100644 index 0000000..b94bf9c --- /dev/null +++ b/objects/obj_checkmark_base.object.gmx @@ -0,0 +1,129 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + checked = 1; +image_speed = 0; +image_index = 2; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(checked) + image_index = 2; +else + image_index = 0 + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(checked) + image_index = 3; +else + image_index = 1 + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(checked == 0) + checked = 1; +else + checked = 0; + + +if(checked) + image_index = 3; +else + image_index = 1; + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_libeay32.object.gmx b/objects/obj_checkmark_libeay32.object.gmx new file mode 100644 index 0000000..f07cdc9 --- /dev/null +++ b/objects/obj_checkmark_libeay32.object.gmx @@ -0,0 +1,19 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + obj_checkmark_base + <undefined> + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_modules.object.gmx b/objects/obj_checkmark_modules.object.gmx new file mode 100644 index 0000000..f07cdc9 --- /dev/null +++ b/objects/obj_checkmark_modules.object.gmx @@ -0,0 +1,19 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + obj_checkmark_base + <undefined> + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_mute.object.gmx b/objects/obj_checkmark_mute.object.gmx new file mode 100644 index 0000000..9e8c54c --- /dev/null +++ b/objects/obj_checkmark_mute.object.gmx @@ -0,0 +1,48 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + obj_checkmark_base + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(sound_isplaying(sound_mus)){ + sound_stop(sound_mus); +} +else{ + sound_play(sound_mus); +} + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_old.object.gmx b/objects/obj_checkmark_old.object.gmx new file mode 100644 index 0000000..0df7645 --- /dev/null +++ b/objects/obj_checkmark_old.object.gmx @@ -0,0 +1,45 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + obj_checkmark_base + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + checked = 0; +image_speed = 0; +image_index = 0; + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_checkmark_updater.object.gmx b/objects/obj_checkmark_updater.object.gmx new file mode 100644 index 0000000..f07cdc9 --- /dev/null +++ b/objects/obj_checkmark_updater.object.gmx @@ -0,0 +1,19 @@ + + + spr_checkmark + 0 + -1 + 0 + 0 + obj_checkmark_base + <undefined> + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_cursor.object.gmx b/objects/obj_cursor.object.gmx new file mode 100644 index 0000000..f1ccd4e --- /dev/null +++ b/objects/obj_cursor.object.gmx @@ -0,0 +1,44 @@ + + + <undefined> + 0 + -1 + -100 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_sprite(spr_cursor, 0, mouse_x, mouse_y); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_draw.object.gmx b/objects/obj_draw.object.gmx new file mode 100644 index 0000000..6309237 --- /dev/null +++ b/objects/obj_draw.object.gmx @@ -0,0 +1,181 @@ + + + <undefined> + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + menu_scale = 0.0; +global.created_logo = false; +global.total_frames = 0; + +global.flashing_msg = ""; +draw_flashing_text = false; + +action_done = false; +back_up = true; +back_down = false; +action = "game_end();"; +up_action = "create_product_menu();"; + +alarm[0] = 10; + +draw_subimage = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.flashing_msg = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(draw_flashing_text) + draw_flashing_text = false; +else + draw_flashing_text = true; + + +if(global.flashing_msg != "" && alarm[1] <= 0){ + alarm[1] = room_speed*5; +} + +alarm[0] = 10; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + centerX = room_width/2; +centerY = room_height/2; + +draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(0,0,"Press 'ESC' to exit."); + +if(draw_flashing_text){ + draw_text(centerX - (string_width(global.flashing_msg) / 2), room_height - (string_height(global.flashing_msg)), global.flashing_msg); +} + +draw_sprite_ext(spr_menu,draw_subimage,centerX, centerY, menu_scale, menu_scale,0,c_white,255); + +if(back_up && menu_scale < 1.0) +{ + menu_scale += 0.1; +} +else if(back_down && menu_scale >- 0.0) +{ + menu_scale -= 0.1; +} +else if(back_down && menu_scale <= 0.00) +{ + back_down = false; + back_up = true; + action_done = false; + execute_string(action); +} +else +{ + back_up = false; + + if(global.created_logo == false) + { + instance_create(centerX, -60, obj_universal_patcher); + global.created_logo = true; + } + + if(action_done == false) + { + execute_string(up_action); + action_done = true; + } +} + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_draw_exports.object.gmx b/objects/obj_draw_exports.object.gmx new file mode 100644 index 0000000..9b88a5c --- /dev/null +++ b/objects/obj_draw_exports.object.gmx @@ -0,0 +1,106 @@ + + + <undefined> + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.export_modules = ds_list_create(); + +//HTML5.iOS.android.AmazonFire.Mac.Tizen.Windows.Linux.WindowsPhone.Windows8.yycompiler.ps3.ps4.psvita.xboxone.WindowsUAP.AndroidTV.AppleTV.Javascript.Pro +ds_list_add(global.export_modules, "HTML5"); +ds_list_add(global.export_modules, "iOS"); +ds_list_add(global.export_modules, "android"); +ds_list_add(global.export_modules, "AmazonFire"); +ds_list_add(global.export_modules, "Mac"); +ds_list_add(global.export_modules, "Tizen"); +ds_list_add(global.export_modules, "Windows"); +ds_list_add(global.export_modules, "Linux"); +ds_list_add(global.export_modules, "WindowsPhone"); +ds_list_add(global.export_modules, "Windows8"); +ds_list_add(global.export_modules, "yycompiler"); +ds_list_add(global.export_modules, "ps3"); +ds_list_add(global.export_modules, "ps4"); +ds_list_add(global.export_modules, "psvita"); +ds_list_add(global.export_modules, "xboxone"); +ds_list_add(global.export_modules, "WindowsUAP"); +ds_list_add(global.export_modules, "AndroidTV") +ds_list_add(global.export_modules, "AppleTV"); +ds_list_add(global.export_modules, "Javascript"); +ds_list_add(global.export_modules, "Pro"); + + + + + + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + centerX = room_width/2; +centerY = room_height/2; + +draw_set_font(fn_text); +draw_set_color(c_white); +//draw_text(0,0,string(mouse_x-centerX)+" , "+string(mouse_y-centerY)); + +draw_sprite_ext(spr_export_modules,0,centerX-770, centerY, obj_draw.menu_scale, obj_draw.menu_scale,0,c_white,255); + +if(obj_draw.menu_scale <= 0.00 && obj_draw.back_down == true) +{ + instance_destroy(); +} + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_gm5_button.object.gmx b/objects/obj_gm5_button.object.gmx new file mode 100644 index 0000000..a52688a --- /dev/null +++ b/objects/obj_gm5_button.object.gmx @@ -0,0 +1,116 @@ + + + spr_gm5_button + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + obj_draw.back_down = true; +obj_draw.action = "obj_draw.draw_subimage=6;"; +obj_draw.up_action = "create_gm5_menu();"; +room_goto(rm_keygen_gm5); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_gm81_button.object.gmx b/objects/obj_gm81_button.object.gmx new file mode 100644 index 0000000..8345cd9 --- /dev/null +++ b/objects/obj_gm81_button.object.gmx @@ -0,0 +1,116 @@ + + + spr_gm81_button + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + obj_draw.back_down = true; +obj_draw.action = "obj_draw.draw_subimage=1;"; +obj_draw.up_action = "create_gm81_menu();"; +room_goto(rm_crack_gm8); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_go_gm81.object.gmx b/objects/obj_go_gm81.object.gmx new file mode 100644 index 0000000..6543486 --- /dev/null +++ b/objects/obj_go_gm81.object.gmx @@ -0,0 +1,128 @@ + + + spr_go + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + error_occurred = 0; + +license_gm81(obj_textinput_name.text, obj_textinput_key.text, obj_checkmark_libeay32.checked); + +obj_draw.back_down = true; +if(!error_occurred) +{ + obj_draw.action = "obj_draw.draw_subimage=2;"; + obj_draw.up_action = "create_status('Successfully Cracked GameMaker 8.1!!!');"; +} +else +{ + obj_draw.action = "obj_draw.draw_subimage=3;"; + obj_draw.up_action = "create_status('Failed to Crack GameMaker 8.1...');"; +} +room_goto(rm_result); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_go_gmhtml5.object.gmx b/objects/obj_go_gmhtml5.object.gmx new file mode 100644 index 0000000..d0ddfb0 --- /dev/null +++ b/objects/obj_go_gmhtml5.object.gmx @@ -0,0 +1,128 @@ + + + spr_go + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + error_occurred = 0; + +license_gmhtml5(obj_textinput_name.text, obj_textinput_key.text, obj_checkmark_libeay32.checked); + +obj_draw.back_down = true; +if(!error_occurred) +{ + obj_draw.action = "obj_draw.draw_subimage=2;"; + obj_draw.up_action = "create_status('Successfully Cracked GameMaker HTML5!!!');"; +} +else +{ + obj_draw.action = "obj_draw.draw_subimage=3;"; + obj_draw.up_action = "create_status('Failed to Crack GameMaker HTML5...');"; +} +room_goto(rm_result); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_go_studio.object.gmx b/objects/obj_go_studio.object.gmx new file mode 100644 index 0000000..808d417 --- /dev/null +++ b/objects/obj_go_studio.object.gmx @@ -0,0 +1,128 @@ + + + spr_go + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + error_occurred = 0; +///license_gmhtml5(name, answer, key, email, type, export_modules, do_libeay32, download_exports) + +license_studio(obj_textinput_name.text, string(obj_textinput_answer.text), obj_textinput_key.text, obj_textinput_email.text, obj_textinput_type.text, global.export_modules, obj_checkmark_libeay32.checked, obj_checkmark_modules.checked, obj_checkmark_old.checked) +obj_draw.back_down = true; +if(!error_occurred) +{ + obj_draw.action = "obj_draw.draw_subimage=2;"; + obj_draw.up_action = "create_status('Successfully Cracked GameMaker Studio!!!');"; +} +else +{ + obj_draw.action = "obj_draw.draw_subimage=3;"; + obj_draw.up_action = "create_status('Failed to Crack GameMaker Studio...');"; +} +room_goto(rm_result); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_html5_button.object.gmx b/objects/obj_html5_button.object.gmx new file mode 100644 index 0000000..0172d15 --- /dev/null +++ b/objects/obj_html5_button.object.gmx @@ -0,0 +1,116 @@ + + + spr_html5_button + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + obj_draw.back_down = true; +obj_draw.action = "obj_draw.draw_subimage=4"; +obj_draw.up_action = "create_gmhtml5_menu();"; +room_goto(rm_crack_gm8); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_lstbox_entry_module.object.gmx b/objects/obj_lstbox_entry_module.object.gmx new file mode 100644 index 0000000..066925b --- /dev/null +++ b/objects/obj_lstbox_entry_module.object.gmx @@ -0,0 +1,153 @@ + + + spr_lstbox_entry + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + index = 0; +text = ""; + +image_speed = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(index != -1) +{ + ds_list_delete(global.export_modules, index); + show_modules(global.current_pos); +} +else +{ + global.current_pos += 1; + show_modules(global.current_pos); +} + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self() + +draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(x-string_width(text)/2,y-20,text); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_main.object.gmx b/objects/obj_main.object.gmx new file mode 100644 index 0000000..b640208 --- /dev/null +++ b/objects/obj_main.object.gmx @@ -0,0 +1,161 @@ + + + <undefined> + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// Close the game +if(obj_draw.back_down == false && obj_draw.back_up == false) +{ + room_goto(rm_close); + obj_draw.back_down = true; + obj_draw.action = ""; + if(global.download_exports) + obj_draw.action += "start_cracked_updater();"; + obj_draw.action += "game_end();"; +} + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + external_free("UGP.dll"); + +file_delete("UGP.dll"); +file_delete("libeay32.dll"); +file_delete("ModuleDownloader.exe"); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + //UGP.DLL imports +global.getMachineGuid = external_define("UGP.dll","GetMachineGuid",dll_cdecl,ty_string,0); +global.MD5 = external_define("UGP.dll","MD5",dll_cdecl,ty_string,1,ty_string); +global.setBinKey = external_define("UGP.dll","SetBinKey",dll_cdecl,ty_real,3,ty_string, ty_string, ty_string); +global.generateGM6Key = external_define("UGP.dll","GenerateGM6Key",dll_cdecl,ty_string,1,ty_string); + + +global.getAppDataFolder = external_define("UGP.dll","GetAppDataFolder",dll_cdecl,ty_string,0); +global.getLocalAppDataFolder = external_define("UGP.dll","GetLocalAppDataFolder",dll_cdecl,ty_string,0); + +global.APPDATA = external_call(global.getAppDataFolder); +global.LOCALAPPDATA = external_call(global.getLocalAppDataFolder); + +global.download_exports = false; + +instance_create((room_width-(44/2))-10, (room_height-(44/2))-10, obj_mute); + +global.direction = 0; +sound_loop(snd_mus); +for(i = 0; i < 1000; i+=1) +{ + obj_x = random_range(0,room_width); + obj_y = random_range(0,room_height); + + obj = instance_create(obj_x, obj_y, obj_star); +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// Close the game +if(obj_draw.back_down == false && obj_draw.back_up == false) +{ + room_goto(rm_close); + obj_draw.back_down = true; + obj_draw.action = ""; + if(global.download_exports) + obj_draw.action += "start_cracked_updater();"; + obj_draw.action += "game_end();"; +} + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_mute.object.gmx b/objects/obj_mute.object.gmx new file mode 100644 index 0000000..f27fb8e --- /dev/null +++ b/objects/obj_mute.object.gmx @@ -0,0 +1,135 @@ + + + spr_mute + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + checked = 0; +image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(checked) + image_index = 2; +else + image_index = 0 + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(checked) + image_index = 3; +else + image_index = 1 + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(sound_isplaying(snd_mus)) + sound_stop(snd_mus); +else + sound_loop(snd_mus); + + +if(checked == 0) + checked = 1; +else + checked = 0; + + +if(checked) + image_index = 3; +else + image_index = 1; + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_star.object.gmx b/objects/obj_star.object.gmx new file mode 100644 index 0000000..9ed71f0 --- /dev/null +++ b/objects/obj_star.object.gmx @@ -0,0 +1,94 @@ + + + spr_star + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + +/// Pick a random speed +scale = random_range(0.0,1.0); +image_xscale = scale; +image_yscale = scale; +move_speed = random_range(1,10); + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /// Move stars in direction + +if(global.direction == 0) +{ + x += move_speed; + if(x > room_width+32) + { + event_perform(ev_create,0); + y = random_range(0,room_width); + x = -32; + } +} +else +{ + x -= move_speed; + if(x < -32) + { + event_perform(ev_create,0); + y = random_range(0,room_width); + x = room_width+32; + } + +} + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_status_draw.object.gmx b/objects/obj_status_draw.object.gmx new file mode 100644 index 0000000..b407264 --- /dev/null +++ b/objects/obj_status_draw.object.gmx @@ -0,0 +1,69 @@ + + + <undefined> + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + text = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(x-string_width(text)/2,y,text); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_studio_button.object.gmx b/objects/obj_studio_button.object.gmx new file mode 100644 index 0000000..1c5acd4 --- /dev/null +++ b/objects/obj_studio_button.object.gmx @@ -0,0 +1,116 @@ + + + spr_studio_button + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_speed = 0; +image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + obj_draw.back_down = true; +obj_draw.action = "obj_draw.draw_subimage=5;instance_create(0,0,obj_draw_exports);"; +obj_draw.up_action = "create_studio_menu();"; +room_goto(rm_crack_studio); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_answer.object.gmx b/objects/obj_textinput_answer.object.gmx new file mode 100644 index 0000000..75b5abf --- /dev/null +++ b/objects/obj_textinput_answer.object.gmx @@ -0,0 +1,145 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "answer"; +text = string(floor(random_range(0, 2147483647))); +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +text = string(floor(random_range(0, 2147483647))); + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(x+20,y-20, text); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_email.object.gmx b/objects/obj_textinput_email.object.gmx new file mode 100644 index 0000000..642202f --- /dev/null +++ b/objects/obj_textinput_email.object.gmx @@ -0,0 +1,175 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "email"; +text = "trans@rights.lgbt"; +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(global.active == inputid) +{ + if(string_width(keyboard_string) > 800-20){ + keyboard_string = text; + } + text = keyboard_string; +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = inputid; +keyboard_string = text; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_key.object.gmx b/objects/obj_textinput_key.object.gmx new file mode 100644 index 0000000..571259c --- /dev/null +++ b/objects/obj_textinput_key.object.gmx @@ -0,0 +1,154 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "key"; +allowed_chars = "abcdef123456789"; +text = ""; +while(string_length(text) != 32) +{ + text += string_char_at(allowed_chars,random_range(0,string_length(allowed_chars))); +} +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +text = ""; +while(string_length(text) != 32) +{ + text += string_char_at(allowed_chars,random_range(0,string_length(allowed_chars))); +} + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(x+20,y-20, text); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_key_keygen.object.gmx b/objects/obj_textinput_key_keygen.object.gmx new file mode 100644 index 0000000..432c42f --- /dev/null +++ b/objects/obj_textinput_key_keygen.object.gmx @@ -0,0 +1,171 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "key"; +text = generate_gm5(obj_textinput_name_keygen.text, real(obj_textinput_version_keygen.text)); +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +clipboard_set_text(text); +obj_draw.draw_flashing_text = true; +global.flashing_msg = '"'+inputid+'"'+" Copied to clipboard!"; + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +text = generate_gm5(obj_textinput_name_keygen.text, real(obj_textinput_version_keygen.text)); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +draw_text(x+20,y-20, text); + + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_module.object.gmx b/objects/obj_textinput_module.object.gmx new file mode 100644 index 0000000..ac1799f --- /dev/null +++ b/objects/obj_textinput_module.object.gmx @@ -0,0 +1,207 @@ + + + spr_textinput_small + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "module"; +text = ""; +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(global.active == inputid) +{ + if(string_width(keyboard_string) > 360-20){ + keyboard_string = text; + } + text = keyboard_string; +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = inputid; +keyboard_string = text; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(global.active == inputid) +{ + if(text != "") + { + ds_list_add(global.export_modules, text); + show_modules(global.current_pos); + keyboard_string = ""; + text = ""; + } +} + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_name.object.gmx b/objects/obj_textinput_name.object.gmx new file mode 100644 index 0000000..424b565 --- /dev/null +++ b/objects/obj_textinput_name.object.gmx @@ -0,0 +1,175 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "name"; +text = "Universal GameMaker Patcher"; +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(global.active == inputid) +{ + if(string_width(keyboard_string) > 800-20){ + keyboard_string = text; + } + text = keyboard_string; +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = inputid; +keyboard_string = text; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_name_keygen.object.gmx b/objects/obj_textinput_name_keygen.object.gmx new file mode 100644 index 0000000..c630a39 --- /dev/null +++ b/objects/obj_textinput_name_keygen.object.gmx @@ -0,0 +1,228 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + allowed_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "; +inputid = "name"; +text = "Universal GameMaker Patcher"; +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + var changed; +var i; +var c1; + +changed = false; + +if(global.active == inputid) +{ + if(string_width(keyboard_string) > 800-20){ + keyboard_string = text; + } + + if(keyboard_string != text) + changed = true; + + if(changed){ + for(i = 1; i <= string_length(keyboard_string); i+=1){ + c1 = string_char_at(keyboard_string, i); + if(string_pos(c1, allowed_chars) == 0){ + keyboard_string = text; + changed = false; + break; + } + } + } + + + text = keyboard_string; + + if(changed) + obj_textinput_key_keygen.text = generate_gm5(obj_textinput_name_keygen.text, real(obj_textinput_version_keygen.text)); +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +clipboard_set_text(text); +obj_draw.draw_flashing_text = true; +global.flashing_msg = '"'+inputid+'"'+" Copied to clipboard!"; + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = inputid; +keyboard_string = text; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_type.object.gmx b/objects/obj_textinput_type.object.gmx new file mode 100644 index 0000000..ef0765f --- /dev/null +++ b/objects/obj_textinput_type.object.gmx @@ -0,0 +1,175 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "type"; +text = "Full"; +image_speed = 0; +image_index = 0; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(global.active == inputid) +{ + if(string_width(keyboard_string) > 800-20){ + keyboard_string = text; + } + text = keyboard_string; +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = inputid; +keyboard_string = text; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_textinput_version_keygen.object.gmx b/objects/obj_textinput_version_keygen.object.gmx new file mode 100644 index 0000000..fb63a6f --- /dev/null +++ b/objects/obj_textinput_version_keygen.object.gmx @@ -0,0 +1,239 @@ + + + spr_textinput + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + inputid = "version"; +text = "5"; +image_speed = 0; +image_index = 0; +allowed_chars = "1234567890"; +global.active = ""; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + var changed; +var c1; +var i; + +changed = false; + +if(global.active == inputid) +{ + if(string_width(keyboard_string) > 800-20){ + keyboard_string = text; + } + + if(keyboard_string != text) + changed = true; + + + if(changed){ + for(i = 1; i <= string_length(keyboard_string); i+=1){ + c1 = string_char_at(keyboard_string, i); + if(string_pos(c1, allowed_chars) == 0){ + keyboard_string = text; + changed = false; + break; + } + } + } + text = keyboard_string; + + if(changed) + obj_textinput_key_keygen.text = generate_gm5(obj_textinput_name_keygen.text, real(obj_textinput_version_keygen.text)); +} + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 0; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + image_index = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + global.active = ""; +clipboard_set_text(text); +obj_draw.draw_flashing_text = true; +global.flashing_msg = '"'+inputid+'"'+" Copied to clipboard!"; + + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + /* +global.active = inputid; +keyboard_string = text; +*/ + +global.active = ""; +if(text == "5"){ + text = "6"; +} +else if(text == "6"){ + text = "5"; +} + +obj_textinput_key_keygen.text = generate_gm5(obj_textinput_name_keygen.text, real(obj_textinput_version_keygen.text)); + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + draw_self(); +draw_set_font(fn_text); +draw_set_color(c_white); +if(global.active == inputid) + draw_text(x+10,y-20, text+"_"); +else + draw_text(x+10,y-20, text); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/objects/obj_universal_patcher.object.gmx b/objects/obj_universal_patcher.object.gmx new file mode 100644 index 0000000..e631518 --- /dev/null +++ b/objects/obj_universal_patcher.object.gmx @@ -0,0 +1,46 @@ + + + spr_universal_gm_patcher + 0 + -1 + 0 + -1 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + if(y != (55 + 10)) +{ + y += 5 +} + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + diff --git a/rooms/rm_close.room.gmx b/rooms/rm_close.room.gmx new file mode 100644 index 0000000..4c30911 --- /dev/null +++ b/rooms/rm_close.room.gmx @@ -0,0 +1,62 @@ + + + Universal GameMaker Patcher -- Closing + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/rooms/rm_crack_gm8.room.gmx b/rooms/rm_crack_gm8.room.gmx new file mode 100644 index 0000000..fed8a07 --- /dev/null +++ b/rooms/rm_crack_gm8.room.gmx @@ -0,0 +1,62 @@ + + + Universal GameMaker Patcher -- Crack GM81 + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/rooms/rm_crack_studio.room.gmx b/rooms/rm_crack_studio.room.gmx new file mode 100644 index 0000000..fed8a07 --- /dev/null +++ b/rooms/rm_crack_studio.room.gmx @@ -0,0 +1,62 @@ + + + Universal GameMaker Patcher -- Crack GM81 + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/rooms/rm_keygen_gm5.room.gmx b/rooms/rm_keygen_gm5.room.gmx new file mode 100644 index 0000000..f1fe519 --- /dev/null +++ b/rooms/rm_keygen_gm5.room.gmx @@ -0,0 +1,62 @@ + + + Universal GameMaker Patcher -- GM5 Keygen + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/rooms/rm_product_select.room.gmx b/rooms/rm_product_select.room.gmx new file mode 100644 index 0000000..9485d22 --- /dev/null +++ b/rooms/rm_product_select.room.gmx @@ -0,0 +1,66 @@ + + + Universal GameMaker Patcher -- Product Select + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/rooms/rm_result.room.gmx b/rooms/rm_result.room.gmx new file mode 100644 index 0000000..4c30911 --- /dev/null +++ b/rooms/rm_result.room.gmx @@ -0,0 +1,62 @@ + + + Universal GameMaker Patcher -- Closing + 1920 + 1080 + 32 + 32 + 0 + 30 + 0 + 1513239 + -1 + + 0 + -1 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 640 + 480 + 0 + 10 + 0.100000001490116 + diff --git a/scripts/check_blacklist.gml b/scripts/check_blacklist.gml new file mode 100644 index 0000000..625f972 --- /dev/null +++ b/scripts/check_blacklist.gml @@ -0,0 +1,24 @@ +///check_blacklist(key) + +var key; +key = argument0; + +if(string_starts_with(key, "7894D4968BCD")) return true; +if(string_starts_with(key, "7AF2BAE48ECE")) return true; +if(string_starts_with(key, "313079E74331")) return true; +if(string_starts_with(key, "08D5384E185B")) return true; +if(string_starts_with(key, "7BE6AEF38E9A")) return true; +if(string_starts_with(key, "70D681038590")) return true; +if(string_starts_with(key, "5C418BBA6BCD")) return true; +if(string_starts_with(key, "26BEE6B73AA1")) return true; +if(string_starts_with(key, "1188389D241F")) return true; +if(string_starts_with(key, "422154415459")) return true; +if(string_starts_with(key, "72FFC47986FF")) return true; +if(string_starts_with(key, "5787E8066A59")) return true; +if(string_starts_with(key, "32A278614587")) return true; +if(string_starts_with(key, "15BA1B612784")) return true; +if(string_starts_with(key, "194E2C9E2DCA")) return true; +if(string_starts_with(key, "5DEF898C7009")) return true; + +return false; + diff --git a/scripts/create_gm5_menu.gml b/scripts/create_gm5_menu.gml new file mode 100644 index 0000000..09fed45 --- /dev/null +++ b/scripts/create_gm5_menu.gml @@ -0,0 +1,12 @@ +global.direction = 1; + +//instance_create(centerX-250, centerY-150, obj_checkmark_libeay32); +//instance_create(centerX-250, centerY-90, obj_checkmark_updater); +instance_create(centerX-290, centerY-75, obj_textinput_name_keygen); +instance_create(centerX-290, centerY+35, obj_textinput_version_keygen); +instance_create(centerX-290, centerY+140, obj_textinput_key_keygen); + +//instance_create(centerX, centerY+250, obj_go_gm81); +instance_create(centerX-510, centerY+256, obj_back); + + diff --git a/scripts/create_gm81_menu.gml b/scripts/create_gm81_menu.gml new file mode 100644 index 0000000..ec5df42 --- /dev/null +++ b/scripts/create_gm81_menu.gml @@ -0,0 +1,10 @@ +global.direction = 1; + +instance_create(centerX-250, centerY-150, obj_checkmark_libeay32); +//instance_create(centerX-250, centerY-90, obj_checkmark_updater); +instance_create(centerX-290, centerY+20, obj_textinput_name); +instance_create(centerX-290, centerY+110, obj_textinput_key); +instance_create(centerX, centerY+250, obj_go_gm81); +instance_create(centerX-510, centerY+250, obj_back); + + diff --git a/scripts/create_gmhtml5_menu.gml b/scripts/create_gmhtml5_menu.gml new file mode 100644 index 0000000..79b1ddd --- /dev/null +++ b/scripts/create_gmhtml5_menu.gml @@ -0,0 +1,9 @@ +global.direction = 1; + +instance_create(centerX-250, centerY-150, obj_checkmark_libeay32); +instance_create(centerX-290, centerY+20, obj_textinput_name); +instance_create(centerX-290, centerY+110, obj_textinput_key); +instance_create(centerX, centerY+250, obj_go_gmhtml5); +instance_create(centerX-510, centerY+250, obj_back); + + diff --git a/scripts/create_product_menu.gml b/scripts/create_product_menu.gml new file mode 100644 index 0000000..bc2f1ae --- /dev/null +++ b/scripts/create_product_menu.gml @@ -0,0 +1,5 @@ +global.direction = 0; +instance_create(centerX-(128*3)-20, centerY+60, obj_gm5_button); +instance_create(centerX-(128*1)-10, centerY+60, obj_gm81_button); +instance_create(centerX+(128*1)+10, centerY+60, obj_html5_button); +instance_create(centerX+(128*3)+20, centerY+60, obj_studio_button); diff --git a/scripts/create_status.gml b/scripts/create_status.gml new file mode 100644 index 0000000..a84379b --- /dev/null +++ b/scripts/create_status.gml @@ -0,0 +1,7 @@ +///create_status(text) +text = argument0; + +global.direction = 1; +instance_create(centerX-510, centerY+250, obj_back); +draw_text_obj = instance_create(centerX, centerY, obj_status_draw); +draw_text_obj.text = text; diff --git a/scripts/create_studio_menu.gml b/scripts/create_studio_menu.gml new file mode 100644 index 0000000..1cee3b4 --- /dev/null +++ b/scripts/create_studio_menu.gml @@ -0,0 +1,18 @@ +global.direction = 1; + +instance_create(centerX-250, centerY-150, obj_checkmark_libeay32); +instance_create(centerX-250, centerY-90, obj_checkmark_modules); +instance_create(centerX-290, centerY-30, obj_textinput_name); +instance_create(centerX-290, centerY+15, obj_textinput_key); +instance_create(centerX-290, centerY+60, obj_textinput_email); +instance_create(centerX-290, centerY+105, obj_textinput_answer); +instance_create(centerX-290, centerY+150, obj_textinput_type); + +instance_create(centerX+300, centerY+280, obj_checkmark_old); + +instance_create(centerX, centerY+250, obj_go_studio); +instance_create(centerX-510, centerY+250, obj_back); + +instance_create(centerX-949, centerY+375, obj_textinput_module); + +show_modules(0); diff --git a/scripts/dectohex.gml b/scripts/dectohex.gml new file mode 100644 index 0000000..e2ebaca --- /dev/null +++ b/scripts/dectohex.gml @@ -0,0 +1,2 @@ +var n,r;n=argument0;r="";while(n){r=string_char_at( +"0123456789ABCDEF",n mod 16+1)+r;n=n div 16}return r; diff --git a/scripts/encode_name_part.gml b/scripts/encode_name_part.gml new file mode 100644 index 0000000..567425f --- /dev/null +++ b/scripts/encode_name_part.gml @@ -0,0 +1,24 @@ +///encode_name_part(name, version) + +var name; +var version; + +var total; +var multi; + +var i; +var c; + +name = argument0; +version = argument1; + +total = 0; +multi = 1; +for(i = 1; i <= string_length(name); i+=1) { + c = ord(string_char_at(name, i)); + + total += (c - 64) * multi; + multi *= 30; +} +total += version * multi +return total diff --git a/scripts/generate_gm5.gml b/scripts/generate_gm5.gml new file mode 100644 index 0000000..eeb5015 --- /dev/null +++ b/scripts/generate_gm5.gml @@ -0,0 +1,71 @@ +///generate_gm5(name, version) + +var name; +var version; +var new_name; + +var start; + +var part_1; +var part_2; + +var encoded_name_1; +var encoded_name_2; + +var key_part_1; +var key_part_2; +var key_part_3; + +var checksum; +var key; + +var ename; + +name = argument0; +version = argument1; + + +// Pad name out with "X" (if its < 5 chars long) +new_name = string_upper(pad(name, 5, "X")); + +// Remove " " from the name +new_name = string_replace_all(new_name, " ", ""); + +// Start 5 characters from the end +start = (string_length(new_name) - 5)+1; + + +if(version == 6){ // For GameMaker 6.0 + ename = string_copy(new_name, start, 5); + return external_call(global.generateGM6Key, ename); +} + + +// Extract last 5 characters, into a 2 char and 3 char string +part_1 = string_copy(new_name, start, 2); +part_2 = string_copy(new_name, start+2, 3); + + +// Encode the name with base 0x1E +encoded_name_1 = encode_name_part(part_1, version); +encoded_name_2 = encode_name_part(part_2, 0); + +// Generate a random key_part_1 +key_part_1 = floor(random_range(0, 32767)); + +// Calculate key_part 2 and 3 +key_part_2 = encoded_name_2 + key_part_1; +key_part_3 = encoded_name_1 + key_part_1; + +// Calculate checksum +checksum = key_part_1 + encoded_name_1 + encoded_name_2; + +// Append all the key_part to construct the key. +key = pad(dectohex(key_part_1), 4, "0") + "-" + pad(dectohex(key_part_2), 4, "0") + "-" + pad(dectohex(key_part_3), 4, "0") + "-" + pad(dectohex(checksum), 4, "0"); + +// If key is blacklisted, regenerate. +while(check_blacklist(key)){ + key = generate_gm5(name, version); +} + +return key; diff --git a/scripts/generate_gm6.gml b/scripts/generate_gm6.gml new file mode 100644 index 0000000..7fbe210 --- /dev/null +++ b/scripts/generate_gm6.gml @@ -0,0 +1,22 @@ +///generate_gm6(name) +var name; +var new_name; +var start; +var encname; +var gm6key; + +name = argument0; + +// Pad name out with "X" (if its < 5 chars long) +new_name = string_upper(pad(name, 5, "X")); + +// Start 5 characters from the end +start = (string_length(new_name) - 5)+1; + +// Extract last 5 characters, into a 5 char string +encname = string_copy(new_name, start, 5); + +// Call from UGP.dll, for implementation see gm6.c inside UGP.dll code. +gm6key = external_call(global.generateGM6Key, encname); + +return gm6key; diff --git a/scripts/get_studio_guid.gml b/scripts/get_studio_guid.gml new file mode 100644 index 0000000..b8492ac --- /dev/null +++ b/scripts/get_studio_guid.gml @@ -0,0 +1,25 @@ +///get_studio_guid(answer) + +answer = argument0; + +guid = external_call(global.getMachineGuid); +userName = environment_get_variable("USERNAME"); +numProcessor = environment_get_variable("NUMBER_OF_PROCESSORS"); +arch = environment_get_variable("PROCESSOR_ARCHITECTURE"); +identifier = environment_get_variable("PROCESSOR_IDENTIFIER"); +level = environment_get_variable("PROCESSOR_LEVEL"); +revision = environment_get_variable("PROCESSOR_REVISION"); +answerSeed = "md_" + answer + "_rk"; + +uniqueIdStr = userName + identifier + level + guid + numProcessor + arch + revision + answerSeed; +studioGuid = external_call(global.MD5, uniqueIdStr); +//show_error(uniqueIdStr+" : "+studioGuid, false); + +pt1 = string_copy(studioGuid,1,8); +pt2 = string_copy(studioGuid,9,4); +pt3 = string_copy(studioGuid,13,4); +pt4 = string_copy(studioGuid,17,4); +pt5 = string_copy(studioGuid,21,12); + +finalGuid = pt1+":"+pt2+":"+pt3+":"+pt4+":"+pt5; +return string_upper(finalGuid); diff --git a/scripts/hextodec.gml b/scripts/hextodec.gml new file mode 100644 index 0000000..574db01 --- /dev/null +++ b/scripts/hextodec.gml @@ -0,0 +1,4 @@ +var d,r,l;r=0;d=string_upper(argument0);l=string_length( +d);if(l>6) return -1;for(i=l;i>0;i-=1)r+=(string_pos( +string_char_at(d,i),"0123456789ABCDEF" +)-1) * power(16,l-i);return r; diff --git a/scripts/license_gm81.gml b/scripts/license_gm81.gml new file mode 100644 index 0000000..684cfd6 --- /dev/null +++ b/scripts/license_gm81.gml @@ -0,0 +1,70 @@ +///license_gm81(name, key, do_libeay32) +var name; +var key; +var machineGuid; +var plistPath; + +name = argument0; +key = argument1; + +if(argument2) +{ + dll_path = global.APPDATA+"\GameMaker\libeay32.dll"; + if(file_exists(dll_path)) + file_delete(dll_path); + //export_include_file_location("libeay32.dll", dll_path); + file_copy("libeay32.dll", dll_path); +} + +guid = external_call(global.getMachineGuid); +tokenize(guid, "-"); +sz = global.token[0] +xmlNames[0] = "Name"; +xmlNames[1] = "Pass Phrase"; +xmlNames[2] = "Product"; +xmlNames[3] = "Signature"; + +xmlData[0] = name; +xmlData[1] = key; +xmlData[2] = "GameMaker for Windows"; +xmlData[3] = chr($0a)+chr($09)+'rvunnwPVsFRMqCuuQ0u3cifBmlwEdRNvZZW3G6gYYEb1/Qs4p3PTUPmewyVck8YrhLZA'+chr($0a)+chr($09)+'Dc70u0IEX03KrCwz8RsQLITCa4iDJ6bkn+PjtUQeGNAr3haNpmPw0/v/v9K6haLXMaVy'+chr($0a)+chr($09)+'4QbSG4+JX5uqefP12xCvJGMMI+dkHDEgOBk='+chr($0a)+chr($09); +plistPath = global.LOCALAPPDATA+"\GameMaker8.1\license.plist"; +plistFile = file_text_open_write(plistPath); + +//datetime_str = string_replace(string_format(current_day,2,0)," ","0")+"/"+string_replace(string_format(current_month,2,0)," ","0")+"/"+string(current_year mod 100); + +datetime_str = "01/01/30"; // very far away date, (Cant be over 32 bit epoch time...) + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[0]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+ xmlData[0] +''+chr($0a)); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1], xmlNames[0], xmlData[0]); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1], global.token[1], datetime_str); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[1]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+ xmlData[1] +''+chr($0a)); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2], xmlNames[1], xmlData[1]); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2], global.token[2], datetime_str); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[2]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+xmlData[2]+''+chr($0a)); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], xmlNames[2], xmlData[2]); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], global.token[3], datetime_str); + + +file_text_write_string(plistFile,chr($09)+''+xmlNames[3]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+xmlData[3]+''+chr($0a)); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], xmlNames[3], xmlData[3]); +registry_write_string_ext("SOFTWARE\Game Maker\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], global.token[4], datetime_str); + + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_close(plistFile); + +external_call(global.setBinKey, "SOFTWARE\Game Maker", "dt", "c7711cc7515ae840"); // IDK How this datetime format works, but this is around the same time as the datetime str specified diff --git a/scripts/license_gmhtml5.gml b/scripts/license_gmhtml5.gml new file mode 100644 index 0000000..b5072a9 --- /dev/null +++ b/scripts/license_gmhtml5.gml @@ -0,0 +1,73 @@ +///license_gmhtml5(name, key, do_libeay32) +var name; +var key; +var machineGuid; +var plistPath; + +name = argument0; +key = argument1; + +if(argument2) +{ + dll_path = global.APPDATA+"\GameMaker-HTML5\libeay32.dll"; + if(file_exists(dll_path)) + file_delete(dll_path); + //export_include_file_location("libeay32.dll", dll_path); + file_copy("libeay32.dll", dll_path); +} + + +guid = external_call(global.getMachineGuid); +tokenize(guid, "-"); +sz = global.token[0] +xmlNames[0] = "Name"; +xmlNames[1] = "Pass Phrase"; +xmlNames[2] = "Product"; +xmlNames[3] = "Signature"; + +xmlData[0] = name; +xmlData[1] = key; +xmlData[2] = "GameMaker for HTML5"; +xmlData[3] = chr($0a)+chr($09)+'rvunnwPVsFRMqCuuQ0u3cifBmlwEdRNvZZW3G6gYYEb1/Qs4p3PTUPmewyVck8YrhLZA'+chr($0a)+chr($09)+'Dc70u0IEX03KrCwz8RsQLITCa4iDJ6bkn+PjtUQeGNAr3haNpmPw0/v/v9K6haLXMaVy'+chr($0a)+chr($09)+'4QbSG4+JX5uqefP12xCvJGMMI+dkHDEgOBk='+chr($0a)+chr($09); +plistPath = global.LOCALAPPDATA+"\GameMaker-HTML5\license.plist"; +plistFile = file_text_open_write(plistPath); + +//datetime_str = string_replace(string_format(current_day,2,0)," ","0")+"/"+string_replace(string_format(current_month,2,0)," ","0")+"/"+string(current_year mod 100); + +datetime_str = "01/01/30"; // very far away date, (Cant be over 32 bit epoch time...) + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[0]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+ xmlData[0] +''+chr($0a)); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1], xmlNames[0], xmlData[0]); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1], global.token[1], datetime_str); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[1]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+ xmlData[1] +''+chr($0a)); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2], xmlNames[1], xmlData[1]); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2], global.token[2], datetime_str); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[2]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+xmlData[2]+''+chr($0a)); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], xmlNames[2], xmlData[2]); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], global.token[3], datetime_str); + + +file_text_write_string(plistFile,chr($09)+''+xmlNames[3]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+xmlData[3]+''+chr($0a)); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], xmlNames[3], xmlData[3]); +registry_write_string_ext("SOFTWARE\5pice\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], global.token[4], datetime_str); + + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_close(plistFile); + +external_call(global.setBinKey, "SOFTWARE\5pice", "dt", "c7711cc7515ae840"); // IDK How this datetime format works, but this is around the same time as the datetime str specified + + diff --git a/scripts/license_studio.gml b/scripts/license_studio.gml new file mode 100644 index 0000000..3278fd2 --- /dev/null +++ b/scripts/license_studio.gml @@ -0,0 +1,165 @@ +///license_studio(name, answer, key, email, type, export_modules, do_libeay32, download_exports, old_version) +var name; +var key; +var answer; +var email; +var type; +var export_modules; +var machineGuid; +var plistPath; + +name = argument0; +answer = argument1; +key = argument2; +email = argument3; +type = argument4; +export_modules = argument5; + +do_libeay32 = argument6 +global.download_exports = argument7 +old_version = argument8 + +if(do_libeay32) +{ + dll_path = global.APPDATA+"\GameMaker-Studio\libeay32.dll"; + if(file_exists(dll_path)) + file_delete(dll_path); + //export_include_file_location("libeay32.dll", dll_path); + file_copy("libeay32.dll", dll_path); +} + +addons_string = ""; +for(i = 0; i < ds_list_size(export_modules); i+=1) +{ + addons_string += ds_list_find_value(export_modules, i); + if(i+1 < ds_list_size(export_modules)) + { + addons_string += "."; + } +} + +if(old_version){ + datetime_str = "01/01/30"; // very far away date, (Cant be over 32 bit epoch time...) + + guid = external_call(global.getMachineGuid); + tokenize(guid, "-"); +} +else{ + registry_write_string_ext("SOFTWARE\5tudio", "dtN", string(floor(random_range(2147483648,2147483647)))); + registry_write_string_ext("SOFTWARE\5tudio", "Bt12", string(floor(random_range(2147483648,2147483647)))); + datetime_str = string_replace(string_format(current_day,2,0)," ","0")+"/"+string_replace(string_format(current_month,2,0)," ","0")+"/"+string(current_year mod 100); + + guid = get_studio_guid(answer); + tokenize(guid, ":"); + +} + +sz = global.token[0] +xmlNames[0] = "Addons"; +xmlNames[1] = "Answer"; +xmlNames[2] = "Email"; +xmlNames[3] = "License Type"; +xmlNames[4] = "Name"; +xmlNames[5] = "Pass Phrase"; +xmlNames[6] = "Product"; +xmlNames[7] = "Signature"; + +xmlData[0] = addons_string; +xmlData[1] = answer; +xmlData[2] = email; +xmlData[3] = type; +xmlData[4] = name; +xmlData[5] = key; +xmlData[6] = "GameMaker:Studio"; +xmlData[7] = chr($0a)+chr($09)+'rvunnwPVsFRMqCuuQ0u3cifBmlwEdRNvZZW3G6gYYEb1/Qs4p3PTUPmewyVck8YrhLZA'+chr($0a)+chr($09)+'Dc70u0IEX03KrCwz8RsQLITCa4iDJ6bkn+PjtUQeGNAr3haNpmPw0/v/v9K6haLXMaVy'+chr($0a)+chr($09)+'4QbSG4+JX5uqefP12xCvJGMMI+dkHDEgOBk='+chr($0a)+chr($09); + +plistPath = global.LOCALAPPDATA+"\GameMaker-Studio\license.plist"; +plistFile = file_text_open_write(plistPath); + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_write_string(plistFile,chr($09)+''+xmlNames[0]+''+chr($0a)); +file_text_write_string(plistFile,chr($09)+''+ xmlData[0] +''+chr($0a)); +registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1], xmlNames[0], xmlData[0]); +registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1], global.token[1], datetime_str); + +if(old_version){ + file_text_write_string(plistFile,chr($09)+''+xmlNames[2]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[2]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2], xmlNames[2], xmlData[2]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2], global.token[2], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[3]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[3]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], xmlNames[3], xmlData[3]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], global.token[3], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[4]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[4]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], xmlNames[4], xmlData[4]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], global.token[4], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[5]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[5]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5], xmlNames[5], xmlData[5]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5], global.token[5], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[6]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[6]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5]+"\"+global.token[1], xmlNames[6], xmlData[6]); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[7]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[7]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5]+"\"+global.token[1]+"\"+global.token[2], xmlNames[7], xmlData[7]); + +} +else{ + file_text_write_string(plistFile,chr($09)+''+xmlNames[1]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+ xmlData[1] +''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2], xmlNames[1], xmlData[1]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2], global.token[2], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[2]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[2]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], xmlNames[2], xmlData[2]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], global.token[3], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[3]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[3]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], xmlNames[3], xmlData[3]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4], global.token[4], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[4]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[4]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5], xmlNames[4], xmlData[4]); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5], global.token[5], datetime_str); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[5]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[5]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5]+"\"+global.token[1], xmlNames[5], xmlData[5]); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[6]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[6]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5]+"\"+global.token[1]+"\"+global.token[2], xmlNames[6], xmlData[6]); + + file_text_write_string(plistFile,chr($09)+''+xmlNames[7]+''+chr($0a)); + file_text_write_string(plistFile,chr($09)+''+xmlData[7]+''+chr($0a)); + registry_write_string_ext("SOFTWARE\5tudio\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3]+"\"+global.token[4]+"\"+global.token[5]+"\"+global.token[1]+"\"+global.token[2]+"\"+global.token[3], xmlNames[7], xmlData[7]); + +} + + +file_text_write_string(plistFile,''+chr($0a)); +file_text_write_string(plistFile,''+chr($0a)); + +file_text_close(plistFile); + + +if(old_version) +{ + external_call(global.setBinKey, "SOFTWARE\5tudio", "dt", "c7711cc7515ae840"); // IDK How this datetime format works, but this is around the same time as the datetime str specified +} + diff --git a/scripts/pad.gml b/scripts/pad.gml new file mode 100644 index 0000000..c77a326 --- /dev/null +++ b/scripts/pad.gml @@ -0,0 +1,15 @@ +///pad(h, len, c) + +var h; +var c; +var len; + +h = argument0; +len = argument1; +c = argument2; + +while(string_length(h) < len){ + h = c + h; +} + +return h; diff --git a/scripts/script20.gml b/scripts/script20.gml new file mode 100644 index 0000000..d13e13e --- /dev/null +++ b/scripts/script20.gml @@ -0,0 +1,17 @@ +///generate_gm6(name) +var name; +var new_name; +var start; +var encname; + +// Pad name out with "X" (if its < 5 chars long) +new_name = string_upper(pad(name, 5, "X")); + +// Start 5 characters from the end +start = (string_length(new_name) - 5)+1; + +// Extract last 5 characters, into a 2 char and 3 char string +encname = string_copy(new_name, start, 2); + +external_call(global.generateGM6Key, argument0); + diff --git a/scripts/show_modules.gml b/scripts/show_modules.gml new file mode 100644 index 0000000..70aa19d --- /dev/null +++ b/scripts/show_modules.gml @@ -0,0 +1,35 @@ +///show_modules(pos) + +with(obj_lstbox_entry_module){ + instance_destroy(); +} + +pos = argument0; +global.current_pos = pos; +max_entries = 16; + +for(i = 0; i < ds_list_size(global.export_modules)-(max_entries*pos); i+=1) +{ + entry = instance_create(obj_draw.centerX-770, obj_draw.centerY-330 + (40*i+10), obj_lstbox_entry_module) + entry.text = ds_list_find_value(global.export_modules, (i + (max_entries*pos))) + entry.index = (i + (max_entries*pos)); + if(i >= max_entries) + { + entry.text = "Next Page"; + entry.index = -1; + break; + } +} + +if(i == 0 && pos > 0) +{ + show_modules(0); +} + +if(i < max_entries && pos > 0) +{ + entry = instance_create(obj_draw.centerX-770, obj_draw.centerY-330 + (40*i+10), obj_lstbox_entry_module) + entry.text = "Next Page"; + entry.index = -1; + +} diff --git a/scripts/start_cracked_updater.gml b/scripts/start_cracked_updater.gml new file mode 100644 index 0000000..c2cf8f4 --- /dev/null +++ b/scripts/start_cracked_updater.gml @@ -0,0 +1,16 @@ +///start_cracked_updater() + +location = environment_get_variable("TEMP")+"\updater"; +if(!directory_exists(location)){ + directory_create(location); +} +else{ + file_delete(location+"\ModuleDownloader.exe"); +} + +//export_include_file_location("ModuleDownloader.exe", location+"\ModuleDownloader.exe"); +file_copy("ModuleDownloader.exe", location+"\ModuleDownloader.exe"); +execute_program(location+"\ModuleDownloader.exe","",false); + +game_end() + diff --git a/scripts/string_starts_with.gml b/scripts/string_starts_with.gml new file mode 100644 index 0000000..e15d1c3 --- /dev/null +++ b/scripts/string_starts_with.gml @@ -0,0 +1,21 @@ +///string_starts_with(str1, str2) + +var str1; +var str2; +var len; +var comp; + +str1 = argument0; +str2 = argument1; + +if(string_length(str2) < string_length(str1)) + return false; + +len = string_length(str2); +comp = string_copy(str, 0, len); + +if(comp == str2) + return true; +else + return false; + diff --git a/scripts/tokenize.gml b/scripts/tokenize.gml new file mode 100644 index 0000000..4fcdcb4 --- /dev/null +++ b/scripts/tokenize.gml @@ -0,0 +1,21 @@ +///tokenize(string,sep):(global.token) + +var str,sep,sepl,c,p; + +str=argument0 +sep=argument1 +sepl=string_length(sep) +c=0 +do { + c+=1 + p=string_pos(sep,str) + if (p=0) global.token[c]=str + else { + global.token[c]=string_copy(str,1,p-1) + str=string_delete(str,1,p-1+sepl) + } +} until (p=0) + +global.token[0]=c + + diff --git a/sound/audio/snd_mus.mid b/sound/audio/snd_mus.mid new file mode 100644 index 0000000..fca60f7 Binary files /dev/null and b/sound/audio/snd_mus.mid differ diff --git a/sound/audio/snd_mus.mp3 b/sound/audio/snd_mus.mp3 new file mode 100644 index 0000000..1249db1 Binary files /dev/null and b/sound/audio/snd_mus.mp3 differ diff --git a/sound/audio/snd_mus.ogg b/sound/audio/snd_mus.ogg new file mode 100644 index 0000000..02a3a3d Binary files /dev/null and b/sound/audio/snd_mus.ogg differ diff --git a/sound/snd_mus.sound.gmx b/sound/snd_mus.sound.gmx new file mode 100644 index 0000000..e60bb5b --- /dev/null +++ b/sound/snd_mus.sound.gmx @@ -0,0 +1,13 @@ + + + 3 + .mp3 + C:\Users\Blitzeroni\Documents\UGP\UGP.gmx\\\sound\audio\snd_mus.mp3 + 0 + 1 + 0 + 192 + 6 + -1 + snd_mus.mp3 + diff --git a/sprites/images/spr_back_0.png b/sprites/images/spr_back_0.png new file mode 100644 index 0000000..01574e4 Binary files /dev/null and b/sprites/images/spr_back_0.png differ diff --git a/sprites/images/spr_back_1.png b/sprites/images/spr_back_1.png new file mode 100644 index 0000000..d3caf3d Binary files /dev/null and b/sprites/images/spr_back_1.png differ diff --git a/sprites/images/spr_checkmark_0.png b/sprites/images/spr_checkmark_0.png new file mode 100644 index 0000000..735c13a Binary files /dev/null and b/sprites/images/spr_checkmark_0.png differ diff --git a/sprites/images/spr_checkmark_1.png b/sprites/images/spr_checkmark_1.png new file mode 100644 index 0000000..2831adc Binary files /dev/null and b/sprites/images/spr_checkmark_1.png differ diff --git a/sprites/images/spr_checkmark_2.png b/sprites/images/spr_checkmark_2.png new file mode 100644 index 0000000..72286e5 Binary files /dev/null and b/sprites/images/spr_checkmark_2.png differ diff --git a/sprites/images/spr_checkmark_3.png b/sprites/images/spr_checkmark_3.png new file mode 100644 index 0000000..81b37e7 Binary files /dev/null and b/sprites/images/spr_checkmark_3.png differ diff --git a/sprites/images/spr_cursor_0.png b/sprites/images/spr_cursor_0.png new file mode 100644 index 0000000..4ba4d5a Binary files /dev/null and b/sprites/images/spr_cursor_0.png differ diff --git a/sprites/images/spr_export_modules_0.png b/sprites/images/spr_export_modules_0.png new file mode 100644 index 0000000..8ca1078 Binary files /dev/null and b/sprites/images/spr_export_modules_0.png differ diff --git a/sprites/images/spr_gm5_button_0.png b/sprites/images/spr_gm5_button_0.png new file mode 100644 index 0000000..efb8306 Binary files /dev/null and b/sprites/images/spr_gm5_button_0.png differ diff --git a/sprites/images/spr_gm5_button_1.png b/sprites/images/spr_gm5_button_1.png new file mode 100644 index 0000000..2a8b33b Binary files /dev/null and b/sprites/images/spr_gm5_button_1.png differ diff --git a/sprites/images/spr_gm81_button_0.png b/sprites/images/spr_gm81_button_0.png new file mode 100644 index 0000000..0fde50b Binary files /dev/null and b/sprites/images/spr_gm81_button_0.png differ diff --git a/sprites/images/spr_gm81_button_1.png b/sprites/images/spr_gm81_button_1.png new file mode 100644 index 0000000..a944b44 Binary files /dev/null and b/sprites/images/spr_gm81_button_1.png differ diff --git a/sprites/images/spr_go_0.png b/sprites/images/spr_go_0.png new file mode 100644 index 0000000..ef69051 Binary files /dev/null and b/sprites/images/spr_go_0.png differ diff --git a/sprites/images/spr_go_1.png b/sprites/images/spr_go_1.png new file mode 100644 index 0000000..ecc4a34 Binary files /dev/null and b/sprites/images/spr_go_1.png differ diff --git a/sprites/images/spr_html5_button_0.png b/sprites/images/spr_html5_button_0.png new file mode 100644 index 0000000..5941ab6 Binary files /dev/null and b/sprites/images/spr_html5_button_0.png differ diff --git a/sprites/images/spr_html5_button_1.png b/sprites/images/spr_html5_button_1.png new file mode 100644 index 0000000..72d959a Binary files /dev/null and b/sprites/images/spr_html5_button_1.png differ diff --git a/sprites/images/spr_lstbox_entry_0.png b/sprites/images/spr_lstbox_entry_0.png new file mode 100644 index 0000000..93b2247 Binary files /dev/null and b/sprites/images/spr_lstbox_entry_0.png differ diff --git a/sprites/images/spr_lstbox_entry_1.png b/sprites/images/spr_lstbox_entry_1.png new file mode 100644 index 0000000..052c228 Binary files /dev/null and b/sprites/images/spr_lstbox_entry_1.png differ diff --git a/sprites/images/spr_menu_0.png b/sprites/images/spr_menu_0.png new file mode 100644 index 0000000..c788bca Binary files /dev/null and b/sprites/images/spr_menu_0.png differ diff --git a/sprites/images/spr_menu_1.png b/sprites/images/spr_menu_1.png new file mode 100644 index 0000000..21de4ca Binary files /dev/null and b/sprites/images/spr_menu_1.png differ diff --git a/sprites/images/spr_menu_2.png b/sprites/images/spr_menu_2.png new file mode 100644 index 0000000..b63bda5 Binary files /dev/null and b/sprites/images/spr_menu_2.png differ diff --git a/sprites/images/spr_menu_3.png b/sprites/images/spr_menu_3.png new file mode 100644 index 0000000..3ec0b12 Binary files /dev/null and b/sprites/images/spr_menu_3.png differ diff --git a/sprites/images/spr_menu_4.png b/sprites/images/spr_menu_4.png new file mode 100644 index 0000000..007405f Binary files /dev/null and b/sprites/images/spr_menu_4.png differ diff --git a/sprites/images/spr_menu_5.png b/sprites/images/spr_menu_5.png new file mode 100644 index 0000000..282db6d Binary files /dev/null and b/sprites/images/spr_menu_5.png differ diff --git a/sprites/images/spr_menu_6.png b/sprites/images/spr_menu_6.png new file mode 100644 index 0000000..f9173a0 Binary files /dev/null and b/sprites/images/spr_menu_6.png differ diff --git a/sprites/images/spr_mute_0.png b/sprites/images/spr_mute_0.png new file mode 100644 index 0000000..95ccf7d Binary files /dev/null and b/sprites/images/spr_mute_0.png differ diff --git a/sprites/images/spr_mute_1.png b/sprites/images/spr_mute_1.png new file mode 100644 index 0000000..adb2dc1 Binary files /dev/null and b/sprites/images/spr_mute_1.png differ diff --git a/sprites/images/spr_mute_2.png b/sprites/images/spr_mute_2.png new file mode 100644 index 0000000..88463d1 Binary files /dev/null and b/sprites/images/spr_mute_2.png differ diff --git a/sprites/images/spr_mute_3.png b/sprites/images/spr_mute_3.png new file mode 100644 index 0000000..0949076 Binary files /dev/null and b/sprites/images/spr_mute_3.png differ diff --git a/sprites/images/spr_star_0.png b/sprites/images/spr_star_0.png new file mode 100644 index 0000000..6fb30b4 Binary files /dev/null and b/sprites/images/spr_star_0.png differ diff --git a/sprites/images/spr_studio_button_0.png b/sprites/images/spr_studio_button_0.png new file mode 100644 index 0000000..0e0acd8 Binary files /dev/null and b/sprites/images/spr_studio_button_0.png differ diff --git a/sprites/images/spr_studio_button_1.png b/sprites/images/spr_studio_button_1.png new file mode 100644 index 0000000..d0863d7 Binary files /dev/null and b/sprites/images/spr_studio_button_1.png differ diff --git a/sprites/images/spr_textinput_0.png b/sprites/images/spr_textinput_0.png new file mode 100644 index 0000000..b67d766 Binary files /dev/null and b/sprites/images/spr_textinput_0.png differ diff --git a/sprites/images/spr_textinput_1.png b/sprites/images/spr_textinput_1.png new file mode 100644 index 0000000..30519d3 Binary files /dev/null and b/sprites/images/spr_textinput_1.png differ diff --git a/sprites/images/spr_textinput_small_0.png b/sprites/images/spr_textinput_small_0.png new file mode 100644 index 0000000..bdb5ed5 Binary files /dev/null and b/sprites/images/spr_textinput_small_0.png differ diff --git a/sprites/images/spr_textinput_small_1.png b/sprites/images/spr_textinput_small_1.png new file mode 100644 index 0000000..9884ff4 Binary files /dev/null and b/sprites/images/spr_textinput_small_1.png differ diff --git a/sprites/images/spr_universal_gm_patcher_0.png b/sprites/images/spr_universal_gm_patcher_0.png new file mode 100644 index 0000000..88fffc5 Binary files /dev/null and b/sprites/images/spr_universal_gm_patcher_0.png differ diff --git a/sprites/spr_back.sprite.gmx b/sprites/spr_back.sprite.gmx new file mode 100644 index 0000000..75271e3 --- /dev/null +++ b/sprites/spr_back.sprite.gmx @@ -0,0 +1,17 @@ + + + 41 + 41 + 0 + 0 + 0 + 2 + 0 + 85 + 0 + 85 + + images\spr_back_0.png + images\spr_back_1.png + + diff --git a/sprites/spr_checkmark.sprite.gmx b/sprites/spr_checkmark.sprite.gmx new file mode 100644 index 0000000..15b604a --- /dev/null +++ b/sprites/spr_checkmark.sprite.gmx @@ -0,0 +1,19 @@ + + + 25 + 25 + 0 + 0 + 0 + 2 + 3 + 46 + 3 + 46 + + images\spr_checkmark_0.png + images\spr_checkmark_1.png + images\spr_checkmark_2.png + images\spr_checkmark_3.png + + diff --git a/sprites/spr_cursor.sprite.gmx b/sprites/spr_cursor.sprite.gmx new file mode 100644 index 0000000..e2c8f76 --- /dev/null +++ b/sprites/spr_cursor.sprite.gmx @@ -0,0 +1,16 @@ + + + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 31 + 0 + 29 + + images\spr_cursor_0.png + + diff --git a/sprites/spr_export_modules.sprite.gmx b/sprites/spr_export_modules.sprite.gmx new file mode 100644 index 0000000..2d888aa --- /dev/null +++ b/sprites/spr_export_modules.sprite.gmx @@ -0,0 +1,16 @@ + + + 182 + 400 + 0 + 0 + 0 + 2 + 0 + 304 + 0 + 653 + + images\spr_export_modules_0.png + + diff --git a/sprites/spr_gm5_button.sprite.gmx b/sprites/spr_gm5_button.sprite.gmx new file mode 100644 index 0000000..2716e29 --- /dev/null +++ b/sprites/spr_gm5_button.sprite.gmx @@ -0,0 +1,17 @@ + + + 128 + 128 + 1 + 0 + 0 + 0 + 3 + 251 + 5 + 250 + + images\spr_gm5_button_0.png + images\spr_gm5_button_1.png + + diff --git a/sprites/spr_gm81_button.sprite.gmx b/sprites/spr_gm81_button.sprite.gmx new file mode 100644 index 0000000..f820f84 --- /dev/null +++ b/sprites/spr_gm81_button.sprite.gmx @@ -0,0 +1,17 @@ + + + 128 + 128 + 0 + 0 + 0 + 2 + 4 + 250 + 6 + 249 + + images\spr_gm81_button_0.png + images\spr_gm81_button_1.png + + diff --git a/sprites/spr_go.sprite.gmx b/sprites/spr_go.sprite.gmx new file mode 100644 index 0000000..88a7e41 --- /dev/null +++ b/sprites/spr_go.sprite.gmx @@ -0,0 +1,17 @@ + + + 245 + 46 + 0 + 0 + 0 + 2 + 27 + 497 + 3 + 95 + + images\spr_go_0.png + images\spr_go_1.png + + diff --git a/sprites/spr_html5_button.sprite.gmx b/sprites/spr_html5_button.sprite.gmx new file mode 100644 index 0000000..dc0003c --- /dev/null +++ b/sprites/spr_html5_button.sprite.gmx @@ -0,0 +1,17 @@ + + + 128 + 128 + 0 + 0 + 0 + 2 + 4 + 250 + 6 + 249 + + images\spr_html5_button_0.png + images\spr_html5_button_1.png + + diff --git a/sprites/spr_lstbox_entry.sprite.gmx b/sprites/spr_lstbox_entry.sprite.gmx new file mode 100644 index 0000000..8e45fac --- /dev/null +++ b/sprites/spr_lstbox_entry.sprite.gmx @@ -0,0 +1,17 @@ + + + 180 + 20 + 0 + 0 + 0 + 2 + 1 + 358 + 1 + 38 + + images\spr_lstbox_entry_0.png + images\spr_lstbox_entry_1.png + + diff --git a/sprites/spr_menu.sprite.gmx b/sprites/spr_menu.sprite.gmx new file mode 100644 index 0000000..2dbf9b2 --- /dev/null +++ b/sprites/spr_menu.sprite.gmx @@ -0,0 +1,22 @@ + + + 582 + 322 + 0 + 0 + 0 + 2 + 0 + 1164 + 0 + 644 + + images\spr_menu_0.png + images\spr_menu_1.png + images\spr_menu_2.png + images\spr_menu_3.png + images\spr_menu_4.png + images\spr_menu_5.png + images\spr_menu_6.png + + diff --git a/sprites/spr_mute.sprite.gmx b/sprites/spr_mute.sprite.gmx new file mode 100644 index 0000000..f6d054c --- /dev/null +++ b/sprites/spr_mute.sprite.gmx @@ -0,0 +1,19 @@ + + + 25 + 25 + 0 + 0 + 0 + 2 + 3 + 46 + 3 + 46 + + images\spr_mute_0.png + images\spr_mute_1.png + images\spr_mute_2.png + images\spr_mute_3.png + + diff --git a/sprites/spr_star.sprite.gmx b/sprites/spr_star.sprite.gmx new file mode 100644 index 0000000..8f16500 --- /dev/null +++ b/sprites/spr_star.sprite.gmx @@ -0,0 +1,16 @@ + + + -3 + -3 + 0 + 0 + 0 + 2 + 0 + 9 + 0 + 9 + + images\spr_star_0.png + + diff --git a/sprites/spr_studio_button.sprite.gmx b/sprites/spr_studio_button.sprite.gmx new file mode 100644 index 0000000..0fd16f5 --- /dev/null +++ b/sprites/spr_studio_button.sprite.gmx @@ -0,0 +1,17 @@ + + + 128 + 128 + 0 + 0 + 0 + 2 + 4 + 250 + 6 + 249 + + images\spr_studio_button_0.png + images\spr_studio_button_1.png + + diff --git a/sprites/spr_textinput.sprite.gmx b/sprites/spr_textinput.sprite.gmx new file mode 100644 index 0000000..d9f2b54 --- /dev/null +++ b/sprites/spr_textinput.sprite.gmx @@ -0,0 +1,17 @@ + + + 0 + 20 + 0 + 0 + 0 + 2 + 0 + 799 + 0 + 39 + + images\spr_textinput_0.png + images\spr_textinput_1.png + + diff --git a/sprites/spr_textinput_small.sprite.gmx b/sprites/spr_textinput_small.sprite.gmx new file mode 100644 index 0000000..9dbe02a --- /dev/null +++ b/sprites/spr_textinput_small.sprite.gmx @@ -0,0 +1,17 @@ + + + 0 + 20 + 0 + 0 + 0 + 2 + 0 + 359 + 0 + 39 + + images\spr_textinput_small_0.png + images\spr_textinput_small_1.png + + diff --git a/sprites/spr_universal_gm_patcher.sprite.gmx b/sprites/spr_universal_gm_patcher.sprite.gmx new file mode 100644 index 0000000..4dfc50a --- /dev/null +++ b/sprites/spr_universal_gm_patcher.sprite.gmx @@ -0,0 +1,16 @@ + + + 476 + 27 + 0 + 0 + 0 + 2 + 0 + 952 + 0 + 54 + + images\spr_universal_gm_patcher_0.png + +