Jump to content

[MODS] Nightinggale's mods list


Recommended Posts

I updated Sensory Overload to contain pipe pressure sensors for both liquid and gas pipes. It does precisely what you would expect it to do: it takes the mass of the content in the pipe and has a temperature like threshold controller GUI.

It has custom code to work reliably in two scenarios:

Above 0: active if pipe contains anything, standby when empty

Above 1/10 kg: active only if pipe is completely full

Those two modes didn't work reliably with the code copied from vanilla, hence custom code for those two cases.

Link to comment
Share on other sites

1 hour ago, SharraShimada said:

Meanwhile in KLEI headquartest: "Why have we not added all this stuff yet?"

I kind of suspect they will have by the next release, perhaps they have it right now internally. In fact one part I had to think of is not that KLEI haven't come up with the sensors I have come up with, but rather what happens if they add precisely the same as I have done. If they add a building and assign the same ID as what I used, then odds are savegames will break. In the hunt for IDs, which are unique enough to not cause clashes, I decided to add my name to all of them (nobody else would add my name, right?) and that's actually the only reason why I added my name to every single building.

The fact that we could end up with two identical sensors in the game is another issue, but it's fairly simple to update the mod to remove my sensor from the build menu, but let it stay in the game. That way the sensor is removed, but those people built prior to saving will still be there and they will still function normally.

As you can see, I actually planned ahead for when KLEI "steals" my not so unique sensor ideas. In fact the best thing, which can happen is that KLEI adds enough sensors to render my mod obsolete because they they will add proper graphics and I don't have to do anything :p

Link to comment
Share on other sites

1 hour ago, SharraShimada said:

Currently, i´m unable to add your sensory mod to a running game. When i enable the mod, the game quits, stating something went wrong wile adding, and deactivates every mod. 

Works for me. I need your log file to investigate this. Also if it happens while loading a savegame, I would like that savegame as well.

EDIT: I forced a complete recompile of the sensor DLL file and uploaded it to Steam. In theory it shouldn't make a difference, but since something odd went wrong, maybe it fixed the problem. At least that's the only thing I can think of doing without a log file to tell me more about what went wrong.

EDIT2: the problem has been found and the Steam version is working again as intended (it was a conflict between Sensory Overload and High Flow Storage). Now I need to rethink part of the design to ensure such a conflict won't happen again. So much for my design with reusable code.

Link to comment
Share on other sites

For those who haven't noticed the message on steam, I updated High Flow Storage. It now has an automation output, which is controlled by stored mass. Also I did some code redesigning to ensure future savegame compatibility and mod compatibility.

Link to comment
Share on other sites

I updated Sensory Overload.

It fixes some issues with data not being set correctly on load in certain cases, which would result in the error window. None of the affected data is in the savegames, meaning your savegames should be safe.

I made a germ version of the item temperature sensor. Instead of measuring min/max temperature it adds up germs on all the items. Otherwise it's the same.

I also added a battery sensor. Connect it to an electric wire and it will act like a smart battery where instead of internal storage capacity, it will use all the active batteries on the wire.

Last, but not least I added references to the config file in the descriptions of affected sensors (item sensors and battery). This both acts as a reminder that certain numbers can be changed and tell what the current setting is.

Link to comment
Share on other sites

Released a new mod: Half Door

It adds a 1x1 Mechanized Airlock. That's it. No more and no less. Now your dupes can finally climb ladders and the airlocks will only be as wide as the ladder, which reduces the gas leakage while it's open.

Preview.thumb.jpg.a11b055fbd6c8f95bdde087b7994e3fa.jpg

Spoiler

Nahh... you can't fool me. You are all going to use them for steam turbines ;)

 

Link to comment
Share on other sites

I'm looking through the new source code to see how my mods respond to the preview changes and I noticed the port drawing code of High Flow Storage is incompatible with some optimization Klei added to port drawing. Here my usage of savegame data pays off because the data in question isn't saved, but generated from scratch on load, meaning a fix shouldn't affect savegames.

My mods on steam will stay as they are now because they should work with the current stable release. Maybe I will update the mods in a branch on GitHub, but for the time being I think I will just wait for the preview to be more stable.

I'm seriously considering abandoning Sensory Overload and the updated sensors for the new version will be in new smaller mods with one or a few sensors in each. This will make the steam pages easier to understand for people and it means I can do some code cleanup, which I currently can't due to not breaking existing savegames.

The current Sensory Overload mod will stay on steam, but step by step lose the ability to build sensors as they are replaced with new mods. SO will still contain the old sensors meaning if you load SO, all the sensors you already built will stay and still work (hopefully). They just won't be updated with new graphics or code optimization or whatever I might add. Obviously I will use internal names, which makes it possible to use the new and old mods at the same time without issues.

Link to comment
Share on other sites

I finished updating my mods for Launch.

I tried making mods, which works for both QOL3 and Launch, thinking this would be the ideal solution to distribution as all it would take would be to update the mods on Steam. However I dropped that idea because I ran into issues and while they are likely fixable, they appeared to be time consuming. I don't think it's worth the time to fix because for once the problem will go away by just waiting.

I reported a performance bug where ONI draws port icons even though they have already been drawn and doesn't need updating. They fixed it, which is good, but it means I no longer have a location to hook into, which is called each time a port is drawn on a frame. As a result I dropped the ability to change the color of the port depending on if it's connected to a pipe or not. In theory it can still be added, but I view it as way too much work for a currently unused feature.

The mods are available on GitHub and Steam will be updated when Launch launches out of the test branch.

Link to comment
Share on other sites

I added the wood generator to the coal generator delivery fixes. Now both generators have the 3 sliders. Also both generators now patches the vanilla buildings, meaning the sliders are added to existing generators when the mod is added and the generators stay in the game if the mod is removed.

The sliders are reset to defaults if the mod is added or removed. Other than that the generators should be intact.

Yes the wood generator has some odd default slider values. Don't ask me why. The mod doesn't contain any values, but rather it reveal the values already used by the game. By not including any values in the mod, it shouldn't need updating when Klei tweaks the numbers.

For modders:

The mod avoids crashing savegames. What causes a crash is removing a saved variable in an existing saved class instance. Technically you can add, but if you do, then the game will crash on load if player removes the mod. For this reason, do not add or remove variables to existing classes.

Instead add new classes. The mod removes 2 vanilla components and adds 3. When the game loads a savegame and the component isn't present, the data for that component is ignored and the game can be loaded. If there is a component in the game, which isn't in the savegame, then the component will get the default values.

I assume this applies to all GameObjects and not just power generators. Keep this in mind and make mods, which avoids breaking savegames, even if your mod is removed.

Link to comment
Share on other sites

I recompiled High Flow Storage and Sensory Overload. Apparently the latest patch did something, which made the mods crash when adding an automation output port. However interestingly enough recompiling against the new oni DLL fixed the problem. No codechange needed.

I also added a new mod called Optional Piped Algae Terrarium. It adds a pipe output to the existing algae terrarium. However it shares code with High Flow Storage as in it doesn't stop the building from working even if one output is blocked or isn't connected. This means if you do not add a pipe, it will keep functioning like the base game terrarium where it's emptied by dupes. No steam version since it's Launch only and I only have QOL3 mods on steam.

Granted it may overlap quite a bit with @Cairath's piped terrarium, but I have a game where I would like the two algae terrariums in one building. Also I'm currently exploring how far I can push adding/removing components in existing buildings without breaking savegames by either adding or removing the mod when a building exist in a savegame. So far it looks really good in that regard and we can do quite a bit if it's just done correctly. Done incorrectly and byebye savegames.

Link to comment
Share on other sites

New mod release: piped output

Preview.thumb.jpg.6ebe54c8d84ff3f3c7dc210847798e4d.jpg

This mod introduces a new type of pipe output, which will output to a pipe if there is one and output to the room if there is no pipe. This means the same building can be used both with and without pipe connections.

Technically the buildings will store the output and if there is no pipe, then it will release the gas to the room regardless of room pressure. If it's a liquid output, then it will drip on the floor. If there is a pipe, then it will use the pipe instead and not vent to the room. It can merge pipe contents like bridges. A building stops if it stores 5 seconds worth of gas/liquid as this is used as indicator for blocked pipe.

The output pipes are colored according to the element they will release. This is particularly helpful for buildings with more than one output like the electrolyzer.

A few exceptions exist to the standard rule, like algae terrariums will require emptying if no pipe output and the electrolyzer can overpressure from room pressure, even if outputting to pipes.

Written to be as compatible with other mods as possible. Intentionally made compatible with Coal Generator Delivery Fixes.

Safe to add or remove in existing savegames. However adding new pipe outputs does come with the risk that say a polluted water output shows up on top of a clean water pipe.

Applies to the following buildings:

  • Oxygen diffuser
  • Algae terrarium
  • Electrolyzer
  • Rust deoxidizer
  • Gas Range
  • Coal generator
  • Wood generator
  • Natural gas generator
  • Petroleum generator
  • Fertilizer synthesizer
  • Ethanol distillery
  • Oil refinery
  • Polymer press
  • Oil well
Link to comment
Share on other sites

I uploaded version 1.1 of Piped output.

I fixed a bug in FertilizerMakerConfig where it didn't add natural gas to the output array. Turned out that the allocated memory for the array had to be expanded prior to adding any new element or it would silently fail.

I fixed a bug, which would stop the natural gas generator if there isn't a pipe on the exhaust output cell. I suspect a vanilla issue/conflict because I fixed it by moving the unused vanilla output to (0,0). If it still requires a pipe on that cell, then it's the gas input cell and it will have a gas pipe.

I added the gas range. It's no longer dropping CO2 in bottles and instead it's actually doing what it's supposed to do.

Link to comment
Share on other sites

Could be mod incompatibility or an issue with Piped Output.
Problem: Oxygen Diffusers continue releasing oxygen to environment instead into the attached pipe.
I tried deconstructing and rebuilding just to verify that wasn't an issue.
I used the latest version available and placed it in mods/local/pipedoutput_temp.

Link to comment
Share on other sites

OK, seems mod compatibility issue. Just started a sandbox game with only Piped Output enabled and it worked OK.
I will report back later today which mod (out of 74 candidates, yeah me :( ) gives incompatibility issues, and will give a save game and log then. Could take me a while.

Link to comment
Share on other sites

OK found it. Do not think a save game and output log will be necessary. In hindsight most logical that the mods could be incompatible.

It's the mod: No Fixed Temperatures from Trevice.
https://steamcommunity.com/sharedfiles/filedetails/?id=1742003542

It also changes the Oxidizer, so makes sense.
Sorry for wasting your time. Maybe you can compare notes with Trevice why the incompatibility happens.
For now I will disable the No Fixed Temperatures mod. Less important for me than the Piped Output one.

We should have a place where we can mark incompatible mods. Cause it is bound to happen more and more, now that more people will start releasing mods. Some changes do work together and others do not.

At least it would be best if anybody could report such an issue, and not burden Mod developers with it.
Extra verification by others, could lend more credibility to reports.

Thanks for this mod btw, I will certainly use it a lot. Certainly together with the Bigger Capacity mod, which allows for larger pipe throughput I will finaly be able to spread my oxygen around my base properly.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...