Mercurial > might-and-magic-trilogy
diff Texture.cpp @ 32:77de07f99e03
16.10.12 9.09
author | Ritor1 |
---|---|
date | Tue, 16 Oct 2012 09:09:53 +0600 |
parents | ac0fb48cd27a |
children | 7022d20db19f |
line wrap: on
line diff
--- 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)