Incompatible Datagram upgrading to Panda3D 1.10


#1

Hello,

After upgrading to Panda3D 1.10 I have trouble reading from Datagrams that were saved in Panda3D. Was there some breaking change here? Is there a compatibility layer?

Thanks.


#2

There is not known to be a breaking change here. Could you share more about your problem? Can you isolate which datagram is having trouble reading? Which Python version are you using?


#3

Here is a sample datagram:

0000  08 01 92 ff 14 00 00 00 00 00 00 00 77 05 01 14  ............w...
0010  ff a2 00 00 00 40 00 00 00 c8 00 01 32 ff 41 00  .....@......2.A.
0020  00 00 60 00 00 00 fc 03 01 42 ff 7e ff 00 00 40  ..`......B.~...@
0030  00 00 00 90 01 01 50 ff 13 ff 00 00 55 00 00 00  ......P.....U...
0040  64 00 01 4d ff 09 00 00 00 20 00 00 00 64 00 01  d..M..... ...d..
0050  9c ff a0 00 00 00 40 00 00 00 f2 03 01 38 ff 00  ......@......8..
0060  00 00 00 80 00 00 00 56 04 01 d8 ff e6 00 00 00  .......V........
0070  e0 00 00 00 bc 02 01 00 00 88 ff 00 00 40 00 00  .............@..
0080  00 e8 03 01 00 00 1a ff 00 00 80 00 00 00 c6 02  ................
0090  01 d8 ff 10 ff 00 00 80 00 00 00 b0 04 01 3c 00  ..............<.
00a0  00 00 00 00 80 00 00 00 62 02 01 ec ff b4 00 00  ........b.......
00b0  00 40 00 00 00 20 03 01 64 00 e2 ff 00 00 e0 00  .@... ..d.......
00c0  00 00 bc 02 01 3d ff f7 00 00 00 00 00 00 00 f6  .....=..........
00d0  01 01 72 ff f9 00 01 00 00 00 00 00 a0 0f        ..r...........

Here is some code that does the decoding: [link removed by moderator]

Additionally, There is now an error when encoding a PyDatagram:

  File "toontown/catalog/CatalogItem.py", line 316, in encodeDatagram
    dg.putArg(self.posHpr[3], STInt8, 256.0 / 360.0)
  File "/usr/share/panda3d/direct/distributed/PyDatagram.py", line 100, in putArg
    addFunc(self, int(round(arg * divisor)))
OverflowError: value 128 out of range for signed byte

And I am using Python 2.7


#4

It seems from the information given that the error is caused by an issue in your codebase, not due to a change in Panda3D. However, we cannot provide support with code you do not own the rights to.

Please don’t post links to material you don’t own.


#5

This error started occurring only after upgrading to Panda3D 1.10, but in any case sorry for bothering you and thanks for your amazing work on this project.