summaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/index.c54
-rw-r--r--src/base/shot.c8
-rw-r--r--src/base/storage.c8
3 files changed, 23 insertions, 47 deletions
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 <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -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++)