Commit Graph

23752 Commits

Author SHA1 Message Date
Sam Edwards ea1b50a522 Merge branch 'master' into cmake 2018-10-13 16:15:35 -06:00
Sam Edwards 602ea6ebf4 general: Fix a couple more compiler warnings
- express: Fix a warning when compiling for debug

- dtoolutil: Give TextEncoder a virtual destructor
2018-10-13 16:14:34 -06:00
Sam Edwards 23a55f30eb CMake: Make sure Python version is always correctly reported 2018-10-13 15:23:10 -06:00
Sam Edwards f1c5352cc1 CMake: Remove redundant target_compile_definitions(WITHIN_PANDA)
This is no longer needed since they should now propagate from
dcparser automatically.
2018-10-13 15:07:09 -06:00
Sam Edwards 1e38910d9d CMake: Fix BuildMetalib's BUILDING_ symbol propagation 2018-10-13 15:07:09 -06:00
Sam Edwards da9bb2aaa2 CMake: Fix PYTHON_INCLUDE_DIRS variable when using CMake 3.12+'s FindPython 2018-10-13 15:07:09 -06:00
Sam Edwards 8610b2fceb CMake: Simplify Interrogate's compiler definition discovery
This uses generator expressions to make sure the definitions are
discovered transitively. The output _igate.cxx file also has its
definitions applied to it via a source file property rather than
via add_definitions(), which prevents them from leaking to other
targets.
2018-10-13 15:06:57 -06:00
Sam Edwards 84ed19e8a7 display: Add two missing includes
(lightAttrib.h and materialAttrib.h)
2018-10-12 21:49:49 -06:00
Sam Edwards 6f62396373 general: Resolve a few compiler warnings
- display: GraphicsWindowProc should have a virtual destructor,
           as it's meant to be subclassed.

- express: set_matrix_view helper should always fail an assert
           when 'size' is wrong, even on release builds.

- express: Fix filename capitalization on some #includes.
           They're normally Windows-only, where case doesn't
           matter, but it's better to be consistent.

- gobj: Fix typo.

- particlesystem: Remove BaseParticle::_last_position.
                  Last position is tracked by PhysicsObject now.

- windisplay: Heed warnings about casting bool to (PVOID).
              Also, per MSDN docs, SPI_SETMOUSETRAILS uses the
              uiParam argument and ignores pvParam, so pass the
              _saved_mouse_trails value in that way.
2018-10-12 15:37:40 -06:00
Sam Edwards 32a6552af4 CMake: Make BuildMetalib's link override more like CMake 3.12 2018-10-11 17:38:30 -06:00
Sam Edwards 47b5a50688 CMake: Don't always override target_link_libraries()
Previously, we would override target_link_libraries() to support
object "linking" since this wasn't supported in versions of CMake
before 3.12. Now that 3.12 is released, we only do it for versions
of CMake before that release.
2018-10-10 20:16:33 -06:00
Sam Edwards 90d3b29767 CMake: Sort direct/dtool/panda/pandatool subdirectories
This forces us to make sure the inter-target dependencies work
in an order-independent way.
2018-10-10 20:16:32 -06:00
Sam Edwards a0d9a931e0 CMake: Simplify target_link_libraries "object" linking shim
This uses generator expressions instead, so that it's no longer
dependent on all linked component libraries existing first.
2018-10-10 20:16:32 -06:00
Sam Edwards e89621b88d CMake: "Flatten" metalibs more
By "flatten" I mean that component libraries aren't referenced by
genex anymore; instead, their include directories and libraries
are copied out of their interfaces and into the interface of
the metalib.

This prepares for exporting our targets, by making sure that the
component libraries don't have to be installed for CMake to be
able to export metalibs.
2018-10-10 20:16:32 -06:00
Sam Edwards b8fa692e2f CMake: Fix BuildMetalib on CMake 3.0.2
CMake now tests out correctly on 3.0.2 again.
2018-10-09 02:01:35 -06:00
Sam Edwards f696bfbfe2 CMake: Clean up run_pzip
This should get rid of stray directories in the build
directory on Windows.
2018-10-09 02:01:35 -06:00
Mitchell Stokes 665bdb16ea deploy-ng: Add options for using optimized wheels for panda3d
This works by adding extra index urls. Optimized wheels have local
version tags that should take precedence over non-optimized wheels. If
no optimized wheel if found for a platform, a warning is issued and a
non-optimized wheel is used instead.
2018-10-08 18:36:23 -07:00
rdb 7bd8cbdeb6 windisplay: allow changing undecorated/fixed_size after window open
Fixes #405
2018-10-08 23:20:04 +02:00
rdb 0561d7920f tests: add unit tests for TextEncoder 2018-10-08 23:19:29 +02:00
rdb 29b577971f dtoolutil: improve Unicode encoding/decoding, support non-BMP chars
- Support encoding and decoding four-byte UTF-8 sequences
- E_unicode supports surrogate pairs, renamed to E_utf16be for clarity
- char32_t should be used for storing a Unicode code point
2018-10-08 22:33:54 +02:00
rdb 9061fd9416 dtoolutil: fix TextEncoder methods for Python 3
The no-arguments get_text() and set_text() will now return Unicode strings in Python 3, but passing in an encoding will make them return/take bytes objects.

In Python 2, they all take regular strings, but Unicode is also accepted by the no-argument get_text() and set_text().

In the future we probably want to remove most of this interface for Python users, to whom all this is unnecessary since it duplicates functionality already in the standard library.
2018-10-08 22:14:51 +02:00
rdb 96860b88e0 dxgsg9: fix problems with window without depth buffer 2018-10-08 22:11:55 +02:00
rdb 93a3e7e699 Changes to make ColorAttrib behavior more consistent:
- T_off now actually properly disables vertex colours
- T_vertex is now the default, to preserve the previous behaviour
- ShaderGenerator behavior is now the same as in the FFP
- tests are updated to verify new behavior
- tests now properly use vertex colours, previously they accidentally only used flat colors
- With color-scale-via-lighting off and no color scale, color is no longer munged
- p3d_Color in GLSL shaders is now properly set to white instead of black with T_off mode
- In DX9 shaders will now sample white color for absent or disabled vertex color

Fixes #401
Also see #371
2018-10-08 22:09:22 +02:00
Sam Edwards 149303f04c CMake: Clean up stray ${X11_LIBRARIES} direct reference 2018-10-08 12:57:07 -06:00
Sam Edwards 086663ef4a CMake: Use $<BUILD_INTERFACE:...> when referencing paths in build directory
This prevents CMake from including them in exported targets, which
allows the exported targets to be installed.
2018-10-08 12:57:02 -06:00
rdb ada3fa5513 Compile fixes on input-overhaul branch 2018-10-08 01:44:17 +02:00
rdb 14042faa3d Merge branch 'master' into input-overhaul 2018-10-08 01:25:33 +02:00
rdb 914ef2e13d tests: add various unit tests for color-related render states 2018-10-08 01:01:08 +02:00
rdb 102a256b05 tests: remove accidentally added debug image output 2018-10-07 23:03:07 +02:00
rdb 80951b3268 task: provide more properties on AsyncTask 2018-10-07 23:02:50 +02:00
rdb a9ff8a22f0 makepanda: enable Assimp in default Confauto.prc if built 2018-10-07 23:00:17 +02:00
rdb 51414466da display: ignore material if no lights are applied
This fixes materials suddenly showing up when a color scale is applied and color-scale-via-lighting is set.

Fixes #404
2018-10-07 22:52:49 +02:00
rdb e1af4abf11 glgsg: fix sRGB for FBOs created from non-sRGB host window
In this case _current_properties in begin_frame() will not have srgb_color set, as the current props are set by the host window
2018-10-07 21:42:23 +02:00
rdb b0c9000000 display: fix assert when app exits before window fully opens
Possibly addressing #403
2018-10-07 21:41:02 +02:00
Mitchell Stokes 90b0f501dc deply-ng: Add libedit.*.dylib to list of macOS system libraries 2018-10-07 12:31:17 -07:00
rdb 9618cd2193 device: ensure libputil is initialized before scanning devices 2018-10-07 21:06:24 +02:00
rdb 4b77812b35 device: fix inverted flight stick throttle on Linux 2018-10-07 20:49:13 +02:00
rdb f518b9aaf1 device: fixes to sporadic device class detection on Linux 2018-10-07 20:48:39 +02:00
rdb 3d66e22905 samples: improvements to flight stick sample program 2018-10-07 20:47:59 +02:00
rdb 86c9d11a53 readme: add Android/termux build instructions 2018-10-07 20:26:24 +02:00
rdb 7d3b7036ac readme: suggest libassimp-dev and libopenexr-dev on Ubuntu 2018-10-07 20:26:13 +02:00
rdb 8cb0480222 readme: update Win build instructions to mention MSVC 2017 2018-10-07 20:25:08 +02:00
rdb 8375340582 py_panda: fix TypeError being raised instead of AttributeError
This prevented doing something like hasattr(vec3, "stuff")
2018-10-07 20:24:19 +02:00
Sam Edwards 02412d0e7d Merge branch 'master' into cmake 2018-10-07 01:58:41 -06:00
Sam Edwards 8d14705689 interrogate: Fix typo 2018-10-07 01:36:44 -06:00
Sam Edwards 51497da8fb movies: Fix missing include 2018-10-07 01:36:43 -06:00
Sam Edwards 9b4b83c0e1 CMake: Properly propagate INTERFACE_COMPILE_DEFINITIONS to component libs 2018-10-07 00:51:26 -06:00
Sam Edwards 86d137d410 CMake: Windows static libraries should be prefixed with "lib" 2018-10-07 00:51:26 -06:00
Sam Edwards 10b5c9f3e6 CMake: Use CMake 3.12 FindPython, where available 2018-10-07 00:51:26 -06:00
Sam Edwards 0997c6b19c CMake: Don't depend on Python interpreter
This allows building against the Python libraries even when the
Python interpreter/executable is missing. The correct extensions
for the binary modules will be guessed, the tests will fail,
and the bytecode for any pure-Python modules will not be
precompiled.
2018-10-07 00:51:26 -06:00