diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-07 20:49:54 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-07 20:49:54 +0000 |
| commit | 776577985a056407645a448f8332d6ce69d645a3 (patch) | |
| tree | 7f279fdce8100ce64409c2117c53b03443e5e5e1 /src/client/layer.c | |
| parent | 6ca82a3f9841941caef20380fe014a8d4ac5349b (diff) | |
- opravy v kodu, ktory obsluhuje konfig
- oprava v screen_setting
- oprava v layer
git-svn-id: http://opensvn.csie.org/tuxanci_ng@123 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/client/layer.c')
| -rwxr-xr-x | src/client/layer.c | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/src/client/layer.c b/src/client/layer.c index d4fcb7b..9354aae 100755 --- a/src/client/layer.c +++ b/src/client/layer.c @@ -26,7 +26,9 @@ bool_t isLayerInicialized() */ void initLayer() { + printf("*******************\nnew layer\n**********************\n"); listLayer = newList(); + isLayerInit = TRUE; } /* @@ -42,7 +44,7 @@ void addLayer(SDL_Surface *img, { layer_t *new; layer_t *this; - int i; + int i, j; assert( img != NULL ); @@ -56,32 +58,26 @@ void addLayer(SDL_Surface *img, new->layer = player; new->image = img; - if( listLayer->count == 0 ) - { - addList(listLayer, new); - return; - } - - i = 0; - this = (layer_t *)listLayer->list[0]; - - //vyhladaj svoju vrstvu - while( i < listLayer->count && this->layer < new->layer ) - { - this = (layer_t *)listLayer->list[++i]; - } - - //porovnaj s vyskami na tvojej vrstve, - //ak neexistuje, rovno to tam hod - this = (layer_t *)listLayer->list[i]; - - while( i < listLayer->count && this->y+this->h < new->y+new->h && new->layer == this->layer ) + for( i = 0 ; i < listLayer->count ; i++ ) { - this = (layer_t *)listLayer->list[++i]; + this = (layer_t *)listLayer->list[i]; + + if( this->layer == new->layer ) + { + for( j = i ; j < listLayer->count ; j++ ) + { + this = (layer_t *)listLayer->list[j]; + + if( this->y+this->h > new->y+new->h ) + { + insList(listLayer, j, new); + return; + } + } + } } - insList(listLayer, i, new); - isLayerInit = TRUE; + addList(listLayer, new); } /* |