2012-04-29 23:27:12 +00:00
|
|
|
|
/* 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 2
|
|
|
|
|
* 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, write to the Free Software
|
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|
|
|
|
* Nayma Software srl *
|
|
|
|
|
* e -= We create much MORE than ALL =- *
|
|
|
|
|
* u- z$$$c '. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|
|
|
|
* .d" d$$$$$b "b. *
|
|
|
|
|
* .z$* d$$$$$$$L ^*$c. *
|
|
|
|
|
* #$$$. $$$$$$$$$ .$$$" Project: Roasted Moths........ *
|
|
|
|
|
* ^*$b 4$$$$$$$$$F .d$*" *
|
|
|
|
|
* ^$$. 4$$$$$$$$$F .$P" Module: TonyChar.CPP......... *
|
|
|
|
|
* *$. '$$$$$$$$$ 4$P 4 *
|
|
|
|
|
* J *$ "$$$$$$$" $P r Author: Giovanni Bajo........ *
|
|
|
|
|
* z$ '$$$P*4c.*$$$*.z@*R$$$ $. *
|
|
|
|
|
* z$" "" #$F^ "" '$c *
|
|
|
|
|
* z$$beu .ue=" $ "=e.. .zed$$c *
|
|
|
|
|
* "#$e z$*" . `. ^*Nc e$"" *
|
|
|
|
|
* "$$". .r" ^4. .^$$" *
|
|
|
|
|
* ^.@*"6L=\ebu^+C$"*b." *
|
|
|
|
|
* "**$. "c 4$$$ J" J$P*" OS: [ ] DOS [X] WIN95 [ ] PORT *
|
|
|
|
|
* ^"--.^ 9$" .--"" COMP: [ ] WATCOM [X] VISUAL C++ *
|
|
|
|
|
* " [ ] EIFFEL [ ] GCC/GXX/DJGPP *
|
|
|
|
|
* *
|
|
|
|
|
* This source code is Copyright (C) Nayma Software. ALL RIGHTS RESERVED *
|
|
|
|
|
* *
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef TONY_TONYCHAR_H
|
|
|
|
|
#define TONY_TONYCHAR_H
|
|
|
|
|
|
2012-05-11 13:15:59 +00:00
|
|
|
|
#include "common/coroutines.h"
|
2012-04-29 23:27:12 +00:00
|
|
|
|
#include "tony/mpal/stubs.h"
|
2012-04-30 13:16:19 +00:00
|
|
|
|
#include "tony/loc.h"
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
namespace Tony {
|
|
|
|
|
|
|
|
|
|
class RMTony : public RMCharacter {
|
|
|
|
|
private:
|
|
|
|
|
enum DIRECTION {
|
|
|
|
|
UP, DOWN, LEFT, RIGHT
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
enum TALKTYPE {
|
|
|
|
|
TALK_NORMAL,
|
|
|
|
|
TALK_FIANCHI,
|
|
|
|
|
TALK_CANTA,
|
|
|
|
|
TALK_RIDE,
|
|
|
|
|
TALK_SIINDICA,
|
|
|
|
|
TALK_SPAVENTATO,
|
|
|
|
|
TALK_SPAVENTATO2,
|
|
|
|
|
TALK_CONBICCHIERE,
|
|
|
|
|
TALK_CONMARTELLO,
|
|
|
|
|
TALK_CONVERME,
|
|
|
|
|
TALK_CONCORDA,
|
|
|
|
|
TALK_CONCONIGLIO,
|
|
|
|
|
TALK_CONRICETTA,
|
|
|
|
|
TALK_CONCARTE,
|
|
|
|
|
TALK_CONPUPAZZO,
|
|
|
|
|
TALK_CONPUPAZZOSTATIC,
|
|
|
|
|
TALK_CONCONIGLIOSTATIC,
|
|
|
|
|
TALK_CONRICETTASTATIC,
|
|
|
|
|
TALK_CONCARTESTATIC,
|
|
|
|
|
TALK_CONTACCUINOSTATIC,
|
|
|
|
|
TALK_CONMEGAFONOSTATIC,
|
|
|
|
|
TALK_CONBARBASTATIC,
|
|
|
|
|
TALK_RIDE2,
|
|
|
|
|
TALK_SCHIFATO,
|
|
|
|
|
TALK_NAAH,
|
|
|
|
|
TALK_MACBETH1,
|
|
|
|
|
TALK_MACBETH2,
|
|
|
|
|
TALK_MACBETH3,
|
|
|
|
|
TALK_MACBETH4,
|
|
|
|
|
TALK_MACBETH5,
|
|
|
|
|
TALK_MACBETH6,
|
|
|
|
|
TALK_MACBETH7,
|
|
|
|
|
TALK_MACBETH8,
|
|
|
|
|
TALK_MACBETH9,
|
|
|
|
|
TALK_SPAVENTATOSTATIC,
|
|
|
|
|
TALK_CONSEGRETARIA
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
bool m_bShow;
|
|
|
|
|
bool m_bShowOmbra;
|
|
|
|
|
bool m_bCorpoDavanti;
|
|
|
|
|
RMGfxSourceBuffer8AB m_ombra;
|
|
|
|
|
bool m_bActionPending;
|
|
|
|
|
RMItem *m_ActionItem;
|
|
|
|
|
int m_Action;
|
|
|
|
|
int m_ActionParm;
|
|
|
|
|
static bool m_bAction;
|
|
|
|
|
|
|
|
|
|
bool m_bPastorella;
|
|
|
|
|
|
|
|
|
|
bool m_bIsStaticTalk;
|
|
|
|
|
bool m_bIsTalking;
|
|
|
|
|
int m_nPatB4Talking;
|
|
|
|
|
TALKTYPE m_nTalkType;
|
|
|
|
|
DIRECTION m_TalkDirection;
|
|
|
|
|
RMPoint m_nBodyOffset;
|
|
|
|
|
|
|
|
|
|
int m_nTimeLastStep;
|
|
|
|
|
|
|
|
|
|
RMItem m_body;
|
2012-05-08 14:42:27 +00:00
|
|
|
|
uint32 hActionThread;
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
// Overload dell'allocazione degli sprites per cambiare il tipo
|
2012-05-12 00:34:52 +00:00
|
|
|
|
virtual RMGfxSourceBuffer *NewItemSpriteBuffer(int dimx, int dimy, bool bPreRLE);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
2012-05-06 05:18:03 +00:00
|
|
|
|
// Thread which waits for the end of an action
|
|
|
|
|
static void WaitEndOfAction(CORO_PARAM, const void *param);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
public: // per farlo rialzare, altrimenti private
|
|
|
|
|
enum PATTERNS {
|
|
|
|
|
PAT_TAKEUP_UP1 = 9,
|
|
|
|
|
PAT_TAKEUP_UP2,
|
|
|
|
|
PAT_TAKEUP_MID1,
|
|
|
|
|
PAT_TAKEUP_MID2,
|
|
|
|
|
PAT_TAKEUP_DOWN1,
|
|
|
|
|
PAT_TAKEUP_DOWN2,
|
|
|
|
|
|
|
|
|
|
PAT_TAKELEFT_UP1,
|
|
|
|
|
PAT_TAKELEFT_UP2,
|
|
|
|
|
PAT_TAKELEFT_MID1,
|
|
|
|
|
PAT_TAKELEFT_MID2,
|
|
|
|
|
PAT_TAKELEFT_DOWN1,
|
|
|
|
|
PAT_TAKELEFT_DOWN2,
|
|
|
|
|
|
|
|
|
|
PAT_TAKERIGHT_UP1,
|
|
|
|
|
PAT_TAKERIGHT_UP2,
|
|
|
|
|
PAT_TAKERIGHT_MID1,
|
|
|
|
|
PAT_TAKERIGHT_MID2,
|
|
|
|
|
PAT_TAKERIGHT_DOWN1,
|
|
|
|
|
PAT_TAKERIGHT_DOWN2,
|
|
|
|
|
|
|
|
|
|
PAT_SIRIALZALEFT,
|
|
|
|
|
PAT_PERTERRALEFT,
|
|
|
|
|
PAT_SIRIALZARIGHT,
|
|
|
|
|
PAT_PERTERRARIGHT,
|
|
|
|
|
|
|
|
|
|
// Pastorella!
|
|
|
|
|
PAT_PAST_WALKUP,
|
|
|
|
|
PAT_PAST_WALKDOWN,
|
|
|
|
|
PAT_PAST_WALKLEFT,
|
|
|
|
|
PAT_PAST_WALKRIGHT,
|
|
|
|
|
|
|
|
|
|
PAT_PAST_STANDUP,
|
|
|
|
|
PAT_PAST_STANDDOWN,
|
|
|
|
|
PAT_PAST_STANDLEFT,
|
|
|
|
|
PAT_PAST_STANDRIGHT,
|
|
|
|
|
|
|
|
|
|
// Parlata
|
|
|
|
|
PAT_TALK_UP,
|
|
|
|
|
PAT_TALK_DOWN,
|
|
|
|
|
PAT_TALK_LEFT,
|
|
|
|
|
PAT_TALK_RIGHT,
|
|
|
|
|
|
|
|
|
|
// Testa statica
|
|
|
|
|
PAT_TESTA_UP,
|
|
|
|
|
PAT_TESTA_DOWN,
|
|
|
|
|
PAT_TESTA_LEFT,
|
|
|
|
|
PAT_TESTA_RIGHT,
|
|
|
|
|
|
|
|
|
|
// Risata
|
|
|
|
|
PAT_RIDELEFT_START,
|
|
|
|
|
PAT_RIDELEFT_LOOP,
|
|
|
|
|
PAT_RIDELEFT_END,
|
|
|
|
|
PAT_RIDERIGHT_START,
|
|
|
|
|
PAT_RIDERIGHT_LOOP,
|
|
|
|
|
PAT_RIDERIGHT_END,
|
|
|
|
|
|
|
|
|
|
// Parlata da pastorella
|
|
|
|
|
PAT_PAST_TALKUP,
|
|
|
|
|
PAT_PAST_TALKDOWN,
|
|
|
|
|
PAT_PAST_TALKLEFT,
|
|
|
|
|
PAT_PAST_TALKRIGHT,
|
|
|
|
|
|
|
|
|
|
// Spavento
|
|
|
|
|
PAT_SPAVENTOLEFT_START,
|
|
|
|
|
PAT_SPAVENTOLEFT_LOOP,
|
|
|
|
|
PAT_SPAVENTOLEFT_END,
|
|
|
|
|
PAT_SPAVENTORIGHT_START,
|
|
|
|
|
PAT_SPAVENTORIGHT_LOOP,
|
|
|
|
|
PAT_SPAVENTORIGHT_END,
|
|
|
|
|
PAT_SPAVENTODOWN_START,
|
|
|
|
|
PAT_SPAVENTODOWN_LOOP,
|
|
|
|
|
PAT_SPAVENTODOWN_END,
|
|
|
|
|
|
|
|
|
|
// Con oggetti: corpo completo
|
|
|
|
|
PAT_CONBICCHIERE,
|
|
|
|
|
PAT_CONCORDA,
|
|
|
|
|
PAT_CONVERME,
|
|
|
|
|
PAT_CONMARTELLO,
|
|
|
|
|
|
|
|
|
|
// Suona il fischietto
|
|
|
|
|
PAT_FISCHIETTORIGHT,
|
|
|
|
|
|
|
|
|
|
// Testa con barba
|
|
|
|
|
PAT_TALKBARBA_LEFT,
|
|
|
|
|
PAT_TALKBARBA_RIGHT,
|
|
|
|
|
|
|
|
|
|
// Sniff
|
|
|
|
|
PAT_SNIFFA_LEFT,
|
|
|
|
|
PAT_SNIFFA_RIGHT,
|
|
|
|
|
|
|
|
|
|
// Schifato
|
|
|
|
|
PAT_SCHIFATOLEFT_START,
|
|
|
|
|
PAT_SCHIFATOLEFT_LOOP,
|
|
|
|
|
PAT_SCHIFATOLEFT_END,
|
|
|
|
|
PAT_SCHIFATORIGHT_START,
|
|
|
|
|
PAT_SCHIFATORIGHT_LOOP,
|
|
|
|
|
PAT_SCHIFATORIGHT_END,
|
|
|
|
|
PAT_NAAHLEFT_START,
|
|
|
|
|
PAT_NAAHLEFT_LOOP,
|
|
|
|
|
PAT_NAAHLEFT_END,
|
|
|
|
|
PAT_NAAHRIGHT_START,
|
|
|
|
|
PAT_NAAHRIGHT_LOOP,
|
|
|
|
|
PAT_NAAHRIGHT_END,
|
|
|
|
|
|
|
|
|
|
// Stand spaventato
|
|
|
|
|
PAT_SPAVENTOLEFT_STAND,
|
|
|
|
|
PAT_SPAVENTORIGHT_STAND,
|
|
|
|
|
PAT_SPAVENTODOWN_STAND,
|
|
|
|
|
|
|
|
|
|
PAT_PUTLEFT_UP1,
|
|
|
|
|
PAT_PUTLEFT_UP2,
|
|
|
|
|
PAT_PUTRIGHT_UP1,
|
|
|
|
|
PAT_PUTRIGHT_UP2,
|
|
|
|
|
PAT_PUTLEFT_MID1,
|
|
|
|
|
PAT_PUTLEFT_MID2,
|
|
|
|
|
PAT_PUTRIGHT_MID1,
|
|
|
|
|
PAT_PUTRIGHT_MID2,
|
|
|
|
|
PAT_PUTLEFT_DOWN1,
|
|
|
|
|
PAT_PUTLEFT_DOWN2,
|
|
|
|
|
PAT_PUTRIGHT_DOWN1,
|
|
|
|
|
PAT_PUTRIGHT_DOWN2,
|
|
|
|
|
PAT_PUTUP_UP1,
|
|
|
|
|
PAT_PUTUP_UP2,
|
|
|
|
|
PAT_PUTUP_MID1,
|
|
|
|
|
PAT_PUTUP_MID2,
|
|
|
|
|
PAT_PUTUP_DOWN1,
|
|
|
|
|
PAT_PUTUP_DOWN2,
|
|
|
|
|
|
|
|
|
|
PAT_CONSEGRETARIA
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum BODYPATTERNS {
|
|
|
|
|
BPAT_STANDUP = 1,
|
|
|
|
|
BPAT_STANDDOWN,
|
|
|
|
|
BPAT_STANDLEFT,
|
|
|
|
|
BPAT_STANDRIGHT,
|
|
|
|
|
|
|
|
|
|
BPAT_MARTELLO,
|
|
|
|
|
BPAT_PUPAZZO,
|
|
|
|
|
BPAT_VERME,
|
|
|
|
|
BPAT_BICCHIERE,
|
|
|
|
|
|
|
|
|
|
BPAT_CANTALEFT_START,
|
|
|
|
|
BPAT_CANTALEFT_LOOP,
|
|
|
|
|
BPAT_CANTALEFT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_FIANCHILEFT_START,
|
|
|
|
|
BPAT_FIANCHILEFT_LOOP,
|
|
|
|
|
BPAT_FIANCHILEFT_END,
|
|
|
|
|
BPAT_FIANCHIRIGHT_START,
|
|
|
|
|
BPAT_FIANCHIRIGHT_LOOP,
|
|
|
|
|
BPAT_FIANCHIRIGHT_END,
|
|
|
|
|
BPAT_FIANCHIUP_START,
|
|
|
|
|
BPAT_FIANCHIUP_LOOP,
|
|
|
|
|
BPAT_FIANCHIUP_END,
|
|
|
|
|
BPAT_FIANCHIDOWN_START,
|
|
|
|
|
BPAT_FIANCHIDOWN_LOOP,
|
|
|
|
|
BPAT_FIANCHIDOWN_END,
|
|
|
|
|
|
|
|
|
|
BPAT_RIDELEFT,
|
|
|
|
|
BPAT_RIDERIGHT,
|
|
|
|
|
|
|
|
|
|
BPAT_SIINDICALEFT,
|
|
|
|
|
BPAT_SIINDICARIGHT,
|
|
|
|
|
|
|
|
|
|
BPAT_SPAVENTODOWN_START,
|
|
|
|
|
BPAT_SPAVENTODOWN_LOOP,
|
|
|
|
|
BPAT_SPAVENTODOWN_END,
|
|
|
|
|
BPAT_SPAVENTOLEFT_START,
|
|
|
|
|
BPAT_SPAVENTOLEFT_LOOP,
|
|
|
|
|
BPAT_SPAVENTOLEFT_END,
|
|
|
|
|
BPAT_SPAVENTORIGHT_START,
|
|
|
|
|
BPAT_SPAVENTORIGHT_LOOP,
|
|
|
|
|
BPAT_SPAVENTORIGHT_END,
|
|
|
|
|
BPAT_SPAVENTOUP_START,
|
|
|
|
|
BPAT_SPAVENTOUP_LOOP,
|
|
|
|
|
BPAT_SPAVENTOUP_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CORDA,
|
|
|
|
|
|
|
|
|
|
BPAT_CONCONIGLIOLEFT_START,
|
|
|
|
|
BPAT_CONCONIGLIOLEFT_LOOP,
|
|
|
|
|
BPAT_CONCONIGLIOLEFT_END,
|
|
|
|
|
BPAT_CONCONIGLIORIGHT_START,
|
|
|
|
|
BPAT_CONCONIGLIORIGHT_LOOP,
|
|
|
|
|
BPAT_CONCONIGLIORIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONRICETTALEFT_START,
|
|
|
|
|
BPAT_CONRICETTALEFT_LOOP,
|
|
|
|
|
BPAT_CONRICETTALEFT_END,
|
|
|
|
|
BPAT_CONRICETTARIGHT_START,
|
|
|
|
|
BPAT_CONRICETTARIGHT_LOOP,
|
|
|
|
|
BPAT_CONRICETTARIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONCARTELEFT_START,
|
|
|
|
|
BPAT_CONCARTELEFT_LOOP,
|
|
|
|
|
BPAT_CONCARTELEFT_END,
|
|
|
|
|
BPAT_CONCARTERIGHT_START,
|
|
|
|
|
BPAT_CONCARTERIGHT_LOOP,
|
|
|
|
|
BPAT_CONCARTERIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONPUPAZZOLEFT_START,
|
|
|
|
|
BPAT_CONPUPAZZOLEFT_LOOP,
|
|
|
|
|
BPAT_CONPUPAZZOLEFT_END,
|
|
|
|
|
BPAT_CONPUPAZZORIGHT_START,
|
|
|
|
|
BPAT_CONPUPAZZORIGHT_LOOP,
|
|
|
|
|
BPAT_CONPUPAZZORIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONTACCUINOLEFT_START,
|
|
|
|
|
BPAT_CONTACCUINOLEFT_LOOP,
|
|
|
|
|
BPAT_CONTACCUINOLEFT_END,
|
|
|
|
|
BPAT_CONTACCUINORIGHT_START,
|
|
|
|
|
BPAT_CONTACCUINORIGHT_LOOP,
|
|
|
|
|
BPAT_CONTACCUINORIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONMEGAFONOLEFT_START,
|
|
|
|
|
BPAT_CONMEGAFONOLEFT_LOOP,
|
|
|
|
|
BPAT_CONMEGAFONOLEFT_END,
|
|
|
|
|
BPAT_CONMEGAFONORIGHT_START,
|
|
|
|
|
BPAT_CONMEGAFONORIGHT_LOOP,
|
|
|
|
|
BPAT_CONMEGAFONORIGHT_END,
|
|
|
|
|
|
|
|
|
|
BPAT_CONBARBALEFT_START,
|
|
|
|
|
BPAT_CONBARBALEFT_END,
|
|
|
|
|
BPAT_CONBARBARIGHT_START,
|
|
|
|
|
BPAT_CONBARBARIGHT_END,
|
|
|
|
|
BPAT_CONBARBALEFT_STATIC,
|
|
|
|
|
BPAT_CONBARBARIGHT_STATIC,
|
|
|
|
|
|
|
|
|
|
BPAT_MACBETH1,
|
|
|
|
|
BPAT_MACBETH2,
|
|
|
|
|
BPAT_MACBETH3,
|
|
|
|
|
BPAT_MACBETH4,
|
|
|
|
|
BPAT_MACBETH5,
|
|
|
|
|
BPAT_MACBETH6,
|
|
|
|
|
BPAT_MACBETH7,
|
|
|
|
|
BPAT_MACBETH8,
|
|
|
|
|
BPAT_MACBETH9,
|
|
|
|
|
|
|
|
|
|
BPAT_CONSEGRETARIA
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public:
|
2012-05-13 13:05:41 +00:00
|
|
|
|
static void InitStatics();
|
2012-05-12 00:34:52 +00:00
|
|
|
|
RMTony();
|
|
|
|
|
|
2012-04-29 23:27:12 +00:00
|
|
|
|
// Inizializza Tony
|
|
|
|
|
void Init(void);
|
|
|
|
|
|
|
|
|
|
// Libera tutta la memoria
|
|
|
|
|
void Close(void);
|
|
|
|
|
|
|
|
|
|
// Fa un frame di Tony, aggiornando il movimento, etc
|
2012-05-10 14:09:34 +00:00
|
|
|
|
void DoFrame(CORO_PARAM, RMGfxTargetBuffer *bigBuf, int curLoc);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Metodi di Draw, che controlla la variabile di show
|
2012-05-12 10:49:36 +00:00
|
|
|
|
virtual void Draw(CORO_PARAM, RMGfxTargetBuffer &bigBuf, RMGfxPrimitive *prim);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Mostra o nascondi
|
|
|
|
|
void Show(void);
|
|
|
|
|
void Hide(bool bShowOmbra = false);
|
|
|
|
|
|
|
|
|
|
// Si muove e fa un azione, se necessario
|
2012-05-10 14:09:34 +00:00
|
|
|
|
void MoveAndDoAction(CORO_PARAM, RMPoint dst, RMItem *item, int nAction, int nActionParm = 0);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Ferma Tony (dalla parte giusta rispetto a un eventuale oggetto)
|
2012-05-08 14:42:27 +00:00
|
|
|
|
virtual void Stop(CORO_PARAM);
|
|
|
|
|
void StopNoAction(CORO_PARAM);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Setta un pattern
|
|
|
|
|
void SetPattern(int npatt, bool bPlayP0 = false);
|
|
|
|
|
|
|
|
|
|
// Legge il pattern corrente
|
|
|
|
|
int GetCurPattern();
|
|
|
|
|
|
|
|
|
|
// Attende la fine di un pattern
|
2012-05-11 13:15:59 +00:00
|
|
|
|
void WaitForEndPattern(CORO_PARAM, uint32 hCustomSkip = CORO_INVALID_PID_VALUE) {
|
2012-05-07 22:25:33 +00:00
|
|
|
|
RMCharacter::WaitForEndPattern(coroParam, hCustomSkip);
|
|
|
|
|
}
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Controlla se si trova in azione
|
|
|
|
|
bool InAction() { return (m_bActionPending&&m_Action != 0) | m_bAction; }
|
|
|
|
|
|
|
|
|
|
// Controlla se c'<27> da aggiornare il movimento di scrolling
|
|
|
|
|
bool MustUpdateScrolling() { return ((!InAction()) || (IsMoving())); }
|
|
|
|
|
|
|
|
|
|
// Prende la posizione di Tony
|
|
|
|
|
RMPoint Position() { return m_pos; }
|
|
|
|
|
|
|
|
|
|
// Setta la posizione di scrolling
|
2012-05-12 14:43:02 +00:00
|
|
|
|
void SetScrollPosition(const RMPoint &pt) { RMCharacter::SetScrollPosition(pt); }
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Setta l'animazione di Take
|
|
|
|
|
void Take(int nWhere, int nPart);
|
|
|
|
|
void Put(int nWhere, int nPart);
|
|
|
|
|
|
|
|
|
|
// Start e End Talk
|
2012-05-07 22:25:33 +00:00
|
|
|
|
bool StartTalkCalculate(TALKTYPE nTalkType, int &headStartPat, int &bodyStartPat,
|
|
|
|
|
int &headLoopPat, int &bodyLoopPat);
|
|
|
|
|
void StartTalk(CORO_PARAM, TALKTYPE nTalkType);
|
|
|
|
|
bool EndTalkCalculate(int &headStandPat, int &headEndPat, int &bodyEndPat, int &finalPat, bool &bStatic);
|
|
|
|
|
void EndTalk(CORO_PARAM);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Start e End Static
|
2012-05-07 22:25:33 +00:00
|
|
|
|
void StartStaticCalculate(TALKTYPE nTalk, int &headPat, int &headLoopPat,
|
|
|
|
|
int &bodyStartPat, int &bodyLoopPat);
|
|
|
|
|
void StartStatic(CORO_PARAM, TALKTYPE nTalkType);
|
|
|
|
|
void EndStaticCalculate(TALKTYPE nTalk, int &bodyEndPat, int &finalPat, int &headEndPat);
|
|
|
|
|
void EndStatic(CORO_PARAM, TALKTYPE nTalkType);
|
2012-04-29 23:27:12 +00:00
|
|
|
|
|
|
|
|
|
// Tony si traveste!
|
|
|
|
|
void SetPastorella(bool bIsPast) { m_bPastorella=bIsPast; }
|
|
|
|
|
int GetPastorella(void) { return m_bPastorella; }
|
|
|
|
|
|
|
|
|
|
// Esegue una azione
|
|
|
|
|
void ExecuteAction(int nAction, int nActionItem, int nParm);
|
|
|
|
|
|
|
|
|
|
void PlaySfx(int nSfx) { RMItem::PlaySfx(nSfx); }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // End of namespace Tony
|
|
|
|
|
|
|
|
|
|
#endif
|