ScummVM API documentation
ws_hal.h
1 
2 /* ScummVM - Graphic Adventure Engine
3  *
4  * ScummVM is the legal property of its developers, whose names
5  * are too numerous to list here. Please refer to the COPYRIGHT
6  * file distributed with this source distribution.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef M4_WSCRIPT_WS_HAL_H
24 #define M4_WSCRIPT_WS_HAL_H
25 
26 #include "m4/wscript/ws_machine.h"
27 #include "m4/wscript/ws_cruncher.h"
28 
29 namespace M4 {
30 
31 #define CCB_SKIP 0x0001
32 #define CCB_HIDE 0x0002
33 #define CCB_REDRAW 0x0004
34 #define CCB_STREAM 0x0008
35 #define CCB_DISC_STREAM 0x0010
36 
37 #define CCB_NO_DRAW (CCB_SKIP | CCB_HIDE)
38 
39 struct WSHal_Globals {
40  RectList *_deadRectList = nullptr;
41 };
42 
43 bool ws_InitHAL();
44 void ws_KillHAL();
45 
46 void ws_DoDisplay(Buffer *background, int16 *depth_table, Buffer *screenCodeBuff,
47  uint8 *myPalette, uint8 *ICT, bool updateVideo);
48 void ws_hal_RefreshWoodscriptBuffer(cruncher *myCruncher, Buffer *background,
49  int16 *depth_table, Buffer *screenCodes, uint8 *myPalette, uint8 *ICT);
50 void GetBezCoeffs(frac16 *ctrlPoints, frac16 *coeffs);
51 void GetBezPoint(frac16 *x, frac16 *y, frac16 *coeffs, frac16 tVal);
52 void InitCCB(CCB *myCCB);
53 void HideCCB(CCB *myCCB);
54 void ShowCCB(CCB *myCCB);
55 
56 void KillCCB(CCB *myCCB, bool restoreFlag);
57 void Cel_msr(Anim8 *myAnim8);
58 void ws_OverrideCrunchTime(machine *m);
59 
60 void ws_Error(machine *m, const char *errMsg);
61 void ws_LogErrorMsg(const char *sourceFile, uint32 lineNum, const char *fmt, ...);
62 
63 } // End of namespace M4
64 
65 #endif
Definition: ws_machine.h:155
Definition: ws_cruncher.h:68
Definition: gui.h:59
Definition: ws_machine.h:117
intptr frac16
Definition: m4_types.h:45
Definition: ws_hal.h:39
Definition: m4_types.h:54
Definition: database.h:28
Definition: ws_machine.h:101