25117 Commits

Author SHA1 Message Date
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
rdb
e8f8604c08 makepanda: Remove hack preventing models from being built in parallel 2020-12-29 18:47:39 +01:00
rdb
1db3bb4ee6 dmodels: Delete dmodels tree, merge into models folder instead
Also eliminates need for flt2egg at build time

Fixes #1075
2020-12-29 18:40:49 +01:00
rdb
bc7063be42 filter: Change default sort to come after shadow passes
Fixes #1036
2020-12-29 17:31:15 +01:00
Daniel
74a4648965 mayaprogs: Completely refactor the maya2egg server
The maya2egg_server utility is no longer a separate utility. To run the maya2egg_server (now Maya conversion server), use `maya2egg -server` or `egg2maya -server`.

Two new utilities have been added: `maya2egg_client` and `egg2maya_client`. Both of them are Maya version independent, and do not rely on any Maya libraries. However, they're only built with SDKs that already come with the Maya binaries, as the server makes its own assumptions about the current working directory (the client and the server are expected to be on the same machine.)

A new feature has been added to ProgramBase: an `exit_on_complete` flag, which allows you to parse the command line without exiting the program upon a failure or a help command.

In addition to this, a getopt bug has been fixed in ProgramBase: It is now possible to clear the state of the Panda implementation of getopt, making it possible once again to parse command line arguments twice in a row.

Closes #1025
2020-12-29 16:16:36 +01:00
Mitchell Stokes
33d688ec08 bdist_apps: Allow specifying custom installers with entry points
The entry point is 'panda3d.bdist_apps.installers'. The installer will
get added to bdist_apps.installer_functions.

Closes #1060
2020-12-29 16:08:32 +01:00
Mitchell Stokes
d015b7e2f1 bdist_apps: Support user-defined installers
Custom installers can be added by specifying a build function in
bdist_apps options:

'installer_functions': {
    'custom': custom_func
}

Installer functions must accept three arguments:

  * command - the bdist_apps setuptools command function (can be used to
        gather build information)
  * basename - name of the output file (minus extension)
  * build_dir - path to the directory containing the built application
2020-12-29 16:08:18 +01:00
rdb
2461fc0917 CMake: Remove accidental debug message 2020-12-29 16:06:22 +01:00