Daedalus Dock - Modules - TypesProc Details

gas_mixture

Procs

addSimpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.
adjustGasTakes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0.
adjustGasWithTempSame as adjustGas(), but takes a temperature which is mixed in with the gas.
adjustMultipleGasesVariadic version of adjustGas(). Takes any number of gas and mole pairs and applies them.
adjustMultipleGasesWithTempVariadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them.
adjustThermalEnergyAdds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB.
checkTileGraphicIf check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed.
compareChecks if we are within acceptable range of another gas_mixture to suspend processing or merge.
copyReturns a gas_mixture datum with identical contents.
copyFromCopies gas and temperature from another gas_mixture.
divideDivide all gas amounts by a factor.
equalizeUsed to equalize the mixture between two zones before sleeping an edge.
getBreathPartialPressureTakes the amount of the gas you want to PP as an argument So I don't have to do some hacky switches/defines/magic strings eg: Plas_PP = get_partial_pressure(gas_mixture.plasma) O2_PP = get_partial_pressure(gas_mixture.oxygen) getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles()
getByFlagReturns the amount of gas that has the given flag, in moles..
getGroupGasReturns the volume of a specific gas within the entire zone.
getGroupMolesReturns the volume of the entire zone's gas contents.
getHeatCapacityReturns the heat capacity of the gas mix based on the specific heat of the gases.
getThermalEnergyChangeReturns the thermal energy change required to get to a new temperature
getTileOverlayInlined getTileOverlay(g) End inline
getTrueBreathPressureinverse
get_volumeLINDA COMPATABILITY PROCS
hasGasReturns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas.
isEqualCompares the contents of two mixtures to see if they are identical.
mergeMerges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way.
multiplyMultiply all gas amounts by a factor.
removeRemoves moles from the gas mixture and returns a gas_mixture containing the removed air.
removeByFlagRemoves moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air.
removeRatioRemoves a ratio of gas from the mixture and returns a gas_mixture containing the removed air.
removeVolumeRemoves a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume.
returnPressureReturns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called.
setGasMolesSets the given gas id's mole count to the specified amount.
shareRatioShares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table.
shareSpaceA wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room.
specificGroupEntropyReturns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas.
subtractSimpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier.
updateValuesUpdates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!!

Proc Details

add

Simpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.

adjustGas

Takes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0.

adjustGasWithTemp

Same as adjustGas(), but takes a temperature which is mixed in with the gas.

adjustMultipleGases

Variadic version of adjustGas(). Takes any number of gas and mole pairs and applies them.

adjustMultipleGasesWithTemp

Variadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them.

adjustThermalEnergy

Adds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB.

checkTileGraphic

If check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed.

compare

Checks if we are within acceptable range of another gas_mixture to suspend processing or merge.

copy

Returns a gas_mixture datum with identical contents.

copyFrom

Copies gas and temperature from another gas_mixture.

divide

Divide all gas amounts by a factor.

equalize

Used to equalize the mixture between two zones before sleeping an edge.

getBreathPartialPressure

Takes the amount of the gas you want to PP as an argument So I don't have to do some hacky switches/defines/magic strings eg: Plas_PP = get_partial_pressure(gas_mixture.plasma) O2_PP = get_partial_pressure(gas_mixture.oxygen) getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles()

10/205 = 2.5 10 = 2.5/520

getByFlag

Returns the amount of gas that has the given flag, in moles..

getGroupGas

Returns the volume of a specific gas within the entire zone.

getGroupMoles

Returns the volume of the entire zone's gas contents.

getHeatCapacity

Returns the heat capacity of the gas mix based on the specific heat of the gases.

getThermalEnergyChange

Returns the thermal energy change required to get to a new temperature

getTileOverlay

Inlined getTileOverlay(g) End inline

getTrueBreathPressure

inverse

get_volume

LINDA COMPATABILITY PROCS

hasGas

Returns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas.

isEqual

Compares the contents of two mixtures to see if they are identical.

merge

Merges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way.

multiply

Multiply all gas amounts by a factor.

remove

Removes moles from the gas mixture and returns a gas_mixture containing the removed air.

removeByFlag

Removes moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air.

removeRatio

Removes a ratio of gas from the mixture and returns a gas_mixture containing the removed air.

removeVolume

Removes a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume.

returnPressure

Returns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called.

setGasMoles

Sets the given gas id's mole count to the specified amount.

shareRatio

Shares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table.

shareSpace

A wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room.

specificGroupEntropy

Returns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas.

subtract

Simpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier.

updateValues

Updates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!!