Ejemplo n.º 1
0
void
SimCarCollideShutdown(int nbcars)
{
    int  i;
    
    for (i = 0; i < nbcars; i++) {
        dtDeleteShape(SimCarTable[i].shape);
        dtDeleteObject(&(SimCarTable[i]));
    }
    dtClearDefaultResponse();
}
Ejemplo n.º 2
0
void SimCarCollideShutdown(int nbcars)
{
	int i;

	for (i = 0; i < nbcars; i++) {
		// Check if car has not been removed already (wrecked).
		if (SimCarTable[i].shape != NULL) {
			dtDeleteObject(&(SimCarTable[i]));
			dtDeleteShape(SimCarTable[i].shape);
		}
	}

	unsigned int j;
	for (j = 0; j < fixedid; j++) {
		dtClearObjectResponse(&fixedobjects[j]);
		dtDeleteObject(&fixedobjects[j]);
		dtDeleteShape(fixedobjects[j]);
	}
	fixedid = 0;

	dtClearDefaultResponse();
}
Ejemplo n.º 3
0
// Remove wrecked cars to avoid glitches in collision detection and to improve performance.
// Called by RemoveCar.
void SimCollideRemoveCar(tCar *car, int nbcars)
{
	// Find the car to remove.
	int i;
	for (i = 0; i < nbcars; i++) {
		if (&SimCarTable[i] == car) {
			break;
		}
	}

	// Remove it.
	if (SimCarTable[i].shape != NULL) {
		dtDeleteObject(&(SimCarTable[i]));
		dtDeleteShape(SimCarTable[i].shape);
		SimCarTable[i].shape = NULL;
	}
}