Improvement of logging. Some were fatal whereas they shouldn't.
Improvement of the protocol system. There were mutex permanent locking.
Protocols that do not use http are now non-blocking (except maybe one).
A user can 'quick join' the server by logging then pressing the 'quick play' button in the online panel.
Improvement of packet serialization/unserialization
Added a ping protocol to ping peers as long as they don't respond
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/networking@13112 178a84e3-b1eb-0310-8ba1-8eac791a3b58
(just acting along the normal). This solves some of the odd
behaviour with the previous implementation if the kart is
off track. The new way is now the default, but the 'push
towards driveline' can be set in stk_config.xml.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11923 178a84e3-b1eb-0310-8ba1-8eac791a3b58
would crash since getItemModel was not static (and no ItemManager instance
exists at that time).
2) Items are now also stored in quad-based containers, which will allow the
AI to better find 'interesting' items.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11511 178a84e3-b1eb-0310-8ba1-8eac791a3b58
the default item meshes. An instance of it is now only
created when a race is started (and deleted once the
race is finished). This makes the race-specific
initialisation and cleanup better to understand. Also
added singleton access to the one instance of ItemManager.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11498 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
location) support. ATM only linear interpolation of the position
is used (i.e. no rotation).
2) To be consistend renamed 'forceRescue' to 'rescue',
'handleExplosion' to 'explode' (and added shootTo for the canon).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11021 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
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
This impulse does not cause any rotation of the kart, it just pushes
the kart orthogonal to its velocity.
2) The rotational velocity is set to 0 in case of a collision, hopefully
avoiding the problem that karts will rotate as result of a collision.
3) A collision pair now stores the exact collision point for both bodies
(which is then used to determine the side in which the impulse to be
applied).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10422 178a84e3-b1eb-0310-8ba1-8eac791a3b58