PLEASE READ
After a long process of review and consideration, we have pushed through a small but important update to the way specific heats and temperatures are calculated in the internal systems' simulation state.
Previously, every substance had one specific heat value, and it was invariant with phase changes. This new update adds separate values for liquid vs gas. and will allow us to do some more realistic systems implementations down the road (including resumed work on my long-running fuel cell project).
Old method:
C++:
for (i = 0; i < MAX_SUB; i++)
AvgC += composition[i].mass * SPECIFICC[composition[i].subst_type];
New method
C++:
for (i = 0; i < MAX_SUB; i++) {
AvgC += ((composition[i].vapor_mass * SPECIFICC_GAS[composition[i].subst_type]) + ((composition[i].mass - composition[i].vapor_mass) * SPECIFICC_LIQ[composition[i].subst_type]));
}
The challenge here is that this update will drastically change the temperature of systems in users' scenarios. This isn't usually drastic enough to prevent completing the mission, and we're aware that most users only update between missions and/or watch this thread, however our concern was aimed primarily at the portion of our userbase that does not regularly use or check the forum, and to whom this may seem like we've simply introduced a hoard of bugs rather than a cool new feature. Because fluid temperature is calculated from internal energy and specific heat, older scenarios (excluding the launch scenarios) would have different (and incorrect) new internal temperatures if no measures were taken to correct the energy value. The fix below adjusts the energy level, such that temperature remains the same after the upgrade.
Because of this we now have a simple version checking feature that will tell you to check
this page if a "breaking change" has been made by the update.
For this update specifically, the procedure to upgrade your scenarios is to run
this Python script in a folder containing the scenarios you want to upgrade. (you would only need to run it on
your own saves,
mission scenarios have already been upgraded using a similar process on our end, so don't "upgrade" those.)
NOTE: This script upgrades ALL of the scenarios that are in the folder with the script.
So please take a minute to read this post, and understand what the script is doing.
If you are even a little bit unsure on how to do the upgrade, please PM me your scenario(s) and I will do it for you.