summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorLudovic Pouzenc <lpouzenc@gmail.com>2013-07-14 20:00:29 +0200
committerLudovic Pouzenc <lpouzenc@gmail.com>2013-07-14 20:00:29 +0200
commitaebfa9ac4b9eea848ec40f62819ecf743a807b73 (patch)
tree9d3b74ce189ff13b99c19489ec73d44529fae840 /src/include
parent893b33145439f68990b29a3aad3f628aede78711 (diff)
downloadmplemmings-aebfa9ac4b9eea848ec40f62819ecf743a807b73.tar.gz
mplemmings-aebfa9ac4b9eea848ec40f62819ecf743a807b73.tar.bz2
mplemmings-aebfa9ac4b9eea848ec40f62819ecf743a807b73.zip
Ajout de macros pour reduire la redondance.Parsing des fichiers level*.ini commencé.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/data_ini.h13
-rw-r--r--src/include/parser.h5
2 files changed, 10 insertions, 8 deletions
diff --git a/src/include/data_ini.h b/src/include/data_ini.h
index 590f68e..ae6cda0 100644
--- a/src/include/data_ini.h
+++ b/src/include/data_ini.h
@@ -8,12 +8,10 @@
#define LEVEL_HEIGHT 160*2
#define MAX_PARTICLE_COLORS 16
+#define MAX_MUSIC_COUNT 32
+#define MAX_DIFFICULTY_COUNT 8
//////////////////////// LEVEL INI FILES ////////////////////////
-struct skills {
- int releaseRate, numLemmings, numToRescue, timeLimit;
- int numClimbers, numFloaters, numBlockers, numBombers, numBuilders, numBashers, numMiners, numDiggers;
-};
// Item should be an object, terrain or steel
struct levelItem {
@@ -24,7 +22,8 @@ struct levelItem {
};
struct levelIni {
- struct skills initSkills;
+ int releaseRate, numLemmings, numToRescue, timeLimit;
+ int numClimbers, numFloaters, numBlockers, numBombers, numBuilders, numBashers, numMiners, numDiggers;
int xPos;
char *style, *name;
int superLemming;
@@ -35,8 +34,12 @@ struct levelIni {
//////////////////////// LEVELPACK INI FILES ////////////////////////
struct levelPackIni {
+ char *name;
int maxFallDistance;
char *codeSeed;
+ int musicCount, levelDifficultyCount;
+ char *musics[MAX_MUSIC_COUNT];
+ char *levelDifficulty[MAX_DIFFICULTY_COUNT];
};
//////////////////////// STYLE INI FILES ////////////////////////
diff --git a/src/include/parser.h b/src/include/parser.h
index 513ec07..6127628 100644
--- a/src/include/parser.h
+++ b/src/include/parser.h
@@ -8,7 +8,6 @@ enum ini_type { ini_style, ini_levelpack, ini_level };
//#define CANNOT_BE_NEGATIVE "cannot be negative"
//#define BAD_VALUE "bad value"
-//#define MAX_OBJECT_TYPES 32
#define MAX_OBJECT_FRAMES 64
#define MAX_OBJECTS_COUNT 256
#define MAX_TERRAINS_COUNT 1024
@@ -16,8 +15,8 @@ enum ini_type { ini_style, ini_levelpack, ini_level };
#define MAX_LEMMTYPES_COUNT 256
#define MAX_SOUNDS_COUNT 32
#define MAX_NUMLEMMINGS 100
-#define STEEL_MAX_WIDTH 256
-#define STEEL_MAX_HEIGHT 256
+//#define STEEL_MAX_WIDTH 256
+//#define STEEL_MAX_HEIGHT 256
int loadIni(enum ini_type type, const char *filepath, gameIni_t *ini);