예제 #1
0
void Brixpath::init()
{
    //Init system stuff
    Iw2DInit();
    IwResManagerInit();
    IwGxFontInit();
    
    //read resources
    IwGetResManager()->LoadGroup("brixpath.group");
    _backgroundImage = Iw2DCreateImageResource("3px");
    
	// Initialize evil classes
	g_Input.Init();
    g_ColorManager.initialize();
    g_FontManager.initialize();
    g_GameStateManager.initialize();
    
    //Load leveles
    g_LevelsManager.initializeFromFile("test.json");
    
    
    _gameStateData.gameLevel = 0;
    _gameStateData.currentScene = MAIN_MENU_SCENE;
    _gameStateData.switchToScene = MAIN_MENU_SCENE;
    
    //levels should be initialize only after Iw2d and similar stuff is initialized;
    _sceneManager = new ScenesManager(&_gameStateData);
    
    _scene = _sceneManager->getActiveScene();
    
    //and start drawing scene
    _scene->capture();
};
예제 #2
0
/*
	Name		Game::initialise
	Syntax		Game::initialise()
	Brief		Initialises the modules used by the game
*/
void Game::initialise()
{
	// Initialise the IwGx drawing module
	IwGxInit();

	// Initialise Iw2D drawing module
	Iw2DInit();

	// Initialise IwResManager resource manager
	IwResManagerInit();

	int32 result = dzArchiveAttach("ConstructsResources-gles1.dz");
	if (result == S3E_RESULT_ERROR)
	{
		int banana = 40;
	}

	// Create Input 
	input_ = Input::instance();
	input_->initialise();
	
	// Set initial state for the game
	currentState_ = new TitleState;  // ;PlayState TitleState
	currentState_->initialise();
}
int main()
{
	IwGxInit();
	IwGxSetColClear(0, 0, 0xff, 0xff);
	IwResManagerInit();
	Iw2DInit();
	setupTextures();
	registerInput();

    const int textWidth = s3eDebugGetInt(S3E_DEBUG_FONT_SIZE_WIDTH);
    const int textHeight = s3eDebugGetInt(S3E_DEBUG_FONT_SIZE_HEIGHT);
    const int width = s3eSurfaceGetInt(S3E_SURFACE_WIDTH);
    const int height = s3eSurfaceGetInt(S3E_SURFACE_HEIGHT);

	sprintf(g_debugButtonEvent, "ButtonEvent:");
	sprintf(g_debugKeyEvent, "KeyEvent:");
	sprintf(g_debugMotionEvent, "MotionEvent:");
	sprintf(g_debugTouchEvent, "TouchEvent:");
	sprintf(g_debugTouchMotionEvent, "TouchMotionEvent:");

	while (!s3eDeviceCheckQuitRequest())
	{
		render();

		// Yield until unyield is called or a quit request is recieved
        s3eDeviceYield(S3E_DEVICE_YIELD_FOREVER);
	}
	destroyTextures();
	Iw2DTerminate();
	IwResManagerTerminate();
	IwGxTerminate();
	return 0;
}
예제 #4
0
//-----------------------------------------------------------------------------
void HexMapTest::Init()
{
	zoom = 1.0f;
	rotation = 0.0f;
	screenTranslationX = 0;
	screenTranslationY = 0;

	// Initialise the input system
	g_Input.Init();

    // Initialise vectors
    s_left      =  CIwVec3::g_AxisX;
    s_up        = -CIwVec3::g_AxisY;
    s_Angles = CIwSVec3::g_Zero;
    s_cameraPos =  CIwVec3(0, 0, -0x80);

    // Initialise view matrix
    s_viewMatrix = CIwMat::g_Identity;

    s_viewMatrix.SetTrans(s_cameraPos);
    s_viewMatrix.LookAt(
        s_viewMatrix.GetTrans(),
         CIwVec3::g_Zero,
        -CIwVec3::g_AxisY);

	// Initialise
    IwGxInit();
	IwResManagerInit();
    // Set screen clear colour
    IwGxSetColClear(0x40, 0x40, 0x40, 0x00);

    // Turn all lighting off
    IwGxLightingOff();

    // Set field of view
    IwGxSetPerspMul(0xa0);

    // Set near and far planes
    IwGxSetFarZNearZ(0x1000, 0x10);

    // Create empty texture object
    s_BitMapTexture = new CIwTexture;

    // Load image data from disk into texture
    s_BitMapTexture->LoadFromFile("./textures/testTexture_8bit.bmp");

    // "Upload" texture to VRAM
    s_BitMapTexture->Upload();


    // Set the view matrix along the -ve z axis
    CIwMat view = CIwMat::g_Identity;
    view.t.z = -0x100;
    IwGxSetViewMatrix(&view);
	IwGetResManager()->LoadGroup("TileRes.group"); 
	pGroup = IwGetResManager()->GetGroupNamed("TileRes");
	hexGrid = new HexGrid(hexGridMaxX, hexGridMaxY, textureMaxX, textureMaxY);
	hexGrid->setTexture(IW_TEXTURE(pGroup,"grid"),textureMaxX,textureMaxY);
	s_ModelMatrix.SetIdentity();
}
예제 #5
0
void ResourceManager::init() {
	IwSoundInit();
	IwResManagerInit();
#ifdef IW_BUILD_RESOURCES
	IwGetResManager()->AddHandler(new CIwResHandlerWAV);
#endif
	IwGetResManager()->LoadGroup("sounds.group");
	imgs = new map<string, SImg>();
	sounds = new map<int, Sound>();
}
예제 #6
0
파일: main.cpp 프로젝트: rgee/COMP419
int main() {
    
	IwGxInit();
	IwResManagerInit();
 
	doMain();
	
	IwResManagerTerminate();
	IwGxTerminate();
		
	return 0;
}
void Game::Init()
{
	IwGxInit();
	IwGraphicsInit();

	IwResManagerInit();

#ifdef IW_BUILD_RESOURCES
	IwGetTextParserITX()->SetAssertOnUnrecognisedTokens( false );
	IwGetResManager()->AddHandler( new CIwResHandlerWAV );
#endif

	IW_CLASS_REGISTER( Collision );
	IW_CLASS_REGISTER( CStatic );
	IW_CLASS_REGISTER( CDynamic );
	IW_CLASS_REGISTER( CLocator );

	IwGxSetColClear( 0x40, 0x40, 0x40, 0x00 );

	LocaliseInit();

	m_font = FontManager::GetInstance();

	m_menuManager = MenuManager::GetInstance();

	m_touchManager = TouchManager::GetInstance();
	m_touchManager->Init();

	m_accelerometerManager = AccelerometerManager::GetInstance();
	m_accelerometerManager->Init();

	m_webManager = WebManager::GetInstance();
	m_webManager->Init();

	m_config = Config::GetInstance();
	m_config->Init();

	m_soundManager = SoundManager::GetInstance();
	m_soundManager->Init();

	m_scriptManager = ScriptManager::GetInstance();
	m_scriptManager->Init();

	m_shaderManager = ShaderManager::GetInstance();
	m_shaderManager->Init();

	m_postProcessing = PostProcessing::GetInstance();
	m_postProcessing->Init();

	GameState::InitStatesStack();
	GameState::SetState( new GS_Loading() );
}
예제 #8
0
void Game::mainLoop()
{
    // initialize
    deltaTime = 0;

    // TODO: create a config file and move these there
    const uint64 TARGET_FRAME_MS = 16;
    const uint64 MAX_FRAME_MS = 100;

    // init assets
    AssetFactory::getInstance().init();

		//init resource manager
#ifdef IW_BUILD_RESOURCES
	IwGetResManager()->AddHandler(new CIwResHandlerWAV);
#endif

#ifdef _DEBUG
	IwGetResManager()->LoadGroup("TestLevel.group");
#endif

    // create level
    //LevelManager::getInstance().pushLevel(new MainMenu(this));
    LevelManager::getInstance().pushLevel(new TestLevel());
    LevelManager::getInstance().getActiveLevel()->initialize();

    // init input
    Input::getInstance();
	
	//Init sound and resmanager
	//IwGxInit();
	//Iw2DInit();
	//Iw2DSetAlphaMode(IW_2D_ALPHA_HALF);
	IwSoundInit();
	IwResManagerInit();


	IwGetResManager()->LoadGroup("TestLevel.group");

    // loop
    while( !quit )
    {
        //s3eDeviceYield(0); // S3E applications should yield frequently
        uint64 time = s3eTimerGetMs();

		if ( s3eDeviceCheckQuitRequest() ) {
			quit = true;
		}

		IwGetSoundManager()->Update();
		update();
		render();

        deltaTime = s3eTimerGetMs() - time;
        int yield = 0;

        if (deltaTime < TARGET_FRAME_MS) {
            yield = TARGET_FRAME_MS - deltaTime;
            deltaTime = TARGET_FRAME_MS;
        } else if (deltaTime > MAX_FRAME_MS) {
            deltaTime = MAX_FRAME_MS;
        }

        s3eDeviceYield(yield);
    }

    // clean up
    Input::getInstance().unregister();

	IwSoundTerminate();
	IwResManagerTerminate();
	Iw2DTerminate();
}
예제 #9
0
int main(int argc, char* argv[])
{
	g_pointerdown = false;
	FillDefaultLocalScores();
	// Initialisation of Airplay Studio modules
	Iw2DInit();			// Initialise support for rendering with the standard SW renderer
	IwGxLightingOff();
	IwResManagerInit();
	Load();

	int16 sw = (int16)Iw2DGetSurfaceWidth();
	int16 sh = (int16)Iw2DGetSurfaceHeight();

	PAL_InitData_t palInitData;
	SC_Error_t retCode = SC_Client_New(&g_client, &palInitData, SC_TEST_GAME_ID,
			SC_TEST_GAME_SECRET, "AIW");

	if (retCode != SC_OK) 
		s3eDebugAssertShow(S3E_MESSAGE_CONTINUE_STOP, "Failed to create SC_Client");
	
	IwGetResManager()->LoadGroup("fonts.group");
	LoadGlobalImages();

	LoadMainControls();
	game = new CGame();
	mainmenu = new CMainMenu();
	profile = new CProfile();
	scores = new CScores();


	mainmenu->Load();
	game->Load();
	profile->Load();
	scores->Load();
	CBaseScene *curscene = (CBaseScene *)mainmenu;
	g_curSceneType = stMainMenu;


	uint32 timer = (uint32)s3eTimerGetMs();

	g_AccelerometerEnabled = (s3eAccelerometerStart() == S3E_RESULT_SUCCESS);

	

	while(curscene)
	{

		s3eDeviceYield(0);


		//// Check for user quit
		if (s3eDeviceCheckQuitRequest())
			break;


		int delta = uint32(s3eTimerGetMs()) - timer;
		timer += delta;

		// Make sure the delta-time value is safe
		if (delta < 0)
			delta = 0;
		if (delta > 100)
			delta = 100;

		if (g_AccelerometerEnabled)
		{

			if (!g_waiting)
			{
				if (g_errorDialog->Get_Visible())
				{
					if (UpdatePointer() == petDown)
						CloseErrorDlg();
					else
						g_errorDialog->Update(delta);
				}
				else
				{
					switch (UpdatePointer())
					{
						case petNone: break;
						case petDown: curscene->PointerDown(g_pointerx, g_pointery); break;
						case petUp: curscene->PointerUp(g_pointerx, g_pointery); break;
						case petMove: curscene->PointerMove(g_pointerx, g_pointery); break;
					}
					curscene->Update(delta);
				}
			}
			curscene->Render();
			if (g_waiting)
			{
				Iw2DSetColour(0xeeffffff);
				Iw2DFillRect(CIwSVec2(0, 0), CIwSVec2(sw, sh));

				Iw2DSetColour(0xff000000);
		
				Iw2DSetFont(g_font);
				Iw2DDrawString(g_waitcaption, CIwSVec2(0, 0), CIwSVec2(sw, sh), IW_2D_FONT_ALIGN_CENTRE, IW_2D_FONT_ALIGN_CENTRE);
			}
			if (g_errorDialog->Get_Visible())
			{
				g_errorDialog->Render();
			}
		}


		Iw2DSurfaceShow();

		switch (g_curSceneType)
		{
			case stNone: curscene = 0; break;
			case stMainMenu: 
			{
				if (curscene != (CBaseScene *)mainmenu)
				{
					curscene = (CBaseScene *)mainmenu; 
					curscene->Show();
				}
			}	break;
			case stGame: 
			{
				if (curscene != (CBaseScene *)game)
				{
					curscene = (CBaseScene *)game;
					curscene->Show();
				}
			}break;

			case stProfile: 
			{
				if (curscene != (CBaseScene *)profile)
				{
					curscene = (CBaseScene *)profile;
					curscene->Show();
				}
			}break;
			case stScores: 
			{
				if (curscene != (CBaseScene *)scores)
				{
					curscene = (CBaseScene *)scores;
					curscene->Show();
				}
			}break;
		}
	}
	Save();
	delete game;
	delete mainmenu;
	delete profile;
	delete scores;

	SC_Client_Release(g_client);
	UnloadGlobalImages();
	UnloadMainControls();
	if (g_AccelerometerEnabled)
		s3eAccelerometerStop();
	// Terminate system modules
	IwResManagerTerminate();
	Iw2DTerminate();

	return 0;
}
void	CIwGamePlatformOtherMarm::InitResManager()
{
	IwResManagerInit();
}