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;
}
}
-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,
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,
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;
}
(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,
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;
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;
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;
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;
}
}
-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);
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) {
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;
}
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)
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,
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);
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,
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,
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(
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(
#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);
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)
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);
} 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