Ejemplo n.º 1
0
void render() {
	// subcell resolution image
	static TCODImage map(WIDTH*2,HEIGHT*2);
	// compute the map image
	for (int px=0; px <2*WIDTH; px++) {
		for (int py=0; py <2*HEIGHT; py++) {
		    // world texel coordinate (with fisheye distorsion)
		    float wx = px+curwx;
		    float wy = py+curwy;
			map.putPixel(px,py,getMapShadedColor(wx,wy,true));
		}
	}
	map.blit2x(TCODConsole::root,0,0);
	
	TCODConsole::root->setDefaultForeground(TCODColor::white);
	static const char *biomeNames[] = {
		"Tundra","Cold desert","Grassland", "Boreal forest",
		"Temperate forest", "Tropical/Montane forest",
		"Hot desert", "Savanna", "Tropical dry forest", "Tropical evergreen forest",
		"Thorn forest"
	};
	if ( worldGen.isOnSea(mx,my) ) {
		// some information are irrelevant on sea
		TCODConsole::root->print(5,47,"Alt %5dm\n\nMove the mouse to scroll the map",
			(int)worldGen.getRealAltitude(mx,my)
		);
	} else {
		TCODConsole::root->print(5,47,"Alt %5dm  Prec %3dcm/sq. m/y  Temp %d deg C\nBiome : %s\nMove the mouse to scroll the map",
			(int)worldGen.getRealAltitude(mx,my),
			(int)worldGen.getPrecipitations(mx,my),
			(int)worldGen.getTemperature(mx,my),
			biomeNames[worldGen.getBiome(mx,my)]
		);
	}
}
Ejemplo n.º 2
0
bool MainGameState::Init()
  {
  console = new TCODConsole(width, height);
  TCODImage* image = new TCODImage("resources/shipbackground.png");
  image->blit2x(console, 0, 0);

  delete image;
  return true;
  }
Ejemplo n.º 3
0
void GraphicsTCOD::drawMenu()
{
    Widget::setConsole(output);
    
    
    //new StatusBar(0,0,MAP_WINDOW_WIDTH,1);
    
    VBox *vbox=new VBox(MAIN_WIDTH/2 - 7,MAIN_HEIGHT/2 + 10,0);
    ToolBar *mainMenu = new ToolBar(MAIN_WIDTH/2 - 7,MAIN_HEIGHT/2 + 10,15,NULL,NULL);
    //stats->addWidget(new Label(MAP_WINDOW_WIDTH/2 - 7,MAP_WINDOW_HEIGHT/2 - 6,"Login","Login"));
    mainMenu->addWidget(new Button("Connect",NULL,loginCbk,NULL));
    //stats->addWidget(new Label(MAP_WINDOW_WIDTH/2 - 7,MAP_WINDOW_HEIGHT/2 - 5,"New Account","New Account"));
    //stats->addWidget(new Button("New Account",NULL,newAccountCbk,NULL));
	//stats->addWidget(new Label(MAP_WINDOW_WIDTH/2 - 7,MAP_WINDOW_HEIGHT/2 - 4,"Options","Options"));
    mainMenu->addWidget(new Button("Options",NULL,NULL,NULL));
    //stats->addWidget(new Label(MAP_WINDOW_WIDTH/2 - 7,MAP_WINDOW_HEIGHT/2 - 3,"Quit","Quit"));
    mainMenu->addWidget(new Button("Quit",NULL,quitCbk,NULL));
    vbox->addWidget(mainMenu);
    
    Widget::setBackgroundColor(TCODColor(0,0,0), TCODColor(128,128,128));
    Widget::setForegroundColor(TCODColor(255,255,255), TCODColor(255,255,255));
    
    Widget::renderWidgets();
    
    TCODMouse::showCursor(true);
    
    TCODImage *image = new TCODImage("data/images/MenuBackground.png");
    
    
    // bool quit = false;
    while(!TCODConsole::isWindowClosed())
    {
        TCOD_key_t key;
        TCOD_mouse_t mouse;
        
        TCODSystem::checkForEvent(TCOD_EVENT_KEY_PRESS|TCOD_EVENT_MOUSE,&key,&mouse);
        Widget::updateWidgets(key,mouse);
        
        Widget::renderWidgets();
        
        render();
        
        image->blitRect(output, 2, 0);
        
        output->setDefaultForeground(TCODColor(255, 255, 255));
        output->print(MAIN_WIDTH-26, MAIN_HEIGHT-3, (const char*)"The ASCII Project 0.0.0o", TCOD_LEFT);
        output->print(MAIN_WIDTH-29, MAIN_HEIGHT-2, (const char*)"TheASCIIProject.com (c)2012", TCOD_LEFT);
        output->rect(0, 0, 20, 1, true);
        
        
        if(drawLogin || key.vk == TCODK_ENTER)
        {
            break;
        }
        else if( key.vk == TCODK_ESCAPE)
        {
            exit(0);
        }
        
    }
    
    vbox->removeWidget(mainMenu);
    delete vbox;
    
    output->setDefaultBackground(TCODColor(0, 0, 0));
    output->clear();
    render();
    
    
}