Commit Graph

346 Commits

Author SHA1 Message Date
Bjorn Neergaard
34b717afb4 radio_controller -> SSradio, SSbp -> SSnpc 2015-12-04 22:25:24 -06:00
Bjorn Neergaard
97ca70cd34 Rework Master Controller, Failsafe, and Subsystem code 2015-12-04 15:40:58 -06:00
Kyle Spier-Swenson
59963b89b5 quant --> quaint 2015-11-29 08:00:33 -08:00
MrStonedOne
921c9eede1 Asset cache Fixes
Fixes asset cache locking up the MC initialization at world start.
Fixes asset cache not pre-loading resources to clients that connect from a world reboot.
Fixes a null reference runtime relating to the client disconnecting at the wrong time (I still conciser this to be a byond bug)
Fixes crew monitor registering assets because they exist
Fixes crew monitor trying to send zlevel assets for zlevels it hasn't processed.
Fixes nano ui sometimes not sending the template asset to the client on open.
2015-11-29 07:19:49 -08:00
Razharas
e0a14d899d Merge pull request #13267 from tkdrg/give_me_a_banjob_baby
Jobban cleanup & performance improvements
2015-11-29 12:00:01 +03:00
Razharas
2f0a221c8c Merge pull request #13276 from MrStonedOne/patch-74
Removes spawn(rand(10,150)) from client database syncing
2015-11-29 11:57:05 +03:00
Tkdrg
598fea785e Jobban cleanup & performance improvements
Clients now cache their jobbans to save on DB queries.
Legacy jobbans and "new" (savefile) jobbans have been removed.
These are old cruft that has been unused for years, and since we require
a DB for notes anyway we might as well just get rid of the legacy stuff.

I considered removing legacy bans as well, but I was unsure if that
would go way beyond the scope of this PR (my main goal here is making
jobban_isbanned not awful).

Also note that this was basically untested, as I do not have a test
database. Any help testing this would be much appreciated.
2015-11-28 12:35:54 -03:00
Kyle Spier-Swenson
89cf8fd112 Removes spawn(rand(10,150)) from client database syncing
This was a shitty way to do this, and the overhead from spawn() makes it not worth it now that the database is local to the server.
2015-11-28 00:08:28 -08:00
Bjorn Neergaard
6005d54d40 Update NanoUI to use the asset_cache system
Also move a bunch of folders around.
2015-11-28 00:56:30 -05:00
Kyle Spier-Swenson
17d67bbf67 Fixes clients sometimes not getting verbs for a while 2015-11-25 10:28:30 -08:00
Razharas
e0508ad572 Merge pull request #13050 from MrStonedOne/connectlagfixthankspjb
[Ready] Fixes the 2 minutes of interface lag (such as ready button not working) when a client connects.
2015-11-25 20:43:45 +03:00
MrStonedOne
ca4f4201e7 Asset Cache improvements!
Adds crew monitor to the asset cache system
Adds paper to the asset cache system

Added a way to send files to the client slowly without clogging up the queue. (This isn't technically "safe", but the client would only have issues if they didn't have that file already (rare), and only if they used a window that needed that asset (currently only nanoui windows) within the first 15 to 90 seconds of connecting (depending on ping))

Makes NanoUI use this slow send system to blindly send it's asset files. (Once bay's nanoui is ported, i'll improve this so that nanoui fully implements asset cache checking)

Makes asset cache use this system to send all registered asset files, so that ui windows don't have to wait for them if the client's been connected a while.
2015-11-25 02:11:04 -08:00
MrStonedOne
f5deff001b Removes debugging asset cache line
Keeping it in because i'm going to need it when I bring nanoui in to this system.
2015-11-24 23:41:25 -08:00
MrStonedOne
4ffb421bb7 Adds client skin and topic for asset cache. 2015-11-24 23:31:44 -08:00
YotaXP
76acfe4349 Rewrote the character setup preview icon code 2015-11-23 17:34:31 -05:00
Incoming
cb5401467d Species selection wasn't saving properly. Why? Because species_list used id as a reference, but roundstart_species used name.
THESE AREN'T THE SAME THINGS.

Both lists now use id, and savefiles will properly look for/save said ids
2015-11-18 22:29:20 -05:00
MrStonedOne
c784ca902e Ports /vg/'s asset cache system; lowers interface lag when clients connect.
Byond will queue all browse(), browse_rsc(), and winset() calls to the client, to ensure they load in order, and ensure any resources from a browse_rsc call (css/html/js) are already at the client by the time any html windows loads.

How ever, each file is processed separately, and byond will wait for the reply from the client before it will send the next file.

Our current system sends all of these html resource files to the client at once when they connect, this is the sole cause of the lag when a client connects. Byond will not send the client a file it already has, but it has to ask the client first, and it does so one file at a time, waiting for a reply from the client before sending the next one down the pipe.

This system fixes that.

Basically it works like this:
Client connects: nothing happens, no massive queuing of browse_rsc() calls, so no interface delay
Client opens a asset_cache controlled html based interface
Asset cache gets notified by the html based interface what assets the client needs to have.
Asset cache checks to see if it's sent that client those files.
Asset cache sends the missing ones, adding them to the list of assets the client has.

This basically spreads out the delay to when you first open a window that uses resources, where it is much more manageable.

I've kinda done a halfass port without too much thought, I see some room for improvement to better fit /tg/'s coding style and make the system more flexible. I'm PRing this because if I don't, it will never get finished.

PDAs and html_interface has been imported in to the new system lazily to test. at 100ms connection start interface lag went from 35 seconds to 16 seconds. Nanoui hasn't been imported, and once it is, that should drop down to almost nothing.

I'll work on this some more after some sleep.
2015-11-15 23:49:05 -08:00
Aranclanos
d454eae1b1 Merge pull request #12916 from tkdrg/ripinpiss
Removes PDA chatrooms
2015-11-09 02:56:41 -03:00
Tkdrg
20fe2e4bb5 Removes PDA chatrooms
Nobody used them, and they were cluttering PDA Topic() needlessly.
Rest in peace, my child. You were too good for this world.
2015-11-07 23:51:48 -03:00
Tkdrg
e2187614fd Merge remote-tracking branch 'upstream/master' into hog-mergeconflicts
Conflicts:
	code/__DEFINES/hud.dm
	code/__HELPERS/game.dm
	code/_onclick/hud/_defines.dm
	code/_onclick/hud/hud.dm
	code/game/gamemodes/antag_spawner.dm
	code/game/gamemodes/game_mode.dm
	code/game/machinery/turrets.dm
	code/modules/client/preferences_toggles.dm
	code/modules/events/alien_infestation.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/mob/living/carbon/alien/special/alien_embryo.dm
	code/modules/mob/living/simple_animal/revenant/revenant.dm
	icons/mob/back.dmi
	icons/mob/head.dmi
	icons/mob/hud.dmi
	icons/mob/inhands/items_lefthand.dmi
	icons/mob/inhands/items_righthand.dmi
	icons/mob/mob.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/items.dmi
	icons/obj/projectiles.dmi
	icons/obj/storage.dmi
2015-11-02 01:06:30 -03:00
MrStonedOne
6f6654436f The Game Preferences verb now opens directly to the game settings tab. 2015-10-26 07:51:20 -07:00
MrStonedOne
3303176f14 Adds the ability to access game preferences while not in lobby
Also removed a few preferences_toggles verbs that are no longer needed.

Haven't tested this too much yet, but from what I can tell, no ill effects of doing this have been observed.
2015-10-26 06:57:20 -07:00
Remie Richards
fa75581074 Merge pull request #12586 from Jordie0608/thisprnotinspiredbyanymemberofthecommunityhonest
Selective ooc muting
2015-10-25 19:11:21 +00:00
phil235
5ab3ad56db Merge pull request #12557 from RemieRichards/Ports-GoonTooltips-ByWireWraith
Ports goon tooltips made by Wirewraith
2015-10-23 22:16:22 +02:00
Jordie
94991be225 whoops 2015-10-23 18:41:29 +11:00
Jordie0608
d8cef19a05 operator, savefile and list find update 2015-10-23 18:39:29 +11:00
Jordie0608
1f1880e3f9 selective ooc muting 2015-10-23 00:41:01 +11:00
Remie Richards
910f280a3b Moves procs to appropriate files, Adds some sanity+feature wrapper procs for Tooltips, adds some UI style themed CSS classes to use as tooltip themes (Auto used by the wrapper if no theme specified) 2015-10-21 12:53:45 +01:00
oranges
f570aa6410 Move autoadmin to a protected config datum
This prevents any admin with permission to debug controller being able to edit this setting
2015-10-20 14:42:21 +13:00
Razharas
e989a0fbc4 Merge pull request #12290 from AnturK/freeadmin
Autoadmin Config
2015-10-19 21:50:01 +03:00
Razharas
d7107264aa Merge pull request #12429 from Shadowlight213/Kittygobyebye
Fixes the roundstart catperson exploit.
2015-10-18 00:42:38 +03:00
Razharas
d809f57de7 Merge pull request #12172 from MrStonedOne/webclientconfig
Adds config option for allowing webclient.
2015-10-16 21:49:50 +03:00
Shadowlight213
88e23b3003 Overrides human feature loading if mutant humans disabled. 2015-10-15 22:46:11 -07:00
AnturK
4b95cb4aa6 Update client procs.dm 2015-10-10 20:08:50 +02:00
Kyle Spier-Swenson
14012f1d35 Fixes compile error in client procs from mismatched () 2015-10-10 10:05:50 -07:00
Kyle Spier-Swenson
0a3740c13f Changes webclient member checking to use IsByondMember()
You can disable byond member features in preferences, something the other method checked, but this could lead to somebody not being able to get in to re-enable them.
2015-10-10 09:43:25 -07:00
AnturK
fb57e989ce Autoadmin initial 2015-10-10 12:37:12 +02:00
Remie Richards
97de4b2ebe Merge branch 'master' of https://github.com/tgstation/-tg-station into HandOfGod-Resurgence
Conflicts:
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	icons/mob/head.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/storage.dmi
2015-10-07 22:24:53 +01:00
Remie Richards
b9394257da About a million changes, but largely: Functional (Sort of) Antag Huds, Mind fixes, and Final glue to get the mode working. 2015-10-07 22:11:19 +01:00
Razharas
0ad7257a52 Merge pull request #12089 from MrStonedOne/maprotation
HOLY FUCKING SHIT, I'VE DONE IT! Map rotation!
2015-10-07 07:53:42 +03:00
MrStonedOne
f05d5e1d61 Adds config option for allowing webclient.
Also adds a config option to restrict webclient to byond members only.
2015-10-04 21:06:45 -07:00
Pieter Vlasblom
8d5bb4d126 8 reasons frying a cpu will change the way you think about everything. 2015-10-05 03:33:38 +02:00
MrStonedOne
fb01e5ce71 Cleans up map rotation code, removes debugging code 2015-09-30 08:43:22 -07:00
MrStonedOne
fcc8402f31 map rotation base code 2015-09-30 07:13:38 -07:00
Remie Richards
131b69474e Merge branch 'master' of https://github.com/tgstation/-tg-station into HandOfGod-Resurgence
Conflicts:
	code/__HELPERS/unsorted.dm
	code/game/objects/items/stacks/sheets/sheet_types.dm
	code/modules/client/preferences.dm
	icons/mob/feet.dmi
	icons/mob/head.dmi
	icons/mob/inhands/items_lefthand.dmi
	icons/mob/inhands/items_righthand.dmi
	icons/mob/mob.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/items.dmi
	icons/obj/projectiles.dmi
2015-09-27 17:15:01 +01:00
Remie Richards
58483beb50 Hand of god gamemode!
be_special and antag defines are no longer limited to 16 values (1 - 32768) by being changed from a bitfield to a list, an appropriate block of code exists to automatically update bitfield versions to the new list format. the list format allows us to have (functionally) infinite antag types.
2015-09-27 16:49:56 +01:00
MrStonedOne
c45a7c7173 MERGE CONFLICTS, MY ONLY WEAKNESS
How did you know?
2015-09-26 23:42:14 -07:00
MrStonedOne
eb8b97cb2b Cleans up isbanned() and stickyban handling
isbanned() cleaned up, it logs sticky ban matches, and better handles admins being exempt from bans
Adminbans now still work once the admin is demoted.
Admins bypassing a ban because they are an admin is logged and announced to all admins including the one who walked past it.
Admins are now exempt from host bans. (this only applies to host bans for ss13, global host bans (where the 'apply to this game only' checkbox is not checked (defaults to not checked)) do not trigger isbanned() and thus, admins can not bypass them, no matter what we do.)

Added a system to queue a message for a client, to be shown next time they connect, this was needed because isbanned() is called before the client is created, so if you want to send a message to an admin, letting them know they just walked pass a matching ban, you have to do it this way.
2015-09-26 23:30:26 -07:00
Razharas
b6e4ef88ec Saving the data collecting
Saving the data collecting
2015-09-25 22:52:30 +03:00
Razharas
df189498ce The final solution of bad taste in midis question
The final solution of bad taste in midis question
Added special client verb that kills all sounds currently playing for
this client
This is better because toggle midis only pauses them, not actually stops
them
2015-09-25 22:42:24 +03:00