Merge pull request #12 from Rutherther/packets Implement custom packet serializer
170 files changed, 9487 insertions(+), 1816 deletions(-) D .gitmodules M Core/NosSmooth.Core/Client/BaseNostaleClient.cs M Core/NosSmooth.Core/Client/INostaleClient.cs M Core/NosSmooth.Core/Extensions/ResultExtensions.cs M Core/NosSmooth.Core/Extensions/ServiceCollectionExtensions.cs M Core/NosSmooth.Core/NosSmooth.Core.csproj M Core/NosSmooth.Core/Packets/Converters/ISpecificPacketSerializer.cs M Core/NosSmooth.Core/Packets/Converters/InPacketSerializer.cs M Core/NosSmooth.Core/Packets/IPacketHandler.cs M Core/NosSmooth.Core/Packets/IPacketResponder.cs D Core/NosSmooth.Core/Packets/IPacketSerializer.cs M Core/NosSmooth.Core/Packets/PacketEventArgs.cs M Core/NosSmooth.Core/Packets/PacketHandler.cs D Core/NosSmooth.Core/Packets/PacketSerializer.cs D Core/NosSmooth.Core/Packets/PacketSerializerProvider.cs M Core/NosSmooth.Core/Packets/ParsingFailedPacket.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/IParameterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/PacketConditionalIndexAttributeGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/PacketContextListAttributeGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/PacketGreedyIndexAttributeGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/PacketIndexAttributeGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/AttributeGenerators/PacketListIndexAttributeGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/Constants.cs A Core/NosSmooth.PacketSerializersGenerator/ConverterDeserializationGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/ConverterSerializationGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/Data/AttributeInfo.cs A Core/NosSmooth.PacketSerializersGenerator/Data/PacketInfo.cs A Core/NosSmooth.PacketSerializersGenerator/Data/ParameterInfo.cs A Core/NosSmooth.PacketSerializersGenerator/Data/Parameters.cs A Core/NosSmooth.PacketSerializersGenerator/Errors/DiagnosticError.cs A Core/NosSmooth.PacketSerializersGenerator/Errors/IError.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/AttributeArgumentSyntaxExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/AttributeInfoExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/AttributeListSyntaxExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/IndentedTextWriterExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/ParameterInfoExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/Extensions/SyntaxNodeExtensions.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/BasicInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/BoolInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/EnumInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/FallbackInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/IInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineConverterGenerators/StringInlineConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/InlineTypeConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/IsExternalInit.cs A Core/NosSmooth.PacketSerializersGenerator/NosSmooth.PacketSerializersGenerator.csproj A Core/NosSmooth.PacketSerializersGenerator/PacketConverterGenerator.cs A Core/NosSmooth.PacketSerializersGenerator/ParameterChecker.cs A Core/NosSmooth.PacketSerializersGenerator/SourceGenerator.cs A Core/NosSmooth.Packets/Attributes/GenerateSerializerAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketConditionalIndexAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketContextListAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketGreedyIndexAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketHeaderAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketIndexAttribute.cs A Core/NosSmooth.Packets/Attributes/PacketListIndexAttribute.cs R Core/{NosSmooth.Core/Packets/PacketType.cs => NosSmooth.Packets/Attributes/PacketSource.cs} A Core/NosSmooth.Packets/Common/NameString.cs A Core/NosSmooth.Packets/Converters/BaseTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/BasicTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/BoolTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/ByteTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/CharTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/IntTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/ShortTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/StringTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/ULongTypeConverter.cs A Core/NosSmooth.Packets/Converters/Basic/UShortTypeConverter.cs A Core/NosSmooth.Packets/Converters/Common/NameStringConverter.cs A Core/NosSmooth.Packets/Converters/ITypeConverter.cs A Core/NosSmooth.Packets/Converters/ITypeConverterRepository.cs A Core/NosSmooth.Packets/Converters/Packets/UpgradeRareSubPacketConverter.cs A Core/NosSmooth.Packets/Converters/Special/EnumTypeConverter.cs A Core/NosSmooth.Packets/Converters/Special/ISpecialTypeConverter.cs A Core/NosSmooth.Packets/Converters/Special/ListTypeConverter.cs A Core/NosSmooth.Packets/Converters/Special/NullableTypeConverter.cs A Core/NosSmooth.Packets/Converters/TypeConverterRepository.cs A Core/NosSmooth.Packets/Enums/Act4Mode.cs A Core/NosSmooth.Packets/Enums/Chat/MessageType.cs A Core/NosSmooth.Packets/Enums/Chat/SayColor.cs A Core/NosSmooth.Packets/Enums/Element.cs A Core/NosSmooth.Packets/Enums/Entities/EntityType.cs A Core/NosSmooth.Packets/Enums/Entities/FactionType.cs A Core/NosSmooth.Packets/Enums/Entities/SpawnEffect.cs A Core/NosSmooth.Packets/Enums/Players/AuthorityType.cs A Core/NosSmooth.Packets/Enums/Players/HairColor.cs A Core/NosSmooth.Packets/Enums/Players/HairStyle.cs A Core/NosSmooth.Packets/Enums/Players/PlayerClass.cs A Core/NosSmooth.Packets/Enums/Players/SexType.cs A Core/NosSmooth.Packets/Errors/AmbiguousHeaderError.cs A Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs A Core/NosSmooth.Packets/Errors/DeserializedValueNullError.cs A Core/NosSmooth.Packets/Errors/ListSerializerError.cs A Core/NosSmooth.Packets/Errors/PacketConverterNotFoundError.cs A Core/NosSmooth.Packets/Errors/PacketEndNotExpectedError.cs A Core/NosSmooth.Packets/Errors/PacketEndReachedError.cs A Core/NosSmooth.Packets/Errors/PacketMissingHeaderError.cs A Core/NosSmooth.Packets/Errors/PacketParameterSerializerError.cs A Core/NosSmooth.Packets/Errors/TypeConverterNotFoundError.cs A Core/NosSmooth.Packets/Errors/WrongTypeError.cs A Core/NosSmooth.Packets/Extensions/ServiceCollectionExtensions.cs A Core/NosSmooth.Packets/IPacketSerializer.cs A Core/NosSmooth.Packets/IsExternalInit.cs A Core/NosSmooth.Packets/NosCore.Packets.csproj.DotSettings A Core/NosSmooth.Packets/NosSmooth.Packets.csproj A Core/NosSmooth.Packets/PacketSerializer.cs A Core/NosSmooth.Packets/PacketStringBuilder.cs A Core/NosSmooth.Packets/PacketStringEnumerator.cs A Core/NosSmooth.Packets/PacketToken.cs A Core/NosSmooth.Packets/Packets/Client/Battle/NcifPacket.cs A Core/NosSmooth.Packets/Packets/Client/Battle/UseAOESkillPacket.cs A Core/NosSmooth.Packets/Packets/Client/Battle/UseSkillPacket.cs A Core/NosSmooth.Packets/Packets/Client/Chat/SayPacket.cs A Core/NosSmooth.Packets/Packets/Client/Misc/PulsePacket.cs A Core/NosSmooth.Packets/Packets/Client/Movement/WalkPacket.cs A Core/NosSmooth.Packets/Packets/IPacket.cs A Core/NosSmooth.Packets/Packets/IPacketTypesRepository.cs A Core/NosSmooth.Packets/Packets/PacketInfo.cs A Core/NosSmooth.Packets/Packets/PacketTypesRepository.cs A Core/NosSmooth.Packets/Packets/Server/Act4/FcPacket.cs A Core/NosSmooth.Packets/Packets/Server/Act4/FcSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Chat/MsgPacket.cs A Core/NosSmooth.Packets/Packets/Server/Chat/SayPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/InEquipmentSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/InItemSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/InNonPlayerSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/InPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/InPlayerSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/MovePacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/StPacket.cs A Core/NosSmooth.Packets/Packets/Server/Entities/StatPacket.cs A Core/NosSmooth.Packets/Packets/Server/Groups/PinitPacket.cs A Core/NosSmooth.Packets/Packets/Server/Groups/PinitSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Maps/CMapPacket.cs A Core/NosSmooth.Packets/Packets/Server/Players/CInfoPacket.cs A Core/NosSmooth.Packets/Packets/Server/Players/CModePacket.cs A Core/NosSmooth.Packets/Packets/Server/Players/FamilySubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Players/LevPacket.cs A Core/NosSmooth.Packets/Packets/Server/Skills/SkiPacket.cs A Core/NosSmooth.Packets/Packets/Server/Skills/SkiSubPacket.cs A Core/NosSmooth.Packets/Packets/Server/Skills/SrPacket.cs A Core/NosSmooth.Packets/Packets/Server/Weapons/UpgradeRareSubPacket.cs A Core/NosSmooth.Packets/Packets/UnresolvedPacket.cs R Directory.build.props => Directory.Build.props M Local/NosSmooth.LocalClient/CommandHandlers/Walk/WalkPacketResponder.cs A Local/NosSmooth.LocalClient/IsExternalInit.cs M Local/NosSmooth.LocalClient/NostaleLocalClient.cs A NosSmooth.Unix.sln A NosSmooth.Unix.sln.DotSettings M NosSmooth.sln M Samples/InterceptNameChanger/NameChangeInterceptor.cs M Samples/InterceptNameChanger/NameChanger.cs M Samples/SimpleChat/SayResponder.cs M Samples/SimpleChat/SimpleChat.cs M Samples/WalkCommands/ChatPacketInterceptor.cs M Samples/WalkCommands/Commands/DetachCommand.cs M Samples/WalkCommands/Commands/WalkCommands.cs M Tests/NosSmooth.Core.Tests/Packets/InPacketSerializerTest.cs A Tests/NosSmooth.Packets.Tests/Converters/Packets/FcPacketConverterTests.cs A Tests/NosSmooth.Packets.Tests/Converters/Packets/InPacketConverterTests.cs A Tests/NosSmooth.Packets.Tests/Converters/Packets/MovePacketConverterTests.cs A Tests/NosSmooth.Packets.Tests/Converters/Packets/PinitPacketConverterTest.cs A Tests/NosSmooth.Packets.Tests/NosSmooth.Packets.Tests.csproj A Tests/NosSmooth.Packets.Tests/PacketStringBuilderTests.cs A Tests/NosSmooth.Packets.Tests/PacketStringEnumeratorTests.cs D libs/Directory.build.props D libs/NosCore.Packets D libs/NosCore.Shared