Commit Graph

129 Commits

Author SHA1 Message Date
oranges 134a76cc8f Line ending apocalypse 2015-12-17 14:12:37 +13:00
Bjorn Neergaard 57a1f6c695 Enable NanoUI to go chromeless
Add a new 'Fancy NanoUI' preference to enable chromeless mode
2015-12-15 13:13:12 -06:00
Bjorn Neergaard a0c54eba97 Begin rewrite of NanoUI frontend.
* Remove jQuery in favor of polyfills.
* Make NanoUI work with IE8-IE11
* Upstream doT
* Change NanoUI template syntax
* Event driven code
2015-12-15 13:07:11 -06:00
Bjorn Neergaard 97ca70cd34 Rework Master Controller, Failsafe, and Subsystem code 2015-12-04 15:40:58 -06: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
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
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
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
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
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
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 d809f57de7 Merge pull request #12172 from MrStonedOne/webclientconfig
Adds config option for allowing webclient.
2015-10-16 21:49:50 +03: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
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 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
Jordie0608 b7754d5ed7 announce login message as a config 2015-09-04 21:49:09 +10:00
Aranclanos 7d729e270b Merge pull request #11508 from Core0verload/spider
Removes unused SpiderOS icons
2015-09-01 12:25:56 -03:00
Razharas 087758925f Merge pull request #11336 from Aranclanos/IactuallyHateThem
Adds a happy greeting for my friends the admins who I love!
2015-09-01 10:07:31 +03:00
c0 b494d60ea2 Removes unused SpiderOS icons 2015-08-31 10:58:14 +03:00
Jordie0608 62fa9a163c interface for watchlist, improvements to memo, varedit, ban interfaces 2015-08-27 20:57:01 +10:00
Aranclanos 2476ddfbad Adds a happy greeting for my friends the admins who I love! 2015-08-23 09:55:00 -03:00
Jordie0608 e4b21e30d3 autoconvert notes to sql procs 2015-08-17 15:24:50 +10:00
Jordie0608 f9b6dfcefe login memo fix 2015-07-28 23:24:25 +10:00
Jordie0608 f7b66edb17 migrates admin memos to use database 2015-07-19 17:01:38 +10:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
MrStonedOne bdb264acdf Removes topic limiter.
Topics are no longer limited to once per 2ds per client.

This massively improves responsiveness by no dropping clicks when trying to browse thru menus.

Anything that could cause lag or otherwise be limited should do that in its own topic, not blog down the rest

Please let me know if you can think of anything that should be limited in this PR otherwise, i say we find out by field testing.
2015-07-11 23:09:04 -07:00
Cheridan 798f05e4a6 Merge pull request #10272 from Razharas/DarkClick
Fixes clicks in darkness
2015-07-04 12:17:10 -05:00
Razharas 3705c6182a Removes autoclick for real this time 2015-06-29 23:27:20 +03:00
Razharas 1b793f89c8 Merge branch 'master' of https://github.com/tgstation/-tg-station into DarkClick
Conflicts:
	code/__HELPERS/unsorted.dm
	code/modules/client/client defines.dm

Fixes conflicts
2015-06-29 23:15:06 +03:00
NullQuery c694febb77 Minimap support for the crew monitoring computer. 2015-06-28 23:00:39 +02:00
Razharas 1a5be75225 Merge pull request #10196 from MrStonedOne/thisshouldhavebeendonesooner
Admin help tweaks.
2015-06-28 02:55:53 +03:00
nullquery 1aac98a52a Merge pull request #3 from tgstation/master
Merge with upstream
2015-06-27 05:01:13 +02:00
MrStonedOne 0aeffb3c0f Admin help tweaks.
The keyword scanner (thing that adds (?) links to player names in admin helps) has been moved to its own proc.
This has been added to all admin pms.
It has been added to asays as well, with the (FLW) link removed to avoid it being distracting.

Replying to an admin help (but not other forms of admin pms nor admin pm replies) by clicking on the name of the ahelper will now send a message to all admins letting them know you are typing up a reply to it. (this should avoid mutiple people replying to the same ahelp) (It also sends a message if you escape out of the ahelp reply as well)
2015-06-26 16:30:37 -07:00
NullQuery 15cdf9bfca Merge from upstream. 2015-06-25 20:30:19 +02:00
Jordie0608 d079104e05 fixes schema and send2irc message 2015-06-24 16:54:59 +10:00
NullQuery 1b364c0e82 HTML interface module + playing cards (ported from Baystation12 with modifications) using the new module 2015-06-08 22:13:25 +02:00
Razharas cdc32a50c3 Made special object instead of using blindscreen
Made special object instead of using blindscreen
2015-06-06 07:10:46 +03:00
Razharas fea00718a0 Made swap hands use screen object
Made swap hands use screen object
Also now blindness is restricting your ability to click
You can shoot at darkness now, it calculates the turf you want to shoot
Added toggleable verb into the prefs tab for autoclick
Made proc that calculates turf from screen loc and origin turf
2015-06-04 07:47:20 +03:00
Razharas bf6b9587ab Autoclick on holding button and swap hands fix
Added preference setting that makes you able to just hold down mouse
button and if you have something in your hands it will autoclick on
everything you are pointing at, no need to clickspam anymore, take care
of your fingers and mouses
Made it so you can swap hands with middle mouse button even if clicking
on the empty void of nothingness, thus fixing some old issue i cant care
to find
Thats it
2015-06-03 02:17:24 +03:00