]> git.lizzy.rs Git - hydra-dragonfire.git/blob - fromlua/generated.go
Implement sending of packets
[hydra-dragonfire.git] / fromlua / generated.go
1 // generated by generate.lua, DO NOT EDIT
2 package fromlua
3
4 import (
5         "github.com/anon55555/mt"
6         "github.com/yuin/gopher-lua"
7 )
8
9 func readAOID(l *lua.LState, val lua.LValue, ptr *mt.AOID) {
10         if val.Type() != lua.LTNumber {
11                 panic("invalid value for AOID: must be a number")
12         }
13         *ptr = mt.AOID(val.(lua.LNumber))
14 }
15
16 func readCompressionModes(l *lua.LState, val lua.LValue, ptr *mt.CompressionModes) {
17         if val.Type() != lua.LTNumber {
18                 panic("invalid value for CompressionModes: must be a number")
19         }
20         *ptr = mt.CompressionModes(val.(lua.LNumber))
21 }
22
23 func readInt16(l *lua.LState, val lua.LValue, ptr *int16) {
24         if val.Type() != lua.LTNumber {
25                 panic("invalid value for int16: must be a number")
26         }
27         *ptr = int16(val.(lua.LNumber))
28 }
29
30 func readInt32(l *lua.LState, val lua.LValue, ptr *int32) {
31         if val.Type() != lua.LTNumber {
32                 panic("invalid value for int32: must be a number")
33         }
34         *ptr = int32(val.(lua.LNumber))
35 }
36
37 func readInteraction(l *lua.LState, val lua.LValue, ptr *mt.Interaction) {
38         if val.Type() != lua.LTString {
39                 panic("invalid value for Interaction: must be a string")
40         }
41         str := string(val.(lua.LString))
42         switch str {
43         case "dig":
44                 *ptr = mt.Dig
45         case "stop_digging":
46                 *ptr = mt.StopDigging
47         case "dug":
48                 *ptr = mt.Dug
49         case "place":
50                 *ptr = mt.Place
51         case "use":
52                 *ptr = mt.Use
53         case "activate":
54                 *ptr = mt.Activate
55         default:
56                 panic("invalid value for interaction: " + str)
57         }
58 }
59
60 func readKeys(l *lua.LState, val lua.LValue, ptr *mt.Keys) {
61         if val.Type() != lua.LTTable {
62                 panic("invalid value for Keys: must be a table")
63         }
64         if l.GetField(val, "forward") == lua.LTrue {
65                 *ptr = *ptr | mt.ForwardKey
66         }
67         if l.GetField(val, "backward") == lua.LTrue {
68                 *ptr = *ptr | mt.BackwardKey
69         }
70         if l.GetField(val, "left") == lua.LTrue {
71                 *ptr = *ptr | mt.LeftKey
72         }
73         if l.GetField(val, "right") == lua.LTrue {
74                 *ptr = *ptr | mt.RightKey
75         }
76         if l.GetField(val, "jump") == lua.LTrue {
77                 *ptr = *ptr | mt.JumpKey
78         }
79         if l.GetField(val, "special") == lua.LTrue {
80                 *ptr = *ptr | mt.SpecialKey
81         }
82         if l.GetField(val, "sneak") == lua.LTrue {
83                 *ptr = *ptr | mt.SneakKey
84         }
85         if l.GetField(val, "dig") == lua.LTrue {
86                 *ptr = *ptr | mt.DigKey
87         }
88         if l.GetField(val, "place") == lua.LTrue {
89                 *ptr = *ptr | mt.PlaceKey
90         }
91         if l.GetField(val, "zoom") == lua.LTrue {
92                 *ptr = *ptr | mt.ZoomKey
93         }
94 }
95
96 func readPlayerPos(l *lua.LState, val lua.LValue, ptr *mt.PlayerPos) {
97         if val.Type() != lua.LTTable {
98                 panic("invalid value for PlayerPos: must be a table")
99         }
100         readUint8(l, l.GetField(val, "fov80"), &ptr.FOV80)
101         readKeys(l, l.GetField(val, "keys"), &ptr.Keys)
102         readInt32(l, l.GetField(val, "pitch100"), &ptr.Pitch100)
103         readVec3Int32(l, l.GetField(val, "pos100"), &ptr.Pos100)
104         readVec3Int32(l, l.GetField(val, "vel100"), &ptr.Vel100)
105         readUint8(l, l.GetField(val, "wanted_range"), &ptr.WantedRange)
106         readInt32(l, l.GetField(val, "yaw100"), &ptr.Yaw100)
107 }
108
109 func readSliceSoundID(l *lua.LState, val lua.LValue, ptr *[]mt.SoundID) {
110         if val.Type() != lua.LTTable {
111                 panic("invalid value for []SoundID: must be a table")
112         }
113         tbl := val.(*lua.LTable)
114         n := tbl.MaxN()
115         *ptr = make([]mt.SoundID, n)
116         for i := range *ptr {
117                 readSoundID(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
118         }
119 }
120
121 func readSliceString(l *lua.LState, val lua.LValue, ptr *[]string) {
122         if val.Type() != lua.LTTable {
123                 panic("invalid value for []string: must be a table")
124         }
125         tbl := val.(*lua.LTable)
126         n := tbl.MaxN()
127         *ptr = make([]string, n)
128         for i := range *ptr {
129                 readString(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
130         }
131 }
132
133 func readSliceVec3Int16(l *lua.LState, val lua.LValue, ptr *[][3]int16) {
134         if val.Type() != lua.LTTable {
135                 panic("invalid value for [][3]int16: must be a table")
136         }
137         tbl := val.(*lua.LTable)
138         n := tbl.MaxN()
139         *ptr = make([][3]int16, n)
140         for i := range *ptr {
141                 readVec3Int16(l, l.RawGetInt(tbl, i+1), &(*ptr)[i])
142         }
143 }
144
145 func readSoundID(l *lua.LState, val lua.LValue, ptr *mt.SoundID) {
146         if val.Type() != lua.LTNumber {
147                 panic("invalid value for SoundID: must be a number")
148         }
149         *ptr = mt.SoundID(val.(lua.LNumber))
150 }
151
152 func readUint16(l *lua.LState, val lua.LValue, ptr *uint16) {
153         if val.Type() != lua.LTNumber {
154                 panic("invalid value for uint16: must be a number")
155         }
156         *ptr = uint16(val.(lua.LNumber))
157 }
158
159 func readUint8(l *lua.LState, val lua.LValue, ptr *uint8) {
160         if val.Type() != lua.LTNumber {
161                 panic("invalid value for uint8: must be a number")
162         }
163         *ptr = uint8(val.(lua.LNumber))
164 }
165
166 func readVec3Int16(l *lua.LState, val lua.LValue, ptr *[3]int16) {
167         if val.Type() != lua.LTTable {
168                 panic("invalid value for [3]int16: must be a table")
169         }
170         readInt16(l, l.GetField(val, "x"), &(*ptr)[0])
171         readInt16(l, l.GetField(val, "y"), &(*ptr)[1])
172         readInt16(l, l.GetField(val, "z"), &(*ptr)[2])
173 }
174
175 func readVec3Int32(l *lua.LState, val lua.LValue, ptr *[3]int32) {
176         if val.Type() != lua.LTTable {
177                 panic("invalid value for [3]int32: must be a table")
178         }
179         readInt32(l, l.GetField(val, "x"), &(*ptr)[0])
180         readInt32(l, l.GetField(val, "y"), &(*ptr)[1])
181         readInt32(l, l.GetField(val, "z"), &(*ptr)[2])
182 }
183
184 func Cmd(l *lua.LState) mt.Cmd {
185         str := l.CheckString(2)
186         switch str {
187         case "chat_msg":
188                 ptr := &mt.ToSrvChatMsg{}
189                 val := l.CheckTable(3)
190                 readString(l, l.GetField(val, "msg"), &ptr.Msg)
191                 return ptr
192         case "clt_ready":
193                 ptr := &mt.ToSrvCltReady{}
194                 val := l.CheckTable(3)
195                 readUint16(l, l.GetField(val, "formspec"), &ptr.Formspec)
196                 readUint8(l, l.GetField(val, "major"), &ptr.Major)
197                 readUint8(l, l.GetField(val, "minor"), &ptr.Minor)
198                 readUint8(l, l.GetField(val, "patch"), &ptr.Patch)
199                 readString(l, l.GetField(val, "version"), &ptr.Version)
200                 return ptr
201         case "deleted_blks":
202                 ptr := &mt.ToSrvDeletedBlks{}
203                 val := l.CheckTable(3)
204                 readSliceVec3Int16(l, l.GetField(val, "blks"), &ptr.Blks)
205                 return ptr
206         case "fall_dmg":
207                 ptr := &mt.ToSrvFallDmg{}
208                 val := l.CheckTable(3)
209                 readUint16(l, l.GetField(val, "amount"), &ptr.Amount)
210                 return ptr
211         case "first_srp":
212                 ptr := &mt.ToSrvFirstSRP{}
213                 val := l.CheckTable(3)
214                 readBool(l, l.GetField(val, "empty_passwd"), &ptr.EmptyPasswd)
215                 readSliceByte(l, l.GetField(val, "salt"), &ptr.Salt)
216                 readSliceByte(l, l.GetField(val, "verifier"), &ptr.Verifier)
217                 return ptr
218         case "got_blks":
219                 ptr := &mt.ToSrvGotBlks{}
220                 val := l.CheckTable(3)
221                 readSliceVec3Int16(l, l.GetField(val, "blks"), &ptr.Blks)
222                 return ptr
223         case "init":
224                 ptr := &mt.ToSrvInit{}
225                 val := l.CheckTable(3)
226                 readUint16(l, l.GetField(val, "max_proto_ver"), &ptr.MaxProtoVer)
227                 readUint16(l, l.GetField(val, "min_proto_ver"), &ptr.MinProtoVer)
228                 readString(l, l.GetField(val, "player_name"), &ptr.PlayerName)
229                 readBool(l, l.GetField(val, "send_full_item_meta"), &ptr.SendFullItemMeta)
230                 readUint8(l, l.GetField(val, "serialize_ver"), &ptr.SerializeVer)
231                 readCompressionModes(l, l.GetField(val, "supported_compression"), &ptr.SupportedCompression)
232                 return ptr
233         case "init2":
234                 ptr := &mt.ToSrvInit2{}
235                 val := l.CheckTable(3)
236                 readString(l, l.GetField(val, "lang"), &ptr.Lang)
237                 return ptr
238         case "interact":
239                 ptr := &mt.ToSrvInteract{}
240                 val := l.CheckTable(3)
241                 readInteraction(l, l.GetField(val, "action"), &ptr.Action)
242                 readUint16(l, l.GetField(val, "item_slot"), &ptr.ItemSlot)
243                 readPointedThing(l, l.GetField(val, "pointed"), &ptr.Pointed)
244                 readPlayerPos(l, l.GetField(val, "pos"), &ptr.Pos)
245                 return ptr
246         case "inv_action":
247                 ptr := &mt.ToSrvInvAction{}
248                 val := l.CheckTable(3)
249                 readString(l, l.GetField(val, "action"), &ptr.Action)
250                 return ptr
251         case "inv_fields":
252                 ptr := &mt.ToSrvInvFields{}
253                 val := l.CheckTable(3)
254                 readSliceField(l, l.GetField(val, "fields"), &ptr.Fields)
255                 readString(l, l.GetField(val, "formname"), &ptr.Formname)
256                 return ptr
257         case "join_mod_chan":
258                 ptr := &mt.ToSrvJoinModChan{}
259                 val := l.CheckTable(3)
260                 readString(l, l.GetField(val, "channel"), &ptr.Channel)
261                 return ptr
262         case "leave_mod_chan":
263                 ptr := &mt.ToSrvLeaveModChan{}
264                 val := l.CheckTable(3)
265                 readString(l, l.GetField(val, "channel"), &ptr.Channel)
266                 return ptr
267         case "msg_mod_chan":
268                 ptr := &mt.ToSrvMsgModChan{}
269                 val := l.CheckTable(3)
270                 readString(l, l.GetField(val, "channel"), &ptr.Channel)
271                 readString(l, l.GetField(val, "msg"), &ptr.Msg)
272                 return ptr
273         case "nil":
274                 ptr := &mt.ToSrvNil{}
275                 return ptr
276         case "node_meta_fields":
277                 ptr := &mt.ToSrvNodeMetaFields{}
278                 val := l.CheckTable(3)
279                 readSliceField(l, l.GetField(val, "fields"), &ptr.Fields)
280                 readString(l, l.GetField(val, "formname"), &ptr.Formname)
281                 readVec3Int16(l, l.GetField(val, "pos"), &ptr.Pos)
282                 return ptr
283         case "player_pos":
284                 ptr := &mt.ToSrvPlayerPos{}
285                 val := l.CheckTable(3)
286                 readPlayerPos(l, l.GetField(val, "pos"), &ptr.Pos)
287                 return ptr
288         case "removed_sounds":
289                 ptr := &mt.ToSrvRemovedSounds{}
290                 val := l.CheckTable(3)
291                 readSliceSoundID(l, l.GetField(val, "ids"), &ptr.IDs)
292                 return ptr
293         case "req_media":
294                 ptr := &mt.ToSrvReqMedia{}
295                 val := l.CheckTable(3)
296                 readSliceString(l, l.GetField(val, "filenames"), &ptr.Filenames)
297                 return ptr
298         case "respawn":
299                 ptr := &mt.ToSrvRespawn{}
300                 return ptr
301         case "select_item":
302                 ptr := &mt.ToSrvSelectItem{}
303                 val := l.CheckTable(3)
304                 readUint16(l, l.GetField(val, "slot"), &ptr.Slot)
305                 return ptr
306         case "srp_bytes_a":
307                 ptr := &mt.ToSrvSRPBytesA{}
308                 val := l.CheckTable(3)
309                 readSliceByte(l, l.GetField(val, "a"), &ptr.A)
310                 readBool(l, l.GetField(val, "no_sha1"), &ptr.NoSHA1)
311                 return ptr
312         case "srp_bytes_m":
313                 ptr := &mt.ToSrvSRPBytesM{}
314                 val := l.CheckTable(3)
315                 readSliceByte(l, l.GetField(val, "m"), &ptr.M)
316                 return ptr
317         }
318
319         panic("invalid packet type: " + str)
320 }