/* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. * * 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 * along with this program. If not, see . * */ #ifndef TWINE_SCRIPTLIFEV2_H #define TWINE_SCRIPTLIFEV2_H #include "twine/script/script_life.h" namespace TwinE { class TwinEEngine; class ScriptLifeV2 : public ScriptLife { private: static int16 searchOffsetTrack(ActorStruct *ptrobj, uint8 label); static void cleanTrack(ActorStruct *ptrobj); public: static int32 lPLAY_MUSIC(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lTRACK_TO_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lVAR_GAME_TO_TRACK(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lANIM_TEXTURE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lADD_MESSAGE_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lADD_MESSAGE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lBUBBLE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lNO_CHOC(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAVE_HERO(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lRESTORE_HERO(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lCINEMA_MODE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lESCALATOR(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lRAIN(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lCAMERA_CENTER(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_CAMERA(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSHADOW_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPLAY_ACF(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lECLAIR(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lINIT_BUGGY(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lMEMO_ARDOISE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_CHANGE_CUBE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lMESSAGE_ZOE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lFADE_TO_PAL(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lACTION(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_FRAME(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_SPRITE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_FRAME_3DS(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lIMPACT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lIMPACT_POINT(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPALETTE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lLADDER(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_ARMOR(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_ARMOR_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lADD_LIFE_POINT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSTATE_INVENTORY(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lAND_IF(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSWITCH(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lOR_CASE (TwinEEngine *engine, LifeScriptContext &ctx); static int32 lCASE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lDEFAULT(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lBREAK(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lEND_SWITCH(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_HIT_ZONE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAVE_COMPORTEMENT(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lRESTORE_COMPORTEMENT(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAMPLE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAMPLE_RND(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAMPLE_ALWAYS(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAMPLE_STOP (TwinEEngine *engine, LifeScriptContext &ctx); static int32 lREPEAT_SAMPLE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lBACKGROUND(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lADD_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSUB_VAR_GAME(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lADD_VAR_CUBE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSUB_VAR_CUBE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_RAIL(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lINVERSE_BETA(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lNO_BODY(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSTOP_L_TRACK_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lRESTORE_L_TRACK_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSAVE_COMPORTEMENT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lRESTORE_COMPORTEMENT_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSPY(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lDEBUG(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lDEBUG_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPOPCORN(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lFLOW_POINT(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lFLOW_OBJ (TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_ANIM_DIAL(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPCX(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lEND_MESSAGE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lEND_MESSAGE_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPARM_SAMPLE(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lNEW_SAMPLE (TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPOS_OBJ_AROUND(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lPCX_MESS_OBJ(TwinEEngine *engine, LifeScriptContext &ctx); static int32 lSET_FLAG_GAME(TwinEEngine *engine, LifeScriptContext &ctx); ScriptLifeV2(TwinEEngine *engine); }; } // namespace TwinE #endif