[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r3947 - trunk/pingus/src/actions
From: |
jsalmon3 |
Subject: |
[Pingus-CVS] r3947 - trunk/pingus/src/actions |
Date: |
Mon, 15 Dec 2008 02:42:11 +0100 |
Author: jsalmon3
Date: 2008-12-15 02:42:04 +0100 (Mon, 15 Dec 2008)
New Revision: 3947
Modified:
trunk/pingus/src/actions/blocker.cpp
trunk/pingus/src/actions/faller.cpp
trunk/pingus/src/actions/rocket_launcher.cpp
trunk/pingus/src/actions/waiter.cpp
Log:
Fixed a bug when a bridger is done building and while waiting is given an order
to block it falls then walks off. See savannah bug 21176.
After pingu->set_action is called the old action gets deleted so we can't do
any more actions with it.
Modified: trunk/pingus/src/actions/blocker.cpp
===================================================================
--- trunk/pingus/src/actions/blocker.cpp 2008-12-14 04:14:07 UTC (rev
3946)
+++ trunk/pingus/src/actions/blocker.cpp 2008-12-15 01:42:04 UTC (rev
3947)
@@ -47,6 +47,7 @@
if (!standing_on_ground())
{
pingu->set_action(Actions::FALLER);
+ return;
}
else
{
Modified: trunk/pingus/src/actions/faller.cpp
===================================================================
--- trunk/pingus/src/actions/faller.cpp 2008-12-14 04:14:07 UTC (rev 3946)
+++ trunk/pingus/src/actions/faller.cpp 2008-12-15 01:42:04 UTC (rev 3947)
@@ -114,7 +114,10 @@
{
// This is where the jumper bug happens
//std::cout << "Reached the unreachable: " <<
pingu->get_velocity().y << std::endl;
- pingu->set_action(Actions::WALKER);
+ if (pingu->get_previous_action() == Actions::BLOCKER)
+ pingu->set_action(pingu->get_previous_action());
+ else
+ pingu->set_action(Actions::WALKER);
}
}
// If the Pingu collided into something while moving up...
Modified: trunk/pingus/src/actions/rocket_launcher.cpp
===================================================================
--- trunk/pingus/src/actions/rocket_launcher.cpp 2008-12-14 04:14:07 UTC
(rev 3946)
+++ trunk/pingus/src/actions/rocket_launcher.cpp 2008-12-15 01:42:04 UTC
(rev 3947)
@@ -48,6 +48,7 @@
if (sprite[pingu->direction].is_finished())
{
pingu->set_action(Actions::WALKER);
+ return;
}
sprite.update();
Modified: trunk/pingus/src/actions/waiter.cpp
===================================================================
--- trunk/pingus/src/actions/waiter.cpp 2008-12-14 04:14:07 UTC (rev 3946)
+++ trunk/pingus/src/actions/waiter.cpp 2008-12-15 01:42:04 UTC (rev 3947)
@@ -34,7 +34,10 @@
sprite.update();
if (countdown < 0)
- pingu->set_action(Actions::WALKER);
+ {
+ pingu->set_action(Actions::WALKER);
+ return;
+ }
countdown -= 0.025f;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3947 - trunk/pingus/src/actions,
jsalmon3 <=