muffin v7.5.0

This commit is contained in:
alydev 2026-05-01 05:17:35 +10:00
parent afafd5e377
commit a6481e7b9a
67 changed files with 4281 additions and 2372 deletions

View file

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using Dalamud.Game.Addon.Lifecycle;
@ -113,6 +114,8 @@ internal sealed class ChocoboNameHandler : IDisposable
private unsafe void FireInputStringCallback(AtkUnitBase* addon, string text)
{
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
AtkComponentNode* componentNodeById = addon->GetComponentNodeById(9u);
if (componentNodeById == null)
{
@ -127,13 +130,13 @@ internal sealed class ChocoboNameHandler : IDisposable
}
asAtkComponentTextInput->SetText(text);
AtkValue* ptr = stackalloc AtkValue[2];
ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int;
Unsafe.Write(&ptr->Type, (AtkValueType)3);
ptr->Int = 0;
byte[] bytes = Encoding.UTF8.GetBytes(text);
nint num = Marshal.AllocHGlobal(bytes.Length + 1);
Marshal.Copy(bytes, 0, num, bytes.Length);
Marshal.WriteByte(num + bytes.Length, 0);
ptr[1].Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.String;
Unsafe.Write(&ptr[1].Type, (AtkValueType)8);
ptr[1].String = (byte*)num;
addon->FireCallback(2u, ptr);
Marshal.FreeHGlobal(num);
@ -141,8 +144,9 @@ internal sealed class ChocoboNameHandler : IDisposable
private unsafe static void ClickYes(AtkUnitBase* addon)
{
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
AtkValue* ptr = stackalloc AtkValue[1];
ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int;
Unsafe.Write(&ptr->Type, (AtkValueType)3);
ptr->Int = 0;
addon->FireCallback(1u, ptr);
}

View file

@ -54,6 +54,8 @@ internal sealed class CraftworksSupplyController : IDisposable
private unsafe void InteractWithBankaCraftworksSupply(AtkUnitBase* addon)
{
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
AtkValue* atkValues = addon->AtkValues;
uint uInt = atkValues[7].UInt;
uint num = 6 - uInt;
@ -66,12 +68,12 @@ internal sealed class CraftworksSupplyController : IDisposable
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 2
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = i
}
};
@ -88,6 +90,11 @@ internal sealed class CraftworksSupplyController : IDisposable
private unsafe void ContextIconMenuPostReceiveEvent(AddonEvent type, AddonArgs args)
{
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
//IL_0129: Unknown result type (might be due to invalid IL or missing references)
if (!ShouldHandleUiInteractions)
{
return;
@ -110,27 +117,27 @@ internal sealed class CraftworksSupplyController : IDisposable
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.UInt,
Type = (AtkValueType)5,
UInt = 20802u
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.UInt,
Type = (AtkValueType)5,
UInt = 0u
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Undefined,
Type = (AtkValueType)0,
Int = 0
}
};

View file

@ -186,6 +186,8 @@ internal sealed class InteractionUiController : IDisposable
private unsafe void SelectStringPostSetup(AddonSelectString* addonSelectString, bool checkAllSteps)
{
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Invalid comparison between Unknown and I4
if (!ShouldHandleUiInteractions)
{
return;
@ -198,7 +200,7 @@ internal sealed class InteractionUiController : IDisposable
List<string> list = new List<string>();
for (ushort num = 7; num < addonSelectString->AtkUnitBase.AtkValuesCount; num++)
{
if (addonSelectString->AtkUnitBase.AtkValues[(int)num].Type == FFXIVClientStructs.FFXIV.Component.GUI.ValueType.String)
if ((int)addonSelectString->AtkUnitBase.AtkValues[(int)num].Type == 8)
{
list.Add(addonSelectString->AtkUnitBase.AtkValues[(int)num].ReadAtkString());
}
@ -872,6 +874,8 @@ internal sealed class InteractionUiController : IDisposable
private unsafe void DifficultySelectYesNoPostSetup(AtkUnitBase* addonDifficultySelectYesNo, bool checkAllSteps)
{
//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
if (!_questController.IsRunning)
{
return;
@ -899,12 +903,12 @@ internal sealed class InteractionUiController : IDisposable
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = _configuration.SinglePlayerDuties.RetryDifficulty
}
};
@ -992,6 +996,8 @@ internal sealed class InteractionUiController : IDisposable
private unsafe void PointMenuPostSetup(AtkUnitBase* addonPointMenu)
{
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
if (!ShouldHandleUiInteractions)
{
return;
@ -1029,12 +1035,12 @@ internal sealed class InteractionUiController : IDisposable
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 13
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.UInt,
Type = (AtkValueType)5,
UInt = num
}
};
@ -1054,6 +1060,9 @@ internal sealed class InteractionUiController : IDisposable
private unsafe void EasterMowingResultPostSetup(AddonEvent type, AddonArgs args)
{
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
if (_seasonalDutyController.IsRunning || ShouldHandleUiInteractions)
{
_logger.LogInformation("Dismissing EasterMowingResult");
@ -1062,17 +1071,17 @@ internal sealed class InteractionUiController : IDisposable
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = -1
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 1
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 1
}
};

View file

@ -137,26 +137,30 @@ internal sealed class ShopController : IDisposable, IShopWindow
public unsafe void TriggerPurchase(AtkUnitBase* addonShop, int buyNow)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
AtkValue* values = stackalloc AtkValue[4]
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = _shop.ItemForSale.Position
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Int,
Type = (AtkValueType)3,
Int = buyNow
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.ValueType.Undefined,
Type = (AtkValueType)0,
Int = 0
}
};