https://bugs.winehq.org/show_bug.cgi?id=35972
Bug ID: 35972 Summary: Wayward Terran Frontier (.NET 4.0/XNA 4 game) crashes during creation of initial profile ('The character '?' (0xef03) is not available in this SpriteFont') Product: Wine Version: 1.7.16 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
continuation of bug 35444
Prerequisite: 'winetricks -q dotnet40' (XNA 4.0 and managed DirectX will be automatically installed)
The game crashes during creation of initial profile. You can skip the launcher and directly start the game.
Not much to see in trace log:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Wayward Terran Frontier/Wayward Terran Frontier
$ WINEDEBUG=+tid,+seh,+relay wine ./WTF.exe >>log.txt 2>&1 ... 003b:Call KERNEL32.CreateFileW(00fcac54 L"C:\Program Files\Wayward Terran Frontier\Wayward Terran Frontier\profiles\WTF.sav",c0000000,00000001,00000000,00000003,00100000,00000000) ret=04db5166 003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166 ... 003b:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,00502f9d "\x03\n\xec\xb5\xb1\xe6\xa5\xbf\xe7\xbb\x90\xe9\x94\xaa\xe5\x8d\xa6\xe7\x96\x9d\xc2\x97\xef\xb3\x9c",00000019,06f5d034,00000019) ret=7916cb97 003b:Ret KERNEL32.MultiByteToWideChar() retval=0000000a ret=7916cb97 ... 003b:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,00502f52 "\x03\n\xef\xa1\x8a\xe8\x81\xb1\xe4\xb6\xb3\xee\xbd\xb9\xe1\x83\x94\xe5\x93\xb0\xe0\xa8\x85\xe2\xb2\x8d",0000001a,06f5d034,0000001a) ret=7916cb97 003b:Ret KERNEL32.MultiByteToWideChar() retval=0000000a ret=7916cb97 ... 003b:Call KERNEL32.CreateFileW(00fd4538 L"C:\Program Files\Wayward Terran Frontier\Wayward Terran Frontier\profiles\Starter Ship\Starter ShipProfile.tac",80000000,00000001,00000000,00000003,00100000,00000000) ret=04db5166 003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166 ... 003b:Call KERNEL32.CreateFileW(00fd80bc L"C:\Program Files\Wayward Terran Frontier\Wayward Terran Frontier\profiles\Starter Ship\Starter ShipTop.png",80000000,00000001,00000000,00000003,00100000,00000000) ret=04db5166 003b:Ret KERNEL32.CreateFileW() retval=00000324 ret=04db5166 ... 003b:Call KERNEL32.RaiseException(e0434352,00000001,00000005,06f5de28) ret=791cac08 003b:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b83ac17 ip=7b83ac17 tid=003b 003b:trace:seh:raise_exception info[0]=80004005 003b:trace:seh:raise_exception info[1]=00000000 003b:trace:seh:raise_exception info[2]=00000000 003b:trace:seh:raise_exception info[3]=00000000 003b:trace:seh:raise_exception info[4]=79140000 003b:trace:seh:raise_exception eax=7b826c7d ebx=7b8bb000 ecx=80004005 edx=06f5dd44 esi=06f5dde4 edi=06f5ddb0 003b:trace:seh:raise_exception ebp=06f5dd88 esp=06f5dd24 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000283 003b:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=e0434352 flags=1 --- snip ---
The managed backtrace (.NET) is more descriptive:
--- snip --- Unhandled Exception: System.ArgumentException: The character '?' (0xef03) is not available in this SpriteFont. If applicable, adjust the font's start and end CharacterRegions to include this character. Parameter name: character at Microsoft.Xna.Framework.Graphics.SpriteFont.GetIndexForCharacter(Char character) at Microsoft.Xna.Framework.Graphics.SpriteFont.InternalDraw(StringProxy& text, SpriteBatch spriteBatch, Vector2 textblockPosition, Color color, Single rotation, Vector2 origin, Vector2& scale, SpriteEffects spriteEffects, Single depth) at Microsoft.Xna.Framework.Graphics.SpriteBatch.DrawString(SpriteFont spriteFont, String text, Vector2 position, Color color, Single rotation, Vector2 origin, Single scale, SpriteEffects effects, Single layerDepth) at (Object , SpriteFont , String , Vector2 , Color , Single , Vector2 , Single , SpriteEffects , Single ) at ????????.?{??????(Object , SpriteFont ???????U, String ???????U, Vector2 ???????U, Color ???????U, Single ???????U, Vector2 ???????U, Single ???????U, SpriteEffects ???????U, Single ???????U) at CoOpSpRpG.RootMenu.Draw(GameTime gameTime, SpriteBatch batch) at CoOpSpRpG.SCREEN_MANAGER.Draw(GameTime gameTime, SpriteBatch batch) at CoOpSpRpG.Game1.Draw(GameTime gameTime) at Microsoft.Xna.Framework.Game.DrawFrame() at Microsoft.Xna.Framework.Game.Tick() at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e) at Microsoft.Xna.Framework.GameHost.OnIdle() at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame() at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e) at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Microsoft.Xna.Framework.WindowsGameHost.Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at (Object ) at ??o?????.????????(Object ) at CoOpSpRpG.Program.Main(String[] args) --- snip ---
Starting it a second time (continuing of profile creation) yields:
--- snip --- Unhandled Exception: System.ArgumentException: The character '?' (0x50d0) is not available in this SpriteFont. If applicable, adjust the font's start and end CharacterRegions to include this character. Parameter name: character at Microsoft.Xna.Framework.Graphics.SpriteFont.GetIndexForCharacter(Char character) --- snip ---
Some hits from searching with:
--- snip --- "is not available in this SpriteFont. If applicable, adjust the font's start and end CharacterRegions to include this character" --- snip ---
https://stackoverflow.com/questions/13243130/how-to-draw-special-characters-...
MSDN: http://msdn.microsoft.com/en-us/library/bb447759.aspx ("Sprite Font XML Schema Reference")
http://steamcommunity.com/app/241600/discussions/1/792924412212989581/ ("Save not working. Is it end? Game won't start! ")
This might be character string conversion/collation related insufficiencies ... somewhere.
$ sha1sum WaywardSetup.msi ad1b0bf88ce284b2c4c36fbb93012b60cb0a673f WaywardSetup.msi
$ du -sh WaywardSetup.msi 8.5M WaywardSetup.msi
$ wine --version wine-1.7.16-134-g93581f5
Regards