diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 5bb897169eb..a58dfeb8947 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -284,6 +284,8 @@ CREATE TABLE `player` ( `parallax` tinyint(1) DEFAULT '8', `byond_date` DATE DEFAULT NULL, `2fa_status` ENUM('DISABLED','ENABLED_IP','ENABLED_ALWAYS') NOT NULL DEFAULT 'DISABLED' COLLATE 'utf8mb4_general_ci', + `screentip_mode` tinyint(1) DEFAULT '8', + `screentip_color` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#ffd391', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`), KEY `lastseen` (`lastseen`), diff --git a/SQL/updates/28-29.sql b/SQL/updates/28-29.sql new file mode 100644 index 00000000000..bcda03e6cf1 --- /dev/null +++ b/SQL/updates/28-29.sql @@ -0,0 +1,4 @@ +# Updates DB from 28 to 29 -S34N_W +# Adds support for screentips +ALTER TABLE `player` ADD COLUMN `screentip_mode` tinyint(1) DEFAULT '8'; +ALTER TABLE `player` ADD COLUMN `screentip_color` varchar(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '#ffd391' diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 7e0941d3e65..ea1cb9449ee 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -24,6 +24,9 @@ #define DROPDEL 16384 // When dropped, it calls qdel on itself +///Whether or not this atom shows screentips when hovered over +#define NO_SCREENTIPS 32768 + /* Secondary atom flags, for the flags_2 var, denoted with a _2 */ diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 5d3dbac9c50..c43360c809f 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -365,7 +365,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 28 +#define SQL_VERSION 29 // Vending machine stuff #define CAT_NORMAL 1 @@ -499,3 +499,13 @@ /// Waits at a line of code until X is true #define UNTIL(X) while(!(X)) sleep(world.tick_lag) + +/proc/client_from_var(I) + if(ismob(I)) + var/mob/A = I + return A.client + if(isclient(I)) + return I + if(istype(I, /datum/mind)) + var/datum/mind/B = I + return B.current.client diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 8a69c7aa4b3..8d836571086 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -123,6 +123,7 @@ overlays += img /obj/screen/movable/action_button/MouseEntered(location, control, params) + . = ..() if(!QDELETED(src)) openToolTip(usr, src, params, title = name, content = desc, theme = actiontooltipstyle) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index daf7bfe6b52..caf34917cb5 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -97,6 +97,7 @@ var/override_alerts = FALSE //If it is overriding other alerts of the same type /obj/screen/alert/MouseEntered(location,control,params) + . = ..() openToolTip(usr, src, params, title = name, content = desc, theme = alerttooltipstyle) diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index c408c1cd7b6..d5f6097df85 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -6,6 +6,7 @@ icon = 'icons/mob/blob.dmi' /obj/screen/blob/MouseEntered(location,control,params) + . = ..() openToolTip(usr,src,params,title = name,content = desc, theme = "blob") /obj/screen/blob/MouseExited() @@ -40,7 +41,7 @@ if(hud && hud.mymob && isovermind(hud.mymob)) name = initial(name) desc = initial(desc) - ..() + return ..() /obj/screen/blob/JumpToCore/Click() if(isovermind(usr)) @@ -106,7 +107,7 @@ if(hud && hud.mymob && isovermind(hud.mymob)) name = initial(name) desc = initial(desc) - ..() + return ..() /obj/screen/blob/ReadaptChemical/Click() if(isovermind(usr)) diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 67df5eb3013..98a7ac24780 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -6,6 +6,7 @@ icon = 'icons/mob/screen_ghost.dmi' /obj/screen/ghost/MouseEntered() + . = ..() flick(icon_state + "_anim", src) /obj/screen/ghost/jumptomob diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 9779e306939..242bd2f9439 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -39,6 +39,8 @@ var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object ///Assoc list of controller groups, associated with key string group name with value of the plane master controller ref var/list/atom/movable/plane_master_controller/plane_master_controllers = list() + ///UI for screentips that appear when you mouse over things + var/obj/screen/screentip/screentip_text /mob/proc/create_mob_hud() if(client && !hud_used) @@ -59,6 +61,9 @@ var/atom/movable/plane_master_controller/controller_instance = new mytype(src) plane_master_controllers[controller_instance.name] = controller_instance + screentip_text = new(null, src) + static_inventory += screentip_text + /datum/hud/Destroy() if(mymob.hud_used == src) mymob.hud_used = null @@ -98,6 +103,7 @@ QDEL_LIST_ASSOC_VAL(plane_master_controllers) mymob = null + QDEL_NULL(screentip_text) return ..() /datum/hud/proc/show_hud(version = 0) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index a01ea315e58..5b10d3ab944 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -218,6 +218,7 @@ return set_selected_zone(choice, usr) /obj/screen/zone_sel/MouseEntered(location, control, params) + . = ..() MouseMove(location, control, params) /obj/screen/zone_sel/MouseMove(location, control, params) @@ -356,7 +357,7 @@ var/list/object_overlays = list() /obj/screen/inventory/MouseEntered() - ..() + . = ..() add_overlays() /obj/screen/inventory/MouseExited() diff --git a/code/_onclick/hud/screentip.dm b/code/_onclick/hud/screentip.dm new file mode 100644 index 00000000000..beb8f033b9f --- /dev/null +++ b/code/_onclick/hud/screentip.dm @@ -0,0 +1,18 @@ +/obj/screen/screentip + icon = null + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + screen_loc = "TOP,LEFT" + maptext_height = 480 + maptext_width = 480 + maptext_y = -50 + maptext = "" + +/obj/screen/screentip/Initialize(mapload, _hud) + . = ..() + hud = _hud + update_view() + +/obj/screen/screentip/proc/update_view(datum/source) + if(!hud) //Might not have been initialized by now + return + maptext_width = getviewsize(hud.mymob.client.view)[1] * world.icon_size diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 6c18982600c..31100ba2887 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1167,6 +1167,21 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) appearance_flags |= PIXEL_SCALE transform = M +//Update the screentip to reflect what we're hovering over +/atom/MouseEntered(location, control, params) + if(!usr || !usr.client) + return + var/datum/hud/active_hud = usr.hud_used + if(!active_hud) + return + var/screentip_mode = usr.client.prefs.screentip_mode + if(screentip_mode == 0 || (flags & NO_SCREENTIPS)) + active_hud.screentip_text.maptext = "" + return + //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this + var/screentip_color = usr.client.prefs.screentip_color + active_hud.screentip_text.maptext = "[name]" + /* Setter for the `density` variable. Arguments: diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f918a1708ba..c2403fad5bb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -707,6 +707,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect openToolTip(user, src, params, title = name, content = "[desc]", theme = "") /obj/item/MouseEntered(location, control, params) + . = ..() if(in_inventory || in_storage) var/timedelay = 8 var/mob/user = usr diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 088450b754d..e7d578eec75 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -19,6 +19,7 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama var/icon_plating = "plating" thermal_conductivity = 0.040 heat_capacity = 10000 + flags = NO_SCREENTIPS var/lava = 0 var/broken = 0 var/burnt = 0 diff --git a/code/game/turfs/simulated/walls_indestructible.dm b/code/game/turfs/simulated/walls_indestructible.dm index 94bb89d0b6b..ed2e54026e8 100644 --- a/code/game/turfs/simulated/walls_indestructible.dm +++ b/code/game/turfs/simulated/walls_indestructible.dm @@ -84,6 +84,7 @@ icon = 'config/title_screens/images/blank.png' icon_state = "" layer = FLY_LAYER + flags = NO_SCREENTIPS /turf/simulated/wall/indestructible/uranium icon = 'icons/turf/walls/uranium_wall.dmi' diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index b943673c14b..891704fe9b5 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -17,6 +17,7 @@ var/destination_x var/destination_y plane = PLANE_SPACE + flags = NO_SCREENTIPS /turf/space/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 55a226d1944..7849995a0bc 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -791,9 +791,9 @@ winset(src, "rpane.rulesb", "background-color=#40628a;text-color=#FFFFFF") winset(src, "rpane.githubb", "background-color=#40628a;text-color=#FFFFFF") winset(src, "rpane.webmap", "background-color=#40628a;text-color=#FFFFFF") - /* Mainwindow */ - winset(src, "mainwindow.saybutton", "background-color=#40628a;text-color=#FFFFFF") - winset(src, "mainwindow.mebutton", "background-color=#40628a;text-color=#FFFFFF") + /* Outputwindow */ + winset(src, "outputwindow.saybutton", "background-color=#40628a;text-color=#FFFFFF") + winset(src, "outputwindow.mebutton", "background-color=#40628a;text-color=#FFFFFF") ///// UI ELEMENTS ///// /* Mainwindow */ winset(src, "mainwindow", "background-color=#272727") @@ -824,9 +824,9 @@ winset(src, "rpane.rulesb", "background-color=none;text-color=#000000") winset(src, "rpane.githubb", "background-color=none;text-color=#000000") winset(src, "rpane.webmap", "background-color=none;text-color=#000000") - /* Mainwindow */ - winset(src, "mainwindow.saybutton", "background-color=none;text-color=#000000") - winset(src, "mainwindow.mebutton", "background-color=none;text-color=#000000") + /* Outputwindow */ + winset(src, "outputwindow.saybutton", "background-color=none;text-color=#000000") + winset(src, "outputwindow.mebutton", "background-color=none;text-color=#000000") ///// UI ELEMENTS ///// /* Mainwindow */ winset(src, "mainwindow", "background-color=none") diff --git a/code/modules/client/login_processing/10-load_preferences.dm b/code/modules/client/login_processing/10-load_preferences.dm index ed4f947b40d..6cc42fb67ce 100644 --- a/code/modules/client/login_processing/10-load_preferences.dm +++ b/code/modules/client/login_processing/10-load_preferences.dm @@ -19,7 +19,9 @@ atklog, fuid, parallax, - 2fa_status + 2fa_status, + screentip_mode, + screentip_color FROM player WHERE ckey=:ckey"}, list( "ckey" = C.ckey diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm index d9f63ec2b3f..fe227081368 100644 --- a/code/modules/client/preference/link_processing.dm +++ b/code/modules/client/preference/link_processing.dm @@ -372,7 +372,7 @@ var/new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in valid_hairstyles if(new_h_style) active_character.h_style = new_h_style - + if("h_grad_style") var/result = input(user, "Choose your character's hair gradient style:", "Character Preference") as null|anything in GLOB.hair_gradients_list if(result) @@ -1047,6 +1047,16 @@ if(parent && parent.mob && parent.mob.hud_used) parent.mob.hud_used.update_parallax_pref() + if("screentip_mode") + var/desired_screentip_mode = clamp(input(user, "Pick a screentip size, pick 0 to disable screentips. (We suggest a number between 8 and 15):", "Screentip Size") as null|num, 0, 20) + if(!isnull(desired_screentip_mode)) + screentip_mode = desired_screentip_mode + + if("screentip_color") + var/screentip_color_new = input(user, "Choose your screentip color", screentip_color) as color|null + if(screentip_color_new) + screentip_color = screentip_color_new + if("edit_2fa") // Do this async so we arent holding up a topic() call INVOKE_ASYNC(user.client, /client.proc/edit_2fa) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 3af6756a0f5..d3d1610b248 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -99,6 +99,10 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts var/parallax = PARALLAX_HIGH /// 2FA status var/_2fa_status = _2FA_DISABLED + ///Screentip Mode, in pixels. 8 is small, 15 is mega big, 0 is off. + var/screentip_mode = 8 + ///Color of screentips at top of screen + var/screentip_color = "#ffd391" /// Did we load successfully? var/successful_load = FALSE /// Have we loaded characters already? @@ -389,6 +393,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts else dat += "High" dat += "
" + dat += "Set screentip mode: [(screentip_mode == 0) ? "Disabled" : "[screentip_mode]px"]
" + dat += "Screentip color:     Change
" dat += "Play Admin MIDIs: [(sound & SOUND_MIDI) ? "Yes" : "No"]
" dat += "Play Lobby Music: [(sound & SOUND_LOBBY) ? "Yes" : "No"]
" dat += "Randomized Character Slot: [toggles2 & PREFTOGGLE_2_RANDOMSLOT ? "Yes" : "No"]
" diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index 923a430f9dc..dae1c279704 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -21,6 +21,8 @@ fuid = text2num(query.item[15]) parallax = text2num(query.item[16]) _2fa_status = query.item[17] + screentip_mode = query.item[18] + screentip_color = query.item[19] //Sanitize ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) @@ -37,6 +39,8 @@ atklog = sanitize_integer(atklog, 0, 100, initial(atklog)) fuid = sanitize_integer(fuid, 0, 10000000, initial(fuid)) parallax = sanitize_integer(parallax, 0, 16, initial(parallax)) + screentip_mode = sanitize_text(screentip_mode, initial(screentip_mode)) + screentip_color = sanitize_hexcolor(screentip_color, initial(screentip_color)) return TRUE /datum/preferences/proc/save_preferences(client/C) @@ -68,7 +72,9 @@ lastchangelog=:lastchangelog, clientfps=:clientfps, parallax=:parallax, - 2fa_status=:_2fa_status + 2fa_status=:_2fa_status, + screentip_mode=:screentip_mode, + screentip_color=:screentip_color WHERE ckey=:ckey"}, list( // OH GOD THE PARAMETERS "ooccolour" = ooccolor, @@ -87,6 +93,8 @@ "clientfps" = clientfps, "parallax" = parallax, "_2fa_status" = _2fa_status, + "screentip_mode" = screentip_mode, + "screentip_color" = screentip_color, "ckey" = C.ckey, ) ) diff --git a/config/example/config.toml b/config/example/config.toml index 6c4cf8b52ce..5d6595ffcec 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -141,7 +141,7 @@ ipc_screens = [ # Enable/disable the database on a whole sql_enabled = false # SQL version. If this is a mismatch, round start will be delayed -sql_version = 28 +sql_version = 29 # SQL server address. Can be an IP or DNS name sql_address = "127.0.0.1" # SQL server port diff --git a/interface/skin.dmf b/interface/skin.dmf index e4850ea368a..49bcc9919c6 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -1,5 +1,6 @@ macro "default" + menu "menu" elem name = "&File" @@ -144,11 +145,12 @@ window "mainwindow" type = MAIN pos = 0,0 size = 640x440 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-default = true saved-params = "pos;size;is-minimized;is-maximized" title = "Paradise Station 13" + statusbar = false is-maximized = true icon = 'icons\\paradise.png' macro = "default" @@ -157,56 +159,26 @@ window "mainwindow" type = BROWSER pos = 0,0 size = 200x200 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-visible = false saved-params = "" elem "mainvsplit" type = CHILD pos = 3,0 - size = 634x416 + size = 634x440 anchor1 = 0,0 anchor2 = 100,100 saved-params = "splitter" left = "mapwindow" right = "rpane" is-vert = true - elem "input" - type = INPUT - pos = 3,420 - size = 477x20 - anchor1 = 0,100 - anchor2 = 100,100 - background-color = #d3b5b5 - is-default = true - border = sunken - saved-params = "command" - elem "saybutton" - type = BUTTON - pos = 480,420 - size = 80x20 - anchor1 = 100,100 - anchor2 = none - saved-params = "is-checked" - text = "Chat" - command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\"\"saybutton.is-checked=true?mebutton.is-checked=false\"" - button-type = pushbox - elem "mebutton" - type = BUTTON - pos = 560,420 - size = 80x20 - anchor1 = 100,100 - anchor2 = none - saved-params = "is-checked" - text = "Me" - command = ".winset \"mebutton.is-checked=true?input.command=\"!me \\\"\" macrobutton.is-checked=false:input.command=\"\"mebutton.is-checked=true?saybutton.is-checked=false\"" - button-type = pushbox elem "tooltip" type = BROWSER pos = 0,0 size = 999x999 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-visible = false saved-params = "" @@ -215,11 +187,12 @@ window "mapwindow" type = MAIN pos = 0,0 size = 640x480 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "pos;size;is-minimized;is-maximized" title = "Map window" is-pane = true + on-status = ".winset \"status_bar.text=[[*]]\" " elem "map" type = MAP pos = 0,0 @@ -231,38 +204,85 @@ window "mapwindow" text-color = none is-default = true saved-params = "icon-size" - style=".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_srus {color: #7c4848;} .zombie {color: #ff0000;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .kidan {color: #664205;} .slime {color: #0077AA;} .drask {color: #a3d4eb;} .vulpkanin {color: #B97A57;} .abductor {color: #800080; font-style: italic;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }" + style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_srus {color: #7c4848;} .zombie\t{color: #ff0000;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .kidan {color: #664205;} .slime {color: #0077AA;} .drask {color: #a3d4eb;} .vulpkanin {color: #B97A57;} .abductor {color: #800080; font-style: italic;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }" + elem "status_bar" + type = LABEL + pos = 0,464 + size = 280x16 + anchor1 = 0,100 + anchor2 = -1,-1 + text-color = #ffffff + background-color = #222222 + is-visible = true + border = line + saved-params = "" + text = "" + align = left window "outputwindow" elem "outputwindow" type = MAIN - pos = 0,0 + pos = 281,0 size = 640x480 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 + background-color = none saved-params = "pos;size;is-minimized;is-maximized" title = "Output window" can-close = false can-minimize = false is-pane = true + outer-size = 656x538 + inner-size = 640x499 + elem "input" + type = INPUT + pos = 2,460 + size = 517x20 + anchor1 = 0,100 + anchor2 = 100,100 + background-color = #d3b5b5 + is-default = true + border = sunken + saved-params = "command" + elem "saybutton" + type = BUTTON + pos = 480,460 + size = 80x19 + anchor1 = 100,100 + anchor2 = -1,-1 + background-color = none + saved-params = "is-checked" + text = "Say" + command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\"\"saybutton.is-checked=true?mebutton.is-checked=false\"" + button-type = pushbox + elem "mebutton" + type = BUTTON + pos = 559,460 + size = 80x19 + anchor1 = 100,100 + anchor2 = -1,-1 + background-color = none + saved-params = "is-checked" + text = "Me" + command = ".winset \"mebutton.is-checked=true ? input.command=\"!me \\\"\" : input.command=\"\"mebutton.is-checked=true ? saybutton.is-checked=false\"\"mebutton.is-checked=true ? oocbutton.is-checked=false\"" + button-type = pushbox elem "browseroutput" type = BROWSER pos = 0,0 - size = 640x480 + size = 640x456 anchor1 = 0,0 anchor2 = 100,100 background-color = #ffffff is-disabled = true saved-params = "" - auto-format = false window "rpane" elem "rpane" type = MAIN pos = 0,0 size = 640x480 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "pos;size;is-minimized;is-maximized" is-pane = true elem "rpanewindow" @@ -278,8 +298,8 @@ window "rpane" type = BUTTON pos = 0,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-visible = false saved-params = "is-checked" text = "Text" @@ -300,8 +320,8 @@ window "rpane" type = BUTTON pos = 64,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-visible = false saved-params = "is-checked" text = "Info" @@ -312,8 +332,8 @@ window "rpane" type = BUTTON pos = 150,7 size = 50x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "is-checked" text = "Wiki" command = "wiki" @@ -321,8 +341,8 @@ window "rpane" type = BUTTON pos = 202,7 size = 50x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "is-checked" text = "Forum" command = "forum" @@ -330,8 +350,8 @@ window "rpane" type = BUTTON pos = 254,7 size = 50x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "is-checked" text = "Rules" command = "rules" @@ -339,8 +359,8 @@ window "rpane" type = BUTTON pos = 306,7 size = 50x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "is-checked" text = "GitHub" command = "github" @@ -348,8 +368,8 @@ window "rpane" type = BUTTON pos = 415,7 size = 67x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "is-checked" text = "Changelog" command = "Changelog" @@ -357,8 +377,8 @@ window "rpane" type = BUTTON pos = 487,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 font-style = "bold" text-color = #ffffff background-color = #7289da @@ -369,8 +389,8 @@ window "rpane" type = BUTTON pos = 552,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 font-style = "bold" text-color = #ffffff background-color = #ff4500 @@ -381,8 +401,8 @@ window "rpane" type = BUTTON pos = 617,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 font-style = "bold" text-color = #ffffff background-color = #008000 @@ -393,8 +413,8 @@ window "rpane" type = BUTTON pos = 561,7 size = 60x16 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 is-visible = false saved-params = "is-checked" text = "Browser" @@ -407,8 +427,8 @@ window "browserwindow" type = MAIN pos = 0,0 size = 640x480 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "pos;size;is-minimized;is-maximized" title = "Browser" is-pane = true @@ -428,8 +448,8 @@ window "infowindow" type = MAIN pos = 0,0 size = 640x480 - anchor1 = none - anchor2 = none + anchor1 = -1,-1 + anchor2 = -1,-1 saved-params = "pos;size;is-minimized;is-maximized" title = "Info" is-pane = true diff --git a/paradise.dme b/paradise.dme index b54d8813b0e..fca4ac6d8a3 100644 --- a/paradise.dme +++ b/paradise.dme @@ -186,6 +186,7 @@ #include "code\_onclick\hud\radial.dm" #include "code\_onclick\hud\robot.dm" #include "code\_onclick\hud\screen_objects.dm" +#include "code\_onclick\hud\screentip.dm" #include "code\_onclick\hud\slime.dm" #include "code\_onclick\hud\swarmer.dm" #include "code\controllers\controller.dm"