- Containers.kt 实现 lt/pt/zt/alias 四种布局,覆盖 ModelService 4 条容器命令 - 生成 ModelRegistry.ByModelId,供 pt 项按 modelId 展开 - 短命令:_setModelCommandAlias 解码后写入别名表,记录链可按别名继续解 - 下行注册补到 681 条;railgun-battle 400 帧复跑仍为 399/399 回编码一致
1497 lines
45 KiB
Kotlin
1497 lines
45 KiB
Kotlin
// 本文件由 TankiOffline/tools/GenerateProtocol.py 生成。
|
||
// 允许手改;重跑生成器会覆盖。类型口径见 3DTank/docs/KtRebuild_Plan.md。
|
||
package Net.Generated
|
||
|
||
import Core.ByteReader
|
||
import Core.ByteWriter
|
||
import Core.NullmapCursor
|
||
import Core.NullmapWriter
|
||
import Core.Vector3
|
||
import Net.Wire.ModelCodec
|
||
import Net.Wire.Wire
|
||
import Net.Wire.ErasedCodec
|
||
import Net.Protocol.TankStateCodec
|
||
import Net.Protocol.LtCodec
|
||
import Net.Protocol.PtCodec
|
||
import Net.Protocol.ZtCodec
|
||
import Net.Protocol.AliasCodec
|
||
|
||
// AvailableForAllCC|module_85196
|
||
data class AvailableForAllCC(
|
||
val AvailableForAll: Boolean,
|
||
)
|
||
|
||
object AvailableForAllCCCodec : ModelCodec<AvailableForAllCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): AvailableForAllCC {
|
||
val AvailableForAll = R.ReadBool()
|
||
return AvailableForAllCC(AvailableForAll)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: AvailableForAllCC) {
|
||
W.WriteBool(V.AvailableForAll)
|
||
}
|
||
}
|
||
|
||
// PassToShopCC|module_85196
|
||
data class PassToShopCC(
|
||
val PassToShopEnabled: Boolean,
|
||
)
|
||
|
||
object PassToShopCCCodec : ModelCodec<PassToShopCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): PassToShopCC {
|
||
val PassToShopEnabled = R.ReadBool()
|
||
return PassToShopCC(PassToShopEnabled)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: PassToShopCC) {
|
||
W.WriteBool(V.PassToShopEnabled)
|
||
}
|
||
}
|
||
|
||
// TemperatureCC|module_85196
|
||
data class TemperatureCC(
|
||
val Field1: Float,
|
||
)
|
||
|
||
object TemperatureCCCodec : ModelCodec<TemperatureCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): TemperatureCC {
|
||
val Field1 = R.ReadFloat()
|
||
return TemperatureCC(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: TemperatureCC) {
|
||
W.WriteFloat(V.Field1)
|
||
}
|
||
}
|
||
|
||
// UpgradeGarageItemCC|module_85196
|
||
data class UpgradeGarageItemCC(
|
||
val Field1: Long,
|
||
)
|
||
|
||
object UpgradeGarageItemCCCodec : ModelCodec<UpgradeGarageItemCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): UpgradeGarageItemCC {
|
||
val Field1 = R.ReadLong()
|
||
return UpgradeGarageItemCC(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: UpgradeGarageItemCC) {
|
||
W.WriteLong(V.Field1)
|
||
}
|
||
}
|
||
|
||
// GaragePreviewModelCC|module_85196
|
||
data class GaragePreviewModelCC(
|
||
val Field1: Float,
|
||
val Field2: Float,
|
||
val Field3: Float,
|
||
val Field4: Float,
|
||
val GarageBox: Long,
|
||
val SkyboxFrontSide: Long,
|
||
)
|
||
|
||
object GaragePreviewModelCCCodec : ModelCodec<GaragePreviewModelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): GaragePreviewModelCC {
|
||
val Field1 = R.ReadFloat()
|
||
val Field2 = R.ReadFloat()
|
||
val Field3 = R.ReadFloat()
|
||
val Field4 = R.ReadFloat()
|
||
val GarageBox = R.ReadLong()
|
||
val SkyboxFrontSide = R.ReadLong()
|
||
return GaragePreviewModelCC(Field1, Field2, Field3, Field4, GarageBox, SkyboxFrontSide)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: GaragePreviewModelCC) {
|
||
W.WriteFloat(V.Field1)
|
||
W.WriteFloat(V.Field2)
|
||
W.WriteFloat(V.Field3)
|
||
W.WriteFloat(V.Field4)
|
||
W.WriteLong(V.GarageBox)
|
||
W.WriteLong(V.SkyboxFrontSide)
|
||
}
|
||
}
|
||
|
||
// xh|module_85196
|
||
data class Xh(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object XhCodec : ModelCodec<Xh> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Xh {
|
||
val Field1 = R.ReadInt()
|
||
return Xh(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Xh) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// BuyableCC|module_85196
|
||
data class BuyableCC(
|
||
val Buyable: Boolean,
|
||
val CurrencyId: Int,
|
||
val Field3: Int,
|
||
)
|
||
|
||
object BuyableCCCodec : ModelCodec<BuyableCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): BuyableCC {
|
||
val Buyable = R.ReadBool()
|
||
val CurrencyId = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
return BuyableCC(Buyable, CurrencyId, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: BuyableCC) {
|
||
W.WriteBool(V.Buyable)
|
||
W.WriteInt(V.CurrencyId)
|
||
W.WriteInt(V.Field3)
|
||
}
|
||
}
|
||
|
||
// ItemCategoryCC|module_85196
|
||
data class ItemCategoryCC(
|
||
val Category: Int,
|
||
)
|
||
|
||
object ItemCategoryCCCodec : ModelCodec<ItemCategoryCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemCategoryCC {
|
||
val Category = R.ReadInt()
|
||
return ItemCategoryCC(Category)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemCategoryCC) {
|
||
W.WriteInt(V.Category)
|
||
}
|
||
}
|
||
|
||
// ContainerGivenItem|module_85196
|
||
data class ContainerGivenItem(
|
||
val Category: Int,
|
||
val Field2: Int,
|
||
val GarageItemCategory: Int?,
|
||
val Field4: Long,
|
||
val Image: Long,
|
||
val Name: String,
|
||
val RewardType: String?,
|
||
)
|
||
|
||
object ContainerGivenItemCodec : ModelCodec<ContainerGivenItem> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ContainerGivenItem {
|
||
val Category = R.ReadInt()
|
||
val Field2 = R.ReadInt()
|
||
val GarageItemCategory = Wire.ReadOpt(R, N) { R.ReadInt() }
|
||
val Field4 = R.ReadLong()
|
||
val Image = R.ReadLong()
|
||
val Name = R.ReadString()
|
||
val RewardType = Wire.ReadOpt(R, N) { R.ReadString() }
|
||
return ContainerGivenItem(Category, Field2, GarageItemCategory, Field4, Image, Name, RewardType)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ContainerGivenItem) {
|
||
W.WriteInt(V.Category)
|
||
W.WriteInt(V.Field2)
|
||
Wire.WriteOpt(N, V.GarageItemCategory) { W.WriteInt(it) }
|
||
W.WriteLong(V.Field4)
|
||
W.WriteLong(V.Image)
|
||
W.WriteString(V.Name)
|
||
Wire.WriteOpt(N, V.RewardType) { W.WriteString(it) }
|
||
}
|
||
}
|
||
|
||
// Wh|module_85196
|
||
data class Wh(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object WhCodec : ModelCodec<Wh> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Wh {
|
||
val Field1 = R.ReadInt()
|
||
return Wh(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Wh) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// DescriptionRewards|module_85196
|
||
data class DescriptionRewards(
|
||
val Category: Int?,
|
||
val Field2: Int,
|
||
val Description: String?,
|
||
val Name: String,
|
||
val Preview: Long,
|
||
val Field6: Float,
|
||
val RewardType: String?,
|
||
)
|
||
|
||
object DescriptionRewardsCodec : ModelCodec<DescriptionRewards> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DescriptionRewards {
|
||
val Category = Wire.ReadOpt(R, N) { R.ReadInt() }
|
||
val Field2 = R.ReadInt()
|
||
val Description = Wire.ReadOpt(R, N) { R.ReadString() }
|
||
val Name = R.ReadString()
|
||
val Preview = R.ReadLong()
|
||
val Field6 = R.ReadFloat()
|
||
val RewardType = Wire.ReadOpt(R, N) { R.ReadString() }
|
||
return DescriptionRewards(Category, Field2, Description, Name, Preview, Field6, RewardType)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DescriptionRewards) {
|
||
Wire.WriteOpt(N, V.Category) { W.WriteInt(it) }
|
||
W.WriteInt(V.Field2)
|
||
Wire.WriteOpt(N, V.Description) { W.WriteString(it) }
|
||
W.WriteString(V.Name)
|
||
W.WriteLong(V.Preview)
|
||
W.WriteFloat(V.Field6)
|
||
Wire.WriteOpt(N, V.RewardType) { W.WriteString(it) }
|
||
}
|
||
}
|
||
|
||
// CountableItemCC|module_85196
|
||
data class CountableItemCC(
|
||
val Field1: Int,
|
||
val HideIfCountEqualZero: Boolean,
|
||
)
|
||
|
||
object CountableItemCCCodec : ModelCodec<CountableItemCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): CountableItemCC {
|
||
val Field1 = R.ReadInt()
|
||
val HideIfCountEqualZero = R.ReadBool()
|
||
return CountableItemCC(Field1, HideIfCountEqualZero)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: CountableItemCC) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteBool(V.HideIfCountEqualZero)
|
||
}
|
||
}
|
||
|
||
// DelayMountCategoryCC|module_85196
|
||
data class DelayMountCategoryCC(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object DelayMountCategoryCCCodec : ModelCodec<DelayMountCategoryCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DelayMountCategoryCC {
|
||
val Field1 = R.ReadInt()
|
||
return DelayMountCategoryCC(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DelayMountCategoryCC) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// DescriptionMediaCC|module_85196
|
||
data class DescriptionMediaCC(
|
||
val Image: Long?,
|
||
val Video: Long?,
|
||
)
|
||
|
||
object DescriptionMediaCCCodec : ModelCodec<DescriptionMediaCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DescriptionMediaCC {
|
||
val Image = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
val Video = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
return DescriptionMediaCC(Image, Video)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DescriptionMediaCC) {
|
||
Wire.WriteOpt(N, V.Image) { W.WriteLong(it) }
|
||
Wire.WriteOpt(N, V.Video) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// ItemDevicesCC|module_85196
|
||
data class ItemDevicesCC(
|
||
val DevicesAvailable: Boolean,
|
||
val Preview: Long?,
|
||
val Sale: Boolean,
|
||
)
|
||
|
||
object ItemDevicesCCCodec : ModelCodec<ItemDevicesCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemDevicesCC {
|
||
val DevicesAvailable = R.ReadBool()
|
||
val Preview = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
val Sale = R.ReadBool()
|
||
return ItemDevicesCC(DevicesAvailable, Preview, Sale)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemDevicesCC) {
|
||
W.WriteBool(V.DevicesAvailable)
|
||
Wire.WriteOpt(N, V.Preview) { W.WriteLong(it) }
|
||
W.WriteBool(V.Sale)
|
||
}
|
||
}
|
||
|
||
// DevicePropertiesCC|module_85196
|
||
data class DevicePropertiesCC(
|
||
val Properties: List<DevicePropertyEntity>,
|
||
)
|
||
|
||
object DevicePropertiesCCCodec : ModelCodec<DevicePropertiesCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DevicePropertiesCC {
|
||
val Properties = Wire.ReadList(R) { DevicePropertyEntityCodec.Decode(R, N) }
|
||
return DevicePropertiesCC(Properties)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DevicePropertiesCC) {
|
||
Wire.WriteList(W, V.Properties) { DevicePropertyEntityCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// DevicePropertyEntity|module_85196
|
||
data class DevicePropertyEntity(
|
||
val Operation: Int,
|
||
val Property: Int,
|
||
val Field3: Float,
|
||
)
|
||
|
||
object DevicePropertyEntityCodec : ModelCodec<DevicePropertyEntity> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DevicePropertyEntity {
|
||
val Operation = R.ReadInt()
|
||
val Property = R.ReadInt()
|
||
val Field3 = R.ReadFloat()
|
||
return DevicePropertyEntity(Operation, Property, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DevicePropertyEntity) {
|
||
W.WriteInt(V.Operation)
|
||
W.WriteInt(V.Property)
|
||
W.WriteFloat(V.Field3)
|
||
}
|
||
}
|
||
|
||
// Pa|module_85196
|
||
data class Pa(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object PaCodec : ModelCodec<Pa> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Pa {
|
||
val Field1 = R.ReadInt()
|
||
return Pa(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Pa) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// DiscountCC|module_85196
|
||
data class DiscountCC(
|
||
val Field1: Float,
|
||
val Field2: Int,
|
||
val Field3: Int,
|
||
)
|
||
|
||
object DiscountCCCodec : ModelCodec<DiscountCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): DiscountCC {
|
||
val Field1 = R.ReadFloat()
|
||
val Field2 = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
return DiscountCC(Field1, Field2, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: DiscountCC) {
|
||
W.WriteFloat(V.Field1)
|
||
W.WriteInt(V.Field2)
|
||
W.WriteInt(V.Field3)
|
||
}
|
||
}
|
||
|
||
// ProAbonementRankDiscountCC|module_85196
|
||
data class ProAbonementRankDiscountCC(
|
||
val Field1: Double,
|
||
)
|
||
|
||
object ProAbonementRankDiscountCCCodec : ModelCodec<ProAbonementRankDiscountCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ProAbonementRankDiscountCC {
|
||
val Field1 = R.ReadDouble()
|
||
return ProAbonementRankDiscountCC(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ProAbonementRankDiscountCC) {
|
||
W.WriteDouble(V.Field1)
|
||
}
|
||
}
|
||
|
||
// EmissionColorCC|module_85196
|
||
data class EmissionColorCC(
|
||
val Field1: Int,
|
||
val Field2: Int,
|
||
val Field3: Int,
|
||
val Field4: Int,
|
||
val Threshold: Int,
|
||
)
|
||
|
||
object EmissionColorCCCodec : ModelCodec<EmissionColorCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): EmissionColorCC {
|
||
val Field1 = R.ReadInt()
|
||
val Field2 = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
val Field4 = R.ReadInt()
|
||
val Threshold = R.ReadInt()
|
||
return EmissionColorCC(Field1, Field2, Field3, Field4, Threshold)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: EmissionColorCC) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteInt(V.Field2)
|
||
W.WriteInt(V.Field3)
|
||
W.WriteInt(V.Field4)
|
||
W.WriteInt(V.Threshold)
|
||
}
|
||
}
|
||
|
||
// ec|module_85196
|
||
data class Ec(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object EcCodec : ModelCodec<Ec> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Ec {
|
||
val Field1 = R.ReadInt()
|
||
return Ec(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Ec) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// BazookaSupplyCC|module_85196
|
||
data class BazookaSupplyCC(
|
||
val SupplyId: Long?,
|
||
)
|
||
|
||
object BazookaSupplyCCCodec : ModelCodec<BazookaSupplyCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): BazookaSupplyCC {
|
||
val SupplyId = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
return BazookaSupplyCC(SupplyId)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: BazookaSupplyCC) {
|
||
Wire.WriteOpt(N, V.SupplyId) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// GroupedCC|module_85196
|
||
data class GroupedCC(
|
||
val Field1: Int,
|
||
val Grouped: Boolean,
|
||
)
|
||
|
||
object GroupedCCCodec : ModelCodec<GroupedCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): GroupedCC {
|
||
val Field1 = R.ReadInt()
|
||
val Grouped = R.ReadBool()
|
||
return GroupedCC(Field1, Grouped)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: GroupedCC) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteBool(V.Grouped)
|
||
}
|
||
}
|
||
|
||
// ItemModelCC|module_85196
|
||
data class ItemModelCC(
|
||
val Field1: Int,
|
||
val Field2: Int,
|
||
val Field3: Int,
|
||
val Preview: Long,
|
||
)
|
||
|
||
object ItemModelCCCodec : ModelCodec<ItemModelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemModelCC {
|
||
val Field1 = R.ReadInt()
|
||
val Field2 = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
val Preview = R.ReadLong()
|
||
return ItemModelCC(Field1, Field2, Field3, Preview)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemModelCC) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteInt(V.Field2)
|
||
W.WriteInt(V.Field3)
|
||
W.WriteLong(V.Preview)
|
||
}
|
||
}
|
||
|
||
// Item3DCC|module_85196
|
||
data class Item3DCC(
|
||
val EmissionColor: EmissionColorCC?,
|
||
val Field2: Long,
|
||
val Field3: Float,
|
||
val Resource: Long?,
|
||
val Field5: Float,
|
||
val SkinOffset: Vector3?,
|
||
val TurretMountPoint: Vector3?,
|
||
)
|
||
|
||
object Item3DCCCodec : ModelCodec<Item3DCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Item3DCC {
|
||
val EmissionColor = Wire.ReadOpt(R, N) { EmissionColorCCCodec.Decode(R, N) }
|
||
val Field2 = R.ReadLong()
|
||
val Field3 = R.ReadFloat()
|
||
val Resource = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
val Field5 = R.ReadFloat()
|
||
val SkinOffset = Wire.ReadOpt(R, N) { R.ReadVector3() }
|
||
val TurretMountPoint = Wire.ReadOpt(R, N) { R.ReadVector3() }
|
||
return Item3DCC(EmissionColor, Field2, Field3, Resource, Field5, SkinOffset, TurretMountPoint)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Item3DCC) {
|
||
Wire.WriteOpt(N, V.EmissionColor) { EmissionColorCCCodec.Encode(W, N, it) }
|
||
W.WriteLong(V.Field2)
|
||
W.WriteFloat(V.Field3)
|
||
Wire.WriteOpt(N, V.Resource) { W.WriteLong(it) }
|
||
W.WriteFloat(V.Field5)
|
||
Wire.WriteOpt(N, V.SkinOffset) { W.WriteVector3(it) }
|
||
Wire.WriteOpt(N, V.TurretMountPoint) { W.WriteVector3(it) }
|
||
}
|
||
}
|
||
|
||
// ItemEnabledForPartnerCC|module_85196
|
||
data class ItemEnabledForPartnerCC(
|
||
val AvailableForNonPartnerUsers: Boolean,
|
||
val PartnerId: String,
|
||
)
|
||
|
||
object ItemEnabledForPartnerCCCodec : ModelCodec<ItemEnabledForPartnerCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemEnabledForPartnerCC {
|
||
val AvailableForNonPartnerUsers = R.ReadBool()
|
||
val PartnerId = R.ReadString()
|
||
return ItemEnabledForPartnerCC(AvailableForNonPartnerUsers, PartnerId)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemEnabledForPartnerCC) {
|
||
W.WriteBool(V.AvailableForNonPartnerUsers)
|
||
W.WriteString(V.PartnerId)
|
||
}
|
||
}
|
||
|
||
// GarageKitCC|module_85196
|
||
data class GarageKitCC(
|
||
val KitItems: List<KitItem>,
|
||
)
|
||
|
||
object GarageKitCCCodec : ModelCodec<GarageKitCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): GarageKitCC {
|
||
val KitItems = Wire.ReadList(R) { KitItemCodec.Decode(R, N) }
|
||
return GarageKitCC(KitItems)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: GarageKitCC) {
|
||
Wire.WriteList(W, V.KitItems) { KitItemCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// ItemSaleByKitCC|module_85196
|
||
data class ItemSaleByKitCC(
|
||
val Items: List<Long>,
|
||
)
|
||
|
||
object ItemSaleByKitCCCodec : ModelCodec<ItemSaleByKitCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemSaleByKitCC {
|
||
val Items = Wire.ReadList(R) { R.ReadLong() }
|
||
return ItemSaleByKitCC(Items)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemSaleByKitCC) {
|
||
Wire.WriteList(W, V.Items) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// KitItem|module_85196
|
||
data class KitItem(
|
||
val Field1: Int,
|
||
val Item: Long,
|
||
val Mount: Boolean,
|
||
)
|
||
|
||
object KitItemCodec : ModelCodec<KitItem> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): KitItem {
|
||
val Field1 = R.ReadInt()
|
||
val Item = R.ReadLong()
|
||
val Mount = R.ReadBool()
|
||
return KitItem(Field1, Item, Mount)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: KitItem) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteLong(V.Item)
|
||
W.WriteBool(V.Mount)
|
||
}
|
||
}
|
||
|
||
// LodLevelCC|module_85196
|
||
data class LodLevelCC(
|
||
val LodType: Int,
|
||
val Field2: Long,
|
||
)
|
||
|
||
object LodLevelCCCodec : ModelCodec<LodLevelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): LodLevelCC {
|
||
val LodType = R.ReadInt()
|
||
val Field2 = R.ReadLong()
|
||
return LodLevelCC(LodType, Field2)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: LodLevelCC) {
|
||
W.WriteInt(V.LodType)
|
||
W.WriteLong(V.Field2)
|
||
}
|
||
}
|
||
|
||
// nl|module_85196
|
||
data class Nl(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object NlCodec : ModelCodec<Nl> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Nl {
|
||
val Field1 = R.ReadInt()
|
||
return Nl(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Nl) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// ModificationCC|module_85196
|
||
data class ModificationCC(
|
||
val Field1: Long,
|
||
val ModificationCount: Byte,
|
||
val ModificationIndex: Byte,
|
||
)
|
||
|
||
object ModificationCCCodec : ModelCodec<ModificationCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ModificationCC {
|
||
val Field1 = R.ReadLong()
|
||
val ModificationCount = R.ReadByte()
|
||
val ModificationIndex = R.ReadByte()
|
||
return ModificationCC(Field1, ModificationCount, ModificationIndex)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ModificationCC) {
|
||
W.WriteLong(V.Field1)
|
||
W.WriteByte(V.ModificationCount.toInt())
|
||
W.WriteByte(V.ModificationIndex.toInt())
|
||
}
|
||
}
|
||
|
||
// Object3DSCC|module_85196
|
||
data class Object3DSCC(
|
||
val Resource: List<LodLevelCC>,
|
||
)
|
||
|
||
object Object3DSCCCodec : ModelCodec<Object3DSCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Object3DSCC {
|
||
val Resource = Wire.ReadList(R) { LodLevelCCCodec.Decode(R, N) }
|
||
return Object3DSCC(Resource)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Object3DSCC) {
|
||
Wire.WriteList(W, V.Resource) { LodLevelCCCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// PremiumItemCC|module_85196
|
||
data class PremiumItemCC(
|
||
val PremiumItem: Boolean,
|
||
)
|
||
|
||
object PremiumItemCCCodec : ModelCodec<PremiumItemCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): PremiumItemCC {
|
||
val PremiumItem = R.ReadBool()
|
||
return PremiumItemCC(PremiumItem)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: PremiumItemCC) {
|
||
W.WriteBool(V.PremiumItem)
|
||
}
|
||
}
|
||
|
||
// ItemGaragePropertyData|module_85196
|
||
data class ItemGaragePropertyData(
|
||
val Property: Int,
|
||
val Value: String,
|
||
)
|
||
|
||
object ItemGaragePropertyDataCodec : ModelCodec<ItemGaragePropertyData> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemGaragePropertyData {
|
||
val Property = R.ReadInt()
|
||
val Value = R.ReadString()
|
||
return ItemGaragePropertyData(Property, Value)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemGaragePropertyData) {
|
||
W.WriteInt(V.Property)
|
||
W.WriteString(V.Value)
|
||
}
|
||
}
|
||
|
||
// ItemPropertiesCC|module_85196
|
||
data class ItemPropertiesCC(
|
||
val Properties: List<ItemGaragePropertyData>,
|
||
)
|
||
|
||
object ItemPropertiesCCCodec : ModelCodec<ItemPropertiesCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemPropertiesCC {
|
||
val Properties = Wire.ReadList(R) { ItemGaragePropertyDataCodec.Decode(R, N) }
|
||
return ItemPropertiesCC(Properties)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemPropertiesCC) {
|
||
Wire.WriteList(W, V.Properties) { ItemGaragePropertyDataCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// El|module_85196
|
||
data class El(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object ElCodec : ModelCodec<El> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): El {
|
||
val Field1 = R.ReadInt()
|
||
return El(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: El) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// ItemRarityCC|module_85196
|
||
data class ItemRarityCC(
|
||
val Rarity: Int,
|
||
)
|
||
|
||
object ItemRarityCCCodec : ModelCodec<ItemRarityCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemRarityCC {
|
||
val Rarity = R.ReadInt()
|
||
return ItemRarityCC(Rarity)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemRarityCC) {
|
||
W.WriteInt(V.Rarity)
|
||
}
|
||
}
|
||
|
||
// _v|module_85196
|
||
data class V(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object VCodec : ModelCodec<V> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): V {
|
||
val Field1 = R.ReadInt()
|
||
return V(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: V) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// RelativePropertiesCC|module_85196
|
||
data class RelativePropertiesCC(
|
||
val Properties: List<RelativePropertyData>,
|
||
)
|
||
|
||
object RelativePropertiesCCCodec : ModelCodec<RelativePropertiesCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): RelativePropertiesCC {
|
||
val Properties = Wire.ReadList(R) { RelativePropertyDataCodec.Decode(R, N) }
|
||
return RelativePropertiesCC(Properties)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: RelativePropertiesCC) {
|
||
Wire.WriteList(W, V.Properties) { RelativePropertyDataCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// qv|module_85196
|
||
data class Qv(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object QvCodec : ModelCodec<Qv> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Qv {
|
||
val Field1 = R.ReadInt()
|
||
return Qv(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Qv) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// RelativePropertyData|module_85196
|
||
data class RelativePropertyData(
|
||
val Property: Int,
|
||
val Field2: Int,
|
||
)
|
||
|
||
object RelativePropertyDataCodec : ModelCodec<RelativePropertyData> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): RelativePropertyData {
|
||
val Property = R.ReadInt()
|
||
val Field2 = R.ReadInt()
|
||
return RelativePropertyData(Property, Field2)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: RelativePropertyData) {
|
||
W.WriteInt(V.Property)
|
||
W.WriteInt(V.Field2)
|
||
}
|
||
}
|
||
|
||
// MountedResistancesCC|module_85196
|
||
data class MountedResistancesCC(
|
||
val Resistances: List<Long?>,
|
||
)
|
||
|
||
object MountedResistancesCCCodec : ModelCodec<MountedResistancesCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): MountedResistancesCC {
|
||
val Resistances = Wire.ReadList(R) { Wire.ReadOpt(R, N) { R.ReadLong() } }
|
||
return MountedResistancesCC(Resistances)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: MountedResistancesCC) {
|
||
Wire.WriteList(W, V.Resistances) { Wire.WriteOpt(N, it) { W.WriteLong(it) } }
|
||
}
|
||
}
|
||
|
||
// ResistanceBackgroundCC|module_85196
|
||
data class ResistanceBackgroundCC(
|
||
val ImageBackground: Long?,
|
||
)
|
||
|
||
object ResistanceBackgroundCCCodec : ModelCodec<ResistanceBackgroundCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ResistanceBackgroundCC {
|
||
val ImageBackground = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
return ResistanceBackgroundCC(ImageBackground)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ResistanceBackgroundCC) {
|
||
Wire.WriteOpt(N, V.ImageBackground) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// Barrel|module_85196
|
||
data class Barrel(
|
||
val MuzzlePosition: Vector3,
|
||
val Origin: Vector3,
|
||
)
|
||
|
||
object BarrelCodec : ModelCodec<Barrel> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Barrel {
|
||
val MuzzlePosition = R.ReadVector3()
|
||
val Origin = R.ReadVector3()
|
||
return Barrel(MuzzlePosition, Origin)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Barrel) {
|
||
W.WriteVector3(V.MuzzlePosition)
|
||
W.WriteVector3(V.Origin)
|
||
}
|
||
}
|
||
|
||
// CollisionBox|module_85196
|
||
data class CollisionBoxM85196Fo(
|
||
val HalfSize: Vector3,
|
||
val LocalTransform: List<Float>,
|
||
val Tag: String?,
|
||
)
|
||
|
||
object CollisionBoxM85196FoCodec : ModelCodec<CollisionBoxM85196Fo> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): CollisionBoxM85196Fo {
|
||
val HalfSize = R.ReadVector3()
|
||
val LocalTransform = Wire.ReadList(R) { R.ReadFloat() }
|
||
val Tag = Wire.ReadOpt(R, N) { R.ReadString() }
|
||
return CollisionBoxM85196Fo(HalfSize, LocalTransform, Tag)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: CollisionBoxM85196Fo) {
|
||
W.WriteVector3(V.HalfSize)
|
||
Wire.WriteList(W, V.LocalTransform) { W.WriteFloat(it) }
|
||
Wire.WriteOpt(N, V.Tag) { W.WriteString(it) }
|
||
}
|
||
}
|
||
|
||
// HullSkinModelCC|module_85196
|
||
data class HullSkinModelCC(
|
||
val BodySize: Vector3,
|
||
val Field2: Float,
|
||
val MainCollisionBox: CollisionBoxM85196Fo,
|
||
val Field4: Float,
|
||
val SkinOffset: Vector3,
|
||
val StaticCollisionBoxes: List<CollisionBoxM85196Fo>,
|
||
val TrackAnchors: List<Vector3>,
|
||
val TrailAnchors: List<Vector3>,
|
||
val TurretMountPoint: Vector3,
|
||
val UltimatePoint: Vector3,
|
||
)
|
||
|
||
object HullSkinModelCCCodec : ModelCodec<HullSkinModelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): HullSkinModelCC {
|
||
val BodySize = R.ReadVector3()
|
||
val Field2 = R.ReadFloat()
|
||
val MainCollisionBox = CollisionBoxM85196FoCodec.Decode(R, N)
|
||
val Field4 = R.ReadFloat()
|
||
val SkinOffset = R.ReadVector3()
|
||
val StaticCollisionBoxes = Wire.ReadList(R) { CollisionBoxM85196FoCodec.Decode(R, N) }
|
||
val TrackAnchors = Wire.ReadList(R) { R.ReadVector3() }
|
||
val TrailAnchors = Wire.ReadList(R) { R.ReadVector3() }
|
||
val TurretMountPoint = R.ReadVector3()
|
||
val UltimatePoint = R.ReadVector3()
|
||
return HullSkinModelCC(BodySize, Field2, MainCollisionBox, Field4, SkinOffset, StaticCollisionBoxes, TrackAnchors, TrailAnchors, TurretMountPoint, UltimatePoint)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: HullSkinModelCC) {
|
||
W.WriteVector3(V.BodySize)
|
||
W.WriteFloat(V.Field2)
|
||
CollisionBoxM85196FoCodec.Encode(W, N, V.MainCollisionBox)
|
||
W.WriteFloat(V.Field4)
|
||
W.WriteVector3(V.SkinOffset)
|
||
Wire.WriteList(W, V.StaticCollisionBoxes) { CollisionBoxM85196FoCodec.Encode(W, N, it) }
|
||
Wire.WriteList(W, V.TrackAnchors) { W.WriteVector3(it) }
|
||
Wire.WriteList(W, V.TrailAnchors) { W.WriteVector3(it) }
|
||
W.WriteVector3(V.TurretMountPoint)
|
||
W.WriteVector3(V.UltimatePoint)
|
||
}
|
||
}
|
||
|
||
// TankPartSkinModelCC|module_85196
|
||
data class TankPartSkinModelCC(
|
||
val DetailedCollisionGeometry: Long?,
|
||
val VisualLods: List<Long>,
|
||
)
|
||
|
||
object TankPartSkinModelCCCodec : ModelCodec<TankPartSkinModelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): TankPartSkinModelCC {
|
||
val DetailedCollisionGeometry = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
val VisualLods = Wire.ReadList(R) { R.ReadLong() }
|
||
return TankPartSkinModelCC(DetailedCollisionGeometry, VisualLods)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: TankPartSkinModelCC) {
|
||
Wire.WriteOpt(N, V.DetailedCollisionGeometry) { W.WriteLong(it) }
|
||
Wire.WriteList(W, V.VisualLods) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// TurretSkinModelCC|module_85196
|
||
data class TurretSkinModelCC(
|
||
val Barrels: List<Barrel>,
|
||
val BoundsMax: Vector3,
|
||
val BoundsMin: Vector3,
|
||
val CollisionBoxes: List<CollisionBoxM85196Fo>,
|
||
val FlagMountPoint: Vector3,
|
||
val LaserPoint: Vector3,
|
||
)
|
||
|
||
object TurretSkinModelCCCodec : ModelCodec<TurretSkinModelCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): TurretSkinModelCC {
|
||
val Barrels = Wire.ReadList(R) { BarrelCodec.Decode(R, N) }
|
||
val BoundsMax = R.ReadVector3()
|
||
val BoundsMin = R.ReadVector3()
|
||
val CollisionBoxes = Wire.ReadList(R) { CollisionBoxM85196FoCodec.Decode(R, N) }
|
||
val FlagMountPoint = R.ReadVector3()
|
||
val LaserPoint = R.ReadVector3()
|
||
return TurretSkinModelCC(Barrels, BoundsMax, BoundsMin, CollisionBoxes, FlagMountPoint, LaserPoint)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: TurretSkinModelCC) {
|
||
Wire.WriteList(W, V.Barrels) { BarrelCodec.Encode(W, N, it) }
|
||
W.WriteVector3(V.BoundsMax)
|
||
W.WriteVector3(V.BoundsMin)
|
||
Wire.WriteList(W, V.CollisionBoxes) { CollisionBoxM85196FoCodec.Encode(W, N, it) }
|
||
W.WriteVector3(V.FlagMountPoint)
|
||
W.WriteVector3(V.LaserPoint)
|
||
}
|
||
}
|
||
|
||
// TemporaryItemCC|module_85196
|
||
data class TemporaryItemCC(
|
||
val InfinityLifetimeItem: Boolean,
|
||
val Field2: Int,
|
||
val Field3: Int,
|
||
)
|
||
|
||
object TemporaryItemCCCodec : ModelCodec<TemporaryItemCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): TemporaryItemCC {
|
||
val InfinityLifetimeItem = R.ReadBool()
|
||
val Field2 = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
return TemporaryItemCC(InfinityLifetimeItem, Field2, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: TemporaryItemCC) {
|
||
W.WriteBool(V.InfinityLifetimeItem)
|
||
W.WriteInt(V.Field2)
|
||
W.WriteInt(V.Field3)
|
||
}
|
||
}
|
||
|
||
// UpgradeParamsCC|module_85196
|
||
data class UpgradeParamsCC(
|
||
val Field1: Int,
|
||
val ItemData: UpgradeParamsData,
|
||
val Field3: Int,
|
||
)
|
||
|
||
object UpgradeParamsCCCodec : ModelCodec<UpgradeParamsCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): UpgradeParamsCC {
|
||
val Field1 = R.ReadInt()
|
||
val ItemData = UpgradeParamsDataCodec.Decode(R, N)
|
||
val Field3 = R.ReadInt()
|
||
return UpgradeParamsCC(Field1, ItemData, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: UpgradeParamsCC) {
|
||
W.WriteInt(V.Field1)
|
||
UpgradeParamsDataCodec.Encode(W, N, V.ItemData)
|
||
W.WriteInt(V.Field3)
|
||
}
|
||
}
|
||
|
||
// GaragePropertyParams|module_85196
|
||
data class GaragePropertyParams(
|
||
val Field1: Int,
|
||
val Properties: List<PropertyData>,
|
||
val Property: Int,
|
||
val VisibleInInfo: Boolean,
|
||
)
|
||
|
||
object GaragePropertyParamsCodec : ModelCodec<GaragePropertyParams> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): GaragePropertyParams {
|
||
val Field1 = R.ReadInt()
|
||
val Properties = Wire.ReadList(R) { PropertyDataCodec.Decode(R, N) }
|
||
val Property = R.ReadInt()
|
||
val VisibleInInfo = R.ReadBool()
|
||
return GaragePropertyParams(Field1, Properties, Property, VisibleInInfo)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: GaragePropertyParams) {
|
||
W.WriteInt(V.Field1)
|
||
Wire.WriteList(W, V.Properties) { PropertyDataCodec.Encode(W, N, it) }
|
||
W.WriteInt(V.Property)
|
||
W.WriteBool(V.VisibleInInfo)
|
||
}
|
||
}
|
||
|
||
// PropertyData|module_85196
|
||
data class PropertyData(
|
||
val Field1: Float,
|
||
val Field2: Float,
|
||
val Property: Int,
|
||
)
|
||
|
||
object PropertyDataCodec : ModelCodec<PropertyData> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): PropertyData {
|
||
val Field1 = R.ReadFloat()
|
||
val Field2 = R.ReadFloat()
|
||
val Property = R.ReadInt()
|
||
return PropertyData(Field1, Field2, Property)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: PropertyData) {
|
||
W.WriteFloat(V.Field1)
|
||
W.WriteFloat(V.Field2)
|
||
W.WriteInt(V.Property)
|
||
}
|
||
}
|
||
|
||
// UpgradeParamsData|module_85196
|
||
data class UpgradeParamsData(
|
||
val Field1: Int,
|
||
val Field2: Int,
|
||
val Field3: Int,
|
||
val Field4: Int,
|
||
val Properties: List<GaragePropertyParams>,
|
||
val Field6: Int,
|
||
)
|
||
|
||
object UpgradeParamsDataCodec : ModelCodec<UpgradeParamsData> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): UpgradeParamsData {
|
||
val Field1 = R.ReadInt()
|
||
val Field2 = R.ReadInt()
|
||
val Field3 = R.ReadInt()
|
||
val Field4 = R.ReadInt()
|
||
val Properties = Wire.ReadList(R) { GaragePropertyParamsCodec.Decode(R, N) }
|
||
val Field6 = R.ReadInt()
|
||
return UpgradeParamsData(Field1, Field2, Field3, Field4, Properties, Field6)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: UpgradeParamsData) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteInt(V.Field2)
|
||
W.WriteInt(V.Field3)
|
||
W.WriteInt(V.Field4)
|
||
Wire.WriteList(W, V.Properties) { GaragePropertyParamsCodec.Encode(W, N, it) }
|
||
W.WriteInt(V.Field6)
|
||
}
|
||
}
|
||
|
||
// ItemViewCategoryCC|module_85196
|
||
data class ItemViewCategoryCC(
|
||
val Category: Int,
|
||
)
|
||
|
||
object ItemViewCategoryCCCodec : ModelCodec<ItemViewCategoryCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ItemViewCategoryCC {
|
||
val Category = R.ReadInt()
|
||
return ItemViewCategoryCC(Category)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ItemViewCategoryCC) {
|
||
W.WriteInt(V.Category)
|
||
}
|
||
}
|
||
|
||
// VisibleCC|module_85196
|
||
data class VisibleCC(
|
||
val Secret: Boolean,
|
||
val Visible: Boolean,
|
||
)
|
||
|
||
object VisibleCCCodec : ModelCodec<VisibleCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): VisibleCC {
|
||
val Secret = R.ReadBool()
|
||
val Visible = R.ReadBool()
|
||
return VisibleCC(Secret, Visible)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: VisibleCC) {
|
||
W.WriteBool(V.Secret)
|
||
W.WriteBool(V.Visible)
|
||
}
|
||
}
|
||
|
||
// Bp|module_85196
|
||
data class Bp(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object BpCodec : ModelCodec<Bp> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Bp {
|
||
val Field1 = R.ReadInt()
|
||
return Bp(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Bp) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// AmountWithGameCurrency|module_85196
|
||
data class AmountWithGameCurrency(
|
||
val Field1: Int,
|
||
val Currency: Int,
|
||
)
|
||
|
||
object AmountWithGameCurrencyCodec : ModelCodec<AmountWithGameCurrency> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): AmountWithGameCurrency {
|
||
val Field1 = R.ReadInt()
|
||
val Currency = R.ReadInt()
|
||
return AmountWithGameCurrency(Field1, Currency)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: AmountWithGameCurrency) {
|
||
W.WriteInt(V.Field1)
|
||
W.WriteInt(V.Currency)
|
||
}
|
||
}
|
||
|
||
// ProtectionSlot|module_85196
|
||
data class ProtectionSlot(
|
||
val Name: String,
|
||
val Price: AmountWithGameCurrency,
|
||
val Field3: Int,
|
||
)
|
||
|
||
object ProtectionSlotCodec : ModelCodec<ProtectionSlot> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ProtectionSlot {
|
||
val Name = R.ReadString()
|
||
val Price = AmountWithGameCurrencyCodec.Decode(R, N)
|
||
val Field3 = R.ReadInt()
|
||
return ProtectionSlot(Name, Price, Field3)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ProtectionSlot) {
|
||
W.WriteString(V.Name)
|
||
AmountWithGameCurrencyCodec.Encode(W, N, V.Price)
|
||
W.WriteInt(V.Field3)
|
||
}
|
||
}
|
||
|
||
// ProtectionSlotsCC|module_85196
|
||
data class ProtectionSlotsCC(
|
||
val Prices: List<ProtectionSlot>,
|
||
val Field2: Int,
|
||
)
|
||
|
||
object ProtectionSlotsCCCodec : ModelCodec<ProtectionSlotsCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): ProtectionSlotsCC {
|
||
val Prices = Wire.ReadList(R) { ProtectionSlotCodec.Decode(R, N) }
|
||
val Field2 = R.ReadInt()
|
||
return ProtectionSlotsCC(Prices, Field2)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: ProtectionSlotsCC) {
|
||
Wire.WriteList(W, V.Prices) { ProtectionSlotCodec.Encode(W, N, it) }
|
||
W.WriteInt(V.Field2)
|
||
}
|
||
}
|
||
|
||
// UserItemFavoriteCC|module_85196
|
||
data class UserItemFavoriteCC(
|
||
val ItemsId: List<Long>,
|
||
)
|
||
|
||
object UserItemFavoriteCCCodec : ModelCodec<UserItemFavoriteCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): UserItemFavoriteCC {
|
||
val ItemsId = Wire.ReadList(R) { R.ReadLong() }
|
||
return UserItemFavoriteCC(ItemsId)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: UserItemFavoriteCC) {
|
||
Wire.WriteList(W, V.ItemsId) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// PresentItem|module_85196
|
||
data class PresentItem(
|
||
val Banned: Boolean,
|
||
val Date: Long,
|
||
val Field3: Long,
|
||
val Present: Long,
|
||
val Presenter: Long,
|
||
val Text: String,
|
||
)
|
||
|
||
object PresentItemCodec : ModelCodec<PresentItem> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): PresentItem {
|
||
val Banned = R.ReadBool()
|
||
val Date = R.ReadLong()
|
||
val Field3 = R.ReadLong()
|
||
val Present = R.ReadLong()
|
||
val Presenter = R.ReadLong()
|
||
val Text = R.ReadString()
|
||
return PresentItem(Banned, Date, Field3, Present, Presenter, Text)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: PresentItem) {
|
||
W.WriteBool(V.Banned)
|
||
W.WriteLong(V.Date)
|
||
W.WriteLong(V.Field3)
|
||
W.WriteLong(V.Present)
|
||
W.WriteLong(V.Presenter)
|
||
W.WriteString(V.Text)
|
||
}
|
||
}
|
||
|
||
// PresentsCC|module_85196
|
||
data class PresentsCC(
|
||
val Presents: List<PresentItem>,
|
||
)
|
||
|
||
object PresentsCCCodec : ModelCodec<PresentsCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): PresentsCC {
|
||
val Presents = Wire.ReadList(R) { PresentItemCodec.Decode(R, N) }
|
||
return PresentsCC(Presents)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: PresentsCC) {
|
||
Wire.WriteList(W, V.Presents) { PresentItemCodec.Encode(W, N, it) }
|
||
}
|
||
}
|
||
|
||
// dw|module_85196
|
||
data class Dw(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object DwCodec : ModelCodec<Dw> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Dw {
|
||
val Field1 = R.ReadInt()
|
||
return Dw(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Dw) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// zw|module_85196
|
||
data class Zw(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object ZwCodec : ModelCodec<Zw> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Zw {
|
||
val Field1 = R.ReadInt()
|
||
return Zw(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Zw) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// HullEngineTypeCC|module_85196
|
||
data class HullEngineTypeCC(
|
||
val EngineType: Int,
|
||
)
|
||
|
||
object HullEngineTypeCCCodec : ModelCodec<HullEngineTypeCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): HullEngineTypeCC {
|
||
val EngineType = R.ReadInt()
|
||
return HullEngineTypeCC(EngineType)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: HullEngineTypeCC) {
|
||
W.WriteInt(V.EngineType)
|
||
}
|
||
}
|
||
|
||
// OverdriveDescriptionCC|module_85196
|
||
data class OverdriveDescriptionCC(
|
||
val Description: String?,
|
||
val Icon: Long?,
|
||
val Name: String,
|
||
)
|
||
|
||
object OverdriveDescriptionCCCodec : ModelCodec<OverdriveDescriptionCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): OverdriveDescriptionCC {
|
||
val Description = Wire.ReadOpt(R, N) { R.ReadString() }
|
||
val Icon = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
val Name = R.ReadString()
|
||
return OverdriveDescriptionCC(Description, Icon, Name)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: OverdriveDescriptionCC) {
|
||
Wire.WriteOpt(N, V.Description) { W.WriteString(it) }
|
||
Wire.WriteOpt(N, V.Icon) { W.WriteLong(it) }
|
||
W.WriteString(V.Name)
|
||
}
|
||
}
|
||
|
||
// RelatedResistanceModuleCC|module_85196
|
||
data class RelatedResistanceModuleCC(
|
||
val ResistanceModule: Long?,
|
||
)
|
||
|
||
object RelatedResistanceModuleCCCodec : ModelCodec<RelatedResistanceModuleCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): RelatedResistanceModuleCC {
|
||
val ResistanceModule = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
return RelatedResistanceModuleCC(ResistanceModule)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: RelatedResistanceModuleCC) {
|
||
Wire.WriteOpt(N, V.ResistanceModule) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// Fw|module_85196
|
||
data class Fw(
|
||
val Field1: Int,
|
||
)
|
||
|
||
object FwCodec : ModelCodec<Fw> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): Fw {
|
||
val Field1 = R.ReadInt()
|
||
return Fw(Field1)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: Fw) {
|
||
W.WriteInt(V.Field1)
|
||
}
|
||
}
|
||
|
||
// TurretMechanismCC|module_85196
|
||
data class TurretMechanismCC(
|
||
val WeaponType: Int,
|
||
)
|
||
|
||
object TurretMechanismCCCodec : ModelCodec<TurretMechanismCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): TurretMechanismCC {
|
||
val WeaponType = R.ReadInt()
|
||
return TurretMechanismCC(WeaponType)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: TurretMechanismCC) {
|
||
W.WriteInt(V.WeaponType)
|
||
}
|
||
}
|
||
|
||
// AvailableSkinsCC|module_85196
|
||
data class AvailableSkinsCC(
|
||
val Skins: List<Long>,
|
||
)
|
||
|
||
object AvailableSkinsCCCodec : ModelCodec<AvailableSkinsCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): AvailableSkinsCC {
|
||
val Skins = Wire.ReadList(R) { R.ReadLong() }
|
||
return AvailableSkinsCC(Skins)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: AvailableSkinsCC) {
|
||
Wire.WriteList(W, V.Skins) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// MountedSkinCC|module_85196
|
||
data class MountedSkinCC(
|
||
val Item: Long,
|
||
)
|
||
|
||
object MountedSkinCCCodec : ModelCodec<MountedSkinCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): MountedSkinCC {
|
||
val Item = R.ReadLong()
|
||
return MountedSkinCC(Item)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: MountedSkinCC) {
|
||
W.WriteLong(V.Item)
|
||
}
|
||
}
|
||
|
||
// AvailableShotSkinsCC|module_85196
|
||
data class AvailableShotSkinsCC(
|
||
val Skins: List<Long>,
|
||
)
|
||
|
||
object AvailableShotSkinsCCCodec : ModelCodec<AvailableShotSkinsCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): AvailableShotSkinsCC {
|
||
val Skins = Wire.ReadList(R) { R.ReadLong() }
|
||
return AvailableShotSkinsCC(Skins)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: AvailableShotSkinsCC) {
|
||
Wire.WriteList(W, V.Skins) { W.WriteLong(it) }
|
||
}
|
||
}
|
||
|
||
// SkinPreviewCC|module_85196
|
||
data class SkinPreviewCC(
|
||
val Preview: Long?,
|
||
)
|
||
|
||
object SkinPreviewCCCodec : ModelCodec<SkinPreviewCC> {
|
||
override fun Decode(R: ByteReader, N: NullmapCursor): SkinPreviewCC {
|
||
val Preview = Wire.ReadOpt(R, N) { R.ReadLong() }
|
||
return SkinPreviewCC(Preview)
|
||
}
|
||
|
||
override fun Encode(W: ByteWriter, N: NullmapWriter, V: SkinPreviewCC) {
|
||
Wire.WriteOpt(N, V.Preview) { W.WriteLong(it) }
|
||
}
|
||
}
|