1
0
mirror of https://github.com/abakh/nbsdgames.git synced 2024-11-02 16:27:18 -04:00
nbsdgames/config.h

60 lines
1.5 KiB
C
Raw Normal View History

2020-09-12 06:38:45 -04:00
//for easier access
2021-07-18 18:33:20 -04:00
#ifndef CONFIG_H
#define CONFIG_H
2020-09-12 06:38:45 -04:00
//the default scorefiles
2021-04-29 19:05:16 -04:00
#ifndef SCORES_DIR
#ifdef Plan9
#define SCORES_DIR "/sys/lib/games/"
#else
#define SCORES_DIR "/var/games/"
#endif
#endif //SCORES_DIR
2020-09-12 06:38:45 -04:00
#ifdef Plan9
#define NO_VLA
//Many ancient compilers don't have VLA support, including the Plan9 compiler
//thought it would be nicer if it had its own flag instead of Plan9.
#endif
//#define NO_MOUSE
//it seems there wasn't mouse support in original curses, and the variants
//developed it indepedently, use if mouse doesn't work in your variant (e.g. BSD curses)
2021-01-05 19:38:00 -05:00
#include <stdlib.h>
#include <unistd.h>
2020-09-12 06:38:45 -04:00
#ifdef __unix__
#define rand() random()
#define srand(x) srandom(x)
//At the time of writing, NetBSD's rand() is damn stupid.
//rand()%4 constantly gives 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3.
#endif
2021-01-05 19:38:00 -05:00
2020-09-12 06:38:45 -04:00
// It seems usleep is obsoleted in favor of nanosleep,
// and some POSIX implementations lack it. but i refuse
// to end using it! what the hell, filling a struct for
// something as trivial as sleeping 0.1 seconds??
// the function is written by Jens Staal for Plan9
2021-01-05 19:38:00 -05:00
#ifdef Plan9
int microsleep(long usec){
int second = usec/1000000;
long nano = usec*1000 - second*1000000;
struct timespec sleepy = {0};
sleepy.tv_sec = second;
sleepy.tv_nsec = nano;
nanosleep(&sleepy, (struct timespec *) NULL);
return 0;
}
#define usleep(x) microsleep(x)
#endif
2021-07-18 17:39:29 -04:00
typedef signed char byte;
#ifndef M_PI //i don't know why tf, but it happens
#define M_PI 3.1415
#endif
2021-07-18 18:33:20 -04:00
#endif //CONFIG_H