Commit Graph

18 Commits

Author SHA1 Message Date
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
Anewbe 3c4996b475 Hail is less omnicidal 2018-02-28 14:45:10 -06:00
Anewbe 33766df3d4 Fixes a runtime in hail code (#4973) 2018-02-27 17:46:08 -08:00
atermonera 4197a0c117 Adds umbrellas sprites courtesy of schnayy 2018-02-17 13:30:50 -08:00
Atermonera d5a7075d72 Typo, oversight in weather datums (#4777)
* Update sif.dm

* Typo here too

* Missed a spot

* Return->Continue
2018-02-10 21:15:03 -06: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
Neerti 6226d3d15c POI Tweaks (#4645)
* WOrk

* Changes more PoI stuff.
2018-01-29 23:42:57 -06:00
Anewbe ab574554d5 Makes blizzards less cold 2017-11-26 16:34:28 -06:00
Neerti 7225ea2b66 Read github PR for details. 2017-10-10 00:48:27 -04:00
Anewbe d3f3e48897 Adjusts the values of Sif's weather. 2017-09-28 00:08:37 -05:00
Anewbe 1a9458fe13 Fixes the Gravity Failure Event 2017-09-24 14:03:43 -05:00
Arokha Sieyes d00c5941ca Controllerized Planets
Controller with deferrals and SCHECKs to be specific. Won't lag while updating the sun, weather, or temperature.

Also moved some vars around. Namely the planet walls are stored on the planet, not in the weather_holder.

Planets now have their own turfs, the controller 'gives' them to the planets each cycle if there are any unallocated turfs in the global lists, to avoid iterating over other planets' turfs if you have more than one, then cuts the lists if you were crazy and some turf added some invalid type. This saves us type-checking in the for() loops later to make them crunch faster. The former operation should only happen once at the start of the game (and maybe very rarely when turfs are added/removed from a map during the game).

With regards to the temperature updates, rebuilding the zone entirely is an intensive operation. Instead we can use this new cheaty proc to do it from over here. ZAS code outside ZAS oh noooo. Well, the option is to snowflake this case into ZAS which is maybe worse?

Only downside to all this is that if you manually set weather and time it might take between 1-60 seconds for the controller to get around to checking if you wanted to update it. That's not that big a deal. If you really want you can now debug that controller and call doWork on it.
2017-04-18 20:08:22 -04:00
Arokha Sieyes aaeae6695a Make planets more generic
So that Sif doesn't have to be the only one!
2017-04-14 21:36:48 -04:00
Anewbe 3816d634ed Merge branch 'master' of https://github.com/PolarisSS13/Polaris into armor_soak
# Conflicts:
#	code/modules/mob/living/simple_animal/animals/bear.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm
2017-03-24 16:35:31 -05:00
Neerti b571ed9c66 Continues work on the surface map 2017-03-21 16:11:13 -04:00
Anewbe ac79f548e7 Sorta implements armor soak, very WIP 2017-03-10 20:26:37 -06:00
Neerti 836d8dfa3f More stuff, finalizes it I hope. 2017-02-20 18:28:31 -05:00
Neerti 1d9e7c8c08 works on planet stuff 2017-02-06 20:45:21 -05:00