Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename T>
- int cScriptExec::push_arg(T data, AS_ARG_TYPE type)
- {
- switch(type)
- {
- case AS_BYTE :
- {
- this->argc++;
- return this->ctx->SetArgByte(this->argc-1, *(asBYTE*)data);
- }
- case AS_WORD :
- {
- this->argc++;
- return this->ctx->SetArgWord(this->argc-1, *(asWORD*)data);
- }
- case AS_DWORD :
- {
- this->argc++;
- return this->ctx->SetArgDWord(this->argc-1, *(asDWORD*)data);
- }
- case AS_QWORD :
- {
- this->argc++;
- return this->ctx->SetArgQWord(this->argc-1, *(asQWORD*)data);
- }
- case AS_FLOAT :
- {
- this->argc++;
- return this->ctx->SetArgFloat(this->argc-1, *(float*)data);
- }
- case AS_DOUBLE :
- {
- this->argc++;
- return this->ctx->SetArgDouble(this->argc-1, *(double*)data);
- }
- case AS_ADDRESS :
- {
- this->argc++;
- return this->ctx->SetArgAddress(this->argc-1, *(T*)&data);
- }
- case AS_OBJECT :
- {
- this->argc++;
- return this->ctx->SetArgObject(this->argc-1, *(T*)&data);
- }
- default:
- break;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement