Commit Graph

198 Commits

Author SHA1 Message Date
ComicIronic
c1a58dc3c3 Gas math stripping
Removed update_values(). RIP, shine on you CPU diamond.
Removed get_moles_by_id and get_archived_moles_by_id, all moles are now accessed directly to reduce call cost.
Added set_temperature and set_volume procs which recalc pressure when temperature or pressure change.
Heat_capacity is now a var updated when gases update.
Modified adjust_gas to use set_gas, modified set_gas to alter heat_capacity, total_moles, and pressure as needed.
2015-05-09 18:43:24 +01:00
clusterfack
147c5bd5a7 A process scheduler thing
Included:
-The process lists use |= instead of += due to the increased stability of the former against double additions.

-Atmospherics machinery is moved under the pipenet processing.

-Modified the atmospherics processes to return 1 when theyve done something, and 0 if they aint done jack shit. Then called scheck() if they return 1, possibly  reducing unnecessary scheck calls while still managing to smooth out the atmospherics processing.

-If a powernet happens to get rebuilt by either powernets or power machinery scheck() is also called
2015-05-08 01:15:19 -05:00
ComicIronic
4d432e5240 Gas Datums
Moved gas_mixture gas numbers to a list which is connected to a global gas_datum list, like with reagents.
Modified some maths procs to be more sane, added adjust_gas and set_gas to help with processing.
Added a modular system for gas flags - gases can now be marked as fuel and oxidiser with a flag, logged with a flag, scanned with a flag, etc.
Changed scrubbers to use a list of scrubbing gases rather than a set of vars.
Made miners and xenoarch effects more sensible - they now produce gas by ID, not manually.
Made turfs' starting gases into a list, removed turf gas number vars.
2015-05-04 10:36:04 +01:00
d3athrow
a828e35c5a Merge pull request #4251 from ComicIronic/VentChangePipe
Ventcrawling fixes
2015-05-03 18:44:54 -05:00
ComicIronic
1c2bf2964f Ventcrawling fixes
Ventcrawling now correctly starts from any pipe, not just vents and scrubbers.
This has allowed me to fix moving between pipelines : the images are now correctly updated when you change pipes.
Added a small sanity to remove_ventcrawl().
Also edited another thing that Pomf never got around to.
2015-05-02 22:28:41 +01:00
clusterfack
81999e6bda Makes filter/mixer density 0.
Address #3703.
2015-04-30 16:28:59 -05:00
PJB3005
81b42ac43b Fixes DP vent pipe state and multitool menu 2015-04-25 16:03:47 +02:00
ComicIronic
6a3e80e862 OOP pipe-crawling procs.
You can now weld scrubbers, which stops their airflow and also crawling through them.
There is now a proc for if a mob can ventcrawl through a pipe.
2015-04-22 18:18:32 +01:00
D3athrow
639a1c8c03 this was never checked for some reason. 2015-04-16 00:22:39 -05:00
BestName
e5559a5a35 Makes plasma naming a bit more consistent 2015-04-03 16:21:44 +03:00
clusterfack
c336d76e5a Optimization to the radiation of thermal plates. Instead of each thermal plate calling radiate() every single tick, thermal plates in the same network (which equalizes every tick) will simply copy over the gases once the first radiate() is called. Then the networks radiate() value will be reset. 2015-03-28 12:45:49 -05:00
clusterfack
278e345e71 Adds a datum pooling proc, shamelessly stolen from regular object pooling.
Applies datum pooling to pipelines and pipenetwork for major performance improvements in their deletion.
These improvements should be especially noticeable in anything that deletes pipelines/networks once per tick, ie singulo narsie and supermatter
Removes the wires qdel, just why
2015-03-21 16:10:41 -05:00
D3athrow
621d52268e cut my life into pieces this is my last resort 2015-03-09 00:05:32 -05:00
D3athrow
12a9afe022 Fix new vents not getting added to air alarms. 2015-03-08 23:55:48 -05:00
D3athrow
7b65cd953e OMG POMF DID THING FIXED #1451 2015-03-08 14:49:50 -05:00
clusterfack
6ff70404e8 Fixes any transformation getting people stuck as contents during transformation.
Span class fixes for all of atmospherics files.
Calls new ..() for dice, adds minsides for admins to play with
Fixes bug where people would magically change the size of objects using wrapping paper
2015-03-04 20:23:31 -06:00
ComicIronic
a90fdfeab4 Mirrored pipe simplification.
The last time I dealt with mirrors, the implementation got fudged. Some were flipped but had the same dirs, some were flipped and had the opposite dirs, etc.
This fixes all that by making all mirrors have the same dirs, but different node positions.

Fixes #3140.
2015-02-21 13:42:45 +00:00
ComicIronic
7c0f3e1266 Pipe unification and type switching
Tanks are now unaries, not pipes.
Portable connectors are now unaries, not their own type.
Valves are now binaries, T-Valves are now trinaries.
Pipes as much as possible now use the general attackby code.
Slight changes to pooling code.
Removed loads of duplicate code that existed for no real reason.
T-Valves now come in manual and digital and mirrored under those types, not the other way around.
Mirrored connecting sprites for T-Valves should show up properly now.

Never again.
2015-02-18 21:36:36 +00:00
D3athrow
22c812dddd object pooled pipe items! 2015-02-10 23:38:03 -06:00
D3athrow
711973a01a remove s 2015-02-01 15:01:32 -06:00
D3athrow
f503044019 no build network on every process
scrubbers by default will scrub toxins.
2015-02-01 14:35:02 -06:00
clusterfack
4f63b6870d Examine change passthrough 2015-01-08 03:04:52 -06:00
clusterfack
87c12062ac Examine overhaul to mob/user, span class and absolute pathing fixes 2015-01-07 14:40:57 -06:00
Rob Nelson
6ebd61ea1c Investigation Logging improvements.
* Adds "atmos" subject to Investigate.
 * Massive overhaul of Investigate, making it more modular.
 * Also replaced investigate_log with investigation_log, with swapped arguments (which makes more sense).
2014-12-30 21:48:36 -08:00
eswordthecat
f67e880b4d indention 2014-12-28 08:18:15 +08:00
eswordthecat
9131429301 https://github.com/tgstation/-tg-station/pull/655 2014-12-28 08:13:48 +08:00
Rob Nelson
567c287b84 Merge branch 'Bleeding-Edge' of github.com:d3athrow/vgstation13 into beams
Conflicts:
	code/game/machinery/pipe/construction.dm
2014-12-11 14:10:59 -08:00
Rob Nelson
0abc116244 Pipe fixes, vent standardization, AI announce fixes. 2014-12-11 14:07:13 -08:00
ComicIronic
3192b47f32 Made heaters only heat, and freezers only freeze. 2014-12-05 20:13:26 +00:00
ComicIronic
5d5b3c2548 Fix merge conflicts. 2014-12-02 20:45:49 +00:00
ComicIronic
253eeac225 Added thermal pipes and fixed relative spriting + sprite issues. Added pipes to machine. 2014-12-02 20:27:29 +00:00
Chris
a0ee2a5384 Activity logging for pumps.
relative pathing to absolute pathing
2014-12-02 00:50:13 -06:00
Chris
7b2ed687f6 Better logging on valves 2014-12-01 22:54:18 -06:00
ComicIronic
0de8d6846f Adds reversed trinaries and digital tvalve. 2014-12-01 23:01:09 +00:00
Rob Nelson
4f98fc3f32 Fix scrubbers turning off. 2014-11-30 15:12:27 -08:00
Rob Nelson
e642392cf9 AAC improvements/fixes.
+ Now with code import/export (JSON-based)
 * Remove script works now
 * Correctly interfaces with digital valves
 * Yes/No dialogs are less stupid now
 * Vents stay on after being disconnected from pipenet.
 * Valves no longer removed from machinery list.
 * JSON parser fixes.
2014-11-28 21:20:09 -08:00
Rob Nelson
c62d7ce8ab Well, HE pipes leak like a sieve, so this is on hold for now. 2014-11-21 11:57:17 -08:00
ComicIronic
db4a33166c Fixed welding down machines.
Added the state var to all machines. 0 is unanchored, 1 is anchored, 2 is welded.
Added the WELD_FIXED flag for machines that can be welded down.
Added the weldToFloor proc, which is used to toggle welding down for machines.
Fixed machines not using general procs.
Fixed some relative pathing.
2014-11-12 19:10:11 +00:00
d3athrow
774ece5451 Merge pull request #1545 from ComicIronic/MachineRecode
Rewrite of machine code
2014-10-24 21:06:03 -05:00
SarahJohnson489
c092d53fb3 Removes ID lock from Gas Mixer
Tested lightly locally. All seems Kosher
2014-09-26 12:07:09 -08:00
SarahJohnson489
d695b0479a Remove ID lock from Gas Filter
Tested lightly locally. Seems kosher.
2014-09-26 12:05:58 -08:00
ComicIronic
6f82edccc9 Rewrite of machine code
- The most common attackbys now use a common proc and a flag system
- The following flags now exist : EMAGGABLE, SCREWTOGGLE, CROWDESTROY, WRENCHMOVE, FIXED2WORK
- Machines have had flags appropriately added with inherited procs to replace copied code
2014-09-20 22:55:36 +01:00
Duny
4853b51fbc Minor tweaks and fixes for airlock equipment
- Fixed DP vent pumps not changing direction
- Made airlock_sensor more versatile (and backwards compatible with old
airlock code)
- Added airlock_sensor and access_button airlock subtypes for easier
mapping
2014-08-08 04:27:07 +02:00
ESwordTheCat
bdc9497f17 I love reverting things. 2014-07-13 00:09:09 -08:00
ESwordTheCat
04070d49f3 Using in is slow. 2014-07-10 01:27:50 -08:00
Rob Nelson
bb2e1cd4cc Revert MC/GC (+ instrumentation) to d54ce4a28b 2014-06-25 21:36:08 -07:00
BurnZeZ
004a907bfa remove useless profiling verbs; remove controller timers; master controller cleanup 2014-06-24 20:51:46 -04:00
ESwordTheCat
e40fa55b3b Fix destroys() not calling parent, tweak qdel to use one loop only. 2014-06-14 15:26:29 -08:00
Rob Nelson
1b356c7dfd Configurable gas sensors, tank monitors, AACs. Cleaned up multitool API. 2014-06-10 22:23:18 -07:00
Rob Nelson
c465da0d0a Add missing file 2014-06-10 14:16:20 -07:00