From 1391de2e3a85ad0cb8c38286e51b0708d3415a43 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Thu, 6 Sep 2012 09:48:31 -0400 Subject: Wall names in HUD Conflicts: src/game/GameView.cpp diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index 66557cc..aecdeaf 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -1192,6 +1192,14 @@ std::string GameController::ElementResolve(int type) return ""; } +std::string GameController::WallName(int type) +{ + if(gameModel && gameModel->GetSimulation() && gameModel->GetSimulation()->wtypes && type >= 0) + return std::string(gameModel->GetSimulation()->wtypes[type].name); + else + return ""; +} + void GameController::NotifyUpdateAvailable(Client * sender) { class UpdateConfirmation: public ConfirmDialogueCallback { diff --git a/src/game/GameController.h b/src/game/GameController.h index 46941e7..07f37af 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -126,6 +126,7 @@ public: ui::Point PointTranslate(ui::Point point); ui::Point NormaliseBlockCoord(ui::Point point); std::string ElementResolve(int type); + std::string WallName(int type); void ResetAir(); void ResetSpark(); diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index c101543..97a8634 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -1924,18 +1924,18 @@ void GameView::OnDraw() std::stringstream sampleInfo; sampleInfo.precision(2); if(sample.particle.type) - { + { if(showDebug) { sampleInfo << c->ElementResolve(sample.particle.type); if(sample.particle.ctype > 0 && sample.particle.ctype < PT_NUM) sampleInfo << " (" << c->ElementResolve(sample.particle.ctype) << ")"; else - sampleInfo << " ()"; - sampleInfo << ", Pressure: " << std::fixed << sample.AirPressure; + sampleInfo << " ()"; sampleInfo << ", Temp: " << std::fixed << sample.particle.temp -273.15f; sampleInfo << ", Life: " << sample.particle.life; sampleInfo << ", Tmp: " << sample.particle.tmp; + sampleInfo << ", Pressure: " << std::fixed << sample.AirPressure; } else { @@ -1943,12 +1943,17 @@ void GameView::OnDraw() sampleInfo << "Molten " << c->ElementResolve(sample.particle.ctype); else sampleInfo << c->ElementResolve(sample.particle.type); - sampleInfo << ", Pressure: " << std::fixed << sample.AirPressure; sampleInfo << ", Temp: " << std::fixed << sample.particle.temp -273.15f; + sampleInfo << ", Pressure: " << std::fixed << sample.AirPressure; } if(sample.particle.type == PT_PHOT) wavelengthGfx = sample.particle.ctype; } + else if (sample.WallType) + { + sampleInfo << c->WallName(sample.WallType); + sampleInfo << ", Pressure: " << std::fixed << sample.AirPressure; + } else { sampleInfo << "Empty, Pressure: " << std::fixed << sample.AirPressure; diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 1437912..1c51b2a 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -414,6 +414,10 @@ SimulationSample Simulation::Get(int x, int y) sample.particle = parts[photons[y][x]>>8]; sample.ParticleID = photons[y][x]>>8; } + if (bmap[y/CELL][x/CELL]) + { + sample.WallType = bmap[y/CELL][x/CELL]; + } sample.AirPressure = pv[y/CELL][x/CELL]; sample.AirTemperature = hv[y/CELL][x/CELL]; sample.AirVelocityX = vx[y/CELL][x/CELL]; diff --git a/src/simulation/SimulationData.cpp b/src/simulation/SimulationData.cpp index a6a2d91..2be899d 100644 --- a/src/simulation/SimulationData.cpp +++ b/src/simulation/SimulationData.cpp @@ -120,22 +120,22 @@ wall_type * LoadWalls(int & wallCount) { wall_type wtypes[] = { - {PIXPACK(0x808080), PIXPACK(0x000000), 0, Renderer::WallIcon, "Erases walls."}, - {PIXPACK(0xC0C0C0), PIXPACK(0x101010), 0, Renderer::WallIcon, "Wall. Indestructible. Blocks everything. Conductive."}, - {PIXPACK(0x808080), PIXPACK(0x808080), 0, Renderer::WallIcon, "E-Wall. Becomes transparent when electricity is connected."}, - {PIXPACK(0xFF8080), PIXPACK(0xFF2008), 1, Renderer::WallIcon, "Detector. Generates electricity when a particle is inside."}, - {PIXPACK(0x808080), PIXPACK(0x000000), 0, Renderer::WallIcon, "Streamline. Set start point of a streamline."}, - {PIXPACK(0x8080FF), PIXPACK(0x000000), 1, Renderer::WallIcon, "Fan. Accelerates air. Use line tool to set direction and strength."}, - {PIXPACK(0xC0C0C0), PIXPACK(0x101010), 2, Renderer::WallIcon, "Wall. Blocks most particles but lets liquids through. Conductive."}, - {PIXPACK(0x808080), PIXPACK(0x000000), 1, Renderer::WallIcon, "Wall. Absorbs particles but lets air currents through."}, - {PIXPACK(0x808080), PIXPACK(0x000000), 3, Renderer::WallIcon, "Wall. Indestructible. Blocks everything."}, - {PIXPACK(0x3C3C3C), PIXPACK(0x000000), 1, Renderer::WallIcon, "Wall. Indestructible. Blocks particles, allows air"}, - {PIXPACK(0x575757), PIXPACK(0x000000), 1, Renderer::WallIcon, "Wall. Indestructible. Blocks liquids and gasses, allows powders"}, - {PIXPACK(0xFFFF22), PIXPACK(0x101010), 2, Renderer::WallIcon, "Conductor, allows particles, conducts electricity"}, - {PIXPACK(0x242424), PIXPACK(0x101010), 0, Renderer::WallIcon, "E-Hole, absorbs particles, release them when powered"}, - {PIXPACK(0x579777), PIXPACK(0x000000), 1, Renderer::WallIcon, "Wall. Indestructible. Blocks liquids and solids, allows gasses"}, - {PIXPACK(0xFFEE00), PIXPACK(0xAA9900), 4, Renderer::WallIcon, "Gravity wall"}, - {PIXPACK(0xFFAA00), PIXPACK(0xAA5500), 4, Renderer::WallIcon, "Energy wall, allows only energy type particles to pass"}, + {PIXPACK(0x808080), PIXPACK(0x000000), 0, Renderer::WallIcon, "ERASE", "Erases walls."}, + {PIXPACK(0xC0C0C0), PIXPACK(0x101010), 0, Renderer::WallIcon, "CONDUCTIVE WALL","Wall. Indestructible. Blocks everything. Conductive."}, + {PIXPACK(0x808080), PIXPACK(0x808080), 0, Renderer::WallIcon, "EWALL", "E-Wall. Becomes transparent when electricity is connected."}, + {PIXPACK(0xFF8080), PIXPACK(0xFF2008), 1, Renderer::WallIcon, "DETECTOR", "Detector. Generates electricity when a particle is inside."}, + {PIXPACK(0x808080), PIXPACK(0x000000), 0, Renderer::WallIcon, "STREAMLINE", "Streamline. Set start point of a streamline."}, + {PIXPACK(0x8080FF), PIXPACK(0x000000), 1, Renderer::WallIcon, "FAN", "Fan. Accelerates air. Use line tool to set direction and strength."}, + {PIXPACK(0xC0C0C0), PIXPACK(0x101010), 2, Renderer::WallIcon, "LIQUID WALL", "Wall. Blocks most particles but lets liquids through. Conductive."}, + {PIXPACK(0x808080), PIXPACK(0x000000), 1, Renderer::WallIcon, "ABSORB WALL", "Wall. Absorbs particles but lets air currents through."}, + {PIXPACK(0x808080), PIXPACK(0x000000), 3, Renderer::WallIcon, "WALL", "Wall. Indestructible. Blocks everything."}, + {PIXPACK(0x3C3C3C), PIXPACK(0x000000), 1, Renderer::WallIcon, "AIRONLY WALL", "Wall. Indestructible. Blocks particles, allows air"}, + {PIXPACK(0x575757), PIXPACK(0x000000), 1, Renderer::WallIcon, "POWDER WALL", "Wall. Indestructible. Blocks liquids and gasses, allows powders"}, + {PIXPACK(0xFFFF22), PIXPACK(0x101010), 2, Renderer::WallIcon, "CONDUCTOR", "Conductor, allows particles, conducts electricity"}, + {PIXPACK(0x242424), PIXPACK(0x101010), 0, Renderer::WallIcon, "EHOLE", "E-Hole, absorbs particles, release them when powered"}, + {PIXPACK(0x579777), PIXPACK(0x000000), 1, Renderer::WallIcon, "GAS WALL", "Wall. Indestructible. Blocks liquids and solids, allows gasses"}, + {PIXPACK(0xFFEE00), PIXPACK(0xAA9900), 4, Renderer::WallIcon, "GRAVITY WALL", "Gravity wall"}, + {PIXPACK(0xFFAA00), PIXPACK(0xAA5500), 4, Renderer::WallIcon, "ENERGY WALL", "Energy wall, allows only energy type particles to pass"}, }; wallCount = UI_WALLCOUNT; wall_type * wtypesT = (wall_type*)malloc(UI_WALLCOUNT*sizeof(wall_type)); diff --git a/src/simulation/WallType.h b/src/simulation/WallType.h index bfbd3f2..c2d916a 100644 --- a/src/simulation/WallType.h +++ b/src/simulation/WallType.h @@ -18,6 +18,7 @@ struct wall_type pixel eglow; // if emap set, add this to fire glow int drawstyle; VideoBuffer * (*textureGen)(int, int, int); + const char *name; const char *descs; }; -- cgit v0.9.2-21-gd62e