diff options
author | Franklin Wei <git@fwei.tk> | 2018-04-17 22:13:31 -0400 |
---|---|---|
committer | Franklin Wei <git@fwei.tk> | 2018-04-17 22:13:31 -0400 |
commit | 22823e2f78bb566bc9e138d3b14b20d03def77f3 (patch) | |
tree | 587f2b18bdc8a0f2780f346546388caf2ee0fe42 | |
parent | e84fc26fb83c33eba55357e78e52b2673a45b673 (diff) |
puzzles: save some bytes
This should cut just enough size off the binary to let Net still compile
for the c200v2. This is probably close to the last time I'll be able to do
this; I'm already resorting to dirty hacks like writing super terse error
messages.
Change-Id: I43344b9a601696d7ca56fc02af4a611fd9d1a150
-rw-r--r-- | apps/plugins/puzzles/rockbox.c | 63 |
1 files changed, 24 insertions, 39 deletions
diff --git a/apps/plugins/puzzles/rockbox.c b/apps/plugins/puzzles/rockbox.c index 9865407b2e..b3a225ae89 100644 --- a/apps/plugins/puzzles/rockbox.c +++ b/apps/plugins/puzzles/rockbox.c @@ -532,50 +532,35 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype, int fontsize, int align, int color, const char *text) { (void) fontsize; - if(!zoom_enabled) - { - LOGF("rb_draw_text(%d %d %s)", x, y, text); - offset_coords(&x, &y); + rb_color(color); + rb_setfont(fonttype, fontsize); /* size will be clamped if too large */ - rb_setfont(fonttype, fontsize); + int w, h; + rb->lcd_getstringsize(text, &w, &h); - int w, h; - rb->lcd_getstringsize(text, &w, &h); + if(align & ALIGN_VNORMAL) + y -= h; + else if(align & ALIGN_VCENTRE) + y -= h / 2; - if(align & ALIGN_VNORMAL) - y -= h; - else if(align & ALIGN_VCENTRE) - y -= h / 2; + if(align & ALIGN_HCENTRE) + x -= w / 2; + else if(align & ALIGN_HRIGHT) + x -= w; - if(align & ALIGN_HCENTRE) - x -= w / 2; - else if(align & ALIGN_HRIGHT) - x -= w; + if(!zoom_enabled) + { + LOGF("rb_draw_text(%d %d %s)", x, y, text); + + offset_coords(&x, &y); - rb_color(color); rb->lcd_set_drawmode(DRMODE_FG); rb->lcd_putsxy(x, y, text); rb->lcd_set_drawmode(DRMODE_SOLID); } else { - rb_color(color); - rb_setfont(fonttype, fontsize); /* size will be clamped if too large */ - - int w, h; - rb->lcd_getstringsize(text, &w, &h); - - if(align & ALIGN_VNORMAL) - y -= h; - else if(align & ALIGN_VCENTRE) - y -= h / 2; - - if(align & ALIGN_HCENTRE) - x -= w / 2; - else if(align & ALIGN_HRIGHT) - x -= w; - /* we need to access the font bitmap directly */ struct font *pf = rb->font_get(cur_font); @@ -606,17 +591,16 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype, static void rb_draw_rect(void *handle, int x, int y, int w, int h, int color) { + rb_color(color); if(!zoom_enabled) { LOGF("rb_draw_rect(%d, %d, %d, %d, %d)", x, y, w, h, color); - rb_color(color); offset_coords(&x, &y); rb->lcd_fillrect(x, y, w, h); } else { /* TODO: clipping */ - rb_color(color); for(int i = y; i < y + h; ++i) { zoom_hline(x, x + w, i); @@ -748,10 +732,12 @@ static void draw_antialiased_line(fb_data *fb, int w, int h, int x0, int y0, int static void rb_draw_line(void *handle, int x1, int y1, int x2, int y2, int color) { + rb_color(color); + if(!zoom_enabled) { LOGF("rb_draw_line(%d, %d, %d, %d, %d)", x1, y1, x2, y2, color); - rb_color(color); +#if defined(FOR_REAL) && defined(DEBUG_MENU) if(debug_settings.no_aa) { offset_coords(&x1, &y1); @@ -759,13 +745,13 @@ static void rb_draw_line(void *handle, int x1, int y1, int x2, int y2, rb->lcd_drawline(x1, y1, x2, y2); } else +#endif draw_antialiased_line(rb->lcd_framebuffer, LCD_WIDTH, LCD_HEIGHT, x1, y1, x2, y2); } else { /* draw_antialiased_line uses rb->lcd_get_foreground() to get * the color */ - rb_color(color); draw_antialiased_line(zoom_fb, zoom_w, zoom_h, x1, y1, x2, y2); } @@ -1917,7 +1903,7 @@ static void zoom(void) zoom_fb = smalloc(zoom_w * zoom_h * sizeof(fb_data)); if(!zoom_fb) { - rb->splashf(HZ * 2, "Not enough memory to allocate %d KB framebuffer!", zoom_w * zoom_h * sizeof(fb_data) / 1024); + rb->splash(HZ, "OOM"); return; } @@ -2270,7 +2256,6 @@ static bool config_menu(void) if(!config) { - rb->splash(HZ, "Nothing to configure."); goto done; } @@ -3181,7 +3166,7 @@ static bool load_game(void) /* success */ return true; } - rb->splashf(HZ, "Failed loading save for %s!", game); + rb->splash(HZ, "Load failed."); /* clean up, even on failure */ rb->close(fd); |