Esempio n. 1
0
void MapManager::reinit() {

    // dump all grid elements that have been created
    std::list<GridElement*> list;
    while (!gridElements.empty())
    {
        list=gridElements.front();
        while(!list.empty())
        {
            delete list.front();
            list.erase(list.begin());
        }
        gridElements.erase(gridElements.begin());
    }

    // put <MAPSIZE> lists back into grid element
    gridElements.reserve(mapWidth*mapHeight);
    int i;
    for(i=0; i < mapHeight * mapWidth; i++)
    {   
        gridElements.push_back( std::list<GridElement* >());
    }

    // dump our list of temp gridElements
    while(!reserve.empty())
    {
        GridElement* temp = (*reserve.begin()).first;
        reserve.erase(reserve.begin());
        delete temp;
    }

    // the event queue got reset - reregister ourself
    registerListeners();
}
void
GraphicsManager::init()
{
    IdManager::get().setThreadName("Graphics Thread");

    m_root = new Root(
            m_resourcePath + "plugins.cfg", 
            m_resourcePath + "ogre.cfg", 
            m_resourcePath + "ogre.log"
            );

    setupResources();

    if(!m_root->restoreConfig())
        m_root->showConfigDialog();
    
    m_window = m_root->initialise(true, "CoA JnR");

    assert(m_window && "window not created propperly");

    m_sceneManager = m_root->createSceneManager(ST_GENERIC);
    //m_sceneManager = m_root->createSceneManager(ST_EXTERIOR_CLOSE);
    //m_sceneManager = m_root->createSceneManager("TerrainSceneManager");

    m_viewport = m_window->addViewport(0);
    m_viewport->setBackgroundColour(ColourValue( 0, 0, 0));

    TextureManager::getSingleton().setDefaultNumMipmaps(5);

    ResourceGroupManager::getSingleton().initialiseAllResourceGroups();

    m_debugOverlayFrameListener = new DebugOverlayFrameListener(m_window);

    m_initialized = true;

    
    m_sceneManager->setShadowTechnique(SHADOWTYPE_STENCIL_ADDITIVE);
    // m_sceneManager->setShadowTechnique(SHADOWTYPE_STENCIL_MODULATIVE);
    // m_sceneManager->setShadowTechnique(SHADOWTYPE_TEXTURE_ADDITIVE);
    
    m_sceneManager->setAmbientLight(ColourValue(0.1,0.1,0.1));

    registerListeners();
    initInputSystem();
}
Esempio n. 3
0
void LayoutMemory::configChanged()
{
//	this->layoutMap.clear();	// if needed this will be done on layoutMapChanged event
	unregisterListeners();
	registerListeners();
}
Esempio n. 4
0
LayoutMemory::LayoutMemory(const KeyboardConfig& keyboardConfig_):
	prevLayoutList(X11Helper::getLayoutsList()),
	keyboardConfig(keyboardConfig_)
{
	registerListeners();
}
Esempio n. 5
0
MapManager::MapManager(const std::string& fn) :
    Listener(),
    parser(XMLParser::getInstance()),
    numGridElements(0),
    player(NULL),
    dummyTile(NULL),
    tiles(),
    reserve(),
    updateTiles(),
    mapLayers(),
    gridElements(),
    tileWidth(),
    tileHeight(),
    tileRise(),
    mapWidth(),
    mapHeight(),
    origin(),
    weather()
{
    // load map into parser
    parser.parse(fn);

    // Read in map constants
    std::stringstream strm; 
    std::map<std::string, std::string> rootData = parser.parseNode(parser.findNodes("map").front());

    strm<<rootData[std::string("tilewidth")];
    strm >> tileWidth;
    strm.clear();
    strm<<rootData[std::string("tileheight")];
    strm >> tileHeight;
    strm.clear();
    strm<<rootData[std::string("tileRise")];
    strm >> tileRise;
    strm.clear();
    strm << rootData[std::string("width")];
    strm >> mapWidth;
    strm.clear();
    strm<<rootData[std::string("height")];
    strm >> mapHeight;
    strm.clear();
    strm<<rootData[std::string("weather")];
    strm >> weather;
    strm.clear();

    // Fill vector with appropriate number of lists and then fill it
    gridElements.reserve(mapWidth*mapHeight);
    int i;
    for(i=0; i < mapHeight * mapWidth; i++)
    {   
        gridElements.push_back( std::list<GridElement* >());
    }

    // Empty tile, used in error handling
    dummyTile = new Tile();

    // Read in tile data
    createTiles();

    // Fill in map structure
    createLayers();

    // coordinate of first tile on bottom layer
    origin = ( (*(*mapLayers.begin()).begin()).getCoord()) + Vector2f(tileWidth/2,0);

    // Register with the events we care about
    registerListeners();
}
Esempio n. 6
0
void PlayerMovementController::init()
{
	registerListeners();
	moving.resize(DIRECTION_UNKNOWN, false);

}