Commit Graph

253 Commits

Author SHA1 Message Date
Arokha Sieyes
6750a39900 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 23:34:02 -04:00
Leshana
ebaf958179 Upgraded to "see-down" open spaces, inspired by Eris:
* Instead of open spaces simply showing a static image of the turf below, it shows the turf, all objects, and even moving mobs.
  * Controller updates the view to floor below fairly quickly; mobs update in real time.
  * Open space can be examined to see how deep it is.
  * Mobs are examinable even when on floor below, using a special "zshadow" mob.
  * Changes from Eris: Heavily re-written to handle layering, special cases, rewrote controller etc.  Shadow mobs don't break entering turfs, etc.
* Update to properly layer the objects from multiple "below" floors in the case of tripple-stacked or more z levels.
* Added constant defines for the planes in use.
* Added open_space.dmi with blank_open icon state for open space's darkening overlay.
2017-04-18 23:19:41 -04:00
Leshana
7a4dc4bf79 Merge remote-tracking branch 'polaris/master' into polaris-sync
# Conflicts:
#	html/changelogs/.all_changelog.yml
#	maps/RandomZLevels/zresearchlabs.dmm
2017-04-15 23:14:32 -05:00
Anewbe
1fbef2de5b Merge pull request #3286 from VOREStation/smooth-lighting
Port tg/paradise/goon soft-edge lighting
2017-04-15 22:52:42 -05:00
Anewbe
91bec124b8 Merge pull request #3292 from Neerti/4/13/2017_shields
Changes Shields
2017-04-14 23:47:23 -05:00
Neerti
c84ab67fd3 Changes Shields
See PR for details
2017-04-13 00:36:13 -04: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
Arokha Sieyes
ebb2bf9675 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync2 2017-04-11 21:29:07 -04:00
Krausus
b183ce3ad2 Process deferral and profiling improvements
* Merges Krausus's https://github.com/ParadiseSS13/Paradise/pull/5472 from Paradise
2017-04-10 22:55:02 -04:00
Arokha Sieyes
e7d8af7ae7 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync
# Conflicts:
#	code/modules/client/preference_setup/loadout/loadout_xeno.dm
#	code/modules/mob/mob.dm
#	html/changelogs/.all_changelog.yml
2017-04-10 20:41:18 -04:00
Anewbe
4a33a8df82 Merge pull request #3216 from Neerti/3/22/2017_the_empress_protects
Implements the new Codex.
2017-04-08 13:02:43 -05:00
Neerti
a4a05ae4ec Implements the new Codex. 2017-04-08 12:08:08 -04:00
Leshana
47b41582c3 Merge branch 'master' into vplk-persist 2017-04-04 21:44:28 -04:00
Leshana
f17ea64bbe Enables round-to-round persistence of a few aspects of characters.
* More accurately, it automates updating your character setup.  None of this code does anything you could not already do manually on the Character Setup screen, it simply does it automatically for you.
* Specifically a few things are saved either at round end or when you cryo:
  * Your late-join spawn location is determined by which cryo/elevator/etc you used to leave last time.  Departing thru the elevators will set your spawn location to elevators etc.
  * Your weight is saved (also any extra or deficient nutrition is resolved into weight gain/loss)
  * Your limbs settings are updated based on your status at end of round (whether limbs are normal, missing, robotic, etc)
  * Your markings are saved so they will be the same as when they were at end of round.
* ALL of these changes are optional, toggled on the VORE tab of character setup.
* Replaced hard coded numbers for weight gain with constant defines.
2017-04-04 07:33:09 -04:00
Arokha Sieyes
9e90a293ec VANTAG Hud stuff 2017-04-03 19:35:09 -04:00
Arokha Sieyes
c57e6e75b7 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-smallsync
# Conflicts:
#	code/modules/mob/living/simple_animal/animals/cat.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm

Line ending changes?
2017-04-02 23:25:59 -04:00
Atermonera
85c78001cb Several simple_animals have their own languages, with custom syllables. 2017-04-01 16:46:28 -07:00
Arokha Sieyes
1ba87bea73 Merge polaris sync 2017-03-28 12:24:46 -04:00
Arokha Sieyes
1300ef333d Dynamic Shuttles - Code and Icon Changes 2017-03-25 21:00:08 -04:00
Leshana
b8afe284fc Added defines for mobs used by simple animals. 2017-03-22 19:32:19 -04:00
Arokha Sieyes
88b5756977 Arokha SA Rework (Polaris) 2017-03-22 19:32:19 -04:00
Arokha Sieyes
9660186dfd Not So Simple Animals (#3103)
* Merge two not-really conflicts

Thanks git, that whitespace conflict was super important?

* DME merge

* Added defines for mobs used by simple animals.

* Lost a slime along the way

* Disable debug settings

* HONK!!!

* Remove redundant hostile decls

* Replace loc= with forceMove in old SA code

I guess I should think of the children.
2017-03-22 14:30:07 -05:00
Anewbe
13d161565e Merge pull request #3055 from VOREStation/missinghud
Add TOTAL_HUDS define
2017-03-06 13:51:01 -06:00
Arokha Sieyes
e65ef1b0d6 Add TOTAL_HUDS define
Making a list just... 'be 10 long' is bad. Like update_icons layers and various other things, if you add more, it will compile fine and then you get runtimes later, which is a little annoying. Having places you just have to 'know' to update elsewhere in the code is meh.
2017-03-06 01:07:46 -05:00
Arokha Sieyes
c7857a5bf3 Improves AR glasses, makes them available
Now you can start with them in loadout. They are no longer SUNglasses though, so they won't protect you from flashes.

There are several models, the loadout ones are the civilian ones.

- Civilian: Displays job ID icon based on the person's ID, and shows a health bar only if they are injured.
- Medical: Same as civlian, but displays advanced status (virus, borer, etc) along with backup implant status, and allows medical records access.
- Security: Same as civilian, but displays warrant and arrest status, and will automatically darken (electrochromic) in response to flashes, making the wearer immune, plus security records access.
- Engineering: Same as civilian, but will automatically darken to protect one's eyes during welding.
- Research: Same as civilian, but has a trendy goggle form factor for SCIENCE reasons.
- Omni: Has the combined features of all of the above. The only pair available spawns in the CD's office. (CC officers also)
2017-03-05 20:58:59 -05:00
Arokha Sieyes
ebf50d073a Add TOTAL_HUDS define
Making a list just... 'be 10 long' is bad. Like update_icons layers and various other things, if you add more, it will compile fine and then you get runtimes later, which is a little annoying. Having places you just have to 'know' to update elsewhere in the code is meh.
2017-03-05 18:42:24 -05:00
Arokha Sieyes
387f429e5e Merge large polaris changes 2017-03-02 22:44:17 -05:00
Neerti
12abb2d6f2 Ports a large chunk of the map datum system that europa/bay uses.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
2017-02-27 07:36:41 -05:00
Arokha Sieyes
bf387b3341 Merge pull request #1029 from VOREStation/ponts
Double rogueminer pointbuild speed
2017-02-23 19:32:19 -05:00
Arokha Sieyes
f7f206d697 Double rogueminer pointbuild speed
FASTER BETTER
2017-02-23 18:52:48 -05:00
Leshana
3781494933 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into sync 2017-02-23 18:25:37 -05:00
nachomeep
e0ef593ce4 Updates language syllables and text. (#3000)
* Adds a lot of languages.

* Removes the languages I just added.

Instead updates old ones.

* Fixes a minor typo.

* how the hell did i accidentally remove sinta'unathi

Returns that stuff.

* Fixes two things.

* doesnt actually change name length
2017-02-23 15:17:14 -06:00
Leshana
c4377353cb Adds telescience machines and comptuers to the game.
* Code somewhat ported from /tg, but enhanced with nanoui and /vg's area shielding.
* Telepad - Teleports stuff under control of telescience console
* Telescience Console - Controls the telepad
* Bluespace crystals and GPSs
* Circuits and research designs for all.
2017-02-21 10:44:21 -05:00
Arokha Sieyes
9988477f42 Final work on belt mining 2017-02-14 16:36:34 -05:00
Arokha Sieyes
85fbc527a3 Nearing playtest time 2017-02-13 20:24:54 -05:00
Arokha Sieyes
9817d67461 More initial codework on rogue miner. 2017-02-12 21:04:31 -05:00
killer653
3f1e5c80f2 Polaris sync 2017-02-01 15:08:45 -05:00
Anewbe
62d19de99f Merge pull request #2929 from Anewbe/taste
Ports taste from Bay
2017-01-28 21:06:21 -06:00
Anewbe
27ea27964e Adds and tweaks Vox toys 2017-01-19 21:28:51 -06:00
Anewbe
9cbee4baf4 Ports taste 2017-01-16 17:07:41 -06:00
killer653
832418c7c9 Polaris sync 2017-01-15 18:12:15 -05:00
Anewbe
2d72e609d1 Moves languages to use more defines. Redoes Diona splitting 2017-01-14 22:47:12 -06:00
Neerti
97ebf0924d Permanent Revolution Update 2017-01-04 04:41:30 -05:00
killer653
9c359cb202 Polaris sync 2016-12-27 08:21:55 -05:00
Anewbe
f9d7ad9d16 Walking barefoot no longer slows you. 2016-12-17 16:07:38 -06:00
killer653
0c73b9da2e Polaris December Sync 2016-12-10 09:51:11 -05:00
MagmaRam
b418d57dd6 Makes it so that holsters can be hidden by suit-slot items.
I have yet to actually make any suit-slot items hide holsters.
2016-11-09 23:23:19 -06:00
Arokha Sieyes
d100c30821 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into novearlysync
# Conflicts:
#	html/changelogs/.all_changelog.yml
#	icons/mob/hud.dmi
#	maps/polaris-1.dmm

Fake conflicts from a merge error previously. No real conflicts.
2016-11-04 15:42:32 -04:00