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, |
LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created, |
62 |
int idx_start, int idx_end, bool twoplayers); |
int idx_start, int idx_end, bool twoplayers); |
63 |
|
|
64 |
// LevelPack interface |
// LevelPack interface |
112 |
|
|
113 |
LevelPack_Oxyd::LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created, |
LevelPack_Oxyd::LevelPack_Oxyd (OxydVersion ver, DatFile *dat, time_t created, |
114 |
int idx_start, int idx_end, bool twoplayers) |
int idx_start, int idx_end, bool twoplayers) |
115 |
: m_mapping(ver), m_version(ver), m_datfile(dat), |
: m_mapping(ver), m_version(ver), m_datfile(dat), |
116 |
m_created(created), m_twoplayers(twoplayers), |
m_created(created), m_twoplayers(twoplayers), |
117 |
m_index_start(idx_start) |
m_index_start(idx_start) |
118 |
{ |
{ |
119 |
string msg; |
string msg; |
510 |
} |
} |
511 |
|
|
512 |
LP_OxydMagnum::LP_OxydMagnum(OxydVersion version, DatFile *dat, time_t created) |
LP_OxydMagnum::LP_OxydMagnum(OxydVersion version, DatFile *dat, time_t created) |
513 |
: LevelPack_Oxyd (version, dat, created, 0, |
: LevelPack_Oxyd (version, dat, created, 0, |
514 |
(version==OxydVersion_OxydMagnumGold) ? 120 : 99, false) |
(version==OxydVersion_OxydMagnumGold) ? 120 : 99, false) |
515 |
{ |
{ |
516 |
} |
} |
574 |
} |
} |
575 |
} |
} |
576 |
|
|
577 |
void GameInfo::openDatFile() |
void GameInfo::openDatFile() |
578 |
{ |
{ |
579 |
assert(m_present); |
assert(m_present); |
580 |
|
|
595 |
} |
} |
596 |
} |
} |
597 |
|
|
598 |
LevelPack *GameInfo::makeLevelPack(bool twoplayers) |
LevelPack *GameInfo::makeLevelPack(bool twoplayers) |
599 |
{ |
{ |
600 |
if (datfile == 0 || ver == OxydVersion_Invalid) |
if (datfile == 0 || ver == OxydVersion_Invalid) |
601 |
return 0; |
return 0; |
613 |
case OxydVersion_OxydMagnum: |
case OxydVersion_OxydMagnum: |
614 |
case OxydVersion_OxydMagnumGold: |
case OxydVersion_OxydMagnumGold: |
615 |
return new LP_OxydMagnum (ver, datfile, modified); |
return new LP_OxydMagnum (ver, datfile, modified); |
616 |
default: |
default: |
617 |
{ |
{ |
618 |
int firstlevel = twoplayers ? 100 : 0; |
int firstlevel = twoplayers ? 100 : 0; |
619 |
int lastlevel = twoplayers ? 199 : 99; |
int lastlevel = twoplayers ? 199 : 99; |
636 |
map <string,string> soundfx_map; |
map <string,string> soundfx_map; |
637 |
|
|
638 |
struct { |
struct { |
639 |
char *name, *datfile; |
const char *name, *datfile; |
640 |
int start1p, end1p; |
int start1p, end1p; |
641 |
int start2p, end2p; |
int start2p, end2p; |
642 |
} oxversions[] = { |
} oxversions[] = { |