diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index d1aa82de2..030582616 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -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; - } - else { - Con::warnf("setWheelTire: invalid tire datablock or wheel index, vehicle has %d hubs", - object->getWheelCount()); + 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 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 ),,