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

Diff of /enigma/src/stones_complex.cc

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

revision 1.17 by dheck, Sat Jun 21 00:38:40 2003 UTC revision 1.18 by reallysoft, Sun Jun 22 08:14:57 2003 UTC
# Line 1316  DoorBase::message(const string &m, const Line 1316  DoorBase::message(const string &m, const
1316          newstate = CLOSING;          newstate = CLOSING;
1317      else if (m == "openclose")      else if (m == "openclose")
1318          newstate = (state==OPEN || state==OPENING) ? CLOSING : OPENING;          newstate = (state==OPEN || state==OPENING) ? CLOSING : OPENING;
1319      else if (m == "signal")      else if (m == "signal")
1320          newstate = ival > 0 ? OPENING : CLOSING;          newstate = ival > 0 ? OPENING : CLOSING;
1321    
1322      if (newstate==OPENING && (state==CLOSED || state==CLOSING))      if (newstate==OPENING && (state==CLOSED || state==CLOSING))
# Line 1603  ShogunStone::on_impulse(const Impulse& i Line 1603  ShogunStone::on_impulse(const Impulse& i
1603         shogun stone when shifting from one shogun target to a second         shogun stone when shifting from one shogun target to a second
1604         adjacent shogun target. */         adjacent shogun target. */
1605    
1606        GridPos my_pos = get_pos();
1607    
1608      // Remove/modify source stone:      // Remove/modify source stone:
1609      if (Holes newholes = Holes(holes & ~smallest)) {      if (Holes newholes = Holes(holes & ~smallest)) {
1610          set_holes(newholes);          set_holes(newholes);
# Line 1610  ShogunStone::on_impulse(const Impulse& i Line 1612  ShogunStone::on_impulse(const Impulse& i
1612          init_model();          init_model();
1613      }      }
1614      else {      else {
1615          SendMessage(GetItem(get_pos()), "noshogun");          SendMessage(GetItem(my_pos), "noshogun");
1616          KillStone(get_pos());          KillStone(my_pos);
1617      }      }
1618    
1619      // Modify/create target stone:      // Modify/create target stone:
1620      if (target) {      if (target) {
1621          target->add_hole(smallest);          target->add_hole(smallest);
1622          play_sound("st-magic");          sound::PlaySound("st-magic", my_pos.center()); // object already disappeared
1623      }      }
1624      else  // create new      else  // create new
1625          SetStone(destpos, new ShogunStone(smallest));          SetStone(destpos, new ShogunStone(smallest));
1626    
1627      player::IncMoveCounter();      player::IncMoveCounter();
1628      play_sound("st-move");      sound::PlaySound("st-move", my_pos.center());
1629  }  }
1630    
1631    
# Line 2496  Turnstile_Pivot_Base::rotate(bool clockw Line 2498  Turnstile_Pivot_Base::rotate(bool clockw
2498  void  void
2499  Turnstile_Pivot_Base::handleActorsAndItems(bool clockwise, Object *impulse_sender) {  Turnstile_Pivot_Base::handleActorsAndItems(bool clockwise, Object *impulse_sender) {
2500      GridPos pv_pos = get_pos();      GridPos pv_pos = get_pos();
2501      V2      pv_center(pv_pos.x+.5, pv_pos.y+.5);      V2      pv_center(pv_pos.center());
2502    
2503      const int to_index[3][3] = {      const int to_index[3][3] = {
2504          { 0, 7, 6 }, // x == 0          { 0, 7, 6 }, // x == 0

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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