Commit Graph

3030 Commits

Author SHA1 Message Date
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
rdb a3010a43a5 Merge branch 'release/1.10.x' 2020-12-24 15:31:52 +01:00
rdb 1b8c4e0029 dtoolutil: Fix compile warning in ExecutionEnvironment 2020-12-22 23:14:59 +01:00
rdb 131ae98bfd Merge branch 'release/1.10.x' 2020-12-22 16:45:24 +01:00
rdb 30bca7a119 dtoolutil: fix ExecutionEnvironment::has_environment_variable() for shadowed var
Fixes MAIN_DIR being set more than once (which seems to avoid a compiler bug in an opt4 build).
2020-12-22 16:22:45 +01:00
rdb f26f7d2226 CMake: Fix CMAKE_CONFIGURATION_TYPES not being set properly in the cache 2020-12-21 23:31:20 +01:00
rdb dfc5b47ec9 CMake: Improve reporting of enabled-but-not-found packages
Fixes #1072 (together with 3786dc2aea)
2020-12-20 18:36:41 +01:00
rdb 3786dc2aea CMake: Fix detection and use of SSE2 compiler flag on MSVC
This is one half of the fix for #1072
2020-12-20 18:35:17 +01:00
rdb ae3d8c2663 dtoolbase: More elegant fix for NeverFreeMemory memory leak
Better fix for 74983d19a4 is to just switch to an std::multimap.  This couldn't go in the 1.10.x branch due to the risk of ABI change.
2020-12-20 01:02:15 +01:00
rdb dee8df9427 Merge branch 'release/1.10.x' 2020-12-20 01:02:08 +01:00
rdb 74983d19a4 dtoolbase: Fix small memory leak in NeverFreeMemory
It's using a set purely keyed by number of remaining bytes, so if there are two pages with the exact same number of remaining bytes, one of them gets lost.

See #1077
2020-12-20 00:19:37 +01:00
rdb abe3c2bf0b CMake: Mark all system macOS frameworks as advanced variables
It should be extremely unusual to want to change these, and they are just cluttering up the CMake GUI.
2020-12-19 00:33:22 +01:00
rdb 662ace0173 CMake: Don't define HAVE_CG for arm64 systems 2020-12-19 00:26:13 +01:00
rdb a1b2d5b8dc Make use of new function call methods in Python 3.9 2020-12-12 17:28:21 +01:00
rdb ed397b3ab8 Merge branch 'release/1.10.x' 2020-12-09 17:59:37 +01:00
rdb 951c182c0e makepanda: Preparatory changes for Big Sur / arm64 builds 2020-11-30 19:46:20 +01:00
rdb 93900a203e putil: Backport part of 9d8c523dfa
Fixes #886
2020-11-17 23:36:06 +01:00
rdb a6e6826939 interrogate: support __getstate__ and __setstate__
The latter in particular will be called instead of __init__, so must construct the object.
2020-11-17 22:35:25 +01:00
rdb c788912070 Merge branch 'release/1.10.x' 2020-10-02 12:20:58 +02:00
rdb 0e70fcf1ef Bump version number on release/1.10.x branch to 1.10.8 2020-10-02 12:15:31 +02:00
rdb e060a29228 general: Clean up hacks to support Python 3.5 from codebase 2020-10-02 12:07:04 +02:00
rdb 6d228dfd2e express: Add ZipArchive class, support mounting zips to VFS 2020-10-01 23:58:27 +02:00
rdb 5655e97ec1 interrogate: fix misbehaving == and != operator if only < is defined
Fixes comparison of two empty RenderEffects objects
2020-09-16 23:21:16 +02:00
rdb 66ac3be604 Merge branch 'release/1.10.x' into master 2020-09-12 23:23:58 +02:00
rdb 2b3a1d9d73 prc: StreamReader should hold GIL for PyBytes_FromStringAndSize
This is due to python/cpython#21074, which causes a segfault in the latest Python master when creating a bytes object of size 0.

readlines() has been reimplemented to use a C++ vector in order to prevent constantly re-locking and unlocking the GIL for every line.
2020-09-12 22:53:37 +02:00
rdb 2402594808 interrogatedb: Fix faulty version comparison in Python 3.10 2020-09-12 22:50:29 +02:00
rdb dabab90415 interrogate: Fix compilation error of bindings with Python 3.9+ 2020-09-12 22:50:03 +02:00
rdb 3daf1ae1b1 general: Assorted API reference fixes 2020-09-09 18:03:49 +02:00
rdb 707ea089cb Merge remote-tracking branch 'origin/release/1.10.x' 2020-09-01 11:09:29 +02:00
rdb ab6bf5f4f7 general: Add workaround for Windows bug in various uses of isprint()
See #994; there is a regression in certain versions of the Windows CRT that gives the wrong result for isprint().  This adds workarounds to various potentially affected locations where isprint() is being used.
2020-08-21 14:51:42 +02:00
rdb b655aa86c5 Merge branch 'release/1.10.x' 2020-08-17 13:05:51 +02:00
LD 9f0fc0a594 dtoolbase: Fix bad double-prec NaN/inf detection in release build
Fixes #987
Closes #988
2020-08-17 12:16:33 +02:00
rdb 4a21329a79 Merge remote-tracking branch 'origin/release/1.10.x' 2020-06-20 19:49:55 +02:00
rdb 0b19afa1a3 parser-inc: fix invalid template args for std::map<>
This fixes an interrogate warning.
2020-06-15 15:20:38 +02:00
rdb 0d9cb5c392 CMake: force finding Assimp in MODULE mode 2020-06-14 13:09:36 +02:00
rdb d01c53c2d8 Merge branch 'release/1.10.x' 2020-06-14 13:02:25 +02:00
rdb f295b28369 cppparser: update prebuilt cppBison files 2020-06-14 12:20:40 +02:00
rdb 16f2958adb cppparser: support sizeof operator with constexpr 2020-06-14 12:12:27 +02:00
rdb 43961718fa parser-inc: add missing template args to std containers 2020-06-14 12:11:42 +02:00
rdb 97e6a314b1 cppparser: support arbitrary constant expression in bitfields 2020-06-14 11:31:58 +02:00
rdb 36c3d3e622 Merge branch 'release/1.10.x' 2020-05-05 18:15:57 +02:00
rdb 9159fc1029 operator delete should check for null pointer before deallocating
It is a pervasive belief that using "delete" with a null pointer is safe, so our custom delete operators should also handle this case correctly.

This may fix regressions introduced by #934
2020-05-05 18:13:13 +02:00
rdb 3598222977 Merge branch 'release/1.10.x' 2020-05-05 16:47:38 +02:00
rdb e4573ef0fe cleanup: Remove more unnecessary nullptr checks before delete
Follow-up to #934
2020-05-05 14:46:30 +02:00
rdb 68d094dba4 dtoolutil: fix buffer overrun on FreeBSD extracting long cmdline args
This happens when compiling with CMake, which passes very long command-lines.
2020-05-05 13:20:20 +02:00
rdb ae078046d6 CMake: Use MODULE mode in find_package() for OpenEXR
Otherwise a system OpenEXRConfig.cmake may end up getting picked up, which operates differently.
2020-05-05 11:09:00 +02:00
rdb aa0a0d6ab4 CMake: better handling of per-config options, esp. in single-config 2020-05-01 19:53:50 +02:00
rdb 2ac65cc98c CMake: remove obsolete plugin version settings 2020-04-30 21:43:49 +02:00
rdb 798066a05b dtool: remove outdated plugin-specific settings 2020-04-30 21:43:31 +02:00
rdb d799a09002 cleanup: Remove support for EOL versions of Python
Fixes #905
2020-04-26 20:07:56 +02:00