Mercurial > might-and-magic-trilogy
changeset 32:77de07f99e03
16.10.12 9.09
author | Ritor1 |
---|---|
date | Tue, 16 Oct 2012 09:09:53 +0600 |
parents | 509744251c8e |
children | c033691c2eca |
files | Render.cpp Texture.cpp |
diffstat | 2 files changed, 21 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/Render.cpp Sun Oct 14 00:27:38 2012 +0200 +++ b/Render.cpp Tue Oct 16 09:09:53 2012 +0600 @@ -6914,7 +6914,7 @@ IDirectDrawSurface **v1; // esi@2 if ( pVersion->pVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT - || (v1 = (IDirectDrawSurface **)&this->pFrontBuffer2, pVersion->pVersionInfo.dwMajorVersion != 4) ) + || (v1 = (IDirectDrawSurface **)&this->pFrontBuffer2, pVersion->pVersionInfo.dwMajorVersion >= 5u) ) v1 = (IDirectDrawSurface **)&this->pFrontBuffer4; if ( (*v1)->IsLost() == DDERR_SURFACELOST ) (*v1)->Restore();
--- a/Texture.cpp Sun Oct 14 00:27:38 2012 +0200 +++ b/Texture.cpp Tue Oct 16 09:09:53 2012 +0600 @@ -641,24 +641,22 @@ uNumPixels=uWidth*uHeight; // dword @ 000010 memset(pOutPixels, 0, uNumPixels * sizeof(__int16)); - - for (short i=1; i<=15; i++) - { - if ((1<<i)==uWidth) - { - field_18=i; - break; - } - } - - for (short i=1; i<=15; i++) - { - if ((1<<i)==uHeight) - { - field_1A=i; - break; - } - } + short i=1; + while ( (1<<i) !=uWidth) + { + ++i; + if (i >= 15) + break; + } + field_18=i; + short i_=1; + while ( (1<<i_) !=uHeight) + { + ++i_; + if (i_ >= 15) + break; + } + field_1A=i_; switch (field_18) { case 2: field_1C = 3; break; @@ -692,9 +690,9 @@ read_offset = 128; if (psx_head2.planes != 3) - return 3; + return 0; current_line = 0; - if ( uWidth > 0 ) + if ( uHeight > 0 ) { dec_position = pOutPixels; do @@ -706,11 +704,11 @@ { do { - test_byte = *(pPcx + read_offset); + test_byte = pPcx[read_offset]; ++read_offset; if ((test_byte & 0xC0) == 0xC0) { - value = *(pPcx + read_offset); + value = pPcx[read_offset]; ++read_offset; if ((test_byte & 0x3F) > 0)