[1.1] Giddy-up!

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

Previous topic - Next topic

Roolo

Whoops, i copy pasted old patch notes for Ride and Roll. I edited the post now so it shows the right ones.

Quote from: Ser Kitteh on April 24, 2018, 04:38:00 AM
Excellent work as always!

Question: when it comes to rescuing "incapacitated refugee" quests, I've always had a bit of an issue with em'. Obviously this requires Core, Caravan, and Battlemounts. One time I sent two colonists on elephants to save a refugee. Short ambush of snakes later, I patch up the refugee, right click and chose "rescue NAME and leave the map" and it's all hunky dory.

Then an infection happens midway and I use the "make a camp" mod to patch the rescued proper.

When done, my elephants refuse to leave with me, and I had to fumble about with my one doctor and she had to carry NAME off the map by herself while her bodyguard rode on his own elephant and left. Sometimes one of the elephants would leave and sometimes they go all leave hunky dory.

I did this "patch at camp and leave" manually, aka not reforming my caravan. Mind this only happened once and I haven't done and rescue refugee quest as of late. It's not a HUGE problem by any stretch but it is finicky. If you have any sort of instructions to avoid this, I'd be happy to use em'.

Good job as always, Roolo. You the man.

Thanks Ser Kitteh, glad you appreciate the update! How long ago did this problem happen? I may have I fixed this in version 18.7.6, if it's the same issue as I'm thinking of at least. Did you have that version of Giddy-up! Core when it happened?


Ser Kitteh

It's the one previous to the one you just updated (18.76)!

No logs problem came up or anything mind, but it's one of those super finicky things that's not really related to the mod and perhaps more of a vanilla Rimworld problem.

I might have to try it again, I just downloaded the new Core and Giddyup, and try to replicate it when I can.

Roolo

Quote from: Ser Kitteh on April 24, 2018, 06:37:50 AM
It's the one previous to the one you just updated (18.76)!

No logs problem came up or anything mind, but it's one of those super finicky things that's not really related to the mod and perhaps more of a vanilla Rimworld problem.

I might have to try it again, I just downloaded the new Core and Giddyup, and try to replicate it when I can.

Good to know. I'll also see if I can replicate it when I have time.

Separat

Hi there.
Its seams is a conflict with a Giddy up caravans and JecsTool and Humanoid Alien Races 2.0
Or maybe  i do someting wrong? I switch on only this 2 mods and Gliddy up series. When i start new game there i have no respond, back to menu. WHen i switch off caravans all be ok.
Sorry for me english

Canute

What is your modload order ?
The right one would be :
Hugslib
Giddy Core
Giddy Caravan

Jecstools and Humanoid alien race doesn't matter, none of these mod need it for these mods.


Wanderer_joins

I've been enjoying your mods for a while, run and gun and giddy-up add another dimension to this game!

I've encountered a bug on the world map though: when colonists mount ride animals whose master is in the caravan, i've got an error message when i get ambushed, the temp opens up but is empty, there is also a dummy caravan on the world map. When i reform the caravan i get another error message and i've too merge the caravan with it's dummy.

I've reproduced the bug with only Hugslib -> giddy-up! Core -> Battle Mounts-> Ride and Roll -> Caravan

The in-game fix consist to unassign animals in the caravan to their master.

logs:

-encounter
Exception from long event: System.NullReferenceException: Object reference not set to an instance of an object
at GiddyUpCore.Harmony.Pawn_JobTracker_Notify_MasterDrafted.Prefix (Verse.AI.Pawn_JobTracker) <0x0000e>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.Notify_MasterDrafted_Patch1 (object) <0x00010>
at (wrapper dynamic-method) RimWorld.Pawn_DraftController.set_Drafted_Patch2 (object,bool) <0x00135>
at RimWorld.Planet.CaravanEnterMapUtility.DraftColonists (System.Collections.Generic.List`1<Verse.Pawn>) <0x00052>
at (wrapper dynamic-method) RimWorld.Planet.CaravanEnterMapUtility.Enter_Patch3 (RimWorld.Planet.Caravan,Verse.Map,System.Func`2<Verse.Pawn, Verse.IntVec3>,RimWorld.Planet.CaravanDropInventoryMode,bool) <0x001a0>
at RimWorld.Planet.CaravanIncidentUtility.SetupCaravanAttackMap (RimWorld.Planet.Caravan,System.Collections.Generic.List`1<Verse.Pawn>) <0x00132>
at (wrapper dynamic-method) RimWorld.IncidentWorker_Ambush.DoExecute_Patch0 (object,RimWorld.IncidentParms) <0x0016b>
at RimWorld.IncidentWorker_Ambush/<TryExecuteWorker>c__AnonStorey0.<>m__0 () <0x00018>
at Verse.LongEventHandler.UpdateCurrentSynchronousEvent (bool&) <0x0004e>

Verse.Log:Error(String)
Verse.LongEventHandler:UpdateCurrentSynchronousEvent(Boolean&)
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Play:Update()


-reform:
Argument is out of range.
Parameter name: index
at System.Collections.Generic.List`1<int>.get_Item (int) <0x00054>
at RimWorld.ColonistBarDrawLocsFinder.CalculateColonistsInGroup () <0x000ef>
at RimWorld.ColonistBarDrawLocsFinder.CalculateDrawLocs (System.Collections.Generic.List`1<UnityEngine.Vector2>,single&) <0x0007b>
at RimWorld.ColonistBar.CheckRecacheEntries () <0x0084b>
at RimWorld.ColonistBar.get_Entries () <0x00010>
at RimWorld.ColonistBar.ColonistBarOnGUI () <0x000c7>
at (wrapper dynamic-method) RimWorld.WorldInterface.WorldInterfaceOnGUI_Patch1 (object) <0x000a8>
at RimWorld.UIRoot_Play.UIRootOnGUI () <0x00045>
at Verse.Root.OnGUI () <0x000c6>



Roolo

Quote from: Wanderer_joins on May 01, 2018, 05:25:17 AM
I've been enjoying your mods for a while, run and gun and giddy-up add another dimension to this game!

I've encountered a bug on the world map though: when colonists mount ride animals whose master is in the caravan, i've got an error message when i get ambushed, the temp opens up but is empty, there is also a dummy caravan on the world map. When i reform the caravan i get another error message and i've too merge the caravan with it's dummy.

I've reproduced the bug with only Hugslib -> giddy-up! Core -> Battle Mounts-> Ride and Roll -> Caravan

The in-game fix consist to unassign animals in the caravan to their master.

logs:

-encounter
Exception from long event: System.NullReferenceException: Object reference not set to an instance of an object
at GiddyUpCore.Harmony.Pawn_JobTracker_Notify_MasterDrafted.Prefix (Verse.AI.Pawn_JobTracker) <0x0000e>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.Notify_MasterDrafted_Patch1 (object) <0x00010>
at (wrapper dynamic-method) RimWorld.Pawn_DraftController.set_Drafted_Patch2 (object,bool) <0x00135>
at RimWorld.Planet.CaravanEnterMapUtility.DraftColonists (System.Collections.Generic.List`1<Verse.Pawn>) <0x00052>
at (wrapper dynamic-method) RimWorld.Planet.CaravanEnterMapUtility.Enter_Patch3 (RimWorld.Planet.Caravan,Verse.Map,System.Func`2<Verse.Pawn, Verse.IntVec3>,RimWorld.Planet.CaravanDropInventoryMode,bool) <0x001a0>
at RimWorld.Planet.CaravanIncidentUtility.SetupCaravanAttackMap (RimWorld.Planet.Caravan,System.Collections.Generic.List`1<Verse.Pawn>) <0x00132>
at (wrapper dynamic-method) RimWorld.IncidentWorker_Ambush.DoExecute_Patch0 (object,RimWorld.IncidentParms) <0x0016b>
at RimWorld.IncidentWorker_Ambush/<TryExecuteWorker>c__AnonStorey0.<>m__0 () <0x00018>
at Verse.LongEventHandler.UpdateCurrentSynchronousEvent (bool&) <0x0004e>

Verse.Log:Error(String)
Verse.LongEventHandler:UpdateCurrentSynchronousEvent(Boolean&)
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update_Patch1(Object)
Verse.Root_Play:Update()


-reform:
Argument is out of range.
Parameter name: index
at System.Collections.Generic.List`1<int>.get_Item (int) <0x00054>
at RimWorld.ColonistBarDrawLocsFinder.CalculateColonistsInGroup () <0x000ef>
at RimWorld.ColonistBarDrawLocsFinder.CalculateDrawLocs (System.Collections.Generic.List`1<UnityEngine.Vector2>,single&) <0x0007b>
at RimWorld.ColonistBar.CheckRecacheEntries () <0x0084b>
at RimWorld.ColonistBar.get_Entries () <0x00010>
at RimWorld.ColonistBar.ColonistBarOnGUI () <0x000c7>
at (wrapper dynamic-method) RimWorld.WorldInterface.WorldInterfaceOnGUI_Patch1 (object) <0x000a8>
at RimWorld.UIRoot_Play.UIRootOnGUI () <0x00045>
at Verse.Root.OnGUI () <0x000c6>



Thanks for your clear report! I'll look into it.

s44yuritch

Ok, another thing that might need improvement.

So I started a base in boreal forest, with quite cold winters. During the summer, I bought a few cougars from exotic trader. They are fast and good for combat, but they don't have a lot of cold resistance.

During winter, those cats were restricted to inside the base only, so they don't get frostbite. But, it turned out that colonists still take them out for a ride, even when it's too cold for said animals outside. So can colonists consider temperature in target location before taking a mount there?

Roolo

Quote from: s44yuritch on May 06, 2018, 12:45:10 PM
Ok, another thing that might need improvement.

So I started a base in boreal forest, with quite cold winters. During the summer, I bought a few cougars from exotic trader. They are fast and good for combat, but they don't have a lot of cold resistance.

During winter, those cats were restricted to inside the base only, so they don't get frostbite. But, it turned out that colonists still take them out for a ride, even when it's too cold for said animals outside. So can colonists consider temperature in target location before taking a mount there?

I could add that yes, but maybe as something that can be toggled in the mod options. I can imagine some players like to ignore the temperature danger in some situations. And other players may get confused because they see no riding happening while not knowing why.

Note that in the animals tab you can forbid riding for specific animals. But yeah, doing that each winter asks for a little micromanagement.

temple_wing

I got an exception:


Exception filling window for Verse.FloatMenuMap: System.NullReferenceException: Object reference not set to an instance of an object
at GiddyUpCore.Utilities.IsMountableUtility.isAllowedInModOptions (string) <0x0002a>
at GiddyUpCore.Utilities.IsMountableUtility.isMountable (Verse.Pawn,GiddyUpCore.Utilities.IsMountableUtility/Reason&) <0x00023>
at GiddyUpCore.Utilities.IsMountableUtility.isMountable (Verse.Pawn) <0x0001b>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob/<>c.<GetBestChoiceAnimal>b__1_0 (Verse.Pawn) <0x00034>
at System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<Verse.Pawn>.MoveNext () <0x00100>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob.GetBestChoiceAnimal (Verse.Pawn,Verse.LocalTargetInfo,Verse.LocalTargetInfo,single,single,GiddyUpCore.Storage.ExtendedDataStorage) <0x006e8>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob.Postfix (Verse.AI.Pawn_JobTracker,Verse.AI.ThinkResult&) <0x006d0>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch5 (object,Verse.ThinkTreeDef&) <0x0015e>
at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () <0x000f7>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (object,Verse.AI.JobCondition,bool) <0x00321>
at Verse.AI.JobDriver.EndJobWith (Verse.AI.JobCondition) <0x00038>
at Verse.AI.Pawn_JobTracker.TryTakeOrderedJob (Verse.AI.Job,Verse.AI.JobTag) <0x001a0>
at Verse.AI.Pawn_JobTracker.TryTakeOrderedJobPrioritizedWork (Verse.AI.Job,RimWorld.WorkGiver,Verse.IntVec3) <0x0001f>
at RimWorld.FloatMenuMakerMap/<AddUndraftedOrders>c__AnonStorey14.<>m__0 () <0x00067>
at Verse.FloatMenuOption.Chosen (bool) <0x00051>
at Verse.FloatMenuOption.DoGUI (UnityEngine.Rect,bool) <0x00bdd>
at Verse.FloatMenu.DoWindowContents (UnityEngine.Rect) <0x00498>
at Verse.FloatMenuMap.DoWindowContents (UnityEngine.Rect) <0x0019d>
at Verse.Window/<WindowOnGUI>c__AnonStorey0.<>m__0 (int) <0x00735>

Verse.Log:Error(String)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)


This happens when I started a game, created a map, then trying to harveste a mushroom.
There is warning before this exception that might be related. That warning says out of searching limit of 16000 ... jobs : null, ... something bla bla.

Roolo

Quote from: temple_wing on May 06, 2018, 10:36:01 PM
I got an exception:


Exception filling window for Verse.FloatMenuMap: System.NullReferenceException: Object reference not set to an instance of an object
at GiddyUpCore.Utilities.IsMountableUtility.isAllowedInModOptions (string) <0x0002a>
at GiddyUpCore.Utilities.IsMountableUtility.isMountable (Verse.Pawn,GiddyUpCore.Utilities.IsMountableUtility/Reason&) <0x00023>
at GiddyUpCore.Utilities.IsMountableUtility.isMountable (Verse.Pawn) <0x0001b>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob/<>c.<GetBestChoiceAnimal>b__1_0 (Verse.Pawn) <0x00034>
at System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<Verse.Pawn>.MoveNext () <0x00100>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob.GetBestChoiceAnimal (Verse.Pawn,Verse.LocalTargetInfo,Verse.LocalTargetInfo,single,single,GiddyUpCore.Storage.ExtendedDataStorage) <0x006e8>
at GiddyUpRideAndRoll.Harmony.Pawn_Jobtracker_DetermineNextJob.Postfix (Verse.AI.Pawn_JobTracker,Verse.AI.ThinkResult&) <0x006d0>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch5 (object,Verse.ThinkTreeDef&) <0x0015e>
at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () <0x000f7>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (object,Verse.AI.JobCondition,bool) <0x00321>
at Verse.AI.JobDriver.EndJobWith (Verse.AI.JobCondition) <0x00038>
at Verse.AI.Pawn_JobTracker.TryTakeOrderedJob (Verse.AI.Job,Verse.AI.JobTag) <0x001a0>
at Verse.AI.Pawn_JobTracker.TryTakeOrderedJobPrioritizedWork (Verse.AI.Job,RimWorld.WorkGiver,Verse.IntVec3) <0x0001f>
at RimWorld.FloatMenuMakerMap/<AddUndraftedOrders>c__AnonStorey14.<>m__0 () <0x00067>
at Verse.FloatMenuOption.Chosen (bool) <0x00051>
at Verse.FloatMenuOption.DoGUI (UnityEngine.Rect,bool) <0x00bdd>
at Verse.FloatMenu.DoWindowContents (UnityEngine.Rect) <0x00498>
at Verse.FloatMenuMap.DoWindowContents (UnityEngine.Rect) <0x0019d>
at Verse.Window/<WindowOnGUI>c__AnonStorey0.<>m__0 (int) <0x00735>

Verse.Log:Error(String)
Verse.<WindowOnGUI>c__AnonStorey0:<>m__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, Int32, GUISkin, Int32, Single, Single, GUIStyle)


This happens when I started a game, created a map, then trying to harveste a mushroom.
There is warning before this exception that might be related. That warning says out of searching limit of 16000 ... jobs : null, ... something bla bla.

Please share your entire hugslib log using ctrl+f12, this'll give me more info.

Edit:
Also, are you using the latest version of Giddy-up? And what kind of mushroom? Is it added by a mod? What mod?

temple_wing

restarted another game, not get that exception anymore. I think it's that search limit thing. Something caused a dead loop, cause the job failed to instantiate. So job tracker got null pointer exception. I don't know why, but probably not giddy-up problem.
I'm using Vegetable garden mod, the mushroom is from that mod. The game is quite without saving.

The Real Soviet

Hi!
I had a problem with this mod, that i couldn't fix. I wrote apost here for some help, but no one know, where is the problem.
Fortunately, I finally fixed this problem. I am so excited, because i wanted this fu*king amazing mod for a long time, and i can finally use it!!  ;D (sry for ''fu*king'', I'm REALLY excited) And the problem: I didn't know, that some mods can't be just unpacked from file.
Thanks a lot for persons, who wanted to help me and I'm very sorry of vasting your time. At least I know, that Ludeon Forums have a wonderful community :D

BlueWinds

I recently came across this article, which might be of interest to you. If you're concerned about performance when making decisions around mounting (you mentioned that a couple times in the thread, I think?), it could be worth considering octagonal distance. It's still pretty accurate, but doesn't involve any square roots.

http://www.flipcode.com/archives/Fast_Approximate_Distance_Functions.shtml

Switching over sped up the pathfinding in one of the games I work on, may or may not be worth it here (not sure how frequently Giddy-Up calculates distances). Interesting regardless. :)

Roolo

@The Real Soviet. Glad you like the mod so much and that it works for you now :)

Quote from: BlueWinds on May 12, 2018, 01:30:21 PM
I recently came across this article, which might be of interest to you. If you're concerned about performance when making decisions around mounting (you mentioned that a couple times in the thread, I think?), it could be worth considering octagonal distance. It's still pretty accurate, but doesn't involve any square roots.

http://www.flipcode.com/archives/Fast_Approximate_Distance_Functions.shtml

Switching over sped up the pathfinding in one of the games I work on, may or may not be worth it here (not sure how frequently Giddy-Up calculates distances). Interesting regardless. :)

Really interesting article for me, thanks for sharing. I'm a computer science student specialising in performance engineering so this is a topic I really appreciate. However for giddy up squared eucledian distance will do, since I only need to make comparisons and don't need real numbers. Also, distance is only computed a few times per second at maximum by Giddy-up and even when using root operations, this is peanuts for the CPU, especially compared to real pathing calculations that are used all the time by the game (that require some dijkstra like  algorithms), which I avoid as much as possible due to their higher performance impact.