Colobot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CRobotMain Class Reference
Inheritance diagram for CRobotMain:
Inheritance graph
[legend]

Public Member Functions

 CRobotMain ()
 Constructor of robot application. More...
 
virtual ~CRobotMain ()
 Destructor of robot application. More...
 
Gfx::CCameraGetCamera ()
 
Gfx::CTerrainGetTerrain ()
 
Ui::CInterfaceGetInterface ()
 
Ui::CDisplayTextGetDisplayText ()
 
CPauseManagerGetPauseManager ()
 
void ChangePhase (Phase phase)
 Changes phase. More...
 
bool ProcessEvent (Event &event)
 Processes an event. More...
 
Phase GetPhase ()
 
bool CreateShortcuts ()
 Creates interface shortcuts to the units. More...
 
void ScenePerso ()
 Load the scene for the character. More...
 
void SetMovieLock (bool lock)
 Management of the lock mode for movies. More...
 
bool GetMovieLock ()
 
bool GetInfoLock ()
 
void SetSatComLock (bool lock)
 Management of the blocking of the call of SatCom. More...
 
bool GetSatComLock ()
 
void SetEditLock (bool lock, bool edit)
 Management of the lock mode for the edition. More...
 
bool GetEditLock ()
 
void SetEditFull (bool full)
 Management of the fullscreen mode during editing. More...
 
bool GetEditFull ()
 
void SetFriendAim (bool friendAim)
 Indicates whether mouse is on an friend object, on which we should not shoot. More...
 
bool GetFriendAim ()
 
void SetSpeed (float speed)
 Changes game speed. More...
 
float GetSpeed ()
 
void UpdateShortcuts ()
 Updates all the shortcuts. More...
 
void SelectHuman ()
 Selects the human. More...
 
CObjectSearchHuman ()
 Returns the object human. More...
 
CObjectSearchToto ()
 Returns the object toto. More...
 
CObjectSearchNearest (Math::Vector pos, CObject *exclu)
 Returns the nearest selectable object from a given position. More...
 
bool SelectObject (CObject *obj, bool displayError=true)
 Selects the object aimed by the mouse. More...
 
CObjectGetSelectObject ()
 Returns the object that default was select after the creation of a scene. More...
 
CObjectDeselectAll ()
 Deselects everything, and returns the object that was selected. More...
 
void ResetObject ()
 Resets all objects to their original position. More...
 
void UpdateAudio (bool frame)
 Updates the audiotracks. More...
 
void SetMissionResultFromScript (Error result, float delay)
 Set mission result from LevelController script. More...
 
Error CheckEndMission (bool frame)
 Checks if the mission is over. More...
 
Error ProcessEndMissionTake ()
 
Error ProcessEndMissionTakeForGroup (std::vector< CSceneEndCondition * > &endTakes)
 
const std::map< std::string, MinMax > & GetObligatoryTokenList ()
 Returns the list instructions required in CBot program in level. More...
 
void UpdateMap ()
 Updates the map. More...
 
bool GetShowMap ()
 Indicates whether the mini-map is visible. More...
 
MainMovieType GetMainMovie ()
 Returns the type of current movie. More...
 
void FlushDisplayInfo ()
 Clears the display of instructions. More...
 
void StartDisplayInfo (int index, bool movie)
 
void StartDisplayInfo (const std::string &filename, int index)
 Beginning of the displaying of instructions. More...
 
void StopDisplayInfo ()
 End of displaying of instructions. More...
 
char * GetDisplayInfoName (int index)
 Returns the name of the text display. More...
 
void StartSuspend ()
 Beginning of a dialogue during the game. More...
 
void StopSuspend ()
 End of dialogue during the game. More...
 
float GetGameTime ()
 Returns the absolute time of the game. More...
 
const std::string & GetScriptName ()
 
const std::string & GetScriptFile ()
 
bool GetTrainerPilot ()
 Indicates whether it is possible to control a driving robot. More...
 
bool GetFixScene ()
 Indicates whether the scene is fixed, without interaction. More...
 
bool GetShowSoluce ()
 
bool GetSceneSoluce ()
 
bool GetShowAll ()
 
bool GetRadar ()
 
MissionType GetMissionType ()
 
int GetGamerFace ()
 Returns the representation to use for the player. More...
 
int GetGamerGlasses ()
 Returns the representation to use for the player. More...
 
bool GetGamerOnlyHead ()
 Returns the mode with just the head. More...
 
float GetPersoAngle ()
 Returns the angle of presentation. More...
 
void SetLevel (LevelCategory cat, int chap, int rank)
 
LevelCategory GetLevelCategory ()
 
int GetLevelChap ()
 
int GetLevelRank ()
 
std::string GetCustomLevelDir ()
 Returns folder name of the scene that user selected to play. More...
 
void SetReadScene (std::string path)
 
void UpdateChapterPassed ()
 
void StartMusic ()
 Starts music with a mission. More...
 
void UpdatePause (PauseType pause)
 
void UpdatePauseMusic (PauseMusic music)
 
void ClearInterface ()
 Removes hilite and tooltip. More...
 
void ChangeColor ()
 Change the colors and textures. More...
 
float SearchNearestObject (Math::Vector center, CObject *exclu)
 Calculates the distance to the nearest object. More...
 
bool FreeSpace (Math::Vector &center, float minRadius, float maxRadius, float space, CObject *exclu)
 Calculates a free space. More...
 
bool FlatFreeSpace (Math::Vector &center, float minFlat, float minRadius, float maxRadius, float space, CObject *exclu)
 Calculates a flat free space. More...
 
float GetFlatZoneRadius (Math::Vector center, float maxRadius, CObject *exclu)
 Calculates the maximum radius of a free space. More...
 
void HideDropZone (CObject *metal)
 Hides buildable area when a cube of metal is taken up. More...
 
void ShowDropZone (CObject *metal, CObject *transporter)
 Shows the buildable area when a cube of metal is deposited. More...
 
void FlushShowLimit (int i)
 Erases the boundaries shown. More...
 
void SetShowLimit (int i, Gfx::ParticleType parti, CObject *obj, Math::Vector pos, float radius, float duration=SHOWLIMITTIME)
 Specifies the boundaries to show. More...
 
void StartShowLimit ()
 Mount the boundaries of the selected object. More...
 
void FrameShowLimit (float rTime)
 Advances the boundaries shown. More...
 
void SaveAllScript ()
 Saves all programs of all the robots. More...
 
void SaveOneScript (CObject *obj)
 Saves all programs of the robot. More...
 
bool SaveFileStack (CObject *obj, FILE *file, int objRank)
 Saves the stack of the program in execution of a robot. More...
 
bool ReadFileStack (CObject *obj, FILE *file, int objRank)
 Resumes the execution stack of the program in a robot. More...
 
void FlushNewScriptName ()
 Empty the list. More...
 
void AddNewScriptName (ObjectType type, const std::string &name)
 Adds a script name. More...
 
std::string GetNewScriptName (ObjectType type, int rank)
 Seeks a script name for a given type. More...
 
void SelectPlayer (std::string playerName)
 Changes current player. More...
 
CPlayerProfileGetPlayerProfile ()
 
bool IOIsBusy ()
 Seeks if an object occupies in a spot, to prevent a backup of the game. More...
 
bool IOWriteScene (std::string filename, std::string filecbot, std::string filescreenshot, const std::string &info, bool emergencySave=false)
 Saves the current game. More...
 
void IOWriteSceneFinished ()
 Notifies the user that scene write is finished. More...
 
CObjectIOReadScene (std::string filename, std::string filecbot)
 Resumes some part of the game. More...
 
void IOWriteObject (CLevelParserLine *line, CObject *obj, const std::string &programDir, int objRank)
 Writes an object into the backup file. More...
 
CObjectIOReadObject (CLevelParserLine *line, const std::string &programDir, const std::string &objCounterText, float objectProgress, int objRank=-1)
 Resumes the game. More...
 
int CreateSpot (Math::Vector pos, Gfx::Color color)
 Creates a light spot. More...
 
CObjectGetSelect ()
 Returns the selected object. More...
 
void DisplayError (Error err, CObject *pObj, float time=10.0f)
 
void DisplayError (Error err, Math::Vector goal, float height=15.0f, float dist=60.0f, float time=10.0f)
 
void UpdateCustomLevelList ()
 
std::string GetCustomLevelName (int id)
 
const std::vector< std::string > & GetCustomLevelList ()
 
bool IsLoading ()
 Returns true if the game is on the loading screen. More...
 
void StartMissionTimer ()
 
void SetAutosave (bool enable)
 
bool GetAutosave ()
 
void SetAutosaveInterval (int interval)
 
int GetAutosaveInterval ()
 
void SetAutosaveSlots (int slots)
 
int GetAutosaveSlots ()
 
void SetExitAfterMission (bool exit)
 Enable mode where completing mission closes the game. More...
 
bool CanPlayerInteract ()
 Returns true if player can interact with things manually. More...
 
const std::string & GetTeamName (int id)
 Returns team name for the given team id. More...
 
bool IsTeamColorDefined (int id)
 Returns true if team-specific colored texture is available. More...
 
bool IsResearchEnabled (ResearchType type)
 Returns true if the given research is enabled. More...
 
bool IsResearchDone (ResearchType type, int team)
 Returns true if the given research is done. More...
 
void MarkResearchDone (ResearchType type, int team)
 Marks research as done. More...
 
void RemoveFromSelectionHistory (CObject *object)
 
float GetGlobalMagnifyDamage ()
 Returns global magnifyDamage setting. More...
 
void StartDetectEffect (COldObject *object, CObject *target)
 
bool IsSelectable (CObject *obj)
 Indicates whether an object is selectable. More...
 
void SetDebugCrashSpheres (bool draw)
 
bool GetDebugCrashSpheres ()
 
int GetEnableBuild ()
 Get/set enabled buildings. More...
 
void SetEnableBuild (int enableBuild)
 
int GetEnableResearch ()
 Get/set enabled researches. More...
 
void SetEnableResearch (int enableResearch)
 
int GetDoneResearch (int team)
 Get/set done researches. More...
 
void SetDoneResearch (int doneResearch, int team)
 
bool IsBuildingEnabled (BuildType type)
 Returns true if the given building is enabled. More...
 
bool IsBuildingEnabled (ObjectType type)
 
bool CanBuild (ObjectType type, int team)
 Retruns true if all requirements to build this object are met (EnableBuild + DoneResearch) More...
 
Error CanBuildError (ObjectType type, int team)
 
bool CanFactory (ObjectType type, int team)
 Retruns true if all requirements to create this object in BotFactory are met (DoneResearch) More...
 
Error CanFactoryError (ObjectType type, int team)
 

Protected Member Functions

bool EventFrame (const Event &event)
 Advances the entire scene. More...
 
bool EventObject (const Event &event)
 Makes the event for all robots. More...
 
void InitEye ()
 Initializes the view. More...
 
void ShowSaveIndicator (bool show)
 
void CreateScene (bool soluce, bool fixScene, bool resetObject)
 Creates the whole scene. More...
 
void ResetCreate ()
 Resets all objects to their original position. More...
 
void LevelLoadingError (const std::string &error, const std::runtime_error &exception, Phase exitPhase=PHASE_LEVEL_LIST)
 
int CreateLight (Math::Vector direction, Gfx::Color color)
 Creates a directional light. More...
 
void HiliteClear ()
 Removes setting evidence of the object with the mouse hovers over. More...
 
void HiliteObject (Math::Point pos)
 Highlights the object with the mouse hovers over. More...
 
void HiliteFrame (float rTime)
 Highlights the object with the mouse hovers over. More...
 
void CreateTooltip (Math::Point pos, const std::string &text)
 Creates a tooltip. More...
 
void ClearTooltip ()
 Clears the previous tooltip. More...
 
CObjectDetectObject (Math::Point pos)
 Detects the object aimed by the mouse. More...
 
void ChangeCamera ()
 Change the mode of the camera. More...
 
void AbortMovie ()
 Cancels the current movie. More...
 
void SelectOneObject (CObject *obj, bool displayError=true)
 Selects an object, without attending to deselect the rest. More...
 
void HelpObject ()
 Displays help for an object. More...
 
bool DeselectObject ()
 Deselects the selected object. More...
 
void DeleteAllObjects ()
 Quickly removes all objects. More...
 
void UpdateInfoText ()
 Updates the text information. More...
 
void StartDisplayVisit (EventType event)
 Start of the visit instead of an error. More...
 
void FrameVisit (float rTime)
 Move the arrow to visit. More...
 
void StopDisplayVisit ()
 End of the visit instead of an error. More...
 
void ExecuteCmd (const std::string &cmd)
 Executes a command. More...
 
void UpdateSpeedLabel ()
 
void AutosaveRotate ()
 
void Autosave ()
 
bool DestroySelectedObject ()
 Deletes the selected object. More...
 
void PushToSelectionHistory (CObject *obj)
 
CObjectPopFromSelectionHistory ()
 
void CreateCodeBattleInterface ()
 
void DestroyCodeBattleInterface ()
 
void SetCodeBattleSpectatorMode (bool mode)
 
void UpdateDebugCrashSpheres ()
 

Protected Attributes

CApplicationm_app = nullptr
 
CEventQueuem_eventQueue = nullptr
 
Gfx::CEnginem_engine = nullptr
 
Gfx::CParticlem_particle = nullptr
 
Gfx::CWaterm_water = nullptr
 
Gfx::CCloudm_cloud = nullptr
 
Gfx::CLightningm_lightning = nullptr
 
Gfx::CPlanetm_planet = nullptr
 
Gfx::COldModelManagerm_oldModelManager = nullptr
 
Gfx::CLightManagerm_lightMan = nullptr
 
CSoundInterfacem_sound = nullptr
 
CInputm_input = nullptr
 
std::unique_ptr< CObjectManagerm_objMan
 
std::unique_ptr< CMainMoviem_movie
 
std::unique_ptr< CPauseManagerm_pause
 
std::unique_ptr< Gfx::CModelManagerm_modelManager
 
std::unique_ptr< Gfx::CTerrainm_terrain
 
std::unique_ptr< Gfx::CCameram_camera
 
std::unique_ptr< Ui::CMainUserInterfacem_ui
 
std::unique_ptr< Ui::CMainShortm_short
 
std::unique_ptr< Ui::CMainMapm_map
 
std::unique_ptr< Ui::CInterfacem_interface
 
std::unique_ptr< Ui::CDisplayInfom_displayInfo
 
std::unique_ptr< Ui::CDisplayTextm_displayText
 
std::unique_ptr< Ui::CDebugMenum_debugMenu
 
std::unique_ptr< CSettingsm_settings
 
std::unique_ptr< CPlayerProfilem_playerProfile
 Progress of loaded player. More...
 
float m_time = 0.0f
 Time since level start, including pause and intro movie. More...
 
float m_gameTime = 0.0f
 Playing time since level start. More...
 
float m_gameTimeAbsolute = 0.0f
 Playing time since level start, not dependent on simulation speed. More...
 
LevelCategory m_levelCategory
 
int m_levelChap = 0
 
int m_levelRank = 0
 
std::string m_levelFile = ""
 if set, loads this file instead of building from category/chap/rank More...
 
std::string m_sceneReadPath
 
float m_winDelay = 0.0f
 
float m_lostDelay = 0.0f
 
bool m_fixScene = false
 
CObjectm_base = nullptr
 
CObjectm_selectObject = nullptr
 
Phase m_phase = PHASE_WELCOME1
 
ActivePausem_userPause = nullptr
 
ActivePausem_focusPause = nullptr
 
ActivePausem_freePhotoPause = nullptr
 
bool m_cmdEdit = false
 
ActivePausem_cmdEditPause = nullptr
 
bool m_selectInsect = false
 
bool m_showSoluce = false
 
bool m_showAll = false
 
bool m_cheatRadar = false
 
bool m_shortCut = false
 
std::string m_audioTrack
 
bool m_audioRepeat = false
 
std::string m_satcomTrack
 
bool m_satcomRepeat = false
 
std::string m_editorTrack
 
bool m_editorRepeat = false
 
int m_movieInfoIndex = 0
 
CObjectm_controller = nullptr
 
MissionType m_missionType = MISSION_NORMAL
 
bool m_immediatSatCom = false
 
bool m_beginSatCom = false
 
bool m_lockedSatCom = false
 
bool m_movieLock = false
 
bool m_satComLock = false
 
bool m_editLock = false
 
bool m_editFull = false
 
bool m_hilite = false
 
bool m_trainerPilot = false
 
bool m_friendAim = false
 
bool m_resetCreate = false
 
bool m_mapShow = false
 
bool m_mapImage = false
 
char m_mapFilename [100] = {}
 
ActivePausem_suspend = nullptr
 
Math::Point m_tooltipPos
 
std::string m_tooltipName
 
float m_tooltipTime = 0.0f
 
char m_infoFilename [SATCOM_MAX][100] = {}
 
CObjectm_infoObject = nullptr
 
int m_infoUsed = 0
 
ActivePausem_satcomMoviePause = nullptr
 
std::string m_scriptName = ""
 
std::string m_scriptFile = ""
 
std::string m_endingWin = ""
 
std::string m_endingLost = ""
 
bool m_winTerminate = false
 
float m_globalMagnifyDamage = 0.0f
 
bool m_exitAfterMission = false
 
bool m_codeBattleInit = false
 
bool m_codeBattleStarted = false
 
bool m_codeBattleSpectator = true
 Code battle spectator mode, hides object UI, changes camera to CAM_TYPE_PLANE and allows for switching to free camera by clicking outside of any object. More...
 
std::map< int, std::string > m_teamNames
 
std::vector< NewScriptNamem_newScriptName
 
EventType m_visitLast = EVENT_NULL
 
CObjectm_visitObject = nullptr
 
CObjectm_visitArrow = nullptr
 
float m_visitTime = 0.0f
 
float m_visitParticle = 0.0f
 
Math::Vector m_visitPos
 
Math::Vector m_visitPosArrow
 
ActivePausem_visitPause = nullptr
 
std::vector< std::unique_ptr< CSceneEndCondition > > m_endTake
 
bool m_endTakeImmediat = false
 If true, the mission ends immediately after completing the requirements without requiring SpaceShip takeoff. More...
 
long m_endTakeResearch = 0
 
float m_endTakeWinDelay = 0.0f
 
float m_endTakeLostDelay = 0.0f
 
std::vector< std::unique_ptr< CAudioChangeCondition > > m_audioChange
 
std::map< std::string, MinMaxm_obligatoryTokens
 
int m_build = 0
 Enabled buildings. More...
 
long m_researchEnable = 0
 Available researches. More...
 
std::map< int, int > m_researchDone
 Done researches for each team. More...
 
Error m_missionResult = ERR_OK
 
bool m_missionResultFromScript = false
 true if m_missionResult has been set by LevelController script, this disables normal EndMissionTake processing More...
 
ShowLimit m_showLimit [MAXSHOWLIMIT]
 
std::map< int, Gfx::Colorm_colorNewBot
 
Gfx::Color m_colorNewAlien
 
Gfx::Color m_colorNewGreen
 
Gfx::Color m_colorNewWater
 
float m_colorShiftWater = 0.0f
 
bool m_missionTimerEnabled = false
 
bool m_missionTimerStarted = false
 
float m_missionTimer = 0.0f
 
bool m_autosave = false
 
int m_autosaveInterval = 0
 
int m_autosaveSlots = 0
 
float m_autosaveLast = 0.0f
 
int m_shotSaving = 0
 
std::deque< CObject * > m_selectionHistory
 
bool m_debugCrashSpheres
 

Additional Inherited Members

- Static Public Member Functions inherited from CSingleton< CRobotMain >
static CRobotMainGetInstance ()
 
static CRobotMainGetInstancePointer ()
 
static bool IsCreated ()
 
- Static Protected Attributes inherited from CSingleton< CRobotMain >
static CRobotMainm_instance = nullptr
 

Constructor & Destructor Documentation

CRobotMain::CRobotMain ( )

Constructor of robot application.

CRobotMain::~CRobotMain ( )
virtual

Destructor of robot application.

Member Function Documentation

void CRobotMain::ChangePhase ( Phase  phase)

Changes phase.

bool CRobotMain::ProcessEvent ( Event event)

Processes an event.

bool CRobotMain::CreateShortcuts ( )

Creates interface shortcuts to the units.

void CRobotMain::ScenePerso ( )

Load the scene for the character.

void CRobotMain::SetMovieLock ( bool  lock)

Management of the lock mode for movies.

void CRobotMain::SetSatComLock ( bool  lock)

Management of the blocking of the call of SatCom.

void CRobotMain::SetEditLock ( bool  lock,
bool  edit 
)

Management of the lock mode for the edition.

void CRobotMain::SetEditFull ( bool  full)

Management of the fullscreen mode during editing.

void CRobotMain::SetFriendAim ( bool  friendAim)

Indicates whether mouse is on an friend object, on which we should not shoot.

void CRobotMain::SetSpeed ( float  speed)

Changes game speed.

void CRobotMain::UpdateShortcuts ( )

Updates all the shortcuts.

void CRobotMain::SelectHuman ( )

Selects the human.

CObject * CRobotMain::SearchHuman ( )

Returns the object human.

CObject * CRobotMain::SearchToto ( )

Returns the object toto.

CObject * CRobotMain::SearchNearest ( Math::Vector  pos,
CObject exclu 
)

Returns the nearest selectable object from a given position.

bool CRobotMain::SelectObject ( CObject obj,
bool  displayError = true 
)

Selects the object aimed by the mouse.

CObject * CRobotMain::GetSelectObject ( )

Returns the object that default was select after the creation of a scene.

CObject * CRobotMain::DeselectAll ( )

Deselects everything, and returns the object that was selected.

void CRobotMain::ResetObject ( )

Resets all objects to their original position.

void CRobotMain::UpdateAudio ( bool  frame)

Updates the audiotracks.

void CRobotMain::SetMissionResultFromScript ( Error  result,
float  delay 
)

Set mission result from LevelController script.

Error CRobotMain::CheckEndMission ( bool  frame)

Checks if the mission is over.

Error CRobotMain::ProcessEndMissionTake ( )

Process EndMissionTake commands, result is stored in m_missionResult If return value is different than ERR_MISSION_NOTERM, assume the mission is finished and pass on the result

const std::map< std::string, MinMax > & CRobotMain::GetObligatoryTokenList ( )

Returns the list instructions required in CBot program in level.

void CRobotMain::UpdateMap ( )

Updates the map.

bool CRobotMain::GetShowMap ( )

Indicates whether the mini-map is visible.

MainMovieType CRobotMain::GetMainMovie ( )

Returns the type of current movie.

void CRobotMain::FlushDisplayInfo ( )

Clears the display of instructions.

void CRobotMain::StartDisplayInfo ( int  index,
bool  movie 
)

Beginning of the displaying of instructions. index: SATCOM_*

void CRobotMain::StartDisplayInfo ( const std::string &  filename,
int  index 
)

Beginning of the displaying of instructions.

void CRobotMain::StopDisplayInfo ( )

End of displaying of instructions.

char * CRobotMain::GetDisplayInfoName ( int  index)

Returns the name of the text display.

void CRobotMain::StartSuspend ( )

Beginning of a dialogue during the game.

void CRobotMain::StopSuspend ( )

End of dialogue during the game.

float CRobotMain::GetGameTime ( )

Returns the absolute time of the game.

bool CRobotMain::GetTrainerPilot ( )

Indicates whether it is possible to control a driving robot.

bool CRobotMain::GetFixScene ( )

Indicates whether the scene is fixed, without interaction.

int CRobotMain::GetGamerFace ( )

Returns the representation to use for the player.

int CRobotMain::GetGamerGlasses ( )

Returns the representation to use for the player.

bool CRobotMain::GetGamerOnlyHead ( )

Returns the mode with just the head.

float CRobotMain::GetPersoAngle ( )

Returns the angle of presentation.

std::string CRobotMain::GetCustomLevelDir ( )

Returns folder name of the scene that user selected to play.

void CRobotMain::StartMusic ( )

Starts music with a mission.

void CRobotMain::ClearInterface ( )

Removes hilite and tooltip.

void CRobotMain::ChangeColor ( )

Change the colors and textures.

float CRobotMain::SearchNearestObject ( Math::Vector  center,
CObject exclu 
)

Calculates the distance to the nearest object.

bool CRobotMain::FreeSpace ( Math::Vector center,
float  minRadius,
float  maxRadius,
float  space,
CObject exclu 
)

Calculates a free space.

bool CRobotMain::FlatFreeSpace ( Math::Vector center,
float  minFlat,
float  minRadius,
float  maxRadius,
float  space,
CObject exclu 
)

Calculates a flat free space.

float CRobotMain::GetFlatZoneRadius ( Math::Vector  center,
float  maxRadius,
CObject exclu 
)

Calculates the maximum radius of a free space.

void CRobotMain::HideDropZone ( CObject metal)

Hides buildable area when a cube of metal is taken up.

void CRobotMain::ShowDropZone ( CObject metal,
CObject transporter 
)

Shows the buildable area when a cube of metal is deposited.

void CRobotMain::FlushShowLimit ( int  i)

Erases the boundaries shown.

void CRobotMain::SetShowLimit ( int  i,
Gfx::ParticleType  parti,
CObject obj,
Math::Vector  pos,
float  radius,
float  duration = SHOWLIMITTIME 
)

Specifies the boundaries to show.

void CRobotMain::StartShowLimit ( )

Mount the boundaries of the selected object.

void CRobotMain::FrameShowLimit ( float  rTime)

Advances the boundaries shown.

void CRobotMain::SaveAllScript ( )

Saves all programs of all the robots.

void CRobotMain::SaveOneScript ( CObject obj)

Saves all programs of the robot.

bool CRobotMain::SaveFileStack ( CObject obj,
FILE *  file,
int  objRank 
)

Saves the stack of the program in execution of a robot.

bool CRobotMain::ReadFileStack ( CObject obj,
FILE *  file,
int  objRank 
)

Resumes the execution stack of the program in a robot.

void CRobotMain::FlushNewScriptName ( )

Empty the list.

void CRobotMain::AddNewScriptName ( ObjectType  type,
const std::string &  name 
)

Adds a script name.

std::string CRobotMain::GetNewScriptName ( ObjectType  type,
int  rank 
)

Seeks a script name for a given type.

void CRobotMain::SelectPlayer ( std::string  playerName)

Changes current player.

bool CRobotMain::IOIsBusy ( )

Seeks if an object occupies in a spot, to prevent a backup of the game.

bool CRobotMain::IOWriteScene ( std::string  filename,
std::string  filecbot,
std::string  filescreenshot,
const std::string &  info,
bool  emergencySave = false 
)

Saves the current game.

void CRobotMain::IOWriteSceneFinished ( )

Notifies the user that scene write is finished.

CObject * CRobotMain::IOReadScene ( std::string  filename,
std::string  filecbot 
)

Resumes some part of the game.

void CRobotMain::IOWriteObject ( CLevelParserLine line,
CObject obj,
const std::string &  programDir,
int  objRank 
)

Writes an object into the backup file.

CObject * CRobotMain::IOReadObject ( CLevelParserLine line,
const std::string &  programDir,
const std::string &  objCounterText,
float  objectProgress,
int  objRank = -1 
)

Resumes the game.

int CRobotMain::CreateSpot ( Math::Vector  pos,
Gfx::Color  color 
)

Creates a light spot.

CObject * CRobotMain::GetSelect ( )

Returns the selected object.

bool CRobotMain::IsLoading ( )

Returns true if the game is on the loading screen.

void CRobotMain::SetExitAfterMission ( bool  exit)

Enable mode where completing mission closes the game.

bool CRobotMain::CanPlayerInteract ( )

Returns true if player can interact with things manually.

const std::string & CRobotMain::GetTeamName ( int  id)

Returns team name for the given team id.

bool CRobotMain::IsTeamColorDefined ( int  id)

Returns true if team-specific colored texture is available.

int CRobotMain::GetEnableBuild ( )

Get/set enabled buildings.

int CRobotMain::GetEnableResearch ( )

Get/set enabled researches.

int CRobotMain::GetDoneResearch ( int  team)

Get/set done researches.

bool CRobotMain::IsBuildingEnabled ( BuildType  type)

Returns true if the given building is enabled.

bool CRobotMain::IsResearchEnabled ( ResearchType  type)

Returns true if the given research is enabled.

bool CRobotMain::IsResearchDone ( ResearchType  type,
int  team 
)

Returns true if the given research is done.

void CRobotMain::MarkResearchDone ( ResearchType  type,
int  team 
)

Marks research as done.

bool CRobotMain::CanBuild ( ObjectType  type,
int  team 
)

Retruns true if all requirements to build this object are met (EnableBuild + DoneResearch)

bool CRobotMain::CanFactory ( ObjectType  type,
int  team 
)

Retruns true if all requirements to create this object in BotFactory are met (DoneResearch)

float CRobotMain::GetGlobalMagnifyDamage ( )

Returns global magnifyDamage setting.

bool CRobotMain::IsSelectable ( CObject obj)

Indicates whether an object is selectable.

bool CRobotMain::EventFrame ( const Event event)
protected

Advances the entire scene.

bool CRobotMain::EventObject ( const Event event)
protected

Makes the event for all robots.

void CRobotMain::InitEye ( )
protected

Initializes the view.

void CRobotMain::CreateScene ( bool  soluce,
bool  fixScene,
bool  resetObject 
)
protected

Creates the whole scene.

void CRobotMain::ResetCreate ( )
protected

Resets all objects to their original position.

int CRobotMain::CreateLight ( Math::Vector  direction,
Gfx::Color  color 
)
protected

Creates a directional light.

void CRobotMain::HiliteClear ( )
protected

Removes setting evidence of the object with the mouse hovers over.

void CRobotMain::HiliteObject ( Math::Point  pos)
protected

Highlights the object with the mouse hovers over.

void CRobotMain::HiliteFrame ( float  rTime)
protected

Highlights the object with the mouse hovers over.

void CRobotMain::CreateTooltip ( Math::Point  pos,
const std::string &  text 
)
protected

Creates a tooltip.

void CRobotMain::ClearTooltip ( )
protected

Clears the previous tooltip.

CObject * CRobotMain::DetectObject ( Math::Point  pos)
protected

Detects the object aimed by the mouse.

void CRobotMain::ChangeCamera ( )
protected

Change the mode of the camera.

void CRobotMain::AbortMovie ( )
protected

Cancels the current movie.

void CRobotMain::SelectOneObject ( CObject obj,
bool  displayError = true 
)
protected

Selects an object, without attending to deselect the rest.

void CRobotMain::HelpObject ( )
protected

Displays help for an object.

bool CRobotMain::DeselectObject ( )
protected

Deselects the selected object.

void CRobotMain::DeleteAllObjects ( )
protected

Quickly removes all objects.

void CRobotMain::UpdateInfoText ( )
protected

Updates the text information.

void CRobotMain::StartDisplayVisit ( EventType  event)
protected

Start of the visit instead of an error.

void CRobotMain::FrameVisit ( float  rTime)
protected

Move the arrow to visit.

void CRobotMain::StopDisplayVisit ( )
protected

End of the visit instead of an error.

void CRobotMain::ExecuteCmd ( const std::string &  cmd)
protected

Executes a command.

bool CRobotMain::DestroySelectedObject ( )
protected

Deletes the selected object.

Member Data Documentation

std::unique_ptr<CPlayerProfile> CRobotMain::m_playerProfile
protected

Progress of loaded player.

float CRobotMain::m_time = 0.0f
protected

Time since level start, including pause and intro movie.

float CRobotMain::m_gameTime = 0.0f
protected

Playing time since level start.

float CRobotMain::m_gameTimeAbsolute = 0.0f
protected

Playing time since level start, not dependent on simulation speed.

std::string CRobotMain::m_levelFile = ""
protected

if set, loads this file instead of building from category/chap/rank

bool CRobotMain::m_codeBattleSpectator = true
protected

Code battle spectator mode, hides object UI, changes camera to CAM_TYPE_PLANE and allows for switching to free camera by clicking outside of any object.

bool CRobotMain::m_endTakeImmediat = false
protected

If true, the mission ends immediately after completing the requirements without requiring SpaceShip takeoff.

int CRobotMain::m_build = 0
protected

Enabled buildings.

long CRobotMain::m_researchEnable = 0
protected

Available researches.

std::map<int, int> CRobotMain::m_researchDone
protected

Done researches for each team.

bool CRobotMain::m_missionResultFromScript = false
protected

true if m_missionResult has been set by LevelController script, this disables normal EndMissionTake processing


The documentation for this class was generated from the following files: