summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-02-09 03:24:34 (GMT)
committer jacob1 <jfu614@gmail.com>2013-02-09 03:24:34 (GMT)
commit1359045b14a455c5ee54a7b066e606a3b76368b0 (patch)
treee870d360cd4c70338ee0f217361851f1fe947b74 /src
parentb8d53b5f7659f6b95f025a900d3b9982400dcc59 (diff)
downloadpowder-1359045b14a455c5ee54a7b066e606a3b76368b0.zip
powder-1359045b14a455c5ee54a7b066e606a3b76368b0.tar.gz
fix tpt.selectedl not updating with sample brush, always put photons[] on top in HUD
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp12
-rw-r--r--src/game/GameController.h1
-rw-r--r--src/game/GameView.cpp3
-rw-r--r--src/game/SampleTool.cpp8
-rw-r--r--src/simulation/Simulation.cpp12
5 files changed, 22 insertions, 14 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index efe37c4..9e7978b 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -148,9 +148,9 @@ GameController::GameController():
((LuaScriptInterface*)commandInterface)->SetWindow(gameView);
commandInterface->OnBrushChanged(gameModel->GetBrushID(), gameModel->GetBrush()->GetRadius().X, gameModel->GetBrush()->GetRadius().X);
- commandInterface->OnActiveToolChanged(0, gameModel->GetActiveTool(0));
- commandInterface->OnActiveToolChanged(1, gameModel->GetActiveTool(1));
- commandInterface->OnActiveToolChanged(2, gameModel->GetActiveTool(2));
+ ActiveToolChanged(0, gameModel->GetActiveTool(0));
+ ActiveToolChanged(1, gameModel->GetActiveTool(1));
+ ActiveToolChanged(2, gameModel->GetActiveTool(2));
//sim = new Simulation();
Client::Ref().AddListener(this);
@@ -930,9 +930,13 @@ std::vector<Menu*> GameController::GetMenuList()
return gameModel->GetMenuList();
}
-void GameController::SetActiveTool(int toolSelection, Tool * tool)
+void GameController::ActiveToolChanged(int toolSelection, Tool *tool)
{
commandInterface->OnActiveToolChanged(toolSelection, tool);
+}
+
+void GameController::SetActiveTool(int toolSelection, Tool * tool)
+{
gameModel->SetActiveTool(toolSelection, tool);
gameModel->GetRenderer()->gravityZonesEnabled = false;
gameModel->SetLastTool(tool);
diff --git a/src/game/GameController.h b/src/game/GameController.h
index 4f82243..070d39d 100644
--- a/src/game/GameController.h
+++ b/src/game/GameController.h
@@ -100,6 +100,7 @@ public:
void SetActiveMenu(Menu * menu);
std::vector<Menu*> GetMenuList();
void SetActiveTool(int toolSelection, Tool * tool);
+ void ActiveToolChanged(int toolSelection, Tool *tool);
void SetActiveColourPreset(int preset);
void SetColour(ui::Colour colour);
void SetToolStrength(float value);
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 5c7d0be..3e874e2 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -596,14 +596,17 @@ void GameView::NotifyActiveToolsChanged(GameModel * sender)
if(sender->GetActiveTool(0) == tool)
{
toolButtons[i]->SetSelectionState(0); //Primary
+ c->ActiveToolChanged(0, tool);
}
else if(sender->GetActiveTool(1) == tool)
{
toolButtons[i]->SetSelectionState(1); //Secondary
+ c->ActiveToolChanged(1, tool);
}
else if(sender->GetActiveTool(2) == tool)
{
toolButtons[i]->SetSelectionState(2); //Tertiary
+ c->ActiveToolChanged(2, tool);
}
else
{
diff --git a/src/game/SampleTool.cpp b/src/game/SampleTool.cpp
index 296167b..bdebee6 100644
--- a/src/game/SampleTool.cpp
+++ b/src/game/SampleTool.cpp
@@ -31,14 +31,14 @@ void SampleTool::Draw(Simulation * sim, Brush * brush, ui::Point position)
{
int particleType = 0;
int particleCtype = 0;
- if(sim->pmap[position.Y][position.X])
+ if (sim->photons[position.Y][position.X])
{
- particleType = sim->parts[sim->pmap[position.Y][position.X]>>8].type;
+ particleType = sim->parts[sim->photons[position.Y][position.X]>>8].type;
particleCtype = sim->parts[sim->pmap[position.Y][position.X]>>8].ctype;
}
- else if(sim->photons[position.Y][position.X])
+ else if (sim->pmap[position.Y][position.X])
{
- particleType = sim->parts[sim->photons[position.Y][position.X]>>8].type;
+ particleType = sim->parts[sim->pmap[position.Y][position.X]>>8].type;
particleCtype = sim->parts[sim->pmap[position.Y][position.X]>>8].ctype;
}
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index 1a090f7..ad5ed63 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -478,16 +478,16 @@ SimulationSample Simulation::Get(int x, int y)
SimulationSample sample;
sample.PositionX = x;
sample.PositionY = y;
- if(pmap[y][x])
- {
- sample.particle = parts[pmap[y][x]>>8];
- sample.ParticleID = pmap[y][x]>>8;
- }
- else if(photons[y][x])
+ if (photons[y][x])
{
sample.particle = parts[photons[y][x]>>8];
sample.ParticleID = photons[y][x]>>8;
}
+ else if (pmap[y][x])
+ {
+ sample.particle = parts[pmap[y][x]>>8];
+ sample.ParticleID = pmap[y][x]>>8;
+ }
if (bmap[y/CELL][x/CELL])
{
sample.WallType = bmap[y/CELL][x/CELL];