Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Hi. Had some issues getting the game to run in Linux, Ubuntu 21.10 but found a workaround.
Crashed on startup with this in the log file:

2022-02-02 22:46:52

Input string was not in a correct format.

System.FormatException: Input string was not in a correct format.

   at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)

   at System.Number.ParseInt32(ReadOnlySpan`1 value, NumberStyles styles, NumberFormatInfo info)

   at Melkhior.Iso.Point3..ctor(String values) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Iso\IsoEngine.cs:line 535

   at Melkhior.Objects.MapEntity..ctor(XmlNode definition, String defaultID) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Objects\MapEntity.cs:line 197

   at Melkhior.Objects.MapTemplate..ctor(XmlNode definition) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Objects\MapTemplate.cs:line 84

   at Melkhior.Objects.Map.InitTemplateCollection() in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Objects\Map.cs:line 70

   at Melkhior.Helper.MapManager.Reset(Boolean editMode) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Helper\MapManager.cs:line 213

   at Melkhior.Modules.Load.Update(GameTime gameTime) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Modules\Load.cs:line 163

   at Melkhior.Main.Update(GameTime gameTime) in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Main.cs:line 194

   at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)

   at Microsoft.Xna.Framework.Game.Tick()

   at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop()

   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)

   at Melkhior.Program.Main() in C:\Dropbox\MyGames\Monogame38\MelkhiorGL\Program.cs:line 30


The issue seems to be related to locales/languages and using commas or dots as decimal separators. I'm on LANG=sv_SE.UTF-8 which uses , as a decimal separator, i'm guessing the game assumes . as a separator.

I solved the issue by running the game with a different locale that uses . as separator:
LANG=C ./Melkhior

After starting the game with the correct locale i got this in the log, i'm guessing the game wrote some commas in the config file while on the "wrong" locale:
"Configuration file could not be read correctly. Default settings have been restored. Please click OK then try launching Melkhior's Mansion again."


Maybe you need to set a locale for XNA / FNA / Monogame to use as default to have it always getting the correct decimal?

Hope this was somewhat helpful, seems like a really cool game!

Thanks for the feedback. Sounds like you've hit the nail on the head with the cause of the issue. Appreciate you taking the time to look into it and suggest a workaround. I'll get that fixed up in the code. ;o)