Commit Graph

36 Commits

Author SHA1 Message Date
Kyle Spier-Swenson
f2cf4c2f5c [ready]Makes bIcon better (#29690)
Goonchat will use the asset cache, you now have to specify who to send the icons too.

Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.

Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
2017-08-14 10:40:50 +12:00
Shadowlight213
c9d2c2bd8d Ports bay's supermatter monitor modular program (#28635)
* WIP

* How the hell did these not get committed

* Fixes, icons for the tablet

* Laptops use the static engine overlay when running the program.
Engineering tablets now start preloaded with a supermatter monitor and alarm monitor.

* Defines

* Requested changes.
Engineering tablets no longer have preinstalled programs.
Supermatter status percents are defines

* Minor thing
2017-06-28 11:05:09 -04:00
Kyle Spier-Swenson
1691739e16 Make goonchat use unverified asset sending
Verified asset sending is only needed for use with output() and doing verified sending too soon after a client connects causes bugs.
2017-06-11 15:27:36 -07:00
Jordan Brown
45aa3f8a3e Make it use asset cache 2017-06-07 11:00:16 -04:00
Lzimann
3ba0e15198 Asset cache did not work 2017-04-28 16:06:19 -03:00
Lzimann
53677a7f7f Fixes conflicts 2017-04-28 08:37:13 -03:00
Lzimann
c6185ec994 Changes the chat to use asset caches instead of directly sending it in a
way to prevent assets not being sent in some conditions.
Fixes byond donor icon in ooc.
Fixes emojis not working and removes animated emojis.
2017-04-28 08:24:17 -03:00
MrStonedOne
ca9bbaa333 Fixes changelog assets
It now uses the asset cache, so opening the changelog more then once does not re-send the assets.
Added the scales.png asset
2017-04-26 13:35:36 -07:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Cyberboss
e86a353f00 Rename SSasset to SSassets 2017-03-22 11:23:15 -04:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
JJRcop
3cd3d0459b Moves Font Awesome into source tree from jsdelivr 2016-12-01 01:56:52 -05:00
Shadowlight213
f61bfc814b Merge branch 'master' of https://github.com/tgstation/tgstation into bayputers 2016-08-14 17:26:52 -07:00
Remie Richards
81d2298992 Drone Phone! (#19722)
* Drone Phone! A PDA application that allows certain people (Janitors, Engineers, Atmos Techs, Roboticists, HoPs, RDs and Captains) to ping drones to alert drones (low, med, high, crit priority) about their area.

* Removes arg from previous implementation

woops
2016-08-10 12:18:15 +12:00
Shadowlight213
4ebeec67d6 Adds header icons
Does some fixes and cleanup
Some consoles added to the map and tablets added to job loadouts for testmerging.
2016-08-06 23:05:05 -07:00
Kyle Spier-Swenson
f8e4304d95 Instant Runoff Voting! (#19153)
* Instant Runoff Voting!

This adds the game code required for voting IRV style

* Fixes votes not working for non-admins

* spans and databases

* this is a silly commit, you should never go here again.

* That explains why some people couldn't drag until they re-opened the page.

* Prevent window focus fuckary with voting.
2016-07-06 16:03:43 +12:00
c0
2b6128d56e Kills PDA snowflakey close button 2016-03-21 07:38:33 +03:00
MrStonedOne
fd80575f38 Removes a bunch of sleep(-1) and spawn(-1) from the code
This seems to be causing issues where if the queue was too long, byond would attempt to process through all of it while hanging everything else.
2016-01-04 15:17:12 -08:00
Bjorn Neergaard
a2bb279164 NanoUI is now 'tgui' 2016-01-01 17:47:44 -06:00
Bjorn Neergaard
75f26e18ac Shrink NanoUI by removing library; tidy up code 2015-12-27 09:25:39 -06:00
Bjorn Neergaard
487942a09c Reduce NanoUI size by hosting fonts externally
Also resize Cryo to be more compact
2015-12-17 10:15:13 -06:00
Bjorn Neergaard
b00f19e8ee Compile NanoUI into two files 2015-12-17 10:15:11 -06:00
Bjorn Neergaard
15681a727e Combine NanoUI CSS into one file. 2015-12-17 10:12:07 -06:00
oranges
134a76cc8f Line ending apocalypse 2015-12-17 14:12:37 +13:00
Bjorn Neergaard
da4842dddf Make NanoUI resistant to Topic spoofs
Move Topic() into a NanoUI-specific ui_act proc
Update to @YotaXP's latest JSON code.
Return focus to the mapwindow if a key is pressed in a NanoUI.
2015-12-15 22:37:52 -06:00
Bjorn Neergaard
5678dfcbd1 Prefix everything with 'nanoui' to avoid conflicts 2015-12-15 13:12:33 -06:00
Bjorn Neergaard
c3442475fa Modularize CSS and JS; SVG
Purge NanoUI assets as we now have a gorgeous Nanotrasen SVG logo
Thanks to @YotaXP for helping me with cleaning up the logo
2015-12-15 13:11:56 -06:00
Bjorn Neergaard
f089428e63 Coffeescript; Bower; Gulp; asset_cache
We now write frontend code in Coffeescript, alongside our LESS.
PostCSS adds hacks to make CSS work on old versions of IE.
Bower is used to manage dependencies.
Gulp is used to build the code.

Images are dropped in favor of SVG or CSS effects.

NanoUI is now a 'simple' asset in the asset_cache
2015-12-15 13:09:51 -06:00
Bjorn Neergaard
979e71ea26 Restructure NanoUI frontend; use build tools
Yes, you now need Node.js... I'm sorry, but this makes
it so much easier to write NanoUI.

We now precompile all the things...
2015-12-15 13:09:04 -06:00
Bjorn Neergaard
8fdfa08e58 Port NanoUI styles to LESS 2015-12-15 13:08:27 -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
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
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
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