use index from gameobject to set set temp mods

This commit is contained in:
Stanley Dimant
2023-03-23 11:17:53 +01:00
parent 814b24ebd8
commit 9a049c0d01
6 changed files with 23 additions and 73 deletions

View File

@@ -8,6 +8,7 @@ using Microsoft.Extensions.Logging;
using MareSynchronos.PlayerData.Handlers;
using MareSynchronos.Interop;
using MareSynchronos.Services;
using MareSynchronos.Utils;
namespace MareSynchronos.PlayerData.Export;
@@ -64,7 +65,7 @@ public class MareCharaFileManager
var applicationId = Guid.NewGuid();
_ipcManager.ToggleGposeQueueMode(on: true);
_ipcManager.PenumbraRemoveTemporaryCollection(_logger, applicationId, charaTarget.Name.TextValue);
_ipcManager.PenumbraSetTemporaryMods(_logger, applicationId, charaTarget.Name.TextValue,
_ipcManager.PenumbraSetTemporaryMods(_logger, applicationId, charaTarget.Name.TextValue, charaTarget.ObjectTableIndex(),
extractedFiles.Union(fileSwaps).ToDictionary(d => d.Key, d => d.Value, StringComparer.Ordinal),
LoadedCharaFile.CharaFileData.ManipulationData);
using GameObjectHandler tempHandler = _gameObjectHandlerFactory(ObjectKind.Player, () => charaTarget.Address, false);

View File

@@ -206,7 +206,7 @@ public sealed class CachedPlayer : DisposableMediatorSubscriberBase
{
await _dalamudUtil.RunOnFrameworkThread(() => _ipcManager.PenumbraRemoveTemporaryCollection(Logger, applicationId, PlayerName!)).ConfigureAwait(false);
token.ThrowIfCancellationRequested();
await _dalamudUtil.RunOnFrameworkThread(() => _ipcManager.PenumbraSetTemporaryMods(Logger, applicationId, PlayerName!, moddedPaths, manipulationData)).ConfigureAwait(false);
await _dalamudUtil.RunOnFrameworkThread(() => _ipcManager.PenumbraSetTemporaryMods(Logger, applicationId, PlayerName!, _charaHandler?.GameObjectLazy?.Value.ObjectTableIndex(), moddedPaths, manipulationData)).ConfigureAwait(false);
token.ThrowIfCancellationRequested();
}