52 sprite_t **checkSprite;
57 checkSprite = (sprite_t**) malloc(
sizeof(sprite_t*)*(size+1));
62 for(i = 0; i < size; i++)
66 checkSprite[size] = NULL;
67 ent->mSprites = checkSprite;
75 Frame *checkFrame = NULL;
77 object_t *checkObj = NULL;
80 retVal = (entity_t*) malloc(
sizeof(entity_t));
83 memset(retVal, 0,
sizeof(entity_t));
84 retVal->mName =
object->name;
89 position = checkTok -
object->keys;
115 for(j = 0; checkObj->values[j].type; j++)
147 for(i = 0; retVal->mSprites[i]; i++)
149 if(!retVal->mSprites[i])
151 checkFrame =
LoadAnimation(widths[i], heights[i], retVal->mSprites[i]->mSize.x, retVal->mSprites[i]->mSize.y);
152 retVal->mSprites[i]->mFrames = frames[i] ? frames[i] : 1;
153 memcpy(&retVal->mSprites[i]->mAnimations, checkFrame,
sizeof(
Frame)*retVal->mSprites[i]->mFrames );
156 retVal->mNextThink = 1;
157 retVal->mCurrentFrame = 0;
171 if(!ent || !token || !str)
175 for(i= 0; i < size; i++)
200 printf(
"Print Entity given NULL Entity \n");
205 printf(
"Print Entity given NULL Entity Name");
208 printf(
"< Entity \n");
209 printf(
"Entity Name : %s \n", ent->mName);
210 printf(
"Entity CollisionType : %d \n", ent->mCollisionType);
211 printf(
"Enity State : %d \n", ent->mEntityState);
214 printf(
"No Sprites loaded \n");
217 if(!ent->mSprites[0])
219 printf(
"No Sprites loaded \n");
222 printf(
"Entity Sprites : %s \n", ent->mSprites[0]->name);
223 for(i = 1; ent->mSprites[i]; i++)
225 printf(
" %s ", ent->mSprites[i]->name);
227 printf(
" Entity > \n");
int CountMem(void *src, int size_type)
object_t * FindObject(object_t *obj, char *name)
char * JsmnToString(jsmntok_t *token, char *g_str)
Frame * LoadAnimation(int frame_width, int frame_height, int width, int height)
vec2_t * ParseToVec2(struct object_s *object, char *str)
entity_state_t StrToEntityState(char *str)
void AddComplexMemToEnt(entity_t *ent, entity_members_complex_t member, void *value)
char * ComplexVariableNames[]
int StrToHazard(char *str)
void DrawGeneric(entity_t *self)
char * SimpleVariableNames[]
collision_type_t StrToCollisionType(char *str)
jsmntok_t * FindKey(jsmntok_t *token, char *key, char *g_str)
void JsmnToInt(jsmntok_t *token, char *str, int *dst)
entity_t * ParseToEntity(object_t *object, char *str)
char * Vector2VariableNames[]
void ThinkGeneric(entity_t *self)
void PrintEntity(entity_t *ent)
sprite_t * LoadSprite(const char *name, int flags)
void AddVector2Entity(entity_t *ent, entity_members_vector2_t member, vec2_t *value)
void TouchGeneric(entity_t *self, entity_t *other, int type)
void ParseComplexMember(entity_t *ent, jsmntok_t *token, char *str, entity_members_complex_t member, int size)
void AddSpritesToEnt(entity_t *ent, char **files, int size)