RimWorld

RimWorld

[D] Thermodynamics - Core
28 Comments
Mlie Dec 29, 2022 @ 1:37pm 
Included an update of this in the updated Hot Meals-mod:
https://steamcommunity.com/sharedfiles/filedetails/?id=2909103255
Hope it helps anyone!
dabeek Aug 18, 2021 @ 7:11am 
1.3 and I will give you ALL the awards
I blame Earthshaker Aug 14, 2021 @ 11:42am 
1.3?
Timou Aug 2, 2021 @ 3:42am 
Update please 1.3 :Gifting:
Richard Mc Nutbuster Jul 29, 2021 @ 1:12am 
will this be updated soon?
🍈 Jul 25, 2021 @ 10:00pm 
Thanks for this mod!
Richard Mc Nutbuster Jul 23, 2021 @ 7:54am 
1.3?
saekikatsuya Nov 14, 2020 @ 11:27am 
I don't know what's going on,but my egg doesn't like this mod.
Krid Sep 9, 2020 @ 3:07pm 
Could you make a mod that adds better environmental temperature modeling? So removing a wall doesn't instantly drop a room down to ambient, and walls have different insulation potential?
Dametri  [author] Aug 4, 2020 @ 12:20pm 
@deathlis23 I need more details than that if you want me to help. Also, better to post in Hot Meals (link above).
deathlis23 Aug 4, 2020 @ 12:13pm 
My people aren't heating up the damn food
SubmarineMan Aug 3, 2020 @ 4:38pm 
https://github.com/KiameV/rimworld-rimfridge/pull/46/commits for what i mean (the rottableComp changes and patch )
SubmarineMan Aug 3, 2020 @ 4:35pm 
@Dametri I would like to note that your implementation is impressive but you could use some caching and please try to avoid the GetTemperature cuz it's one of the slowest functions to call in RW. If you would join me at Dubwise discord server to discus our finding (I've made a fix for simple fridge that you could reuse for hotmeals)
SubmarineMan Aug 3, 2020 @ 4:33pm 
@Dametri Hello, i've going through your code and noticed you're overusing TryGetComp<CompDTemperature> thus i made a simple caching function for it:

static class TemperatureCompDUtility
{
private static Dictionary<int, CompDTemperature> _cachable = new Dictionary<int, CompDTemperature>(100);

public static bool TryGetCompDTemperature(this Thing thing, out CompDTemperature comp)
{
if (_cachable.TryGetValue(thing.thingIDNumber, out comp))
{
if (comp == null) return false;
return true;
}

comp = thing.TryGetComp<CompDTemperature>();

_cachable.Add(thing.thingIDNumber, comp);

if (comp == null) return false;
return true;
}
}
Dametri  [author] Jun 4, 2020 @ 1:42pm 
@WaKKO151 "Core module for my Thermodynamics mods. Doesn't really do anything on its own."
WaKKO151 Jun 4, 2020 @ 1:30pm 
so, you don't state what this does
KommissarK Jun 3, 2020 @ 10:05am 
I'm quite interested in water cooling pawns down. I'm attempting to do an extreme dessert start with no starting gear and tribal tech. Kinda sad rn that I can't live without trade.
An Ol' Spicy Keychain Jun 2, 2020 @ 8:38pm 
what the fuck
why would i be famous
im shit at the game and barely showed up
Oilooc Jun 2, 2020 @ 4:16pm 
Is that the once famous member of the Dinkleberg TTT server?
An Ol' Spicy Keychain May 29, 2020 @ 10:33pm 
wow i was just thinking about clothing insulation weirdness earlier, that crazy, id love to see a mod that increases realism when it comes to apparel temperature calculation
oz May 28, 2020 @ 9:44pm 
Sounds like a pretty cool project!
Dametri  [author] May 28, 2020 @ 12:38pm 
@Oken Next would be colonist pawns, but that's a big project. Idea is to change how clothing insulation works: pawns stay warm for a while when they go out, but gradually leech heat based on the insulation of their clothing. Also, frostbite would be based on what parts are covered. Fans to cool colonists down that work outdoors. Campfires or space heaters or something to heat them even when outdoors. Fires heat colonists nearby, even when it's outdoors; need firefighting gear to avoid getting burned. Water cools people off. Heatstroke based partly on sun exposure.

But like I said, big project. Requires some AI adjustments. I have other things I plan to work on before I get to it.
Avericat May 28, 2020 @ 12:15pm 
What are your plans and ideas to use this core in?
Dametri  [author] May 28, 2020 @ 9:24am 
@oz Yes, exactly, and no, ambient temperature functionality doesn't change; I think the ambient temperature system is actually quite good (heat pushing, gradual diffusion of enthalpy, so on).

Two main concerns I have with this core, and the reasons I only intended it for my own use:
1. Adding temperature comps to too many things may eventually increase lag, though I'm not sure this is a significant problem (diffusion is pretty lightweight)
2. The core doesn't really have a system for adding temperature comps to things, so mods will have to do that themselves and ensure there aren't any conflicts
oz May 28, 2020 @ 9:15am 
Hi, thanks! So if I understand your code correctly, it's a framework to make objects change temperature slowly instead of being always at ambient temperature? I can see many uses for this. You're not changing how ambient temperature behaves though, right? Either way I'm interested
Dametri  [author] May 28, 2020 @ 4:55am 
@oz I really only intended it for use with my mods, but the source is included in the download (as with all my mods)
oz May 27, 2020 @ 9:11pm 
The name is interesting, but could you expand on what functionality this makes possible? Or link to the source code? Or is this mod meant to be used only be your mods?