diff --git a/zone/lua_packet.cpp b/zone/lua_packet.cpp index 4936259e6..0457a8310 100644 --- a/zone/lua_packet.cpp +++ b/zone/lua_packet.cpp @@ -89,6 +89,21 @@ void Lua_Packet::SetRawOpcode(int op) { self->SetOpcode(static_cast(op)); } +int Lua_Packet::GetWritePosition() { + Lua_Safe_Call_Int(); + return self->GetWritePosition(); +} + +void Lua_Packet::SetWritePosition(int offset) { + Lua_Safe_Call_Void(); + self->SetWritePosition(offset); +} + +void Lua_Packet::WriteInt8(int value) { + Lua_Safe_Call_Void(); + self->WriteUInt8(static_cast(value)); +} + void Lua_Packet::WriteInt8(int offset, int value) { Lua_Safe_Call_Void(); @@ -97,6 +112,11 @@ void Lua_Packet::WriteInt8(int offset, int value) { } } +void Lua_Packet::WriteInt16(int value) { + Lua_Safe_Call_Void(); + self->WriteUInt16(static_cast(value)); +} + void Lua_Packet::WriteInt16(int offset, int value) { Lua_Safe_Call_Void(); @@ -105,6 +125,11 @@ void Lua_Packet::WriteInt16(int offset, int value) { } } +void Lua_Packet::WriteInt32(int value) { + Lua_Safe_Call_Void(); + self->WriteUInt32(static_cast(value)); +} + void Lua_Packet::WriteInt32(int offset, int value) { Lua_Safe_Call_Void(); @@ -113,6 +138,11 @@ void Lua_Packet::WriteInt32(int offset, int value) { } } +void Lua_Packet::WriteInt64(int64 value) { + Lua_Safe_Call_Void(); + self->WriteUInt64(static_cast(value)); +} + void Lua_Packet::WriteInt64(int offset, int64 value) { Lua_Safe_Call_Void(); @@ -121,6 +151,11 @@ void Lua_Packet::WriteInt64(int offset, int64 value) { } } +void Lua_Packet::WriteFloat(float value) { + Lua_Safe_Call_Void(); + self->WriteFloat(value); +} + void Lua_Packet::WriteFloat(int offset, float value) { Lua_Safe_Call_Void(); @@ -129,6 +164,11 @@ void Lua_Packet::WriteFloat(int offset, float value) { } } +void Lua_Packet::WriteDouble(double value) { + Lua_Safe_Call_Void(); + self->WriteDouble(value); +} + void Lua_Packet::WriteDouble(int offset, double value) { Lua_Safe_Call_Void(); @@ -137,6 +177,11 @@ void Lua_Packet::WriteDouble(int offset, double value) { } } +void Lua_Packet::WriteString(std::string value) { + Lua_Safe_Call_Void(); + self->WriteString(value.c_str()); +} + void Lua_Packet::WriteString(int offset, std::string value) { Lua_Safe_Call_Void(); @@ -146,6 +191,11 @@ void Lua_Packet::WriteString(int offset, std::string value) { } } +void Lua_Packet::WriteFixedLengthString(std::string value) { + Lua_Safe_Call_Void(); + self->WriteLengthString(static_cast(value.size()), value.c_str()); +} + void Lua_Packet::WriteFixedLengthString(int offset, std::string value, int string_length) { Lua_Safe_Call_Void(); @@ -283,14 +333,24 @@ luabind::scope lua_register_packet() { .def("SetOpcode", &Lua_Packet::SetOpcode) .def("GetRawOpcode", &Lua_Packet::GetRawOpcode) .def("SetRawOpcode", &Lua_Packet::SetRawOpcode) - .def("WriteInt8", &Lua_Packet::WriteInt8) - .def("WriteInt16", &Lua_Packet::WriteInt16) - .def("WriteInt32", &Lua_Packet::WriteInt32) - .def("WriteInt64", &Lua_Packet::WriteInt64) - .def("WriteFloat", &Lua_Packet::WriteFloat) - .def("WriteDouble", &Lua_Packet::WriteDouble) - .def("WriteString", &Lua_Packet::WriteString) - .def("WriteFixedLengthString", &Lua_Packet::WriteFixedLengthString) + .def("GetWritePosition", &Lua_Packet::GetWritePosition) + .def("SetWritePosition", &Lua_Packet::SetWritePosition) + .def("WriteInt8", (void(Lua_Packet::*)(int))&Lua_Packet::WriteInt8) + .def("WriteInt8", (void(Lua_Packet::*)(int, int))&Lua_Packet::WriteInt8) + .def("WriteInt16", (void(Lua_Packet::*)(int))&Lua_Packet::WriteInt16) + .def("WriteInt16", (void(Lua_Packet::*)(int, int))&Lua_Packet::WriteInt16) + .def("WriteInt32", (void(Lua_Packet::*)(int))&Lua_Packet::WriteInt32) + .def("WriteInt32", (void(Lua_Packet::*)(int, int))&Lua_Packet::WriteInt32) + .def("WriteInt64", (void(Lua_Packet::*)(int64))&Lua_Packet::WriteInt64) + .def("WriteInt64", (void(Lua_Packet::*)(int, int64))&Lua_Packet::WriteInt64) + .def("WriteFloat", (void(Lua_Packet::*)(float))&Lua_Packet::WriteFloat) + .def("WriteFloat", (void(Lua_Packet::*)(int, float))&Lua_Packet::WriteFloat) + .def("WriteDouble", (void(Lua_Packet::*)(double))&Lua_Packet::WriteDouble) + .def("WriteDouble", (void(Lua_Packet::*)(int, double))&Lua_Packet::WriteDouble) + .def("WriteString", (void(Lua_Packet::*)(std::string))&Lua_Packet::WriteString) + .def("WriteString", (void(Lua_Packet::*)(int, std::string))&Lua_Packet::WriteString) + .def("WriteFixedLengthString", (void(Lua_Packet::*)(std::string))&Lua_Packet::WriteFixedLengthString) + .def("WriteFixedLengthString", (void(Lua_Packet::*)(int, std::string, int))&Lua_Packet::WriteFixedLengthString) .def("ReadInt8", &Lua_Packet::ReadInt8) .def("ReadInt16", &Lua_Packet::ReadInt16) .def("ReadInt32", &Lua_Packet::ReadInt32) diff --git a/zone/lua_packet.h b/zone/lua_packet.h index a3c5ac553..9558b00f7 100644 --- a/zone/lua_packet.h +++ b/zone/lua_packet.h @@ -31,13 +31,23 @@ public: void SetOpcode(int op); int GetRawOpcode(); void SetRawOpcode(int op); + int GetWritePosition(); + void SetWritePosition(int offset); + void WriteInt8(int value); void WriteInt8(int offset, int value); + void WriteInt16(int value); void WriteInt16(int offset, int value); + void WriteInt32(int value); void WriteInt32(int offset, int value); + void WriteInt64(int64 value); void WriteInt64(int offset, int64 value); + void WriteFloat(float value); void WriteFloat(int offset, float value); + void WriteDouble(double value); void WriteDouble(int offset, double value); + void WriteString(std::string value); void WriteString(int offset, std::string value); + void WriteFixedLengthString(std::string value); void WriteFixedLengthString(int offset, std::string value, int string_length); int ReadInt8(int offset); int ReadInt16(int offset);