[1.1] Giddy-up!

Started by Roolo, December 01, 2017, 04:46:29 AM

Previous topic - Next topic

SargBjornson

No rush at all, man. This is after all, merely visual candy :)

Canute

After some time i used again Giddyup (Core,Caravan,Ride&Roll) and notice something.
On caravaning you can assign riders on mounts, and then animal and rider leave together the map.
But allways when a caravan arrive on a map, they are unmounted.
Ok on a temp. map i could understand it, since they groupd say "Lets unmount and sneak a bit closer".
But it is more returning to the home map what disturb me, that pawn's don't ride into the colony.
Do i miss something, i didn't found anything at the mod options, that pawn's don't remount the caravan animals to ride home ?
Or it is something that the animal's are allready busy to unload at the colony so the pawn's can't auto mount them ?

Roolo

Quote from: Canute on April 14, 2019, 05:18:04 PM
After some time i used again Giddyup (Core,Caravan,Ride&Roll) and notice something.
On caravaning you can assign riders on mounts, and then animal and rider leave together the map.
But allways when a caravan arrive on a map, they are unmounted.
Ok on a temp. map i could understand it, since they groupd say "Lets unmount and sneak a bit closer".
But it is more returning to the home map what disturb me, that pawn's don't ride into the colony.
Do i miss something, i didn't found anything at the mod options, that pawn's don't remount the caravan animals to ride home ?
Or it is something that the animal's are allready busy to unload at the colony so the pawn's can't auto mount them ?

Giddy-up Caravan was created before Ride and Roll was created. Before Ride and Roll, on-map non-combat mounting would result in all sorts of issues, therefore, they arrive on foot when returning to your base. This is because unlike when leaving the map, there's no special job for arriving at your camp, and pawns can literally start any job right after they arrive (like for instance going to bed, which they would do with their animal any proper checking xD). Now that we have Ride and Roll, this can be resolved. I didn't however take the time yet to fix this for Ride and Roll users. But I'll be doing a bunch of updates for all Giddy-up mods soon, and I'll definitely also fix this then. Though for non-Ride and Roll users, arrival will remain on foot.




Roolo

Quote from: temple_wing on May 10, 2019, 09:41:35 AM


Thanks for reminding me. I'm doing a bunch of updates for Giddy-up this week, so I'll make sure to fix that as well.

temple_wing


Roolo

I just released an update, adding a lot of improvements and fixes for Giddy-up! Ride and Roll:

Giddy-up! Ride and Roll v1.2.0
- Wait for rider job added. Instead of freezing like a statue, animals now walk around nearby when waiting for their rider and follow the rider around. Moreover, a button is added so you can easily order animals to stop waiting.
- Animals wait for riders more intelligently. If the rider is doing the same job for a long time (for instance, mining), the animal is more patient. Inside rooms (like hospitals, workshops etc), the animals generally won't wait for riders.
- Pawns now stay mounted if they have to perform hauling or walking as part of jobs that cannot be done mounted. This reduces the moments where you think: "why isn't he riding there?" by a great deal.
- Pawns now arrive mounted on their destination when Giddy-up Caravan is used.
- Sleeping animals are now also automatically mounted when they have enough rest (more than 50%). This increases mount usage for your nightowl pawns.
- Mounted hunting doesn't result in pawns riding too close to the animal anymore.
- Animals needing tending or that are starving cannot be selected as mount automatically anymore.
- Fixed pawns reserving double beds completely when going there mounted, resulting in bed partners sleeping on the ground.
- Fixed pawns riding to broken buildings instead of components first when performing building maintenance.
- Updated simplified Chinese translations (by LingLuo).

matyie

Hello! I'm using your mod for a while and right now i play a heavily modded save and get excited at your update. I have problem with a lot of animals waiting outside and cant get them into safety positions. You mentioned a new button that can manually force them to stop waiting but i cant find it. Can you help me? Thank you for making the game much better!

Roolo

Quote from: matyie on June 01, 2019, 08:59:16 AM
Hello! I'm using your mod for a while and right now i play a heavily modded save and get excited at your update. I have problem with a lot of animals waiting outside and cant get them into safety positions. You mentioned a new button that can manually force them to stop waiting but i cant find it. Can you help me? Thank you for making the game much better!

Click the animal with a "waiting for rider" job. There should be a button with "leave rider" below. If you don't see this button, please provide a log using ctrl+f12.

Roolo

Small update:

Giddy-up! Core v1.1.5
- Added code that ensures the situation where a pawn is riding an animal, while the animal isn't being ridden is automatically resolved. This shouldn't happen in the first place, but apparently it happened for some people somehow, resulting in invisible pawns.

I'm off for holidays for a couple of weeks, so I probably won't respond that much to posts for the time being.

Roolo

I just released two updates:

Giddy-up! Core v1.1.6
- The stat info tab now properly shows the movement speed of riders and mounts, with a breakdown of how everything is calculated.
- Pawns no longer try to train animals that are mounted.
- Added save game sanitizer that automatically cleans unneeded records of Giddy-up on startup. This should reduce the load time of your save (in some cases significantly).
- Animals can no longer disappear when a rider enters a drop pod (this issue was introduced in the latest major update of Ride and Roll).
- Shields are now drawn correctly for riders.

Giddy-up! Ride and Roll v1.2.1
- The way pawns ride to jobs is simplified (there's no longer a "ride to job" job anymore). It should be less error-prone now, and this fixes an issue due to which pawns cannot reserve double beds properly (yes, it's really fixed this time :)), as well as some other (less serious) reservation issues.
- Fixed crash when riders start a new colony on the world map, should also fix any other crashes related to pawns entering sites when using certain mods.

wolfsilver00

Everything up to date, this happens when I try to designate a no-riding zone:
[spoiler]
Root level exception in OnGUI(): System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2<Verse.Area, System.Collections.Generic.List`1<Verse.Thing>>.get_Item (Verse.Area) <0x001c5>
at CleaningPriority.ListerFilthInAreas_MapComponent.OnAreaChange (Verse.IntVec3,bool,Verse.Area) <0x000c5>
at CleaningPriority.ListerFilthPrioritizedNotifiers.AreaChange.Postfix (Verse.Area,Verse.AreaManager,Verse.IntVec3,bool) <0x00060>
at (wrapper dynamic-method) Verse.Area.Set_Patch1 (object,Verse.IntVec3,bool) <0x000e7>
at Verse.Area.set_Item (Verse.IntVec3,bool) <0x00037>
at GiddyUpRideAndRoll.Zones.Designator_GU_NoMount_Expand.DesignateSingleCell (Verse.IntVec3) <0x00046>
at Verse.Designator.DesignateMultiCell (System.Collections.Generic.IEnumerable`1<Verse.IntVec3>) <0x001f9>
at Verse.DesignatorManager.ProcessInputEvents () <0x0048c>
at RimWorld.MapInterface.HandleMapClicks () <0x00069>
at RimWorld.UIRoot_Play.UIRootOnGUI () <0x001f4>
at Verse.Root.OnGUI () <0x00112>

Verse.Log:Error(String, Boolean)
Verse.Root:OnGUI()
[/spoiler]

And this happens when I try to put one of the mount drop spots, with the difference that it actually places the spot, while the no ride area is not being "constructed":

[spoiler]
Root level exception in OnGUI(): System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2<Verse.Area, System.Collections.Generic.List`1<Verse.Thing>>.get_Item (Verse.Area) <0x001c5>
at CleaningPriority.ListerFilthInAreas_MapComponent.OnAreaChange (Verse.IntVec3,bool,Verse.Area) <0x000c5>
at CleaningPriority.ListerFilthPrioritizedNotifiers.AreaChange.Postfix (Verse.Area,Verse.AreaManager,Verse.IntVec3,bool) <0x00060>
at (wrapper dynamic-method) Verse.Area.Set_Patch1 (object,Verse.IntVec3,bool) <0x000e7>
at Verse.Area.set_Item (Verse.IntVec3,bool) <0x00037>
at GiddyUpRideAndRoll.Zones.Designator_GU_DropAnimal_Expand.DesignateSingleCell (Verse.IntVec3) <0x00046>
at Verse.DesignatorManager.ProcessInputEvents () <0x00180>
at RimWorld.MapInterface.HandleMapClicks () <0x00069>
at RimWorld.UIRoot_Play.UIRootOnGUI () <0x001f4>
at Verse.Root.OnGUI () <0x00112>

Verse.Log:Error(String, Boolean)
Verse.Root:OnGUI()
[/spoiler]

JT

#584
Quote from: wolfsilver00 on July 03, 2019, 09:31:26 AM
Everything up to date, this happens when I try to designate a no-riding zone:
[spoiler]
at CleaningPriority.ListerFilthInAreas_MapComponent.OnAreaChange (Verse.IntVec3,bool,Verse.Area) <0x000c5>
[/spoiler]

And this happens when I try to put one of the mount drop spots, with the difference that it actually places the spot, while the no ride area is not being "constructed":

[spoiler]
at CleaningPriority.ListerFilthInAreas_MapComponent.OnAreaChange (Verse.IntVec3,bool,Verse.Area) <0x000c5>
[/spoiler]

Although Giddy-Up is deeper in the call stack, the cause of the crash is Cleaning Priority (or whichever other Harmony mod is patching the Verse.Area), which does not seem prepared to handle the area designations it doesn't recognise.

Since the source code for Cleaning Priority seems to be trying to catch null keys, Cleaning Priority will need to add some debugging information to decipher what exactly is occurring before it can be fixed.  Giddy-Up, being so much higher up the call stack, can't do much to solve this problem.

In the meantime, you can call it a straight incompatibility with Cleaning Priority. =)