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