Commit Graph

59 Commits

Author SHA1 Message Date
Nadyr
be2efee10a powder that makes you say yes
bundles https://github.com/CHOMPStation2/CHOMPStation2/pull/2052 into this one because conflicts
2021-05-27 18:42:47 -04:00
Nadyr
2c0757cf3c Merge branch 'master' into upstream-merge-10443 2021-05-27 18:38:23 -04:00
Nadyr
425c9687e5 powder that makes you say yes 2021-05-27 18:02:51 -04:00
Chompstation Bot
7f21363979 Adds more fake sun colors 2021-05-27 14:10:56 +00:00
Aronai Sieyes
d3da6ae4a5 Refactor move code 2020-04-26 16:42:50 -04:00
Leshana
262faa38e4 Replace global all_areas list with world.
It ends up having similar performance, so might as well not bother with all_areas.
2020-04-12 18:04:54 -04:00
ShadowLarkens
2e23dcdb49 Speed up mapload significantly
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
2020-03-19 00:29:24 -04:00
Leshana
c837078105 Replaced "area" shuttles with "landmark" shuttles.
Largely ported from the work done at Baystation in https://github.com/Baystation12/Baystation12/pull/17460 and later commits.

 - Shuttles no longer require a separate area for each location they jump to.
   Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
   This means that more than one shuttle could use the same docking port (not at the same time of course).
 - Enhanced shuttle control computers to use nanoui if they didn't.
 - Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
 - Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
 - Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests

This all required a bit of infrastructure improvements.

 - ChangeArea proc, for changing the area of a turf.
 - Fixed lighting overlays actually being able to be destroyed.
 - Added a few utility macros and procs.
 - Added "turf translation" procs which are like move_contents_to but more flexible.
2020-03-05 10:29:08 -05:00
Novacat
03a3944f36 An assortment of Lighting Stuff 2019-06-18 19:57:40 -04:00
Atermonera
131636b1d2 Capitalizes initialize() to Initialize() because Destroy() is capitalized and this is pretty nerve-grinding 2019-03-26 13:21:08 -04:00
Arokha Sieyes
6b42df0685 Merge branch 'master' of https://github.com/VOREStation/Polaris into aro-sync-05-25-2018
# Conflicts:
#	code/__defines/misc.dm
#	code/controllers/master_controller.dm
#	code/game/machinery/computer3/computers/card.dm
#	code/game/objects/items/devices/communicator/UI.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/structures/signs.dm
#	code/modules/admin/admin_verbs.dm
#	code/modules/client/client defines.dm
#	code/modules/client/client procs.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/under/accessories/holster.dm
#	code/modules/events/radiation_storm.dm
#	code/modules/mining/machine_processing.dm
#	code/modules/mob/living/carbon/human/species/station/prometheans.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/simple_animal/animals/bear.dm
#	code/modules/mob/living/simple_animal/animals/cat.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm
#	code/modules/mob/mob.dm
#	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm
#	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
#	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm
#	code/modules/reagents/reagent_dispenser.dm
#	config/example/config.txt
#	html/changelogs/.all_changelog.yml
#	interface/skin.dmf
#	maps/southern_cross/southern_cross-1.dmm
#	vorestation.dme
2018-05-25 13:23:47 -04:00
Neerti
be73b8c36a for(var/bad_code in world)
Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
2018-04-29 17:55:04 -04:00
Leshana
471e544a61 Revert "Merge pull request #4779 from Neerti/2/1/2018_make_the_sun_not_lag_again"
This reverts commit f4df29713d, reversing
changes made to 337e5e7436.
2018-04-18 18:08:16 -04:00
Neerti
d81c990e22 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 2/1/2018_make_the_sun_not_lag_again 2018-04-13 11:26:12 -04:00
Leshana
6756c5a483 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-03-30
# Conflicts:
#	.travis.yml
#	code/ATMOSPHERICS/components/unary/outlet_injector.dm
#	code/__defines/_planes+layers.dm
#	code/__defines/chemistry.dm
#	code/__defines/mobs.dm
#	code/_helpers/mobs.dm
#	code/_onclick/hud/robot.dm
#	code/game/area/areas.dm
#	code/game/machinery/computer/supply.dm
#	code/game/machinery/cryopod.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/items/devices/communicator/UI.dm
#	code/game/objects/items/devices/communicator/messaging.dm
#	code/game/sound.dm
#	code/game/supplyshuttle.dm
#	code/game/turfs/flooring/flooring_decals.dm
#	code/modules/admin/admin.dm
#	code/modules/client/preference_setup/occupation/occupation.dm
#	code/modules/events/event_container.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/language/language.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_powers.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/species_shapeshift.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_powers.dm
#	code/modules/mob/living/say.dm
#	code/modules/mob/living/simple_animal/animals/bear.dm
#	code/modules/mob/living/simple_animal/animals/cat.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_icon.dm
#	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm
#	code/modules/reagents/reagent_containers/syringes.dm
#	code/modules/shuttles/shuttle.dm
#	html/changelogs/.all_changelog.yml
#	maps/RandomZLevels/wildwest.dm
#	maps/southern_cross/items/clothing/sc_head.dm
#	maps/southern_cross/southern_cross-1.dmm
#	vorestation.dme
2018-03-31 09:20:59 -04:00
Aronai Sieyes
7d3aec96fd Arranges lots of things into planes (#5072)
* Rearranges a billion things into planes

* Make cryotubes fancy

* Update Travis

* Fix hiding logic
2018-03-28 12:59:12 -07:00
Neerti
b95562a2ff Planetary Lighting Optimization Attempt
Changes how lighting is applied to the Surface.

The current method works by making every tile glow in a specific color and intensity. The issue is that when it is time to change the color/intensity, it can take the light controller a considerable amount of time for it to update every tile (estimated to be around 14,000 tiles), which can take a minute or two for the lighting controller to finish.

New method is to have a special light source for the surface, with different properties to the 'regular' light source that most things use for making light. The special version doesn't care about line of sight or lighting falloff. This special light source is applied to a series of invisible 'sun' objects that get generated as the planetary controller gets created. When the lights need to change, the lighting controller has to change a much smaller group of objects instead of literally every outdoor tile.
2018-02-10 07:18:08 -05:00
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
Leshana
ef73c090ab 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-03 00:59: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
947a59e926 POLARIS: Make eyes adjust in the dark
Based on how dark it is, how much darksight you have, etc.
2018-01-24 01:59:55 -05: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
7cbe96e959 POLARIS: Lighting runtime for accessing a list that might not exist 2018-01-18 13:50:36 -05: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
Arokha Sieyes
ad74dec1c0 POLARIS: Planes shenanigans. Begins 'plane' work. 2018-01-14 00:39:59 -05:00
Cameron Lennox
15a6472d14 Pol Sync 2017-10-08 17:44:25 -04: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
bce8cfad6d Converts the lighting process controller to a StonedMC subsystem
* No changes to lighting logic at all, it still processes sources, corners, and overlays in that order.
* Also optimized the initial creation of lighting overlays, and made it include CHECK_TICKs
* Removed the statistics gathering, at least for now.
2017-06-16 23:08:41 -04:00
Leshana
5a02b7e5c7 More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-10 22:41:51 -04:00
PsiOmegaDelta
7b47590645 Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-10 22:41:51 -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
45fcf086ba 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:15:47 -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