Colobot
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
script
script.h
Go to the documentation of this file.
1
/*
2
* This file is part of the Colobot: Gold Edition source code
3
* Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam
4
* http://epsiteŃ.ch; http://colobot.info; http://github.com/colobot
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
* See the GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see http://gnu.org/licenses
18
*/
19
25
#pragma once
26
27
28
#include "
common/event.h
"
29
30
#include "
common/global.h
"
31
32
#include "
CBot/CBotDll.h
"
33
34
35
class
CObject
;
36
class
CTaskManager
;
37
class
CRobotMain
;
38
class
CPauseManager
;
39
class
CScriptFunctions
;
40
41
namespace
Ui
{
42
class
CEdit;
43
class
CInterface;
44
class
CList;
45
}
/* Ui */
46
47
namespace
Gfx
{
48
class
CEngine;
49
class
CTerrain;
50
class
CWater;
51
}
/* Gfx */
52
53
54
const
int
ERM_CONT = 0;
// if error -> continue
55
const
int
ERM_STOP = 1;
// if error -> stop
56
57
58
class
CScript
59
{
60
friend
class
CScriptFunctions
;
61
public
:
62
CScript
(
CObject
*
object
,
CTaskManager
** secondaryTask);
63
~
CScript
();
64
65
void
PutScript(
Ui::CEdit
* edit,
const
char
* name);
66
bool
GetScript(
Ui::CEdit
* edit);
67
bool
GetCompile();
68
69
void
GetTitle(
char
* buffer);
70
71
void
SetStepMode(
bool
bStep);
72
bool
Run();
73
bool
Continue(
const
Event
&event);
74
bool
Step(
const
Event
&event);
75
void
Stop();
76
bool
IsRunning();
77
bool
IsContinue();
78
bool
GetCursor(
int
&cursor1,
int
&cursor2);
79
void
UpdateList(
Ui::CList
* list);
80
void
ColorizeScript(
Ui::CEdit
* edit);
81
bool
IntroduceVirus();
82
83
int
GetError();
84
void
GetError(std::string& error);
85
86
void
New(
Ui::CEdit
* edit,
const
char
* name);
87
bool
SendScript(
const
char
* text);
88
bool
ReadScript(
const
char
* filename);
89
bool
WriteScript(
const
char
* filename);
90
bool
ReadStack(FILE *file);
91
bool
WriteStack(FILE *file);
92
bool
Compare(
CScript
* other);
93
94
void
SetFilename(
char
*filename);
95
char
* GetFilename();
96
97
protected
:
98
bool
IsEmpty();
99
bool
CheckToken();
100
bool
Compile();
101
102
protected
:
103
Gfx::CEngine
* m_engine;
104
Ui::CInterface
* m_interface;
105
CBotProgram
* m_botProg;
106
CRobotMain
* m_main;
107
Gfx::CTerrain
* m_terrain;
108
Gfx::CWater
* m_water;
109
CTaskManager
* m_primaryTask;
110
CTaskManager
** m_secondaryTask;
111
CObject
* m_object;
112
CPauseManager
* m_pause;
113
114
int
m_ipf;
// number of instructions/second
115
int
m_errMode;
// what to do in case of error
116
int
m_len;
// length of the script (without <0>)
117
char
* m_script;
// script ends with <0>
118
bool
m_bRun;
// program during execution?
119
bool
m_bStepMode;
// step by step
120
bool
m_bContinue;
// external function to continue
121
bool
m_bCompile;
// compilation ok?
122
char
m_title[50];
// script title
123
char
m_mainFunction[50];
124
char
m_filename[50];
// file name
125
char
m_token[50];
// missing instruction
126
int
m_error;
// error (0=ok)
127
int
m_cursor1;
128
int
m_cursor2;
129
Event
m_event;
130
float
m_returnValue;
131
};
132
Ui
Definition:
controller.h:32
CBotDll.h
Library for interpretation of CBOT language.
Ui::CList
Definition:
list.h:42
global.h
Some common, global definitions.
CBotProgram
Definition:
CBotDll.h:364
CRobotMain
Definition:
robotmain.h:172
CTaskManager
Definition:
taskmanager.h:34
Gfx::CTerrain
Terrain loader/generator and manager.
Definition:
terrain.h:222
Gfx
Namespace for (new) graphics code.
Definition:
app.h:49
Gfx::CEngine
The graphics engine.
Definition:
engine.h:684
CScriptFunctions
Definition:
scriptfunc.h:38
event.h
Event types, structs and event queue.
CScript
Definition:
script.h:58
Gfx::CWater
Water manager/renderer.
Definition:
water.h:118
Ui::CEdit
Definition:
edit.h:131
Event
Event sent by system, interface or game.
Definition:
event.h:678
CPauseManager
Definition:
pausemanager.h:44
Ui::CInterface
Definition:
interface.h:58
CObject
Definition:
object.h:357
Generated by
1.8.9.1