diff --git a/_maps/cyberiad.dm b/_maps/cyberiad.dm index 434cc79eb52..3e03a5036e7 100644 --- a/_maps/cyberiad.dm +++ b/_maps/cyberiad.dm @@ -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)),\ diff --git a/code/game/turfs/unsimulated/walls.dm b/code/game/turfs/unsimulated/walls.dm index 42a8b133a24..82f8c1390b5 100644 --- a/code/game/turfs/unsimulated/walls.dm +++ b/code/game/turfs/unsimulated/walls.dm @@ -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 diff --git a/code/modules/fancytitle/fancytitle.dm b/code/modules/fancytitle/fancytitle.dm new file mode 100644 index 00000000000..e445024aae1 --- /dev/null +++ b/code/modules/fancytitle/fancytitle.dm @@ -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 \ No newline at end of file diff --git a/config/title_screens/LICENSE.txt b/config/title_screens/LICENSE.txt new file mode 100644 index 00000000000..831689b417c --- /dev/null +++ b/config/title_screens/LICENSE.txt @@ -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. + + diff --git a/config/title_screens/README.txt b/config/title_screens/README.txt new file mode 100644 index 00000000000..6e7bf166f8f --- /dev/null +++ b/config/title_screens/README.txt @@ -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" \ No newline at end of file diff --git a/config/title_screens/images/blank.png b/config/title_screens/images/blank.png new file mode 100644 index 00000000000..c3167a923bf Binary files /dev/null and b/config/title_screens/images/blank.png differ diff --git a/icons/misc/fullscreen.dmi b/config/title_screens/images/default.dmi similarity index 100% rename from icons/misc/fullscreen.dmi rename to config/title_screens/images/default.dmi diff --git a/paradise.dme b/paradise.dme index 8ddf589e439..3c42a3e9b81 100644 --- a/paradise.dme +++ b/paradise.dme @@ -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"