| 917 | } |
| 918 | } |
| 919 | void DrawDebugInfo(object *obj) { |
| 920 | matrix m; |
| 921 | m = obj->orient; |
| 922 | vm_TransposeMatrix(&m); |
| 923 | if (obj->type == OBJ_ROOM) { |
| 924 | DrawColoredDisk(&obj->pos, 0.0f, 0.0f, 1.0f, .1f, .7f, obj->size, 1); |
| 925 | } else { |
| 926 | if (Game_show_sphere == 1) { |
| 927 | vector center = obj->pos + Poly_models[obj->rtype.pobj_info.model_num].wall_size_offset * m; |
| 928 | DrawColoredDisk(¢er, 0.0f, 0.0f, 1.0f, .1f, .7f, Poly_models[obj->rtype.pobj_info.model_num].wall_size, 1); |
| 929 | } else if (Game_show_sphere == 2) { |
| 930 | vector center = obj->pos + Poly_models[obj->rtype.pobj_info.model_num].anim_size_offset * m; |
| 931 | DrawColoredDisk(¢er, 0.0f, 0.1f, .9f, .1f, .7f, Poly_models[obj->rtype.pobj_info.model_num].anim_size, 1); |
| 932 | } else if (Game_show_sphere == 3) { |
| 933 | DrawColoredDisk(&obj->pos, 0.1f, 0.2f, .9f, .1f, .7f, obj->size, 1); |
| 934 | } |
| 935 | } |
| 936 | g3Point g3p[8]; |
| 937 | memset(g3p, 0, 8 * sizeof(g3Point)); |
| 938 | vector pos[9]; |
| 939 | // g3p[0].p3_vec = obj->pos; |
| 940 | // g3p[1].p3_vec = obj->rtype.line_info.end_pos; |
| 941 | |
| 942 | ddgr_color c1; |
| 943 | if (!object_object_AABB(obj, Player_object)) |
| 944 | c1 = GR_RGB(255, 0, 0); |
| 945 | else |
| 946 | c1 = GR_RGB(255, 255, 255); |
| 947 | pos[0] = obj->max_xyz; |
| 948 | pos[1] = obj->max_xyz; |
| 949 | pos[1].z = obj->min_xyz.z; |
| 950 | pos[2] = obj->min_xyz; |
| 951 | pos[2].y = obj->max_xyz.y; |
| 952 | pos[3] = obj->max_xyz; |
| 953 | pos[3].x = obj->min_xyz.x; |
| 954 | pos[4] = obj->max_xyz; |
| 955 | pos[4].y = obj->min_xyz.y; |
| 956 | pos[5] = obj->min_xyz; |
| 957 | pos[5].x = obj->max_xyz.x; |
| 958 | pos[6] = obj->min_xyz; |
| 959 | pos[7] = obj->min_xyz; |
| 960 | pos[7].z = obj->max_xyz.z; |
| 961 | |
| 962 | pos[8] = obj->pos; |
| 963 | pos[8].y += .8f * obj->size; |
| 964 | g3_RotatePoint(&g3p[0], &pos[0]); |
| 965 | g3_RotatePoint(&g3p[1], &pos[1]); |
| 966 | g3_RotatePoint(&g3p[2], &pos[2]); |
| 967 | g3_RotatePoint(&g3p[3], &pos[3]); |
| 968 | g3_RotatePoint(&g3p[4], &pos[4]); |
| 969 | g3_RotatePoint(&g3p[5], &pos[5]); |
| 970 | g3_RotatePoint(&g3p[6], &pos[6]); |
| 971 | g3_RotatePoint(&g3p[7], &pos[7]); |
| 972 | g3_DrawLine(c1, &g3p[0], &g3p[1]); |
| 973 | g3_DrawLine(c1, &g3p[1], &g3p[2]); |
| 974 | g3_DrawLine(c1, &g3p[2], &g3p[3]); |
| 975 | g3_DrawLine(c1, &g3p[3], &g3p[0]); |
| 976 | g3_DrawLine(c1, &g3p[0], &g3p[4]); |
no test coverage detected