Commit Graph

336 Commits

Author SHA1 Message Date
d3athrow
4dde4d2bb0 Merge pull request #4562 from clusterfack/hepipefix
Fixes h/e pipes and thermal plates
2015-05-21 14:59:14 -05:00
clusterfack
c850a69443 Fixes h/e pipes and thermal plates
Fixes #2864
Fixes #4078

They would radiate and make ultra cold gas under 10 moles, 10 moles is about 10kpa at 20C, which is simply way too high.

They will radiate at less than .001 only, less than the standard moles for a standard 'gasless' tile. And to similarly limit unnecessary gas exchange procs being called pointlessly, will only intermix with at least 1 mole in the atmosphere.
2015-05-20 06:29:41 -05:00
PJB3005
450c27e3e5 I shouldn't copy paste like that 2015-05-17 14:27:31 +02:00
PJB3005
9fd45422eb Some multitool menu cleanup.
Vents & scrubbers now have their ID changed on the area's vent & scrubber info, and get removed (and have their name set to "vent Pump"/"Air scrubber") if their frequency gets changed to something not 1439
2015-05-17 13:59:12 +02:00
d3athrow
ff8530d695 Merge pull request #4405 from clusterfack/IN_WORLD
IN WORLD
2015-05-12 03:20:19 -05:00
clusterfack
e053bd704c IN WORLD
Removes a bunch of in worlds from the code.
Deity please stop adding more it wounds me.
2015-05-12 02:13:48 -05:00
D3athrow
5796813948 FUCKING REVERSIONS 2015-05-11 20:02:13 -05:00
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
d1ca6c5dba Remove debug shit 2015-05-09 19:11:50 -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
D3athrow
becd447d96 Fix portables not getting processed. Simple pipes are removed properly so we dont have a list of 8000 things being iterated over every 2 seconds. 2015-05-09 14:13:45 -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
D3athrow
85a7efd8a3 Honestly clusterfack you didnt even add anything to your stupid atmos_machines list. 2015-05-09 11:06:48 -05: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
d3athrow
d50f6a211b Merge pull request #4281 from PJB3005/thanks-nexy
Never trust other code.
2015-05-04 21:58:20 -05:00
PJB3005
65742bf294 Never trust old code.
Never.
2015-05-04 22:00:19 +02: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
27c4f7a469 Adds the ability to see pipes in darkness, makes deleted pipes disappear from the images list, and fixes an issue with logging in with a mob inside a vent. 2015-05-03 15:12:27 +01:00
d3athrow
062c6150e2 Merge pull request #4211 from clusterfack/feature2
Makes filter/mixer density 0.
2015-05-02 22:48:55 -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
D3athrow
07368b3c64 bad states for heater and chiller 2015-04-26 17:22:52 -05:00
PJB3005
834a6e3901 Fixes #2935 2015-04-26 16:59:15 +02:00
PJB3005
fcd29a265c Adds DP vents to the RPD and pipe dispenser 2015-04-26 13:45:49 +02: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
ComicIronic
36c38deb4f Fixes the janky movement using manual camera changes.
Feel sane today!
2015-04-22 18:18:30 +01:00
ComicIronic
4bdf8adfe7 Changes to ventcrawling.
Feature freeze hasn't started yet!
Ventcrawling now actually puts you in the pipes and lets you move around.
You get an overlay of all the pipes in the network you're currently navigating.
Altclicking on a vent now specifically lets you crawl into that vent if there are other vents in the area.
You can now ventcrawl into scrubbers as well, because there's no real reason not to.

The movement is currently very odd. I'll see what about it needs tweaking.
2015-04-22 18:18:29 +01:00
D3athrow
639a1c8c03 this was never checked for some reason. 2015-04-16 00:22:39 -05:00
D3athrow
01d2471fc9 Merge branch 'color_replace_2_electric_boogaloo' into Bleeding-Edge
Conflicts:
	code/ATMOSPHERICS/pipe/pipe_dispenser.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/embedded_controller/embedded_controller_base.dm
	code/modules/mining/money_bag.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/silicon/mommi/mommi.dm
	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/rdconsole.dm
	code/modules/research/xenoarchaeology/machinery/analysis_base.dm
	code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm
	code/modules/research/xenoarchaeology/tools/ano_device_battery.dm
2015-04-12 16:40:59 -05:00
ComicIronic
d0e9eedd25 drop_item and click code.
drop_item now has a first arg, which is the item to drop.
Hand processing now uses drop_item properly, which fixes #3874, #3796.
Also fixes #3486.
2015-04-12 00:56:43 +01:00
d3athrow
81b108f6f8 Merge pull request #3662 from clusterfack/powernets
Complete - (Not an actual) Powernet Optimization
2015-04-03 17:59:15 -05:00
BestName
e5559a5a35 Makes plasma naming a bit more consistent 2015-04-03 16:21:44 +03:00
clusterfack
5b1c1e58c3 Part 2: powernets process now, sort of. They still dont set available power for some reason and it seems like everything drains from full power to 0 in fucking seconds.
Everything works now ahhhhhhh, spooky fucking shit.
2015-03-31 18:34:07 -05:00
d3athrow
8ed732e042 Merge pull request #3616 from clusterfack/optimizationsagain
Thermal Plate Optimization
2015-03-30 18:34:24 -05:00
D3athrow
5d9c06c880 aye papi fix TK not working properly on hardly any machine 2015-03-28 14:56:46 -05: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
1793ec1c8e Bugfixes
Removes unused file
Fixes bug with add2stacks under the new proximity flag
Adds an alert before admins become deadminned because HOLY SHIT WHY IS THAT RIGHT NEXT TO CHECK ANTAGONISTS WITH NO CONFIRMATION WHO THOUGHT THAT WOULD BE A GOOD IDEA?
Fixes #2106,Stops giant spiders from webbing themself inside their own capsule in a somewhat snowflakey way, but I've never seen nor heard of this occuring any other way
Fixes a bug where pipeline rebuilds didn't update_values causing improper presure values
2015-03-23 12:45:42 -05:00
clusterfack
47ab42f2ba Another datum initialization hotfix. Initial does not create lists causing type mismatches. 2015-03-23 04:49:37 -05:00
eswordthecat
53d733eca6 replace ddrange with clamp proc. 2015-03-23 00:39:32 +08: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
370a1619ad Merge pull request #3320 from ComicIronic/DropItem
Changes to drop_item.
2015-03-09 16:02:32 -05:00
dylanstrategie
4b101e38a6 Moving catwalks from turf to obj
Major code improvement that has been long overdue. The changes have been
thoroughly tested and everything appears to be working fine

- Move catwalks from turf/[retarded path]/catwalk to
obj/structure/catwalk. A dm file has been added to that effect
- Remove iscatwalk() helper check (not needed for an obj/)
- Lattice code has been used -to great effect- to recode catwalks. No
more hardcored nonsense to "make it like there's a space tile
underneath", now there IS space underneath. This should also fix trace
gas problems often witnessed during Derelict plasma floods
- Use relativewall method. There should have been no functional changes.
Catwalks update when new catwalks are added (not when surrounding
catwalks are destroyed, but it still seems logical)
- Add a in-house ex_act system to boot (to compensate for the fact
catwalks no longer use floor's ex_act). The catwalk is either destroyed,
replaced with lattice (add lattice at location, delete catwalk) or
unscathed
- Remove a lot of spaghetti code that has creeped up into ZAS/Atmos
systems and even into tile painter code since catwalks no longer run ZAS
loops and aren't considered turfs anymore
- All maps have been updated to the new catwalk system (otherwise the
map doesn't load, duh)
- Bit of spaghetti code in cable.dm (both item and structure) since
until then cable was NEVER laid on "objects". Works as intended
- Space has been changed to intact = 0. There's no reason for space to
be "intact" because there is only one version of space tiles, and it
fucks with wire placement

Confirmed working :

- Space automatically appears under the tile, catwalks tiles thus act
100 % like space tiles without hardcoding
- Construction and deconstruction works flawlessly. You do need to
precisely click the catwalk grating to deconstruct since the obj/
catwalk uses transparency correctly, but lo and behold, it's a feature
- Explosions function as intended when targetting catwalks (lots of hole
at the center, pepperoni at a distance)
- Cable-related stuff working (laying cable on catwalk, having cable on
catwalks in general)
- Boxstation, Defficiency and Metaclub updated
- Include list updated

Everything should be functional and was tested, but please outline
anything that looks like it'd work badly
2015-03-09 20:11:57 +01: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