Compare commits
2 Commits
3e3f322529
...
59de57fe3a
Author | SHA1 | Date |
---|---|---|
|
59de57fe3a | |
|
5e001bc345 |
|
@ -26,7 +26,7 @@ object_t object_default();
|
|||
void object_draw_sprite(object_t* object);
|
||||
static inline
|
||||
int object_is_valid(object_t* object) {
|
||||
return object != NULL && object->active <= 0;
|
||||
return object == NULL || object->active == 0;
|
||||
}
|
||||
|
||||
#endif /* _object_h */
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "world.h"
|
||||
#include "memory.h"
|
||||
#include "assert.h"
|
||||
#include "math/vec.h"
|
||||
#include "object.h"
|
||||
|
||||
|
@ -18,10 +19,12 @@ int _expand_world() {
|
|||
new_num = 16;
|
||||
}
|
||||
object_t** new_list = realloc(_world_objects.objects, new_num * sizeof(object_t*));
|
||||
|
||||
if(new_list == NULL) {
|
||||
printf("ERROR: failed to expand world when requesting additional objects\n");
|
||||
return 0;
|
||||
} else {
|
||||
assert(!"ERROR: Out of memory");
|
||||
exit(-10);
|
||||
}
|
||||
|
||||
for(size_t i = _world_objects.num; i < new_num; ++i) {
|
||||
new_list[i] = NULL;
|
||||
}
|
||||
|
@ -29,7 +32,6 @@ int _expand_world() {
|
|||
_world_objects.objects = new_list;
|
||||
_world_objects.num = new_num;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
static inline
|
||||
|
@ -40,11 +42,8 @@ size_t _find_free_object() {
|
|||
}
|
||||
}
|
||||
size_t num = _world_objects.num;
|
||||
if(_expand_world()) {
|
||||
_expand_world();
|
||||
return num;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void world_clear() {
|
||||
|
|
Loading…
Reference in New Issue