コード例 #1
0
hkDemo::Result BrowseDemo::stepDemo()
{
	// the file list must be displayed only if we have the directory contents and 
	// we have not loaded a file yet
	if( m_contents == HK_NULL )
	{
		if(m_fileBrowser.parseAndDisplayDirectoryAndFiles( m_env, 20, 20, true ))
		{
			hkString fname = m_fileBrowser.m_curDir + "/" + m_fileBrowser.m_listing.getEntries()[m_fileBrowser.m_curIndex].name;
			if( readAndSetupPackfile( fname.cString() ) == HK_SUCCESS )
			{
				// this is necessary because the first time it was called the world was NULL
				// and setup was not completed
				postConstruct(); 
				m_fileBrowser.m_curDir = fname; // abuse m_curDir and store loaded filename
			}
		}
		
	}
	else
	{
		int startH = START_HORIZONTAL; 
		int startV = START_VERTICAL; 

		hkString s; s.printf("%s loaded%s\nPress \220 to %spause\n\222 or 'X' for an XML snapshot\n\223 or 'B' for a binary snapshot",
			m_fileBrowser.m_curDir.cString(), m_world ? "" : " (no physics found)", m_running ? "" : "un" );
		m_env->m_textDisplay->outputText(s, startH, startV, 0xffffffff);
		startV += 4*20;
		const hkgPad& pad = *m_env->m_gamePad;
		const hkgKeyboard& key = m_env->m_window->getKeyboard();
		if( pad.wasButtonPressed( HKG_PAD_BUTTON_0 ) )
		{
			m_running = !m_running;
		}
		hkBool32 useBinary = -1;
		if( pad.wasButtonPressed( HKG_PAD_BUTTON_2 ) || key.wasKeyPressed('X') )
		{
			useBinary = 0;
		}
		else if( pad.wasButtonPressed( HKG_PAD_BUTTON_3 ) || key.wasKeyPressed('B') )
		{
			useBinary = 1;
		}

		if( useBinary != -1 )
		{
			hkString fname = m_fileBrowser.m_curDir + "_SNAP.hkx";
			hkOstream os( fname.cString() );
			hkpHavokSnapshot::save( m_contents, hkRootLevelContainerClass, os.getStreamWriter(), useBinary == 1 );
			s.printf("Wrote to %s", fname.cString() );
			m_env->m_textDisplay->outputText(s, startH, startV, 0xffffffff, 120 );
		}
	}
	if( m_running )
	{
		return hkDefaultPhysicsDemo::stepDemo();
	}
	return DEMO_OK;
}
コード例 #2
0
ファイル: TerrainLarge.cpp プロジェクト: Berkananna/rallyraid
TerrainLarge::TerrainLarge(const irr::core::vector3di& posi, TheEarth* earth)
    : Terrain("large")
{
    offsetX = (posi.X / TILE_LARGE_SCALE);
    offsetY = (posi.Z / TILE_LARGE_SCALE);
    terrain = new irr::scene::TerrainSceneNode((irr::scene::CSceneManager*)TheGame::getInstance()->getSmgr(),
        TheGame::getInstance()->getSmgr(),
        TheGame::getInstance()->getDevice()->getFileSystem(),
        -1,
        4,
        irr::scene::ETPS_17,
        irr::core::vector3df((float)posi.X, 0.0f, (float)posi.Z)/*-OffsetManager::getInstance()->getOffset()*/,
        irr::core::vector3df(),
        irr::core::vector3df(TILE_LARGE_SCALE_F, 1.0f, TILE_LARGE_SCALE_F));
    terrain->setVisible(visible);
    offsetObject = new OffsetObject(terrain);

    postConstruct();
}
コード例 #3
0
ファイル: MachOObject.cpp プロジェクト: 010001111/darling
MachOObject::MachOObject(MachO* file)
: m_file(file)
{
	postConstruct();
}
コード例 #4
0
void com::typesafe::config::impl::Parseable_ParseableString::ctor(::java::lang::String* input, ::com::typesafe::config::ConfigParseOptions* options)
{
    super::ctor();
    this->input = input;
    postConstruct(options);
}