The uninitialized variable 'box' is assigned to itself. Judging from the fact that this is a copy constructor, I think that it is necessary to store in the 'box' the value of 'cv.box'
In an arithmetic expression, all the variables whose values can be represented with type 'int' will be promoted to this type. Therefore, the result of the '~mask' expression is a negative number. By the C++ standard, shifting a negative number to the left leads to an undefined behavior.
'ov_read' function returns a signed long, that is stored in an unsigned integer 'bytesRead'. Comparsion 'bytesRead < 0' doesn't make sense, since an unsigned number >= 0.
If there is needed to prevent the copying of the object, then there is no need to provide the definition of the copy constructor and the assignment operator, because the member functions and friendly functions can still call them. If the code is compiled by a compiler with support for the C++11 standard, you can delete them using the keyword 'delete'
Added implementation to expose two new functionalities from the c++ to Torquescript as requested in issue #1272. Added both a DefineEngineMethod function for getting the count of the number of objects on the turret ignore list and a DefineEngineMethod function for returning a reference to the object on the ignore list at a given index on the ignore list. Also added functions that do each of those things and are then encapsulated by those DefineEngineMethod functions.
Added the definition for the new function created to implement the feature request in issue #1271 to clear the entire ai turret ignore list with one function call.
getTrailingNumber("string") and stripTrailingNumber("string") will now work for single letter cases. For example, getTrailingNumber() will return "11" if the input is "a11" or "t11", and stripTrailingNumber() will return "a" if the input is "a11".
(Code formated to be submitted for pull request) -- Indentation was off.
SAME FIX AS BEFORE
When two instances of Torque3D are running on the same network, one as a
hosted server and the other as a client, the client is unable to connect
to the server. The program now can open a socket. This was obviously a
typo. To find the error I just searched for keywords containing socket,
open, open socket, and opensocket till I found the correct file. The
other error was in how the program processed “non fatal” errors. I just
outputed the error to the main console and devised that the socket
should not be closed for a WSAEWOULDBLOCK error 10035 "It is normal for
WSAEWOULDBLOCK to be reported as the result from calling connect on a
nonblocking SOCK_STREAM socket, since some time must elapse for the
connection to be established."
Read about the WouldBlock error:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx
Use of dbgSetParameters ( port , password ):
http://docs.garagegames.com/tge/official/content/documentation/Reference/Console%20Functions/TorqueScript_Console_Functions_2.html#dbgSetParameters_.28_port_.2C_password_.29
This makes some tweaks to the engine to support this, specifically, it tweaks the hardcoded shaderpaths to defer to a pref variable, so none of the shader paths are hardcoded.
Also tweaks how post effects read in texture files, removing a bizzare filepath interpretation choice, where if the file path didn't start with "/" it forcefully appended the script's file path. This made it impossible to have images not in the same dir as the script file defining the post effect.
This was changed and the existing template's post effects tweaked for now to just add "./" to those few paths impacted, as well as the perf vars to support the non-hardcoded shader paths in the engine.
Also adds a fix to the mesh item tab in the forest editor to correct odd selection behavior that could erroneously cause selection of two items in the list when you only clicked one.