diff --git a/CppOutRun.layout b/CppOutRun.layout
index 28ad034..e5bf66f 100644
--- a/CppOutRun.layout
+++ b/CppOutRun.layout
@@ -2,34 +2,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -56,29 +56,29 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -94,14 +94,14 @@
-
+
-
+
-
+
-
+
@@ -109,14 +109,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -144,29 +159,14 @@
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/fxlink-image-2022.02.28-23h13-6.png b/fxlink-image-2022.02.28-23h13-6.png
deleted file mode 100644
index 344a4ab..0000000
Binary files a/fxlink-image-2022.02.28-23h13-6.png and /dev/null differ
diff --git a/fxlink-image-2022.02.28-23h14-21.png b/fxlink-image-2022.02.28-23h14-21.png
deleted file mode 100644
index 8dcf267..0000000
Binary files a/fxlink-image-2022.02.28-23h14-21.png and /dev/null differ
diff --git a/src/include/menus.h b/src/include/menus.h
index d9512e9..4f9c4e7 100644
--- a/src/include/menus.h
+++ b/src/include/menus.h
@@ -24,7 +24,7 @@ void drawPauseQuit( void );
void getInputPauseQuit( void );
-int drawMenuCircuitDetails( int circuit, int mode );
+int drawMenuCircuitDetails( int circuit );
void getInputCircuitDetails( void );
int drawMenuBestTime( int circuit );
diff --git a/src/include/saves.h b/src/include/saves.h
index 4f19869..0effce4 100644
--- a/src/include/saves.h
+++ b/src/include/saves.h
@@ -5,8 +5,8 @@ struct BestRanking
{
char playerName[3] = { '.', '.', '.' }; // name of the player
char padding = 'Z'; // toi tu m'auras fait me gratter la tĂȘte !! Mon cochon.
- uint32_t bestScore = 9999;
- uint32_t bestTime = 9999;
+ uint32_t bestScore = 0x0FFFFFFF;
+ uint32_t bestTime = 0x0FFFFFFF;
};
diff --git a/src/main.cc b/src/main.cc
index beab657..791a4fa 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -31,7 +31,7 @@
#include
-#define DEBUGXXX 1
+#define DEBUGXXX 0
extern bopti_image_t player;
@@ -471,14 +471,14 @@ int main(void)
{
selectedCircuit = drawMenuCircuitSelect();
- if (selectedCircuit != -1) secondvalidation = drawMenuCircuitDetails( selectedCircuit, 0 );
+ if (selectedCircuit != -1) secondvalidation = drawMenuCircuitDetails( selectedCircuit );
if (selectedCircuit != -1 && secondvalidation != -1) exitflag=true;
}
else if (mode==1)
{
selectedCircuit = drawMenuCircuitSelect();
- if (selectedCircuit != -1) secondvalidation = drawMenuCircuitDetails( selectedCircuit, 1 );
+ if (selectedCircuit != -1) secondvalidation = drawMenuCircuitDetails( selectedCircuit );
if (selectedCircuit != -1 && secondvalidation != -1) secondvalidation = drawMenuBestTime( selectedCircuit );
if (selectedCircuit != -1 && secondvalidation != -1) exitflag=true;
}
@@ -534,7 +534,9 @@ int main(void)
createCircuit( selectedCircuit ); // Creates the circuit
MAX_SEGMENT = circuit.size();
- uint32_t maxDistance = (MAX_SEGMENT-nbInterestingSegments-5)*SEGMENT_LENGTH;
+ //uint32_t maxDistance = (MAX_SEGMENT-nbInterestingSegments-5)*SEGMENT_LENGTH;
+
+ double maxDistance = (double) ((MAX_SEGMENT-1)*SEGMENT_LENGTH);
putBillBoards();
@@ -559,12 +561,13 @@ int main(void)
else if (CarsNumb==3) NB_CARS_TRAFFIC=150;
else NB_CARS_TRAFFIC=75;
}
- */ else // while circular needs much less
+ */
+ else // while circular needs much less
{
- if (CarsNumb==0) NB_CARS_TRAFFIC=5;
- else if (CarsNumb==1) NB_CARS_TRAFFIC=10;
- else if (CarsNumb==2) NB_CARS_TRAFFIC=20;
- else if (CarsNumb==3) NB_CARS_TRAFFIC=30;
+ if (CarsNumb==0) NB_CARS_TRAFFIC=25;
+ else if (CarsNumb==1) NB_CARS_TRAFFIC=50;
+ else if (CarsNumb==2) NB_CARS_TRAFFIC=100;
+ else if (CarsNumb==3) NB_CARS_TRAFFIC=150;
else NB_CARS_TRAFFIC=10;
}
@@ -607,7 +610,7 @@ int main(void)
bool finishSequence = false; // Did we reached the end of the race ?
bool failSequence = false; // Did we run out of time ?
-
+ bool stopcounting = false;
while (!stop)
{
@@ -640,8 +643,8 @@ int main(void)
startRemaining = ((float) (startCount) / 100000.0);
}
- start_time -= dt*1000;
- elapsed_time += dt*1000;
+ if (!stopcounting) start_time -= dt*1000;
+ if (!stopcounting) elapsed_time += dt*1000;
if (start_time<0) start_time=0;
remaining_time = ((float) (start_time) / 1000000.0);
@@ -914,7 +917,8 @@ int main(void)
circuit[indexstart]->CheckValidated = true;
score+=20000;
finishSequence=true;
- FinalTime = elapsed_time/1000000;
+ stopcounting = true;
+ FinalTime = elapsed_time;
}
#if DEBUGXXX==1
if (usb_is_open())
@@ -937,7 +941,7 @@ int main(void)
else
{
circuit[indexstart]->CheckLap = currentLap;
- start_time += circuit[indexstart]->Extratime - handicap;
+ //start_time += circuit[indexstart]->Extratime - handicap;
circuit[indexstart]->CheckValidated = true;
}
#if DEBUGXXX==1
@@ -955,6 +959,7 @@ int main(void)
if (start_time<=0 && mode == 0)
{
failSequence=true;
+ stopcounting = true;
}
@@ -1021,13 +1026,13 @@ int main(void)
if (mode==0)
{
- dprint_opt(233,3, C_RGB(0,0,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", remaining_time );
- dprint_opt(231,1, C_RGB(255,255,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", remaining_time ); // the ';' char corresponds to "s"
+ dprint_opt(238,3, C_RGB(0,0,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", remaining_time );
+ dprint_opt(237,1, C_RGB(255,255,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", remaining_time ); // the ';' char corresponds to "s"
}
else if (mode==1)
{
- dprint_opt(233,3, C_RGB(0,0,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", elapsed_time/1000000 );
- dprint_opt(231,1, C_RGB(255,255,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", elapsed_time/1000000 ); // the ';' char corresponds to "s"
+ dprint_opt(238,3, C_RGB(0,0,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", elapsed_time/1000000 );
+ dprint_opt(237,1, C_RGB(255,255,0), C_NONE, DTEXT_RIGHT, DTEXT_TOP, "%.3D ;", elapsed_time/1000000 ); // the ';' char corresponds to "s"
}
diff --git a/src/parameters.h b/src/parameters.h
index 15f7634..ecfe142 100644
--- a/src/parameters.h
+++ b/src/parameters.h
@@ -28,7 +28,7 @@
#define std ustl
-#define IS_FXLIB 1
+#define IS_FXLIB 0
#endif // PARAMETERS_H
diff --git a/src/src/circuit.cc b/src/src/circuit.cc
index 805dbdf..f2d7683 100644
--- a/src/src/circuit.cc
+++ b/src/src/circuit.cc
@@ -75,40 +75,26 @@ void createCircuit( int circuitNumber )
addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
addCurve( L_LONG, C_EASY, LEFT_CURVE, PLAINS );
addStraightLine( L_MEDIUM, PLAINS );
- addCheckPoint( PLAINS, 60 ); // time around 66s
+ addCheckPoint( PLAINS, 55 ); // time around 66s
addStraightLine( L_MEDIUM, PLAINS );
addHill( L_MEDIUM, H_SMALL, UP_HILL, PLAINS );
addHill( L_MEDIUM, H_SMALL, DOWN_HILL, PLAINS );
addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
addStraightLine( L_VERYLONG, PLAINS );
- addCheckPoint( PLAINS, 70 ); // time around 121s = Delta: 55s
-
- addStraightLine( L_VERYLONG, PLAINS );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, PLAINS );
- addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, PLAINS );
- addStraightLine( L_MEDIUM, PLAINS );
addCheckPoint( PLAINS, 20 ); // time around 188s = Delta: 67s
addStraightLine( L_VERYSHORT, PLAINS );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, PLAINS );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, PLAINS );
addStraightLine( L_VERYSHORT, PLAINS );
- addCheckPoint( PLAINS, 60 ); // time around 204s = Delta: 16s
+ addCheckPoint( PLAINS, 55 ); // time around 204s = Delta: 16s
addStraightLine( L_MEDIUM, PLAINS );
addHill( L_MEDIUM, H_SMALL, UP_HILL, PLAINS );
addHill( L_MEDIUM, H_SMALL, DOWN_HILL, PLAINS );
addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
addStraightLine( L_VERYLONG, PLAINS );
- addCheckPoint( PLAINS, 70 ); // time around 259s = Delta: 55s
-
- addStraightLine( L_VERYLONG, PLAINS );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, PLAINS );
- addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, PLAINS );
- addStraightLine( L_MEDIUM, PLAINS );
addFinishLine( PLAINS, 0 ); // time around 326s = Delta: 67s
addStraightLine( L_VERYSHORT, PLAINS );
@@ -144,7 +130,7 @@ void createCircuit( int circuitNumber )
addStraightLine( L_VERYSHORT, DESERT );
addHill( L_MEDIUM, H_BIG, UP_HILL, DESERT );
addStraightLine( L_LONG, DESERT );
- addCheckPoint( DESERT, 30 );
+ addCheckPoint( DESERT, 28 );
addStraightLine( L_VERYSHORT, DESERT );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, DESERT );
@@ -152,16 +138,7 @@ void createCircuit( int circuitNumber )
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_EASY, RIGHT_CURVE, DESERT );
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, DESERT );
addStraightLine( L_VERYSHORT, DESERT );
- addCheckPoint( DESERT, 75 );
-
- addStraightLine( L_VERYSHORT, DESERT );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, DESERT );
- addStraightLine( L_VERYLONG, DESERT );
- addStraightLine( L_LONG, DESERT );
- addStraightLine( L_VERYLONG, DESERT );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, DESERT );
- addStraightLine( L_VERYSHORT, DESERT );
- addCheckPoint( DESERT, 35 );
+ addCheckPoint( DESERT, 29 );
addStraightLine( L_VERYSHORT, DESERT );
addCurve( L_SHORT, C_HARD, LEFT_CURVE, DESERT );
@@ -200,18 +177,7 @@ void createCircuit( int circuitNumber )
addStraightLine( L_VERYSHORT, USA );
addHill( L_MEDIUM, H_BIG, DOWN_HILL, USA );
addStraightLine( L_VERYSHORT, USA );
- addCheckPoint( USA, 80 );
-
-
- addStraightLine( L_VERYLONG, USA );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, USA );
- addStraightLine( L_VERYLONG, USA );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, USA );
- addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, USA );
- addCurvyHill( L_MEDIUM, H_MEDIUM, UP_HILL, C_HARD, LEFT_CURVE, USA );
- addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, USA );
- addStraightLine( L_MEDIUM, USA );
- addCheckPoint( USA, 70 );
+ addCheckPoint( USA, 62 );
addStraightLine( L_VERYLONG, USA );
@@ -236,17 +202,6 @@ void createCircuit( int circuitNumber )
addStraightLine( L_VERYSHORT, FINLAND );
addCheckPoint( FINLAND, 90 );
-
- addStraightLine( L_VERYSHORT, FINLAND );
- addHill( L_MEDIUM, H_BIG, UP_HILL, FINLAND );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_LONG, C_HARD, LEFT_CURVE, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, FINLAND );
- addStraightLine( L_VERYSHORT, FINLAND );
- addCheckPoint( FINLAND, 90 );
-
addStraightLine( L_VERYSHORT, FINLAND );
addCurve( L_SHORT, C_HARD, LEFT_CURVE, FINLAND );
addCurve( L_SHORT, C_HARD, RIGHT_CURVE, FINLAND );
@@ -257,19 +212,8 @@ void createCircuit( int circuitNumber )
addCurve( L_SHORT, C_HARD, LEFT_CURVE, FINLAND );
addStraightLine( L_VERYLONG, FINLAND );
addCurve( L_SHORT, C_EASY, LEFT_CURVE, FINLAND );
- addCheckPoint( FINLAND, 90 );
-
- addStraightLine( L_VERYSHORT, FINLAND );
- addHill( L_MEDIUM, H_BIG, UP_HILL, FINLAND );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_LONG, C_HARD, LEFT_CURVE, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, FINLAND );
- addStraightLine( L_VERYSHORT, FINLAND );
addCheckPoint( FINLAND, 95 );
-
addStraightLine( L_LONG, FINLAND );
addHill( L_MEDIUM, H_BIG, UP_HILL, FINLAND );
addHill( L_MEDIUM, H_BIG, DOWN_HILL, FINLAND );
@@ -295,14 +239,7 @@ void createCircuit( int circuitNumber )
addCurve( L_MEDIUM, C_MEDIUM, RIGHT_CURVE, AFRICA );
addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, AFRICA );
addStraightLine( L_VERYSHORT, AFRICA );
- addCheckPoint( AFRICA, 70 );
-
- addStraightLine( L_VERYLONG, AFRICA );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, AFRICA );
- addCurve( L_LONG, C_EASY, RIGHT_CURVE, AFRICA );
- addCurve( L_LONG, C_EASY, LEFT_CURVE, AFRICA );
- addStraightLine( L_MEDIUM, AFRICA );
- addCheckPoint( AFRICA, 40 );
+ addCheckPoint( AFRICA, 38 );
addStraightLine( L_VERYSHORT, AFRICA );
addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, AFRICA );
@@ -312,7 +249,7 @@ void createCircuit( int circuitNumber )
addStraightLine( L_VERYSHORT, AFRICA );
addHill( L_MEDIUM, H_BIG, UP_HILL, AFRICA );
addStraightLine( L_LONG, AFRICA );
- addCheckPoint( AFRICA, 30 );
+ addCheckPoint( AFRICA, 25 );
addStraightLine( L_VERYSHORT, AFRICA );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, AFRICA );
@@ -320,7 +257,7 @@ void createCircuit( int circuitNumber )
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_EASY, RIGHT_CURVE, AFRICA );
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, AFRICA );
addStraightLine( L_VERYSHORT, AFRICA );
- addCheckPoint( AFRICA, 85 );
+ addCheckPoint( AFRICA, 80 );
addStraightLine( L_VERYSHORT, AFRICA );
addHill( L_MEDIUM, H_BIG, UP_HILL, AFRICA );
@@ -330,140 +267,113 @@ void createCircuit( int circuitNumber )
addStraightLine( L_VERYLONG, AFRICA );
addCurve( L_SHORT, C_EASY, LEFT_CURVE, AFRICA );
addStraightLine( L_VERYSHORT, AFRICA );
- addCheckPoint( AFRICA, 95 );
-
- addStraightLine( L_LONG, AFRICA );
- addHill( L_MEDIUM, H_BIG, UP_HILL, AFRICA );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, AFRICA );
- addStraightLine( L_VERYLONG, AFRICA );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, AFRICA );
- addStraightLine( L_VERYLONG, AFRICA );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, AFRICA );
- addStraightLine( L_LONG, AFRICA );
addFinishLine( AFRICA, 0 );
addStraightLine( L_VERYSHORT, AFRICA );
}
- if (circuitNumber==5)
+ else if (circuitNumber==5)
{
addStraightLine( L_VERYSHORT, PLAINS );
- addStartLine( PLAINS, 30 );
+ addStartLine( PLAINS, 43 );
+
addStraightLine( L_VERYSHORT, PLAINS );
addCurve( L_SHORT, C_HARD, LEFT_CURVE, PLAINS );
+ addStraightLine( L_VERYSHORT, PLAINS );
addCurve( L_SHORT, C_HARD, RIGHT_CURVE, PLAINS );
- addFinishLine( PLAINS, 30 );
+ addHill( L_MEDIUM, H_SMALL, UP_HILL, PLAINS );
+ addStraightLine( L_SHORT, PLAINS );
+ addHill( L_MEDIUM, H_SMALL, DOWN_HILL, PLAINS );
+ addCurve( L_LONG, C_EASY, RIGHT_CURVE, PLAINS );
+ addStraightLine( L_VERYSHORT, PLAINS );
+
+ addFinishLine( PLAINS, 43 );
addStraightLine( L_VERYSHORT, PLAINS );
}
else if (circuitNumber==6)
{
- addStartLine( DESERT, 30 );
- addStraightLine( L_VERYSHORT, DESERT );
- addStraightLine( L_VERYSHORT, DESERT );
- addStraightLine( L_VERYSHORT, DESERT );
- addStraightLine( L_VERYSHORT, DESERT );
addStraightLine( L_VERYSHORT, DESERT );
+ addStartLine( DESERT, 60 );
+
+ addStraightLine( L_LONG, DESERT );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, DESERT );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, DESERT );
+ addStraightLine( L_VERYSHORT, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, DESERT );
addStraightLine( L_VERYSHORT, DESERT );
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, DESERT );
- addCheckPoint( DESERT, 30 );
addStraightLine( L_VERYSHORT, DESERT );
- addCheckPoint( DESERT, 30 );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, DESERT );
- addCurve( L_SHORT, C_HARD, RIGHT_CURVE, DESERT );
- addStraightLine( L_LONG, DESERT );
- addHill( L_MEDIUM, H_BIG, UP_HILL, DESERT );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, DESERT );
- addStraightLine( L_VERYLONG, DESERT );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, DESERT );
- addStraightLine( L_VERYLONG, DESERT );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, DESERT );
- addCheckPoint( DESERT, 30 );
- addFinishLine( DESERT, 30 );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, DESERT );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, DESERT );
+ addStraightLine( L_VERYSHORT, DESERT );
+
+ addFinishLine( DESERT, 60 );
addStraightLine( L_VERYSHORT, DESERT );
}
else if (circuitNumber==7)
{
- addStartLine( USA, 30 );
- addStraightLine( L_VERYSHORT, USA );
- addStraightLine( L_VERYSHORT, USA );
- addStraightLine( L_VERYSHORT, USA );
addStraightLine( L_VERYSHORT, USA );
+ addStartLine( USA, 53 );
+
addStraightLine( L_VERYSHORT, USA );
+ addCurvyHill( L_MEDIUM, H_MEDIUM, UP_HILL, C_HARD, RIGHT_CURVE, USA );
addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, USA );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, USA );
+ addStraightLine( L_SHORT, USA );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, USA );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, USA );
addStraightLine( L_VERYSHORT, USA );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, USA );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, USA );
+ addStraightLine( L_SHORT, USA );
+ addCurvyHill( L_MEDIUM, H_MEDIUM, DOWN_HILL, C_HARD, LEFT_CURVE, USA );
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, USA );
- addCheckPoint( USA, 30 );
- addStraightLine( L_VERYSHORT, USA );
- addCheckPoint( USA, 30 );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, USA );
- addCurve( L_SHORT, C_HARD, RIGHT_CURVE, USA );
- addStraightLine( L_LONG, USA );
- addHill( L_MEDIUM, H_BIG, UP_HILL, USA );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, USA );
- addStraightLine( L_VERYLONG, USA );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, USA );
- addStraightLine( L_VERYLONG, USA );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, USA );
- addCheckPoint( USA, 30 );
- addFinishLine( USA, 30 );
+ addStraightLine( L_SHORT, USA );
+
+ addFinishLine( USA, 53 );
addStraightLine( L_VERYSHORT, USA );
}
else if (circuitNumber==8)
{
- addStartLine( FINLAND, 30 );
addStraightLine( L_VERYSHORT, FINLAND );
+ addStartLine( FINLAND, 68 );
+
addStraightLine( L_VERYSHORT, FINLAND );
- addStraightLine( L_VERYSHORT, FINLAND );
- addStraightLine( L_VERYSHORT, FINLAND );
- addStraightLine( L_VERYSHORT, FINLAND );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, FINLAND );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, FINLAND );
+ addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_EASY, LEFT_CURVE, FINLAND );
+ addCurvyHill( L_MEDIUM, H_SMALL, UP_HILL, C_MEDIUM, LEFT_CURVE, FINLAND );
addStraightLine( L_VERYSHORT, FINLAND );
addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, FINLAND );
- addCheckPoint( FINLAND, 30 );
+ addCurvyHill( L_MEDIUM, H_SMALL, DOWN_HILL, C_MEDIUM, LEFT_CURVE, FINLAND );
+ addCurve( L_SHORT, C_MEDIUM, LEFT_CURVE, FINLAND );
+ addCurve( L_SHORT, C_MEDIUM, RIGHT_CURVE, FINLAND );
addStraightLine( L_VERYSHORT, FINLAND );
- addCheckPoint( FINLAND, 30 );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, FINLAND );
- addCurve( L_SHORT, C_HARD, RIGHT_CURVE, FINLAND );
- addStraightLine( L_LONG, FINLAND );
- addHill( L_MEDIUM, H_BIG, UP_HILL, FINLAND );
- addHill( L_MEDIUM, H_BIG, DOWN_HILL, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, FINLAND );
- addStraightLine( L_VERYLONG, FINLAND );
- addCurve( L_SHORT, C_EASY, LEFT_CURVE, FINLAND );
- addCheckPoint( FINLAND, 30 );
- addFinishLine( FINLAND, 30 );
+ addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_EASY, LEFT_CURVE, FINLAND );
+ addCurvyHill( L_MEDIUM, H_SMALL, UP_HILL, C_MEDIUM, LEFT_CURVE, FINLAND );
+ addStraightLine( L_VERYSHORT, FINLAND );
+ addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, FINLAND );
+ addCurvyHill( L_MEDIUM, H_SMALL, DOWN_HILL, C_MEDIUM, LEFT_CURVE, FINLAND );
+ addStraightLine( L_VERYSHORT, FINLAND );
+
+ addFinishLine( FINLAND, 68 );
addStraightLine( L_VERYSHORT, FINLAND );
}
else if (circuitNumber==9)
{
- addStartLine( AFRICA, 30 );
addStraightLine( L_VERYSHORT, AFRICA );
+ addStartLine( AFRICA, 84 );
+
addStraightLine( L_VERYSHORT, AFRICA );
- addStraightLine( L_VERYSHORT, AFRICA );
- addStraightLine( L_VERYSHORT, AFRICA );
- addStraightLine( L_VERYSHORT, AFRICA );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, AFRICA );
- addCurvyHill( L_MEDIUM, H_BIG, UP_HILL, C_HARD, LEFT_CURVE, AFRICA );
- addStraightLine( L_VERYSHORT, AFRICA );
- addCurvyHill( L_MEDIUM, H_BIG, DOWN_HILL, C_HARD, RIGHT_CURVE, AFRICA );
- addCheckPoint( AFRICA, 30 );
- addStraightLine( L_VERYSHORT, AFRICA );
- addCheckPoint( AFRICA, 30 );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, AFRICA );
- addCurve( L_SHORT, C_HARD, RIGHT_CURVE, AFRICA );
- addStraightLine( L_LONG, AFRICA );
addHill( L_MEDIUM, H_BIG, UP_HILL, AFRICA );
addHill( L_MEDIUM, H_BIG, DOWN_HILL, AFRICA );
addStraightLine( L_VERYLONG, AFRICA );
- addCurve( L_SHORT, C_HARD, LEFT_CURVE, AFRICA );
+ addCurve( L_LONG, C_HARD, LEFT_CURVE, AFRICA );
addStraightLine( L_VERYLONG, AFRICA );
addCurve( L_SHORT, C_EASY, LEFT_CURVE, AFRICA );
- addCheckPoint( AFRICA, 30 );
- addFinishLine( AFRICA, 30 );
+ addStraightLine( L_VERYSHORT, AFRICA );
+
+ addFinishLine( AFRICA, 84 );
addStraightLine( L_VERYSHORT, AFRICA );
}
};
diff --git a/src/src/menus.cc b/src/src/menus.cc
index 14ecd8a..6bd417a 100644
--- a/src/src/menus.cc
+++ b/src/src/menus.cc
@@ -712,28 +712,28 @@ void drawGameOptions( void )
if (CarsNumb==0)
+ {
+ dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <50>" );
+ if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <50>" );
+ else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <50>" );
+ }
+ else if (CarsNumb==1)
{
dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <100>" );
if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <100>" );
else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <100>" );
}
- else if (CarsNumb==1)
+ else if (CarsNumb==2)
{
dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <200>" );
if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <200>" );
else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <200>" );
}
- else if (CarsNumb==2)
- {
- dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <500>" );
- if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <500>" );
- else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <500>" );
- }
else if (CarsNumb==3)
{
- dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <1000>" );
- if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <1000>" );
- else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <1000>" );
+ dprint_opt(94, 52, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <300>" );
+ if (GameOptionsSelection!=1) dprint_opt(92, 50, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <300>" );
+ else dprint_opt(92, 50, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "CARS <300>" );
}
dprint_opt(94, 82, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "PLAYER" );
@@ -998,7 +998,7 @@ void getInputPauseQuit( void )
-int drawMenuCircuitDetails( int circuit, int mode )
+int drawMenuCircuitDetails( int circuit )
{
uint16_t pulse=0;
doneMenuDetailsCircuit = false;
@@ -1185,15 +1185,18 @@ int drawMenuBestTime( int circuit )
for( int k=0; k<5; k++)
{
- if (HallOfFame[circuit][k].bestTime != 9999)
+ if (HallOfFame[circuit][k].bestTime != 0x0FFFFFFF)
{
- dprint_opt(12, 40+k*30, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - %D sec", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], HallOfFame[circuit][k].bestTime );
- dprint_opt(12, 38+k*30, C_RGB(255, 255, 255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - %D sec", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], HallOfFame[circuit][k].bestTime );
+ uint32_t temp1 = HallOfFame[circuit][k].bestTime/1000000/60;
+ uint32_t temp2 = HallOfFame[circuit][k].bestTime/1000000 - temp1*60;
+ uint32_t temp3 = (HallOfFame[circuit][k].bestTime - temp1*60*1000000 - temp2*1000000)/1000;
+ dprint_opt(12, 40+k*30, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - %D:%D,%D", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], temp1, temp2, temp3 );
+ dprint_opt(12, 38+k*30, C_RGB(255, 255, 255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - %D:%D,%D", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], temp1, temp2, temp3 );
}
else
{
- dprint_opt(12, 40+k*30, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - ... sec", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], HallOfFame[circuit][k].bestTime );
- dprint_opt(12, 38+k*30, C_RGB(255, 255, 255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d %c%c%c - ... sec", k+1, HallOfFame[circuit][k].playerName[0],HallOfFame[circuit][k].playerName[1],HallOfFame[circuit][k].playerName[2], HallOfFame[circuit][k].bestTime );
+ dprint_opt(12, 40+k*30, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d ... - ...", k+1 );
+ dprint_opt(12, 38+k*30, C_RGB(255, 255, 255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%d ... - ...", k+1 );
}
}
diff --git a/src/src/saves.cc b/src/src/saves.cc
index 0d580ad..e4ee539 100644
--- a/src/src/saves.cc
+++ b/src/src/saves.cc
@@ -17,7 +17,6 @@ void is_save_existing( void )
if (file==NULL)
{
- fclose( file );
saveexist = false;
}
else