common.h (673B)
1 #pragma once 2 3 #include <rcx/def.h> 4 #include <stdbool.h> 5 #include <stdio.h> 6 7 #define CHECK_FOR_HELP_OPTION(usage_format, argc, argv) \ 8 if ((argc) > 1 && (strcmp((argv)[1], "-h") == 0 \ 9 || strcmp((argv)[1], "--help") == 0)) { \ 10 printf(usage_format, argv[0]); \ 11 return 0; \ 12 } 13 14 typedef struct rgba Rgba; 15 typedef struct image Image; 16 typedef struct sandpile Sandpile; 17 18 struct rgba { 19 u16 r, g, b, a; 20 }; 21 22 struct image { 23 u32 w, h; 24 Rgba *pixels; 25 }; 26 27 struct sandpile { 28 u32 w, h; 29 u32 *sand; 30 }; 31 32 u16 parse_rgba_channel(char *s, bool sixteen); 33 34 void ff_fwrite(FILE *f, Image img); 35 Image ff_fread(FILE *f); 36 37 void sp_fwrite(FILE *f, Sandpile sp); 38 Sandpile sp_fread(FILE *f);