enigma-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Enigma-cvs] enigma/src oxyd.cc,1.75,1.76


From: Ralf Westram <address@hidden>
Subject: [Enigma-cvs] enigma/src oxyd.cc,1.75,1.76
Date: Wed, 12 Nov 2003 09:32:04 +0000

Update of /cvsroot/enigma/enigma/src
In directory subversions:/tmp/cvs-serv19969/src

Modified Files:
        oxyd.cc 
Log Message:
- if MarbleType_Black and MarbleType_Meditation occur together
  "ac-killerball" is used instead of "ac-whiteball-small"
- shuffles oxyds in LevelPack_Oxyd
- cleanup



Index: oxyd.cc
===================================================================
RCS file: /cvsroot/enigma/enigma/src/oxyd.cc,v
retrieving revision 1.75
retrieving revision 1.76
diff -C2 -d -r1.75 -r1.76
*** oxyd.cc     6 Nov 2003 07:20:41 -0000       1.75
--- oxyd.cc     12 Nov 2003 09:32:02 -0000      1.76
***************
*** 99,103 ****
  
          bool needs_twoplayers() const {
-             // fprintf(stderr, "m_twoplayers=%i\n", int(m_twoplayers));
              return m_twoplayers;
          }
--- 99,102 ----
***************
*** 107,111 ****
      protected:
          virtual bool has_easymode(size_t /*index*/) const { return true; }
-         virtual int get_par_time(size_t /*index*/) const { return -1; }
  
          /* Conversion tables from Oxyd bytecodes to Enigma object names. */
--- 106,109 ----
***************
*** 212,216 ****
  
              if( name == 0) {
!                 // fprintf(stderr, "Unknown floor %X\n",code);
                  fl = MakeFloor("fl-dummy");
                  fl->set_attrib("code", code);
--- 210,214 ----
  
              if( name == 0) {
!                 Log << strf("Unknown floor %X\n",code);
                  fl = MakeFloor("fl-dummy");
                  fl->set_attrib("code", code);
***************
*** 247,251 ****
              const char *name = m_mapping.itemName(type);
              if( name == 0) {
!                 // fprintf(stderr, "Unknown item %X\n",type);
                  it = MakeItem ("it-dummy");
                  it->set_attrib("code", type);
--- 245,249 ----
              const char *name = m_mapping.itemName(type);
              if( name == 0) {
!                 Log << strf("Unknown item %X\n",type);
                  it = MakeItem ("it-dummy");
                  it->set_attrib("code", type);
***************
*** 330,334 ****
          const char *name = m_mapping.stoneName(type);
          if (name == 0) {
!             // fprintf (stderr, "Unknown stone %X\n", type);
              st = MakeStone ("st-dummy");
              st->set_attrib("code", type);
--- 328,332 ----
          const char *name = m_mapping.stoneName(type);
          if (name == 0) {
!             Log << strf("Unknown stone %X\n", type);
              st = MakeStone ("st-dummy");
              st->set_attrib("code", type);
***************
*** 353,356 ****
--- 351,356 ----
          }
      }
+ 
+     SendMessage(GetObjectTemplate("st-oxyd"), "shuffle");
  }
  
***************
*** 492,498 ****
      using namespace world;
  
!     int nmeditationmarbles = 0;
  
-     int nmarbles = level.getNumMarbles();
      for (int i=0; i<nmarbles; ++i) {
          const Marble &marble = level.getMarble(i);
--- 492,504 ----
      using namespace world;
  
!     int  nmeditationmarbles = 0;
!     int  nmarbles           = level.getNumMarbles();
!     bool have_black_marble  = false;
! 
!     for (int i=0; i<nmarbles; ++i)
!         if (level.getMarble(i).getMarbleType() == MarbleType_Black)
!             have_black_marble                   = true;
! 
  
      for (int i=0; i<nmarbles; ++i) {
          const Marble &marble = level.getMarble(i);
***************
*** 513,522 ****
              break;
          case MarbleType_Meditation:
!             ac = MakeActor ("ac-whiteball-small");
!           nmeditationmarbles += 1;
!           if (needs_twoplayers() && (nmeditationmarbles % 2)==0)
!               ac->set_attrib("player", Value(1.0));
!           else
!               ac->set_attrib ("player", Value(0.0));
  
  //             if (minfo.is_default(MI_FORCE)) {
--- 519,535 ----
              break;
          case MarbleType_Meditation:
!             if (have_black_marble) {
!                 // # example: Oxyd Extra #28
!                 ac = MakeActor ("ac-killerball");
!                 ac->set_attrib ("player", Value(0.0));
!             }
!             else {
!                 ac = MakeActor ("ac-whiteball-small");
!                 nmeditationmarbles += 1;
!                 if (needs_twoplayers() && (nmeditationmarbles % 2) == 0)
!                     ac->set_attrib("player", Value(1.0));
!                 else
!                     ac->set_attrib ("player", Value(0.0));
!             }
  
  //             if (minfo.is_default(MI_FORCE)) {
***************
*** 651,659 ****
      index = level_index[index]-m_index_start;
  
!     int par_time = get_par_time(index);
  
      static LevelInfo info;
      info = LevelInfo(get_gametype(),
!                      strf("Import %s %d", get_name().c_str(), index),
                       strf("%s #%d", get_name().c_str(), index+1),
                       "Dongleware",
--- 664,673 ----
      index = level_index[index]-m_index_start;
  
!     string filename = strf("Import %s %d", get_name().c_str(), index);
!     int    par_time = -1; // @@@ read from score file ?
  
      static LevelInfo info;
      info = LevelInfo(get_gametype(),
!                      filename,
                       strf("%s #%d", get_name().c_str(), index+1),
                       "Dongleware",





reply via email to

[Prev in Thread] Current Thread [Next in Thread]