Commit Graph

170 Commits

Author SHA1 Message Date
Sam Edwards e2b4353800 general: Replace NULL (and 0 as pointer) with C++11 nullptr
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb e0245d2777 First step towards eliminating `using namespace std;` (#335) 2018-06-03 20:32:23 +02:00
rdb 190c553c57 dtool_config.h: remove some macros for ancient C++ compilers 2018-05-30 23:15:24 +02:00
rdb 9fad3dba60 general: remove macros for compatibility with non-C++11 compilers
Now that we require MSVC 2015, we no longer need all this nonsense, so we can write cleaner code.
2018-05-23 23:33:05 +02:00
rdb f45ddcab2f general: switch to C++11 Lockable semantics for mutexes
This renames acquire/release to lock/unlock in order to be compatible with std::lock_guard and std::unique_lock (which will eventually replace the *MutexHolder classes).  It will also allow us to typedef MutexImpl to std::mutex later on.
2018-05-23 20:37:56 +02:00
rdb e9ae7dcc40 Use vector_uchar instead of string for binary network/file data
This distinction allows us to better support Python 3, since it will raise exceptions when trying to put arbitrary binary data in a str object.

This also adds some convenience functions for efficiently initializing a Datagram or PTA_uchar from a vector_uchar.
2018-04-02 23:17:14 +02:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
Sam Edwards 775fcb5b0b prc: Change export macros to EXP*_DTOOL_PRC
This is for consistency with `panda`, which follows this format.
2018-03-25 13:17:52 -06:00
rdb d269f7c6c3 android: allow stdout/stderr capture using extra field on intent
This allows launching the Panda apk from termux and getting command-line output back to termux.
2018-02-06 22:42:40 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
rdb 464cd5fc8b Replace __builtin_expect macros with LIKELY/UNLIKELY 2017-10-09 00:22:28 +02:00
rdb 4bcf225baf openssl: fix use of deprecated calls 2017-05-25 21:35:02 +02:00
rdb 904209b277 Split out interrogate jobs for dtool directories from express 2017-05-24 13:44:52 +02:00
rdb 2669cc8710 Remove unused macros 2017-04-07 13:56:35 +02:00
rdb 6f8b379bda Big patch full of performance improvements
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +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 e60d1e292e Make better use of C++ rules for implicit generation; allow PointerTo and some mutex impls to be static initialised 2017-01-12 12:34:15 +01:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb 45356e85e1 Backward compat with older OpenSSL versions 2016-12-25 11:48:38 +01:00
rdb 122d9dd3ff Support building with OpenSSL 1.1.0 2016-12-24 22:19:51 +01:00
rdb 637767fec8 Flush nout before inducing crash in assert-abort 2016-12-20 23:15:21 +01:00
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
rdb 06cc1794fc Drop support for OpenSSL versions before 0.9.7 2016-10-10 14:47:00 +02:00
rdb 6f168446d0 Merge branch 'release/1.9.x' 2016-07-12 14:57:48 +02:00
rdb 69f15258e4 Fix race condition reading filename/string from config var 2016-07-12 14:47:20 +02:00
rdb 9963fe2c3c Fix a couple of compile warnings, reduce unnecessary includes 2016-06-23 22:59:50 +02:00
rdb 18874fa151 Replace PN_int/uint types with stdint.h types, since all compilers we support have them.
Plus, we already had code that relied on them being available anyway.
2016-05-11 00:27:58 +02:00
rdb ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb 6480e82e3b First pass adding properties to many Panda classes 2015-12-10 16:23:06 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb da17cce447 Fix error and warnings in 32-bit Windows build 2015-11-01 16:57:52 +01:00
rdb ddf8343590 Reorganise explicit template instantiations so that it always happens in the .cxx file, while remaining backward compatible with MSVC's standards-breaking implementation 2015-10-16 15:38:28 +02:00
rdb 7738294657 Fix a few more type size issues 2015-10-07 19:10:52 +02:00
rdb 18ad6d1543 Replace many int params with size_t params where appropriate, and work towards fixing type conversion warnings 2015-10-07 18:58:26 +02:00
rdb bae5c195af Merge branch 'release/1.9.x'
Conflicts:
	dtool/src/dtoolbase/dtoolbase.h
2015-10-07 15:54:02 +02:00
rdb 706f6f7de5 Squelch some of the type conversion warnings in MSVC 2015-10-06 17:05:40 +02:00
rdb ca37b6b6c0 Fix VC2015 compile errors, allow selecting any WinSDK/MSVC version. All experimental, still. 2015-10-05 02:12:46 +02:00
rdb 49088fb7ce Fix some issues with new VFS open() implementation 2015-09-21 17:46:50 +02:00
rdb 445c3461d6 Python 3 support to rtdist, reimplement VFS open() on top of io.IOBase, allow freezing into .c target, make VFSImporter and friends frozen into p3dpython 2015-09-18 21:20:25 +02:00
rdb 3cd15c3d48 Merge branch 'release/1.9.x' 2015-08-31 15:59:06 +02:00
rdb d68bbae5b4 Don't add "(not used)" to config decls when writing them, it makes it harder to write out a config.prc file 2015-08-26 14:57:30 +02:00
rdb 1f0b4332e3 Add softspace flag to StreamWriter - fixes print spaces in runtime env 2015-07-27 20:23:47 +02:00
rdb 75019784f4 Changes to inlining so we can use FORCE_INLINING in gcc as well 2015-07-27 15:39:46 +02:00
rdb 1088cdedc8 Fix mac and static build issues 2015-07-06 23:31:14 +02:00
rdb 236b0c590c Use explicit symbol visibility control in GCC/clang 2015-06-22 21:01:34 +02:00
rdb 41184b1189 Optimizations to improve start-up time (esp. in JavaScript) 2015-04-04 19:05:54 +02:00
rdb 477aa4bdfe Fix various Windows build issues 2015-03-27 23:17:35 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00