mirror of https://github.com/axmolengine/axmol.git
JPEG and File fixes
* Fixes to JPEG loader * Fixes to image loader to load tiff and unknown formats properly
This commit is contained in:
parent
9f168faeb0
commit
3b2eea2541
|
@ -552,77 +552,77 @@ bool CCImage::initWithImageData(void * pData,
|
||||||
int nHeight,
|
int nHeight,
|
||||||
int nBitsPerComponent)
|
int nBitsPerComponent)
|
||||||
{
|
{
|
||||||
bool bRet = false;
|
bool bRet = false;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
CC_BREAK_IF(! pData || nDataLen <= 0);
|
CC_BREAK_IF(! pData || nDataLen <= 0);
|
||||||
|
|
||||||
if (kFmtPng == eFmt)
|
if (kFmtPng == eFmt)
|
||||||
{
|
{
|
||||||
bRet = _initWithPngData(pData, nDataLen);
|
bRet = _initWithPngData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (kFmtJpg == eFmt)
|
else if (kFmtJpg == eFmt)
|
||||||
{
|
{
|
||||||
bRet = _initWithJpgData(pData, nDataLen);
|
bRet = _initWithJpgData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (kFmtTiff == eFmt)
|
else if (kFmtTiff == eFmt)
|
||||||
{
|
{
|
||||||
bRet = _initWithTiffData(pData, nDataLen);
|
bRet = _initWithTiffData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (kFmtRawData == eFmt)
|
else if (kFmtRawData == eFmt)
|
||||||
{
|
{
|
||||||
bRet = _initWithRawData(pData, nDataLen, nWidth, nHeight, nBitsPerComponent);
|
bRet = _initWithRawData(pData, nDataLen, nWidth, nHeight, nBitsPerComponent);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// if it is a png file buffer.
|
// if it is a png file buffer.
|
||||||
if (nDataLen > 8)
|
if (nDataLen > 8)
|
||||||
{
|
{
|
||||||
unsigned char* pHead = (unsigned char*)pData;
|
unsigned char* pHead = (unsigned char*)pData;
|
||||||
if ( pHead[0] == 0x89
|
if ( pHead[0] == 0x89
|
||||||
&& pHead[1] == 0x50
|
&& pHead[1] == 0x50
|
||||||
&& pHead[2] == 0x4E
|
&& pHead[2] == 0x4E
|
||||||
&& pHead[3] == 0x47
|
&& pHead[3] == 0x47
|
||||||
&& pHead[4] == 0x0D
|
&& pHead[4] == 0x0D
|
||||||
&& pHead[5] == 0x0A
|
&& pHead[5] == 0x0A
|
||||||
&& pHead[6] == 0x1A
|
&& pHead[6] == 0x1A
|
||||||
&& pHead[7] == 0x0A)
|
&& pHead[7] == 0x0A)
|
||||||
{
|
{
|
||||||
bRet = _initWithPngData(pData, nDataLen);
|
bRet = _initWithPngData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it is a tiff file buffer.
|
// if it is a tiff file buffer.
|
||||||
if (nDataLen > 2)
|
if (nDataLen > 2)
|
||||||
{
|
{
|
||||||
unsigned char* pHead = (unsigned char*)pData;
|
unsigned char* pHead = (unsigned char*)pData;
|
||||||
if ( (pHead[0] == 0x49 && pHead[1] == 0x49)
|
if ( (pHead[0] == 0x49 && pHead[1] == 0x49)
|
||||||
|| (pHead[0] == 0x4d && pHead[1] == 0x4d)
|
|| (pHead[0] == 0x4d && pHead[1] == 0x4d)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
bRet = _initWithTiffData(pData, nDataLen);
|
bRet = _initWithTiffData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it is a jpeg file buffer.
|
// if it is a jpeg file buffer.
|
||||||
if (nDataLen > 2)
|
if (nDataLen > 2)
|
||||||
{
|
{
|
||||||
unsigned char* pHead = (unsigned char*)pData;
|
unsigned char* pHead = (unsigned char*)pData;
|
||||||
if ( pHead[0] == 0xff
|
if ( pHead[0] == 0xff
|
||||||
&& pHead[1] == 0xd8)
|
&& pHead[1] == 0xd8)
|
||||||
{
|
{
|
||||||
bRet = _initWithJpgData(pData, nDataLen);
|
bRet = _initWithJpgData(pData, nDataLen);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while (0);
|
} while (0);
|
||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -630,99 +630,84 @@ bool CCImage::_initWithJpgData(void * data, int nSize)
|
||||||
{
|
{
|
||||||
IW_CALLSTACK("CCImage::_initWithJpgData");
|
IW_CALLSTACK("CCImage::_initWithJpgData");
|
||||||
|
|
||||||
bool bRet = false;
|
/* these are standard libjpeg structures for reading(decompression) */
|
||||||
|
struct jpeg_decompress_struct cinfo;
|
||||||
|
struct jpeg_error_mgr jerr;
|
||||||
|
/* libjpeg data structure for storing one row, that is, scanline of an image */
|
||||||
|
JSAMPROW row_pointer[1] = {0};
|
||||||
|
unsigned long location = 0;
|
||||||
|
unsigned int i = 0;
|
||||||
|
|
||||||
s3eFile* pFile = s3eFileOpenFromMemory(data, nSize);
|
bool bRet = false;
|
||||||
|
do
|
||||||
IwAssert(GAME, pFile);
|
|
||||||
|
|
||||||
jpeg_decompress_struct cinfo;
|
|
||||||
bzero(&cinfo, sizeof(cinfo));
|
|
||||||
|
|
||||||
JSAMPARRAY buffer; /* Output row buffer */
|
|
||||||
int row_stride; /* physical row width in output buffer */
|
|
||||||
|
|
||||||
jpeg_source_mgr srcmgr;
|
|
||||||
|
|
||||||
srcmgr.bytes_in_buffer = nSize;
|
|
||||||
srcmgr.next_input_byte = (JOCTET*) data;
|
|
||||||
srcmgr.init_source = CCImageHelper::JPEGInitSource;
|
|
||||||
srcmgr.fill_input_buffer = CCImageHelper::JPEGFillInputBuffer;
|
|
||||||
srcmgr.skip_input_data = CCImageHelper::JPEGSkipInputData;
|
|
||||||
srcmgr.resync_to_restart = jpeg_resync_to_restart;
|
|
||||||
srcmgr.term_source = CCImageHelper::JPEGTermSource;
|
|
||||||
|
|
||||||
jpeg_error_mgr jerr;
|
|
||||||
cinfo.err = jpeg_std_error(&jerr);
|
|
||||||
|
|
||||||
jpeg_create_decompress(&cinfo);
|
|
||||||
cinfo.src = &srcmgr;
|
|
||||||
|
|
||||||
jpeg_read_header(&cinfo, TRUE);
|
|
||||||
jpeg_start_decompress(&cinfo);
|
|
||||||
|
|
||||||
/* JSAMPLEs per row in output buffer */
|
|
||||||
row_stride = cinfo.output_width * cinfo.output_components;
|
|
||||||
|
|
||||||
/* Make a one-row-high sample array that will go away when done with image */
|
|
||||||
buffer = (*cinfo.mem->alloc_sarray)
|
|
||||||
((j_common_ptr) &cinfo, JPOOL_IMAGE, row_stride, 1);
|
|
||||||
|
|
||||||
int copy_rows = (int)cinfo.output_height;
|
|
||||||
int copy_width = (int)cinfo.output_width;
|
|
||||||
|
|
||||||
if (copy_width < 0 || copy_rows < 0)
|
|
||||||
{
|
{
|
||||||
printf("jpeg is fully off screen\n");
|
/* here we set up the standard libjpeg error handler */
|
||||||
return bRet;
|
cinfo.err = jpeg_std_error( &jerr );
|
||||||
}
|
|
||||||
int startx=0;
|
|
||||||
int starty=0;
|
|
||||||
int bytesPerPix = 4;
|
|
||||||
m_pData = new unsigned char[copy_rows * copy_width * bytesPerPix];
|
|
||||||
memset(m_pData,0, copy_rows * copy_width * bytesPerPix);
|
|
||||||
// init image info
|
|
||||||
m_bPreMulti = false;
|
|
||||||
m_bHasAlpha = false;
|
|
||||||
m_nHeight = copy_rows;
|
|
||||||
m_nWidth = copy_width;
|
|
||||||
m_nBitsPerComponent = bytesPerPix;
|
|
||||||
unsigned char *dst = m_pData;
|
|
||||||
unsigned char *pData = m_pData;
|
|
||||||
|
|
||||||
while (cinfo.output_scanline < cinfo.output_height)// count through the image
|
/* setup decompression process and source, then read JPEG header */
|
||||||
{
|
jpeg_create_decompress( &cinfo );
|
||||||
/* jpeg_read_scanlines expects an array of pointers to scanlines.
|
|
||||||
* Here the array is only one element long, but you could ask for
|
|
||||||
* more than one scanline at a time if that's more convenient.
|
|
||||||
*/
|
|
||||||
(void) jpeg_read_scanlines(&cinfo, buffer, 1);
|
|
||||||
|
|
||||||
if (starty-- <= 0)// count down from start
|
jpeg_source_mgr srcmgr;
|
||||||
{
|
|
||||||
if (copy_rows-- > 0)
|
srcmgr.bytes_in_buffer = nSize;
|
||||||
|
srcmgr.next_input_byte = (JOCTET*) data;
|
||||||
|
srcmgr.init_source = CCImageHelper::JPEGInitSource;
|
||||||
|
srcmgr.fill_input_buffer = CCImageHelper::JPEGFillInputBuffer;
|
||||||
|
srcmgr.skip_input_data = CCImageHelper::JPEGSkipInputData;
|
||||||
|
srcmgr.resync_to_restart = jpeg_resync_to_restart;
|
||||||
|
srcmgr.term_source = CCImageHelper::JPEGTermSource;
|
||||||
|
cinfo.src = &srcmgr;
|
||||||
|
// jpeg_mem_src( &cinfo, (unsigned char *) data, nSize );
|
||||||
|
|
||||||
|
/* reading the image header which contains image information */
|
||||||
|
jpeg_read_header( &cinfo, true );
|
||||||
|
|
||||||
|
// we only support RGB or grayscale
|
||||||
|
if (cinfo.jpeg_color_space != JCS_RGB)
|
||||||
|
{
|
||||||
|
if (cinfo.jpeg_color_space == JCS_GRAYSCALE || cinfo.jpeg_color_space == JCS_YCbCr)
|
||||||
{
|
{
|
||||||
for (int xx=startx; xx < copy_width; xx++)
|
cinfo.out_color_space = JCS_RGB;
|
||||||
{
|
}
|
||||||
uint8 r = buffer[0][xx*3+0];
|
}
|
||||||
uint8 b = buffer[0][xx*3+1];
|
else
|
||||||
uint8 g = buffer[0][xx*3+2];
|
{
|
||||||
|
break;
|
||||||
*dst++ = r;
|
|
||||||
*dst++ = b;
|
|
||||||
*dst++ = g;
|
|
||||||
*dst++ = 255;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
(void) jpeg_finish_decompress(&cinfo);
|
/* Start decompression jpeg here */
|
||||||
jpeg_destroy_decompress(&cinfo);
|
jpeg_start_decompress( &cinfo );
|
||||||
|
|
||||||
printf("jpeg display done\n");
|
/* init image info */
|
||||||
|
m_nWidth = (short)(cinfo.image_width);
|
||||||
|
m_nHeight = (short)(cinfo.image_height);
|
||||||
|
m_bHasAlpha = false;
|
||||||
|
m_bPreMulti = false;
|
||||||
|
m_nBitsPerComponent = 8;
|
||||||
|
row_pointer[0] = new unsigned char[cinfo.output_width*cinfo.output_components];
|
||||||
|
CC_BREAK_IF(! row_pointer[0]);
|
||||||
|
|
||||||
bRet = true;
|
m_pData = new unsigned char[cinfo.output_width*cinfo.output_height*cinfo.output_components];
|
||||||
|
CC_BREAK_IF(! m_pData);
|
||||||
|
|
||||||
|
/* now actually read the jpeg into the raw buffer */
|
||||||
|
/* read one scan line at a time */
|
||||||
|
while( cinfo.output_scanline < cinfo.image_height )
|
||||||
|
{
|
||||||
|
jpeg_read_scanlines( &cinfo, row_pointer, 1 );
|
||||||
|
for( i=0; i<cinfo.image_width*cinfo.output_components;i++)
|
||||||
|
{
|
||||||
|
m_pData[location++] = row_pointer[0][i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
jpeg_finish_decompress( &cinfo );
|
||||||
|
jpeg_destroy_decompress(&cinfo);
|
||||||
|
/* wrap up decompression, destroy objects, free pointers and close open files */
|
||||||
|
bRet = true;
|
||||||
|
} while (0);
|
||||||
|
|
||||||
|
CC_SAFE_DELETE_ARRAY(row_pointer[0]);
|
||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Settings ICF file automatically generated by S3E development environment
|
||||||
|
|
||||||
|
AccelEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioAAC = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioAACPlus = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioMIDI = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioMP3 = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioPCM = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioQCP = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
||||||
|
BacklightTimeout = Type=int, Min=0.000000, Max=120000.000000, Default="10000", Value = "10000"
|
||||||
|
CompassEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
ContactsFromAddrBook = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceAdvanceSoftkeyPosition = Type=string, Allowed="Bottom Left" "Bottom Right" "Top Right" "Top Left", Default="Bottom Left", Value = "Bottom Left"
|
||||||
|
DeviceArch = Type=string, Allowed="<Use Native Architecture>" "ARM4T" "ARM4" "ARM5T" "ARM5TE" "ARM5TEJ" "ARM6" "ARM6K" "ARM6T2" "ARM6Z" "X86" "PPC" "AMD64" "ARM7", Default="<Use Native Architecture>", Value = "<Use Native Architecture>"
|
||||||
|
DeviceBackSoftkeyPosition = Type=string, Allowed="Bottom Left" "Bottom Right" "Top Right" "Top Left", Default="Bottom Right", Value = "Bottom Right"
|
||||||
|
DeviceBatteryLevel = Type=int, Min=0.000000, Max=100.000000, Default="50", Value = "50"
|
||||||
|
DeviceClass = Type=string, Allowed="UNKNOWN" "SYMBIAN_GENERIC" "SYMBIAN_SERIES60" "SYMBIAN_SERIES60_EMULATOR" "SYMBIAN_UIQ" "SYMBIAN_UIQ_EMULATOR" "BREW_GENERIC" "BREW_QCIF_3D" "BREW_QCIF_25G" "BREW_SQCIF_256" "BREW_QVGA_3G" "WINDOWS_GENERIC" "WINMOBILE_GENERIC" "WINMOBILE_SP" "WINMOBILE_PPC" "LINUX_GENERIC" "LINUX_DESKTOP" "LINUX_EMBED" "WIPI_GENERIC" "NDS_GENERIC" "ARM_SEMIH_GENERIC" "NULCUES_GENERIC" "NGI_GENERIC", Default="WINDOWS_GENERIC", Value = "WINDOWS_GENERIC"
|
||||||
|
DeviceFPU = Type=string, Allowed="None" "VFP Present", Default="VFP Present", Value = "VFP Present"
|
||||||
|
DeviceFreeRAM = Type=int, Min=0.000000, Max=2097151.000000, Default="1048576", Value = "1048576"
|
||||||
|
DeviceIDInt = Type=int, Default="0", Value = "0"
|
||||||
|
DeviceIDString = Type=string, Default="", Value = ""
|
||||||
|
DeviceIMSI = Type=string, Default="SIMULATOR_IMSI", Value = "SIMULATOR_IMSI"
|
||||||
|
DeviceLSKIsBack = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceLanguage = Type=string, Allowed="UNKNOWN" "ENGLISH" "FRENCH" "GERMAN" "SPANISH" "ITALIAN" "PORTUGUESE" "DUTCH" "TURKISH" "CROATIAN" "CZECH" "DANISH" "FINNISH" "HUNGARIAN" "NORWEGIAN" "POLISH" "RUSSIAN" "SERBIAN" "SLOVAK" "SLOVENIAN" "SWEDISH" "UKRAINIAN" "GREEK" "JAPANESE" "SIMPL_CHINESE" "TRAD_CHINESE" "KOREAN" "ICELANDIC" "FLEMISH" "THAI" "AFRIKAANS" "ALBANIAN" "AMHARIC" "ARABIC" "ARMENIAN" "AZERBAIJANI" "TAGALOG" "BELARUSSIAN" "BENGALI" "BULGARIAN" "BURMESE" "CATALAN" "ESTONIAN" "FARSI" "GAELIC" "GEORGIAN" "GUJARATI" "HEBREW" "HINDI" "INDONESIAN" "IRISH" "KANNADA" "KAZAKH" "KHMER" "LAO" "LATVIAN" "LITHUANIAN" "MACEDONIAN" "MALAY" "MALAYALAM" "MARATHI" "MOLDOVIAN" "MONGOLIAN" "PUNJABI" "ROMANIAN" "SINHALESE" "SOMALI" "SWAHILI" "TAJIK" "TAMIL" "TELUGU" "TIBETAN" "TIGRINYA" "TURKMEN" "URDU" "UZBEK" "VIETNAMESE" "WELSH" "ZULU" "<Use Native Language>", Default="<Use Native Language>", Value = "<Use Native Language>"
|
||||||
|
DeviceMainsPower = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceName = Type=string, Default="My Computer", Value = "My Computer"
|
||||||
|
DeviceOS = Type=string, Allowed="NONE" "SYMBIAN" "BREW" "WINDOWS" "WINMOBILE" "LINUX" "WIPI" "NDS" "ARM_SEMIH" "NUCLEUS" "NGI" "WINCE" "SHARPEMP" "OSX" "IPHONE" "UIQ" "PS3" "X360" "BADA" "ANDROID" "WEBOS" "QNX", Default="NONE", Value = "NONE"
|
||||||
|
DeviceOSVersion = Type=string, Default="", Value = ""
|
||||||
|
DeviceOSVersionNumber = Type=int, Default="0", Value = "0"
|
||||||
|
DevicePhoneNumber = Type=string, Default="0044123456789", Value = "0044123456789"
|
||||||
|
DeviceTimezone = Type=string, Default="SYSTEM", Value = "SYSTEM"
|
||||||
|
DeviceTotalRAM = Type=int, Min=0.000000, Max=2097151.000000, Default="1048576", Value = "1048576"
|
||||||
|
DeviceUniqueID = Type=string, Default="SIMULATOR_ID", Value = "SIMULATOR_ID"
|
||||||
|
DeviceUniqueIDInt = Type=int, Default="01234567890", Value = "01234567890"
|
||||||
|
FileTotalStorageSize = Type=int, Min=0.000000, Max=2147483648.000000, Default="67108864", Value = "67108864"
|
||||||
|
FileUseSeparateRomRam = Type=bool, Default="true", Value = "true"
|
||||||
|
FileUseTotalStorageSize = Type=bool, Default="false", Value = "false"
|
||||||
|
GLAPI = Type=string, Allowed="None" "GLES 1.0 Common-Lite Profile from Imagination POWERVR(TM)" "GLES 1.1 Common-Lite Profile from Imagination POWERVR(TM)" "GLES 1.0 Common Profile from Imagination POWERVR(TM)" "GLES 1.1 Common Profile from Imagination POWERVR(TM)" "GLES 2.0 from Imagination POWERVR(TM)" "Obey [S3E] SysGlesVersion .icf setting" "GLES 1.1 Common Profile from Qualcomm Snapdragon(TM)" "GLES 2.0 from Qualcomm Snapdragon(TM)" "GLES 2.0 ANGLE", Default="Obey [S3E] SysGlesVersion .icf setting", Value = "Obey [S3E] SysGlesVersion .icf setting"
|
||||||
|
GLDontUseHiddenWindow = Type=bool, Default="false", Value = "false"
|
||||||
|
GLTerminateOnSuspend = Type=bool, Default="false", Value = "false"
|
||||||
|
GLUsePVRVFrame = Type=bool, Default="false", Value = "false"
|
||||||
|
KeyboardHasAlpha = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardHasDirection = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardHasKeypad = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardNumpadRotation = Type=string, Allowed="Rot0" "Rot90" "Rot180" "Rot270", Default="Rot0", Value = "Rot0"
|
||||||
|
LicenseExpiryDate = Type=int, Min=0.000000, Max=999999995904.000000, Default="0", Value = "0"
|
||||||
|
LicenseMinutesRemaining = Type=int, Min=0.000000, Max=10000000.000000, Default="0", Value = "0"
|
||||||
|
LicenseStatus = Type=string, Allowed="EXPIRED" "DEMO" "USECOUNT" "EXPIRYDATE" "EXPIRYMINSUSE" "PURCHASE" "SUBSCRIPTION" "UPGRADE" "NONCOMMERCIAL", Default="NONCOMMERCIAL", Value = "NONCOMMERCIAL"
|
||||||
|
LicenseUsesRemaining = Type=int, Min=0.000000, Max=10000000.000000, Default="0", Value = "0"
|
||||||
|
LocationAltitude = Type=float, Min=-2000.000000, Max=100000.000000, Default="60.0", Value = "60.0"
|
||||||
|
LocationAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
LocationHeading = Type=float, Min=0.000000, Max=359.000000, Default="0.0", Value = "0.0"
|
||||||
|
LocationHorizontalAccuracy = Type=float, Min=0.000000, Max=100000.000000, Default="20.0", Value = "20.0"
|
||||||
|
LocationLatitude = Type=float, Min=-90.000000, Max=90.000000, Default="51.511791", Value = "51.511791"
|
||||||
|
LocationLongitude = Type=float, Min=-180.000000, Max=180.000000, Default="-0.191084", Value = "-0.191084"
|
||||||
|
LocationSpeed = Type=float, Min=0.000000, Max=10000.000000, Default="0", Value = "0"
|
||||||
|
LocationVerticalAccuracy = Type=float, Min=0.000000, Max=100000.000000, Default="100.0", Value = "100.0"
|
||||||
|
MacOSSimulatorCustomSettings = Type=string, Default="", Value = ""
|
||||||
|
MacOSSimulatorDevices_ANDROID = Type=string, Allowed="Samsung Galaxy S:480x800:512" "HTC Sensation XL:480x800:768" "Samsung Galaxy Note:800x1280:1024" "Motorola Droid Razr:540x960:1024" "Kindle Fire:1024x600:512" "Samsung Galaxy Tab:1024x600:512", Default="Samsung Galaxy S:480x800:512", Value = "Samsung Galaxy S:480x800:512"
|
||||||
|
MacOSSimulatorDevices_IPHONE = Type=string, Allowed="iPhone 3GS:320x480:256" "iPhone 4:640x960:512" "iPad 2:768x1024:512", Default="iPhone 3GS:320x480:256", Value = "iPhone 3GS:320x480:256"
|
||||||
|
MacOSSimulatorPlatforms = Type=string, Allowed="IPHONE" "ANDROID", Default="IPHONE", Value = "IPHONE"
|
||||||
|
MacOSSimulatorUseCustomSettings = Type=bool, Default="true", Value = "true"
|
||||||
|
MemoryPoison = Type=bool, Default="true", Value = "true"
|
||||||
|
MemoryPoisonAlloc = Type=int, Min=0.000000, Max=255.000000, Default="170", Value = "170"
|
||||||
|
MemoryPoisonFree = Type=int, Min=0.000000, Max=255.000000, Default="221", Value = "221"
|
||||||
|
MemoryPoisonInit = Type=int, Min=0.000000, Max=255.000000, Default="204", Value = "204"
|
||||||
|
PointerAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
PointerMultiSimulationMode = Type=bool, Default="false", Value = "false"
|
||||||
|
PointerMultiTouchAvailable = Type=bool, Default="false", Value = "false"
|
||||||
|
PointerStylusType = Type=string, Allowed="INVALID" "STYLUS" "FINGER", Default="INVALID", Value = "INVALID"
|
||||||
|
PointerType = Type=string, Allowed="INVALID" "MOUSE" "STYLUS", Default="MOUSE", Value = "MOUSE"
|
||||||
|
SMSEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SMSReceiveEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SocketDNSDelay = Type=int, Min=0.000000, Max=30000.000000, Default="0", Value = "0"
|
||||||
|
SocketHTTPProxy = Type=string, Default="", Value = ""
|
||||||
|
SocketHostName = Type=string, Default="", Value = ""
|
||||||
|
SocketNetworkAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
SocketNetworkLoss = Type=bool, Default="false", Value = "false"
|
||||||
|
SocketNetworkType = Type=string, Allowed="NONE" "UNKNOWN" "LAN" "WLAN" "GPRS" "UMTS" "EVDO" "CDMA2000" "HSDPA" "WIMAX" "BLUETOOTH" "EDGE" "CDMA" "IDEN" "LTE" "EHRPD" "HSPAPLUS", Default="LAN", Value = "LAN"
|
||||||
|
SocketRecvLimit = Type=int, Min=0.000000, Max=1000000.000000, Default="0", Value = "0"
|
||||||
|
SocketSendLimit = Type=int, Min=0.000000, Max=1000000.000000, Default="0", Value = "0"
|
||||||
|
SoundEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundRecordEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundSampleRate = Type=int, Allowed="8192" "11025" "16000" "22050" "44100", Default="22050", Value = "22050"
|
||||||
|
SoundStereo = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
||||||
|
SurfaceDisableWhenGLIsActive = Type=bool, Default="false", Value = "false"
|
||||||
|
SurfaceDoubleBuffer = Type=bool, Default="false", Value = "false"
|
||||||
|
SurfaceHeight = Type=int, Min=128.000000, Max=4096.000000, Default="480", Value = "320"
|
||||||
|
SurfacePitch = Type=int, Min=0.000000, Max=8192.000000, Default="0", Value = "0"
|
||||||
|
SurfacePixelType = Type=string, Allowed="RGB444" "RGB555" "RGB565" "RGB666" "RGB888" "BGR444" "BGR555" "BGR565" "BGR666" "BGR888", Default="RGB565", Value = "RGB565"
|
||||||
|
SurfacePredefinedResolution = Type=string, Allowed="176x200" "176x208" "240x320 (QVGA Portrait)" "240x400" "320x240 (QVGA Landscape)" "320x400" "320x480 (iPhone Portrait)" "400x240" "480x320 (iPhone Landscape)" "360x640 (qHD Portrait)" "640x360 (qHD Landscape)" "480x640 (VGA Portrait)" "480x800 (WVGA Portrait)" "640x480 (VGA Landscape)" "800x400" "800x480 (WVGA Landscape)" "640x960 (iPhone 4 Portrait)" "960x640 (iPhone 4 Landscape)" "1024x600 (Playbook Landscape)" "600x1024 (Playbook Portrait)" "768x1024 (iPad Portrait)" "1024x768 (iPad Landscape)" "2048x1536 (iPad Retina Landscape)" "1536x2048 (iPad Retina Portrait)", Default="320x480 (iPhone Portrait)", Value = "176x200"
|
||||||
|
SurfaceRotation = Type=string, Allowed="Rot0" "Rot90" "Rot180" "Rot270", Default="Rot0", Value = "Rot0"
|
||||||
|
SurfaceUnalign = Type=bool, Default="true", Value = "true"
|
||||||
|
SurfaceUseMultiBuffers = Type=bool, Default="true", Value = "true"
|
||||||
|
SurfaceWidth = Type=int, Min=128.000000, Max=4096.000000, Default="320", Value = "480"
|
||||||
|
SymbianSoundLatency = Type=int, Min=20.000000, Max=1400.000000, Default="120", Value = "120"
|
||||||
|
ThreadEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
TimerAccuracy = Type=int, Min=0.000000, Max=1000.000000, Default="0", Value = "0"
|
||||||
|
TimerHiRes = Type=bool, Default="false", Value = "false"
|
||||||
|
TimerLocaltimeOffsetHours = Type=string, Allowed="-12" "-11" "-10" "-9" "-8" "-7" "-6" "-5" "-4" "-3" "-2" "-1" "0" "+1" "+2" "+3" "+4" "+5" "+6" "+7" "+8" "+9" "+10" "+11" "+12" "+13" "SYSTEM", Default="SYSTEM", Value = "SYSTEM"
|
||||||
|
VibraEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
Video3GPP = Type=bool, Default="false", Value = "false"
|
||||||
|
VideoJPEG = Type=bool, Default="true", Value = "true"
|
||||||
|
VideoMPEG4 = Type=bool, Default="true", Value = "true"
|
||||||
|
VideoVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Settings ICF file automatically generated by S3E development environment
|
||||||
|
|
||||||
|
AccelEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioAAC = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioAACPlus = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioMIDI = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioMP3 = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioPCM = Type=bool, Default="true", Value = "true"
|
||||||
|
AudioQCP = Type=bool, Default="false", Value = "false"
|
||||||
|
AudioVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
||||||
|
BacklightTimeout = Type=int, Min=0.000000, Max=120000.000000, Default="10000", Value = "10000"
|
||||||
|
CompassEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
ContactsFromAddrBook = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceAdvanceSoftkeyPosition = Type=string, Allowed="Bottom Left" "Bottom Right" "Top Right" "Top Left", Default="Bottom Left", Value = "Bottom Left"
|
||||||
|
DeviceArch = Type=string, Allowed="<Use Native Architecture>" "ARM4T" "ARM4" "ARM5T" "ARM5TE" "ARM5TEJ" "ARM6" "ARM6K" "ARM6T2" "ARM6Z" "X86" "PPC" "AMD64" "ARM7", Default="<Use Native Architecture>", Value = "<Use Native Architecture>"
|
||||||
|
DeviceBackSoftkeyPosition = Type=string, Allowed="Bottom Left" "Bottom Right" "Top Right" "Top Left", Default="Bottom Right", Value = "Bottom Right"
|
||||||
|
DeviceBatteryLevel = Type=int, Min=0.000000, Max=100.000000, Default="50", Value = "50"
|
||||||
|
DeviceClass = Type=string, Allowed="UNKNOWN" "SYMBIAN_GENERIC" "SYMBIAN_SERIES60" "SYMBIAN_SERIES60_EMULATOR" "SYMBIAN_UIQ" "SYMBIAN_UIQ_EMULATOR" "BREW_GENERIC" "BREW_QCIF_3D" "BREW_QCIF_25G" "BREW_SQCIF_256" "BREW_QVGA_3G" "WINDOWS_GENERIC" "WINMOBILE_GENERIC" "WINMOBILE_SP" "WINMOBILE_PPC" "LINUX_GENERIC" "LINUX_DESKTOP" "LINUX_EMBED" "WIPI_GENERIC" "NDS_GENERIC" "ARM_SEMIH_GENERIC" "NULCUES_GENERIC" "NGI_GENERIC", Default="WINDOWS_GENERIC", Value = "WINDOWS_GENERIC"
|
||||||
|
DeviceFPU = Type=string, Allowed="None" "VFP Present", Default="VFP Present", Value = "VFP Present"
|
||||||
|
DeviceFreeRAM = Type=int, Min=0.000000, Max=2097151.000000, Default="1048576", Value = "1048576"
|
||||||
|
DeviceIDInt = Type=int, Default="0", Value = "0"
|
||||||
|
DeviceIDString = Type=string, Default="", Value = ""
|
||||||
|
DeviceIMSI = Type=string, Default="SIMULATOR_IMSI", Value = "SIMULATOR_IMSI"
|
||||||
|
DeviceLSKIsBack = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceLanguage = Type=string, Allowed="UNKNOWN" "ENGLISH" "FRENCH" "GERMAN" "SPANISH" "ITALIAN" "PORTUGUESE" "DUTCH" "TURKISH" "CROATIAN" "CZECH" "DANISH" "FINNISH" "HUNGARIAN" "NORWEGIAN" "POLISH" "RUSSIAN" "SERBIAN" "SLOVAK" "SLOVENIAN" "SWEDISH" "UKRAINIAN" "GREEK" "JAPANESE" "SIMPL_CHINESE" "TRAD_CHINESE" "KOREAN" "ICELANDIC" "FLEMISH" "THAI" "AFRIKAANS" "ALBANIAN" "AMHARIC" "ARABIC" "ARMENIAN" "AZERBAIJANI" "TAGALOG" "BELARUSSIAN" "BENGALI" "BULGARIAN" "BURMESE" "CATALAN" "ESTONIAN" "FARSI" "GAELIC" "GEORGIAN" "GUJARATI" "HEBREW" "HINDI" "INDONESIAN" "IRISH" "KANNADA" "KAZAKH" "KHMER" "LAO" "LATVIAN" "LITHUANIAN" "MACEDONIAN" "MALAY" "MALAYALAM" "MARATHI" "MOLDOVIAN" "MONGOLIAN" "PUNJABI" "ROMANIAN" "SINHALESE" "SOMALI" "SWAHILI" "TAJIK" "TAMIL" "TELUGU" "TIBETAN" "TIGRINYA" "TURKMEN" "URDU" "UZBEK" "VIETNAMESE" "WELSH" "ZULU" "<Use Native Language>", Default="<Use Native Language>", Value = "<Use Native Language>"
|
||||||
|
DeviceMainsPower = Type=bool, Default="false", Value = "false"
|
||||||
|
DeviceName = Type=string, Default="My Computer", Value = "My Computer"
|
||||||
|
DeviceOS = Type=string, Allowed="NONE" "SYMBIAN" "BREW" "WINDOWS" "WINMOBILE" "LINUX" "WIPI" "NDS" "ARM_SEMIH" "NUCLEUS" "NGI" "WINCE" "SHARPEMP" "OSX" "IPHONE" "UIQ" "PS3" "X360" "BADA" "ANDROID" "WEBOS" "QNX", Default="NONE", Value = "NONE"
|
||||||
|
DeviceOSVersion = Type=string, Default="", Value = ""
|
||||||
|
DeviceOSVersionNumber = Type=int, Default="0", Value = "0"
|
||||||
|
DevicePhoneNumber = Type=string, Default="0044123456789", Value = "0044123456789"
|
||||||
|
DeviceTimezone = Type=string, Default="SYSTEM", Value = "SYSTEM"
|
||||||
|
DeviceTotalRAM = Type=int, Min=0.000000, Max=2097151.000000, Default="1048576", Value = "1048576"
|
||||||
|
DeviceUniqueID = Type=string, Default="SIMULATOR_ID", Value = "SIMULATOR_ID"
|
||||||
|
DeviceUniqueIDInt = Type=int, Default="01234567890", Value = "01234567890"
|
||||||
|
FileTotalStorageSize = Type=int, Min=0.000000, Max=2147483648.000000, Default="67108864", Value = "67108864"
|
||||||
|
FileUseSeparateRomRam = Type=bool, Default="true", Value = "true"
|
||||||
|
FileUseTotalStorageSize = Type=bool, Default="false", Value = "false"
|
||||||
|
GLAPI = Type=string, Allowed="None" "GLES 1.0 Common-Lite Profile from Imagination POWERVR(TM)" "GLES 1.1 Common-Lite Profile from Imagination POWERVR(TM)" "GLES 1.0 Common Profile from Imagination POWERVR(TM)" "GLES 1.1 Common Profile from Imagination POWERVR(TM)" "GLES 2.0 from Imagination POWERVR(TM)" "Obey [S3E] SysGlesVersion .icf setting" "GLES 1.1 Common Profile from Qualcomm Snapdragon(TM)" "GLES 2.0 from Qualcomm Snapdragon(TM)" "GLES 2.0 ANGLE", Default="Obey [S3E] SysGlesVersion .icf setting", Value = "Obey [S3E] SysGlesVersion .icf setting"
|
||||||
|
GLDontUseHiddenWindow = Type=bool, Default="false", Value = "false"
|
||||||
|
GLTerminateOnSuspend = Type=bool, Default="false", Value = "false"
|
||||||
|
GLUsePVRVFrame = Type=bool, Default="false", Value = "false"
|
||||||
|
KeyboardHasAlpha = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardHasDirection = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardHasKeypad = Type=bool, Default="true", Value = "true"
|
||||||
|
KeyboardNumpadRotation = Type=string, Allowed="Rot0" "Rot90" "Rot180" "Rot270", Default="Rot0", Value = "Rot0"
|
||||||
|
LicenseExpiryDate = Type=int, Min=0.000000, Max=999999995904.000000, Default="0", Value = "0"
|
||||||
|
LicenseMinutesRemaining = Type=int, Min=0.000000, Max=10000000.000000, Default="0", Value = "0"
|
||||||
|
LicenseStatus = Type=string, Allowed="EXPIRED" "DEMO" "USECOUNT" "EXPIRYDATE" "EXPIRYMINSUSE" "PURCHASE" "SUBSCRIPTION" "UPGRADE" "NONCOMMERCIAL", Default="NONCOMMERCIAL", Value = "NONCOMMERCIAL"
|
||||||
|
LicenseUsesRemaining = Type=int, Min=0.000000, Max=10000000.000000, Default="0", Value = "0"
|
||||||
|
LocationAltitude = Type=float, Min=-2000.000000, Max=100000.000000, Default="60.0", Value = "60.0"
|
||||||
|
LocationAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
LocationHeading = Type=float, Min=0.000000, Max=359.000000, Default="0.0", Value = "0.0"
|
||||||
|
LocationHorizontalAccuracy = Type=float, Min=0.000000, Max=100000.000000, Default="20.0", Value = "20.0"
|
||||||
|
LocationLatitude = Type=float, Min=-90.000000, Max=90.000000, Default="51.511791", Value = "51.511791"
|
||||||
|
LocationLongitude = Type=float, Min=-180.000000, Max=180.000000, Default="-0.191084", Value = "-0.191084"
|
||||||
|
LocationSpeed = Type=float, Min=0.000000, Max=10000.000000, Default="0", Value = "0"
|
||||||
|
LocationVerticalAccuracy = Type=float, Min=0.000000, Max=100000.000000, Default="100.0", Value = "100.0"
|
||||||
|
MacOSSimulatorCustomSettings = Type=string, Default="", Value = ""
|
||||||
|
MacOSSimulatorDevices_ANDROID = Type=string, Allowed="Samsung Galaxy S:480x800:512" "HTC Sensation XL:480x800:768" "Samsung Galaxy Note:800x1280:1024" "Motorola Droid Razr:540x960:1024" "Kindle Fire:1024x600:512" "Samsung Galaxy Tab:1024x600:512", Default="Samsung Galaxy S:480x800:512", Value = "Samsung Galaxy S:480x800:512"
|
||||||
|
MacOSSimulatorDevices_IPHONE = Type=string, Allowed="iPhone 3GS:320x480:256" "iPhone 4:640x960:512" "iPad 2:768x1024:512", Default="iPhone 3GS:320x480:256", Value = "iPhone 3GS:320x480:256"
|
||||||
|
MacOSSimulatorPlatforms = Type=string, Allowed="IPHONE" "ANDROID", Default="IPHONE", Value = "IPHONE"
|
||||||
|
MacOSSimulatorUseCustomSettings = Type=bool, Default="true", Value = "true"
|
||||||
|
MemoryPoison = Type=bool, Default="true", Value = "true"
|
||||||
|
MemoryPoisonAlloc = Type=int, Min=0.000000, Max=255.000000, Default="170", Value = "170"
|
||||||
|
MemoryPoisonFree = Type=int, Min=0.000000, Max=255.000000, Default="221", Value = "221"
|
||||||
|
MemoryPoisonInit = Type=int, Min=0.000000, Max=255.000000, Default="204", Value = "204"
|
||||||
|
PointerAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
PointerMultiSimulationMode = Type=bool, Default="false", Value = "false"
|
||||||
|
PointerMultiTouchAvailable = Type=bool, Default="false", Value = "false"
|
||||||
|
PointerStylusType = Type=string, Allowed="INVALID" "STYLUS" "FINGER", Default="INVALID", Value = "INVALID"
|
||||||
|
PointerType = Type=string, Allowed="INVALID" "MOUSE" "STYLUS", Default="MOUSE", Value = "MOUSE"
|
||||||
|
SMSEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SMSReceiveEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SocketDNSDelay = Type=int, Min=0.000000, Max=30000.000000, Default="0", Value = "0"
|
||||||
|
SocketHTTPProxy = Type=string, Default="", Value = ""
|
||||||
|
SocketHostName = Type=string, Default="", Value = ""
|
||||||
|
SocketNetworkAvailable = Type=bool, Default="true", Value = "true"
|
||||||
|
SocketNetworkLoss = Type=bool, Default="false", Value = "false"
|
||||||
|
SocketNetworkType = Type=string, Allowed="NONE" "UNKNOWN" "LAN" "WLAN" "GPRS" "UMTS" "EVDO" "CDMA2000" "HSDPA" "WIMAX" "BLUETOOTH" "EDGE" "CDMA" "IDEN" "LTE" "EHRPD" "HSPAPLUS", Default="LAN", Value = "LAN"
|
||||||
|
SocketRecvLimit = Type=int, Min=0.000000, Max=1000000.000000, Default="0", Value = "0"
|
||||||
|
SocketSendLimit = Type=int, Min=0.000000, Max=1000000.000000, Default="0", Value = "0"
|
||||||
|
SoundEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundRecordEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundSampleRate = Type=int, Allowed="8192" "11025" "16000" "22050" "44100", Default="22050", Value = "22050"
|
||||||
|
SoundStereo = Type=bool, Default="true", Value = "true"
|
||||||
|
SoundVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
||||||
|
SurfaceDisableWhenGLIsActive = Type=bool, Default="false", Value = "false"
|
||||||
|
SurfaceDoubleBuffer = Type=bool, Default="false", Value = "false"
|
||||||
|
SurfaceHeight = Type=int, Min=128.000000, Max=4096.000000, Default="480", Value = "320"
|
||||||
|
SurfacePitch = Type=int, Min=0.000000, Max=8192.000000, Default="0", Value = "0"
|
||||||
|
SurfacePixelType = Type=string, Allowed="RGB444" "RGB555" "RGB565" "RGB666" "RGB888" "BGR444" "BGR555" "BGR565" "BGR666" "BGR888", Default="RGB565", Value = "RGB565"
|
||||||
|
SurfacePredefinedResolution = Type=string, Allowed="176x200" "176x208" "240x320 (QVGA Portrait)" "240x400" "320x240 (QVGA Landscape)" "320x400" "320x480 (iPhone Portrait)" "400x240" "480x320 (iPhone Landscape)" "360x640 (qHD Portrait)" "640x360 (qHD Landscape)" "480x640 (VGA Portrait)" "480x800 (WVGA Portrait)" "640x480 (VGA Landscape)" "800x400" "800x480 (WVGA Landscape)" "640x960 (iPhone 4 Portrait)" "960x640 (iPhone 4 Landscape)" "1024x600 (Playbook Landscape)" "600x1024 (Playbook Portrait)" "768x1024 (iPad Portrait)" "1024x768 (iPad Landscape)" "2048x1536 (iPad Retina Landscape)" "1536x2048 (iPad Retina Portrait)", Default="320x480 (iPhone Portrait)", Value = "176x200"
|
||||||
|
SurfaceRotation = Type=string, Allowed="Rot0" "Rot90" "Rot180" "Rot270", Default="Rot0", Value = "Rot0"
|
||||||
|
SurfaceUnalign = Type=bool, Default="true", Value = "true"
|
||||||
|
SurfaceUseMultiBuffers = Type=bool, Default="true", Value = "true"
|
||||||
|
SurfaceWidth = Type=int, Min=128.000000, Max=4096.000000, Default="320", Value = "480"
|
||||||
|
SymbianSoundLatency = Type=int, Min=20.000000, Max=1400.000000, Default="120", Value = "120"
|
||||||
|
ThreadEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
TimerAccuracy = Type=int, Min=0.000000, Max=1000.000000, Default="0", Value = "0"
|
||||||
|
TimerHiRes = Type=bool, Default="false", Value = "false"
|
||||||
|
TimerLocaltimeOffsetHours = Type=string, Allowed="-12" "-11" "-10" "-9" "-8" "-7" "-6" "-5" "-4" "-3" "-2" "-1" "0" "+1" "+2" "+3" "+4" "+5" "+6" "+7" "+8" "+9" "+10" "+11" "+12" "+13" "SYSTEM", Default="SYSTEM", Value = "SYSTEM"
|
||||||
|
VibraEnabled = Type=bool, Default="true", Value = "true"
|
||||||
|
Video3GPP = Type=bool, Default="false", Value = "false"
|
||||||
|
VideoJPEG = Type=bool, Default="true", Value = "true"
|
||||||
|
VideoMPEG4 = Type=bool, Default="true", Value = "true"
|
||||||
|
VideoVolumeDefault = Type=int, Min=0.000000, Max=256.000000, Default="256", Value = "256"
|
Loading…
Reference in New Issue