diff --git a/TODO.md b/TODO.md index 6dcd83f..75e0a6e 100644 --- a/TODO.md +++ b/TODO.md @@ -30,6 +30,7 @@ - Black frame - Sound - Music Sample + - Async playback ### Misc - Handling Resolution changes @@ -39,11 +40,16 @@ - Add KeyMapping to preferences - Make KeyMapping look nicer in json form - Sort by button +- Handle JCK and special characters + - Japanese + - utf8 to sfml conversion ## TODO ### Misc - Make Drawables lazily react to resolution changes - Handle JCK and special characters + - Find a font that handles more stuff + - make a ttc bundle : https://fontforge.org/en-US/ ### Music Select Screen - Sound diff --git a/src/Screens/MusicSelect/Panel.cpp b/src/Screens/MusicSelect/Panel.cpp index 9064e30..99f4cba 100644 --- a/src/Screens/MusicSelect/Panel.cpp +++ b/src/Screens/MusicSelect/Panel.cpp @@ -154,7 +154,7 @@ namespace MusicSelect { } sf::Text song_title; song_title.setFont(m_resources.fallback_font.medium); - song_title.setString(m_song->title); + song_title.setString(sf::String::fromUtf8(m_song->title.begin(), m_song->title.end())); song_title.setCharacterSize(static_cast(0.06875f*get_size())); song_title.setFillColor(sf::Color::White); auto song_title_bounds = song_title.getLocalBounds(); @@ -184,7 +184,7 @@ namespace MusicSelect { sf::Text message; message.setFont(m_resources.fallback_font.medium); - message.setString(m_message); + message.setString(sf::String::fromUtf8(m_message.begin(), m_message.end())); message.setCharacterSize(static_cast(0.1f*get_size())); message.setFillColor(m_color); auto bounds = message.getLocalBounds(); diff --git a/src/Screens/MusicSelect/SongInfo.cpp b/src/Screens/MusicSelect/SongInfo.cpp index b81ec56..944d4c0 100644 --- a/src/Screens/MusicSelect/SongInfo.cpp +++ b/src/Screens/MusicSelect/SongInfo.cpp @@ -80,7 +80,7 @@ namespace MusicSelect { auto song_title = selected_chart->song.title; if (not song_title.empty()) { sf::Text song_title_label{ - song_title, + sf::String::fromUtf8(song_title.begin(), song_title.end()), m_resources.fallback_font.medium, static_cast( 0.026315789f*get_screen_width() @@ -101,7 +101,7 @@ namespace MusicSelect { auto song_artist = selected_chart->song.artist; if (not song_artist.empty()) { sf::Text song_artist_label{ - song_artist, + sf::String::fromUtf8(song_artist.begin(), song_artist.end()), m_resources.fallback_font.medium, static_cast( 0.02f*get_screen_width() @@ -162,7 +162,7 @@ namespace MusicSelect { } sf::Text chart_label{ - full_difficulty, + sf::String::fromUtf8(full_difficulty.begin(), full_difficulty.end()), m_resources.fallback_font.medium, static_cast(20.f/768.f*get_screen_width()) };