Commit Graph

659 Commits

Author SHA1 Message Date
Cyberboss
841e7f8a92 WHO DID THIS?!?!? (#23143) 2017-01-20 21:22:33 +01:00
Kyle Spier-Swenson
c341178ff4 Fixes bug with addtimer keeping old timers around, makes addtimer even faster. (#23126)
* Fixes timers being left around, Makes addtimer() sanic fast.

This adds a new flag, TIMER_STOPPABLE. Most(80%) of the overhead for addtimer() was in adding the timer to the associated lookup list for deltimer() to use. Moving that functionality to a flag so it wouldn't slow down the 70% of things calling timers puts the final nail in the coffin of byond's sleep/spawn().

spawn: 324 seconds across 5,948,372 calls

addtimer: 67 seconds across 5,953,220 calls

The testing setup for profiling was included in this commit, it will be removed in a later commit. @Fox-McCloud

* Remove profiling procs.

* fix runtime

luckly when this happened, we were about to resume anyways.
2017-01-20 09:31:50 +01:00
Kyle Spier-Swenson
dd113c7775 Window flash all tabbed out clients once the server is ready (#22690)
So that people tabbed out know a new round is starting soon, and so that coders know when the server is ready.
2017-01-19 22:03:23 -05:00
Joan Lung
fd62481fa0 Merge pull request #22933 from MrStonedOne/addtimerbuckets
Addtimer refactor: Officially faster than byond's internal sleep system
2017-01-18 15:06:23 -05:00
Joan Lung
e55e4db6e6 Merge pull request #23059 from MrStonedOne/patch-287
Fixes afk tracker
2017-01-17 18:42:23 -05:00
MrStonedOne
01e8fc6fbc Fixes timers cleaning up oddly in certain edge cases. 2017-01-17 00:12:29 -08:00
Kyle Spier-Swenson
254bcc97ed Fixes afk tracker
As a bonus, we only track pings while the client is active.
2017-01-16 15:21:52 -08:00
MrStonedOne
c8d4ed5cfd Some more improvements and overhead shaving. 2017-01-16 12:56:48 -08:00
MrStonedOne
15e69deadc Remove a debug line and reword a crash 2017-01-16 12:56:48 -08:00
MrStonedOne
4c55dbe2a6 Fixes bug with IWILLGC qdel hint
This came up in testing, this doesn't set the object in such a way that qdeleted() returns true.
2017-01-16 12:56:48 -08:00
MrStonedOne
3f75fdb42d Addtimer refactor: Officially faster then byond's internal sleep system 2017-01-16 12:56:48 -08:00
Joan Lung
2f74a5afa9 Fixes news reports for certain modes 2017-01-15 16:20:11 -05:00
oranges
a840d1ffe2 Merge pull request #22975 from coiax/fix-15384
Fixes floors flashing red after doomsday stops
2017-01-14 11:57:47 +13:00
oranges
2b7798b601 Merge pull request #22972 from Thunder12345/fireisnotgreenpinkorblack
No more colourful fire
2017-01-14 11:56:32 +13:00
kevinz000
1dee1fa456 Update pai.dm (#22926) 2017-01-13 22:12:01 +01:00
Jack Edge
00a260006c Fixes floors flashing red after doomsday stops
🆑 coiax
bugfix: Blue circuit floors are now restored to their normal colour if
an AI doomsday device is disabled.
/🆑

Put a nuke tracker on SSmapping, because we need a tiny bit of state to
track this, in case you have two concurrent things running.
2017-01-12 15:53:06 +00:00
Thunder12345
5d26de96c6 No more colourful fire 2017-01-12 12:23:44 +00:00
oranges
3a5d4d05fb Merge pull request #22895 from coiax/shuttle-escape-stats
Adds emergency shuttle escapees count to end stats
2017-01-12 13:51:26 +13:00
oranges
a61833c56b Merge pull request #22884 from MrStonedOne/ter13ping
Delays ping tracking upon client connection.
2017-01-11 12:50:58 +13:00
Jack Edge
08b857f016 Adds emergency shuttle escapees count to end stats
🆑 coiax
add: The end of round stats include the number of people who escaped on
the main emergency shuttle.
/🆑
2017-01-10 00:03:54 +00:00
oranges
541c8ad135 Merge pull request #22845 from Core0verload/equipment_fix
Refactor of outfits datums and corpse spawners
2017-01-10 10:10:10 +13:00
MrStonedOne
c8b0a25e18 Delays ping tracking upon client connection. 2017-01-09 09:02:57 -08:00
Kyle Spier-Swenson
e768cf195e Makes lighting more responsive. 2017-01-08 00:28:49 -08:00
c0
0b311121d9 Refactor of outfits datums and corpse spawners 2017-01-08 10:30:31 +03:00
oranges
a0c6052e53 Merge pull request #22726 from coiax/press-start
The Start Now verb sets the round to start immediately
2017-01-07 19:38:15 +13:00
oranges
fcc1b31913 Merge pull request #22531 from MrStonedOne/ter13ping
Adds client ping tracking, courtesy of ter13 of byond forums.
2017-01-05 19:09:02 +13:00
Jack Edge
f0cdd40959 The Start Now sets the round to start immediately
Previously, if you pressed Start Now while the server was still
initialising, it would complain, and you'd have to wait until the lobby
was ready.

Now pressing it will have the server start as soon as able.

Uses: debugging qol.
2017-01-04 13:40:46 +00:00
Kyle Spier-Swenson
bee4b132a3 [READY]Makes addtimer use callbacks (#22660)
* Makes addtimer use callbacks

* I broke the comment

* I fucked up the regex

* this was a silly idea.
2017-01-04 16:02:56 +13:00
Kyle Spier-Swenson
280dbe20c3 [Ready] SSthrowing + callbacks! (#22476)
* SSthrowing + callbacks!
Throwing is now a subsystem.
It's low priority, but is a ticker subsystem so is ran before most other subsystems.
To allow for shit to run after the throw finishes, throwing now supports a callback.
A callback datum system was created, conversion of addtimer is planned for another PR.
Throwing now has a limit of 2048 turfs (was 600)
Throwing now ticks every world.tick, and properly converts the speed arg from 1ds to what ever tick_lag is.
Throwing now properly accounts for missed ticks.
Throwing no longer uses sleep.
Throwing should no longer lag since it's not filling the sleep queue up

* Smoother tentacles

* Some improvements

* Missed a spot.

* Makes shit quicker.
Inlines the thrownthing.tick() proc.
Raises missed ticks value
Lowers max dist value
Inlines the two sister overrides for /atom/movable/Moved() because that just seemed like a waste

* >PRs open that use procs i'm removing.

* STOP THE PRESSES!

* throw_at now runs the first throw tick() immediately
This will help some with throwing while running.

* Item throwing now imparts the momentum of the user throwing.

(ie, running in the direction you are throwing makes you throw faster, running away from the direction you are throwing makes you throw the item slower)

* Moves throwing momentum from carbon/throw_item to movable/throw_at.
There are other things that cause a mob to "throw" an item, I figured we keep this universal since thrower is already an arg.

* Explosions throw shit faster.
This was stupid, "Hey, lets set the item's throw_speed to 4 so embedding works, but lets make it throw at the base 2 throw speed for no reason."

* Fixes explosion embedding.
This also acts as a nice example of how to override a callback in an override of throw_at properly.
2017-01-02 20:08:03 +11:00
oranges
f73c546536 Merge pull request #22494 from AnturK/churn
Reduces AB overlay updates
2016-12-29 10:09:17 +13:00
kevinz000
6411bdfbba [READY]Fixes flightsuits without making the game shit itself (flightsuit patch 3 v.2) (#22473)
* Update flightsuit.dm

* cheaper speed calculations and fixes inability to land

* ...

* .

* ...

* ..

* Update flightpacks.dm

* hmmm~

* parts_replacement

* woops

* number_tweaks
2016-12-29 09:17:44 +13:00
AnturK
8bb8d924b6 Reduces AB overlay updates 2016-12-28 14:16:32 +01:00
MrStonedOne
998a78200a Adds client ping tracking, courtesy of ter13 of byond forums. 2016-12-28 02:28:22 -08:00
kevinz000
2c742c2114 [Ready] FLIGHTPACK PATCH 2 - PROBABLY CONTAINS LARGE AMOUNTS OF SHITTY CODE (#22135)
* ayylmao

* MEKHI JUST GOT A SUBSYSTEM

* ..

* ...

* airlock_bullshit

* ...

* stuff

* kek

* fuq

* fuck...

* GAHH

* finalcommitifucking swear ree

* update

* ...

* honk

* honk

* proc

* update

* fixed
2016-12-23 09:40:48 +13:00
Cyberboss
738aac44e3 Fixes the null excited_group runtime (#22379)
* Fixes the null excited_group runtime

* Milk those cycles

* >Checking for existing vars before making new ones
2016-12-23 09:39:19 +13:00
Kyle Spier-Swenson
b0d31bc769 Removes that stupid fucking sound from pais 2016-12-21 10:44:04 -08:00
Kyle Spier-Swenson
2243ab6036 [READY]Parallax (#22315)
* Ports Space Parallax from vg/yogs

* KILL ME

* fuck shit

* fixes

* rgfkbjhkefrhjkfrejhkfds

* Parallax, part 2.

* Gotta get these defines in before remie notices!

* DAMN IT! SHE FOUND ONE!

* fixes orbits

* fix orbits take 2

* Fixes some things with parallax

* Refactors parallax shuttle animations.
2016-12-20 21:55:10 -06:00
Incoming5643
845b4f56bb Adds the twitterize proc, so that the bird may live forever (#22269)
* Adds the twitterize proc, which takes a list of strings and turns it into a plaintext newline seperated list of 140 or less quips.

* makes the nonfunctional code less nonfunctional, but still not completely functional

* Almost functional!

* We've reached theoretical functionality!
2016-12-21 09:07:04 +13:00
kevinz000
dab3a142a0 Update pai.dm (#22313) 2016-12-20 14:40:47 +01:00
Cheridan
d0ad011a47 Merge pull request #22298 from optimumtact/stacktracingplease
Actually useful stack trace for debugging
2016-12-18 16:29:30 -06:00
oranges
bd90675661 Improve logic for self gcing objects
Items such as the datum/timedevent have HINT_LETMELIVE or HINT_IWILLGC
and we should respect that
2016-12-18 22:16:57 +00:00
oranges
1401c3dccf Actually useful stack trace for debugging 2016-12-18 22:06:56 +00:00
Jordie
04442cd533 Merge pull request #22192 from optimumtact/spacevine
Spacevine refactor and qdel improvements
2016-12-18 22:42:22 +11:00
coiax
f2e96fd758 Hijacking a shuttle diverts it to the syndicate base (#22184)
* Added a Syndicate dock for the Emergency Shuttle

* Removes window from doorway to syndicate base

* Diverts shuttle if the hijack conditions are met

* Fixes incorrect define

* Shuttle needs people on it to hijack

* Redoes the syndicate base extension

* Centcom always lies
2016-12-18 19:48:32 +13:00
oranges
25a97a0f08 Add a way to detect recursive calls to qdel
This is usually caused by logic in destroys that lead to the object
being qdeleted again.

This can cause nasty recursive loops, so an exception (with a stack
trace) will prevent recursive stack crashes and also let devs chase the
runtimes
2016-12-14 07:45:33 +00:00
kevinz000
bb80984957 [READY: I DID TEST]I pulled a goofball and broke pAIs (#22161)
* ghost notifications

* FUCK

* fuck2
2016-12-13 21:06:51 +13:00
kevinz000
1400a0d525 YOG pAIS PART 1 - MOBILE CHASSIS (#21871)
* pAI Candidate Verb

* sprites

* fuckxenos

* ...

* animal+alien

* ...

* ...

* ...

* progress

* ...

* .

* ...

* fixes

* ...

* ...

* ...

* ghostUI

* .

* .

* ...

* fixes

* ...

* BUNNIES

* ....

* ...

* merf

* nerfs
2016-12-13 14:47:03 +13:00
Kyle Spier-Swenson
dedb16826e Speeds up world init. (93s -> 49s) (#21992)
* Speeds up world init.

* Armor is now new inited for obj and the first level of subpaths.
* Actions is now lazyinited and deleted with empty.
* Actiontypes is now only inited when actually used and deleted once it pre-fills actions with the action buttons.
* Pipes now prefill their node list(s) in new() using new /list/ (count) syntax to speed up the list initaliztions and remove the init proc.
* Pipes no longer store their item version, instead creating it on the fly when deconned
* Walls no longer store their metal stacks, instead creating it on the fly when deconned.
* obj, walls, floor, plating, item, machinery, structure, pipe, pipenet, atom, and movable no longer have an (init) proc. (along with a few other smaller examples)
* Atmos can pass checking is now a var with the ability to have a proc be call in advance cases.
  * (as a side effect, I had to fix a few things that were calling atmosCanPass rather then using the pre-calculated list, this should speed up chemfoam and flame effects greatly)

* Reverts upload limit
(remind me one day to defuck this, it could easily be a config thats not editable by vv to make changes easier)

* Makes apc update icon a bit faster.
APC new is some what high on the profile of world init, still not sure why, but this stood out as a waste of cpu so i fixed it.

* Fixes runtime with atmos backpack water tanks.

* Makes smoothing faster (and fixes turfs smoothing twice at init)

* Makes apcs init faster by replacing some spawns with addtimer

* fix transit turfs.
2016-12-08 21:50:15 +13:00
oranges
2ff260d63d Merge pull request #21936 from Cyberboss/patch-5
Better addtimer logging
2016-12-06 10:20:30 +13:00
Cheridan
688e8b57b8 Merge pull request #21926 from KorPhaeron/shuttles
Allows adding prerequisites to purchasing shuttles
2016-12-04 20:48:26 -06:00