From 38b98c9ecd0c300d40ae6db05ab9dc2b9189df8d Mon Sep 17 00:00:00 2001 From: oroborus Date: Tue, 1 Jul 2008 17:53:41 +0000 Subject: - oprava chyby pri teleportacii lasserov - skutocne opravena chybya s neinicializovany audiom, a strielanim pri chodeni - ZeXxove patche pre spojenie s master serverom - client zobrazuje hlasku ak sa nepodarilo spojit zo serverom alebo sppojenie nasilne ukoncilo git-svn-id: http://opensvn.csie.org/tuxanci_ng@81 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/base/index.c | 54 ++++++++---------------------------------------------- src/base/shot.c | 8 ++++++++ src/base/storage.c | 8 +++++++- 3 files changed, 23 insertions(+), 47 deletions(-) (limited to 'src/base') diff --git a/src/base/index.c b/src/base/index.c index d3f75a5..caa8572 100644 --- a/src/base/index.c +++ b/src/base/index.c @@ -77,7 +77,6 @@ int addToIndex(list_t *list, int index) if( len == 0 ) { - //printf("OK first\n"); addList(list, index_newInt(index)); checkIndex(list); return 0; @@ -85,79 +84,53 @@ int addToIndex(list_t *list, int index) if( len == 1 ) { - //space->getStatus(space->list->list[0], &point_id, &x, &y, &w, &h); point_index = *(int *)list->list[0]; if( index > point_index ) { addList(list, index_newInt(index)); - //checkIndex(list); + checkIndex(list); return 1; } if( index < point_index ) { insList(list, 0, index_newInt(index)); - //checkIndex(list); + checkIndex(list); return 0; } - //printf("OK\n") return -1; } min = 0; max = len-1; -/* - if( max < 0 ) - { - max = 0; - } -*/ + for(;;) { point = min + ( max - min ) / 2; -/* - space->getStatus(space->list->list[min], &id_min, &x, &y, &w, &h); - space->getStatus(space->list->list[max], &id_max, &x, &y, &w, &h); -*/ - //printf("min = %d max = %d point = %d len = %d id = %d\n", min, max, point, len, id); if( max < 0 ) { - //printf("OK first\n"); insList(list, 0, index_newInt(index)); - //checkIndex(list); + checkIndex(list); return 0; } - if( point+1 >= len /*|| min >= len*/ ) + if( point+1 >= len ) { addList(list, index_newInt(index) ); - //printf("OK height\n"); - //checkIndex(list); + checkIndex(list); return len; } -// space->getStatus(space->list->list[point], &point_id, &x, &y, &w, &h); -// space->getStatus(space->list->list[point+1], &inc_point_id, &x, &y, &w, &h); - point_index = *(int *)list->list[point]; inc_point_index = *(int *)list->list[point+1]; -/* - if( min == max ) - { - //printf("OK\n"); - insList(space->list, min, p); - checkList(space); - return; - } -*/ + if( point_index < index && index < inc_point_index ) { - //printf("OK\n"); insList(list, point+1, index_newInt(index) ); - //checkIndex(list); + checkIndex(list); return point+1; } @@ -182,7 +155,6 @@ int getFormIndex(list_t *list, int index) int min, max; int point; - //printf("getFormIndex %d\n", index); //printIndex(list); @@ -195,23 +167,13 @@ int getFormIndex(list_t *list, int index) { point = min + ( max - min ) / 2; - //printf("min = %d max = %d point = %d len = %d id = %d\n", min, max, point, len, id); - if( max < 0 || point >= len || max < min ) { return -1; } - //space->getStatus(space->list->list[point], &point_id, &x, &y, &w, &h); - point_index = *(int *)list->list[point]; - if( min == max ) - { - //space->getStatus(space->list->list[min], &point_id, &x, &y, &w, &h); - point_index = *(int *)list->list[point]; - } - if( point_index == index ) { return point; diff --git a/src/base/shot.c b/src/base/shot.c index e8cdff9..9c0e33c 100644 --- a/src/base/shot.c +++ b/src/base/shot.c @@ -226,6 +226,12 @@ void boundBombBall(shot_t *shot) void transformOnlyLasser(shot_t *shot) { + space_t *space; + + space = getCurrentArena()->spaceShot; + + delObjectFromSpace(space, shot); + switch( shot->position ) { case TUX_RIGHT : @@ -245,6 +251,8 @@ void transformOnlyLasser(shot_t *shot) #endif break; } + + addObjectToSpace(space, shot); } void eventMoveListShot(arena_t *arena) diff --git a/src/base/storage.c b/src/base/storage.c index e7afa45..f3eb937 100644 --- a/src/base/storage.c +++ b/src/base/storage.c @@ -1,4 +1,3 @@ - #include #include #include @@ -52,6 +51,10 @@ static void destroyStorageItem(storage_item_t *p, void *f) void addItemToStorage(list_t *list, char *group, char *name, void *data) { + assert( list != NULL ); + assert( group != NULL ); + assert( name != NULL ); + addList(list, newStorageItem(group, name, data) ); } @@ -60,6 +63,7 @@ void* getItemFromStorage(list_t *list, char *group, char *name) storage_item_t *this; int i; + assert( list != NULL ); assert( group != NULL ); assert( name != NULL ); @@ -82,6 +86,7 @@ void delItemFromStorage(list_t *list, char *group, char *name, void *f) storage_item_t *this; int i; + assert( list != NULL ); assert( group != NULL ); assert( name != NULL ); @@ -105,6 +110,7 @@ void delAllItemFromStorage(list_t *list, char *group, void *f) storage_item_t *this; int i; + assert( list != NULL ); assert( group != NULL ); for(i = 0 ; i < list->count; i++) -- cgit v1.2.3