goatcorp / FFXIVQuickLauncher

Custom launcher for FFXIV
https://goatcorp.github.io/
GNU General Public License v3.0
2.85k stars 333 forks source link

GameFontManager casuing crashes. #939

Open xht8723 opened 2 years ago

xht8723 commented 2 years ago

Update disclaimer

What did you do?

Right after launch.

Platform

Windows

Wine/Proton runner version

No response

Relevant log output

2022-05-04 23:19:13.637 -07:00 [ERR] Tier 2 load failed.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Dalamud.Interface.GameFonts.GameFontManager.<>c__DisplayClass8_0.<.ctor>b__3(Int32 x) in C:\goatsoft\companysecrets\dalamud\Interface\GameFonts\GameFontManager.cs:line 53
   at System.Linq.Enumerable.SelectRangeIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Dalamud.Interface.GameFonts.GameFontManager..ctor() in C:\goatsoft\companysecrets\dalamud\Interface\GameFonts\GameFontManager.cs:line 53
   --- End of inner exception stack trace ---
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
   at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Dalamud.Service`1.Set() in C:\goatsoft\companysecrets\dalamud\Service{T}.cs:line 48
   at Dalamud.Dalamud.LoadTier2() in C:\goatsoft\companysecrets\dalamud\Dalamud.cs:line 195
2022-05-04 23:19:13.675 -07:00 [INF] LASTEXCEPTION:eyJXaGVuIjoiMjAyMi0wNS0wNFQyMzoxOToxMy42NzIzNzA2LTA3OjAwIiwiSW5mbyI6IlN5c3RlbS5SZWZsZWN0aW9uLlRhcmdldEludm9jYXRpb25FeGNlcHRpb246IEV4Y2VwdGlvbiBoYXMgYmVlbiB0aHJvd24gYnkgdGhlIHRhcmdldCBvZiBhbiBpbnZvY2F0aW9uLlxyXG4gLS0tPiBTeXN0ZW0uTnVsbFJlZmVyZW5jZUV4Y2VwdGlvbjogT2JqZWN0IHJlZmVyZW5jZSBub3Qgc2V0IHRvIGFuIGluc3RhbmNlIG9mIGFuIG9iamVjdC5cclxuICAgYXQgRGFsYW11ZC5JbnRlcmZhY2UuR2FtZUZvbnRzLkdhbWVGb250TWFuYWdlci48PmNfX0Rpc3BsYXlDbGFzczhfMC48LmN0b3I+Yl9fMyhJbnQzMiB4KSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxJbnRlcmZhY2VcXEdhbWVGb250c1xcR2FtZUZvbnRNYW5hZ2VyLmNzOmxpbmUgNTNcclxuICAgYXQgU3lzdGVtLkxpbnEuRW51bWVyYWJsZS5TZWxlY3RSYW5nZUl0ZXJhdG9yYDEuVG9MaXN0KClcclxuICAgYXQgU3lzdGVtLkxpbnEuRW51bWVyYWJsZS5Ub0xpc3RbVFNvdXJjZV0oSUVudW1lcmFibGVgMSBzb3VyY2UpXHJcbiAgIGF0IERhbGFtdWQuSW50ZXJmYWNlLkdhbWVGb250cy5HYW1lRm9udE1hbmFnZXIuLmN0b3IoKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxJbnRlcmZhY2VcXEdhbWVGb250c1xcR2FtZUZvbnRNYW5hZ2VyLmNzOmxpbmUgNTNcclxuICAgLS0tIEVuZCBvZiBpbm5lciBleGNlcHRpb24gc3RhY2sgdHJhY2UgLS0tXHJcbiAgIGF0IFN5c3RlbS5SdW50aW1lVHlwZUhhbmRsZS5DcmVhdGVJbnN0YW5jZShSdW50aW1lVHlwZSB0eXBlLCBCb29sZWFuIHB1YmxpY09ubHksIEJvb2xlYW4gd3JhcEV4Y2VwdGlvbnMsIEJvb2xlYW4mIGNhbkJlQ2FjaGVkLCBSdW50aW1lTWV0aG9kSGFuZGxlSW50ZXJuYWwmIGN0b3IsIEJvb2xlYW4mIGhhc05vRGVmYXVsdEN0b3IpXHJcbiAgIGF0IFN5c3RlbS5SdW50aW1lVHlwZS5DcmVhdGVJbnN0YW5jZURlZmF1bHRDdG9yU2xvdyhCb29sZWFuIHB1YmxpY09ubHksIEJvb2xlYW4gd3JhcEV4Y2VwdGlvbnMsIEJvb2xlYW4gZmlsbENhY2hlKVxyXG4gICBhdCBTeXN0ZW0uUnVudGltZVR5cGUuQ3JlYXRlSW5zdGFuY2VEZWZhdWx0Q3RvcihCb29sZWFuIHB1YmxpY09ubHksIEJvb2xlYW4gc2tpcENoZWNrVGhpcywgQm9vbGVhbiBmaWxsQ2FjaGUsIEJvb2xlYW4gd3JhcEV4Y2VwdGlvbnMpXHJcbiAgIGF0IFN5c3RlbS5BY3RpdmF0b3IuQ3JlYXRlSW5zdGFuY2UoVHlwZSB0eXBlLCBCb29sZWFuIG5vblB1YmxpYywgQm9vbGVhbiB3cmFwRXhjZXB0aW9ucylcclxuICAgYXQgU3lzdGVtLkFjdGl2YXRvci5DcmVhdGVJbnN0YW5jZShUeXBlIHR5cGUsIEJvb2xlYW4gbm9uUHVibGljKVxyXG4gICBhdCBEYWxhbXVkLlNlcnZpY2VgMS5TZXQoKSBpbiBDOlxcZ29hdHNvZnRcXGNvbXBhbnlzZWNyZXRzXFxkYWxhbXVkXFxTZXJ2aWNle1R9LmNzOmxpbmUgNDhcclxuICAgYXQgRGFsYW11ZC5EYWxhbXVkLkxvYWRUaWVyMigpIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXERhbGFtdWQuY3M6bGluZSAxOTUiLCJDb250ZXh0IjoiVGllciAyIGxvYWQgZmFpbGVkLiJ9
2022-05-04 23:19:13.675 -07:00 [INF] Trigger unload
2022-05-04 23:19:13.769 -07:00 [FTL] Unhandled exception on AppDomain
System.InvalidOperationException: Dalamud.Interface.GameFonts.GameFontManager has not been registered in the service locator!
   at Dalamud.Service`1.Get() in C:\goatsoft\companysecrets\dalamud\Service{T}.cs:line 82
   at Dalamud.Interface.Internal.InterfaceManager.SetupFonts(Boolean disableBigFonts) in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 626
   at Dalamud.Interface.Internal.InterfaceManager.PresentDetour(IntPtr swapChain, UInt32 syncInterval, UInt32 presentFlags) in C:\goatsoft\companysecrets\dalamud\Interface\Internal\InterfaceManager.cs:line 517
   at Dalamud.Game.Framework.HandleFrameworkUpdate(IntPtr framework) in C:\goatsoft\companysecrets\dalamud\Game\Framework.cs:line 269
goaaats commented 2 years ago

We don't support the chinese-patched version of the game. If you want this fixed, please have a look yourself.

xht8723 commented 2 years ago

I think it has something do to with high resolution fonts I patched. I've been using dalamud with chinese patched client for a year now, they worked perfectly in the past. Anyway, thank you for pointing out the problem, I'll try to figure it out.

HEVAM commented 2 years ago

did u solve the problem, I meet the same issue 应该是中国玩家吧,这个6.11补丁跟卫月不兼容啊……

Soreepeong commented 2 years ago

You need to either have all texture files specified from fdt files, or either fix the fdt files pointing to nonexistent tex files by removing glyphs pointing to those.