diff options
author | June McEnroe <june@causal.agency> | 2018-02-06 22:02:03 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-02-06 22:02:03 -0500 |
commit | 9cc1f4884855fc59ac94bea35ba222c15bc61248 (patch) | |
tree | 6d979a30599ca189c380a4a7bf19419878222957 | |
parent | Add gfxx palette loading and dumping (diff) | |
download | src-9cc1f4884855fc59ac94bea35ba222c15bc61248.tar.gz src-9cc1f4884855fc59ac94bea35ba222c15bc61248.zip |
Add gfxx controls for custom bits
Diffstat (limited to '')
-rw-r--r-- | bin/gfxx.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/gfxx.c b/bin/gfxx.c index 92a2267f..0d0b9c79 100644 --- a/bin/gfxx.c +++ b/bin/gfxx.c @@ -320,6 +320,12 @@ static void palDump(void) { if (error) { warn("%s", options); return; } } +static uint8_t bit = 0; +static void setBit(char in) { + bits[bit++] = in - '0'; + bit &= MASK(2); +} + static const uint8_t PRESETS[][4] = { { 0, 0, 1, 0 }, { 0, 1, 1, 0 }, @@ -334,6 +340,7 @@ static const uint8_t PRESETS[][4] = { #define PRESETS_LEN (sizeof(PRESETS) / sizeof(PRESETS[0])) static uint8_t preset = PRESETS_LEN - 1; static void setPreset(void) { + bit = 0; for (int i = 0; i < 4; ++i) { bits[i] = PRESETS[preset][i]; } @@ -369,5 +376,6 @@ extern void input(char in) { break; case 'm': mirror ^= true; break; case '+': scale++; break; case '-': if (scale > 1) scale--; + break; default: if (in >= '0' && in <= '9') setBit(in); } } |