Commit Graph

75 Commits

Author SHA1 Message Date
Aronai Sieyes
d0fcb1dace Few more outdoors fixes 2021-08-01 12:03:13 -04:00
Aronai Sieyes
fd418d7d5e VR fixes 2021-08-01 11:27:31 -04:00
Aronai Sieyes
4e0b8b4966 Looks pretty nice as-is 2021-07-07 21:19:08 -04:00
Aronai Sieyes
51e319581a Fixup fake sun to work like planetary lights 2021-07-07 17:36:43 -04:00
Aronai Sieyes
b4387f251d /tg/ vis openspace 2021-06-30 15:39:07 -04:00
Aronai Sieyes
0f5e7db2d0 set_luminosity helper 2021-06-25 13:18:05 -04:00
Aronai Sieyes
85c31e9fda WIP fix of this PR 2021-06-21 19:29:43 -04:00
MarinaGryphon
385fa640af Linter diagnostics + bans non-var relative pathing 2021-06-20 18:16:45 -04:00
Aronai Sieyes
c88dfac7f8 Make fake sun invisible 2021-06-18 12:26:40 -04:00
Aronai Sieyes
05fc5d3758 Fix requested things 2021-06-17 23:52:39 -04:00
Aronai Sieyes
ff9a776be0 Merge branch 'master' into Arokha/lights2 2021-06-17 09:27:04 -04:00
Aronai Sieyes
db14882664 Port tg lighting system
Also converts planet lighting to a new system
Too hard to separate out from this PR
2021-06-17 00:18:09 -04:00
VerySoft
d461a75caa fix da parenthisis 2021-06-13 21:11:20 -04:00
VerySoft
fa6510f36c New Gateway Stuff!
Some new gateway things, it mostly works I just need to populate things and work out a couple kinks.
2021-06-13 21:04:29 -04:00
Aronai Sieyes
4dd2df5f01 Fix fake space edge turfs 2021-06-05 20:08:12 -04:00
Novacat
979154a4ef Merge pull request #10443 from Very-Soft/moarfakesuncolors
Adds more fake sun colors
2021-05-27 10:09:56 -04:00
Aronai Sieyes
10c0942233 Remove unused var 2021-05-27 09:37:07 -04:00
VerySoft
231c5750f8 Adds more fake sun colors
Adds several colors and brightnesses that the lighting can be
2021-05-27 04:59:09 -04:00
Aronai Sieyes
305ba023ea So picky a lynx 2021-05-26 00:19:43 -04:00
Aronai Sieyes
d9c57e953b Add fake sun object for map stuff 2021-05-25 16:52:38 -04: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