Mercurial > mm7
comparison Render.cpp @ 1430:71a2cf416478
LloydBeacons
author | Ritor1 |
---|---|
date | Fri, 02 Aug 2013 13:48:57 +0600 |
parents | 1987f2cca08f |
children | 6de9c1316852 |
comparison
equal
deleted
inserted
replaced
1429:c7489dd19f88 | 1430:71a2cf416478 |
---|---|
2751 } | 2751 } |
2752 | 2752 |
2753 //----- (0049F8B5) -------------------------------------------------------- | 2753 //----- (0049F8B5) -------------------------------------------------------- |
2754 FILE *Render::SavePCXImage(const char *Filename, char *a3, int a4, int a5) | 2754 FILE *Render::SavePCXImage(const char *Filename, char *a3, int a4, int a5) |
2755 { | 2755 { |
2756 Render *v5; // esi@1 | 2756 //Render *v5; // esi@1 |
2757 FILE *result; // eax@1 | 2757 FILE *result; // eax@1 |
2758 FILE *v7; // edi@4 | 2758 FILE *v7; // edi@4 |
2759 int v8; // ecx@5 | 2759 int v8; // ecx@5 |
2760 int v9; // eax@5 | 2760 int v9; // eax@5 |
2761 int v10; // eax@7 | 2761 int v10; // eax@7 |
2773 PCXHeader_2 header2; // [sp+90h] [bp-14h]@4 | 2773 PCXHeader_2 header2; // [sp+90h] [bp-14h]@4 |
2774 void *ptr; // [sp+98h] [bp-Ch]@4 | 2774 void *ptr; // [sp+98h] [bp-Ch]@4 |
2775 int v24; // [sp+9Ch] [bp-8h]@2 | 2775 int v24; // [sp+9Ch] [bp-8h]@2 |
2776 char *i; // [sp+A0h] [bp-4h]@8 | 2776 char *i; // [sp+A0h] [bp-4h]@8 |
2777 | 2777 |
2778 v5 = this; | |
2779 result = fopen(Filename, "wb"); | 2778 result = fopen(Filename, "wb"); |
2780 Filename = (const char *)result; | 2779 Filename = (const char *)result; |
2781 if ( result ) | 2780 if ( result ) |
2782 { | 2781 { |
2783 v24 = a4; | 2782 v24 = a4; |
2834 { | 2833 { |
2835 a3 = (char *)ptr + v8; | 2834 a3 = (char *)ptr + v8; |
2836 i = (char *)ptr + 2 * v24; | 2835 i = (char *)ptr + 2 * v24; |
2837 do | 2836 do |
2838 { | 2837 { |
2839 *((char *)ptr + v10) = (signed int)(v5->uTargetRMask & *(short *)a5) >> (LOBYTE(v5->uTargetGBits) | 2838 *((char *)ptr + v10) = (signed int)(this->uTargetRMask & *(short *)a5) >> (LOBYTE(this->uTargetGBits) |
2840 + LOBYTE(v5->uTargetBBits) | 2839 + LOBYTE(this->uTargetBBits) |
2841 + v5->uTargetRBits | 2840 + this->uTargetRBits |
2842 - 8); | 2841 - 8); |
2843 a3[v10] = (signed int)(v5->uTargetGMask & *(short *)a5) >> (LOBYTE(v5->uTargetBBits) | 2842 a3[v10] = (signed int)(this->uTargetGMask & *(short *)a5) >> (LOBYTE(this->uTargetBBits) |
2844 + LOBYTE(v5->uTargetGBits) | 2843 + LOBYTE(this->uTargetGBits) |
2845 - 8); | 2844 - 8); |
2846 v11 = a5; | 2845 v11 = a5; |
2847 a5 += 2; | 2846 a5 += 2; |
2848 i[v10++] = (v5->uTargetBMask & *(char *)v11) << (8 - LOBYTE(v5->uTargetBBits)); | 2847 i[v10++] = (this->uTargetBMask & *(char *)v11) << (8 - LOBYTE(this->uTargetBBits)); |
2849 } | 2848 } |
2850 while ( v10 < a4 ); | 2849 while ( v10 < a4 ); |
2851 } | 2850 } |
2852 for ( i = 0; (signed int)i < v20; i += BYTE3(a5) ) | 2851 for ( i = 0; (signed int)i < v20; i += BYTE3(a5) ) |
2853 { | 2852 { |