Commit Graph

420 Commits

Author SHA1 Message Date
rdb 05ed918d63 general: mark deprecated methods with the @deprecated tag
This makes them easier to find and, if necessary, automatically generate deprecation warnings for.
2019-09-08 09:50:28 +02:00
rdb ce6d02b8d7 egg: remove unused matrix_2d variable 2019-07-15 14:54:55 +02:00
rdb 18b7350400 egg: update prebuilt parser.cxx and parser.h 2019-02-12 00:31:13 +01:00
rdb 63d2992d5e egg: add ability to read <Tangent> with four components
This is not intended to be used just yet in 1.10, but already added in preparation for changes on master to support #546.  I'm just allowing Panda to parse the syntax ahead of time to reduce potential .egg incompatiblities.
2019-02-05 00:30:54 +01:00
rdb 9d12a4c437 general: improvements to doxygen API reference:
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb bd6ef2b0ea Rename CollisionTube to CollisionCapsule (bam 6.44)
Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.

Fixes #347
2018-12-23 22:28:06 +01:00
rdb 97d4e32a06 general: use nassert_raise instead of nassertv(false) et al
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
2018-11-28 17:35:20 +01:00
Sam Edwards b64e850539 egg(2pg): Fix missing EXPCL_PANDA_EGG(2PG) 2018-09-21 18:26:13 -06:00
rdb 3417b9df09 egg: work around compiler bug in Visual Studio 2017
Fixes #379
2018-09-13 21:14:04 +02:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
Mitchell Stokes f663d215d5 Remove some unused variables 2018-08-19 16:55:07 +02:00
rdb 54ec575472 egg: add properties to EggData / EggNode 2018-08-12 22:05:25 +02:00
rdb 886e1c2f16 general: fix many compilation warnings in GCC 8 2018-06-19 00:37:28 +02:00
rdb f804b10d45 Fix more compiler warnings 2018-06-14 22:49:45 +02:00
Sam Edwards b2bfb31114 general: Remove `using std::*` from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards 768f78306a general: Break apart BUILDING_PANDAEGG 2018-06-12 16:15:25 -06:00
rdb b88bd99704 Various compiler warning fixes 2018-06-12 12:38:07 +02:00
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards 5e82671084 general: Do away with TYPENAME macro 2018-06-03 16:36:34 -06:00
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 298147bb39 Give several additional classes constexpr constructors
This is useful because these types are created at static init time, and giving them a constexpr constructor and trivial destructor lets them be created during constant initialization, which helps to prevent static init ordering issues.
2018-06-03 10:45:58 -04:00
Sam Edwards 52e7c952b3 putil: Rename config_util to config_putil 2018-05-14 02:36:42 -06: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 cfd70ebead general: Remove '#pragma interface'/'#pragma implementation'
The GCC documentation states that, as of GCC 2.7.2, these aren't
necessary for proper program behavior. The documentation further
discourages their use because they don't suppress unnecessary code
duplication.

The Panda codebase these days uses "extern template class" instead,
which tells the compiler not to perform implicit template expansion
because an explicit template expansion is available for linking
elsewhere in the program. This is a more compiler-neutral way of
achieving the same thing as '#pragma interface', making
'#pragma interface' not only redundant, it could also mask problems
in the "extern template class" machinery.
2018-03-20 14:36:19 -04:00
rdb 69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
deflected 560fd4eb3d panda: Get rid of few warnings
- Correct missing override
        - Correct deprecated XKeycodeToKeysym
        - Correct deprecated @exec for FreeBSD pkg plist

Signed-off-by: deflected <deflected@users.noreply.github.com>
Closes #144
2017-05-14 00:02:33 +02: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 c9ea02445e Fix state attribs at primitive level in bam2egg; also prevent duplication of state attribs at primitive level if possible 2016-09-18 11:31:04 +02:00
rdb 0bdafe45ce Fix various issues in bam2egg:
* No longer inserts an extra root group for the ModelRoot
 * Support depth test, offset and cull bin attributes
 * Preserve non-GeomNodes under Character
 * Render attributes are applied on group level if possible
2016-09-14 21:54:35 +02:00
rdb 8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
rdb 8d05ef3022 Assorted fixes 2016-06-03 22:23:42 +02:00
rdb ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
rdb 2bf886fc5b Add premultiplied alpha mode, for convenience 2016-03-02 17:55:34 +01: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 bb85b261f8 Expose more properties to Python
Rename "from" to "from_solid" to avoid clashing with Python keyword
2016-01-13 21:29:34 +01:00
rdb 22fb9dec65 Add baser/baseg/baseb/basea and ior scalars to egg <Material> 2016-01-09 17:15:41 +01:00
rdb 3393454582 Metalness workflow PBR stuff, support light color temperatures, make light specular color tied to light color by default 2016-01-09 16:08:33 +01:00
rdb ffabf6925c Add roughness and metallic material parameters for PBR 2015-12-27 23:44:35 +01:00
rdb 62cdb5cac5 Remove temp-hpr-fix 2015-12-26 13:26:10 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb 0f2f27689a Convert from DOS back to Unix newlines 2015-11-08 02:12:43 +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
David Rose 439ee70845 Merge branch 'master' of https://github.com/panda3d/panda3d 2015-10-07 16:55:06 -07:00
David Rose f1fd64534b egg-precision 2015-10-07 16:54:48 -07: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