By moving our logging to a DLL we see a drop in CPU/real time of 2-3 orders of magnitude. This is due to BYOND opening and closing file handles on every write, causing incredible amounts of unneeded overhead. The logging library also handles timestamps for us, further increasing performance gains.
This library will also allow for further offloading in the future, such as completely replacing file2text() and friends.
A pre-compiled DLL is bundled, but Linux users will have to compile manually. Directions can be found at the rust-g repo.
Log output is enhanced with millisecond time stamps:
[2018-04-01 15:56:23.522] blah blah blah
This includes runtimes as well, which benefit from the same timestamp improvements and no longer have hacky splitting code to add their own timestamps.
Log shutdown is handled in a dedicated proc called as late as possible, as rust-g integration expands this will be factored out into a generic native code shutdown proc.
* buncha things from upstream
* datums globals, onclick
* datums
* game folder, holy shit mirror bot why
* modules
* icons
* dme
* compiles cleanly
* tools purge
* updates maps
* double check just because. and wew lad
* incidentally, this needs more work first
* some things
* weh
* sound cleanup and icons
* reeeee
* compile issues
* oh look, fresh code sync
* cleans up some unused icons
* dirty vars
* reeeeeeeeeeeeeeee
* wew lad. fuck off with this already
* Cid randomizer check no longer triggers if the user's cid changes once then changes back
Normally, we only check for the randomizer if their cid changed from their last allowed connection. In some edge cases, somebody's cid can be different from a one time glitch, then change back on the next connection.
We now detect such cases and allow the connection.
* Update client_procs.dm
* Update client_procs.dm
* Merge pull request #36666 from tgstation/Cyberboss-patch-3
Topic will no longer be called on deleted objects
* Topic will no longer be called on deleted objects
* April Fools Day replaces the overflow role with Clowns (#36533)
* Refactors overflow job assignment
* Fixes job selection
* April Fools Day replaces the overflow role with Clowns
* Merge pull request #36557 from MrStonedOne/patch-498
Preload vox sounds when preload_rsc is disabled
* Preload vox sounds when preload_rsc is disabled
* [READY] Several fixes/changes to mood, longterm mood effects, beauty component (#36344)
cl Floyd / Qustinnus
del: Removes short-term effects of mood
add; Adds long-term effects of mood by implementing sanity which goes up with good mood, down with bad mood, but takes time to change. Your sanity can be seen as your average mood in the recent past. All effects of moods are now covered by this system
add: Beauty component, currently only attached to cleanables, but you could attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone in the room.
refactor: Removes the original way of adding mood events, uses signals properly instead.
fix: Cleanables "giving" area's free beauty during initialization
fix: Fixes some events not clearing properly
/cl
Fixes#36444
From now on mood no longer affects you directly, instead it decides whether your sanity goes up or down, when your sanity gets too low you will get the effects of what mood did before.
This means getting hit with bad moods due to being attacked while not mean you are doomed anymore, and you get a large timeframe to get away and just fix your mood later.
I also added the beauty component, you could add this to any object and it would either make a room prettier or uglier, comparable to DF or Rimworld. You could add traits to make certain people ugly, for example.
* [READY] Several fixes/changes to mood, longterm mood effects, beauty component
* Fixes stopsounds properly (#36341)
* Revert "Merge pull request #36340 from vuonojenmustaturska/beelogreen"
This reverts commit 259838f38cfda32619e34cf41d57df4d45b75363, reversing
changes made to 111cd316a92f5f5840d96b1fc4bbe4cb7b1ce6fd.
* Fixes stopsounds properly
Also I forgot to actually block admins from bad protocols
it just showed them a message that it was blocked but didn't
block it
* Fixes stopsounds properly
* part 1 - resist out of resting, move and interact with the world while resting, and stamina regen nerf
* makes beepsky check for stuns instead of knockdowns, adds message for getting up, makes gravity reduce standup time, and more
* sprinting, staminacrit, balance changes, and more
* adds stamina modifier to clickdelay, makes items deal stamina damage to the user when attacking, buffs resting stamina regen
* combat mode, ability to toggle right-click context menu on/off, basic combat mode QOL, lays groundwork for 2-handing any item
combat mode toggle sound is from Interbay.
* commits dme changes
* unarmed combat stamina, ability to right click in combat mode, balance changes
* tosses in the HUD icons for later-ish
* rolls back admin.txt
* lotsa UI stuff
* stamina checks, some balance stuff
* adds support for best ui, adds right click to flush disposals, removes aggressive grab pinning in favor of neckgrab chokeholding
* quick dogborg patch while i figure out what do do with them
* oops - fixes prefbreaking for screenshake
* trying to sprint from an elevated surface onto lower ground will now knock you down
* right click to pull fire alarm, lets you bully people by pulling chairs out form under them, makes attacking objects cost stamina
* makes accidents during slipping less likely to occur while combat mode is active, makes tripping off elevated surfaces cause accidents
* makes pumping shotguns cost a tiiiny bit of stamina
* makes eyestabbing and batoning cost stamina
* makes failing stamina checks error out properly, adds stamina check to shotgun pumping
* adds stamina check for chair pulling
* readds aggressive grab pinning
* fixes bug with being buckled preventing interaction
* adds recoveringstam check to incapacitated
* reduces stamina cost for attacking
* oh this too
* fixes bug where you can get stuck in recoveringstam if your stamina suddenly becomes 0 while you're in staminacrit
* makes monkey transformation inherit staminaloss
* adds the ability to wave or shake your fist at someone via right click
* grammar and span closing
* 99 annoying little bugs on the wall, 99 annoying little bugs. take one down, pass it around, 864 gamebreaking bugs on the wall
* more distant right-click emotes.
* buffs standing stamina regen a tiiiiiiny bit
* adds aiming down sights for guns, makes firing guns cause trace amounts of staminaloss
* crusher powercreep - gives crushers the ability to heal staminaloss
* item throwing buff
* adds 1:1 HUD layout
* hopefully fixes issue with recoveringstamcrit not updating
* giant hipfire nerf
* halves the effect of staminaloss on movement speed
* makes stamina recover faster in staminacrit, makes it easier to get disarmed out of combat mode
* get_weight(), movedelay health_deficiency tweaking, combat and resting checks for item attacking
* makes staminacrit automatically disable combat mode, it's now impossible to enter combat mode while in stamcrit
* adds stamina buffer, halves the time needed to stand up after resting, increases stam penalty for firing weapons, and more
* tweaks stamina buffer drain rate a little
* makes buffered staminaloss redirect stamina to the actual stamloss proc when empty, makes stamina buffer stat() more precise
* removes stamina modifier for clickdelays, makes stunbatons deal extra staminaloss
* makes electrodes deal a lil extra staminaloss
* drones cannot resist a rest, so now only carbons are forced to rest
* restricts aiming down sights to carbon mobs, adds stamina display to stat()
* makes gun accuracy and stamcosts more flexible, decreases base inaccuracy penalty, makes borgs immune to inaccuracy penalties
* nerfs inaccuracy penalties just a lil more, fixes blooddrunk miner eye depleting all your stamina
* getting used to tortoisegit
* readds temp dogborg buff
* stamina and stamina buffer HUD displays. Stamina sprite from hippiestation
* makes afterattack call properly again
* decreases stamina buffer regen time to 3 seconds
* Yknow what? decreases it to 2 seconds. That's 3 entire attacks worth of waiting
* makes stamina buffer influence movespeed a lil
* nerfs compiling errors
* tweaks the icons a little
* adds autostanding, adds delimiters to attempts to stand
* makes automatic standup attempts a little clearer
* rest button now toggles intent to rest, fixes perma rest
* oop - quick fixes
* Makes crushers ignore recoil stamina on lavaland, makes burstfiring weapons deal less staminaloss
* buffs highlander sword
* makes stamina have less of an impact on the health display
* fixes dogborgs shoving other borgs into infinite stuns
* You can no longer shoot over tables or shoot through windows while resting. Also buffs turrets