Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced IO Port Enhancements #727

Open
Sn1p3rr3c0n opened this issue Jul 28, 2023 · 4 comments
Open

Advanced IO Port Enhancements #727

Sn1p3rr3c0n opened this issue Jul 28, 2023 · 4 comments
Labels

Comments

@Sn1p3rr3c0n
Copy link
Collaborator

  • Allow use as an Input
  • Allow multiple pawns to use the Port Simultaneously
  • Allow access of items in the Archival Storage Unit

Simultaneous Input Output Usage _IO

This is a Combination of the First two Points.

Currently the Advanced IO Port exclusively serves as an Output. Where it will only take back the excess for the requested Stack.
To allow it to function as an Input the Pickup process needs to fundamentally change.

Currently the Desired Item is simply moved to the Advanced IO Port.

The Idea would be that Pawns are instead assigned some kind of Job to move to the Advanced IO Port.
On success the requested / desired item would be directly added to their Inventory and they would resume their original Task.

If that could be Implemented, the Cell above the Port would be freed. This would allow us to classify it as an Input, thus satisfying the request.
In my current Attempts I can issue such a Job, but still need to resort to moving the item on top of the Port.

ASU Support _ASU

This Feature was originally intended to be included with the original Release of the Advanced Port.
Unfortunately I failed to add Support back then.
To Release it back then they were marked incompatible, since then this support has been requested countless times.

After the Initial release I have attempted to add Compatibility again but failed.
From one such attempt I still have the following git diff advancedIO_ColdStorage_FoodPatchFail.zip

I'm currently attempting it again and aim to document it in a better way.

@Sn1p3rr3c0n
Copy link
Collaborator Author

Test Maps

Intended to Test "Start Job" Specifically Haul to Wall and Construct.
Where a Pawn is Blocked inside of an Area

With DSU: New Arrivals244.zip
With ASU: Advanced.zip

image

Sn1p3rr3c0n added a commit that referenced this issue Jul 28, 2023
@Sn1p3rr3c0n
Copy link
Collaborator Author

Sn1p3rr3c0n commented Jul 28, 2023

The Current Implementation Somehow bricks the SkyManager

Root level exception in Update(): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.SkyManager.CurrentSkyTarget () [0x00164] in <95de19971c5d40878d8742747904cdcd>:0 
  at Verse.SkyManager.SkyManagerUpdate () [0x00000] in <95de19971c5d40878d8742747904cdcd>:0 
  at Verse.Map.MapUpdate () [0x00005] in <95de19971c5d40878d8742747904cdcd>:0 
  at Verse.Game.UpdatePlay () [0x00049] in <95de19971c5d40878d8742747904cdcd>:0 
  at Verse.Root_Play.Update () [0x00032] in <95de19971c5d40878d8742747904cdcd>:0  
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

After Testing on a Opened Variant of the Test Map I believe that is caused by a Faulty Patch_RegionProcessorClosestThingReachable_RegionProcessor

As only the 10 Jobs Error (with no work being done) Remains.

67450 Katia: StartJob [HaulToContainer (Job_63833) A=Thing_Steel66075 B=Thing_Blueprint_Wall68430 C=Thing_Blueprint_Wall68429] lastJobEndCondition=None, jobGiver=Verse.AI.ThinkNode_QueuedJob, cancelBusyStances=False
67450 Katia: JobDriver_HaulToContainer ends current job HaulToContainer (Job_63833) A=Thing_Steel66075 B=Thing_Blueprint_Wall68430 C=Thing_Blueprint_Wall68429 because of toil GotoThing at toils[1].endConditions[0]
67450 Katia: EndCurrentJob HaulToContainer (Job_63833) A=Thing_Steel66075 B=Thing_Blueprint_Wall68430 C=Thing_Blueprint_Wall68429 condition=Incompletable curToil=GotoThing at toils[1]

... because of toil GotoThing at toils[1].endConditions[0] ...

Likely caused by Patch_Pawn_JobTracker_StartJob not supporting items in the ASU

Open Map:
image
OpenTestMap.zip

@Sn1p3rr3c0n
Copy link
Collaborator Author

With d5f10f8 I'm at another issue i Remember from privius attempts.
Not being able to Spawn the Things.
Still not Sure what the spawning fails.

@grapemix
Copy link

grapemix commented Dec 7, 2024

Not directly related, but someone in the future might be interested in #342.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants