Slow LIGH creation speed, fixes #86

This commit is contained in:
Simon Robertshaw
2012-08-09 21:05:20 +01:00
parent ac45502de9
commit 9971ea63b7
3 changed files with 13 additions and 8 deletions

View File

@@ -166,13 +166,17 @@ void WindTool::DrawFill(Simulation * sim, Brush * brush, ui::Point position) {}
void Element_LIGH_Tool::Draw(Simulation * sim, Brush * brush, ui::Point position) void Element_LIGH_Tool::Draw(Simulation * sim, Brush * brush, ui::Point position)
{ {
int p = sim->create_part(-2, position.X, position.Y, toolID); if(sim->currentTick >= nextUse)
if (p != -1)
{ {
sim->parts[p].life = brush->GetRadius().X+brush->GetRadius().Y; int p = sim->create_part(-2, position.X, position.Y, toolID);
if (sim->parts[p].life > 55) if (p != -1)
sim->parts[p].life = 55; {
sim->parts[p].temp = sim->parts[p].life*150; // temperature of the lighting shows the power of the lighting sim->parts[p].life = brush->GetRadius().X+brush->GetRadius().Y;
if (sim->parts[p].life > 55)
sim->parts[p].life = 55;
sim->parts[p].temp = sim->parts[p].life*150; // temperature of the lighting shows the power of the lighting
nextUse = sim->currentTick+sim->parts[p].life/4;
}
} }
} }

View File

@@ -73,9 +73,11 @@ public:
class Element_LIGH_Tool: public Tool class Element_LIGH_Tool: public Tool
{ {
int nextUse;
public: public:
Element_LIGH_Tool(int id, string name, string description, int r, int g, int b, VideoBuffer * (*textureGen)(int, int, int) = NULL): Element_LIGH_Tool(int id, string name, string description, int r, int g, int b, VideoBuffer * (*textureGen)(int, int, int) = NULL):
Tool(id, name, description, r, g, b) Tool(id, name, description, r, g, b),
nextUse(0)
{ {
} }
virtual ~Element_LIGH_Tool() {} virtual ~Element_LIGH_Tool() {}

View File

@@ -3093,7 +3093,6 @@ void Simulation::update_particles_i(int start, int inc)
int excessive_stacking_found = 0; int excessive_stacking_found = 0;
currentTick++; currentTick++;
currentTick %= 3600;
if (lighting_recreate>0) if (lighting_recreate>0)
{ {