Commit Graph

33 Commits

Author SHA1 Message Date
Leshana
44dc4b7286 Implement SSatoms
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
2018-02-05 15:50:06 -05:00
Aronai Sieyes
52fe8ba6e4 Make Darksight Great Again (#4626)
* Polaris port of darksight adjusting

* I really need to stop doing this, don't I?
2018-01-25 18:01:33 -06:00
Arokha Sieyes
17907b4486 Fix 3 server errors (#4578)
* POLARIS: Lighting runtime for accessing a list that might not exist

* POLARIS: Lazily clear these lists

* POLARIS: Just return the normal hint in Destroy on plane holders
2018-01-18 22:23:43 -06:00
Arokha Sieyes
f2fef6f410 Planes Framework (#4545)
* Polaris initial plane upstream merge

* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT

* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.

* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking

Setting stuff like colorblindness variety and things.

* Remove NIF reference, fix lighting layer define

* Handle effects above lighting plane

* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE

* Merge: 3000% human/update_icons() speed improvement

* Merge: Avoid ghosts pointing at things
2018-01-17 13:45:54 -06:00
Neerti
e703d629c6 Fixes the Sun/Weather and Ports Vore's Lighting SS
New lighting system is needed to handle updating literally 14k+ tiles whenever the sun moves.  The straight port seems to have had no adverse effects from what I could see.  Don't know if it's more performant but it doesn't seem to be less.

I didn't expect the latter would be needed for the former.
2017-09-22 12:16:21 -04:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana
ea223cd5fc Prevent lighting_overlay objects from being moved around.
* lighting_overlay objects belong to a turf. Turfs never move. Neither should the lighting_overlay, even of an overzealous shuttle controller thinks they should.
2017-05-15 17:16:40 -04:00
Leshana
a29b807953 Allow set_opacity() to work for turfs too.
Fixes lighting opacity not updating on mined rock walls and false doors.
2017-04-15 10:37:35 -05:00
Leshana
d00c2596e8 Restores "soft" darksight vision.
The previous client-side optimization made lighting overlays go fully
opaque when it was dark, making it so species darksight didn't let you see
anything.  This fixes that by making a dark_soft icon state that has
opacity matching the LIGHTING_SOFT_THRESHOLD.
2017-04-12 21:43:07 -04:00
Leshana
5f629e2aca Optimizes lighting overlays for slow clients.
Ports https://github.com/tgstation/tgstation/pull/25778 and https://github.com/tgstation/tgstation/pull/25861
* Instead of using color matrix for all overlays, fully dark and fully light use static black and transparant icon states without color matrix.
* Also implements LIGHTING_ROUND_VALUE so that lighting values actually will reach 0 or 1.
2017-04-12 19:12:06 -04:00
Leshana
e8af4afc88 Port tg/paradise/good soft-edge lighting
Ports https://github.com/ParadiseSS13/Paradise/pull/6161
Its merged in nearly verbatim as far as the lighting module goes.
Changes outside the lighting module are merged based on our codebase.
2017-04-12 19:11:45 -04:00
Yoshax
0fb98bbabd Scheduler now uses btime, and other improvements 2016-06-01 17:56:07 +01:00
PsiOmegaDelta
232dd5bfb1 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
2015-09-18 08:51:10 +02:00
mwerezak
810ca147d0 Fixes #10710 2015-09-12 19:34:43 -04:00
Zuhayr
0e4c2430d1 Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12 into dev 2015-08-18 11:59:50 -07:00
mwerezak
b21bd0c42d Ports fix for #10660 from vg
Courtesy of PJB3005
2015-08-16 14:24:44 -04:00
mwerezak
e0965bc2cb Implements inserting rags into booze bottles 2015-08-13 18:37:17 -04:00
Chinsky
fc14ec9fca Merge pull request #9883 from mwerezak/ert-lights
Adds more coloured lights
2015-08-13 07:22:45 +03:00
PsiOmegaDelta
c25212463a Fixes #10409.
Ports https://github.com/ParadiseSS13/Paradise/pull/1622.
2015-08-03 10:15:24 +02:00
Mloc
ac5774c81c some dview tweaks & fixes
Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-30 19:50:32 +01:00
Zuhayr
ad63247749 Merge pull request #10382 from Mloc/freezyfixes
fixes
2015-07-31 03:55:34 +09:30
Mloc
aab326e05f fixes #10232
makes lights trigger on forceMove using a vg change

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-27 11:40:37 +01:00
Mloc
26a4e12cd2 make lighting falloff a macro and optimize turfs-in-view
Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-22 16:22:28 +01:00
PJB3005
b6a1ee2adf Lighting: The sanicing 2015-07-21 15:58:39 +02:00
Mloc
bd705fb7e0 optimize apply/remove_lum
Light sources no longer track applied lumcounts in an assocative list,
using shared-indices with the applied turf list instead.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-12 15:47:17 +01:00
Mloc
291f0b8556 client optimizations for lighting overlays
Removes lighting transitions- they don't work with the new system.
Greyscale overlays now use BLEND_OVERLAY instead of BLEND_MULTIPLY for
better client performance.
Light overlays in total darkness are now made invisible.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-12 15:47:13 +01:00
PJB3005
aa30a12125 Fixes another bug 2015-07-04 17:55:41 +02:00
PJB3005
dcbfff8aaa Fixes stuck lights 2015-07-01 07:59:19 +02:00
mwerezak
1cb41db995 Adds lighting for air alarms and fire alarms 2015-06-24 22:01:21 -04:00
PJB3005
c48ffa8d63 Lighting optimizations + meson fix 2015-06-23 17:46:11 +02:00
Mloc
d6f4828f2a fix an issue with destroying light sources that have 0 light_range
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-14 10:58:52 +01:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01:00