| 10 | inline F32 xVec3Hdng(xVec3* a, const xVec3* b, const xVec3* c); |
| 11 | |
| 12 | void xMovePointInit(xMovePoint* ent, xMovePointAsset* asset) |
| 13 | { |
| 14 | xBaseInit(ent, asset); |
| 15 | ent->asset = asset; |
| 16 | |
| 17 | // They didn't use `&asset->pos` here as that doesn't generate a 100% match. |
| 18 | ent->pos = &ent->asset->pos; |
| 19 | ent->on = asset->on; |
| 20 | ent->delay = asset->delay; |
| 21 | ent->spl = NULL; |
| 22 | |
| 23 | if (asset->numPoints != 0) |
| 24 | { |
| 25 | ent->nodes = (xMovePoint**)xMemAllocSize(asset->numPoints * sizeof(xMovePoint*)); |
| 26 | } |
| 27 | else |
| 28 | { |
| 29 | ent->nodes = NULL; |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | void xMovePointSave(xMovePoint* ent, xSerial* s) |
| 34 | { |
no test coverage detected