Mercurial > mm7
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) )