Esempio n. 1
0
const char *NAMESPACE::File::adaptPath      (const char *path)
{
  const int N = 2048;
  static char buffer[N];
  sl_assert(path != NULL);
  int c = 0;
#ifdef WIN32
  while (path[c] != '\0') {
    buffer[c] = path[c];
    if (buffer[c] == '/') { buffer[c] = '\\'; }
    c++;
    sl_assert(c < N);
  };
  buffer[c] = '\0';
#else
  while (path[c] != '\0') {
    buffer[c] = path[c];
    if (buffer[c] == '\\') { buffer[c] = '/'; }
    c++;
    sl_assert(c < N);
  };
  buffer[c] = '\0';
#endif
  return buffer;
}
Esempio n. 2
0
t_time NAMESPACE::Time::milliseconds()
{
#ifdef WIN32

  static bool   init = false;
  static t_time freq;
  if (!init) { // TODO / FIXME move into a global timer init ?
    init = true;
    LARGE_INTEGER lfreq;
    sl_assert(QueryPerformanceFrequency(&lfreq) != 0);
    freq = t_time(lfreq.QuadPart);
  }
  LARGE_INTEGER tps;
  QueryPerformanceCounter(&tps);
  return t_time(t_time(tps.QuadPart)*1000/freq);

#else

  struct timeval        now;
  uint                  ticks;
  static struct timeval start;

  static bool           init=false;
  if (!init) { // TODO / FIXME move into a global timer init ?
    gettimeofday(&start, NULL);
    init=true;
  }

  gettimeofday(&now, NULL);
  uint ms=uint((now.tv_sec-start.tv_sec)*1000+(now.tv_usec-start.tv_usec)/1000);
  return (ms);

#endif
}
Esempio n. 3
0
void    NAMESPACE::File::createDirectory(const char *path)
{
  sl_assert(path != NULL);
#ifdef WIN32
  CreateDirectoryA(path,NULL);
#else
  mkdir(path,S_IRUSR|S_IWUSR|S_IXUSR);
#endif
}
Esempio n. 4
0
long NAMESPACE::File::size(const char *path)
{
  FILE *f = NULL;
  fopen_s(&f,path,"rb");
  sl_assert(f != NULL);
  fseek(f,0,SEEK_END);
  long fsize = ftell(f);
  fclose(f);
  return fsize;
}
Esempio n. 5
0
long long NAMESPACE::Time::ticks()
{
#ifdef WIN32

  return rdtsc();

#else

  sl_assert(false);
  return 0;

#endif
}
Esempio n. 6
0
static float select(NAMESPACE::Trackball::e_Direction dir, v3f v)
{
  switch (dir)
  {
  case NAMESPACE::Trackball::X_pos: return  v[0]; break;
  case NAMESPACE::Trackball::X_neg: return  v[0]; break;
  case NAMESPACE::Trackball::Y_pos: return  v[1]; break;
  case NAMESPACE::Trackball::Y_neg: return  v[1]; break;
  case NAMESPACE::Trackball::Z_pos: return  v[2]; break;
  case NAMESPACE::Trackball::Z_neg: return  v[2]; break;
  };
  sl_assert(false);
  return 0;
}
Esempio n. 7
0
static v3f dir2v3f(NAMESPACE::Trackball::e_Direction dir)
{
  switch (dir)
  {
  case NAMESPACE::Trackball::X_pos: return V3F(1, 0, 0); break;
  case NAMESPACE::Trackball::X_neg: return V3F(-1, 0, 0); break;
  case NAMESPACE::Trackball::Y_pos: return V3F(0, 1, 0); break;
  case NAMESPACE::Trackball::Y_neg: return V3F(0, -1, 0); break;
  case NAMESPACE::Trackball::Z_pos: return V3F(0, 0, 1); break;
  case NAMESPACE::Trackball::Z_neg: return V3F(0, 0, -1); break;
  };
  sl_assert(false);
  return v3f(0);
}
Esempio n. 8
0
double NAMESPACE::Time::microseconds()
{
#ifdef WIN32

  static bool          init = false;
  static LARGE_INTEGER freq;
  if (!init) { // TODO / FIXME move into a global timer init ?
    init   = true;
    BOOL b = QueryPerformanceFrequency(&freq);
    sl_assert(b != 0);
  }
  LARGE_INTEGER tps;
  QueryPerformanceCounter(&tps);

  return tps.QuadPart * (1000000.0 / freq.QuadPart);

#else

  sl_assert(false);
  return 0;
  /*
  struct timeval        now;
  uint                  ticks;
  static struct timeval start;

  static bool           init=false;
  if (!init) { // TODO / FIXME move into a global timer init ?
    gettimeofday(&start, NULL);
    init=true;
  }

  gettimeofday(&now, NULL);
  uint ms=uint((now.tv_sec-start.tv_sec)*1000+(now.tv_usec-start.tv_usec)/1000);
  return (ms);
  */
#endif
}
Esempio n. 9
0
static void del_node(void *p)
{
    node_s *prev, *next;
    
    prev = head;
    next = head->next;

    while (next != 0)
    {
        if (next->p == p)
        {
            prev->next = next->next;
            slc_free(next);
            return;
        }

        prev = next;
        next = next->next;
    }

    /* fail to find the pointer. please verify where the pointer from. */
    sl_assert(1);
}