44 |
GAMET_OXYDMAGNUM, |
GAMET_OXYDMAGNUM, |
45 |
|
|
46 |
GAMET_LAST = GAMET_OXYDMAGNUM, |
GAMET_LAST = GAMET_OXYDMAGNUM, |
47 |
GAMET_COUNT |
GAMET_COUNT, |
48 |
|
GAMET_UNKNOWN |
49 |
}; |
}; |
50 |
|
|
51 |
/* |
/* |
58 |
LevelInfo(const string &fn, |
LevelInfo(const string &fn, |
59 |
const string &n, |
const string &n, |
60 |
const string &a, |
const string &a, |
61 |
int par_time = DEFAULT_TIME, |
GameType gt, |
62 |
GameType gt = GAMET_ENIGMA) |
int par_time = DEFAULT_TIME |
63 |
: filename(fn), name(n), author(a), best_time(par_time), type(gt) |
) |
64 |
|
: filename(fn), name(n), author(a), type(gt), best_time(par_time) |
65 |
{} |
{} |
66 |
|
|
67 |
LevelInfo() { |
LevelInfo() { |
68 |
best_time = DEFAULT_TIME; |
best_time = DEFAULT_TIME; |
69 |
type = GAMET_ENIGMA; |
type = GAMET_ENIGMA; |
70 |
} |
} |
71 |
|
|
73 |
string filename; // Filename of the level _without_ extension |
string filename; // Filename of the level _without_ extension |
74 |
string name; // Complete name of the level |
string name; // Complete name of the level |
75 |
string author; // Author of the level |
string author; // Author of the level |
|
int best_time; // Best time in seconds |
|
76 |
GameType type; |
GameType type; |
77 |
|
int best_time; // Best time in seconds |
78 |
}; |
}; |
79 |
|
|
80 |
class LevelPack { |
class LevelPack { |
121 |
/* |
/* |
122 |
* Per-level settings |
* Per-level settings |
123 |
*/ |
*/ |
124 |
extern bool ConserveLevel; // True: do not reset level when player dies |
extern bool ConserveLevel; // True: do not reset level when player dies |
125 |
extern bool AllowTogglePlayer; // True: allow to control 2nd player (e.g. after first died) |
extern bool AllowTogglePlayer; // True: allow to control 2nd player (e.g. after first died) |
126 |
extern bool ShowMoves; // True -> show move counter (Sokoban style) |
extern bool ShowMoves; // True -> show move counter (Sokoban style) |
127 |
extern double Brittleness; // Brittleness of the floor: 0=stable..1=unstable |
extern GameType GameCompatibility; // behave like Oxyd/Enigma version |
128 |
extern double SlopeForce; // Force multiplier for floors that look sloped |
extern double Brittleness; // Brittleness of the floor: 0 = stable..1=unstable |
129 |
extern double SlopeForce2; // Force multiplier for floors that DON'T look sloped |
extern double SlopeForce; // Force multiplier for floors that look sloped |
130 |
extern double FrictionFactor; // Friction multiplier; applies only to certain floor types |
extern double SlopeForce2; // Force multiplier for floors that DON'T look sloped |
131 |
extern double ElectricForce; // Force multiplier for electrostatic forces between actors |
extern double FrictionFactor; // Friction multiplier; applies only to certain floor types |
132 |
|
extern double ElectricForce; // Force multiplier for electrostatic forces between actors |
133 |
|
|
134 |
void RegisterLevelPack (LevelPack *lp); |
void RegisterLevelPack (LevelPack *lp); |
135 |
|
|
143 |
void RestartGame(); |
void RestartGame(); |
144 |
void QuitGame(); |
void QuitGame(); |
145 |
|
|
146 |
|
void SetCompatibility(const char *version); // set compatibility (from lua) |
147 |
|
|
148 |
// (levelpack.cc) |
// (levelpack.cc) |
149 |
void AddLevelPack (const char *init_file, const char *name); |
void AddLevelPack (const char *init_file, const char *name); |
150 |
void AddZippedLevelPack (const char *zipfile); |
void AddZippedLevelPack (const char *zipfile); |