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