diff --git a/gui.cpp b/gui.cpp index 3b1b2de..db39afb 100644 --- a/gui.cpp +++ b/gui.cpp @@ -193,6 +193,7 @@ void GUI::shake() { int y = Random::uniform(-20,20); // add x/y back to draw screen $renderer.draw_screen($map_view, x, y); + $renderer.display(); std::this_thread::sleep_for(1ms); } } diff --git a/render.cpp b/render.cpp index c4f8058..a9c2796 100644 --- a/render.cpp +++ b/render.cpp @@ -110,13 +110,14 @@ void SFMLRender::render_text(std::wstring &text, float x, float y) { float width_delta = 0; float height_delta = 0; sf::Sprite &sprite = get_text_sprite(last_tile); + const float start_x = x; // make a copy so we don't modify the cached one $ansi.parse(text, [&](sf::Color bg, sf::Color fg, wchar_t tile) { if(tile == '\n') { // don't bother processing newlines, just skip y += $line_spacing; - x = GAME_MAP_POS; + x = start_x; } else if(tile == L'\r') { return; // skip these, just windows junk } else { diff --git a/status.txt b/status.txt index 00b1fd2..94a1d9f 100644 --- a/status.txt +++ b/status.txt @@ -2,6 +2,7 @@ NOTES: TODO: +* panels and everything except renderer should use character coodinates * camera shake broken * draw_screen doesn't do x axis offset render * Can std::any be defaulted to a noop in the events?