Revision: 21204
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21204
Author:   campbellbarton
Date:     2009-06-28 01:54:20 +0200 (Sun, 28 Jun 2009)

Log Message:
-----------
BGE Redraw problem:
at the moment only files from blender 2.4x will display in 2.5x, compared area 
and window structs in both cases and dont see any differences.

This doesnt fix the problem but corrects a few things related to window drawing 
with the BGE,
also adds a hack because I noticed the window and area pointers in the 
KX_BlenderCanvas were offset after initialized, maybe need to use <static cast> 
?

Modified Paths:
--------------
    
branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/blender2.5/blender/source/gameengine/BlenderRoutines/CMakeLists.txt
    
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
    
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
    branches/blender2.5/blender/source/gameengine/BlenderRoutines/SConscript

Modified: 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
       2009-06-27 23:16:29 UTC (rev 21203)
+++ 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
       2009-06-27 23:54:20 UTC (rev 21204)
@@ -65,6 +65,14 @@
 
 #include "SYS_System.h"
 
+#include "GPU_extensions.h"
+#include "Value.h"
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
        /***/
 #include "DNA_view3d_types.h"
 #include "DNA_screen_types.h"
@@ -77,21 +85,13 @@
 //XXX #include "BIF_scrarea.h"
 
 #include "BKE_main.h"
-//#include "BKE_context.h"
 #include "BLI_blenlib.h"
 #include "BLO_readfile.h"
 #include "DNA_scene_types.h"
        /***/
 
-#include "GPU_extensions.h"
-#include "Value.h"
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
 //XXX #include "BSE_headerbuttons.h"
+#include "BKE_context.h"
 #include "../../blender/windowmanager/WM_types.h"
 #include "../../blender/windowmanager/wm_window.h"
 #include "../../blender/windowmanager/wm_event_system.h"
@@ -118,19 +118,10 @@
        return bfd;
 }
 
-
-/* screw it, BKE_context.h is complaining! */
-extern "C" struct wmWindow *CTX_wm_window(const bContext *C);
-extern "C" struct ScrArea *CTX_wm_area(const bContext *C);
-extern "C" struct ARegion *CTX_wm_region(const bContext *C);
-extern "C" struct Scene *CTX_data_scene(const bContext *C);
-extern "C" struct Main *CTX_data_main(const bContext *C);
-
 extern "C" void StartKetsjiShell(struct bContext *C, int 
always_use_expand_framing)
 {
        /* context values */
        struct wmWindow *win= CTX_wm_window(C);
-       struct ScrArea *area= CTX_wm_area(C); // curarea
        struct ARegion *ar= CTX_wm_region(C);
        struct Scene *scene= CTX_data_scene(C);
        struct Main* maggie1= CTX_data_main(C);
@@ -159,8 +150,8 @@
 
        do
        {
-               View3D *v3d= (View3D*) area->spacedata.first;
-               RegionView3D *rv3d= (RegionView3D*) ar->regiondata;
+               View3D *v3d= CTX_wm_view3d(C);
+               RegionView3D *rv3d= CTX_wm_region_view3d(C);
 
                // get some preferences
                SYS_SystemHandle syshandle = SYS_GetSystem();
@@ -239,13 +230,12 @@
                        scene->camera= v3d->camera;
                }
 
-       
                // some blender stuff
                MT_CmMatrix4x4 projmat;
                MT_CmMatrix4x4 viewmat;
                float camzoom;
                int i;
-               
+
                for (i = 0; i < 16; i++)
                {
                        float *viewmat_linear= (float*) rv3d->viewmat;
@@ -257,7 +247,7 @@
                        projmat.setElem(i, projmat_linear[i]);
                }
                
-               if(v3d->persp==V3D_CAMOB) {
+               if(rv3d->persp==V3D_CAMOB) {
                        camzoom = (1.41421 + (rv3d->camzoom / 50.0));
                        camzoom *= camzoom;
                }
@@ -348,10 +338,10 @@
                
                if (exitrequested != KX_EXIT_REQUEST_QUIT_GAME)
                {
-                       if (v3d->persp != V3D_CAMOB)
+                       if (rv3d->persp != V3D_CAMOB)
                        {
                                
ketsjiengine->EnableCameraOverride(startscenename);
-                               
ketsjiengine->SetCameraOverrideUseOrtho((v3d->persp == V3D_ORTHO));
+                               
ketsjiengine->SetCameraOverrideUseOrtho((rv3d->persp == V3D_ORTHO));
                                
ketsjiengine->SetCameraOverrideProjectionMatrix(projmat);
                                
ketsjiengine->SetCameraOverrideViewMatrix(viewmat);
                                
ketsjiengine->SetCameraOverrideClipping(v3d->near, v3d->far);
@@ -587,7 +577,6 @@
 }
 
 extern "C" void StartKetsjiShellSimulation(struct wmWindow *win,
-                                                                struct ScrArea 
*area,
                                                                 struct ARegion 
*ar,
                                                                 char* 
scenename,
                                                                 struct Main* 
maggie,

Modified: 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/CMakeLists.txt
===================================================================
--- 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/CMakeLists.txt    
    2009-06-27 23:16:29 UTC (rev 21203)
+++ 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/CMakeLists.txt    
    2009-06-27 23:54:20 UTC (rev 21204)
@@ -19,7 +19,8 @@
   ../../../source/blender/windowmanager
   ../../../source/blender 
   ../../../source/blender/include
-  ../../../source/blender/makesdna 
+  ../../../source/blender/makesdna
+  ../../../source/blender/makesrna 
   ../../../source/gameengine/Rasterizer 
   ../../../source/gameengine/GameLogic
   ../../../source/gameengine/Expressions 

Modified: 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
===================================================================
--- 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
  2009-06-27 23:16:29 UTC (rev 21203)
+++ 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp
  2009-06-27 23:54:20 UTC (rev 21204)
@@ -28,15 +28,23 @@
 
 #include "KX_BlenderCanvas.h"
 #include "DNA_screen_types.h"
+#include "stdio.h"
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
 
+// temp hack, prevents pointers being offset somehow, will need to look into 
this later - Campbell
+ARegion *m_ar;
+wmWindow *m_win;
+
+
 KX_BlenderCanvas::KX_BlenderCanvas(struct wmWindow *win, ARegion *ar) :
-m_win(win),
-m_ar(ar)
+__m_win(win),
+__m_ar(ar)
 {
+       m_ar= ar;
+       m_win= win;
 }
 
 KX_BlenderCanvas::~KX_BlenderCanvas()

Modified: 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
===================================================================
--- 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
    2009-06-27 23:16:29 UTC (rev 21203)
+++ 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
    2009-06-27 23:54:20 UTC (rev 21204)
@@ -163,8 +163,8 @@
 
 private:
        /** Blender area the game engine is running within */
-       struct ARegion* m_ar;
-       struct wmWindow* m_win;
+       struct ARegion* __m_ar;
+       struct wmWindow* __m_win;
        RAS_Rect        m_area_rect;
 };
 

Modified: 
branches/blender2.5/blender/source/gameengine/BlenderRoutines/SConscript
===================================================================
--- branches/blender2.5/blender/source/gameengine/BlenderRoutines/SConscript    
2009-06-27 23:16:29 UTC (rev 21203)
+++ branches/blender2.5/blender/source/gameengine/BlenderRoutines/SConscript    
2009-06-27 23:54:20 UTC (rev 21204)
@@ -11,7 +11,8 @@
 incs += ' #intern/moto/include #source/gameengine/Ketsji 
#source/blender/blenlib'
 incs += ' #source/blender/blenkernel #source/blender'
 incs += ' #source/blender/blenfont #source/blender/editors/include'
-incs += ' #source/blender/makesdna #source/gameengine/Rasterizer 
#source/gameengine/GameLogic'
+incs += ' #source/blender/makesdna #source/blender/makesrna'
+incs += ' #source/gameengine/Rasterizer #source/gameengine/GameLogic'
 incs += ' #source/gameengine/Expressions #source/gameengine/Network'
 incs += ' #source/gameengine/SceneGraph #source/gameengine/Physics/common'
 incs += ' #source/gameengine/Physics/Bullet'


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to