[1.3] [KV] Infinite Storage [ModSync RW]

Started by Kiame, December 16, 2017, 07:45:52 PM

Previous topic - Next topic

Canute

Did you just do an exclusive check for wood ? What happen when you add Vegetable Garden with bamboo/Ironwood ?

As further request, it would be nice to see the Quality/condition of the items.
And no i don't realy want see a mending attachment for the infinity storage. I think that should be an exclusive feature for the dresser/weapon storage.

Malk

#46
I've run into an issue where when I set the electric smelter to smelt weapons between quality x and y the infinite storage will eject any and all weapons contained, regardless of quality, and pawns will start the job smelting any quality at the smeltery, even though a right click confirms that there is no valid material (weapon of specified quality) available. They keep trying to smelt my legendary and masterwork weapons...

This only occurs if the weapons are contained in and ejected by the infinite storage. As soon as I eject them and turn the storage off the issue disappears.

Edit: It also seems to ignore the ingredient radius.

JinxVanAshke

Quote from: Kiame on December 27, 2017, 12:24:12 AM
What exactly is the problem?
Is it when clicking the button to build a floor type that options are not available?
Is it once the flooring has been placed and you right click to tell a pawn to start building that it says no materials found?
Is it once the flooring is down no materials are spawning from the infinite storage?

Just tested w/ Expanded Woodworking and I was able to lay floors just fine. I did notice the icon was red (meaning i didn't have any but i knew i did) which i can look into. I ignored that and was able to lay the flooring and the pawns quickly completed laying the new floors.

Ok I have narrowed down the problem I think to Architect sense. It merges all floors together and when it THINKS you don't have an item in storage to make it, it flat out just doesn't appear as an option to select or lay the floor.

To give a direct example. If all my stuff is in a normal storage and I select Mosaic Parquet it gives me a list of woods in my storage I can build the floor with. When I put them into the infinite storage box, those options go away till I can't put down any floor at all. It does the same for Stone and Metal floors and textiles and carpets.

Which...to go further while they will pull things for some jobs out of the storage, I was using it for chunks thinking I could at least have those cleaned up and off the floor, I had it right next to the stoneworking bench and he was still walking across the map to pick up rocks from the ground. And thirdly whenever medications are put into either the Infinite Storage or the Bodyparts storage box, Operations no longer see medicines in order to select those as jobs.

Canute

Thats a common problem with the storage.
Anything inside the storage is basicly non-existent, just numbers , or if you like at an extradimension pocket.
The normal Rimworld interface/jobdriver don't see them. Only a few things are modified yet to work with it.
Give Kiame more time to find better solutions/ideas how to handle it.
In the meantime you need to do some micromanagment or just don't store special item on it.

About the stonecutter, did you try to reduce the ingredent search range, that it just include the storage ? Then the hauler just deliver chunts to the storage, and the crafter take them out.
But i don't recomment to use the storage to store chunks or blocks, that use alot of energy since they weight much.

JinxVanAshke

#49
I did lower the range I am not sure why they are not pulling from the storage, I had a previous save game in which I was using it the same way and they were pulling from the box for stoneworking. If I was JUST going to use the box for storage of chunks I had lowered the energy requirements to be tolerable for that purpose. Though to be sure energy is only an issue early on once I research Solar Roofs a few Orassan power relays, energy is not a problem.

Note I wasn't complaining or telling him "FIX IT!!" (sorry if it came across that way.) just noting what I was experiencing. Storage is a tricky task and I have tried many of the various storage mods available and this is the closest to doing it the way I would like. To me the ideal would be a combination of what this mod is going for combined with the As Simple as Rack mod https://ludeon.com/forums/index.php?topic=23205.60 and instead of dropping on the floor items would pull to the shelving locations for pawns to use. It would be visually and functionally be what I would want. I wish I had the knowhow to combine them myself and make it work.

Kiame

@Canute - No plans to have any attachments. That'll stay exclusive with the other mods  :)

@JinxVanAshke
As Canute was saying, i'm basically having to reinvent how RW handles items stored in infinite storage. There are a large number of paths through which pawns find and use items and when I make those items not exists I need to add paths in the logic to check the infinite storages for the items. It'll never be perfect but hopefully i can cover enough cases where it's seldom anyone will have to directly micro-manage the storage.

I'll take a look at architect sense and see how it's determining what's available. It it's using the base game's code it should have worked with inf storage, the fact it's not working makes me worried it will be difficult to integrate. I'll take a look in either case.

Kiame

#51
Quote from: Malk on December 27, 2017, 09:29:16 AM
I've run into an issue where when I set the electric smelter to smelt weapons between quality x and y the infinite storage will eject any and all weapons contained, regardless of quality, and pawns will start the job smelting any quality at the smeltery, even though a right click confirms that there is no valid material (weapon of specified quality) available. They keep trying to smelt my legendary and masterwork weapons...

This only occurs if the weapons are contained in and ejected by the infinite storage. As soon as I eject them and turn the storage off the issue disappears.

Edit: It also seems to ignore the ingredient radius.

Ingredient radius at this point is being ignored - i assume you mean inf storage drops items even if it's outside of the bill's radius. It's a decision i made as I have not figured out a good way to determine this without stepping on too many other code paths (it's a balance between how much time i have/code bloat/reward)

I will take a look and see why quality is not being taken into account. I think i have an idea where that problem is

Edit: I feel dumb. I figured out how to have the radius work with infinite storage

JinxVanAshke

Quote from: Kiame on December 27, 2017, 02:53:29 PM
@Canute - No plans to have any attachments. That'll stay exclusive with the other mods  :)

@JinxVanAshke
As Canute was saying, i'm basically having to reinvent how RW handles items stored in infinite storage. There are a large number of paths through which pawns find and use items and when I make those items not exists I need to add paths in the logic to check the infinite storages for the items. It'll never be perfect but hopefully i can cover enough cases where it's seldom anyone will have to directly micro-manage the storage.

I'll take a look at architect sense and see how it's determining what's available. It it's using the base game's code it should have worked with inf storage, the fact it's not working makes me worried it will be difficult to integrate. I'll take a look in either case.

You humble me with your quick responses. If it doesn't work it is no worries. I already have a workaround with an alternate storage pile and priorities so they just move what I want next to where I want. I used to do it back in the day before the Haulers haul to craft spots mod. Makes things get built quickly anyway. Just an extra step that, I feel like you are trying to eliminate some of the micromanagement processes...You know this is just an idea out of ignorance...but the automation factory mods have a stockpile setup around some of the automated equipment. Is there is a chance that having a default stockpile that pulls to and from the storage box itself would make things integrate easier? Again I don't know jack just a thought.

Kiame

Update:
-Bill radius is now taken into account when selecting Infinite Storages to pull ingredients from.
-Quality is now correctly taken into account for bill ingredients
-Thing labels in the View window have been improved

Kiame

#54
Quote from: JinxVanAshke on December 27, 2017, 03:03:06 PM...You know this is just an idea out of ignorance...but the automation factory mods have a stockpile setup around some of the automated equipment. Is there is a chance that having a default stockpile that pulls to and from the storage box itself would make things integrate easier? Again I don't know jack just a thought.

It would make my life easier if actions were performed on the stockpile - like add thing/remove thing - but instead the game assumes the items are always visible and so the game acts on the items themselves and not the stockpile.


I took a look at architecture sense and if i understand it correctly, it's not a mod for end users but instead for use by modders who will include that in their mods. In short, though, it did not consolidate floors into a single button to click from which the material can be selected. I did some searching for a mod that does that but no luck (heck i'd like to use it if it exists). If you know what mod it is that does that could you let me know?

Thanks

Kiame

#55
Update:
-The last update caused more things to drop than needed in bills, fixing that

This also fixes a lingering problem where:
A bill requires 50 fabric. The storage has 25 muf leather and 25 cloth. The old logic would spit both out and call it good. This update will now require a full 50 muf or 50 cloth

JinxVanAshke

Quote from: Kiame on December 27, 2017, 11:07:00 PM

I took a look at architecture sense and if i understand it correctly, it's not a mod for end users but instead for use by modders who will include that in their mods. In short, though, it did not consolidate floors into a single button to click from which the material can be selected. I did some searching for a mod that does that but no luck (heck i'd like to use it if it exists). If you know what mod it is that does that could you let me know?

Thanks

So how I  understand and have used Arch sense is like a Framework, like Misc. Core, Or Alien Framework etc. I will attach a screenshot so you can see the difference. With Architect sense installed and it puts all my floors into one Button and makes the floor design the selectable and when you pick that every item in your stockpile it can be built out of is selectable if you don't have it in your stockpile it doesn't show up as an item. I use it in Tandom with Stuffed floors and it then takes all the items from Ext Woodworking, Veg Garden, and so forth and Stuffed Floors lets the floors be made out of...stuff and A.S. lets the Architect tab display it all. Or at least that is what Fluffy's Stuffed Floors tells me to do. Stuffed Floors says...it adds a custom FloorDefType that derives from TerrainDef to allow modders to create floors by setting a texture. But you have to use that one and Architect together. I wonder if that is causing the problem.


[attachment deleted by admin: too old]

Kiame

ok i had enabled AS and didnt see any difference - no multi-select for floors for instance. Let me try w/ stuffed floors too

JinxVanAshke

Quote from: Kiame on December 28, 2017, 03:29:25 PM
ok i had enabled AS and didnt see any difference - no multi-select for floors for instance. Let me try w/ stuffed floors too

I really appreciate you going to all the effort to look into this.

Kiame

Ok i was able to reproduce it with Stuffed Floors and A.S.

After digging through Fluffy's code I've confirmed he's doing his own thing outside of the normal game's path when determining what's available to build with. I've tried possibly making a second mod which would bridge the two but I've not been able to figure out how to get it to work.

At this point I'm going to put it on the back burner. If i think of a way to get this to work I'll update this thread (at this point i'm thinking it's unlikely though)