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)] ); } }
bool MainGameState::Init() { console = new TCODConsole(width, height); TCODImage* image = new TCODImage("resources/shipbackground.png"); image->blit2x(console, 0, 0); delete image; return true; }
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(); }