diff options
| author | Saveliy Skresanov <savask@yandex.ru> | 2013-05-08 16:08:29 (GMT) |
|---|---|---|
| committer | Saveliy Skresanov <savask@yandex.ru> | 2013-05-08 16:08:29 (GMT) |
| commit | 9893f596573046131a28d4ac3e8adeb501526477 (patch) | |
| tree | d7e04c7a08b28556192a07c7030fc8b018142d32 /src | |
| parent | 645bcb1bcd1095efc1ab1d113e9282aef5774d1f (diff) | |
| download | powder-9893f596573046131a28d4ac3e8adeb501526477.zip powder-9893f596573046131a28d4ac3e8adeb501526477.tar.gz | |
Fix "blow power" for stick man, disable rocket boots on E-hole.
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics/Renderer.cpp | 15 | ||||
| -rw-r--r-- | src/simulation/Simulation.cpp | 2 | ||||
| -rw-r--r-- | src/simulation/elements/STKM.cpp | 5 |
3 files changed, 15 insertions, 7 deletions
diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index af6826e..a3ea66d 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -1389,9 +1389,18 @@ void Renderer::render_parts() { if (cplayer->elem<PT_NUM && cplayer->elem > 0) { - colr = PIXR(elements[cplayer->elem].Colour); - colg = PIXG(elements[cplayer->elem].Colour); - colb = PIXB(elements[cplayer->elem].Colour); + if (cplayer->elem == SPC_AIR) + { + colr = PIXR(0x8080FF); + colg = PIXG(0x8080FF); + colb = PIXB(0x8080FF); + } + else + { + colr = PIXR(elements[cplayer->elem].Colour); + colg = PIXG(elements[cplayer->elem].Colour); + colb = PIXB(elements[cplayer->elem].Colour); + } } else { diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 1ab97fd..c1f56f7 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -2709,7 +2709,7 @@ int Simulation::create_part(int p, int x, int y, int tv) if (x<0 || y<0 || x>=XRES || y>=YRES || ((t<=0 || t>=PT_NUM)&&t!=SPC_HEAT&&t!=SPC_COOL&&t!=SPC_AIR&&t!=SPC_VACUUM&&t!=SPC_PGRV&&t!=SPC_NGRV)) return -1; - if (t>=0 && t<PT_NUM && !elements[t].Enabled) + if (t>=0 && t<PT_NUM && !elements[t].Enabled && t!=SPC_AIR) return -1; if(t==SPC_PROP) { return -1; //Prop tool works on a mouse click basic, make sure it doesn't do anything here diff --git a/src/simulation/elements/STKM.cpp b/src/simulation/elements/STKM.cpp index 2323be3..c7386f6 100644 --- a/src/simulation/elements/STKM.cpp +++ b/src/simulation/elements/STKM.cpp @@ -392,10 +392,9 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) { sim->kill_part(r>>8); } if (sim->bmap[(ry+y)/CELL][(rx+x)/CELL]==WL_FAN) - { - playerp->rocketBoots = false; playerp->elem = SPC_AIR; - } + else if (sim->bmap[(ry+y)/CELL][(rx+x)/CELL]==WL_EHOLE) + playerp->rocketBoots = false; else if (sim->bmap[(ry+y)/CELL][(rx+x)/CELL]==WL_GRAV && parts[i].type!=PT_FIGH) playerp->rocketBoots = true; if ((r&0xFF)==PT_PRTI) |
