瀏覽代碼

report setWheelTire misfires like we do setWheelSpring

AzaezelX 2 年之前
父節點
當前提交
0174cb215a
共有 1 個文件被更改,包括 11 次插入7 次删除
  1. 11 7
      Engine/source/T3D/vehicles/wheeledVehicle.cpp

+ 11 - 7
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;
+   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 ),,