finish up plugin architecture
[csRadar.git] / csRadar.h
1 #include <stdint.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <string.h>
5 #include <math.h>
6 #include <time.h>
7 #include <stdarg.h>
8
9 // CSR lib
10 #include "csrLog.h" // Y
11 #include "csrOpt.h" // Y
12 #include "csrTypes.h" // Y
13 #include "csrMath.h" // Y
14 #include "csrMem.h" // Y
15 #include "csrIO.h" // Y
16 #include "csrComb.h" // Y
17 #include "csrPlatform.h" // Y
18
19 // Valve formats
20 #include "vdf.h" // Y
21 #include "vpk.h" // Y
22 #include "vfilesys.h" // Y
23
24 #include "vmdl.h" // Y
25 #include "vmf.h" // Y
26
27 // Drawing
28 #ifdef CSR_EXECUTABLE
29 #include "csr32f.h"
30 //#include "csrTga.h"
31 #endif
32
33 #include "csrDraw.h" // Y
34
35 static const u32 csr_build = 3;
36 static const u32 csr_api_version = 1;
37
38 typedef struct csr_api csr_api;
39 struct csr_api
40 {
41 // Floating arguments from main's argv
42 char *strings[ 20 ];
43 int num_strings;
44
45 float padding;
46 u32 resolution;
47 int write_txt;
48 char output_path[ 512 ]; // Full path eg. /home/harry/my_map.vmf
49 char vmf_name[ 128 ]; // Just the base name eg. my_map
50 EMSAA sampling_mode;
51
52 // Main API interface
53 vmf_map *map;
54 csr_target target;
55
56 u32 api_version;
57 };
58
59 #ifndef CSR_EXECUTABLE
60 static int csr_init( csr_api *api )
61 {
62 if( api->api_version > csr_api_version )
63 {
64 log_warn( "API Version out of date. Host: %u, Plugin: %u\n", api->api_version, csr_api_version );
65 return 0;
66 }
67
68 return 1;
69 }
70 #endif