diff --git a/cocos2dx/platform/marmalade/CCImage.cpp b/cocos2dx/platform/marmalade/CCImage.cpp index c06afa8747..c620f42a0c 100644 --- a/cocos2dx/platform/marmalade/CCImage.cpp +++ b/cocos2dx/platform/marmalade/CCImage.cpp @@ -552,77 +552,77 @@ bool CCImage::initWithImageData(void * pData, int nHeight, int nBitsPerComponent) { - bool bRet = false; - do - { - CC_BREAK_IF(! pData || nDataLen <= 0); - - if (kFmtPng == eFmt) - { - bRet = _initWithPngData(pData, nDataLen); - break; - } - else if (kFmtJpg == eFmt) - { - bRet = _initWithJpgData(pData, nDataLen); - break; - } - else if (kFmtTiff == eFmt) - { - bRet = _initWithTiffData(pData, nDataLen); - break; - } - else if (kFmtRawData == eFmt) - { - bRet = _initWithRawData(pData, nDataLen, nWidth, nHeight, nBitsPerComponent); - break; - } - else - { - // if it is a png file buffer. - if (nDataLen > 8) - { - unsigned char* pHead = (unsigned char*)pData; - if ( pHead[0] == 0x89 - && pHead[1] == 0x50 - && pHead[2] == 0x4E - && pHead[3] == 0x47 - && pHead[4] == 0x0D - && pHead[5] == 0x0A - && pHead[6] == 0x1A - && pHead[7] == 0x0A) - { - bRet = _initWithPngData(pData, nDataLen); - break; - } - } - - // if it is a tiff file buffer. - if (nDataLen > 2) - { - unsigned char* pHead = (unsigned char*)pData; - if ( (pHead[0] == 0x49 && pHead[1] == 0x49) - || (pHead[0] == 0x4d && pHead[1] == 0x4d) - ) - { - bRet = _initWithTiffData(pData, nDataLen); - break; - } - } - - // if it is a jpeg file buffer. - if (nDataLen > 2) - { - unsigned char* pHead = (unsigned char*)pData; - if ( pHead[0] == 0xff - && pHead[1] == 0xd8) - { - bRet = _initWithJpgData(pData, nDataLen); - break; - } - } - } - } while (0); + bool bRet = false; + do + { + CC_BREAK_IF(! pData || nDataLen <= 0); + + if (kFmtPng == eFmt) + { + bRet = _initWithPngData(pData, nDataLen); + break; + } + else if (kFmtJpg == eFmt) + { + bRet = _initWithJpgData(pData, nDataLen); + break; + } + else if (kFmtTiff == eFmt) + { + bRet = _initWithTiffData(pData, nDataLen); + break; + } + else if (kFmtRawData == eFmt) + { + bRet = _initWithRawData(pData, nDataLen, nWidth, nHeight, nBitsPerComponent); + break; + } + else + { + // if it is a png file buffer. + if (nDataLen > 8) + { + unsigned char* pHead = (unsigned char*)pData; + if ( pHead[0] == 0x89 + && pHead[1] == 0x50 + && pHead[2] == 0x4E + && pHead[3] == 0x47 + && pHead[4] == 0x0D + && pHead[5] == 0x0A + && pHead[6] == 0x1A + && pHead[7] == 0x0A) + { + bRet = _initWithPngData(pData, nDataLen); + break; + } + } + + // if it is a tiff file buffer. + if (nDataLen > 2) + { + unsigned char* pHead = (unsigned char*)pData; + if ( (pHead[0] == 0x49 && pHead[1] == 0x49) + || (pHead[0] == 0x4d && pHead[1] == 0x4d) + ) + { + bRet = _initWithTiffData(pData, nDataLen); + break; + } + } + + // if it is a jpeg file buffer. + if (nDataLen > 2) + { + unsigned char* pHead = (unsigned char*)pData; + if ( pHead[0] == 0xff + && pHead[1] == 0xd8) + { + bRet = _initWithJpgData(pData, nDataLen); + break; + } + } + } + } while (0); return bRet; } @@ -630,99 +630,84 @@ bool CCImage::_initWithJpgData(void * data, int nSize) { 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); - - 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) + bool bRet = false; + do { - printf("jpeg is fully off screen\n"); - return bRet; - } - 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; + /* here we set up the standard libjpeg error handler */ + cinfo.err = jpeg_std_error( &jerr ); - while (cinfo.output_scanline < cinfo.output_height)// count through the image - { - /* 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); + /* setup decompression process and source, then read JPEG header */ + jpeg_create_decompress( &cinfo ); - if (starty-- <= 0)// count down from start - { - if (copy_rows-- > 0) + 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; + 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++) - { - uint8 r = buffer[0][xx*3+0]; - uint8 b = buffer[0][xx*3+1]; - uint8 g = buffer[0][xx*3+2]; - - *dst++ = r; - *dst++ = b; - *dst++ = g; - *dst++ = 255; - } - } + cinfo.out_color_space = JCS_RGB; + } + } + else + { + break; } - } - (void) jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); + /* Start decompression jpeg here */ + 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", Default="", Value = "" +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" diff --git a/samples/TestCpp/Resources/development.icf b/samples/TestCpp/Resources/development.icf new file mode 100644 index 0000000000..c670b09718 --- /dev/null +++ b/samples/TestCpp/Resources/development.icf @@ -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="" "ARM4T" "ARM4" "ARM5T" "ARM5TE" "ARM5TEJ" "ARM6" "ARM6K" "ARM6T2" "ARM6Z" "X86" "PPC" "AMD64" "ARM7", Default="", Value = "" +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" "", Default="", Value = "" +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"