Переглянути джерело

Fix DSOs and bump version!

Jeff Hutchinson 4 роки тому
батько
коміт
478a04bea8

+ 2 - 6
Engine/source/console/codeBlock.cpp

@@ -412,17 +412,13 @@ bool CodeBlock::read(StringTableEntry fileName, Stream &st)
    {
       for (i = 0; i < size; i++)
       {
-         char functionNameBuffer[256];
-         st.readString(functionNameBuffer);
-         StringTableEntry fnName = StringTable->insert(functionNameBuffer);
+         StringTableEntry fnName = st.readSTString();
 
          U32 count;
          st.read(&count);
          for (U32 j = 0; j < count; j++)
          {
-            char varNameBuffer[256];
-            st.readString(varNameBuffer);
-            StringTableEntry varName = StringTable->insert(varNameBuffer);
+            StringTableEntry varName = st.readSTString();
 
             variableRegisterTable.localVarToRegister[fnName].varList.push_back(varName);
          }

+ 6 - 2
Engine/source/console/compiler.cpp

@@ -253,16 +253,20 @@ void CompilerLocalVariableToRegisterMappingTable::reset()
 
 void CompilerLocalVariableToRegisterMappingTable::write(Stream& stream)
 {
-   stream.write(localVarToRegister.size());
+   stream.write((U32)localVarToRegister.size());
+
    for (const auto& pair : localVarToRegister)
    {
       StringTableEntry functionName = pair.first;
       stream.writeString(functionName);
 
       const auto& localVariableTableForFunction = localVarToRegister[functionName].varList;
-      stream.write(localVariableTableForFunction.size());
+      stream.write((U32)localVariableTableForFunction.size());
+
       for (const StringTableEntry& varName : localVariableTableForFunction)
+      {
          stream.writeString(varName);
+      }
    }
 }
 

+ 2 - 1
Engine/source/console/console.h

@@ -496,7 +496,8 @@ namespace Con
       /// 10/14/14 - jamesu - 47->48 Added opcodes to reduce reliance on strings in function calls
       /// 10/07/17 - JTH - 48->49 Added opcode for function pointers and revamp of interpreter 
       ///                         from switch to function calls.
-      DSOVersion = 49,
+      /// 09/04/21 - JTH - 49->50 Rewrite of interpreter
+      DSOVersion = 50,
 
       MaxLineLength = 512,  ///< Maximum length of a line of console input.
       MaxDataTypes = 256    ///< Maximum number of registered data types.