2012-03-19 11:44:39 +00:00
|
|
|
// * This file is part of the COLOBOT source code
|
2012-03-09 16:08:05 +00:00
|
|
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
|
|
|
// *
|
|
|
|
// * 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 3 of the License, or
|
|
|
|
// * (at your option) any later version.
|
|
|
|
// *
|
|
|
|
// * This program is distributed in the hope that it will be useful,
|
|
|
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// * GNU General Public License for more details.
|
|
|
|
// *
|
|
|
|
// * You should have received a copy of the GNU General Public License
|
2012-04-08 20:28:16 +00:00
|
|
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
|
|
|
|
|
|
|
// robotmain.h
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-09 22:18:08 +00:00
|
|
|
#pragma once
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
|
2012-06-13 20:48:35 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "common/misc.h"
|
2012-06-22 14:31:55 +00:00
|
|
|
#include "old/d3dengine.h"
|
2012-06-09 22:18:08 +00:00
|
|
|
#include "object/object.h"
|
2012-06-19 18:11:47 +00:00
|
|
|
#include "object/mainmovie.h"
|
2012-06-22 14:31:55 +00:00
|
|
|
#include "old/camera.h"
|
|
|
|
#include "old/particule.h"
|
2012-04-14 22:50:13 +00:00
|
|
|
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
enum Phase
|
|
|
|
{
|
|
|
|
PHASE_INIT,
|
|
|
|
PHASE_TERM,
|
|
|
|
PHASE_NAME,
|
|
|
|
PHASE_PERSO,
|
|
|
|
PHASE_TRAINER,
|
|
|
|
PHASE_DEFI,
|
|
|
|
PHASE_MISSION,
|
|
|
|
PHASE_FREE,
|
|
|
|
PHASE_TEEN,
|
|
|
|
PHASE_USER,
|
|
|
|
PHASE_PROTO,
|
|
|
|
PHASE_LOADING,
|
|
|
|
PHASE_SIMUL,
|
|
|
|
PHASE_MODEL,
|
|
|
|
PHASE_SETUPd,
|
|
|
|
PHASE_SETUPg,
|
|
|
|
PHASE_SETUPp,
|
|
|
|
PHASE_SETUPc,
|
|
|
|
PHASE_SETUPs,
|
|
|
|
PHASE_SETUPds,
|
|
|
|
PHASE_SETUPgs,
|
|
|
|
PHASE_SETUPps,
|
|
|
|
PHASE_SETUPcs,
|
|
|
|
PHASE_SETUPss,
|
|
|
|
PHASE_WRITE,
|
|
|
|
PHASE_READ,
|
|
|
|
PHASE_WRITEs,
|
|
|
|
PHASE_READs,
|
|
|
|
PHASE_WIN,
|
|
|
|
PHASE_LOST,
|
|
|
|
PHASE_WELCOME1,
|
|
|
|
PHASE_WELCOME2,
|
|
|
|
PHASE_WELCOME3,
|
|
|
|
PHASE_GENERIC,
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class CInstanceManager;
|
|
|
|
class CMainDialog;
|
|
|
|
class CMainShort;
|
|
|
|
class CMainMap;
|
|
|
|
class CEvent;
|
|
|
|
class CD3DEngine;
|
|
|
|
class CLight;
|
|
|
|
class CWater;
|
|
|
|
class CCloud;
|
|
|
|
class CBlitz;
|
|
|
|
class CPlanet;
|
|
|
|
class CTerrain;
|
|
|
|
class CModel;
|
|
|
|
class CInterface;
|
|
|
|
class CWindow;
|
|
|
|
class CControl;
|
|
|
|
class CDisplayText;
|
|
|
|
class CDisplayInfo;
|
|
|
|
class CSound;
|
|
|
|
|
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
struct EndTake
|
2012-03-08 18:32:05 +00:00
|
|
|
{
|
2012-06-19 18:11:47 +00:00
|
|
|
Math::Vector pos;
|
2012-03-08 18:32:05 +00:00
|
|
|
float dist;
|
|
|
|
ObjectType type;
|
2012-04-08 20:28:16 +00:00
|
|
|
int min; // wins if>
|
|
|
|
int max; // wins if <
|
|
|
|
int lost; // lost if <=
|
2012-06-10 13:28:12 +00:00
|
|
|
bool bImmediat;
|
2012-03-08 18:32:05 +00:00
|
|
|
char message[100];
|
2012-06-11 15:28:27 +00:00
|
|
|
};
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
const int MAXNEWSCRIPTNAME = 20;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
struct NewScriptName
|
2012-03-08 18:32:05 +00:00
|
|
|
{
|
2012-06-10 13:28:12 +00:00
|
|
|
bool bUsed;
|
2012-03-08 18:32:05 +00:00
|
|
|
ObjectType type;
|
|
|
|
char name[40];
|
2012-06-11 15:28:27 +00:00
|
|
|
};
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
const int MAXSHOWLIMIT = 5;
|
|
|
|
const int MAXSHOWPARTI = 200;
|
|
|
|
const float SHOWLIMITTIME = 20.0f;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
struct ShowLimit
|
2012-03-08 18:32:05 +00:00
|
|
|
{
|
2012-06-10 13:28:12 +00:00
|
|
|
bool bUsed;
|
2012-06-19 18:11:47 +00:00
|
|
|
Math::Vector pos;
|
2012-03-08 18:32:05 +00:00
|
|
|
float radius;
|
|
|
|
int total;
|
|
|
|
int parti[MAXSHOWPARTI];
|
|
|
|
CObject* link;
|
|
|
|
float duration;
|
|
|
|
float time;
|
2012-06-11 15:28:27 +00:00
|
|
|
};
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
|
2012-06-11 15:28:27 +00:00
|
|
|
const int SATCOM_HUSTON = 0;
|
|
|
|
const int SATCOM_SAT = 1;
|
|
|
|
const int SATCOM_OBJECT = 2;
|
|
|
|
const int SATCOM_LOADING = 3;
|
|
|
|
const int SATCOM_PROG = 4;
|
|
|
|
const int SATCOM_SOLUCE = 5;
|
|
|
|
const int SATCOM_MAX = 6;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CRobotMain
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CRobotMain(CInstanceManager* iMan);
|
|
|
|
~CRobotMain();
|
|
|
|
|
|
|
|
void CreateIni();
|
|
|
|
|
|
|
|
void ChangePhase(Phase phase);
|
2012-06-10 13:28:12 +00:00
|
|
|
bool EventProcess(const Event &event);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
bool CreateShortcuts();
|
2012-03-08 18:32:05 +00:00
|
|
|
void ScenePerso();
|
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
void SetMovieLock(bool bLock);
|
|
|
|
bool RetMovieLock();
|
|
|
|
bool RetInfoLock();
|
|
|
|
void SetSatComLock(bool bLock);
|
|
|
|
bool RetSatComLock();
|
|
|
|
void SetEditLock(bool bLock, bool bEdit);
|
|
|
|
bool RetEditLock();
|
|
|
|
void SetEditFull(bool bFull);
|
|
|
|
bool RetEditFull();
|
|
|
|
bool RetFreePhoto();
|
|
|
|
void SetFriendAim(bool bFriend);
|
|
|
|
bool RetFriendAim();
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
void SetTracePrecision(float factor);
|
|
|
|
float RetTracePrecision();
|
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
void ChangePause(bool bPause);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
void SetSpeed(float speed);
|
|
|
|
float RetSpeed();
|
|
|
|
|
|
|
|
void UpdateShortcuts();
|
|
|
|
void SelectHuman();
|
|
|
|
CObject* SearchHuman();
|
|
|
|
CObject* SearchToto();
|
2012-06-19 18:11:47 +00:00
|
|
|
CObject* SearchNearest(Math::Vector pos, CObject* pExclu);
|
2012-06-10 13:28:12 +00:00
|
|
|
bool SelectObject(CObject* pObj, bool bDisplayError=true);
|
2012-03-08 18:32:05 +00:00
|
|
|
CObject* RetSelectObject();
|
|
|
|
CObject* DeselectAll();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool DeleteObject();
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
void ResetObject();
|
|
|
|
void ResetCreate();
|
2012-06-10 13:28:12 +00:00
|
|
|
Error CheckEndMission(bool bFrame);
|
2012-03-08 18:32:05 +00:00
|
|
|
void CheckEndMessage(char *message);
|
|
|
|
int RetObligatoryToken();
|
|
|
|
char* RetObligatoryToken(int i);
|
|
|
|
int IsObligatoryToken(char *token);
|
2012-06-10 13:28:12 +00:00
|
|
|
bool IsProhibitedToken(char *token);
|
2012-03-08 18:32:05 +00:00
|
|
|
void UpdateMap();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool RetShowMap();
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
MainMovieType RetMainMovie();
|
|
|
|
|
|
|
|
void FlushDisplayInfo();
|
2012-06-10 13:28:12 +00:00
|
|
|
void StartDisplayInfo(int index, bool bMovie);
|
2012-03-08 18:32:05 +00:00
|
|
|
void StartDisplayInfo(char *filename, int index);
|
|
|
|
void StopDisplayInfo();
|
|
|
|
char* RetDisplayInfoName(int index);
|
|
|
|
int RetDisplayInfoPosition(int index);
|
|
|
|
void SetDisplayInfoPosition(int index, int pos);
|
|
|
|
|
|
|
|
void StartSuspend();
|
|
|
|
void StopSuspend();
|
|
|
|
|
|
|
|
float RetGameTime();
|
|
|
|
|
|
|
|
void SetFontSize(float size);
|
|
|
|
float RetFontSize();
|
2012-06-13 20:48:35 +00:00
|
|
|
void SetWindowPos(Math::Point pos);
|
|
|
|
Math::Point RetWindowPos();
|
|
|
|
void SetWindowDim(Math::Point dim);
|
|
|
|
Math::Point RetWindowDim();
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
void SetIOPublic(bool bMode);
|
|
|
|
bool RetIOPublic();
|
2012-06-13 20:48:35 +00:00
|
|
|
void SetIOPos(Math::Point pos);
|
|
|
|
Math::Point RetIOPos();
|
|
|
|
void SetIODim(Math::Point dim);
|
|
|
|
Math::Point RetIODim();
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
char* RetTitle();
|
|
|
|
char* RetResume();
|
|
|
|
char* RetScriptName();
|
|
|
|
char* RetScriptFile();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool RetTrainerPilot();
|
|
|
|
bool RetFixScene();
|
|
|
|
bool RetGlint();
|
|
|
|
bool RetSoluce4();
|
|
|
|
bool RetMovies();
|
|
|
|
bool RetNiceReset();
|
|
|
|
bool RetHimselfDamage();
|
|
|
|
bool RetShowSoluce();
|
|
|
|
bool RetSceneSoluce();
|
|
|
|
bool RetShowAll();
|
|
|
|
bool RetCheatRadar();
|
2012-03-08 18:32:05 +00:00
|
|
|
char* RetSavegameDir();
|
|
|
|
char* RetPublicDir();
|
|
|
|
char* RetFilesDir();
|
|
|
|
|
|
|
|
void SetGamerName(char *name);
|
|
|
|
char* RetGamerName();
|
|
|
|
int RetGamerFace();
|
|
|
|
int RetGamerGlasses();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool RetGamerOnlyHead();
|
2012-03-08 18:32:05 +00:00
|
|
|
float RetPersoAngle();
|
|
|
|
|
|
|
|
void StartMusic();
|
|
|
|
void ClearInterface();
|
|
|
|
void ChangeColor();
|
|
|
|
|
2012-06-19 18:11:47 +00:00
|
|
|
float SearchNearestObject(Math::Vector center, CObject *exclu);
|
|
|
|
bool FreeSpace(Math::Vector ¢er, float minRadius, float maxRadius, float space, CObject *exclu);
|
|
|
|
float RetFlatZoneRadius(Math::Vector center, float maxRadius, CObject *exclu);
|
2012-03-08 18:32:05 +00:00
|
|
|
void HideDropZone(CObject* metal);
|
|
|
|
void ShowDropZone(CObject* metal, CObject* truck);
|
|
|
|
void FlushShowLimit(int i);
|
2012-06-19 18:11:47 +00:00
|
|
|
void SetShowLimit(int i, ParticuleType parti, CObject *pObj, Math::Vector pos, float radius, float duration=SHOWLIMITTIME);
|
|
|
|
void AdjustShowLimit(int i, Math::Vector pos);
|
2012-03-08 18:32:05 +00:00
|
|
|
void StartShowLimit();
|
|
|
|
void FrameShowLimit(float rTime);
|
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
void CompileScript(bool bSoluce);
|
2012-03-08 18:32:05 +00:00
|
|
|
void LoadOneScript(CObject *pObj, int &nbError);
|
|
|
|
void LoadFileScript(CObject *pObj, char* filename, int objRank, int &nbError);
|
|
|
|
void SaveAllScript();
|
|
|
|
void SaveOneScript(CObject *pObj);
|
|
|
|
void SaveFileScript(CObject *pObj, char* filename, int objRank);
|
2012-06-10 13:28:12 +00:00
|
|
|
bool SaveFileStack(CObject *pObj, FILE *file, int objRank);
|
|
|
|
bool ReadFileStack(CObject *pObj, FILE *file, int objRank);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
bool FlushNewScriptName();
|
|
|
|
bool AddNewScriptName(ObjectType type, char *name);
|
2012-03-08 18:32:05 +00:00
|
|
|
char* RetNewScriptName(ObjectType type, int rank);
|
|
|
|
|
|
|
|
void WriteFreeParam();
|
|
|
|
void ReadFreeParam();
|
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
bool IsBusy();
|
|
|
|
bool IOWriteScene(char *filename, char *filecbot, char *info);
|
2012-03-08 18:32:05 +00:00
|
|
|
CObject* IOReadScene(char *filename, char *filecbot);
|
|
|
|
void IOWriteObject(FILE *file, CObject* pObj, char *cmd);
|
|
|
|
CObject* IOReadObject(char *line, char* filename, int objRank);
|
|
|
|
|
2012-06-19 18:11:47 +00:00
|
|
|
int CreateSpot(Math::Vector pos, D3DCOLORVALUE color);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
protected:
|
2012-06-10 13:28:12 +00:00
|
|
|
bool EventFrame(const Event &event);
|
|
|
|
bool EventObject(const Event &event);
|
2012-03-08 18:32:05 +00:00
|
|
|
void InitEye();
|
|
|
|
|
|
|
|
void Convert();
|
2012-06-10 13:28:12 +00:00
|
|
|
void CreateScene(bool bSoluce, bool bFixScene, bool bResetObject);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
void CreateModel();
|
2012-06-19 18:11:47 +00:00
|
|
|
Math::Vector LookatPoint( Math::Vector eye, float angleH, float angleV, float length );
|
|
|
|
CObject* CreateObject(Math::Vector pos, float angle, float zoom, float height, ObjectType type, float power=1.0f, bool bTrainer=false, bool bToy=false, int option=0);
|
|
|
|
int CreateLight(Math::Vector direction, D3DCOLORVALUE color);
|
2012-03-08 18:32:05 +00:00
|
|
|
void HiliteClear();
|
2012-06-13 20:48:35 +00:00
|
|
|
void HiliteObject(Math::Point pos);
|
2012-03-08 18:32:05 +00:00
|
|
|
void HiliteFrame(float rTime);
|
2012-06-13 20:48:35 +00:00
|
|
|
void CreateTooltip(Math::Point pos, char* text);
|
2012-03-08 18:32:05 +00:00
|
|
|
void ClearTooltip();
|
2012-06-13 20:48:35 +00:00
|
|
|
CObject* DetectObject(Math::Point pos);
|
2012-03-08 18:32:05 +00:00
|
|
|
void ChangeCamera();
|
|
|
|
void RemoteCamera(float pan, float zoom, float rTime);
|
|
|
|
void KeyCamera(EventMsg event, long param);
|
|
|
|
void AbortMovie();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool IsSelectable(CObject* pObj);
|
|
|
|
void SelectOneObject(CObject* pObj, bool bDisplayError=true);
|
2012-03-08 18:32:05 +00:00
|
|
|
void HelpObject();
|
2012-06-10 13:28:12 +00:00
|
|
|
bool DeselectObject();
|
2012-03-08 18:32:05 +00:00
|
|
|
void DeleteAllObjects();
|
|
|
|
void UpdateInfoText();
|
|
|
|
CObject* SearchObject(ObjectType type);
|
|
|
|
CObject* RetSelect();
|
|
|
|
void StartDisplayVisit(EventMsg event);
|
|
|
|
void FrameVisit(float rTime);
|
|
|
|
void StopDisplayVisit();
|
|
|
|
void ExecuteCmd(char *cmd);
|
2012-06-10 13:28:12 +00:00
|
|
|
bool TestGadgetQuantity(int rank);
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
CInstanceManager* m_iMan;
|
|
|
|
CMainMovie* m_movie;
|
|
|
|
CMainDialog* m_dialog;
|
|
|
|
CMainShort* m_short;
|
|
|
|
CMainMap* m_map;
|
|
|
|
CEvent* m_event;
|
|
|
|
CD3DEngine* m_engine;
|
|
|
|
CParticule* m_particule;
|
|
|
|
CWater* m_water;
|
|
|
|
CCloud* m_cloud;
|
|
|
|
CBlitz* m_blitz;
|
|
|
|
CPlanet* m_planet;
|
|
|
|
CLight* m_light;
|
|
|
|
CTerrain* m_terrain;
|
|
|
|
CModel* m_model;
|
|
|
|
CInterface* m_interface;
|
|
|
|
CCamera* m_camera;
|
|
|
|
CDisplayText* m_displayText;
|
|
|
|
CDisplayInfo* m_displayInfo;
|
|
|
|
CSound* m_sound;
|
|
|
|
|
|
|
|
float m_time;
|
|
|
|
float m_gameTime;
|
|
|
|
float m_checkEndTime;
|
|
|
|
float m_winDelay;
|
|
|
|
float m_lostDelay;
|
2012-06-10 13:28:12 +00:00
|
|
|
bool m_bFixScene; // scene fixed, no interraction
|
|
|
|
bool m_bBase; // OBJECT_BASE exists in mission
|
2012-06-13 20:48:35 +00:00
|
|
|
Math::Point m_lastMousePos;
|
2012-03-08 18:32:05 +00:00
|
|
|
CObject* m_selectObject;
|
|
|
|
|
|
|
|
Phase m_phase;
|
|
|
|
int m_cameraRank;
|
|
|
|
D3DCOLORVALUE m_color;
|
2012-06-10 13:28:12 +00:00
|
|
|
bool m_bFreePhoto;
|
|
|
|
bool m_bCmdEdit;
|
|
|
|
bool m_bShowPos;
|
|
|
|
bool m_bSelectInsect;
|
|
|
|
bool m_bShowSoluce;
|
|
|
|
bool m_bShowAll;
|
|
|
|
bool m_bCheatRadar;
|
|
|
|
bool m_bAudioRepeat;
|
|
|
|
bool m_bShortCut;
|
2012-03-08 18:32:05 +00:00
|
|
|
int m_audioTrack;
|
|
|
|
int m_delayWriteMessage;
|
|
|
|
int m_movieInfoIndex;
|
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
bool m_bImmediatSatCom; // SatCom immediately?
|
|
|
|
bool m_bBeginSatCom; // messages SatCom poster?
|
|
|
|
bool m_bMovieLock; // movie in progress?
|
|
|
|
bool m_bSatComLock; // call of SatCom is possible?
|
|
|
|
bool m_bEditLock; // edition in progress?
|
|
|
|
bool m_bEditFull; // edition in full screen?
|
|
|
|
bool m_bPause; // simulation paused
|
|
|
|
bool m_bHilite;
|
|
|
|
bool m_bTrainerPilot; // remote trainer?
|
|
|
|
bool m_bSuspend;
|
|
|
|
bool m_bFriendAim;
|
|
|
|
bool m_bResetCreate;
|
|
|
|
bool m_bMapShow;
|
|
|
|
bool m_bMapImage;
|
2012-03-08 18:32:05 +00:00
|
|
|
char m_mapFilename[100];
|
|
|
|
|
2012-06-13 20:48:35 +00:00
|
|
|
Math::Point m_tooltipPos;
|
2012-03-08 18:32:05 +00:00
|
|
|
char m_tooltipName[100];
|
|
|
|
float m_tooltipTime;
|
|
|
|
|
2012-04-08 20:28:16 +00:00
|
|
|
char m_infoFilename[SATCOM_MAX][100]; // names of text files
|
2012-03-08 18:32:05 +00:00
|
|
|
CObject* m_infoObject;
|
|
|
|
int m_infoIndex;
|
|
|
|
int m_infoPos[SATCOM_MAX];
|
|
|
|
int m_infoUsed;
|
|
|
|
|
|
|
|
char m_title[100];
|
|
|
|
char m_resume[500];
|
|
|
|
char m_scriptName[100];
|
|
|
|
char m_scriptFile[100];
|
|
|
|
int m_endingWinRank;
|
|
|
|
int m_endingLostRank;
|
2012-06-10 13:28:12 +00:00
|
|
|
bool m_bWinTerminate;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
float m_fontSize;
|
2012-06-13 20:48:35 +00:00
|
|
|
Math::Point m_windowPos;
|
|
|
|
Math::Point m_windowDim;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
2012-06-10 13:28:12 +00:00
|
|
|
bool m_IOPublic;
|
2012-06-13 20:48:35 +00:00
|
|
|
Math::Point m_IOPos;
|
|
|
|
Math::Point m_IODim;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
NewScriptName m_newScriptName[MAXNEWSCRIPTNAME];
|
|
|
|
|
|
|
|
float m_cameraPan;
|
|
|
|
float m_cameraZoom;
|
|
|
|
|
|
|
|
EventMsg m_visitLast;
|
|
|
|
CObject* m_visitObject;
|
|
|
|
CObject* m_visitArrow;
|
|
|
|
float m_visitTime;
|
|
|
|
float m_visitParticule;
|
2012-06-19 18:11:47 +00:00
|
|
|
Math::Vector m_visitPos;
|
|
|
|
Math::Vector m_visitPosArrow;
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
int m_endTakeTotal;
|
|
|
|
EndTake m_endTake[10];
|
|
|
|
long m_endTakeResearch;
|
|
|
|
float m_endTakeWinDelay;
|
|
|
|
float m_endTakeLostDelay;
|
|
|
|
|
|
|
|
int m_obligatoryTotal;
|
|
|
|
char m_obligatoryToken[100][20];
|
|
|
|
int m_prohibitedTotal;
|
|
|
|
char m_prohibitedToken[100][20];
|
|
|
|
|
|
|
|
char m_gamerName[100];
|
|
|
|
|
2012-04-08 20:28:16 +00:00
|
|
|
long m_freeBuild; // constructible buildings
|
|
|
|
long m_freeResearch; // researches possible
|
2012-03-08 18:32:05 +00:00
|
|
|
|
|
|
|
ShowLimit m_showLimit[MAXSHOWLIMIT];
|
|
|
|
|
|
|
|
D3DCOLORVALUE m_colorRefBot;
|
|
|
|
D3DCOLORVALUE m_colorNewBot;
|
|
|
|
D3DCOLORVALUE m_colorRefAlien;
|
|
|
|
D3DCOLORVALUE m_colorNewAlien;
|
|
|
|
D3DCOLORVALUE m_colorRefGreen;
|
|
|
|
D3DCOLORVALUE m_colorNewGreen;
|
|
|
|
D3DCOLORVALUE m_colorRefWater;
|
|
|
|
D3DCOLORVALUE m_colorNewWater;
|
|
|
|
float m_colorShiftWater;
|
|
|
|
};
|
|
|
|
|