| 974 | } |
| 975 | |
| 976 | void xEntEndUpdate(xEnt* ent, xScene* sc, F32 dt) |
| 977 | { |
| 978 | ent->num_updates++; |
| 979 | |
| 980 | if (ent->model) |
| 981 | { |
| 982 | if (ent->frame) |
| 983 | { |
| 984 | if (!(ent->frame->mode & 0x20000)) |
| 985 | { |
| 986 | xMat3x3Copy((xMat4x3*)ent->model->Mat, &ent->frame->mat); |
| 987 | } |
| 988 | |
| 989 | if (!(ent->frame->mode & 0x10000)) |
| 990 | { |
| 991 | xVec3* mpos = (xVec3*)&ent->model->Mat->pos; |
| 992 | xVec3Copy(mpos, &ent->frame->mat.pos); |
| 993 | } |
| 994 | } |
| 995 | |
| 996 | if (ent->bupdate) |
| 997 | { |
| 998 | xVec3* upos = (xVec3*)&ent->model->Mat->pos; |
| 999 | ent->bupdate(ent, upos); |
| 1000 | } |
| 1001 | |
| 1002 | xModelEval(ent->model); |
| 1003 | |
| 1004 | if (ent->moreFlags & 0x20) |
| 1005 | { |
| 1006 | anim_coll::refresh(*ent); |
| 1007 | } |
| 1008 | |
| 1009 | if (ent->endUpdate) |
| 1010 | { |
| 1011 | ent->endUpdate(ent, sc, dt); |
| 1012 | } |
| 1013 | } |
| 1014 | } |
| 1015 | |
| 1016 | void xEntDefaultBoundUpdate(xEnt* ent, xVec3* pos) |
| 1017 | { |
no test coverage detected