55** main.cpp
66*/
77
8- #include " ./src/constants/settings.hpp"
8+ #include " ./src/builder/resources.hpp"
9+ #include " ./src/builder/scenes.hpp"
10+ #include " ./src/builder/services.hpp"
11+ #include " ./src/builder/settings.hpp"
912#include " ./src/constants/window.hpp"
1013#include " ./src/scenes/game.hpp"
11- #include " ./src/scenes/lobby.hpp"
1214#include " ./src/scenes/leaderboard.hpp"
15+ #include " ./src/scenes/lobby.hpp"
1316#include " ./src/scenes/menu.hpp"
1417#include " ./src/scenes/settings.hpp"
1518#include " libs/mew/src/game/builder.hpp"
1619#include " libs/mew/src/game/game.hpp"
20+ #include " scenes/end.hpp"
1721
1822using namespace mew ::game;
19- using namespace rtype ::client::scenes;
20- using namespace rtype ::client::services;
23+ using namespace rtype ::client::builder;
2124
2225#if (defined(_WIN32) && !defined(DEBUG))
2326 #include < windows.h>
@@ -29,38 +32,24 @@ using namespace rtype::client::services;
2932
3033int MAIN {
3134 auto builder = GameBuilder ();
32- auto game = builder
33- .WithWindowProperties ({
34- .title = APP_WINDOW_TITLE,
35- .videoMode = {APP_WINDOW_WIDTH, APP_WINDOW_HEIGHT},
36- .style = APP_WINDOW_STYLE,
37- .contextSettings = sf::ContextSettings (),
38- .frameLimit = APP_WINDOW_FRAME_LIMIT,
39- .iconPath = APP_WINDOW_ICON,
40- })
41- .WithService <ServerConnectionService>(" 127.0.0.1" , 4848 )
42- .Build ();
43-
44- game.managers .settings ->Set (SETTING_APP_VOLUME, SETTING_DEFAULT_APP_VOLUME);
45- game.managers .settings ->Set (SETTING_GAME_KEYMAP, SETTING_DEFAULT_GAME_KEYMAP);
46- game.managers .settings ->Set (SETTING_GAME_ANIMATIONS, SETTING_DEFAULT_GAME_ANIMATIONS);
47-
48- game.managers .resources ->LoadFont (" assets/fonts/main.ttf" , " main" );
49- game.managers .resources ->LoadTexture (" assets/icons/R-Type.png" , " g-epitech-logo" );
50-
51- game.managers .resources ->LoadShader (" assets/shaders/protanopia.frag" , " protanopia" ,
52- sf::Shader::Fragment);
53- game.managers .resources ->LoadShader (" assets/shaders/deuteranopia.frag" , " deuteranopia" ,
54- sf::Shader::Fragment);
55- game.managers .resources ->LoadShader (" assets/shaders/tritanopia.frag" , " tritanopia" ,
56- sf::Shader::Fragment);
57-
58- game.managers .scenes ->RegisterScene <SceneMenu>();
59- game.managers .scenes ->RegisterScene <SceneLeaderboard>();
60- game.managers .scenes ->RegisterScene <SceneSettings>();
61- game.managers .scenes ->RegisterScene <SceneLobby>();
62- game.managers .scenes ->RegisterScene <SceneGame>();
63- game.managers .scenes ->GoToScene <SceneMenu>();
6435
65- return game.Run ();
36+ Services::RegisterServices (&builder);
37+ builder.WithWindowProperties ({
38+ .title = APP_WINDOW_TITLE,
39+ .videoMode = {APP_WINDOW_WIDTH, APP_WINDOW_HEIGHT},
40+ .style = APP_WINDOW_STYLE,
41+ .contextSettings = sf::ContextSettings (),
42+ .frameLimit = APP_WINDOW_FRAME_LIMIT,
43+ .iconPath = APP_WINDOW_ICON,
44+ });
45+ {
46+ auto game = builder.Build ();
47+
48+ Settings::LoadSettings (&game);
49+ Resources::LoadResources (&game);
50+ Scenes::LoadScenes (&game);
51+ Scenes::SetEntryScene (&game);
52+
53+ return game.Run ();
54+ }
6655}
0 commit comments