Jump to content

ArgumentException: BuildMenuRight is not bound in GameInputBindings after autosave


AnotherLuke
  • Branch: Live Branch Version: Windows Pending

Right after an autosave, I clicked on a tile being built and the game crashed with this message.  It is repeatable.  


Steps to Reproduce

Load the attached save.  Click on one of the visible unbuilt tiles without unpausing the game.  Look at Bubbles being sad.

Burgeoning Settlement of DOOOOO1 Cycle 692.sav




User Feedback


can confirm, hold construction causes the crash.

is this a mod author issue, or are the developers working on a fix?

 

or is there a way i can fix it?

not sure if i can tag the author here. @Cirne , i cannot post on steam due to the fact that they made a mandatory change and i do not agree with it. steam guard can pack sand..

if you can, please let me know when this gets fixed,

Share this comment


Link to comment
Share on other sites

Fixed, this just needed a recompile against the new version of ONI.

Note to Klei (@EricKlei can you forward this to whoever needs to see this?):

This crash occurred because the Action.Plan15 enum symbol was added in the middle of the list (after Action.Plan14, unsurprisingly), causing all enum values after that to increase in value by 1. I strongly urge that you avoid changing any enums in backwards-incompatible ways in the future; any code compiled against an older version of the game will stop working or work in unpredictable ways and cause extremely difficult debugging sessions. Case in point, I had a heck of a time figuring out what was causing this because "BuildMenuRight" appears nowhere in my code; it's just that the integer value that got compiled in when I originally wrote the mod happens to correspond with the "BuildMenuRight" symbol now.

You may want to set up some unit testing around ensuring the enum values don't change unexpectedly in the future; my mod crashed quite visibly, but other mods or even vanilla save/configuration files could get corrupted in unexpected and possibly subtle ways.

  • Like 1

Share this comment


Link to comment
Share on other sites

I am getting the same error, but I am not using the Hold Construction mod. I haven't played ONI in like a year and I decided to play again last night. After a lot of time going through my mods and lots of trial and error I finally got a mod list that doesn't crash. But when I make a new save and start to build, I have issues. If I just place the construction task, like a ladder, my dupes build it just fine. But if I click on it before it is built my game crashes and I get this error. I've spent hours literally trying to get a working save going just for this to happen. Any help would be appreciated if anyone knows what is causing this. Thanks. 

 

 

ArgumentException: BuildMenuRight is not bound in GameInputBindings

GameUtil.ActionToBinding (Action action) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
GameUtil.GetActionString (Action action) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
GameUtil.GetHotkeyString (Action action) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
GameUtil.ReplaceHotkeyString (System.String template, Action action) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
KIconButtonMenu+ButtonInfo.GetTooltipText () (at <e519dd73da9048a8894ab7f073f3ead7>:0)
KIconButtonMenu.RefreshButtons () (at <e519dd73da9048a8894ab7f073f3ead7>:0)
KIconButtonMenu.SetButtons (System.Collections.Generic.IList`1[T] buttons) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
UserMenuScreen.Refresh (UnityEngine.GameObject go) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
RootMenu.Refresh () (at <e519dd73da9048a8894ab7f073f3ead7>:0)
RootMenu.OnSelectObject (System.Object data) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
EventSystem.Trigger (UnityEngine.GameObject go, System.Int32 hash, System.Object data) (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KMonoBehaviour.Trigger (System.Int32 hash, System.Object data) (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
SelectTool.Select (KSelectable new_selected, System.Boolean skipSound) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
SelectTool.OnLeftClickDown (UnityEngine.Vector3 cursor_pos) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
PlayerController.OnKeyDown (KButtonEvent e) (at <e519dd73da9048a8894ab7f073f3ead7>:0)
KInputHandler.HandleKeyDown (KButtonEvent e) (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KInputHandler.HandleKeyDown (KButtonEvent e) (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KInputHandler.HandleEvent (KInputEvent e) (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KInputController.Dispatch () (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KInputManager.Dispatch () (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
KInputManager.Update () (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
GameInputManager.Update () (at <1e2b7d5db95c4d6b84eabb7ca0270927>:0)
Global.Update () (at <e519dd73da9048a8894ab7f073f3ead7>:0)

Build: U50-583750-S

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...