M src/PacketLogger/Models/NostaleProcess.cs => src/PacketLogger/Models/NostaleProcess.cs +3 -3
@@ 62,13 62,13 @@ public class NostaleProcess : ObservableObject
{
try
{
- if (BrowserManager.IsInGame != _wasInGame)
+ if (BrowserManager.IsInGame.Get() != _wasInGame)
{
OnPropertyChanging(nameof(BrowserManager));
OnPropertyChanged(nameof(BrowserManager));
}
- var currentCharacterName = BrowserManager.IsInGame ? BrowserManager.PlayerManager.Player.Name : null;
+ var currentCharacterName = BrowserManager.IsInGame.Get() ? BrowserManager.PlayerManager.Get().Player.Name : null;
var changed = _lastCharacterName != currentCharacterName;
if (changed)
@@ 76,7 76,7 @@ public class NostaleProcess : ObservableObject
OnPropertyChanging(nameof(CharacterString));
}
- _wasInGame = BrowserManager.IsInGame;
+ _wasInGame = BrowserManager.IsInGame.Get();
_lastCharacterName = currentCharacterName;
if (changed)
M src/PacketLogger/Models/Packets/ClientPacketProvider.cs => src/PacketLogger/Models/Packets/ClientPacketProvider.cs +2 -2
@@ 50,8 50,8 @@ public abstract class ClientPacketProvider : ReactiveObject, IPacketProvider
}
/// <inheritdoc />
- public string Name => (_process.BrowserManager.IsInGame
- ? _process.BrowserManager.PlayerManager.Player.Name
+ public string Name => (_process.BrowserManager.IsInGame.Get()
+ ? _process.BrowserManager.PlayerManager.Get().Player.Name
: null) ?? $"Not in game ({_process.Process.Id})";
/// <inheritdoc />
M src/PacketLogger/PacketLogger.csproj => src/PacketLogger/PacketLogger.csproj +10 -9
@@ 1,6 1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <OutputType>WinExe</OutputType>
+ <OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
@@ 35,19 35,20 @@
<IncludeAssets>All</IncludeAssets>
<PrivateAssets>None</PrivateAssets>
</PackageReference>
- <PackageReference Include="NosSmooth.Core" Version="4.0.2" />
- <PackageReference Include="NosSmooth.Injector" Version="1.1.1-main4158362079" />
- <PackageReference Include="NosSmooth.Cryptography" Version="1.0.0-main4161214102" />
- <PackageReference Include="NosSmooth.LocalBinding" Version="1.1.0-main4155845215" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.3" />
+ <PackageReference Include="NosSmooth.Injector" Version="1.1.1" />
+ <PackageReference Include="NosSmooth.Cryptography" Version="1.0.0" />
+ <PackageReference Include="NosSmooth.LocalBinding" Version="2.0.0" />
<PackageReference Include="NosSmooth.PacketSerializer.Abstractions" Version="1.3.1" />
- <PackageReference Include="NosSmooth.Pcap" Version="1.0.0-main4161214102" />
- <PackageReference Include="Projektanker.Icons.Avalonia" Version="5.8.0" />
- <PackageReference Include="Projektanker.Icons.Avalonia.MaterialDesign" Version="5.8.0" />
+ <PackageReference Include="NosSmooth.Pcap" Version="1.0.0" />
+ <PackageReference Include="Projektanker.Icons.Avalonia" Version="5.9.0" />
+ <PackageReference Include="Projektanker.Icons.Avalonia.MaterialDesign" Version="5.9.0" />
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="Remora.Results" Version="7.2.3" />
- <PackageReference Include="System.Text.Json" Version="7.0.1" />
+ <PackageReference Include="System.Management" Version="7.0.0" />
+ <PackageReference Include="System.Text.Json" Version="7.0.2" />
<PackageReference Include="XamlNameReferenceGenerator" Version="1.5.1" />
</ItemGroup>
M src/PacketLogger/ViewModels/DocumentViewModel.cs => src/PacketLogger/ViewModels/DocumentViewModel.cs +13 -8
@@ 174,8 174,8 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable
(
_ =>
{
- Title = (process.BrowserManager.IsInGame
- ? process.BrowserManager.PlayerManager.Player.Name
+ Title = (process.BrowserManager.IsInGame.Get()
+ ? process.BrowserManager.PlayerManager.Get().Player.Name
: null) ?? $"Not in game ({process.Process.Id})";
}
)
@@ 195,10 195,15 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable
{
Loading = true;
- // var encryptionKey = process.BrowserManager.IsInGame ? process.BrowserManager.NtClient.EncryptionKey : 0;
- var encryptionKey = 0;
+ var initialEncryptionKey = 0;
+ if (process.BrowserManager.IsInGame.Get())
+ {
+ var encryptionKeyOptional = process.BrowserManager.NtClient.Map(client => client.EncryptionKey);
+ encryptionKeyOptional.TryGet(out initialEncryptionKey);
+ }
+
var client = ActivatorUtilities.CreateInstance<PcapNostaleClient>
- (services, process.Process, encryptionKey, Encoding.Default);
+ (services, process.Process, initialEncryptionKey, Encoding.Default);
var provider = new PcapPacketProvider(process, client);
_packetProvider = provider;
@@ 210,8 215,8 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable
(
_ =>
{
- Title = (process.BrowserManager.IsInGame
- ? process.BrowserManager.PlayerManager.Player.Name
+ Title = (process.BrowserManager.IsInGame.Get()
+ ? process.BrowserManager.PlayerManager.Get().Player.Name
: null) ?? $"Not in game ({process.Process.Id})";
}
)
@@ 260,7 265,7 @@ public class DocumentViewModel : Document, INotifyPropertyChanged, IDisposable
/// <summary>
/// Gets the processes observable.
/// </summary>
- public ObservableCollection<NostaleProcess> Processes => _processes.Processes;
+ public NostaleProcesses Processes => _processes;
/// <summary>
/// Gets packet provider.