diff --git a/Daybreak.API/Interop/GWCA.cs b/Daybreak.API/Interop/GWCA.cs index cdb4f281..6e62f3e5 100644 --- a/Daybreak.API/Interop/GWCA.cs +++ b/Daybreak.API/Interop/GWCA.cs @@ -8977,7 +8977,7 @@ public static partial class Range internal const float Nearby = 252.0f; internal const float Spellcast = 1248.0f; internal const float Spirit = 2512.0f; - internal const float SpiritExtended = 3500.0f; + internal const float SpiritExtended = 3000.0f; internal const float Touch = 144.0f; } } @@ -9625,11 +9625,11 @@ public enum UIMessage : uint kChangeTarget, // 0x10000020, wparam = UIPacket::kChangeTarget* kMessage_0x10000021, // 0x10000021 kMessage_0x10000022, // 0x10000022 - kMessage_0x10000023, // 0x10000023 - kAgentSkillActivated, // 0x10000024, kAgentSkillPacket - kAgentSkillActivatedInstantly, // 0x10000025, kAgentSkillPacket - kAgentSkillCancelled, // 0x10000026, kAgentSkillPacket - kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentStartCasting* + kAgentSkillCancelled, // 0x10000023, wparam = kAgentSkillPacket; " canceled " + kAgentSkillActivated, // 0x10000024, wparam = kAgentSkillPacket; " executed " + kAgentSkillActivatedInstantly, // 0x10000025, wparam = kAgentSkillPacket; " used " + kAgentSkillInterrupted, // 0x10000026, wparam = kAgentSkillPacket; " was interrupted while using " + kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentSkillStartedCast*; " is warming up " kMessage_0x10000028, // 0x10000028 kShowMapEntryMessage, // 0x10000029, wparam = { wchar_t* title, wchar_t* subtitle } kSetCurrentPlayerData, // 0x1000002a, fired after setting the worldcontext player name @@ -15740,10 +15740,10 @@ public enum UIMessage : uint kChangeTarget, kMessage_0x10000021, kMessage_0x10000022, - kMessage_0x10000023, + kAgentSkillCancelled, kAgentSkillActivated, kAgentSkillActivatedInstantly, - kAgentSkillCancelled, + kAgentSkillInterrupted, kAgentSkillStartedCast, kMessage_0x10000028, kShowMapEntryMessage, @@ -19702,7 +19702,7 @@ public unsafe struct kAgentSkillStartedCast public uint AgentId; public global::Daybreak.API.Interop.GWCA.GW.Constants.SkillID SkillId; public float Duration; - public uint H000c; + public float H000c; } [global::System.Runtime.InteropServices.StructLayout(global::System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 1)] diff --git a/Daybreak.API/Services/CharacterSelectService.cs b/Daybreak.API/Services/CharacterSelectService.cs index ec104251..6f08f74b 100644 --- a/Daybreak.API/Services/CharacterSelectService.cs +++ b/Daybreak.API/Services/CharacterSelectService.cs @@ -415,7 +415,8 @@ private async Task WaitForCharSelectAndSelectCharacter(string characterNam } var availableCharsContext = this.gameContextService.GetAvailableChars(); - if (availableCharsContext.IsNull) + if (!availableCharsContext.IsValid || + !availableCharsContext.Pointer->IsValid) { scopedLogger.LogError("Available characters context is not initialized"); return default; diff --git a/Dependencies/GWCA/Include/GWCA/Constants/Constants.h b/Dependencies/GWCA/Include/GWCA/Constants/Constants.h index b06a4c07..7b848711 100644 --- a/Dependencies/GWCA/Include/GWCA/Constants/Constants.h +++ b/Dependencies/GWCA/Include/GWCA/Constants/Constants.h @@ -234,7 +234,7 @@ namespace GW { constexpr float Earshot = 1012.0f; constexpr float Spellcast = 1248.0f; constexpr float Spirit = 2512.0f; - constexpr float SpiritExtended = 3500.0f; + constexpr float SpiritExtended = 3000.0f; constexpr float Compass = 5000.0f; }; diff --git a/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h b/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h index 451f962f..2544e3bc 100644 --- a/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h +++ b/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h @@ -166,11 +166,11 @@ namespace GW { kChangeTarget, // 0x10000020, wparam = UIPacket::kChangeTarget* kMessage_0x10000021, // 0x10000021 kMessage_0x10000022, // 0x10000022 - kMessage_0x10000023, // 0x10000023 - kAgentSkillActivated, // 0x10000024, kAgentSkillPacket - kAgentSkillActivatedInstantly, // 0x10000025, kAgentSkillPacket - kAgentSkillCancelled, // 0x10000026, kAgentSkillPacket - kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentStartCasting* + kAgentSkillCancelled, // 0x10000023, wparam = kAgentSkillPacket; " canceled " + kAgentSkillActivated, // 0x10000024, wparam = kAgentSkillPacket; " executed " + kAgentSkillActivatedInstantly, // 0x10000025, wparam = kAgentSkillPacket; " used " + kAgentSkillInterrupted, // 0x10000026, wparam = kAgentSkillPacket; " was interrupted while using " + kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentSkillStartedCast*; " is warming up " kMessage_0x10000028, // 0x10000028 kShowMapEntryMessage, // 0x10000029, wparam = { wchar_t* title, wchar_t* subtitle } kSetCurrentPlayerData, // 0x1000002a, fired after setting the worldcontext player name @@ -674,6 +674,12 @@ namespace GW { uint32_t agent_id; GW::Constants::SkillID skill_id; }; + struct kAgentSkillStartedCast { + uint32_t agent_id; + GW::Constants::SkillID skill_id; + float duration; + float h000c; + }; struct kLoadMapContext { const wchar_t* file_name; Constants::MapID map_id; @@ -811,12 +817,6 @@ namespace GW { uint32_t h0008; uint32_t h000c; }; - struct kAgentSkillStartedCast { - uint32_t agent_id; - Constants::SkillID skill_id; - float duration; - uint32_t h000c; - }; struct kPreStartSalvage { uint32_t item_id; uint32_t kit_id; diff --git a/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h.bak b/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h.bak index 451f962f..2544e3bc 100644 --- a/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h.bak +++ b/Dependencies/GWCA/Include/GWCA/Constants/UIMessages.h.bak @@ -166,11 +166,11 @@ namespace GW { kChangeTarget, // 0x10000020, wparam = UIPacket::kChangeTarget* kMessage_0x10000021, // 0x10000021 kMessage_0x10000022, // 0x10000022 - kMessage_0x10000023, // 0x10000023 - kAgentSkillActivated, // 0x10000024, kAgentSkillPacket - kAgentSkillActivatedInstantly, // 0x10000025, kAgentSkillPacket - kAgentSkillCancelled, // 0x10000026, kAgentSkillPacket - kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentStartCasting* + kAgentSkillCancelled, // 0x10000023, wparam = kAgentSkillPacket; " canceled " + kAgentSkillActivated, // 0x10000024, wparam = kAgentSkillPacket; " executed " + kAgentSkillActivatedInstantly, // 0x10000025, wparam = kAgentSkillPacket; " used " + kAgentSkillInterrupted, // 0x10000026, wparam = kAgentSkillPacket; " was interrupted while using " + kAgentSkillStartedCast, // 0x10000027, wparam = UIPacket::kAgentSkillStartedCast*; " is warming up " kMessage_0x10000028, // 0x10000028 kShowMapEntryMessage, // 0x10000029, wparam = { wchar_t* title, wchar_t* subtitle } kSetCurrentPlayerData, // 0x1000002a, fired after setting the worldcontext player name @@ -674,6 +674,12 @@ namespace GW { uint32_t agent_id; GW::Constants::SkillID skill_id; }; + struct kAgentSkillStartedCast { + uint32_t agent_id; + GW::Constants::SkillID skill_id; + float duration; + float h000c; + }; struct kLoadMapContext { const wchar_t* file_name; Constants::MapID map_id; @@ -811,12 +817,6 @@ namespace GW { uint32_t h0008; uint32_t h000c; }; - struct kAgentSkillStartedCast { - uint32_t agent_id; - Constants::SkillID skill_id; - float duration; - uint32_t h000c; - }; struct kPreStartSalvage { uint32_t item_id; uint32_t kit_id; diff --git a/Dependencies/GWCA/Include/GWCA/GWCAVersion.h b/Dependencies/GWCA/Include/GWCA/GWCAVersion.h index 4767a4c1..9d29ff37 100644 --- a/Dependencies/GWCA/Include/GWCA/GWCAVersion.h +++ b/Dependencies/GWCA/Include/GWCA/GWCAVersion.h @@ -2,9 +2,9 @@ #define GWCA_VERSION_MAJOR 4 #define GWCA_VERSION_MINOR 8 -#define GWCA_VERSION_PATCH 5 +#define GWCA_VERSION_PATCH 7 #define GWCA_VERSION_BUILD 0 -#define GWCA_VERSION "4.8.5.0" +#define GWCA_VERSION "4.8.7.0" namespace GWCA { constexpr int VersionMajor = GWCA_VERSION_MAJOR; diff --git a/Dependencies/GWCA/Include/GWCA/Utilities/Version.h b/Dependencies/GWCA/Include/GWCA/Utilities/Version.h index 1033026b..fbd7e580 100644 --- a/Dependencies/GWCA/Include/GWCA/Utilities/Version.h +++ b/Dependencies/GWCA/Include/GWCA/Utilities/Version.h @@ -5,7 +5,7 @@ #include // Guards against headers and binary being from different releases -- struct offsets shift and nothing else catches it. -#define GWCA_ABI_VERSION 0x04080500u +#define GWCA_ABI_VERSION 0x04080700u extern "C" { // The version the binary was built at, against GWCA_ABI_VERSION which is what the caller compiled against. diff --git a/Dependencies/GWCA/gwca.dll b/Dependencies/GWCA/gwca.dll index 022576c0..c93e7bee 100644 Binary files a/Dependencies/GWCA/gwca.dll and b/Dependencies/GWCA/gwca.dll differ diff --git a/Directory.Build.props b/Directory.Build.props index 16106e41..75a62700 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ $(NoWarn);IL2104;IL3053;IL3000;IL3002;NU1701;CS0108 - 0.9.10.20 + 0.9.10.21 enable enable