diff options
Diffstat (limited to 'src/game/g_layers.cpp')
| -rw-r--r-- | src/game/g_layers.cpp | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/game/g_layers.cpp b/src/game/g_layers.cpp index 1e46168c..1595e266 100644 --- a/src/game/g_layers.cpp +++ b/src/game/g_layers.cpp @@ -1,7 +1,8 @@ #include <engine/e_common_interface.h> #include "g_layers.h" -static MAPITEM_LAYER_TILEMAP *game_layer; +static MAPITEM_LAYER_TILEMAP *game_layer = 0; +static MAPITEM_GROUP *game_group = 0; static int groups_start = 0; static int groups_num = 0; @@ -13,6 +14,7 @@ void layers_init() map_get_type(MAPITEMTYPE_GROUP, &groups_start, &groups_num); { + int p = 0; map_get_type(MAPITEMTYPE_LAYER, &layers_start, &layers_num); for(int i = 0; i < layers_num; i++) @@ -21,11 +23,23 @@ void layers_init() 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) + { + dbg_msg("layers", "game"); game_layer = tilemap; + p = 2; + } } + dbg_msg("layers", "%d %d", i, layer->type); } - } } @@ -40,8 +54,13 @@ MAPITEM_LAYER *layers_get_layer(int index) return (MAPITEM_LAYER *)map_get_item(layers_start+index, 0, 0); } -MAPITEM_LAYER_TILEMAP *layers_game() +MAPITEM_LAYER_TILEMAP *layers_game_layer() { return game_layer; } +MAPITEM_GROUP *layers_game_group() +{ + return game_group; +} + |