mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 21:59:17 +00:00
245 lines
4.7 KiB
C++
245 lines
4.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 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.
|
|
*
|
|
*/
|
|
|
|
#ifndef CRYO_EDEN_GRAPHICS_H
|
|
#define CRYO_EDEN_GRAPHICS_H
|
|
|
|
#include "cryo/defs.h" // Room
|
|
|
|
namespace Cryo {
|
|
|
|
class EdenGame;
|
|
class HnmPlayer;
|
|
|
|
class EdenGraphics {
|
|
public:
|
|
EdenGraphics(EdenGame *game, HnmPlayer *video);
|
|
|
|
// Original name: noclipax
|
|
void drawSprite(int16 index, int16 x, int16 y, bool withBlack = false, bool onSubtitle = false);
|
|
|
|
// Original name: af_subtitle
|
|
void displaySubtitles();
|
|
|
|
// Original name: bars_in
|
|
void showBars();
|
|
|
|
void sundcurs(int16 x, int16 y);
|
|
|
|
void rundcurs();
|
|
|
|
void unglow();
|
|
|
|
void glow(int16 index);
|
|
|
|
void setGlowX(int16 value);
|
|
|
|
void setGlowY(int16 value);
|
|
|
|
// Original name : blackbars
|
|
void drawBlackBars();
|
|
|
|
// Original name: bars_out
|
|
void hideBars();
|
|
|
|
// Original name: afsalle
|
|
void displayRoom();
|
|
|
|
// Original name: af_image
|
|
void displayImage();
|
|
|
|
void effetpix();
|
|
|
|
// Original name: effet1
|
|
void displayEffect1();
|
|
|
|
// Original name: effet2
|
|
void displayEffect2();
|
|
|
|
void setShowBlackBars(bool value);
|
|
|
|
bool getShowBlackBars();
|
|
|
|
void paneltobuf();
|
|
|
|
void cursbuftopanel();
|
|
|
|
void langbuftopanel();
|
|
|
|
View *getSubtitlesView();
|
|
|
|
View *getMainView();
|
|
|
|
byte *getHnmViewBuf();
|
|
|
|
void setCurCharRect(Common::Rect *charRect);
|
|
|
|
void setPaletteColor(byte *buffer);
|
|
|
|
// Original name: sauvefondbouche
|
|
void saveMouthBackground();
|
|
|
|
// Original name: restaurefondbouche
|
|
void restoreMouthBackground();
|
|
|
|
void openWindow();
|
|
|
|
bool _savedUnderSubtitles;
|
|
|
|
void setSavedUnderSubtitles(bool value);
|
|
|
|
byte *getSubtitlesViewBuf();
|
|
|
|
View *getUnderBarsView();
|
|
|
|
void SendPalette2Screen(int16 value);
|
|
|
|
void setFade(bool value);
|
|
|
|
bool getFade();
|
|
|
|
// Original name: effet3
|
|
void displayEffect3();
|
|
|
|
void setDestRect(int16 sx, int16 sy, int16 ex, int16 ey);
|
|
|
|
void setSrcRect(int16 sx, int16 sy, int16 ex, int16 ey);
|
|
|
|
void fadeToBlack(int delay);
|
|
|
|
// Original name: fadetoblack128
|
|
void fadeToBlackLowPalette(int delay);
|
|
|
|
// Original name: fadefromblack128
|
|
void fadeFromBlackLowPalette(int delay);
|
|
|
|
void clearScreen();
|
|
|
|
void playHNM(int16 num);
|
|
|
|
void setCursKeepPos(int16 x, int16 y);
|
|
|
|
void restoreUnderSubtitles();
|
|
|
|
void initRects();
|
|
|
|
void initGlobals();
|
|
|
|
void saveTopFrieze(int16 x);
|
|
|
|
void saveBottomFrieze();
|
|
|
|
void restoreTopFrieze();
|
|
|
|
void restoreBottomFrieze();
|
|
|
|
private:
|
|
EdenGame *_game;
|
|
HnmPlayer *_video;
|
|
|
|
int16 _glowX;
|
|
int16 _glowY;
|
|
int16 _glowW;
|
|
int16 _glowH;
|
|
|
|
bool _showVideoSubtitle;
|
|
|
|
Common::Point _cursKeepPos;
|
|
|
|
View *_mainView;
|
|
View *_underSubtitlesView;
|
|
View *_subtitlesView;
|
|
View *_underBarsView;
|
|
|
|
Common::Rect _underSubtitlesScreenRect;
|
|
Common::Rect _underSubtitlesBackupRect;
|
|
|
|
Common::Rect _underTopBarScreenRect;
|
|
Common::Rect _underBottomBarBackupRect;
|
|
Common::Rect _underBottomBarScreenRect;
|
|
Common::Rect _underTopBarBackupRect;
|
|
|
|
byte *_underSubtitlesViewBuf; // CHECKME: Useless?
|
|
|
|
byte *_mainViewBuf;
|
|
|
|
View *_hnmView;
|
|
byte *_hnmViewBuf;
|
|
byte *_view2Buf;
|
|
|
|
Common::Rect *_curCharacterRect;
|
|
|
|
Common::Rect _rect_dst, _rect_src;
|
|
|
|
View *_view2;
|
|
|
|
int _hnmFrameNum;
|
|
|
|
bool _videoCanceledFlag; //TODO: hnm_canceled
|
|
|
|
color_t _globalPalette[256]; //TODO palette_t
|
|
|
|
byte *_subtitlesViewBuf;
|
|
|
|
bool _needToFade;
|
|
|
|
color3_t _newColor;
|
|
color_t _oldPalette[256]; // TODO palette_t ?
|
|
color_t _newPalette[256];
|
|
|
|
bool _showBlackBars;
|
|
|
|
void saveUnderSubtitles(int16 y);
|
|
|
|
|
|
|
|
void displayHNMSubtitle();
|
|
|
|
void readPalette(byte *ptr);
|
|
|
|
void getglow(int16 x, int16 y, int16 w, int16 h);
|
|
|
|
void loadMouthRectFromCurChar();
|
|
|
|
// Original name afsalle1
|
|
void displaySingleRoom(Room *room);
|
|
|
|
// Original name: effet4
|
|
void displayEffect4();
|
|
|
|
void colimacon(int16 pattern[]);
|
|
|
|
// Original name: rectanglenoir32
|
|
void blackRect32();
|
|
|
|
////// film.c
|
|
// Original name: showfilm
|
|
void showMovie(char arg1);
|
|
|
|
// Original name bullehnm
|
|
void handleHNMSubtitles();
|
|
};
|
|
|
|
} // namespace Cryo
|
|
|
|
#endif // CRYO_EDEN_GRAPHICS_H
|