ref: 6379f646f2688d198d28d30e34006c6cea0e3571
parent: ab2f400e8b8b52bab59a5d0ced217807f2aa2e3c
author: glenda <glenda@krsna>
date: Wed Aug 20 17:30:18 EDT 2025
more-slight-cleans
--- a/da.c
+++ b/da.c
@@ -198,10 +198,12 @@
int boxat(Point p);
static ulong palette[] = {
- 0x2ECC71FF, 0x34495EFF, 0x95A5A6FF, 0xE67E22FF,
- 0xF39C12FF, 0x3498DBFF, 0x7F8C8DFF, 0x1ABC9CFF,
- 0xE74C3CFF, 0x9B59B6FF, 0xF1C40FFF, 0xECF0F1FF,
- 0x2C3E50FF, 0x16A085FF, 0xD35400FF, 0x27AE60FF
+ 0xFF69B4FF, 0x00BFFFFF, 0x00FF00FF, 0xFFD700FF,
+ 0xFF8C00FF, 0x9400D3FF, 0xFF7F50FF, 0x00FFFFFF,
+ 0xFF1493FF, 0x4B0082FF, 0xDC143CFF, 0x40E0D0FF,
+ 0xFFD700FF, 0x87CEEBFF, 0xB22222FF, 0x00FA9AFF
+
+
};
ConfigField config_fields[] = {
@@ -331,462 +333,462 @@
};
char *classic_emotions[] = {
- ":-)",
- ":-D",
- ";-)",
- ":-P"
+ ":-)",
+ ":-D",
+ ";-)",
+ ":-P"
};
char *bear_moods[] = {
- "(o.o)",
- "(^.^)",
- "(*.*)",
- "(-.-)zzz"
+ "(o.o)",
+ "(^.^)",
+ "(*.*)",
+ "(-.-)zzz"
};
char *bunny_hop[] = {
- "(\\(\\",
- "( -.-)(",
- "o(\")(\")o",
- "(\")_(\")"
+ "(\\(\\",
+ "( -.-)(",
+ "o(\")(\")o",
+ "(\")_(\")"
};
char *robot_faces[] = {
- "[o_o]",
- "[O_O]",
- "[^_^]",
- "[x_x]"
+ "[o_o]",
+ "[O_O]",
+ "[^_^]",
+ "[x_x]"
};
char *owl_looks[] = {
- "(O,O)",
- "(o,o)",
- "(0,0)",
- "(@,@)"
+ "(O,O)",
+ "(o,o)",
+ "(0,0)",
+ "(@,@)"
};
char *fish_swim[] = {
- "><>",
- "<><",
- "><(((o>",
- "<o)))><"
+ "><>",
+ "<><",
+ "><(((o>",
+ "<o)))><"
};
char *music_notes[] = {
- "d(^_^)b",
- "q(^_^)p",
- "b(^_^)d",
- "p(^_^)q"
+ "d(^_^)b",
+ "q(^_^)p",
+ "b(^_^)d",
+ "p(^_^)q"
};
char *wizard_cast[] = {
- "(o)===*",
- "*(===o)",
- "~(o)~===*",
- "*===~(o)~"
+ "(o)===*",
+ "*(===o)",
+ "~(o)~===*",
+ "*===~(o)~"
};
char *table_flip[] = {
- "(o_o)",
- "(o_O)",
- "(O_O)",
- "(x_x)===___"
+ "(o_o)",
+ "(o_O)",
+ "(O_O)",
+ "(x_x)===___"
};
char *love_hearts[] = {
- "<3",
- "</3",
- "<3<3<3",
- "~<3~"
+ "<3",
+ "</3",
+ "<3<3<3",
+ "~<3~"
};
char *stick_figure[] = {
- "o/",
- "\\o",
- "|o|",
- "_o_"
+ "o/",
+ "\\o",
+ "|o|",
+ "_o_"
};
char *cool_shades[] = {
- "B-)",
- "8-)",
- "B-D",
- "8-D"
+ "B-)",
+ "8-)",
+ "B-D",
+ "8-D"
};
char *space_invaders[] = {
- "/o\\",
- "\\o/",
- "|o|",
- "-o-"
+ "/o\\",
+ "\\o/",
+ "|o|",
+ "-o-"
};
char *bat_fly[] = {
- "^v^",
- "vVv",
- "^V^",
- "VvV"
+ "^v^",
+ "vVv",
+ "^V^",
+ "VvV"
};
char *spider_crawl[] = {
- "//\\\\(oo)//\\\\",
- "//\\\\( )//\\\\",
- "\\\\//(..)\\\\//",
- "\\\\//()\\\\//",
+ "//\\\\(oo)//\\\\",
+ "//\\\\( )//\\\\",
+ "\\\\//(..)\\\\//",
+ "\\\\//()\\\\//",
};
char *boxing[] = {
- "(o_o)-Q",
- "Q-(o_o)",
- "Q-(>_<)-Q",
- "(^o^)9"
+ "(o_o)-Q",
+ "Q-(o_o)",
+ "Q-(>_<)-Q",
+ "(^o^)9"
};
char *flex_arms[] = {
- "o==[]::::::>",
- "@==[]::::::>",
- "O==[]::::::>",
- "*==[]::::::>"
+ "o==[]::::::>",
+ "@==[]::::::>",
+ "O==[]::::::>",
+ "*==[]::::::>"
};
char *crab_walk[] = {
- "V(o_o)V",
- "V(._.)V",
- "V(^_^)V",
- "V(*_*)V"
+ "V(o_o)V",
+ "V(._.)V",
+ "V(^_^)V",
+ "V(*_*)V"
};
char *penguin[] = {
- "<(^_^)>",
- "<('_')>",
- "<(o_o)>",
- "<(._.)>"
+ "<(^_^)>",
+ "<('_')>",
+ "<(o_o)>",
+ "<(._.)>"
};
char *excited[] = {
- "\\(^o^)/",
- "~(^o^)~",
- "*(^o^)*",
- "/(^o^)\\"
+ "\\(^o^)/",
+ "~(^o^)~",
+ "*(^o^)*",
+ "/(^o^)\\"
};
char *ghosts[] = {
- "~(o.o)~",
- "~(O.O)~",
- "~(x.x)~",
- "~(-.-)~"
+ "~(o.o)~",
+ "~(O.O)~",
+ "~(x.x)~",
+ "~(-.-)~"
};
char *zombies[] = {
- "[x_x]",
- "[X_X]",
- "]x_x[",
- "]X_X["
+ "[x_x]",
+ "[X_X]",
+ "]x_x[",
+ "]X_X["
};
char *snails[] = {
- "@__)",
- "(__@",
- "@__]",
- "[__@"
+ "@__)",
+ "(__@",
+ "@__]",
+ "[__@"
};
char *ufo[] = {
- "<o>",
- "=<o>=",
- "==<o>==",
- "=<o>="
+ "<o>",
+ "=<o>=",
+ "==<o>==",
+ "=<o>="
};
char *rockets[] = {
- "=>",
- "==>",
- "===>",
- "===>"
+ "=>",
+ "==>",
+ "===>",
+ "===>"
};
char *weather[] = {
- "* * *",
- "' ' '",
- ". . .",
- "~ ~ ~"
+ "* * *",
+ "' ' '",
+ ". . .",
+ "~ ~ ~"
};
char *math_dance[] = {
- "+(^_^)+",
- "-(^_^)-",
- "*(^_^)*",
- "/(^_^)/"
+ "+(^_^)+",
+ "-(^_^)-",
+ "*(^_^)*",
+ "/(^_^)/"
};
char *pacman[] = {
- "C",
- "c",
- "<",
- "("
+ "C",
+ "c",
+ "<",
+ "("
};
char *dice[] = {
- "[1]",
- "[2]",
- "[3]",
- "[4]"
+ "[1]",
+ "[2]",
+ "[3]",
+ "[4]"
};
char *stars[] = {
- "*",
- "+",
- "x",
- "."
+ "*",
+ "+",
+ "x",
+ "."
};
char *arrows[] = {
- "->",
- "-->",
- "--->",
- "---->"
+ "->",
+ "-->",
+ "--->",
+ "---->"
};
char *code_brackets[] = {
- "{^_^}",
- "[^_^]",
- "(^_^)",
- "<^_^>"
+ "{^_^}",
+ "[^_^]",
+ "(^_^)",
+ "<^_^>"
};
char *swords[] = {
- "o==|::::>",
- "<::::|==o",
- "o==|::::>",
- "<::::|==o"
+ "o==|::::>",
+ "<::::|==o",
+ "o==|::::>",
+ "<::::|==o"
};
char *dragon[] = {
- ">=<>",
- ">==<>",
- ">===<>",
- ">====<>"
+ ">=<>",
+ ">==<>",
+ ">===<>",
+ ">====<>"
};
char *butterfly[] = {
- "}i{",
- "}I{",
- "}!{",
- "}|{"
+ "}i{",
+ "}I{",
+ "}!{",
+ "}|{"
};
char *skulls[] = {
- "8-X",
- "8-(",
- "X-X",
- "x-x"
+ "8-X",
+ "8-(",
+ "X-X",
+ "x-x"
};
char *money[] = {
- "[$]",
- "[$$]",
- "[$$$]",
- "[$$$$]"
+ "[$]",
+ "[$$]",
+ "[$$$]",
+ "[$$$$]"
};
char *flower[] = {
- "@}->--",
- "@}>---",
- "@}>----",
- "@}>-----"
+ "@}->--",
+ "@}>---",
+ "@}>----",
+ "@}>-----"
};
char *chess[] = {
- "|\\*",
- "|\\#",
- "|\\+",
- "|\\@"
+ "|\\*",
+ "|\\#",
+ "|\\+",
+ "|\\@"
};
char *lenny[] = {
- "( *_*)",
- "( o_o)",
- "( ^_^)",
- "( >_>)"
+ "( *_*)",
+ "( o_o)",
+ "( ^_^)",
+ "( >_>)"
};
char *minimal[] = {
- "._.",
- "o_o",
- "^_^",
- "-_-"
+ "._.",
+ "o_o",
+ "^_^",
+ "-_-"
};
char *surprised[] = {
- "o.o",
- "O.O",
- "0.0",
- "@.@"
+ "o.o",
+ "O.O",
+ "0.0",
+ "@.@"
};
char *winking[] = {
- ";)",
- ";]",
- ";D",
- ";P"
+ ";)",
+ ";]",
+ ";D",
+ ";P"
};
char *nyan[] = {
- "=^.^=",
- "=^.o=",
- "=o.^=",
- "=o.o="
+ "=^.^=",
+ "=^.o=",
+ "=o.^=",
+ "=o.o="
};
char *keyboard_smash[] = {
- "asdf",
- "jkl;",
- "qwer",
- "zxcv"
+ "asdf",
+ "jkl;",
+ "qwer",
+ "zxcv"
};
char *binary[] = {
- "0101",
- "1010",
- "1100",
- "0011"
+ "0101",
+ "1010",
+ "1100",
+ "0011"
};
char *waves[] = {
- "~~~~~",
- "^^^^^",
- "vvvvv",
- "~v~v~"
+ "~~~~~",
+ "^^^^^",
+ "vvvvv",
+ "~v~v~"
};
void
save_da(char *file)
{
- int fd, i;
- Biobuf *b;
-
- fd = create(file, OWRITE, 0644);
- if(fd < 0){
- fprint(2, "cannot create %s: %r\n", file);
- return;
- }
-
- b = Bfdopen(fd, OWRITE);
-
- Bprint(b, "count %d\n", canvas.nboxes);
-
-
- Bprint(b, "positions\n");
- for(i = 0; i < canvas.nboxes; i++){
- Bprint(b, "%d %d\n",
- canvas.boxes.pos[i].x,
- canvas.boxes.pos[i].y);
- }
-
- Bprint(b, "types\n");
- for(i = 0; i < canvas.nboxes; i++){
- Bprint(b, "%d\n", canvas.boxes.type[i]);
- }
-
- Bprint(b, "colors\n");
- for(i = 0; i < canvas.nboxes; i++){
- Bprint(b, "%d\n", canvas.boxes.color_idx[i]);
- }
-
- Bterm(b);
- close(fd);
+ int fd, i;
+ Biobuf *b;
+
+ fd = create(file, OWRITE, 0644);
+ if(fd < 0){
+ fprint(2, "cannot create %s: %r\n", file);
+ return;
+ }
+
+ b = Bfdopen(fd, OWRITE);
+
+ Bprint(b, "count %d\n", canvas.nboxes);
+
+
+ Bprint(b, "positions\n");
+ for(i = 0; i < canvas.nboxes; i++){
+ Bprint(b, "%d %d\n",
+ canvas.boxes.pos[i].x,
+ canvas.boxes.pos[i].y);
+ }
+
+ Bprint(b, "types\n");
+ for(i = 0; i < canvas.nboxes; i++){
+ Bprint(b, "%d\n", canvas.boxes.type[i]);
+ }
+
+ Bprint(b, "colors\n");
+ for(i = 0; i < canvas.nboxes; i++){
+ Bprint(b, "%d\n", canvas.boxes.color_idx[i]);
+ }
+
+ Bterm(b);
+ close(fd);
}
void
load_da(char *file)
{
- Biobuf *b;
- char *line;
- char *fields[10];
- int nf, i;
- enum { NONE, POSITIONS, TYPES, COLORS } section = NONE;
- int idx = 0;
- int count = 0;
-
- b = Bopen(file, OREAD);
- if(b == nil){
- fprint(2, "cannot open %s: %r\n", file);
- return;
- }
-
- memset(&canvas.boxes, 0, sizeof(canvas.boxes));
- canvas.nboxes = 0;
- canvas.selected = -1;
- canvas.current_color = 8;
- init_emoji();
-
- while((line = Brdline(b, '\n')) != nil){
- line[Blinelen(b)-1] = '\0';
-
- if(line[0] == '#' || line[0] == '\0')
- continue;
-
- nf = tokenize(line, fields, nelem(fields));
- if(nf == 0) continue;
-
+ Biobuf *b;
+ char *line;
+ char *fields[10];
+ int nf, i;
+ enum { NONE, POSITIONS, TYPES, COLORS } section = NONE;
+ int idx = 0;
+ int count = 0;
+
+ b = Bopen(file, OREAD);
+ if(b == nil){
+ fprint(2, "cannot open %s: %r\n", file);
+ return;
+ }
+
+ memset(&canvas.boxes, 0, sizeof(canvas.boxes));
+ canvas.nboxes = 0;
+ canvas.selected = -1;
+ canvas.current_color = 8;
+ init_emoji();
+
+ while((line = Brdline(b, '\n')) != nil){
+ line[Blinelen(b)-1] = '\0';
+
+ if(line[0] == '#' || line[0] == '\0')
+ continue;
+
+ nf = tokenize(line, fields, nelem(fields));
+ if(nf == 0) continue;
+
if(strcmp(fields[0], "count") == 0 && nf >= 2){
- count = atoi(fields[1]);
- if(count > MAXBOXES) count = MAXBOXES;
- } else if(strcmp(fields[0], "positions") == 0){
- section = POSITIONS;
- idx = 0;
- } else if(strcmp(fields[0], "types") == 0){
- section = TYPES;
- idx = 0;
- } else if(strcmp(fields[0], "colors") == 0){
- section = COLORS;
- idx = 0;
- } else {
- switch(section){
- case POSITIONS:
- if(nf >= 2 && idx < count){
- canvas.boxes.pos[idx] = Pt(atoi(fields[0]), atoi(fields[1]));
- idx++;
- }
- break;
-
- case TYPES:
- if(nf >= 1 && idx < count){
- canvas.boxes.type[idx] = atoi(fields[0]);
- idx++;
- }
- break;
-
- case COLORS:
- if(nf >= 1 && idx < count){
- canvas.boxes.color_idx[idx] = atoi(fields[0]);
- idx++;
- }
- break;
- }
- }
- }
-
- canvas.nboxes = count;
-
- for(i = 0; i < canvas.nboxes; i++){
- Point p = canvas.boxes.pos[i];
- if(canvas.boxes.type[i] == T_BIGBOX){
- canvas.boxes.r[i] = Rect(p.x, p.y,
- p.x + config.bigbox_width,
- p.y + config.bigbox_height);
- } else {
- canvas.boxes.r[i] = Rect(p.x, p.y,
- p.x + config.box_width,
- p.y + config.box_height);
- }
- canvas.boxes.selected[i] = 0; // Clear selection on load
- }
-
- Bterm(b);
- redraw();
-}
-
+ count = atoi(fields[1]);
+ if(count > MAXBOXES) count = MAXBOXES;
+ } else if(strcmp(fields[0], "positions") == 0){
+ section = POSITIONS;
+ idx = 0;
+ } else if(strcmp(fields[0], "types") == 0){
+ section = TYPES;
+ idx = 0;
+ } else if(strcmp(fields[0], "colors") == 0){
+ section = COLORS;
+ idx = 0;
+ } else {
+ switch(section){
+ case POSITIONS:
+ if(nf >= 2 && idx < count){
+ canvas.boxes.pos[idx] = Pt(atoi(fields[0]), atoi(fields[1]));
+ idx++;
+ }
+ break;
+
+ case TYPES:
+ if(nf >= 1 && idx < count){
+ canvas.boxes.type[idx] = atoi(fields[0]);
+ idx++;
+ }
+ break;
+
+ case COLORS:
+ if(nf >= 1 && idx < count){
+ canvas.boxes.color_idx[idx] = atoi(fields[0]);
+ idx++;
+ }
+ break;
+ }
+ }
+ }
+
+ canvas.nboxes = count;
+
+ for(i = 0; i < canvas.nboxes; i++){
+ Point p = canvas.boxes.pos[i];
+ if(canvas.boxes.type[i] == T_BIGBOX){
+ canvas.boxes.r[i] = Rect(p.x, p.y,
+ p.x + config.bigbox_width,
+ p.y + config.bigbox_height);
+ } else {
+ canvas.boxes.r[i] = Rect(p.x, p.y,
+ p.x + config.box_width,
+ p.y + config.box_height);
+ }
+ canvas.boxes.selected[i] = 0; // Clear selection on load
+ }
+
+ Bterm(b);
+ redraw();
+}
+
void
save_config(char *path)
{
@@ -877,7 +879,6 @@
for(cf = config_fields; cf->name != nil; cf++) {
if(strcmp(fields[0], cf->name) == 0) {
- /* Process based on type */
switch(cf->type) {
case CFG_INT:
*(int*)cf->ptr = atoi(fields[1]);
@@ -1015,103 +1016,103 @@
void
cleanup(void)
{
- int i;
- for(i = 0; i < 16; i++) {
- if(colors[i])
- freeimage(colors[i]);
- }
+ int i;
+ for(i = 0; i < 16; i++) {
+ if(colors[i])
+ freeimage(colors[i]);
+ }
}
void
cmd_set_color(int idx)
{
- if(idx >= 0 && idx < 16) {
- canvas.current_color = idx;
- if(canvas.selected >= 0 && canvas.selected < canvas.nboxes) {
- canvas.boxes.color_idx[canvas.selected] = idx;
- }
- canvas.needredraw = 1;
- }
+ if(idx >= 0 && idx < 16) {
+ canvas.current_color = idx;
+ if(canvas.selected >= 0 && canvas.selected < canvas.nboxes) {
+ canvas.boxes.color_idx[canvas.selected] = idx;
+ }
+ canvas.needredraw = 1;
+ }
}
void
cmd_toggle_boxtype(void)
{
- canvas.next_box_type = !canvas.next_box_type;
- canvas.needredraw = 1;
+ canvas.next_box_type = !canvas.next_box_type;
+ canvas.needredraw = 1;
}
int
boxat(Point p)
{
- int i;
- for(i = canvas.nboxes - 1; i >= 0; i--){
- if(ptinrect(p, canvas.boxes.r[i]))
- return i;
- }
- return -1;
+ int i;
+ for(i = canvas.nboxes - 1; i >= 0; i--){
+ if(ptinrect(p, canvas.boxes.r[i]))
+ return i;
+ }
+ return -1;
}
int
addbox(Point p)
{
- int idx;
- if(canvas.nboxes >= MAXBOXES)
- return -1;
-
- idx = canvas.nboxes;
-
- if(canvas.gridsnap) {
- p.x = (p.x / canvas.gridsize) * canvas.gridsize;
- p.y = (p.y / canvas.gridsize) * canvas.gridsize;
- }
-
- canvas.boxes.pos[idx] = p;
- canvas.boxes.type[idx] = canvas.next_box_type;
- canvas.boxes.color_idx[idx] = canvas.current_color;
- canvas.boxes.selected[idx] = 0;
-
- if(canvas.boxes.type[idx] == T_BIGBOX) {
- canvas.boxes.r[idx] = Rect(p.x, p.y,
- p.x + config.bigbox_width,
- p.y + config.bigbox_height);
- } else {
- canvas.boxes.r[idx] = Rect(p.x, p.y,
- p.x + config.box_width,
- p.y + config.box_height);
- }
-
- return canvas.nboxes++;
+ int idx;
+ if(canvas.nboxes >= MAXBOXES)
+ return -1;
+
+ idx = canvas.nboxes;
+
+ if(canvas.gridsnap) {
+ p.x = (p.x / canvas.gridsize) * canvas.gridsize;
+ p.y = (p.y / canvas.gridsize) * canvas.gridsize;
+ }
+
+ canvas.boxes.pos[idx] = p;
+ canvas.boxes.type[idx] = canvas.next_box_type;
+ canvas.boxes.color_idx[idx] = canvas.current_color;
+ canvas.boxes.selected[idx] = 0;
+
+ if(canvas.boxes.type[idx] == T_BIGBOX) {
+ canvas.boxes.r[idx] = Rect(p.x, p.y,
+ p.x + config.bigbox_width,
+ p.y + config.bigbox_height);
+ } else {
+ canvas.boxes.r[idx] = Rect(p.x, p.y,
+ p.x + config.box_width,
+ p.y + config.box_height);
+ }
+
+ return canvas.nboxes++;
}
void
delbox(int i)
{
- int last;
- if(i < 0 || i >= canvas.nboxes)
- return;
-
- last = canvas.nboxes - 1;
-
- if(i != last) {
- canvas.boxes.pos[i] = canvas.boxes.pos[last];
- canvas.boxes.r[i] = canvas.boxes.r[last];
- canvas.boxes.type[i] = canvas.boxes.type[last];
- canvas.boxes.selected[i] = canvas.boxes.selected[last];
- canvas.boxes.color_idx[i] = canvas.boxes.color_idx[last];
- }
-
- canvas.nboxes--;
+ int last;
+ if(i < 0 || i >= canvas.nboxes)
+ return;
+
+ last = canvas.nboxes - 1;
+
+ if(i != last) {
+ canvas.boxes.pos[i] = canvas.boxes.pos[last];
+ canvas.boxes.r[i] = canvas.boxes.r[last];
+ canvas.boxes.type[i] = canvas.boxes.type[last];
+ canvas.boxes.selected[i] = canvas.boxes.selected[last];
+ canvas.boxes.color_idx[i] = canvas.boxes.color_idx[last];
+ }
+
+ canvas.nboxes--;
}
void
draw_box(int idx, Image *dst)
{
- Image *bg = colors[canvas.boxes.color_idx[idx]];
-
- if(canvas.boxes.selected[idx])
- bg = boxselected;
-
- draw(dst, canvas.boxes.r[idx], bg, nil, ZP);
+ Image *bg = colors[canvas.boxes.color_idx[idx]];
+
+ if(canvas.boxes.selected[idx])
+ bg = boxselected;
+
+ draw(dst, canvas.boxes.r[idx], bg, nil, ZP);
}
void
@@ -1140,26 +1141,26 @@
void
draw_fnol(void)
{
- Rectangle r;
- int w = 400;
- int h = 64;
- Point center = Pt(screen->r.min.x + Dx(screen->r)/2,
- screen->r.min.y + Dy(screen->r)/2);
+ Rectangle r;
+ int w = 400;
+ int h = 64;
+ Point center = Pt(screen->r.min.x + Dx(screen->r)/2,
+ screen->r.min.y + Dy(screen->r)/2);
- r = Rect(center.x - w/2, center.y - h/2,
- center.x + w/2, center.y + h/2);
+ r = Rect(center.x - w/2, center.y - h/2,
+ center.x + w/2, center.y + h/2);
- draw(screen, r,cbg, nil, ZP);
- border(screen, r, 2, cfg, ZP);
+ draw(screen, r,cbg, nil, ZP);
+ border(screen, r, 2, cfg, ZP);
- char *title = canvas.save_mode == 1 ? "Save As:" : "Open File:";
- string(screen, Pt(r.min.x + 10, r.min.y + 5),
- cfg, ZP, font, title);
+ char *title = canvas.save_mode == 1 ? "Save As:" : "Open File:";
+ string(screen, Pt(r.min.x + 10, r.min.y + 5),
+ cfg, ZP, font, title);
- char display[256];
- snprint(display, sizeof(display), "%s_", canvas.fnbuf);
- string(screen, Pt(r.min.x + 10, r.min.y + 20),
- cfg, ZP, font, display);
+ char display[256];
+ snprint(display, sizeof(display), "%s_", canvas.fnbuf);
+ string(screen, Pt(r.min.x + 10, r.min.y + 20),
+ cfg, ZP, font, display);
}
void
@@ -1179,26 +1180,26 @@
void
draw_all(void)
{
- int i;
- for(i = 0; i < canvas.nboxes; i++) {
- if(canvas.boxes.type[i] == T_BOX) {
- Image *color = colors[canvas.boxes.color_idx[i]];
- draw(screen, canvas.boxes.r[i], color, nil, ZP);
- }
- }
-
- for(i = 0; i < canvas.nboxes; i++) {
- if(canvas.boxes.type[i] == T_BIGBOX) {
- Image *color = colors[canvas.boxes.color_idx[i]];
- draw(screen, canvas.boxes.r[i], color, nil, ZP);
- }
- }
-
- for(i = 0; i < canvas.nboxes; i++) {
- if(canvas.boxes.selected[i]) {
- border(screen, canvas.boxes.r[i], 2, boxselected, ZP);
- }
- }
+ int i;
+ for(i = 0; i < canvas.nboxes; i++) {
+ if(canvas.boxes.type[i] == T_BOX) {
+ Image *color = colors[canvas.boxes.color_idx[i]];
+ draw(screen, canvas.boxes.r[i], color, nil, ZP);
+ }
+ }
+
+ for(i = 0; i < canvas.nboxes; i++) {
+ if(canvas.boxes.type[i] == T_BIGBOX) {
+ Image *color = colors[canvas.boxes.color_idx[i]];
+ draw(screen, canvas.boxes.r[i], color, nil, ZP);
+ }
+ }
+
+ for(i = 0; i < canvas.nboxes; i++) {
+ if(canvas.boxes.selected[i]) {
+ border(screen, canvas.boxes.r[i], 2, boxselected, ZP);
+ }
+ }
}
void
@@ -1286,225 +1287,224 @@
apply_config();
validate_config();
canvas.needredraw = 1;
- fprint(2, "Configuration reloaded from %s\n", CONFIG_FILE);
}
void
cmd_cycle_emoji(void)
{
- static int emoji_set = 0;
- int i;
-
- emoji_set = (emoji_set + 1) % 51; /* total emoji sets */
-
- switch(emoji_set) {
- case 0:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = rcc_style[i];
- break;
- case 1:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = kirby_dance[i];
- break;
- case 2:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = lambda_dance[i];
- break;
- case 3:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = dancing_guy[i];
- break;
- case 4:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = happy_faces[i];
- break;
- case 5:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = classic_emotions[i];
- break;
- case 6:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = bear_moods[i];
- break;
- case 7:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = bunny_hop[i];
- break;
- case 8:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = robot_faces[i];
- break;
- case 9:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = owl_looks[i];
- break;
- case 10:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = fish_swim[i];
- break;
- case 11:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = music_notes[i];
- break;
- case 12:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = wizard_cast[i];
- break;
- case 13:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = table_flip[i];
- break;
- case 14:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = love_hearts[i];
- break;
- case 15:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = stick_figure[i];
- break;
- case 16:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = cool_shades[i];
- break;
- case 17:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = space_invaders[i];
- break;
- case 18:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = bat_fly[i];
- break;
- case 19:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = spider_crawl[i];
- break;
- case 20:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = boxing[i];
- break;
- case 21:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = flex_arms[i];
- break;
- case 22:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = crab_walk[i];
- break;
- case 23:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = penguin[i];
- break;
- case 24:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = excited[i];
- break;
- case 25:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = ghosts[i];
- break;
- case 26:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = zombies[i];
- break;
- case 27:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = snails[i];
- break;
- case 28:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = ufo[i];
- break;
- case 29:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = rockets[i];
- break;
- case 30:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = weather[i];
- break;
- case 31:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = math_dance[i];
- break;
- case 32:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = pacman[i];
- break;
- case 33:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = dice[i];
- break;
- case 34:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = stars[i];
- break;
- case 35:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = arrows[i];
- break;
- case 36:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = code_brackets[i];
- break;
- case 37:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = swords[i];
- break;
- case 38:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = dragon[i];
- break;
- case 39:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = butterfly[i];
- break;
- case 40:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = skulls[i];
- break;
- case 41:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = money[i];
- break;
- case 42:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = flower[i];
- break;
- case 43:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = chess[i];
- break;
- case 44:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = minimal[i];
- break;
- case 45:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = surprised[i];
- break;
- case 46:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = winking[i];
- break;
- case 47:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = nyan[i];
- break;
- case 48:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = keyboard_smash[i];
- break;
- case 49:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = binary[i];
- break;
- case 50:
- for(i = 0; i < 4; i++)
- canvas.emoji_frames[i] = waves[i];
- break;
- }
+ static int emoji_set = 0;
+ int i;
+
+ emoji_set = (emoji_set + 1) % 51; /* total emoji sets */
+
+ switch(emoji_set) {
+ case 0:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = rcc_style[i];
+ break;
+ case 1:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = kirby_dance[i];
+ break;
+ case 2:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = lambda_dance[i];
+ break;
+ case 3:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = dancing_guy[i];
+ break;
+ case 4:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = happy_faces[i];
+ break;
+ case 5:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = classic_emotions[i];
+ break;
+ case 6:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = bear_moods[i];
+ break;
+ case 7:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = bunny_hop[i];
+ break;
+ case 8:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = robot_faces[i];
+ break;
+ case 9:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = owl_looks[i];
+ break;
+ case 10:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = fish_swim[i];
+ break;
+ case 11:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = music_notes[i];
+ break;
+ case 12:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = wizard_cast[i];
+ break;
+ case 13:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = table_flip[i];
+ break;
+ case 14:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = love_hearts[i];
+ break;
+ case 15:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = stick_figure[i];
+ break;
+ case 16:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = cool_shades[i];
+ break;
+ case 17:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = space_invaders[i];
+ break;
+ case 18:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = bat_fly[i];
+ break;
+ case 19:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = spider_crawl[i];
+ break;
+ case 20:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = boxing[i];
+ break;
+ case 21:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = flex_arms[i];
+ break;
+ case 22:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = crab_walk[i];
+ break;
+ case 23:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = penguin[i];
+ break;
+ case 24:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = excited[i];
+ break;
+ case 25:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = ghosts[i];
+ break;
+ case 26:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = zombies[i];
+ break;
+ case 27:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = snails[i];
+ break;
+ case 28:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = ufo[i];
+ break;
+ case 29:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = rockets[i];
+ break;
+ case 30:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = weather[i];
+ break;
+ case 31:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = math_dance[i];
+ break;
+ case 32:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = pacman[i];
+ break;
+ case 33:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = dice[i];
+ break;
+ case 34:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = stars[i];
+ break;
+ case 35:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = arrows[i];
+ break;
+ case 36:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = code_brackets[i];
+ break;
+ case 37:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = swords[i];
+ break;
+ case 38:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = dragon[i];
+ break;
+ case 39:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = butterfly[i];
+ break;
+ case 40:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = skulls[i];
+ break;
+ case 41:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = money[i];
+ break;
+ case 42:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = flower[i];
+ break;
+ case 43:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = chess[i];
+ break;
+ case 44:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = minimal[i];
+ break;
+ case 45:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = surprised[i];
+ break;
+ case 46:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = winking[i];
+ break;
+ case 47:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = nyan[i];
+ break;
+ case 48:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = keyboard_smash[i];
+ break;
+ case 49:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = binary[i];
+ break;
+ case 50:
+ for(i = 0; i < 4; i++)
+ canvas.emoji_frames[i] = waves[i];
+ break;
+ }
- canvas.needredraw = 1;
+ canvas.needredraw = 1;
}
void
@@ -1517,18 +1517,18 @@
void
enterfnm(int sm, int dp)
{
- canvas.current_mode = 1;
- canvas.fnkey = 1;
- canvas.save_mode = sm;
+ canvas.current_mode = 1;
+ canvas.fnkey = 1;
+ canvas.save_mode = sm;
- if (dp) {
- strcpy(canvas.fnbuf, config.default_save_path);
- canvas.fnpos = strlen(canvas.fnbuf);
- } else {
- canvas.fnbuf[0] = '\0';
- canvas.fnpos = 0;
- }
- canvas.needredraw = 1;
+ if (dp) {
+ strcpy(canvas.fnbuf, config.default_save_path);
+ canvas.fnpos = strlen(canvas.fnbuf);
+ } else {
+ canvas.fnbuf[0] = '\0';
+ canvas.fnpos = 0;
+ }
+ canvas.needredraw = 1;
}
void cmd_save(void) { enterfnm(1, 1); }
@@ -1583,21 +1583,21 @@
{
Command *cmd;
if(key >= '0' && key <= '9') {
- cmd_set_color(key - '0');
- return;
- }
-
- if(key >= 'a' && key <= 'f') {
- cmd_set_color(10 + (key - 'a'));
- return;
- }
+ cmd_set_color(key - '0');
+ return;
+ }
+
+ if(key >= 'a' && key <= 'f') {
+ cmd_set_color(10 + (key - 'a'));
+ return;
+ }
- for(cmd = commands; cmd->action; cmd++) {
- if(cmd->key == key) {
- cmd->action();
- return;
- }
- }
+ for(cmd = commands; cmd->action; cmd++) {
+ if(cmd->key == key) {
+ cmd->action();
+ return;
+ }
+ }
}
void
@@ -1643,56 +1643,56 @@
void
norm_mouse(Mouse m)
{
- int i, j;
- if(m.buttons & 1){
+ int i, j;
+ if(m.buttons & 1){
j = boxat(m.xy);
if(j >= 0){
return;
} else {
i = addbox(m.xy);
- if(i >= 0){
- canvas.selected = i;
- canvas.needredraw = 1;
+ if(i >= 0){
+ canvas.selected = i;
+ canvas.needredraw = 1;
}
- }
- }
-
+ }
+ }
+
if(m.buttons & 2){
- i = boxat(m.xy);
- if(i >= 0){
- canvas.selected = i;
- int type = canvas.boxes.type[i];
- int width = (type == T_BIGBOX) ? config.bigbox_width : config.box_width;
- int height = (type == T_BIGBOX) ? config.bigbox_height : config.box_height;
- canvas.boxes.selected[i] = 1;
-
- while(m.buttons & 2){
- Point new_pos = subpt(m.xy, Pt(width/2, height/2));
- if(canvas.gridsnap){
- new_pos.x = (new_pos.x / canvas.gridsize) * canvas.gridsize;
- new_pos.y = (new_pos.y / canvas.gridsize) * canvas.gridsize;
- }
- canvas.boxes.pos[i] = new_pos;
- canvas.boxes.r[i] = Rect(new_pos.x, new_pos.y,
- new_pos.x + width, new_pos.y + height);
- redraw();
- m = emouse();
- }
- canvas.boxes.selected[i] = 0;
- canvas.needredraw = 1;
- }
- }
-
- if(m.buttons & 4){
- i = boxat(m.xy);
- if(i >= 0){
- delbox(i);
- if(canvas.selected == i)
- canvas.selected = -1;
- canvas.needredraw = 1;
- }
- }
-}
+ i = boxat(m.xy);
+ if(i >= 0){
+ canvas.selected = i;
+ int type = canvas.boxes.type[i];
+ int width = (type == T_BIGBOX) ? config.bigbox_width : config.box_width;
+ int height = (type == T_BIGBOX) ? config.bigbox_height : config.box_height;
+ canvas.boxes.selected[i] = 1;
+
+ while(m.buttons & 2){
+ Point new_pos = subpt(m.xy, Pt(width/2, height/2));
+ if(canvas.gridsnap){
+ new_pos.x = (new_pos.x / canvas.gridsize) * canvas.gridsize;
+ new_pos.y = (new_pos.y / canvas.gridsize) * canvas.gridsize;
+ }
+ canvas.boxes.pos[i] = new_pos;
+ canvas.boxes.r[i] = Rect(new_pos.x, new_pos.y,
+ new_pos.x + width, new_pos.y + height);
+ redraw();
+ m = emouse();
+ }
+ canvas.boxes.selected[i] = 0;
+ canvas.needredraw = 1;
+ }
+ }
+
+ if(m.buttons & 4){
+ i = boxat(m.xy);
+ if(i >= 0){
+ delbox(i);
+ if(canvas.selected == i)
+ canvas.selected = -1;
+ canvas.needredraw = 1;
+ }
+ }
+}
void
fn_mouse(Mouse m)
@@ -1703,10 +1703,10 @@
void
ctl_addbox(char **args, int nargs)
{
- USED(nargs);
- Point p = Pt(atoi(args[0]), atoi(args[1]));
- addbox(p);
- canvas.needredraw = 1;
+ USED(nargs);
+ Point p = Pt(atoi(args[0]), atoi(args[1]));
+ addbox(p);
+ canvas.needredraw = 1;
}
void
--
⑨