From 416a35b2b9e10b390afb7b7dc7aa5eb1f904cc46 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Sun, 26 Mar 2023 09:47:31 -0500 Subject: [PATCH] shift setWheelSpring script command to use a char*, not a wheeledvehicle* need to be able to tell what the attempted assignment is for reporting --- Engine/source/T3D/vehicles/wheeledVehicle.cpp | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index b7553a8e8..d1aa82de2 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -1644,7 +1644,7 @@ DefineEngineMethod( WheeledVehicle, setWheelTire, bool, ( S32 wheel, WheeledVehi } } -DefineEngineMethod( WheeledVehicle, setWheelSpring, bool, ( S32 wheel, WheeledVehicleSpring* spring ),, +DefineEngineMethod( WheeledVehicle, setWheelSpring, bool, ( S32 wheel, const char* spring ),, "@brief Set the WheeledVehicleSpring datablock for this wheel.\n" "@param wheel index of the wheel to set (hub node #)\n" "@param spring WheeledVehicleSpring datablock\n" @@ -1653,15 +1653,19 @@ DefineEngineMethod( WheeledVehicle, setWheelSpring, bool, ( S32 wheel, WheeledVe "%obj.setWheelSpring( 0, FrontSpring );\n" "@endtsexample\n" ) { - if (spring && wheel >= 0 && wheel < object->getWheelCount()) { - object->setWheelSpring(wheel,spring); - return true; - } - else { - Con::warnf("setWheelSpring: invalid spring datablock or wheel index, vehicle has %d hubs", - object->getWheelCount()); + WheeledVehicleSpring* springObj = NULL; + if (wheel < 0 || wheel > object->getWheelCount()) + { + Con::warnf("setWheelSpring: invalid wheel index %d, vehicle has %d hubs", wheel, object->getWheelCount()); return false; } + else if (!Sim::findObject(spring, springObj)) + { + Con::warnf("setWheelSpring: invalid spring %s", spring); + return false; + } + object->setWheelSpring(wheel, springObj); + return true; } DefineEngineMethod( WheeledVehicle, getWheelCount, S32, (),,