[A12d] RedistHeat - Vents/Ducts (Oct 12, v42b) Small heater fix

Started by Latta, March 01, 2015, 01:41:49 AM

Previous topic - Next topic

Ninefinger


1000101

There is a problem with your versioning (ModHelperDef.Version)  "40" is an invalid value.  Version is made up of 3 components in the format of "x.y.z".  Also, "version" isn't the version of your mod (that should be in about/about.xml), it's minimum version of CCL required.  As such the only valid value right now is "0.12.0".

My log even shows an error with your version:
ArgumentException: There must be 2, 3 or 4 components in the version string.
  at System.Version..ctor (System.String version) [0x000a4] in /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System/Version.cs:114

  at CommunityCoreLibrary.ModHelperDef.get_IsValid () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.ValidateMods () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.Start () [0x00000] in <filename unknown>:0


I've put better checks into the code to try/catch erroneous version strings as well as a library min version supported (which is currently "0.12.0").

Once I changed that one piece of xml, it played nice with everything.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Latta


isistoy

Woww, amazing looking and loving the layered feel it gives.
Haven't been looking into your new version's code at all, but I am in the middle of putting a new net in place and previous version was a read comparison with vanilla.
Hopefully, when my mind has cleared a few things up, I might be able to discuss/suggest this a bit more.
<Stay on the scene like a State machine>

mcduff

I'm not sure if this is bugging or if I'm just not using it right.

I'm connecting the networks up, putting inlets and outlet in the right places, but even though the network temperature is reading a sensible value, the rooms with the outlets in aren't cooling/heating as I'd expect. They seem to sometimes behave, and sometimes not.

I can have an outlet with a network temperature reading of +18 degrees and the room can sill be -2. Is this normal? Am I just not doing something right?

Der Failer

So i tried updating from v32a to v40a, cause v40a looks awesome (no to say that v32a and before wasn't already awesome) and also because save file editing is fun ... ... wait it is no?! hm well ...

After a bit of trial and failure i manage to load the world with out crashing the game :) but i notice that in the debug log "Community Core Library :: Injecting MapComponents for RedistHeat" stacking up like every tick. Further testing showed that this also apply to a new created colony were only CCL and RedistHeat are active.

From the log:
ArgumentNullException: Argument cannot be null.

Parameter name: type
  at System.Activator.CheckType (System.Type type) [0x00000] in <filename unknown>:0

  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0

  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModHelperDef.InjectMapComponents () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.InjectMapComponents () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.FixedUpdate () [0x00000] in <filename unknown>:0

Full output log here

1000101

Quote from: Der Failer on August 28, 2015, 04:43:28 PM... but i notice that in the debug log "Community Core Library :: Injecting MapComponents for RedistHeat" stacking up like every tick. Further testing showed that this also apply to a new created colony were only CCL and RedistHeat are active.

From the log:
ArgumentNullException: Argument cannot be null.

Parameter name: type
  at System.Activator.CheckType (System.Type type) [0x00000] in <filename unknown>:0

  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0

  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModHelperDef.InjectMapComponents () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.InjectMapComponents () [0x00000] in <filename unknown>:0

  at CommunityCoreLibrary.ModController.FixedUpdate () [0x00000] in <filename unknown>:0

Full output log here

This is a small bug in CCL (MapComponent and Desginator injection have this same problem), it's been fixed and I'll hopefully have it released by the end of the weekend.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Latta

Quote from: mcduff on August 28, 2015, 12:53:28 PM
I'm not sure if this is bugging or if I'm just not using it right.

I'm connecting the networks up, putting inlets and outlet in the right places, but even though the network temperature is reading a sensible value, the rooms with the outlets in aren't cooling/heating as I'd expect. They seem to sometimes behave, and sometimes not.

Depends. If your room is too big, There are too many outlets to other rooms, etc.
Not in this case, You can turn on 'Verbose Logging' under 'Developer Mode' within option menu, and see network's IDs. Please check if:
The room's outlet's channel and pipe channel match.
The outlet's ID and pipes' ID match.

mcduff

I've attached a screen shot. The channel and ID matches. I even cycled the channels a couple of times to see if the network ID went bad. Everything stuck.

In the situation in the screen shot, the big freezer was chilled down to -9, the outside temp was +5, but the network temp and the little freezer were at +14! That can't be right, can it?

[attachment deleted due to age]

mcduff

So I loaded up a new map and Godmoded a bunch of ducts and things in to test what I could get away with.

This network runs just fine when I spawn everything in. HOWEVER. When I save/quit and reload, the network sticks at +14C.

It seems to be an issue with reloading save games.

[attachment deleted due to age]

mcduff

Another thing: when I load a game using active vents I get this in the logs.

It doesn't seem to affect the gameplay though.

[attachment deleted due to age]

Latta

Does the net in your save with problem sticks at 14 even if you keep playing? I'm aware of the save-load resetting net temperature, but it should return to its proper temperature. I'm looking for a way to save temperatures.

If it stays at 14, would you swap LT_RedistHeat\Assemblies\RedistHeat.dll to attached dll, play for a few seconds like 15 seconds in normal speed, then attach the log? Log can be found in RimWorld911(Win/Mac/Linux)_Data\output_log.txt.

I'll look at active vents too. Thank you.

[attachment deleted due to age]

mcduff

I can't seem to find the log text, either in the app package or in the application support/Rimworld folder (I'm on a Mac.)

I did open the debug window when I loaded it with the new DLL. It stuck at +14 and didn't log any messages even when ran it for a couple of days on fast. I spawned a new intake vent and that made the whole system start working again, with messages going to the debug window. Seems like something isn't starting to happen on a reload.

Anyone have any ideas where the log file on Macs are, or how I would make my game start logging?

Latta

Updated again to 40c.

There was a bug which caused building list to stack and throw a reference error when loading.
If you already met one, try this: Load it, save, quit and reload.

Dante Montana

Thanks for your effort Latta. With this mod I had a lot of fun the last playthroughs. Now you have implented the upper/lower ducts and a wish come true. Very impressive what is possible now. Heat/cold where ever needed.