DXGL r631 - Code Review

Jump to navigation Jump to search
Repository:DXGL
Revision:r630‎ | r631 | r632 >
Date:00:22, 1 January 2016
Author:admin
Status:new
Tags:
Comment:
Get rid of render window. Currently breaks windowed mode and NULL hWnd cooperative mode.
Update installer to handle renamed readme file.
Modified paths:
  • /Installer/dxgl.nsi (modified) (history)
  • /ddraw/ddraw.cpp (modified) (history)
  • /ddraw/ddraw.h (modified) (history)
  • /ddraw/glDirectDraw.cpp (modified) (history)
  • /ddraw/glRenderWindow.cpp (modified) (history)
  • /ddraw/glRenderWindow.h (modified) (history)
  • /ddraw/glRenderer.cpp (modified) (history)
  • /ddraw/glRenderer.h (modified) (history)
  • /ddraw/hooks.c (modified) (history)
  • /ddraw/include/d3dtypes.h (modified) (history)

Diff [purge]

Index: Installer/dxgl.nsi
@@ -59,7 +59,7 @@
6060 ; Finish page
6161 !define MUI_FINISHPAGE_RUN "$INSTDIR\dxglcfg.exe"
6262 !define MUI_FINISHPAGE_RUN_TEXT "Configure DXGL"
63 -!define MUI_FINISHPAGE_SHOWREADME "$SYSDIR\notepad.exe $INSTDIR\ReadMe.md"
 63+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\ReadMe.txt"
6464 !insertmacro MUI_PAGE_FINISH
6565
6666 ; Uninstaller pages
@@ -118,7 +118,7 @@
119119 File "..\${SRCDIR}\dxglcfg.exe"
120120 CreateShortCut "$SMPROGRAMS\DXGL\Configure DXGL.lnk" "$INSTDIR\dxglcfg.exe"
121121 File "..\${SRCDIR}\ddraw.dll"
122 - File "..\ReadMe.md"
 122+ File /oname=ReadMe.txt "..\ReadMe.md"
123123 File "..\COPYING.txt"
124124 File "..\Help\dxgl.chm"
125125 CreateShortCut "$SMPROGRAMS\DXGL\DXGL Help.lnk" "$INSTDIR\dxgl.chm"
@@ -318,7 +318,7 @@
319319 Delete "$INSTDIR\${PRODUCT_NAME}.url"
320320 Delete "$INSTDIR\uninst.exe"
321321 Delete "$INSTDIR\COPYING.txt"
322 - Delete "$INSTDIR\ReadMe.md"
 322+ Delete "$INSTDIR\ReadMe.txt"
323323 Delete "$INSTDIR\ddraw.dll"
324324 Delete "$INSTDIR\dxglcfg.exe"
325325 Delete "$INSTDIR\dxgltest.exe"
Index: ddraw/ddraw.cpp
@@ -28,7 +28,7 @@
2929 #include "hooks.h"
3030 #include <intrin.h>
3131
32 -DXGLCFG dxglcfg;
 32+extern "C" {DXGLCFG dxglcfg; }
3333 DWORD gllock = 0;
3434 HMODULE sysddraw = NULL;
3535 HRESULT (WINAPI *sysddrawcreate)(GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter) = NULL;
Index: ddraw/ddraw.h
@@ -56,7 +56,7 @@
5757 DDRAW_API void WINAPI ReleaseDDThreadLock();
5858 DDRAW_API BOOL IsDXGLDDraw();
5959
60 -extern DXGLCFG dxglcfg;
 60+extern "C" {extern DXGLCFG dxglcfg; }
6161 extern DWORD gllock;
6262 extern const GUID device_template;
6363 struct glRenderer;
Index: ddraw/glDirectDraw.cpp
@@ -1432,7 +1432,12 @@
14331433 }
14341434 TRACE_EXIT(0, 0);
14351435 }
 1436+extern "C" void glDirectDraw7_GetSizes(glDirectDraw7 *glDD7, LONG *sizes)
 1437+{
 1438+ glDD7->GetSizes(sizes);
 1439+}
14361440
 1441+
14371442 HRESULT WINAPI glDirectDraw7::SetCooperativeLevel(HWND hWnd, DWORD dwFlags)
14381443 {
14391444 TRACE_ENTER(3,14,this,13,hWnd,9,dwFlags);
Index: ddraw/glRenderWindow.cpp
@@ -27,26 +27,6 @@
2828 bool hotkeyregistered = false;
2929 #endif
3030
31 -void WaitForObjectAndMessages(HANDLE object)
32 -{
33 - MSG Msg;
34 - while(1)
35 - {
36 - switch(MsgWaitForMultipleObjects(1,&object,FALSE,INFINITE,QS_ALLINPUT))
37 - {
38 - case WAIT_OBJECT_0:
39 - return;
40 - case WAIT_OBJECT_0+1:
41 - while(PeekMessage(&Msg,NULL,0,0,PM_REMOVE))
42 - {
43 - TranslateMessage(&Msg);
44 - DispatchMessage(&Msg);
45 - }
46 - }
47 - }
48 -
49 -}
50 -
5131 glRenderWindow::glRenderWindow(int width, int height, bool fullscreen, HWND parent, glDirectDraw7 *glDD7, bool devwnd)
5232 {
5333 ddInterface = glDD7;
@@ -55,24 +35,9 @@
5636 this->fullscreen = fullscreen;
5737 this->device = devwnd;
5838 hParentWnd = parent;
59 - ReadyEvent = CreateEvent(NULL,false,false,NULL);
60 - hThread = CreateThread(NULL,0,ThreadEntry,this,0,NULL);
61 - WaitForObjectAndMessages(ReadyEvent);
62 - CloseHandle(ReadyEvent);
63 - ReadyEvent = NULL;
64 -}
65 -
66 -DWORD WINAPI glRenderWindow::ThreadEntry(void *entry)
67 -{
68 - return ((glRenderWindow*)entry)->_Entry();
69 -}
70 -
71 -DWORD glRenderWindow::_Entry()
72 -{
7339 char *windowname;
7440 if (device) windowname = "DirectDrawDeviceWnd";
7541 else windowname = "Renderer";
76 - MSG Msg;
7742 if(!wndclasscreated)
7843 {
7944 wndclass.cbSize = sizeof(WNDCLASSEXA);
@@ -92,7 +57,6 @@
9358 }
9459 RECT rectRender;
9560 GetClientRect(hParentWnd,&rectRender);
96 - dead = false;
9761 if(hParentWnd)
9862 {
9963 hWnd = CreateWindowA("DirectDrawDeviceWnd",windowname,WS_CHILD|WS_VISIBLE,0,0,rectRender.right - rectRender.left,
@@ -115,13 +79,6 @@
11680 Beep(120, 1000);
11781 }
11882 #endif
119 - SetEvent(ReadyEvent);
120 - while((GetMessage(&Msg, NULL, 0, 0) > 0) && !dead)
121 - {
122 - TranslateMessage(&Msg);
123 - DispatchMessage(&Msg);
124 - }
125 - return 0;
12683 }
12784
12885 glRenderWindow::~glRenderWindow()
@@ -129,9 +86,7 @@
13087 #ifdef _DEBUG
13188 if(hotkeyregistered) UnregisterHotKey(hWnd,1);
13289 #endif
133 - SendMessage(hWnd,WM_CLOSE,0,0);
134 - WaitForSingleObject(hThread,INFINITE);
135 - CloseHandle(hThread);
 90+ DestroyWindow(hWnd);
13691 }
13792
13893 #ifdef _TRACE
@@ -198,13 +153,11 @@
199154 return SendMessage(hParent,msg,wParam,newpos);
200155 }
201156 else return SendMessage(hParent,msg,wParam,lParam);
202 - case WM_CLOSE:
 157+/* case WM_CLOSE:
203158 DestroyWindow(hWnd);
204 - return 0;
 159+ return 0;*/
205160 case WM_DESTROY:
206 - PostQuitMessage(0);
207 - dead = true;
208 - return 0;
 161+ return FALSE;
209162 #ifdef _DEBUG
210163 case WM_HOTKEY:
211164 #ifdef _TRACE
Index: ddraw/glRenderWindow.h
@@ -22,7 +22,6 @@
2323 LRESULT CALLBACK RenderWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
2424
2525 class glDirectDraw7;
26 -void WaitForObjectAndMessages(HANDLE object);
2726 class glRenderWindow
2827 {
2928 public:
@@ -33,15 +32,11 @@
3433 LRESULT WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
3534 static DWORD WINAPI ThreadEntry(void *entry);
3635 private:
37 - DWORD _Entry();
3836 HWND hWnd;
3937 HWND hParentWnd;
40 - HANDLE hThread;
41 - HANDLE ReadyEvent;
4238 int width;
4339 int height;
4440 bool fullscreen;
45 - bool dead;
4641 bool device;
4742 glDirectDraw7 *ddInterface;
4843 };
Index: ddraw/glRenderer.cpp
@@ -23,7 +23,6 @@
2424 #include "glDirectDraw.h"
2525 #include "glDirectDrawSurface.h"
2626 #include "glDirectDrawPalette.h"
27 -#include "glRenderWindow.h"
2827 #include "glRenderer.h"
2928 #include "glDirect3DDevice.h"
3029 #include "glDirect3DLight.h"
@@ -170,13 +169,13 @@
171170 ShowWindow(This->hWnd, SW_MAXIMIZE);
172171 break;
173172 }
 173+ if (width)
 174+ {
 175+ // TODO: Adjust window rect
 176+ }
 177+ SetWindowPos(This->hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
174178 }
175 - if(width)
176 - {
177 - // TODO: Adjust window rect
178 - }
179 - SetWindowPos(This->hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
180 - This->RenderWnd = new glRenderWindow(width,height,fullscreen,This->hWnd,glDD7,devwnd);
 179+ //This->RenderWnd = new glRenderWindow(width,height,fullscreen,This->hWnd,glDD7,devwnd);
181180 This->inputs[0] = (void*)width;
182181 This->inputs[1] = (void*)height;
183182 This->inputs[2] = (void*)bpp;
@@ -200,7 +199,7 @@
201200 EnterCriticalSection(&This->cs);
202201 This->opcode = OP_DELETE;
203202 SetEvent(This->start);
204 - WaitForObjectAndMessages(This->busy);
 203+ WaitForSingleObject(This->busy, INFINITE);
205204 CloseHandle(This->start);
206205 CloseHandle(This->busy);
207206 LeaveCriticalSection(&This->cs);
@@ -283,7 +282,7 @@
284283 {
285284 EnterCriticalSection(&This->cs);
286285 RECT r,r2;
287 - if(((cmd->dest->ddsd.ddsCaps.dwCaps & (DDSCAPS_FRONTBUFFER)) &&
 286+ /*if(((cmd->dest->ddsd.ddsCaps.dwCaps & (DDSCAPS_FRONTBUFFER)) &&
288287 (cmd->dest->ddsd.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)) ||
289288 ((cmd->dest->ddsd.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) &&
290289 !(cmd->dest->ddsd.ddsCaps.dwCaps & DDSCAPS_FLIP)))
@@ -292,7 +291,7 @@
293292 GetClientRect(This->RenderWnd->GetHWnd(),&r2);
294293 if(memcmp(&r2,&r,sizeof(RECT)) != 0)
295294 SetWindowPos(This->RenderWnd->GetHWnd(),NULL,0,0,r.right,r.bottom,SWP_SHOWWINDOW);
296 - }
 295+ }*/
297296 This->inputs[0] = cmd;
298297 This->opcode = OP_BLT;
299298 SetEvent(This->start);
@@ -470,8 +469,10 @@
471470 This->inputs[5] = (void*)newwnd;
472471 This->inputs[6] = (void*)devwnd;
473472 This->opcode = OP_SETWND;
 473+ /*delete This->RenderWnd;
 474+ This->RenderWnd = new glRenderWindow(width, height, fullscreen, newwnd, This->ddInterface, devwnd);*/
474475 SetEvent(This->start);
475 - WaitForObjectAndMessages(This->busy);
 476+ WaitForSingleObject(This->busy, INFINITE);
476477 LeaveCriticalSection(&This->cs);
477478 }
478479 /**
@@ -1138,10 +1139,11 @@
11391140 wglDeleteContext(This->hRC);
11401141 This->hRC = NULL;
11411142 };
1142 - if(This->hDC) ReleaseDC(This->RenderWnd->GetHWnd(),This->hDC);
 1143+ //if(This->hDC) ReleaseDC(This->RenderWnd->GetHWnd(),This->hDC);
 1144+ if (This->hDC) ReleaseDC(This->hWnd, This->hDC);
11431145 This->hDC = NULL;
1144 - delete This->RenderWnd;
1145 - This->RenderWnd = NULL;
 1146+ /*delete This->RenderWnd;
 1147+ This->RenderWnd = NULL;*/
11461148 SetEvent(This->busy);
11471149 return 0;
11481150 break;
@@ -1302,7 +1304,8 @@
13031305 pfd.cColorBits = bpp;
13041306 pfd.iLayerType = PFD_MAIN_PLANE;
13051307 InterlockedIncrement(&gllock);
1306 - This->hDC = GetDC(This->RenderWnd->GetHWnd());
 1308+ //This->hDC = GetDC(This->RenderWnd->GetHWnd());
 1309+ This->hDC = GetDC(hWnd);
13071310 if(!This->hDC)
13081311 {
13091312 DEBUG("glRenderer::InitGL: Can not create hDC\n");
@@ -1333,7 +1336,8 @@
13341337 DEBUG("glRenderer::InitGL: Can not activate GL context\n");
13351338 wglDeleteContext(This->hRC);
13361339 This->hRC = NULL;
1337 - ReleaseDC(This->RenderWnd->GetHWnd(),This->hDC);
 1340+ //ReleaseDC(This->RenderWnd->GetHWnd(),This->hDC);
 1341+ ReleaseDC(hWnd, This->hDC);
13381342 This->hDC = NULL;
13391343 InterlockedDecrement(&gllock);
13401344 LeaveCriticalSection(&dll_cs);
@@ -1911,13 +1915,13 @@
19121916 int progtype;
19131917 RECT r,r2;
19141918 glUtil_BlendEnable(This->util, FALSE);
1915 - if((src->ddsd.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE))
 1919+ /*if((src->ddsd.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE))
19161920 {
19171921 GetClientRect(This->hWnd,&r);
19181922 GetClientRect(This->RenderWnd->GetHWnd(),&r2);
19191923 if(memcmp(&r2,&r,sizeof(RECT)))
1920 - SetWindowPos(This->RenderWnd->GetHWnd(),NULL,0,0,r.right,r.bottom,SWP_SHOWWINDOW);
1921 - }
 1924+ SetWindowPos(This->RenderWnd->GetHWnd(),NULL,0,0,r.right,r.bottom,SWP_SHOWWINDOW|SWP_ASYNCWINDOWPOS);
 1925+ }*/
19221926 glUtil_DepthTest(This->util, FALSE);
19231927 RECT *viewrect = &r2;
19241928 glRenderer__SetSwap(This,vsync);
@@ -1947,8 +1951,10 @@
19481952 viewport[0] = viewport[1] = 0;
19491953 viewport[2] = viewrect->right;
19501954 viewport[3] = viewrect->bottom;
1951 - ClientToScreen(This->RenderWnd->GetHWnd(),(LPPOINT)&viewrect->left);
1952 - ClientToScreen(This->RenderWnd->GetHWnd(),(LPPOINT)&viewrect->right);
 1955+ /*ClientToScreen(This->RenderWnd->GetHWnd(),(LPPOINT)&viewrect->left);
 1956+ ClientToScreen(This->RenderWnd->GetHWnd(),(LPPOINT)&viewrect->right);*/
 1957+ ClientToScreen(This->hWnd,(LPPOINT)&viewrect->left);
 1958+ ClientToScreen(This->hWnd,(LPPOINT)&viewrect->right);
19531959 view[0] = (GLfloat)viewrect->left;
19541960 view[1] = (GLfloat)viewrect->right;
19551961 view[2] = (GLfloat)src->mipmaps[0].bigy-(GLfloat)viewrect->top;
@@ -2041,7 +2047,8 @@
20422048 BufferObject_Unmap(This->pbo, GL_PIXEL_PACK_BUFFER);
20432049 BufferObject_Unbind(This->pbo, GL_PIXEL_PACK_BUFFER);
20442050 glPixelStorei(GL_PACK_ALIGNMENT,packalign);
2045 - HDC hRenderDC = (HDC)::GetDC(This->RenderWnd->GetHWnd());
 2051+ //HDC hRenderDC = (HDC)::GetDC(This->RenderWnd->GetHWnd());
 2052+ HDC hRenderDC = (HDC)::GetDC(This->hWnd);
20462053 HGDIOBJ hPrevObj = 0;
20472054 POINT dest = {0,0};
20482055 POINT srcpoint = {0,0};
@@ -2048,11 +2055,15 @@
20492056 SIZE wnd = {This->dib.width,This->dib.height};
20502057 BLENDFUNCTION func = {AC_SRC_OVER,0,255,AC_SRC_ALPHA};
20512058 hPrevObj = SelectObject(This->dib.hdc,This->dib.hbitmap);
2052 - ClientToScreen(This->RenderWnd->GetHWnd(),&dest);
2053 - UpdateLayeredWindow(This->RenderWnd->GetHWnd(),hRenderDC,&dest,&wnd,
2054 - This->dib.hdc,&srcpoint,0,&func,ULW_ALPHA);
 2059+ //ClientToScreen(This->RenderWnd->GetHWnd(),&dest);
 2060+ ClientToScreen(This->hWnd, &dest);
 2061+ /*UpdateLayeredWindow(This->RenderWnd->GetHWnd(),hRenderDC,&dest,&wnd,
 2062+ This->dib.hdc,&srcpoint,0,&func,ULW_ALPHA);*/
 2063+ UpdateLayeredWindow(This->hWnd, hRenderDC, &dest, &wnd,
 2064+ This->dib.hdc, &srcpoint, 0, &func, ULW_ALPHA);
20552065 SelectObject(This->dib.hdc,hPrevObj);
2056 - ReleaseDC(This->RenderWnd->GetHWnd(),hRenderDC);
 2066+ //ReleaseDC(This->RenderWnd->GetHWnd(),hRenderDC);
 2067+ ReleaseDC(This->hWnd, hRenderDC);
20572068 }
20582069 if(setsync) SetEvent(This->busy);
20592070
@@ -2248,8 +2259,6 @@
22492260 EnterCriticalSection(&dll_cs);
22502261 wglMakeCurrent(NULL, NULL);
22512262 ReleaseDC(This->hWnd,This->hDC);
2252 - delete This->RenderWnd;
2253 - This->RenderWnd = new glRenderWindow(width,height,fullscreen,newwnd,This->ddInterface, devwnd);
22542263 PIXELFORMATDESCRIPTOR pfd;
22552264 GLuint pf;
22562265 InterlockedIncrement(&gllock);
@@ -2260,7 +2269,9 @@
22612270 pfd.iPixelType = PFD_TYPE_RGBA;
22622271 pfd.cColorBits = bpp;
22632272 pfd.iLayerType = PFD_MAIN_PLANE;
2264 - This->hDC = GetDC(This->RenderWnd->GetHWnd());
 2273+ This->hWnd = newwnd;
 2274+ //This->hDC = GetDC(This->RenderWnd->GetHWnd());
 2275+ This->hDC = GetDC(This->hWnd);
22652276 if(!This->hDC)
22662277 DEBUG("glRenderer::SetWnd: Can not create hDC\n");
22672278 pf = ChoosePixelFormat(This->hDC,&pfd);
Index: ddraw/glRenderer.h
@@ -111,13 +111,11 @@
112112 #ifdef __cplusplus
113113 class glDirectDraw7;
114114 class glDirect3DDevice7;
115 -class glRenderWindow;
116115 struct glDirectDrawClipper;
117116 extern "C" {
118117 #else
119118 typedef int glDirectDraw7;
120119 typedef int glDirect3DDevice7;
121 -typedef int glRenderWindow;
122120 #endif
123121
124122 /** @brief glRenderer struct
@@ -135,7 +133,6 @@
136134 HANDLE hThread;
137135 HDC hDC;
138136 HWND hWnd;
139 - glRenderWindow *RenderWnd;
140137 DIB dib;
141138 FBO fbo;
142139 BufferObject *pbo;
Index: ddraw/hooks.c
@@ -19,8 +19,12 @@
2020 #include "hooks.h"
2121 #include <tlhelp32.h>
2222 #include "../minhook-1.3/include/MinHook.h"
23 -void glDirectDraw7_UnrestoreDisplayMode(LPDIRECTDRAW7 lpDD7); // temporary until glDirectDraw is converted to C
2423
 24+// temporary stuff until glDirectDraw is converted to C
 25+void glDirectDraw7_UnrestoreDisplayMode(LPDIRECTDRAW7 lpDD7);
 26+void glDirectDraw7_GetSizes(LPDIRECTDRAW7 lpDD7);
 27+extern DXGLCFG dxglcfg;
 28+
2529 const TCHAR *wndprop = _T("DXGLWndProc");
2630 const TCHAR *wndpropdd7 = _T("DXGLWndDD7");
2731 static HWND_HOOK *hwndhooks = NULL;
@@ -246,6 +250,11 @@
247251 }
248252 LRESULT CALLBACK DXGLWndHookProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
249253 {
 254+ int oldx, oldy;
 255+ float mulx, muly;
 256+ int translatex, translatey;
 257+ LPARAM newpos;
 258+ LONG sizes[6];
250259 WNDPROC parentproc;
251260 HWND_HOOK *wndhook;
252261 LPDIRECTDRAW7 lpDD7;
@@ -275,6 +284,41 @@
276285 if (lpDD7) glDirectDraw7_UnrestoreDisplayMode(lpDD7);
277286 }
278287 break;
 288+ case WM_MOUSEMOVE:
 289+ case WM_LBUTTONDOWN:
 290+ case WM_LBUTTONUP:
 291+ case WM_LBUTTONDBLCLK:
 292+ case WM_RBUTTONDOWN:
 293+ case WM_RBUTTONUP:
 294+ case WM_RBUTTONDBLCLK:
 295+ case WM_MBUTTONDOWN:
 296+ case WM_MBUTTONUP:
 297+ case WM_MBUTTONDBLCLK:
 298+ case WM_MOUSEWHEEL:
 299+ case WM_XBUTTONDOWN:
 300+ case WM_XBUTTONUP:
 301+ case WM_XBUTTONDBLCLK:
 302+ case WM_MOUSEHWHEEL:
 303+ if ((dxglcfg.scaler != 0) && lpDD7)
 304+ {
 305+ oldx = LOWORD(lParam);
 306+ oldy = HIWORD(lParam);
 307+ glDirectDraw7_GetSizes(lpDD7, sizes);
 308+ mulx = (float)sizes[2] / (float)sizes[0];
 309+ muly = (float)sizes[3] / (float)sizes[1];
 310+ translatex = (sizes[4] - sizes[0]) / 2;
 311+ translatey = (sizes[5] - sizes[1]) / 2;
 312+ oldx -= translatex;
 313+ oldy -= translatey;
 314+ oldx = (int)((float)oldx * mulx);
 315+ oldy = (int)((float)oldy * muly);
 316+ if (oldx < 0) oldx = 0;
 317+ if (oldy < 0) oldy = 0;
 318+ if (oldx >= sizes[2]) oldx = sizes[2] - 1;
 319+ if (oldy >= sizes[3]) oldy = sizes[3] - 1;
 320+ wParam = oldx + (oldy << 16);
 321+ }
 322+ break;
279323 }
280324 return CallWindowProc(parentproc, hWnd, uMsg, wParam, lParam);
281325 }
Index: ddraw/include/d3dtypes.h
@@ -279,8 +279,8 @@
280280 } DUMMYUNIONNAME7;
281281 #if defined(__cplusplus) && defined(D3D_OVERLOADS)
282282 public:
283 - _D3DLVERTEX() {}
284 - _D3DLVERTEX(const D3DVECTOR& v, DWORD _color, DWORD _specular, float _tu, float _tv) {
 283+ _D3DLVERTEX() {} //-V730
 284+ _D3DLVERTEX(const D3DVECTOR& v, DWORD _color, DWORD _specular, float _tu, float _tv) { //-V730
285285 x = v.x; y = v.y; z = v.z;
286286 color = _color; specular = _specular;
287287 tu = _tu; tv = _tv;

Follow-up revisions

RevisionCommit summaryAuthorDate
r635Revert changes from r615 and r631...admin02:14, 10 January 2016
r660Bring back Blt surface isolation from r631 - currently breaks dest colorkey B...admin01:24, 6 June 2016
r662Fix DXGLTest BltFast test to comply with parameter validation from r660 (whic...admin00:59, 8 June 2016