Commit Graph

46 Commits

Author SHA1 Message Date
Jordie
7e94c282a4 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-10 20:33:24 +01:00
Jordan Brown
2a0c138b63 Merge pull request #38995 from ninjanomnom/looping-timers
Adds looping timers
2018-07-13 23:25:43 +01:00
Ling
248c5dda36 Merge pull request #838 from yogstation13/upstream-merge-37665
[MIRROR] Splits up round table initialize, start, end and shutdown
2018-06-03 19:46:53 +02:00
oranges
2c0b76f0b8 Refactors how overlays handle the compile step (#38002)
Robustin says:

The very heart of our overlay code, a single line that basically boiled
down to overlays = new_overlays, was the cause of so much overlay lag.
Human overlay code was by far the biggest culprit. Most objects have 0-2
overlays but humans are marching around with 20+ most of the time and
the current system was spending a LOT of effort comparing 20+ image with
20+ other images and then apparently rendering them all anyway. Human
overlays are at least 10x the cost of any other overlay process and on a
busy server the overlay compiling was 2x the cost of any other system.

I compared the cost of overlay changes by picking up/dropping a PDA in
the dorms 250 times, with a 50% chance to use our current overlay
compiler and a 50% chance to use a "direct addition/removal (+=, -=)
approach:
CURRENT         1120ms  133     (avg:8.4210529327392578)
SCRAPS  6ms     112     (avg:0.0535714291036129)

Now this PR makes our whole overlay subsystem use that approach for
overlay compiling and the early results look incredible. The best part
is this is just the START of improvements. Humans benefits the most
because their icon system was already designed for small, incremental
overlay updates. By moving other code from "Cut everything, then put it
all back" to only updating the necessary overlays (cough, APC's), we can
see similar improvements.

oranges says:
I've picked up this PR because robustin vanished, but I do see the value
in the approach, only things I added were the checks for the overlay
list len changing

I also retabbed the entire file because I am a brainlet and did it
without thinking
2018-05-31 01:39:48 +01:00
Nich
36ae797e6c atom.initialized etc 2018-05-24 12:35:31 +02:00
oranges
b31cecfaf8 Merge pull request #37934 from AutomaticFrenzy/patch/ssping
Migrate goonchat pings to a subsystem
2018-05-21 22:39:44 +01:00
Jordie
74140e7c2a Splits up round table initialize, start, end and shutdown (#37665)
For planned change to how TGS initializes server instances ahead of time so rounds aren't tracked as being far longer than they really would be. Similarly end time split for a more accurate round duration.
2018-05-15 08:11:44 +01:00
Jordie
ee0b47bee3 Adds role time log table and triggers (#37763)
* adds role time log table and triggers

* typo

* whoops also typo here
2018-05-09 08:55:01 +01:00
oranges
e19a4edb10 Merge pull request #37646 from Xhuis/conflicts_imminent
Renames trait datums/character traits to quirks to differentiate them from the other trait system in the code
2018-05-06 13:21:20 +01:00
oranges
90779c633c Merge pull request #37267 from Jordie0608/iwasgoingtolaughatcitrusfordoingthisbutthenimadethesamemistake
Adds log and management tabs to permissions panel
2018-04-28 09:48:33 +01:00
vuonojenmustaturska
c0642e965a Adds a stationloving component to replace a couple of flags and SSinbounds with (#37436)
* station lovin' happened so fast

* Update stationloving.dm

* less qdel memes

* imbue soul signal

* rename imbue soul signal

* dupemode

* henk

* Update atoms_movable.dm

* Update nuclearbomb.dm

* Update nuclearbomb.dm
2018-04-27 13:36:56 +01:00
Nich
2000046e93 Refactors bitflag macro values into bitshifts (#37234)
* Refactors bitflag values into bitshifts

* minor formatting edits

* Unbitshifts a macro set that skipped 3 for whatever reason
2018-04-21 13:44:09 +02:00
kevinz000
33764678a2 [READY] Refactors wet floors to a component (#36130)
* Wet Floor components

* No more turf wet slide.
2018-03-16 23:27:02 +01:00
ACCount
1f5b59190d NTNet airlocks (#35947)
* Standardizes access checks

* Makes SS Networks init before SS Atoms to prevent NTNet interfaces from initializing before them

* Adds passkey support to NTNet packets

* Adds NTNet support to airlocks, makes door remote use NTNet

* Access levels given by jobs are now shuffled

* Access code improvements

* Adds IC card readers

* Fixes a delay issue with opening/closing airlocks with NTNet or signalers

* code review memes

* Renames plaintext_passkey to encrypted_passkey

* death by thousand nitpicks
2018-03-08 18:39:17 -05:00
kevinz000
4cf3c7cd2c Adjusts fire priorities of flightpacks, research, networks, and fields. (#36129)
* Fire priorities

* research lower not higher

* Don't need to keep timing if it's automatically compensating for missed ticks.

* Spelling

* spelling
2018-03-05 00:25:03 -05:00
Ashe Higgs
ab9e2e8902 Adds minor roundstart traits! (ala CDDA, etc.) (#35440)
* Roundstart traits

* Unspaghettifies night vision

* Fuck everything

* Issues patch
2018-03-02 13:39:44 +13:00
Jordie
23a45889ed Modernizes SQL admin loading (#35264)
* updates sqladmins with excluded flags and tempminning

* rank, editing and permission protections; json backup

* fixes

* reverted the wrong file

* fix slidecolor cascading and disabled switches not being sent in form

* removes debug uncommenting

* whoops this too

* commas fix + versions for changelog entry headers since 3.0

* actually account for can_edit_flags and use of @ with - or *

* fixes and rearrangement of admin > localhost > autoadmin precedence

* in case you want to not have autologin autoadmins
2018-03-02 13:38:26 +13:00
arsserpentarium
5d11121c14 [READY]Astar improvement (#34713)
Improvements to A* via using bitflags to find directions and caching already checked directions so we don't recheck them.
2018-02-22 10:16:38 +13:00
Cyberboss
95b9b07024 Moves garbage up in the init order 2018-02-15 09:31:42 -05:00
ninjanomnom
53ffc71655 make fire priority values defines 2018-01-17 02:57:14 -05:00
Kyle Spier-Swenson
fa136e71f4 Revert "Merge pull request #33537 from ninjanomnom/priority-defines" (#34528)
This reverts commit 0244b61886, reversing
changes made to 5d07df08ea.
2018-01-16 20:04:35 -05:00
Jordan Brown
70809e5bf2 Updates TIMER_UNIQUE documentation (#34328) 2018-01-13 21:22:51 -02:00
Jordan Brown
dadfe03421 Cleans up __compile_options.dm 2018-01-09 10:17:19 -05:00
Emmett Gaines
4ec09a0c19 Re-Support old hotkey mode behaviour (#33460)
* supports old hotkey mode behavior

* testmerge fixes
2017-12-17 15:35:47 +13:00
ninjanomnom
a65248928b defines all subsystem priority values 2017-12-15 15:16:31 -05:00
Emmett Gaines
94a7608995 adds a parent level subsystem initialized var (#33456) 2017-12-13 22:11:21 -05:00
kevinz000
00966e2aaa NTnet refactor, assimilates exonet 2017-11-21 20:50:45 -08:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
arsserpentarium
bdfbafd54a [READY]integrated circuitry port+upgrade. (#32481)
* first

* printer, tools, prefab, assemblies, power.dm(looks like so)

* integrated circuit

* input memory epv2 exonet node

* input,manipulation,output,poweract

* fixes

* reagents fix

* time

* minor fixes

* all errors fixed

* bugfixes

* prefab, tickers, camera, led, assembling bugs,

* All except exonet node UI and led's

* cameras, led and some exonet

* 11

* 111

* lesser fixes.

* botanic shit

* icon

* nobludgeon for debugger

* gui, typos

* gui, typos

* dopil

* smaller diff, rm template and node

* mergefix

* list fix

* weakrefs

* fixes

* Clamp, crowbar, minor shit

* fukken refs

* exonet node refactor, put defines into defines.

* dme upload

* defines,helpers,exonet node, botanic

* TRUE/FALSE and minors

* datumfix

* moved init to ss

* quickfix

* cryo runtime fix

* datums quickfix

* admins

* minor fixes

* fixes

* refs,tools

* printer

* fixes

* fixes

* check interactivity redo.

* usercheck, fixes

* weakrefs

* T/F

* WEAKREF

* unfuckup

* fixes and shit

* Update assemblies.dm

* crypto

* fuck

* SS, final fixes

* looks like final fixes.

* release,crypto, ranged scnner

* defines

* Resets some files

* find/replace

* Associative addresses

* Update exonet_node.dm

* push

* there we go

* fix

* FINISH!

* WEAKREFUCK

* FixeS

* Woops

* Woops

* woops

* fix

* fixes

* loops

* fix or break?

* fix,dammit!

* fix,dammit![2]

* fix,dammit![3]

* disconnect

* fix

* input

* lag

* pin

* map

* sdegsds

* >>>lights

* fixes le map

* makes circuits actually speak

* halffix

* resets maps to tgstation master

* typeless loops in init

* Changes subsystem to not initialize new types and use initial instead.

* fix

* trying to get rid of obj list.

* get rid of .

* Better code makes better mind

* fixed

* pin fixes

* fix

* compiled tgui

* circuits config

* spelling
2017-11-14 04:05:22 -05:00
Kyle Spier-Swenson
d7b537ce24 SSoverlay improvements and tweaks (#32371)
* Overlay per-type cost logging.

Overlays will now log how long each type took to process.

Changed up how overlays was done to account for the fact its a queue and not a processor. (it was using almost none of the processing subsystem framework)

Made the overlay loop faster by making it not cut the list until the end.

Added a simple generic benchmark stat tracking system.

I don't know how much overhead this adds to overlays. i may put it behind testing or something, but i do want to test this on the serbers to get some stats.

* Removes flush() as it was creating race conditions

* Use ref

* text2file

* Atoms added as an overlay will have their pending overlays compiled before being converted to an appearance
2017-11-10 20:25:29 +01:00
KorPhaeron
dcddc79e11 Allows species to be blocked from ever being roundstart, can now choose your Halloween species (#31877)
* Hardlocked species, halloween now lets you choose your spooky race

* Code standards, moving procs around
2017-10-20 11:10:54 -04:00
AnturK
b2def77bf6 Fixes shuttle lighting issues 2017-09-11 20:14:36 +02:00
Emmett Gaines
1d201939ba [Ready] Shuttle dock() rewrite (#29049)
A complete rewrite of the dock proc for shuttles to make it more maintainable and readable and also bring over some new features while we're at it. This allows for multi-area shuttles and more control over the effects of anything being moved.

Areas, and movable atoms all have (before|on|after)ShuttleMove procs, turfs have (from|to)ShuttleMove procs which are called the same as beforeShuttleMove.

All ShuttleMove procs have been moved to a single file in the shuttle module.

Stationary docks will have their baseturf_type and area_type modified in maps once the problems have been worked out.
2017-07-17 12:17:56 +12:00
Leo
da08532f0a Merge pull request #28469 from Cyberboss/TimerWarnings
Adds warning for misuse of deltimer
2017-06-15 22:47:58 -03:00
Jordan Brown
be17cf33ef Blackbox no longer records data after round ends (#28390) 2017-06-15 10:48:01 -03:00
Jordan Brown
a8dffe5eb2 Adds warning for misuse of deltimer 2017-06-14 16:07:29 -04:00
Jordie
f042d97448 Adds round table to replace tacking some data in feedback table (#27454)
* adds round table to replace tacking some data in feedback table

* removes obsolete code for acolytes_survived

* uses a better query

* corrects var name

* uses actual sql queries

* adds commit column and connected checks before queries
2017-05-26 22:17:44 +02:00
Cyberboss
d15de2ff25 Adds a minor documentation comment 2017-05-20 14:28:11 -04:00
Cyberboss
ee404b2170 World.dm Refactor (#27268)
* Cleanup world/New

* Moves some things from OnReboot SS Shutdowns

* Move mode handling procs to ticker

* Moves delayed reboot to ticker
Cleans up round end sound setting
Splits round end animation between SStitle and SSticker

* Moves PR announcement to where it can use the define

* Clean this bit up

* Move out datacore Initialization

* Fix some stuff

* Fix this for

* Different PR

* Gives admins reboot options

* Make it smaller
2017-05-18 21:53:46 +10:00
Cyberboss
1c6bd654b7 Make runlevels bitflags 2017-05-11 10:04:19 -04:00
Cyberboss
a0a27219b6 MC Runlevels 2017-05-10 16:05:37 -04:00
coiax
b633cd6ba2 Moves languages to a holder datum, gives mind its own language holder (#26776)
* Ghosts now have a language menu

🆑 coiax
add: Ghosts can now modify their own understood languages with the
language menu.
/🆑

- Language menu is now on /atom/movable, and can be opened by any atom
with the `open_language_menu` proc.
- Used for testing, and simulating what various station members hear.

* Language holders, I

* Language holder, II

* Dos line endings

* MIND LANGUAGES

* Fixes some mobs not having language holders in their minds

* Shadow languages

* How did you lose the holder?

* Mob level IC->Open Language Menu verb

* Gives draconic to silicons

* Lazy breeki

* Use of pre-initialized global lists for languages

* Fixes bugs with lazy holders
2017-05-05 15:12:27 +02:00
Cyberboss
5ace376e4a Initialize Refactor (#25981)
Shouldn't break anything, stops warning spam, logs errors qdel style at the end of the game.

Initialize now expects a hint to be returned, one of:
INITIALIZE_HINT_NORMAL - Does nothing, returned by the root proc
INITIALIZE_HINT_LATELOAD - Call atom/proc/LateInitialize
INITIALIZE_HINT_QDEL - Calls qdel on the atom

LateInitialize currently defaults to the old re-calling behavior so there should be no issues with that.
Things that didn't return a hint or fucked up somehow will be logged less loudly than they were before

No more world start warnings!
2017-04-27 09:02:29 +12:00
Jack Edge
a76d4374c1 Moves init_order to defines, moves SSevents above ticker. 2017-04-22 22:08:31 +01:00
Cyberboss
9c9673fe45 Adds a crash log and recovery for hanging SStimer 2017-04-03 19:47:42 -04:00
kevinz000
d17aacc8cd Allows soft-disabling of flightsuit processing, moves subsystem defines to subsystems.dm (#25513) 2017-03-30 09:07:49 -03:00