MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / ObjGetAnimUpdate

Function ObjGetAnimUpdate

Descent3/object.cpp:3314–3345  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3312}
3313
3314bool ObjGetAnimUpdate(uint16_t objnum, custom_anim *multi_anim_info) {
3315 object *obj = &Objects[objnum];
3316
3317 if ((objnum >= 0) && (obj->type != OBJ_NONE) && (obj->type != OBJ_WEAPON) && (obj->flags & OF_POLYGON_OBJECT)) {
3318 polyobj_info *pm = &obj->rtype.pobj_info;
3319 ai_frame *ai_info = obj->ai_info;
3320
3321 multi_anim_info->server_time = Gametime;
3322 multi_anim_info->server_anim_frame = (uint16_t)(pm->anim_frame * 256.0f);
3323
3324 multi_anim_info->anim_start_frame = pm->anim_start_frame;
3325 multi_anim_info->anim_end_frame = pm->anim_end_frame;
3326 multi_anim_info->anim_time = pm->anim_time;
3327 multi_anim_info->max_speed = pm->max_speed;
3328
3329 multi_anim_info->flags = 0;
3330
3331 if (pm->anim_flags & AIAF_LOOPING)
3332 multi_anim_info->flags |= FMA_LOOPING;
3333
3334 if (obj->ai_info != NULL) {
3335 multi_anim_info->anim_sound_index = obj->ai_info->last_played_sound_index;
3336 multi_anim_info->flags |= FMA_HAS_AI;
3337 } else {
3338 multi_anim_info->anim_sound_index = -1;
3339 }
3340
3341 return true;
3342 }
3343
3344 return false;
3345}
3346
3347void SetObjectControlType(object *obj, int control_type) {
3348 ASSERT(obj);

Callers 3

SGSObjectsFunction · 0.85
MultiStuffObjAnimUpdateFunction · 0.85
DemoWriteObjAnimChangedFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected