forked from speed-dreams/speed-dreams-code
- update Shadow's driver
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6817 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 24b3c33fd8ab993634600d06f1b7d3365e6fec38 Former-commit-id: 24bc10452a419100244f43c083b44b732261f3cf
This commit is contained in:
parent
b2e9cc1cd1
commit
6882163572
1 changed files with 33 additions and 20 deletions
|
@ -233,6 +233,7 @@ void TDriver::SetShared( Shared* pShared )
|
|||
void TDriver::InitTrack(int index, tTrack* pTrack, void* pCarHandle, void** ppCarParmHandle, tSituation* pS )
|
||||
{
|
||||
LogSHADOW.info( " # SHADOW's driver :initTrack()\n" );
|
||||
*ppCarParmHandle = NULL;
|
||||
|
||||
//
|
||||
// get the name of the car (e.g. "clkdtm").
|
||||
|
@ -277,47 +278,59 @@ void TDriver::InitTrack(int index, tTrack* pTrack, void* pCarHandle, void** ppCa
|
|||
|
||||
// Discover the car type used
|
||||
void* handle = NULL;
|
||||
sprintf(buffer, "drivers/%s/%s.xml", MyBotName, MyBotName);
|
||||
sprintf(buffer, "%sdrivers/%s/%s.xml", GfDataDir(),MyBotName, MyBotName);
|
||||
LogSHADOW.info(" #Path driver : %s\n", buffer);
|
||||
handle = GfParmReadFile(buffer, GFPARM_RMODE_STD);
|
||||
sprintf(buffer, "%s/%s/%d", ROB_SECT_ROBOTS, ROB_LIST_INDEX, index);
|
||||
//mCarType = GfParmGetStr(handle, buffer, (char*)ROB_ATTR_CAR, "no good");
|
||||
//char baseParamPath[] = buffer;
|
||||
|
||||
if (handle != NULL)
|
||||
{
|
||||
LogSHADOW.info("# Shadow driver : %s\n", buffer);
|
||||
snprintf(buffer, BUFSIZE, "%s/%s/%d", ROB_SECT_ROBOTS, ROB_LIST_INDEX, index);
|
||||
//mCarType = GfParmGetStr(handle, buffer, (char*)ROB_ATTR_CAR, "no good");
|
||||
}
|
||||
|
||||
//
|
||||
// ok, lets read/merge the car parms.
|
||||
//
|
||||
|
||||
void* hCarParm = pCarHandle;
|
||||
void* hCarParm = NULL;
|
||||
char buf[1024];
|
||||
|
||||
// default params for car type (e.g. clkdtm)
|
||||
snprintf( buffer, BUFSIZE, "drivers/%s/%s/default.xml", MyBotName, m_carName);
|
||||
LogSHADOW.info(" #Path driver default params for car type: %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buf, hCarParm != pCarHandle);
|
||||
// override params for car type on track.
|
||||
snprintf(buffer, BUFSIZE, "%sdrivers/%s/%s/%s.xml", GfDataDir(), MyBotName, m_carName, m_trackName);
|
||||
hCarParm = GfParmReadFile(buffer, GFPARM_RMODE_STD);
|
||||
|
||||
LogSHADOW.info(" #Path driver override params for car type on track : %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buffer, hCarParm != pCarHandle);
|
||||
|
||||
if (hCarParm == NULL)
|
||||
{
|
||||
// default params for car type (e.g. clkdtm)
|
||||
snprintf(buffer, BUFSIZE, "%sdrivers/%s/%s/default.xml", GfDataDir(), MyBotName, m_carName);
|
||||
LogSHADOW.info(" #Path driver default params for car type: %s\n", buffer);
|
||||
hCarParm = GfParmReadFile(buffer, GFPARM_RMODE_STD);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// override params for car type on track.
|
||||
snprintf( buffer, BUFSIZE, "drivers/%s/%s/%s.xml", MyBotName, m_carName, m_trackName );
|
||||
LogSHADOW.info(" #Path driver override params for car type on track : %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buf, hCarParm != pCarHandle);
|
||||
|
||||
// override params for car type on track of specific race type.
|
||||
snprintf( buffer, BUFSIZE, "%s/%s/%s-%s.xml", MyBotName, m_carName, m_trackName, raceTypeStr[raceType] );
|
||||
/*snprintf( buffer, BUFSIZE, "%s/%s/%s-%s.xml", MyBotName, m_carName, m_trackName, raceTypeStr[raceType] );
|
||||
LogSHADOW.info(" #Path driver override params for car type on track of specific race type : %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buf, hCarParm != pCarHandle);
|
||||
|
||||
// override params for car type on track with specific driver.
|
||||
snprintf( buffer, BUFSIZE, "drivers/%s/%s/%s-drv-%d.xml", MyBotName, m_carName, m_trackName, index );
|
||||
snprintf( buffer, BUFSIZE, "%sdrivers/%s/%s/%s-drv-%d.xml", GfDataDir(), MyBotName, m_carName, m_trackName, index );
|
||||
LogSHADOW.info(" #Path driver override params for car type on track with specific driver : %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buf, hCarParm != pCarHandle);
|
||||
hCarParm = MergeParamFile(hCarParm, buffer, hCarParm != pCarHandle);
|
||||
|
||||
// override params for car type on track of specific race type and driver.
|
||||
snprintf( buffer, BUFSIZE, "drivers/%s/%s/%s-%s-drv-%d.xml", MyBotName, m_carName, m_trackName, raceTypeStr[raceType], index );
|
||||
snprintf( buffer, BUFSIZE, "%sdrivers/%s/%s/%s-%s-drv-%d.xml", GfDataDir(),MyBotName, m_carName, m_trackName, raceTypeStr[raceType], index );
|
||||
LogSHADOW.info(" #Path driver override params for car type on track of specific race type and driver : %s\n", buffer);
|
||||
hCarParm = MergeParamFile(hCarParm, buf, hCarParm != pCarHandle);
|
||||
hCarParm = MergeParamFile(hCarParm, buffer, hCarParm != pCarHandle);
|
||||
hCarParm = GfParmReadFile(buf, GFPARM_RMODE_STD);
|
||||
|
||||
// setup the car param handle to be returned.
|
||||
// setup the car param handle to be returned.*/
|
||||
|
||||
*ppCarParmHandle = hCarParm;
|
||||
|
||||
|
@ -325,7 +338,7 @@ void TDriver::InitTrack(int index, tTrack* pTrack, void* pCarHandle, void** ppCa
|
|||
|
||||
const char* ac3d_car = GfParmGetStr(hCarParm, SECT_GROBJECTS "/" LST_RANGES "/1", PRM_CAR, "");
|
||||
|
||||
double rpm = GfParmGetNum(hCarParm, SECT_PRIV, PRV_GEAR_UP_RPM, (char*)NULL, 8190);
|
||||
double rpm = GfParmGetNum(hCarParm, SECT_PRIV, PRV_GEAR_UP_RPM, "rpm", 8190.0);
|
||||
m_gearUpRpm = rpm * 2 * PI / 60;
|
||||
LogSHADOW.info( "*** gear up rpm: %g (%g)\n", rpm, m_gearUpRpm );
|
||||
|
||||
|
|
Loading…
Reference in a new issue