summaryrefslogtreecommitdiffstats
path: root/level.c
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2007-10-31 21:57:00 +0100
committerneoraider <devnull@localhost>2007-10-31 21:57:00 +0100
commit0d161e31bbc3433e320f2367657fb054974182d3 (patch)
treeed2a0849e48e5574122835f2e92ac289c4354eed /level.c
parent36d7e086f613d111f4ad3b2ca05b2958c7a75875 (diff)
downloadlibzoom-0d161e31bbc3433e320f2367657fb054974182d3.tar
libzoom-0d161e31bbc3433e320f2367657fb054974182d3.zip
libzoom: Einige Verbesserungen und Bugfixes im Level-Lader.
Diffstat (limited to 'level.c')
-rw-r--r--level.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/level.c b/level.c
index cd703a7..246f8d5 100644
--- a/level.c
+++ b/level.c
@@ -36,7 +36,7 @@ static void LoadTriangles(xmlNodePtr node, LEVEL *level, WALL* walls, int nWalls
VECTOR v;
- for(; node = node->next; node != NULL) {
+ for(; node != NULL; node = node->next) {
if(node->type != XML_ELEMENT_NODE || xmlStrcmp(node->name, "triangle")) continue;
walls[i].visible = 1;
@@ -57,7 +57,7 @@ static void LoadTriangles(xmlNodePtr node, LEVEL *level, WALL* walls, int nWalls
}
j = -1;
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type != XML_ELEMENT_NODE) continue;
if(!xmlStrcmp(node2->name, "vertex")) {
@@ -192,20 +192,20 @@ LEVEL *LoadLevel(char *filename) {
if(!root || xmlStrcmp(root->name, "level")) {
xmlFreeDoc(doc);
xmlCleanupParser();
- return NULL;puts("Loaded.");
+ return NULL;
}
level = calloc(1, sizeof(LEVEL));
- for(node = root->children; node = node->next; node != NULL) {
+ for(node = root->children; node != NULL; node = node->next) {
if(node->type != XML_ELEMENT_NODE) continue;
if(!xmlStrcmp(node->name, "info")) {
level->info = calloc(1, sizeof(LEVELINFO));
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type != XML_ELEMENT_NODE) continue;
if(!xmlStrcmp(node2->name, "name")) {
@@ -242,7 +242,7 @@ LEVEL *LoadLevel(char *filename) {
rooms = node;
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type == XML_ELEMENT_NODE && !xmlStrcmp(node2->name, "room")) level->nRooms++;
}
}
@@ -251,21 +251,23 @@ LEVEL *LoadLevel(char *filename) {
gates = node;
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ node2 = node->children;
+
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type == XML_ELEMENT_NODE && !xmlStrcmp(node2->name, "gate")) level->nGates++;
}
}
else if(!xmlStrcmp(node->name, "textures")) {
if(level->textures != NULL) continue;
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type == XML_ELEMENT_NODE && !xmlStrcmp(node2->name, "texture")) level->nTextures++;
}
level->textures = calloc(level->nTextures, sizeof(TEXTURE));
i = 0;
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type != XML_ELEMENT_NODE || xmlStrcmp(node2->name, "texture")) continue;
data = xmlGetProp(node2, "name");
@@ -292,7 +294,7 @@ LEVEL *LoadLevel(char *filename) {
level->rooms = calloc(level->nRooms, sizeof(ROOM));
i = 0;
- for(node = rooms->children; node = node->next; node != NULL) {
+ for(node = rooms->children; node != NULL; node = node->next) {
if(node->type != XML_ELEMENT_NODE || xmlStrcmp(node->name, "room")) continue;
data = xmlGetProp(node, "id");
@@ -302,7 +304,7 @@ LEVEL *LoadLevel(char *filename) {
xmlFree(data);
}
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type == XML_ELEMENT_NODE && !xmlStrcmp(node2->name, "triangle")) level->rooms[i].nWalls++;
}
@@ -318,7 +320,7 @@ LEVEL *LoadLevel(char *filename) {
level->gates = calloc(level->nGates, sizeof(GATE));
i = 0;
- for(node = gates->children; node = node->next; node != NULL) {
+ for(node = gates->children; node != NULL; node = node->next) {
if(node->type != XML_ELEMENT_NODE || xmlStrcmp(node->name, "gate")) continue;
data = xmlGetProp(node2, "room1");
@@ -341,7 +343,7 @@ LEVEL *LoadLevel(char *filename) {
xmlFree(data);
}
- for(node2 = node->children; node2 = node2->next; node2 != NULL) {
+ for(node2 = node->children; node2 != NULL; node2 = node2->next) {
if(node2->type == XML_ELEMENT_NODE && !xmlStrcmp(node2->name, "triangle")) level->gates[i].nWalls++;
}