Commit Graph

190 Commits

Author SHA1 Message Date
rdb 8e6cf2a60b Merge branch 'master' into input-overhaul 2017-12-17 13:04:15 +01:00
rdb 483a491ed7 interrogate: simplify coercion code
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb 652f2d7f21 bullet: improve performance of adding geometry to BulletTriangleMesh 2017-05-14 22:17:41 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb e1c916cdc3 interrogate: handle implicit destructors correctly 2017-04-02 14:44:51 +02:00
rdb f5f51c5d5b Remove OpenSSL includes from headers, so C++ users don't need to have OpenSSL 2017-02-17 16:15:04 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb ba5bba42b0 Fix interrogate warnings, flesh out iterator header 2017-01-08 17:51:09 -05:00
rdb d0e9f136c0 Merge branch 'master' into input-overhaul 2016-11-22 12:15:21 +01:00
rdb b0a8408755 Fix issue with Windows build 2016-11-04 00:49:04 +07:00
tobspr c0fd29d822 Add functional header to parser-inc (#126)
* Support for the functional header

* Add unordered_map and initializer_list

* Add unordered_set header

* Fix spacing, and remove unecessary defines

* Add missing definitions to memory header

* Use variadic templates in functional header
2016-11-03 14:08:25 +01:00
rdb 22f0b50851 More Interrogate C++11 support changes:
* Parse variadic templates
 * Add (incomplete) type_traits support
 * Parse anonymous class template params
 * Parse volatile/lvalue/rvalue methods
 * Don't generate destructor for indestructible types
 * Add xmmintrin.h header
 * Allow invoking extensions with references
2016-11-03 12:17:11 +01:00
tobspr 50e8d5d08d Update stdint.h
This adds missing definitions from the standard library header ` stdint.h` to the interrogate header.
I also changed the `typedef` to the C++11 style `using`.

Closes: #125
2016-10-31 22:34:47 +01:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb b98d3c06ee Merge branch 'master' into input-overhaul 2016-06-24 10:51:41 +02:00
rdb 7e08b87ff7 IPv6 support, improve URL handling/comparison 2016-06-22 17:57:40 +02:00
rdb dc09e28ed9 Also accept a .gz wherever a .pz file is accepted 2016-04-29 16:54:25 +02:00
rdb 2c1cb4c313 Compile fixes for latest VRPN and TIFF 2016-04-22 17:18:27 +02:00
rdb 1cc79633c1 Merge branch 'master' into input-overhaul
Conflicts:
	panda/src/device/buttonNode.cxx
	panda/src/device/clientAnalogDevice.I
	panda/src/device/clientAnalogDevice.cxx
	panda/src/device/clientButtonDevice.I
	panda/src/device/clientButtonDevice.cxx
	panda/src/device/clientDevice.I
	panda/src/device/clientDevice.cxx
	panda/src/device/clientDevice.h
	panda/src/device/clientTrackerDevice.I
	panda/src/device/trackerNode.I
	panda/src/device/trackerNode.h
	panda/src/display/callbackGraphicsWindow.cxx
	panda/src/display/graphicsWindow.cxx
	panda/src/display/graphicsWindowInputDevice.I
	panda/src/display/graphicsWindowInputDevice.cxx
	panda/src/display/graphicsWindowInputDevice.h
	panda/src/tinydisplay/tinyOsxGraphicsWindow.mm
	panda/src/tinydisplay/tinyXGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.h
	panda/src/x11display/x11GraphicsWindow.cxx
2016-03-19 14:54:56 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 186f1b41b2 Fix for PDWORD_PTR 2016-02-16 11:24:42 +01:00
rdb caa03c53dd Interrogate cppparser improvements, C++11/14/17 additions:
* Support trailing return type.
 * Ignore C++14 digit separators.
 * Parse C++14 binary number representations.
 * Support "using"-style type aliases.
 * Support decltype and auto with "new".
 * Remove silly "long float" and "long long float".
 * Support default visibility with class inheritance.
 * Remove -longlong hack since C++11 supports long long natively.
 * Support unary plus operator.
 * Preserve bitfield definitions.
 * Support constructor inits using braces.
 * Support override/final specifiers.
 * Ignore [[attributes]] in certain cases
 * Add support for typeid() in expressions
 * Parse (but ignore) lambda expressions
 * Differentiate between casts, add const_cast/reinterpret_cast
 * Support thread_local variables.
2016-02-16 01:18:51 +01:00
rdb 6689e69822 Merge branch 'master' into input-overhaul 2016-02-13 11:21:20 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 83ed206551 Support implicitly generated copy constructor and default constructor in interrogate 2016-01-03 21:55:50 +01:00
rdb 44f9b22323 Gamepad vibration on Windows 2015-12-19 21:04:49 +01:00
rdb c256faccd6 Forgot to add parser-inc file for XInput 2015-12-13 11:34:33 +01:00
rdb dd8344455c XInput gamepad control states, battery information, HID properties 2015-12-12 22:07:43 +01:00
rdb 35add447e6 Build on Windows; add XInput gamepad implementation 2015-12-12 00:57:01 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb ebd1fd8462 Fix interrogate warnings on Windows. Show warnings when running makepanda in verbose mode. 2015-10-17 03:27:38 +02:00
rdb 94b48d568f Pre-C++11 compilers don't seem to like std::time_t 2015-10-16 15:51:16 +02:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb 6a0c98d54e Work around strange interrogate issues 2015-10-13 15:40:48 +02:00
rdb b65ad853fe Support C++11/14 features: nullptr, decltype, unicode literals, custom literals, alignof 2015-10-12 23:32:50 +02:00
rdb 51ebc564aa Provide stub implementations of several C/C++ standard headers, to make parsing thirdparty sources significantly easier 2015-10-11 16:55:46 +02:00
rdb 30a26bc530 Match up interrogate standard typedefs better with gcc/msvc standard typedefs 2015-09-30 16:07:37 +02:00
rdb 036adff924 Merge branch 'release/1.9.x' 2015-09-30 14:07:21 +02:00
rdb a902f1628b Fix Win64 compilation 2015-09-28 13:25:17 +02:00
rdb fcd3bfd15c Fix interrogate issues with long, streampos, streamoff, streamsize and ptrdiff_t 2015-09-28 13:08:38 +02:00
rdb 9178ed2871 Fix some preprocessor expressions in Interrogate 2015-07-14 21:04:50 +01:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb 11ed8a4d8d Use dynamic type lookup for interrogate to eliminate inter-module dependencies
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb cc62e731b7 Fix compilation with ppremake 2015-06-01 00:21:32 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00