bool init(char* androidAppKey, char* iosAppKey, bool enableTesting, bool enableLogging, bool useEvents)
{
    //todo? might want a reloadAdOnSurfaceChange callback that asks for a new ad if there
    //is a rotation or resize event...
    
    bool initialised = false;
    
    if (s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_ANDROID)
    {
        if (!androidAppKey || !androidAppKey[0]) return false;
		initialised = s3eAmazonAdsInit(androidAppKey, enableTesting, enableLogging) == S3E_RESULT_SUCCESS;
    }
	else if (s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_IPHONE)
    {
        if (!iosAppKey || !iosAppKey[0]) return false;
		initialised = s3eAmazonAdsInit(iosAppKey, enableTesting, enableLogging) == S3E_RESULT_SUCCESS;
    }
    
    if (initialised && useEvents)
    {
        s3eAmazonAdsRegister(S3E_AMAZONADS_CALLBACK_AD_LOADED, onAdLoad,  NULL);
        s3eAmazonAdsRegister(S3E_AMAZONADS_CALLBACK_AD_ACTION, onAdAction, NULL);
        s3eAmazonAdsRegister(S3E_AMAZONADS_CALLBACK_AD_ERROR,  onAdError,  NULL);
    }
    
    return initialised;
}
static void SoftkeysRender()
{
    static bool disableExit =
        s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_WS8 ||
        s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_WS81;

    if (!disableExit)
    {
        int back = s3eDeviceGetInt(S3E_DEVICE_BACK_SOFTKEY_POSITION);
        SoftkeyRender("`x666666Exit", (s3eDeviceSoftKeyPosition)back, s3eDeviceRequestQuit);
    }
}
void CScores::DoSubmitScore()
{
	unsigned int aMode = 1;	
	unsigned int aLevel = 1;
	double aScore = (double)g_localhighscore;
	double aMinorResult = (double)s3eDeviceGetInt(S3E_DEVICE_OS); // Save OS type as Minor Result
	
	/* Create the score and set score data */
	SC_Score_h score;
	
	SC_Error_t retCode = SC_Score_New(&score);
	if (retCode == SC_OK) {
		SC_Score_SetResult(score, aScore);
		SC_Score_SetMode(score, aMode);
		SC_Score_SetLevel(score, aLevel);
		SC_Score_SetMinorResult(score, aMinorResult);

		retCode = SC_ScoreController_SubmitScore(m_scoreController, score);
		// See OnRequestSuccessSubmit()
	}
	
	/* SC_ScoreController_SubmitScore takes the ownership, we can safely release it */
	SC_Score_Release(score);
	
	if (retCode != SC_OK) {
		OnRequestFailed(retCode);
	}
}
Example #4
0
void RenderSoftkeys()
{
    int back = s3eDeviceGetInt(S3E_DEVICE_BACK_SOFTKEY_POSITION);
    RenderSoftkey("Exit", (s3eDeviceSoftKeyPosition)back, s3eDeviceRequestQuit);
    //int advance = s3eDeviceGetInt(S3E_DEVICE_ADVANCE_SOFTKEY_POSITION);
    //RenderSoftkey("ASK", (s3eDeviceSoftKeyPosition)advance);
}
static void SoftkeysRender()
{
    //int advance = s3eDeviceGetInt(S3E_DEVICE_ADVANCE_SOFTKEY_POSITION);
    //SoftkeyRender("`x666666ASK", (s3eDeviceSoftKeyPosition)advance);
    int back = s3eDeviceGetInt(S3E_DEVICE_BACK_SOFTKEY_POSITION);
    SoftkeyRender("`x666666Exit", (s3eDeviceSoftKeyPosition)back, s3eDeviceRequestQuit);
}
//-----------------------------------------------------------------------------
void ExampleInit()
{
    // Startapp:
	if (s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_ANDROID)
	{
		if(startappAvailable())
		{
			initSDK(STARTAPP_DEVID, STARTAPP_APPID); 
		}
	}
	
	//Initialise the IwUI module
    IwUIInit();

    //Instantiate the view and controller singletons.
    //IwUI will not instantiate these itself, since they can be subclassed to add functionality.
    new CIwUIController;
    new CIwUIView;

    //Load group which contains the ui specifications
    IwGetResManager()->LoadGroup("IwUIBasicButtonEvents.group");

    //Load button
    s_Button = (CIwUIButton*) CIwUIElement::CreateFromResource("EventButton");

    //Attach eventhandler to button
    s_Button->AddEventHandler(new MyButtonEventHandler);

    //Add the label to the UIView singleton
    IwGetUIView()->AddElement(s_Button);
}
Example #7
0
//--------------------------------------------------------------------------
void ExampleInit()
{
	//Register for standard pointer events
	s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB, NULL);
	s3ePointerRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB, NULL);
    
	// Init buttons.
	startBtn = NewButton("Start MAT SDK");
	showParmsBtn = NewButton("Show SDK Parameters");
	sendInstallBtn = NewButton("Send Install");
    sendEventRefBtn = NewButton("Send Event With Ref");
	sendEventBtn = NewButton("Send Event Items");
    setDebugBtn = NewButton("Set Debug on/off");
	
    int32 osInt = s3eDeviceGetInt(S3E_DEVICE_OS);
    if (osInt == S3E_OS_ID_ANDROID)
    {
        strcpy(g_package_name, "com.marmaladeandroidtest");
        strcpy(g_site_id, "7488");
    }
    else
    {
        strcpy(g_package_name, "2GLFC47AY5.com.hasoffers.marmaladeTestApp");
        strcpy(g_site_id, "6864");
    }
	SetButtonScale(2);
    
}
Example #8
0
	int32 dpiGetScreenDPI_Bada()
	{
		switch (s3eDeviceGetInt(S3E_DEVICE_ID))
		{
			case 754973890: //Wave 525 ("GT-S5250")
				return 146;
			case 755065988: //Bada Wave GT-S8500
				return 283;
			default:
				break;
		}
		return 146;
	}
Example #9
0
bool CIwGameAds::Init()
{
	Mediator = NULL;
	AdAvailableCallback = NULL;
	Error = ErrorNone;
	ErrorString = "";
	ErrorString.setAutoHash(true);
	ClientID = "-1";
	HtmlAds = false;
	TextAds = false;
	UserAge = 0;
	UserGender = GenderInvalid;
	AdAvailable = false;
	UserAgent = IW_GAME_HTTP_MANAGER->getUserAgent();
    SlotSize = sDefault;

	Version = "Sm2m-1.5.3";

	// Get device UDID
	UDID = s3eDeviceGetInt(S3E_DEVICE_UNIQUE_ID);

	// Get device surface dimensions
	Width = IwGxGetScreenWidth();
	Height = IwGxGetScreenHeight();

	// Find our which portal ID we should be using
	PortalType = FindPortalType(TextAds);

	// Allocate string large enough to hold our largest request
	RequestURI.allocString(2048);

	// Get previous session client ID
/*	CIwGameFile file;
	if (file.Open("\\iwgameads.dat", "rb"))
	{
		int len = file.getFileSize();
		ClientID.allocString(len);
		ClientID.setLength(len);
		file.Read((void*)ClientID.c_str(), len);
	}*/

//	ClientID = CIwGameString(UDID);

	return true;			// Pointer support
}
ccLanguageType CCApplication::getCurrentLanguage()
{
	int nLanguageIdx;
	ccLanguageType currentLanguage;

	nLanguageIdx = s3eDeviceGetInt(S3E_DEVICE_LANGUAGE);
	
	switch (nLanguageIdx)
	{
		case S3E_DEVICE_LANGUAGE_ENGLISH:
			currentLanguage = kLanguageEnglish;
			break;

		case S3E_DEVICE_LANGUAGE_SIMPL_CHINESE:
		case  S3E_DEVICE_LANGUAGE_TRAD_CHINESE:
			currentLanguage = kLanguageChinese;
			break;

		case S3E_DEVICE_LANGUAGE_FRENCH:
			currentLanguage = kLanguageFrench;
			break;

		case S3E_DEVICE_LANGUAGE_ITALIAN:
			currentLanguage = kLanguageItalian;
			break;

		case S3E_DEVICE_LANGUAGE_GERMAN:
			currentLanguage = kLanguageGerman;
			break;

		case S3E_DEVICE_LANGUAGE_SPANISH:
			currentLanguage = kLanguageSpanish;
			break;

		case S3E_DEVICE_LANGUAGE_RUSSIAN:
			currentLanguage = kLanguageItalian;
			break;

		default:
			currentLanguage = kLanguageRussian;
			break;
	}
	return currentLanguage;
}
Example #11
0
TargetPlatform CCApplication::getTargetPlatform()	// MH: Cocos2dx 2.0.3 added this new method to the protocol
{
	int os = s3eDeviceGetInt(S3E_DEVICE_OS);

	switch (os)
	{
	case S3E_OS_ID_QNX:
		return kTargetBlackBerry;
	case S3E_OS_ID_ANDROID:
		return kTargetAndroid;
	case S3E_OS_ID_IPHONE:
		return kTargetIphone;			// TODO: Need to add distinction between iPad and iPhone
	case S3E_OS_ID_WINDOWS:
		return kTargetWindows;
	case S3E_OS_ID_LINUX:
		return kTargetLinux;
	case S3E_OS_ID_OSX:
		return kTargetMacOS;
	}

	return kTargetWindows;				// TODO: TargetPlatform contains no definition for unsupported platform
}
Example #12
0
		static int GetDeviceID()
		{
			return s3eDeviceGetInt(S3E_DEVICE_ID);
		}
Example #13
0
		static int GetDeviceOS()
		{
			return s3eDeviceGetInt(S3E_DEVICE_OS);
		}
Example #14
0
//Example Main
void ExampleInit()
{
    InitMessages(10,60);

    g_ButtonLogEvent = NewButton("Log Event");
    g_ButtonLogTimedEvent = NewButton("Log Timed Event");
    g_ButtonEndTimedEvent = NewButton("End Timed Event");
    g_ButtonLogError = NewButton("Log Error");
    g_ButtonUserInfo = NewButton("Set User Info");
    g_ButtonUserLocation = NewButton("Log User Location");
    g_ButtonToggleSendOnClose = NewButton("Disable send session report on close");
    g_ButtonToggleSendOnPause = NewButton("Disable send session report on pause");

    g_ButtonSetDefaultMessage = NewButton("Set Default Banner Message");
    g_ButtonToggleAdBanner = NewButton("Toggle Ad Banner");
    g_ButtonShowOfferWall = NewButton("Display Offer Wall");

    g_ButtonLogEvent->m_Enabled = false;
    g_ButtonLogTimedEvent->m_Enabled = false;
    g_ButtonEndTimedEvent->m_Enabled = false;
    g_ButtonLogError->m_Enabled = false;
    g_ButtonUserInfo->m_Enabled = false;
    g_ButtonUserLocation->m_Enabled = false;
    g_ButtonToggleSendOnClose->m_Enabled = false;
    g_ButtonToggleSendOnPause->m_Enabled = false;

    g_ButtonSetDefaultMessage->m_Enabled = false;
    g_ButtonToggleAdBanner->m_Enabled = false;
    g_ButtonShowOfferWall->m_Enabled = false;

    if (!s3eFlurryAvailable())
    {
        AppendMessageColour(RED,"Extension Not Available");
        return;
    }

    // Enable AppCircle
    // We need to call this *before* calling s3eFlurryStart
    s3eFlurryAppCircleEnable();

    //iOS Applicaton Key
    if(s3eDeviceGetInt (S3E_DEVICE_OS) == S3E_OS_ID_IPHONE)
        s3eFlurryStart("DNWX7I7XZYYL9V1QAZFC");
    //Android Applicaton Key
    else if(s3eDeviceGetInt (S3E_DEVICE_OS) == S3E_OS_ID_ANDROID)
        s3eFlurryStart("HD4EZJ147ELQAT9H43KM");


    g_ButtonLogEvent->m_Enabled = true;
    g_ButtonLogTimedEvent->m_Enabled = true;
    g_ButtonEndTimedEvent->m_Enabled = true;
    g_ButtonLogError->m_Enabled = true;
    g_ButtonUserInfo->m_Enabled = true;
    g_ButtonUserLocation->m_Enabled = true;
    g_ButtonToggleSendOnClose->m_Enabled = true;
    g_ButtonToggleSendOnPause->m_Enabled = true;

    g_ButtonSetDefaultMessage->m_Enabled = true;
    g_ButtonToggleAdBanner->m_Enabled = true;
    g_ButtonShowOfferWall->m_Enabled = true;

    s3eLocationStart();
}
Example #15
0
ccLanguageType CCApplication::getCurrentLanguage()
{
	int nLanguageIdx;
	ccLanguageType currentLanguage;

	nLanguageIdx = s3eDeviceGetInt(S3E_DEVICE_LANGUAGE);
	
	switch (nLanguageIdx)
	{
		case S3E_DEVICE_LANGUAGE_ENGLISH:
			currentLanguage = kLanguageEnglish;
			break;

		case S3E_DEVICE_LANGUAGE_SIMPL_CHINESE:
		case  S3E_DEVICE_LANGUAGE_TRAD_CHINESE:
			currentLanguage = kLanguageChinese;
			break;

		case S3E_DEVICE_LANGUAGE_FRENCH:
			currentLanguage = kLanguageFrench;
			break;

		case S3E_DEVICE_LANGUAGE_ITALIAN:
			currentLanguage = kLanguageItalian;
			break;

		case S3E_DEVICE_LANGUAGE_GERMAN:
			currentLanguage = kLanguageGerman;
			break;

		case S3E_DEVICE_LANGUAGE_SPANISH:
			currentLanguage = kLanguageSpanish;
			break;

		case S3E_DEVICE_LANGUAGE_RUSSIAN:
			currentLanguage = kLanguageRussian;
			break;
			
		case S3E_DEVICE_LANGUAGE_KOREAN:
			currentLanguage = kLanguageKorean;
			break;
			
		case S3E_DEVICE_LANGUAGE_JAPANESE:
			currentLanguage = kLanguageJapanese;
			break;

		case S3E_DEVICE_LANGUAGE_HUNGARIAN:
			currentLanguage = kLanguageHungarian;
			break;
            
        case S3E_DEVICE_LANGUAGE_PORTUGUESE:
			currentLanguage = kLanguagePortuguese;
			break;
            
        case S3E_DEVICE_LANGUAGE_ARABIC:
			currentLanguage = kLanguageArabic;
			break;

		default:
			currentLanguage = kLanguageEnglish;
			break;
	}
	return currentLanguage;
}
Example #16
0
CIwGameAds::eIwGameAdsPortalType CIwGameAds::FindPortalType(bool text_ad)
{
	// Get the devices operating system
	OperatingSystem = s3eDeviceGetInt(S3E_DEVICE_OS);

	// Calculate portal type from OS
	switch (OperatingSystem)
	{
	case S3E_OS_ID_SYMBIAN:
		if (text_ad)
			return OVIText;
		return OVIBanner;
	case S3E_OS_ID_WINMOBILE:
	case S3E_OS_ID_WINCE:
		if (text_ad)
			return WinMobileText;
		return WinMobileBanner;
	case S3E_OS_ID_QNX:
		if (text_ad)
			return BlackberryText;
		return BlackberryBanner;
	case S3E_OS_ID_BADA:
		if (text_ad)
			return BadaText;
		return BadaBanner;
	case S3E_OS_ID_ANDROID:
		if (text_ad)
			return AndroidText;
		return AndroidBanner;
	case S3E_OS_ID_IPHONE:
		if (Width > 960 && Height > 640 || Height > 960 && Width > 640)
		{
			if (text_ad)
				return iPadText;
			return iPadBanner;
		}
		else
		{
			if (text_ad)
				return iPhoneText;
			return iPhoneBanner;
		}
	case S3E_OS_ID_WEBOS:
		if (text_ad)
			return WebOSText;
		return WebOSBanner;
	case S3E_OS_ID_WINDOWS:
	case S3E_OS_ID_LINUX:
	case S3E_OS_ID_WIPI:
	case S3E_OS_ID_NDS:
	case S3E_OS_ID_ARM_SEMIH:
	case S3E_OS_ID_NUCLEUS:
	case S3E_OS_ID_NGI:
	case S3E_OS_ID_SHARPEMP:
	case S3E_OS_ID_OSX:
	case S3E_OS_ID_UIQ:
	case S3E_OS_ID_PS3:
	case S3E_OS_ID_X360:
	case S3E_OS_ID_PSP:
	case S3E_OS_ID_WII:
	default:
		if (text_ad)
			return MobileWebText;
		else
			return MobileWebBanner;
		break;
	}

	return PortalNone;
}
Example #17
0
bool MarmaladeSystem::Initialize()
{
    LOG_INFO(LOGCAT_SYSTEM, "MarmaladeSystem initialization starting.\n");

    const char* marmaladeRuntimeVersion = s3eDeviceGetString(S3E_DEVICE_SDK_VERSION);
    LOG_INFO(LOGCAT_SYSTEM, "Marmalade Runtime Version %s, Linked Version %s\n", marmaladeRuntimeVersion, MARMALADE_VERSION_STRING);

    const char* s3eRuntimeVersion = s3eDeviceGetString(S3E_DEVICE_S3E_VERSION);
    LOG_INFO(LOGCAT_SYSTEM, "S3E Runtime Version: %s, Linked Version: %s\n", s3eRuntimeVersion, S3E_VERSION_STRING);

    const char* deviceID = s3eDeviceGetString(S3E_DEVICE_ID);
    const char* deviceOS = s3eDeviceGetString(S3E_DEVICE_OS);
    int deviceOsVersion = s3eDeviceGetInt(S3E_DEVICE_OS_VERSION);
    int osVersionMajor = (deviceOsVersion >> 16);
    int osVersionMinor =  deviceOsVersion & 0xffff;
    const char* deviceClass = s3eDeviceGetString(S3E_DEVICE_CLASS);
    const char* deviceArch = s3eDeviceGetString(S3E_DEVICE_ARCHITECTURE);
    const char* deviceChipset = s3eDeviceGetString(S3E_DEVICE_CHIPSET);
    int deviceTotalMemKB = s3eDeviceGetInt(S3E_DEVICE_MEM_TOTAL);
    int deviceFreeMemKB = s3eDeviceGetInt(S3E_DEVICE_MEM_FREE);
    int heapSize = s3eMemoryGetInt(S3E_MEMORY_SIZE);

    LOG_INFO(LOGCAT_SYSTEM, "Device ID: %s\n", deviceID);
    LOG_INFO(LOGCAT_SYSTEM, "Device OS: %s (%d.%d)\n", deviceOS, osVersionMajor, osVersionMinor);
    LOG_INFO(LOGCAT_SYSTEM, "Device Class: %s\n", deviceClass);
    LOG_INFO(LOGCAT_SYSTEM, "Device Architecture: %s\n", deviceArch);
    LOG_INFO(LOGCAT_SYSTEM, "Device Chipset: %s\n", deviceChipset);
    LOG_INFO(LOGCAT_SYSTEM, "Device Memory: %dKB free, %dKB total\n", deviceFreeMemKB, deviceTotalMemKB);
    LOG_INFO(LOGCAT_SYSTEM, "S3E Memory Heap Size: %d bytes\n", heapSize);

    bool keyboardHasAlpha = false;
    bool keyboardHasDirection = false;
    if (s3eKeyboardGetInt(S3E_KEYBOARD_HAS_ALPHA))
    {
        keyboardHasAlpha = true;
        LOG_INFO(LOGCAT_SYSTEM, "Keyboard property: S3E_KEYBOARD_HAS_ALPHA\n");
    }
    if (s3eKeyboardGetInt(S3E_KEYBOARD_HAS_NUMPAD))
        LOG_INFO(LOGCAT_SYSTEM, "Keyboard property: S3E_KEYBOARD_HAS_NUMPAD\n");
    if (s3eKeyboardGetInt(S3E_KEYBOARD_HAS_DIRECTION))
    {
        keyboardHasDirection = true;
        LOG_INFO(LOGCAT_SYSTEM, "Keyboard property: S3E_KEYBOARD_HAS_DIRECTION\n");
    }

    // Android Xperia Play device detection
    // TODO: any other device ID's we need to worry about?
    bool isXperiaPlay = false;
    if (s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_ANDROID)
    {
        LOG_INFO(LOGCAT_SYSTEM, "Detected Android as host OS.\n");
        if (strlen(deviceID) >= 4)
        {
            // possible device ID's I currently know of:
            //   R800i, R800a, R800x
            if (strncmp(deviceID, "R800", 4) == 0)
            {
                LOG_INFO(LOGCAT_SYSTEM, "Device is an Xperia Play.\n");
                isXperiaPlay = true;
            }
            else
                LOG_INFO(LOGCAT_SYSTEM, "Device is not an Xperia Play.\n");
        }
    }

    bool keyboardHasPhysicalGameControls = false;
    if ((keyboardHasAlpha && keyboardHasDirection) || isXperiaPlay)
        keyboardHasPhysicalGameControls = true;

    if (keyboardHasPhysicalGameControls)
        LOG_INFO(LOGCAT_SYSTEM, "Keyboard device has enough physical keys for full game controls.\n");
    else
        LOG_INFO(LOGCAT_SYSTEM, "Keyboard device does not have enough physical keys for full game controls.\n");

    m_keyboard = new MarmaladeKeyboard(keyboardHasPhysicalGameControls);
    ASSERT(m_keyboard != NULL);
    LOG_INFO(LOGCAT_SYSTEM, "Keyboard input device ready.\n");

    bool isMultitouchAvailable = false;
    if (s3ePointerGetInt(S3E_POINTER_AVAILABLE))
    {
        s3ePointerType pointerType = (s3ePointerType)s3ePointerGetInt(S3E_POINTER_TYPE);
        if (pointerType == S3E_POINTER_TYPE_INVALID)
            LOG_ERROR(LOGCAT_SYSTEM, "Pointer type = S3E_POINTER_TYPE_INVALID\n");
        else if (pointerType == S3E_POINTER_TYPE_MOUSE)
        {
            LOG_INFO(LOGCAT_SYSTEM, "Pointer device is a mouse.\n");

            m_mouse = new MarmaladeMouse();
            ASSERT(m_mouse != NULL);
            LOG_INFO(LOGCAT_SYSTEM, "Mouse input device ready.\n");
        }
        else if (pointerType == S3E_POINTER_TYPE_STYLUS)
        {
            s3eStylusType stylusType = (s3eStylusType)s3ePointerGetInt(S3E_POINTER_STYLUS_TYPE);
            if (stylusType == S3E_STYLUS_TYPE_INVALID)
                LOG_ERROR(LOGCAT_SYSTEM, "Stylus type = S3E_STYLUS_TYPE_INVALID\n");
            else
            {
                if (stylusType == S3E_STYLUS_TYPE_STYLUS)
                    LOG_INFO(LOGCAT_SYSTEM, "Pointer device is a touchscreen using a stylus.\n");
                else if (stylusType == S3E_STYLUS_TYPE_FINGER)
                    LOG_INFO(LOGCAT_SYSTEM, "Pointer device is a touchscreen.\n");

                if (s3ePointerGetInt(S3E_POINTER_MULTI_TOUCH_AVAILABLE))
                {
                    LOG_INFO(LOGCAT_SYSTEM, "Pointer device supports multitouch.\n");
                    isMultitouchAvailable = true;
                }
                else
                    LOG_INFO(LOGCAT_SYSTEM, "Pointer device does not support multitouch.\n");

                m_touchscreen = new MarmaladeTouchscreen(this, isMultitouchAvailable);
                ASSERT(m_touchscreen != NULL);
                LOG_INFO(LOGCAT_SYSTEM, "Touchscreen input device ready.\n");
            }
        }
    }
    else
        LOG_WARN(LOGCAT_SYSTEM, "No pointer device is available.\n");

    s3eDeviceRegister(S3E_DEVICE_PAUSE, _MarmaladeEventCallback_Pause, this);
    s3eDeviceRegister(S3E_DEVICE_UNPAUSE, _MarmaladeEventCallback_Resume, this);
    s3eDeviceRegister(S3E_DEVICE_EXIT, _MarmaladeEventCallback_Exit, this);
    s3eGLRegister(S3E_GL_SUSPEND, _MarmaladeEventCallback_GLSuspend, this);
    s3eGLRegister(S3E_GL_RESUME, _MarmaladeEventCallback_GLResume, this);
    s3eSurfaceRegister(S3E_SURFACE_SCREENSIZE, _MarmaladeEventCallback_ScreenResize, this);
    s3eKeyboardRegister(S3E_KEYBOARD_KEY_EVENT, _MarmaladeEventCallback_Key, this);
    s3eKeyboardRegister(S3E_KEYBOARD_CHAR_EVENT, _MarmaladeEventCallback_KeyChar, this);
    if (m_mouse != NULL || m_touchscreen != NULL)
    {
        if (isMultitouchAvailable)
        {
            s3ePointerRegister(S3E_POINTER_TOUCH_EVENT, _MarmaladeEventCallback_PointerMultitouchButton, this);
            s3ePointerRegister(S3E_POINTER_TOUCH_MOTION_EVENT, _MarmaladeEventCallback_PointerMultitouchMotion, this);
        }
        else
        {
            s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, _MarmaladeEventCallback_PointerButton, this);
            s3ePointerRegister(S3E_POINTER_MOTION_EVENT, _MarmaladeEventCallback_PointerMotion, this);
        }
    }
    else
        LOG_WARN(LOGCAT_SYSTEM, "No mouse or touchscreen device was initialized.\n");

    LOG_INFO(LOGCAT_SYSTEM, "Registered S3E event callbacks.\n");

    LOG_INFO(LOGCAT_SYSTEM, "Initializing file system access.\n");
    m_filesystem = new MarmaladeFileSystem();
    ASSERT(m_filesystem != NULL);

    LOG_INFO(LOGCAT_SYSTEM, "Finished initialization.\n");

    return true;
}
Example #18
0
void RenderSoftkeys()
{
    int back = s3eDeviceGetInt(S3E_DEVICE_BACK_SOFTKEY_POSITION);
    RenderSoftkey("Exit", (s3eDeviceSoftKeyPosition)back, s3eDeviceRequestQuit);
}
Example #19
0
void doMain() {
    if(s3ePointerGetInt(S3E_POINTER_MULTI_TOUCH_AVAILABLE)){
        s3ePointerRegister(S3E_POINTER_TOUCH_EVENT, (s3eCallback)MultiTouchButtonCB, NULL);
        s3ePointerRegister(S3E_POINTER_TOUCH_MOTION_EVENT, (s3eCallback)MultiTouchMotionCB, NULL);
    } else {
        s3ePointerRegister(S3E_POINTER_BUTTON_EVENT, (s3eCallback)SingleTouchButtonCB, NULL);
        s3ePointerRegister(S3E_POINTER_MOTION_EVENT, (s3eCallback)SingleTouchMotionCB, NULL);
    }


    IwGetResManager()->LoadGroup("resource_groups/palate.group");
    
    palateGroup = IwGetResManager()->GetGroupNamed("Palate");

    std::vector<int> ui_texture_hashes;
	uint background_hash = IwHashString("background_clean");
	CIwResList* resources = palateGroup->GetListHashed(IwHashString("CIwTexture"));
	for(CIwManaged** itr = resources->m_Resources.GetBegin(); itr != resources->m_Resources.GetEnd(); ++itr) {
		if(background_hash != (*itr)->m_Hash) {
			ui_texture_hashes.push_back((*itr)->m_Hash);
		}
	}
    
    CIwMaterial* background = new CIwMaterial();
    background->SetTexture((CIwTexture*)palateGroup->GetResNamed("background_clean", IW_GX_RESTYPE_TEXTURE));
    background->SetModulateMode(CIwMaterial::MODULATE_NONE);
    background->SetAlphaMode(CIwMaterial::ALPHA_DEFAULT);

	unit_ui = new CIwMaterial();
    unit_ui->SetModulateMode(CIwMaterial::MODULATE_NONE);
    unit_ui->SetAlphaMode(CIwMaterial::ALPHA_DEFAULT);
    unit_ui->SetTexture((CIwTexture*)palateGroup->GetResNamed("TAKE2", IW_GX_RESTYPE_TEXTURE));
    
    CIwSVec2 bg_wh(320, 480);
	CIwSVec2 ui_wh(80, 480);
	CIwSVec2 ui_offset(240, 0);
	CIwSVec2 uv(0, 0);
	CIwSVec2 duv(IW_GEOM_ONE, IW_GEOM_ONE);

    init();
    
	IwGxLightingOff();
    IwGxSetColClear(255, 255, 255, 255);
    
    float worldScrollMultiplier = 0.75;
    
    if(s3eDeviceGetInt(S3E_DEVICE_OS) == S3E_OS_ID_IPHONE) {
        worldScrollMultiplier = 0.925;
    }

	while (1) {
        
        int64 start = s3eTimerGetMs();
	
		s3eDeviceYield(0);
		s3eKeyboardUpdate();
		s3ePointerUpdate();
		
		if ((s3eKeyboardGetState(s3eKeyEsc) & S3E_KEY_STATE_DOWN)
				|| (s3eKeyboardGetState(s3eKeyAbsBSK) & S3E_KEY_STATE_DOWN)       
				|| (s3eDeviceCheckQuitRequest())) {
			
		    break;
		}
	
        switch(currentState) {

        case MAIN_MENU:
            if(s3ePointerGetState(S3E_POINTER_BUTTON_SELECT) & S3E_POINTER_STATE_PRESSED) {
                currentState = IN_GAME;
            }
            if(frameCount % FRAMES_PER_UPDATE == 0) {
			    mainMenu->tick();
		    }
            mainMenu->render();
            break;
        case IN_GAME:
            IwGxSetMaterial(background);
            IwGxSetScreenSpaceSlot(-1);
            IwGxDrawRectScreenSpace(&CIwSVec2::g_Zero, &bg_wh, &uv, &duv);

		    IwGxSetMaterial(unit_ui);
            IwGxSetScreenSpaceSlot(1); 
            IwGxDrawRectScreenSpace(&ui_offset, &ui_wh, &uv, &duv);
        
		    if (worldScrollSpeed > .0005 || worldScrollSpeed < -.0005) {
			    game->rotate(worldScrollSpeed);
			    worldScrollSpeed *= worldScrollMultiplier;
		    }
            if(frameCount % FRAMES_PER_UPDATE == 0) {
			    game->tick();
		    }
		
		    game->render();
		    if(!renderTouches()) {
                break;
            }

            break;
        }
        		
        IwGxFlush();
        
        IwGxSwapBuffers();
		
		// Attempt frame rate
		while ((s3eTimerGetMs() - start) < MS_PER_FRAME){
			int32 yield = (MS_PER_FRAME - (s3eTimerGetMs() - start));
			if (yield < 0) {
				break;
			}
				
			s3eDeviceYield(yield);
		}
		
		frameCount++;

        
        IwGxClear(IW_GX_COLOUR_BUFFER_F | IW_GX_DEPTH_BUFFER_F);
	}
    
	delete game;
    delete mainMenu;
	delete localPlayer;
	delete opponentPlayer;
    delete background;
	delete unit_ui;
    palateGroup->Finalise();
    
    for(int i = 0; i < MAX_TOUCHES; ++i)
        if(touches[i].unit)
            delete touches[i].unit;
}
Example #20
0
void MenuScreen::Initialize( int16 t )
{
	image = Iw2DCreateImage("splash.png");
	quitConfirmationImage2 = NULL;

	//counter = 0;
	buttonCount = 0;
	type = t;
	// This is the actual pixel size of the image for stretching and tiling purposes
	sprite.setUWidth( 480 );
	sprite.setUHeight( 320 );
	//sprite.setSize( 480, 320 );
	sprite.setSize( IwGxGetScreenWidth(), IwGxGetScreenHeight() );
	sprite.setImage( image );
	sprite.setPosition( IwGxGetScreenWidth()/2, -IwGxGetScreenHeight()/2 ); // menu screen position spawns off-screen by default!!!

	if( type == MENU )
	{
		delete image;
		image = Iw2DCreateImage("black.png");
		sprite.setPosition( IwGxGetScreenWidth()/2, IwGxGetScreenHeight()/2 );

		// high score screen has back button, and Rate button
		buttonCount = 2; // make only 1 button for play for now. Add a 2nd button for credits. More button for more links.

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // PLAY button
				buttonImageArray[i] = Iw2DCreateImage("test.png");
				//buttonImageArray_pressed[i] = Iw2DCreateImage("rateButton_green.png"); // Load only one image for pressed and unpressed.
				button[i].setLocation( 50, 100 ); // these are irrelevant I believe, because locations are reset in Render()
				break;
			case 1: // High Score Screen button
				buttonImageArray[i] = Iw2DCreateImage("test.png");
				//buttonImageArray_pressed[i] = Iw2DCreateImage("backButton_green.png");
				button[i].setLocation( 300, 100 ); // these are irrelevant I believe, because locations are reset in Render()
				break;
			}
			
			buttonSprite[i].setImage( buttonImageArray[i] );
			buttonSprite[i].setUWidth( 128 );
			buttonSprite[i].setUHeight( 128 );
			//buttonSprite[i].setSize( 64, 64 );
			buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
			//buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
			buttonSprite_pressed[i].setImage( buttonImageArray[i] );	
			buttonSprite_pressed[i].setUWidth( 128 );
			buttonSprite_pressed[i].setUHeight( 128 );
			//buttonSprite_pressed[i].setSize( 50, 50 );
			buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

			button[i].setUnpressedSprite( buttonSprite[i] );
			button[i].setPressedSprite( buttonSprite_pressed[i] );
			//button[i].setTouchSize( 64, 64 );
			button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
		}
	}
	else if( type == CHALLENGE )
	{
		int row = 1;
		int column = 1;
		buttonCount = 21;

		// make 20 buttons for levels, 1 button to go back
		for( int i = 0; i < buttonCount; i++ )
		{
			// add if-condition here to create a different image for every button

			buttonImageArray[i] = Iw2DCreateImage("test.png");
			buttonSprite[i].setImage( buttonImageArray[i] );
			buttonSprite[i].setUWidth( 128 );
			buttonSprite[i].setUHeight( 128 );
			buttonSprite[i].setSize( 40, 40 );

			buttonImageArray_pressed[i] = Iw2DCreateImage("menuButton_Touched.png");
			buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
			buttonSprite_pressed[i].setUWidth( 128 );
			buttonSprite_pressed[i].setUHeight( 128 );
			buttonSprite_pressed[i].setSize( 40, 40 );

			button[i].setUnpressedSprite( buttonSprite[i] );
			button[i].setPressedSprite( buttonSprite_pressed[i] );
			button[i].setTouchSize( 40, 40 );
			button[i].setLocation( column*buttonSprite[i].size.x + 30*(column) + 35, row*buttonSprite[i].size.y + 15*(row) + 5 - IwGxGetScreenHeight()/2 );
			

			// increment the rows/columns
			column++;
			if( column >= 6 )
			{
				column = 1;
				row++;
			}
			
		} // end of for-loop creating buttons
	} // end of type == challenge menu
	else if( type == HIGH_SCORE )
	{
		delete image;
		if( s3eDeviceGetInt( S3E_DEVICE_OS ) == S3E_OS_ID_IPHONE )
		{
			image = Iw2DCreateImage("highscore_screen.png");
		}
		else
		{
			image = Iw2DCreateImage("highscore_screen2.png");
		}
		// high score screen has back button, and Rate button
		buttonCount = 13; // buttons 0-1 are rate, 2-6 are black trophies, 7-11 are trophies, 12 is game center

		for( int i = 0; i < NUM_OF_TROPHIES; i++ )
		{
			trophies[i] = false;
		}

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // RATE button
				buttonImageArray[i] = Iw2DCreateImage("rateButton_red.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("rateButton_green.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 64 );
				buttonSprite[i].setUHeight( 64 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 64 );
				buttonSprite_pressed[i].setUHeight( 64 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );

				//button[i].setLocation( 50, 100 ); // not affected here. in render
				break;
			case 1: // BACK button
				buttonImageArray[i] = Iw2DCreateImage("backButton_red.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("backButton_green.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 64 );
				buttonSprite[i].setUHeight( 64 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 64 );
				buttonSprite_pressed[i].setUHeight( 64 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );

				//button[i].setLocation( 300, 100 ); // not affected here. in render
				break;
			case 2: // all the BLACK TROPHY buttons
			case 3:
			case 4:
			case 5:
			case 6:
				buttonImageArray[i] = Iw2DCreateImage("trophyButton_black.png");
				//buttonImageArray_pressed[i] = Iw2DCreateImage("trophyButton_black.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 100 );
				buttonSprite[i].setUHeight( 100 );
				//buttonSprite[i].setSize( 100, 100 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .208, IwGxGetScreenWidth() * .208 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray[i] );	
				buttonSprite_pressed[i].setUWidth( 100 );
				buttonSprite_pressed[i].setUHeight( 100 );
				//buttonSprite_pressed[i].setSize( 80, 80 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .167, IwGxGetScreenWidth() * .167 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .167, IwGxGetScreenWidth() * .167 );
				break;
			case 7:
			case 8:
			case 9:
			case 10:
			case 11: // all the REGULAR TROPHY buttons
				buttonImageArray[i] = Iw2DCreateImage("trophyButton.png");
				//buttonImageArray_pressed[i] = Iw2DCreateImage("trophyButton.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 64 );
				buttonSprite[i].setUHeight( 64 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray[i] );	
				buttonSprite_pressed[i].setUWidth( 64 );
				buttonSprite_pressed[i].setUHeight( 64 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;
			case 12: // GameCenter button

				buttonImageArray[i] = Iw2DCreateImage("gamecenter_64.png");
				//buttonImageArray_pressed[i] = Iw2DCreateImage("trophyButton.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 64 );
				buttonSprite[i].setUHeight( 64 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray[i] );	
				buttonSprite_pressed[i].setUWidth( 64 );
				buttonSprite_pressed[i].setUHeight( 64 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;

			}
		}

	} // end of type == high score
	else if( type == CREDITS )
	{
		delete image;
		image = Iw2DCreateImage("credits_screen.png");

		// high score screen has back button, and Rate button
		buttonCount = 2;

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // RATE button
				buttonImageArray[i] = Iw2DCreateImage("rateButton_red.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("rateButton_green.png");
				button[i].setLocation( 50, 100 );
				break;
			case 1: // BACK button
				buttonImageArray[i] = Iw2DCreateImage("backButton_red.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("backButton_green.png");
				button[i].setLocation( 300, 100 );
				break;
			}
			
			buttonSprite[i].setImage( buttonImageArray[i] );
			buttonSprite[i].setUWidth( 64 );
			buttonSprite[i].setUHeight( 64 );
			//buttonSprite[i].setSize( 64, 64 );
			buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
			buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
			buttonSprite_pressed[i].setUWidth( 64 );
			buttonSprite_pressed[i].setUHeight( 64 );
			//buttonSprite_pressed[i].setSize( 50, 50 );
			buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

			button[i].setUnpressedSprite( buttonSprite[i] );
			button[i].setPressedSprite( buttonSprite_pressed[i] );
			//button[i].setTouchSize( 64, 64 );
			button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
		}
	}
	else if( type == TUTORIAL )
	{
		delete image;
		image = Iw2DCreateImage("tutorial.png");

		// high score screen has back button, and Rate button
		buttonCount = 4;

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0:
				buttonImageArray[i] = Iw2DCreateImage("backButton_red.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("backButton_green.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 64 );
				buttonSprite[i].setUHeight( 64 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 64 );
				buttonSprite_pressed[i].setUHeight( 64 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;
			case 1:
				buttonImageArray[i] = Iw2DCreateImage("buttonBasic.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("buttonBasic.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;
			case 2:
				buttonImageArray[i] = Iw2DCreateImage("buttonDanger.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("buttonDanger.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;
			case 3:
				buttonImageArray[i] = Iw2DCreateImage("buttonDefuse.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("buttonDefuse.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 64, 64 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 50, 50 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .104, IwGxGetScreenWidth() * .104 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 64, 64 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .133, IwGxGetScreenWidth() * .133 );
				break;
			}			
		}
	}
	else if( type == QUIT_CONFIRMATION )
	{
		delete image;
		image = Iw2DCreateImage("quitconfirmation.png");
		quitConfirmationImage2 = Iw2DCreateImage("quitconfirmation2.png");
		sprite.setUWidth( 480 );
		sprite.setUHeight( 320 );
		//sprite.setSize( 480, 320 );
		sprite.setSize( IwGxGetScreenWidth(), IwGxGetScreenHeight() );
		sprite.setImage( image );
		sprite.setPosition( IwGxGetScreenWidth()/2, IwGxGetScreenHeight()/2 );

		// high score screen has back button, and Rate button
		buttonCount = 2;

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0:
				buttonImageArray[i] = Iw2DCreateImage("quitconfirmation_yes.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("quitconfirmation_yes.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 128, 128 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 100, 100 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .208, IwGxGetScreenWidth() * .208 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 128, 128 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
				break;
			case 1:
				buttonImageArray[i] = Iw2DCreateImage("quitconfirmation_no.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("quitconfirmation_no.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 128, 128 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 100, 100 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .208, IwGxGetScreenWidth() * .208 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 128, 128 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
				break;
			}			
		}
	}
	else if( type == NEW_STORY_CONFIRMATION )
	{
		delete image;
		image = Iw2DCreateImage("newstoryconfirmation.png");
		sprite.setUWidth( 480 );
		sprite.setUHeight( 320 );
		//sprite.setSize( 480, 320 );
		sprite.setSize( IwGxGetScreenWidth(), IwGxGetScreenHeight() );
		sprite.setImage( image );
		sprite.setPosition( IwGxGetScreenWidth()/2, IwGxGetScreenHeight()/2 );

		// high score screen has back button, and Rate button
		buttonCount = 2;

		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0:
				buttonImageArray[i] = Iw2DCreateImage("quitconfirmation_yes.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("quitconfirmation_yes.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 128, 128 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 100, 100 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .208, IwGxGetScreenWidth() * .208 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 128, 128 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );

				break;
			case 1:
				buttonImageArray[i] = Iw2DCreateImage("quitconfirmation_no.png");
				buttonImageArray_pressed[i] = Iw2DCreateImage("quitconfirmation_no.png");

				buttonSprite[i].setImage( buttonImageArray[i] );
				buttonSprite[i].setUWidth( 128 );
				buttonSprite[i].setUHeight( 128 );
				//buttonSprite[i].setSize( 128, 128 );
				buttonSprite[i].setSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
			
				buttonSprite_pressed[i].setImage( buttonImageArray_pressed[i] );	
				buttonSprite_pressed[i].setUWidth( 128 );
				buttonSprite_pressed[i].setUHeight( 128 );
				//buttonSprite_pressed[i].setSize( 100, 100 );
				buttonSprite_pressed[i].setSize( IwGxGetScreenWidth() * .208, IwGxGetScreenWidth() * .208 );

				button[i].setUnpressedSprite( buttonSprite[i] );
				button[i].setPressedSprite( buttonSprite_pressed[i] );
				//button[i].setTouchSize( 128, 128 );
				button[i].setTouchSize( IwGxGetScreenWidth() * .267, IwGxGetScreenWidth() * .267 );
				break;
			}
		}
	}
	else if( type == QUESTION_MARK )
	{
		delete image;
		image = Iw2DCreateImage("questionmarkinfo.png");
		sprite.setUWidth( 480 );
		sprite.setUHeight( 320 );
		//sprite.setSize( 480, 320 );
		sprite.setSize( IwGxGetScreenWidth(), IwGxGetScreenHeight() );
		sprite.setImage( image );
		sprite.setPosition( IwGxGetScreenWidth()/2, IwGxGetScreenHeight()/2 );
	}

} // end of initialize()
Example #21
0
void MenuScreen::Render()
{
	sprite.Render();

	if( type == MENU )
	{
		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0:
				//button[i].setLocation( sprite.position.x - 75, sprite.position.y + 122 );
				button[i].setLocation( sprite.position.x, sprite.position.y); // The sprite is the center of the image
				break;
			case 1:
				//button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .031, sprite.position.y + IwGxGetScreenHeight() * .381 );				
				button[i].setLocation( sprite.position.x, sprite.position.y + IwGxGetScreenHeight() * .381 );				
				break;
			}

			button[i].Render();
		}
	}
	else if( type == CHALLENGE )
	{
		int row = 1;
		int column = 1;
		for( int i = 0; i < buttonCount; i++ )
		{
			button[i].setLocation( (column*buttonSprite[i].size.x + 30*(column) + 35) + (sprite.position.x - IwGxGetScreenWidth()/2), (row*buttonSprite[i].size.y + 15*(row) + 5) + (sprite.position.y - IwGxGetScreenHeight()/2) );
			button[i].Render();

			// increment the rows/columns
			column++;
			if( column >= 6 )
			{
				column = 1;
				row++;
			}
		}
	}
	else if( type == HIGH_SCORE )
	{

		if( s3eDeviceGetInt( S3E_DEVICE_OS ) == S3E_OS_ID_IPHONE )
		{
			for( int i = 0; i < buttonCount; i++ )
			{
				switch( i )
				{
				case 0:
					//button[i].setLocation( sprite.position.x - 75, sprite.position.y + 122 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .156, sprite.position.y + IwGxGetScreenHeight() * .381 );
					button[i].Render();
					break;
				case 1:
					//button[i].setLocation( sprite.position.x + 97, sprite.position.y + 122 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .202, sprite.position.y +  IwGxGetScreenHeight() * .381);
					button[i].Render();
					break;
				case 2: // render black trophies
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y - 75 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y - IwGxGetScreenHeight() * .234);
					if( trophies[0] == false )
					{
						button[i].Render();
					}
					break;
				case 3:
					//button[i].setLocation( sprite.position.x + 183, sprite.position.y - 80 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .381, sprite.position.y - IwGxGetScreenHeight() * .25 );
					if( trophies[1] == false )
					{
						button[i].Render();
					}
					break;
				case 4:
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y + IwGxGetScreenHeight() * .156);
					if( trophies[2] == false )
					{
						button[i].Render();
					}
					break;
				case 5:
					//button[i].setLocation( sprite.position.x + 12, sprite.position.y + 63 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .025, sprite.position.y + IwGxGetScreenHeight() * .197);
					if( trophies[3] == false )
					{
						button[i].Render();
					}
					break;
				case 6:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .390, sprite.position.y + IwGxGetScreenHeight() * .141);
					if( trophies[4] == false )
					{
						button[i].Render();
					}
					break;
				case 7:
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y - 75 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y - IwGxGetScreenHeight() * .234);
					if( trophies[0] == true )
					{
						button[i].Render();
					}
					break;
				case 8:
					//button[i].setLocation( sprite.position.x + 183, sprite.position.y - 80 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .381, sprite.position.y - IwGxGetScreenHeight() * .25);
					if( trophies[1] == true )
					{
						button[i].Render();
					}
					break;
				case 9:
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y + IwGxGetScreenHeight() * .156);
					if( trophies[2] == true )
					{
						button[i].Render();
					}
					break;
				case 10:
					//button[i].setLocation( sprite.position.x + 12, sprite.position.y + 63 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .025, sprite.position.y + IwGxGetScreenHeight() * .197);
					if( trophies[3] == true )
					{
						button[i].Render();
					}
					break;
				case 11:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .390, sprite.position.y + IwGxGetScreenHeight() * .141);
					if( trophies[4] == true )
					{
						button[i].Render();
					}
					break;
				case 12:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * 0, sprite.position.y +  IwGxGetScreenHeight() * .381);
					button[i].Render();
					break;
				}
			}
		} // end of if OS is iphone, and rendering trophies
		else // if OS is NOT iphone, do not render rate trophy, or rate button. In fact, just move them off the screen.
		{
			for( int i = 0; i < buttonCount; i++ )
			{
				switch( i )
				{
				case 0: // RATE BUTTON OFFSET OFF SCREEN
					//button[i].setLocation( sprite.position.x - 75, sprite.position.y + 122 );
					//button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .156, sprite.position.y + IwGxGetScreenHeight() * .381 );
					button[i].setLocation( -IwGxGetScreenWidth() * 2, IwGxGetScreenHeight() );
					button[i].Render();
					break;
				case 1: // BACK button
					//button[i].setLocation( sprite.position.x + 97, sprite.position.y + 122 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .202, sprite.position.y +  IwGxGetScreenHeight() * .381);
					button[i].Render();
					break;
				case 2: // render black trophies
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y - 75 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y - IwGxGetScreenHeight() * .234);
					if( trophies[0] == false )
					{
						button[i].Render();
					}
					break;
				case 3:
					//button[i].setLocation( sprite.position.x + 183, sprite.position.y - 80 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .381, sprite.position.y - IwGxGetScreenHeight() * .25 );
					if( trophies[1] == false )
					{
						button[i].Render();
					}
					break;
				case 4:  // Fuzzy Reviewer Trophy OFFSET OFF SCREEN
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					//button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y + IwGxGetScreenHeight() * .156);
					button[i].setLocation( -IwGxGetScreenWidth() * 2, IwGxGetScreenHeight() );
					if( trophies[2] == false )
					{
						button[i].Render();
					}
					break;
				case 5:
					// Fuzzy 1 mill points shifted to reviewer spot
					//button[i].setLocation( sprite.position.x + 12, sprite.position.y + 63 );
					//button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .025, sprite.position.y + IwGxGetScreenHeight() * .197);
					button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					if( trophies[3] == false )
					{
						button[i].Render();
					}
					break;
				case 6:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .390, sprite.position.y + IwGxGetScreenHeight() * .141);
					if( trophies[4] == false )
					{
						button[i].Render();
					}
					break;
				case 7:
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y - 75 );
					button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y - IwGxGetScreenHeight() * .234);
					if( trophies[0] == true )
					{
						button[i].Render();
					}
					break;
				case 8:
					//button[i].setLocation( sprite.position.x + 183, sprite.position.y - 80 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .381, sprite.position.y - IwGxGetScreenHeight() * .25);
					if( trophies[1] == true )
					{
						button[i].Render();
					}
					break;
				case 9: // Fuzzy Reviewer Trophy OFFSET OFF SCREEN
					//button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					//button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .396, sprite.position.y + IwGxGetScreenHeight() * .156);
					button[i].setLocation( -IwGxGetScreenWidth() * 2, IwGxGetScreenHeight() );
					if( trophies[2] == true )
					{
						button[i].Render();
					}
					break;
				case 10: // Fuzzy 1 mill points shifted to reviewer spot
					//button[i].setLocation( sprite.position.x + 12, sprite.position.y + 63 );
					//button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .025, sprite.position.y + IwGxGetScreenHeight() * .197);
					button[i].setLocation( sprite.position.x - 190, sprite.position.y + 50 );
					if( trophies[3] == true )
					{
						button[i].Render();
					}
					break;
				case 11:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .390, sprite.position.y + IwGxGetScreenHeight() * .141);
					if( trophies[4] == true )
					{
						button[i].Render();
					}
					break;
				case 12:
					//button[i].setLocation( sprite.position.x + 187, sprite.position.y + 45 );
					button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * 0, sprite.position.y +  IwGxGetScreenHeight()*.381);
					button[i].Render();
					break;
				}
			}
		} // end of rendering non-iOS versions for trophies and buttons

		// need to render the current images because fonts are automatically displayed underneath them.
		IwGxFlush();

		// the high score
		CIwGxFontPreparedData scoreData;
		char scoreChar[100] = "";
		std::ostringstream scoreStringStream;
		scoreStringStream << highScore;
		string scoreString = scoreStringStream.str();
		strcat( scoreChar, scoreString.c_str() );
		

		// draw the shadow
		//IwGxFontSetCol(0xffaaffff);
		IwGxFontSetCol(0xff330000);
		//IwGxFontSetRect( CIwRect( sprite.position.x - (scoreString.length()/2 * 10), sprite.position.y - 100, 500, 300 ) ); // major glitch here. the size of score affects size of time. vice versa
		IwGxFontSetRect( CIwRect( sprite.position.x - (scoreString.length()/2 * 10), sprite.position.y - IwGxGetScreenHeight() * .312, 500, 300 ) ); // major glitch here. the size of score affects size of time. vice versa
		IwGxFontPrepareText( scoreData, scoreChar );
		IwGxFontDrawText( scoreData );

		// draw the text
		IwGxFontSetCol(0xff66ffff);
		//IwGxFontSetRect( CIwRect( sprite.position.x - (scoreString.length()/2 * 10) - 1, sprite.position.y - 100 - 2, 500, 300 ) ); // major glitch here. the size of score affects size of time. vice versa
		IwGxFontSetRect( CIwRect( sprite.position.x - (scoreString.length()/2 * 10) - IwGxGetScreenWidth()*.002, sprite.position.y - IwGxGetScreenHeight() * .319, 500, 300 ) ); // major glitch here. the size of score affects size of time. vice versa
		IwGxFontPrepareText( scoreData, scoreChar );
		IwGxFontDrawText( scoreData );

		// the time played
		// the high score
		CIwGxFontPreparedData timeData;
		char timeChar[100] = "";
		std::ostringstream timeStringStream;
		timeStringStream << timeHours << " hours  " << timeMinutes << " minutes  " << timeSeconds << " seconds";
		string timeString = timeStringStream.str();
		strcat( timeChar, timeString.c_str() );
		


		// draw the shadow
		//IwGxFontSetCol(0xffaaffff);
		IwGxFontSetCol(0xff330000);	
		//IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 10), sprite.position.y - 15, 400, 300 ) );
		if( IwGxGetScreenHeight() >= 640 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 20), sprite.position.y - IwGxGetScreenHeight() * .047, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		else if( IwGxGetScreenHeight() >= 480 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 15), sprite.position.y - IwGxGetScreenHeight() * .047, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		else //if( IwGxGetScreenHeight() >= 320 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 10), sprite.position.y - IwGxGetScreenHeight() * .047, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		IwGxFontPrepareText( timeData, timeChar );
		IwGxFontDrawText( timeData );


		// draw the text
		IwGxFontSetCol(0xff66ffff);	
		//IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 10) - 1, sprite.position.y - 15 - 2, 400, 300 ) );
		if( IwGxGetScreenHeight() >= 640 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 20) - IwGxGetScreenWidth()*.002, sprite.position.y - IwGxGetScreenHeight() * .053, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		else if( IwGxGetScreenHeight() >= 480 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 15) - IwGxGetScreenWidth()*.002, sprite.position.y - IwGxGetScreenHeight() * .053, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		else //if( IwGxGetScreenHeight() >= 320 )
		{
			IwGxFontSetRect( CIwRect( sprite.position.x - (timeString.length()/2 * 10) - IwGxGetScreenWidth()*.002, sprite.position.y - IwGxGetScreenHeight() * .053, IwGxGetScreenWidth(), IwGxGetScreenHeight() ) );
		}
		IwGxFontPrepareText( timeData, timeChar );
		IwGxFontDrawText( timeData );
	}
	else if( type == CREDITS )
	{
		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0:
				//button[i].setLocation( sprite.position.x - 75, sprite.position.y + 122 );
				button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .156, sprite.position.y + IwGxGetScreenHeight() * .381 );
				break;
			case 1:
				//button[i].setLocation( sprite.position.x + 15, sprite.position.y + 122 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .031, sprite.position.y + IwGxGetScreenHeight() * .381 );
				button[i].Render(); // only render back button
				break;
			}
		}
	}
	else if( type == TUTORIAL )
	{
		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // the back button
				//button[i].setLocation( sprite.position.x + 180, sprite.position.y + 122 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .375, sprite.position.y + IwGxGetScreenHeight() * .381);
				break;
			case 1:
				//button[i].setLocation( sprite.position.x - 60, sprite.position.y + 125 );
				button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .390 );
				break;
			case 2:
				//button[i].setLocation( sprite.position.x + 0, sprite.position.y + 125 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * 0, sprite.position.y + IwGxGetScreenHeight() * .390);
				break;
			case 3:
				//button[i].setLocation( sprite.position.x + 60, sprite.position.y + 125 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .390);
				break;
			}
			
			button[i].Render();
		}
	}
	else if( type == QUIT_CONFIRMATION )
	{
		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // the back button
				//button[i].setLocation( sprite.position.x - 60, sprite.position.y + 45 );
				button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .140 );
				break;
			case 1:
				//button[i].setLocation( sprite.position.x + 60, sprite.position.y + 45 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .140 );
				break;
			}
			
			button[i].Render();
		}
	}
	else if( type == NEW_STORY_CONFIRMATION )
	{
		for( int i = 0; i < buttonCount; i++ )
		{
			switch( i )
			{
			case 0: // the back button
				//button[i].setLocation( sprite.position.x - 60, sprite.position.y + 50 );
				button[i].setLocation( sprite.position.x - IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .156 );
				break;
			case 1:
				//button[i].setLocation( sprite.position.x + 60, sprite.position.y + 50 );
				button[i].setLocation( sprite.position.x + IwGxGetScreenWidth() * .125, sprite.position.y + IwGxGetScreenHeight() * .156 );
				break;
			}
			
			button[i].Render();
		}
	}

}