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
27namespace TwinE {
28
29class TwinEEngine;
30
31class ScriptLifeV2 : public ScriptLife {
32private:
33 static int16 searchOffsetTrack(ActorStruct *ptrobj, uint8 label);
34 static void cleanTrack(ActorStruct *ptrobj);
35
36public:
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:137
Definition: script_life.h:71
Definition: script_life_v2.h:31
Definition: twine.h:207
Definition: script_life.h:30