Pārlūkot izejas kodu

Merge pull request #577 from JeffProgrammer/ts-objectcopyfailures

Reimplement object copy failures.
Brian Roberts 4 gadi atpakaļ
vecāks
revīzija
328319b853

+ 6 - 1
Engine/source/console/compiledEval.cpp

@@ -142,6 +142,7 @@ namespace Con
    // console variables.
    extern StringTableEntry gCurrentFile;
    extern StringTableEntry gCurrentRoot;
+   extern S32 gObjectCopyFailures;
 }
 
 namespace Con
@@ -972,7 +973,11 @@ ConsoleValue CodeBlock::exec(U32 ip, const char* functionName, Namespace* thisNa
                }
                else
                {
-                  Con::errorf(ConsoleLogEntry::General, "%s: Unable to find parent object %s for %s.", getFileLine(ip - 1), objParent, callArgv[1].getString());
+                  if (Con::gObjectCopyFailures == -1)
+                     Con::errorf(ConsoleLogEntry::General, "%s: Unable to find parent object %s for %s.", getFileLine(ip - 1), objParent, callArgv[1].getString());
+                  else
+                     ++Con::gObjectCopyFailures;
+
                   delete object;
                   currentNewObject = NULL;
                   ip = failJump;

+ 4 - 0
Engine/source/console/console.cpp

@@ -300,6 +300,7 @@ Con::ConsoleInputEvent smConsoleInput;
 ///
 StringTableEntry gCurrentFile;
 StringTableEntry gCurrentRoot;
+S32 gObjectCopyFailures = -1;
 /// @}
 
 bool alwaysUseDebugOutput = true;
@@ -373,6 +374,9 @@ void init()
       "@ingroup Console\n");
    addVariable( "instantGroup", TypeRealString, &gInstantGroup, "The group that objects will be added to when they are created.\n"
       "@ingroup Console\n");
+   addVariable("Con::objectCopyFailures", TypeS32, &gObjectCopyFailures, "If greater than zero then it counts the number of object creation "
+      "failures based on a missing copy object and does not report an error..\n"
+      "@ingroup Console\n");
 
    // Current script file name and root
    addVariable( "Con::File", TypeString, &gCurrentFile, "The currently executing script file.\n"