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
https://bugs.winehq.org/show_bug.cgi?id=35972
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download URL| |http://www.wtfrontier.com/c | |lient_download/WaywardSetup | |.msi
https://bugs.winehq.org/show_bug.cgi?id=35972
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #1 from fjfrackiewicz@gmail.com --- Is this still an issue in Wine 2.7?
https://bugs.winehq.org/show_bug.cgi?id=35972
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.wtfrontier.com/c |https://pubdownloads.blob.c |lient_download/WaywardSetup |ore.windows.net/launchdeplo |.msi |y/wtf%20old%20alpha.zip
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks
revisiting, still present.
Found the old version here: http://www.wtfrontier.com/?page_id=198
--- quote --- Get the old crummy version:
On the off chance that someone still wants to play with the old version of Wayward Terran Frontier Open Alpha, this is an archive of that in it’s final resting state. That game is no longer under development as we have shifted all development efforts towards Zero Falls.
Old outdated alpha zip archive --- quote ---
* https://gamedev.stackexchange.com/questions/56058/spritefont-exception-no-su...
Not sure if there is a way to restore all the information used to create the SpriteFont (XML FontDescription in XNA game studio) from the XNB file (binary).
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Wayward Terran Frontier/Wayward Terran Frontier
$ find . -iname *font* -type f -exec file {} ; ./Content/Font1.xnb: data ./Content/BigFont.xnb: data ./Content/MedFont.xnb: data --- snip ---
I found a tool 'GXView' which can display and convert XNB files, including sprite fonts:
http://www.gruaz.net/projects/the-gametools-suite/#
A registered version can dump/save but I have no idea how the output looks like and if the information would be useful at all. Maybe it crashes the same way on Windows but I have no environment to verify this.
$ sha1sum wtf\ old\ alpha.zip 35d2af5bffc23a95674fd9e6431ba72cb6e49e6b wtf old alpha.zip
$ du -sh wtf\ old\ alpha.zip 50M wtf old alpha.zip
$ wine --version wine-4.3-229-g6d82b2f1ad
Regards
https://bugs.winehq.org/show_bug.cgi?id=35972
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://pubdownloads.blob.c |https://web.archive.org/web |ore.windows.net/launchdeplo |/20200922161913if_/https:// |y/wtf%20old%20alpha.zip |pubdownloads.blob.core.wind | |ows.net/launchdeploy/wtf%20 | |old%20alpha.zip