diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql
index 67a5e7c4cde..91ba6281ad6 100644
--- a/SQL/paradise_schema.sql
+++ b/SQL/paradise_schema.sql
@@ -286,6 +286,8 @@ CREATE TABLE `player` (
`discord_name` varchar(32) NULL DEFAULT NULL,
`keybindings` longtext COLLATE 'utf8mb4_unicode_ci' DEFAULT NULL,
`viewrange` VARCHAR(5) NOT NULL DEFAULT '19x15' 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/30-31.sql b/SQL/updates/30-31.sql
new file mode 100644
index 00000000000..76b07240d34
--- /dev/null
+++ b/SQL/updates/30-31.sql
@@ -0,0 +1,4 @@
+# Updates DB from 30 to 31 -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/_maps/map_files/generic/CentComm.dmm b/_maps/map_files/generic/CentComm.dmm
index cfddb04afa9..b12a97733b0 100644
--- a/_maps/map_files/generic/CentComm.dmm
+++ b/_maps/map_files/generic/CentComm.dmm
@@ -9197,7 +9197,7 @@
},
/area/syndicate_mothership)
"eNQ" = (
-/turf/simulated/wall/indestructible/splashcreen,
+/turf/simulated/wall/indestructible/splashscreen,
/area/start)
"eNU" = (
/obj/structure/chair/sofa/left{
diff --git a/_maps/map_files/generic/z2_old.dmm b/_maps/map_files/generic/z2_old.dmm
index 9498a12e6dc..9544082f87d 100644
--- a/_maps/map_files/generic/z2_old.dmm
+++ b/_maps/map_files/generic/z2_old.dmm
@@ -11365,7 +11365,7 @@
/turf/simulated/wall/shuttle,
/area/shuttle/gamma/space)
"iBH" = (
-/turf/simulated/wall/indestructible/splashcreen,
+/turf/simulated/wall/indestructible/splashscreen,
/area/start)
"iBQ" = (
/obj/structure/table/wood,
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 2b3ad731250..ab81bfcf879 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -31,6 +31,8 @@
#define NO_PIXEL_RANDOM_DROP 131072 // If dropped, it wont have a randomized pixel_x/pixel_y
+///Whether or not this atom shows screentips when hovered over
+#define NO_SCREENTIPS 262144
/* 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 1062d6f2d80..f6115322039 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -385,7 +385,7 @@
#define EXPLOSION_BLOCK_PROC -1
// The SQL version required by this version of the code
-#define SQL_VERSION 30
+#define SQL_VERSION 31
// Vending machine stuff
#define CAT_NORMAL 1
@@ -522,3 +522,13 @@
// This isnt in client_defines due to scoping issues
#define DEFAULT_CLIENT_VIEWSIZE "19x15"
+
+/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 34335743ee5..4eeced6c7fa 100644
--- a/code/_onclick/hud/action_button.dm
+++ b/code/_onclick/hud/action_button.dm
@@ -124,6 +124,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 ca768aa9bd1..5216909bee0 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -102,6 +102,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 01940be1d8b..ebdd8dede8e 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()
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 3c46db26768..5d29ede915d 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -42,6 +42,8 @@
var/action_buttons_hidden = FALSE
var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object
+ ///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)
@@ -58,6 +60,9 @@
plane_masters["[instance.plane]"] = instance
instance.backdrop(mymob)
+ screentip_text = new(null, src)
+ static_inventory += screentip_text
+
/datum/hud/Destroy()
if(mymob.hud_used == src)
mymob.hud_used = null
@@ -100,6 +105,7 @@
QDEL_LIST_ASSOC_VAL(plane_masters)
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 f2c3a7aa162..bd5ddb74ba1 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -253,6 +253,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)
@@ -401,7 +402,7 @@
var/image/object_overlay
/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..3d0195c6d1a
--- /dev/null
+++ b/code/_onclick/hud/screentip.dm
@@ -0,0 +1,17 @@
+/obj/screen/screentip
+ icon = null
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ screen_loc = "TOP,LEFT"
+ maptext_height = 480
+ maptext_width = 480
+ 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/controllers/subsystem/titlescreen.dm b/code/controllers/subsystem/titlescreen.dm
index 90b6de9df7d..6f98da89b9a 100644
--- a/code/controllers/subsystem/titlescreen.dm
+++ b/code/controllers/subsystem/titlescreen.dm
@@ -32,7 +32,7 @@ SUBSYSTEM_DEF(title)
var/icon/icon = new(fcopy_rsc(file_path))
- for(var/turf/simulated/wall/indestructible/splashcreen/splash in world)
+ for(var/turf/simulated/wall/indestructible/splashscreen/splash in world)
splash.icon = icon
return ..()
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index abaa5da4eba..a09fe1d0b04 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1140,6 +1140,22 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
name = "[prefix][t]"
return t
+//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 61d6292bdf5..1056a09aaa5 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -910,6 +910,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g
/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 e2f4b96eea2..216f9d02806 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -29,6 +29,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 fb024f742a8..5dcb059b4eb 100644
--- a/code/game/turfs/simulated/walls_indestructible.dm
+++ b/code/game/turfs/simulated/walls_indestructible.dm
@@ -264,11 +264,12 @@
canSmoothWith = list(/turf/simulated/wall/indestructible/abductor)
smooth = SMOOTH_TRUE
-/turf/simulated/wall/indestructible/splashcreen
+/turf/simulated/wall/indestructible/splashscreen
name = "Space Station 13"
icon = 'config/title_screens/images/blank.png'
icon_state = ""
layer = FLY_LAYER
+ flags = NO_SCREENTIPS
/turf/simulated/wall/indestructible/sandstone
name = "sandstone wall"
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index a6107b594d6..da2cf6f3981 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -7,7 +7,6 @@
thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT
heat_capacity = HEAT_CAPACITY_VACUUM
- plane = PLANE_SPACE
layer = SPACE_LAYER
light_power = 0.25
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
@@ -17,6 +16,7 @@
var/destination_x
var/destination_y
plane = PLANE_SPACE
+ flags = NO_SCREENTIPS
footstep = null
barefootstep = null
clawfootstep = null
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 1c9f133673f..e61ee0bd4f5 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -979,9 +979,9 @@
winset(src, "rpane.forumb", "background-color=#40628a;text-color=#FFFFFF")
winset(src, "rpane.rulesb", "background-color=#40628a;text-color=#FFFFFF")
winset(src, "rpane.githubb", "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")
@@ -996,8 +996,8 @@
winset(src, "browserwindow", "background-color=#272727")
winset(src, "browserwindow.browser", "background-color=#272727")
/* Infowindow */
- winset(src, "infowindow", "background-color=#272727;text-color=#FFFFFF")
- winset(src, "infowindow.info", "background-color=#272727;text-color=#FFFFFF;highlight-color=#009900;tab-text-color=#FFFFFF;tab-background-color=#272727")
+ winset(src, "infowindow", "background-color=#202020;text-color=#a4bad6")
+ winset(src, "infowindow.info", "background-color=#171717;text-color=#a4bad6;highlight-color=#009900;tab-text-color=#a4bad6;tab-background-color=#202020")
// NOTIFY USER
to_chat(src, "Darkmode Enabled")
@@ -1011,9 +1011,9 @@
winset(src, "rpane.forumb", "background-color=none;text-color=#000000")
winset(src, "rpane.rulesb", "background-color=none;text-color=#000000")
winset(src, "rpane.githubb", "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/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index f8aedca8ee0..80bb93311a9 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -239,6 +239,10 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
var/list/keybindings_overrides = null
/// View range preference for this client
var/viewrange = DEFAULT_CLIENT_VIEWSIZE
+ ///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"
/datum/preferences/New(client/C)
parent = C
@@ -543,6 +547,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
dat += "Randomized Character Slot: [toggles2 & PREFTOGGLE_2_RANDOMSLOT ? "Yes" : "No"]
"
dat += "Window Flashing: [(toggles2 & PREFTOGGLE_2_WINDOWFLASHING) ? "Yes" : "No"]
"
dat += "View Range: [viewrange]
"
+ dat += "Set screentip mode: [(screentip_mode == 0) ? "Disabled" : "[screentip_mode]px"]
"
+ dat += "Screentip color: Change
"
// RIGHT SIDE OF THE PAGE
dat += "
"
dat += "Special Role Settings"
@@ -2254,6 +2260,16 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
var/list/actualview = getviewsize(parent.view)
parent.void.UpdateGreed(actualview[1],actualview[2])
+ 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("afk_watch")
if(!(toggles2 & PREFTOGGLE_2_AFKWATCH))
to_chat(user, "You will now get put into cryo dorms after [config.auto_cryo_afk] minutes. \
diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm
index 2dc616c24d1..554b6e14bc9 100644
--- a/code/modules/client/preference/preferences_mysql.dm
+++ b/code/modules/client/preference/preferences_mysql.dm
@@ -20,7 +20,9 @@
discord_id,
discord_name,
keybindings,
- viewrange
+ viewrange,
+ screentip_mode,
+ screentip_color
FROM [format_table_name("player")]
WHERE ckey=:ckey"}, list(
"ckey" = C.ckey
@@ -53,6 +55,8 @@
discord_name = query.item[18]
keybindings = init_keybindings(raw = query.item[19])
viewrange = query.item[20]
+ screentip_mode = query.item[21]
+ screentip_color = query.item[22]
qdel(query)
@@ -73,6 +77,8 @@
parallax = sanitize_integer(parallax, 0, 16, initial(parallax))
discord_id = sanitize_text(discord_id, initial(discord_id))
discord_name = sanitize_text(discord_name, initial(discord_name))
+ screentip_mode = sanitize_integer(screentip_mode, 0, 20, initial(screentip_mode))
+ screentip_color = sanitize_hexcolor(screentip_color, initial(screentip_color))
return 1
/datum/preferences/proc/save_preferences(client/C)
@@ -105,7 +111,9 @@
clientfps=:clientfps,
parallax=:parallax,
keybindings=:keybindings,
- viewrange=:viewrange
+ viewrange=:viewrange,
+ screentip_mode=:screentip_mode,
+ screentip_color=:screentip_color
WHERE ckey=:ckey"}, list(
// OH GOD THE PARAMETERS
"ooccolour" = ooccolor,
@@ -125,6 +133,8 @@
"parallax" = parallax,
"keybindings" = json_encode(keybindings_overrides),
"viewrange" = viewrange,
+ "screentip_mode" = screentip_mode,
+ "screentip_color" = screentip_color,
"ckey" = C.ckey
)
)
diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt
index fbd51c1aa75..e64d877ec4a 100644
--- a/config/example/dbconfig.txt
+++ b/config/example/dbconfig.txt
@@ -9,7 +9,7 @@
## This value must be set to the version of the paradise schema in use.
## If this value does not match, the SQL database will not be loaded and an error will be generated.
## Roundstart will be delayed.
-DB_VERSION 30
+DB_VERSION 31
## Server the MySQL database can be found at.
# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc.
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 36121bd7cba..12c093a3dc0 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1,44 +1,33 @@
macro "default"
+
menu "menu"
elem
name = "&File"
- command = ""
- saved-params = "is-checked"
elem
name = "&Quick screenshot"
command = ".screenshot auto"
category = "&File"
- saved-params = "is-checked"
elem
name = "&Save screenshot as..."
command = ".screenshot"
category = "&File"
- saved-params = "is-checked"
elem "reconnectbutton"
name = "&Reconnect"
command = ".reconnect"
category = "&File"
- saved-params = "is-checked"
elem
name = ""
- command = ""
category = "&File"
- saved-params = "is-checked"
elem
name = "&Quit"
command = ".quit"
category = "&File"
- saved-params = "is-checked"
elem
name = "&Icons"
- command = ""
- saved-params = "is-checked"
elem
name = "&Size"
- command = ""
category = "&Icons"
- saved-params = "is-checked"
elem "stretch"
name = "&Stretch to fit"
command = ".winset \"mapwindow.map.icon-size=0\""
@@ -46,120 +35,115 @@ menu "menu"
is-checked = true
can-check = true
group = "size"
- saved-params = "is-checked"
elem "icon128"
name = "&128x128 (4x)"
command = ".winset \"mapwindow.map.icon-size=128\""
category = "&Size"
can-check = true
group = "size"
- saved-params = "is-checked"
+ elem "icon112"
+ name = "&112x112 (3.5x)"
+ command = ".winset \"mapwindow.map.icon-size=112\""
+ category = "&Size"
+ can-check = true
+ group = "size"
elem "icon96"
name = "&96x96 (3x)"
command = ".winset \"mapwindow.map.icon-size=96\""
category = "&Size"
can-check = true
group = "size"
- saved-params = "is-checked"
+ elem "icon80"
+ name = "&80x80 (2.5x)"
+ command = ".winset \"mapwindow.map.icon-size=80\""
+ category = "&Size"
+ can-check = true
+ group = "size"
elem "icon64"
name = "&64x64 (2x)"
command = ".winset \"mapwindow.map.icon-size=64\""
category = "&Size"
can-check = true
group = "size"
- saved-params = "is-checked"
elem "icon48"
name = "&48x48 (1.5x)"
command = ".winset \"mapwindow.map.icon-size=48\""
category = "&Size"
can-check = true
group = "size"
- saved-params = "is-checked"
elem "icon32"
name = "&32x32"
command = ".winset \"mapwindow.map.icon-size=32\""
category = "&Size"
can-check = true
group = "size"
- saved-params = "is-checked"
elem
name = "&Scaling"
- command = ""
category = "&Icons"
- saved-params = "is-checked"
elem "NN"
name = "&Nearest Neighbor"
command = ".winset \"mapwindow.map.zoom-mode=distort\""
category = "&Scaling"
can-check = true
+ is-checked = true
group = "scale"
- saved-params = "is-checked"
elem "PS"
name = "&Point Sampling"
command = ".winset \"mapwindow.map.zoom-mode=normal\""
category = "&Scaling"
can-check = true
group = "scale"
- saved-params = "is-checked"
elem "BL"
name = "&Bilinear"
command = ".winset \"mapwindow.map.zoom-mode=blur\""
category = "&Scaling"
can-check = true
group = "scale"
- saved-params = "is-checked"
elem "textmode"
name = "&Text"
command = ".winset \"menu.textmode.is-checked=true?mapwindow.map.text-mode=true:mapwindow.map.text-mode=false\""
category = "&Icons"
can-check = true
- saved-params = "is-checked"
elem
- name = "&Volume"
- command = ""
- saved-params = "is-checked"
+ name = "&Options"
elem
name = "&Open Volume Mixer"
command = "Open-Volume-Mixer"
- category = "&Volume"
+ category = "&Options"
+ elem "statusbar"
+ name = "&Show status bar"
+ category = "&Options"
+ can-check = true
+ is-checked = true
saved-params = "is-checked"
+ command = ".winset \"menu.statusbar.is-checked=true?mapwindow.status_bar.is-visible=true:mapwindow.status_bar.is-visible=false\""
elem
name = "&Help"
- command = ""
- saved-params = "is-checked"
elem
name = "&Admin help"
command = "adminhelp"
category = "&Help"
- saved-params = "is-checked"
window "mainwindow"
elem "mainwindow"
type = MAIN
- pos = 0,0
size = 640x440
- anchor1 = none
- anchor2 = none
is-default = true
saved-params = "pos;size;is-minimized;is-maximized"
- on-size = "fitviewport"
+ title = "Paradise Station 13"
+ statusbar = false
is-maximized = true
icon = 'icons\\paradise.png'
macro = "default"
menu = "menu"
elem "asset_cache_browser"
type = BROWSER
- pos = 0,0
size = 200x200
- anchor1 = none
- anchor2 = none
is-visible = false
- saved-params = ""
elem "mainvsplit"
type = CHILD
- pos = 0,0
- size = 640x440
+ size = 0x0
anchor1 = 0,0
anchor2 = 100,100
saved-params = "splitter"
@@ -168,26 +152,17 @@ window "mainwindow"
is-vert = true
elem "tooltip"
type = BROWSER
- pos = 0,0
size = 999x999
- anchor1 = none
- anchor2 = none
is-visible = false
- saved-params = ""
window "mapwindow"
elem "mapwindow"
type = MAIN
- pos = 0,0
size = 640x480
- anchor1 = none
- anchor2 = none
- 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
size = 640x480
anchor1 = 0,0
anchor2 = 100,100
@@ -196,192 +171,149 @@ window "mapwindow"
text-color = none
is-default = true
saved-params = "icon-size"
- style=".center { text-align: center; } .maptext { font-family: 'MS Serif'; 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: 9px; } .extremelybig { font-size: 10px; } .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;} .moth {color: #869b29;} .vulpkanin {color: #B97A57;} .abductor {color: #800080; font-style: italic;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-size: 6px; } .command_headset { font-weight: bold; font-size: 8px; }"
+ zoom-mode = "distort"
+ 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; }"
+ on-show = ".winset \"menu.statusbar.is-checked=true?mapwindow.status_bar.is-visible=true:mapwindow.status_bar.is-visible=false\""
+ elem "status_bar"
+ type = LABEL
+ pos = 0,464
+ size = 280x16
+ anchor1 = 0,100
+ anchor2 = -1,-1
+ text-color = #ffffff
+ background-color = #222222
+ border = line
+ text = ""
+ align = left
window "outputwindow"
elem "outputwindow"
type = MAIN
pos = 0,0
- size = 640x500
- anchor1 = none
- anchor2 = none
- saved-params = "pos;size;is-minimized;is-maximized"
- title = "Output window"
- can-close = false
- can-minimize = false
- is-pane = true
- elem "browseroutput"
- type = BROWSER
- pos = 0,0
- size = 640x480
+ size = 637x480
anchor1 = 0,0
anchor2 = 100,100
- background-color = #ffffff
- is-disabled = true
- saved-params = ""
- auto-format = false
+ is-pane = true
elem "input"
type = INPUT
- pos = 0,480
- size = 544x20
+ pos = 3,456
+ size = 467x20
anchor1 = 0,100
anchor2 = 100,100
background-color = #d3b5b5
is-default = true
- border = sunken
+ border = line
saved-params = "command"
elem "saybutton"
type = BUTTON
- pos = 544,480
- size = 48x20
+ pos = 474,456
+ size = 80x20
anchor1 = 100,100
- anchor2 = none
- saved-params = "is-checked"
- text = "Chat"
+ anchor2 = -1,-1
+ 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 = 592,480
- size = 48x20
+ pos = 553,456
+ size = 80x20
anchor1 = 100,100
- anchor2 = none
- saved-params = "is-checked"
+ anchor2 = -1,-1
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\""
+ 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 = 633x452
+ anchor1 = 0,0
+ anchor2 = 100,100
+ background-color = #ffffff
+ is-disabled = true
window "rpane"
elem "rpane"
type = MAIN
pos = 0,0
- size = 640x480
- anchor1 = none
- anchor2 = none
+ size = 0x0
saved-params = "pos;size;is-minimized;is-maximized"
is-pane = true
elem "rpanewindow"
type = CHILD
- pos = -9,15
- size = 636x449
+ pos = 0,27
+ size = 0x0
anchor1 = 0,0
anchor2 = 100,100
saved-params = "splitter"
+ left = "infowindow"
right = "outputwindow"
is-vert = false
elem "fullscreenb"
type = BUTTON
pos = 5,7
size = 60x16
- anchor1 = none
- anchor2 = none
saved-params = "is-checked"
text = "Fullscreen"
command = "fullscreen"
elem "textb"
type = BUTTON
pos = 70,7
- size = 40x16
- anchor1 = none
- anchor2 = none
- is-visible = false
+ size = 60x16
saved-params = "is-checked"
text = "Text"
- command = ".winset \"rpanewindow.left=;\""
- is-checked = true
+ command = ".winset \"rpanewindow.top=;\""
group = "rpanemode"
button-type = pushbox
elem "infob"
type = BUTTON
- pos = 110,7
- size = 40x16
- anchor1 = none
- anchor2 = none
- is-visible = false
+ pos = 130,7
+ size = 60x16
+ is-checked = true
saved-params = "is-checked"
text = "Info"
- command = ".winset \"rpanewindow.left=infowindow\""
+ command = ".winset \"rpanewindow.top=infowindow\""
group = "rpanemode"
button-type = pushbox
elem "wikib"
type = BUTTON
- pos = 155,7
- size = 60x16
- anchor1 = none
- anchor2 = none
- saved-params = "is-checked"
+ pos = 195,7
+ size = 50x16
text = "Wiki"
command = "wiki"
elem "forumb"
type = BUTTON
- pos = 220,7
- size = 60x16
- anchor1 = none
- anchor2 = none
- saved-params = "is-checked"
+ pos = 245,7
+ size = 50x16
text = "Forum"
command = "forum"
elem "rulesb"
type = BUTTON
- pos = 285,7
- size = 60x16
- anchor1 = none
- anchor2 = none
- saved-params = "is-checked"
+ pos = 295,7
+ size = 50x16
text = "Rules"
command = "rules"
elem "githubb"
type = BUTTON
- pos = 350,7
- size = 60x16
- anchor1 = none
- anchor2 = none
- saved-params = "is-checked"
+ pos = 345,7
+ size = 50x16
text = "GitHub"
command = "github"
- elem "changelog"
- type = BUTTON
- pos = 415,7
- size = 67x16
- anchor1 = none
- anchor2 = none
- saved-params = "is-checked"
- text = "Changelog"
- command = "Changelog"
elem "discordb"
type = BUTTON
- pos = 487,7
+ pos = 395,7
size = 60x16
- anchor1 = none
- anchor2 = none
font-style = "bold"
text-color = #ffffff
background-color = #7289da
- saved-params = "is-checked"
text = "Discord"
command = "discord"
- elem "karma"
- type = BUTTON
- pos = 552,7
- size = 60x16
- anchor1 = none
- anchor2 = none
- font-style = "bold"
- text-color = #ffffff
- background-color = #ff4500
- saved-params = "is-checked"
- text = "Karma"
- command = "karmashop"
elem "donate"
type = BUTTON
- pos = 617,7
+ pos = 455,7
size = 60x16
- anchor1 = none
- anchor2 = none
font-style = "bold"
text-color = #ffffff
background-color = #008000
- saved-params = "is-checked"
text = "Donate"
command = "Donate"
@@ -389,21 +321,14 @@ window "infowindow"
elem "infowindow"
type = MAIN
pos = 0,0
- size = 640x480
- anchor1 = none
- anchor2 = none
- saved-params = "pos;size;is-minimized;is-maximized"
- title = "Info"
+ size = 0x0
is-pane = true
elem "info"
type = INFO
pos = 0,0
- size = 638x475
+ size = 0x0
anchor1 = 0,0
anchor2 = 100,100
is-default = true
- saved-params = ""
highlight-color = #00aa00
- on-show = ".winset\"rpane.infob.is-visible=true;rpane.browseb.is-visible=true?rpane.infob.pos=130,7:rpane.infob.pos=110,7 rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\""
- on-hide = ".winset\"rpane.infob.is-visible=false;rpane.browseb.is-visible=true?rpane.browseb.is-checked=true rpane.rpanewindow.left=browserwindow:rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\""
-
+ on-show = ".winset \"rpane.infob.is-checked=true?rpane.rpanewindow.top=infowindow:rpane.rpanewindow.top=\""
diff --git a/paradise.dme b/paradise.dme
index d18a6617137..645a55b5805 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -199,6 +199,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\ATMOSPHERICS\atmospherics.dm"
|