35 free(map); |
35 free(map); |
36 } |
36 } |
37 } |
37 } |
38 |
38 |
39 flib_map *flib_map_create_regular(const char *seed, const char *theme, int templateFilter) { |
39 flib_map *flib_map_create_regular(const char *seed, const char *theme, int templateFilter) { |
40 flib_map *result = NULL; |
40 if(log_badargs_if2(seed==NULL, theme==NULL)) { |
41 if(!seed || !theme) { |
41 return NULL; |
42 flib_log_e("null parameter in flib_map_create_regular"); |
|
43 } else { |
|
44 flib_map newmap = {0}; |
|
45 newmap.mapgen = MAPGEN_REGULAR; |
|
46 newmap.name = "+rnd+"; |
|
47 newmap.seed = (char*)seed; |
|
48 newmap.theme = (char*)theme; |
|
49 newmap.templateFilter = templateFilter; |
|
50 result = flib_map_copy(&newmap); |
|
51 } |
42 } |
52 return result; |
43 flib_map newmap = {0}; |
|
44 newmap.mapgen = MAPGEN_REGULAR; |
|
45 newmap.name = "+rnd+"; |
|
46 newmap.seed = (char*)seed; |
|
47 newmap.theme = (char*)theme; |
|
48 newmap.templateFilter = templateFilter; |
|
49 return flib_map_copy(&newmap); |
53 } |
50 } |
54 |
51 |
55 flib_map *flib_map_create_maze(const char *seed, const char *theme, int mazeSize) { |
52 flib_map *flib_map_create_maze(const char *seed, const char *theme, int mazeSize) { |
56 flib_map *result = NULL; |
53 if(log_badargs_if2(seed==NULL, theme==NULL)) { |
57 if(!seed || !theme) { |
54 return NULL; |
58 flib_log_e("null parameter in flib_map_create_maze"); |
|
59 } else { |
|
60 flib_map newmap = {0}; |
|
61 newmap.mapgen = MAPGEN_MAZE; |
|
62 newmap.name = "+maze+"; |
|
63 newmap.seed = (char*)seed; |
|
64 newmap.theme = (char*)theme; |
|
65 newmap.mazeSize = mazeSize; |
|
66 result = flib_map_copy(&newmap); |
|
67 } |
55 } |
68 return result; |
56 flib_map newmap = {0}; |
|
57 newmap.mapgen = MAPGEN_MAZE; |
|
58 newmap.name = "+maze+"; |
|
59 newmap.seed = (char*)seed; |
|
60 newmap.theme = (char*)theme; |
|
61 newmap.mazeSize = mazeSize; |
|
62 return flib_map_copy(&newmap); |
69 } |
63 } |
70 |
64 |
71 flib_map *flib_map_create_named(const char *seed, const char *name) { |
65 flib_map *flib_map_create_named(const char *seed, const char *name) { |
72 flib_map *result = NULL; |
66 if(log_badargs_if2(seed==NULL, name==NULL)) { |
73 if(!seed || !name) { |
67 return NULL; |
74 flib_log_e("null parameter in flib_map_create_named"); |
|
75 } else { |
|
76 flib_map newmap = {0}; |
|
77 newmap.mapgen = MAPGEN_NAMED; |
|
78 newmap.name = (char*)name; |
|
79 newmap.seed = (char*)seed; |
|
80 result = flib_map_copy(&newmap); |
|
81 } |
68 } |
82 return result; |
69 flib_map newmap = {0}; |
|
70 newmap.mapgen = MAPGEN_NAMED; |
|
71 newmap.name = (char*)name; |
|
72 newmap.seed = (char*)seed; |
|
73 return flib_map_copy(&newmap); |
83 } |
74 } |
84 |
75 |
85 flib_map *flib_map_create_drawn(const char *seed, const char *theme, const uint8_t *drawData, int drawDataSize) { |
76 flib_map *flib_map_create_drawn(const char *seed, const char *theme, const uint8_t *drawData, size_t drawDataSize) { |
86 flib_map *result = NULL; |
77 if(log_badargs_if3(seed==NULL, theme==NULL, drawData==NULL && drawDataSize>0)) { |
87 if(!seed || !theme || (!drawData && drawDataSize)) { |
78 return NULL; |
88 flib_log_e("null parameter in flib_map_create_drawn"); |
|
89 } else { |
|
90 flib_map newmap = {0}; |
|
91 newmap.mapgen = MAPGEN_DRAWN; |
|
92 newmap.name = "+drawn+"; |
|
93 newmap.seed = (char*)seed; |
|
94 newmap.theme = (char*)theme; |
|
95 newmap.drawData = (uint8_t*) drawData; |
|
96 newmap.drawDataSize = drawDataSize; |
|
97 result = flib_map_copy(&newmap); |
|
98 } |
79 } |
99 return result; |
80 flib_map newmap = {0}; |
|
81 newmap.mapgen = MAPGEN_DRAWN; |
|
82 newmap.name = "+drawn+"; |
|
83 newmap.seed = (char*)seed; |
|
84 newmap.theme = (char*)theme; |
|
85 newmap.drawData = (uint8_t*) drawData; |
|
86 newmap.drawDataSize = drawDataSize; |
|
87 return flib_map_copy(&newmap); |
100 } |
88 } |
101 |
89 |
102 flib_map *flib_map_copy(const flib_map *map) { |
90 flib_map *flib_map_copy(const flib_map *map) { |
103 flib_map *result = NULL; |
91 flib_map *result = NULL; |
104 if(map) { |
92 if(map) { |