Commit Graph

128 Commits

Author SHA1 Message Date
D3athrow
9c21244617 REVERT GAS DATUMS UNTIL COMIC FIXES THE PERFORMANCE ISSUES: PLEASE WORK ON THE GASDATUMS BRANCH https://github.com/d3athrow/vgstation13/tree/gasdatums in the mean time. 2015-05-10 22:55:46 -05:00
d3athrow
9f4a47b488 Merge pull request #4329 from d3athrow/GasMathsStrip
Gas maths stripping
2015-05-09 20:05:12 -05:00
D3athrow
b075f8bb5a Break everything, multitool menu usage goes to machinery/attackby in most cases, add MULTITOOL_MENU to the things machine_flags that you want to dicker with. 2015-05-09 15:46:09 -05:00
ComicIronic
1d0c272f4a Fixes as many instances of not using set_volume, set_temperature, and the proper adjust_gas args as I could find. 2015-05-09 18:46:58 +01:00
clusterfack
be46d6af35 Checked all references to temperature going down through the code until modules/mob 2015-05-09 18:46:56 +01:00
ComicIronic
b999fba045 Replaced some manual values with set_volume() and set_temperature() 2015-05-09 18:44:30 +01:00
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
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
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
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
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
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
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
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
ESwordTheCat
84a8b2056d Batch 2. 2014-05-25 03:45:41 -08:00
Rob Nelson
31c597fdcd Add mildly more modular machine disabling verbs, abuse preprocessor. 2014-04-26 19:22:27 -07:00
Rob Nelson
0a6d5762df Fix some mapping problems (unconnected piping, cabling, etc) 2014-04-24 17:28:30 -07:00
Rob Nelson
784555df2b Fix layering problems, a couple of pipe fuckups on the map. 2014-02-26 21:45:14 -08:00
Rob Nelson
38c08b67f4 Fix vent pumps not showing on the map renders. 2014-02-24 19:53:02 -08:00
Rob Nelson
57a6ff8a07 Vent pump optimization. 2014-02-17 20:23:53 -08:00
Rob Nelson
097559eef9 GC fixes. 2014-02-16 12:37:06 -08:00
Rob Nelson
3d76070bfb Fix a few more runtimes. 2014-02-04 03:53:32 -08:00
Rob Nelson
193fe36c99 Standardize radio ID tags (id -> id_tag). Fixes multitool runtimes. 2014-02-04 03:40:49 -08:00
Rob Nelson
122b1b193d Fix multitool menus not refreshing. (Github #483) 2014-02-04 02:05:27 -08:00
Rob Nelson
bbaf9e42a3 Refactor multitool linking, permit flushing buffer if set. 2014-02-02 20:02:41 -08:00
Rob Nelson
70f25618c6 Fixes for #476 and #475. 2014-01-31 17:09:46 -08:00
Rob Nelson
a4f2cbc660 Fix multitools being unable to set IDs on some devices (github #468) 2014-01-30 17:22:08 -08:00