corrected bug in name entering + working on OC option
This commit is contained in:
parent
fe8c7fcf59
commit
0824423545
|
@ -11,6 +11,7 @@ find_package(LibProf 2.4 REQUIRED)
|
|||
|
||||
set(SOURCES
|
||||
src/main.cc
|
||||
src/clock.cc
|
||||
src/src/segment.cc
|
||||
src/src/camera.cc
|
||||
src/src/circuit.cc
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
<Unit filename="TODO.txt" />
|
||||
<Unit filename="assets-cg/fxconv-metadata.txt" />
|
||||
<Unit filename="assets-cg/traffic/fxconv-metadata.txt" />
|
||||
<Unit filename="src/clock.cc" />
|
||||
<Unit filename="src/clock.h" />
|
||||
<Unit filename="src/colors.h" />
|
||||
<Unit filename="src/fixed.h" />
|
||||
<Unit filename="src/include/camera.h" />
|
||||
|
@ -52,6 +54,15 @@
|
|||
<Unit filename="src/src/segment.cc" />
|
||||
<Unit filename="src/src/utils.cc" />
|
||||
<Extensions>
|
||||
<DoxyBlocks>
|
||||
<comment_style block="2" line="2" />
|
||||
<doxyfile_project />
|
||||
<doxyfile_build />
|
||||
<doxyfile_warnings />
|
||||
<doxyfile_output />
|
||||
<doxyfile_dot />
|
||||
<general />
|
||||
</DoxyBlocks>
|
||||
<lib_finder disable_auto="1" />
|
||||
</Extensions>
|
||||
</Project>
|
||||
|
|
180
CppOutRun.layout
180
CppOutRun.layout
|
@ -2,9 +2,22 @@
|
|||
<CodeBlocks_layout_file>
|
||||
<FileVersion major="1" minor="0" />
|
||||
<ActiveTarget name="Release" />
|
||||
<File name="src/include/menus.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="src/src/drawstuff.cc" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="505" topLine="0" />
|
||||
<Cursor1 position="2807" topLine="14" />
|
||||
</Cursor>
|
||||
<Folding>
|
||||
<Collapse line="9" />
|
||||
<Collapse line="33" />
|
||||
<Collapse line="40" />
|
||||
<Collapse line="46" />
|
||||
<Collapse line="76" />
|
||||
<Collapse line="131" />
|
||||
</Folding>
|
||||
</File>
|
||||
<File name="src/fixed.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="5" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/camera.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
|
@ -12,9 +25,39 @@
|
|||
<Cursor1 position="221" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/segment.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="src/include/utils.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="783" topLine="3" />
|
||||
<Cursor1 position="107" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/drawstuff.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="655" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="CMakeLists.txt" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="302" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/clock.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="515" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/clock.cc" open="1" top="1" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="5691" topLine="162" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/saves.cc" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="294" topLine="2" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/segment.cc" open="0" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="410" topLine="29" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/saves.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
|
@ -27,44 +70,19 @@
|
|||
<Cursor1 position="1019" topLine="8" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/colors.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="35" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/clouds.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="306" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="TODO.txt" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="251" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/menus.cc" open="1" top="1" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="109" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/utils.cc" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="30" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/colors.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="35" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/circuit.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="1093" topLine="57" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/saves.cc" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="294" topLine="2" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/utils.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="107" topLine="0" />
|
||||
<Cursor1 position="1093" topLine="47" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/clouds.cc" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
|
@ -72,6 +90,43 @@
|
|||
<Cursor1 position="203" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/menus.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="505" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/menus.cc" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="27835" topLine="761" />
|
||||
</Cursor>
|
||||
<Folding>
|
||||
<Collapse line="116" />
|
||||
</Folding>
|
||||
</File>
|
||||
<File name="src/main.cc" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="-2" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="13032" topLine="337" />
|
||||
</Cursor>
|
||||
<Folding>
|
||||
<Collapse line="141" />
|
||||
<Collapse line="193" />
|
||||
</Folding>
|
||||
</File>
|
||||
<File name="src/include/cars.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="412" topLine="1" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/camera.cc" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="370" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/parameters.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="505" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/circuit.cc" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="31927" topLine="269" />
|
||||
|
@ -99,62 +154,19 @@
|
|||
<Collapse line="1175" />
|
||||
</Folding>
|
||||
</File>
|
||||
<File name="src/src/drawstuff.cc" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="src/include/segment.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="2807" topLine="14" />
|
||||
</Cursor>
|
||||
<Folding>
|
||||
<Collapse line="9" />
|
||||
<Collapse line="33" />
|
||||
<Collapse line="40" />
|
||||
<Collapse line="46" />
|
||||
<Collapse line="76" />
|
||||
<Collapse line="131" />
|
||||
</Folding>
|
||||
</File>
|
||||
<File name="src/src/camera.cc" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="370" topLine="0" />
|
||||
<Cursor1 position="783" topLine="3" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="CMakeLists.txt" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="TODO.txt" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="3090" topLine="86" />
|
||||
<Cursor1 position="251" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/parameters.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="src/include/clouds.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="505" topLine="0" />
|
||||
<Cursor1 position="306" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/fixed.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="5" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/drawstuff.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="655" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/src/segment.cc" open="0" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="410" topLine="29" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/include/cars.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="412" topLine="1" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="src/main.cc" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="-2" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="10192" topLine="204" />
|
||||
</Cursor>
|
||||
<Folding>
|
||||
<Collapse line="133" />
|
||||
<Collapse line="185" />
|
||||
<Collapse line="331" />
|
||||
</Folding>
|
||||
</File>
|
||||
</CodeBlocks_layout_file>
|
||||
|
|
|
@ -0,0 +1,198 @@
|
|||
#include "clock.h"
|
||||
#include <gint/hardware.h>
|
||||
#include <gint/defs/types.h>
|
||||
#include <gint/cpu.h>
|
||||
#include <gint/mpu/bsc.h>
|
||||
#include <gint/mpu/cpg.h>
|
||||
|
||||
|
||||
#define FLLFRQ_default 0x00004384
|
||||
#define FRQCR_default 0x0F011112
|
||||
|
||||
#define CS0BCR_default 0x36DA0400 // CG50
|
||||
#define CS2BCR_default 0x36DA3400 // CG50
|
||||
#define CS3BCR_default 0x36DB4400 // CG50
|
||||
#define CS4BCR_default 0x36DB0400
|
||||
#define CS5aBCR_default 0x17DF0400
|
||||
#define CS5bBCR_default 0x17DF0400
|
||||
#define CS6aBCR_default 0x34D30200
|
||||
#define CS6bBCR_default 0x34D30200
|
||||
|
||||
#define CS0WCR_default 0x000003C0 // CG50
|
||||
#define CS2WCR_default 0x000003C0 // CG50
|
||||
#define CS3WCR_default 0x000024D1 // CG50
|
||||
#define CS4WCR_default 0x00000540
|
||||
#define CS5aWCR_default 0x000203C1
|
||||
#define CS5bWCR_default 0x000203C1
|
||||
#define CS6aWCR_default 0x000302C0
|
||||
#define CS6bWCR_default 0x000302C0
|
||||
#define SDCR_default 0x00000A08
|
||||
|
||||
#define PLL_32x 0b011111 //
|
||||
#define PLL_26x 0b011001 //
|
||||
#define PLL_16x 0b001111 // default
|
||||
|
||||
#define DIV_2 0b0000 // 1/2
|
||||
#define DIV_4 0b0001 // 1/4
|
||||
#define DIV_8 0b0010 // 1/8
|
||||
#define DIV16 0b0011 // 1/16
|
||||
|
||||
#define WAIT18 0b1011
|
||||
|
||||
#define CPG SH7305_CPG
|
||||
#define BSC SH7305_BSC
|
||||
#define SDMR3_CL2 *(volatile uint8_t *)0xFEC15040 // SDMR2 Address
|
||||
#define SDMR3_CL3 *(volatile uint8_t *)0xFEC15060 // SDMR2 Address
|
||||
|
||||
static overclock_level current_clock_state = OC_Default;
|
||||
bool overclock_config_changed = false;
|
||||
|
||||
|
||||
void SetOCDefault( void )
|
||||
{
|
||||
BSC.CS0WCR.WR = WAIT18;
|
||||
|
||||
CPG.FLLFRQ.lword = FLLFRQ_default;
|
||||
CPG.FRQCR.lword = FRQCR_default;
|
||||
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0)
|
||||
|
||||
BSC.CS0BCR.lword = CS0BCR_default;
|
||||
BSC.CS0WCR.lword = CS0WCR_default;
|
||||
BSC.CS2BCR.lword = CS2BCR_default;
|
||||
BSC.CS2WCR.lword = CS2WCR_default;
|
||||
BSC.CS3BCR.lword = CS3BCR_default;
|
||||
BSC.CS3WCR.lword = CS3WCR_default;
|
||||
|
||||
if ( BSC.CS3WCR.A3CL == 1 ) SDMR3_CL2 = 0; else SDMR3_CL3 = 0;
|
||||
|
||||
BSC.CS5ABCR.lword = CS5aBCR_default;
|
||||
BSC.CS5AWCR.lword = CS5aWCR_default;
|
||||
}
|
||||
|
||||
void SetOCPtuneF2( void )
|
||||
{
|
||||
BSC.CS0WCR.WR = WAIT18;
|
||||
|
||||
CPG.FLLFRQ.lword = 0x00004000+900;
|
||||
CPG.FRQCR.lword = (PLL_16x<<24)+(DIV_4<<20)+(DIV_8<<12)+(DIV_8<<8)+DIV_8;
|
||||
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0)
|
||||
|
||||
BSC.CS0BCR.lword = 0x24920400;
|
||||
BSC.CS0WCR.lword = 0x00000340;
|
||||
BSC.CS2BCR.lword = 0x24923400;
|
||||
BSC.CS2WCR.lword = CS2WCR_default;
|
||||
BSC.CS3BCR.lword = 0x24924400;
|
||||
BSC.CS3WCR.lword = CS3WCR_default;
|
||||
|
||||
if ( BSC.CS3WCR.A3CL == 1 ) SDMR3_CL2 = 0; else SDMR3_CL3 = 0;
|
||||
|
||||
BSC.CS5ABCR.lword = CS5aBCR_default;
|
||||
BSC.CS5AWCR.lword = CS5aWCR_default;
|
||||
}
|
||||
|
||||
void SetOCPtuneF3( void )
|
||||
{
|
||||
BSC.CS0WCR.WR = WAIT18;
|
||||
|
||||
CPG.FLLFRQ.lword = 0x00004000+900;
|
||||
CPG.FRQCR.lword = (PLL_26x<<24)+(DIV_4<<20)+(DIV_8<<12)+(DIV_8<<8)+DIV_8;
|
||||
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0)
|
||||
|
||||
BSC.CS0BCR.lword = 0x24920400;
|
||||
BSC.CS0WCR.lword = 0x00000240;
|
||||
BSC.CS2BCR.lword = 0x24923400;
|
||||
BSC.CS2WCR.lword = CS2WCR_default;
|
||||
BSC.CS3BCR.lword = 0x24924400;
|
||||
BSC.CS3WCR.lword = CS3WCR_default;
|
||||
|
||||
if ( BSC.CS3WCR.A3CL == 1 ) SDMR3_CL2 = 0; else SDMR3_CL3 = 0;
|
||||
|
||||
BSC.CS5ABCR.lword = CS5aBCR_default;
|
||||
BSC.CS5AWCR.lword = CS5aWCR_default;
|
||||
}
|
||||
|
||||
void SetOCPtuneF4( void )
|
||||
{
|
||||
BSC.CS0WCR.WR = WAIT18;
|
||||
|
||||
CPG.FLLFRQ.lword = 0x00004000+900;
|
||||
CPG.FRQCR.lword = (PLL_32x<<24)+(DIV_2<<20)+(DIV_4<<12)+(DIV_8<<8)+DIV16;
|
||||
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0)
|
||||
|
||||
|
||||
BSC.CS0BCR.lword = 0x24920400;
|
||||
BSC.CS0WCR.lword = 0x000002C0;
|
||||
BSC.CS2BCR.lword = 0x24923400;
|
||||
BSC.CS2WCR.lword = CS2WCR_default;
|
||||
BSC.CS3BCR.lword = 0x24924400;
|
||||
BSC.CS3WCR.lword = CS3WCR_default;
|
||||
BSC.CS5ABCR.lword = CS5aBCR_default;
|
||||
BSC.CS5AWCR.lword = CS5aWCR_default;
|
||||
}
|
||||
|
||||
void SetOCPtuneF5( void )
|
||||
{
|
||||
BSC.CS0WCR.WR = WAIT18;
|
||||
|
||||
CPG.FLLFRQ.lword = 0x00004000+900;
|
||||
CPG.FRQCR.lword = (PLL_26x<<24)+(DIV_2<<20)+(DIV_4<<12)+(DIV_4<<8)+DIV_8;
|
||||
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0)
|
||||
|
||||
BSC.CS0BCR.lword = 0x24920400;
|
||||
BSC.CS0WCR.lword = 0x00000440;
|
||||
BSC.CS2BCR.lword = 0x24923400;
|
||||
BSC.CS2WCR.lword = CS2WCR_default;
|
||||
BSC.CS3BCR.lword = 0x24924400;
|
||||
BSC.CS3WCR.lword = CS3WCR_default;
|
||||
|
||||
if ( BSC.CS3WCR.A3CL == 1 ) SDMR3_CL2 = 0; else SDMR3_CL3 = 0;
|
||||
|
||||
BSC.CS5ABCR.lword = CS5aBCR_default;
|
||||
BSC.CS5AWCR.lword = CS5aWCR_default;
|
||||
}
|
||||
|
||||
|
||||
// return 0 if no need to change
|
||||
// return 1 if successful change
|
||||
// return -1 on error
|
||||
|
||||
int clock_overclock( overclock_level level )
|
||||
{
|
||||
uint32_t count=0;
|
||||
|
||||
if(gint[HWCALC] == HWCALC_FXCG50 && current_clock_state!=level)
|
||||
{
|
||||
cpu_atomic_start();
|
||||
|
||||
if (level == OC_Default && current_clock_state!=OC_Default) SetOCDefault(), current_clock_state= OC_Default, overclock_config_changed=true;
|
||||
if (level == OC_PtuneF2 && current_clock_state!=OC_PtuneF2) SetOCPtuneF2(), current_clock_state= OC_PtuneF2, overclock_config_changed=true;
|
||||
if (level == OC_PtuneF3 && current_clock_state!=OC_PtuneF3) SetOCPtuneF3(), current_clock_state= OC_PtuneF3, overclock_config_changed=true;
|
||||
if (level == OC_PtuneF4 && current_clock_state!=OC_PtuneF4) SetOCPtuneF4(), current_clock_state= OC_PtuneF4, overclock_config_changed=true;
|
||||
if (level == OC_PtuneF5 && current_clock_state!=OC_PtuneF5) SetOCPtuneF5(), current_clock_state= OC_PtuneF5, overclock_config_changed=true;
|
||||
/*
|
||||
if (overclock_config_changed==true)
|
||||
{
|
||||
CPG.FRQCR.KICK = 1 ;
|
||||
while((CPG.LSTATS & 1)!=0 && count<=1000)
|
||||
{ count++; }
|
||||
}
|
||||
*/
|
||||
cpu_atomic_end();
|
||||
|
||||
// if (count >= 1000) return -1;
|
||||
// else return 1;
|
||||
return 1;
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
#ifndef OVERCLOCK_H
|
||||
#define OVERCLOCK_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
OC_Default = 0, // Default (118MHz)
|
||||
OC_PtuneF2 = 1, // 59MHz
|
||||
OC_PtuneF3 = 2, // 96MHz
|
||||
OC_PtuneF4 = 3, // 236MHz
|
||||
OC_PtuneF5 = 4 // 191MHz
|
||||
} overclock_level;
|
||||
|
||||
|
||||
// return 0 if no need to change
|
||||
// return 1 if successful change
|
||||
// return -1 on error
|
||||
|
||||
int clock_overclock( overclock_level level );
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* OVERCLOCK_H */
|
25
src/main.cc
25
src/main.cc
|
@ -31,10 +31,12 @@
|
|||
#include <stdio.h>
|
||||
|
||||
|
||||
#include "clock.h"
|
||||
|
||||
#define DEBUGXXX 0
|
||||
|
||||
|
||||
char version[5] = {'V','1','.','0','3'};
|
||||
char version[5] = {'V','1','.','0','4'};
|
||||
|
||||
|
||||
extern bopti_image_t player;
|
||||
|
@ -100,6 +102,9 @@ bool BDrawCars = true;
|
|||
bool BDrawBack = true;
|
||||
bool BDrawFPS = false;
|
||||
|
||||
bool isOCPossible = false;
|
||||
bool isOCActivated = false;
|
||||
|
||||
bool OptionMode = false;
|
||||
bool PauseMode = false;
|
||||
bool SkipTime = false;
|
||||
|
@ -405,6 +410,13 @@ int main(void)
|
|||
bool canWeAllocate3Mb = false;
|
||||
|
||||
|
||||
//Check if we can overclock i.e. if we have a CG50/Graph 90+E
|
||||
if (gint[HWCALC] == HWCALC_FXCG50)
|
||||
isOCPossible = true;
|
||||
else
|
||||
isOCPossible = false;
|
||||
|
||||
|
||||
if((!strncmp(osv, "03.", 3) && osv[3] <= '6') && gint[HWCALC] == HWCALC_FXCG50) // CG-50
|
||||
{
|
||||
extended_ram.name = "extram";
|
||||
|
@ -526,6 +538,9 @@ int main(void)
|
|||
PlayerPara[0].PlayerName[2]=PlayerName[2];
|
||||
|
||||
gint_world_switch( GINT_CALL( saveparameters ) );
|
||||
|
||||
if (gint[HWCALC] == HWCALC_FXCG50 && isOCActivated == true) clock_overclock( OC_PtuneF4 );
|
||||
else if (gint[HWCALC] == HWCALC_FXCG50 && isOCActivated == false) clock_overclock( OC_Default );
|
||||
}
|
||||
else if (mode==3)
|
||||
{
|
||||
|
@ -1356,12 +1371,20 @@ int main(void)
|
|||
}
|
||||
while (exitToOS==false);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
prof_quit();
|
||||
|
||||
#if IS_FXLIB==1
|
||||
usb_close();
|
||||
#endif
|
||||
|
||||
if (gint[HWCALC] == HWCALC_FXCG50 && isOCActivated == true) clock_overclock( OC_Default );
|
||||
|
||||
|
||||
delete cam;
|
||||
|
||||
|
||||
|
|
145
src/src/menus.cc
145
src/src/menus.cc
|
@ -16,6 +16,8 @@ extern BestRanking HallOfFame[10][5];
|
|||
|
||||
extern uint8_t NB_CARS_TRAFFIC;
|
||||
|
||||
extern bool isOCPossible;
|
||||
extern bool isOCActivated;
|
||||
|
||||
extern bopti_image_t mainscreen;
|
||||
extern bopti_image_t africa1, desert1, finland1, plains1, usa1;
|
||||
|
@ -722,79 +724,124 @@ void drawGameOptions( void )
|
|||
|
||||
if (DiffLevel==0)
|
||||
{
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <EASY>" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <EASY>" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <EASY>" );
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL EASY >" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL EASY >" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL EASY >" );
|
||||
}
|
||||
else if (DiffLevel==1)
|
||||
{
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <NORMAL>" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <NORMAL>" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <NORMAL>" );
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < NORMAL >" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < NORMAL >" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < NORMAL >" );
|
||||
}
|
||||
else if (DiffLevel==2)
|
||||
{
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <HARD>" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <HARD>" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL <HARD>" );
|
||||
dprint_opt(94, 22, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < HARD" );
|
||||
if (GameOptionsSelection!=0) dprint_opt(92, 20, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < HARD" );
|
||||
else dprint_opt(92, 20, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "LVL < HARD" );
|
||||
}
|
||||
|
||||
|
||||
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>" );
|
||||
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>" );
|
||||
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==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>" );
|
||||
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==3)
|
||||
{
|
||||
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, 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" );
|
||||
dprint_opt(92, 80, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "PLAYER" );
|
||||
*/
|
||||
|
||||
dprint_opt(94, 82, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "PLAYER NAME" );
|
||||
if (GameOptionsSelection!=2) dprint_opt(92, 80, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "PLAYER NAME" );
|
||||
else dprint_opt(92, 80, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "PLAYER NAME" );
|
||||
|
||||
if(nameCurrentlyWritten==true)
|
||||
{
|
||||
dfont(&autofont);
|
||||
|
||||
dprint_opt(124, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
if (selectedChar!=0) dprint_opt(122, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
else dprint_opt(122, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
|
||||
dprint_opt(154, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
if (selectedChar!=1) dprint_opt(152, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
else dprint_opt(152, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
|
||||
dprint_opt(184, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
if (selectedChar!=2) dprint_opt(182, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
else dprint_opt(182, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
|
||||
dfont(&speedfont);
|
||||
dprint_opt(214, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
if (selectedChar!=3) dprint_opt(212, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
else dprint_opt(212, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
}
|
||||
else
|
||||
{
|
||||
dfont(&autofont);
|
||||
dprint_opt(124, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
dprint_opt(122, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
dprint_opt(154, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
dprint_opt(152, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
dprint_opt(184, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
dprint_opt(182, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
|
||||
dfont(&speedfont);
|
||||
dprint_opt(214, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
dprint_opt(212, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
}
|
||||
|
||||
|
||||
dprint_opt(124, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
if (GameOptionsSelection!=2 || selectedChar!=0) dprint_opt(122, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
else if (GameOptionsSelection==2 && selectedChar==0) dprint_opt(122, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[0] );
|
||||
|
||||
dprint_opt(154, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
if (GameOptionsSelection!=2 || selectedChar!=1) dprint_opt(152, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
else if (GameOptionsSelection==2 && selectedChar==1) dprint_opt(152, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[1] );
|
||||
dfont(&autofont);
|
||||
if(isOCPossible)
|
||||
{
|
||||
if (isOCActivated==false)
|
||||
{
|
||||
dprint_opt(94, 142, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [N]" );
|
||||
if (GameOptionsSelection!=3) dprint_opt(92, 140, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [N]" );
|
||||
else dprint_opt(92, 140, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [N]" );
|
||||
}
|
||||
else
|
||||
{
|
||||
dprint_opt(94, 142, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [Y]" );
|
||||
if (GameOptionsSelection!=3) dprint_opt(92, 140, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [Y]" );
|
||||
else dprint_opt(92, 140, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "OVERCLOCK [Y]" );
|
||||
}
|
||||
}
|
||||
|
||||
dprint_opt(184, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
if (GameOptionsSelection!=2 || selectedChar!=2) dprint_opt(182, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
else if (GameOptionsSelection==2 && selectedChar==2) dprint_opt(182, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "%c", PlayerName[2] );
|
||||
|
||||
dfont(&speedfont);
|
||||
dprint_opt(214, 112, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
if (GameOptionsSelection!=2 || selectedChar!=3) dprint_opt(212, 110, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
else if (GameOptionsSelection==2 && selectedChar==3) dprint_opt(212, 110, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "@" );
|
||||
|
||||
dfont(&autofont);
|
||||
dprint_opt(94, 172, C_RGB(0,0,0), C_NONE, DTEXT_LEFT, DTEXT_TOP, "BACK TO GAME" );
|
||||
if (GameOptionsSelection!=3) dprint_opt(92, 170, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "BACK TO GAME" );
|
||||
if (GameOptionsSelection!=4) dprint_opt(92, 170, C_RGB(255,255,255), C_NONE, DTEXT_LEFT, DTEXT_TOP, "BACK TO GAME" );
|
||||
else dprint_opt(92, 170, C_RGB(pulse%256,0,pulse%256), C_NONE, DTEXT_LEFT, DTEXT_TOP, "BACK TO GAME" );
|
||||
|
||||
if (GameOptionsSelection==0) dimage( 2, 5, &flag );
|
||||
else if (GameOptionsSelection==1) dimage( 2, 35, &flag );
|
||||
else if (GameOptionsSelection==2) dimage( 2, 65, &flag );
|
||||
else if (GameOptionsSelection==3) dimage( 2, 155, &flag );
|
||||
else if (GameOptionsSelection==3) dimage( 2, 125, &flag );
|
||||
else if (GameOptionsSelection==4) dimage( 2, 155, &flag );
|
||||
|
||||
// CODE HERE TO PRINT WELCOME MENU
|
||||
|
||||
|
@ -836,14 +883,25 @@ void getInputGameOptions( void )
|
|||
|
||||
if (key==KEY_EXE)
|
||||
{
|
||||
if (GameOptionsSelection==2) nameCurrentlyWritten=false;
|
||||
|
||||
if (GameOptionsSelection==3) doneGameOptions=true;
|
||||
if (GameOptionsSelection==2 && nameCurrentlyWritten==false)
|
||||
{
|
||||
nameCurrentlyWritten=true;
|
||||
selectedChar=0;
|
||||
}
|
||||
else if (GameOptionsSelection==2 && nameCurrentlyWritten==true && selectedChar<3) selectedChar++;
|
||||
else if (GameOptionsSelection==2 && nameCurrentlyWritten==true && selectedChar==3)
|
||||
{
|
||||
nameCurrentlyWritten=false;
|
||||
selectedChar=0;
|
||||
}
|
||||
if (GameOptionsSelection==3 && isOCPossible==true) isOCActivated=!isOCActivated;
|
||||
else if (GameOptionsSelection==4) doneGameOptions=true;
|
||||
}
|
||||
|
||||
if (key==KEY_UP && !nameCurrentlyWritten)
|
||||
{
|
||||
if (GameOptionsSelection==0) GameOptionsSelection=3;
|
||||
if (GameOptionsSelection==0) GameOptionsSelection=4;
|
||||
else if (GameOptionsSelection==4 && isOCPossible==false) GameOptionsSelection=2;
|
||||
else GameOptionsSelection--;
|
||||
}
|
||||
|
||||
|
@ -862,7 +920,8 @@ void getInputGameOptions( void )
|
|||
|
||||
if (key==KEY_DOWN && !nameCurrentlyWritten)
|
||||
{
|
||||
if (GameOptionsSelection==3) GameOptionsSelection=0;
|
||||
if (GameOptionsSelection==4) GameOptionsSelection=0;
|
||||
else if (GameOptionsSelection==2 && isOCPossible==false) GameOptionsSelection=4;
|
||||
else GameOptionsSelection++;
|
||||
}
|
||||
|
||||
|
@ -889,6 +948,7 @@ void getInputGameOptions( void )
|
|||
|
||||
if (GameOptionsSelection==0 && DiffLevel>0) DiffLevel--;
|
||||
else if (GameOptionsSelection==1 && CarsNumb>0) CarsNumb--;
|
||||
else if (GameOptionsSelection==3) isOCActivated=false;
|
||||
}
|
||||
|
||||
if (key==KEY_RIGHT)
|
||||
|
@ -901,6 +961,7 @@ void getInputGameOptions( void )
|
|||
|
||||
if (GameOptionsSelection==0 && DiffLevel<2) DiffLevel++;
|
||||
else if (GameOptionsSelection==1 && CarsNumb<3) CarsNumb++;
|
||||
else if (GameOptionsSelection==3) isOCActivated=true;
|
||||
}
|
||||
|
||||
#if IS_FXLIB==1
|
||||
|
|
Loading…
Reference in New Issue