Commit Graph

1639 Commits

Author SHA1 Message Date
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
Incoming
f976a2ac1b too late I already found a different way to do this that's equally as unobjectionable 2015-11-15 12:41:17 -05:00
Incoming
1e2892bf31 There is now a config list in game_options.txt of which races should be playable at roundstart.
If the list is missing, it will default to which races are defined as roundstart in the species datums. Plasmamen have been removed from this list pending bugfixes.

If JOIN_WITH_MUTANT_RACE isn't set in config, humans only will still be enforced regardless.
2015-11-14 22:27:55 -05:00
Cheridan
065807eca8 Merge pull request #12986 from Yolopanther12/master
Adding Clonepod to Supply Blacklist, Fixes #12979
2015-11-13 08:29:20 -06:00
Cheridan
74529129ed Merge pull request #12984 from tkdrg/replaceTHIS
Fixes cargo manifest access restriction display
2015-11-12 23:54:45 -06:00
Yolopanther
d2bb41d581 Missnig Comma
Hey I found that comma that makes it all work. Should compile now.
2015-11-11 21:51:58 -08:00
Yolopanther
319b57004c Adding Clonepod to Supply Blacklist
Added clonepod to the supply shuttle blacklist, fixing issue #12979
2015-11-11 21:45:07 -08:00
Tkdrg
236e5cf86b Fixes cargo manifest access restriction display
Why use replacetext with no arguments? I have no idea.
This wasn't runtiming because of the bygex stuff I guess.
Thanks octareroon91 for reporting this to me ingame.
2015-11-12 02:14:35 -03:00
phil235
7af0715f7d Fixes Escape Shuttle sound being too loud. 2015-11-11 21:55:21 +01:00
duncathan salt
15c7d1f356 Merge pull request #12743 from Xhuis/maybe_theyll_find_out_where_the_other_sound_came_from_too
Causes the emergency shuttle to play sounds upon launch and dock
2015-11-11 10:25:37 -06:00
Tkdrg
8fce742d0a Merge remote-tracking branch 'upstream/master' into fuk
Conflicts:
	data/mode.txt
	icons/mob/mob.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/gloves.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
2015-11-07 15:56:39 -03:00
Xhuis
196a697f5a c 2015-11-04 21:27:44 -05:00
Xhuis
e553447f65 More optimization 2015-11-04 21:26:47 -05:00
Xhuis
2199d7c4d1 Makes sounds more optimized (I guess...) 2015-11-04 21:25:12 -05: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
Kyle Spier-Swenson
d704f37480 Fixes indenting in EquipRank 2015-11-01 12:56:02 -08:00
Kyle Spier-Swenson
7b0a04e28f Makes round start spawn code more robust
For finding a spawn point, it will now use this logic to find a spawn point, stopping at the first one it finds

Empty job spawn point
Filled up job spawn point (spawning them on top of eachother if it can't find enough spawn points)
Late join spawn point
Random tile in the arrivals shuttle area.

If it hits either of those two final points it will pop a message in the runtime log.
2015-11-01 12:29:28 -08:00
Cheridan
3e3aa2ee9f Merge pull request #12748 from MrStonedOne/sweetsweetdimlight
[Pretty Pictures!] [map] Makes starlight have far spreading low levels of light rather than near spreading high levels of light.
2015-10-31 22:22:39 -05:00
MrStonedOne
8c755da84f Adds a way to make certain area/space areas not force 100% brightness 2015-10-31 02:30:49 -07:00
Xhuis
ade342d2c4 Adds new sounds, courtesy of Cuboos 2015-10-30 17:24:18 -04:00
Xhuis
35041034d9 Hyperdrive sounds 2015-10-29 22:38:35 -04:00
MrPerson
d575219887 Refactor mob movement delay calculation
Basic premise: Get all mob movement delays calculated in movement_delay() instead of having half of them in Client/Move(). Except for the slowdown from grabbing, which is so shit I can't even. The idea here is to eventually have the AI movements be at the same speed as client-initiated ones.

Let's try this again: Removes TickComp because it's a useless pile of shit that's based on a false idea of how BYOND's ticks and tile-based movement work.
2015-10-29 05:15:41 -07:00
MrStonedOne
4f652da4bd Adds a config option for the round end restart delay.
This should enable more murder death kill at round end before the next round starts.
New servers will default to 90 seconds while old servers will default to the old 25 seconds until they import the config option to their server.
2015-10-26 05:04:43 -07:00
Vincent
de68ad1085 Security officer scaling is altered.
Previously, security officer scaling was between 5-12 no matter what was configured.
Now, security officers will have (spawn positions)-12 spawn and total position slots.
This can be set in jobs.txt or admin set through the jobs controller while in the lobby.
This is only used when officer scaling is set.

Also, the number of extra security equipment closets spawned is relative to the number of total job positions configured, with or without officer scaling.  Previously if officer scaling was not set, no additional closets could spawn.

Adds myself to admins.txt after like 3 years of contributing
2015-10-24 21:05:06 -04:00
Vincent
3e6f641ec3 Should fix loading from jobs.txt
The jobs controller's list of occupations was reset during roundstart which completely undid that whole load from file thing.  It also would have undone any admin edits done while sitting in the lobby.

Also fixed a couple instances where people thought that lists get copied with the = operator instead of passing by reference.
2015-10-24 19:46:44 -04: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
Jordie0608
2ad2cc83e7 Merge branch 'master' of https://github.com/tgstation/-tg-station into thetitanichadabettersafetyrecordthannanotrasen
Conflicts:
	_maps/map_files/DreamStation/dreamstation04.dmm
2015-10-18 17:27:24 +11:00
Jordie0608
8281e505ff bird and discstation pass, replaces z2 airlocks with poddoors 2015-10-18 01:52:22 +11:00
Razharas
d809f57de7 Merge pull request #12172 from MrStonedOne/webclientconfig
Adds config option for allowing webclient.
2015-10-16 21:49:50 +03:00
Jordie0608
cea729db60 Merge branch 'master' of https://github.com/tgstation/-tg-station into thetitanichadabettersafetyrecordthannanotrasen 2015-10-16 01:14:17 +11:00
Jordie0608
b919eed9cc pass for metastation, code improvement 2015-10-15 19:06:53 +11:00
Jordie0608
69a6c82654 station placed shuttles demonstration 2015-10-13 21:49:52 +11:00
Kyle Spier-Swenson
d2327bd06f Fixes automatic map change causing lag
It would lock up the MC for 30 seconds while it was compiling, meanwhile ticks are queuing.

After the map was compiled, there would be 15 mob ticks, 15 object subsystem ticks, 15 mechinery ticks, 60 atmo ticks, etc all queued up and would attempt to fire all at once.
2015-10-12 19:29:29 -07:00
phil235
9c79257aab Changes the paths of stools, beds and chairs. It is now obj/structure/bed/chair and obj/structure/bed/stool. It makes much more sense since stools barely have any code of their own.
Beds (and chairs) now have buildstacktype and buildstackamount vars to handle how many sheets of what they should drop on deconstruction.
They also have a foldabletype var to handle folding into item (currently only used by roller beds) so that people can add foldable chairs in the future.
Fixes swivel chairs not dropping the correct amount of metal sheets.
2015-10-10 13:35:00 +02:00
AnturK
fb57e989ce Autoadmin initial 2015-10-10 12:37:12 +02:00
Razharas
87f2cbf4ed Merge pull request #12218 from phil235/BugFixBoogalooA
Fixes critical bug causing multiple hits from single projectile.
2015-10-09 12:41:08 +03: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
e3065b1643 Merge pull request #12164 from Aranclanos/crewmonitor
Changes map generation time at roundstart
2015-10-07 22:17:11 +03:00
phil235
dbaba791f3 Fixes critical bug causing multiple hits from single projectile.
Fixes some other potential issues coming from changing a few del() to qdel().
Fixes not being able to shoot mob on same tile as the shooter.
Fixes being able to shoot oneself by simply clicking our mob.
Fixes not being able to shoot non human mobs right next to us.
2015-10-07 20:57:36 +02: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
Razharas
588bd2d570 Merge pull request #12184 from duncathan/dellogging
Adds del() log to world.log and updates the runtime condenser to condense del() logs
2015-10-07 04:59:05 +03:00
Razharas
9b710d7fcb Merge pull request #12153 from duncathan/destroyfixes
Destroy() fixes
2015-10-06 09:27:41 +03:00
duncathan
e2ed83b6a5 adds the del() log to world.log at roundend and allows the runtime condenser to parse and condense it 2015-10-05 18:52:44 -06: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
Kyle Spier-Swenson
6b92275c66 Tweaks mc's default dynamic wait buffer down a bit.
dynamic wait buffer is the amount subtracted off of the process cost before calculating the new dynamic wait.

1.5 was too much and dynamic wait wasn't kicking in until after atmos was causing lag, 0.7 seems much better after testing on sybil.
2015-10-04 18:58:28 -07:00
Aranclanos
ff451025ed Moves the minimap generation to the initialization list, instead of being calculated after it.
Removes the spawn from it too.
2015-10-04 22:09:17 -03:00
duncathan
c98768df16 missed one 2015-10-04 08:10:28 -06:00
duncathan
1278b3e8ef fixes #11870; removes every last out of place del() call or definition 2015-10-04 08:03:04 -06:00