Skip to content

Commit

Permalink
Add GameMode enum
Browse files Browse the repository at this point in the history
Added a enum which represents the current mode of the game.
  • Loading branch information
pacampbell committed Jun 29, 2024
1 parent cc4a819 commit 75258f3
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ public CharacterSwitchGameModeHandler(DdonGameServer server) : base(server)

public override S2CCharacterSwitchGameModeRes Handle(GameClient client, C2SCharacterSwitchGameModeReq packet)
{
Logger.Info($"GameMode={packet.Unk0}");
Logger.Info($"GameMode={packet.GameMode}");

S2CCharacterSwitchGameModeNtc ntc = new S2CCharacterSwitchGameModeNtc()
{
Unk0 = (uint) packet.Unk0,
Unk0 = (uint) packet.GameMode, // Probably not right? int vs uint
Unk1 = false,

CharacterInfo = new CDataCharacterInfo()
Expand Down Expand Up @@ -75,7 +75,7 @@ public override S2CCharacterSwitchGameModeRes Handle(GameClient client, C2SChara

return new S2CCharacterSwitchGameModeRes()
{
Unk0 = packet.Unk0,
GameMode = packet.GameMode,
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Arrowgene.Buffers;
using Arrowgene.Ddon.Shared.Model;
using Arrowgene.Ddon.Shared.Network;

namespace Arrowgene.Ddon.Shared.Entity.PacketStructure
Expand All @@ -7,19 +8,19 @@ public class C2SCharacterSwitchGameModeReq : IPacketStructure
{
public PacketId Id => PacketId.C2S_CHARACTER_SWITCH_GAME_MODE_REQ;

public int Unk0 { get; set; }
public GameMode GameMode { get; set; }

public class Serializer : PacketEntitySerializer<C2SCharacterSwitchGameModeReq>
{
public override void Write(IBuffer buffer, C2SCharacterSwitchGameModeReq obj)
{
WriteInt32(buffer, obj.Unk0);
WriteInt32(buffer, (int) obj.GameMode);
}

public override C2SCharacterSwitchGameModeReq Read(IBuffer buffer)
{
C2SCharacterSwitchGameModeReq obj = new C2SCharacterSwitchGameModeReq();
obj.Unk0 = ReadInt32(buffer);
obj.GameMode = (GameMode) ReadInt32(buffer);
return obj;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure
public class S2CCharacterSwitchGameModeRes : ServerResponse
{
public override PacketId Id => PacketId.S2C_CHARACTER_SWITCH_GAME_MODE_RES;
public int Unk0 { get; set; }
public GameMode GameMode { get; set; }

public class Serializer : PacketEntitySerializer<S2CCharacterSwitchGameModeRes>
{
public override void Write(IBuffer buffer, S2CCharacterSwitchGameModeRes obj)
{
WriteServerResponse(buffer, obj);
WriteInt32(buffer, obj.Unk0);
WriteInt32(buffer, (int)obj.GameMode);
}

public override S2CCharacterSwitchGameModeRes Read(IBuffer buffer)
{
S2CCharacterSwitchGameModeRes obj = new S2CCharacterSwitchGameModeRes();
ReadServerResponse(buffer, obj);
obj.Unk0 = ReadInt32(buffer);
obj.GameMode = (GameMode)ReadInt32(buffer);
return obj;
}
}
Expand Down
15 changes: 15 additions & 0 deletions Arrowgene.Ddon.Shared/Model/GameMode.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Arrowgene.Ddon.Shared.Model
{
public enum GameMode : int
{
Unknown = 0,
Normal = 1,
BitterBlackMaze = 2
}
}

0 comments on commit 75258f3

Please sign in to comment.