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

Diff of /enigma/src/oxyd.cc

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

revision 1.47 by reallysoft, Mon Jun 2 22:50:12 2003 UTC revision 1.48 by reallysoft, Wed Jun 4 12:59:44 2003 UTC
# Line 58  namespace Line 58  namespace
58  {  {
59      class LevelPack_Oxyd : public LevelPack {      class LevelPack_Oxyd : public LevelPack {
60      public:      public:
61          LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created, int idx_start, int idx_end);          LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created, int idx_start, int idx_end, bool twoplayers);
62    
63          // LevelPack interface          // LevelPack interface
64          virtual string get_name() const;          virtual string get_name() const;
# Line 74  namespace Line 74  namespace
74    
75          int get_default_SoundSet() const { return m_version+2; }          int get_default_SoundSet() const { return m_version+2; }
76    
77            bool needs_twoplayers() const {
78                fprintf(stderr, "m_twoplayers=%i\n", int(m_twoplayers));
79                return m_twoplayers;
80            }
81    
82      protected:      protected:
83          /* Conversion tables from Oxyd bytecodes to Enigma object names. */          /* Conversion tables from Oxyd bytecodes to Enigma object names. */
84          enigma_mapping::Mapping m_mapping;          enigma_mapping::Mapping m_mapping;
# Line 96  namespace Line 101  namespace
101          DatFile     *m_datfile; // just a reference (owned by GameInfo)          DatFile     *m_datfile; // just a reference (owned by GameInfo)
102          time_t       m_created; // creation date of datafile          time_t       m_created; // creation date of datafile
103          Level       *m_level;   // Level currently being loaded          Level       *m_level;   // Level currently being loaded
104            bool         m_twoplayers; // true -> twoplayer game
105    
106          int level_index[200];          int level_index[200];
107          int nlevels;          int nlevels;
# Line 103  namespace Line 109  namespace
109  }  }
110    
111  LevelPack_Oxyd::LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created,  LevelPack_Oxyd::LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created,
112                                  int idx_start, int idx_end)                                  int         idx_start, int idx_end, bool twoplayers)
113      : m_mapping(ver)      : m_mapping(ver)
114      , m_version(ver)      , m_version(ver)
115      , m_datfile(dat)      , m_datfile(dat)
116      , m_created(created)      , m_created(created)
117        , m_twoplayers(twoplayers)
118  {  {
119      string msg;      string msg;
120      Level level;      Level level;
# Line 405  namespace Line 412  namespace
412  LP_Oxyd1::LP_Oxyd1 (DatFile *dat, time_t created, bool twoplayers)  LP_Oxyd1::LP_Oxyd1 (DatFile *dat, time_t created, bool twoplayers)
413      : LevelPack_Oxyd (OxydVersion_Oxyd1, dat, created,      : LevelPack_Oxyd (OxydVersion_Oxyd1, dat, created,
414                        twoplayers ? 100 : 0,                        twoplayers ? 100 : 0,
415                        twoplayers ? 199 : 99)                        twoplayers ? 199 : 99,
416                          twoplayers)
417  {  {
418  }  }
419    
# Line 480  namespace Line 488  namespace
488  LP_PerOxyd::LP_PerOxyd (DatFile *dat, time_t created, bool twoplayers)  LP_PerOxyd::LP_PerOxyd (DatFile *dat, time_t created, bool twoplayers)
489      : LevelPack_Oxyd (OxydVersion_PerOxyd, dat, created,      : LevelPack_Oxyd (OxydVersion_PerOxyd, dat, created,
490                        twoplayers ? 100 : 0,                        twoplayers ? 100 : 0,
491                        twoplayers ? 199 : 99)                        twoplayers ? 199 : 99,
492                          twoplayers)
493  {  {
494  }  }
495    
# Line 515  namespace Line 524  namespace
524  }  }
525    
526  LP_OxydMagnum::LP_OxydMagnum(OxydVersion version, DatFile *dat, time_t created)  LP_OxydMagnum::LP_OxydMagnum(OxydVersion version, DatFile *dat, time_t created)
527      : LevelPack_Oxyd (version, dat, created, 0, OxydVersion_OxydMagnumGold ? 120 : 99)      : LevelPack_Oxyd (version, dat, created, 0, OxydVersion_OxydMagnumGold ? 120 : 99, false)
528  {  {
529  }  }
530    
# Line 585  namespace Line 594  namespace
594          GameInfo();          GameInfo();
595          GameInfo (OxydVersion ver_, const string &game_, const string &datfile_name_);          GameInfo (OxydVersion ver_, const string &game_, const string &datfile_name_);
596          ~GameInfo() {          ~GameInfo() {
597  //             delete datfile;              // sth goes wrong if this is deleted. why ?
598                // delete datfile;
599          }          }
600    
601          bool isPresent() const { return is_present; }          bool isPresent() const { return is_present; }
602          DatFile *getDatfile() { return datfile; }          DatFile *getDatfile() { return datfile; }
603    
 //         const string& datfilePath() const { return datfile_path; }  
 //         time_t getModTime() const { return modified; }  
   
604      private:      private:
605          // Variables.          // Variables.
606          OxydVersion  ver;          OxydVersion  ver;
# Line 671  LevelPack *GameInfo::makeLevelPack(bool Line 678  LevelPack *GameInfo::makeLevelPack(bool
678          default: {          default: {
679              int firstlevel = twoplayers ? 100 : 0;              int firstlevel = twoplayers ? 100 : 0;
680              int lastlevel = twoplayers ? 199 : 99;              int lastlevel = twoplayers ? 199 : 99;
681              return new LevelPack_Oxyd(ver, datfile, modified, firstlevel, lastlevel);              return new LevelPack_Oxyd(ver, datfile, modified, firstlevel, lastlevel, twoplayers);
682          }          }
683      }      }
684    

Legend:
Removed from v.1.47  
changed lines
  Added in v.1.48

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