diff mm7_2.cpp @ 194:650d96af8855

Vis overhaul; sprites can be picked by mouse
author Nomad
date Sat, 16 Feb 2013 18:32:37 +0200
parents 9b77686e2239
children 982c1ec5a983
line wrap: on
line diff
--- a/mm7_2.cpp	Sat Feb 16 13:28:34 2013 +0400
+++ b/mm7_2.cpp	Sat Feb 16 18:32:37 2013 +0200
@@ -32,7 +32,6 @@
 #include "Time.h"
 #include "IconFrameTable.h"
 #include "GUIProgressBar.h"
-#include "stru157.h"
 #include "Bink_Smacker.h"
 #include "TileFrameTable.h"
 #include "PlayerFrameTable.h"
@@ -11981,7 +11980,7 @@
         {
           if ( pAsyncMouse != (void *)v28 )
             goto _def_wnd_proc;
-          pGame->PickMouse(512.0, (unsigned __int16)lParam, lParam >> 16, v28, &a3, &a4);
+          pGame->PickMouse(512.0, (unsigned __int16)lParam, lParam >> 16, v28, &vis_sprite_filter_3, &vis_door_filter);
         }
         if ( pAsyncMouse == (void *)v28 )
         {
@@ -12003,7 +12002,7 @@
             if (pAsyncMouse)
               goto _def_wnd_proc;
             v33 = GetPickDepth();
-            pGame->PickMouse(v33, (unsigned __int16)lParam, lParam >> 16, v31, &stru_F93E30, &a4);
+            pGame->PickMouse(v33, (unsigned __int16)lParam, lParam >> 16, v31, &vis_sprite_filter_2, &vis_door_filter);
           }
           if (!pAsyncMouse)
           {
@@ -12022,7 +12021,7 @@
           if ( pGame && !pAsyncMouse )
           {
             v34 = GetPickDepth();
-            pGame->PickMouse(v34, (unsigned __int16)lParam, lParam >> 16, 1, &a3, &a5);
+            pGame->PickMouse(v34, (unsigned __int16)lParam, lParam >> 16, 1, &vis_sprite_filter_3, &vis_face_filter);
             return DefWindowProcA(hWnd, Msg, wParam, v4);
           }
           goto _def_wnd_proc;
@@ -15208,7 +15207,7 @@
 //----- (0046A14B) --------------------------------------------------------
 char __cdecl OnPressSpace()
 {
-  SHORT v0; // ax@2
+  //SHORT v0; // ax@2
   int *v1; // eax@2
   char *v2; // ebx@5
   unsigned int v3; // esi@5
@@ -15233,8 +15232,7 @@
 
   if ( pRenderer->pRenderD3D )
   {
-    v0 = GetAsyncKeyState(17);
-    pGame->_44EB12((v0 & 0x8001) != 0, &a3, &a4);
+    pGame->PickKeyboard(GetAsyncKeyState(VK_CONTROL) & 0x8001, &vis_sprite_filter_3, &vis_door_filter);
     v1 = (int *)pGame->pVisInstance->get_picked_object_zbuf_val();
     if ( v1 != (int *)-1 )
       LOBYTE(v1) = DoInteractionWithTopmostZObject((unsigned __int16)v1, (signed int)(unsigned __int16)v1 >> 3);
@@ -15615,7 +15613,7 @@
     {
       v3 = pRenderer->GetParentBillboardID(a1a);
       v4 = pBillboardRenderList[v3].sZValue;
-      v5 = (unsigned __int16)pBillboardRenderList[v3].sZValue;
+      v5 = (unsigned __int16)pBillboardRenderList[v3].object_pid;
       if ( (v5 & 7) == OBJECT_Actor)
       {
         if ( v4 <= (unsigned int)(a3 << 16) )