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

Diff of /enigma/src/laser.cc

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

revision 1.14 by reallysoft, Thu Jun 5 08:19:34 2003 UTC revision 1.15 by reallysoft, Sat Jun 21 09:55:25 2003 UTC
# Line 19  Line 19 
19   */   */
20  #include "laser.hh"  #include "laser.hh"
21  #include "sound.hh"  #include "sound.hh"
22    #include "game.hh"
23  #include "actors.hh"  #include "actors.hh"
24  #include <algorithm>  #include <algorithm>
25  #include <cassert>  #include <cassert>
# Line 591  PlaneMirror::on_laserhit(Direction dir) Line 592  PlaneMirror::on_laserhit(Direction dir)
592      case '|':      case '|':
593          if (dir==EAST || dir==WEST) {          if (dir==EAST || dir==WEST) {
594              emit_light(reverse(dir));              emit_light(reverse(dir));
595              if (transparent)              if (transparent)
596                  emit_light(dir);                  emit_light(dir);
597          }          }
598          else {          else if ((dir == NORTH || dir == SOUTH) && transparent &&
599              // @@@ FIXME: oxyd1 lets light pass if mirror is transparent                   enigma::GameCompatibility == GAMET_OXYD1) {
600                emit_light(dir);
601          }          }
602          break;          break;
603      case '-':      case '-':
604          if (dir==NORTH || dir==SOUTH) {          if (dir==NORTH || dir==SOUTH) {
605              emit_light(reverse(dir));              emit_light(reverse(dir));
606              if (transparent)              if (transparent)
607                  emit_light(dir);                  emit_light(dir);
608          }          }
609          else {          else if ((dir == EAST || dir == WEST) && transparent &&
610              // @@@ FIXME: oxyd1 lets light pass if mirror is transparent                   enigma::GameCompatibility == GAMET_OXYD1) {
611                emit_light(dir);
612          }          }
613          break;          break;
614      case '/':      case '/':
# Line 616  PlaneMirror::on_laserhit(Direction dir) Line 619  PlaneMirror::on_laserhit(Direction dir)
619          case WEST: emit_light(SOUTH); break;          case WEST: emit_light(SOUTH); break;
620          case NODIR: break;          case NODIR: break;
621          }          }
622          if (transparent)          if (transparent)
623              emit_light(dir);              emit_light(dir);
624          break;          break;
625      case '\\':      case '\\':
626          switch(dir) {          switch(dir) {
# Line 627  PlaneMirror::on_laserhit(Direction dir) Line 630  PlaneMirror::on_laserhit(Direction dir)
630          case WEST: emit_light(NORTH); break;          case WEST: emit_light(NORTH); break;
631          case NODIR: break;          case NODIR: break;
632          }          }
633          if (transparent)          if (transparent)
634              emit_light(dir);              emit_light(dir);
635          break;          break;
636      }      }
637      return false;      return false;

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

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