diff --git a/AssemblyFromGame/Assembly-CSharp.dll b/AssemblyFromGame/Assembly-CSharp.dll index a3f19a6..d92cc36 100644 Binary files a/AssemblyFromGame/Assembly-CSharp.dll and b/AssemblyFromGame/Assembly-CSharp.dll differ diff --git a/AssemblyFromGame/UnityEngine.UI.dll b/AssemblyFromGame/UnityEngine.UI.dll index 1da7775..2e0b4c0 100644 Binary files a/AssemblyFromGame/UnityEngine.UI.dll and b/AssemblyFromGame/UnityEngine.UI.dll differ diff --git a/OverclockEverything/OverclockEverything.cs b/OverclockEverything/OverclockEverything.cs index 69c6be8..71c1980 100644 --- a/OverclockEverything/OverclockEverything.cs +++ b/OverclockEverything/OverclockEverything.cs @@ -186,7 +186,7 @@ public class Patch : BaseUnityPlugin, IModCanSave sorter.stt = sorter.stt * om / nm; if (sorter.time > sorter.stt) { - sorter.time = sorter.stt - sorter.speed; + sorter.time = sorter.stt - InserterComponent.speed; } if (powerSystem == null) continue; diff --git a/UXAssist/Patches/FactoryPatch.cs b/UXAssist/Patches/FactoryPatch.cs index 5d56934..4753ee6 100644 --- a/UXAssist/Patches/FactoryPatch.cs +++ b/UXAssist/Patches/FactoryPatch.cs @@ -383,8 +383,8 @@ public class FactoryPatch : PatchImpl } [HarmonyTranspiler] - [HarmonyPatch(typeof(PlanetSimulator), nameof(PlanetSimulator.LateUpdate))] - private static IEnumerable PlanetSimulator_LateUpdate_Transpiler(IEnumerable instructions, ILGenerator generator) + [HarmonyPatch(typeof(PlanetSimulator), nameof(PlanetSimulator.LateRefresh))] + private static IEnumerable PlanetSimulator_LateRefresh_Transpiler(IEnumerable instructions, ILGenerator generator) { // var vec = (NightlightEnabled ? GameMain.mainPlayer.transform.up : (Quaternion.Inverse(localPlanet.runtimeRotation) * (__instance.planetData.star.uPosition - __instance.planetData.uPosition).normalized)); var matcher = new CodeMatcher(instructions, generator); @@ -2153,13 +2153,14 @@ public class FactoryPatch : PatchImpl var matcher = new CodeMatcher(instructions, generator); matcher.MatchForward(false, new CodeMatch(OpCodes.Ldarg_0), - new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(LabComponent), nameof(LabComponent.timeSpend))), + new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(LabComponent), nameof(LabComponent.recipeExecuteData))), + new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(RecipeExecuteData), nameof(RecipeExecuteData.timeSpend))), new CodeMatch(OpCodes.Ldc_I4, 5400000), new CodeMatch(ci => ci.opcode == OpCodes.Bgt_S || ci.opcode == OpCodes.Bgt), new CodeMatch(OpCodes.Ldc_I4_3) ); var extraCount = LabBufferExtraCountForAdvancedAssemble.Value; - matcher.Advance(4).SetAndAdvance(OpCodes.Ldc_I4, extraCount); + matcher.Advance(5).SetAndAdvance(OpCodes.Ldc_I4, extraCount); matcher.MatchForward(false, new CodeMatch(OpCodes.Div), new CodeMatch(OpCodes.Mul), diff --git a/UXAssist/Patches/PlayerPatch.cs b/UXAssist/Patches/PlayerPatch.cs index d68a9d8..612e140 100644 --- a/UXAssist/Patches/PlayerPatch.cs +++ b/UXAssist/Patches/PlayerPatch.cs @@ -98,10 +98,12 @@ public class PlayerPatch : PatchImpl Label? jumpPos = null; matcher.MatchForward(false, new CodeMatch(OpCodes.Stfld, AccessTools.Field(typeof(UIStarmapStar), nameof(UIStarmapStar.projectedCoord))), + new CodeMatch(OpCodes.Ldarg_0) + ).Advance(2).MatchForward(false, + new CodeMatch(ci => ci.IsStloc()), new CodeMatch(ci => ci.IsLdloc()), new CodeMatch(ci => ci.Branches(out jumpPos)) - ); - matcher.Advance(3); + ).Advance(3); var labels = matcher.Labels; matcher.Labels = []; matcher.CreateLabel(out var jumpPos2); diff --git a/UXAssist/UI/MyComboBox.cs b/UXAssist/UI/MyComboBox.cs index 9fd5c3a..19766a5 100644 --- a/UXAssist/UI/MyComboBox.cs +++ b/UXAssist/UI/MyComboBox.cs @@ -19,24 +19,12 @@ public class MyComboBox : MonoBehaviour { if (_baseObject) return; var fontSource = UIRoot.instance.uiGame.buildMenu.uxFacilityCheck.transform.Find("text")?.GetComponent(); - var go = Instantiate(UIRoot.instance.optionWindow.resolutionComp.transform.parent.gameObject); + var go = Instantiate(UIRoot.instance.optionWindow.resolutionComp.gameObject); go.name = "my-combobox"; go.SetActive(false); - var txt = go.GetComponent(); - if (txt) txt.text = ""; - if (txt && fontSource) - { - txt.font = fontSource.font; - txt.fontSize = fontSource.fontSize; - txt.fontStyle = fontSource.fontStyle; - txt.color = new Color(1f, 1f, 1f, 0.6f); - } - var localizer = go.GetComponent(); - if (localizer) DestroyImmediate(localizer); - var rect = (RectTransform)go.transform; - var cbctrl = rect.transform.Find("ComboBox").GetComponent(); + var cbctrl = rect.GetComponent(); foreach (var button in cbctrl.ItemButtons) { Destroy(button.gameObject); @@ -46,13 +34,15 @@ public class MyComboBox : MonoBehaviour if (fontSource) { var txtComp = cbctrl.m_ListItemRes.GetComponentInChildren(); + UXAssist.Logger.LogDebug($"txtComp: [{txtComp}]"); if (txtComp) { txtComp.font = fontSource.font; txtComp.fontSize = fontSource.fontSize; txtComp.fontStyle = fontSource.fontStyle; } - txtComp = cbctrl.transform.Find("Main Button")?.GetComponentInChildren(); + txtComp = rect.Find("Main Button/Text")?.GetComponent(); + UXAssist.Logger.LogDebug($"txtComp: [{txtComp}]"); if (txtComp) { txtComp.font = fontSource.font; @@ -73,8 +63,9 @@ public class MyComboBox : MonoBehaviour var cb = gameObject.AddComponent(); var rtrans = Util.NormalizeRectWithTopLeft(cb, x, y, parent); cb._rectTrans = rtrans; - cb._text = gameObject.GetComponent(); - var box = rtrans.Find("ComboBox").GetComponent(); + cb._text = gameObject.transform.Find("Main Button/Text")?.GetComponent(); + UXAssist.Logger.LogDebug($"cb._text: [{cb._text}]"); + var box = rtrans.GetComponent(); cb._comboBox = box; box.onItemIndexChange.AddListener(() => { cb.OnSelChanged?.Invoke(box.itemIndex); }); cb.UpdateComboBoxPosition();