]> git.tdb.fi Git - gldbg.git/blobdiff - source/gldecoder.funcs.t
Add gldBreak callback to gldecoder
[gldbg.git] / source / gldecoder.funcs.t
index 545f8b408522a652c5c72cddd3383149f5c34d9d..98add0427b637cd3fdce12107f49e8e8cd5b7bc4 100644 (file)
@@ -8,15 +8,15 @@ for p in params:
        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":
@@ -24,6 +24,8 @@ 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)