an AI that actively collects items. This is (for now) the new default
AI - feedback welcome!
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11291 178a84e3-b1eb-0310-8ba1-8eac791a3b58
controller keeps the name of the original controller,
which allows proper statistic output in profile mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11287 178a84e3-b1eb-0310-8ba1-8eac791a3b58
kart (and changed the FTL code to display 'Leader' so that
it uses this feature now).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11284 178a84e3-b1eb-0310-8ba1-8eac791a3b58
new skidding ai which is at this stage a copy
of the default AI controller.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11254 178a84e3-b1eb-0310-8ba1-8eac791a3b58
(ghost karts were not removed, causing problems when
drawing all later).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11252 178a84e3-b1eb-0310-8ba1-8eac791a3b58
setPhase. Removed usage of auxiliary timer in overworld
(instead set phase to race_phase) - as a result there
is no mpre 'Go!' being displayed (which I think is
actually better for the overworld).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11225 178a84e3-b1eb-0310-8ba1-8eac791a3b58
a demo after T seconds of idle time, --demo-tracks a,b,c
to specify a list of tracks to use for demo mode, --demo-karts
to specify the number of karts.
This is WIP, esp. it crashes if ESC is pressed during a race
(other keys will successfully return to main menu).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11189 178a84e3-b1eb-0310-8ba1-8eac791a3b58
problems (I can't figure out what this line is supposed to do ... as far as I
could see it appears not to be used at all, and m_phase never reaches FINISH_PHASE).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11188 178a84e3-b1eb-0310-8ba1-8eac791a3b58
* Only adding for standard races (normal race + time trial), didn't make as
much sense elsewhere.
* Places still active players at the back of the final result and gives
them penalty time.
* Add button to race pause dialog, temporarily using options_ui.png.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11093 178a84e3-b1eb-0310-8ba1-8eac791a3b58
added getTerrainInfo() function instead and dynamic_casts.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11081 178a84e3-b1eb-0310-8ba1-8eac791a3b58
using a fixed object in the kart, now each animation
(rescue, explosion, canon) has its own object and
implementation using a common interface. This
simplifies AbstractKartInterface, and makes it
easier to add new functionailty.
Instead of using: kart->rescue(...), or kart->explode(...)
you use new ExplosionAnimation(kart, ...) etc. Memory
handling is done by the object (and abstract kart).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11070 178a84e3-b1eb-0310-8ba1-8eac791a3b58
de-couple kart implementation and its interface. This
significantly reduces compile time when changing kart.hpp,
but is at this stage still work in progress.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10997 178a84e3-b1eb-0310-8ba1-8eac791a3b58
reduce compile time on controller changes).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10952 178a84e3-b1eb-0310-8ba1-8eac791a3b58
GhostKart was not called, since it was called during when
the contrsuctor of Kart was executed (at this time the
GhostKart vtable wasn't set up, so Kart::createPhysics)
was called - which resulted in a memory leak since all
physics parts of the kart were actually allocated (just
not used). To fix this, karts are not constructed in two
phases: first a constructor, followed by a call to init
(during which virtual function can be used).
Fixed several bugs were physics data for a GhostKart
were accessed.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10947 178a84e3-b1eb-0310-8ba1-8eac791a3b58
classes for recording and for replaying. Added compression (by use of
interpolation) settings to stk_config - atm only using a certain
frequency (delta-t setting in stk_config) is used.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10904 178a84e3-b1eb-0310-8ba1-8eac791a3b58
apparently happens in doing-the-dishes with 20 karts).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10903 178a84e3-b1eb-0310-8ba1-8eac791a3b58
kart positions and rotations are saved.
To save a replay, press ctrl-F10 which will create a file
in the stk config dir 'trackname'.replay .
To replay, use --ghost command line, and select the
track with the same name (at this stage the replay is
loaded even if number of laps and difficulty is different).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10897 178a84e3-b1eb-0310-8ba1-8eac791a3b58
I am going to fix this next.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/reverse_mode@10862 178a84e3-b1eb-0310-8ba1-8eac791a3b58
improved handling of end cameras for reverse mode (otherwise one
additional end camera would need to be defined to be used just
when the lap line is crossed).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/reverse_mode@10850 178a84e3-b1eb-0310-8ba1-8eac791a3b58
reverse tracks. Simplified code by moving some functionality
from QuadGraph to CheckManager.
2) Added comments, renamed some functions to better indicate
what they are doing.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/reverse_mode@10843 178a84e3-b1eb-0310-8ba1-8eac791a3b58
It adds a flag to the track.xml files, a (currently unnamed) checkbox
in the track selection screen, but doesn't do any actualy reversing (see
forum http://forum.freegamedev.net/viewtopic.php?f=18&t=2661 for
details).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/reverse_mode@10767 178a84e3-b1eb-0310-8ba1-8eac791a3b58
understand. Removed and simplified some functions. This should not change
anything in actual game play.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10574 178a84e3-b1eb-0310-8ba1-8eac791a3b58
this stage for users.
The physics branch added a few new stability options (which are disabled
by default), fixed bug and reproducing history files when using physics
replay, using --log=file command line option. See log on the physics
branch for full details.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10292 178a84e3-b1eb-0310-8ba1-8eac791a3b58
time steps), so that in physics replay the time steps are now
correct.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/physics@10219 178a84e3-b1eb-0310-8ba1-8eac791a3b58
people to give the AI certain items (it also avoids a
crash if one of the F? keys is pressed in profile mode).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9954 178a84e3-b1eb-0310-8ba1-8eac791a3b58
mode, which makes this better suited to find memory leaks.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9927 178a84e3-b1eb-0310-8ba1-8eac791a3b58
race. This way getXYZ() and getTrans() now report the correct
position after the kart were reset, before the first frame (i.e.
before Moveable::update() is called the first time).
This caused the referee position to be inconsistent between
tracks (and this will for now cause the referee position to be
bad ... but at least the same bad in all tracks ;) ).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9897 178a84e3-b1eb-0310-8ba1-8eac791a3b58
- sorted declarations so that all virtual functions
are together.
- Renamed *_IDENT variables to IDENT_* so that the
naming is consistent
- Using std::string& for IDENT_* instead of char*
- Use pointer for out variables in getDefaultCollectibles.
- Moved m_fastest_lap variable from world to LinearWorld.
- Many many cosmetic changes to follow our style guide.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9852 178a84e3-b1eb-0310-8ba1-8eac791a3b58
Fixed incorrect indices used for tires (used 1-4, should use 0-3).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9838 178a84e3-b1eb-0310-8ba1-8eac791a3b58
1) Ready, Set, Go is still shown.
2) Orientation of thunderbird is not correct in
all cases (esp. in battle mode).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9822 178a84e3-b1eb-0310-8ba1-8eac791a3b58
Just dropping the last reference to the mesh
does not remove the pointer to this mesh from
the mesh cache --> in the next race when the
tire model is loaded again the mesh cache tries
to load a freed mesh.
2) Fixed floating tires: TrackObjectManager::removeObject
does not remove the scene graph or physics world.
Just leaving them in the objects managed by
TrackObjectManager frees them as expected
(side note: I am considering refactorin removeObject ;) ).
3) Improved documentation on ThreeStrikesBattle.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9780 178a84e3-b1eb-0310-8ba1-8eac791a3b58
with graphics, since this can now be done using the --ai=... flag.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9540 178a84e3-b1eb-0310-8ba1-8eac791a3b58
distance along track is now moved into a separate class TrackSector
and used in linear_world and rubber ball.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9422 178a84e3-b1eb-0310-8ba1-8eac791a3b58
explicit calls to QuadGraph::create(...), and the get() function can
return NULL (in case of a race mode that does not use a quad graph).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9421 178a84e3-b1eb-0310-8ba1-8eac791a3b58
quad graph: now the distance of the node is the maximum
of all paths leading to it, which should solve the
problems with the cube (#354).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9416 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2) Fixed layout of result table in case of
profile-laps.
3) Fixed average speed computation.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9404 178a84e3-b1eb-0310-8ba1-8eac791a3b58
skidding-time, and time+count for rescues and exposions.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9399 178a84e3-b1eb-0310-8ba1-8eac791a3b58
Renamed --profile=+-n options to --profile-laps=n
and --profile-time=n.
2) Fixed averaging in case of --profile-time.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9372 178a84e3-b1eb-0310-8ba1-8eac791a3b58
the sfx manager kept on reporting that it was playing (the
track intro sound), while it wasn't. That resulted in STK
hanging (not reaching the 'ready set go' phase).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9192 178a84e3-b1eb-0310-8ba1-8eac791a3b58
instead of using the predecessor. So a kart on the first
quad of a short cut would be rescued to an incorrect
location (most likely to the end of the main driveline,
since shortcut quads come just after the main driveline
in the quad.xml). See r9161 on 0.7.2.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@9166 178a84e3-b1eb-0310-8ba1-8eac791a3b58
avoid memory debugging having inconsistent texture information
at startup and cleanup time.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@8507 178a84e3-b1eb-0310-8ba1-8eac791a3b58
against the dynamics world, it's now using a raycast against the triangle
mesh only (i.e. a single collision body instead of the whole world).
Besides being faster, this will allow raycasts with material detection
against the 'gfx' (surface) mesh.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7694 178a84e3-b1eb-0310-8ba1-8eac791a3b58
(and below water meshes), so that water splashes can be displayed at
the proper position (not used atm).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7665 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This was only committed early to update the VC10 project file.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7656 178a84e3-b1eb-0310-8ba1-8eac791a3b58
it would be set to the last valid sector, and the lap count to the last
valid lap count. If the kart triggered a lap count while being off
track, the lap count would be decremented, but the lap line is already
deactivated, so it would not count again. Since the last valid lap count
was stored to solve an old problem (being reset to before the lap line
would count the lap again), and this is not necessary anymore, the whole
storing of last valid lap was removed.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7529 178a84e3-b1eb-0310-8ba1-8eac791a3b58
overtaken the leader), and the race is over, the leader was moved back
to position 1 (so that all points are given correct), but the ranks
were not adjusted properly, potentially resulting in duplicated ranks.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7110 178a84e3-b1eb-0310-8ba1-8eac791a3b58
karts and prints a warning if the rescue position would result in
an immediate rescue again (which usually indicates that the
driveline is too low, and the kart is rescued 'under' the track).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@7029 178a84e3-b1eb-0310-8ba1-8eac791a3b58
since the parameters for that function had changed).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6753 178a84e3-b1eb-0310-8ba1-8eac791a3b58
3 just before the last kart is eliminated (and a kart on
position 1 will be eliminated), the kart on previous position
2 (after elimination on position 1) will get too many points.
This situation is now detected, and the position of the
remaining karts are adjusted before scoring.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6583 178a84e3-b1eb-0310-8ba1-8eac791a3b58
an emergency animation (see bug 3100384).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6387 178a84e3-b1eb-0310-8ba1-8eac791a3b58
and the scene.xml file can specify how many karts to set in one row, and the
distance between karts in X and Z direction.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6256 178a84e3-b1eb-0310-8ba1-8eac791a3b58
(and so no debug info for a rank change was printed).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6246 178a84e3-b1eb-0310-8ba1-8eac791a3b58
resulted in AIs driving badly (even when the variation was set to 0).
This patch will be re-considered later, after the alpha 3 release.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6129 178a84e3-b1eb-0310-8ba1-8eac791a3b58
steer to the same driveline point, but to points slightly to
the left and right. The maximum variation is defined in
stk_config.xml (and should be between 0 and 1).
ATM THIS IS DISABLED! Since in my tests it appears that
the AI is not driving as good as previously anymore, i.e.
it drives more S-lines on straights etc. To enable this change
steering_variation in stk_config.xml
2) AI now handles multi-items better by waiting a certain amount
of time before using the next item.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6123 178a84e3-b1eb-0310-8ba1-8eac791a3b58
(see bug 3072740): the countdown timer caused incorrect
values to be used for the 'music credit' display.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6121 178a84e3-b1eb-0310-8ba1-8eac791a3b58
in stk_config. This is to balance races with larger number of
karts. Note that the changes to stk_config was part of the
previous commit.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@6073 178a84e3-b1eb-0310-8ba1-8eac791a3b58