Commit Graph

132 Commits

Author SHA1 Message Date
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
Heroman3003
57b7302ea1 Fixes null empty supplypack appearing in last category (#6698) 2020-02-17 01:19:44 -05:00
Unknown
daefe0ba5b Why were these still here 2019-10-06 14:19:08 -04:00
Atermonera
89aad128cf Blind port of Bay Radiation Subsystem 2019-10-06 03:30:36 -04:00
Novacat
ae42be4d56 Update supply.dm 2019-06-04 13:28:12 -04:00
Atermonera
8e215ec10f Allows supplypacks with req_one_access to exist 2019-06-04 13:15:14 -04:00
Heroman3003
316f4754cb Fixes restriction 2019-05-28 12:42:15 +10:00
Neerti
2203f368e8 Merge pull request #6037 from Heroman3003/report-the-crate-cost-lazy-central-interns
Fixes export reports not mentioning crates' cost
2019-04-14 02:28:02 -04:00
Novacat
466516b066 Revert "Un-kevinzes nanoui and chemistry subsystems back into processes for greater good" 2019-04-08 15:24:27 -04:00
Heroman
59f369c3ef Prevents translocator beacons from being sent away 2019-04-08 17:10:28 +10:00
Heroman
b11015107c REVERT of nanoui/chemistry becoming subsystems (temp) 2019-04-05 13:30:32 +10:00
kevinz000
6415e4193f [READY]Makes a bunch of processes subsystems instead 2019-03-27 16:03:51 -04:00
Neerti
86174593bf Replaces GoonPS scheduled_tasks and obj processing with SMC processing subsystems and timer 2019-03-26 23:58:26 -04:00
Spades
4b19e3a9b3 Merge pull request #4538 from VOREStation/upstream-merge-5726
[MIRROR] Refactors Sun and Inactivity processes to subsystems, and a few globa lvariables to be managed
2019-02-23 12:01:38 -05:00
Poojawa
8d178972a1 ports #4581 Startup Runtime fix 2019-02-02 06:03:40 -06:00
Atermonera
bf86b408fa Refactors Sun and Inactivity processes to subsystems, and a few globa lvariables to be managed 2018-12-03 20:21:17 -05:00
ArgobargSoup
32813814c8 Update to scheduler because Aro said so
Lets the callback cooldown for bell collars work.
2018-11-12 16:26:29 -08:00
Neerti
3a9c13b937 Ports Vote to SMC 2018-10-20 01:53:13 -04:00
Arokha Sieyes
b099ac6e4c Merge branch 'master' of https://github.com/VOREStation/Polaris into sync-09272018
# Conflicts:
#	code/__defines/holomap.dm
#	code/__defines/mobs.dm
#	code/_helpers/icons.dm
#	code/_helpers/unsorted.dm
#	code/_onclick/hud/hud.dm
#	code/_onclick/item_attack.dm
#	code/controllers/Processes/supply.dm
#	code/controllers/subsystems/planets.dm
#	code/datums/supplypacks/munitions.dm
#	code/datums/supplypacks/science.dm
#	code/datums/supplypacks/security.dm
#	code/datums/supplypacks/supply.dm
#	code/game/area/Space Station 13 areas.dm
#	code/game/atoms_movable.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/door.dm
#	code/game/machinery/jukebox.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/vending.dm
#	code/game/mecha/equipment/tools/medical_tools.dm
#	code/game/mecha/equipment/weapons/weapons.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/megaphone.dm
#	code/game/objects/items/poi_items.dm
#	code/game/objects/items/weapons/implants/implantlanguage.dm
#	code/game/objects/items/weapons/storage/firstaid.dm
#	code/game/objects/items/weapons/tools/weldingtool.dm
#	code/game/objects/structures/flora/trees.dm
#	code/game/objects/structures/plasticflaps.dm
#	code/game/supplyshuttle.dm
#	code/game/turfs/simulated/wall_attacks.dm
#	code/modules/admin/admin_verbs.dm
#	code/modules/assembly/infrared.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preference_setup/loadout/loadout_utility.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/suits/miscellaneous.dm
#	code/modules/holomap/holomap_datum.dm
#	code/modules/holomap/station_holomap.dm
#	code/modules/integrated_electronics/core/printer.dm
#	code/modules/mining/machine_processing.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm
#	code/modules/mob/living/death.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/robot.dm
#	code/modules/mob/living/simple_animal/animals/parrot.dm
#	code/modules/mob/mob_movement.dm
#	code/modules/organs/organ_external.dm
#	code/modules/organs/organ_icon.dm
#	code/modules/organs/subtypes/standard.dm
#	code/modules/planet/weather.dm
#	code/modules/power/cable.dm
#	code/modules/power/fusion/core/core_control.dm
#	code/modules/power/fusion/fuel_assembly/fuel_control.dm
#	code/modules/power/fusion/gyrotron/gyrotron_control.dm
#	code/modules/projectiles/gun.dm
#	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
#	config/names/first_name_skrell.txt
#	config/names/last_name_skrell.txt
#	icons/mob/head.dmi
#	icons/mob/robots.dmi
#	icons/mob/species/tajaran/helmet.dmi
#	icons/obj/ammo.dmi
#	icons/obj/gun.dmi
#	icons/obj/mining.dmi
#	icons/obj/projectiles.dmi
#	icons/obj/rig_modules.dmi
#	icons/obj/surgery.dmi
#	icons/turf/walls.dmi
#	maps/southern_cross/southern_cross-1.dmm
#	maps/southern_cross/southern_cross-3.dmm
#	maps/southern_cross/southern_cross-6.dmm
#	maps/southern_cross/southern_cross-8.dmm
#	maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm
#	maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm
#	maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm
#	maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm
#	maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm
#	maps/submaps/surface_submaps/mountains/deadspy.dmm
#	maps/submaps/surface_submaps/mountains/mountains_areas.dm
#	maps/submaps/surface_submaps/plains/Thiefc.dmm
#	maps/~map_system/maps.dm
#	vorestation.dme
2018-09-27 18:01:09 -04:00
Anewbe
eebb627f00 Partially ports the GLOB system 2018-08-14 18:14:09 -05:00
atermonera
ef6c5abf15 Refactors supply controller.
Supply consoles now run nanoUI
2018-07-31 19:11:02 -07:00
Anewbe
f5312bcedd Refactors supply controller 2018-07-24 11:04:16 -04:00
atermonera
95398466de refactors supply controller 2018-07-22 13:44:44 -07:00
Anewbe
9e28740697 Merge pull request #5322 from VOREStation/pol-planetstart
Move planets to SSplanets
2018-06-15 18:05:25 -05:00
Arokha Sieyes
462effc1d2 Creates SSplanets subsystem
For SPEEDYNESS

It probably works. I mean it's hard to sit there for 8 hours and test it. But it seems to work okay. At worst if it doesn't you'll have weather that doesn't make sense. ;v
2018-06-02 19:09:35 -04:00
Arokha Sieyes
d8eebde5a2 Planet controller startup delay 2018-06-02 12:36:47 -04:00
Arokha Sieyes
29004fe093 Planet controller startup delay 2018-06-02 11:06:53 -04:00
Aronai Sieyes
40b1a56bdc Revert "Revert "Upgrades Planetary Weather to vis_contents (#5170)"" 2018-06-01 20:35:28 -04:00
Leshana
d430448ebf Split and clarify global lists of processing vs non-processing machinery. (#5307)
* Renaming local var 'machines' to avoid confusion with the global var of same name.

* Delete the unused process scheduler machinery.dm file.  Long since replaced with SSmachines

* Split and clarify global lists of processing vs non-processing machinery.

- Renamed the list of processing machinery from "machines" to "processing_machines"
- Added new global list "machines" to be a list of all machines.
- Since nearly every reference to machines actually wanted to iterate over all machines anyway, this works out great.
2018-05-28 15:57:02 -04:00
Leshana
30f10be83e Split and clarify global lists of processing vs non-processing machinery. (#5307)
* Renaming local var 'machines' to avoid confusion with the global var of same name.

* Delete the unused process scheduler machinery.dm file.  Long since replaced with SSmachines

* Split and clarify global lists of processing vs non-processing machinery.

- Renamed the list of processing machinery from "machines" to "processing_machines"
- Added new global list "machines" to be a list of all machines.
- Since nearly every reference to machines actually wanted to iterate over all machines anyway, this works out great.
2018-05-28 12:56:49 -07:00
Arokha Sieyes
4018e14d12 Revert "Upgrades Planetary Weather to vis_contents (#5170)"
This reverts commit e3e1a7ad9c.
2018-05-15 00:57:55 -04:00
Leshana
33202c5c38 Merge commit '7075a65df022bc0eae0c3fe6ff501b1bce449cdd' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-05-01
# Conflicts:
#	code/modules/mob/living/simple_animal/animals/giant_spider.dm
#	html/changelogs/.all_changelog.yml
2018-05-10 13:48:20 -04:00
Neerti
e3e1a7ad9c Upgrades Planetary Weather to vis_contents (#5170)
* Upgrades Planetary Weather to vis_contents
Makes the weather on Sif use vis_contents instead of overlays, which should fix all weather-related icon issues, and may or may not be faster.
Weather updates instantly now.
Fixes indoor PoIs having outdoor weather.

* Tries to appease Travis
2018-04-28 20:40:11 -07:00
Arokha Sieyes
7a6ff116a3 POLARIS: Varset Callback 2018-04-27 20:05:11 -04:00
Arokha Sieyes
6c686e6a2f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-sync-04252018
# Conflicts:
#	README.md
#	code/game/jobs/job/job.dm
#	code/modules/client/preference_setup/loadout/loadout_utility.dm
#	code/modules/mob/living/carbon/human/examine.dm
#	code/modules/mob/living/carbon/human/npcs.dm
#	code/modules/mob/living/carbon/human/species/station/prometheans.dm
#	html/changelogs/.all_changelog.yml
#	maps/RandomZLevels/Academy.dmm
#	maps/RandomZLevels/beach.dmm
#	maps/RandomZLevels/blackmarketpackers.dmm
#	maps/RandomZLevels/challenge.dmm
#	maps/RandomZLevels/example.dmm
#	maps/RandomZLevels/jungle.dmm
#	maps/RandomZLevels/listeningpost.dmm
#	maps/RandomZLevels/spacebattle.dmm
#	maps/RandomZLevels/stationCollision.dmm
#	maps/RandomZLevels/wildwest.dmm
#	maps/RandomZLevels/zresearchlabs.dmm
#	maps/northern_star/polaris-1.dmm
#	maps/southern_cross/southern_cross-1.dmm
#	maps/southern_cross/southern_cross-3.dmm
#	maps/southern_cross/southern_cross-6.dmm
#	maps/southern_cross/southern_cross-7.dmm
#	maps/submaps/surface_submaps/mountains/CrashedMedShuttle1.dmm
#	maps/submaps/surface_submaps/plains/Boathouse.dmm
#	maps/submaps/surface_submaps/wilderness/Blackshuttledown.dmm
#	maps/submaps/surface_submaps/wilderness/Boombase.dmm
#	maps/submaps/surface_submaps/wilderness/DJOutpost1.dmm
#	maps/submaps/surface_submaps/wilderness/DecoupledEngine.dmm
#	maps/submaps/surface_submaps/wilderness/Drugden.dmm
#	maps/submaps/surface_submaps/wilderness/Rockybase.dmm
#	maps/submaps/surface_submaps/wilderness/Shack1.dmm
#	maps/virgo/virgo-6.dmm
#	vorestation.dme
2018-04-25 17:23:33 -04:00
Leshana
c4d714dea8 Replaces set_light with direct update_lumcount for planet suns.
Setting lights on every single turf takes way too long.  Instead of havingto create a light source for every single outdoor turf, we find the corners to light up and apply the sunlight to them directly.
We also make sure to avoid having planet sunlight being 4x too strong, which would happen if we naively looped over all corners of all outdoor turfs.
Note: This has the side effect of making the sun's light and color ACCURATELY reflected on turfs.  Previous code doubled up on light and appeared brighter than it should.
2018-04-18 21:54:58 -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
9634cf04ce Don't kick admin observers for inactivity. They might be waiting for ahelps. 2018-04-02 22:48:00 -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
Leshana
a0de41f24f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-03-15
# Conflicts:
#	README.md
#	code/__defines/mobs.dm
#	code/__defines/subsystems.dm
#	code/_helpers/global_lists.dm
#	code/controllers/subsystems/garbage.dm
#	code/controllers/subsystems/overlays.dm
#	code/datums/datacore.dm
#	code/datums/supplypacks/munitions.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/objects/items/devices/communicator/UI.dm
#	code/game/objects/items/weapons/id cards/station_ids.dm
#	code/game/objects/random/random.dm
#	code/game/turfs/simulated/floor.dm
#	code/game/turfs/simulated/floor_icon.dm
#	code/modules/awaymissions/gateway.dm
#	code/modules/client/preferences.dm
#	code/modules/ext_scripts/python.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/simple_animal/animals/bear.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/new_player.dm
#	code/modules/mob/new_player/preferences_setup.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ_external.dm
#	code/modules/organs/organ_icon.dm
#	code/modules/organs/robolimbs.dm
#	code/modules/reagents/reagent_containers/glass.dm
#	code/modules/reagents/reagent_containers/syringes.dm
#	html/changelogs/.all_changelog.yml
#	maps/southern_cross/southern_cross-1.dmm
#	maps/southern_cross/southern_cross-3.dmm
#	maps/southern_cross/southern_cross-4.dmm
#	maps/southern_cross/southern_cross-6.dmm
#	vorestation.dme
2018-03-15 22:41:14 -04:00
Anewbe
e2bade91c8 AFK Kicker should affect ghosts and people in the lobby 2018-03-13 15:02:49 -05:00
Leshana
74332405a8 Optimize scheduler process by sorting its task list
It previously had to iterate over EVERY task in its list every time.   With lots of queued tasks that is slow.
Instead we sort it by schedule time.   That means when iterating thru list, if we get to a single task that is in the future, so are all remaining.
2018-03-08 22:27:47 -05: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
8bec38ee00 Implement SSshuttles subsystem
* Replaces the shuttle_controller and shuttle process with the shuttles subsystem.  Instead of docking ports being initialized by the game ticker, its part of the StonedMC Master init order.
* The main advantage of this is control over the initialization order, as well as letting Master be aware of CPU we're using up with shuttle processing.
* By being part of the Master init order, we reduce the uncertainty about "are objects initialized yet?" which is nice, since shuttle docks break if machines aren't finished initializing!
2018-02-05 15:50:14 -05:00
Arokha Sieyes
13bfcf6bd3 Improve admin idlekick capability/awareness 2018-02-04 01:05:03 -05:00
Arokha Sieyes
5a9119de99 POLARIS: Improves idle-kick admin awareness 2018-02-04 01:00:25 -05:00
Leshana
79464c7315 Implement SSshuttles subsystem
* Replaces the shuttle_controller and shuttle process with the shuttles subsystem.  Instead of docking ports being initialized by the game ticker, its part of the StonedMC Master init order.
* The main advantage of this is control over the initialization order, as well as letting Master be aware of CPU we're using up with shuttle processing.
* By being part of the Master init order, we reduce the uncertainty about "are objects initialized yet?" which is nice, since shuttle docks break if machines aren't finished initializing!
2018-02-03 20:34:44 -05:00
killer653
3a2093ef40 Polaris sync 2017-12-21 04:01:07 -05:00