Merge pull request #1530 from goatcorp/net8-rollup

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>
Co-authored-by: goat <goatsdev@protonmail.com>
Co-authored-by: github-actions[bot] <noreply@github.com>
fix: Use SetValue for FlyText string arrays (#1532)
This commit is contained in:
goat 2023-11-19 13:34:19 +01:00 committed by GitHub
commit 363338c52b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 30 deletions

View file

@ -1,8 +1,8 @@
name: Rollup changes to next version
on:
# push:
# branches:
# - master
push:
branches:
- master
workflow_dispatch:
jobs:
@ -11,7 +11,8 @@ jobs:
strategy:
matrix:
branches:
- v9
- net8
#- new_im_hooks # Unmergeable
defaults:
run:

View file

@ -8,7 +8,7 @@
</PropertyGroup>
<PropertyGroup Label="Feature">
<DalamudVersion>9.0.0.12</DalamudVersion>
<DalamudVersion>9.0.0.13</DalamudVersion>
<Description>XIV Launcher addon framework</Description>
<AssemblyVersion>$(DalamudVersion)</AssemblyVersion>
<Version>$(DalamudVersion)</Version>

View file

@ -1,4 +1,3 @@
using System;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
@ -113,32 +112,26 @@ internal sealed class FlyTextGui : IDisposable, IServiceType, IFlyTextGui
numArray->IntArray[numOffset + 2] = unchecked((int)val1);
numArray->IntArray[numOffset + 3] = unchecked((int)val2);
numArray->IntArray[numOffset + 4] = unchecked((int)damageTypeIcon); // Icons for damage type
numArray->IntArray[numOffset + 5] = 5; // Unknown
numArray->IntArray[numOffset + 5] = 5; // Unknown
numArray->IntArray[numOffset + 6] = unchecked((int)color);
numArray->IntArray[numOffset + 7] = unchecked((int)icon);
numArray->IntArray[numOffset + 8] = 0; // Unknown
numArray->IntArray[numOffset + 9] = 0; // Unknown, has something to do with yOffset
fixed (byte* pText1 = text1.Encode())
{
fixed (byte* pText2 = text2.Encode())
{
strArray->StringArray[strOffset + 0] = pText1;
strArray->StringArray[strOffset + 1] = pText2;
strArray->SetValue((int)strOffset + 0, text1.Encode(), false, true, false);
strArray->SetValue((int)strOffset + 1, text2.Encode(), false, true, false);
this.addFlyTextNative(
flytext,
actorIndex,
1,
(IntPtr)numArray,
numOffset,
10,
(IntPtr)strArray,
strOffset,
2,
0);
}
}
this.addFlyTextNative(
flytext,
actorIndex,
1,
(IntPtr)numArray,
numOffset,
10,
(IntPtr)strArray,
strOffset,
2,
0);
}
private static byte[] Terminate(byte[] source)
@ -230,7 +223,8 @@ internal sealed class FlyTextGui : IDisposable, IServiceType, IFlyTextGui
if (!dirty)
{
Log.Verbose("[FlyText] Calling flytext with original args.");
return this.createFlyTextHook.Original(addonFlyText, kind, val1, val2, text2, color, icon, damageTypeIcon, text1, yOffset);
return this.createFlyTextHook.Original(addonFlyText, kind, val1, val2, text2, color, icon,
damageTypeIcon, text1, yOffset);
}
var terminated1 = Terminate(tmpText1.Encode());
@ -299,10 +293,10 @@ internal class FlyTextGuiPluginScoped : IDisposable, IServiceType, IFlyTextGui
{
this.flyTextGuiService.FlyTextCreated += this.FlyTextCreatedForward;
}
/// <inheritdoc/>
public event IFlyTextGui.OnFlyTextCreatedDelegate? FlyTextCreated;
/// <inheritdoc/>
public void Dispose()
{

View file

@ -4,4 +4,4 @@
"rollForward": "latestMinor",
"allowPrerelease": true
}
}
}