]> git.lizzy.rs Git - nothing.git/commitdiff
Refactor sprite_font_render_text
authorrexim <reximkut@gmail.com>
Sun, 8 Dec 2019 18:09:06 +0000 (01:09 +0700)
committerrexim <reximkut@gmail.com>
Sun, 8 Dec 2019 18:09:06 +0000 (01:09 +0700)
16 files changed:
src/game/camera.c
src/game/camera.h
src/game/credits.c
src/game/level/level_editor.c
src/game/level/level_editor/color_picker.c
src/game/level/level_editor/layer_picker.c
src/game/level_picker.c
src/game/sprite_font.c
src/game/sprite_font.h
src/ui/console.c
src/ui/console_log.c
src/ui/console_log.h
src/ui/edit_field.c
src/ui/list_selector.c
src/ui/wiggly_text.c
src/ui/wiggly_text.h

index 6d37f883c210cdb39d389aaae59d5b691c7ebc83..0a9bfcd4ceffb0b322bc2aedd6b0822011ee148a 100644 (file)
@@ -174,15 +174,13 @@ int camera_render_text(const Camera *camera,
     const Vec2f scale = effective_scale(&view_port);
     const Vec2f screen_position = camera_point(camera, position);
 
-    if (sprite_font_render_text(
-            &camera->font,
-            camera->renderer,
-            screen_position,
-            vec(size.x * scale.x * camera->scale, size.y * scale.y * camera->scale),
-            camera->blackwhite_mode ? color_desaturate(c) : c,
-            text) < 0) {
-        return -1;
-    }
+    sprite_font_render_text(
+        &camera->font,
+        camera->renderer,
+        screen_position,
+        vec(size.x * scale.x * camera->scale, size.y * scale.y * camera->scale),
+        camera->blackwhite_mode ? color_desaturate(c) : c,
+        text);
 
     return 0;
 }
@@ -435,16 +433,16 @@ int camera_fill_rect_screen(const Camera *camera,
 
 }
 
-int camera_render_text_screen(const Camera *camera,
-                              const char *text,
-                              Vec2f size,
-                              Color color,
-                              Vec2f position)
+void camera_render_text_screen(const Camera *camera,
+                               const char *text,
+                               Vec2f size,
+                               Color color,
+                               Vec2f position)
 {
     trace_assert(camera);
     trace_assert(text);
 
-    return sprite_font_render_text(
+    sprite_font_render_text(
         &camera->font,
         camera->renderer,
         position,
index 7d2cb96781b80dcb85e9ee810aad4a235c50fd4b..e07c518a94c7f6ffa46200b8af4480ecd8ad8571 100644 (file)
@@ -59,11 +59,11 @@ int camera_render_text(const Camera *camera,
                        Color color,
                        Vec2f position);
 
-int camera_render_text_screen(const Camera *camera,
-                              const char *text,
-                              Vec2f size,
-                              Color color,
-                              Vec2f position);
+void camera_render_text_screen(const Camera *camera,
+                               const char *text,
+                               Vec2f size,
+                               Color color,
+                               Vec2f position);
 
 int camera_render_debug_text(const Camera *camera,
                              const char *text,
index 8d657c63d144ffff84d016a7836e6c2a53c1d57e..9cbe82181e68ad8602664f34e25d70f708775032 100644 (file)
@@ -63,12 +63,10 @@ int credits_render(const Credits *credits, const Camera *camera)
 
     const Vec2f title_size = wiggly_text_size(&credits->wiggly_text);
 
-    if (wiggly_text_render(
-            &credits->wiggly_text,
-            camera,
-            vec(viewport.w * 0.5f - title_size.x * 0.5f, TITLE_MARGIN_TOP)) < 0) {
-        return -1;
-    }
+    wiggly_text_render(
+        &credits->wiggly_text,
+        camera,
+        vec(viewport.w * 0.5f - title_size.x * 0.5f, TITLE_MARGIN_TOP));
     // TODO(#1150): Credits page don't display list of subs and contributors
     return 0;
 }
index 3cee3cb71ce9b0d1003bf4c1c8c609e87c80ae69..796f4a14770e0e08437d62342b2e26e031ad9bff 100644 (file)
@@ -348,14 +348,12 @@ int level_editor_render(const LevelEditor *level_editor,
             (float) strlen(save_as_text) * FONT_CHAR_WIDTH * size.x;
 
         /* HTML */
-        if (camera_render_text_screen(
-                camera,
-                save_as_text,
-                LEVEL_EDITOR_EDIT_FIELD_SIZE,
-                LEVEL_EDITOR_EDIT_FIELD_COLOR,
-                position) < 0) {
-            return -1;
-        }
+        camera_render_text_screen(
+            camera,
+            save_as_text,
+            LEVEL_EDITOR_EDIT_FIELD_SIZE,
+            LEVEL_EDITOR_EDIT_FIELD_COLOR,
+            position);
 
         if (edit_field_render_screen(
                 level_editor->edit_field_filename,
index d126dc5e56d23d5725e0c8aa4829b49d6ea2f02d..6cacb7eb1f2e4ea063ae50e652a0c3c4fa728a54 100644 (file)
@@ -92,15 +92,13 @@ int color_picker_render(const ColorPicker *color_picker,
             return -1;
         }
 
-        if (camera_render_text_screen(
-                camera,
-                slider_labels[index],
-                label_size,
-                COLOR_BLACK,
-                vec(slider_rect.x + boundary.w,
-                    slider_rect.y + color_slider_height * 0.5f - label_size.y * (float) FONT_CHAR_HEIGHT * 0.5f)) < 0) {
-            return -1;
-        }
+        camera_render_text_screen(
+            camera,
+            slider_labels[index],
+            label_size,
+            COLOR_BLACK,
+            vec(slider_rect.x + boundary.w,
+                slider_rect.y + color_slider_height * 0.5f - label_size.y * (float) FONT_CHAR_HEIGHT * 0.5f));
     }
 
     return 0;
index da0abc3b1d00a8224c4f29bd0b9663949a8ff96e..077a56b3b5e7b1d3ca47b88f549eab102d76076c 100644 (file)
@@ -96,16 +96,14 @@ int layer_picker_render(const LayerPicker *layer_picker,
             return -1;
         }
 
-        if (camera_render_text_screen(
-                camera,
-                LAYER_CELL_TITLES[i],
-                vec(size.x * LAYER_TITLE_SW_RATIO,
-                    size.x * LAYER_TITLE_SW_RATIO),
-                color_invert(color),
-                vec(position.x + size.x * LAYER_TITLE_PW_RATIO,
-                    size.y * (float) i + position.y + size.x * LAYER_TITLE_PW_RATIO)) < 0) {
-            return -1;
-        }
+        camera_render_text_screen(
+            camera,
+            LAYER_CELL_TITLES[i],
+            vec(size.x * LAYER_TITLE_SW_RATIO,
+                size.x * LAYER_TITLE_SW_RATIO),
+            color_invert(color),
+            vec(position.x + size.x * LAYER_TITLE_PW_RATIO,
+                size.y * (float) i + position.y + size.x * LAYER_TITLE_PW_RATIO));
     }
 
     return 0;
index 95fcca40ca846570ba43929f92e54b618efc3b35..39102dd73904df20ab84d166c7dbb4da3951c671 100644 (file)
@@ -93,12 +93,10 @@ int level_picker_render(const LevelPicker *level_picker,
 
     const Vec2f title_size = wiggly_text_size(&level_picker->wiggly_text);
 
-    if (wiggly_text_render(
-            &level_picker->wiggly_text,
-            camera,
-            vec(viewport.w * 0.5f - title_size.x * 0.5f, TITLE_MARGIN_TOP)) < 0) {
-        return -1;
-    }
+    wiggly_text_render(
+        &level_picker->wiggly_text,
+        camera,
+        vec(viewport.w * 0.5f - title_size.x * 0.5f, TITLE_MARGIN_TOP));
 
     if (list_selector_render(camera, level_picker->list_selector) < 0) {
         return -1;
@@ -111,15 +109,13 @@ int level_picker_render(const LevelPicker *level_picker,
         const Vec2f position = vec(0.0f, viewport.h - size.y * FONT_CHAR_HEIGHT);
 
         /* HTML */
-        if (camera_render_text_screen(
-                camera,
-                "Press 'N' to create new level",
-                size,
-                COLOR_WHITE,
-                vec(position.x + padding,
-                    position.y - padding)) < 0) {
-            return -1;
-        }
+        camera_render_text_screen(
+            camera,
+            "Press 'N' to create new level",
+            size,
+            COLOR_WHITE,
+            vec(position.x + padding,
+                position.y - padding));
     }
 
     return 0;
index 7842eeb12c46e4543f96ff8978f5ddde3931b688..ec7764d87699b48e2e33d9afdd16ef6bd4a8881c 100644 (file)
@@ -77,12 +77,12 @@ static SDL_Rect sprite_font_char_rect(const Sprite_font *sprite_font, char x)
     }
 }
 
-int sprite_font_render_text(const Sprite_font *sprite_font,
-                            SDL_Renderer *renderer,
-                            Vec2f position,
-                            Vec2f size,
-                            Color color,
-                            const char *text)
+void sprite_font_render_text(const Sprite_font *sprite_font,
+                             SDL_Renderer *renderer,
+                             Vec2f position,
+                             Vec2f size,
+                             Color color,
+                             const char *text)
 {
     trace_assert(sprite_font);
     trace_assert(renderer);
@@ -90,15 +90,12 @@ int sprite_font_render_text(const Sprite_font *sprite_font,
 
     const SDL_Color sdl_color = color_for_sdl(color);
 
-    if (SDL_SetTextureColorMod(sprite_font->texture, sdl_color.r, sdl_color.g, sdl_color.b) < 0) {
-        log_fail("SDL_SetTextureColorMod: %s\n", SDL_GetError());
-        return -1;
-    }
-
-    if (SDL_SetTextureAlphaMod(sprite_font->texture, sdl_color.a) < 0) {
-        log_fail("SDL_SetTextureAlphaMod: %s\n", SDL_GetError());
-        return -1;
-    }
+    scc(SDL_SetTextureColorMod(sprite_font->texture,
+                               sdl_color.r,
+                               sdl_color.g,
+                               sdl_color.b));
+    scc(SDL_SetTextureAlphaMod(sprite_font->texture,
+                               sdl_color.a));
 
     const size_t text_size = strlen(text);
     for (size_t i = 0; i < text_size; ++i) {
@@ -109,10 +106,6 @@ int sprite_font_render_text(const Sprite_font *sprite_font,
                 position.y,
                 (float) char_rect.w * size.x,
                 (float) char_rect.h * size.y));
-        if (SDL_RenderCopy(renderer, sprite_font->texture, &char_rect, &dest_rect) < 0) {
-            return -1;
-        }
+        scc(SDL_RenderCopy(renderer, sprite_font->texture, &char_rect, &dest_rect));
     }
-
-    return 0;
 }
index 138a34ba5bb2d019509cf06440dec9625fe7c5b8..7cd3c1068959c8fe64f7fa6ab93d70f7428fe47f 100644 (file)
@@ -15,12 +15,12 @@ typedef struct {
 SDL_Texture *load_bmp_font_texture(SDL_Renderer *renderer,
                                    const char *bmp_file_path);
 
-int sprite_font_render_text(const Sprite_font *sprite_font,
-                            SDL_Renderer *renderer,
-                            Vec2f position,
-                            Vec2f size,
-                            Color color,
-                            const char *text);
+void sprite_font_render_text(const Sprite_font *sprite_font,
+                             SDL_Renderer *renderer,
+                             Vec2f position,
+                             Vec2f size,
+                             Color color,
+                             const char *text);
 
 static inline
 Rect sprite_font_boundary_box(Vec2f position, Vec2f size, size_t text_size)
index 7040e313d6eeb03eecc53882ad5cb618ea3c945f..26a0c107ae691bffcc6411fce11f7a10e4e31c85 100644 (file)
@@ -245,11 +245,9 @@ int console_render(const Console *console,
         return -1;
     }
 
-    if (console_log_render(console->console_log,
-                           camera,
-                           vec(0.0f, y)) < 0) {
-        return -1;
-    }
+    console_log_render(console->console_log,
+                       camera,
+                       vec(0.0f, y));
 
     if (edit_field_render_screen(console->edit_field,
                                  camera,
index fdd8b77a72f859befa400c708c7d2dbebad776b0..e5ee8efc1ccc6b86aa16a94a0c246b7606f778f7 100644 (file)
@@ -61,9 +61,9 @@ void destroy_console_log(Console_Log *console_log)
     RETURN_LT0(console_log->lt);
 }
 
-int console_log_render(const Console_Log *console_log,
-                       const Camera *camera,
-                       Vec2f position)
+void console_log_render(const Console_Log *console_log,
+                        const Camera *camera,
+                        Vec2f position)
 {
     trace_assert(console_log);
     trace_assert(camera);
@@ -71,18 +71,15 @@ int console_log_render(const Console_Log *console_log,
     for (size_t i = 0; i < console_log->capacity; ++i) {
         const size_t j = (i + console_log->cursor) % console_log->capacity;
         if (console_log->buffer[j]) {
-            if (camera_render_text_screen(camera,
-                                          console_log->buffer[j],
-                                          console_log->font_size,
-                                          console_log->colors[j],
-                                          vec_sum(position,
-                                                  vec(0.0f, FONT_CHAR_HEIGHT * console_log->font_size.y * (float) i))) < 0) {
-                return -1;
-            }
+            camera_render_text_screen(
+                camera,
+                console_log->buffer[j],
+                console_log->font_size,
+                console_log->colors[j],
+                vec_sum(position,
+                        vec(0.0f, FONT_CHAR_HEIGHT * console_log->font_size.y * (float) i)));
         }
     }
-
-    return 0;
 }
 
 int console_log_push_line(Console_Log *console_log,
index c14ec5ccc54e68e5bf821c6169afc875cd8f4f9b..705e93c45749e5041fe7f6c32058de493e2a6726 100644 (file)
@@ -10,9 +10,9 @@ Console_Log *create_console_log(Vec2f font_size,
                                 size_t capacity);
 void destroy_console_log(Console_Log *console_log);
 
-int console_log_render(const Console_Log *console_log,
-                       const Camera *camera,
-                       Vec2f position);
+void console_log_render(const Console_Log *console_log,
+                        const Camera *camera,
+                        Vec2f position);
 
 int console_log_push_line(Console_Log *console_log,
                           const char *line,
index 8f87334d55474782b34b3b3e37fc6435d222678b..ff193b3151db5256164ce67b9a49c73921ddb187 100644 (file)
@@ -341,14 +341,12 @@ int edit_field_render_screen(const Edit_field *edit_field,
     const float cursor_y_overflow = 10.0f;
     const float cursor_width = 2.0f;
 
-    if (camera_render_text_screen(
-            camera,
-            edit_field->buffer,
-            edit_field->font_size,
-            edit_field->font_color,
-            screen_position) < 0) {
-        return -1;
-    }
+    camera_render_text_screen(
+        camera,
+        edit_field->buffer,
+        edit_field->font_size,
+        edit_field->font_color,
+        screen_position);
 
     /* TODO(#363): the size of the cursor does not correspond to font size */
     if (camera_fill_rect_screen(
index bd84e46a1339f42d996d58285f129a8c5bc46164..32a2ad53f1a4c2bd8878eb468dd6a7e26559fa99 100644 (file)
@@ -68,15 +68,13 @@ int list_selector_render(const Camera *camera,
             list_selector->position,
             vec(0.0f, (float) i * ((float) FONT_CHAR_HEIGHT * list_selector->font_scale.y + list_selector->padding_bottom)));
 
-        if (sprite_font_render_text(
-                &camera->font,
-                camera->renderer,
-                current_position,
-                list_selector->font_scale,
-                rgba(1.0f, 1.0f, 1.0f, 1.0f),
-                list_selector->items[i]) < 0) {
-            return -1;
-        }
+        sprite_font_render_text(
+            &camera->font,
+            camera->renderer,
+            current_position,
+            list_selector->font_scale,
+            rgba(1.0f, 1.0f, 1.0f, 1.0f),
+            list_selector->items[i]);
 
         if (i == list_selector->cursor) {
             SDL_Rect boundary_box = rect_for_sdl(
index b6633f54a32f8875bb8a22b4902babb08548a1ab..07a17f6a43443b1e1d8458aac61788eb9e825ef0 100644 (file)
@@ -9,9 +9,9 @@
 #include "system/str.h"
 #include "game/camera.h"
 
-int wiggly_text_render(const WigglyText *wiggly_text,
-                       const Camera *camera,
-                       Vec2f position)
+void wiggly_text_render(const WigglyText *wiggly_text,
+                        const Camera *camera,
+                        Vec2f position)
 {
     trace_assert(wiggly_text);
     trace_assert(camera);
@@ -22,21 +22,17 @@ int wiggly_text_render(const WigglyText *wiggly_text,
     for (size_t i = 0; i < n; ++i) {
         buf[0] = wiggly_text->text[i];
 
-        if (camera_render_text_screen(
-                camera,
-                buf,
-                wiggly_text->scale,
-                wiggly_text->color,
-                vec_sum(
-                    position,
-                    vec(
-                        (float) (i * FONT_CHAR_WIDTH) * wiggly_text->scale.x,
-                        sinf(wiggly_text->angle + (float) i / (float) n * 10.0f) * 20.0f))) < 0) {
-            return -1;
-        }
+        camera_render_text_screen(
+            camera,
+            buf,
+            wiggly_text->scale,
+            wiggly_text->color,
+            vec_sum(
+                position,
+                vec(
+                    (float) (i * FONT_CHAR_WIDTH) * wiggly_text->scale.x,
+                    sinf(wiggly_text->angle + (float) i / (float) n * 10.0f) * 20.0f)));
     }
-
-    return 0;
 }
 
 int wiggly_text_update(WigglyText *wiggly_text, float delta_time)
index 40e4cd083cfbb25a13cc75bb2b4cfd24662183ff..98094eba4d1e21db95192fa88faa5c89e18e8fb8 100644 (file)
@@ -14,9 +14,9 @@ typedef struct {
     float angle;
 } WigglyText;
 
-int wiggly_text_render(const WigglyText *wiggly_text,
-                       const Camera *camera,
-                       Vec2f position);
+void wiggly_text_render(const WigglyText *wiggly_text,
+                        const Camera *camera,
+                        Vec2f position);
 int wiggly_text_update(WigglyText *wiggly_text, float delta_time);
 Vec2f wiggly_text_size(const WigglyText *wiggly_text);
 
@@ -26,11 +26,14 @@ typedef struct {
 } FadingWigglyText;
 
 static inline
-int fading_wiggly_text_render(const FadingWigglyText *fading_wiggly_text,
-                              const Camera *camera,
-                              Vec2f position)
+void fading_wiggly_text_render(const FadingWigglyText *fading_wiggly_text,
+                               const Camera *camera,
+                               Vec2f position)
 {
-    return wiggly_text_render(&fading_wiggly_text->wiggly_text, camera, position);
+    wiggly_text_render(
+        &fading_wiggly_text->wiggly_text,
+        camera,
+        position);
 }
 
 static inline