Commit Graph

1127 Commits

Author SHA1 Message Date
Cyberboss 5959ac32cc Refactors atom/Initialize. Fixes ruins being initialized twice (#22778)
* Refactors atom/Initialize

Captialized for compiling correctness and to be more inline with Destroy

Will now be called from atom/New if the world initialization loop in SSobj has already run. Should always call the base.

Now comes with the `roundstart` parameter indicating whether or not it was called by SSobj or atom/New

Other fixes/tweaks:
- Renamed a proc called Initialize in abduction consoles to Setup
- Removed /obj/item/device/radio/headset/headset_sec/department: Broken and referenced literally nowhere in the code
- Removed a spawn from the Initialize of turbine_computer which made literally zero sense
- Generalized the proc which fixes RND servers with no id set

Reasoning: It's better to check roundstart per function than to have to duplicate code in New and Initialize. Think of it as a safer New for atoms. If we move enough stuff to it, initial map load performance will increase due to less New calls

* Fixed a thing

* Actually, fuck the police

* >Expecting a merge without errors

* >Not calling ..() in New

* Sanic

* Fix the headset bug

* Makes sure the map loaders dew it right

* Fixes ruins being initialized twice

* Rename roundstart -> mapload

* Revert "Rename roundstart -> mapload"

This reverts commit 667c327fd2ccfa3ce4f4db52eac03f9e8b0f6812.

* Remove unrelated change

* A more direct solution to map loads

* And now we shouldnt need this warning

* Add the new var to SSobj recovery

* Revert "Revert "Rename roundstart -> mapload""

This reverts commit dee07dbd5e4696554ac43aae5b91cce743b9b9e0.

* Line endings
2017-01-23 09:37:45 +01:00
Kyle Spier-Swenson 12570805bd Closes the Pool. (#23150)
* Delete pool.dm

* Removes usage of PoolOrNew

* Wrap up
2017-01-22 16:00:23 -05:00
Kyle Spier-Swenson 32c8e178bf Fixes timers not GCing 2017-01-21 20:00:46 -08:00
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 ee0b29d971 Merge pull request #22762 from MrStonedOne/patch-280
Prevents tick_check'ed sleeps/spawns from shutting out the MC
2017-01-07 19:40:54 +13: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
Kyle Spier-Swenson 072ea7b03a Prevents tick_check'ed sleeps/spawns from shutting out the MC
I don't know why I didn't do this before....
2017-01-04 22:38:35 -08: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
Incoming5643 8894c0c55d Fixes some accidental deception with the panic bouncer (#22530)
* by MSOian request, some panic bouncer tweaks

* late night coding is reckless coding
2016-12-28 21:36:21 +13:00
AnturK d818a33a6a Makes gamemode odds show % at current population (#22437)
* Makes gamemode odds show the % at current population

* Improvmets, probably broken
2016-12-28 09:04:17 +13: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