Commit Graph

15 Commits

Author SHA1 Message Date
spookerton
ffba11e5ab rename a bunch of atom flags 2022-10-18 09:36:41 +01:00
spookerton
3abdbbaa1c replaces atom.initialized with ATOM_INITIALIZED
refactors atom/var/flags to atom_flags and area_flags
moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags
corrects various misapplied flags
2022-10-18 09:36:36 +01:00
atermonera
18c044e119 SSOverlays cuts queue from start to count, not count to end 2022-05-01 00:02:51 -08:00
spookerton
56f3758f1d fix overlay
using a shared renderer image was breaking things that used their own
images, if they set properties on those images - this resolves that by
removing the shared renderer and instead using a fresh image when a
cache entry is created, or by simply using the raw appearance of
uncacheable things like atoms and images without passing them through
another image for no real reason anyway.
2022-04-30 08:54:01 +01:00
spookerton
2572f042a3 redo behavior of ssoverlays and atom overlay procs 2022-04-24 07:50:46 +01:00
spookerton
a930f4eb7c move filter_data to atoms def, add get_overlays 2022-04-24 07:41:01 +01:00
spookerton
fbd8d3c46b standardize & document controller/subs definitions
renames "PreInit" to OnNew because that's what it actually is.
2022-04-24 07:40:14 +01:00
spookerton
cdf7c84c06 clean up subsystem/Initialize impl inconsistencies 2022-04-24 07:40:14 +01:00
spookerton
26a8ee2c0d normalize subsystem wait time / ticks lines 2022-03-31 20:26:29 +01:00
spookerton
01b1a22a11 massage subsystem definition for read/maintain 2022-03-31 20:25:42 +01:00
MistakeNot4892
b22a0568a3 Sideports a couple of init unit tests from Neb. (#7893)
* Sideports a couple of init unit tests from Neb.

* Trying to unfuck initialize logic.

* Removing del()s.

* Adjusting return values to Initialize().

* Moving some dangerous object logic from obj onto the two types that use it.

* Rolling back some init changes and commenting out initialized atom unit test.

* this comment formatting is a minor war crime

* Removed sleep() from signaler circuit Initialize().

* Additional Init fixes post-rebase.

* Uncomments subsystem test since that's passing.
2021-02-21 12:03:34 -09:00
kevinz000
8da11c17a2 Makes math helpers defines for performance (#5654) 2018-12-06 13:13:59 -08:00
Arokha Sieyes
7f93f3cca7 POLARIS: Moves daily logs into being folders rather than files 2018-03-13 18:20:59 -04:00
Leshana
4c5b7655b5 U_I Phase 2.5: Fix *swish deleting tail overlay
All more cases of "don't call apply/remove multiple times!
2018-03-08 19:34:01 -05:00
Leshana
741e02407a Port SSoverlays & Convert turfs to use it (#5004)
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.

* Ported the core of the overlays management subsystem from /tg

- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.

* Fix runtime on universal pipe adaptor update_icons

* Workaround for appearance_bro not initialized

Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors.  We temporarily fix by moving it to be a global-scoped global.

* Convert fire alarms to use add_overlay() A good first test.

* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!

- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that

* Convert turf overlay interactions to use add_overlay.

Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required.  That code should be implemented by original author.
2018-03-05 19:43:23 -06:00