Commit Graph

67 Commits

Author SHA1 Message Date
Cyberboss
31ee152489 Repaths subsystem to controller/subsystem (#24624)
* Repaths subsystem to controller/subsystem

* Fix the shit
2017-03-08 22:05:45 +01:00
Cyberboss
81433c4859 Removes an unused variable (#24749) 2017-03-07 21:14:49 +01:00
Cyberboss
1bbc640afe Runtime Dynamic Station Loading (#24171)
* Dynamic map loading prototype

* Get the title screen working

* Fixes the random pod bugs

* map configs

* Add back the asteroid

* Ignore the rotate file

* Fix some shit

* More shit fixes

* Babby's first json

* Cyberboss confirmed shitcoder

* Makes map rotation great again

* Moves the map defines

* Delete tgstation2.dm

* Convert runtimestation

* Convert PubbyStation

* Convert OmegaStation

* Convert Metastation

* Convert Delta Station

* Lol file extensions

* Reee line endings

* Take out the trash

* Fix loadallmaps.dm

* Deltaassssssstation?

* Fix travis

* Did I ASK you to change the line endings?

* Remove votable maps

* Cleanup

* Previous config. Load configs in New. Fix splash

* Fix this

* More generic minetype

* STOP TOUCHING THE LINE ENDINGS!!!

* Add some flexibility to /obj/screen/splash

* Fix the shit

* Update gitignore

* Smooth transition from last map

* Better check

* Missed this map rotate check

* Remove these checks too

* Prep for a future request by @kevinz000

* Fix z2 line endings

* Solution for custom .dms

* Rename some things, trim some fat

* Fixes default map_config

* Remove stale comment

* Delete the previous config after loading

* Don't try to open a non-existent file

* Delete the old rotator script

* And references to it

* Line endings

* More line endings

* Del checks from when m-config may have not existed

* LINE ENDINGS

* Update the default map config

* Map load error checking for what it's worth

* Small cleanup

* For case sensitive

* File systems

* Strip maprotate stuff from build script

* Spruce up the _maps tree. Compile some empty space

* Make travis simpler

* LINEARU ENDARU!!!

* tgstation TWO!!!

* Lowercase mine type

* Dummy dm's for testmerging

* Fixes job ordering

* If ghosts wanna watch the map load so be it

* Let them know what's going on

* Fixes z-transitions

* Optimize z expansion further

* Remove this old var

* Fix wiznerd teleportation

* Rmove butt

* Does the thing

* Moved temp configs to the data dir

* Un-touch gitignore

* Forgot templates.dm

* Forgot to include the includer

* Fair enough

* SILENCE IMBECILE!

* @Cyberboss still a fuckboi

* Speed things up a bit

* Fix a potential bug with the error message

* Whatever
2017-03-07 10:45:31 +13:00
oranges
f0c15bbcb6 Merge pull request #24627 from Cyberboss/ProcessorAlphabetization
Subsystems are now ordered by name in MC tab
2017-03-04 23:35:34 +13:00
coiax
b3a52289ef Posters refactor (#24548)
* Posters refactor

- Posters now use a simple type-per-poster definition, rather than some
large global lists requiring sprite numbers to be the same as entries in
a list.
- Putting a specific poster on a map now simply means putting the
specific type that you want, rather than var editing (often
unsuccessfully).
- There are random all-posters, random contraband posters, and random
official posters for mappers too.
- Ripped posters are now their own type.
- The potential to make additional classes of posters has been left
open, I'd like to move a bunch of the advertisement posters to their own
catagory, and clean up the "official" category to be more obviously
on-brand.

* Updates DeltaStation

* Changed the maps of Metastation

* OmegaStation posters updated

* Updated Pubby posters

* Map merged?

* Updated away mission and ruin posters

* Removes vars from garbage
2017-03-03 11:16:19 +13:00
Cyberboss
3ad9be1555 Subsystems are now ordered by name in MC tab 2017-03-02 14:45:40 -05:00
coiax
1a73938c3d Alien larva poll ghosts before bursting (#24523)
* Alien larva poll ghosts before bursting

🆑 coiax
add: Ghosts are polled if they want to play an alien larva that is about
to chestburst. They are also told who is the (un)lucky victim.
/🆑

* Messages and fixes

* Removed var from giant list of vars
2017-03-02 19:33:17 +13:00
Xhuis
dd9ef0dd0f Small Highlander patch (#24175)
* Enforces honorable combat

* Now with compiling!

* someBODY once told me the WORLD is gonna roll me

* DOES THE NEEDFUL
2017-02-22 12:00:06 +13:00
Cyberboss
1365ab99d8 Merges map templates and map loader (#24140)
* Reorganize the mapping code

* Finish this up

* Reee line endings

* FUCKING LINE ENDINGS

* LINARU ENDARU

* >PLS SET REPO LINE ENDINGS

* Comments

* Hoisted by my own travis.yml changes
2017-02-19 16:55:02 +13:00
Cyberboss
2d424cf6be Moves some stuff that belongs in dbcore to dbcore (#24145)
* Moves some stuff that belongs in dbcore to dbcore

* Wew garbage

* Ree

* Fixed
2017-02-19 14:21:53 +13:00
Joan Lung
0fdece36bb Merge pull request #24200 from MrStonedOne/patch-313
Fixes IWILLGC hint
2017-02-18 19:06:47 -05:00
Joan Lung
1bc43f8e9a Merge pull request #24170 from Cyberboss/patch-14
Makes a thing that should be static, static
2017-02-17 20:49:24 -05:00
Kyle Spier-Swenson
f5da8d16d6 closes #24199
closes #24199
2017-02-17 13:55:31 -08:00
Cyberboss
cebaa7061c Removes the mining asteroid (#24173) 2017-02-17 10:49:48 -06:00
Cyberboss
8b804dc4d5 NOBODYCARESGARBAGE 2017-02-16 16:08:28 -05:00
Cyberboss
f2f26c1984 Merge branch 'master' into DestroySleep 2017-02-14 09:32:31 -05:00
Leo
9c6803ae19 Ports Paradise error handler, with in game runtime viewer! (#24036)
* Ports paradise error handler, with in game runtime viewer!

* Changes to the old runtime error and removes inerror reference

* Oops

* Adds a wrapper for world.log so it displays both in the runtime diary and in DD window
2017-02-14 11:39:31 +11:00
Cyberboss
5efad4b9a0 Adds logging for path that slept in Destroy 2017-02-13 16:53:41 -05:00
Jordie
ae5ca631f8 Watchlist entries filtering, non-deleting messages (#23737)
* adds watchlist filtering to online clients, messages no longer delete self

* message-sent > message sent

* missed var
2017-02-08 18:30:51 +13:00
Cyberboss
44e6c208b0 Makes find_references go DEEP 2017-02-07 14:13:32 -05:00
Cyberboss
b86e224571 Makes qdeleted and qdestroying macros (#23666)
* Makes qdeleted and qdestroying macros

* Makes QDELETED and QDESTROYING uppercase

* Swap qdel checks istype's for != null's

* Fix it

* How was this missed?
2017-02-06 00:59:27 +13:00
Cyberboss
bc6c8077fa Makes find_references search globals 2017-01-31 14:35:48 -05:00
MrStonedOne
09f5f46481 Fixes the mc treating subsystems that slept in fire() improperly
Originally I wanted to just say that such a thing is unsupported, but since byond can just randomly decide to insert a bunch of sleeps into a loop, I can't make that requirement on subsystems, so its now supported.
2017-01-30 03:38:13 -08:00
Joan Lung
033bf5a04d Merge pull request #23181 from Cyberboss/patch-14
Speeds up find_references
2017-01-24 10:26:50 -05: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
Cyberboss
8e661f1488 Speeds up find_references 2017-01-20 15:39:58 -05:00
MrStonedOne
01e8fc6fbc Fixes timers cleaning up oddly in certain edge cases. 2017-01-17 00:12:29 -08:00
MrStonedOne
c8d4ed5cfd Some more improvements and overhead shaving. 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
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
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
oranges
ca894aa845 Merge pull request #21801 from Cyberboss/CloseTheDamnThings
MC/SS Shutdown. Tguis now close on world reboot
2016-12-01 12:12:38 +13:00
Mervill
b5578df27d corrects some defs without leading slash (#21843) 2016-11-30 20:05:14 +13:00
Cyberboss
0625d2b05d Less hair on fire 2016-11-27 18:58:19 -05:00
Cyberboss
ac1003c9cd Didn't save everything 2016-11-27 18:46:04 -05:00
Cyberboss
8cf1b974dc You can now expect MC and SS Destroy to be called on round end
Runs the GC queue on SSgarbage Destroy
2016-11-27 18:06:08 -05:00
Shadowlight213
7a6511ddda Fixes the qdel reference finder (#21763)
* Fixes the qdel reference finder

* Speed improvements.
find_references is now a proc
2016-11-27 22:58:33 +13:00
Kyle Spier-Swenson
235b79fb5a StonedMC, the bastard love child of GoonPS and CarnMC (#17987)
Basically, they key difference between StonedMC and CarnMC is that when multiple ticks want to run at the same byond tick, we divvy up the tick between the subsystems, rather then allow one subsystem to hog it all.

The key difference between StonedMC and GoonPS is that we allow the subsystems to tell us how to divvy up the tick using flags and priority.

The new SS_ flags allows us to select behaviors that used to be piggybacked as side effects of dynamic wait or default but sometimes unneeded behavior.

Dynamic wait is 100% gone, lower priority and SS_BACKGROUND are better more refined ways of doing this when combined with MC_TICK_CHECK

I have by design never looked at the inners of goonPS, so this is all original code but I know it uses two loops because of comments by goon devs on reddit threads, that design didn't make sense before, but when I can tell a SS how much of a byond tick it is allowed to have, knowing how many need to run this tick is helpful I also know a bit more about how it works from piecing together comments in #vgstation.

Detailed list of changes:

Subsystems now have flags, allowing fine grain control over things like rather or not it processes, inits, rather it's wait is how long between runs (post run timing) or how long between starts, and rather or not late fires should cause the next fire to be earlier.

Mc now has two loops One loop handles queuing shit, one loop handles running shit.

MC now splits up tick allotment rather than first come first serve Subsystems can even request a bigger share using higher priorities. (It will even resume subsystems it paused if other subsystems hadn't used as much as it predicted they might need)

Default fps is now 20 This is related enough to the MC and it's a change that's really long since over due

All code oddities are most likely to be necessities to lower overhead on the mc since it runs every tick
2016-06-16 18:01:16 +12:00
coiax
4483d5275c Shuttle manipulator (#17436)
* Starting out on our tgui journey

* God tgui, why do you need to be updated

You're dynamically generated anyway

* Commit of stuff

* Further progress is being made

* Everyone loves buildscripts

* Further modifications to my incredible running script

* Starting to modify the minimap code to be better

* It's going well thusfar, I guess

* What have I done

* RIP minimap

* FUN FUN FUN FUN FUN

* Adds shuttle_manipulator.dmi

MUH HOLOGRAMS

* Is it done? IS IT OVER

* Peer review

* Some bug fixes

* Makes that damn greentext shut up

* Shuttle registration

* Made the Emergency Escape Bar more robust

No climbing on the bar.

* Do not stare into the operation end of the device

* Compile shame

* THE MOST DUMB

* Passive barmaiden

* Emergency shuttle memes

* MORE SAFETY CODE

* Fancy shuttle manipulator icons

* Smoothing it out

* We are going to have a lot of fun with this one

* Independent blobbernauts

* WABBAJACK WABBAJACK

* Message for attempting to authenticate old style

* Angry alert noise is back

* Revert "Independent blobbernauts"

This reverts commit 34d6af7c9c88cfc2864990cb37b586bb90163dd3.

* No parrot sleep plz

* Moves the special shuttle stuff to special.dm

* No Bartender like a Centcom Bartender

* Non-controversial map changes

- Backup shuttle moved closer to Centcom main structure, docking tube
created
- Moved shuttle import landmark to above Centcom main building
- Added shuttle displays to Conference Room
- Squashed the Chapel a bit in Metastation
- Made the docking port on Z2 massive
- Made the docking port on Metastation a lot larger

* Hacks and slashes at Box

A bunch of things are extended and squashed so Box shuttle dock can
support the MetaStation emergency shuttle.

* Some Metastationshit

* Never ending changes

* Wabbajack to TGM

* Modified the bar, I think that's all of them

* Stops Barmaiden wandering around

* More code review

* Whitspace, the bane of us all

* DIE WHITESPACE DIE
2016-05-26 15:15:19 +02:00
Kyle Spier-Swenson
32cdbe2eea makes the log from long deletes more noisey.
This is so that when this happens, admin's have immediate feedback as to what caused the lag.
2016-04-28 21:56:47 -07:00
Kyle Spier-Swenson
1728d02b50 fucked up args 2016-04-27 21:53:49 -07:00
Kyle Spier-Swenson
246a8cb048 Adds some logging to hard deletes that take forever.
(and other changes like recording the longest delete so i can figure out if handle_queue is getting called a lot or if something actually is taking forever to hard delete)
2016-04-27 19:10:45 -07:00
MrStonedOne
09fb8c2b10 Explosions and singulo use spiral range (and other changes) 2016-03-15 03:39:41 -07:00
MrStonedOne
2887dc7ce0 Removes lag.
This setup allows subsystems to pause themselves until next mc fire if they are about to go over a tick, and resume on the next mc tick
It also makes it so we prioritize running subsystems we skipped because there wasn't enough time in the current tick to run them based on their avg tick usage. (as well as subsystems paused mid way thru)

Adds a macro for adding this to non-mc procs. just drop it in the loop. There is a define version as well for if checks if you want to know if you just slept to avoid lag.

This is all inside #if DM_VERSION defines, so once i test that 509 still works to compile/test this should be good to merge
2016-03-15 03:39:39 -07:00
Kyle Spier-Swenson
ac0b0c2e8d I was stupid, This is less stupid
(also fixes a minor code fuckup)
2016-02-27 16:32:03 -08:00
Kyle Spier-Swenson
bd519dca11 "YOU MISSED A SPOT!" 2016-02-08 21:21:10 -08:00
Kyle Spier-Swenson
be51ea1d17 you saw nothing 2016-02-08 21:15:49 -08:00