Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. template<typename T>
  2. int cScriptExec::push_arg(T data, AS_ARG_TYPE type)
  3. {
  4.     switch(type)
  5.     {
  6.         case AS_BYTE :
  7.         {
  8.             this->argc++;
  9.             return this->ctx->SetArgByte(this->argc-1, *(asBYTE*)data);
  10.         }
  11.         case AS_WORD :
  12.         {
  13.             this->argc++;
  14.             return this->ctx->SetArgWord(this->argc-1, *(asWORD*)data);
  15.         }
  16.         case AS_DWORD :
  17.         {
  18.             this->argc++;
  19.             return this->ctx->SetArgDWord(this->argc-1, *(asDWORD*)data);
  20.         }
  21.         case AS_QWORD :
  22.         {
  23.             this->argc++;
  24.             return this->ctx->SetArgQWord(this->argc-1, *(asQWORD*)data);
  25.         }
  26.         case AS_FLOAT :
  27.         {
  28.             this->argc++;
  29.             return this->ctx->SetArgFloat(this->argc-1, *(float*)data);
  30.         }
  31.         case AS_DOUBLE :
  32.         {
  33.             this->argc++;
  34.             return this->ctx->SetArgDouble(this->argc-1, *(double*)data);
  35.         }
  36.         case AS_ADDRESS :
  37.         {
  38.             this->argc++;
  39.             return this->ctx->SetArgAddress(this->argc-1, *(T*)&data);
  40.         }
  41.         case AS_OBJECT :
  42.         {
  43.             this->argc++;
  44.             return this->ctx->SetArgObject(this->argc-1, *(T*)&data);
  45.         }
  46.         default:
  47.             break;
  48.     }
  49.     return -1;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement