![]() * Displays a popup if you're converted into a shade who needs to follow instructions (#69319)Ī week or so ago I soulstoned someone and they just spent the whole time yelling at people to try and get me killed until I got tired of it and chucked them into some lava. Displays a popup if you're converted into a shade who needs to follow instructions (#15983) These are effectively zero-wait timers, which can mess up the iteration of the clienttime timer queue by being inserted into the past or current tick's list and causing the head/index to desync, potentially leaving spent timers in the queue or firing them again.Ĭommit sha 0ef6c5acf07490338d57c712d322fc1d983271fd Thanks to LemonInTheDark and MrStonedOne for their help in tracking this issue down. ![]() (The stacktrace for negative waits is technically invalid but I didn't care enough to touch it.) Clienttime timers have a resolution of one decisecond instead, so we now clamp and round it to that instead. Fix client timers having invalid world.tick_lag and rounded it to multiples of the same, but this is invalid for clienttime timers. This allows for awaiting extremely expensive non-sleeping procs (like the aforementioned getFlatIcon) I instead elected to make /datum/auxtools_promise sleep once before invoking its assigned proc, thus immediately returning execution to lua, even if the proc being awaited wouldn't sleep. ![]() While Mothblocks would suggest just raising the execution limit, the idea leaves a bad taste in my mouth due to the possibility of a script causing extreme lag by consistently overrunning the BYOND tick. When trying to run getFlatIcon using lua scripting, I discovered that it was so expensive that, for certain atoms like complex humans, there is no way it will complete within the lua execution limit. * You can now `await` expensive non-sleeping procs. You can now `await` expensive non-sleeping procs. My target is something closer to the 9 second init that had back inĢ019, this is a good first step. Saves roughlyģ3% (16 seconds with LOW_MEMORY_MODE) of initialize on my machine This allows us to not hold up initialize with hair stuff. Otherwise we slowly load them in with a separate subsystem. If an asset is requested it will immediately be fully loaded, but This currently applies only to spritesheets because of how monumentally * Adds lazyloading to the asset subsystems ![]() * Adds lazyloading to the asset subsystems (#69454) Adds lazyloading to the asset subsystems (#15960) * Fix gas canister supply packs causing stray cargo pod runtimeĬommit sha 6da433c8eb5e5b5991046bd4b6ab120a793eb471Īutomatic changelog generation for PR #15949 Ĭommit sha 7579176eedeb09f9aa00a39a2abdcfd8ea4abe9d * Fix gas canister supply packs causing stray cargo pod runtime (#69296) Fix gas canister supply packs causing stray cargo pod runtime (#15949) ![]()
0 Comments
Leave a Reply. |