about summary refs log tree commit diff
path: root/src/game/g_layers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/g_layers.cpp')
-rw-r--r--src/game/g_layers.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/game/g_layers.cpp b/src/game/g_layers.cpp
index 6614bc90..07ffec4b 100644
--- a/src/game/g_layers.cpp
+++ b/src/game/g_layers.cpp
@@ -12,31 +12,24 @@ static int layers_num = 0;
 void layers_init()
 {
 	map_get_type(MAPITEMTYPE_GROUP, &groups_start, &groups_num);
+	map_get_type(MAPITEMTYPE_LAYER, &layers_start, &layers_num);
 	
+	for(int g = 0; g < layers_num_groups(); g++)
 	{
-		int p = 0;
-		map_get_type(MAPITEMTYPE_LAYER, &layers_start, &layers_num);
-			
-		for(int i = 0; i < layers_num; i++)
+		MAPITEM_GROUP *group = layers_get_group(g);
+		for(int l = 0; l < group->num_layers; l++)
 		{
-			MAPITEM_LAYER *layer = (MAPITEM_LAYER *)map_get_item(layers_start+i, 0, 0);
+			MAPITEM_LAYER *layer = layers_get_layer(group->start_layer+l);
+			
 			if(layer->type == LAYERTYPE_TILES)
 			{
 				MAPITEM_LAYER_TILEMAP *tilemap = (MAPITEM_LAYER_TILEMAP *)layer;
-				
-				if(p)
-				{
-					p--;
-					if(p == 0)
-						tilemap->flags |= 2;
-				}
-				
 				if(tilemap->flags&1)
 				{
 					game_layer = tilemap;
-					p = 2;
+					game_group = group;
 				}
-			}
+			}			
 		}
 	}
 }