void Person::RagDoll(bool checkcollision)
{
static XYZ change;
- static int l, i;
+ static int i;
static float speed;
if (!skeleton.free) {
if (id == 0)
whichpatchx = coords.x / (terrain.size / subdivision * terrain.scale);
whichpatchz = coords.z / (terrain.size / subdivision * terrain.scale);
- if (terrain.patchobjectnum[whichpatchx][whichpatchz])
- for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
- i = terrain.patchobjects[whichpatchx][whichpatchz][l];
- lowpoint = coords;
- lowpoint.y += 1;
- if (SphereCheck(&lowpoint, 3, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw, &Object::objects[i]->model) != -1) {
- coords.x = lowpoint.x;
- coords.z = lowpoint.z;
- }
+ for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+ i = terrain.patchobjects[whichpatchx][whichpatchz][l];
+ lowpoint = coords;
+ lowpoint.y += 1;
+ if (SphereCheck(&lowpoint, 3, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw, &Object::objects[i]->model) != -1) {
+ coords.x = lowpoint.x;
+ coords.z = lowpoint.z;
}
+ }
}
yaw = 0;
static XYZ flatfacing;
static XYZ flatvelocity;
static float flatvelspeed;
- static int l;
static int bloodsize;
static int startx, starty, endx, endy;
static GLubyte color;
headpoint = coords;
if (bloodtoggle && !bled) {
terrain.MakeDecal(blooddecalslow, headpoint, .8, .5, 0);
- }
- if (bloodtoggle && !bled)
- for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
- int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+ for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+ unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
float size = .8;
float opacity = .6;
float yaw = 0;
Object::objects[j]->model.MakeDecal(blooddecalslow, &point, &size, &opacity, &yaw);
}
+ }
bled = 1;
}
DoBlood(1, 255);
if (bloodtoggle && !bled) {
terrain.MakeDecal(blooddecal, headpoint, .2 * 1.2, .5, 0);
- }
- if (bloodtoggle && !bled)
- for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
- int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+ for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+ unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
float size = .2 * 1.2;
float opacity = .6;
float yaw = 0;
Object::objects[j]->model.MakeDecal(blooddecal, &point, &size, &opacity, &yaw);
}
+ }
bled = 1;
}
if (dead == 2 && bloodloss >= damagetolerance) {
DoBlood(1, 255);
if (bloodtoggle && !bled) {
terrain.MakeDecal(blooddecalslow, headpoint, .8, .5, 0);
- }
- if (bloodtoggle && !bled)
- for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
- int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+ for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+ unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
float size = .8;
float opacity = .6;
float yaw = 0;
Object::objects[j]->model.MakeDecal(blooddecalslow, &point, &size, &opacity, &yaw);
}
+ }
bled = 1;
}
}