Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c5ab7b44e | |||
| 022b403670 | |||
| 3d384416fa | |||
| 61d1b0f7e4 | |||
| 2a8c296b63 | |||
| 3146507c62 | |||
| 112c6738c4 | |||
| 8629b2ff05 | |||
| c8ac15891e |
@@ -22,3 +22,14 @@ time: build
|
|||||||
.PHONY: valgrind
|
.PHONY: valgrind
|
||||||
valgrind: build
|
valgrind: build
|
||||||
valgrind --leak-check=full -s ./build/$(TARGET) $(TEST_ARGS)
|
valgrind --leak-check=full -s ./build/$(TARGET) $(TEST_ARGS)
|
||||||
|
|
||||||
|
.PHONY: release
|
||||||
|
release: clean build time
|
||||||
|
@echo -n "Version (x.y.z): "
|
||||||
|
@read VERSION; \
|
||||||
|
sed -i "s/#define VERSION.*/#define VERSION \"v$$VERSION\"/g" ./src/const.h; \
|
||||||
|
git add ./src/const.h; \
|
||||||
|
git diff origin/master; \
|
||||||
|
git commit -m "$(TARGET) v$$VERSION"; \
|
||||||
|
git tag v$$VERSION -m "$(TARGET) v$$VERSION"
|
||||||
|
@echo updated ./src/const.h and tagged version
|
||||||
|
|||||||
@@ -35,11 +35,12 @@ options:
|
|||||||
-s, --slope slope [0-255] (default: random)
|
-s, --slope slope [0-255] (default: random)
|
||||||
-c, --color base color [0-255,0-255,0-255] (default: random)
|
-c, --color base color [0-255,0-255,0-255] (default: random)
|
||||||
-v, --variation base variation [0-255,0-255,0-255] (default: random)
|
-v, --variation base variation [0-255,0-255,0-255] (default: random)
|
||||||
-m, --monochrome black & white generation
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
- monochrome
|
- fix monochrome
|
||||||
- select corner (currently bottom left)
|
- select corner (currently bottom left)
|
||||||
- better starting parameters for convergeance
|
- better starting parameters for convergeance
|
||||||
|
- add range arg for variation
|
||||||
|
- add timer
|
||||||
+18
-10
@@ -21,7 +21,9 @@ void print_help(int status_code) {
|
|||||||
"[-s=SLOPE] "
|
"[-s=SLOPE] "
|
||||||
"[-c=R,G,B] "
|
"[-c=R,G,B] "
|
||||||
"[--var=R,G,B] "
|
"[--var=R,G,B] "
|
||||||
"[-m]\n\n"
|
"[-vr=VAR_RANGE]"
|
||||||
|
// "[-m]"
|
||||||
|
"\n\n"
|
||||||
"generate a marble-like pattern bitmap image, blazing fast.\n\n"
|
"generate a marble-like pattern bitmap image, blazing fast.\n\n"
|
||||||
"options:\n"
|
"options:\n"
|
||||||
" --help show this help message and exit\n"
|
" --help show this help message and exit\n"
|
||||||
@@ -33,9 +35,11 @@ void print_help(int status_code) {
|
|||||||
" -p, --pixel pixel size (default: random)\n"
|
" -p, --pixel pixel size (default: random)\n"
|
||||||
" -s, --slope slope [0-255] (default: random)\n"
|
" -s, --slope slope [0-255] (default: random)\n"
|
||||||
" -c, --color base color [0-255,0-255,0-255] (default: random)\n"
|
" -c, --color base color [0-255,0-255,0-255] (default: random)\n"
|
||||||
" -v, --variation base variation [0-255,0-255,0-255] (default: "
|
" -va, --variation fixed variation [0-255,0-255,0-255] (default: "
|
||||||
"random)\n"
|
"random)\n"
|
||||||
" -m, --monochrome black & white generation");
|
" -vr, --var-range random variation range [0-255] (default: 30)\n"
|
||||||
|
// " -m, --monochrome black & white generation\n"
|
||||||
|
);
|
||||||
exit(status_code);
|
exit(status_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +125,8 @@ parameters parse_args(int argc, char **argv) {
|
|||||||
params.file_path = "output.bmp";
|
params.file_path = "output.bmp";
|
||||||
params.monochrome = false;
|
params.monochrome = false;
|
||||||
|
|
||||||
|
unsigned char var_range = 30;
|
||||||
|
|
||||||
bool size_set = false;
|
bool size_set = false;
|
||||||
bool slope_set = false;
|
bool slope_set = false;
|
||||||
bool start_set = false;
|
bool start_set = false;
|
||||||
@@ -171,11 +177,13 @@ parameters parse_args(int argc, char **argv) {
|
|||||||
} else if (is_arg(arg, "-c") || is_arg(arg, "--color")) {
|
} else if (is_arg(arg, "-c") || is_arg(arg, "--color")) {
|
||||||
parse_color(arg, value, params.start);
|
parse_color(arg, value, params.start);
|
||||||
start_set = true;
|
start_set = true;
|
||||||
} else if (is_arg(arg, "-v") || is_arg(arg, "--variation")) {
|
} else if (is_arg(arg, "-va") || is_arg(arg, "--variation")) {
|
||||||
parse_color(arg, value, params.var);
|
parse_color(arg, value, params.var);
|
||||||
var_set = true;
|
var_set = true;
|
||||||
} else if (is_arg(arg, "-m") || is_arg(arg, "--monochrome")) {
|
} else if (is_arg(arg, "-vr") || is_arg(arg, "--var-range")) {
|
||||||
params.monochrome = true;
|
var_range = parse_char(arg, value);
|
||||||
|
// } else if (is_arg(arg, "-m") || is_arg(arg, "--monochrome")) {
|
||||||
|
// params.monochrome = true;
|
||||||
} else {
|
} else {
|
||||||
invalid_arg(arg);
|
invalid_arg(arg);
|
||||||
}
|
}
|
||||||
@@ -189,7 +197,7 @@ parameters parse_args(int argc, char **argv) {
|
|||||||
set_seed(params.seed);
|
set_seed(params.seed);
|
||||||
|
|
||||||
if (!size_set) {
|
if (!size_set) {
|
||||||
params.size = rand_ushort(10) + 3;
|
params.size = rand_ushort(6) + 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!slope_set) {
|
if (!slope_set) {
|
||||||
@@ -203,9 +211,9 @@ parameters parse_args(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!var_set) {
|
if (!var_set) {
|
||||||
params.var[0] = rand_uchar(20);
|
params.var[0] = rand_uchar(var_range);
|
||||||
params.var[1] = rand_uchar(20);
|
params.var[1] = rand_uchar(var_range);
|
||||||
params.var[2] = rand_uchar(20);
|
params.var[2] = rand_uchar(var_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
return params;
|
return params;
|
||||||
|
|||||||
+1
-1
@@ -2,6 +2,6 @@
|
|||||||
#define CONST_H
|
#define CONST_H
|
||||||
|
|
||||||
#define NAME "margen"
|
#define NAME "margen"
|
||||||
#define VERSION "v1.0.1"
|
#define VERSION "v1.0.2"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
parameters global_params;
|
parameters global_params;
|
||||||
float slope;
|
float slope;
|
||||||
@@ -91,12 +92,21 @@ void clean() {
|
|||||||
free(current_line);
|
free(current_line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void print_time(parameters params, clock_t start) {
|
||||||
|
if (!params.quiet) {
|
||||||
|
clock_t now = clock();
|
||||||
|
printf("time: %.3fs\n", (float)(now - start) / CLOCKS_PER_SEC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void generate(parameters params) {
|
void generate(parameters params) {
|
||||||
if (!params.quiet) {
|
if (!params.quiet) {
|
||||||
puts(NAME " " VERSION);
|
puts(NAME " " VERSION);
|
||||||
}
|
}
|
||||||
|
clock_t start = clock();
|
||||||
init(params);
|
init(params);
|
||||||
bmp_generate(params.width, params.height, color_depth, params.file_path,
|
bmp_generate(params.width, params.height, color_depth, params.file_path,
|
||||||
generate_bmp_line);
|
generate_bmp_line);
|
||||||
clean();
|
clean();
|
||||||
|
print_time(params, start);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user