mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-21 20:35:35 +00:00
Merge pull request #495 from JeffProgrammer/tsneo
TorqueScript Interpreter 2.0
This commit is contained in:
commit
6487e2eede
309 changed files with 9842 additions and 10062 deletions
|
|
@ -2574,8 +2574,8 @@ void AssetImporter::importAssets(AssetImportObject* assetItem)
|
|||
processCommand += childItem->assetType;
|
||||
if (isMethod(processCommand.c_str()))
|
||||
{
|
||||
ConsoleValueRef importReturnVal = Con::executef(this, processCommand.c_str(), childItem);
|
||||
assetPath = Torque::Path(importReturnVal.getStringValue());
|
||||
const char* importReturnVal = Con::executef(this, processCommand.c_str(), childItem).getString();
|
||||
assetPath = Torque::Path(importReturnVal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ DefineEngineStringlyVariadicMethod(GameConnection, setConnectArgs, void, 3, 17,
|
|||
|
||||
"@see GameConnection::onConnect()\n\n")
|
||||
{
|
||||
StringStackWrapper args(argc - 2, argv + 2);
|
||||
ConsoleValueToStringArrayWrapper args(argc - 2, argv + 2);
|
||||
object->setConnectArgs(args.count(), args);
|
||||
}
|
||||
|
||||
|
|
@ -373,7 +373,7 @@ void GameConnection::onConnectionEstablished(bool isInitiator)
|
|||
mMoveList->init();
|
||||
const char *argv[MaxConnectArgs + 2];
|
||||
argv[0] = "onConnect";
|
||||
argv[1] = NULL; // Filled in later
|
||||
argv[1] = getIdString();
|
||||
for(U32 i = 0; i < mConnectArgc; i++)
|
||||
argv[i + 2] = mConnectArgv[i];
|
||||
// NOTE: Need to fallback to Con::execute() as IMPLEMENT_CALLBACK does not
|
||||
|
|
@ -493,33 +493,32 @@ bool GameConnection::readConnectRequest(BitStream *stream, const char **errorStr
|
|||
*errorString = "CR_INVALID_ARGS";
|
||||
return false;
|
||||
}
|
||||
ConsoleValueRef connectArgv[MaxConnectArgs + 3];
|
||||
ConsoleValue connectArgvValue[MaxConnectArgs + 3];
|
||||
|
||||
for(U32 i = 0; i < mConnectArgc+3; i++)
|
||||
{
|
||||
connectArgv[i].value = &connectArgvValue[i];
|
||||
connectArgvValue[i].init();
|
||||
}
|
||||
char buffer[256];
|
||||
Net::addressToString(getNetAddress(), buffer);
|
||||
|
||||
ConsoleValue connectArgv[MaxConnectArgs + 3];
|
||||
|
||||
for(U32 i = 0; i < mConnectArgc; i++)
|
||||
{
|
||||
char argString[256];
|
||||
stream->readString(argString);
|
||||
mConnectArgv[i] = dStrdup(argString);
|
||||
connectArgv[i + 3] = mConnectArgv[i];
|
||||
connectArgv[i + 3].setString(argString);
|
||||
}
|
||||
connectArgvValue[0].setStackStringValue("onConnectRequest");
|
||||
connectArgvValue[1].setIntValue(0);
|
||||
char buffer[256];
|
||||
Net::addressToString(getNetAddress(), buffer);
|
||||
connectArgvValue[2].setStackStringValue(buffer);
|
||||
|
||||
connectArgv[0].setStringTableEntry("onConnectRequest");
|
||||
connectArgv[1].setInt(0);
|
||||
connectArgv[2].setString(buffer);
|
||||
|
||||
// NOTE: Cannot convert over to IMPLEMENT_CALLBACK as it has variable args.
|
||||
const char *ret = Con::execute(this, mConnectArgc + 3, connectArgv);
|
||||
if(ret[0])
|
||||
ConsoleValue returnValue = Con::execute(this, mConnectArgc + 3, connectArgv);
|
||||
|
||||
StringTableEntry returnStr = StringTable->insert(returnValue.getString());
|
||||
|
||||
if(returnStr[0])
|
||||
{
|
||||
*errorString = ret;
|
||||
*errorString = returnStr;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
@ -1088,7 +1087,7 @@ bool GameConnection::readDemoStartBlock(BitStream *stream)
|
|||
void GameConnection::demoPlaybackComplete()
|
||||
{
|
||||
static const char* demoPlaybackArgv[1] = { "demoPlaybackComplete" };
|
||||
static StringStackConsoleWrapper demoPlaybackCmd(1, demoPlaybackArgv);
|
||||
static StringArrayToConsoleValueWrapper demoPlaybackCmd(1, demoPlaybackArgv);
|
||||
|
||||
Sim::postCurrentEvent(Sim::getRootGroup(), new SimConsoleEvent(demoPlaybackCmd.argc, demoPlaybackCmd.argv, false));
|
||||
Parent::demoPlaybackComplete();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue