Merge branch 'master' into wii-network

This commit is contained in:
Matthew Parlane
2013-01-13 15:13:56 +13:00
31 changed files with 1776 additions and 1641 deletions

View File

@ -100,39 +100,52 @@ void WaveFileWriter::Write4(const char *ptr)
file.WriteBytes(ptr, 4); file.WriteBytes(ptr, 4);
} }
void WaveFileWriter::AddStereoSamples(const short *sample_data, int count) void WaveFileWriter::AddStereoSamples(const short *sample_data, u32 count)
{ {
if (!file) if (!file)
PanicAlertT("WaveFileWriter - file not open."); PanicAlertT("WaveFileWriter - file not open.");
if (skip_silence) {
if (skip_silence)
{
bool all_zero = true; bool all_zero = true;
for (int i = 0; i < count * 2; i++)
if (sample_data[i]) all_zero = false; for (u32 i = 0; i < count * 2; i++)
if (all_zero) return; {
if (sample_data[i])
all_zero = false;
} }
if (all_zero)
return;
}
file.WriteBytes(sample_data, count * 4); file.WriteBytes(sample_data, count * 4);
audio_size += count * 4; audio_size += count * 4;
} }
void WaveFileWriter::AddStereoSamplesBE(const short *sample_data, int count) void WaveFileWriter::AddStereoSamplesBE(const short *sample_data, u32 count)
{ {
if (!file) if (!file)
PanicAlertT("WaveFileWriter - file not open."); PanicAlertT("WaveFileWriter - file not open.");
if (count > BUF_SIZE * 2) if (count > BUF_SIZE * 2)
PanicAlert("WaveFileWriter - buffer too small (count = %i).", count); PanicAlert("WaveFileWriter - buffer too small (count = %u).", count);
if (skip_silence) if (skip_silence)
{ {
bool all_zero = true; bool all_zero = true;
for (int i = 0; i < count * 2; i++)
for (u32 i = 0; i < count * 2; i++)
{
if (sample_data[i]) if (sample_data[i])
all_zero = false; all_zero = false;
}
if (all_zero) if (all_zero)
return; return;
} }
for (int i = 0; i < count * 2; i++) for (u32 i = 0; i < count * 2; i++)
conv_buffer[i] = Common::swap16((u16)sample_data[i]); conv_buffer[i] = Common::swap16((u16)sample_data[i]);
file.WriteBytes(conv_buffer, count * 4); file.WriteBytes(conv_buffer, count * 4);

View File

@ -50,8 +50,8 @@ public:
void SetSkipSilence(bool skip) { skip_silence = skip; } void SetSkipSilence(bool skip) { skip_silence = skip; }
void AddStereoSamples(const short *sample_data, int count); void AddStereoSamples(const short *sample_data, u32 count);
void AddStereoSamplesBE(const short *sample_data, int count); // big endian void AddStereoSamplesBE(const short *sample_data, u32 count); // big endian
u32 GetAudioSize() { return audio_size; } u32 GetAudioSize() { return audio_size; }
}; };

View File

@ -40,7 +40,7 @@
#include <unistd.h> // for unlink() #include <unistd.h> // for unlink()
#endif #endif
/* believe me, you *don't* want to change these constants !! */ /* Believe me, you *don't* want to change these constants !! */
#define BYTES_PER_SECTOR 512 #define BYTES_PER_SECTOR 512
#define RESERVED_SECTORS 32 #define RESERVED_SECTORS 32
#define BACKUP_BOOT_SECTOR 6 #define BACKUP_BOOT_SECTOR 6
@ -52,15 +52,15 @@
#define POKES(p,v) ( BYTE_(p,0) = (u8)(v), BYTE_(p,1) = (u8)((v) >> 8) ) #define POKES(p,v) ( BYTE_(p,0) = (u8)(v), BYTE_(p,1) = (u8)((v) >> 8) )
#define POKEW(p,v) ( BYTE_(p,0) = (u8)(v), BYTE_(p,1) = (u8)((v) >> 8), BYTE_(p,2) = (u8)((v) >> 16), BYTE_(p,3) = (u8)((v) >> 24) ) #define POKEW(p,v) ( BYTE_(p,0) = (u8)(v), BYTE_(p,1) = (u8)((v) >> 8), BYTE_(p,2) = (u8)((v) >> 16), BYTE_(p,3) = (u8)((v) >> 24) )
static u8 s_boot_sector [ BYTES_PER_SECTOR ]; /* boot sector */ static u8 s_boot_sector [ BYTES_PER_SECTOR ]; /* Boot sector */
static u8 s_fsinfo_sector [ BYTES_PER_SECTOR ]; /* FS Info sector */ static u8 s_fsinfo_sector [ BYTES_PER_SECTOR ]; /* FS Info sector */
static u8 s_fat_head [ BYTES_PER_SECTOR ]; /* first FAT sector */ static u8 s_fat_head [ BYTES_PER_SECTOR ]; /* First FAT sector */
/* this is the date and time when creating the disk */ /* This is the date and time when creating the disk */
static int get_serial_id() static unsigned int get_serial_id()
{ {
u16 lo, hi; u16 lo, hi;
time_t now = time(NULL); time_t now = time(nullptr);
struct tm tm = gmtime( &now )[0]; struct tm tm = gmtime( &now )[0];
lo = (u16)(tm.tm_mday + ((tm.tm_mon+1) << 8) + (tm.tm_sec << 8)); lo = (u16)(tm.tm_mday + ((tm.tm_mon+1) << 8) + (tm.tm_sec << 8));
@ -69,7 +69,7 @@ static int get_serial_id()
return lo + (hi << 16); return lo + (hi << 16);
} }
static int get_sectors_per_cluster(u64 disk_size) static unsigned int get_sectors_per_cluster(u64 disk_size)
{ {
u64 disk_MB = disk_size/(1024*1024); u64 disk_MB = disk_size/(1024*1024);
@ -88,60 +88,60 @@ static int get_sectors_per_cluster(u64 disk_size)
return 32; return 32;
} }
static int get_sectors_per_fat(u64 disk_size, int sectors_per_cluster) static unsigned int get_sectors_per_fat(u64 disk_size, u32 sectors_per_cluster)
{ {
u64 divider; u64 divider;
/* weird computation from MS - see fatgen103.doc for details */ /* Weird computation from MS - see fatgen103.doc for details */
disk_size -= RESERVED_SECTORS * BYTES_PER_SECTOR; /* don't count 32 reserved sectors */ disk_size -= RESERVED_SECTORS * BYTES_PER_SECTOR; /* Don't count 32 reserved sectors */
disk_size /= BYTES_PER_SECTOR; /* disk size in sectors */ disk_size /= BYTES_PER_SECTOR; /* Disk size in sectors */
divider = ((256 * sectors_per_cluster) + NUM_FATS) / 2; divider = ((256 * sectors_per_cluster) + NUM_FATS) / 2;
return (int)( (disk_size + (divider-1)) / divider ); return (u32)( (disk_size + (divider-1)) / divider );
} }
static void boot_sector_init(u8* boot, u8* info, u64 disk_size, const char* label) static void boot_sector_init(u8* boot, u8* info, u64 disk_size, const char* label)
{ {
int sectors_per_cluster = get_sectors_per_cluster(disk_size); u32 sectors_per_cluster = get_sectors_per_cluster(disk_size);
int sectors_per_fat = get_sectors_per_fat(disk_size, sectors_per_cluster); u32 sectors_per_fat = get_sectors_per_fat(disk_size, sectors_per_cluster);
int sectors_per_disk = (int)(disk_size / BYTES_PER_SECTOR); u32 sectors_per_disk = (u32)(disk_size / BYTES_PER_SECTOR);
int serial_id = get_serial_id(); u32 serial_id = get_serial_id();
int free_count; u32 free_count;
if (label == NULL) if (label == nullptr)
label = "DOLPHINSD"; label = "DOLPHINSD";
POKEB(boot, 0xeb); POKEB(boot, 0xeb);
POKEB(boot+1, 0x5a); POKEB(boot+1, 0x5a);
POKEB(boot+2, 0x90); POKEB(boot+2, 0x90);
strcpy( (char*)boot + 3, "MSWIN4.1" ); strcpy( (char*)boot + 3, "MSWIN4.1" );
POKES( boot + 0x0b, BYTES_PER_SECTOR ); /* sector size */ POKES( boot + 0x0b, BYTES_PER_SECTOR ); /* Sector size */
POKEB( boot + 0xd, sectors_per_cluster ); /* sectors per cluster */ POKEB( boot + 0xd, sectors_per_cluster ); /* Sectors per cluster */
POKES( boot + 0xe, RESERVED_SECTORS ); /* reserved sectors before first FAT */ POKES( boot + 0xe, RESERVED_SECTORS ); /* Reserved sectors before first FAT */
POKEB( boot + 0x10, NUM_FATS ); /* number of FATs */ POKEB( boot + 0x10, NUM_FATS ); /* Number of FATs */
POKES( boot + 0x11, 0 ); /* max root directory entries for FAT12/FAT16, 0 for FAT32 */ POKES( boot + 0x11, 0 ); /* Max root directory entries for FAT12/FAT16, 0 for FAT32 */
POKES( boot + 0x13, 0 ); /* total sectors, 0 to use 32-bit value at offset 0x20 */ POKES( boot + 0x13, 0 ); /* Total sectors, 0 to use 32-bit value at offset 0x20 */
POKEB( boot + 0x15, 0xF8 ); /* media descriptor, 0xF8 == hard disk */ POKEB( boot + 0x15, 0xF8 ); /* Media descriptor, 0xF8 == hard disk */
POKES( boot + 0x16, 0 ); /* Sectors per FAT for FAT12/16, 0 for FAT32 */ POKES( boot + 0x16, 0 ); /* Sectors per FAT for FAT12/16, 0 for FAT32 */
POKES( boot + 0x18, 9 ); /* Sectors per track (whatever) */ POKES( boot + 0x18, 9 ); /* Sectors per track (whatever) */
POKES( boot + 0x1a, 2 ); /* Number of heads (whatever) */ POKES( boot + 0x1a, 2 ); /* Number of heads (whatever) */
POKEW( boot + 0x1c, 0 ); /* Hidden sectors */ POKEW( boot + 0x1c, 0 ); /* Hidden sectors */
POKEW( boot + 0x20, sectors_per_disk ); /* Total sectors */ POKEW( boot + 0x20, sectors_per_disk ); /* Total sectors */
/* extension */ /* Extension */
POKEW( boot + 0x24, sectors_per_fat ); /* Sectors per FAT */ POKEW( boot + 0x24, sectors_per_fat ); /* Sectors per FAT */
POKES( boot + 0x28, 0 ); /* FAT flags */ POKES( boot + 0x28, 0 ); /* FAT flags */
POKES( boot + 0x2a, 0 ); /* version */ POKES( boot + 0x2a, 0 ); /* Version */
POKEW( boot + 0x2c, 2 ); /* cluster number of root directory start */ POKEW( boot + 0x2c, 2 ); /* Cluster number of root directory start */
POKES( boot + 0x30, 1 ); /* sector number of FS information sector */ POKES( boot + 0x30, 1 ); /* Sector number of FS information sector */
POKES( boot + 0x32, BACKUP_BOOT_SECTOR ); /* sector number of a copy of this boot sector */ POKES( boot + 0x32, BACKUP_BOOT_SECTOR ); /* Sector number of a copy of this boot sector */
POKEB( boot + 0x40, 0x80 ); /* physical drive number */ POKEB( boot + 0x40, 0x80 ); /* Physical drive number */
POKEB( boot + 0x42, 0x29 ); /* extended boot signature ?? */ POKEB( boot + 0x42, 0x29 ); /* Extended boot signature ?? */
POKEW( boot + 0x43, serial_id ); /* serial ID */ POKEW( boot + 0x43, serial_id ); /* Serial ID */
strncpy( (char*)boot + 0x47, label, 11 ); /* Volume Label */ strncpy( (char*)boot + 0x47, label, 11 ); /* Volume Label */
memcpy( boot + 0x52, "FAT32 ", 8 ); /* FAT system type, padded with 0x20 */ memcpy( boot + 0x52, "FAT32 ", 8 ); /* FAT system type, padded with 0x20 */
POKEB( boot + BYTES_PER_SECTOR-2, 0x55 ); /* boot sector signature */ POKEB( boot + BYTES_PER_SECTOR-2, 0x55 ); /* Boot sector signature */
POKEB( boot + BYTES_PER_SECTOR-1, 0xAA ); POKEB( boot + BYTES_PER_SECTOR-1, 0xAA );
/* FSInfo sector */ /* FSInfo sector */
@ -149,25 +149,25 @@ static void boot_sector_init(u8* boot, u8* info, u64 disk_size, const char* labe
POKEW( info + 0, 0x41615252 ); POKEW( info + 0, 0x41615252 );
POKEW( info + 484, 0x61417272 ); POKEW( info + 484, 0x61417272 );
POKEW( info + 488, free_count ); /* number of free clusters */ POKEW( info + 488, free_count ); /* Number of free clusters */
POKEW( info + 492, 3 ); /* next free clusters, 0-1 reserved, 2 is used for the root dir */ POKEW( info + 492, 3 ); /* Next free clusters, 0-1 reserved, 2 is used for the root dir */
POKEW( info + 508, 0xAA550000 ); POKEW( info + 508, 0xAA550000 );
} }
static void fat_init(u8* fat) static void fat_init(u8* fat)
{ {
POKEW( fat, 0x0ffffff8 ); /* reserve cluster 1, media id in low byte */ POKEW( fat, 0x0ffffff8 ); /* Reserve cluster 1, media id in low byte */
POKEW( fat + 4, 0x0fffffff ); /* reserve cluster 2 */ POKEW( fat + 4, 0x0fffffff ); /* Reserve cluster 2 */
POKEW( fat + 8, 0x0fffffff ); /* end of clust chain for root dir */ POKEW( fat + 8, 0x0fffffff ); /* End of cluster chain for root dir */
} }
static int write_sector(FILE* file, u8* sector) static unsigned int write_sector(FILE* file, u8* sector)
{ {
return fwrite(sector, 1, 512, file) != 512; return fwrite(sector, 1, 512, file) != 512;
} }
static int write_empty(FILE* file, u64 count) static unsigned int write_empty(FILE* file, u64 count)
{ {
static u8 empty[64*1024]; static u8 empty[64*1024];
@ -188,8 +188,8 @@ static int write_empty(FILE* file, u64 count)
bool SDCardCreate(u64 disk_size /*in MB*/, const char* filename) bool SDCardCreate(u64 disk_size /*in MB*/, const char* filename)
{ {
int sectors_per_fat; u32 sectors_per_fat;
int sectors_per_disk; u32 sectors_per_disk;
FILE* f; FILE* f;
// Convert MB to bytes // Convert MB to bytes
@ -200,21 +200,21 @@ bool SDCardCreate(u64 disk_size /*in MB*/, const char* filename)
return false; return false;
} }
// pretty unlikely to overflow. // Pretty unlikely to overflow.
sectors_per_disk = (int)(disk_size / 512); sectors_per_disk = (u32)(disk_size / 512);
sectors_per_fat = get_sectors_per_fat(disk_size, get_sectors_per_cluster(disk_size)); sectors_per_fat = get_sectors_per_fat(disk_size, get_sectors_per_cluster(disk_size));
boot_sector_init(s_boot_sector, s_fsinfo_sector, disk_size, NULL ); boot_sector_init(s_boot_sector, s_fsinfo_sector, disk_size, nullptr);
fat_init(s_fat_head); fat_init(s_fat_head);
f = fopen(filename, "wb"); f = fopen(filename, "wb");
if (!f) if (!f)
{ {
ERROR_LOG(COMMON, "could not create file '%s', aborting...\n", filename); ERROR_LOG(COMMON, "Could not create file '%s', aborting...\n", filename);
return false; return false;
} }
/* here's the layout: /* Here's the layout:
* *
* boot_sector * boot_sector
* fsinfo_sector * fsinfo_sector
@ -251,7 +251,7 @@ bool SDCardCreate(u64 disk_size /*in MB*/, const char* filename)
return true; return true;
FailWrite: FailWrite:
ERROR_LOG(COMMON, "could not write to '%s', aborting...\n", filename); ERROR_LOG(COMMON, "Could not write to '%s', aborting...\n", filename);
if (unlink(filename) < 0) if (unlink(filename) < 0)
ERROR_LOG(COMMON, "unlink(%s) failed\n%s", filename, GetLastErrorMsg()); ERROR_LOG(COMMON, "unlink(%s) failed\n%s", filename, GetLastErrorMsg());
fclose(f); fclose(f);

View File

@ -56,6 +56,7 @@ public:
COUNTRY_TAIWAN, COUNTRY_TAIWAN,
COUNTRY_SDK, COUNTRY_SDK,
COUNTRY_UNKNOWN, COUNTRY_UNKNOWN,
COUNTRY_GERMANY,
NUMBER_OF_COUNTRIES NUMBER_OF_COUNTRIES
}; };

View File

@ -28,10 +28,12 @@ IVolume::ECountry CountrySwitch(u8 CountryCode)
// PAL // PAL
case 'D': // German case 'D': // German
return IVolume::COUNTRY_GERMANY;
break;
case 'X': // Used by a couple PAL games case 'X': // Used by a couple PAL games
case 'Y': // German, french case 'Y': // German, french
case 'L': // Japanese import to PAL regions case 'L': // Japanese import to PAL regions
case 'M': // Japanese import to PAL regions case 'M': // Japanese import to PAL regions
case 'S': // Spanish-speaking regions case 'S': // Spanish-speaking regions

View File

@ -1177,6 +1177,7 @@ void CFrame::DoStop()
m_GameListCtrl->Enable(); m_GameListCtrl->Enable();
m_GameListCtrl->Show(); m_GameListCtrl->Show();
m_GameListCtrl->SetFocus();
UpdateGUI(); UpdateGUI();
} }
} }

View File

@ -19,6 +19,7 @@
#include <wx/imaglist.h> #include <wx/imaglist.h>
#include <wx/fontmap.h> #include <wx/fontmap.h>
#include <wx/filename.h>
#include <algorithm> #include <algorithm>
#include <memory> #include <memory>
@ -36,6 +37,7 @@
#include "Main.h" #include "Main.h"
#include "../resources/Flag_Europe.xpm" #include "../resources/Flag_Europe.xpm"
#include "../resources/Flag_Germany.xpm"
#include "../resources/Flag_France.xpm" #include "../resources/Flag_France.xpm"
#include "../resources/Flag_Italy.xpm" #include "../resources/Flag_Italy.xpm"
#include "../resources/Flag_Japan.xpm" #include "../resources/Flag_Japan.xpm"
@ -43,6 +45,8 @@
#include "../resources/Flag_Taiwan.xpm" #include "../resources/Flag_Taiwan.xpm"
#include "../resources/Flag_Korea.xpm" #include "../resources/Flag_Korea.xpm"
#include "../resources/Flag_Unknown.xpm" #include "../resources/Flag_Unknown.xpm"
#include "../resources/Flag_SDK.xpm"
#include "../resources/Platform_Wad.xpm" #include "../resources/Platform_Wad.xpm"
#include "../resources/Platform_Wii.xpm" #include "../resources/Platform_Wii.xpm"
#include "../resources/Platform_Gamecube.xpm" #include "../resources/Platform_Gamecube.xpm"
@ -191,6 +195,8 @@ void CGameListCtrl::InitBitmaps()
m_FlagImageIndex.resize(DiscIO::IVolume::NUMBER_OF_COUNTRIES); m_FlagImageIndex.resize(DiscIO::IVolume::NUMBER_OF_COUNTRIES);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_EUROPE] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_EUROPE] =
m_imageListSmall->Add(wxBitmap(Flag_Europe_xpm), wxNullBitmap); m_imageListSmall->Add(wxBitmap(Flag_Europe_xpm), wxNullBitmap);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_GERMANY] =
m_imageListSmall->Add(wxBitmap(Flag_Germany_xpm), wxNullBitmap);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_FRANCE] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_FRANCE] =
m_imageListSmall->Add(wxBitmap(Flag_France_xpm), wxNullBitmap); m_imageListSmall->Add(wxBitmap(Flag_France_xpm), wxNullBitmap);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_USA] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_USA] =
@ -204,7 +210,7 @@ void CGameListCtrl::InitBitmaps()
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_TAIWAN] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_TAIWAN] =
m_imageListSmall->Add(wxBitmap(Flag_Taiwan_xpm), wxNullBitmap); m_imageListSmall->Add(wxBitmap(Flag_Taiwan_xpm), wxNullBitmap);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_SDK] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_SDK] =
m_imageListSmall->Add(wxBitmap(Flag_Unknown_xpm), wxNullBitmap); m_imageListSmall->Add(wxBitmap(Flag_SDK_xpm), wxNullBitmap);
m_FlagImageIndex[DiscIO::IVolume::COUNTRY_UNKNOWN] = m_FlagImageIndex[DiscIO::IVolume::COUNTRY_UNKNOWN] =
m_imageListSmall->Add(wxBitmap(Flag_Unknown_xpm), wxNullBitmap); m_imageListSmall->Add(wxBitmap(Flag_Unknown_xpm), wxNullBitmap);
@ -982,9 +988,11 @@ void CGameListCtrl::OnOpenContainingFolder(wxCommandEvent& WXUNUSED (event))
const GameListItem *iso = GetSelectedISO(); const GameListItem *iso = GetSelectedISO();
if (!iso) if (!iso)
return; return;
std::string path;
SplitPath(iso->GetFileName(), &path, 0, 0); wxString strPath(iso->GetFileName().c_str(), wxConvUTF8);
WxUtils::Explore(path.c_str()); wxFileName path = wxFileName::FileName(strPath);
path.MakeAbsolute();
WxUtils::Explore(path.GetPath().char_str());
} }
void CGameListCtrl::OnOpenSaveFolder(wxCommandEvent& WXUNUSED (event)) void CGameListCtrl::OnOpenSaveFolder(wxCommandEvent& WXUNUSED (event))

View File

@ -36,7 +36,7 @@
#include "ChunkFile.h" #include "ChunkFile.h"
#include "../resources/no_banner.cpp" #include "../resources/no_banner.cpp"
#define CACHE_REVISION 0x10D #define CACHE_REVISION 0x10E
#define DVD_BANNER_WIDTH 96 #define DVD_BANNER_WIDTH 96
#define DVD_BANNER_HEIGHT 32 #define DVD_BANNER_HEIGHT 32

View File

@ -471,6 +471,7 @@ bool CMemcardManager::CopyDeleteSwitch(u32 error, int slot)
PanicAlert(E_UNK); PanicAlert(E_UNK);
break; break;
} }
SetFocus();
return true; return true;
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 795 B

View File

@ -1,83 +1,95 @@
/* XPM */ /* XPM */
static const char *const Flag_Europe_xpm[] = { static const char * Flag_Europe_xpm[] = {
"96 32 48 1", "96 32 60 1",
" c None", " c None",
". c #000000", ". c #000000",
"+ c #0000FD", "+ c #003399",
"@ c #0000FF", "@ c #013498",
"# c #0808F7", "# c #33527A",
"$ c #5C5CA3", "$ c #32527B",
"% c #1717E8", "% c #103D90",
"& c #767680", "& c #707555",
"* c #EDED00", "* c #1B4389",
"= c #A5A54D", "= c #C9AC20",
"- c #2E2EB9", "- c #C9AC21",
"; c #96961A", "; c #6F7556",
"> c #4A4A8E", "> c #083994",
", c #0000FB", ", c #E6BB0F",
"' c #0000F4", "' c #4D606B",
") c #0808EC", ") c #0B3A92",
"! c #5C5C9B", "! c #4F616A",
"~ c #1717DD", "~ c #E5BB0F",
"{ c #0000EE", "{ c #16408C",
"] c #767677", "] c #023597",
"^ c #A5A547", "^ c #737954",
"/ c #0000DD", "/ c #E7BE0F",
"( c #2E2EA0", "( c #0D3A91",
"_ c #969616", "_ c #E8BE0E",
": c #4A4A7B", ": c #727854",
"< c #0000D2", "< c #2F4F7D",
"[ c #0000C6", "[ c #445B70",
"} c #0808BF", "} c #455C6F",
"| c #5C5C7E", "| c #2E4E7D",
"1 c #1717B4", "1 c #465D6F",
"2 c #0000B9", "2 c #CCAD1E",
"3 c #76765C", "3 c #18418B",
"4 c #A5A537", "4 c #CBAD1E",
"5 c #0808B3", "5 c #2D4F7E",
"6 c #5C5C76", "6 c #C0A626",
"7 c #1717A8", "7 c #C0A625",
"8 c #0000A9", "8 c #0E3B91",
"9 c #2E2E7A", "9 c #50636A",
"0 c #969611", "0 c #053696",
"a c #4A4A5E", "a c #506369",
"b c #767654", "b c #80804D",
"c c #A5A533", "c c #E6BE0E",
"d c #000097", "d c #083794",
"e c #2E2E6D", "e c #E7BE0E",
"f c #96960F", "f c #7F7F4D",
"g c #4A4A54", "g c #103B8F",
"h c #000081", "h c #17408B",
"i c #000077", "i c #E5BB10",
" ", "j c #485D6E",
"k c #0C3992",
"l c #0B3892",
"m c #495E6D",
"n c #E4BB10",
"o c #777B51",
"p c #264982",
"q c #C7AA21",
"r c #C6A923",
"s c #767A52",
"t c #3B5675",
"u c #3A5576",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
"................................ ", "................................ ",
".++++++++++++++++++++++++++++++. ", ".++++++++++++++++++++++++++++++. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ", ".++++++++++++++++++++++++++++++. ",
".@@@@@@@@@@@@@#$%@@@@@@@@@@@@@@. ", ".+++++++++++++@#$@+++++++++++++. ",
".@@@@@@@@@#$%@&*=@#$%@@@@@@@@@@. ", ".++++++++++%&*+=-+*;%++++++++++. ",
".@@@@@@@@@&*=@-;>@&*=@@@@@@@@@@. ", ".++++++++++>,'+))+!~>++++++++++. ",
".@@@@@@@@@-;>@@@@@-;>@@@@@@@@@@. ", ".+++++++++{+]]++++]]+{+++++++++. ",
".,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. ", ".++++++++^/(++++++++(_:++++++++. ",
".''''''')!~''''''''')!~''''''''. ", ".++++++++<[++++++++++}|++++++++. ",
".{{{{{{{]*^{{{{{{{{{]*^{{{{{{{{. ", ".++++++++]++++++++++++]++++++++. ",
".///////(_://///////(_:////////. ", ".+++++++123++++++++++341+++++++. ",
".<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<. ", ".+++++++56++++++++++++75+++++++. ",
".[[[[[[[[[}|1[[[[[}|1[[[[[[[[[[. ", ".++++++++++++++++++++++++++++++. ",
".2222222223*4256723*42222222222. ", ".++++++++890++++++++0a8++++++++. ",
".88888888890a8b*c890a8888888888. ", ".++++++++bcd++++++++def++++++++. ",
".dddddddddddddefgdddddddddddddd. ", ".++++++++))+g++++++g+))++++++++. ",
".hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh. ", ".++++++++++hij+kl+mnh++++++++++. ",
".iiiiiiiiiiiiiiiiiiiiiiiiiiiiii. ", ".+++++++++++op@qr@ps+++++++++++. ",
".iiiiiiiiiiiiiiiiiiiiiiiiiiiiii. ", ".++++++++++++++tu++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
"................................ ", "................................ ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

View File

@ -1,80 +1,40 @@
/* XPM */ /* XPM */
static const char *const Flag_France_xpm[] = { static const char * Flag_France_xpm[] = {
"96 32 45 1", "96 32 5 1",
" c None", " c None",
". c #000000", ". c #000000",
"+ c #0000FF", "+ c #002395",
"@ c #FFFFFF", "@ c #FFFFFF",
"# c #FF0000", "# c #ED2939",
"$ c #0000FC",
"% c #0000F8",
"& c #FCFCFC",
"* c #FC0000",
"= c #0000F2",
"- c #F8F8F8",
"; c #F80000",
"> c #0000EC",
", c #F2F2F2",
"' c #F20000",
") c #0000E3",
"! c #ECECEC",
"~ c #EC0000",
"{ c #0000DB",
"] c #E3E3E3",
"^ c #E30000",
"/ c #0000D2",
"( c #DBDBDB",
"_ c #DB0000",
": c #0000C8",
"< c #D2D2D2",
"[ c #D20000",
"} c #0000BD",
"| c #C8C8C8",
"1 c #C80000",
"2 c #0000B1",
"3 c #BDBDBD",
"4 c #BD0000",
"5 c #0000A3",
"6 c #B1B1B1",
"7 c #B10000",
"8 c #000093",
"9 c #A3A3A3",
"0 c #A30000",
"a c #000080",
"b c #939393",
"c c #930000",
"d c #000077",
"e c #808080",
"f c #800000",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
"................................ ", "................................ ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".$$$$$$$$$$@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".%%%%%%%%%%&&&&&&&&&&&*********. ", ".++++++++++@@@@@@@@@@##########. ",
".==========-----------;;;;;;;;;. ", ".++++++++++@@@@@@@@@@##########. ",
".>>>>>>>>>>,,,,,,,,,,,'''''''''. ", ".++++++++++@@@@@@@@@@##########. ",
".))))))))))!!!!!!!!!!!~~~~~~~~~. ", ".++++++++++@@@@@@@@@@##########. ",
".{{{{{{{{{{]]]]]]]]]]]^^^^^^^^^. ", ".++++++++++@@@@@@@@@@##########. ",
".//////////(((((((((((_________. ", ".++++++++++@@@@@@@@@@##########. ",
".::::::::::<<<<<<<<<<<[[[[[[[[[. ", ".++++++++++@@@@@@@@@@##########. ",
".}}}}}}}}}}|||||||||||111111111. ", ".++++++++++@@@@@@@@@@##########. ",
".222222222233333333333444444444. ", ".++++++++++@@@@@@@@@@##########. ",
".555555555566666666666777777777. ", ".++++++++++@@@@@@@@@@##########. ",
".888888888899999999999000000000. ", ".++++++++++@@@@@@@@@@##########. ",
".aaaaaaaaaabbbbbbbbbbbccccccccc. ", ".++++++++++@@@@@@@@@@##########. ",
".ddddddddddeeeeeeeeeeefffffffff. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@##########. ",
"................................ ", "................................ ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

View File

@ -0,0 +1,41 @@
/* XPM */
static const char * Flag_Germany_xpm[] = {
"96 32 6 1",
" c None",
". c #000000",
"+ c #4A0000",
"@ c #DD0000",
"# c #F48A00",
"$ c #FFCE00",
" ",
" ",
" ",
" ",
"................................ ",
"................................ ",
"................................ ",
"................................ ",
"................................ ",
"................................ ",
"................................ ",
".++++++++++++++++++++++++++++++. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".##############################. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
".$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. ",
"................................ ",
" ",
" ",
" ",
" ",
" ",
" "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

View File

@ -1,80 +1,40 @@
/* XPM */ /* XPM */
static const char *const Flag_Italy_xpm[] = { static const char * Flag_Italy_xpm[] = {
"96 32 45 1", "96 32 5 1",
" c None", " c None",
". c #000000", ". c #000000",
"+ c #006F00", "+ c #009246",
"@ c #FFFFFF", "@ c #FFFFFF",
"# c #FF0000", "# c #CE2B37",
"$ c #006C00",
"% c #006800",
"& c #FCFCFC",
"* c #FC0000",
"= c #006200",
"- c #F8F8F8",
"; c #F80000",
"> c #005C00",
", c #F2F2F2",
"' c #F20000",
") c #005300",
"! c #ECECEC",
"~ c #EC0000",
"{ c #004B00",
"] c #E3E3E3",
"^ c #E30000",
"/ c #004200",
"( c #DBDBDB",
"_ c #DB0000",
": c #003800",
"< c #D2D2D2",
"[ c #D20000",
"} c #002D00",
"| c #C8C8C8",
"1 c #C80000",
"2 c #002100",
"3 c #BDBDBD",
"4 c #BD0000",
"5 c #001C00",
"6 c #B1B1B1",
"7 c #B10000",
"8 c #001500",
"9 c #A3A3A3",
"0 c #A30000",
"a c #001200",
"b c #939393",
"c c #930000",
"d c #000F00",
"e c #808080",
"f c #800000",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
"................................ ", "................................ ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".$$$$$$$$$$@@@@@@@@@@@#########. ", ".++++++++++@@@@@@@@@@##########. ",
".%%%%%%%%%%&&&&&&&&&&&*********. ", ".++++++++++@@@@@@@@@@##########. ",
".==========-----------;;;;;;;;;. ", ".++++++++++@@@@@@@@@@##########. ",
".>>>>>>>>>>,,,,,,,,,,,'''''''''. ", ".++++++++++@@@@@@@@@@##########. ",
".))))))))))!!!!!!!!!!!~~~~~~~~~. ", ".++++++++++@@@@@@@@@@##########. ",
".{{{{{{{{{{]]]]]]]]]]]^^^^^^^^^. ", ".++++++++++@@@@@@@@@@##########. ",
".//////////(((((((((((_________. ", ".++++++++++@@@@@@@@@@##########. ",
".::::::::::<<<<<<<<<<<[[[[[[[[[. ", ".++++++++++@@@@@@@@@@##########. ",
".}}}}}}}}}}|||||||||||111111111. ", ".++++++++++@@@@@@@@@@##########. ",
".222222222233333333333444444444. ", ".++++++++++@@@@@@@@@@##########. ",
".555555555566666666666777777777. ", ".++++++++++@@@@@@@@@@##########. ",
".888888888899999999999000000000. ", ".++++++++++@@@@@@@@@@##########. ",
".aaaaaaaaaabbbbbbbbbbbccccccccc. ", ".++++++++++@@@@@@@@@@##########. ",
".ddddddddddeeeeeeeeeeefffffffff. ", ".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@##########. ",
".++++++++++@@@@@@@@@@##########. ",
"................................ ", "................................ ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 908 B

View File

@ -1,74 +1,34 @@
/* XPM */ /* XPM */
static const char * const Flag_Japan_xpm[] = { static const char * Flag_Japan_xpm[] = {
"96 32 67 1", "96 32 28 1",
" c None", " c None",
". c #000000", ". c #000000",
"+ c #FFFFFF", "+ c #FFFFFF",
"@ c #FECACA", "@ c #FDF9FA",
"# c #FD8080", "# c #E497A9",
"$ c #FD6161", "$ c #CA3458",
"% c #FD7676", "% c #C0113B",
"& c #FEB6B6", "& c #CA3559",
"* c #FEFEFE", "* c #E498AA",
"= c #FFEDED", "= c #FEFAFB",
"- c #FF4C4C", "- c #F8E4E9",
"; c #FF0000", "; c #C93155",
"> c #FF2F2F", "> c #BC002D",
", c #FFD7D7", ", c #C93256",
"' c #FEF5F5", "' c #F8E5EA",
") c #FE2E2E", ") c #FDF7F8",
"! c #FE1313", "! c #C82E53",
"~ c #FEDDDD", "~ c #C93055",
"{ c #F9F9F9", "{ c #FDF8F9",
"] c #FC7777", "] c #E18EA2",
"^ c #FD4545", "^ c #E290A4",
"/ c #F4F4F4", "/ c #CA375A",
"( c #F4F3F3", "( c #BF0B36",
"_ c #FA1313", "_ c #BF0D38",
": c #FB0000", ": c #CB385B",
"< c #FA0000", "< c #E394A7",
"[ c #F4D4D4", "[ c #E396A9",
"} c #EFEFEF", "} c #BE0733",
"| c #EFCFCF",
"1 c #F10000",
"2 c #EF9F9F",
"3 c #E4E4E4",
"4 c #E2BEBE",
"5 c #DD0000",
"6 c #E19090",
"7 c #D9D9D9",
"8 c #D8D0D0",
"9 c #CA0404",
"0 c #CA0000",
"a c #D5A9A9",
"b c #D0D0D0",
"c c #BC4242",
"d c #B40000",
"e c #B71A1A",
"f c #CFCFCF",
"g c #C6C6C6",
"h c #BEA7A7",
"i c #990808",
"j c #980000",
"k c #B78787",
"l c #BBBBBB",
"m c #A88989",
"n c #7B0B0B",
"o c #770000",
"p c #780202",
"q c #9E6B6B",
"r c #AEAEAE",
"s c #A89C9C",
"t c #8F4E4E",
"u c #7F1B1B",
"v c #7A0A0A",
"w c #7D1515",
"x c #8B4242",
"y c #A48F8F",
"z c #A0A0A0",
"A c #8F8F8F",
"B c #7C7C7C",
" ",
" ", " ",
" ", " ",
" ", " ",
@ -77,26 +37,27 @@ static const char * const Flag_Japan_xpm[] = {
".++++++++++++++++++++++++++++++. ", ".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ", ".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ", ".++++++++++++++++++++++++++++++. ",
".++++++++++++@#$%&*++++++++++++. ", ".++++++++++++++++++++++++++++++. ",
".++++++++++=-;;;;;>,+++++++++++. ", ".+++++++++++@#$%%&*=+++++++++++. ",
".*********');;;;;;;!~**********. ", ".++++++++++-;>>>>>>,'++++++++++. ",
".{{{{{{{{{];;;;;;;;;^{{{{{{{{{{. ", ".+++++++++)!>>>>>>>>~{+++++++++. ",
".////////(_:::::::::<[/////////. ", ".+++++++++]>>>>>>>>>>^+++++++++. ",
".}}}}}}}}|111111111112}}}}}}}}}. ", ".+++++++++$>>>>>>>>>>/+++++++++. ",
".333333334555555555556333333333. ", ".+++++++++(>>>>>>>>>>_+++++++++. ",
".77777777890000000000a777777777. ", ".+++++++++(>>>>>>>>>>_+++++++++. ",
".bbbbbbbbbcdddddddddefbbbbbbbbb. ", ".+++++++++&>>>>>>>>>>:+++++++++. ",
".ggggggggghijjjjjjjjkgggggggggg. ", ".+++++++++<>>>>>>>>>>[+++++++++. ",
".llllllllllmnooooopqlllllllllll. ", ".+++++++++{!>>>>>>>>~@+++++++++. ",
".rrrrrrrrrrrstuvwxyrrrrrrrrrrrr. ", ".++++++++++-;>>>>>>,'++++++++++. ",
".zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz. ", ".+++++++++++@#$}}&*=+++++++++++. ",
".AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA. ", ".++++++++++++++++++++++++++++++. ",
".BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB. ", ".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
"................................ ", "................................ ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

View File

@ -1,248 +1,134 @@
/* XPM */ /* XPM */
static const char *const Flag_Korea_xpm[] = { static const char * Flag_Korea_xpm[] = {
/* columns rows colors chars-per-pixel */ "96 32 99 2",
"96 32 210 2",
". c Black",
"p c #CACACA",
"= c #D9D9D9",
"a c #EED0D6",
">. c #770730",
"e c #F7F7F7",
"^ c #4B4B4B",
"}. c #5A5A5A",
"OX c #A0A4A8",
"k. c #878787",
"P c #D38494",
"u. c #161951",
"@ c #E1E1E1",
"{. c #353535",
"X c #FFFFFF",
"-. c #71163F",
"g c #E3A3AE",
"0 c #444444",
"t c #535353",
"%X c #626262",
"g. c #011F5A",
"x. c #3D557C",
"P. c #475D7F",
"C. c #8F8F8F",
"B c #B80020",
"$. c #949CB0",
"# c #9E9E9E",
".. c #B60323",
"N c #B6001A",
"C c #B6001B",
"k c #5B5B5B",
"`. c #6A6A6A",
"/ c #797979",
"*. c #AD0B2A",
"6 c #888888",
"2X c #979797",
"f c #D5667A",
"w. c #843656",
"Q c #BD2D47",
"y. c #16396E",
"+. c #D3D3D3",
"9. c #002F6C",
"$ c #E2E2E2",
"s. c #002C65",
"` c #D0C6CD",
"x c #F1F1F1",
"S. c #363636",
"=. c #B20927",
"F c #454545",
"W. c #959DA6",
"n. c #00295F",
"l c #545454",
"v. c #002962",
",. c #C0344C",
"J. c #00265A",
"2. c #7394AE",
"Z c #C53851",
"Q. c #3E5375",
";X c #9F9F9F",
"H. c #002358",
"z. c #C2C4C6",
"j c #AEAEAE",
"V. c #BDBDBD",
"e. c #D7B8BA",
"( c #CCCCCC",
"U c #B2001E",
"$X c #2F2F2F",
"; c #F9F9F9",
"! c #E1C0C6",
"v c #4D4D4D",
"@X c #6B6B6B",
"< c #7A7A7A",
"3. c #412554",
"c. c #001D59",
"q c #898989",
"<X c #989898",
"7. c #621842",
"L. c #001A52",
"l. c #A7A7A7",
"+ c #F2F2F2",
"' c #B0324D",
"b c #373737",
"} c #B30A2A",
"& c #464646",
"3 c #555555",
",X c #737373",
"5. c #BF0621",
"&. c #AE001D",
"). c #AFB2B4",
"5X c #919191",
":. c #332358",
"-X c #A0A0A0",
"E. c #AFAFAF",
": c #BEBEBE",
"_ c #DCDCDC",
"7 c #EBEBEB",
"J c #4E4E4E",
"T c #B60B2D",
"c c #8A8A8A",
";. c #2A255B",
"_. c #A8A8A8",
"I. c #BCBEC0",
"O c #B7B7B7",
"%. c #8C1D3E",
" c None", " c None",
") c #E4E4E4", ". c #000000",
"5 c #383838", "+ c #FFFFFF",
"i c #565656", "@ c #FDFDFD",
"> c #656565", "# c #E2E2E2",
"6X c #838383", "$ c #313131",
"1X c #929292", "% c #BABABA",
"F. c #223A67", "& c #BBBBBB",
"B. c #747D96", "* c #505050",
"i. c #471E4A", "= c #777777",
"Z. c #A1A1A1", "- c #3F3F3F",
"N. c #0E275D", "; c #868686",
"n c #B0B0B0", "> c #F9F9F9",
"8. c #072C66", ", c #3E3E3E",
"| c #B90928", "' c #5B5B5B",
"!. c #072657", ") c #A1A1A1",
"'. c #313131", "! c #545454",
"b. c #002B62", "~ c #2E2E2E",
":X c #404040", "{ c #7D7D7D",
"y c #4F4F4F", "] c #5F5F5F",
"2 c #6D6D6D", "^ c #5E5E5E",
"R c #B70C2D", "/ c #7E7E7E",
"3X c #8B8B8A", "( c #434343",
"q. c #151C56", "_ c #9C9C9C",
"{ c #B00B2B", ": c #A5A5A5",
"w c #C7C7C7", "< c #E4E4E4",
"4. c #930326", "[ c #292929",
"z c #D6D6D6", "} c #636363",
"^. c #001F53", "| c #717171",
", c #484848", "1 c #2B2B2B",
"D. c #939CA9", "2 c #F0F0F0",
"% c #575757", "3 c #EEB6C0",
"p. c #302152", "4 c #D44964",
"s c #DC8696", "5 c #C81537",
"V c #B7001E", "6 c #C81638",
"X. c #B7001F", "7 c #D54C66",
"d c #D35C72", "8 c #EEB7C1",
"H c #B1B1B1", "9 c #F1F1F1",
"#. c #DEDEDE", "0 c #8D8D8D",
"G. c #00164F", "a c #626262",
"R. c #323232", "b c #E8E8E8",
"1 c #FCFCFC", "c c #A0A0A0",
"<. c #DBCBCE", "d c #4B4B4B",
" . c #B80A29", "e c #B0B0B0",
"D c #9B9B9B", "f c #E17E91",
"T. c #B9B9B9", "g c #C60C30",
"a. c #062A62", "h c #E28395",
"W c #B30018", "i c #B2B2B2",
"O. c #E1E2E2", "j c #C9C9C9",
"m c #D88695", "k c #E4B0BD",
"1. c #D7D7D7", "l c #707070",
"XX c #808A97", "m c #A54367",
"A c #E4BAC2", "n c #C10D32",
"oX c #858E99", "o c #BD0D34",
"]. c #3A3A3A", "p c #D54D67",
"+X c #585858", "q c #52285E",
"r c #949494", "r c #6A1E52",
" X c #ADAEAE", "s c #093374",
"o. c #C66174", "t c #023378",
"~ c #C1C1C1", "u c #50245B",
"L c #DADBDB", "v c #C7193C",
"8 c #D0D0D0", "w c #0A3275",
"t. c #92A0B1", "x c #761C4D",
"=X c #333333", "y c #602155",
"- c #FDFDFD", "z c #003478",
"*X c #424242", "A c #812351",
"u c #515151", "B c #353973",
"#X c #606060", "C c #653E6F",
"6. c #B40723", "D c #A38BA8",
"K c #7E7E7E", "E c #B196B0",
"* c #8D8D8D", "F c #323232",
"h. c #5A4F73", "G c #555555",
"Y. c #BABABA", "H c #6D5985",
"0. c #00306C", "I c #6C5885",
"@. c #D8D8D8", "J c #565656",
"S c #E7E7E7", "K c #ECECEC",
"|. c #2C2C2C", "L c #282828",
">X c #3B3B3B", "M c #666666",
"m. c #002A60", "N c #939393",
"[ c #B20A2B", "O c #A68FAA",
"d. c #002A62", "P c #373A73",
"f. c #002A63", "Q c #0E3274",
"/. c #16315F", "R c #0D3374",
"M c #BC1231", "S c #363A73",
"4 c #595959", "T c #A891AC",
".X c #959BA2", "U c #E9E9E9",
"] c #AD001C", "V c #949494",
"h c #F3E6E9", "W c #676767",
"7X c #959594", "X c #B1B1B1",
"4X c #959595", "Y c #646464",
"Y c #B70B2E", "Z c #808080",
"o c #B3B3B3", "` c #4F4F4F",
"A. c #C2C2C2", " . c #A6A6A6",
"E c #B7082A", ".. c #B7B7B7",
"I c #B50E29", "+. c #787878",
"r. c #D1D1D1", "@. c #333333",
"U. c #252525", "#. c #EBEBEB",
"M. c #00215A", "$. c #444444",
"~. c #001E52", "%. c #CECECE",
"K. c #001E55",
"9 c #525252",
"G c #616161",
"[. c #7F7F7F",
"&X c #8E8E8E",
"j. c #D1C8C7",
"(. c #5F7088",
/* pixels */
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X . ", ". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ",
". X X X X X X o O + X X X X X X X X X X X X @ # $ X X X X X X . ", ". + + + + + + + @ + + + + + + + + + + + + + + @ + + + + + + + . ",
". X X X X X @ % & * = - X X X X X X X X ; : > , < X X X X X X . ", ". + + + + + + # $ % + + + + + + + + + + + + & $ # + + + + + + . ",
". 1 1 1 1 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 8 9 0 3 q w 1 1 1 1 1 . ", ". + + + + + + * = - ; > + + + + + + + + > ; , = ' + + + + + + . ",
". e e e e r t y u i p e e a s d f g h e + j k 2 3 l z e e e e . ", ". + + + + + ) ! ~ { ] + + + + + + + + + + ^ / ( _ : + + + + + . ",
". x x x x c v l b n x x m M N B V C Z A x S D F & G H x x x x . ", ". + + + + < [ } | 1 2 + + 3 4 5 6 7 8 + + 9 0 | a [ < + + + + . ",
". 7 7 7 7 7 O J K L 7 P I U Y T R E W Q ! 7 ~ ^ / ( 7 7 7 7 7 . ", ". + + + + b c - d e + + f g g g g g g h + + i d - c b + + + + . ",
". ) ) ) ) ) ) ( _ ) ` ' ] [ { } | ...X.o.) O.+.@.) ) ) ) ) ) . ", ". + + + + + + j | + + k g g g g g g g g 8 + + l j + + + + + + . ",
". #.#.#.#.#.#.#.#.#.$.%.&.*.=.=.-.;.:.>.,.<.#.#.#.#.#.#.#.#.#.. ", ". + + + + + + + + + + m g g g g g n o g p + + + + + + + + + + . ",
". 1.1.1.1.1.1.1.1.1.2.3.4.5.6.7.8.9.0.q.w.e.1.1.1.1.1.1.1.1.1.. ", ". + + + + + + + + + + q g g g g r s t u v + + + + + + + + + + . ",
". r.r.r.r.r.r.r.r.r.t.y.u.i.p.a.s.d.f.g.h.j.r.r.r.r.r.r.r.r.r.. ", ". + + + + + + + + + + w x n o y z z z z A + + + + + + + + + + . ",
". p p p p p p k.l.p z.x.c.v.b.n.n.m.M.N.B.p V.C.Z.p p p p p p . ", ". + + + + + + + + + + B z z z z z z z z C + + + + + + + + + + . ",
". A.A.A.A.H 2 S.& l.A.D.F.G.H.J.J.K.L.P.I.A.C.U.y k.Y.A.A.A.A.. ", ". + + + + + + j | + + D z z z z z z z z E + + l j + + + + + + . ",
". T.T.T.T.9 5 , R.2 E.T.W.Q.!.~.^./.(.).T._.`.u '.].[.T.T.T.T.. ", ". + + + + b c F G e + + H z z z z z z I + + i J $ c b + + + + . ",
". n n n n C.{.}.4 |./ n n X.XXXoXOXn n Z.+Xb @X#Xv n n n n n . ", ". + + + + K L M N F b + + O P Q R S T + + U 0 V W [ K + + + + . ",
". l.l.l.l.l.G 5 $X'.%XD l.l.l.l.l.l.l.l.&X*X$X=X9 -Xl.l.l.l.l.. ", ". + + + + + X M Y Z ` + + + + + + + + + + ` Z a ...+ + + + + . ",
". ;X;X;X;X;X;X:X>X,X<X;X;X;X;X;X;X;X;X;X;X1X+XR.G ;X;X;X;X;X;X. ", ". + + + + + + * +.@.0 > + + + + + + + + > 0 @.= ' + + + + + + . ",
". 2X2X2X2X2X2X6 3X4X2X2X2X2X2X2X2X2X2X2X2X2X5X6X7X2X2X2X2X2X2X. ", ". + + + + + + #.$.%.+ + + + + + + + + + + + %.$.#.+ + + + + + . ",
". + + + + + + + @ + + + + + + + + + + + + + + @ + + + + + + + . ",
". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " "};
" "
};

View File

@ -0,0 +1,114 @@
/* XPM */
static const char * Flag_SDK_xpm[] = {
"96 32 79 1",
" c None",
". c #000000",
"+ c #FFFFFF",
"@ c #E9E9FE",
"# c #5959FE",
"$ c #1515FE",
"% c #0505FE",
"& c #1313FE",
"* c #3232FE",
"= c #0000FF",
"- c #0202FE",
"; c #0C0CFE",
"> c #2B2BFE",
", c #7676FE",
"' c #EEEEFE",
") c #D4D4FE",
"! c #1C1CFE",
"~ c #0303FE",
"{ c #9292FE",
"] c #5151FE",
"^ c #B1B1FE",
"/ c #F8F8FE",
"( c #CCCCFE",
"_ c #E5E5FE",
": c #9393FE",
"< c #0A0AFE",
"[ c #2424FE",
"} c #EAEAFE",
"| c #C2C2FE",
"1 c #1010FE",
"2 c #0D0DFE",
"3 c #B6B6FE",
"4 c #0F0FFE",
"5 c #8989FE",
"6 c #6767FE",
"7 c #ACACFE",
"8 c #0808FE",
"9 c #1E1EFE",
"0 c #D2D2FE",
"a c #5F5FFE",
"b c #9C9CFE",
"c c #E8E8FE",
"d c #DDDDFE",
"e c #1A1AFE",
"f c #9494FE",
"g c #3636FE",
"h c #E7E7FE",
"i c #B7B7FE",
"j c #0707FE",
"k c #A4A4FE",
"l c #F7F7FE",
"m c #B0B0FE",
"n c #FCFCFE",
"o c #C4C4FE",
"p c #8181FE",
"q c #2020FE",
"r c #1B1BFE",
"s c #0101FE",
"t c #0606FE",
"u c #AEAEFE",
"v c #E2E2FE",
"w c #8787FE",
"x c #0404FE",
"y c #A2A2FE",
"z c #3E3EFE",
"A c #A8A8FE",
"B c #F9F9FE",
"C c #5656FE",
"D c #E6E6FE",
"E c #B4B4FE",
"F c #0909FE",
"G c #9696FE",
"H c #4D4DFE",
"I c #2222FE",
"J c #1D1DFE",
"K c #6969FE",
"L c #0E0EFE",
"M c #2D2DFE",
"N c #7575FE",
" ",
" ",
" ",
" ",
"................................ ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".+@#$%&*+++==-;>,'+++==+++)!~{+. ",
".+]=^/(]+++==+_:<[}++==++|123++. ",
".+4=_++++++==+++5=6++==+7890+++. ",
".+9=&abc+++==+++d=e++==f-gh++++. ",
".+ie===jk++==+++l=%++====m+++++. ",
".++nopq=!++==+++d=r++==:stu++++. ",
".+++++v=1++==+++w=6++==+kx~y+++. ",
".+zAcB7=C++==+D:<[}++==++EFsG++. ",
".+HI;%JK'++==~LMN'+++==+++|4=w+. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
".++++++++++++++++++++++++++++++. ",
"................................ ",
" ",
" ",
" ",
" ",
" ",
" "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,124 +1,67 @@
/* XPM */ /* XPM */
static const char *const Flag_Taiwan_xpm[] = { static const char * Flag_Taiwan_xpm[] = {
"96 32 89 1", "96 32 32 1",
" c None", " c None",
". c #000000", ". c #000000",
"# c #000099", "+ c #000095",
"$ c #000098", "@ c #FE0000",
"% c #03039A", "# c #050597",
"& c #000094", "$ c #2727A5",
"' c #05059B", "% c #2A2AA6",
"( c #050095", "& c #6A6AC1",
") c #DC0014", "* c #A4A4D9",
"* c #FF0000", "= c #6B6BC1",
"+ c #FD0001", "- c #2929A6",
", c #04049B", "; c #3636AB",
"- c #000096", "> c #8181CA",
"! c #020299", ", c #9595D3",
"0 c #2424A7", "' c #D4D4ED",
"1 c #04049A", ") c #9494D2",
"2 c #000097", "! c #8282CB",
"3 c #000093", "~ c #3535AB",
"4 c #6262BF", "{ c #2B2BA7",
"5 c #2828A8", "] c #7F7FC9",
"6 c #6C6CC1", "^ c #FFFFFF",
"7 c #3E3EB1", "/ c #7E7ECA",
"8 c #3B3BB0", "( c #040497",
"9 c #00008F", "_ c #3C3CAE",
": c #01019A", ": c #8080C9",
"; c #1919A3", "< c #7F7FCA",
"< c #4040B0", "[ c #9494D3",
"= c #6363C0", "} c #2C2CA7",
"> c #D6D6EE", "| c #5454B8",
"? c #D9D9ED", "1 c #9F9FD7",
"@ c #C5C5E7", "2 c #5555B8",
"A c #3F3FB0", "3 c #2828A6",
"B c #3D3DAF",
"C c #020297",
"D c #010199",
"E c #5E5EBE",
"F c #DFDFF2",
"G c white",
"H c #BFBFE5",
"I c #2626A7",
"J c #4242B0",
"K c #7D7DCA",
"L c #FAFAFD",
"M c #FBFBFD",
"N c #FCFCFD",
"O c #FCFCFE",
"P c #DADAF0",
"Q c #6A6AC2",
"R c #1B1BA3",
"S c #000199",
"T c #0E0E9B",
"U c #5858BC",
"V c #D3D3ED",
"W c #2727A6",
"X c #060699",
"Y c #1212A0",
"Z c #6464C0",
"[ c #8080CC",
"] c #F4F4FA",
"^ c #F8F8FB",
"_ c #7070C4",
"` c #4949B5",
"a c #000095",
"b c #040499",
"c c #000092",
"d c #6767C2",
"e c #8686CA",
"f c #7070C5",
"g c #2B2BA9",
"h c #00009A",
"i c #01049C",
"j c #1619A4",
"k c #393CB3",
"l c #00029A",
"m c #1619A5",
"n c #020096",
"o c #DB0014",
"p c #FC0001",
"q c #0A0092",
"r c #060090",
"s c #0B0092",
"t c #0F008E",
"u c #DD0013",
"v c #FD0000",
"w c #E5000F",
"x c #E6010F",
"y c #E60110",
"z c #FB0002",
"{ c #FE0000",
" ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
"................................ ", "................................ ",
".#####$%#&'$$$##()*+***********. ", ".+++++++++++++++@@@@@@@@@@@@@@@. ",
".###$$,-!0&1!$##()*+***********. ", ".+++++#+$+#+++++@@@@@@@@@@@@@@@. ",
".##$#23456789:$#()*+***********. ", ".+++++%&*=-+++++@@@@@@@@@@@@@@@. ",
".###2;<=>?@ABCD#()*+***********. ", ".++++;>,')!~++++@@@@@@@@@@@@@@@. ",
".###$CEFGGGHI&D$()*+***********. ", ".++++{]^^^/{++++@@@@@@@@@@@@@@@. ",
".##D-JKLMNOPQR-S()*+***********. ", ".+++(_:^^^<_(+++@@@@@@@@@@@@@@@. ",
".###$TUGGNGVWX$#()*+***********. ", ".++++;>[')!~++++@@@@@@@@@@@@@@@. ",
".###2YZ[]^P_`aD$()*+***********. ", ".+++++}|12{+++++@@@@@@@@@@@@@@@. ",
".###$bcdEefg3D$#()*+***********. ", ".+++++#+3+#+++++@@@@@@@@@@@@@@@. ",
".hhhhhijiklm#hhhno*p***********. ", ".+++++++++++++++@@@@@@@@@@@@@@@. ",
".qqqqqqrsrqrqqqqtu*v***********. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".wwwwwwxwywxwwwwwz*{***********. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".******************************. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".{{{{{{{{{{{{{{{{{*{***********. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".******************************. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".******************************. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".******************************. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".******************************. ", ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. ",
"................................ ", "................................ ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 726 B

View File

@ -1,65 +1,128 @@
/* XPM */ /* XPM */
static const char * Flag_USA_xpm[] = { static const char * Flag_USA_xpm[] = {
"96 32 30 1", "96 32 93 2",
" c None", " c None",
". c #000000", ". c #000000",
"+ c #0000FF", "+ c #4C4B79",
"@ c #CE7070", "@ c #54537F",
"# c #B0BF99", "# c #4E4E7C",
"$ c #F1F1F1", "$ c #52517E",
"% c #FFFFFF", "% c #4F4E7C",
"& c #0000FD", "& c #504F7D",
"* c #CF8484", "* c #51517E",
"= c #DA9090", "= c #4F4E7D",
"- c #0000F3", "- c #51517F",
"; c #B0BF96", "; c #4D4C7C",
"> c #0000DF", "> c #52527F",
", c #0000CB", ", c #4B4A79",
"' c #B0BF8C", "' c #B22234",
") c #D98E8E", ") c #53527F",
"! c #0000B5", "! c #5F5E89",
"~ c #CA6C6C", "~ c #616089",
"{ c #000098", "{ c #60608A",
"] c #B0BF80", "] c #616088",
"^ c #000077", "^ c #606088",
"/ c #C26464", "/ c #605F87",
"( c #DBDBDB", "( c #52517F",
"_ c #C17676", "_ c #D58791",
": c #B55757", ": c #3E3D70",
"< c #BBBBBB", "< c #62618A",
"[ c #AC6161", "[ c #65658C",
"} c #A34545", "} c #64638A",
"| c #8B8B8B", "| c #62628B",
"1 c #8E4343", "1 c #63638B",
" ", "2 c #63628A",
"3 c #61608A",
"4 c #64648B",
"5 c #605F89",
"6 c #3E3D6F",
"7 c #FFFFFF",
"8 c #6D6D92",
"9 c #68678E",
"0 c #6B6A91",
"a c #696890",
"b c #6A698F",
"c c #68688F",
"d c #66658F",
"e c #6E6D95",
"f c #63628B",
"g c #B83243",
"h c #3D3C6F",
"i c #68678D",
"j c #6F6E93",
"k c #69688F",
"l c #6C6C92",
"m c #6B6A92",
"n c #6C6B91",
"o c #6D6C91",
"p c #696990",
"q c #6F6F93",
"r c #CF7681",
"s c #66658C",
"t c #6F6E94",
"u c #6A6990",
"v c #6E6D92",
"w c #6B6B8F",
"x c #6D6D91",
"y c #6D6C92",
"z c #6E6D94",
"A c #676690",
"B c #6F6E95",
"C c #65648D",
"D c #3C3B6E",
"E c #6A6991",
"F c #66658B",
"G c #66658E",
"H c #66668E",
"I c #67668E",
"J c #BD4352",
"K c #6C6C93",
"L c #6C6B90",
"M c #6A6A91",
"N c #68678F",
"O c #6F6E96",
"P c #64638C",
"Q c #CA6672",
"R c #65648B",
"S c #6C6C91",
"T c #6B6B91",
"U c #62628A",
"V c #66658D",
"W c #67668F",
"X c #64638D",
"Y c #6E6E95",
"Z c #C45462",
"` c #5E456E",
" . c #5F456E",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
".++++++++++++++@@@@@@@@@@@@@@@@. ", ". + @ # $ % & * = - ; > , ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . ",
".+#+#+#+#+#+#++$%%%%%%%%%%%%%%%. ", ". ) ! ~ { ] ^ / ] ~ ~ ~ ( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . ",
".&&&&&&&&&&&&&&*===============. ", ". : < [ } | } 1 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
".-;-;-;-;-;-;--@@@@@@@@@@@@@@@@. ", ". } 8 9 0 a b a c 0 d e f g g g g g g g g g g g g g g g g g g . ",
".>>>>>>>>>>>>>>$%%%%%%%%%%%%%%%. ", ". h i j k l m n o p q 9 h r r r r r r r r r r r r r r r r r r . ",
".,',',',',',',,*))))))))))))))). ", ". s t u v w x y k z A B C 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
".!!!!!!!!!!!!!!@~~~~~~~~~~~~~~~. ", ". D } E F 9 G H I [ 0 2 D J J J J J J J J J J J J J J J J J J . ",
".{]{]{]{]{]{]{{$$$$$$$$$$$$$$$$. ", ". F B 9 K k L M N v H O P Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q . ",
".^^^^^^^^^^^^^^****************. ", ". D R z N S p b T G t C D 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
".^^^^^^^^^^^^^^@///////////////. ", ". U t V m W u T W 8 X Y 3 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z . ",
".((((((((((((((((((((((((((((((. ", ". ` ` ` .` ` ` ` ` .` ` Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z . ",
". 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
". Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q . ",
". J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J . ",
". 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
". r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r . ",
". g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g . ",
". 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 . ",
". _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . ", ". _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . ",
".::::::::::::::::::::::::::::::. ", ". ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' . ",
".<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<. ",
".[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[. ",
".}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}. ",
".||||||||||||||||||||||||||||||. ",
".111111111111111111111111111111. ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ",
" "}; " "};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

View File

@ -1,47 +1,91 @@
/* XPM */ /* XPM */
static const char *const Flag_Unknown_xpm[] = { static const char * Flag_Unknown_xpm[] = {
"96 32 15 1", "96 32 59 1",
" c None", " c None",
"! c black", ". c #000000",
"# c #360000", "+ c #FFFFFF",
"$ c #D60000", "@ c #FF0000",
"% c #1B0000", "# c #FE3434",
"& c #6B0000", "$ c #FED4D4",
"' c #510000", "% c #FE1C1C",
"( c #280000", "& c #FE0303",
") c #BB0000", "* c #FE9292",
"* c #780000", "= c #FEB3B3",
"+ c #A00000", "- c #FEC2C2",
", c #0D0000", "; c #FE1010",
"- c #C90000", "> c #FE0D0D",
". c #AE0000", ", c #FEB6B6",
"0 c #430000", "' c #FE3333",
") c #FEACAC",
"! c #FE0808",
"~ c #FE1E1E",
"{ c #FED2D2",
"] c #FEB8B8",
"^ c #FEB1B1",
"/ c #FE9494",
"( c #FE0202",
"_ c #FE3636",
": c #FEE7E7",
"< c #FE3D3D",
"[ c #FE3131",
"} c #FEB0B0",
"| c #FE0101",
"1 c #FEAFAF",
"2 c #FE9393",
"3 c #FE0606",
"4 c #FEAEAE",
"5 c #FE1F1F",
"6 c #FEE9E9",
"7 c #FEE8E8",
"8 c #FE2020",
"9 c #FE4747",
"0 c #FE2F2F",
"a c #FEA4A4",
"b c #FE0404",
"c c #FEA2A2",
"d c #FE7A7A",
"e c #FE6868",
"f c #FEEDED",
"g c #FE6767",
"h c #FE7C7C",
"i c #FECBCB",
"j c #FEB4B4",
"k c #FE0909",
"l c #FE9696",
"m c #FEFBFB",
"n c #FE8080",
"o c #FE2727",
"p c #FE8282",
"q c #FEFCFC",
"r c #FE5151",
"s c #FE0F0F",
"t c #FE8787",
" ", " ",
" ", " ",
" ", " ",
" ", " ",
" ", "................................ ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!####!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!#$$#!###! ", ".++++++++++++++++++++++++++++++. ",
"!!!%&'!!!!%&'!()$$$$$*!#$$##$$#! ", ".+@@++++@@++@@#+++@@++@@+++$%&*. ",
"!!!#$+!!!!#$+,-$$$$$$$&#$$#))$#! ", ".+@@++++@@++@@@=++@@++@@++-;>,+. ",
"!!!#$+!!!!#$+#$.!!!!0$+#$$)))#!! ", ".+@@++++@@++@@#'++@@++@@+)!~{++. ",
"!!!#$+!!!!#$+#$+!!!!#$+#$$))#!!! ", ".+@@++++@@++@@]@^+@@++@@/(_:+++. ",
"!!!#$+!!!!#$+#$+!!!!#$+#$$))#!!! ", ".+@@++++@@++@@+<[+@@++@@@@}++++. ",
"!!!#$+!!!!#$+#$+!!!!#$+#$$)))#!! ", ".+@@++++@|++@@+-@1@@++@@2|34+++. ",
"!!!#$.!!!!0$+#$+!!!!#$+#))#))$#! ", ".+5@6++7@8++@@++90@@++@@+ab&c++. ",
"!!!,-$$$$$$$&#$+!!!!#$+#$$!#$$#! ", ".+d@effg@h++@@++i@@@++@@++jk|l+. ",
"!!!!()$$$$$*!%&'!!!!%&'!##!!##!! ", ".+mno33opq++@@+++r@@++@@+++-s@t. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ", ".++++++++++++++++++++++++++++++. ",
" ", "................................ ",
" ", " ",
" ", " ",
" ", " ",

View File

@ -1,241 +1,239 @@
/* XPM */ /* XPM */
static const char * Platform_Gamecube_xpm[] = { static const char * Platform_Gamecube_xpm[] = {
"96 32 204 2", "96 32 204 2",
"E. c #B1B0B0",
"] c #8E8B8C",
"`. c #E8E8E8",
"O c #CFCECF",
"q. c #F7F7F7",
" . c #231F20",
"N. c #191415",
"x. c #191416",
"~ c #322E2F",
"G. c #4B4849",
"S. c #646263",
"@. c #5A5758",
"^. c #504C4D",
"4 c #828080",
"p. c #C3C3C3",
":. c #B9B8B8",
"H c #C8C7C7",
"c. c #BEBCBC",
"L c #E1E1E1",
"G c #F0F0EF",
"n c #F0F0F0",
"L. c #E6E5E6",
". c #FFFFFF",
"! c #1C1819",
"d. c #2B2728",
"z c #535051",
"H. c #9E9E9E",
"a c #716E6F",
"9 c #8A8888",
"1X c #B2B1B1",
"V. c #8F8C8D",
"XX c #A8A6A7",
"X. c #DFDEDF",
"o. c #EEEDED",
";X c #151112",
", c #242021",
"$ c #3D3A3A",
"j. c #1A1517",
"]. c #292426",
"f. c #656364",
"[. c #6A6768",
"y. c #929091",
"& c #BAB9B9",
"I. c #D3D3D3",
"# c #B0AEAF",
"o c #C9C8C8",
"%X c #C9C8C9",
",X c #F1F1F1",
"7 c #2C2829",
"5. c #221D1E",
"!. c #3B3738",
"x c #221D1F",
"[ c #312C2D",
"u c #7C7A7A",
"-X c #8B8989",
"A c #B3B2B2",
"F. c #C2C1C1",
"a. c #B8B6B6",
"P c #C2C1C2",
">X c #D1D0D1",
"K c #EAEAEA",
"#. c #C7C5C6",
"0 c #E0DFDF",
"$X c #F9F9F9",
"}. c #EFEEEE",
"v. c #252121",
"8 c #252122",
"{ c #1B1617",
"&. c #3E3B3D",
"d c #343031",
"+X c #2A2526",
"y c #2A2527",
"< c #5C5959",
"OX c #848282",
"I c #615D5E",
"#X c #898686",
"6. c #939192",
"<X c #A2A0A1",
"B c #B1AFAF",
"U. c #CAC9CA",
"n. c #E3E3E3",
"* c #F2F2F2",
"p c #E8E7E7",
".X c #373435",
"A. c #2D292A",
"k. c #231E1F",
"C. c #6E6C6C",
"w c #9B9999",
"1. c #9B999A",
"O. c #C3C2C2",
"D c #EBEBEB",
"0. c #FAFAFA",
";. c #262223",
"r. c #3F3C3D",
"s. c #1C1719",
"z. c #8F8E8E",
"; c #534F50",
"m c #ADACAC",
"T. c #ADACAD",
"b. c #BCBBBB",
"R c #D5D5D5",
" c None", " c None",
"Y c #CBCACA", ". c #FFFFFF",
"Z. c #F3F3F3", "+ c #FCFCFC",
"' c #E9E8E8", "@ c #C9C8C8",
"*X c #151012", "# c #CFCECF",
"M c #2E2A2B", "$ c #FDFDFD",
"_ c #241F20", "% c #EEEEEE",
"u. c #241F21", "& c #B0AEAF",
") c #332E2F", "* c #3D3A3A",
"). c #4C4849", "= c #413E3F",
"S c #A6A5A5", "- c #BAB9B9",
"'. c #9C9A9B", "; c #F2F2F2",
"l c #C4C3C4", "> c #F9F8F8",
"(. c #BAB8B9", ", c #C7C7C7",
"<. c #ECECEC", "' c #534F50",
"2 c #FBFBFB", ") c #252021",
"R. c #F1F0F0", "! c #2A2627",
"M. c #272324", "~ c #242021",
"c c #1D181A", "{ c #5C5959",
"+. c #545050", "] c #CECDCD",
"m. c #635F60", "^ c #FBFBFB",
"- c #C7C7C7", "/ c #D8D8D8",
"oX c #DBDADB", "( c #828080",
"$. c #F4F4F4", "_ c #292526",
"= c #F9F8F8", ": c #2D282A",
"( c #201C1D", "< c #2C2829",
"e. c #2F2B2C", "[ c #252122",
": c #252021", "} c #8A8888",
"E c #575455", "| c #E0DFDF",
"t. c #4D494A", "1 c #E5E4E4",
"^ c #9D9B9C", "2 c #9B9999",
"Q c #C5C4C4", "3 c #302C2D",
"3. c #D4D3D4", "4 c #221E1E",
"i c #EDEDED", "5 c #282425",
"X c #FCFCFC", "6 c #2A2527",
"V c #F2F1F1", "7 c #7C7A7A",
"{. c #F2F1F2", "8 c #EDEDED",
"8. c #322F2F", "9 c #E8E7E7",
"7. c #191516", "0 c #716E6F",
"t c #282425", "a c #221E1F",
"% c #413E3F", "b c #343031",
"6 c #2D282A", "c c #868383",
"P. c #787676", "d c #D6D5D6",
"h. c #8C898A", "e c #262122",
"Q. c #BEBDBE", "f c #1F1A1B",
"%. c #B4B2B2", "g c #595656",
"K. c #CDCCCD", "h c #C4C3C4",
",. c #DCDBDB", "i c #535051",
"b c #F5F5F5", "j c #221D1F",
"W. c #FAF9FA", "k c #1D181A",
"~. c #211D1E", "l c #393535",
"/ c #211D1F", "m c #F5F5F5",
"N c #302C2C", "n c #F0F0F0",
"Y. c #171214", "o c #ADACAC",
"e c #302C2D", "p c #2E2A2B",
"h c #262122", "q c #302C2C",
"*. c #262123", "r c #B1AFAF",
"U c #676465", "s c #F2F1F1",
"l. c #999898", "t c #A6A4A5",
"B. c #999899", "u c #AEACAC",
"} c #D5D4D5", "v c #B3B2B2",
"@ c #EEEEEE", "w c #A6A5A5",
"D. c #E4E3E3", "x c #EBEBEB",
"+ c #FDFDFD", "y c #F3F2F2",
"F c #F3F2F2", "z c #F0F0EF",
"i. c #1A1617", "A c #C8C7C7",
"5 c #292526", "B c #706D6E",
"_. c #423F40", "C c #EAEAEA",
"j c #1F1A1B", "D c #E1E1E1",
"|. c #605D5E", "E c #C2C1C2",
"=X c #979595", "F c #615D5E",
"J. c #979596", "G c #676465",
"` c #B0AFAF", "H c #CBCACA",
"C c #A6A4A5", "I c #FEFEFE",
"J c #D5D5D5",
"K c #575455",
"L c #D1D1D1",
"M c #C5C4C4",
"N c #1C1819",
"O c #322E2F",
"P c #9D9B9C",
"Q c #211D1F",
"R c #201C1D",
"S c #332E2F",
"T c #241F20",
"U c #B0AFAF",
"V c #E9E8E8",
"W c #8E8B8C",
"X c #312C2D",
"Y c #1B1617",
"Z c #D5D4D5",
"` c #C7C6C6",
" . c #231F20",
".. c #B5B3B3", ".. c #B5B3B3",
"3 c #D8D8D8", "+. c #DFDEDF",
"1 c #CECDCD", "@. c #EEEDED",
"/. c #C4C2C3", "#. c #C3C2C2",
"r c #221E1E", "$. c #545050",
"s c #221E1F", "%. c #5A5758",
"=. c #312D2E", "&. c #C7C5C6",
"4. c #636161", "*. c #F4F4F4",
"k c #595656", "=. c #B4B2B2",
"9. c #817F7F", "-. c #3E3B3D",
"w. c #777475", ";. c #262123",
"f c #868383", ">. c #312D2E",
"W c #D1D1D1", ",. c #D6D5D5",
"Z c #AEACAC", "'. c #262223",
"| c #C7C6C6", "). c #B9B8B8",
"-. c #D6D5D5", "!. c #7F7C7D",
"g. c #EFEFEF", "~. c #DCDBDB",
"g c #D6D5D6", "{. c #ECECEC",
"q c #E5E4E4", "]. c #9B999A",
"T c #FEFEFE", "^. c #A2A1A1",
"@X c #1B1718", "/. c #D4D3D4",
" X c #2A2626", "(. c #636161",
"> c #2A2627", "_. c #221D1E",
"v c #393535", ":. c #939192",
":X c #615E5F", "<. c #191516",
"&X c #575354", "[. c #322F2F",
"J c #706D6E", "}. c #817F7F",
"2. c #A2A1A1", "|. c #FAFAFA",
">. c #7F7C7D", "1. c #F7F7F7",
/* pixels */ "2. c #777475",
" ", "3. c #2F2B2C",
" ", "4. c #3F3C3D",
" ", "5. c #4D494A",
" ", "6. c #929091",
" ", "7. c #241F21",
" . . . . . . . . X o O + . . . . . . . . ", "8. c #1A1617",
" . . . . . . . @ # $ % & * . . . . . . . ", "9. c #C3C3C3",
" . . . . . = - ; : > > , < 1 2 . . . . . ", "0. c #B8B6B6",
" . . . . 3 4 , > 5 6 7 > 5 8 9 0 . . . . ", "a. c #1C1719",
" . X q w e r t y u i p a 5 t s d f * . . ", "b. c #2B2728",
" . g h j t s k 1 . . . + l z x c v & . . ", "c. c #656364",
" b n m M N B b . V C Z b . b A S D . F G ", "d. c #EFEFEF",
" H J @ K L . . P I x r U Y T . . . R E W ", "e. c #8C898A",
" Q ! ~ R . T ^ / ( ) ~ j _ ` . ' ] [ { } ", "f. c #1A1517",
" | . .... X.o.O.+.r s @.#.$.%.&.*.=., -. ", "g. c #231E1F",
" | .;.:.T >.E ,.<.1.2.<.3.4.5.> M ~ , -. ", "h. c #999898",
" | .;.:.. 6.7.8.9.0.q.w.e.5 5 r.t.e , -. ", "i. c #8F8E8E",
" | .;.:.. y.u.e i.p.a.s.=.d.f.g.| h 8 -. ", "j. c #191416",
" | .;.& . h.j.~ k.l.z._ =.x.:.. c.;.8 -. ", "k. c #BEBCBC",
" | .v.b.. n.m.M.N.B.V.N.t C.Z.. O.: 8 -. ", "l. c #252121",
" O.x A.S.D.. . F.G.H.J.z K.. . L.P.7 _ I. ", "m. c #BCBBBB",
" U.Y.e M.e T.n . D R.K g.. i E.=.t M 7.3 ", "n. c #E3E3E3",
" W.Q.!. .M.~.^./.+ . . 0.(.).5.t ._.H 2 ", "o. c #635F60",
" . . `.'.~ s ].5 [.{.}.|. Xt 5..XXXi . . ", "p. c #272324",
" . . . . oXOX, +X@X6.#X! 5 8 h.L . . . . ", "q. c #191415",
" . . . . . $X%X&X*X=X-X;X:X>X2 . . . . . ", "r. c #999899",
" . . . . . . . ,XC XX<X1X$.. . . . . . . ", "s. c #8F8C8D",
" ", "t. c #6E6C6C",
" ", "u. c #F3F3F3",
" ", "v. c #2D292A",
" ", "w. c #646263",
" " "x. c #E4E3E3",
}; "y. c #C2C1C1",
"z. c #4B4849",
"A. c #9E9E9E",
"B. c #979596",
"C. c #CDCCCD",
"D. c #E6E5E6",
"E. c #787676",
"F. c #D3D3D3",
"G. c #CAC9CA",
"H. c #171214",
"I. c #ADACAD",
"J. c #F1F0F0",
"K. c #B1B0B0",
"L. c #FAF9FA",
"M. c #BEBDBE",
"N. c #3B3738",
"O. c #211D1E",
"P. c #504C4D",
"Q. c #C4C2C3",
"R. c #BAB8B9",
"S. c #4C4849",
"T. c #423F40",
"U. c #E8E8E8",
"V. c #9C9A9B",
"W. c #292426",
"X. c #6A6768",
"Y. c #F2F1F2",
"Z. c #EFEEEE",
"`. c #605D5E",
" + c #2A2626",
".+ c #373435",
"++ c #A8A6A7",
"@+ c #DBDADB",
"#+ c #848282",
"$+ c #2A2526",
"%+ c #1B1718",
"&+ c #898686",
"*+ c #F9F9F9",
"=+ c #C9C8C9",
"-+ c #575354",
";+ c #151012",
">+ c #979595",
",+ c #8B8989",
"'+ c #151112",
")+ c #615E5F",
"!+ c #D1D0D1",
"~+ c #F1F1F1",
"{+ c #A2A0A1",
"]+ c #B2B1B1",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . + @ # $ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . % & * = - ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . > , ' ) ! ! ~ { ] ^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . / ( ~ ! _ : < ! _ [ } | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . + 1 2 3 4 5 6 7 8 9 0 _ 5 a b c ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . d e f 5 a g ] . . . $ h i j k l - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . m n o p q r m . s t u m . m v w x . y z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . A B % C D . . E F j 4 G H I . . . J K L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . M N O J . I P Q R S O f T U . V W X Y Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` . .... +.@.#.$.4 a %.&.*.=.-.;.>.~ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` .'.).I !.K ~.{.].^.{./.(._.! p O ~ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` .'.).. :.<.[.}.|.1.2.3._ _ 4.5.3 ~ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` .'.).. 6.7.3 8.9.0.a.>.b.c.d.` e [ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` .'.- . e.f.O g.h.i.T >.j.).. k.'.[ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . ` .l.m.. n.o.p.q.r.s.q.5 t.u.. #.) [ ,.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . #.j v.w.x.. . y.z.A.B.i C.. . D.E.< T F.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . G.H.3 p.3 I.n . x J.C d.. 8 K.>.5 p <./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . L.M.N. .p.O.P.Q.$ . . |.R.S._.5 .T.A ^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . U.V.O a W._ X.Y.Z.`. +5 _..+++8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . @+#+~ $+%+:.&+N _ [ e.D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . *+=+-+;+>+,+'+)+!+^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . ~+t ++{+]+*.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};

View File

@ -1,384 +1,382 @@
/* XPM */ /* XPM */
static const char * Platform_Wad_xpm[] = { static const char * Platform_Wad_xpm[] = {
"96 32 347 2", "96 32 347 2",
"hX c #71CBE2",
"v. c #DADCDC",
"a c #DDDDDE",
"!. c #DDDDDF",
"} c #E0E1E1",
"i c #76777B",
")X c #62D8F4",
"go c #5CD6F5",
"a. c #ECEBEC",
">. c #EFEFEF",
"FX c #6EDCF7",
"x. c #7C7F82",
"qo c #8CE3F7",
"sX c #9EE6F8",
"Z c #F2F3F3",
"oo c #A7E9F9",
"yX c #F2F3F4",
"Bo c #AAEAFA",
"c c #828488",
"3. c #85888A",
"X c #F8F8F8",
"*X c #85888B",
"do c #D1F4FC",
"po c #CEF3FC",
"H c #88898C",
"K. c #85888C",
"gX c #D7FCFF",
"6. c #8B8D8F",
"*o c #F8FEFE",
"`X c #F2FCFF",
" o c #EFFBFF",
";X c #F5FDFF",
"M. c #9A9B9E",
"] c #B8BABB",
"z. c #BEBFC1",
", c #D6D6D8",
"N c #E8E8E9",
"BX c #58D6F4",
"vo c #6AD9F5",
"ao c #79DEF7",
"zX c #4FD9FA",
"V c #7B7D81",
" . c #F1F1F0",
"r c #7E8184",
"!X c #94E4F8",
"m. c #F1F1F2",
"IX c #9DE7FA",
"Fo c #BEEFFB",
"Do c #B5ECFB",
"` c #84868A",
".. c #FAFAF9",
"PX c #B8F0FE",
"8 c #FAFAFA",
"Ho c #DCF6FD",
"yo c #E5F9FD",
"wo c #E2F8FD",
"rX c #DFF7FD",
"3X c #E2F8FE",
"# c #FDFEFD",
"QX c #FDFEFE",
"qX c #848C92",
"6X c #8A8E92",
"r. c #8D8F93",
"_ c #909396",
"u c #96989A",
">X c #84959C",
",. c #9C9DA0",
"A c #9FA1A3",
"'. c #9FA1A4",
"2 c #ABABAD",
"D. c #AEAFB2",
"l. c #B1B3B4",
"iX c #BDBDC0",
"D c #C3C5C5",
"( c #C6C6C8",
"v c #C9CACB",
"<. c #CCCECF",
" c None", " c None",
"| c #DBDCDD", ". c #FFFFFF",
"w. c #E1E1E2", "+ c #F9F9FA",
"> c #E4E5E5", "@ c #F8F8F8",
"EX c #60D7F5", "# c #FAFBFA",
" X c #EDEBEC", "$ c #FEFEFE",
"RX c #72DDF6", "% c #F7F8F8",
"8o c #69DAF6", "& c #FDFEFD",
"+X c #F0ECED", "* c #FCFCFC",
"Y. c #EDEEEF", "= c #F8F9F9",
"eo c #8AE2F8", "- c #F9FAFA",
"g. c #F3F3F4", "; c #FAFBFB",
"0o c #ABEAFA", "> c #E5E5E5",
"]. c #F9F8F7", ", c #D9D9DA",
"'X c #CCF2FC", "' c #F5F5F5",
"no c #D8F6FD", ") c #FFFFFE",
"J c #86888C", "! c #E4E5E5",
"HX c #E7F8FC", "~ c #D6D6D8",
"$ c #FCFCFC", "{ c #F4F4F5",
"Jo c #F0FBFE", "] c #DDDEDF",
"_X c #DEF8FF", "^ c #ABABAD",
"to c #F3FCFE", "/ c #BBBDBE",
"/. c #8F9194", "( c #F0F0F0",
"k c #8F9195", "_ c #D3D3D5",
": c #A3A6A9",
"< c #C7C9CA",
"[ c #FAFAFA",
"} c #C1C2C4",
"| c #ADAEB1",
"1 c #D1D2D4",
"2 c #E7E8E9",
"3 c #919396",
"4 c #7E8184",
"5 c #C0C2C4",
"6 c #E7E7E9",
"7 c #96989A",
"8 c #76777B",
"9 c #CACACC",
"0 c #DDDDDE",
"a c #808184",
"b c #8C8E91",
"c c #DBDDDC",
"d c #EDEDED",
"e c #9E9FA2",
"f c #76797C",
"g c #8F9195",
"h c #E4E4E6",
"i c #EEEEEF",
"j c #909295",
"k c #828488",
"l c #C9CACB",
"m c #EDEDEF",
"n c #95969A", "n c #95969A",
"`. c #989A9C", "o c #828688",
"h c #9E9FA2", "p c #C2C3C4",
"5X c #899EA7", "q c #E8E8E9",
"0X c #8FA6AD", "r c #989B9E",
"[. c #AAACAE", "s c #7B7D81",
"&. c #B9BABC", "t c #CCCCCE",
"M c #C2C3C4", "u c #F2F3F3",
"H. c #C5C7C8", "v c #9FA1A3",
"f. c #CBCCCD", "w c #898B8E",
"c. c #D1D1D2", "x c #C3C5C5",
"1 c #DDDEDF", "y c #D6D7D9",
"6o c #38CEF3", "z c #8C8F92",
"/X c #44CFF2", "A c #88898C",
"#o c #56D5F4", "B c #86888C",
"VX c #53D4F4", "C c #CECFD1",
"9X c #D4E7ED", "D c #FFFEFE",
"jo c #59D6F5", "E c #D5D5D6",
"bX c #56D5F5", "F c #8E9092",
"Y c #ECECED", "G c #97999B",
".X c #F2EEEF", "H c #ECECED",
"-. c #EFF0F0", "I c #EAE9EA",
"LX c #74DCF7", "J c #F7F7F7",
"aX c #80E0F8", "K c #E7E8E8",
"7o c #7DDFF8", "L c #DCDCDD",
"#X c #7F8184", "M c #F7F7F8",
"xo c #95E4F8", "N c #FBFBFB",
"<o c #92E3F8", "O c #B4B6B8",
"dX c #5FDEFD", "P c #838589",
"@o c #98E5F9", "Q c #AEB0B1",
"; c #F5F5F5", "R c #C6C6C8",
"lo c #9BE6FA", "S c #85878B",
"C. c #828588", "T c #909396",
"MX c #98E8FC", "U c #84868A",
"So c #C5F1FB", "V c #BDBEC0",
"Co c #BFEFFB", "W c #B8BABB",
"% c #F8F9F9", "X c #8A8C8E",
"mX c #A7F0FF", "Y c #A1A2A5",
"cX c #CBF6FF", "Z c #E0E1E1",
"I. c #888A8D", "` c #DBDCDD",
"eX c #E3F8FD", " . c #F1F1F0",
"Io c #ECFBFE", ".. c #FAFAF9",
"). c #888A8E", "+. c #E4E4E4",
"ho c #E3F8FE", "@. c #DADBDB",
"+ c #FEFEFE", "#. c #D4D4D5",
"8X c #E9FAFF", "$. c #818387",
"|. c #8E8F93", "%. c #9FA0A3",
"e c #919396", "&. c #F5F6F6",
"=. c #9A9C9F", "*. c #A7A9AB",
"@X c #A3A2A4", "=. c #8B8C90",
"2. c #A3A5A7", "-. c #B9BABC",
"P. c #B5B7B9", ";. c #939698",
"F. c #B8B8BA", ">. c #9A9C9F",
"=X c #BEC0C1", ",. c #EFF0F0",
"7 c #C7C9CA", "'. c #A5A7A9",
"p c #CACACC", "). c #87898C",
"Z. c #CDCECF", "!. c #EFEFEF",
"5 c #D3D3D5", "~. c #9C9DA0",
"F c #D6D7D9", "{. c #CCCECF",
"W c #DCDCDD", "]. c #EDEDEE",
"= c #E5E5E5", "^. c #A3A5A7",
"0. c #E5E5E6", "/. c #85888A",
"uo c #6DDBF5", "(. c #CECFCF",
"[X c #61D7F5", "_. c #EBEBEC",
"y. c #EEEEEE", ":. c #8B8D8F",
"-o c #70DCF6", "<. c #909296",
"ko c #6DDBF6", "[. c #DFDEE0",
"+o c #6ADAF6", "}. c #97999C",
"NX c #67D9F6", "|. c #E5E5E6",
"z c #EEEEEF", "1. c #AAABAE",
"vX c #52D8F9", "2. c #E1E1E2",
"~X c #70DCF8", "3. c #97999D",
"GX c #AFE5F4", "4. c #8D8F93",
">o c #88E1F7", "5. c #E1E2E3",
"5o c #91E4F8", "6. c #EEEEEE",
"TX c #8BE2F8", "7. c #96979B",
"pX c #F1F2F3", "8. c #838588",
".o c #9AE7F9", "9. c #CACBCC",
"+. c #818387", "0. c #ECEBEC",
"YX c #B5EDFA", "a. c #9EA0A3",
"S. c #818388", "b. c #7D8084",
"R c #F7F7F7", "c. c #CBCCCD",
"Q c #F7F7F8", "d. c #F3F3F4",
"o c #FAFBFA", "e. c #A2A4A6",
"* c #FAFBFB", "f. c #CFD0D1",
"[ c #8A8C8E", "g. c #818486",
"WX c #EEFAFD", "h. c #B1B3B4",
"R. c #8A8C8F", "i. c #BEBFC1",
"W. c #909194", "j. c #7C7F82",
"^. c #9C9EA1", "k. c #D1D1D2",
"V. c #A2A3A6", "l. c #DADCDC",
";. c #A5A7A9", "m. c #8E9094",
"/ c #AEB0B1",
"U. c #B4B5B7",
"' c #BDBEC0",
"t c #C0C2C4",
"OX c #CCCCCD",
"C c #CCCCCE",
"j. c #CFD0D1",
"jX c #A5CBD6",
"P c #D5D5D6",
"f c #DBDDDC",
"t. c #E1E2E3",
"y c #E7E7E9",
"1o c #57D5F4",
"%o c #54D4F4",
":o c #66DAF6",
"4X c #CFE8EF",
"B. c #EDECED",
"nX c #45D5F9",
"4 c #F0F0F0",
"^X c #72DEF9",
"&o c #9FE7F8",
"s c #808184",
"(X c #99E5F8",
"d. c #7D8084",
"i. c #838588",
"2X c #F0F6F7",
"^ c #838589",
"Mo c #C0EFFB",
"Lo c #C3F0FC",
". c #F9F9FA",
"tX c #E7F9FD",
"L c #FFFEFE",
"d c #8C8E91",
"Q. c #929397",
"(. c #959799",
"XX c #9B999C",
"B c #989B9E",
"s. c #9EA0A3",
"$. c #A7A9AB",
"0 c #ADAEB1",
"A. c #C8C9CA",
"$X c #CECECF",
"q c #D1D2D4",
"wX c #CBD3D7",
"J. c #D7D7D8",
"o. c #DADBDB",
"fo c #50D4F4",
"j c #76797C",
"UX c #5FD6F4",
"Xo c #56D6F5",
"ZX c #7ADCF4",
"lX c #56D9FA",
"|X c #98E6F8",
"=o c #92E4F8",
"AX c #D4EEF5",
"CX c #86E3FA",
"Oo c #AAE9F9",
"Go c #B3ECFA",
"#. c #F5F6F6",
"m c #828688",
"]X c #B0EBFB",
"oX c #85878A",
"Po c #CEF2FC",
") c #85878B",
"! c #FBFBFB",
"co c #D1F3FD",
"JX c #D1F6FE",
"KX c #F8FDFE",
"}. c #8B8C8F",
"Ao c #F8FDFF",
"%. c #8B8C90",
"I c #8E9092",
"b. c #8E9094",
"U c #97999B",
"9. c #97999C",
"e. c #97999D",
"6 c #A3A6A9",
"3 c #BBBDBE",
"9 c #C1C2C4",
"p. c #CACBCC",
"- c #D9D9DA",
"8. c #DFDEE0",
"9o c #31CBF2",
"SX c #46D2F5",
"mo c #5ED7F4",
"~. c #EBEBEB",
"$o c #64D9F5",
"5. c #EBEBEC",
"2o c #88E2F7",
"1X c #DFEDF1",
"k. c #818486",
"< c #F4F4F5",
"Ko c #C7F1FB",
"@ c #F7F8F8",
"Vo c #CDF3FC",
"4o c #C7F1FC",
":. c #87898C",
"{. c #8A8A8D",
"-X c #EEFBFE",
"ro c #E8F9FE",
"x c #909295",
"7. c #909296",
"*. c #939698",
",X c #8A9398",
"u. c #96979B",
"n. c #999B9E", "n. c #999B9E",
"@. c #9FA0A3", "o. c #F1F1F2",
"h. c #A2A4A6", "p. c #9A9B9E",
"L. c #B1B2B5", "q. c #CCCDCE",
"~ c #B4B6B8", "r. c #EDECED",
"%X c #BDBFC1", "s. c #A2A3A6",
"N. c #CCCDCE", "t. c #828588",
"7X c #CCD0D2", "u. c #CDCECF",
"T. c #DBDBDD", "v. c #C8C9CA",
"X. c #E4E4E4", "w. c #818388",
"l c #E4E4E6", "x. c #AEAFB2",
"so c #33CDF3", "y. c #B8B8BA",
"E c #E7E8E8", "z. c #838688",
"w c #E7E8E9", "A. c #C5C7C8",
"xX c #C0E1EB", "B. c #D7D7D8",
"No c #48D1F4", "C. c #85888C",
"T c #EAE9EA", "D. c #B1B2B5",
"zo c #45D0F4", "E. c #B5B7B9",
"kX c #4ED6F6", "F. c #888A8D",
"g c #EDEDED", "G. c #B4B5B7",
"1. c #EDEDEE", "H. c #EDEEEF",
"b c #EDEDEF", "I. c #DBDBDD",
";o c #78DEF7", "J. c #8A8C8F",
"}X c #8DE2F7", "K. c #929498",
"3o c #93E4F8", "L. c #909194",
"&X c #808286", "M. c #929397",
"{X c #B1EBF9", "N. c #DDDDDF",
"G. c #838688", "O. c #EBEBEB",
"io c #B7EDFA", "P. c #9C9EA1",
",o c #B7EDFB", "Q. c #8F9194",
"DX c #C9F3FC", "R. c #959799",
"& c #F9FAFA", "S. c #888A8E",
"fX c #C6F8FF", "T. c #CECFD2",
"Zo c #D8F5FD", "U. c #989A9C",
"S c #898B8E", "V. c #9FA1A4",
": c #FFFFFE", "W. c #F9F8F7",
"bo c #F9FDFF", "X. c #AAACAE",
"O c #FFFFFF", "Y. c #8A8A8D",
"G c #8C8F92", "Z. c #8B8C8F",
"E. c #929498", "`. c #8E8F93",
"{ c #A1A2A5", " + c #EDEBEC",
"q. c #AAABAE", ".+ c #F2EEEF",
"<X c #B3B4B6", "++ c #9B999C",
"uX c #B9B9BD", "@+ c #85878A",
":X c #CBCBCD", "#+ c #CCCCCD",
"4. c #CECFCF", "$+ c #F0ECED",
"K c #CECFD1", "%+ c #A3A2A4",
"_. c #CECFD2", "&+ c #7F8184",
"O. c #D4D4D5", "*+ c #CECECF",
/* pixels */ "=+ c #BDBFC1",
" ", "-+ c #808286",
" ", ";+ c #85888B",
" ", ">+ c #BEC0C1",
" ", ",+ c #EEFBFE",
" ", "'+ c #F5FDFF",
" ", ")+ c #CBCBCD",
" ", "!+ c #84959C",
". X o O O O O + @ # O O O O $ % & * = - ; O : > , < ", "~+ c #8A9398",
"1 2 3 4 O O + 5 6 7 8 O O . 9 0 q w e r t O y u i p ", "{+ c #B3B4B6",
"a s d f O O g h j k l O O z x c v b n m M O N B V C ", "]+ c #DFEDF1",
"Z A S D O O F G H J K L O P I U Y O T a R O O E W Q ", "^+ c #F0F6F7",
"! ~ ^ / O O ( ) _ ` ' & O ] [ { + 8 } | .O ..X.o.4 ", "/+ c #E2F8FE",
"O O.+.@.#.X $.%.&.*.=.-.: ;.:.M O >.,.[ <.O 1.2.3.4. ", "(+ c #CFE8EF",
"O 5.6.7.8.z e 9.0.q.` w.N e.r.t.O y.u.i.p.O a.s.d.f. ", "_+ c #899EA7",
"O g.h.:.j.a k.l.+ z.x.c.v.b.n.m.O z M.:.N.O B.V.C.Z. ", ":+ c #8A8E92",
"O $ A.S.D.F.G.H.O J.K.L.P.I.U.$ O Y.M.:.N.O B.V.C.Z. ", "<+ c #CCD0D2",
"O O T.R.E.W.Q.!.O ~.^./.(.)._.+ O z M.:.N.O B.V.C.Z. ", "[+ c #E9FAFF",
"O O z `.I.:.'.Y.O ].[.{.}.|. XO O .XXXoXOXO +X@X#X$X ", "}+ c #D4E7ED",
"O O 8 %X&X*X=XO -X;X:X>X,X<X1X2X3X4X5X6X7X8X9X0XqXwXeXrXtX ", "|+ c #8FA6AD",
"O O O yXuXiXpXO aXsXO dXfXgXhXjXkXlXzXxXcXvXbXnXmXMXNXBXVX ", "1+ c #848C92",
" CXZXAXSXDXFXGXHXJXKXLXPXIXUXYXTXRXEXWXQXNX ", "2+ c #CBD3D7",
" !X~X^X/X(X)X_X`X'X]X[X{X}X|XO o.oXoooOo+o ", "3+ c #E3F8FD",
" @oVX#o$o%o&o*o=o-o;o:o'X>o,oO QX<o1o2o3o4o ", "4+ c #DFF7FD",
" 5o6o7o8o9oeX0oqowo]XeoroeotoO youoioO porX ", "5+ c #E7F9FD",
" aosodofogohojokolozoxocovoboO nomo3oMoNoBo ", "6+ c #F2F3F4",
" VoCoO 4oZoAoSoDoFoGoHoJoKoAoO Jo4oLoPoMoIo ", "7+ c #B9B9BD",
" ", "8+ c #BDBDC0",
" ", "9+ c #F1F2F3",
" ", "0+ c #80E0F8",
" ", "a+ c #9EE6F8",
" ", "b+ c #5FDEFD",
" " "c+ c #C6F8FF",
}; "d+ c #D7FCFF",
"e+ c #71CBE2",
"f+ c #A5CBD6",
"g+ c #4ED6F6",
"h+ c #56D9FA",
"i+ c #4FD9FA",
"j+ c #C0E1EB",
"k+ c #CBF6FF",
"l+ c #52D8F9",
"m+ c #56D5F5",
"n+ c #45D5F9",
"o+ c #A7F0FF",
"p+ c #98E8FC",
"q+ c #67D9F6",
"r+ c #58D6F4",
"s+ c #53D4F4",
"t+ c #86E3FA",
"u+ c #7ADCF4",
"v+ c #D4EEF5",
"w+ c #46D2F5",
"x+ c #C9F3FC",
"y+ c #6EDCF7",
"z+ c #AFE5F4",
"A+ c #E7F8FC",
"B+ c #D1F6FE",
"C+ c #F8FDFE",
"D+ c #74DCF7",
"E+ c #B8F0FE",
"F+ c #9DE7FA",
"G+ c #5FD6F4",
"H+ c #B5EDFA",
"I+ c #8BE2F8",
"J+ c #72DDF6",
"K+ c #60D7F5",
"L+ c #EEFAFD",
"M+ c #FDFEFE",
"N+ c #94E4F8",
"O+ c #70DCF8",
"P+ c #72DEF9",
"Q+ c #44CFF2",
"R+ c #99E5F8",
"S+ c #62D8F4",
"T+ c #DEF8FF",
"U+ c #F2FCFF",
"V+ c #CCF2FC",
"W+ c #B0EBFB",
"X+ c #61D7F5",
"Y+ c #B1EBF9",
"Z+ c #8DE2F7",
"`+ c #98E6F8",
" @ c #EFFBFF",
".@ c #9AE7F9",
"+@ c #56D6F5",
"@@ c #A7E9F9",
"#@ c #AAE9F9",
"$@ c #6ADAF6",
"%@ c #98E5F9",
"&@ c #56D5F4",
"*@ c #64D9F5",
"=@ c #54D4F4",
"-@ c #9FE7F8",
";@ c #F8FEFE",
">@ c #92E4F8",
",@ c #70DCF6",
"'@ c #78DEF7",
")@ c #66DAF6",
"!@ c #88E1F7",
"~@ c #B7EDFB",
"{@ c #92E3F8",
"]@ c #57D5F4",
"^@ c #88E2F7",
"/@ c #93E4F8",
"(@ c #C7F1FC",
"_@ c #91E4F8",
":@ c #38CEF3",
"<@ c #7DDFF8",
"[@ c #69DAF6",
"}@ c #31CBF2",
"|@ c #ABEAFA",
"1@ c #8CE3F7",
"2@ c #E2F8FD",
"3@ c #8AE2F8",
"4@ c #E8F9FE",
"5@ c #F3FCFE",
"6@ c #E5F9FD",
"7@ c #6DDBF5",
"8@ c #B7EDFA",
"9@ c #CEF3FC",
"0@ c #79DEF7",
"a@ c #33CDF3",
"b@ c #D1F4FC",
"c@ c #50D4F4",
"d@ c #5CD6F5",
"e@ c #E3F8FE",
"f@ c #59D6F5",
"g@ c #6DDBF6",
"h@ c #9BE6FA",
"i@ c #45D0F4",
"j@ c #95E4F8",
"k@ c #D1F3FD",
"l@ c #6AD9F5",
"m@ c #F9FDFF",
"n@ c #D8F6FD",
"o@ c #5ED7F4",
"p@ c #C0EFFB",
"q@ c #48D1F4",
"r@ c #AAEAFA",
"s@ c #CDF3FC",
"t@ c #BFEFFB",
"u@ c #D8F5FD",
"v@ c #F8FDFF",
"w@ c #C5F1FB",
"x@ c #B5ECFB",
"y@ c #BEEFFB",
"z@ c #B3ECFA",
"A@ c #DCF6FD",
"B@ c #F0FBFE",
"C@ c #C7F1FB",
"D@ c #C3F0FC",
"E@ c #CEF2FC",
"F@ c #ECFBFE",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . + @ # . . . . $ % & . . . . * = - ; > , ' . ) ! ~ { . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . ] ^ / ( . . $ _ : < [ . . + } | 1 2 3 4 5 . 6 7 8 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . 0 a b c . . d e f g h . . i j k l m n o p . q r s t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . u v w x . . y z A B C D . E F G H . I 0 J . . K L M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . N O P Q . . R S T U V - . W X Y $ [ Z ` .. ..+.@.( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . #.$.%.&.@ *.=.-.;.>.,.) '.).p . !.~.X {.. ].^./.(.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . _.:.<.[.i 3 }.|.1.U 2.q 3.4.5.. 6.7.8.9.. 0.a.b.c.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . d.e.).f.0 g.h.$ i.j.k.l.m.n.o.. i p.).q.. r.s.t.u.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . * v.w.x.y.z.A.. B.C.D.E.F.G.* . H.p.).q.. r.s.t.u.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . I.J.K.L.M.N.. O.P.Q.R.S.T.$ . i p.).q.. r.s.t.u.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . i U.F.).V.H.. W.X.Y.Z.`. +. . .+++@+#+. $+%+&+*+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . [ =+-+;+>+. ,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . 6+7+8+9+. 0+a+. b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+q+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+. @.@+@@@#@$@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . %@s+&@*@=@-@;@>@,@'@)@V+!@~@. M+{@]@^@/@(@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . _@:@<@[@}@3+|@1@2@W+3@4@3@5@. 6@7@8@. 9@4+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . 0@a@b@c@d@e@f@g@h@i@j@k@l@m@. n@o@/@p@q@r@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . s@t@. (@u@v@w@x@y@z@A@B@C@v@. B@(@D@E@p@F@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};

View File

@ -1,195 +1,192 @@
/* XPM */ /* XPM */
static const char * Platform_Wii_xpm[] = { static const char * Platform_Wii_xpm[] = {
/* columns rows colors chars-per-pixel */ "96 32 186 2",
"96 32 187 2", " c #FFFFFF",
":. c #C5C6C8",
"V c #D4D5D6",
"k c #E3E4E4",
"w. c #CACACC",
"5. c #E8E8E9",
"5 c #F7F7F8",
"8 c #8C8E91",
".X c #AAACAF",
"+. c #AFB0B2",
"= c #DCDDDE",
"L. c #EBECED",
"H c #FAFBFB",
"%. c #F0F0F0",
"J. c #F0F0F1",
"+ c #FFFFFF",
"O. c #808386",
"U. c #8F9294",
"0. c #85878A",
"S. c #949698",
"K. c #949699",
"2. c #B2B4B6",
"!. c #A8A9AC",
"z. c #B7B8BA",
"S c #C6C7C8",
"7. c #D5D6D7",
"P c #F3F4F4",
") c #E9E9E9",
"m. c #E9E9EB",
"% c #F8F8F8",
"n. c #F8F8F9",
"p. c #888B8D",
"h c #7E8084",
"n c #8D8F92",
"k. c #9C9EA0",
"8. c #8D8F93",
"u c #BABCBE",
"} c #E2E2E2",
"N c #E2E2E3",
"( c #F1F1F1",
">. c #818487",
"x. c #818488",
"K c #86888B",
"A. c #959799",
"<. c #86888C",
"r. c #95979A",
"j. c #8B8C8F",
"v c #B3B5B7",
"9. c #A9AAAD",
", c #C7C8C9",
"* c #E5E6E7",
"*. c #F9F9F9",
"Q. c #7F8184",
",. c #8E9092",
"B c #8E9093",
"U c #9D9FA3",
"R. c #A2A3A6",
"[ c #CFD0D0",
"e c #C0C1C3",
"d c #EDEEEE",
"(. c #FCFDFD",
"b c #87898C",
"/ c #96989A",
"^ c #87898D",
"t c #96989B",
"L c #A5A7A9",
"- c #E6E7E8",
"X c #DCDCDD",
"]. c #FAFAFA",
"e. c #8A8D90",
"N. c #8F9194",
"d. c #9EA0A3",
"{. c #9EA0A4",
"=. c #A3A4A7",
" X c #A3A4A8",
"s. c #CBCDCE",
"| c #C1C2C3",
"o c #DFE0E0",
"Z c #C6C6C8",
" c None",
"|. c #D5D5D7",
"R c #E4E4E5",
"XX c #F3F3F3",
"! c #F3F3F4",
"O c #F8F7F7",
"#. c #838689",
"' c #888A8D",
"x c #888A8E",
"Q c #97999C",
";. c #A6A8AA",
"c c #C4C6C6",
"@. c #C4C6C7",
"b. c #BABBBD",
"4. c #C9CACB",
"P. c #C9CACC",
"1. c #BFBFC2",
"; c #F6F7F7",
"r c #ECECED",
"f c #FBFBFB",
"T. c #FBFBFC",
"p c #909296",
"7 c #86878A",
"{ c #BDBFC0",
"] c #A4A5A8",
"_ c #D1D2D4",
"D c #E0E1E1",
"~. c #C7C7C9",
"Y. c #EFF0F0",
"I c #F4F4F4",
"f. c #F4F4F5",
"w c #84878A",
"s c #939699",
"W c #898B8E",
"6. c #898B8F",
"B. c #989A9D",
"g. c #989A9E",
"` c #A7A9AB",
"^. c #8E8F93",
" . c #C5C7C7",
"E. c #ACADAF",
"[. c #BBBCBF",
"c. c #C0C0C2",
"6 c #D9DADB",
"0 c #DEDEDF",
". c #EDEDEE", ". c #EDEDEE",
"@ c #FCFCFC", "+ c #DCDCDD",
"a c #7D8083", "@ c #DFE0E0",
"j c #828487", "# c #F8F7F7",
"F c #9B9EA1", "$ c #FCFCFC",
"z c #96979A", "% c #E1E2E3",
"`. c #A5A6A8", "& c #DADBDC",
"W. c #A5A6A9", "* c #F8F8F8",
"y. c #B4B5B7", "= c #FEFEFE",
"Z. c #D2D3D4", "- c #E5E6E7",
"2 c #E1E2E2", "; c #DCDDDE",
"h. c #C8C8CA", "> c #E6E7E8",
"# c #E1E2E3", ", c #F6F7F7",
"l. c #F0F1F2", "' c #C5C6C7",
"). c #E6E6E7", ") c #97989B",
"M c #F5F5F6", "! c #C7C8C9",
"Y c #8A8C8F", "~ c #FDFDFD",
"X. c #8A8C90", "{ c #FEFEFF",
"3 c #999B9D", "] c #E1E2E2",
"A c #999B9E", "^ c #999B9D",
"q. c #ADAEB0", "/ c #ABABAF",
"&. c #CBCCCD", "( c #F7F7F8",
"G. c #CBCCCE", "_ c #D9DADB",
"$ c #DADBDC", ": c #86878A",
"/. c #F8F9F9", "< c #8C8E91",
"l c #EEEEEE", "[ c #D3D4D4",
"'. c #EEEEEF", "} c #DEDEDF",
"< c #FDFDFD", "| c #8B8D91",
"C c #FDFDFE", "1 c #84878A",
"3. c #7E8184", "2 c #C0C1C3",
"u. c #838588", "3 c #ECECED",
"M. c #929496", "4 c #96989B",
"y c #838589", "5 c #838589",
"H. c #929497", "6 c #BABCBE",
"V. c #88898C", "7 c #EFEFF0",
"i. c #B0B2B3", "8 c #909296",
"J c #B0B2B4", "9 c #7D8083",
"> c #97989B", "0 c #939699",
"C. c #B5B6B9", "a c #EDEEEE",
"~ c #C4C5C6", "b c #FBFBFB",
"9 c #D3D4D4", "c c #AEAFB2",
"4 c #ABABAF", "d c #7E8084",
"D. c #D3D4D6", "e c #828487",
".. c #E7E7E7", "f c #E3E4E4",
"G c #F6F6F7", "g c #EEEEEE",
"-. c #7C7E81", "h c #96979A",
"o. c #8B8D90", "i c #888A8E",
"a. c #9A9C9E", "j c #C4C6C6",
"q c #8B8D91", "k c #B3B5B7",
"m c #9A9C9F", "l c #87898C",
"$. c #A9ABAD", "m c #8D8F92",
"v. c #A9ABAE", "n c #9A9C9F",
"E c #BDBEBF", "o c #F5F5F6",
"g c #AEAFB2", "p c #E2E2E3",
"}. c #BDBEC1", "q c #8E9093",
"t. c #EAEBEB", "r c #D4D5D6",
"i c #EFEFF0", "s c #FDFDFE",
"& c #FEFEFE", "t c #C6C6C8",
"1 c #FEFEFF", "u c #999B9E",
"I. c #848689", "v c #C6C7C8",
"T c #8E9195", "w c #E0E1E1",
"F. c #A2A4A6", "x c #9B9EA1",
"_. c #A2A4A7", "y c #F6F6F7",
": c #C5C6C7", "z c #FAFBFB",
/* pixels */ "A c #B0B2B4",
"B c #86888B",
"C c #A5A7A9",
"D c #F3F4F4",
"E c #F4F4F4",
"F c #9D9FA3",
"G c #8A8C8F",
"H c #8E9195",
"I c #E4E4E5",
"J c #BDBEBF",
"K c #898B8E",
"L c #97999C",
"M c #F3F3F4",
"N c #C4C5C6",
"O c #87898D",
"P c #96989A",
"Q c #F1F1F1",
"R c #E9E9E9",
"S c #D1D2D4",
"T c #A7A9AB",
"U c #888A8D",
"V c #A4A5A8",
"W c #CFD0D0",
"X c #BDBFC0",
"Y c #E2E2E2",
"Z c #C1C2C3",
"` c #C5C7C7",
" . c #E7E7E7",
".. c #8A8C90",
"+. c #8B8D90",
"@. c #808386",
"#. c #AFB0B2",
"$. c #C4C6C7",
"%. c #838689",
"&. c #A9ABAD",
"*. c #F0F0F0",
"=. c #CBCCCD",
"-. c #F9F9F9",
";. c #A3A4A7",
">. c #7C7E81",
",. c #A6A8AA",
"'. c #C5C6C8",
"). c #818487",
"!. c #8E9092",
"~. c #86888C",
"{. c #BFBFC2",
"]. c #B2B4B6",
"^. c #7E8184",
"/. c #C9CACB",
"(. c #E8E8E9",
"_. c #898B8F",
":. c #D5D6D7",
"<. c #8D8F93",
"[. c #A9AAAD",
"}. c #85878A",
"|. c #ADAEB0",
"1. c #CACACC",
"2. c #8A8D90",
"3. c #95979A",
"4. c #EAEBEB",
"5. c #B4B5B7",
"6. c #838588",
"7. c #B0B2B3",
"8. c #888B8D",
"9. c #9A9C9E",
"0. c #CBCDCE",
"a. c #9EA0A3",
"b. c #F4F4F5",
"c. c #989A9E",
"d. c #C8C8CA",
"e. c #8B8C8F",
"f. c #9C9EA0",
"g. c #F0F1F2",
"h. c #B7B8BA",
"i. c #818488",
"j. c #C0C0C2",
"k. c #A9ABAE",
"l. c #BABBBD",
"m. c #F8F8F9",
"n. c #E9E9EB",
"o. c #929496",
"p. c #8F9194",
"q. c #989A9D",
"r. c #88898C",
"s. c #B5B6B9",
"t. c #D2D3D4",
"u. c #959799",
"v. c #949698",
"w. c #D3D4D6",
"x. c #A2A4A6",
"y. c #CBCCCE",
"z. c #929497",
"A. c #F0F0F1",
"B. c #949699",
"C. c #EBECED",
"D. c #C9CACC",
"E. c #848689",
"F. c #8F9294",
"G. c #EFF0F0",
"H. c #FBFBFC",
"I. c #A2A3A6",
"J. c #ACADAF",
"K. c #A5A6A9",
"L. c #7F8184",
"M. c #A8A9AC",
"N. c #C7C7C9",
"O. c #8E8F93",
"P. c #F8F9F9",
"Q. c #FCFDFD",
"R. c #E6E6E7",
"S. c #A2A4A7",
"T. c #A5A6A8",
"U. c #EEEEEF",
"V. c #FAFAFA",
"W. c #BBBCBF",
"X. c #9EA0A4",
"Y. c #BDBEC1",
"Z. c #D5D5D7",
"`. c #A3A4A8",
" + c #AAACAF",
".+ c #F3F3F3",
" ", " ",
" ", " ",
" ", " ",
@ -199,19 +196,20 @@ static const char *Platform_Wii_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
". X o O + + + @ # $ % + + + & * = - ; : > , < 1 2 3 4 5 ", " ",
"6 7 8 9 + + + 0 q w e + + + r t y u i p a s d f g h j k ", " . + @ # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( ",
"l z x c < + f v b n m M + + N 8 B V C Z A S @ & D F g G ", " _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f ",
"H J K L P + I U Y B T R + < E W Q ! + f I f + + & I % + ", " g h i j ~ b k l m n o p < q r s t u v $ = w x c y ",
"+ ~ ^ / ( + ) q s A b _ < & ` ' ] & @ [ { 9 + + } | .P ", " z A B C D E F G q H I ~ J K L M b E b = E * ",
"+ ..X.o.$ + , O.+.@.#.$.< %.z ' &.& *.=.-.;.+ + :.>.,.) ", " N O P Q R | 0 u l S ~ = T U V = $ W X [ Y Z ` D ",
"+ 5 3 <.1.f 2.3.4.5.6.t ( 7.8.p - + *.9.0.q.+ + w.e.r.t. ", " ...+.& ! @.#.$.%.&.~ *.h U =.= -.;.>.,. '.).!.R ",
"+ f y.u.i.( 3 p.5.G a.<.R s.<.d.f.+ *.9.0.q.+ + w.e.r.t. ", " ( ^ ~.{.b ].^./.(._.4 Q :.<.8 > -.[.}.|. 1.2.3.4. ",
"+ & $ <.g.h.j.k.l.@ z.x.c.v.K b.& + n.9.0.q.+ + w.e.r.t. ", " b 5.6.7.Q ^ 8.(.y 9.~.I 0.~.a.b. -.[.}.|. 1.2.3.4. ",
"+ + m.M.N.B.V.C.< + Z.o.A.S.6.D.+ + *.9.0.q.+ + w.e.r.t. ", " = & ~.c.d.e.f.g.$ h.i.j.k.B l.= m.[.}.|. 1.2.3.4. ",
"+ + f F.Y N.' G.+ + k H.n B p J.+ + *.9.0.q.+ + w.e.K.L. ", " n.o.p.q.r.s.~ t.+.u.v._.w. -.[.}.|. 1.2.3.4. ",
"+ + + P.I.x U.Y.+ + T.R.<.K E.n.+ + n.W.Q.!.+ + ~.w ^.i ", " b x.G p.U y. f z.m q 8 A. -.[.}.|. 1.2.B.C. ",
"+ + + /.C.m Z.(.+ + + )._.`.'.+ + + ].[.{.}.+ + |. X.XXX ", " D.E.i F.G. H.I.~.B J.m. m.K.L.M. N.1 O.7 ",
" P.s.n t.Q. R.S.T.U. V.W.X.Y. Z.`. +.+ ",
" ", " ",
" ", " ",
" ", " ",
@ -220,6 +218,4 @@ static const char *Platform_Wii_xpm[] = {
" ", " ",
" ", " ",
" ", " ",
" ", " "};
" "
};

View File

@ -55,6 +55,11 @@ void GetBPRegInfo(const u8* data, char* name, size_t name_size, char* desc, size
snprintf(name, name_size, #reg); \ snprintf(name, name_size, #reg); \
(void)(reg); (void)(reg);
case BPMEM_GENMODE: // 0x00
SetRegName(BPMEM_GENMODE);
// TODO: Description
break;
case BPMEM_DISPLAYCOPYFILER: // 0x01 case BPMEM_DISPLAYCOPYFILER: // 0x01
// TODO: This is actually the sample pattern used for copies from an antialiased EFB // TODO: This is actually the sample pattern used for copies from an antialiased EFB
SetRegName(BPMEM_DISPLAYCOPYFILER); SetRegName(BPMEM_DISPLAYCOPYFILER);
@ -75,6 +80,28 @@ void GetBPRegInfo(const u8* data, char* name, size_t name_size, char* desc, size
} }
break; break;
case BPMEM_BLENDMODE: // 0x41
{
SetRegName(BPMEM_BLENDMODE);
BlendMode mode; mode.hex = cmddata;
const char* dstfactors[] = { "0", "1", "src_color", "1-src_color", "src_alpha", "1-src_alpha", "dst_alpha", "1-dst_alpha" };
const char* srcfactors[] = { "0", "1", "dst_color", "1-dst_color", "src_alpha", "1-src_alpha", "dst_alpha", "1-dst_alpha" };
const char* logicmodes[] = { "0", "s & d", "s & ~d", "s", "~s & d", "d", "s ^ d", "s | d", "~(s | d)", "~(s ^ d)", "~d", "s | ~d", "~s", "~s | d", "~(s & d)", "1" };
snprintf(desc, desc_size, "Enable: %s\n"
"Logic ops: %s\n"
"Dither: %s\n"
"Color write: %s\n"
"Alpha write: %s\n"
"Dest factor: %s\n"
"Source factor: %s\n"
"Subtract: %s\n"
"Logic mode: %s\n",
no_yes[mode.blendenable], no_yes[mode.logicopenable], no_yes[mode.dither],
no_yes[mode.colorupdate], no_yes[mode.alphaupdate], dstfactors[mode.dstfactor],
srcfactors[mode.srcfactor], no_yes[mode.subtract], logicmodes[mode.logicmode]);
}
break;
case BPMEM_EFB_BR: // 0x4A case BPMEM_EFB_BR: // 0x4A
{ {
// TODO: Misleading name, should be BPMEM_EFB_WH instead // TODO: Misleading name, should be BPMEM_EFB_WH instead
@ -148,7 +175,113 @@ void GetBPRegInfo(const u8* data, char* name, size_t name_size, char* desc, size
// TODO: Description // TODO: Description
break; break;
#undef SET_REG_NAME case BPMEM_TEV_COLOR_ENV: // 0xC0
case BPMEM_TEV_COLOR_ENV+2:
case BPMEM_TEV_COLOR_ENV+4:
case BPMEM_TEV_COLOR_ENV+8:
case BPMEM_TEV_COLOR_ENV+10:
case BPMEM_TEV_COLOR_ENV+12:
case BPMEM_TEV_COLOR_ENV+14:
case BPMEM_TEV_COLOR_ENV+16:
case BPMEM_TEV_COLOR_ENV+18:
case BPMEM_TEV_COLOR_ENV+20:
case BPMEM_TEV_COLOR_ENV+22:
case BPMEM_TEV_COLOR_ENV+24:
case BPMEM_TEV_COLOR_ENV+26:
case BPMEM_TEV_COLOR_ENV+28:
case BPMEM_TEV_COLOR_ENV+30:
{
SetRegName(BPMEM_TEV_COLOR_ENV);
TevStageCombiner::ColorCombiner cc; cc.hex = cmddata;
const char* tevin[] =
{
"prev.rgb", "prev.aaa",
"c0.rgb", "c0.aaa",
"c1.rgb", "c1.aaa",
"c2.rgb", "c2.aaa",
"tex.rgb", "tex.aaa",
"ras.rgb", "ras.aaa",
"ONE", "HALF", "konst.rgb", "ZERO",
};
const char* tevbias[] = { "0", "+0.5", "-0.5", "compare" };
const char* tevop[] = { "add", "sub" };
const char* tevscale[] = { "1", "2", "4", "0.5" };
const char* tevout[] = { "prev.rgb", "c0.rgb", "c1.rgb", "c2.rgb" };
snprintf(desc, desc_size, "tev stage: %d\n"
"a: %s\n"
"b: %s\n"
"c: %s\n"
"d: %s\n"
"bias: %s\n"
"op: %s\n"
"clamp: %s\n"
"scale factor: %s\n"
"dest: %s\n",
(data[0] - BPMEM_TEV_COLOR_ENV)/2, tevin[cc.a], tevin[cc.b], tevin[cc.c], tevin[cc.d],
tevbias[cc.bias], tevop[cc.op], no_yes[cc.clamp], tevscale[cc.shift], tevout[cc.dest]);
break;
}
case BPMEM_TEV_ALPHA_ENV: // 0xC1
case BPMEM_TEV_ALPHA_ENV+2:
case BPMEM_TEV_ALPHA_ENV+4:
case BPMEM_TEV_ALPHA_ENV+6:
case BPMEM_TEV_ALPHA_ENV+8:
case BPMEM_TEV_ALPHA_ENV+10:
case BPMEM_TEV_ALPHA_ENV+12:
case BPMEM_TEV_ALPHA_ENV+14:
case BPMEM_TEV_ALPHA_ENV+16:
case BPMEM_TEV_ALPHA_ENV+18:
case BPMEM_TEV_ALPHA_ENV+20:
case BPMEM_TEV_ALPHA_ENV+22:
case BPMEM_TEV_ALPHA_ENV+24:
case BPMEM_TEV_ALPHA_ENV+26:
case BPMEM_TEV_ALPHA_ENV+28:
case BPMEM_TEV_ALPHA_ENV+30:
{
SetRegName(BPMEM_TEV_ALPHA_ENV);
TevStageCombiner::AlphaCombiner ac; ac.hex = cmddata;
const char* tevin[] =
{
"prev", "c0", "c1", "c2",
"tex", "ras", "konst", "ZERO",
};
const char* tevbias[] = { "0", "+0.5", "-0.5", "compare" };
const char* tevop[] = { "add", "sub" };
const char* tevscale[] = { "1", "2", "4", "0.5" };
const char* tevout[] = { "prev", "c0", "c1", "c2" };
snprintf(desc, desc_size, "tev stage: %d\n"
"a: %s\n"
"b: %s\n"
"c: %s\n"
"d: %s\n"
"bias: %s\n"
"op: %s\n"
"clamp: %s\n"
"scale factor: %s\n"
"dest: %s\n"
"ras sel: %d\n"
"tex sel: %d\n",
(data[0] - BPMEM_TEV_ALPHA_ENV)/2, tevin[ac.a], tevin[ac.b], tevin[ac.c], tevin[ac.d],
tevbias[ac.bias], tevop[ac.op], no_yes[ac.clamp], tevscale[ac.shift], tevout[ac.dest],
ac.rswap, ac.tswap);
break;
}
case BPMEM_ALPHACOMPARE: // 0xF3
{
SetRegName(BPMEM_ALPHACOMPARE);
AlphaTest test; test.hex = cmddata;
const char* functions[] = { "NEVER", "LESS", "EQUAL", "LEQUAL", "GREATER", "NEQUAL", "GEQUAL", "ALWAYS" };
const char* logic[] = { "AND", "OR", "XOR", "XNOR" };
snprintf(desc, desc_size, "test 1: %s (ref: %#02x)\n"
"test 2: %s (ref: %#02x)\n"
"logic: %s\n",
functions[test.comp0], test.ref0, functions[test.comp1], test.ref1, logic[test.logic]);
break;
}
#undef SetRegName
} }
} }

View File

@ -28,7 +28,7 @@
#include "NativeVertexFormat.h" #include "NativeVertexFormat.h"
static void StageHash(int stage, u32* out) static void StageHash(u32 stage, u32* out)
{ {
out[0] |= bpmem.combiners[stage].colorC.hex & 0xFFFFFF; // 24 out[0] |= bpmem.combiners[stage].colorC.hex & 0xFFFFFF; // 24
u32 alphaC = bpmem.combiners[stage].alphaC.hex & 0xFFFFF0; // 24, strip out tswap and rswap for now u32 alphaC = bpmem.combiners[stage].alphaC.hex & 0xFFFFF0; // 24, strip out tswap and rswap for now
@ -141,7 +141,7 @@ void GetPixelShaderId(PIXELSHADERUID *uid, DSTALPHA_MODE dstAlphaMode, u32 compo
} }
u32* ptr = &uid->values[2]; u32* ptr = &uid->values[2];
for (int i = 0; i < bpmem.genMode.numtevstages+1; ++i) for (unsigned int i = 0; i < bpmem.genMode.numtevstages+1u; ++i)
{ {
StageHash(i, ptr); StageHash(i, ptr);
ptr += 4; // max: ptr = &uid->values[66] ptr += 4; // max: ptr = &uid->values[66]
@ -204,7 +204,7 @@ void GetSafePixelShaderId(PIXELSHADERUIDSAFE *uid, DSTALPHA_MODE dstAlphaMode, u
*ptr++ = bpmem.tevindref.hex; // 31 *ptr++ = bpmem.tevindref.hex; // 31
for (int i = 0; i < bpmem.genMode.numtevstages+1; ++i) // up to 16 times for (unsigned int i = 0; i < bpmem.genMode.numtevstages+1u; ++i) // up to 16 times
{ {
*ptr++ = bpmem.combiners[i].colorC.hex; // 32+5*i *ptr++ = bpmem.combiners[i].colorC.hex; // 32+5*i
*ptr++ = bpmem.combiners[i].alphaC.hex; // 33+5*i *ptr++ = bpmem.combiners[i].alphaC.hex; // 33+5*i
@ -287,10 +287,10 @@ static const char *tevKSelTableC[] = // KCSEL
"0.375f,0.375f,0.375f", // 3_8 = 0x05 "0.375f,0.375f,0.375f", // 3_8 = 0x05
"0.25f,0.25f,0.25f", // 1_4 = 0x06 "0.25f,0.25f,0.25f", // 1_4 = 0x06
"0.125f,0.125f,0.125f", // 1_8 = 0x07 "0.125f,0.125f,0.125f", // 1_8 = 0x07
"ERROR", // 0x08 "ERROR1", // 0x08
"ERROR", // 0x09 "ERROR2", // 0x09
"ERROR", // 0x0a "ERROR3", // 0x0a
"ERROR", // 0x0b "ERROR4", // 0x0b
I_KCOLORS"[0].rgb", // K0 = 0x0C I_KCOLORS"[0].rgb", // K0 = 0x0C
I_KCOLORS"[1].rgb", // K1 = 0x0D I_KCOLORS"[1].rgb", // K1 = 0x0D
I_KCOLORS"[2].rgb", // K2 = 0x0E I_KCOLORS"[2].rgb", // K2 = 0x0E
@ -323,14 +323,14 @@ static const char *tevKSelTableA[] = // KASEL
"0.375f",// 3_8 = 0x05 "0.375f",// 3_8 = 0x05
"0.25f", // 1_4 = 0x06 "0.25f", // 1_4 = 0x06
"0.125f",// 1_8 = 0x07 "0.125f",// 1_8 = 0x07
"ERROR", // 0x08 "ERROR5", // 0x08
"ERROR", // 0x09 "ERROR6", // 0x09
"ERROR", // 0x0a "ERROR7", // 0x0a
"ERROR", // 0x0b "ERROR8", // 0x0b
"ERROR", // 0x0c "ERROR9", // 0x0c
"ERROR", // 0x0d "ERROR10", // 0x0d
"ERROR", // 0x0e "ERROR11", // 0x0e
"ERROR", // 0x0f "ERROR12", // 0x0f
I_KCOLORS"[0].r", // K0_R = 0x10 I_KCOLORS"[0].r", // K0_R = 0x10
I_KCOLORS"[1].r", // K1_R = 0x11 I_KCOLORS"[1].r", // K1_R = 0x11
I_KCOLORS"[2].r", // K2_R = 0x12 I_KCOLORS"[2].r", // K2_R = 0x12
@ -405,7 +405,7 @@ static const char *tevCInputTable[] = // CC
"float3(0.5f, 0.5f, 0.5f)", // HALF "float3(0.5f, 0.5f, 0.5f)", // HALF
"(ckonsttemp.rgb)", //"konsttemp.rgb", // KONST "(ckonsttemp.rgb)", //"konsttemp.rgb", // KONST
"float3(0.0f, 0.0f, 0.0f)", // ZERO "float3(0.0f, 0.0f, 0.0f)", // ZERO
"PADERROR", "PADERROR", "PADERROR", "PADERROR" "PADERROR1", "PADERROR2", "PADERROR3", "PADERROR4"
}; };
static const char *tevAInputTable[] = // CA static const char *tevAInputTable[] = // CA
@ -427,17 +427,17 @@ static const char *tevAInputTable[] = // CA
"crastemp", // RASA, "crastemp", // RASA,
"ckonsttemp", // KONST, (hw1 had quarter) "ckonsttemp", // KONST, (hw1 had quarter)
"float4(0.0f, 0.0f, 0.0f, 0.0f)", // ZERO "float4(0.0f, 0.0f, 0.0f, 0.0f)", // ZERO
"PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR5", "PADERROR6", "PADERROR7", "PADERROR8",
"PADERROR", "PADERROR", "PADERROR", "PADERROR", "PADERROR9", "PADERROR10", "PADERROR11", "PADERROR12",
}; };
static const char *tevRasTable[] = static const char *tevRasTable[] =
{ {
"colors_0", "colors_0",
"colors_1", "colors_1",
"ERROR", //2 "ERROR13", //2
"ERROR", //3 "ERROR14", //3
"ERROR", //4 "ERROR15", //4
"alphabump", // use bump alpha "alphabump", // use bump alpha
"(alphabump*(255.0f/248.0f))", //normalized "(alphabump*(255.0f/248.0f))", //normalized
"float4(0.0f, 0.0f, 0.0f, 0.0f)", // zero "float4(0.0f, 0.0f, 0.0f, 0.0f)", // zero