Game Development Community

Torque 3D Beta 1 Bug:TSShapeConstructor don't replicate dynamic modification to clients

by Luis Anton Rebollo · in Torque 3D Professional · 05/19/2009 (11:57 am) · 1 replies

TSShapeConstructor::preload on CLIENT call dynamic modification (console methods) with wrong number of argumments when recive datablock from SERVER.

Change this from 162 Engine/source/ts/tsShapeConstruct.cpp
// Process the console methods passed from the server
      S32 argStart = 0;
      for (S32 i = 0; i < mCmdArgCounts.size(); i++)
      {
         S32 argc = mCmdArgCounts[i];
         const char *argv[32];
         for (S32 j = 0; j < argc; j++)
            argv[j] = mCmdArgs[argStart + j].c_str();

         Con::execute(this, argc, argv);
         argStart += argc;
      }

to
// Process the console methods passed from the server
      S32 argStart = 0;
      for (S32 i = 0; i < mCmdArgCounts.size(); i++)
      {
         S32 argc = mCmdArgCounts[i];
         const char *argv[32];
		 argv[0] = mCmdArgs[argStart].c_str();
		 argv[1] = "";
         for (S32 j = 2; j < argc+1; j++)
            argv[j] = mCmdArgs[argStart + j -1].c_str();

         Con::execute(this, argc+1, argv);
         argStart += argc;
      }

#1
07/06/2009 (3:28 pm)
Hi Luis,

This one should not be a problem from beta3 onwards, since TSShapeConstructor is no longer a datablock (but just a regular simobject), and thus is not transmitted from server to client).