Changes the log to fill from the bottom

Looks more natural this way.
This commit is contained in:
Linus Probert 2018-08-05 12:48:56 +02:00
parent d8615b2f14
commit 484fb30a89
1 changed files with 9 additions and 12 deletions

View File

@ -27,7 +27,7 @@
#include "map.h" #include "map.h"
#include "texturecache.h" #include "texturecache.h"
#define DEFAULT_LOG { NULL, 50, 0, 200 } #define DEFAULT_LOG { NULL, LOG_LINES_COUNT, 0, 200 }
#define DEFAULT_EVENT_MESSAGES { NULL, 5, 0, 200 } #define DEFAULT_EVENT_MESSAGES { NULL, 5, 0, 200 }
#define POS_Y_COLLECTABLES 64 #define POS_Y_COLLECTABLES 64
@ -529,13 +529,14 @@ gui_log(const char *fmt, ...)
log_data.count++; log_data.count++;
if (log_data.count > log_data.len) { if (log_data.count > log_data.len) {
log_data.count = log_data.len; log_data.count = log_data.len;
free(log_data.log[log_data.count-1]); free(log_data.log[0]);
log_data.log[log_data.count-1] = NULL; log_data.log[0] = NULL;
for (i = 0; i < log_data.count - 1; ++i) {
log_data.log[i] = log_data.log[i+1];
log_data.log[i+1] = NULL;
}
} }
for (i = log_data.count - 1; i > 0; --i) { log_data.log[log_data.count-1] = new_message;
log_data.log[i] = log_data.log[i-1];
}
log_data.log[0] = new_message;
} }
void void
@ -560,15 +561,11 @@ gui_event_message(const char *fmt, ...)
void void
gui_render_log(Gui *gui, Camera *cam) gui_render_log(Gui *gui, Camera *cam)
{ {
unsigned int i;
unsigned int render_count;
SDL_Rect box = { 16, 0, 16, 16 }; SDL_Rect box = { 16, 0, 16, 16 };
render_count = LOG_LINES_COUNT > log_data.count ? log_data.count : LOG_LINES_COUNT;
sprite_render(gui->bottomFrame, cam); sprite_render(gui->bottomFrame, cam);
for (i = 0; i < render_count; ++i) { for (Uint32 i = 0; i < log_data.count; ++i) {
Texture *t; Texture *t;
box.y = 16 + ((LOG_FONT_SIZE+5) * i); box.y = 16 + ((LOG_FONT_SIZE+5) * i);
t = gui->log_lines[i]; t = gui->log_lines[i];