/[enigma]/enigma/src/actors.cc
ViewVC logotype

Diff of /enigma/src/actors.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.28 by dheck, Thu Jun 26 17:15:13 2003 UTC revision 1.29 by reallysoft, Fri Jul 4 12:15:17 2003 UTC
# Line 235  namespace Line 235  namespace
235              DEAD,               // marble is dead              DEAD,               // marble is dead
236              RESURRECTED,        // has been resurrected; about to respawn              RESURRECTED,        // has been resurrected; about to respawn
237              APPEARING,              APPEARING,
238                RISING,             // appear in vortex
239              DISAPPEARING,              DISAPPEARING,
240          };          };
241          State state;          State state;
# Line 315  void BasicBall::message(const string &m, Line 316  void BasicBall::message(const string &m,
316      else if (state == SINKING) {      else if (state == SINKING) {
317          if (m == "getout")          change_state(NORMAL);          if (m == "getout")          change_state(NORMAL);
318      }      }
319        else if (state == FALLING) {
320            if (m == "rise")            change_state(RISING);
321        }
322  }  }
323    
324  void BasicBall::think(double dtime)  void BasicBall::think(double dtime)
# Line 388  void BasicBall::animcb() Line 392  void BasicBall::animcb()
392          set_model("invisible");          set_model("invisible");
393          change_state(DEAD);          change_state(DEAD);
394          break;          break;
395      case FALLING:      case FALLING: {
396          sound::PlaySound("shatter");          set_model(kind+"-fallen"); // invisible
397          set_model(kind+"-fallen");          Item *it = GetItem(GridPos(get_pos()));
398          change_state(DEAD);          if (it && it->is_kind("it-vortex")) {
399                SendMessage(it, "warp", Value(reinterpret_cast<int>(this)));
400            }
401            else {
402                sound::PlaySound("shatter");
403                change_state(DEAD);
404            }
405          break;          break;
406        }
407      case JUMPING:      case JUMPING:
408          set_model(kind);          set_model(kind);
409          change_state(NORMAL);          change_state(NORMAL);
# Line 401  void BasicBall::animcb() Line 412  void BasicBall::animcb()
412          set_model(kind);          set_model(kind);
413          change_state(NORMAL);          change_state(NORMAL);
414          break;          break;
415        case RISING:
416            set_model(kind);
417            change_state(JUMPING);
418            break;
419      case DISAPPEARING:      case DISAPPEARING:
420          set_model("ring-anim");          set_model("ring-anim");
421          break;          break;
# Line 465  BasicBall::change_state(State newstate) Line 480  BasicBall::change_state(State newstate)
480          set_model_cb(kind+"-jump");          set_model_cb(kind+"-jump");
481          break;          break;
482      case APPEARING:      case APPEARING:
483        case RISING:
484          set_model_cb(kind+"-appear");          set_model_cb(kind+"-appear");
485          world::GrabActor(this);          world::GrabActor(this);
486          break;          break;

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26