wl(' %s p_%s;', p.ctype, p.name)
for p in params:
if p.kind=="value":
- wl(' read_%s((%s *)&p_%s, pkt);', p.io[0].replace(' ', '_'), p.io[0], p.name)
+ wl(' packet_read_%s(pkt, (%s *)&p_%s);', p.io[0].replace(' ', '_'), p.io[0], p.name)
elif p.kind=="array" and p.io and p.io[0]=="string":
- wl(' read_string_array(&p_%s, pkt);', p.name)
+ wl(' packet_read_string_array(pkt, &p_%s);', p.name)
elif p.csize:
- wl(' read_data((pointer *)&p_%s, pkt);', p.name)
+ wl(' packet_read_data(pkt, (pointer *)&p_%s);', p.name)
else:
- wl(' read_pointer((pointer *)&p_%s, pkt);', p.name)
+ wl(' packet_read_pointer(pkt, (pointer *)&p_%s);', p.name)
if ret.ctype!="void":
- wl(' read_%s((%s *)&ret, pkt);', ret.io[0].replace(' ', '_'), ret.io[0])
+ wl(' packet_read_%s(pkt, (%s *)&ret);', ret.io[0].replace(' ', '_'), ret.io[0])
wl(' if(dec->%s)', func.name)
w(' dec->%s(dec->user_data', func.name)
if ret.ctype!="void":
for p in params:
w(', p_%s', p.name)
wl(');')
+wl(' else if(dec->unhandled)')
+wl(' dec->unhandled(dec->user_data, FUNC_%s);', func.name.upper())
wl(' return 0;')
wl('}')
:static int decode_func(GlDecoder *dec, unsigned short func, GlPacket *pkt)