| 872 | } |
| 873 | |
| 874 | void CustomModel_Register(struct CustomModel* cm) { |
| 875 | static struct ModelTex customDefaultTex; |
| 876 | |
| 877 | CheckMaxVertices(); |
| 878 | cm->model.name = cm->name; |
| 879 | cm->model.defaultTex = &customDefaultTex; |
| 880 | cm->model.maxVertices = cm->numParts * MODEL_BOX_VERTICES; |
| 881 | |
| 882 | cm->model.MakeParts = Model_NoParts; |
| 883 | cm->model.Draw = CustomModel_Draw; |
| 884 | cm->model.GetNameY = CustomModel_GetNameY; |
| 885 | cm->model.GetEyeY = CustomModel_GetEyeY; |
| 886 | cm->model.GetCollisionSize = CustomModel_GetCollisionSize; |
| 887 | cm->model.GetPickingBounds = CustomModel_GetPickingBounds; |
| 888 | cm->model.DrawArm = CustomModel_DrawArm; |
| 889 | |
| 890 | /* add to front of models linked list to override original models */ |
| 891 | if (!models_head) { |
| 892 | models_head = &cm->model; |
| 893 | models_tail = models_head; |
| 894 | } else { |
| 895 | cm->model.next = models_head; |
| 896 | models_head = &cm->model; |
| 897 | } |
| 898 | cm->registered = true; |
| 899 | } |
| 900 | |
| 901 | void CustomModel_Undefine(struct CustomModel* cm) { |
| 902 | if (!cm->defined) return; |
no test coverage detected