#ifndef CONSTANTS_H #define CONSTANTS_H #include "raylib.h" #ifndef MAX #define MAX(a,b) ( (a) < (b) ? (b) : (a) ) #endif #define VIS_PORTS 16 // Program is able to handle <100 ports. But we never intend anything different than 16 to be honest. #define VIS_PORTS_SQRT 4 //please choose by hand. If not possibe choose the next higher. e.g. 13 ports -> 4² //Pixel values #define NOTE_SMALL_SIDE 14 #define NOTE_LONG_SIDE 20 #define NOTE_BORDER 4 //halved for left/right padding. the NOTE sides already include the border. #define NOTE_GAP 3 //For GUI #define HEIGHT 25 #define SPACING 35 typedef struct { // C-N00b: using typedef lets us type Note nt; or (Note){...} instead of struct Note. int active; int port; int x; int y; int pitch; int velocity; //converted to color, size etc. by raylib float countdown; //0.0f is not existent, 1 is permanently visible, everything between is the fade out process with auto-decrement. To start the timer set to 0.999 or so } Note; enum { //ports are 0-15 background=VIS_PORTS+0, backgroundLight=VIS_PORTS+1, backgroundLighter=VIS_PORTS+2, }; enum { //Layers in order. layerIndex_notes, layerIndex_effects, layerIndex_sprites, layerIndex_count, //last one }; #endif // not defined CONSTANTS_H