Index: Games/Pingus/src/actions/miner.cxx =================================================================== RCS file: /usr/local/cvsroot/Games/Pingus/src/actions/miner.cxx,v retrieving revision 1.17 diff -u -r1.17 miner.cxx --- Games/Pingus/src/actions/miner.cxx 22 Oct 2002 00:07:56 -0000 1.17 +++ Games/Pingus/src/actions/miner.cxx 4 Dec 2002 21:40:07 -0000 @@ -78,9 +78,12 @@ static_cast(pingu->get_y() - miner_radius_width + 3) ); pingu->set_action(Actions::Walker); } - else if (rel_getpixel(0, -1) == Groundtype::GP_SOLID) + else if (rel_getpixel(0, -1) == Groundtype::GP_SOLID + || rel_getpixel(0, pingu_height) == Groundtype::GP_SOLID) { - PingusSound::play_sound("sounds/chink.wav"); + if (rel_getpixel(0, -1) == Groundtype::GP_SOLID) + PingusSound::play_sound("sounds/chink.wav"); + WorldObj::get_world()->get_colmap ()->remove(miner_radius, static_cast(pingu->get_x() - (miner_radius_width / 2) + pingu->direction), static_cast(pingu->get_y() - miner_radius_width + 1) ); @@ -88,6 +91,9 @@ static_cast(pingu->get_x() - (miner_radius_gfx_width / 2) + pingu->direction), static_cast(pingu->get_y() - miner_radius_gfx_width + 1) ); pingu->set_action(Actions::Walker); + + // Stop Pingu walking further into the solid. + pingu->direction.change(); } }