|
@@ -1624,7 +1624,7 @@ DefineEngineMethod( WheeledVehicle, setWheelPowered, bool, ( S32 wheel, bool pow
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-DefineEngineMethod( WheeledVehicle, setWheelTire, bool, ( S32 wheel, WheeledVehicleTire* tire ),,
|
|
|
+DefineEngineMethod( WheeledVehicle, setWheelTire, bool, ( S32 wheel, const char* tire ),,
|
|
|
"@brief Set the WheeledVehicleTire datablock for this wheel.\n"
|
|
|
"@param wheel index of the wheel to set (hub node #)\n"
|
|
|
"@param tire WheeledVehicleTire datablock\n"
|
|
@@ -1633,15 +1633,19 @@ DefineEngineMethod( WheeledVehicle, setWheelTire, bool, ( S32 wheel, WheeledVehi
|
|
|
"%obj.setWheelTire( 0, FrontTire );\n"
|
|
|
"@endtsexample\n" )
|
|
|
{
|
|
|
- if (wheel >= 0 && wheel < object->getWheelCount()) {
|
|
|
- object->setWheelTire(wheel,tire);
|
|
|
- return true;
|
|
|
+ WheeledVehicleTire* tireObj = NULL;
|
|
|
+ if (wheel < 0 || wheel > object->getWheelCount())
|
|
|
+ {
|
|
|
+ Con::warnf("setWheelTire: invalid wheel index %d, vehicle has %d hubs", wheel, object->getWheelCount());
|
|
|
+ return false;
|
|
|
}
|
|
|
- else {
|
|
|
- Con::warnf("setWheelTire: invalid tire datablock or wheel index, vehicle has %d hubs",
|
|
|
- object->getWheelCount());
|
|
|
+ else if (!Sim::findObject(tire, tireObj))
|
|
|
+ {
|
|
|
+ Con::warnf("setWheelSpring: invalid spring %s", tire);
|
|
|
return false;
|
|
|
}
|
|
|
+ object->setWheelTire(wheel, tireObj);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
DefineEngineMethod( WheeledVehicle, setWheelSpring, bool, ( S32 wheel, const char* spring ),,
|