ScummVM API documentation
script_life_v2.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef TWINE_SCRIPTLIFEV2_H
23 #define TWINE_SCRIPTLIFEV2_H
24 
25 #include "twine/script/script_life.h"
26 
27 namespace TwinE {
28 
29 class TwinEEngine;
30 
31 class ScriptLifeV2 : public ScriptLife {
32 private:
33  static int16 searchOffsetTrack(ActorStruct *ptrobj, uint8 label);
34  static void cleanTrack(ActorStruct *ptrobj);
35 
36 public:
37  static int32 lPLAY_MUSIC(TwinEEngine *engine, LifeScriptContext &ctx);
38  static int32 lTRACK_TO_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx);
39  static int32 lVAR_GAME_TO_TRACK(TwinEEngine *engine, LifeScriptContext &ctx);
40  static int32 lANIM_TEXTURE(TwinEEngine *engine, LifeScriptContext &ctx);
41  static int32 lADD_MESSAGE_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
42  static int32 lADD_MESSAGE(TwinEEngine *engine, LifeScriptContext &ctx);
43  static int32 lBUBBLE(TwinEEngine *engine, LifeScriptContext &ctx);
44  static int32 lNO_CHOC(TwinEEngine *engine, LifeScriptContext &ctx);
45  static int32 lSAVE_HERO(TwinEEngine *engine, LifeScriptContext &ctx);
46  static int32 lRESTORE_HERO(TwinEEngine *engine, LifeScriptContext &ctx);
47  static int32 lCINEMA_MODE(TwinEEngine *engine, LifeScriptContext &ctx);
48  static int32 lESCALATOR(TwinEEngine *engine, LifeScriptContext &ctx);
49  static int32 lRAIN(TwinEEngine *engine, LifeScriptContext &ctx);
50  static int32 lCAMERA_CENTER(TwinEEngine *engine, LifeScriptContext &ctx);
51  static int32 lSET_CAMERA(TwinEEngine *engine, LifeScriptContext &ctx);
52  static int32 lSHADOW_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
53  static int32 lPLAY_ACF(TwinEEngine *engine, LifeScriptContext &ctx);
54  static int32 lECLAIR(TwinEEngine *engine, LifeScriptContext &ctx);
55  static int32 lINIT_BUGGY(TwinEEngine *engine, LifeScriptContext &ctx);
56  static int32 lMEMO_ARDOISE(TwinEEngine *engine, LifeScriptContext &ctx);
57  static int32 lSET_CHANGE_CUBE(TwinEEngine *engine, LifeScriptContext &ctx);
58  static int32 lMESSAGE_ZOE(TwinEEngine *engine, LifeScriptContext &ctx);
59  static int32 lFADE_TO_PAL(TwinEEngine *engine, LifeScriptContext &ctx);
60  static int32 lACTION(TwinEEngine *engine, LifeScriptContext &ctx);
61  static int32 lSET_FRAME(TwinEEngine *engine, LifeScriptContext &ctx);
62  static int32 lSET_SPRITE(TwinEEngine *engine, LifeScriptContext &ctx);
63  static int32 lSET_FRAME_3DS(TwinEEngine *engine, LifeScriptContext &ctx);
64  static int32 lIMPACT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
65  static int32 lIMPACT_POINT(TwinEEngine *engine, LifeScriptContext &ctx);
66  static int32 lPALETTE(TwinEEngine *engine, LifeScriptContext &ctx);
67  static int32 lLADDER(TwinEEngine *engine, LifeScriptContext &ctx);
68  static int32 lSET_ARMOR(TwinEEngine *engine, LifeScriptContext &ctx);
69  static int32 lSET_ARMOR_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
70  static int32 lADD_LIFE_POINT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
71  static int32 lSTATE_INVENTORY(TwinEEngine *engine, LifeScriptContext &ctx);
72  static int32 lAND_IF(TwinEEngine *engine, LifeScriptContext &ctx);
73  static int32 lSWITCH(TwinEEngine *engine, LifeScriptContext &ctx);
74  static int32 lOR_CASE (TwinEEngine *engine, LifeScriptContext &ctx);
75  static int32 lCASE(TwinEEngine *engine, LifeScriptContext &ctx);
76  static int32 lDEFAULT(TwinEEngine *engine, LifeScriptContext &ctx);
77  static int32 lBREAK(TwinEEngine *engine, LifeScriptContext &ctx);
78  static int32 lEND_SWITCH(TwinEEngine *engine, LifeScriptContext &ctx);
79  static int32 lSET_HIT_ZONE(TwinEEngine *engine, LifeScriptContext &ctx);
80  static int32 lSAVE_COMPORTEMENT(TwinEEngine *engine, LifeScriptContext &ctx);
81  static int32 lRESTORE_COMPORTEMENT(TwinEEngine *engine, LifeScriptContext &ctx);
82  static int32 lSAMPLE(TwinEEngine *engine, LifeScriptContext &ctx);
83  static int32 lSAMPLE_RND(TwinEEngine *engine, LifeScriptContext &ctx);
84  static int32 lSAMPLE_ALWAYS(TwinEEngine *engine, LifeScriptContext &ctx);
85  static int32 lSAMPLE_STOP (TwinEEngine *engine, LifeScriptContext &ctx);
86  static int32 lREPEAT_SAMPLE(TwinEEngine *engine, LifeScriptContext &ctx);
87  static int32 lBACKGROUND(TwinEEngine *engine, LifeScriptContext &ctx);
88  static int32 lADD_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx);
89  static int32 lSUB_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx);
90  static int32 lADD_VAR_CUBE(TwinEEngine *engine, LifeScriptContext &ctx);
91  static int32 lSUB_VAR_CUBE(TwinEEngine *engine, LifeScriptContext &ctx);
92  static int32 lSET_RAIL(TwinEEngine *engine, LifeScriptContext &ctx);
93  static int32 lINVERSE_BETA(TwinEEngine *engine, LifeScriptContext &ctx);
94  static int32 lNO_BODY(TwinEEngine *engine, LifeScriptContext &ctx);
95  static int32 lSTOP_L_TRACK_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
96  static int32 lRESTORE_L_TRACK_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
97  static int32 lSAVE_COMPORTEMENT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
98  static int32 lRESTORE_COMPORTEMENT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
99  static int32 lSPY(TwinEEngine *engine, LifeScriptContext &ctx);
100  static int32 lDEBUG(TwinEEngine *engine, LifeScriptContext &ctx);
101  static int32 lDEBUG_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
102  static int32 lPOPCORN(TwinEEngine *engine, LifeScriptContext &ctx);
103  static int32 lFLOW_POINT(TwinEEngine *engine, LifeScriptContext &ctx);
104  static int32 lFLOW_OBJ (TwinEEngine *engine, LifeScriptContext &ctx);
105  static int32 lSET_ANIM_DIAL(TwinEEngine *engine, LifeScriptContext &ctx);
106  static int32 lPCX(TwinEEngine *engine, LifeScriptContext &ctx);
107  static int32 lEND_MESSAGE(TwinEEngine *engine, LifeScriptContext &ctx);
108  static int32 lEND_MESSAGE_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
109  static int32 lPARM_SAMPLE(TwinEEngine *engine, LifeScriptContext &ctx);
110  static int32 lNEW_SAMPLE (TwinEEngine *engine, LifeScriptContext &ctx);
111  static int32 lPOS_OBJ_AROUND(TwinEEngine *engine, LifeScriptContext &ctx);
112  static int32 lPCX_MESS_OBJ(TwinEEngine *engine, LifeScriptContext &ctx);
113  static int32 lSET_FLAG_GAME(TwinEEngine *engine, LifeScriptContext &ctx);
114 
115  ScriptLifeV2(TwinEEngine *engine);
116 };
117 
118 } // namespace TwinE
119 
120 #endif
Definition: actor.h:143
Definition: script_life.h:30
Definition: script_life.h:71
Definition: twine.h:205
Definition: achievements_tables.h:27
Definition: script_life_v2.h:31