Soft suspension setups

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

Former-commit-id: e81e28cf7d368b5e3348b05e3e8c9dc1259e6677
Former-commit-id: b03b73ee8fb72e0794931c7e214b6f316cdc3589
This commit is contained in:
wdbee 2009-05-16 10:42:57 +00:00
parent c75ca54fe2
commit 5dbf6ad722
44 changed files with 276 additions and 167 deletions

View file

@ -12,7 +12,7 @@
<!-- 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.05"/>
<attnum name="level" min="0.0" max="1.0" val="0.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.15"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.07"/>
<attnum name="level" min="0.0" max="1.0" val="0.00"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.13"/>
<attnum name="level" min="0.0" max="1.0" val="1.00"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.05"/>
<attnum name="level" min="0.0" max="1.0" val="0.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.15"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.06"/>
<attnum name="level" min="0.0" max="1.0" val="0.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.14"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.07"/>
<attnum name="level" min="0.0" max="1.0" val="0.00"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.13"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.05"/>
<attnum name="level" min="0.0" max="1.0" val="0.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.15"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.06"/>
<attnum name="level" min="0.0" max="1.0" val="0.0"/>
</section>

View file

@ -12,7 +12,7 @@
<!-- 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.14"/>
<attnum name="level" min="0.0" max="1.0" val="1.0"/>
</section>

View file

@ -1,26 +0,0 @@
// simplix readme.txt 05. 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

@ -2,7 +2,7 @@
<!--
file : simplix_sc.xml
created : 05 Dec 2008
last modified : 10 Jan 2009
last modified : 16 May 2009
copyright : (C) 2009 Wolf-Dieter Beelitz
-->

View file

@ -2,7 +2,7 @@
<!--
file : Corkscrew.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.03"/>
<attnum name="scale skill" val="1.020"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.1"/>
<attnum name="scale bump outer" min="0" max="2" val="0.2"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : aalborg.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,11 @@
<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"/>
<attnum name="offset skill" val="0.24"/>
<attnum name="scale skill" val="1.120"/>
<attnum name="offset skill" val="0.02"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="scale_mu" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.05"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : alpine-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,11 @@
<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"/>
<attnum name="offset skill" val="0.41"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="offset skill" val="0.01"/>
<attnum name="scale skill" val="0.500"/>
<attnum name="scale_mu" val="1.05"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.15"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : alpine-2.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,11 @@
<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"/>
<attnum name="offset skill" val="0.12"/>
<attnum name="scale skill" val="1.10"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="0.80"/>
<attnum name="scale_mu" min="0.1" max="2.0" val="1.05"/>
<attnum name="scale bump" min="0" max="1" val="0.10"/>
<attnum name="scale bump outer" min="0" max="2" val="0.20"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.26"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : e-track-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.30"/>
<attnum name="scale skill" val="1.0500"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : e-track-2.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -25,7 +25,10 @@
<attnum name="pit stop dist" val="1.5"/>
<attnum name="start side" val="0.1"/>
<attnum name="no avoid" val="25"/>
<attnum name="offset skill" val="0.15"/>
<attnum name="scale skill" val="1.120"/>
<attnum name="offset skill" val="1.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : e-track-3.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.20"/>
<attnum name="scale skill" val="1.0500"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.4"/>
<attnum name="scale bump outer" min="0" max="2" val="0.8"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : e-track-4.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,11 @@
<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"/>
<attnum name="offset skill" val="0.05"/>
<attnum name="scale skill" val="0.900"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale_mu" val="1.30"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : e-track-6.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.07"/>
<attnum name="scale skill" val="0.950"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : eroad.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.05"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : forza.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.03"/>
<attnum name="scale skill" val="0.900"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.04"/>
<attnum name="scale bump outer" min="0" max="2" val="0.10"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : g-track-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 27 Apr 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.03"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : g-track-2.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -24,8 +24,9 @@
<attnum name="pit scale brake" val="1.0"/>
<attnum name="pit stop dist" val="1.5"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="0.920"/>
<attnum name="scale bump" min="0" max="1" val="0.1"/>
<attnum name="scale bump outer" min="0" max="2" val="0.2"/>
<attnum name="scale skill" val="1.030"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.05"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : g-track-3.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.25"/>
<attnum name="scale skill" val="1.100"/>
<attnum name="scale bump" min="0" max="1" val="0.3"/>
<attnum name="scale bump outer" min="0" max="2" val="0.4"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.2"/>
<attnum name="scale bump outer" min="0" max="2" val="0.3"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : ole-road-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.5"/>
<attnum name="scale skill" val="1.160"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.3"/>
<attnum name="scale bump outer" min="0" max="2" val="0.8"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : Ruudskogen.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.04"/>
<attnum name="scale skill" val="1.200"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.1"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : spring.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,9 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.13"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.3"/>
<attnum name="scale bump outer" min="0" max="2" val="0.4"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : street-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -23,7 +23,10 @@
<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"/>
<attnum name="offset skill" val="0.01"/>
<attnum name="scale skill" val="0.900"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : wheel-1.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -26,6 +26,9 @@
<attnum name="start side" val="0.1"/>
<attnum name="no avoid" val="25"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.000"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.01"/>
<attnum name="scale bump outer" min="0" max="2" val="0.01"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.33"/>
</section>
</params>

View file

@ -2,7 +2,7 @@
<!--
file : wheel-2.xml
created : 28 Mar 2008
last modified : 18 Jan 2009 2008
last modified : 16 May 2009
copyright : (C) 2008-2009 Wolf-Dieter Beelitz
-->
<!-- This program is free software; you can redistribute it and/or modify -->
@ -12,17 +12,6 @@
<!DOCTYPE params SYSTEM "../../../src/libs/tgf/params.dtd">
<params name="" type="template" mode="mw">
<section name="simplix private">
<attnum name="offset skill" val="0.25"/>
<attnum name="scale skill" val="0.800"/>
<attnum name="_scale_brake" min="0.1" max="2.0" val="1.00"/>
<attnum name="_scale_mu" min="0.1" max="2.0" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.02"/>
<attnum name="scale bump outer" min="0" max="2" val="0.04"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
<attnum name="speed limit base" min="0.01" max="1.0" val="0.025"/>
<attnum name="speed limit scale" min="0.01" max="1.0" val="10"/>
<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"/>
@ -34,5 +23,12 @@
<attnum name="pit long offset" min="-5" max="5" val="0.0"/>
<attnum name="pit scale brake" val="1.050"/>
<attnum name="pit stop dist" val="1.5"/>
<attnum name="offset skill" val="0.00"/>
<attnum name="scale skill" val="1.00"/>
<attnum name="scale bump" min="0" max="1" val="0.02"/>
<attnum name="scale bump outer" min="0" max="2" val="0.04"/>
<attnum name="lookaheadfactor" min="0.0" max="0.5" val="0.20"/>
<attnum name="speed limit base" min="0.01" max="1.0" val="0.025"/>
<attnum name="speed limit scale" min="0.01" max="1.0" val="10"/>
</section>
</params>

View file

@ -9,7 +9,7 @@
//
// File : unitdriver.cpp
// Created : 2007.11.25
// Last changed : 2009.02.27
// Last changed : 2009.05.16
// Copyright : © 2007-2009 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 2.00.000
@ -84,6 +84,7 @@ char* TDriver::SECT_PRIV = "simplix private"; // Private section
char* TDriver::DEFAULTCARTYPE = "car1-trb1"; // Default car type
bool TDriver::AdvancedParameters = false; // Advanced parameters
bool TDriver::UseOldSkilling = false; // Use old skilling
bool TDriver::UseSCSkilling = false; // Use supercar skilling
bool TDriver::UseBrakeLimit = false; // Use brake limit
float TDriver::BrakeLimit = -6; // Brake limit
float TDriver::BrakeLimitBase = 0.025f; // Brake limit base
@ -214,9 +215,9 @@ TDriver::TDriver(int Index):
oSteerAngle(0.0f),
oCarType(NULL),
oClutchMax(0.5),
oClutchDelta(0.05),
oClutchDelta(0.009),
oClutchRange(0.82),
oClutchRelease(0.4),
oClutchRelease(0.5),
oCurrSpeed(0),
// oGearEff
oIndex(0),
@ -263,6 +264,7 @@ TDriver::TDriver(int Index):
oReduced(false),
oFuelNeeded(0.0),
oRepairNeeded(0.0),
oSideReduction(1.0),
NBRRL(0),
oRL_FREE(0),
@ -431,29 +433,44 @@ void TDriver::InitTrack
oSkilling = true; // of TORCS-Installation
GfOut("#Skilling: On\n");
void* SkillHandle = NULL;
snprintf(PathFilenameBuffer, BUFLEN,
"%sconfig/raceman/extra/skill.xml",GetDataDir());
"%sconfig/raceman/extra/skill.xml",GetLocalDir());
GfOut("#skill.xml: %s\n", PathFilename);
void* SkillHandle = GfParmReadFile
SkillHandle = GfParmReadFile
(PathFilename, GFPARM_RMODE_REREAD);
if (SkillHandle)
{
oSkillGlobal = MAX(0.0,MIN(10.0,GfParmGetNum(SkillHandle,
"skill", "level", (char *) NULL, 10.0)));
GfOut("#SkillGlobal: %g\n", oSkillGlobal);
GfOut("#LocalDir: SkillGlobal: %g\n", oSkillGlobal);
}
else
{
snprintf(PathFilenameBuffer, BUFLEN,
"%sconfig/raceman/extra/skill.xml",GetDataDir());
GfOut("#skill.xml: %s\n", PathFilename);
SkillHandle = GfParmReadFile
(PathFilename, GFPARM_RMODE_REREAD);
if (SkillHandle)
{
oSkillGlobal = MAX(0.0,MIN(10.0,GfParmGetNum(SkillHandle,
"skill", "level", (char *) NULL, 10.0)));
GfOut("#DataDir: SkillGlobal: %g\n", oSkillGlobal);
}
}
// Get individual skilling
int SkillEnabled = 0;
snprintf(PathFilenameBuffer,BUFLEN,"%s/%d/skill.xml",
BaseParamPath,oIndex);
GfOut("#PathFilename: %s\n", PathFilenameBuffer); // itself
GfOut("#PathFilename: %s\n", PathFilenameBuffer); // itself
SkillHandle = GfParmReadFile
(PathFilename, GFPARM_RMODE_REREAD);
if (SkillHandle)
{
oSkillDriver =
MIN(10.0,GfParmGetNum(SkillHandle,"skill","level",0,0.0));
oSkillDriver = GfParmGetNum(SkillHandle,"skill","level",0,0.0);
oSkillDriver = MIN(1.0, MAX(0.0, oSkillDriver));
GfOut("#oSkillDriver: %g\n", oSkillDriver);
@ -515,7 +532,7 @@ void TDriver::InitTrack
BaseParamPath,oTrackName);
oPitLoad[2] = PitLoadRightBuffer; // Set pointer to buffer
// Override params for track (Pitting)
// Override params for track (Pitting)
snprintf(Buf,sizeof(Buf),"%s/tracks/%s.xml",
BaseParamPath,oTrackName);
Handle = TUtils::MergeParamFile(Handle,Buf);
@ -555,9 +572,13 @@ void TDriver::InitTrack
if ((oSituation->_raceType == RM_TYPE_QUALIF)
|| (TestQualification > 0))
{
Qualification = true;
GfOut("#Qualification = True\n");
NBRRL = 1;
if ((oSituation->_raceType == RM_TYPE_PRACTICE)
|| (oSituation->_raceType == RM_TYPE_QUALIF))
{
Qualification = true;
GfOut("#Qualification = True\n");
NBRRL = 1;
}
}
// Get car's length
@ -778,15 +799,17 @@ void TDriver::InitTrack
}
else
{
oSkillOffset = MAX(0.0,MIN(1.0,GfParmGetNum(Handle,TDriver::SECT_PRIV,"offset skill", (char *) NULL, oSkillOffset)));
oSkillOffset = MAX(0.0,MIN(10.0,GfParmGetNum(Handle,TDriver::SECT_PRIV,"offset skill", (char *) NULL, oSkillOffset)));
GfOut("#SkillOffset: %g\n", oSkillOffset);
oSkillScale = MAX(0.0,MIN(2.0,GfParmGetNum(Handle,TDriver::SECT_PRIV,"scale skill", (char *) NULL, oSkillScale)));
oSkillScale = MAX(0.0,MIN(10.0,GfParmGetNum(Handle,TDriver::SECT_PRIV,"scale skill", (char *) NULL, oSkillScale)));
GfOut("#SkillScale: %g\n", oSkillScale);
oLookAhead = oLookAhead / (1+oSkillGlobal/24);
oLookAheadFactor = oLookAheadFactor / (1+oSkillGlobal/24);
if (UseOldSkilling)
{
// Scaling to match hymies
oSkill =
-0.0000455 * oSkillGlobal*oSkillGlobal*oSkillGlobal*oSkillGlobal*oSkillGlobal
+0.0014 * oSkillGlobal*oSkillGlobal*oSkillGlobal*oSkillGlobal
@ -794,13 +817,24 @@ void TDriver::InitTrack
+0.0512 * oSkillGlobal*oSkillGlobal
+0.0978 * oSkillGlobal
+ oSkillOffset + oSkillDriver;
}
else if (UseSCSkilling)
{
// Scaling to match usr_sc
oSkillScale = oSkillScale/50.0;
oSkillDriver = oSkillDriver / ((50.0 - oSkillGlobal)/40.0);
oSkill = oSkillScale * (oSkillGlobal + oSkillDriver * 2) * (1.0 + oSkillDriver) + oSkillOffset;
}
else
{
// Scaling
oSkillScale = oSkillScale/50.0;
oSkillDriver = oSkillDriver / ((50.0 - oSkillGlobal)/40.0);
oSkill = (oSkillGlobal + oSkillDriver * 2) * (1.0 + oSkillDriver) + 10 * oSkillOffset;
oSkill = oSkillScale * (oSkillGlobal + oSkillDriver * 2) * (1.0 + oSkillDriver) + oSkillOffset;
}
oSkill *= oSkillScale;
if (Qualification)
oSkill *= 1.5;
Param.Tmp.oSkill = 1.0 + oSkill;
GfOut("\n#>>>Skilling: Skill %g oSkillGlobal %g oSkillDriver %g oLookAhead %g oLookAheadFactor %g effSkill:%g\n\n",
@ -1003,7 +1037,7 @@ void TDriver::Drive()
oCar->ctrl.clutchCmd = (float) oClutch;
oCar->ctrl.gear = oGear;
oCar->ctrl.steer = (float) oSteer;
//GfOut("#%d: A: %g B: %g C: %g G: %d S: %g\n",oIndex,oAccel,oBrake,oClutch,oGear,oSteer);
//GfOut("#%d: %g A: %g B: %g C: %g G: %d S: %g\n",oIndex,CurrSimTime,oAccel,oBrake,oClutch,oGear,oSteer);
/*
if (oDoAvoid)
oCar->ctrl.lightCmd = RM_LIGHT_HEAD2; // Only small lights on
@ -1017,6 +1051,9 @@ void TDriver::Drive()
if (!Qualification) // Don't use pit while
oStrategy->CheckPitState(0.6f); // qualification
//if ((oCurrSpeed < 100.0/3.6) && (CurrSimTime > 0) && (CurrSimTime < 10))
// GfOut("t:%.2f s v:%.1f km/h A:%.3f C:%.3f G:%d\n",CurrSimTime,oCurrSpeed*3.6,oAccel,oClutch,oGear);
}
//==========================================================================*
@ -1251,7 +1288,7 @@ void TDriver::FindRacinglines()
void TDriver::TeamInfo()
{
#ifdef TORCS_NG
RtTeamManagerShowInfo();
//RtTeamManagerShowInfo();
oTeamIndex = RtTeamManagerIndex(oCar,oTrack,oSituation);
RtTeamManagerDump();
#else
@ -1307,8 +1344,9 @@ void TDriver::Update(tCarElt* Car, tSituation* S)
else // else use
oAngleSpeed = atan2(CarSpeedY, CarSpeedX); // direction of movement
Param.Tmp.oSkill =
(1.0 + oSkill/oSkillScale + CarDamage/30000);// Adjust skill to damages
// Param.Tmp.oSkill =
// (1.0 + oSkill/oSkillScale + CarDamage/30000);// Adjust skill to damages
// (1.0 + oSkill + CarDamage/30000); // Adjust skill to damages
oTrackAngle = // Direction of track at the
RtTrackSideTgAngleL(&CarTrackPos); // position of the car
@ -1344,6 +1382,14 @@ void TDriver::Update(tCarElt* Car, tSituation* S)
}
oStrategy->Update(oCar,MinDistBack,MinTimeSlot);// Update strategic params
oSideReduction = 1.0;
if (WheelSeg(REAR_RGT) != WheelSeg(REAR_LFT))
{
float MinFriction = MIN(WheelSegFriction(REAR_RGT),WheelSegFriction(REAR_LFT));
oSideReduction = MIN(1.0,MinFriction / CarFriction);
//GfOut("SideReduction: %g\n",oSideReduction);
}
}
//==========================================================================*
@ -1631,7 +1677,7 @@ void TDriver::Clutching()
//--------------------------------------------------------------------------*
void TDriver::Turning()
{
if (!oUnstucking && (DistanceRaced > 10))
if (!oUnstucking && (DistanceRaced > 25))
{
double Angle = oLanePoint.Angle - CarYaw; // Direction moving to
DOUBLE_NORM_PI_PI(Angle); // normalize it
@ -1831,6 +1877,7 @@ void TDriver::InitAdaptiveShiftLevels()
}
Rpm += 1;
}
}
//for (J = 1; J < oLastGear; J++)
@ -2398,10 +2445,10 @@ bool TDriver::TargetReached(double Target, double AvoidTarget)
void TDriver::Runaround(double Scale, double Target, bool DoAvoid)
{
// Scale limits of change of lateral movement (accellerations/velocities)
double RangeAccMax = 0.00075 * Scale; // Range accelleration and
double RangeAccMax = 0.0005 * Scale; // Range accelleration and
double RangeVelMax = 0.005 * Scale; // velocity per sim.step
double OffsetAccMax = 0.0003 * Scale; // Offset accelleration and
double OffsetVelMax = 0.2 * Scale; // velocity per sim.step
double OffsetAccMax = 0.00015 * Scale; // Offset accelleration and
double OffsetVelMax = 0.1 * Scale; // velocity per sim.step
double AvoidTarget = 0; // Assume come back to RL
if (DoAvoid) // But if needed
@ -2689,6 +2736,9 @@ double TDriver::FilterSkillBrake(double Brake)
//--------------------------------------------------------------------------*
double TDriver::FilterTCL(double Accel)
{
if (DistanceRaced < 50) // Not at start
return Accel;
if(fabs(CarSpeedLong) < 0.001) // Only if driving faster
return Accel;
@ -2767,6 +2817,8 @@ double TDriver::FilterTrack(double Accel)
if (fabs(oDeltaOffset) > oTolerance) // Check offset difference
Accel *= (float) // Decrease acceleration
(MAX(1.0 - (fabs(oDeltaOffset) - oTolerance) * 0.2, 0.4));
Accel *= oSideReduction;
}
return Accel;
}
@ -2911,6 +2963,10 @@ double TDriver::CalcSkill(double TargetSpeed)
double Rand2 = (double) getRandom() / 65536.0;
double Rand3 = (double) getRandom() / 65536.0;
//double Rand1 = 0.0;
//double Rand2 = 0.0;
//double Rand3 = 0.0;
// acceleration to use in current time limit
oDecelAdjustTarget = (oSkill/4 * Rand1);

View file

@ -323,6 +323,8 @@ private:
bool oReduced;
double oFuelNeeded;
double oRepairNeeded;
float oSideReduction;
int NBRRL;
int oRL_FREE;
@ -374,6 +376,7 @@ private:
static bool AdvancedParameters;
static bool UseOldSkilling;
static bool UseSCSkilling;
static bool UseBrakeLimit;
static float BrakeLimit;
static float BrakeLimitScale;

View file

@ -9,7 +9,7 @@
//
// File : unitfixcarparam.cpp
// Created : 2007.11.25
// Last changed : 2009.02.14
// Last changed : 2009.04.26
// Copyright : © 2007-2009 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 2.00.000
@ -225,7 +225,7 @@ double TFixCarParam::CalcBraking
double Ftanroad = -sqrt(Froad * Froad - Flatroad * Flatroad) + Ftan;
Acc = CarParam.oScaleBrake * Ftanroad
/ (oTmpCarParam->oMass * oTmpCarParam->oSkill);
/ (oTmpCarParam->oMass * ( 3 + oTmpCarParam->oSkill) / 4);
if (TDriver::UseBrakeLimit)
{
@ -372,7 +372,7 @@ double TFixCarParam::CalcMaxSpeed
double MuF = Friction * oTyreMuFront * CarParam.oScaleMu;
double MuR = Friction * oTyreMuRear * CarParam.oScaleMu;
//Mu = (MuF + MuR) / (2 * oTmpCarParam->oSkill);
//Mu = MIN(MuF,MuR) /(( 3 + oTmpCarParam->oSkill)/4);
Mu = MIN(MuF,MuR) / oTmpCarParam->oSkill;
Den = (AbsCrv - ScaleBump * CrvZ)

View file

@ -262,6 +262,8 @@ enum
#define CarDamage (oCar->_dammage)
#define CarDriverIndex (oCar->_driverIndex)
#define CarFriction (oCar->_trkPos.seg->surface->kFriction)
#define CarRoughness (oCar->_trkPos.seg->surface->kRoughness)
#define CarRollRes (oCar->_trkPos.seg->surface->kRollRes)
#define CarFuel (oCar->_fuel)
#define CarGearNbr (oCar->_gearNb)
#define CarGearOffset (oCar->_gearOffset)
@ -311,6 +313,10 @@ enum
#define SteerLock (oCar->_steerLock)
#define WheelRad(x) (oCar->_wheelRadius(x))
#define WheelSpinVel(x) (oCar->_wheelSpinVel(x))
#define WheelSeg(x) (oCar->_wheelSeg(x))
#define WheelSegFriction(x) (oCar->_wheelSeg(x)->surface->kFriction)
#define WheelSegRoughness(x) (oCar->_wheelSeg(x)->surface->kRoughness)
#define WheelSegRollRes(x) (oCar->_wheelSeg(x)->surface->kRollRes)
#define UsedGear (oCar->_gear)
// ... Shortcuts for TORCS

View file

@ -2,15 +2,17 @@
// unitlane.cpp
//--------------------------------------------------------------------------*
// TORCS: "The Open Racing Car Simulator"
// Roboter für TORCS-Version 1.3.0
// A robot for TORCS-NG-Version 1.4.0
//--------------------------------------------------------------------------*
// Lane
// Fahrspur
//
// Datei : unitlane.cpp
// Erstellt : 25.11.2007
// Stand : 24.11.2008
// Copyright: © 2007-2008 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 1.01.000
// File : unitlane.cpp
// Created : 2007.11.25
// Last changed : 2009.05.16
// Copyright : © 2007-2009 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 2.00.000
//--------------------------------------------------------------------------*
// Ein erweiterter TORCS-Roboters
//--------------------------------------------------------------------------*
@ -39,19 +41,24 @@
// Copyright: (C) 2006-2007 Tim Foden
//
//--------------------------------------------------------------------------*
// This program was developed and tested on windows XP
// There are no known Bugs, but:
// Who uses the files accepts, that no responsibility is adopted
// for bugs, dammages, aftereffects or consequential losses.
//
// Das Programm wurde unter Windows XP entwickelt und getestet.
// Fehler sind nicht bekannt, dennoch gilt:
// Wer die Dateien verwendet erkennt an, dass für Fehler, Schäden,
// Folgefehler oder Folgeschäden keine Haftung übernommen wird.
//
// Im übrigen gilt für die Nutzung und/oder Weitergabe die
// GNU GPL (General Public License)
// Version 2 oder nach eigener Wahl eine spätere Version.
//--------------------------------------------------------------------------*
// 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.
//
// Im übrigen gilt für die Nutzung und/oder Weitergabe die
// GNU GPL (General Public License)
// Version 2 oder nach eigener Wahl eine spätere Version.
//--------------------------------------------------------------------------*
#include <robottools.h>
@ -314,6 +321,13 @@ void TLane::CalcCurvaturesXY(int Start, int Step)
oPathPoints[P].CalcPt(),
oPathPoints[Pn].CalcPt());
}
// Overwrite values at start to avoid slowdown caused by track errors
for (int I = 0; I <= Step; I++)
{
oPathPoints[I].Crv = 0.0;
oPathPoints[N-1-I].Crv = 0.0;
}
}
//==========================================================================*
@ -337,6 +351,13 @@ void TLane::CalcCurvaturesZ(int Start, int Step)
oPathPoints[P].CalcPt(),
oPathPoints[Pn].CalcPt());
}
// Overwrite values at start to avoid slowdown caused by track errors
for (int I = 0; I <= Step; I++)
{
oPathPoints[I].CrvZ = 0.0;
oPathPoints[N-1-I].CrvZ = 0.0;
}
}
//==========================================================================*

View file

@ -2,36 +2,41 @@
// unitlanepoint.cpp
//--------------------------------------------------------------------------*
// TORCS: "The Open Racing Car Simulator"
// Roboter für TORCS-Version 1.3.0
// A robot for TORCS-NG-Version 1.4.0
//--------------------------------------------------------------------------*
// Point of a lane
// Punkt einer Fahrspur
//
// Datei : unitlanepoint.cpp
// Erstellt : 25.11.2007
// Stand : 24.11.2008
// Copyright: © 2007-2008 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 1.01.000
//--------------------------------------------------------------------------*
// Ein erweiterter TORCS-Roboters
// File : unitlanepoint.cpp
// Created : 2007.11.25
// Last changed : 2009.05.16
// Copyright : © 2007-2009 Wolf-Dieter Beelitz
// eMail : wdb@wdbee.de
// Version : 2.00.000
//--------------------------------------------------------------------------*
// Diese Unit basiert auf dem Roboter mouse_2006
//
// Copyright: (C) 2006-2007 Tim Foden
//
//--------------------------------------------------------------------------*
// This program was developed and tested on windows XP
// There are no known Bugs, but:
// Who uses the files accepts, that no responsibility is adopted
// for bugs, dammages, aftereffects or consequential losses.
//
// Das Programm wurde unter Windows XP entwickelt und getestet.
// Fehler sind nicht bekannt, dennoch gilt:
// Wer die Dateien verwendet erkennt an, dass für Fehler, Schäden,
// Folgefehler oder Folgeschäden keine Haftung übernommen wird.
//
// Im übrigen gilt für die Nutzung und/oder Weitergabe die
// GNU GPL (General Public License)
// Version 2 oder nach eigener Wahl eine spätere Version.
//--------------------------------------------------------------------------*
// 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.
//
// Im übrigen gilt für die Nutzung und/oder Weitergabe die
// GNU GPL (General Public License)
// Version 2 oder nach eigener Wahl eine spätere Version.
//--------------------------------------------------------------------------*
#include "unitglobal.h"
#include "unitcommon.h"

View file

@ -209,6 +209,7 @@ void* GetFileHandle(const char* RobotName)
//--------------------------------------------------------------------------*
void SetParameters(int N, char* DefaultCarType)
{
NBBOTS = N;
TDriver::NBBOTS = N; // Used nbr of cars
TDriver::MyBotName = BufName; // Name of this bot
TDriver::ROBOT_DIR = BufPathDir; // Path to dll
@ -242,7 +243,8 @@ void SetUpSimplix_trb1()
void SetUpSimplix_sc()
{
SetParameters(NBBOTS, "sc996");
TDriver::UseOldSkilling = true; // Use old skilling
// TDriver::UseOldSkilling = true; // Use old skilling
TDriver::UseSCSkilling = true; // Use supercar skilling
};
//==========================================================================*

View file

@ -4,6 +4,7 @@
// TORCS: "The Open Racing Car Simulator"
// A robot for TORCS-NG-Version 1.4.0
//--------------------------------------------------------------------------*
// Opponents
// Rivalen (und Teammitglieder)
//
// File : unitopponent.cpp