@@ -23,161 +23,161 @@ using namespace gfx;
2323
2424class SilverSprintApp : public App {
2525public:
26- void setup () override ;
27- void resize () override ;
28- void keyDown (KeyEvent event) override ;
29- void update () override ;
30- void draw () override ;
31- void cleanup () override ;
32-
33- void loadSettings ();
34- void writeSettings ();
35- gfx::GFXMainRef mGfxMain ;
26+ void setup () override ;
27+ void resize () override ;
28+ void keyDown ( KeyEvent event ) override ;
29+ void update () override ;
30+ void draw () override ;
31+ void cleanup () override ;
32+
33+ void loadSettings ();
34+ void writeSettings ();
35+ gfx::GFXMainRef mGfxMain ;
3636};
3737
3838void SilverSprintApp::setup ()
3939{
4040#if defined(DEBUG_MODE)
41- fs::path logPath = getAppPath ().string () + " /logs/SilverSprint.log" ;
42- log::makeLogger<log::LoggerFile>(logPath, false );
43- CI_LOG_I (" Setting up log file at " << logPath);
44- console () << " path " << logPath.string () << endl;
41+ fs::path logPath = getAppPath ().string () + " /logs/SilverSprint.log" ;
42+ log::makeLogger<log::LoggerFile>( logPath, false );
43+ CI_LOG_I (" Setting up log file at " << logPath );
44+ console () << " path " << logPath.string () << endl;
4545#endif
46-
47- auto sysLogger = log::makeLogger<log::LoggerSystem>();
48- sysLogger->setLoggingLevel (log::LEVEL_VERBOSE);
49-
50- CI_LOG_I (" Start program" );
51-
52- gl::enableAlphaBlending ();
53-
54- mGfxMain = GFXMainRef (new GFXMain ());
55- mGfxMain ->setup ();
56-
57- loadSettings ();
46+
47+ auto sysLogger = log::makeLogger<log::LoggerSystem>();
48+ sysLogger->setLoggingLevel (log::LEVEL_VERBOSE);
49+
50+ CI_LOG_I (" Start program" );
51+
52+ gl::enableAlphaBlending ();
53+
54+ mGfxMain = GFXMainRef ( new GFXMain () );
55+ mGfxMain ->setup ();
56+
57+ loadSettings ();
5858}
5959
6060void SilverSprintApp::loadSettings ()
6161{
62- CI_LOG_I (" Load settings" );
63- fs::path targetPath = ci::app::getAppPath ().parent_path () / fs::path (" settings.cfg" );
62+ CI_LOG_I (" Load settings" );
63+ fs::path targetPath = ci::app::getAppPath ().parent_path () / fs::path (" settings.cfg" );
6464#if defined(CINDER_MAC)
65- targetPath = ci::app::Platform::get ()->expandPath (" ~/Library" ) / fs::path (" SilverSprints/settings.cfg" );
65+ targetPath = ci::app::Platform::get ()->expandPath (" ~/Library" ) / fs::path (" SilverSprints/settings.cfg" );
6666#elif defined(CINDER_MSW)
67- targetPath = getDocumentsDirectory () / fs::path (" SilverSprints/settings.cfg" );
67+ targetPath = getDocumentsDirectory () / fs::path (" SilverSprints/settings.cfg" );
6868#endif
69-
70- if (fs::exists (targetPath)) {
71- config ().read (loadFile (targetPath));
72- // config().load(targetPath);
73-
74- Model::instance ().setCurrentRaceType ((Model::RACE_TYPE)config ().get (" settings" , " race_type" , (int )Model::RACE_TYPE::RACE_TYPE_DISTANCE));
75- Model::instance ().setRaceLengthMeters (config ().get (" settings" , " race_length_meters" , 100 ));
76- Model::instance ().setRaceTimeSeconds (config ().get (" settings" , " race_time" , 60 ));
77- Model::instance ().setUseKph (config ().get (" settings" , " race_kph" , true ));
78- Model::instance ().setRollerDiameterMm (config ().get (" settings" , " roller_diameter_mm" , 114.3 ));
79- Model::instance ().setNumRacers (config ().get (" settings" , " num_racers" , 114.3 ));
80- Model::instance ().setRaceLogging (config ().get (" settings" , " log_races" , false ));
81-
82- setFullScreen (config ().get (" app" , " fullscreen" , false ));
83- }
69+
70+ if (fs::exists (targetPath)){
71+ config ().read (loadFile (targetPath));
72+ // config().load(targetPath);
73+
74+ Model::instance ().setCurrentRaceType ((Model::RACE_TYPE)config ().get (" settings" , " race_type" , (int )Model::RACE_TYPE::RACE_TYPE_DISTANCE));
75+ Model::instance ().setUseKph ( config ().get (" settings" , " race_kph" , true ));
76+ Model::instance ().setRollerDiameterMm ( config ().get (" settings" , " roller_diameter_mm" , 114.3 ));
77+ Model::instance ().setNumRacers ( config ().get (" settings" , " num_racers" , 114.3 ));
78+ Model::instance ().setRaceLogging ( config ().get (" settings" , " log_races" , false ));
79+ Model::instance ().setRaceTimeSeconds ( config ().get (" settings" , " race_time" , 60 ));
80+ // this must be called after the roller diameter is set
81+ Model::instance ().setRaceLengthMeters ( config ().get (" settings" , " race_length_meters" , 100 ));
82+
83+ setFullScreen ( config ().get (" app" , " fullscreen" , false ));
84+ }
8485}
8586
8687void SilverSprintApp::writeSettings ()
8788{
8889 config ().set (" settings" , " race_type" , (int )Model::instance ().getCurrentRaceType ());
89- config ().set (" settings" , " race_length_meters" , Model::instance ().getRaceLengthMeters ());
90- config ().set (" settings" , " race_time" , Model::instance ().getRaceTimeSeconds ());
91- config ().set (" settings" , " race_kph" , Model::instance ().getUsesKph ());
92- config ().set (" settings" , " roller_diameter_mm" , Model::instance ().getRollerDiameterMm ());
93- config ().set (" settings" , " num_racers" , Model::instance ().getNumRacers ());
94- config ().set (" settings" , " log_races" , Model::instance ().getRaceLogging ());
95-
96- fs::path targetPath = ci::app::getAppPath ().parent_path () / fs::path (" settings.cfg" );
97-
90+ config ().set (" settings" , " race_length_meters" , Model::instance ().getRaceLengthMeters ());
91+ config ().set (" settings" , " race_time" , Model::instance ().getRaceTimeSeconds ());
92+ config ().set (" settings" , " race_kph" , Model::instance ().getUsesKph ());
93+ config ().set (" settings" , " roller_diameter_mm" , Model::instance ().getRollerDiameterMm ());
94+ config ().set (" settings" , " num_racers" , Model::instance ().getNumRacers ());
95+ config ().set (" settings" , " log_races" , Model::instance ().getRaceLogging ());
96+
97+ fs::path targetPath = ci::app::getAppPath ().parent_path () / fs::path (" settings.cfg" );
98+
9899#if defined(CINDER_MAC)
99- targetPath = ci::app::Platform::get ()->expandPath (" ~/Library" ) / fs::path (" SilverSprints/settings.cfg" );
100+ targetPath = ci::app::Platform::get ()->expandPath (" ~/Library" ) / fs::path (" SilverSprints/settings.cfg" );
100101#elif defined(CINDER_MSW)
101- targetPath = getDocumentsDirectory () / fs::path (" SilverSprints/settings.cfg" );
102+ targetPath = getDocumentsDirectory () / fs::path (" SilverSprints/settings.cfg" );
102103#endif
103-
104- CI_LOG_I (" Writing settings to " << targetPath);
105-
106- auto d = ci::DataTargetPath::createRef (targetPath);
107- config ().write (d);
104+
105+ CI_LOG_I (" Writing settings to " << targetPath);
106+
107+ auto d = ci::DataTargetPath::createRef (targetPath);
108+ config ().write (d);
108109}
109110
110111void SilverSprintApp::cleanup ()
111112{
112- CI_LOG_I (" Exiting" );
113- writeSettings ();
113+ CI_LOG_I (" Exiting" );
114+ writeSettings ();
114115}
115116
116117void SilverSprintApp::resize ()
117118{
118- Rectf originalSize (0 , 0 , 1920 , 1080 );
119+ Rectf originalSize (0 ,0 , 1920 ,1080 );
119120 Model::instance ().setScale ( originalSize.getCenteredFit (getWindowBounds (), true ) );
120121}
121122
122- void SilverSprintApp::keyDown (KeyEvent event)
123+ void SilverSprintApp::keyDown ( KeyEvent event )
123124{
124- if (event.isAccelDown () || event.isControlDown ()) {
125- if (event.getChar () == ' f' ) {
126- setFullScreen (!isFullScreen ());
127- config ().set (" app" , " fullscreen" , isFullScreen ());
128- }
129- else if (event.getChar () == ' 1' ) {
130- StateManager::getInstance ()->changeAppState (APP_STATE::RACE);
131- }
132- else if (event.getChar () == ' 2' ) {
133- StateManager::getInstance ()->changeAppState (APP_STATE::ROSTER);
134- }
135- else if (event.getChar () == ' 3' ) {
136- StateManager::getInstance ()->changeAppState (APP_STATE::SETTINGS);
137- }
138- else if (event.getChar () == ' r' ) {
139- mGfxMain ->reloadShaders ();
140- }
141- }
125+ if ( event.isAccelDown () || event.isControlDown () ){
126+ if ( event.getChar () == ' f' ){
127+ setFullScreen ( !isFullScreen () );
128+ config ().set (" app" , " fullscreen" , isFullScreen ());
129+ }
130+ else if ( event.getChar () == ' 1' ){
131+ StateManager::getInstance ()->changeAppState ( APP_STATE::RACE );
132+ }
133+ else if ( event.getChar () == ' 2' ){
134+ StateManager::getInstance ()->changeAppState ( APP_STATE::ROSTER );
135+ }
136+ else if ( event.getChar () == ' 3' ){
137+ StateManager::getInstance ()->changeAppState ( APP_STATE::SETTINGS );
138+ }else if ( event.getChar () == ' r' ){
139+ mGfxMain ->reloadShaders ();
140+ }
141+ }
142142}
143143
144144void SilverSprintApp::update ()
145145{
146- mGfxMain ->update ();
146+ mGfxMain ->update ();
147147}
148148
149149void SilverSprintApp::draw ()
150150{
151- gl::clear (Color (0 , 0 , 0 ) );
152-
153- // clear out the window with black
154- gl::clear (Color (0 , 0 , 0 ) );
155-
156- gl::pushMatrices (); {
157- Rectf originalSize (0 , 0 , 1920 , 1080 );
158- Rectf scaledFit = originalSize.getCenteredFit (getWindowBounds (), true );
159-
160- float hScale = getWindowWidth () / originalSize.getWidth ();
161- float vScale = getWindowHeight () / originalSize.getHeight ();
162-
163- float scaleAmt = (hScale < vScale) ? hScale : vScale;
164-
165- gl::translate (vec2 (scaledFit.x1 , 0 ));
166- gl::scale (scaleAmt, scaleAmt);
167-
168- mGfxMain ->draw (scaledFit);
169- }gl::popMatrices ();
170-
151+ gl::clear ( Color ( 0 , 0 , 0 ) );
152+
153+ // clear out the window with black
154+ gl::clear ( Color ( 0 , 0 , 0 ) );
155+
156+ gl::pushMatrices ();{
157+ Rectf originalSize (0 ,0 , 1920 ,1080 );
158+ Rectf scaledFit = originalSize.getCenteredFit (getWindowBounds (), true );
159+
160+ float hScale = getWindowWidth () / originalSize.getWidth ();
161+ float vScale = getWindowHeight () / originalSize.getHeight ();
162+
163+ float scaleAmt = ( hScale < vScale ) ? hScale : vScale;
164+
165+ gl::translate ( vec2 (scaledFit.x1 , 0 ) );
166+ gl::scale (scaleAmt, scaleAmt);
167+
168+ mGfxMain ->draw ( scaledFit );
169+ }gl::popMatrices ();
170+
171171#if defined(DEBUG_MODE)
172- gl::drawString (to_string (getAverageFps ()), vec2 (10 , getWindowHeight () - 60 ));
173- gl::drawString (StateManager::getInstance ()->getCurrentAppStateString (), vec2 (10 , getWindowHeight () - 40 ));
174- gl::drawString (StateManager::getInstance ()->getCurrentRaceStateString (), vec2 (10 , getWindowHeight () - 20 ));
172+ gl::drawString ( to_string ( getAverageFps () ), vec2 (10 , getWindowHeight () - 60 ) );
173+ gl::drawString ( StateManager::getInstance ()->getCurrentAppStateString (), vec2 (10 , getWindowHeight () - 40 ) );
174+ gl::drawString ( StateManager::getInstance ()->getCurrentRaceStateString (), vec2 (10 , getWindowHeight () - 20 ) );
175175#endif
176176}
177177
178- CINDER_APP (SilverSprintApp, RendererGl(RendererGl::Options().msaa(8 )), [&](SilverSprintApp::Settings *settings) {
179- settings->setFrameRate (60.0 );
180- settings->setWindowSize (1280 , 700 );
181- // settings->setWindowPos((1400-1280)/2, 0 );
182- settings->setTitle (" SilverSprint" );
178+ CINDER_APP ( SilverSprintApp, RendererGl(RendererGl::Options().msaa(8 )), [&](SilverSprintApp::Settings *settings){
179+ settings->setFrameRate (60.0 );
180+ settings->setWindowSize (1280 , 700 );
181+ // settings->setWindowPos((1400-1280)/2, 0 );
182+ settings->setTitle (" SilverSprint" );
183183})
0 commit comments