Files
2026-02-02 04:50:13 +01:00

136 lines
3.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 HODJNPODJ_BARBERSHOP_ANIMATE_H
#define HODJNPODJ_BARBERSHOP_ANIMATE_H
#include "bagel/hodjnpodj/hnplibs/sprite.h"
namespace Bagel {
namespace HodjNPodj {
namespace Barbershop {
//
// animation sounds
//
#define CLOWN_WAV ".\\sound\\horns.wav"
#define SPACESHIP_WAV ".\\sound\\spaceshp.wav"
#define SPACERAY_WAV ".\\sound\\spaceray.wav"
#define CUT_WAV ".\\sound\\haircut.wav"
#define BRAT_WAV ".\\sound\\doneyet.wav"
#define LOLLI_A_WAV ".\\sound\\lollipop.wav"
#define LOLLI_B_WAV ".\\sound\\hairpop.wav"
//
// Clown animation
//
#define CLOWN_BMP ".\\art\\gum.bmp"
#define CLOWN_FRAMES 24 // Clown morph frames
#define CLOWN_BMP_HEI 96 // demensions of clown art
#define CLOWN_BMP_WID 110
#define CLOWN_LEFT 16 // demensions of clown rect
#define CLOWN_TOP 27
#define CLOWN_RIG (CLOWN_LEFT + CLOWN_BMP_HEI)
#define CLOWN_BOT (CLOWN_TOP + CLOWN_BMP_WID)
#define CLOWN_TIME_SLICE 1 // millisecs, pause between animation cells
//
// UFO beam up animation
//
#define UFOA_BMP ".\\art\\ufo1a.bmp"
#define UFOB_BMP ".\\art\\ufo1b.bmp"
#define UFOA_FRAMES 16 // UFOa frames
#define UFOB_FRAMES 14 // UFOa frames
#define UFO_BMP_HEI 198 // demensions of UFO art
#define UFO_BMP_WID 123
#define UFO_LEFT 134 // demensions of UFO rect
#define UFO_TOP 24
#define UFO_RIG (UFO_LEFT + UFO_BMP_HEI)
#define UFO_BOT (UFO_TOP + UFO_BMP_WID)
#define CAR_LEFT 136 // demensions of race car rect
#define CAR_TOP 116
#define CAR_RIG 228
#define CAR_BOT 145
#define UFOA_TIME_SLICE 1 // millisecs, pause between animation cells
#define UFOB_TIME_SLICE 100 // millisecs, pause between animation cells
#define UFO_PAUSE 1000 // wait a second after stealing the car
//
// Brat effect
//
#define BRAT_LEFT 405
#define BRAT_TOP 24
#define BRAT_RIG 463
#define BRAT_BOT 62
//
// Lollipop effect
//
#define LOLLI_LEFT 472
#define LOLLI_TOP 52
#define LOLLI_RIG 483
#define LOLLI_BOT 59
//
// Haircut effect
//
#define CUT_LEFT 563 //355
#define CUT_TOP 26 //120
#define CUT_RIG 625 //418
#define CUT_BOT 178 //154
class CAnimate {
private: // variables
CSprite *m_pSprite;
CRect m_cClownRect;
CRect m_cUFORect;
CRect m_cCarRect;
CRect m_cBratRect;
CRect m_cLolliRect;
CRect m_cCutRect;
CSound *m_pSound;
public: // functions
CAnimate(CSound*);
~CAnimate();
bool Clown(CDC*, CPoint);
bool UFO(CDC*, CPoint);
bool Brat(CPoint);
bool Lollipop(CPoint);
bool Haircut(CPoint);
};
} // namespace Barbershop
} // namespace HodjNPodj
} // namespace Bagel
#endif