|
SuperTuxKart
|
An implementation of World, to provide animated 3D cutscenes. More...
#include <cutscene_world.hpp>

Public Member Functions | |
| CutsceneWorld () | |
| Constructor. More... | |
| virtual | ~CutsceneWorld () |
| Destructor. More... | |
| virtual void | init () OVERRIDE |
| Initialises the three strikes battle. More... | |
| virtual void | reset (bool restart=false) OVERRIDE |
| This function is called before a race is started (i.e. More... | |
| virtual bool | isRaceOver () OVERRIDE |
| The battle is over if only one kart is left, or no player kart. | |
| virtual const std::string & | getIdent () const OVERRIDE |
| Returns the internal identifier for this race. | |
| virtual void | update (int ticks) OVERRIDE |
| Update the world and the track. More... | |
| virtual void | createRaceGUI () OVERRIDE |
| virtual void | enterRaceOverState () OVERRIDE |
| Called when the race is finished, but it still leaves some time for an end of race animation, and potentially let some more AI karts finish the race. | |
| virtual bool | raceHasLaps () OVERRIDE |
| Called when it is needed to know whether this kind of race involves counting laps. | |
| virtual unsigned int | getNumberOfRescuePositions () const OVERRIDE |
| Returns the number of rescue positions on a given track and game mode. More... | |
| virtual unsigned int | getRescuePositionIndex (AbstractKart *kart) OVERRIDE |
| Determines the rescue position index of the specified kart. | |
| virtual btTransform | getRescueTransform (unsigned int index) const OVERRIDE |
| Returns the bullet transformation for the specified rescue index. More... | |
| virtual void | onFirePressed (Controller *who) OVERRIDE |
| Override if you want to know when a kart presses fire. | |
| void | setParts (std::vector< std::string > parts) |
| virtual void | getKartsDisplayInfo (std::vector< RaceGUIBase::KartIconDisplayInfo > *info) OVERRIDE |
| Returns the data to display in the race gui. | |
| virtual void | escapePressed () OVERRIDE |
| void | abortCutscene () |
Public Member Functions inherited from World | |
| World () | |
| The main world class is used to handle the track and the karts. More... | |
| virtual void | moveKartAfterRescue (AbstractKart *kart) |
| Places a kart that is rescued. More... | |
| virtual bool | showLapsTarget () |
| If true lap counter shows lap count in format: 4/20 or if false then in format: 4. | |
| virtual int | getFinishedLapsOfKart (unsigned int kart_index) const |
| Returns the number of laps for a given kart. More... | |
| virtual void | updateGraphics (float dt) |
| This updates all only graphical elements. More... | |
| virtual void | terminateRace () OVERRIDE |
| Called at the end of a race. More... | |
| virtual void | pause (Phase phase) OVERRIDE |
| Pauses the music (and then pauses WorldStatus). | |
| virtual void | unpause () OVERRIDE |
| Switches back from a pause state to the previous state. | |
| virtual void | getDefaultCollectibles (int *collectible_type, int *amount) |
| Called to determine the default collectibles to give each player at the start for this kind of race. More... | |
| virtual void | collectedItem (const AbstractKart *kart, const ItemState *item) |
| Receives notification if an item is collected. More... | |
| virtual void | endRaceEarly () |
| virtual bool | hasRaceEndedEarly () const |
| virtual bool | haveBonusBoxes () |
| Called to determine whether this race mode uses bonus boxes. | |
| virtual bool | useFastMusicNearEnd () const |
| Returns if this mode should use fast music (if available). | |
| virtual void | kartAdded (AbstractKart *kart, scene::ISceneNode *node) |
| If you want to do something to karts or their graphics at the start of the race, override this. | |
| virtual void | newLap (unsigned int kart_index) |
| Called whenever a kart starts a new lap. More... | |
| virtual bool | kartHit (int kart_id, int hitter=-1) |
| Called when a kart was hit by a projectile. | |
| virtual void | onMouseClick (int x, int y) |
| Highscores * | getHighscores () const |
| Highscores * | getGPHighscores () const |
| void | schedulePause (Phase phase) |
| void | scheduleUnpause () |
| void | scheduleExitRace () |
| void | scheduleTutorial () |
| void | updateWorld (int ticks) |
| This is the main interface to update the world. More... | |
| void | handleExplosion (const Vec3 &xyz, AbstractKart *kart_hit, PhysicalObject *object) |
| AbstractKart * | getPlayerKart (unsigned int player) const |
| Returns the n-th player kart. More... | |
| AbstractKart * | getLocalPlayerKart (unsigned int n) const |
| Returns the nth local player kart, i.e. More... | |
| virtual const btTransform & | getStartTransform (int index) |
| Returns the start coordinates for a kart with a given index. More... | |
| void | moveKartTo (AbstractKart *kart, const btTransform &t) |
| Places the kart at a given position and rotation. More... | |
| void | updateTimeTargetSound () |
| RaceGUIBase * | getRaceGUI () const |
| Returns a pointer to the race gui. | |
| unsigned int | getNumKarts () const |
| Returns the number of karts in the race. | |
| AbstractKart * | getKart (int kartId) const |
| Returns the kart with a given world id. | |
| const KartList & | getKarts () const |
| Returns all karts. | |
| unsigned int | getCurrentNumKarts () const |
| Returns the number of currently active (i.e.non-elikminated) karts. | |
| unsigned int | getCurrentNumPlayers () const |
| Returns the number of currently active (i.e. More... | |
| void | resetElimination () |
| virtual void | addReservedKart (int kart_id) |
| virtual void | saveCompleteState (BareNetworkString *bns, STKPeer *peer) |
| virtual void | restoreCompleteState (const BareNetworkString &buffer) |
| virtual bool | shouldDrawTimer () const |
| The code that draws the timer should call this first to know whether the game mode wants a timer drawn. | |
| virtual bool | shouldDrawSpeedometerDigit () const |
| virtual std::pair< int, video::SColor > | getSpeedometerDigit (const AbstractKart *kart) const |
| bool | useHighScores () const |
| virtual bool | useChecklineRequirements () const |
| Whether to compute checkline requirements for each world on the quadgraph. More... | |
| virtual void | loadCustomModels () |
| void | eliminateKart (int kart_number, bool notify_of_elimination=true) |
| Remove (eliminate) a kart from the race. | |
| void | setUnfairTeam (bool val) |
| virtual bool | hasTeam () const |
| KartTeam | getKartTeam (unsigned int kart_id) const |
| Get the team of kart in world (including AIs) | |
| int | getTeamNum (KartTeam team) const |
| void | setNetworkWorld (bool is_networked) |
| Set the network mode (true if networked) | |
| bool | isNetworkWorld () const |
| void | initTeamArrows (AbstractKart *k) |
| Set the team arrow on karts if necessary. | |
| virtual std::pair< uint32_t, uint32_t > | getGameStartedProgress () const |
| Used by server to get the current started game progress in either or both remaining time or progress in percent. More... | |
| virtual bool | isGoalPhase () const |
Public Member Functions inherited from WorldStatus | |
| virtual | ~WorldStatus () |
| Destructor of WorldStatus. | |
| virtual void | updateTime (int ticks) |
| Updates the world time and clock (which might be running backwards), and all status information, called once per frame at the end of the main loop. More... | |
| void | startReadySetGo () |
| void | setTime (const float time) |
| Sets the time for the clock. More... | |
| void | setTicks (int ticks) |
| Sets a new time for the world time, measured in ticks. More... | |
| void | setTicksForRewind (int ticks) |
| Sets a new time for the world time (used by rewind), measured in ticks. More... | |
| bool | isStartPhase () const |
| bool | isRacePhase () const |
| bool | isActiveRacePhase () const |
| bool | isFinishPhase () const |
| While the race menu is being displayed, m_phase is limbo, and m_previous_phase is finish. More... | |
| const Phase | getPhase () const |
| Returns the current race phase. | |
| void | setPhase (Phase phase) |
| Sets the current race phase. More... | |
| void | setClockMode (const ClockType mode, const float initial_time=0.0f) |
| Call to specify what kind of clock you want. More... | |
| int | getClockMode () const |
| Returns the current clock mode. | |
| float | getTime () const |
| Returns the current race time. | |
| uint64_t | getStart () const |
| Returns the start time. | |
| int | getTimeTicks () const |
| Returns the current race time in time ticks (i.e. More... | |
| virtual void | countdownReachedZero () |
| Will be called to notify your derived class that the clock, which is in COUNTDOWN mode, has reached zero. | |
| int | getTicksSinceStart () const |
| Get the ticks since start regardless of which way the clock counts. | |
| int | getAuxiliaryTicks () const |
| bool | isLiveJoinWorld () const |
| void | setLiveJoinWorld (bool val) |
| int | getMusicDescriptionTicks () const |
| void | endLiveJoinWorld (int ticks_now) |
| Base on the network timer set current world count up ticks to tick_now. | |
Static Public Member Functions | |
| static void | setUseDuration (bool use_duration) |
Static Public Member Functions inherited from World | |
| static World * | getWorld () |
| Returns a pointer to the (singleton) world object. | |
| static void | deleteWorld () |
| Delete the )singleton) world object, if it exists, and sets the singleton pointer to NULL. More... | |
| static void | setWorld (World *world) |
| Sets the pointer to the world object. More... | |
| static void | clear () |
Private Member Functions | |
| void | clearCutscene () |
Private Attributes | |
| irr::scene::ICameraSceneNode * | m_camera |
| std::map< float, std::vector< TrackObject * > > | m_sounds_to_trigger |
| std::map< float, std::vector< TrackObject * > > | m_sounds_to_stop |
| std::map< float, std::vector< TrackObject * > > | m_particles_to_trigger |
| double | m_duration |
| bool | m_aborted |
| bool | m_cleared_cutscene |
| float | m_fade_duration |
| bool | m_second_reset |
| monkey tricks to get the animations in sync with irrlicht. More... | |
| double | m_time_at_second_reset |
| std::vector< std::string > | m_parts |
Static Private Attributes | |
| static bool | s_use_duration = false |
Additional Inherited Members | |
Public Types inherited from World | |
| typedef std::vector< std::shared_ptr< AbstractKart > > | KartList |
Public Types inherited from WorldStatus | |
| enum | ClockType { CLOCK_NONE , CLOCK_CHRONO , CLOCK_COUNTDOWN } |
| Different clock types for a race. | |
| enum | Phase { TRACK_INTRO_PHASE , SETUP_PHASE , WAIT_FOR_SERVER_PHASE , SERVER_READY_PHASE , READY_PHASE , SET_PHASE , GO_PHASE , MUSIC_PHASE , RACE_PHASE , DELAY_FINISH_PHASE , RESULT_DISPLAY_PHASE , FINISH_PHASE , IN_GAME_MENU_PHASE , UNDEFINED_PHASE } |
Protected Member Functions inherited from World | |
| void | updateHighscores (int *best_highscore_rank) |
| Called at the end of a race. More... | |
| void | resetAllKarts () |
| Waits till each kart is resting on the ground. More... | |
| Controller * | loadAIController (AbstractKart *kart) |
| Creates an AI controller for the kart. More... | |
| virtual std::shared_ptr< AbstractKart > | createKart (const std::string &kart_ident, int index, int local_player_id, int global_player_id, RaceManager::KartType type, HandicapLevel handicap) |
| Creates a kart, having a certain position, starting location, and local and global player id (if applicable). More... | |
| virtual void | onGo () OVERRIDE |
| Called when 'go' is being displayed for the first time. More... | |
| void | updateTrack (int ticks) |
| Only updates the track. More... | |
| virtual float | estimateFinishTimeForKart (AbstractKart *kart) |
| Used for AI karts that are still racing when all player kart finished. More... | |
| void | updateAchievementDataEndRace () |
| void | updateAchievementModeCounters (bool start) |
Protected Attributes inherited from World | |
| int | m_red_ai |
| int | m_blue_ai |
| std::map< int, KartTeam > | m_kart_team_map |
| std::map< int, unsigned int > | m_kart_position_map |
| KartList | m_karts |
| The list of all karts. | |
| RandomGenerator | m_random |
| AbstractKart * | m_fastest_kart |
| int | m_eliminated_karts |
| Number of eliminated karts. | |
| int | m_eliminated_players |
| Number of eliminated players. | |
| int | m_num_players |
| OVerall number of players. | |
| bool | m_faster_music_active |
| bool | m_stop_music_when_dialog_open |
| bool | m_unfair_team |
| bool | m_use_highscores |
| Whether highscores should be used for this kind of race. More... | |
| RaceGUIBase * | m_race_gui |
| Pointer to the race GUI. More... | |
| RaceGUIBase * | m_saved_race_gui |
| The actual race gui needs to be saved when the race result gui is displayed since it is still needed in case of a restart, and it can't simply be created again (since it assumes that it can render to texture without having any scene nodes, but in case of a restart there are scene nodes). | |
| bool | m_schedule_pause |
| Pausing/unpausing are not done immediately, but at next udpdate. More... | |
| bool | m_schedule_unpause |
| Pausing/unpausing are not done immediately, but at next udpdate. More... | |
| bool | m_schedule_exit_race |
| bool | m_schedule_tutorial |
| Phase | m_scheduled_pause_phase |
| bool | m_restart_camera |
| bool | m_self_destruct |
| Set when the world needs to be deleted but you can't do it immediately because you are e.g. More... | |
| bool | m_is_network_world |
| Set when the world is online and counts network players. | |
| bool | m_ended_early |
Protected Attributes inherited from WorldStatus | |
| double | m_time |
| Elasped/remaining time in seconds. | |
| int | m_time_ticks |
| Time in number of ticks (in terms of physics time steps). | |
| bool | m_play_racestart_sounds |
| If the start race should be played, disabled in cutscenes. | |
| const ProcessType | m_process_type |
| Process type of this world (main or child). | |
| bool | m_play_track_intro_sound |
| bool | m_play_ready_set_go_sounds |
| std::atomic< Phase > | m_phase |
An implementation of World, to provide animated 3D cutscenes.
| CutsceneWorld::CutsceneWorld | ( | ) |
Constructor.
Sets up the clock mode etc.
|
virtual |
Destructor.
Clears all internal data structures, and removes the tire mesh from the mesh cache.
|
inlinevirtual |
Returns the number of rescue positions on a given track and game mode.
Uses the start position as rescue positions, override if necessary.
Reimplemented from World.
|
inlinevirtual |
Returns the bullet transformation for the specified rescue index.
Returns the start transform with the give index.
| rescue_pos | Index of the start position to be returned. |
Reimplemented from World.
|
virtual |
Initialises the three strikes battle.
It sets up the data structure to keep track of points etc. for each kart.
Reimplemented from World.
|
virtual |
|
virtual |
Update the world and the track.
| ticks | Number of physics time steps - should be 1. |
Reimplemented from World.
|
private |
monkey tricks to get the animations in sync with irrlicht.
we reset the time after all is loaded and it's running withotu delays