mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
Backport various fixes for 1.9.4
This commit is contained in:
parent
bf919e4811
commit
163c923c82
@ -31,8 +31,8 @@ are included as part of the Windows 7.1 SDK.
|
|||||||
You will also need to have the third-party dependency libraries available for
|
You will also need to have the third-party dependency libraries available for
|
||||||
the build scripts to use. These are available from one of these two URLs,
|
the build scripts to use. These are available from one of these two URLs,
|
||||||
depending on whether you are on a 32-bit or 64-bit system:
|
depending on whether you are on a 32-bit or 64-bit system:
|
||||||
https://www.panda3d.org/download/panda3d-1.9.2/panda3d-1.9.2-tools-win32.zip
|
https://www.panda3d.org/download/panda3d-1.9.4/panda3d-1.9.4-tools-win32.zip
|
||||||
https://www.panda3d.org/download/panda3d-1.9.2/panda3d-1.9.2-tools-win64.zip
|
https://www.panda3d.org/download/panda3d-1.9.4/panda3d-1.9.4-tools-win64.zip
|
||||||
|
|
||||||
After acquiring these dependencies, you may simply build Panda3D from the
|
After acquiring these dependencies, you may simply build Panda3D from the
|
||||||
command prompt using the following command:
|
command prompt using the following command:
|
||||||
|
@ -413,7 +413,7 @@ class DirectCameraControl(DirectObject):
|
|||||||
np = NodePath('temp')
|
np = NodePath('temp')
|
||||||
np.setPos(base.direct.camera, hitPt)
|
np.setPos(base.direct.camera, hitPt)
|
||||||
self.coaMarkerPos = np.getPos()
|
self.coaMarkerPos = np.getPos()
|
||||||
np.remove()
|
np.removeNode()
|
||||||
self.coaMarker.setPos(self.coaMarkerPos)
|
self.coaMarker.setPos(self.coaMarkerPos)
|
||||||
|
|
||||||
iRay.collisionNodePath.removeNode()
|
iRay.collisionNodePath.removeNode()
|
||||||
|
@ -91,6 +91,7 @@ class FourState:
|
|||||||
off (and so is state 2 which is oposite of 4 and therefore
|
off (and so is state 2 which is oposite of 4 and therefore
|
||||||
oposite of 'on').
|
oposite of 'on').
|
||||||
"""
|
"""
|
||||||
|
self.stateIndex = 0
|
||||||
assert self.debugPrint("FourState(names=%s)"%(names))
|
assert self.debugPrint("FourState(names=%s)"%(names))
|
||||||
self.track = None
|
self.track = None
|
||||||
self.stateTime = 0.0
|
self.stateTime = 0.0
|
||||||
@ -121,7 +122,6 @@ class FourState:
|
|||||||
self.exitState4,
|
self.exitState4,
|
||||||
[names[1]]),
|
[names[1]]),
|
||||||
}
|
}
|
||||||
self.stateIndex = 0
|
|
||||||
self.fsm = ClassicFSM.ClassicFSM('FourState',
|
self.fsm = ClassicFSM.ClassicFSM('FourState',
|
||||||
self.states.values(),
|
self.states.values(),
|
||||||
# Initial State
|
# Initial State
|
||||||
|
@ -93,11 +93,11 @@ class FourStateAI:
|
|||||||
off (and so is state 2 which is oposite of state 4 and therefore
|
off (and so is state 2 which is oposite of state 4 and therefore
|
||||||
oposite of 'on').
|
oposite of 'on').
|
||||||
"""
|
"""
|
||||||
|
self.stateIndex = 0
|
||||||
assert self.debugPrint(
|
assert self.debugPrint(
|
||||||
"FourStateAI(names=%s, durations=%s)"
|
"FourStateAI(names=%s, durations=%s)"
|
||||||
%(names, durations))
|
%(names, durations))
|
||||||
self.doLaterTask = None
|
self.doLaterTask = None
|
||||||
self.stateIndex = 0
|
|
||||||
assert len(names) == 5
|
assert len(names) == 5
|
||||||
assert len(names) == len(durations)
|
assert len(names) == len(durations)
|
||||||
self.names = names
|
self.names = names
|
||||||
|
@ -3699,8 +3699,8 @@ paint_window_osx_port() {
|
|||||||
int y_size = min(_wparams.get_win_height(), _swbuffer->get_y_size());
|
int y_size = min(_wparams.get_win_height(), _swbuffer->get_y_size());
|
||||||
size_t rowsize = _swbuffer->get_row_size();
|
size_t rowsize = _swbuffer->get_row_size();
|
||||||
|
|
||||||
Rect src_rect = {0, 0, y_size, x_size};
|
Rect src_rect = {0, 0, (short)y_size, (short)x_size};
|
||||||
Rect ddrc_rect = {0, 0, y_size, x_size};
|
Rect ddrc_rect = {0, 0, (short)y_size, (short)x_size};
|
||||||
|
|
||||||
QDErr err;
|
QDErr err;
|
||||||
|
|
||||||
@ -3754,7 +3754,7 @@ paint_window_osx_cgcontext(CGContextRef context) {
|
|||||||
int y_size = min(_wparams.get_win_height(), _swbuffer->get_y_size());
|
int y_size = min(_wparams.get_win_height(), _swbuffer->get_y_size());
|
||||||
|
|
||||||
if (_buffer_image != NULL) {
|
if (_buffer_image != NULL) {
|
||||||
CGRect region = { { 0, 0 }, { x_size, y_size } };
|
CGRect region = { { 0, 0 }, { (CGFloat)x_size, (CGFloat)y_size } };
|
||||||
CGContextDrawImage(context, region, _buffer_image);
|
CGContextDrawImage(context, region, _buffer_image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3794,7 +3794,7 @@ handle_event_osx_event_record(const P3D_event_data &event) {
|
|||||||
// First, convert the coordinates from screen coordinates to
|
// First, convert the coordinates from screen coordinates to
|
||||||
// browser window coordinates.
|
// browser window coordinates.
|
||||||
WindowRef window = handle._handle._osx_cgcontext._window;
|
WindowRef window = handle._handle._osx_cgcontext._window;
|
||||||
CGPoint cgpt = { pt.h, pt.v };
|
CGPoint cgpt = { (CGFloat)pt.h, (CGFloat)pt.v };
|
||||||
HIPointConvert(&cgpt, kHICoordSpaceScreenPixel, NULL,
|
HIPointConvert(&cgpt, kHICoordSpaceScreenPixel, NULL,
|
||||||
kHICoordSpaceWindow, window);
|
kHICoordSpaceWindow, window);
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ refresh() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_toplevel_window != NULL) {
|
if (_toplevel_window != NULL) {
|
||||||
Rect r = { 0, 0, _win_height, _win_width };
|
Rect r = { 0, 0, (short)_win_height, (short)_win_width };
|
||||||
InvalWindowRect(_toplevel_window, &r);
|
InvalWindowRect(_toplevel_window, &r);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -374,7 +374,7 @@ paint_window_osx_cgcontext(CGContextRef context) {
|
|||||||
CGColorSpaceRef rgb_space = CGColorSpaceCreateDeviceRGB();
|
CGColorSpaceRef rgb_space = CGColorSpaceCreateDeviceRGB();
|
||||||
CGColorRef bg = CGColorCreate(rgb_space, bg_components);
|
CGColorRef bg = CGColorCreate(rgb_space, bg_components);
|
||||||
|
|
||||||
CGRect region = { { 0, 0 }, { _win_width, _win_height } };
|
CGRect region = { { 0, 0 }, { (CGFloat)_win_width, (CGFloat)_win_height } };
|
||||||
CGContextSetFillColorWithColor(context, bg);
|
CGContextSetFillColorWithColor(context, bg);
|
||||||
CGContextFillRect(context, region);
|
CGContextFillRect(context, region);
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ handle_event_osx_event_record(const P3D_event_data &event) {
|
|||||||
// First, convert the coordinates from screen coordinates to
|
// First, convert the coordinates from screen coordinates to
|
||||||
// browser window coordinates.
|
// browser window coordinates.
|
||||||
WindowRef window = handle._handle._osx_cgcontext._window;
|
WindowRef window = handle._handle._osx_cgcontext._window;
|
||||||
CGPoint cgpt = { pt.h, pt.v };
|
CGPoint cgpt = { (CGFloat)pt.h, (CGFloat)pt.v };
|
||||||
HIPointConvert(&cgpt, kHICoordSpaceScreenPixel, NULL,
|
HIPointConvert(&cgpt, kHICoordSpaceScreenPixel, NULL,
|
||||||
kHICoordSpaceWindow, window);
|
kHICoordSpaceWindow, window);
|
||||||
|
|
||||||
@ -662,7 +662,7 @@ paint_progress_bar(CGContextRef context) {
|
|||||||
int bar_x, bar_y, bar_width, bar_height;
|
int bar_x, bar_y, bar_width, bar_height;
|
||||||
get_bar_placement(bar_x, bar_y, bar_width, bar_height);
|
get_bar_placement(bar_x, bar_y, bar_width, bar_height);
|
||||||
|
|
||||||
CGRect bar_rect = { { bar_x, bar_y }, { bar_width, bar_height } };
|
CGRect bar_rect = { { (CGFloat)bar_x, (CGFloat)bar_y }, { (CGFloat)bar_width, (CGFloat)bar_height } };
|
||||||
|
|
||||||
// Clear the entire progress bar to white (or the background color).
|
// Clear the entire progress bar to white (or the background color).
|
||||||
CGContextSetFillColorWithColor(context, bar_bg);
|
CGContextSetFillColorWithColor(context, bar_bg);
|
||||||
@ -672,7 +672,7 @@ paint_progress_bar(CGContextRef context) {
|
|||||||
if (_progress_known) {
|
if (_progress_known) {
|
||||||
int progress_width = (int)(bar_width * _install_progress + 0.5);
|
int progress_width = (int)(bar_width * _install_progress + 0.5);
|
||||||
if (progress_width != 0) {
|
if (progress_width != 0) {
|
||||||
CGRect prog = { { bar_x, bar_y }, { progress_width, bar_height } };
|
CGRect prog = { { (CGFloat)bar_x, (CGFloat)bar_y }, { (CGFloat)progress_width, (CGFloat)bar_height } };
|
||||||
CGContextSetFillColorWithColor(context, bar);
|
CGContextSetFillColorWithColor(context, bar);
|
||||||
CGContextFillRect(context, prog);
|
CGContextFillRect(context, prog);
|
||||||
}
|
}
|
||||||
@ -687,7 +687,7 @@ paint_progress_bar(CGContextRef context) {
|
|||||||
progress = block_travel * 2 - progress;
|
progress = block_travel * 2 - progress;
|
||||||
}
|
}
|
||||||
|
|
||||||
CGRect prog = { { bar_x + progress, bar_y }, { block_width, bar_height } };
|
CGRect prog = { { (CGFloat)(bar_x + progress), (CGFloat)bar_y }, { (CGFloat)block_width, (CGFloat)bar_height } };
|
||||||
CGContextSetFillColorWithColor(context, bar);
|
CGContextSetFillColorWithColor(context, bar);
|
||||||
CGContextFillRect(context, prog);
|
CGContextFillRect(context, prog);
|
||||||
}
|
}
|
||||||
@ -697,8 +697,8 @@ paint_progress_bar(CGContextRef context) {
|
|||||||
// We offset the border by half a pixel, so we'll be drawing the
|
// We offset the border by half a pixel, so we'll be drawing the
|
||||||
// one-pixel line through the middle of a pixel, and it won't try to
|
// one-pixel line through the middle of a pixel, and it won't try to
|
||||||
// antialias itself into a half-black two-pixel line.
|
// antialias itself into a half-black two-pixel line.
|
||||||
CGRect border_rect = { { bar_x - 0.5, bar_y - 0.5 },
|
CGRect border_rect = { { (CGFloat)(bar_x - 0.5), (CGFloat)(bar_y - 0.5) },
|
||||||
{ bar_width + 1, bar_height + 1 } };
|
{ (CGFloat)(bar_width + 1), (CGFloat)(bar_height + 1) } };
|
||||||
|
|
||||||
CGContextBeginPath(context);
|
CGContextBeginPath(context);
|
||||||
CGContextSetLineWidth(context, 1);
|
CGContextSetLineWidth(context, 1);
|
||||||
|
@ -282,6 +282,9 @@ class MemoryExplorerItem:
|
|||||||
def getNumChildren(self):
|
def getNumChildren(self):
|
||||||
return len(self.children)
|
return len(self.children)
|
||||||
|
|
||||||
|
def getChildren(self):
|
||||||
|
return self.children
|
||||||
|
|
||||||
def getChildrenAsList(self):
|
def getChildrenAsList(self):
|
||||||
return self.children
|
return self.children
|
||||||
|
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
------------------------ RELEASE 1.9.4 ------------------------
|
||||||
|
|
||||||
|
One of the bugfixes in the last 1.9.3 release introduced a regression,
|
||||||
|
therefore it was decided to make another 1.9.x release.
|
||||||
|
|
||||||
|
* Fix 1.9.3 regression with generating geometry in threaded pipeline
|
||||||
|
* Various compile warning fixes
|
||||||
|
* Fix occasional crash in PNMImage::quick_filter_from()
|
||||||
|
* Fix issue taking screenshots from an OpenGL FBO buffer
|
||||||
|
* Fix various issues with MeshDrawer
|
||||||
|
* Fix issue with collision sphere generation in bam2egg
|
||||||
|
* Fix compile errors with more obscure Python configurations
|
||||||
|
* Fix assert when using Texture.load_sub_image to load whole image
|
||||||
|
* Fix fsm FourState
|
||||||
|
|
||||||
------------------------ RELEASE 1.9.3 ------------------------
|
------------------------ RELEASE 1.9.3 ------------------------
|
||||||
|
|
||||||
This issue fixes several bugs that were still found in 1.9.2.
|
This issue fixes several bugs that were still found in 1.9.2.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// ppremake scripts for Panda.
|
// ppremake scripts for Panda.
|
||||||
|
|
||||||
// Use spaces to separate the major, minor, and sequence numbers here.
|
// Use spaces to separate the major, minor, and sequence numbers here.
|
||||||
#define PANDA_VERSION 1 9 3
|
#define PANDA_VERSION 1 9 4
|
||||||
|
|
||||||
// This variable will be defined to false in the CVS repository, but
|
// This variable will be defined to false in the CVS repository, but
|
||||||
// scripts that generate source tarballs and/or binary releases for
|
// scripts that generate source tarballs and/or binary releases for
|
||||||
|
@ -1075,6 +1075,7 @@ function_operator:
|
|||||||
more_template_declaration:
|
more_template_declaration:
|
||||||
type_like_declaration
|
type_like_declaration
|
||||||
| template_declaration
|
| template_declaration
|
||||||
|
| friend_declaration
|
||||||
;
|
;
|
||||||
|
|
||||||
template_declaration:
|
template_declaration:
|
||||||
|
@ -346,8 +346,14 @@ template<class T> INLINE bool DTOOL_Call_ExtractThisPointer(PyObject *self, T *&
|
|||||||
|
|
||||||
// Functions related to error reporting.
|
// Functions related to error reporting.
|
||||||
|
|
||||||
|
// _PyErr_OCCURRED is an undocumented macro version of PyErr_Occurred.
|
||||||
|
// Some implementations of the CPython API (e.g. PyPy's cpyext) do not define
|
||||||
|
// it, so in these cases we just silently fall back to PyErr_Occurred.
|
||||||
|
#ifndef _PyErr_OCCURRED
|
||||||
|
#define _PyErr_OCCURRED() PyErr_Occurred()
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
// _PyErr_OCCURRED is an undocumented inline version of PyErr_Occurred.
|
|
||||||
#define Dtool_CheckErrorOccurred() (_PyErr_OCCURRED() != NULL)
|
#define Dtool_CheckErrorOccurred() (_PyErr_OCCURRED() != NULL)
|
||||||
#else
|
#else
|
||||||
EXPCL_DTOOLCONFIG bool Dtool_CheckErrorOccurred();
|
EXPCL_DTOOLCONFIG bool Dtool_CheckErrorOccurred();
|
||||||
|
@ -91,6 +91,7 @@ extern "C" {
|
|||||||
EXPCL_PYSTUB int PyModule_AddObject(...);
|
EXPCL_PYSTUB int PyModule_AddObject(...);
|
||||||
EXPCL_PYSTUB int PyModule_AddStringConstant(...);
|
EXPCL_PYSTUB int PyModule_AddStringConstant(...);
|
||||||
EXPCL_PYSTUB int PyModule_Create2(...);
|
EXPCL_PYSTUB int PyModule_Create2(...);
|
||||||
|
EXPCL_PYSTUB int PyModule_Create2TraceRefs(...);
|
||||||
EXPCL_PYSTUB int PyNumber_Check(...);
|
EXPCL_PYSTUB int PyNumber_Check(...);
|
||||||
EXPCL_PYSTUB int PyNumber_Float(...);
|
EXPCL_PYSTUB int PyNumber_Float(...);
|
||||||
EXPCL_PYSTUB int PyNumber_Int(...);
|
EXPCL_PYSTUB int PyNumber_Int(...);
|
||||||
@ -150,12 +151,14 @@ extern "C" {
|
|||||||
EXPCL_PYSTUB int PyUnicodeUCS2_FromStringAndSize(...);
|
EXPCL_PYSTUB int PyUnicodeUCS2_FromStringAndSize(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS2_FromWideChar(...);
|
EXPCL_PYSTUB int PyUnicodeUCS2_FromWideChar(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS2_AsWideChar(...);
|
EXPCL_PYSTUB int PyUnicodeUCS2_AsWideChar(...);
|
||||||
|
EXPCL_PYSTUB int PyUnicodeUCS2_AsWideCharString(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS2_GetSize(...);
|
EXPCL_PYSTUB int PyUnicodeUCS2_GetSize(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_FromFormat(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_FromFormat(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_FromString(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_FromString(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_FromStringAndSize(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_FromStringAndSize(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_FromWideChar(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_FromWideChar(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_AsWideChar(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_AsWideChar(...);
|
||||||
|
EXPCL_PYSTUB int PyUnicodeUCS4_AsWideCharString(...);
|
||||||
EXPCL_PYSTUB int PyUnicodeUCS4_GetSize(...);
|
EXPCL_PYSTUB int PyUnicodeUCS4_GetSize(...);
|
||||||
EXPCL_PYSTUB int PyUnicode_AsUTF8(...);
|
EXPCL_PYSTUB int PyUnicode_AsUTF8(...);
|
||||||
EXPCL_PYSTUB int PyUnicode_AsUTF8AndSize(...);
|
EXPCL_PYSTUB int PyUnicode_AsUTF8AndSize(...);
|
||||||
@ -174,6 +177,7 @@ extern "C" {
|
|||||||
EXPCL_PYSTUB int Py_InitModule4(...);
|
EXPCL_PYSTUB int Py_InitModule4(...);
|
||||||
EXPCL_PYSTUB int Py_InitModule4_64(...);
|
EXPCL_PYSTUB int Py_InitModule4_64(...);
|
||||||
EXPCL_PYSTUB int Py_InitModule4TraceRefs(...);
|
EXPCL_PYSTUB int Py_InitModule4TraceRefs(...);
|
||||||
|
EXPCL_PYSTUB int Py_InitModule4TraceRefs_64(...);
|
||||||
EXPCL_PYSTUB int _PyArg_ParseTuple_SizeT(...);
|
EXPCL_PYSTUB int _PyArg_ParseTuple_SizeT(...);
|
||||||
EXPCL_PYSTUB int _PyArg_ParseTupleAndKeywords_SizeT(...);
|
EXPCL_PYSTUB int _PyArg_ParseTupleAndKeywords_SizeT(...);
|
||||||
EXPCL_PYSTUB int _PyArg_Parse_SizeT(...);
|
EXPCL_PYSTUB int _PyArg_Parse_SizeT(...);
|
||||||
@ -183,9 +187,14 @@ extern "C" {
|
|||||||
EXPCL_PYSTUB int _PyObject_Del(...);
|
EXPCL_PYSTUB int _PyObject_Del(...);
|
||||||
EXPCL_PYSTUB int _PyUnicode_AsString(...);
|
EXPCL_PYSTUB int _PyUnicode_AsString(...);
|
||||||
EXPCL_PYSTUB int _PyUnicode_AsStringAndSize(...);
|
EXPCL_PYSTUB int _PyUnicode_AsStringAndSize(...);
|
||||||
|
EXPCL_PYSTUB int _Py_AddToAllObjects(...);
|
||||||
EXPCL_PYSTUB int _Py_BuildValue_SizeT(...);
|
EXPCL_PYSTUB int _Py_BuildValue_SizeT(...);
|
||||||
EXPCL_PYSTUB int _Py_Dealloc(...);
|
EXPCL_PYSTUB int _Py_Dealloc(...);
|
||||||
|
EXPCL_PYSTUB int _Py_ForgetReference(...);
|
||||||
EXPCL_PYSTUB int _Py_NegativeRefcount(...);
|
EXPCL_PYSTUB int _Py_NegativeRefcount(...);
|
||||||
|
EXPCL_PYSTUB int _Py_NewReference(...);
|
||||||
|
EXPCL_PYSTUB int _Py_PrintReferenceAddresses(...);
|
||||||
|
EXPCL_PYSTUB int _Py_PrintReferences(...);
|
||||||
EXPCL_PYSTUB int _Py_RefTotal(...);
|
EXPCL_PYSTUB int _Py_RefTotal(...);
|
||||||
|
|
||||||
EXPCL_PYSTUB void Py_Initialize();
|
EXPCL_PYSTUB void Py_Initialize();
|
||||||
@ -291,6 +300,7 @@ int PyModule_AddIntConstant(...) { return 0; };
|
|||||||
int PyModule_AddObject(...) { return 0; };
|
int PyModule_AddObject(...) { return 0; };
|
||||||
int PyModule_AddStringConstant(...) { return 0; };
|
int PyModule_AddStringConstant(...) { return 0; };
|
||||||
int PyModule_Create2(...) { return 0; };
|
int PyModule_Create2(...) { return 0; };
|
||||||
|
int PyModule_Create2TraceRefs(...) { return 0; };
|
||||||
int PyNumber_Check(...) { return 0; }
|
int PyNumber_Check(...) { return 0; }
|
||||||
int PyNumber_Float(...) { return 0; }
|
int PyNumber_Float(...) { return 0; }
|
||||||
int PyNumber_Int(...) { return 0; }
|
int PyNumber_Int(...) { return 0; }
|
||||||
@ -350,12 +360,14 @@ int PyUnicodeUCS2_FromString(...) { return 0; }
|
|||||||
int PyUnicodeUCS2_FromStringAndSize(...) { return 0; }
|
int PyUnicodeUCS2_FromStringAndSize(...) { return 0; }
|
||||||
int PyUnicodeUCS2_FromWideChar(...) { return 0; }
|
int PyUnicodeUCS2_FromWideChar(...) { return 0; }
|
||||||
int PyUnicodeUCS2_AsWideChar(...) { return 0; }
|
int PyUnicodeUCS2_AsWideChar(...) { return 0; }
|
||||||
|
int PyUnicodeUCS2_AsWideCharString(...) { return 0; }
|
||||||
int PyUnicodeUCS2_GetSize(...) { return 0; }
|
int PyUnicodeUCS2_GetSize(...) { return 0; }
|
||||||
int PyUnicodeUCS4_FromFormat(...) { return 0; }
|
int PyUnicodeUCS4_FromFormat(...) { return 0; }
|
||||||
int PyUnicodeUCS4_FromString(...) { return 0; }
|
int PyUnicodeUCS4_FromString(...) { return 0; }
|
||||||
int PyUnicodeUCS4_FromStringAndSize(...) { return 0; }
|
int PyUnicodeUCS4_FromStringAndSize(...) { return 0; }
|
||||||
int PyUnicodeUCS4_FromWideChar(...) { return 0; }
|
int PyUnicodeUCS4_FromWideChar(...) { return 0; }
|
||||||
int PyUnicodeUCS4_AsWideChar(...) { return 0; }
|
int PyUnicodeUCS4_AsWideChar(...) { return 0; }
|
||||||
|
int PyUnicodeUCS4_AsWideCharString(...) { return 0; }
|
||||||
int PyUnicodeUCS4_GetSize(...) { return 0; }
|
int PyUnicodeUCS4_GetSize(...) { return 0; }
|
||||||
int PyUnicode_AsUTF8(...) { return 0; }
|
int PyUnicode_AsUTF8(...) { return 0; }
|
||||||
int PyUnicode_AsUTF8AndSize(...) { return 0; }
|
int PyUnicode_AsUTF8AndSize(...) { return 0; }
|
||||||
@ -374,6 +386,7 @@ int Py_BuildValue(...) { return 0; }
|
|||||||
int Py_InitModule4(...) { return 0; }
|
int Py_InitModule4(...) { return 0; }
|
||||||
int Py_InitModule4_64(...) { return 0; }
|
int Py_InitModule4_64(...) { return 0; }
|
||||||
int Py_InitModule4TraceRefs(...) { return 0; };
|
int Py_InitModule4TraceRefs(...) { return 0; };
|
||||||
|
int Py_InitModule4TraceRefs_64(...) { return 0; };
|
||||||
int _PyArg_ParseTuple_SizeT(...) { return 0; };
|
int _PyArg_ParseTuple_SizeT(...) { return 0; };
|
||||||
int _PyArg_ParseTupleAndKeywords_SizeT(...) { return 0; };
|
int _PyArg_ParseTupleAndKeywords_SizeT(...) { return 0; };
|
||||||
int _PyArg_Parse_SizeT(...) { return 0; };
|
int _PyArg_Parse_SizeT(...) { return 0; };
|
||||||
@ -383,9 +396,14 @@ int _PyObject_DebugFree(...) { return 0; };
|
|||||||
int _PyObject_Del(...) { return 0; };
|
int _PyObject_Del(...) { return 0; };
|
||||||
int _PyUnicode_AsString(...) { return 0; };
|
int _PyUnicode_AsString(...) { return 0; };
|
||||||
int _PyUnicode_AsStringAndSize(...) { return 0; };
|
int _PyUnicode_AsStringAndSize(...) { return 0; };
|
||||||
|
int _Py_AddToAllObjects(...) { return 0; };
|
||||||
int _Py_BuildValue_SizeT(...) { return 0; };
|
int _Py_BuildValue_SizeT(...) { return 0; };
|
||||||
int _Py_Dealloc(...) { return 0; };
|
int _Py_Dealloc(...) { return 0; };
|
||||||
|
int _Py_ForgetReference(...) { return 0; };
|
||||||
int _Py_NegativeRefcount(...) { return 0; };
|
int _Py_NegativeRefcount(...) { return 0; };
|
||||||
|
int _Py_NewReference(...) { return 0; };
|
||||||
|
int _Py_PrintReferenceAddresses(...) { return 0; };
|
||||||
|
int _Py_PrintReferences(...) { return 0; };
|
||||||
int _Py_RefTotal(...) { return 0; };
|
int _Py_RefTotal(...) { return 0; };
|
||||||
|
|
||||||
// We actually might call this one.
|
// We actually might call this one.
|
||||||
|
@ -450,8 +450,8 @@ get_sound(const string &file_name, bool positional, int) {
|
|||||||
vfs->resolve_filename(path, get_model_path());
|
vfs->resolve_filename(path, get_model_path());
|
||||||
|
|
||||||
// Build a new AudioSound from the audio data.
|
// Build a new AudioSound from the audio data.
|
||||||
PT(AudioSound) audioSound = 0;
|
PT(AudioSound) audioSound;
|
||||||
PT(FmodAudioSound) fmodAudioSound = new FmodAudioSound(this, path, positional );
|
PT(FmodAudioSound) fmodAudioSound = new FmodAudioSound(this, path, positional);
|
||||||
|
|
||||||
_all_sounds.insert(fmodAudioSound);
|
_all_sounds.insert(fmodAudioSound);
|
||||||
|
|
||||||
|
@ -1120,7 +1120,6 @@ cleanup() {
|
|||||||
OpenALAudioManager::SoundData::
|
OpenALAudioManager::SoundData::
|
||||||
SoundData() :
|
SoundData() :
|
||||||
_manager(0),
|
_manager(0),
|
||||||
_movie(0),
|
|
||||||
_sample(0),
|
_sample(0),
|
||||||
_stream(NULL),
|
_stream(NULL),
|
||||||
_length(0.0),
|
_length(0.0),
|
||||||
|
@ -258,7 +258,7 @@ PT(CollisionEntry) CollisionBox::
|
|||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
|
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
||||||
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
||||||
@ -466,7 +466,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionBox::
|
PT(CollisionEntry) CollisionBox::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
LPoint3 from_origin = ray->get_origin() * wrt_mat;
|
LPoint3 from_origin = ray->get_origin() * wrt_mat;
|
||||||
@ -549,7 +549,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionBox::
|
PT(CollisionEntry) CollisionBox::
|
||||||
test_intersection_from_segment(const CollisionEntry &entry) const {
|
test_intersection_from_segment(const CollisionEntry &entry) const {
|
||||||
const CollisionSegment *seg;
|
const CollisionSegment *seg;
|
||||||
DCAST_INTO_R(seg, entry.get_from(), 0);
|
DCAST_INTO_R(seg, entry.get_from(), NULL);
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
LPoint3 from_origin = seg->get_point_a() * wrt_mat;
|
LPoint3 from_origin = seg->get_point_a() * wrt_mat;
|
||||||
|
@ -141,7 +141,7 @@ compute_internal_bounds() const {
|
|||||||
PT(CollisionEntry) CollisionFloorMesh::
|
PT(CollisionEntry) CollisionFloorMesh::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
LPoint3 from_origin = ray->get_origin() * entry.get_wrt_mat();
|
LPoint3 from_origin = ray->get_origin() * entry.get_wrt_mat();
|
||||||
|
|
||||||
double fx = from_origin[0];
|
double fx = from_origin[0];
|
||||||
@ -208,7 +208,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionFloorMesh::
|
PT(CollisionEntry) CollisionFloorMesh::
|
||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
LPoint3 from_origin = sphere->get_center() * entry.get_wrt_mat();
|
LPoint3 from_origin = sphere->get_center() * entry.get_wrt_mat();
|
||||||
|
|
||||||
double fx = from_origin[0];
|
double fx = from_origin[0];
|
||||||
|
@ -143,7 +143,7 @@ handle_entries() {
|
|||||||
|
|
||||||
// currently we only support spheres as the collider
|
// currently we only support spheres as the collider
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entries.front()->get_from(), 0);
|
DCAST_INTO_R(sphere, entries.front()->get_from(), false);
|
||||||
|
|
||||||
from_node_path.set_pos(wrt_node, 0,0,0);
|
from_node_path.set_pos(wrt_node, 0,0,0);
|
||||||
LPoint3 sphere_offset = (sphere->get_center() *
|
LPoint3 sphere_offset = (sphere->get_center() *
|
||||||
|
@ -109,7 +109,7 @@ compute_internal_bounds() const {
|
|||||||
PT(CollisionEntry) CollisionInvSphere::
|
PT(CollisionEntry) CollisionInvSphere::
|
||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionInvSphere::
|
PT(CollisionEntry) CollisionInvSphere::
|
||||||
test_intersection_from_line(const CollisionEntry &entry) const {
|
test_intersection_from_line(const CollisionEntry &entry) const {
|
||||||
const CollisionLine *line;
|
const CollisionLine *line;
|
||||||
DCAST_INTO_R(line, entry.get_from(), 0);
|
DCAST_INTO_R(line, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -206,7 +206,7 @@ test_intersection_from_line(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionInvSphere::
|
PT(CollisionEntry) CollisionInvSphere::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionInvSphere::
|
PT(CollisionEntry) CollisionInvSphere::
|
||||||
test_intersection_from_segment(const CollisionEntry &entry) const {
|
test_intersection_from_segment(const CollisionEntry &entry) const {
|
||||||
const CollisionSegment *segment;
|
const CollisionSegment *segment;
|
||||||
DCAST_INTO_R(segment, entry.get_from(), 0);
|
DCAST_INTO_R(segment, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ compute_internal_bounds() const {
|
|||||||
PT(CollisionEntry) CollisionPlane::
|
PT(CollisionEntry) CollisionPlane::
|
||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionPlane::
|
PT(CollisionEntry) CollisionPlane::
|
||||||
test_intersection_from_line(const CollisionEntry &entry) const {
|
test_intersection_from_line(const CollisionEntry &entry) const {
|
||||||
const CollisionLine *line;
|
const CollisionLine *line;
|
||||||
DCAST_INTO_R(line, entry.get_from(), 0);
|
DCAST_INTO_R(line, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ test_intersection_from_line(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionPlane::
|
PT(CollisionEntry) CollisionPlane::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -270,7 +270,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionPlane::
|
PT(CollisionEntry) CollisionPlane::
|
||||||
test_intersection_from_segment(const CollisionEntry &entry) const {
|
test_intersection_from_segment(const CollisionEntry &entry) const {
|
||||||
const CollisionSegment *segment;
|
const CollisionSegment *segment;
|
||||||
DCAST_INTO_R(segment, entry.get_from(), 0);
|
DCAST_INTO_R(segment, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -331,7 +331,7 @@ test_intersection_from_segment(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionPlane::
|
PT(CollisionEntry) CollisionPlane::
|
||||||
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
||||||
const CollisionParabola *parabola;
|
const CollisionParabola *parabola;
|
||||||
DCAST_INTO_R(parabola, entry.get_from(), 0);
|
DCAST_INTO_R(parabola, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
||||||
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
||||||
@ -590,7 +590,7 @@ test_intersection_from_line(const CollisionEntry &entry) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollisionLine *line;
|
const CollisionLine *line;
|
||||||
DCAST_INTO_R(line, entry.get_from(), 0);
|
DCAST_INTO_R(line, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -661,7 +661,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -737,7 +737,7 @@ test_intersection_from_segment(const CollisionEntry &entry) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollisionSegment *segment;
|
const CollisionSegment *segment;
|
||||||
DCAST_INTO_R(segment, entry.get_from(), 0);
|
DCAST_INTO_R(segment, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -815,7 +815,7 @@ test_intersection_from_parabola(const CollisionEntry &entry) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollisionParabola *parabola;
|
const CollisionParabola *parabola;
|
||||||
DCAST_INTO_R(parabola, entry.get_from(), 0);
|
DCAST_INTO_R(parabola, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ compute_internal_bounds() const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
||||||
|
|
||||||
@ -254,7 +254,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_line(const CollisionEntry &entry) const {
|
test_intersection_from_line(const CollisionEntry &entry) const {
|
||||||
const CollisionLine *line;
|
const CollisionLine *line;
|
||||||
DCAST_INTO_R(line, entry.get_from(), 0);
|
DCAST_INTO_R(line, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -296,7 +296,7 @@ test_intersection_from_line(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_box(const CollisionEntry &entry) const {
|
test_intersection_from_box(const CollisionEntry &entry) const {
|
||||||
const CollisionBox *box;
|
const CollisionBox *box;
|
||||||
DCAST_INTO_R(box, entry.get_from(), 0);
|
DCAST_INTO_R(box, entry.get_from(), NULL);
|
||||||
|
|
||||||
// Instead of transforming the box into the sphere's coordinate space,
|
// Instead of transforming the box into the sphere's coordinate space,
|
||||||
// we do it the other way around. It's easier that way.
|
// we do it the other way around. It's easier that way.
|
||||||
@ -374,7 +374,7 @@ test_intersection_from_box(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_segment(const CollisionEntry &entry) const {
|
test_intersection_from_segment(const CollisionEntry &entry) const {
|
||||||
const CollisionSegment *segment;
|
const CollisionSegment *segment;
|
||||||
DCAST_INTO_R(segment, entry.get_from(), 0);
|
DCAST_INTO_R(segment, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ test_intersection_from_segment(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionSphere::
|
PT(CollisionEntry) CollisionSphere::
|
||||||
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
||||||
const CollisionParabola *parabola;
|
const CollisionParabola *parabola;
|
||||||
DCAST_INTO_R(parabola, entry.get_from(), 0);
|
DCAST_INTO_R(parabola, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ compute_internal_bounds() const {
|
|||||||
PT(CollisionEntry) CollisionTube::
|
PT(CollisionEntry) CollisionTube::
|
||||||
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
test_intersection_from_sphere(const CollisionEntry &entry) const {
|
||||||
const CollisionSphere *sphere;
|
const CollisionSphere *sphere;
|
||||||
DCAST_INTO_R(sphere, entry.get_from(), 0);
|
DCAST_INTO_R(sphere, entry.get_from(), NULL);
|
||||||
|
|
||||||
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
CPT(TransformState) wrt_space = entry.get_wrt_space();
|
||||||
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
CPT(TransformState) wrt_prev_space = entry.get_wrt_prev_space();
|
||||||
@ -239,7 +239,7 @@ test_intersection_from_sphere(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionTube::
|
PT(CollisionEntry) CollisionTube::
|
||||||
test_intersection_from_line(const CollisionEntry &entry) const {
|
test_intersection_from_line(const CollisionEntry &entry) const {
|
||||||
const CollisionLine *line;
|
const CollisionLine *line;
|
||||||
DCAST_INTO_R(line, entry.get_from(), 0);
|
DCAST_INTO_R(line, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -289,7 +289,7 @@ test_intersection_from_line(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionTube::
|
PT(CollisionEntry) CollisionTube::
|
||||||
test_intersection_from_ray(const CollisionEntry &entry) const {
|
test_intersection_from_ray(const CollisionEntry &entry) const {
|
||||||
const CollisionRay *ray;
|
const CollisionRay *ray;
|
||||||
DCAST_INTO_R(ray, entry.get_from(), 0);
|
DCAST_INTO_R(ray, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -353,7 +353,7 @@ test_intersection_from_ray(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionTube::
|
PT(CollisionEntry) CollisionTube::
|
||||||
test_intersection_from_segment(const CollisionEntry &entry) const {
|
test_intersection_from_segment(const CollisionEntry &entry) const {
|
||||||
const CollisionSegment *segment;
|
const CollisionSegment *segment;
|
||||||
DCAST_INTO_R(segment, entry.get_from(), 0);
|
DCAST_INTO_R(segment, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
@ -419,7 +419,7 @@ test_intersection_from_segment(const CollisionEntry &entry) const {
|
|||||||
PT(CollisionEntry) CollisionTube::
|
PT(CollisionEntry) CollisionTube::
|
||||||
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
test_intersection_from_parabola(const CollisionEntry &entry) const {
|
||||||
const CollisionParabola *parabola;
|
const CollisionParabola *parabola;
|
||||||
DCAST_INTO_R(parabola, entry.get_from(), 0);
|
DCAST_INTO_R(parabola, entry.get_from(), NULL);
|
||||||
|
|
||||||
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
const LMatrix4 &wrt_mat = entry.get_wrt_mat();
|
||||||
|
|
||||||
|
@ -582,6 +582,12 @@ get_screenshot() {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// Make sure that the correct viewport is active.
|
||||||
|
DisplayRegionPipelineReader dr_reader(this, current_thread);
|
||||||
|
gsg->prepare_display_region(&dr_reader);
|
||||||
|
}
|
||||||
|
|
||||||
PT(Texture) tex = new Texture;
|
PT(Texture) tex = new Texture;
|
||||||
|
|
||||||
RenderBuffer buffer = gsg->get_render_buffer(get_screenshot_buffer_type(),
|
RenderBuffer buffer = gsg->get_render_buffer(get_screenshot_buffer_type(),
|
||||||
|
@ -891,7 +891,7 @@ load_client_certificate() {
|
|||||||
|
|
||||||
// Rewind the "file" to the beginning in order to read the public
|
// Rewind the "file" to the beginning in order to read the public
|
||||||
// key (which might appear first in the file).
|
// key (which might appear first in the file).
|
||||||
BIO_reset(mbio);
|
(void)BIO_reset(mbio);
|
||||||
|
|
||||||
ERR_clear_error();
|
ERR_clear_error();
|
||||||
_client_certificate_pub =
|
_client_certificate_pub =
|
||||||
|
@ -481,7 +481,7 @@ convert_collision_node(CollisionNode *node, const WorkingNodePath &node_path,
|
|||||||
} else if (child->is_of_type(CollisionSphere::get_class_type())) {
|
} else if (child->is_of_type(CollisionSphere::get_class_type())) {
|
||||||
CPT(CollisionSphere) sphere = DCAST(CollisionSphere, child);
|
CPT(CollisionSphere) sphere = DCAST(CollisionSphere, child);
|
||||||
LPoint3 center = sphere->get_center();
|
LPoint3 center = sphere->get_center();
|
||||||
LVector3 offset(sphere->get_radius(), 0, 0);
|
PN_stdfloat radius = sphere->get_radius();
|
||||||
|
|
||||||
EggGroup *egg_sphere;
|
EggGroup *egg_sphere;
|
||||||
if (num_solids == 1) {
|
if (num_solids == 1) {
|
||||||
@ -498,15 +498,19 @@ convert_collision_node(CollisionNode *node, const WorkingNodePath &node_path,
|
|||||||
}
|
}
|
||||||
egg_sphere->set_collide_flags(flags);
|
egg_sphere->set_collide_flags(flags);
|
||||||
|
|
||||||
EggVertex ev1, ev2;
|
EggVertex ev1, ev2, ev3, ev4;
|
||||||
ev1.set_pos(LCAST(double, (center + offset) * net_mat));
|
ev1.set_pos(LCAST(double, (center + LVector3(radius, 0, 0)) * net_mat));
|
||||||
ev2.set_pos(LCAST(double, (center - offset) * net_mat));
|
ev2.set_pos(LCAST(double, (center + LVector3(0, radius, 0)) * net_mat));
|
||||||
|
ev3.set_pos(LCAST(double, (center + LVector3(-radius, 0, 0)) * net_mat));
|
||||||
|
ev4.set_pos(LCAST(double, (center + LVector3(0, -radius, 0)) * net_mat));
|
||||||
|
|
||||||
EggPolygon *egg_poly = new EggPolygon;
|
EggPolygon *egg_poly = new EggPolygon;
|
||||||
egg_sphere->add_child(egg_poly);
|
egg_sphere->add_child(egg_poly);
|
||||||
|
|
||||||
egg_poly->add_vertex(cvpool->create_unique_vertex(ev1));
|
egg_poly->add_vertex(cvpool->create_unique_vertex(ev1));
|
||||||
egg_poly->add_vertex(cvpool->create_unique_vertex(ev2));
|
egg_poly->add_vertex(cvpool->create_unique_vertex(ev2));
|
||||||
|
egg_poly->add_vertex(cvpool->create_unique_vertex(ev3));
|
||||||
|
egg_poly->add_vertex(cvpool->create_unique_vertex(ev4));
|
||||||
|
|
||||||
} else if (child->is_of_type(CollisionPlane::get_class_type())) {
|
} else if (child->is_of_type(CollisionPlane::get_class_type())) {
|
||||||
LPlane plane = DCAST(CollisionPlane, child)->get_plane();
|
LPlane plane = DCAST(CollisionPlane, child)->get_plane();
|
||||||
|
@ -163,6 +163,9 @@ begin_frame(FrameMode mode, Thread *current_thread) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
} else if (mode == FM_refresh) {
|
||||||
|
// Just bind the FBO.
|
||||||
|
rebuild_bitplanes();
|
||||||
}
|
}
|
||||||
|
|
||||||
_gsg->set_current_properties(&get_fb_properties());
|
_gsg->set_current_properties(&get_fb_properties());
|
||||||
|
@ -3320,8 +3320,8 @@ do_load_sub_image(CData *cdata, const PNMImage &image, int x, int y, int z, int
|
|||||||
nassertr(y >= 0 && y < tex_y_size, false);
|
nassertr(y >= 0 && y < tex_y_size, false);
|
||||||
nassertr(z >= 0 && z < tex_z_size, false);
|
nassertr(z >= 0 && z < tex_z_size, false);
|
||||||
|
|
||||||
nassertr(image.get_x_size() + x < tex_x_size, false);
|
nassertr(image.get_x_size() + x <= tex_x_size, false);
|
||||||
nassertr(image.get_y_size() + y < tex_y_size, false);
|
nassertr(image.get_y_size() + y <= tex_y_size, false);
|
||||||
|
|
||||||
// Flip y
|
// Flip y
|
||||||
y = cdata->_y_size - (image.get_y_size() + y);
|
y = cdata->_y_size - (image.get_y_size() + y);
|
||||||
|
@ -30,7 +30,7 @@ get_data(dGeomID id) {
|
|||||||
if (iter != data_map.end()) {
|
if (iter != data_map.end()) {
|
||||||
return iter->second;
|
return iter->second;
|
||||||
}
|
}
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OdeTriMeshData::
|
void OdeTriMeshData::
|
||||||
|
@ -35,7 +35,7 @@ set_tri_mesh_data(OdeTriMeshData &data) {
|
|||||||
|
|
||||||
INLINE PT(OdeTriMeshData) OdeTriMeshGeom::
|
INLINE PT(OdeTriMeshData) OdeTriMeshGeom::
|
||||||
get_tri_mesh_data() const {
|
get_tri_mesh_data() const {
|
||||||
nassertr(_id != 0 ,0);
|
nassertr(_id != 0, NULL);
|
||||||
return OdeTriMeshData::get_data(_id);
|
return OdeTriMeshData::get_data(_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -543,7 +543,7 @@ filter_to_max(int max_clip_planes) const {
|
|||||||
CPT(RenderAttrib) ClipPlaneAttrib::
|
CPT(RenderAttrib) ClipPlaneAttrib::
|
||||||
compose_off(const RenderAttrib *other) const {
|
compose_off(const RenderAttrib *other) const {
|
||||||
const ClipPlaneAttrib *ta;
|
const ClipPlaneAttrib *ta;
|
||||||
DCAST_INTO_R(ta, other, 0);
|
DCAST_INTO_R(ta, other, NULL);
|
||||||
|
|
||||||
if (_off_all_planes || (!ta->_off_all_planes && ta->_off_planes.empty())) {
|
if (_off_all_planes || (!ta->_off_all_planes && ta->_off_planes.empty())) {
|
||||||
// If we turn off all planes, or the other turns none off, the
|
// If we turn off all planes, or the other turns none off, the
|
||||||
@ -772,7 +772,7 @@ get_hash_impl() const {
|
|||||||
CPT(RenderAttrib) ClipPlaneAttrib::
|
CPT(RenderAttrib) ClipPlaneAttrib::
|
||||||
compose_impl(const RenderAttrib *other) const {
|
compose_impl(const RenderAttrib *other) const {
|
||||||
const ClipPlaneAttrib *ta;
|
const ClipPlaneAttrib *ta;
|
||||||
DCAST_INTO_R(ta, other, 0);
|
DCAST_INTO_R(ta, other, NULL);
|
||||||
|
|
||||||
if (ta->_off_all_planes) {
|
if (ta->_off_all_planes) {
|
||||||
// If the other type turns off all planes, it doesn't matter what
|
// If the other type turns off all planes, it doesn't matter what
|
||||||
|
@ -42,7 +42,7 @@ PortalClipper::
|
|||||||
PortalClipper(GeometricBoundingVolume *frustum, SceneSetup *scene_setup):
|
PortalClipper(GeometricBoundingVolume *frustum, SceneSetup *scene_setup):
|
||||||
_reduced_viewport_min(-1,-1),
|
_reduced_viewport_min(-1,-1),
|
||||||
_reduced_viewport_max(1,1),
|
_reduced_viewport_max(1,1),
|
||||||
_clip_state(0)
|
_clip_state(NULL)
|
||||||
{
|
{
|
||||||
_previous = new GeomNode("my_frustum");
|
_previous = new GeomNode("my_frustum");
|
||||||
|
|
||||||
|
@ -713,7 +713,7 @@ box_filter_line(const PNMImage &image,
|
|||||||
|
|
||||||
// Get the final (partial) xel
|
// Get the final (partial) xel
|
||||||
float x_contrib = x1 - (float)x_last;
|
float x_contrib = x1 - (float)x_last;
|
||||||
if (x_contrib > 0.0001f) {
|
if (x_contrib > 0.0001f && x < image.get_x_size()) {
|
||||||
box_filter_xel(image, x, y, x_contrib, y_contrib,
|
box_filter_xel(image, x, y, x_contrib, y_contrib,
|
||||||
color, pixel_count);
|
color, pixel_count);
|
||||||
}
|
}
|
||||||
@ -745,7 +745,7 @@ box_filter_region(const PNMImage &image,
|
|||||||
|
|
||||||
// Get the final (partial) row
|
// Get the final (partial) row
|
||||||
float y_contrib = y1 - (float)y_last;
|
float y_contrib = y1 - (float)y_last;
|
||||||
if (y_contrib > 0.0001f) {
|
if (y_contrib > 0.0001f && y < image.get_y_size()) {
|
||||||
box_filter_line(image, x0, y, x1, y_contrib,
|
box_filter_line(image, x0, y, x1, y_contrib,
|
||||||
color, pixel_count);
|
color, pixel_count);
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
|
|
||||||
static XFile *x_file = (XFile *)NULL;
|
static XFile *x_file = (XFile *)NULL;
|
||||||
static XFileNode *current_node = (XFileNode *)NULL;
|
static XFileNode *current_node = (XFileNode *)NULL;
|
||||||
static PT(XFileDataDef) current_data_def = (XFileDataDef *)NULL;
|
static PT(XFileDataDef) current_data_def;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Defining the interface to the parser.
|
// Defining the interface to the parser.
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
static XFile *x_file = (XFile *)NULL;
|
static XFile *x_file = (XFile *)NULL;
|
||||||
static XFileNode *current_node = (XFileNode *)NULL;
|
static XFileNode *current_node = (XFileNode *)NULL;
|
||||||
static PT(XFileDataDef) current_data_def = (XFileDataDef *)NULL;
|
static PT(XFileDataDef) current_data_def;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Defining the interface to the parser.
|
// Defining the interface to the parser.
|
||||||
|
@ -20,7 +20,7 @@ from direct.showbase.DirectObject import DirectObject
|
|||||||
from direct.task.Task import Task
|
from direct.task.Task import Task
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# First we define some contants for the colors
|
# First we define some constants for the colors
|
||||||
BLACK = (0, 0, 0, 1)
|
BLACK = (0, 0, 0, 1)
|
||||||
WHITE = (1, 1, 1, 1)
|
WHITE = (1, 1, 1, 1)
|
||||||
HIGHLIGHT = (0, 1, 1, 1)
|
HIGHLIGHT = (0, 1, 1, 1)
|
||||||
@ -33,7 +33,7 @@ PIECEBLACK = (.15, .15, .15, 1)
|
|||||||
# This is how we know where to position an object in 3D space based on a 2D mouse
|
# This is how we know where to position an object in 3D space based on a 2D mouse
|
||||||
# position. It also assumes that we are dragging in the XY plane.
|
# position. It also assumes that we are dragging in the XY plane.
|
||||||
#
|
#
|
||||||
# This is derived from the mathmatical of a plane, solved for a given point
|
# This is derived from the mathematical of a plane, solved for a given point
|
||||||
def PointAtZ(z, point, vec):
|
def PointAtZ(z, point, vec):
|
||||||
return point + vec * ((z - point.getZ()) / vec.getZ())
|
return point + vec * ((z - point.getZ()) / vec.getZ())
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ def PointAtZ(z, point, vec):
|
|||||||
def SquarePos(i):
|
def SquarePos(i):
|
||||||
return LPoint3((i % 8) - 3.5, int(i // 8) - 3.5, 0)
|
return LPoint3((i % 8) - 3.5, int(i // 8) - 3.5, 0)
|
||||||
|
|
||||||
# Helper function for determining wheter a square should be white or black
|
# Helper function for determining whether a square should be white or black
|
||||||
# The modulo operations (%) generate the every-other pattern of a chess-board
|
# The modulo operations (%) generate the every-other pattern of a chess-board
|
||||||
def SquareColor(i):
|
def SquareColor(i):
|
||||||
if (i + ((i // 8) % 2)) % 2:
|
if (i + ((i // 8) % 2)) % 2:
|
||||||
@ -84,7 +84,7 @@ class ChessboardDemo(ShowBase):
|
|||||||
# relative to it
|
# relative to it
|
||||||
self.pickerNP = camera.attachNewNode(self.pickerNode)
|
self.pickerNP = camera.attachNewNode(self.pickerNode)
|
||||||
# Everything to be picked will use bit 1. This way if we were doing other
|
# Everything to be picked will use bit 1. This way if we were doing other
|
||||||
# collision we could seperate it
|
# collision we could separate it
|
||||||
self.pickerNode.setFromCollideMask(BitMask32.bit(1))
|
self.pickerNode.setFromCollideMask(BitMask32.bit(1))
|
||||||
self.pickerRay = CollisionRay() # Make our ray
|
self.pickerRay = CollisionRay() # Make our ray
|
||||||
# Add it to the collision node
|
# Add it to the collision node
|
||||||
@ -96,7 +96,7 @@ class ChessboardDemo(ShowBase):
|
|||||||
# Now we create the chess board and its pieces
|
# Now we create the chess board and its pieces
|
||||||
|
|
||||||
# We will attach all of the squares to their own root. This way we can do the
|
# We will attach all of the squares to their own root. This way we can do the
|
||||||
# collision pass just on the sqaures and save the time of checking the rest
|
# collision pass just on the squares and save the time of checking the rest
|
||||||
# of the scene
|
# of the scene
|
||||||
self.squareRoot = render.attachNewNode("squareRoot")
|
self.squareRoot = render.attachNewNode("squareRoot")
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ class ChessboardDemo(ShowBase):
|
|||||||
render.setLight(render.attachNewNode(ambientLight))
|
render.setLight(render.attachNewNode(ambientLight))
|
||||||
|
|
||||||
|
|
||||||
# Class for a piece. This just handels loading the model and setting initial
|
# Class for a piece. This just handles loading the model and setting initial
|
||||||
# position and color
|
# position and color
|
||||||
class Piece(object):
|
class Piece(object):
|
||||||
def __init__(self, square, color):
|
def __init__(self, square, color):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user