[Bug 35972] New: Wayward Terran Frontier (.NET 4.0/XNA 4 game) crashes during creation of initial profile ('The character '?' (0xef03) is not available in this SpriteFont')

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Apr 12 06:10:39 CDT 2014


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 at winehq.org
          Reporter: focht at 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-in-xna

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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list