DSP_TranslationMod icon indicating copy to clipboard operation
DSP_TranslationMod copied to clipboard

Font Error (installed BetterStats)

Open Ciizel opened this issue 4 years ago • 1 comments

open stats panel Error (installed BetterStats) Problem seems caused by font replacement in DSPTranslationPlugin mode :0

error log

Exception hit 1 times: NullReferenceException: Object reference not set to an instance of an object DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> UnityEngine.UI.FontUpdateTracker.TrackText (UnityEngine.UI.Text) <0x0002a> UnityEngine.UI.Text.OnEnable () <0x00059> UnityEngine.GameObject:AddComponent() BetterStats.BetterStats:UIProductionStatWindow__OnOpen_Postfix(UIProductionStatWindow) UIProductionStatWindow:DMDUIProductionStatWindow::_OnOpen(UIProductionStatWindow) ManualBehaviour:_Open() UIGame:OpenProductionWindow() UIGame:On_P_Switch() UIGameMenu:OnButton5Click() UnityEngine.EventSystems.EventSystem:Update()

Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font()

Relevant plugins:

harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)

Exception hit 2 times: System.NullReferenceException: Object reference not set to an instance of an object

at DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> at DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> at (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> at UnityEngine.UI.FontUpdateTracker.UntrackText (UnityEngine.UI.Text) <0x0002a> at UnityEngine.UI.Text.set_font (UnityEngine.Font) <0x00064> at BetterStats.BetterStats.UIProductionStatWindow__OnOpen_Postfix (UIProductionStatWindow) <0x010eb> at (wrapper dynamic-method) UIProductionStatWindow.DMD<UIProductionStatWindow.._OnOpen> (UIProductionStatWindow) <0x0093a> at ManualBehaviour._Open () <0x000b5>

Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font() virtual System.Void UIProductionStatWindow::_OnOpen()

Relevant plugins:

harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)

Exception hit 1 times: NullReferenceException: Object reference not set to an instance of an object DSPTranslationPlugin.UnityHarmony.TextDefaultFont.OnGetFont () <0x000aa> DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony.Prefix (UnityEngine.UI.Text) <0x00041> (wrapper dynamic-method) UnityEngine.UI.Text.DMD<UnityEngine.UI.Text..get_font> (UnityEngine.UI.Text) <0x0001c> UnityEngine.UI.Text.UpdateGeometry () <0x0001c> UnityEngine.UI.Graphic.Rebuild (UnityEngine.UI.CanvasUpdate) <0x0006c> UnityEngine.UI.CanvasUpdateRegistry.PerformUpdate () <0x00438> UnityEngine.UI.ScrollRect:LateUpdate()

Target methods matching by name: UnityEngine.Font UnityEngine.UI.Text::get_font()

Relevant plugins:

harmony-auto-0c769c6a-9475-4114-be4f-ed560b9cec9e - Muchaszewski-DSPTranslationPlugin\DSPTranslationPlugin.dll Postfix[index=0]: static System.Void DSPTranslationPlugin.UnityHarmony.Text_Font_Gettter_Harmony::Prefix(UnityEngine.UI.Text __instance)

Ciizel avatar Apr 13 '21 11:04 Ciizel

Having the same problem here.

I didn't dig into debugging but maybe this part is the culprit? Seems like BetterStats dynamically creates text objects, and they are enabled before their font gets assigned. If this is the case then it might be a simple fix for either sides -- BetterStats might just delay enabling text objects, or this mod might have a simple null check.

nedsociety avatar Aug 12 '21 06:08 nedsociety