5252
5353#include " Highscore.h"
5454
55- void HSEntry::setStartTime (double t)
56- {
57- startTime = t;
58- }
5955
6056void HSEntry::setInterimTime (double t)
6157{
@@ -65,17 +61,26 @@ void HSEntry::setInterimTime(double t)
6561 InterimLabel->setLabel (number);
6662}
6763
68- void HSEntry::setEndTime (double t)
64+ void HSEntry::setStartTime (double t)
6965{
70- endTime = t;
66+ startTime = t;
7167 char number[100 ];
7268 sprintf (number, " %03.3f" , getLapTime ());
7369 LapLabel->setLabel (number);
7470}
7571
72+ void HSEntry::setFinishTime (double t)
73+ {
74+ finishTime = t;
75+ char number[100 ];
76+ sprintf (number, " %03.3f" , getLapTime ());
77+ LapLabel->setLabel (number);
78+ }
79+
80+
7681double HSEntry::getLapTime ()
7782{
78- return endTime - startTime;
83+ return finishTime - startTime;
7984}
8085
8186double HSEntry::getInterimTimeDiff ()
@@ -101,17 +106,17 @@ void HSEntry::setPos(int p)
101106 InterimLabel->setPos ((pos / 20 ) * 4 + 3 , (pos % 20 ));
102107}
103108
104- void HSEntry::reset ()
109+ void HSEntry::reset (double t )
105110{
106- startTime = 0 ;
107- endTime = 0 ;
111+ startTime = t ;
112+ finishTime = 0 ;
108113 interimTime = 0 ;
109114}
110115
111116HSEntry::HSEntry (Highscore *h)
112117{
113118 startTime = 0 ;
114- endTime = 0 ;
119+ finishTime = 0 ;
115120 interimTime = 0 ;
116121 hs = h;
117122 PosLabel = new coTUILabel (" X" , hs->HighscoreTab ->getID ());
@@ -132,8 +137,8 @@ void VrmlNodeHighscore::initFields(VrmlNodeHighscore *node, VrmlNodeType *t)
132137{
133138 VrmlNodeChild::initFields (node, t); // Parent class
134139 initFieldsHelper (node, t,
135- eventInCallBack<VrmlSFTime>(" startTime " , [node](auto fieldValue){
136- Highscore::instance ()->setStartTime (fieldValue->get ());
140+ eventInCallBack<VrmlSFTime>(" finishTime " , [node](auto fieldValue){
141+ Highscore::instance ()->setFinishTime (fieldValue->get ());
137142 }),
138143 eventInCallBack<VrmlSFTime>(" interimTime" , [node](auto fieldValue){
139144 Highscore::instance ()->setInterimTime (fieldValue->get ());
@@ -180,9 +185,9 @@ void VrmlNodeHighscore::eventIn(double timeStamp,
180185 const char *eventName,
181186 const VrmlField *fieldValue)
182187{
183- if (strcmp (eventName, " startTime " ) == 0 )
188+ if (strcmp (eventName, " finishTime " ) == 0 )
184189 {
185- Highscore::instance ()->setStartTime (fieldValue->toSFTime ()->get ());
190+ Highscore::instance ()->setFinishTime (fieldValue->toSFTime ()->get ());
186191 }
187192 else if (strcmp (eventName, " interimTime" ) == 0 )
188193 {
@@ -268,11 +273,11 @@ Highscore::~Highscore()
268273}
269274
270275void
271- Highscore::setStartTime (double t)
276+ Highscore::setFinishTime (double t)
272277{
273278 if (passedInterim) // we finised a lap
274279 {
275- currentEntry->setEndTime (t);
280+ currentEntry->setFinishTime (t);
276281 std::list<HSEntry *>::iterator hs;
277282 for (hs = hsEntries.begin (); hs != hsEntries.end (); ++hs)
278283 {
@@ -308,7 +313,7 @@ Highscore::setStartTime(double t)
308313 }
309314 save (); // save highscore table
310315 }
311- currentEntry->setStartTime (t);
316+ currentEntry->setFinishTime (t);
312317 passedInterim = false ;
313318}
314319
@@ -319,10 +324,13 @@ Highscore::setInterimTime(double t)
319324 passedInterim = true ;
320325}
321326
327+
328+
322329void
323- Highscore::setResetTime (double )
330+ Highscore::setResetTime (double t )
324331{
325- currentEntry->reset ();
332+ currentEntry->reset (t);
333+ fprintf (stderr, " Resetting Time to %f \n " ,t);
326334 passedInterim = false ;
327335}
328336
@@ -360,7 +368,7 @@ void Highscore::load()
360368 char *name = xercesc::XMLString::transcode (node->getAttribute (t1 = xercesc::XMLString::transcode (" name" ))); xercesc::XMLString::release (&t1);
361369 char *startTime = xercesc::XMLString::transcode (node->getAttribute (t1 = xercesc::XMLString::transcode (" startTime" ))); xercesc::XMLString::release (&t1);
362370 char *interimTime = xercesc::XMLString::transcode (node->getAttribute (t1 = xercesc::XMLString::transcode (" interimTime" ))); xercesc::XMLString::release (&t1);
363- char *endTime = xercesc::XMLString::transcode (node->getAttribute (t1 = xercesc::XMLString::transcode (" endTime " ))); xercesc::XMLString::release (&t1);
371+ char *finishTime = xercesc::XMLString::transcode (node->getAttribute (t1 = xercesc::XMLString::transcode (" finishTime " ))); xercesc::XMLString::release (&t1);
364372 HSEntry *he = new HSEntry (this );
365373 double d;
366374 int posi;
@@ -372,14 +380,14 @@ void Highscore::load()
372380 he->setStartTime (d);
373381 sscanf (interimTime, " %lf" , &d);
374382 he->setInterimTime (d);
375- sscanf (endTime , " %lf" , &d);
376- he->setEndTime (d);
383+ sscanf (finishTime , " %lf" , &d);
384+ he->setFinishTime (d);
377385 hsEntries.push_back (he);
378386 xercesc::XMLString::release (&pos);
379387 xercesc::XMLString::release (&name);
380388 xercesc::XMLString::release (&startTime);
381389 xercesc::XMLString::release (&interimTime);
382- xercesc::XMLString::release (&endTime );
390+ xercesc::XMLString::release (&finishTime );
383391 }
384392 }
385393}
@@ -404,8 +412,8 @@ void Highscore::save()
404412 hsElement->setAttribute (t1 = xercesc::XMLString::transcode (" startTime" ), t2 = xercesc::XMLString::transcode (number)); xercesc::XMLString::release (&t1); xercesc::XMLString::release (&t2);
405413 sprintf (number, " %lf" , (*hs)->getInterimTime ());
406414 hsElement->setAttribute (t1 = xercesc::XMLString::transcode (" interimTime" ), t2 = xercesc::XMLString::transcode (number)); xercesc::XMLString::release (&t1); xercesc::XMLString::release (&t2);
407- sprintf (number, " %lf" , (*hs)->getEndTime ());
408- hsElement->setAttribute (t1 = xercesc::XMLString::transcode (" endTime " ), t2 = xercesc::XMLString::transcode (number)); xercesc::XMLString::release (&t1); xercesc::XMLString::release (&t2);
415+ sprintf (number, " %lf" , (*hs)->getFinishTime ());
416+ hsElement->setAttribute (t1 = xercesc::XMLString::transcode (" finishTime " ), t2 = xercesc::XMLString::transcode (number)); xercesc::XMLString::release (&t1); xercesc::XMLString::release (&t2);
409417 rootElement->appendChild (hsElement);
410418 }
411419
0 commit comments