diff --git a/PicReversing.c b/PicReversing.c deleted file mode 100644 index 8ea9bb1..0000000 --- a/PicReversing.c +++ /dev/null @@ -1,500 +0,0 @@ -// Microprose MTG .PIC decoder reversing -// (c) ogamespec@gmail.com - - -uint32_t pic_Width; // 0x5360C8 -uint32_t pic_Height; // 0x5360CC -uint32_t pic_CompSize; // 0x5360D0, Compressed size -uint8_t * pic_SomeBuffer; // 0x5360D4 -uint32 pic_OpCount; // 0x5360D8, Operation count -uint8_t pic_RepeatCount; // 0x5360DC -uint8_t pic_RepeatByte; // 0x5360DD -int onesCounter; // 0x5360DE -uint8_t pic_MagicValueByte; // 0x5360DF -uint32_t bitMask; // 0x5360E0 - -uint32_t pic_MagicValueWord; // 0x5360E8 -uint8_t bitPointer; // 0x5360EC -uint8_t bcdEncoded; // 0x5360ED (not used in MTG files) -uint32_t savedIndex = 0; // 0x5360EE -uint8_t savedByte = 0; // 0x5360F2 - -int picHandle; // 0x547CE8 -int MpsFileHandle; // 0x547CD8 - -uint8_t * DibSectionPtr = unk_547CA8; // DIB_SECTION_INFO * -uint8_t * off_526C9C = unk_5F7460; - -uint8_t unk_5F7260[0x200]; // Work area (next loaded 0x200 bytes ) -uint8_t unk_5F7460[0x70]; // Safe stub (for unaligned access) - -void * MpsReadCallback; // 0x5F74D0 -uint8_t * MpsBuffer; // 0x5F74D4 - -uint8_t LUT[0x10000]; // 0x5320C8 - -typedef struct _DIB_SECTION_INFO -{ - // 0x0 - - FileMapping; - - // +4 - - HDC hdc; - - // +8 - - DibSection; - - // +0xc - - // ??? - - // +0x10 - - BITMAPINFOHEADER * bmiHead; - - // +0x14 - - // +0x18 - - // Current decoded image pointer - - uint8_t * CurrentPointer; - - // +0x1C - - DWORD dwMaximumSizeLow; - - // +0x20 - - uint32_t Width; - - // +0x24 - - uint32_t Height; - - // +0x28 - - uint32_t Bpp; - - // +0x2C - - uint32_t AlignedWidthAddend; // for DIB 4 byte alignment - -} DIB_SECTION_INFO; - -uint8_t unk_547CA8[0x30]; // DIB_SECTION_INFO - - -// 0x444F5F - -unsigned int LoadPicInternal ( - int par04, // PCX only - unsigned int par08, // Not used - unsigned int par0C, // Not used - char * par10, // IDA arg_C [ebp + 0x10] - unsigned int *par14) // IDA arg_10 [ebp + 0x14] -{ - unsigned int v0, v1; - unsigned int v2 = strchr(par10, '.'); - v2 = _strcmpi (".pcx", v2); - - if (v2) - { - v2 = PicOpen (par10, O_BINARY); - picHandle = v2; - - if (v2 != -1) - { - SetupMpsReadCallback (picHandle); - - j_Mps_LoadPic(par14); - - // Align width on 4 (DIB specific) - - unsigned int v3 = (pic_Width & 3) != 0 ? 4 - (pic_Width & 3) : 0; - gvar_547CE4 = pic_Width + v3; // Used only in PCX code section (not sure why this is here..) - - v2 = j_PicCreateDIBSection(pic_Width, pic_Height, 8); // 8 = bpp - - if (v2) - { - v0 = *(gvar_526C98 + 0x18); - gvar_547CE0 = 0; - - while (gvar_547CE0 < pic_Height) - { - j_Mps_DecodeLine (v0, pic_Width); - gvar_547CE0++; - - v0 += *(gvar_526C98 + 0x2c) + pic_Width; // +AlignedWidthAddend - } - } - else - { - *(gvar_526C98 + 8) = 0; - } - } - else - { - *(gvar_526C98 + 8) = 0; - } - - return *(gvar_526C98 + 8); - } - else - { - // .PCX loading code section ... (don't care) - } - -} - - -int PicOpen (char * path, int mode) -{ - int result = _open (path, mode); - gvar_547CDC = -1; /// Only here (not used) - return result; -} - - - -void SetupMpsReadCallback (int par04) -{ - MpsFileHandle = par04; - - // Reset buffer - MpsBuffer = off_526C9C; - - MpsReadCallback = PicRead; -} - -int PicRead () -{ - int result = read (MpsFileHandle, unk_5F7260, 0x200); - MpsBuffer = unk_5F7260; - return result; -} - -Mps_LoadPic (unsigned int *par14) -{ - if ( MpsBuffer >= off_526C9C ) - { - MpsReadCallback (); - } - - uint16_t ax = *(uint16_t)MpsBuffer; - MpsBuffer += 2; - - // Parse header - - if ( (ax & 0xff) == 'X' ) - { - // Compressed size - - bcdEncoded = (ax >> 8) & 1; // BCD encoded? - - if ( MpsBuffer >= off_526C9C ) - { - MpsReadCallback (); - } - - ax = *(uint16_t)MpsBuffer; - MpsBuffer += 2; - pic_CompSize = ax; - - // Picture Width - - if ( MpsBuffer >= off_526C9C ) - { - MpsReadCallback (); - } - - ax = *(uint16_t)MpsBuffer; - MpsBuffer += 2; - pic_Width = ax; - - // Picture Height - - if ( MpsBuffer >= off_526C9C ) - { - MpsReadCallback (); - } - - ax = *(uint16_t)MpsBuffer; - MpsBuffer += 2; - pic_Height = ax; - - Mps_PrepareContext(); - } - else - { - // ... Other pic formats (don't care) - } - -} - -Mps_PrepareContext() // 0x640245 -{ - if ( (pic_Width | pic_Height) == 0 ) - return; - - pic_RepeatCount = 0; - pic_RepeatByte = 0; - - pic_SomeBuffer = &unk_5364F3; - - // Get one more word, which contain LUT settings byte (always 0xb) - - if ( MpsBuffer >= off_526C9C) - { - MpsReadCallback (); - } - - ax = *(uint16_t)MpsBuffer; - MpsBuffer += 2; - - uint8_t al = (ax & 0xff); - - if (al > 11) - { - al = 11; - } - - pic_MagicValueByte = al; - pic_MagicValueWord = ax; - - bitPointer = 8; - - Mps_PrepareBuffer (); -} - -/// Prepare look-up table (0x800 * 3 bytes): - -// First we clear look-up indexes (set to 0xFFFFs) - -// FF FF 00 -// FF FF 00 -// FF FF 00 -// FF FF 00 -// ... - -// Next first 256 LUT entry values are set as following: - -// FF FF 00 -// FF FF 01 -// FF FF 02 -// FF FF 03 -// ... - - -// LUT entries count = 1 << pic_MagicValueByte - -Mps_PrepareBuffer() // 0x6402B5 -{ - onesCounter = 9; // Number of significant bits in mask - bitMask = 0x1FF; - - dword_5360E4 = 0x100; // WTF this meaning? - - ebx = 0; - ecx = 0x800; - while (ecx--) - { - *(uint16_t)(LUT + ebx) = 0xffff; - ebx += 3; - } - - al = 0; - - ebx = 0; - ecx = 0x100; - while (ecx--) - { - LUT[ebx + 2] = al; - al++; - ebx += 3; - } -} - -// -// Decoder (kind of RLE with crazy look-up table) -// -// Also found some info on compression here: https://github.com/vvendigo/Darklands/blob/master/file_formats/quadko/PicFileFormat.txt -// - -j_Mps_DecodeLine ( - uint8_t *picPtr, // Pointer where to decode part of image - int Width) // Unaligned width in pixels -{ - NextBytes (picPtr, Width); -} - -Mps_NextBytes(uint8_t * outPtr /*edi*/, int Width /*ecx*/) // 0x640300 -{ - if ( bcdEncoded) - { - pic_OpCount = (Width + 1) / 2; - } - else - { - pic_OpCount = Width; - } - - swap (esp, pic_SomeBuffer) - - while (pic_OpCount--) - { - if ( pic_RepeatCount ) - { - al = pic_RepeatByte; - pic_RepeatCount--; - } - else - { - al = Mps_NextRun(); - - if (al == 0x90) - { - al = Mps_NextRun(); - - if (al != 0) - { - pic_RepeatCount = al - 1; - - al = pic_RepeatByte; - pic_RepeatCount--; - } - else - { - al = 0x90; - pic_RepeatByte = al; - } - } - else - { - pic_RepeatByte = al; - } - } - - // al - result - - if (bcdEncoded) - { - // Unpack BCD as uint16 - - ah = al; - al &= 0xF; - ah >>= 4; - - *(uint16 *)outPtr = ax; - outPtr += 2; - } - else - { - *(uint8_t *)outPtr = al; - outPtr++; - } - } - - // Quit - - swap (pic_SomeBuffer, esp) -} - -// Most evil - -Mps_NextRun() -{ - // esp - Pointed at SomeBuffer (used as temporary space) - - if ( esp == &unk_5364F3 ) // On top of temporary buffer? (buffer is empty?) - { - ebx = pic_MagicValueWord >> (16 - bitPointer); - cl = bitPointer; - - // Loop 1 - - while (cl < onesCounter) - { - if ( esi >= off_526C9C) - { - MpsReadCallback (); - esi = MpsBuffer; - } - eax = 0; - ax = lodsw; - pic_MagicValueWord = eax; - - eax <<= cl; - ebx |= eax; - cl += 16; - } - - // After loop 1 - - bitPointer = cl - onesCounter; - - eax = ebx & bitMask; - ecx = eax; - - if (eax >= dword_5360E4) - { - ecx = dword_5360E4; - eax = savedIndex; - bl = savedByte; - push ebx; // Push in temporary buffer - } - - // Loop 2 - - while (1) - { - ebx = 3 * eax; - ax = *(uint16_t *)(LUT + ebx) + 1; - - if (ax != 0) // Not 0xFFFF? - { - ax--; - bl = LUT[ebx + 2]; - push ebx; // Push in temporary buffer - } - else - { - break; - } - } - - // After loop 2 - - al = LUT[ebx + 2]; - savedByte = al; - push eax; // Push in temporary buffer - - ebx = 3 * dword_5360E4; - LUT[ebx + 2] = al; - eax = savedIndex; - *(uint16_t *)(LUT + ebx) = ax; - - dword_5360E4++; - if (dword_5360E4 > bitMask) - { - onesCounter++; - bitMask = (bitMask << 1) | 1; - } - - if (onesCounter > pic_MagicValueByte) - { - Mps_PrepareBuffer (); - ecx = 0; // Cleared inside PrepareBuffer - } - - savedIndex = ecx; - } - - // Quit - - pop eax; // Pop from temporary buffer -} diff --git a/ShandalarImageToolbox/File Format Helpers/CATImageDecoder.cs b/ShandalarImageToolbox/File Format Helpers/CATImageDecoder.cs index bdedd7e..e0aea93 100644 --- a/ShandalarImageToolbox/File Format Helpers/CATImageDecoder.cs +++ b/ShandalarImageToolbox/File Format Helpers/CATImageDecoder.cs @@ -18,42 +18,36 @@ public static Bitmap DecodeCatImage(ShandalarAsset asset) int height = (int)BitConverter.ToUInt32(asset.data, 0x20); int smallTableSize = (int)BitConverter.ToUInt32(asset.data, 0x24); - int var_14; - int var_24; + int newWidth; + int newHeight; if ((int)BitConverter.ToUInt32(asset.data, 0) != 0) { - /// var_14 - int eax = width; - int ecx = (int)BitConverter.ToUInt32(asset.data, 0x28) - 1; - if (ecx == 0) - var_14 = eax / 2; - else - var_14 = eax; - - /// var_24 - eax = height; - ecx = (int)BitConverter.ToUInt32(asset.data, 0x28) - 1; - if (ecx == 0) - var_24 = eax / 2; - else - var_24 = eax; + bool halfSize = BitConverter.ToUInt32(asset.data, 0x28) == 1 ? true : false; + if (halfSize){ + newWidth = width / 2; + newHeight = height / 2; + } + else{ + newWidth = width; + newHeight = height; + } } else { - var_14 = width; - var_24 = height; + newWidth = width; + newHeight = height; } int ptr1 = 0; int ptr2 = ptr1 + width * width * 4 + 0x80; - int ptr3 = ptr2 + var_14 * var_14 * 4 + 0x80; + int ptr3 = ptr2 + newWidth * newWidth * 4 + 0x80; int[] tempArray = GeneralUtilityFunctions.ByteArrayToIntArray(uncompressedData, 0); Wavelet.WaveletDecode(ref tempArray, ptr1, width, smallTableSize); - Wavelet.WaveletDecode(ref tempArray, ptr2 / 4, var_14, smallTableSize); - Wavelet.WaveletDecode(ref tempArray, ptr3 / 4, var_14, smallTableSize); + Wavelet.WaveletDecode(ref tempArray, ptr2 / 4, newWidth, smallTableSize); + Wavelet.WaveletDecode(ref tempArray, ptr3 / 4, newWidth, smallTableSize); /// YCbCr -> RGB Bitmap outputImage = Wavelet.Decode_YCbCrToRGB(tempArray, @@ -62,8 +56,8 @@ public static Bitmap DecodeCatImage(ShandalarAsset asset) height, ptr2 / 4, ptr3 / 4, - var_14, - var_24); + newWidth, + newHeight); // Return image return outputImage; diff --git a/ShandalarImageToolbox/File Format Helpers/PicDecoder.cs b/ShandalarImageToolbox/File Format Helpers/PicDecoder.cs index 501ad80..b5f0a39 100644 --- a/ShandalarImageToolbox/File Format Helpers/PicDecoder.cs +++ b/ShandalarImageToolbox/File Format Helpers/PicDecoder.cs @@ -91,7 +91,7 @@ private UInt16 GetWord() private int onesCounter; /// Significant bit count private UInt32 bitMask; private byte[] LUT; - private int dword_5360E4; /// 0x100 + private int DecodeTableIndex; /// 0x100 private int savedIndex = 0; private byte savedByte = 0; @@ -128,7 +128,7 @@ private void PrepareBuffer() onesCounter = 9; bitMask = 0x1FF; - dword_5360E4 = 0x100; + DecodeTableIndex = 0x100; /// Fill FF FF 00 pattern @@ -273,9 +273,9 @@ private byte NextRun () int oldIndex = (int)(b & bitMask); int newIndex = oldIndex; - if (oldIndex >= dword_5360E4) + if (oldIndex >= DecodeTableIndex) { - newIndex = dword_5360E4; + newIndex = DecodeTableIndex; oldIndex = savedIndex; PushValue(savedByte); } @@ -298,11 +298,11 @@ private byte NextRun () savedByte = GetLutValue(oldIndex); PushValue(savedByte); - SetLutValue(dword_5360E4, savedByte); - SetLutIndex(dword_5360E4, savedIndex); + SetLutValue(DecodeTableIndex, savedByte); + SetLutIndex(DecodeTableIndex, savedIndex); - dword_5360E4++; - if (dword_5360E4 > bitMask) + DecodeTableIndex++; + if (DecodeTableIndex > bitMask) { onesCounter++; bitMask = (bitMask << 1) | 1; diff --git a/ShandalarImageToolbox/FormMain.resx b/ShandalarImageToolbox/FormMain.resx deleted file mode 100644 index cb0e754..0000000 --- a/ShandalarImageToolbox/FormMain.resx +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - 439, 17 - - - 575, 17 - - - 89 - - - - - AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAA - AAD///8AQkJCADExMQBKSlIAQkJKADk5QgAxMTkAKSkxAEpKWgAhISkAOTlKABgYIQAQEBgAGBgpACEh - OQAICBAAISFSABAQKQAhIVoAGBhCABAQMQAYGFIAEBA5ABAQQgAICCEAGBhrABAQSgAYGHMAEBBSABAQ - YwAICDEACAhCAAgISgAICFIACAhjAAAAcwAAAGMAAABaAAAAOQAAADEAAAApAAAAIQAAAAgAISmEACEp - awAhISEAGCFaAHN7lABrc4wAY2uEAAgQKQBze4wAa3OEAFJaawBKUmMAjJy9AISUtQAIECEAY2t7AJyt - zgCUpcYAQkpaADk5OQBaY3MAOUJSAIyctQCElK0Aa3uUAGNzjACcrcYAlKW9AHuMpQBzhJwAnLXWAJSt - zgAYGBgAUlpjAISUpQBre4wAY3OEADE5QgCEnLUASlprABAYIQBrc3sASlJaAEJKUgB7jJwAc4SUAJy1 - zgCUrcYAjKW9AFprewApMTkAe5StAFJjcwBzjKUAISkxAFpjawA5QkoAGCEpAIScrQB7lKUAjKW1AHOM - nABrhJQAa3uEAEpaYwBjc3sAQlJaAHuMlABaa3MAUmNrADlKUgAxQkoAa3NzAGNrawBSWloASlJSAEJK - SgB7jIwAc4SEAGt7ewA5QkIAY3NzADE5OQBaa2sAKTExAFJjYwAhKSkAGCEhABAYGAAIEBAAAAgIAFpr - YwAQEBAAa3tzAGNzawBKWlIAQlJKACkpKQBSWlIAWmNaAEpSSgBCSkIAOUI5ADE5MQApMSkAUmNSAEJS - QgAhKSEAOUo5AEJSOQAICAgASlJCADE5KQApMSEAEBgIAAgQAABCSjkAGCEIABAYAAApMRgAISkQAEpS - MQBCQjkAOTkxADExKQAhIRgAOTkpADExIQAYGBAAKSkYABAQCAAhIRAAKSkQABgYCAAhIQgAKSkIABgY - AAAQEAAACAgAAAgAQgAQCFIACABrAAgA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAB1Aa89bodWA7cErj0qAFmBJIgAAO8FMAAAAAQAKIj3GdcFehrXBRgAAAAAADAA - MAAwAAEIAADvSigAAAAwAAAAMAAAAAEACAAAAGBAYwD4IAAAsodQfxcBU3/4ICl5Uriq9ar17wX0h6wR - nwSyDfYFurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6 - urq6urq6urq6urigobq6urq6urq6urq6uqG6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urF2 - sLq6urNTurq6urq6upSqurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6HJEEq7q6qZq6urq6urq6 - LHp7urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6tGN3sLoNjZS6uiaklbq6r0Omurq6urq6urq6 - urq6urq6urq6urq6urq6urq6urq6mQV3SydjNY66uiF8ZT8ofU6Surq6urq6urq6urq6urq6urq6urq6 - urq6urq6urq6tHt3S0tVP5S6uhmIQjq6Y0OSurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6tHsE - gVVwPz+buit5R2yEVk5/urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6tHt3Azo6P282gVVYWC81 - XDCcurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6mQUEVWJPb2I/WEdOTmhCaE+curq6urq6urq6 - urq6urq6urq6urq6urq6urq6urq6tAV7BFU/OnA/WFgwTlhDMEyMuLq6urq6urq6urq6urq6urq6urq6 - urq6urq6urocAnt7VUxVTD9iTkNYV0hDb1YFoCK6urq6urq6urq6urq6urq6urq6uronHxoVEhKnewUE - cD99g1Y1bE5OOmhIXFVWBIwSEhIVFx+6urq6urq6urq6urq6F12nAqY+kaVjewRVVVYFug9MQjCDgTBO - T281a1WPj3aLkJEOILq6urq6urq6uroTpnt7e3t7BHdWVlVVVlZ3g7qDX3+6UE86XD9vP3A1azZVNlUD - myG6urq6urq6uhObewUFewUFewRWVnt7BFZVB7q6urq6a05cNVVVTDZ2VlZWVVVtA6K6urq6urq6uq8E - BXs+An19fQU+fQRWVgNVBbq6urqZT05cbzVWBX0GAn0FY3cIVpAVurq6urq6Fj57BX1WTD9PM04/cDE0 - T281Y7WZg7oLQ1hOME40b09qTjQ6TFVWVVWcHrq6urpTp3s+BVVMYjZWTE9NZVdYMzQ/d5kMVgxdVy9O - WGhnO0JPXDVxbVxcNVVWqB66urqqBH1WcIEPD7q6ug+BP1dNWE58VoeDTEtQR2lIQkVCNoOZmbq6mQtM - OjVrBLC6uocFez4DCbq6urq6urq6ugw9TlhsTIcMcAtxR01bWU8Murq6urq6urqFCUxVBJO6ulORBWOB - urq6urq6urq6urq6UDpPYi2DYl1cUUZbNYW6urq6urq6urq6mWM2cJu6urqqewR/Krq6urq6urq6urq6 - jARVNWMFak9YQkhcBrq6urq6urq6urq6umNcYhW6urqgewR9urq6urq6urq6urqCBZEFBGJDZkZmOlVj - BUu6urq6urq6urq6mW1Ojbq6urqxewQFmbq6urq6urq6mYI+AVA+fTZNPDxPVgUFez6Cmbq6urq6urq6 - hD9OgB26urqoAXsEgbq6urq6hYctAgV7UAQIVmN8ZjR7PndVVVVWBoe6urq6urq6XVhEb6G6urqie3tj - dwu6upkLAgUEVndjAzVvXGI1OlZ9YzVvb1xOTjUHhLq6urqZbEhPOku6urqvBAUEBAMDVTZMVVVwP3Bi - XE80TlhYTk9PNE4vTi9HQWdXTzZ7Y2sxYENEXIK6urqoe3t7d1VPTjQ6XDo6OjpPTi9YV0dmTUJCR1dH - ZmZNUVs8WlpaWlpRR0NOjrq6urqjAXsEBFY1fHBibzpsNE4zbldmQmVCQUJBQWVBQVFBQUFnN0E3UUJH - SGlOlLq6urqzY3tjd1Z1NUw1Pzo0TlhIR0JlZUFBQWdnW1tGW0ZbW0FRUWVCQl5XSFhDlbq6uroupnsE - BFZVVUxMcD86TlhXTUJBQUFBQTdGW0ZGRjxGW0FRQUJeQkdoSGlOqrq6urq6snd7d3dVVUxMYm9sTlhH - TUJBQWdGZ1tGRkZaWlpaRltBUVFCXkdoSFiGurq6urq6uqkEBHdVVVU1YjpPL1dNQmVnQUFnW0ZGWkVa - WkVaWjxbQUJCZkdoSFiYurq6urq6upx3YwRWVUxMPzpOL1dNZUFBZ1tGRkY8RlpaO0VZWjxbUTheR0dI - SIm6urq6urq6ui6pd3cIVUxiP2xObldCQUFGW0ZGRlpaWkVFWVk7RVpbN2VCZkdIV226urq6urq6urqM - kFZVTDViXDRYZkJlQUFbRjxaWkVaO0VaRllJWlpbQVFeR0dmiSy6urq6urq6uroUmwhVTDVvNE8xOm8/ - SFFBQUZGWkVFRVlZQUdaSVtbUVFCZmZYm7q6urq6urq6urq6nZBVTD80VQuCYzZcTUFRQUFGRlpaWlo7 - SldfL1pGUUJeXld3urq6urq6urq6urq6uqF3YmJQhIw1Q1dCQmVlZUFRQVtGW0ZbRlsvbUAxUVFlR4u6 - urq6urq6urq6urq6urqddn26XWlYbkhXV0dmQkJCZVFRQVFRUVFbQm2ZXU5Yl7q6urq6urq6urq6urq6 - urq6uoOFijNOTlhYaFdXR2ZNQkJeZUJlQmVCZ1GLumRLurq6urq6urq6urq6urq6urq6urq6uqSIiFhY - WG5XV0dHZkJNTWVNTWVleHmpuLq6urq6urq6urq6urq6urq6urq6urq6urq6uqSJiHmIeW5mZk14eHl5 - eY6Yurq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6uqKpmKm6urq6urq6urq6urq6urq6 - urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6 - urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6 - urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6////////urr//x/+//+6uv//HP5//7q6//4Z/H// - urr//hGMf/+6uv/+AYB//7q6//4BgH//urr//gCAf/+6uv/+AAB//7q6//4AAH//uqH//gAAP/+6uv/8 - AAAf/7q6/wAAAAB/urr8AAAAAB+6uvgAAAAAD7NT8AAAAAAPupTwAAAAAAe6uuAAAAAAA7q6wAAAAAAB - urrAAAAAAAG6HIAAAAAAAZq6gAAAAAABLHrAAAAAAAG6usAAAAAAA7q6wAAAAAABurrAAAAAAAG6tMAA - AAAAAZS6wAAAAAABr0PAAAAAAAO6usAAAAAAA7q6wAAAAAADurrAAAAAAAO6meAAAAAAB4668AAAAAAH - fU7wAAAAAA+6uvAAAAAAD7q6+AAAAAAPurr4AAAAAB+6tPwAAAAAP5S6/gAAAAB/Y0P/AAAAAP+6uv/A - AAAB/7q6//gAAAf/urr//wAAf/+6tP///D///z+b////////Vk7///////+6uv///////7q6 - - - \ No newline at end of file diff --git a/ShandalarImageToolbox/GUI/AboutForm.Designer.cs b/ShandalarImageToolbox/GUI/AboutForm.Designer.cs new file mode 100644 index 0000000..c384bc1 --- /dev/null +++ b/ShandalarImageToolbox/GUI/AboutForm.Designer.cs @@ -0,0 +1,125 @@ +namespace ShandalarImageToolbox.GUI +{ + partial class AboutForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.mainTextbox = new System.Windows.Forms.Label(); + this.okButton = new System.Windows.Forms.Button(); + this.titleLabel = new System.Windows.Forms.Label(); + this.versionLabel = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // mainTextbox + // + this.mainTextbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.mainTextbox.Location = new System.Drawing.Point(7, 48); + this.mainTextbox.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0); + this.mainTextbox.MaximumSize = new System.Drawing.Size(500, 400); + this.mainTextbox.Name = "mainTextbox"; + this.mainTextbox.Size = new System.Drawing.Size(279, 234); + this.mainTextbox.TabIndex = 19; + this.mainTextbox.Text = "by CelestialAmber\r\n\r\nCredits:\r\nogamespec - Original project, and code for .pic/.c" + + "at files"; + // + // okButton + // + this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.okButton.Location = new System.Drawing.Point(364, 258); + this.okButton.Name = "okButton"; + this.okButton.Size = new System.Drawing.Size(70, 24); + this.okButton.TabIndex = 24; + this.okButton.Text = "&OK"; + // + // titleLabel + // + this.titleLabel.AutoSize = true; + this.titleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F); + this.titleLabel.Location = new System.Drawing.Point(5, 9); + this.titleLabel.Name = "titleLabel"; + this.titleLabel.Size = new System.Drawing.Size(52, 26); + this.titleLabel.TabIndex = 26; + this.titleLabel.Text = "Title"; + // + // versionLabel + // + this.versionLabel.AutoSize = true; + this.versionLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.versionLabel.Location = new System.Drawing.Point(7, 35); + this.versionLabel.Name = "versionLabel"; + this.versionLabel.Size = new System.Drawing.Size(42, 13); + this.versionLabel.TabIndex = 25; + this.versionLabel.Text = "Version"; + // + // pictureBox1 + // + this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.pictureBox1.Image = global::ShandalarImageToolbox.Properties.Resources.logo; + this.pictureBox1.Location = new System.Drawing.Point(292, 9); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(142, 142); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 27; + this.pictureBox1.TabStop = false; + // + // AboutForm + // + this.AcceptButton = this.okButton; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(435, 283); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.titleLabel); + this.Controls.Add(this.versionLabel); + this.Controls.Add(this.mainTextbox); + this.Controls.Add(this.okButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "AboutForm"; + this.Padding = new System.Windows.Forms.Padding(9); + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "About ShandalarImageToolbox"; + this.Load += new System.EventHandler(this.AboutWindowForm_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Label mainTextbox; + private System.Windows.Forms.Button okButton; + private System.Windows.Forms.Label titleLabel; + private System.Windows.Forms.Label versionLabel; + private System.Windows.Forms.PictureBox pictureBox1; + } +} diff --git a/ShandalarImageToolbox/GUI/AboutForm.cs b/ShandalarImageToolbox/GUI/AboutForm.cs new file mode 100644 index 0000000..76e8d5f --- /dev/null +++ b/ShandalarImageToolbox/GUI/AboutForm.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Reflection; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShandalarImageToolbox.GUI +{ + partial class AboutForm : Form + { + public AboutForm() + { + InitializeComponent(); + this.Text = string.Format("About {0}", AssemblyTitle); + this.titleLabel.Text = string.Format("{0}", AssemblyTitle); + this.versionLabel.Text = string.Format("Version {0}", AssemblyVersion); + } + + #region Assembly Attribute Accessors + + public string AssemblyTitle + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); + if (attributes.Length > 0) + { + AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; + if (titleAttribute.Title != "") + { + return titleAttribute.Title; + } + } + return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); + } + } + + public string AssemblyVersion + { + get + { + return Assembly.GetExecutingAssembly().GetName().Version.ToString(); + } + } + + public string AssemblyDescription + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyDescriptionAttribute)attributes[0]).Description; + } + } + + public string AssemblyProduct + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyProductAttribute)attributes[0]).Product; + } + } + + public string AssemblyCopyright + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + } + + public string AssemblyCompany + { + get + { + object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); + if (attributes.Length == 0) + { + return ""; + } + return ((AssemblyCompanyAttribute)attributes[0]).Company; + } + } + #endregion + + private void AboutWindowForm_Load(object sender, EventArgs e) + { + + } + + private void tableLayoutPanel_Paint(object sender, PaintEventArgs e) + { + + } + + private void okButton_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} diff --git a/ShandalarImageToolbox/FormPalette.resx b/ShandalarImageToolbox/GUI/AboutForm.resx similarity index 100% rename from ShandalarImageToolbox/FormPalette.resx rename to ShandalarImageToolbox/GUI/AboutForm.resx diff --git a/ShandalarImageToolbox/FormMain.Designer.cs b/ShandalarImageToolbox/GUI/FormMain.Designer.cs similarity index 98% rename from ShandalarImageToolbox/FormMain.Designer.cs rename to ShandalarImageToolbox/GUI/FormMain.Designer.cs index 6446a6e..cec5139 100644 --- a/ShandalarImageToolbox/FormMain.Designer.cs +++ b/ShandalarImageToolbox/GUI/FormMain.Designer.cs @@ -1,4 +1,4 @@ -namespace ShandalarImageToolbox +namespace ShandalarImageToolbox.GUI { partial class FormMain { @@ -59,9 +59,9 @@ private void InitializeComponent() this.previewPanel = new System.Windows.Forms.Panel(); this.imagePanel = new System.Windows.Forms.Panel(); this.label2 = new System.Windows.Forms.Label(); - this.textBox1 = new System.Windows.Forms.TextBox(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.textBox1 = new System.Windows.Forms.TextBox(); this.hexEditor1 = new ShandalarImageToolbox.HexEditor(); this.menuStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -206,6 +206,7 @@ private void InitializeComponent() this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22); this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // // saveFileDialog1 // @@ -293,7 +294,7 @@ private void InitializeComponent() this.topPreviewUiPanel.Location = new System.Drawing.Point(0, 0); this.topPreviewUiPanel.Margin = new System.Windows.Forms.Padding(0); this.topPreviewUiPanel.Name = "topPreviewUiPanel"; - this.topPreviewUiPanel.Size = new System.Drawing.Size(1180, 29); + this.topPreviewUiPanel.Size = new System.Drawing.Size(1184, 29); this.topPreviewUiPanel.TabIndex = 3; // // useLastEmbeddedPaletteCheckbox @@ -355,7 +356,7 @@ private void InitializeComponent() this.previewPanel.Location = new System.Drawing.Point(0, 28); this.previewPanel.Margin = new System.Windows.Forms.Padding(2); this.previewPanel.Name = "previewPanel"; - this.previewPanel.Size = new System.Drawing.Size(754, 588); + this.previewPanel.Size = new System.Drawing.Size(758, 588); this.previewPanel.TabIndex = 5; // // imagePanel @@ -368,7 +369,7 @@ private void InitializeComponent() this.imagePanel.Location = new System.Drawing.Point(0, 0); this.imagePanel.Margin = new System.Windows.Forms.Padding(0); this.imagePanel.Name = "imagePanel"; - this.imagePanel.Size = new System.Drawing.Size(754, 566); + this.imagePanel.Size = new System.Drawing.Size(758, 566); this.imagePanel.TabIndex = 4; // // label2 @@ -382,25 +383,13 @@ private void InitializeComponent() this.label2.Size = new System.Drawing.Size(0, 13); this.label2.TabIndex = 5; // - // textBox1 - // - this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.textBox1.Location = new System.Drawing.Point(0, 0); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.ReadOnly = true; - this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBox1.Size = new System.Drawing.Size(754, 588); - this.textBox1.TabIndex = 6; - this.textBox1.Visible = false; - // // statusStrip1 // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1}); this.statusStrip1.Location = new System.Drawing.Point(0, 566); this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(754, 22); + this.statusStrip1.Size = new System.Drawing.Size(758, 22); this.statusStrip1.TabIndex = 6; this.statusStrip1.Text = "statusStrip1"; // @@ -409,12 +398,24 @@ private void InitializeComponent() this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; this.toolStripStatusLabel1.Size = new System.Drawing.Size(0, 17); // + // textBox1 + // + this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox1.Location = new System.Drawing.Point(0, 0); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.textBox1.Size = new System.Drawing.Size(758, 588); + this.textBox1.TabIndex = 6; + this.textBox1.Visible = false; + // // hexEditor1 // this.hexEditor1.Dock = System.Windows.Forms.DockStyle.Fill; this.hexEditor1.Location = new System.Drawing.Point(0, 0); this.hexEditor1.Name = "hexEditor1"; - this.hexEditor1.Size = new System.Drawing.Size(754, 588); + this.hexEditor1.Size = new System.Drawing.Size(758, 588); this.hexEditor1.TabIndex = 0; // // FormMain diff --git a/ShandalarImageToolbox/FormMain.cs b/ShandalarImageToolbox/GUI/FormMain.cs similarity index 95% rename from ShandalarImageToolbox/FormMain.cs rename to ShandalarImageToolbox/GUI/FormMain.cs index 055343a..00e7be3 100644 --- a/ShandalarImageToolbox/FormMain.cs +++ b/ShandalarImageToolbox/GUI/FormMain.cs @@ -13,7 +13,7 @@ using System.IO; using System.Runtime.InteropServices; -namespace ShandalarImageToolbox +namespace ShandalarImageToolbox.GUI { public partial class FormMain : Form @@ -22,30 +22,22 @@ public partial class FormMain : Form static extern bool AllocConsole(); private List palettes = new List(); - public Color[] lastEmbeddedPalette; - - - + public Color[] lastEmbeddedPalette; public List loadedImages = new List(); public int loadedImageIndex; public string windowTitle; public int selectedPaletteIndex; public bool useLastEmbeddedPalette; public static string downloadsPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "/Downloads/"; + public FormMain() { - - InitializeComponent(); - windowTitle = Text; - - #if DEBUG AllocConsole(); #endif SetupGrayPalette(); - paletteComboBox.Enabled = true; paletteComboBox.SelectedIndex = 0; paletteComboBox.Text = paletteComboBox.SelectedItem.ToString(); @@ -66,13 +58,12 @@ public void AddPalette(string name) { palettes.Add(new Color[256]); paletteComboBox.Items.Add(name); - } + public void AddPalette(Color[] palette, string name) { palettes.Add(palette); paletteComboBox.Items.Add(name); - } private void exitToolStripMenuItem_Click(object sender, EventArgs e) @@ -114,6 +105,18 @@ private void UpdateStatusBarText(string text) } + public static string[] duelTransparentPicFiles = + { + "Dying.pic", + "Poison.pic", + "Manastripes.pic", + "Summon.pic", + "Target.pic", + "Willuntap.pic", + "Canttarget.pic" + + }; + /// /// Load and decode .PIC image /// @@ -149,28 +152,25 @@ private void loadPicToolStripMenuItem_Click(object sender, EventArgs e) } } - public ShandalarAsset GetPic ( byte [] data, string name) + public ShandalarAsset GetPic(byte [] data, string name) { Color[] originalPalette = palettes[selectedPaletteIndex]; - - - PicDecoder decoder = new PicDecoder(data); if(decoder.hasPalette) palettes[selectedPaletteIndex] = decoder.embeddedPalette; /// Output image as picture box - - Bitmap bitmap = new Bitmap(decoder.width, decoder.height); + byte[,] imageData = new byte[decoder.width,decoder.height]; - byte[,] imageData = new byte[decoder.width,decoder.height]; decoder.DecodeImage(imageData); + if (decoder.hasPalette) { useLastEmbeddedPaletteCheckbox.Enabled = true; lastEmbeddedPalette = decoder.embeddedPalette; } + for (int y = 0; y < decoder.height; y++) { for (int x = 0; x < decoder.width; x++) @@ -189,7 +189,9 @@ public ShandalarAsset GetPic ( byte [] data, string name) } ShandalarAsset asset = new ShandalarAsset(name, data, ImageType.Pic); asset.image = bitmap; - if (asset.filePath.Contains("Rogue") || asset.filePath.Contains("Faces") || asset.filePath.Contains("Playface")) //Combine the embedded alpha channel with the main image for the face sprites + asset.filename = Path.GetFileNameWithoutExtension(asset.filePath); + Console.WriteLine(asset.filename); + if (asset.filePath.Contains("Rogue") || asset.filePath.Contains("Faces") || duelTransparentPicFiles.Contains(asset.filename + ".pic")) //Combine the embedded alpha channel with the main image for the face sprites { Bitmap transparentSprite = new Bitmap(asset.image.Width / 2, asset.image.Height); for(int x = 0; x < asset.image.Width/2; x++) @@ -207,7 +209,6 @@ public ShandalarAsset GetPic ( byte [] data, string name) } palettes[selectedPaletteIndex] = originalPalette; asset.hasEmbeddedPalette = decoder.hasPalette; - asset.filename = Path.GetFileNameWithoutExtension(asset.filePath); ClearImagePanel(); return asset; @@ -250,11 +251,7 @@ private void LoadSprToolStripMenuItem_Click(object sender, EventArgs e) UpdateStatusBarText("Finished loading images from spr file."); exportToolStripMenuItem.Enabled = true; exportAllToolStripMenuItem.Enabled = true; - - - } - } private void LoadCATFileToolStripMenuItem_Click(object sender, EventArgs e) @@ -286,6 +283,7 @@ private void LoadCATFileToolStripMenuItem_Click(object sender, EventArgs e) exportToolStripMenuItem.Enabled = true; exportAllToolStripMenuItem.Enabled = true; } + public void ShowImage(Bitmap imageTexture) { ShandalarAsset image = loadedImages[loadedImageIndex]; @@ -306,6 +304,7 @@ public void ShowImage(Bitmap imageTexture) else imagePanel.BackgroundImageLayout = ImageLayout.Center; } + public void ClearImagePanel() { imagePanel.BackgroundImage = null; @@ -517,6 +516,12 @@ private void UseLastEmbeddedPaletteCheckbox_CheckedChanged(object sender, EventA } } + + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + AboutForm about = new AboutForm(); + about.ShowDialog(); + } } } diff --git a/ShandalarImageToolbox/GUI/FormMain.resx b/ShandalarImageToolbox/GUI/FormMain.resx new file mode 100644 index 0000000..8584197 --- /dev/null +++ b/ShandalarImageToolbox/GUI/FormMain.resx @@ -0,0 +1,755 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 439, 17 + + + 575, 17 + + + 89 + + + + + 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 + SUVORK5CYII= + + + \ No newline at end of file diff --git a/ShandalarImageToolbox/FormPalette.Designer.cs b/ShandalarImageToolbox/GUI/FormPalette.Designer.cs similarity index 89% rename from ShandalarImageToolbox/FormPalette.Designer.cs rename to ShandalarImageToolbox/GUI/FormPalette.Designer.cs index e3e90f9..fe59836 100644 --- a/ShandalarImageToolbox/FormPalette.Designer.cs +++ b/ShandalarImageToolbox/GUI/FormPalette.Designer.cs @@ -1,4 +1,4 @@ -namespace ShandalarImageToolbox +namespace ShandalarImageToolbox.GUI { partial class FormPalette { @@ -28,6 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormPalette)); this.pictureBox1 = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); @@ -48,6 +49,7 @@ private void InitializeComponent() this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(404, 269); this.Controls.Add(this.pictureBox1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FormPalette"; this.Text = "Palette View"; ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); diff --git a/ShandalarImageToolbox/FormPalette.cs b/ShandalarImageToolbox/GUI/FormPalette.cs similarity index 97% rename from ShandalarImageToolbox/FormPalette.cs rename to ShandalarImageToolbox/GUI/FormPalette.cs index c4a0b74..ef62afe 100644 --- a/ShandalarImageToolbox/FormPalette.cs +++ b/ShandalarImageToolbox/GUI/FormPalette.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using System.Windows.Forms; -namespace ShandalarImageToolbox +namespace ShandalarImageToolbox.GUI { public partial class FormPalette : Form { diff --git a/ShandalarImageToolbox/GUI/FormPalette.resx b/ShandalarImageToolbox/GUI/FormPalette.resx new file mode 100644 index 0000000..58a6413 --- /dev/null +++ b/ShandalarImageToolbox/GUI/FormPalette.resx @@ -0,0 +1,743 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + SUVORK5CYII= + + + \ No newline at end of file diff --git a/ShandalarImageToolbox/Program.cs b/ShandalarImageToolbox/Program.cs index 7dd9b56..1961843 100644 --- a/ShandalarImageToolbox/Program.cs +++ b/ShandalarImageToolbox/Program.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; +using ShandalarImageToolbox.GUI; namespace ShandalarImageToolbox { diff --git a/ShandalarImageToolbox/Properties/AssemblyInfo.cs b/ShandalarImageToolbox/Properties/AssemblyInfo.cs index f882adc..936d0c2 100644 --- a/ShandalarImageToolbox/Properties/AssemblyInfo.cs +++ b/ShandalarImageToolbox/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ShandalarImageToolbox")] -[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.12.0.0")] +[assembly: AssemblyFileVersion("1.12.0.0")] diff --git a/ShandalarImageToolbox/Properties/Resources.Designer.cs b/ShandalarImageToolbox/Properties/Resources.Designer.cs index 1ec96a5..f0fe765 100644 --- a/ShandalarImageToolbox/Properties/Resources.Designer.cs +++ b/ShandalarImageToolbox/Properties/Resources.Designer.cs @@ -59,5 +59,15 @@ internal class Resources { resourceCulture = value; } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap logo { + get { + object obj = ResourceManager.GetObject("logo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/ShandalarImageToolbox/Properties/Resources.resx b/ShandalarImageToolbox/Properties/Resources.resx index af7dbeb..45dc3be 100644 --- a/ShandalarImageToolbox/Properties/Resources.resx +++ b/ShandalarImageToolbox/Properties/Resources.resx @@ -46,7 +46,7 @@ mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with - : System.Serialization.Formatters.Binary.BinaryFormatter + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 @@ -60,6 +60,7 @@ : and then encoded with base64 encoding. --> + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -109,9 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/ShandalarImageToolbox/Resources/logo.png b/ShandalarImageToolbox/Resources/logo.png new file mode 100644 index 0000000..85e1998 Binary files /dev/null and b/ShandalarImageToolbox/Resources/logo.png differ diff --git a/ShandalarImageToolbox/ShandalarImageToolbox.csproj b/ShandalarImageToolbox/ShandalarImageToolbox.csproj index c09775c..61a8843 100644 --- a/ShandalarImageToolbox/ShandalarImageToolbox.csproj +++ b/ShandalarImageToolbox/ShandalarImageToolbox.csproj @@ -48,7 +48,7 @@ 4 - icon.ico + newicon.ico @@ -83,21 +83,27 @@ - + + + Form + + + AboutForm.cs + - + Form - + FormMain.cs - + Form - + FormPalette.cs @@ -109,10 +115,13 @@ HexEditorNew.cs - + + AboutForm.cs + + FormMain.cs - + FormPalette.cs @@ -140,6 +149,8 @@ + + @@ -148,5 +159,8 @@ false + + + \ No newline at end of file diff --git a/ShandalarImageToolbox/GeneralUtilityFunctions.cs b/ShandalarImageToolbox/Utility/GeneralUtilityFunctions.cs similarity index 100% rename from ShandalarImageToolbox/GeneralUtilityFunctions.cs rename to ShandalarImageToolbox/Utility/GeneralUtilityFunctions.cs diff --git a/ShandalarImageToolbox/newicon.ico b/ShandalarImageToolbox/newicon.ico new file mode 100644 index 0000000..f0ddaac Binary files /dev/null and b/ShandalarImageToolbox/newicon.ico differ