Mercurial > mm7
diff Render.cpp @ 2410:2d3c3d1dff0c
added RenderStruct.h
author | Ritor1 |
---|---|
date | Tue, 15 Jul 2014 15:44:45 +0600 |
parents | 2fe8feb3dcd1 |
children | e2d352b3a0a5 |
line wrap: on
line diff
--- a/Render.cpp Mon Jul 14 19:48:47 2014 +0600 +++ b/Render.cpp Tue Jul 15 15:44:45 2014 +0600 @@ -1333,9 +1333,9 @@ //IDirectDraw4 *v9; // eax@16 //IDirectDraw4 *v10; // eax@20 //IDirectDraw4 *v13; // eax@35 - const char *v23; // [sp-4h] [bp-DCh]@9 - const char *v24; // [sp-4h] [bp-DCh]@13 - const char *v25; // [sp-4h] [bp-DCh]@19 + //const char *v23; // [sp-4h] [bp-DCh]@9 + //const char *v24; // [sp-4h] [bp-DCh]@13 + //const char *v25; // [sp-4h] [bp-DCh]@19 DWORD v26; // [sp-4h] [bp-DCh]@30 DDSCAPS2 v27; // [sp+Ch] [bp-CCh]@37 DDSURFACEDESC2 ddsd2; // [sp+1Ch] [bp-BCh]@11 @@ -1370,9 +1370,7 @@ { if (FAILED(pHost->SetCooperativeLevel(hWnd, DDSCL_MULTITHREADED | DDSCL_NORMAL))) { - v23 = "Init - Failed to set cooperative level.\n"; - sprintf(pErrorMessage, v23); -LABEL_65: + sprintf(pErrorMessage, "Init - Failed to set cooperative level.\n"); if (pHost) { pHost->Release(); @@ -1390,8 +1388,18 @@ pHost->GetDisplayMode(&ddsd2); if ( FORCE_16_BITS && ddsd2.ddpfPixelFormat.dwRGBBitCount != 16 ) { - v24 = "Init - Desktop isn't in 16 bit mode.\n"; - goto LABEL_14; + sprintf(pErrorMessage, "Init - Desktop isn't in 16 bit mode.\n"); + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer = 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } ddsd2.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT; @@ -1400,20 +1408,38 @@ ddsd2.dwHeight = game_height; if (pHost->CreateSurface(&ddsd2, &pBackBuffer, 0) ) { - v24 = "Init - Failed to create back buffer.\n"; -LABEL_14: - sprintf(pErrorMessage, v24); + sprintf(pErrorMessage, "Init - Failed to create back buffer.\n"); if (pFrontBuffer) { pFrontBuffer->Release(); pFrontBuffer = 0; } - goto LABEL_65; + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } if ( pHost->CreateClipper(0, &v30, 0) ) { - v25 = "Init - Failed to create clipper.\n"; - goto LABEL_45; + sprintf(pErrorMessage, "Init - Failed to create clipper.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } v30->SetHWnd(0, hWnd); pFrontBuffer->SetClipper(v30); @@ -1431,7 +1457,25 @@ if ( pDirect3D->EnumZBufferFormats(*pAvailableDevices[uDeviceID].pGUID, (HRESULT (__stdcall *)(DDPIXELFORMAT *, void *))D3DZBufferFormatEnumerator, &ddsd2.ddpfPixelFormat) ) - goto LABEL_21; + { + sprintf(pErrorMessage, "Init - Failed to enumerate Z buffer formats.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } if ( uDeviceID == 2 || uDeviceID == 3 ) ddsd2.ddsCaps.dwCaps |= DDSCAPS_SYSTEMMEMORY; @@ -1439,10 +1483,7 @@ { if ( !pBackBuffer->AddAttachedSurface(pZBuffer) ) { - if ( !pDirect3D->CreateDevice(*pAvailableDevices[uDeviceID].pGUID, - pBackBuffer, - &pDevice, - 0) ) + if ( !pDirect3D->CreateDevice(*pAvailableDevices[uDeviceID].pGUID, pBackBuffer, &pDevice, 0) ) { memset(&d3dvp2, 0, sizeof(D3DVIEWPORT2)); d3dvp2.dvClipWidth = 2.0; @@ -1452,30 +1493,82 @@ d3dvp2.dvMinZ = 0.0; goto LABEL_54; } -LABEL_51: sprintf(pErrorMessage, "Init - Failed to create D3D device.\n"); if (pDirect3D) { pDirect3D->Release(); pDirect3D = 0; } - goto LABEL_59; + if (pZBuffer) + { + pZBuffer->Release(); + pZBuffer = 0; + } + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } -LABEL_48: sprintf(pErrorMessage, "Init - Failed to attach z-buffer to back buffer.\n"); if (pZBuffer) { pZBuffer->Release(); pZBuffer = 0; } - goto LABEL_61; - } - goto LABEL_44; - } -LABEL_36: - v23 = "Init - Failed to create front buffer.\n"; - sprintf(pErrorMessage, v23); - goto LABEL_65; + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } + sprintf(pErrorMessage, "Init - Failed to create z-buffer.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } + sprintf(pErrorMessage, "Init - Failed to create front buffer.\n"); + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } if ( uDeviceID == 1 ) v26 = 1045; @@ -1483,15 +1576,23 @@ v26 = 1041; if (pHost->SetCooperativeLevel(hWnd, v26) ) { - v23 = "Init - Failed to set cooperative level.\n"; - sprintf(pErrorMessage, v23); - goto LABEL_65; + sprintf(pErrorMessage, "Init - Failed to set cooperative level.\n"); + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } if (pHost->SetDisplayMode(window->GetWidth(), window->GetHeight(), 16, 0, 0) ) { - v23 = "Init - Failed to set display mode.\n"; - sprintf(pErrorMessage, v23); - goto LABEL_65; + sprintf(pErrorMessage, "Init - Failed to set display mode.\n"); + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } memset(&ddsd2, 0, sizeof(DDSURFACEDESC2)); @@ -1500,7 +1601,15 @@ ddsd2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE | DDSCAPS_FLIP | DDSCAPS_COMPLEX; ddsd2.dwBackBufferCount = 1; if ( pHost->CreateSurface(&ddsd2, &pFrontBuffer, 0) ) - goto LABEL_36; + { + sprintf(pErrorMessage, "Init - Failed to create front buffer.\n"); + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } //a3a = &pBackBuffer; //v14 = *v34; memset(&v27, 0, sizeof(DDSCAPS2)); @@ -1510,8 +1619,23 @@ pHost->QueryInterface(IID_IDirect3D3, (LPVOID *)&pDirect3D); if (FAILED(pFrontBuffer->GetAttachedSurface(&v27, &pBackBuffer))) { - v25 = "Init - Failed to get D3D interface.\n"; - goto LABEL_45; + sprintf(pErrorMessage, "Init - Failed to get D3D interface.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } ddsd2.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT; @@ -1522,41 +1646,103 @@ (HRESULT (__stdcall *)(DDPIXELFORMAT *, void *))D3DZBufferFormatEnumerator, &ddsd2.ddpfPixelFormat) ) { -LABEL_21: - v25 = "Init - Failed to enumerate Z buffer formats.\n"; - goto LABEL_45; + sprintf(pErrorMessage, "Init - Failed to enumerate Z buffer formats.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } if ( uDeviceID == 2 || uDeviceID == 3 ) BYTE1(ddsd2.ddsCaps.dwCaps) |= 8u; //uDeviceIDa = &pZBuffer; if (pHost->CreateSurface(&ddsd2, &pZBuffer, 0) ) { -LABEL_44: - v25 = "Init - Failed to create z-buffer.\n"; -LABEL_45: - sprintf(pErrorMessage, v25); + sprintf(pErrorMessage, "Init - Failed to create z-buffer.\n"); + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } + if (pBackBuffer->AddAttachedSurface(pZBuffer)) + { + sprintf(pErrorMessage, "Init - Failed to attach z-buffer to back buffer.\n"); + if (pZBuffer) + { + pZBuffer->Release(); + pZBuffer = 0; + } if (pBackBuffer) { pBackBuffer->Release(); pBackBuffer = 0; } -LABEL_63: - //v19 = &pFrontBuffer; if (pFrontBuffer) { pFrontBuffer->Release(); pFrontBuffer= 0; } - goto LABEL_65; - } - if (pBackBuffer->AddAttachedSurface(pZBuffer)) - goto LABEL_48; + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } //v33 = &pDevice; - if (pDirect3D->CreateDevice(*pAvailableDevices[uDeviceID].pGUID, - pBackBuffer, - &pDevice, - 0) ) - goto LABEL_51; + if (pDirect3D->CreateDevice(*pAvailableDevices[uDeviceID].pGUID, pBackBuffer, &pDevice, 0) ) + { + sprintf(pErrorMessage, "Init - Failed to create D3D device.\n"); + if (pDirect3D) + { + pDirect3D->Release(); + pDirect3D = 0; + } + if (pZBuffer) + { + pZBuffer->Release(); + pZBuffer = 0; + } + if (pBackBuffer) + { + pBackBuffer->Release(); + pBackBuffer = 0; + } + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; + } memset(&d3dvp2, 0, sizeof(D3DVIEWPORT2)); d3dvp2.dvClipWidth = 2.0; d3dvp2.dvClipY = 1.0; @@ -1584,19 +1770,27 @@ pDirect3D->Release(); pDirect3D = 0; } -LABEL_59: if (pZBuffer) { pZBuffer->Release(); pZBuffer = 0; } -LABEL_61: if (pBackBuffer) { pBackBuffer->Release(); pBackBuffer = 0; } - goto LABEL_63; + if (pFrontBuffer) + { + pFrontBuffer->Release(); + pFrontBuffer= 0; + } + if (pHost) + { + pHost->Release(); + pHost = 0; + } + return 0; } pDevice->AddViewport(pViewport); @@ -2769,26 +2963,26 @@ //----- (0049FD3A) -------------------------------------------------------- void Render::_49FD3A_fullscreen() { - Render *v2; // esi@1 - IDirectDrawSurface4 *v3; // eax@6 - IDirectDrawSurface4 *v4; // ST0C_4@6 + //Render *v2; // esi@1 + //IDirectDrawSurface4 *v3; // eax@6 + //IDirectDrawSurface4 *v4; // ST0C_4@6 RECT v5; // [sp+8h] [bp-10h]@6 - Render* a1 = this; - v2 = a1; - if ( a1->pRenderD3D ) + //Render* a1 = this; + //v2 = this; + if ( this->pRenderD3D ) { if (pFrontBuffer4->IsLost() == DDERR_SURFACELOST) pFrontBuffer4->Restore(); if (pBackBuffer4->IsLost() == DDERR_SURFACELOST) pBackBuffer4->Restore(); - v3 = v2->pBackBuffer4; - v4 = v2->pFrontBuffer4; + //v3 = this->pBackBuffer4; + //v4 = this->pFrontBuffer4; v5.top = 0; v5.bottom = window->GetHeight(); v5.left = 0; v5.right = window->GetWidth(); - v3->BltFast(0, 0, v4, &v5, 16u); + this->pBackBuffer4->BltFast(0, 0, this->pFrontBuffer4, &v5, 16); } } @@ -2805,7 +2999,7 @@ //----- (0049FE05) -------------------------------------------------------- void Render::Release() { - Render *v1; // esi@1 + //Render *v1; // esi@1 //RenderD3D *v2; // ecx@1 //char v3; // zf@4 //void *v4; // ebx@6 @@ -2822,22 +3016,22 @@ // unsigned __int16 **v15; // ebx@28 // void **v16; // esi@29 - v1 = this; + // v1 = this; if (pRenderD3D) { - if ( v1->using_software_screen_buffer ) + if ( this->using_software_screen_buffer ) { pRenderD3D->ClearTarget(true, 0, false, 1.0); pRenderD3D->Present(0); pRenderD3D->ClearTarget(true, 0, false, 1.0); } - //v1->pColorKeySurface4 = 0; - v1->pBackBuffer4 = nullptr; - v1->pFrontBuffer4 = nullptr; - v1->pDirectDraw4 = nullptr; - delete [] v1->pTargetSurface_unaligned; - v1->pTargetSurface = nullptr; - v1->pTargetSurface_unaligned = nullptr; + //this->pColorKeySurface4 = 0; + this->pBackBuffer4 = nullptr; + this->pFrontBuffer4 = nullptr; + this->pDirectDraw4 = nullptr; + delete [] this->pTargetSurface_unaligned; + this->pTargetSurface = nullptr; + this->pTargetSurface_unaligned = nullptr; if (pRenderD3D) { pRenderD3D->Release(); @@ -2850,72 +3044,72 @@ /*{ if ( bWinNT4_0 == 1 ) { - v5 = (IDirectDraw *)v1->pDirectDraw2; + v5 = (IDirectDraw *)this->pDirectDraw2; if ( !v5 ) return; - v5->SetCooperativeLevel(v1->hWnd, 8u); - v1->pDirectDraw2->FlipToGDISurface(); - v6 = v1->pSomeSurface2; + v5->SetCooperativeLevel(this->hWnd, 8u); + this->pDirectDraw2->FlipToGDISurface(); + v6 = this->pSomeSurface2; if ( v6 ) { v6->Release(); - v1->pSomeSurface2 = 0; - } - v7 = v1->pBackBuffer2; + this->pSomeSurface2 = 0; + } + v7 = this->pBackBuffer2; if ( v7 ) { v7->Release(); - v1->pBackBuffer2 = 0; - } - v8 = v1->pFrontBuffer2; + this->pBackBuffer2 = 0; + } + v8 = this->pFrontBuffer2; if ( v8 ) { v8->Release(); - v1->pFrontBuffer2 = 0; - } - v9 = v1->pDirectDraw2; + this->pFrontBuffer2 = 0; + } + v9 = this->pDirectDraw2; if ( v9 ) { v9->Release(); - v1->pDirectDraw2 = 0; + this->pDirectDraw2 = 0; } } else { - v10 = v1->pDirectDraw4; + v10 = this->pDirectDraw4; if ( !v10 ) return; - v10->SetCooperativeLevel(v1->hWnd, 1032u); - v1->pDirectDraw4->FlipToGDISurface(); - v11 = v1->pColorKeySurface4; + v10->SetCooperativeLevel(this->hWnd, 1032u); + this->pDirectDraw4->FlipToGDISurface(); + v11 = this->pColorKeySurface4; if ( v11 ) { v11->Release(); - v1->pColorKeySurface4 = 0; - } - v12 = v1->pBackBuffer4; + this->pColorKeySurface4 = 0; + } + v12 = this->pBackBuffer4; if ( v12 ) { v12->Release(); - v1->pBackBuffer4 = 0; - } - v13 = v1->pFrontBuffer4; + this->pBackBuffer4 = 0; + } + v13 = this->pFrontBuffer4; if ( v13 ) { v13->Release(); - v1->pFrontBuffer4 = 0; - } - v14 = v1->pDirectDraw4; + this->pFrontBuffer4 = 0; + } + v14 = this->pDirectDraw4; if ( v14 ) { v14->Release(); - v1->pDirectDraw4 = 0; - } - } - v15 = &v1->pTargetSurface; - if ( v1->pTargetSurface ) - { - v16 = (void **)&v1->ptr_400E8; + this->pDirectDraw4 = 0; + } + } + v15 = &this->pTargetSurface; + if ( this->pTargetSurface ) + { + v16 = (void **)&this->ptr_400E8; free(*v16); *v15 = 0; *v16 = 0; @@ -2923,9 +3117,6 @@ }*/ } - - - void Present32(unsigned __int32 *src, unsigned int src_pitch, unsigned __int32 *dst, unsigned int dst_pitch) { @@ -3136,12 +3327,12 @@ //HWND v3; // ebx@1 //void *v4; // eax@2 //RenderD3D *v5; // eax@3 - unsigned int v6; // edx@5 + //unsigned int v6; // edx@5 RenderD3D__DevInfo *v7; // ecx@5 bool v8; // eax@6 - RenderD3D *v9; // ecx@13 + //RenderD3D *v9; // ecx@13 unsigned int v10; // eax@13 - RenderD3D *v11; // eax@25 + //RenderD3D *v11; // eax@25 // HRESULT v12; // eax@25 int v13; // ecx@25 int v14; // eax@27 @@ -3157,7 +3348,7 @@ DDSURFACEDESC2 pDesc; // [sp+108h] [bp-204h]@40 D3DDEVICEDESC halCaps; // [sp+184h] [bp-188h]@25 // DDSURFACEDESC2 ddsd2; // [sp+280h] [bp-8Ch]@38 - void *v28; // [sp+2FCh] [bp-10h]@2 + //void *v28; // [sp+2FCh] [bp-10h]@2 int v29; // [sp+308h] [bp-4h]@2 __debugbreak(); // Nomad @@ -3185,20 +3376,16 @@ else {*/ pRenderD3D = new RenderD3D; - v28 = pRenderD3D; - v6 = uDesiredDirect3DDevice; + //v28 = pRenderD3D; + //v6 = uDesiredDirect3DDevice; v29 = -1; v7 = pRenderD3D->pAvailableDevices; - if ( v7[v6].bIsDeviceCompatible ) - { - v8 = pRenderD3D->CreateDevice(v6, /*0*/true, window); - } + if ( pRenderD3D->pAvailableDevices[uDesiredDirect3DDevice].bIsDeviceCompatible ) + v8 = pRenderD3D->CreateDevice(uDesiredDirect3DDevice, /*0*/true, window); else { if ( v7[1].bIsDeviceCompatible ) - { v8 = pRenderD3D->CreateDevice(1, /*0*/true, window); - } else { if ( !v7->bIsDeviceCompatible ) @@ -3210,10 +3397,10 @@ if ( !v8 ) Error("D3Drend->Init failed."); - v9 = pRenderD3D; - pBackBuffer4 = v9->pBackBuffer; - pFrontBuffer4 = v9->pFrontBuffer; - pDirectDraw4 = v9->pHost; + //v9 = pRenderD3D; + pBackBuffer4 = pRenderD3D->pBackBuffer; + pFrontBuffer4 = pRenderD3D->pFrontBuffer; + pDirectDraw4 = pRenderD3D->pHost; v10 = pRenderD3D->GetDeviceCaps(); if ( v10 & 1 ) { @@ -3260,9 +3447,9 @@ memset(&halCaps, 0, 0xFCu); halCaps.dwSize = 252; memset(&refCaps, 0, 0xFCu); - v11 = pRenderD3D; + //v11 = pRenderD3D; refCaps.dwSize = 252; - ErrD3D(v11->pDevice->GetCaps(&halCaps, &refCaps)); + ErrD3D(pRenderD3D->pDevice->GetCaps(&halCaps, &refCaps)); v13 = halCaps.dwMinTextureWidth; if ( (unsigned int)halCaps.dwMinTextureWidth >= halCaps.dwMinTextureHeight ) v13 = halCaps.dwMinTextureHeight; @@ -3342,7 +3529,7 @@ using_software_screen_buffer = v15; //} bWindowMode = 0; - pParty->uFlags |= 2u; + pParty->uFlags |= 2; pViewport->SetFOV(flt_6BE3A0 * 65536.0f); return v15 != 0; } @@ -3995,7 +4182,7 @@ //----- (004A121C) -------------------------------------------------------- void Render::CreateFrontBuffer() { - Render *v1; // esi@1 + //Render *v1; // esi@1 IDirectDraw *pDD; // eax@3 IDirectDrawSurface **pOutSurf; // esi@3 struct _DDSURFACEDESC *v4; // edx@3 @@ -4004,18 +4191,18 @@ unsigned int v7; // [sp-4h] [bp-88h]@3 DDSURFACEDESC2 a2; // [sp+4h] [bp-80h]@3 - v1 = this; + //v1 = this; //if (pVersion->pVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT || //pVersion->pVersionInfo.dwMajorVersion != 4 ) { memset(&a2, 0, 0x7Cu); - pDD = (IDirectDraw *)v1->pDirectDraw4; + pDD = (IDirectDraw *)this->pDirectDraw4; a2.dwSize = 124; a2.dwFlags = 1; v7 = 0; a2.ddsCaps.dwCaps = 512; v6 = 2357; - pOutSurf = (IDirectDrawSurface **)&v1->pFrontBuffer4; + pOutSurf = (IDirectDrawSurface **)&this->pFrontBuffer4; v4 = (struct _DDSURFACEDESC *)&a2; } /*else @@ -4036,7 +4223,7 @@ //----- (004A12CD) -------------------------------------------------------- void Render::CreateBackBuffer() { - Render *v1; // esi@1 + //Render *v1; // esi@1 IDirectDraw *v2; // eax@3 IDirectDrawSurface **ppBackBuffer; // esi@3 struct _DDSURFACEDESC *v4; // edx@3 @@ -4045,12 +4232,12 @@ unsigned int v7; // [sp-4h] [bp-88h]@3 DDSURFACEDESC2 a2; // [sp+4h] [bp-80h]@3 - v1 = this; + //v1 = this; //if (pVersion->pVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT || // pVersion->pVersionInfo.dwMajorVersion != 4 ) { memset(&a2, 0, 0x7Cu); - v2 = (IDirectDraw *)v1->pDirectDraw4; + v2 = (IDirectDraw *)this->pDirectDraw4; a2.dwSize = 124; a2.dwFlags = 7; v7 = 0; @@ -4058,7 +4245,7 @@ a2.dwWidth = window->GetWidth(); a2.dwHeight = window->GetHeight(); v6 = 2387; - ppBackBuffer = (IDirectDrawSurface **)&v1->pBackBuffer4; + ppBackBuffer = (IDirectDrawSurface **)&this->pBackBuffer4; v4 = (struct _DDSURFACEDESC *)&a2; } /*else @@ -4081,7 +4268,7 @@ //----- (004A139A) -------------------------------------------------------- void Render::CreateDirectDrawPrimarySurface() { - Render *v1; // esi@1 + //Render *v1; // esi@1 //int v2; // ebx@3 // IDirectDraw2 *v3; // eax@3 // HRESULT v4; // eax@3 @@ -4100,24 +4287,21 @@ DDSCAPS2 v17; // [sp+88h] [bp-18h]@4 // int a4; // [sp+98h] [bp-8h]@3 - v1 = this; + //v1 = this; //if (pVersion->pVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT || //pVersion->pVersionInfo.dwMajorVersion != 4 ) { //v2 = 0; //this->field_4004C = 1; memset(&ddsd2, 0, 0x7Cu); - v7 = v1->pDirectDraw4; + v7 = this->pDirectDraw4; ddsd2.dwBackBufferCount = 1; ddsd2.dwSize = 0x7Cu; ddsd2.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT; ddsd2.ddsCaps.dwCaps = DDSCAPS_COMPLEX | DDSCAPS_FLIP | DDSCAPS_3DDEVICE | DDSCAPS_PRIMARYSURFACE; - ErrD3D(v7->CreateSurface( - &ddsd2, - &pFrontBuffer4, - 0)); - pFrontBuffer = (IDirectDrawSurface *)v1->pFrontBuffer4; - ppBackBuffer = (IDirectDrawSurface **)&v1->pBackBuffer4; + ErrD3D(v7->CreateSurface(&ddsd2, &pFrontBuffer4, 0)); + pFrontBuffer = (IDirectDrawSurface *)this->pFrontBuffer4; + ppBackBuffer = (IDirectDrawSurface **)&this->pBackBuffer4; } /*else {