Ejemplo n.º 1
0
bool kgmLuaScript::resl(kgmString fmt, ...)
{
  int args = 0;
  char* f = fmt.data();
  va_list vl;
  va_start(vl, fmt);

  while((*f != '\0') && (args < 128))
  {
    switch(*f)
    {
    case 's':
      push((char*)va_arg(vl, char*));
      break;
    case 'i':
      push((int)va_arg(vl, int));
      break;
    case 'd':
      push((double)va_arg(vl, double));
      break;
    case 'p':
      push((void*)va_arg(vl, void*));
      break;
    }

    f++;
    args++;
  }

  return true;
}
Ejemplo n.º 2
0
void kgmLog::log_(kgmString s)
{
#ifdef ANDROID
    LOGI((char*)s);
#else
    printf("%s", (char*)s.data());
#endif
}
Ejemplo n.º 3
0
bool kgmLuaCall(kgmString name, kgmString fmt, ...){
  lua_getglobal(lua_main, name.data());

  if( !lua_isfunction(lua_main,-1) )
    return false;

  int args = 0;
  int nres = 0;
  char* f = fmt.data();
  va_list vl;
  va_start(vl, fmt);

  while((*f != '\0') && (args < 128)){
    switch(*f){
    case 's':
      kgmLuaPush((char*)va_arg(vl, char*));
      break;
    case 'i':
      kgmLuaPush((int)va_arg(vl, int));
      break;
    case 'd':
      kgmLuaPush((double)va_arg(vl, double));
      break;
    case 'v':
      kgmLuaPush((void*)va_arg(vl, void*));
      break;
    }
    f++;
    args++;
  }

  if(lua_call(lua_main, args, nres))
    return false;

  return true;
}
Ejemplo n.º 4
0
bool kgmLuaScript::args(kgmString fmt, ...)
{
  int args = 0;
  char* f = fmt.data();
  va_list vl;
  va_start(vl, fmt);

  s32 largs = lua_gettop(handler);

  if(largs < 2)
    m_carg = -1;
  else
    m_carg = 1;

  while((*f != '\0') && (args < 128))
  {
    switch(*f)
    {
    case 's':
      pop((char**)va_arg(vl, char**));
      break;
    case 'i':
      pop((int*)va_arg(vl, int*));
      break;
    case 'd':
      pop((double*)va_arg(vl, double*));
      break;
    case 'p':
      pop((void**)va_arg(vl, void**));
      break;
    }

    f++;
    args++;

    if(largs > 1)
      m_carg = args + 1;
  }

  return true;
}
Ejemplo n.º 5
0
bool kgmLuaSet(kgmString name, void* fn){
  lua_register(lua_main, name.data(), (int (*)(lua_State*))fn);

  return true;
}
Ejemplo n.º 6
0
bool kgmLuaRun(kgmString str){
  if(lua_dostring(lua_main, str.data()))
    return false;

  return true;
}
Ejemplo n.º 7
0
bool kgmLuaScript::set(kgmString name, FN fn)
{
  lua_register(handler, name.data(), (int (*)(lua_State*)) fn);

  return true;
}