Example #1
0
/**
 * Release all variables in pGlobal
 */
void global_freeUserVar() {
    gfmQuadtree_free(&(pGlobal->pQt));
    gfmGroup_free(&(pGlobal->pHitbox));
    gfmTilemap_free(&(pGlobal->pTMap));
    entity_free(&(pGlobal->pGirl));
    entity_free(&(pGlobal->pBoy));
}
void entity_close(){ //deallocates all entities
	int i;
	for(i = 0; i < ENTITY_MAX; i++){
		 if(entityList[i].inuse == true){
			 entity_free(&entityList[i]);	
		 }
	}
	memset(entityList, 0, sizeof(entity) * ENTITY_MAX);
}
Example #3
0
File: world.c Project: icule/CLE
void world_free(core_world_t world) {
	world_t w = (world_t) world;
	int it;
	for (it=0;it<w->amount_entity;it++)
		entity_free(w->entities[it]);
	free(w->entities);
	free(w->lines);
	free(w);
}
void entity_update_all(){
	int i = 0;
	Vec2d new_pos;
	Vec2d old_pos;
	for(i = 0; i < ENTITY_MAX; i++){
		if(!entityList[i].inuse){
			continue;
		}
		if(!entityList[i].sprite)
		{
			entity_free(&entityList[i]);
		}

		if(entityList[i].position.x < 0 ) 
		{
			entityList[i].position.x =0;
		}
		if(entityList[i].position.x + entityList[i].sprite->frameW > TOTAL_TILES_X * TILE_WIDTH)
		{
			entityList[i].position.x  = TOTAL_TILES_X * TILE_WIDTH - entityList[i].sprite->frameW;
		}
		if(entityList[i].position.y < 0 ) 
		{
			entityList[i].position.y =0;
		}
		if(entityList[i].position.y + entityList[i].sprite->frameH > TOTAL_TILES_Y * TILE_HEIGHT)
		{
			entityList[i].position.y  = TOTAL_TILES_Y * TILE_HEIGHT - entityList[i].sprite->frameH;
		}

		if(!entityList[i].update){
			continue;
		}

		entityList[i].update(&entityList[i]);
		if(entityList[i].health <= 0 && !entityList[i].player)
		{
			entity_free(&entityList[i]);
		}
		if(entityList[i].weapon){
			entityList[i].weapon->face_dir = entityList[i].face_dir;
		}
	}
}
Example #5
0
void closeEntitySystem()
{
    int i;
    Entity *ent;
    for (i = 0; i < MaxEntities;i++)
    {
        ent= &EntityList[i];
        entity_free(&ent);
    }
    free(EntityList);
}
Example #6
0
static void entity_deinitialize()
{
    int i;
    for (i = 0;i < __entity_max;i++)
    {
        if (__entity_list[i].inuse)
        {
            entity_free(&__entity_list[i]);
        }
    }
    free(__entity_list);
    __entity_max = 0;
    __entity_initialized = 0;
}
Example #7
0
void entity_update_all()
{
    int i;
	int j;
	Entity *e;
    for (i = 0; i < MaxEntities;i++)
    {
		e = &EntityList[i];
		if(EntityList[i].cleanUp)
		{
			entity_free(&e);
			continue;
		}
        if (!EntityList[i].inuse)
        {
            continue;
        }
        
        vec2d_add(EntityList[i].position,EntityList[i].velocity,EntityList[i].position);
        
        if (!EntityList[i].update)
        {
            continue;
        }
        
        EntityList[i].update(&EntityList[i]);



		for(j=0;j < EntityList[j].inuse && j != i;j++)
		{
			if(EntityList[i].touch != NULL)
			{
				(*EntityList[i].touch)(&EntityList[i],&EntityList[j]);
			}
		}
    }
}
void entity_death(entity *self){
	//death animation

	//free
	entity_free(self);
}
Example #9
0
void animal_free(Entity *entity)
{
	entity_free(&entity);
}