X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fmorpheus.git;a=blobdiff_plain;f=defines.h;h=3473e3067566ff9a6c8d670173246b6f34b663a1;hp=58e758d25b82aee1b4590cdc96121b4553991d95;hb=HEAD;hpb=3ec676caee02b75707e472b0294e8be51aab4c42 diff --git a/defines.h b/defines.h index 58e758d..3473e30 100644 --- a/defines.h +++ b/defines.h @@ -5,6 +5,12 @@ * */ +#ifdef USE_DFB_API +#include +#endif + +#define NOT_SPECIFIED 0 + #define DEFAULT_X_SEG 50 #define DEFAULT_Y_SEG 50 #define DEFAULT_Z_SEG 100 @@ -12,34 +18,72 @@ #define DEFAULT_SLOPE_NEL 1 #define DEFAULT_START_NEL 0 +#define DEFAULT_A_P_RANGE 3 +#define DEFAULT_A_P_FAKTOR 0.2 +#define DEFAULT_A_P_P0 0.2 + +#define DEFAULT_C_DIST_START_CONC 0 +#define DEFAULT_C_DIST_SLOPE 1 +#define DEFAULT_C_C0 500000 + #define DEFAULT_STEPS 5000 -/* program defines, dont touch ;) */ +#define RAND_BUF_SIZE 64*1048576 /* 64 MB */ -#ifdef DEBUG - #define DEBUG 1 -#else - #define DEBUG 0 -#endif +/* program defines, dont touch ;) */ #define URAND_MAX 0xffffffff +#define URAND_2BYTE_MAX 0xffff + +#define MAX_CHARS_RANDOM_FILE 64 +#define MAX_CHARS_SAVE_FILE 64 +#define MAX_CHARS_LOAD_FILE 64 typedef unsigned int u32; typedef long long unsigned int u64; -#define printfd(fmt,args...) if(DEBUG) printf(fmt,##args); +typedef struct __cell { + unsigned char status; /* amorph or cryst status */ + u32 conc; /* c concentration */ +} cell; -/* segment struct - * - * not used by now - */ -struct __segment -{ - u32 status; /* C concentration */ -} - -/* masks for u32 segments */ -#define AMORPH 0x00000001 -#define CRYSTAL 0x00000000 -#define C_CONC_MASK 0xfffffffe +#ifdef DEBUG + #define DEBUG_IT 1 +#else + #define DEBUG_IT 0 +#endif + +#define printfd(fmt,args...) if(DEBUG_IT) printf(fmt,##args); + +/* display stuff */ +typedef struct __display { + int step; /* display step */ + u32 max_x,max_y,max_z; /* dimensions */ + cell *cell_p; /* pointer to cell data */ +#ifdef USE_DFB_API + IDirectFB *dfb; /* pointer to dfb main construct */ + IDirectFBSurface *primary_surface; /* pointer to dfb primary surface */ + IDirectFBFont *font; /* the font */ + IDirectFBInputDevice *keyboard; /* for keyboard input */ + IDirectFBEventBuffer *keyboard_buffer; /* event buffer */ +#endif + int screen_height,screen_width; /* screen dimensions */ +} display; + +#define DEFAULT_DISPLAY_REF_RATE 100 + +#define DISPLAY_X_FREE 15 +#define DISPLAY_Y_FREE 15 + +// defined by Makefile now +// #define DISPLAY_FONT "./decker.ttf" + +#define MAX_TXT 20 + +/* masks for u32 cell */ +#define AMORPH 0x01 +#define CRYSTAL 0x00 +#define NAMORPH 0xfe +#define NCRYSTAL 0xff +#define C_CONC_MASK 0xffffffff