mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 03:33:48 +00:00
Beginnings of the "pass everything using a native type wrapper" console code.
- ConsoleValue class is now the base value class. - ConsoleValueRef is now used to supply function parameters. Values are disposable. - Script functions return values instead of just strings where possible. - Variables can be disposable strings - Bytecode changed Fix the issues with console method parameters and fields which prevented missions from loading.
This commit is contained in:
parent
394d87cd54
commit
38c8e52c1d
68 changed files with 1511 additions and 529 deletions
|
|
@ -76,7 +76,7 @@ extern "C" {
|
|||
if (!entry)
|
||||
return "";
|
||||
|
||||
const char* argv[] = {"consoleExportXML", 0};
|
||||
ConsoleValueRef argv[] = {"consoleExportXML"};
|
||||
|
||||
return entry->cb.mStringCallbackFunc(NULL, 1, argv);
|
||||
}
|
||||
|
|
@ -215,7 +215,8 @@ extern "C" {
|
|||
return "";
|
||||
}
|
||||
|
||||
return entry->cb.mStringCallbackFunc(o, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mStringCallbackFunc(o, args.count(), args);
|
||||
}
|
||||
|
||||
bool script_call_namespace_entry_bool(Namespace::Entry* entry, S32 argc, const char** argv)
|
||||
|
|
@ -233,7 +234,8 @@ extern "C" {
|
|||
return "";
|
||||
}
|
||||
|
||||
return entry->cb.mBoolCallbackFunc(o, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mBoolCallbackFunc(o, args.count(), args);
|
||||
}
|
||||
|
||||
S32 script_call_namespace_entry_int(Namespace::Entry* entry, S32 argc, const char** argv)
|
||||
|
|
@ -251,7 +253,8 @@ extern "C" {
|
|||
return 0;
|
||||
}
|
||||
|
||||
return entry->cb.mIntCallbackFunc(o, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mIntCallbackFunc(o, args.count(), args);
|
||||
}
|
||||
|
||||
F32 script_call_namespace_entry_float(Namespace::Entry* entry, S32 argc, const char** argv)
|
||||
|
|
@ -269,7 +272,8 @@ extern "C" {
|
|||
return 0.0f;
|
||||
}
|
||||
|
||||
return entry->cb.mFloatCallbackFunc(o, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mFloatCallbackFunc(o, args.count(), args);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -288,7 +292,8 @@ extern "C" {
|
|||
return;
|
||||
}
|
||||
|
||||
entry->cb.mVoidCallbackFunc(o, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
entry->cb.mVoidCallbackFunc(o, args.count(), args);
|
||||
}
|
||||
|
||||
int script_simobject_get_id(SimObject* so)
|
||||
|
|
|
|||
|
|
@ -262,7 +262,8 @@ extern "C" {
|
|||
if (!entry)
|
||||
return;
|
||||
|
||||
entry->cb.mVoidCallbackFunc(NULL, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
entry->cb.mVoidCallbackFunc(NULL, args.count(), args);
|
||||
}
|
||||
|
||||
F32 torque_callfloatfunction(const char* nameSpace, const char* name, S32 argc, const char ** argv)
|
||||
|
|
@ -273,7 +274,8 @@ extern "C" {
|
|||
if (!entry)
|
||||
return 0.0f;
|
||||
|
||||
return entry->cb.mFloatCallbackFunc(NULL, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mFloatCallbackFunc(NULL, args.count(), args);
|
||||
}
|
||||
|
||||
S32 torque_callintfunction(const char* nameSpace, const char* name, S32 argc, const char ** argv)
|
||||
|
|
@ -284,7 +286,8 @@ extern "C" {
|
|||
if (!entry)
|
||||
return 0;
|
||||
|
||||
return entry->cb.mIntCallbackFunc(NULL, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mIntCallbackFunc(NULL, args.count(), args);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -295,7 +298,8 @@ extern "C" {
|
|||
if (!entry)
|
||||
return "";
|
||||
|
||||
return entry->cb.mStringCallbackFunc(NULL, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mStringCallbackFunc(NULL, args.count(), args);
|
||||
}
|
||||
|
||||
bool torque_callboolfunction(const char* nameSpace, const char* name, S32 argc, const char ** argv)
|
||||
|
|
@ -305,7 +309,8 @@ extern "C" {
|
|||
if (!entry)
|
||||
return "";
|
||||
|
||||
return entry->cb.mBoolCallbackFunc(NULL, argc, argv);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
return entry->cb.mBoolCallbackFunc(NULL, args.count(), args);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -319,7 +324,8 @@ extern "C" {
|
|||
if(!entry->mFunctionOffset)
|
||||
return "";
|
||||
|
||||
const char* ret = entry->mCode->exec(entry->mFunctionOffset, StringTable->insert(name), entry->mNamespace, argc, argv, false, entry->mPackage);
|
||||
StringStackConsoleWrapper args(argc, argv);
|
||||
const char* ret = entry->mCode->exec(entry->mFunctionOffset, StringTable->insert(name), entry->mNamespace, args.count(), args, false, entry->mPackage);
|
||||
|
||||
if (!ret || !dStrlen(ret))
|
||||
return "";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue