|
|
@@ -173,26 +173,46 @@ world_t * game_world (number_t width, number_t height, ...) { |
|
|
|
return (world); |
|
|
|
} |
|
|
|
|
|
|
|
procedure_t game_render_attribute (attribute_t * attribute, number_t x, number_t y) { |
|
|
|
curses_render_string (" ", COLOUR_CYAN, EFFECT_NORMAL, x + 0, y); |
|
|
|
curses_render_string (attribute->name, COLOUR_CYAN, EFFECT_NORMAL, x + 3, y); |
|
|
|
|
|
|
|
curses_render_string ("[ ", COLOUR_GREY, EFFECT_BOLD, x + 18, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->minimum, 0, 10, 4, ' '), COLOUR_RED, EFFECT_NORMAL, x + 20, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->current, 0, 10, 4, ' '), COLOUR_WHITE, EFFECT_NORMAL, x + 24, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->maximum, 0, 10, 4, ' '), COLOUR_GREEN, EFFECT_NORMAL, x + 28, y); |
|
|
|
curses_render_string (" ]", COLOUR_GREY, EFFECT_BOLD, x + 32, y); |
|
|
|
procedure_t game_render_attribute (number_t x, number_t y, ...) { |
|
|
|
va_list list; |
|
|
|
|
|
|
|
va_start (list, y); |
|
|
|
|
|
|
|
for (;; ++y) { |
|
|
|
attribute_t * attribute = (attribute_t *) va_arg (list, void *); |
|
|
|
|
|
|
|
if (attribute != NULL) { |
|
|
|
curses_render_string (attribute->name, COLOUR_CYAN, EFFECT_NORMAL, x + 0, y); |
|
|
|
curses_render_string ("[ ", COLOUR_GREY, EFFECT_BOLD, x + 18, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->minimum, 0, 10, 4, ' '), COLOUR_RED, EFFECT_NORMAL, x + 20, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->current, 0, 10, 4, ' '), COLOUR_WHITE, EFFECT_NORMAL, x + 24, y); |
|
|
|
curses_render_string (format_to_string (attribute->points->maximum, 0, 10, 4, ' '), COLOUR_GREEN, EFFECT_NORMAL, x + 28, y); |
|
|
|
curses_render_string (" ]", COLOUR_GREY, EFFECT_BOLD, x + 32, y); |
|
|
|
} else break; |
|
|
|
} |
|
|
|
|
|
|
|
va_end (list); |
|
|
|
} |
|
|
|
|
|
|
|
procedure_t game_render_skill (skill_t * skill, number_t x, number_t y) { |
|
|
|
curses_render_string (" ", COLOUR_CYAN, EFFECT_NORMAL, x + 0, y); |
|
|
|
curses_render_string (skill->name, COLOUR_CYAN, EFFECT_NORMAL, x + 3, y); |
|
|
|
procedure_t game_render_skill (number_t x, number_t y, ...) { |
|
|
|
va_list list; |
|
|
|
|
|
|
|
va_start (list, y); |
|
|
|
|
|
|
|
curses_render_string ("[ ", COLOUR_GREY, EFFECT_BOLD, x + 18, y); |
|
|
|
curses_render_string (format_to_string (skill->points->minimum, 0, 10, 4, ' '), COLOUR_RED, EFFECT_NORMAL, x + 20, y); |
|
|
|
curses_render_string (format_to_string (skill->points->current, 0, 10, 4, ' '), COLOUR_WHITE, EFFECT_NORMAL, x + 24, y); |
|
|
|
curses_render_string (format_to_string (skill->points->maximum, 0, 10, 4, ' '), COLOUR_GREEN, EFFECT_NORMAL, x + 28, y); |
|
|
|
curses_render_string (" ]", COLOUR_GREY, EFFECT_BOLD, x + 32, y); |
|
|
|
for (;; ++y) { |
|
|
|
skill_t * skill = (skill_t *) va_arg (list, void *); |
|
|
|
|
|
|
|
if (skill != NULL) { |
|
|
|
curses_render_string (skill->name, COLOUR_CYAN, EFFECT_NORMAL, x + 0, y); |
|
|
|
curses_render_string ("[ ", COLOUR_GREY, EFFECT_BOLD, x + 18, y); |
|
|
|
curses_render_string (format_to_string (skill->points->minimum, 0, 10, 4, ' '), COLOUR_RED, EFFECT_NORMAL, x + 20, y); |
|
|
|
curses_render_string (format_to_string (skill->points->current, 0, 10, 4, ' '), COLOUR_WHITE, EFFECT_NORMAL, x + 24, y); |
|
|
|
curses_render_string (format_to_string (skill->points->maximum, 0, 10, 4, ' '), COLOUR_GREEN, EFFECT_NORMAL, x + 28, y); |
|
|
|
curses_render_string (" ]", COLOUR_GREY, EFFECT_BOLD, x + 32, y); |
|
|
|
} else break; |
|
|
|
} |
|
|
|
|
|
|
|
va_end (list); |
|
|
|
} |
|
|
|
|
|
|
|
procedure_t game_render_player (player_t * player) { |
|
|
|