mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-22 04:24:20 +01:00
Serverside map icons.
This adjusts our titlescreen system to allow for hosting title screens seperately from the codebase, for licensing reasons and other. It supports both per-map title screens and "rare" screens, which are both done by parsing in the form of naming the file. Usage is covered in config/title_screens/README.txt, to summarize: - All title screens must have unique names. These can be anything, so long as they do not use the + or . characters. Example: NewLobby.png, DeadCats.jpg. - Any format BYOND can read is supported, the file extension doesn't really matter; Only exception is that .dmi files must only have *one* state, and it must not have a name. - Map-specific title screens are parsed by adding the MAP_NAME to the start of the image. Example: MetaStation+NewLobby.png, Cyberiad+NewLobby.png - I changed the MAP_NAME of the NSS Cyberiad from NSS Cyberiad to Cyberiad for this reason, to avoid any compatibility issues between filesystems. - Rare title screens can be made by using the format rare+name.ext. Example: rare+NyanCat.gif, rare+Mrowl.dmi - You cannot use both map-specific and rare modifiers at the same time to reduce parsing complexity.
This commit is contained in:
+1
-1
@@ -23,7 +23,7 @@ z7 = empty
|
||||
#include "map_files\cyberiad\z7.dmm"
|
||||
|
||||
#define MAP_FILE "cyberiad.dmm"
|
||||
#define MAP_NAME "NSS Cyberiad"
|
||||
#define MAP_NAME "Cyberiad"
|
||||
#define MAP_TRANSITION_CONFIG list(\
|
||||
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\
|
||||
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
icon = 'icons/obj/doors/Doorele.dmi'
|
||||
icon_state = "door_closed"
|
||||
|
||||
turf/unsimulated/wall/splashscreen
|
||||
/turf/unsimulated/wall/splashscreen
|
||||
name = "Space Station 13"
|
||||
icon = 'icons/misc/fullscreen.dmi'
|
||||
icon_state = "title"
|
||||
icon = 'config/title_screens/images/blank.png'
|
||||
icon_state = ""
|
||||
layer = FLY_LAYER
|
||||
|
||||
/turf/unsimulated/wall/other
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/hook/startup/proc/setup_title_screen()
|
||||
var/list/provisional_title_screens = flist("config/title_screens/images/")
|
||||
var/list/title_screens = list()
|
||||
var/use_rare_screens = prob(1)
|
||||
|
||||
for(var/S in provisional_title_screens)
|
||||
var/list/L = splittext(S,"+")
|
||||
if(L.len == 1 && L[1] != "blank.png")
|
||||
title_screens += S
|
||||
|
||||
else if(L.len > 1)
|
||||
if(use_rare_screens && lowertext(L[1]) == "rare")
|
||||
title_screens += S
|
||||
else if(lowertext(L[1]) == lowertext(MAP_NAME))
|
||||
title_screens += S
|
||||
|
||||
if(!isemptylist(title_screens))
|
||||
if(length(title_screens) > 1)
|
||||
for(var/S in title_screens)
|
||||
var/list/L = splittext(S,".")
|
||||
if(L.len != 2 || L[1] != "default")
|
||||
continue
|
||||
title_screens -= S
|
||||
break
|
||||
|
||||
var/file_path = "config/title_screens/images/[pick(title_screens)]"
|
||||
|
||||
var/icon/icon = new(fcopy_rsc(file_path))
|
||||
|
||||
for(var/turf/unsimulated/wall/splashscreen/splash in world)
|
||||
splash.icon = icon
|
||||
return TRUE
|
||||
return FALSE
|
||||
@@ -0,0 +1,38 @@
|
||||
---LICENSE NOTICE---
|
||||
|
||||
The server operator(s) is responsible for the copyright status of all images placed within the /config/title_screens/images folder unless otherwise noted.
|
||||
|
||||
If an image requires attribution and/or a specific license it is up to the operator(s) to make this information publicly available on either
|
||||
a website associated with their server or on the server itself.
|
||||
|
||||
If operators(s) allow these configuration files to be public this file can serve that purpose by keeping it properly updated.
|
||||
|
||||
If in the future new images are published to these folders (i.e. in an online code repository) they must explicitly state their
|
||||
license if said license is not the same as the default licensing found in README.md in the root directory of the project.
|
||||
|
||||
Do not remove this notice.
|
||||
|
||||
---END NOTICE---
|
||||
|
||||
|
||||
|
||||
|
||||
---EXAMPLES (NOT PART OF ANY LICENSE)---
|
||||
|
||||
These are examples of properly attrubuted and licensed images.
|
||||
They are not an actual part of any license under any circumstance.
|
||||
|
||||
rare+foobar.png was created by Mya Quinn on Feburary 28, 2557. It is licensed under a Combative Clowning 3.0 HO-NK license (http://example.com/license/url/).
|
||||
|
||||
Unless otherwise noted all images were created by Cuban Pete on July 26, 2555. They are licensed under the RUMBABEAT Public License.(http://example.com/license/url/).
|
||||
|
||||
---END EXAMPLES (NOT PART OF ANY LICENSE)---
|
||||
|
||||
|
||||
|
||||
|
||||
---ADD LICENSING INFORMATION BELOW---
|
||||
|
||||
blank.png and default.dmi use the default licensing found in README.md in the root directory of the project.
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
The enclosed images folder holds the image files used as the title screen for the game. All common formats such as PNG, JPG, and GIF are supported.
|
||||
Byond's DMI format is also supported, but if you use a DMI only include one image per file and do not give it an icon_state (the text label below the image).
|
||||
|
||||
Keep in mind that the area a title screen fills is a 480px square so you should scale/crop source images to these dimensions first.
|
||||
The game won't scale these images for you, so smaller images will not fill the screen and larger ones will be cut off.
|
||||
|
||||
Using unnecessarily huge images can cause client side lag and should be avoided. Extremely large GIFs should preferentially be converted to DMIs.
|
||||
Placing non-image files in the images folder can cause errors.
|
||||
|
||||
You may add as many title screens as you like, if there is more than one a random screen is chosen (see name conventions for specifics).
|
||||
|
||||
---
|
||||
|
||||
Naming Conventions:
|
||||
|
||||
Every title screen you add must have a unique name. It is allowed to name two things the same if they have different file types, but this should be discouraged.
|
||||
Avoid using the plus sign "+" and the period "." in names, as these are used internally to classify images.
|
||||
|
||||
|
||||
Common Titles:
|
||||
|
||||
Common titles are in the rotation to be displayed all the time. Any name that does not include the character "+" is considered a common title.
|
||||
|
||||
An example of a common title name is "clown".
|
||||
|
||||
The common title screen named "default" is special. It is only used if no other titles are available. You can overwrite "default" safely, but you
|
||||
should have a title named "default" somewhere in your DMI file if you don't have any other common titles. Because default only runs in the
|
||||
absence of other titles, if you want it to also appear in the general rotation you must rename it.
|
||||
|
||||
The common title screen named "blank.png" is also special. It is only used to fill space while the real title screen loads. You should leave this file alone.
|
||||
|
||||
|
||||
Map Titles:
|
||||
|
||||
Map titles are tied to a specific in game map. To make a map title you format the name like this "(name of a map)+(name of your title)"
|
||||
|
||||
The spelling of the map name is important. It must match exactly the define MAP_NAME found in the relevant .DM file in the /_maps folder in
|
||||
the root directory. It can also be seen in game in the status menu. Note that there are no spaces between the two names.
|
||||
|
||||
It is absolutely fine to have more than one title tied to the same map.
|
||||
|
||||
An example of a map title name is "Omegastation+splash".
|
||||
|
||||
|
||||
Rare Titles:
|
||||
|
||||
Rare titles are a just for fun feature where they will only have a 1% chance of appear in in the title screen pool of a given round.
|
||||
Add the phrase "rare+" to the beginning of the name. Again note there are no spaces. A title cannot be rare title and a map title at the same time.
|
||||
|
||||
An example of a rare title name is "rare+explosion"
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 123 B |
|
Before Width: | Height: | Size: 980 KiB After Width: | Height: | Size: 980 KiB |
+5
-4
@@ -1330,6 +1330,7 @@
|
||||
#include "code\modules\examine\descriptions\weapons.dm"
|
||||
#include "code\modules\ext_scripts\irc.dm"
|
||||
#include "code\modules\ext_scripts\python.dm"
|
||||
#include "code\modules\fancytitle\fancytitle.dm"
|
||||
#include "code\modules\fish\fish_eggs.dm"
|
||||
#include "code\modules\fish\fish_items.dm"
|
||||
#include "code\modules\fish\fish_types.dm"
|
||||
@@ -2214,10 +2215,10 @@
|
||||
#include "code\modules\vehicle\speedbike.dm"
|
||||
#include "code\modules\vehicle\sportscar.dm"
|
||||
#include "code\modules\vehicle\vehicle.dm"
|
||||
#include "code\modules\vr\vr_avatar.dm"
|
||||
#include "code\modules\vr\vr_controller.dm"
|
||||
#include "code\modules\vr\vr_goggles.dm"
|
||||
#include "code\modules\vr\vr_outfits.dm"
|
||||
#include "code\modules\VR\vr_avatar.dm"
|
||||
#include "code\modules\VR\vr_controller.dm"
|
||||
#include "code\modules\VR\vr_goggles.dm"
|
||||
#include "code\modules\VR\vr_outfits.dm"
|
||||
#include "goon\code\datums\browserOutput.dm"
|
||||
#include "interface\interface.dm"
|
||||
#include "interface\skin.dmf"
|
||||
|
||||
Reference in New Issue
Block a user