Commit Graph

64 Commits

Author SHA1 Message Date
Sym
025397c417 Fixing the work of a moron.
Just.. Im just frothing with rage while looking at some of this stuff. Some polaris dude named Neerti did a bunch of half assed commenting five years ago, and has been causing a shit ton of warning messages because of it. I ended up fixing most of it out of pure rage.

Tell me if you guys need a CHOMPedit on these, because this is mostly just fixing really stupid commented out stuff that should have been fixed years ago by the person that did this. I wouldn't think it would need a CHOMPedit, but you never know.
2020-10-05 17:55:48 -04:00
Aronai Sieyes
3e0932093d Re-init regexes and other statics 2020-05-11 00:17:55 -04:00
Aronai Sieyes
7dcd7efd67 Testing init fixes 2020-05-10 23:40:47 -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
Atermonera
0bfbf2c022 Merge pull request #6981 from VOREStation/vplk-overal-missed-fixes
Port followup misc fixes
2020-04-11 02:51:16 -04:00
Leshana
eac8efc96a Suspend SSmachines subsystem while we are initializing map templates.
- Adds the capability to "suspend" a subsystem while we're loading something.
2020-04-08 22:42:00 -04:00
Aronai Sieyes
458212ac29 Correctly create circulation cus cats can't cope 2020-03-18 02:06:28 -04:00
Aronai Sieyes
46bebeabac Make lighting correction only run on post-sslighting setup loads 2020-03-13 10:12:37 -04:00
Aronai Sieyes
0be3210ecd Fix adminload Z level lighting 2020-03-13 10:05:51 -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
Arokha Sieyes
47ccc655db Deprecate the stream operator 2020-02-12 19:38:43 -05:00
Heroman
f688ef9c37 Fixes the generation of PoIs 2019-05-07 05:20:36 +10:00
Novacat
cc75cc7228 Merge pull request #4789 from VOREStation/upstream-merge-5967
[MIRROR] Fixes submap footprint miscalculations
2019-03-28 21:08:01 -04:00
Unknown
538d12ba92 Conflict Resolution 2019-03-27 13:02:35 -04:00
Neerti
ee18328ce0 Refactors poi rotation to use degrees instead of dir 2019-03-27 12:57:16 -04:00
Anewbe
09b01407e3 Adds Various Sounds, Looping Sound System 2019-03-27 03:55:21 -04:00
Neerti
1dd3bb4532 Stops initialization from grinding to a halt when loading maps 2019-03-27 01:49:25 -04:00
Spades
190ead1dfd Merge pull request #4552 from VOREStation/upstream-merge-5748
[MIRROR] Adds ability to selectively disable submap rotation.
2019-02-23 11:45:49 -05:00
Atermonera
e4268e2ddb Merge pull request #5967 from Verkister/patch-21
Fixes submap footprint miscalculations
2019-02-20 03:31:44 -05:00
Verkister
447e0a8340 Fixes undefined z-levels shitting caves all over the place
-Basically just gives the tether lateload z-levels actual z-levels and assigns them for use.
-Also moves the cave/ore generation for beach cave and V2 caves for the actual map loader instead of some awaymap temp objects that had apparently didn't have enough concept for proper z definitions.
-Fixes the forementioned things constantly bugging out and spawning all those caves and ores into the surface level foundations.

-Also fixes PoIs getting squished at least until Polaris gets their shit together with yet another submap rotation refactor.

God let me get some fucking rest fsghjasf
2018-12-14 01:15:28 +02:00
Anewbe
ebf62629b5 Adds ability to selectively disable submap rotation. 2018-12-05 17:16:27 -05:00
Arokha Sieyes
5fe59a1f2a Critical maploader fix
Definitely do not update the server without this change.
And a gateway tweak thing because that was my original intent with this branch.
2018-10-13 01:36:26 -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
atermonera
7f5c747d79 Removes debug code (Yes, I'm an idiot) 2018-09-01 01:28:42 -07:00
atermonera
2f9cebd38d Submaps can now be rotated to any cardinal direction (South is default) 2018-08-31 01:32:26 -07:00
atermonera
a20085ccff PoIs can be rotated in increments of 90 degrees 2018-08-30 18:55:22 -07: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
e08cbef044 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-04-04
# Conflicts:
#	code/modules/economy/lorenews.dm
#	code/modules/mob/living/simple_animal/animals/cat.dm
#	html/changelogs/.all_changelog.yml
#	maps/southern_cross/southern_cross-1.dmm
2018-04-06 15:40:06 -04:00
Neerti
f429a176e4 Adds Map Template Groups
Adds ability to have many different 'versions' of a PoI, yet only having one show up per round.
An example on how to do this is provided with Radio Free Sif (aka DJOutpost).
Just make sure all the different versions have the same 'template_group' value.
2018-03-30 05:34:11 -04: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
Leshana
2e683c7184 Fixes to runtime map loader
- Fix: Do not actually expand world.maxz when measureOnly = true
- Fix: Support var values of "list()"  (no contents)
2018-03-04 12:34:55 -05:00
Leshana
5847319443 Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-05 15:50:13 -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
Arokha Sieyes
9d0ffb96ee POLARIS: Tweak map-loading in some ways
Fixes loading of map templates, now loads it acutally in the center instead of to the upper-left of center.
Warns you if you try to load a submap which is larger than the current world size.
2018-02-03 22:30:24 -05:00
Leshana
cef001bf2a Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-03 01:00:57 -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
1b1e6b54a2 Merge pull request #2931 from VOREStation/polaris-sync-2018-02-01
Polaris Sync 2018-02-01
2018-02-02 19:03:04 -05:00
Leshana
4f98fad36b Merge branch 'master' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-02-01
# Conflicts:
#	.travis.yml
#	code/_away_mission_tests.dm
#	code/modules/admin/verbs/mapping.dm
#	code/modules/mob/living/carbon/human/update_icons.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-6.dmm
#	nano/images/nanomap_z1.png
#	nano/images/nanomap_z10.png
#	nano/images/nanomap_z2.png
#	nano/images/nanomap_z3.png
#	nano/images/nanomap_z5.png
#	nano/images/nanomap_z6.png
2018-02-01 23:55:47 -05:00
Cyantime
3dab4c7abf Move this to a different place 2018-02-01 21:32:23 -05:00
Cyantime
2ce992f404 Shuttle transit zone changes 2018-02-01 21:09:06 -05:00
Neerti
6226d3d15c POI Tweaks (#4645)
* WOrk

* Changes more PoI stuff.
2018-01-29 23:42:57 -06:00
Arokha Sieyes
8f19fa41c8 POLARIS: Tweak map-loading in some ways 2018-01-25 16:33:36 -05:00
Leshana
9d08175078 Fixes #4522 - Make maploader correctly read lists of numbers, paths, etc.
* For non-assoc lists every value was being read as a string.   For vars like "access_req" this is bad - it doesn't work.  Therefore we add support for lists of numbers.
* While I'm here, might as well add support for non-string keys of associative lists too, since that's required by things like vending machines.
2018-01-12 19:45:34 -05:00
Leshana
224fe42e77 Prepare Atmospherics Machinery for SSatoms (#4501)
* to_chat() replacement.

* Revert calling target.init_dir() before connecting.

* This change was added in https://github.com/PolarisSS13/Polaris/pull/3775 to counteract `dir` not being set prior to New() for dynamically loaded maps.  The root cause was /atom/New() not calling _preloader.load().  Undoing the change now that /atom/New() is fixed.
* The addition of the init_dir() proc itself however, is useful, because there ARE other times some atmos machinery will want to re-initialize its dir, specifically whenever it is rotated.
* init_dir() must be called in the constructor of all atmospherics machines capable of connecting to another.   Since it has to happen for ALL machines, lets move that call to /obj/machinery/atmospherics/New()

* Rename /obj/machinery/atmospherics initialize() to atmos_init()

* These days `initialize()` is used to handle general object initialization that is moved outside of New().  The node connection discovery of atmos machinery needs to happen after all that, and so needs to be in a separate proc.
* Make sure to actually call atmos_init during system startup.
2018-01-06 10:52:56 -06:00
Leshana
a1734c97e9 Moved makepowernets() into SSmachines initialization proc. 2017-12-29 15:32:06 -05:00
Neerti
fe33977812 Adds Submap (PoI) Seeding Procedure
Mostly ports /tg/'s method of seeding submaps into specific z-levels.
Due to the low number of submaps present, all of the PoIs are guaranteed to spawn. As more are added, this should fix itself.
2017-11-21 19:21:39 -05:00
Neerti
aa454c0e1d Adds Farm PoI
Also fixes various bugs with surface tiles, hopefully.
Adds some documentation to the map file system.
Adds a new 'plane' map, ideal for testing PoIs by loading them manually.
Makes space heaters glow orange.
Adds a new grille type for fancy surface windows.
Adds self planting hydro trays/dirts if a seed is on top of them when the map is loaded.
2017-09-26 01:44:06 -04:00
Neerti
1bc28c07c0 Port's TG's Maploader 2017-09-08 12:49:26 -04:00
Kelenius
3fdda5e8c5 Fixes issues travis found 2016-03-11 11:59:51 +03:00