[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20607] trunk/blender/source: KX_MouseFocusSensor - bug reported by Micro27 on blenderartist
Campbell Barton
ideasman42 at gmail.com
Wed Jun 3 22:06:40 CEST 2009
Revision: 20607
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20607
Author: campbellbarton
Date: 2009-06-03 22:06:40 +0200 (Wed, 03 Jun 2009)
Log Message:
-----------
KX_MouseFocusSensor - bug reported by Micro27 on blenderartist
vertical bounds checking for multiple viewports was inverted.
quiet some compiler warnings and minor corrections
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/fluidsim.c
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/python/api2_2x/sceneRender.c
trunk/blender/source/blender/src/fluidsim.c
trunk/blender/source/blender/src/seqeffects.c
trunk/blender/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
Modified: trunk/blender/source/blender/blenkernel/intern/fluidsim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/fluidsim.c 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/blender/blenkernel/intern/fluidsim.c 2009-06-03 20:06:40 UTC (rev 20607)
@@ -36,8 +36,6 @@
#include "DNA_particle_types.h"
#include "DNA_scene_types.h" // N_T
-#include "PIL_time.h" // for PIL_sleep_ms
-
#include "BLI_arithb.h"
#include "BLI_blenlib.h"
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2009-06-03 20:06:40 UTC (rev 20607)
@@ -4094,7 +4094,7 @@
sipo->ipo= restore_pointer_by_name(newmain, (ID *)sipo->ipo, 0);
if(sipo->blocktype==ID_SEQ)
- sipo->from= find_sequence_from_ipo_helper(newmain, sipo->ipo);
+ sipo->from= (ID *)find_sequence_from_ipo_helper(newmain, sipo->ipo);
else
sipo->from= restore_pointer_by_name(newmain, (ID *)sipo->from, 0);
Modified: trunk/blender/source/blender/python/api2_2x/sceneRender.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/sceneRender.c 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/blender/python/api2_2x/sceneRender.c 2009-06-03 20:06:40 UTC (rev 20607)
@@ -663,7 +663,7 @@
#endif
system( str );
} else
- sprintf( "Can't find image: %s", file );
+ printf("Can't find image: %s\n", file);
}
Py_RETURN_NONE;
Modified: trunk/blender/source/blender/src/fluidsim.c
===================================================================
--- trunk/blender/source/blender/src/fluidsim.c 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/blender/src/fluidsim.c 2009-06-03 20:06:40 UTC (rev 20607)
@@ -89,6 +89,8 @@
#include "blendef.h"
#include <sys/stat.h>
+#include "PIL_time.h" // for PIL_sleep_ms
+
#ifdef WIN32 /* Windos */
//#include "BLI_winstuff.h"
#ifndef snprintf
Modified: trunk/blender/source/blender/src/seqeffects.c
===================================================================
--- trunk/blender/source/blender/src/seqeffects.c 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/blender/src/seqeffects.c 2009-06-03 20:06:40 UTC (rev 20607)
@@ -1036,8 +1036,8 @@
} else {
do_gammacross_effect_byte(
facf0, facf1, x, y,
- (char*) ibuf1->rect, (char*) ibuf2->rect,
- (char*) out->rect);
+ (unsigned char*) ibuf1->rect, (unsigned char*) ibuf2->rect,
+ (unsigned char*) out->rect);
}
}
Modified: trunk/blender/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp 2009-06-03 18:31:37 UTC (rev 20606)
+++ trunk/blender/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp 2009-06-03 20:06:40 UTC (rev 20607)
@@ -197,13 +197,15 @@
* division by 0.0...*/
RAS_Rect area, viewport;
+ short m_y_inv = m_kxengine->GetCanvas()->GetHeight()-m_y;
+
m_kxengine->GetSceneViewport(m_kxscene, cam, area, viewport);
/* Check if the mouse is in the viewport */
if (( m_x < viewport.m_x2 && // less then right
m_x > viewport.m_x1 && // more then then left
- m_y < viewport.m_y2 && // below top
- m_y > viewport.m_y1) == 0) // above bottom
+ m_y_inv < viewport.m_y2 && // below top
+ m_y_inv > viewport.m_y1) == 0) // above bottom
{
return false;
}
@@ -217,6 +219,10 @@
MT_Vector4 frompoint;
MT_Vector4 topoint;
+ /* m_y_inv - inverting for a bounds check is only part of it, now make relative to view bounds */
+ m_y_inv = (viewport.m_y2 - m_y_inv) + viewport.m_y1;
+
+
/* There's some strangeness I don't fully get here... These values
* _should_ be wrong! - see from point Z values */
@@ -229,13 +235,13 @@
* behind of the near and far clip planes.
*/
frompoint.setValue( (2 * (m_x-x_lb) / width) - 1.0,
- 1.0 - (2 * (m_y - y_lb) / height),
+ 1.0 - (2 * (m_y_inv - y_lb) / height),
/*cam->GetCameraData()->m_perspective ? 0.0:cdata->m_clipstart,*/ /* real clipstart is scaled in ortho for some reason, zero is ok */
0.0, /* nearclip, see above comments */
1.0 );
topoint.setValue( (2 * (m_x-x_lb) / width) - 1.0,
- 1.0 - (2 * (m_y-y_lb) / height),
+ 1.0 - (2 * (m_y_inv-y_lb) / height),
cam->GetCameraData()->m_perspective ? 1.0:cam->GetCameraData()->m_clipend, /* farclip, see above comments */
1.0 );
More information about the Bf-blender-cvs
mailing list