fix tpt.selectedl not updating with sample brush, always put photons[] on top in HUD

This commit is contained in:
jacob1 2013-02-08 22:24:34 -05:00
parent b8d53b5f76
commit 1359045b14
5 changed files with 24 additions and 16 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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
{

View File

@ -31,16 +31,16 @@ void SampleTool::Draw(Simulation * sim, Brush * brush, ui::Point position)
{
int particleType = 0;
int particleCtype = 0;
if(sim->pmap[position.Y][position.X])
{
particleType = sim->parts[sim->pmap[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])
if (sim->photons[position.Y][position.X])
{
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->pmap[position.Y][position.X])
{
particleType = sim->parts[sim->pmap[position.Y][position.X]>>8].type;
particleCtype = sim->parts[sim->pmap[position.Y][position.X]>>8].ctype;
}
if(particleType)
{

View File

@ -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];