From 54775141d6a8fa0a1ad5d34edd01cae0d66cbe71 Mon Sep 17 00:00:00 2001 From: milesthenerd Date: Wed, 17 Feb 2021 03:20:19 -0600 Subject: [PATCH] Fixed menu, gui, and added custom palette support --- AM2R.project.gmx | 509 +++++++++++++++++++++++++++++++- objects/oClient.object.gmx | 285 ++++++++++++------ objects/oControl.object.gmx | 12 +- objects/oDrawTitleBG.object.gmx | 2 + objects/oHatchling.object.gmx | 2 +- objects/oNametag.object.gmx | 15 +- objects/oOptionLRMod.object.gmx | 93 ++++++ objects/oOptionsMod.object.gmx | 14 +- scripts/draw_character_ext.gml | 6 +- scripts/draw_gui.gml | 10 +- scripts/load_resources.gml | 165 +++++++++++ 11 files changed, 984 insertions(+), 129 deletions(-) create mode 100644 objects/oOptionLRMod.object.gmx diff --git a/AM2R.project.gmx b/AM2R.project.gmx index 3e973b7d..bd886f32 100644 --- a/AM2R.project.gmx +++ b/AM2R.project.gmx @@ -3,8 +3,8 @@ Configs\Default - - + + czech.ini -1 @@ -158,7 +158,7 @@ languages.txt - + castellano_a1_f24_b0_c3_d19_e21.png -1 @@ -857,7 +857,7 @@ russian_a8_f19_b0_c3_d14_e16.png - + 04b09.ttf -1 @@ -1047,8 +1047,8 @@ dictionary.json - - + + config.ini -1 @@ -1084,8 +1084,8 @@ titlebackground.png - - + + alpha.png -1 @@ -1257,7 +1257,7 @@ zeta_blur.png - + fusion_gravity.png -1 @@ -1360,7 +1360,7 @@ varia.png - + fusion_gravity.png -1 @@ -1464,7 +1464,7 @@ varia.png - + fusion_gravity.png -1 @@ -1568,7 +1568,7 @@ varia.png - + fusion_gravity.png -1 @@ -1673,6 +1673,490 @@ + + + baby_metroid.png + -1 + 220 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + baby_metroid.png + + + multitroid.png + -1 + 885 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + multitroid.png + + + multitroid_fusion.png + -1 + 830 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + multitroid_fusion.png + + + spiderball.png + -1 + 988 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + spiderball.png + + + + sDarkMultitroidPlayer_0.png + -1 + 159 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_0.png + + + sDarkMultitroidPlayer_1.png + -1 + 156 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_1.png + + + sDarkMultitroidPlayer_2.png + -1 + 160 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_2.png + + + sDarkMultitroidPlayer_3.png + -1 + 159 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_3.png + + + sDarkMultitroidPlayer_4.png + -1 + 160 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_4.png + + + sDarkMultitroidPlayer_5.png + -1 + 159 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_5.png + + + sDarkMultitroidPlayer_6.png + -1 + 160 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_6.png + + + sDarkMultitroidPlayer_7.png + -1 + 157 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sDarkMultitroidPlayer_7.png + + + + + sMultitroidIcon_0.png + -1 + 163 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_0.png + + + sMultitroidIcon_1.png + -1 + 163 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_1.png + + + sMultitroidIcon_2.png + -1 + 164 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_2.png + + + sMultitroidIcon_3.png + -1 + 164 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_3.png + + + sMultitroidIcon_4.png + -1 + 163 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_4.png + + + sMultitroidIcon_5.png + -1 + 164 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_5.png + + + sMultitroidIcon_6.png + -1 + 164 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_6.png + + + sMultitroidIcon_7.png + -1 + 164 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidIcon_7.png + + + + + sMultitroidMapIcon_0.png + -1 + 147 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_0.png + + + sMultitroidMapIcon_1.png + -1 + 146 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_1.png + + + sMultitroidMapIcon_2.png + -1 + 148 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_2.png + + + sMultitroidMapIcon_3.png + -1 + 148 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_3.png + + + sMultitroidMapIcon_4.png + -1 + 147 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_4.png + + + sMultitroidMapIcon_5.png + -1 + 147 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_5.png + + + sMultitroidMapIcon_6.png + -1 + 147 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_6.png + + + sMultitroidMapIcon_7.png + -1 + 146 + 2 + + 0 + -1 + 0 + 0 + + + 9223372036854775807 + + + sMultitroidMapIcon_7.png + + + @@ -6124,6 +6608,7 @@ objects\oClient objects\oNametag objects\oOptionsMod + objects\oOptionLRMod diff --git a/objects/oClient.object.gmx b/objects/oClient.object.gmx index 36fd77e2..fb49ec32 100644 --- a/objects/oClient.object.gmx +++ b/objects/oClient.object.gmx @@ -47,7 +47,7 @@ connected = false; queenHealthWait = false; queenDead = false; sameRoom = false; -queenHealth = 600; +queenHealth = global.mod_queenHstart + (global.mtanks * 10); phase = 0; maxpbombsTimer = 10; maxhealthTimer = 10; @@ -59,12 +59,13 @@ teleportTimer = 180; disconnectTimer = 600; pingTimer = 90; teleport = false; +noName = false; state = undefined; seed = undefined; var type; type = network_socket_tcp; -ini_open(working_directory + "\mod settings.ini"); +ini_open(working_directory + "\mod_settings.ini"); ipaddress = ini_read_string("ModSettings", "ipaddress", "127.0.0.1"); name = ini_read_string("ModSettings", "displayname", "name"); port = ini_read_real("ModSettings", "port", 64198); @@ -76,11 +77,17 @@ ini_close(); var nameLength = string_length(name); if(nameLength > 15){ name = string_copy(name, 1, 15); - ini_open(working_directory + "\mod settings.ini"); + ini_open(working_directory + "\mod_settings.ini"); ini_write_string("ModSettings", "displayname", name); ini_close(); } +if(string_length(name) == 0){ + noName = true; + popup_text_ext("Set a name before connecting", 180); + instance_destroy(); +} + socket = network_create_socket(type); isConnected = network_connect(socket, ipaddress, port); @@ -129,7 +136,7 @@ type = buffer_grow; alignment = 1; buffer = buffer_create(size, type, alignment); -global.queenhealthPrev = 600; +global.queenhealthPrev = global.mod_queenHstart + (global.mtanks * 10);; global.queenphasePrev = 0; @@ -219,21 +226,23 @@ trail = 0; var result = network_send_packet(socket, buffer, buffer_tell(buffer)); } -network_destroy(socket); -buffer_delete(buffer); -ds_grid_destroy(global.onlineList); -ds_grid_destroy(global.onlineSend); -ds_grid_destroy(global.onlineReceived); -ds_list_destroy(global.onlineItem); -ds_list_destroy(global.onlineMetdead); -ds_list_destroy(global.onlineEvent); -ds_list_destroy(global.onlineMap); -ds_list_destroy(global.receivedPacketIDs); -ds_list_destroy(roomList); -ds_list_destroy(roomListData); -ds_list_destroy(global.idList); -ds_list_destroy(posData); -ds_list_destroy(global.hatchlingList); +if(!noName){ + network_destroy(socket); + buffer_delete(buffer); + ds_grid_destroy(global.onlineList); + ds_grid_destroy(global.onlineSend); + ds_grid_destroy(global.onlineReceived); + ds_list_destroy(global.onlineItem); + ds_list_destroy(global.onlineMetdead); + ds_list_destroy(global.onlineEvent); + ds_list_destroy(global.onlineMap); + ds_list_destroy(global.receivedPacketIDs); + ds_list_destroy(roomList); + ds_list_destroy(roomListData); + ds_list_destroy(global.idList); + ds_list_destroy(posData); + ds_list_destroy(global.hatchlingList); +} global.canConnect = false; oControl.alarm[10] = 90; @@ -911,66 +920,6 @@ for(var i=0; i<ds_grid_height(global.onlineList); i++){ canSend = true; alarm[0] = 600; } - - /* - if(i == 0){ - var v = 0; - var itemPrev = global.onlineList[# 0, 0]; - var item = global.onlineList[# 1, 0]; - for(var f=0; f<array_length_1d(item); f++){ - if(itemPrev[f] != item[f]){ - global.itemChanges[v, 0] = global.item[f]; - global.itemChanges[v, 1] = f; - global.onlineSend[# 1, 0] = global.itemChanges; - global.onlineSend[# 2, 0] = global.onlineList[# 2, 0]; - show_debug_message(string(global.itemPrev[f]) + " " + string(global.item[f])); - show_debug_message("item changed"); - canSend = true; - v++; - - } - } - } - - if(i == 1){ - var v = 0; - var metdeadPrev = global.onlineList[# 0, 1]; - var metdead = global.onlineList[# 1, 1]; - for(var f=0; f<array_length_1d(metdead); f++){ - if(metdeadPrev[f] != metdead[f]){ - global.metdeadChanges[v, 0] = global.metdead[f]; - global.metdeadChanges[v, 1] = f; - global.onlineSend[# 1, 1] = global.metdeadChanges; - global.onlineSend[# 2, 1] = global.onlineList[# 2, 1]; - show_debug_message(string(global.metdeadPrev[f]) + " " + string(global.metdead[f])); - show_debug_message("metdead changed"); - canSend = true; - v++; - - } - } - } - - if(i == 3){ - var v = 0; - var eventPrev = global.onlineList[# 0, 3]; - var event = global.onlineList[# 1, 3]; - for(var f=0; f<array_length_1d(eventPrev) - 1; f++){ - if(eventPrev[f] != event[f]){ - global.eventChanges[v, 0] = global.event[f]; - global.eventChanges[v, 1] = f; - global.onlineSend[# 1, 3] = global.eventChanges; - global.onlineSend[# 2, 3] = global.onlineList[# 2, 3]; - show_debug_message(string(global.eventPrev[f]) + " " + string(global.event[f])); - show_debug_message("event changed"); - canSend = true; - v++; - - } - } - } - */ - } if(canSend){ @@ -1075,6 +1024,7 @@ if(itemCount != global.itemstaken){ buffer = buffer_create(size, type, alignment); buffer_seek(buffer, buffer_seek_start, 0); buffer_write(buffer, buffer_u8, 1); + buffer_write(buffer, buffer_string, name) var result = network_send_packet(socket, buffer, buffer_tell(buffer)); instance_create(x, y, oNametag); } else { @@ -1095,7 +1045,7 @@ if(global.event[303] > 0){ if(room == rm_death){ phase = 0; - queenHealth = 600; + queenHealth = global.mod_queenHstart + (global.mtanks * 10);; } if((room == rm_a4b02 || room == rm_a4b03 || room == rm_a4b04 || room == rm_a4b05 || room == rm_a4b06 || room == rm_a4b07 || room == rm_a4b08 || room == rm_a4b09 || room == rm_a4b10 || room == rm_a4b11 || room == rm_a4b12 || room == rm_a4b13 || room == rm_a4b14 || room == rm_a4b15 || room == rm_a4b16 || room == rm_a4b17 || room == rm_a4b18 || room == rm_a4b19) && global.event[203] > 0 && global.event[203] < 9 && !instance_exists(oA4EscapeControl)){ @@ -1146,9 +1096,6 @@ if(keyboard_check_pressed(vk_f2)){ if(keyboard_check_pressed(vk_f3)){ popup_text_ext(string(oControl.seed), 300); - global.targetx = 864; - global.targety = 96; - room_change(rm_a7c01, 1); } if(keyboard_check_pressed(vk_f4)){ @@ -1721,6 +1668,7 @@ switch(type_event){ break; case 0: global.clientID = buffer_read(_buffer, buffer_u8); + show_debug_message(string(msgid) + " " + string(global.clientID)); alarm[0] = 5; alarm[2] = 5; alarm[3] = 5; @@ -2128,12 +2076,155 @@ switch(type_event){ global.item[i] = receivedItem; global.itemPrev[i] = global.item[i]; - //ADD POWERUP ACTIVATIONS HERE FOR WHEN ITEMS ARE JUST RECEIVED if(i == 0){ global.bomb = 1; global.bombPrev = global.bomb; popup_text("Bombs enabled"); } + + if(i == 1){ + global.powergrip = 1; + global.powergripPrev = global.powergrip; + popup_text("Powergrip enabled"); + } + + if(i == 2){ + global.spiderball = 1; + global.spiderballPrev = global.spiderball; + popup_text("Spiderball enabled"); + } + + if(i == 3){ + global.jumpball = 1; + global.jumpballPrev = global.jumpball; + popup_text("Springball enabled"); + } + + if(i == 4){ + global.hijump = 1; + global.hijumpPrev = global.hijump; + popup_text("Hi jump enabled"); + } + + if(i == 5){ + global.currentsuit = 1; + global.currentsuitPrev = global.currentsuit; + popup_text("Varia suit enabled"); + if(sfx_isplaying(sndSpinJump)){ + sfx_stop(sndSpinJump); + } + + if(sfx_isplaying(sndSpaceJump)){ + sfx_stop(sndSpaceJump); + } + + if(sfx_isplaying(sndScrewAttack)){ + sfx_stop(sndScrewAttack); + } + + if(sfx_isplaying(sndSpaceScrewAttack)){ + sfx_stop(sndSpaceScrewAttack); + } + } + + if(i == 6){ + global.spacejump = 1; + global.spacejumpPrev = global.spacejump; + popup_text("Spacejump enabled"); + if(sfx_isplaying(sndSpinJump)){ + sfx_stop(sndSpinJump); + } + + if(sfx_isplaying(sndSpaceJump)){ + sfx_stop(sndSpaceJump); + } + + if(sfx_isplaying(sndScrewAttack)){ + sfx_stop(sndScrewAttack); + } + + if(sfx_isplaying(sndSpaceScrewAttack)){ + sfx_stop(sndSpaceScrewAttack); + } + } + + if(i == 7){ + global.speedbooster = 1; + global.speedboosterPrev = global.speedbooster; + popup_text("Speedbooster enabled"); + } + + if(i == 8){ + global.screwattack = 1; + global.screwattackPrev = global.screwattack; + popup_text("Screwattack enabled"); + if(sfx_isplaying(sndSpinJump)){ + sfx_stop(sndSpinJump); + } + + if(sfx_isplaying(sndSpaceJump)){ + sfx_stop(sndSpaceJump); + } + + if(sfx_isplaying(sndScrewAttack)){ + sfx_stop(sndScrewAttack); + } + + if(sfx_isplaying(sndSpaceScrewAttack)){ + sfx_stop(sndSpaceScrewAttack); + } + } + + if(i == 9){ + global.currentsuit = 2; + global.currentsuitPrev = global.currentsuit; + popup_text("Gravity suit enabled"); + if(sfx_isplaying(sndSpinJump)){ + sfx_stop(sndSpinJump); + } + + if(sfx_isplaying(sndSpaceJump)){ + sfx_stop(sndSpaceJump); + } + + if(sfx_isplaying(sndScrewAttack)){ + sfx_stop(sndScrewAttack); + } + + if(sfx_isplaying(sndSpaceScrewAttack)){ + sfx_stop(sndSpaceScrewAttack); + } + } + + if(i == 10){ + global.cbeam = 1; + global.cbeamPrev = global.cbeam; + popup_text("Charge beam enabled"); + } + + if(i == 11){ + global.ibeam = 1; + global.ibeamPrev = global.ibeam; + popup_text("Ice beam enabled"); + } + + if(i == 12){ + global.wbeam = 1; + global.wbeamPrev = global.wbeam; + popup_text("Wave beam enabled"); + } + + if(i == 13){ + global.sbeam = 1; + global.sbeamPrev = global.sbeam; + popup_text("Spazer beam enabled"); + } + + if(i == 14){ + global.pbeam = 1; + global.pbeamPrev = global.pbeam; + popup_text("Plasma beam enabled"); + } } else if(receivedItem == 0 && global.item[i] == 1){ resend = true; } @@ -2216,12 +2307,14 @@ switch(type_event){ case 51: var resend = false; for(var i=0; i<array_length_1d(global.event); i++){ - var receivedEvent = buffer_read(_buffer, buffer_u8); - if(receivedEvent > global.event[i]){ - global.event[i] = receivedEvent; - global.eventPrev[i] = global.event[i]; - } else if(receivedEvent < global.event[i]){ - resend = true; + if(i < 350){ + var receivedEvent = buffer_read(_buffer, buffer_u8); + if(receivedEvent > global.event[i]){ + global.event[i] = receivedEvent; + global.eventPrev[i] = global.event[i]; + } else if(receivedEvent < global.event[i]){ + resend = true; + } } } @@ -2562,10 +2655,14 @@ ds_list_destroy(global.hatchlingList); if(arrSprite == sSpiderMorphBall || arrSprite == sGSpiderMorphBall || arrSprite == sVSpiderMorphBall || arrSprite == sSpiderMorphBall_fusion || arrSprite == sSpiderMorphBall_fusion_gravity || arrSprite == sSpiderMorphBall_fusion_varia){ draw_set_blend_mode(bm_add); draw_set_alpha(arrFXTimer * 0.1); - pal_swap_set(sPalSpiderball, arrID, false); + if(global.shaders_compiled){ + pal_swap_set(oControl.SpiderballPalette, arrID, false); + } draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1); - pal_swap_reset(); - shader_reset(); + if(global.shaders_compiled){ + pal_swap_reset(); + shader_reset(); + } draw_set_alpha(1); draw_set_blend_mode(bm_normal); } @@ -2587,7 +2684,7 @@ if(instance_exists(oMapCursor)){ var arrID = arrMapIcon[0]; var arrX = arrMapIcon[1]; var arrY = arrMapIcon[2]; - draw_sprite_ext(sMultitroidMapIcon, (arrID - 1), (arrX * 8), ((arrY * 8) + 32), 1, 1, direction, c_white, oMapCursor.image_alpha); + draw_sprite_ext(oControl.MultitroidMapIcon, (arrID - 1), (arrX * 8), ((arrY * 8) + 32), 1, 1, direction, c_white, oMapCursor.image_alpha); } } } diff --git a/objects/oControl.object.gmx b/objects/oControl.object.gmx index 14f877d8..d8a33c3c 100644 --- a/objects/oControl.object.gmx +++ b/objects/oControl.object.gmx @@ -321,6 +321,8 @@ global.fontVersion = font_add_sprite_ext(sVersionFont, "V.0123456789", true, 1); global.am2r_version = "V1.5.2"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities. +global.multitroid_version = "V1.2"; + // Android global.gamestarted = 0; global.wave_height = 1; @@ -396,11 +398,9 @@ global.canConnect = true; reset_map(); load_character_vars(); -multitroidPalette = -1; -if (file_exists("mods/palettes/sPalMultitroid.png")) multitroidPalette = sprite_add("mods/palettes/sPalMultitroid.png", 1, false, false, 0, 0); -if(!(file_exists(working_directory + "\mod settings.ini"))){ +if(!(file_exists(working_directory + "\mod_settings.ini"))){ //Create new file - ini_open(working_directory + "\mod settings.ini"); + ini_open(working_directory + "\mod_settings.ini"); ini_write_string("ModSettings", "ipaddress", "127.0.0.1"); ini_write_string("ModSettings", "displayname", "name"); ini_write_real("ModSettings", "port", 64198); @@ -409,7 +409,7 @@ if(!(file_exists(working_directory + "\mod settings.ini"))){ ini_write_string("ModSettings", "showname", "enabled"); ini_close(); } -ini_open(working_directory + "\mod settings.ini"); +ini_open(working_directory + "\mod_settings.ini"); ipaddress = ini_read_string("ModSettings", "ipaddress", "127.0.0.1"); name = ini_read_string("ModSettings", "displayname", "name"); port = ini_read_real("ModSettings", "port", 64198); @@ -421,7 +421,7 @@ ini_close(); var nameLength = string_length(name); if(nameLength > 15){ name = string_copy(name, 1, 15); - ini_open(working_directory + "\mod settings.ini"); + ini_open(working_directory + "\mod_settings.ini"); ini_write_string("ModSettings", "displayname", name); ini_close(); } diff --git a/objects/oDrawTitleBG.object.gmx b/objects/oDrawTitleBG.object.gmx index 40ea151d..a43015ba 100644 --- a/objects/oDrawTitleBG.object.gmx +++ b/objects/oDrawTitleBG.object.gmx @@ -122,6 +122,8 @@ draw_background_ext(bgURL, 198+(oControl.widescreen_space/2), 232, 1, 1, 0, -1, draw_set_font(global.fontVersion); draw_background_ext(bgVersion, 0-(oControl.widescreen_space/2), 0, string_width(global.am2r_version) + 1, 1, 0, -1, image_alpha); draw_text_colour(1-(oControl.widescreen_space/2), 1, global.am2r_version, -1, -1, -1, -1, image_alpha); +draw_background_ext(bgVersion, 0-(oControl.widescreen_space/2), 9, string_width(global.multitroid_version) + 1, 1, 0, -1, image_alpha); +draw_text_colour(1-(oControl.widescreen_space/2), 10, global.multitroid_version, -1, -1, -1, -1, image_alpha); diff --git a/objects/oHatchling.object.gmx b/objects/oHatchling.object.gmx index b7b8d042..0eaf3165 100644 --- a/objects/oHatchling.object.gmx +++ b/objects/oHatchling.object.gmx @@ -283,7 +283,7 @@ mealtimer += 1; draw_set_blend_mode(bm_normal); } else { if(global.shaders_compiled){ - pal_swap_set(sPalMultitroidBaby, myid, false); + pal_swap_set(oControl.MultitroidBabyPalette, myid, false); } draw_self(); draw_sprite_ext(sprite_index, -1, x, y, 1, 1, 0, -1, flash); diff --git a/objects/oNametag.object.gmx b/objects/oNametag.object.gmx index 6617d62a..b684384b 100644 --- a/objects/oNametag.object.gmx +++ b/objects/oNametag.object.gmx @@ -76,7 +76,16 @@ var arrFXTimer = arrDraw[17]; var arrRoomPrev = arrDraw[18]; if((arrRoom == room || arrRoom == rm_options || arrRoom == itemroom || arrRoom == subscreenroom || arrRoom == maproom || arrRoom == rm_subscreen) && instance_exists(oCharacter) && room != rm_transition){ - if(oClient.showName){ + var showName = true; + switch(oControl.showname){ + case "disabled": + showName = false; + break; + case "enabled": + showName = true; + break; + } + if(showName){ var text; if(arrRoom == room){ text = arrName; @@ -89,13 +98,13 @@ } if(arrRoom != room){ if(arrRoomPrev == room){ - draw_set_font(font_displayname); + draw_set_font(fontGUI2); draw_set_halign(fa_center); draw_cool_text(arrX, arrY - 52, text, c_black, c_white, c_white, 1); draw_set_halign(fa_left); } } else { - draw_set_font(font_displayname); + draw_set_font(fontGUI2); draw_set_halign(fa_center); draw_cool_text(arrX, arrY - 52, text, c_black, c_white, c_white, 1); draw_set_halign(fa_left); diff --git a/objects/oOptionLRMod.object.gmx b/objects/oOptionLRMod.object.gmx new file mode 100644 index 00000000..01f1a7d0 --- /dev/null +++ b/objects/oOptionLRMod.object.gmx @@ -0,0 +1,93 @@ + + + <undefined> + 0 + -1 + 0 + 0 + <undefined> + <undefined> + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + optext = ""; +textoffset = 160; +editing = 0; +enabled = 1; + + + + + + + + 1 + 603 + 7 + 0 + 0 + -1 + 2 + + + self + 0 + 0 + + + 1 + w = string_width(optext); +if (w < 80) w = 80; +draw_set_alpha(1); +draw_set_font(fontGUI2); +draw_set_color(c_black); +draw_set_alpha(0.4); +if (global.curropt == optionid) draw_set_color(c_gray); +draw_rectangle(x - 2, y - 1, x + textoffset - 8, y + 8, false); +if (editing) draw_set_color(c_green); +draw_rectangle(x + textoffset - 2, y - 1, x + textoffset + w + 1, y + 8, false); +draw_set_alpha(1); +draw_set_color(c_black); +draw_text(x + 1, y - 3, label); +draw_text(x + textoffset + 1, y - 3, optext); +draw_set_color(c_white); +if (enabled == 0) { + draw_set_alpha(0.5); +} else draw_set_alpha(1); +draw_text(x, y - 4, label); +draw_text(x + textoffset, y - 4, optext); +draw_set_alpha(1); + + + + + + + 0 + 0 + 0 + 0.5 + 0.100000001490116 + 0 + 0.100000001490116 + 0.100000001490116 + 0.200000002980232 + -1 + 0 + + diff --git a/objects/oOptionsMod.object.gmx b/objects/oOptionsMod.object.gmx index 53c02ff4..cb8c5db5 100644 --- a/objects/oOptionsMod.object.gmx +++ b/objects/oOptionsMod.object.gmx @@ -280,6 +280,7 @@ if (active) { keyboard_string = ip; } sfx_play(sndMenuSel); + event_user(2); } if (global.curropt == num_port) { editing = !editing; @@ -288,6 +289,7 @@ if (active) { keyboard_string = port; } sfx_play(sndMenuSel); + event_user(2); } if (global.curropt == num_name) { editing = !editing; @@ -296,6 +298,7 @@ if (active) { keyboard_string = name; } sfx_play(sndMenuSel); + event_user(2); } if (global.curropt == num_connection){ if(!instance_exists(oClient) && global.canConnect){ @@ -310,6 +313,7 @@ if (active) { op[num_connection].label = connectiontxt; } sfx_play(sndMenuSel); + event_user(2); } if (global.curropt == lastitem) { save_gameoptions(); @@ -319,7 +323,6 @@ if (active) { instance_destroy(); sfx_play(sndMenuSel); } - event_user(2); } // if (oControl.kMenu1 && oControl.kMenu1PushedSteps == 0) /* @@ -351,7 +354,6 @@ if (active) { name = keyboard_string; op[num_name].optext = name; } - } // if (active) if (targety != y) y += (targety - y) / 10; timer -= 1; @@ -523,7 +525,7 @@ switch(showname){ break; } -ini_open(working_directory + "\mod settings.ini"); +ini_open(working_directory + "\mod_settings.ini"); ini_write_string("ModSettings", "ipaddress", ip); ini_write_real("ModSettings", "port", real(port)); ini_write_string("ModSettings", "displayname", name); @@ -593,7 +595,7 @@ op[50].text = "Multitroid settings"; var tempcount = 1; -op[num_ip] = instance_create(x, y + sep * tempcount++, oOptionLR); +op[num_ip] = instance_create(x, y + sep * tempcount++, oOptionLRMod); op[num_ip].label = "IP Address"; op[num_ip].optionid = num_ip; @@ -605,11 +607,11 @@ if (global.mod_gamebeaten == 0) { canedit[num_exmonsters] = 0; }*/ -op[num_port] = instance_create(x, y + sep * tempcount++, oOptionLR); +op[num_port] = instance_create(x, y + sep * tempcount++, oOptionLRMod); op[num_port].label = "Port"; op[num_port].optionid = num_port; -op[num_name] = instance_create(x, y + sep * tempcount++, oOptionLR); +op[num_name] = instance_create(x, y + sep * tempcount++, oOptionLRMod); op[num_name].label = "Display name"; op[num_name].optionid = num_name; diff --git a/scripts/draw_character_ext.gml b/scripts/draw_character_ext.gml index 38ff8e17..a2f43307 100644 --- a/scripts/draw_character_ext.gml +++ b/scripts/draw_character_ext.gml @@ -23,9 +23,9 @@ if(global.shaders_compiled){ if(global.shaders_compiled){ if(oControl.mod_fusion){ - pal_swap_set(sPalMultitroidFusion, ID, false); + pal_swap_set(oControl.MultitroidPaletteFusion, ID, false); } else { - pal_swap_set(sPalMultitroidNew, ID, false); + pal_swap_set(oControl.MultitroidPalette, ID, false); } } @@ -33,7 +33,7 @@ if(global.shaders_compiled){ draw_sprite_ext(argument0, argument14, argument1, argument2, argument10, 1, 0, argument11, argument12); draw_sprite_ext(argument3, argument14, argument1 + argument4, argument2 + argument5, argument10, 1, 0, argument11, argument12); if(global.shaders_compiled){ - pal_swap_set(sPalMultitroidNew, ID, false); + pal_swap_set(oControl.MultitroidPalette, ID, false); } if (argument13 == 1) { draw_sprite_ext(argument6, argument14, argument1 + argument7, argument2 + argument8, argument10, 1, argument9, argument11, argument12); diff --git a/scripts/draw_gui.gml b/scripts/draw_gui.gml index 066c5e1c..88c8721d 100644 --- a/scripts/draw_gui.gml +++ b/scripts/draw_gui.gml @@ -256,14 +256,16 @@ if(instance_exists(oClient)){ for(var f=0; f