Commit Graph

65 Commits

Author SHA1 Message Date
Bjorn Neergaard
34b717afb4 radio_controller -> SSradio, SSbp -> SSnpc 2015-12-04 22:25:24 -06:00
Bjorn Neergaard
06e5df9336 Fix NanoUI missing assignment; use two-line ifs 2015-11-29 18:20:10 -05:00
Bjorn Neergaard
5601eaf56e Fix Mixer NanoUI size 2015-11-28 17:16:20 -05:00
Bjorn Neergaard
404642b25b Update the rest of the Atmos stuff 2015-11-27 23:17:15 -05:00
Bjorn Neergaard
b897fb6d72 Fix NanoUIs flashing, update Tanks, Solars, and Canisters 2015-11-27 15:30:18 -05:00
Bjorn Neergaard
1a44e3d851 Refactor NanoUI API
Also update NanoUI-using code to the new API.
2015-11-26 07:11:31 -05:00
duncathan
b5d6e00cea makes atmos machinery return properly from destroy() 2015-08-30 23:18:03 -06:00
duncathan
99234185de first pass of cleanup
makes simple pipes more OOP
adjusts defines; puts them in __DEFINES/atmospherics.dm
adds DEVICE_TYPE_LOOP define, which is used in a bunch of the for loops
2015-08-16 23:10:57 -06:00
phil235
81255953c7 Merge pull request #10690 from duncathan/atmoshotfixes
Fixes manual valve sprites and n2o scrubbing AND ventcrawling too now
2015-07-19 22:45:54 +02:00
Caden Depatie
b5131b49dd saving atmos one letter at a time
fixes a typo that prevents the nanoUI coming up when interacting with the gas mixer
2015-07-19 12:28:41 -04:00
duncathan
b194b1e4af the comment in filters too, why not 2015-07-18 14:45:48 -06:00
duncathan
8c2519e115 merge conflicts 2015-07-16 04:54:11 -06:00
duncathan
ae417d2a03 Merge branch 'master' of https://github.com/tgstation/-tg-station into atmosrefactor2
Conflicts:
	code/ATMOSPHERICS/atmospherics.dm
	code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm
	code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
	code/ATMOSPHERICS/components/binary_devices/pump.dm
	code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
	code/ATMOSPHERICS/components/trinary_devices/filter.dm
	code/ATMOSPHERICS/components/trinary_devices/mixer.dm
	code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm
	code/ATMOSPHERICS/components/unary_devices/Freezer.dm
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/ATMOSPHERICS/components/unary_devices/unary_base.dm
	code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
	code/modules/events/vent_clog.dm
	code/modules/mob/living/carbon/human/species.dm
	config/admins.txt
2015-07-16 04:27:25 -06:00
duncathan
280373489b fixes things per aran's request 2015-07-16 03:34:18 -06:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
duncathan
e074fb7856 makes air flow; fixes EVERYTHING 2015-07-11 18:45:19 -06:00
duncathan
0e004e3939 fixes runtimes 2015-07-11 02:47:31 -06:00
duncathan
2a8cd506ef fixes update_icon 2015-07-11 02:47:28 -06:00
duncathan
e63771c9f4 finally gets airs, nodes and parents working... sorta
nodes is working fine as far as I can tell
airs seems fine but it's somewhat untestable until I fix parents
parents is initializing, but not updating properly

also adds my ckey to admins.txt
2015-07-11 02:47:22 -06:00
duncathan
140bbd3972 3rd pass OOP
now we've got lists for parents, nodes, and air mixtures
(they're all broken)
moves tank.dm, cryo.dm, Freezer.dm to components/unary_devices/
2015-07-11 02:47:19 -06:00
duncathan
48282f6485 2nd pass OOP
everything's broken right now, but hey, whatever
2015-07-11 02:47:16 -06:00
duncathan
d5f204b025 fixes update_icon(), fixes welded issue, fixes undocumented(?) issue of the eastern cap on mixers/filters being one pixel too far to the right
the cap thing applied to filters/mixers before this PR, too
2015-07-11 02:47:13 -06:00
duncathan
6f051f9899 refactors update_icon for trinary devices
the base trinary update_icon now adds pipes in the same way all other atmos components do
  no longer overrides icon_addbroken and icon_addintact with its own silly pipe + cap overlay used for filters and mixers
filters and mixers are now oop in terms of icon_addintact (not as much in terms of icon_addbroken)
2015-07-11 02:47:07 -06:00
Cheridan
b7dc52856e Merge pull request #9867 from RemieRichards/PipePressureLethality
Pipe Pressure Panic
2015-06-23 00:16:25 -05:00
phil235
3f57259c69 Merge pull request #9466 from Fayrik/TheNanoing
The Nanoing (Episode 2: The Fix Wars)
2015-06-22 14:24:20 +02:00
Remie Richards
cccc3446f0 You can now unwrench atmospheric machines with internal pressures greater than their environment, this will throw you away from the machine at great speed, inflicting damage if you hit something hard (walls) 2015-06-09 20:14:12 +01:00
MrStonedOne
33c5a57719 Fixes pipe panic runtime.
These procs are called by the atmos subsystem or during construction when they are needed, so calling them on New() only fucks shit up.
2015-05-23 14:50:13 -07:00
Fayrik
0ba314552a The initial tweaks are in place, ran out of time to finish it though. 2015-05-11 18:54:31 +01:00
MrStonedOne
6d755ba900 Fixes pipe construction bug 2015-05-02 09:07:08 -07:00
MrStonedOne
eb7d5fefa5 Merge remote-tracking branch 'upstream/master' into step-aside-aran-im-here-to-touch-your-precious
Conflicts:
	code/controllers/subsystem/ticker.dm
2015-05-02 03:03:29 -07:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
Fayrik
80ff5d45d0 Air alarm template still needs a tweak, but it's functional now. 2015-04-25 05:22:00 +01:00
Menshin
a1a8555a45 * Fixes the air stored inside atmos machinery not updating on construction
* Fixes filters and mixers switching off on icon update
* Fixes the RPD not properly setting the flipped variable for flipped mixers/filters
* Fixes using the atmos analyzer on a pipe making you attack it
2015-02-04 21:56:07 +01:00
Menshin
567bb27722 * Fixed unwrencheable atmos objects' stored pipe being wrongly created on New() because initialize directions weren't set when instanciating
* Fixed constructed unwrencheable atmos objects having a stored straight pipe , because dirs weren't set on instanciation
Those fixes, at least, bend pipes transforming into straight pipes on wrench/unwrench
* Fixed the digital valve pathing in some places
* Fixed bend pipes appearing as straight pipes when wrenched without connecting to anything

* Pipe colors are now preserved on wrenching/unwrenching
* Various clean-up of unaligned partially connected pipes icons
2014-12-29 20:34:13 +01:00
hornygranny
cd9a8a5125 Merge pull request #5909 from Razharas/InputFix
Fix of atmos input exploit
2014-11-24 10:40:51 -08:00
Razharas
2a20c6bcf3 Fix of atmos input exploit
What on tin
2014-11-16 05:18:22 +03:00
Menshin
ec944abfc6 * limit atmos/fire alerts to the current z_level
* atmos/fire alerts are now linked to an object and not its area, as intended
* simplified and full pathed the radio frequency datum
* made radio objects properly clean on del/qdel, instead of letting the radio controller remove nulls at each post_signal()
2014-11-14 10:10:45 +01:00
Aranclanos
8aa5a137c5 Pipenet revamp
-Removed the pipenet network datum, now it will all be done with the pipeline datum
-All atmos pipes and machines will always have a pipeline datum
-Moved the valves to the binary subtype and the portable connectors to the unary subtype
-The pipe vents (who were barely used in three spots of the map) are removed, the map slots will replaced with outlets
-Fixes some bugs of pipenet disconnection, mostly on explosions
-Cleaned a bit the copypaste of construction.dm of pipes
-Removed the ID restrictions of digital valves and the frequency (both unused)
2014-11-03 08:21:31 -03:00
Daniel
3ea3462e6e Squashed up 2014-09-30 23:50:51 +02:00
Aranclanos
646e8d0b83 added a new proc for atmos machinery, nullifyPipenetwork(). As their name says, it will nullify the references of a pipenet network datum.
Added qdel for pipenet network datums, this removes most of the singularity lag.
Makes datums work on the garbage collector.
2014-09-02 19:22:27 -03:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Firecage
b74fc08283 Absolute paths for the files in the ATMOSPHERICS folder 2014-08-16 12:33:16 +02:00
MrPerson
6930283efc Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/gamemodes/changeling/changeling_mutations.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/objects/items/weapons/tanks/watertank.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/research/server.dm
2014-03-21 03:05:39 -07:00
Rockdtben
a034e41f25 Removing TLE comment stamps and useless comments 2014-03-13 08:25:28 -05:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.

New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.

ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
2014-02-23 14:55:12 -08:00
Giacom
3e9b2bdb52 Merge pull request #1817 from kyrahabattoir/ItemNameFixingRound1
proper/improper/consistency name fixing (round1)
2013-11-20 03:46:28 -08:00
Kyrah Abattoir
301c5be5f5 /code/ATMOSPHERICS/* lowercasing pass. 2013-11-18 01:36:36 +01:00
adrix89
28de2e5fe6 Fixes pipe bug.
Issue https://github.com/tgstation/-tg-station/issues/1669 and its duplicate https://github.com/tgstation/-tg-station/issues/1099
2013-11-13 13:24:07 +02:00
Mloc-Argent
a3867b46a6 Cleanup of pipe unwrenching code.
Fixes #1509

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-12 17:24:54 +01:00
EuroNumbers
2db11f705d Reverted Giacom's changes 2013-06-15 17:07:12 +02:00