Files
scummvm-cursorfix/engines/twine/script/script_life_v2.h
2026-02-02 04:50:13 +01:00

121 lines
6.7 KiB
C++

/* 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 <http://www.gnu.org/licenses/>.
*
*/
#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