From e665c2a908743cc7da381ec0ba7bbf908a235994 Mon Sep 17 00:00:00 2001 From: rdb Date: Tue, 22 Apr 2014 09:17:23 +0000 Subject: [PATCH 01/10] Try using our own version of glext and gl2ext for OpenGL ES --- panda/src/gles2gsg/gles2gsg.h | 4 ++-- panda/src/glesgsg/glesgsg.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/panda/src/gles2gsg/gles2gsg.h b/panda/src/gles2gsg/gles2gsg.h index 490d4da778..9869257732 100644 --- a/panda/src/gles2gsg/gles2gsg.h +++ b/panda/src/gles2gsg/gles2gsg.h @@ -51,10 +51,10 @@ #ifdef IS_OSX #include - #include +// #include #else #include - #include +// #include #endif #include "panda_esgl2ext.h" diff --git a/panda/src/glesgsg/glesgsg.h b/panda/src/glesgsg/glesgsg.h index fe46898429..c397e81f7a 100644 --- a/panda/src/glesgsg/glesgsg.h +++ b/panda/src/glesgsg/glesgsg.h @@ -56,10 +56,10 @@ #ifdef IS_OSX #include - #include +// #include #else #include - #include +// #include #endif #include "panda_esglext.h" From 28ba81f82df8cb79993980297e7cb6ffb87d5030 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 24 Apr 2014 13:01:01 +0000 Subject: [PATCH 02/10] Commit patch by cfsworks to properly mark OpenAL sounds as inactive when they are created while the manager is inactive --- panda/src/audiotraits/openalAudioSound.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panda/src/audiotraits/openalAudioSound.cxx b/panda/src/audiotraits/openalAudioSound.cxx index 54799c4114..af6d658568 100644 --- a/panda/src/audiotraits/openalAudioSound.cxx +++ b/panda/src/audiotraits/openalAudioSound.cxx @@ -64,7 +64,7 @@ OpenALAudioSound(OpenALAudioManager* manager, _start_time(0.0), _current_time(0.0), _basename(movie->get_filename().get_basename()), - _active(true), + _active(manager->get_active()), _paused(false) { _location[0] = 0.0f; From 99a2b963d28d29caf8a60486796803d9a78149aa Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 24 Apr 2014 13:01:59 +0000 Subject: [PATCH 03/10] Commit patch by cfsworks to properly copy Lens::CData::_min_fov in copy constructor --- panda/src/gobj/lens.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/panda/src/gobj/lens.cxx b/panda/src/gobj/lens.cxx index f338ea8258..c22174493c 100644 --- a/panda/src/gobj/lens.cxx +++ b/panda/src/gobj/lens.cxx @@ -2101,6 +2101,7 @@ CData(const Lens::CData ©) { _film_offset = copy._film_offset; _focal_length = copy._focal_length; _fov = copy._fov; + _min_fov = copy._min_fov; _aspect_ratio = copy._aspect_ratio; _near_distance = copy._near_distance; _far_distance = copy._far_distance; From de4cfbb28b2d75c3751aa937692718627d2b11f9 Mon Sep 17 00:00:00 2001 From: enn0x Date: Sun, 27 Apr 2014 17:06:00 +0000 Subject: [PATCH 04/10] Fixed bug in BulletManifoldPoint copy assignment operator. --- panda/src/bullet/bulletManifoldPoint.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/panda/src/bullet/bulletManifoldPoint.cxx b/panda/src/bullet/bulletManifoldPoint.cxx index 509a36b9cc..918240e43e 100644 --- a/panda/src/bullet/bulletManifoldPoint.cxx +++ b/panda/src/bullet/bulletManifoldPoint.cxx @@ -44,6 +44,7 @@ BulletManifoldPoint(const BulletManifoldPoint &other) BulletManifoldPoint& BulletManifoldPoint:: operator=(const BulletManifoldPoint& other) { + this->_pt = other._pt; return *this; } From 9ab6d166d04c3ba885dceb81003b081c6fb06c7d Mon Sep 17 00:00:00 2001 From: Chris Brunner Date: Wed, 30 Apr 2014 19:49:28 +0000 Subject: [PATCH 05/10] Maya 2015 support --- makepanda/makepandacore.py | 1 + pandatool/src/mayaprogs/mayapath.cxx | 1 + 2 files changed, 2 insertions(+) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index ec7e661d21..93c2ba3bf6 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -73,6 +73,7 @@ MAYAVERSIONINFO = [("MAYA6", "6.0"), ("MAYA2013","2013"), ("MAYA20135","2013.5"), ("MAYA2014","2014"), + ("MAYA2015","2015"), ] MAXVERSIONINFO = [("MAX6", "SOFTWARE\\Autodesk\\3DSMAX\\6.0", "installdir", "maxsdk\\cssdk\\include"), diff --git a/pandatool/src/mayaprogs/mayapath.cxx b/pandatool/src/mayaprogs/mayapath.cxx index 996565b2d0..3548668578 100755 --- a/pandatool/src/mayaprogs/mayapath.cxx +++ b/pandatool/src/mayaprogs/mayapath.cxx @@ -90,6 +90,7 @@ struct { char *ver, *key; } maya_versions[] = { { "MAYA2013", "2013"}, { "MAYA20135", "2013.5"}, { "MAYA2014", "2014"}, + { "MAYA2015", "2015"}, { 0, 0 }, }; From 3813ff7dde42b3af4dbeddba7f6abbd1d9811636 Mon Sep 17 00:00:00 2001 From: Chris Brunner Date: Wed, 30 Apr 2014 19:49:57 +0000 Subject: [PATCH 06/10] Allow for mpeg2 files with the m2v extension --- panda/src/grutil/config_grutil.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panda/src/grutil/config_grutil.cxx b/panda/src/grutil/config_grutil.cxx index 291535704b..98ff1e0012 100644 --- a/panda/src/grutil/config_grutil.cxx +++ b/panda/src/grutil/config_grutil.cxx @@ -120,6 +120,6 @@ init_libgrutil() { MovieTexture::register_with_read_factory(); TexturePool *ts = TexturePool::get_global_ptr(); - ts->register_texture_type(MovieTexture::make_texture, "avi mov mpg mpeg mp4 wmv asf flv nut ogm mkv ogv"); + ts->register_texture_type(MovieTexture::make_texture, "avi m2v mov mpg mpeg mp4 wmv asf flv nut ogm mkv ogv"); #endif } From 862e22e548cdb23ffa11a7e774fde6e9193a960f Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 19 May 2014 17:33:36 +0000 Subject: [PATCH 07/10] remove Python-2-isms from DirectGui and FSM to make them work with Python 3 --- direct/src/fsm/FSM.py | 7 ++-- direct/src/gui/DirectGuiBase.py | 66 +++++++++++---------------------- 2 files changed, 25 insertions(+), 48 deletions(-) diff --git a/direct/src/fsm/FSM.py b/direct/src/fsm/FSM.py index 593581f758..db85ad4b00 100644 --- a/direct/src/fsm/FSM.py +++ b/direct/src/fsm/FSM.py @@ -10,7 +10,6 @@ from direct.directnotify import DirectNotifyGlobal from direct.showbase import PythonUtil from direct.stdpy.threading import RLock import types -import string class FSMException(Exception): pass @@ -364,7 +363,7 @@ class FSM(DirectObject): # If self.defaultTransitions is None, it means to accept # all requests whose name begins with a capital letter. # These are direct requests to a particular state. - if request[0] in string.uppercase: + if request[0].isupper(): return (request,) + args else: # If self.defaultTransitions is not None, it is a map of @@ -381,7 +380,7 @@ class FSM(DirectObject): # to request a direct state transition (capital letter # request) not listed in defaultTransitions and not # handled by an earlier filter. - if request[0] in string.uppercase: + if request[0].isupper(): raise RequestDenied, "%s (from state: %s)" % (request, self.state) # In either case, we quietly ignore unhandled command @@ -392,7 +391,7 @@ class FSM(DirectObject): def filterOff(self, request, args): """From the off state, we can always go directly to any other state.""" - if request[0] in string.uppercase: + if request[0].isupper(): return (request,) + args return self.defaultFilter(request, args) diff --git a/direct/src/gui/DirectGuiBase.py b/direct/src/gui/DirectGuiBase.py index 3d9d66292d..2d8c8241e7 100644 --- a/direct/src/gui/DirectGuiBase.py +++ b/direct/src/gui/DirectGuiBase.py @@ -14,7 +14,7 @@ from direct.task import Task from direct.showbase import ShowBase from direct.showbase.PythonUtil import recordCreationStackStr from pandac.PandaModules import PStatCollector -import string, types +import types guiObjectCollector = PStatCollector("Client::GuiObjects") @@ -192,9 +192,9 @@ class DirectGuiBase(DirectObject.DirectObject): # optimisations: optionInfo = self._optionInfo - optionInfo_has_key = optionInfo.has_key + optionInfo_has_key = optionInfo.__contains__ keywords = self._constructorKeywords - keywords_has_key = keywords.has_key + keywords_has_key = keywords.__contains__ FUNCTION = DGG._OPT_FUNCTION for name, default, function in optionDefs: @@ -251,7 +251,7 @@ class DirectGuiBase(DirectObject.DirectObject): # This keyword argument has not been used. If it # does not refer to a dynamic group, mark it as # unused. - index = string.find(name, '_') + index = name.find('_') if index < 0 or name[:index] not in self._dynamicGroups: unusedOptions.append(name) self._constructorKeywords = {} @@ -260,7 +260,7 @@ class DirectGuiBase(DirectObject.DirectObject): text = 'Unknown option "' else: text = 'Unknown options "' - raise KeyError, text + string.join(unusedOptions, ', ') + \ + raise KeyError, text + ', '.join(unusedOptions) + \ '" for ' + myClass.__name__ # Can now call post init func self.postInitialiseFunc() @@ -326,11 +326,11 @@ class DirectGuiBase(DirectObject.DirectObject): # optimizations: optionInfo = self._optionInfo - optionInfo_has_key = optionInfo.has_key + optionInfo_has_key = optionInfo.__contains__ componentInfo = self.__componentInfo - componentInfo_has_key = componentInfo.has_key + componentInfo_has_key = componentInfo.__contains__ componentAliases = self.__componentAliases - componentAliases_has_key = componentAliases.has_key + componentAliases_has_key = componentAliases.__contains__ VALUE = DGG._OPT_VALUE FUNCTION = DGG._OPT_FUNCTION @@ -345,7 +345,7 @@ class DirectGuiBase(DirectObject.DirectObject): # component and whose values are a dictionary of options and # values for the component. indirectOptions = {} - indirectOptions_has_key = indirectOptions.has_key + indirectOptions_has_key = indirectOptions.__contains__ for option, value in kw.items(): if optionInfo_has_key(option): @@ -361,7 +361,7 @@ class DirectGuiBase(DirectObject.DirectObject): optionInfo[option][VALUE] = value directOptions.append(option) else: - index = string.find(option, '_') + index = option.find('_') if index >= 0: # This option may be of the form _