24774 Commits

Author SHA1 Message Date
rdb
91380e8718 egg: Make egg parser and lexer reentrant
This avoids the need for the global mutex lock and allows two egg files to be read simultaneously.

Error reporting has also been improved by specifically pinpointing the offending token when an error occurs.
2021-01-02 20:11:10 +01:00
rdb
06484566b3 workflow: Update to 1.10.9 thirdparty tools for Windows
It includes an updated version of flex
2021-01-02 20:03:37 +01:00
rdb
ce235c3e60 Merge branch 'release/1.10.x' 2021-01-02 19:59:33 +01:00
rdb
2b8711e25e readme: Update links to point to 1.10.9 thirdparty tools for Windows
They contain an updated version of flex.

[skip ci]
2021-01-02 19:57:29 +01:00
rdb
6690b2d86e makepanda: Fix build error when flex is absent 2021-01-02 19:29:56 +01:00
rdb
fd2041d209 makepanda: Fix detecting flex version on macOS, more robust checking 2021-01-02 18:50:23 +01:00
rdb
5d5efb75e8 egg: Fix egg lexer hanging on unterminated quote or C-style comment 2021-01-02 18:43:32 +01:00
rdb
748dd61615 makepanda: Require flex 2.5.9 for building egg lexer
Otherwise, fall back to prebuilt file instead
2021-01-02 12:55:34 +01:00
rdb
6f5362c3fe egg: Add missing include 2021-01-02 12:53:24 +01:00
rdb
ea2816f4ea CMake: Add extension sources for egg and collide directories 2021-01-02 03:11:34 +01:00
rdb
f003e3434e collide: Use virtual read_datagram/write_datagram on handlers 2021-01-02 02:40:52 +01:00
rdb
e099d9e787 Merge branch 'release/1.10.x' 2021-01-02 02:33:35 +01:00
rdb
a84f1b5595 express: distinguish between null vs empty in CPTA pickle as well 2021-01-02 02:22:06 +01:00
Daniel
acbf265e54 direct: Fix actor initialization 2021-01-02 02:57:13 +02:00
rdb
c81c506df3 express: Fix PointerToArray comparison operator 2021-01-01 17:54:09 +01:00
rdb
b2462c1d8c express: Support pickling PointerToArray objects 2021-01-01 17:42:30 +01:00
rdb
52b4df4aec stdpy: Expose DEFAULT_PROTOCOL and HIGHEST_PROTOCOL in direct.stdpy.pickle 2021-01-01 17:41:34 +01:00
rdb
e755f87130 pgraph: Add pickling for LoaderFileTypeRegistry
Useful to test that pickling singletons works
2021-01-01 17:08:55 +01:00
rdb
3a5201fd65 tests: Add tests for pickling DoubleBitMask 2021-01-01 17:08:34 +01:00
rdb
c77593f3f0 egg: add pickle support to most EggData classes 2021-01-01 17:06:23 +01:00
rdb
f8ce339960 collide: Add pickle support for most collision handlers
Also redo CollisionHandlerEvent pickling to use Datagram instead

Related to #1090
2021-01-01 16:56:18 +01:00
rdb
a7042091be py_panda: backport some py_compat.h definitions 2021-01-01 16:37:21 +01:00
rdb
9cb129597c stdpy: pickle improvements
* Define __all__
* Define missing exception types
* clear_memo() now clears Panda-specific state as well
2021-01-01 15:58:51 +01:00
rdb
99f9352e76 interrogate: improvements to __setstate__ handling:
* Force single arg variant, easing argument parsing
* Allow defining __setstate__ taking multiple args, leading to tuple unpack
* Allow __setstate__ to be called on already initialized object (useful with __reduce__)
2021-01-01 15:57:41 +01:00
rdb
152d317c8c egg: Fix egg lexer state not being cleaned up after error 2021-01-01 15:52:57 +01:00
rdb
339331c1ad egg: Add properties to EggAnimPreload 2021-01-01 15:51:23 +01:00
rdb
3e1d4aa6b5 interrogate: Fix memory leak in __setstate__ 2020-12-31 18:12:52 +01:00
rdb
1793c9a938 interrogate: Fix __setstate__ not working for subclasses 2020-12-31 18:11:50 +01:00
rdb
8852c835fc collide: Support pickling for CollisionTraverser, HandlerEvent+Queue
Fixes #1090
2020-12-31 16:57:34 +01:00
rdb
a5557bc38d stdpy: Fix pickle sometimes duplicating Panda objects
We have to unify multiple Python wrappers pointing to the same C++ object.
2020-12-31 16:55:34 +01:00
rdb
ac991e4c5e collide: Fix error with CollisionHandler's again_patterns property 2020-12-31 16:55:22 +01:00
rdb
8d22b80698 display: Fix memory leak in GSG::get_prepared_textures() 2020-12-31 16:43:37 +01:00
rdb
2b84bfc145 makepanda: Code formatting 2020-12-31 13:44:13 +01:00
rdb
7e7daa4b5b pylint: Add redefined-outer-name to disables 2020-12-31 13:44:03 +01:00
rdb
ae7eae10c5 makepanda: Remove old and obsolete gendocs scripts 2020-12-31 12:24:27 +01:00
rdb
be9dde1eee direct: add .pylintrc, perform major code cleanup pass
Closes #989

Co-authored-by: Daniel Stokes <kupomail@gmail.com>
2020-12-31 01:36:23 +01:00
rdb
cf60284ca9 Merge branch 'release/1.10.x' 2020-12-31 00:05:10 +01:00
rdb
a6580f5dd3 physics: Fix GlobalForceGroup 2020-12-30 23:57:43 +01:00
rdb
f1a171bfd8 particles: Fix writing representation of AngularVectorForce 2020-12-30 23:57:27 +01:00
rdb
b6e8163f97 dist: Add remaining manylinux libraries to exclude_dependencies
Prevents getting errors about these being missing.
2020-12-30 23:57:27 +01:00
rdb
e0309a98aa dist: Remove liblzma, libreadline and libbz2 from exclude_dependencies
These are not part of the manylinux specs, and actually needed by the Python _lzma, readline, etc. modules.

This fixes the problem that these dependencies are not being picked up automatically.
2020-12-30 23:57:27 +01:00
rdb
42580a81de dist: Add hidden imports for pandas 2020-12-30 23:57:27 +01:00
rdb
b6809defec dist: Remove unused import 2020-12-30 23:57:27 +01:00
rdb
c141bef19b stdpy: Add missing threading.ThreadError 2020-12-30 23:57:27 +01:00
rdb
2ce373b0da distributed: Assorted error fixes 2020-12-30 22:53:15 +01:00
rdb
20f38cad66 direct: Fix a few remaining uses of file() instead of open() 2020-12-30 22:35:24 +01:00
rdb
b7124da4aa directutil: Fix use of removed file() 2020-12-30 22:34:44 +01:00
rdb
f7bd54b9ee directtools: Fix use of builtin direct instead of base.direct 2020-12-30 22:34:44 +01:00
rdb
65c1ef968c stdpy: Add PicklingError to pickle module 2020-12-30 22:34:44 +01:00
Donny Lawrence
7b83eac943 CMake: Build deploy-stub
Closes #918

Co-authored-by: rdb <git@rdb.name>
2020-12-29 20:45:30 +01:00