1
0
mirror of synced 2025-02-13 08:52:33 +01:00
jujube/src/Main.cpp

60 lines
1.8 KiB
C++

#include <iostream>
#include <SFML/Graphics.hpp>
#include <cereal/archives/json.hpp>
#include <whereami/whereami++.hpp>
#include "Data/Song.hpp"
#include "Data/Preferences.hpp"
#include "Resources/Marker.hpp"
// #include "Data/Chart.hpp"
// #include "Data/Score.hpp"
#include "Screens/MusicSelect/MusicSelect.hpp"
// #include "Screens/Gameplay.hpp"
// #include "Screens/Result.hpp"
int main(int, char const **) {
// Load prefs, music, markers
const std::string jujube_path = whereami::executable_dir();
Data::Preferences preferences{jujube_path};
Data::SongList song_list{jujube_path};
MusicSelect::SharedResources music_select_resources{preferences};
if (music_select_resources.markers.find(preferences.options.marker) == music_select_resources.markers.end()) {
preferences.options.marker = music_select_resources.markers.begin()->first;
}
MusicSelect::Screen music_select{song_list, music_select_resources};
// Create the window
sf::ContextSettings settings;
settings.antialiasingLevel = 8;
sf::RenderWindow window{
sf::VideoMode(
preferences.screen.width,
preferences.screen.height
),
"jujube",
preferences.screen.fullscreen ? sf::Style::Fullscreen : sf::Style::Default,
settings
};
auto chart = music_select.select_chart(window);
std::cout << "Selected Chart : " << chart.song.title << " [" << chart.difficulty << "]" << std::endl;
/*
while (true) {
Chart& selected_chart = music_select.select_chart(window);
Screen::Gameplay gameplay(selected_chart);
Score score = gameplay.play_chart(window);
Screen::Result result_screen(score);
result_screen.display(window);
}
*/
return 0;
}