Open-source multiplayer game server compatible with the RuneScape client https://www.openrs2.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

42 lines
1.2 KiB

package org.openrs2.cache.config.param
import io.netty.buffer.ByteBuf
import org.openrs2.buffer.readString
import org.openrs2.buffer.writeString
import org.openrs2.cache.config.ConfigType
import org.openrs2.util.charset.Cp1252Charset
public class ParamType(id: Int) : ConfigType(id) {
public var type: Char = 0.toChar()
public var defaultInt: Int = 0
public var defaultString: String? = null
override fun read(buf: ByteBuf, code: Int) {
when (code) {
1 -> type = Cp1252Charset.decode(buf.readByte())
2 -> defaultInt = buf.readInt()
5 -> defaultString = buf.readString()
else -> throw IllegalArgumentException("Unsupported config code: $code")
}
}
override fun write(buf: ByteBuf) {
if (type.code != 0) {
buf.writeByte(1)
buf.writeByte(Cp1252Charset.encode(type).toInt())
}
if (defaultInt != 0) {
buf.writeByte(2)
buf.writeInt(defaultInt)
}
val defaultString = defaultString
if (defaultString != null) {
buf.writeByte(5)
buf.writeString(defaultString)
}
buf.writeByte(0)
}
}