Fixed two crashes
This commit is contained in:
@@ -98,7 +98,7 @@ namespace BNetServer.Networking
|
|||||||
|
|
||||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UpdBnetLastLoginInfo);
|
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UpdBnetLastLoginInfo);
|
||||||
stmt.AddValue(0, GetRemoteIpEndPoint().ToString());
|
stmt.AddValue(0, GetRemoteIpEndPoint().ToString());
|
||||||
stmt.AddValue(1, (byte)Enum.Parse(typeof(Locale), locale));
|
stmt.AddValue(1, (byte)locale.ToEnum<Locale>());
|
||||||
stmt.AddValue(2, os);
|
stmt.AddValue(2, os);
|
||||||
stmt.AddValue(3, accountInfo.Id);
|
stmt.AddValue(3, accountInfo.Id);
|
||||||
|
|
||||||
|
|||||||
@@ -335,11 +335,11 @@ namespace Framework.IO
|
|||||||
WriteUInt32(packed);
|
WriteUInt32(packed);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool WriteBit(object bit)
|
public bool WriteBit(bool bit)
|
||||||
{
|
{
|
||||||
--_bitPosition;
|
--_bitPosition;
|
||||||
|
|
||||||
if (Convert.ToBoolean(bit))
|
if (bit)
|
||||||
BitValue |= (byte)(1 << _bitPosition);
|
BitValue |= (byte)(1 << _bitPosition);
|
||||||
|
|
||||||
if (_bitPosition == 0)
|
if (_bitPosition == 0)
|
||||||
@@ -349,13 +349,13 @@ namespace Framework.IO
|
|||||||
_bitPosition = 8;
|
_bitPosition = 8;
|
||||||
BitValue = 0;
|
BitValue = 0;
|
||||||
}
|
}
|
||||||
return Convert.ToBoolean(bit);
|
return bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteBits(object bit, int count)
|
public void WriteBits(object bit, int count)
|
||||||
{
|
{
|
||||||
for (int i = count - 1; i >= 0; --i)
|
for (int i = count - 1; i >= 0; --i)
|
||||||
WriteBit((Convert.ToUInt32(bit) >> i) & 1);
|
WriteBit(((Convert.ToUInt32(bit) >> i) & 1) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WritePackedTime(long time)
|
public void WritePackedTime(long time)
|
||||||
|
|||||||
@@ -2921,7 +2921,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public class AzeriteEmpoweredData
|
public class AzeriteEmpoweredData
|
||||||
{
|
{
|
||||||
public Array<int> SelectedAzeritePowers = new(SharedConst.MaxAzeriteEmpoweredTier);
|
public int[] SelectedAzeritePowers = new int[SharedConst.MaxAzeriteEmpoweredTier];
|
||||||
}
|
}
|
||||||
|
|
||||||
class ItemAdditionalLoadInfo
|
class ItemAdditionalLoadInfo
|
||||||
@@ -2989,6 +2989,8 @@ namespace Game.Entities
|
|||||||
info.AzeriteItem.KnowledgeLevel = azeriteItemResult.Read<uint>(3);
|
info.AzeriteItem.KnowledgeLevel = azeriteItemResult.Read<uint>(3);
|
||||||
for (int i = 0; i < info.AzeriteItem.SelectedAzeriteEssences.Length; ++i)
|
for (int i = 0; i < info.AzeriteItem.SelectedAzeriteEssences.Length; ++i)
|
||||||
{
|
{
|
||||||
|
info.AzeriteItem.SelectedAzeriteEssences[i] = new();
|
||||||
|
|
||||||
uint specializationId = azeriteItemResult.Read<uint>(4 + i * 4);
|
uint specializationId = azeriteItemResult.Read<uint>(4 + i * 4);
|
||||||
if (!CliDB.ChrSpecializationStorage.ContainsKey(specializationId))
|
if (!CliDB.ChrSpecializationStorage.ContainsKey(specializationId))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -493,7 +493,7 @@ namespace Game.Entities
|
|||||||
data.WriteBit(hasMovementScript);
|
data.WriteBit(hasMovementScript);
|
||||||
|
|
||||||
if (hasUnk3)
|
if (hasUnk3)
|
||||||
data.WriteBit(0);
|
data.WriteBit(false);
|
||||||
|
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
|
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteUInt32(Mapid);
|
_worldPacket.WriteUInt32(Mapid);
|
||||||
_worldPacket.WriteUInt32(ShutdownTimer);
|
_worldPacket.WriteUInt32(ShutdownTimer);
|
||||||
_worldPacket.WriteUInt32(StartTimer);
|
_worldPacket.WriteUInt32(StartTimer);
|
||||||
_worldPacket.WriteBit(ArenaFaction);
|
_worldPacket.WriteBit(ArenaFaction != 0);
|
||||||
_worldPacket.WriteBit(LeftEarly);
|
_worldPacket.WriteBit(LeftEarly);
|
||||||
_worldPacket.FlushBits();
|
_worldPacket.FlushBits();
|
||||||
}
|
}
|
||||||
@@ -629,7 +629,7 @@ namespace Game.Networking.Packets
|
|||||||
foreach (var pvpStat in Stats)
|
foreach (var pvpStat in Stats)
|
||||||
pvpStat.Write(data);
|
pvpStat.Write(data);
|
||||||
|
|
||||||
data.WriteBit(Faction);
|
data.WriteBit(Faction != 0);
|
||||||
data.WriteBit(IsInWorld);
|
data.WriteBit(IsInWorld);
|
||||||
data.WriteBit(Honor.HasValue);
|
data.WriteBit(Honor.HasValue);
|
||||||
data.WriteBit(PreMatchRating.HasValue);
|
data.WriteBit(PreMatchRating.HasValue);
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteInt32(MaxLevel);
|
_worldPacket.WriteInt32(MaxLevel);
|
||||||
_worldPacket.WriteInt32(MapID);
|
_worldPacket.WriteInt32(MapID);
|
||||||
_worldPacket.WriteUInt32(InstanceID);
|
_worldPacket.WriteUInt32(InstanceID);
|
||||||
_worldPacket.WriteBit(Index);
|
_worldPacket.WriteBit(Index != 0);
|
||||||
_worldPacket.FlushBits();
|
_worldPacket.FlushBits();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user