add simplix_gp1600

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@2486 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 7e4db8e31005b1dfbc1841e0274de64ba91140b0
Former-commit-id: 6008bcb076dd76a9b02bdb1bbed8f73ba559a076
This commit is contained in:
torcs-ng 2010-05-17 22:10:20 +00:00
parent db649afb7a
commit 5b13b82033
16 changed files with 382 additions and 3 deletions

View file

@ -5,8 +5,8 @@ INCLUDE(../../../cmake/macros.cmake)
SET(ROBOT_NAME "simplix") SET(ROBOT_NAME "simplix")
SET(ROBOT_INTERFACE LEGACY WELCOME SET(ROBOT_INTERFACE LEGACY WELCOME
simplix_indy simplix_trb1a simplix_trb1b simplix_sca simplix_scb simplix_36GP simplix_ls1 simplix_gp1600 simplix_indy simplix_trb1a simplix_trb1b simplix_sca simplix_scb simplix_36GP simplix_ls1
my_simplix_0 my_simplix_1 my_simplix_2 my_simplix_3 my_simplix_4 my_simplix_0 my_simplix_1 my_simplix_2 my_simplix_3 my_simplix_4
my_simplix_5 my_simplix_6 my_simplix_7 my_simplix_8 my_simplix_9) my_simplix_5 my_simplix_6 my_simplix_7 my_simplix_8 my_simplix_9)
SET(ROBOT_SOURCES SET(ROBOT_SOURCES
@ -70,7 +70,7 @@ SET(ROBOT_SOURCES
src/unitvec3d.h src/unitvec3d.h
) )
SET(ROBOT_CLONES simplix_indy simplix_36GP simplix_sc simplix_trb1 simplix_ls1) SET(ROBOT_CLONES simplix_indy simplix_36GP simplix_sc simplix_trb1 simplix_ls1 simplix_gp1600)
ROBOT_MODULE(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} SOURCES ${ROBOT_SOURCES} ROBOT_MODULE(NAME ${ROBOT_NAME} INTERFACE ${ROBOT_INTERFACE} SOURCES ${ROBOT_SOURCES}
CLONENAMES ${ROBOT_CLONES}) CLONENAMES ${ROBOT_CLONES})
@ -117,3 +117,9 @@ SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 6 7 8 9 10 11 12 13
ROBOT_DATA(NAME simplix_trb1 SHIPPREFIX simplix_trb1 ROBOT_DATA(NAME simplix_trb1 SHIPPREFIX simplix_trb1
SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS}) SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS})
SET(ROBOT_SHIPSUBDIRS 0 1 2 3 4 5 gp1600 tracks)
ROBOT_DATA(NAME simplix_gp1600 SHIPPREFIX simplix_gp1600
SHIPFILES ${ROBOT_SHIP} SHIPSUBDIRS ${ROBOT_SHIPSUBDIRS})

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.1"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.2"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.3"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.4"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.4"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE params SYSTEM "../../../../src/libs/tgf/params.dtd">
<params name="Skill" type="template">
<!-- indycars -->
<section name="skill">
<!-- This skill level is added to the global skill level set in -->
<!-- raceman/config/extra/skill.xml to provide a unique value for -->
<!-- each driver. The values should be between 0 and 1, with 0 being -->
<!-- the highest skill level. -->
<attnum name="level" min="0.0" max="1.0" val="0.3"/>
</section>
</params>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
file : default.xml
created : 16 May 2009
last modified : 16 May 2009
copyright : (C) 2009 Wolf-Dieter Beelitz
SIMPLIX_INDY - ALL CARS
-->
<!-- This program is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->
<!DOCTYPE params SYSTEM "../../../src/libs/tgf/params.dtd">
<params name="simplix" type="template" mode="mw">
<section name="skilling">
<attnum name="enable" min="0" max="1" val="1"/>
</section>
</params>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
file : default.xml
created : 16 May 2009
last modified : 16 May 2009
copyright : (C) 2009 Wolf-Dieter Beelitz
SIMPLIX_INDY - INDYCAR01
-->
<!-- This program is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->
<!DOCTYPE params SYSTEM "../../../src/libs/tgf/params.dtd">
<params name="gp1600" type="template" mode="mw">
<section name="simplix private">
<attnum name="pit test stop" min="0" max="1" val="0"/>
<attnum name="qualification" min="0" max="1" val="0"/>
<attnum name="reserve" min="0.0" max="20000.0" val="2000"/>
<attnum name="start fuel" min="-1" max="100.0" val="-1"/>
<attnum name="fuelper100km" min="1.0" max="100.0" val="60.0"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.05"/>
<attnum name="avoid width" min="0.0" max="3.0" val="0.5"/>
<attnum name="scale avoid" min="1.0" max="20.0" val="10.0"/>
<attnum name="scale brake" min="0" max="1" val="0.40"/>
<attnum name="scale bump" min="0" max="1" val="0.1"/>
<attnum name="scale bump outer" min="0" max="2" val="0.1"/>
<attnum name="scale min mu" min="0.1" max="1.0" val="0.8"/>
<attnum name="scale mu" min="0" max="2" val="0.65"/>
<attnum name="scale steer" min="0.1" max="2.0" val="0.8"/>
<attnum name="stay together" min="10.0" max="2000.0" val="10"/>
<attnum name="length margin" min="1.0" max="10.0" val="2.0"/>
</section>
</params>

View file

@ -0,0 +1,26 @@
// simplix readme.txt 03. Dez. 2008
//
// Hints
Skilling:
The skilling is used to define the range of lap times for the gamers opponents.
This can be done on two separate levels.
The first level is the global level defined by Andrew Sumner and used for the Career mode of Mart Kelder.
If the supercarpackage of Andrew is installed, there is the file ...\torcs\config\raceman\extra\skill.xml.
It contains one parameter to be set in the range of 0.0 (fast) to 10.0 (slow).
To Enable/Disable the skilling for all cars of a robot there is a file
...\drivers\robotname\default.xml.
Here you can enable skilling (1) or disable it (0).
If needed, the individual skill of a car can be set in the
...\drivers\robotname\cartype\default.xml.
The parameter skill in "simplix private" can be set to
-1 (disable skilling for this car),
0.0 (normal skilling as defined in extra\skill.xml) or
values up to 10.0 (make car drive slower).
The individual skilling isn't needed here, the trb1 carset is balanced!

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
file : simplix_gp1600.xml
created : 16 May 2009
last modified : 16 May 2009
copyright : (C) 2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->
<!DOCTYPE params SYSTEM "../../libs/tgf/params.dtd">
<params name="simplix_gp1600" type="robotdef">
<section name="Robots">
<section name="index">
<section name="0">
<attstr name="name" val="gp1600_A"></attstr>
<attstr name="desc" val="gp1600_A"></attstr>
<attstr name="team" val="simplix_gp1600"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="1"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<section name="1">
<attstr name="name" val="gp1600_B"></attstr>
<attstr name="desc" val="gp1600_B"></attstr>
<attstr name="team" val="simplix_gp1600"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="2"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<section name="2">
<attstr name="name" val="gp1600_C"></attstr>
<attstr name="desc" val="gp1600_C"></attstr>
<attstr name="team" val="simplix_gp1600A"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="2"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<section name="3">
<attstr name="name" val="gp1600_D"></attstr>
<attstr name="desc" val="gp1600_D"></attstr>
<attstr name="team" val="simplix_gp1600A"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="3"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<section name="4">
<attstr name="name" val="gp1600_E"></attstr>
<attstr name="desc" val="gp1600_E"></attstr>
<attstr name="team" val="simplix_gp1600B"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="4"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<section name="5">
<attstr name="name" val="gp1600_F"></attstr>
<attstr name="desc" val="gp1600_F"></attstr>
<attstr name="team" val="simplix_gp1600B"></attstr>
<attstr name="author" val="Wolf-Dieter Beelitz"></attstr>
<attstr name="car name" val="gp1600"></attstr>
<attnum name="race number" val="5"></attnum>
<attnum name="red" val="0.2"></attnum>
<attnum name="green" val="0.4"></attnum>
<attnum name="blue" val="1.0"></attnum>
</section>
<!--
-->
</section>
</section>
</params>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
file : Corkscrew.xml
created : 28 Mar 2008
last modified : 21 Nov 2008
copyright : (C) 2008 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
<!-- it under the terms of the GNU General Public License as published by -->
<!-- the Free Software Foundation; either version 2 of the License, or -->
<!-- (at your option) any later version. -->
<!DOCTYPE params SYSTEM "../../../src/libs/tgf/params.dtd">
<params name="" type="template" mode="mw">
<section name="simplix private">
<attnum name="pit use first" min="0" max="1" val="1"/>
<attnum name="pit use smooth" min="0" max="1" val="1"/>
<attnum name="pitlane entry offset" min="-10" max="10" val="3.0"/>
<attnum name="pitlane exit offset" min="-10" max="10" val="5.0"/>
<attnum name="pit entry long" min="-2000" max="2000" val="130.0"/>
<attnum name="pit exit long" min="-2000" max="2000" val="0.0"/>
<attnum name="pit exit length" min="-2000" max="2000" val="0.0"/>
<attnum name="pit lat offset" min="-5" max="5" val="0.0"/>
<attnum name="pit long offset" min="-5" max="5" val="0.0"/>
<attnum name="pit scale brake" val="1.0"/>
<attnum name="pit stop dist" val="1.5"/>
</section>
</params>

View file

@ -3410,6 +3410,16 @@ double TDriver::CalcCrv_simplix_INDY(double Crv)
} }
//==========================================================================* //==========================================================================*
//==========================================================================*
// simplix_GP1600
//--------------------------------------------------------------------------*
double TDriver::CalcCrv_simplix_GP1600(double Crv)
{
return MAX(0.75,MIN(3.0,350000.0 * Crv * Crv * Crv));
//return MAX(0.75,MIN(3.0,600000.0 * Crv * Crv * Crv));
}
//==========================================================================*
//==========================================================================* //==========================================================================*
// simplix_LS1 // simplix_LS1
//--------------------------------------------------------------------------* //--------------------------------------------------------------------------*
@ -3504,6 +3514,16 @@ double TDriver::CalcHairpin_simplix_LS1(double Crv)
} }
//==========================================================================* //==========================================================================*
//==========================================================================*
// simplix_GP1600
//--------------------------------------------------------------------------*
double TDriver::CalcHairpin_simplix_GP1600(double Crv)
{
return MAX(0.75,MIN(5.0,300000.0 * Crv * Crv * Crv));
//return MAX(0.75,MIN(5.0,600000.0 * Crv * Crv * Crv));
}
//==========================================================================*
//==========================================================================* //==========================================================================*
// simplix_sc // simplix_sc
//--------------------------------------------------------------------------* //--------------------------------------------------------------------------*

View file

@ -424,6 +424,7 @@ private:
double CalcCrv_simplix_36GP(double Crv); double CalcCrv_simplix_36GP(double Crv);
double CalcCrv_simplix_INDY(double Crv); double CalcCrv_simplix_INDY(double Crv);
double CalcCrv_simplix_LS1(double Crv); double CalcCrv_simplix_LS1(double Crv);
double CalcCrv_simplix_GP1600(double Crv);
double CalcHairpin_simplix(double Crv); double CalcHairpin_simplix(double Crv);
double CalcHairpin_simplix_TRB1(double Crv); double CalcHairpin_simplix_TRB1(double Crv);
@ -431,6 +432,7 @@ private:
double CalcHairpin_simplix_36GP(double Crv); double CalcHairpin_simplix_36GP(double Crv);
double CalcHairpin_simplix_INDY(double Crv); double CalcHairpin_simplix_INDY(double Crv);
double CalcHairpin_simplix_LS1(double Crv); double CalcHairpin_simplix_LS1(double Crv);
double CalcHairpin_simplix_GP1600(double Crv);
void UseFilterAccel(){oUseFilterAccel = true;}; void UseFilterAccel(){oUseFilterAccel = true;};
void UseAccelOut(){oUseAccelOut = true;}; void UseAccelOut(){oUseAccelOut = true;};

View file

@ -98,6 +98,7 @@
#define RTYPE_SIMPLIX_36GP 3 // Robot type simplix_36GP #define RTYPE_SIMPLIX_36GP 3 // Robot type simplix_36GP
#define RTYPE_SIMPLIX_INDY 4 // Robot type simplix_indy #define RTYPE_SIMPLIX_INDY 4 // Robot type simplix_indy
#define RTYPE_SIMPLIX_LS1 5 // Robot type simplix_ls1 #define RTYPE_SIMPLIX_LS1 5 // Robot type simplix_ls1
#define RTYPE_SIMPLIX_GP1600 6 // Robot type simplix_gp1600
//==========================================================================* //==========================================================================*
//==========================================================================* //==========================================================================*

View file

@ -289,6 +289,17 @@ void SetUpSimplix_ls1()
}; };
//==========================================================================* //==========================================================================*
//==========================================================================*
// Schismatic entry point for simplix_gp1600
//--------------------------------------------------------------------------*
void SetUpSimplix_gp1600()
{
cRobotType = RTYPE_SIMPLIX_GP1600;
SetParameters(NBBOTS, "gp1600");
//TDriver::UseSCSkilling = true;
};
//==========================================================================*
//==========================================================================* //==========================================================================*
// Handle module entry for Speed Dreams Interface V1.00 (new fixed name scheme) // Handle module entry for Speed Dreams Interface V1.00 (new fixed name scheme)
//--------------------------------------------------------------------------* //--------------------------------------------------------------------------*
@ -374,6 +385,8 @@ int moduleWelcomeV1_00
SetUpSimplix_indy(); SetUpSimplix_indy();
else if (strncmp(RobName,"simplix_LS1",strlen("simplix_LS1")) == 0) else if (strncmp(RobName,"simplix_LS1",strlen("simplix_LS1")) == 0)
SetUpSimplix_ls1(); SetUpSimplix_ls1();
else if (strncmp(RobName,"simplix_gp1600",strlen("simplix_gp1600")) == 0)
SetUpSimplix_ls1();
else else
SetUpSimplix(); SetUpSimplix();
@ -576,6 +589,14 @@ static int InitFuncPt(int Index, void *Pt)
cRobot[Index-IndexOffset]->ScaleSide(0.95f,0.95f); cRobot[Index-IndexOffset]->ScaleSide(0.95f,0.95f);
cRobot[Index-IndexOffset]->SideBorderOuter(0.20f); cRobot[Index-IndexOffset]->SideBorderOuter(0.20f);
} }
else if (cRobotType == RTYPE_SIMPLIX_GP1600)
{
GfOut("#cRobotType == RTYPE_SIMPLIX_GP1600\n");
cRobot[Index-IndexOffset]->CalcCrvFoo = &TDriver::CalcCrv_simplix_GP1600;
cRobot[Index-IndexOffset]->CalcHairpinFoo = &TDriver::CalcHairpin_simplix_GP1600;
cRobot[Index-IndexOffset]->ScaleSide(0.85f,0.85f);
cRobot[Index-IndexOffset]->SideBorderOuter(0.75f);
}
return 0; return 0;
} }
@ -835,6 +856,20 @@ extern "C" int simplix_ls1(tModInfo *ModInfo)
}; };
//==========================================================================* //==========================================================================*
//==========================================================================*
// Schismatic entry point for simplix_gp1600
//--------------------------------------------------------------------------*
extern "C" int simplix_gp1600(tModInfo *ModInfo)
{
void *RobotSettings = GetFileHandle("simplix_gp1600");
if (!RobotSettings)
return -1;
SetParameters(10, "gp1600");
return simplixEntryPoint(ModInfo,RobotSettings);
};
//==========================================================================*
//==========================================================================* //==========================================================================*
// Schismatic entry point for my_simplix_0 // Schismatic entry point for my_simplix_0
//--------------------------------------------------------------------------* //--------------------------------------------------------------------------*