File: ags_pal_render.h

package info (click to toggle)
scummvm 2.9.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 450,580 kB
  • sloc: cpp: 4,299,825; asm: 28,322; python: 12,901; sh: 11,302; java: 9,289; xml: 7,895; perl: 2,639; ansic: 2,465; yacc: 1,670; javascript: 1,020; makefile: 933; lex: 578; awk: 275; objc: 82; sed: 11; php: 1
file content (279 lines) | stat: -rw-r--r-- 10,334 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
/* 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
 * 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 AGS_PLUGINS_AGS_PAL_RENDER_AGS_PAL_RENDER_H
#define AGS_PLUGINS_AGS_PAL_RENDER_AGS_PAL_RENDER_H

#include "ags/plugins/ags_plugin.h"
#include "ags/plugins/serializer.h"

namespace AGS3 {
namespace Plugins {
namespace AGSPalRender {

class AGSPalRender : public PluginBase {
	SCRIPT_HASH(AGSPalRender)
private:
	void syncGame(Serializer &s);
public:
	AGSPalRender() : PluginBase() {}
	virtual ~AGSPalRender() {}

	const char *AGS_GetPluginName() override;
	void AGS_EngineStartup(IAGSEngine *lpEngine) override;
	void AGS_EngineShutdown() override;
	int64 AGS_EngineOnEvent(int event, NumberPtr data) override;

	/**
	 * @defgroup PALInternal
	 * @{
	 */

	void LoadCLUT(ScriptMethodParams &params);
	void CycleRemap(ScriptMethodParams &params);
	void GetColor565(ScriptMethodParams &params);
	void GetLuminosityFromPalette(ScriptMethodParams &params);
	void AGSFastSin(ScriptMethodParams &params);
	void AGSFastCos(ScriptMethodParams &params);
	void AGSFastRoot(ScriptMethodParams &params);
	void GetRemappedSlot(ScriptMethodParams &params);
	void ResetRemapping(ScriptMethodParams &params);
	void GetModifiedBackgroundImage(ScriptMethodParams &params);
	void WriteObjectivePalette(ScriptMethodParams &params);
	void ReadObjectivePaletteR(ScriptMethodParams &params);
	void ReadObjectivePaletteB(ScriptMethodParams &params);
	void ReadObjectivePaletteG(ScriptMethodParams &params);

	/**@}*/

	/**
	 * @defgroup LensDistort
	 * @{
	 */

	void SetLensPos(ScriptMethodParams &params);
	void GetLensX(ScriptMethodParams &params);
	void GetLensY(ScriptMethodParams &params);
	void SetLensDrawn(ScriptMethodParams &params);
	void GetLensDrawn(ScriptMethodParams &params);
	void SetLensOffsetClamp(ScriptMethodParams &params);
	void GetLensOffsetClamp(ScriptMethodParams &params);
	void GetLensLevel(ScriptMethodParams &params);
	void SetLensLevel(ScriptMethodParams &params);
	void LensInitialize(ScriptMethodParams &params);

	/**@}*/

	/**
	 * @defgroup Translucence
	 * @{
	 */

	void CreateTranslucentOverlay(ScriptMethodParams &params);
	void DeleteTranslucentOverlay(ScriptMethodParams &params);
	void MoveTranslucentOverlay(ScriptMethodParams &params);
	void GetTranslucentOverlayX(ScriptMethodParams &params);
	void GetTranslucentOverlayY(ScriptMethodParams &params);
	void GetTranslucentOverlaySprite(ScriptMethodParams &params);
	void GetTranslucentOverlayLevel(ScriptMethodParams &params);
	void GetTranslucentOverlayEnabled(ScriptMethodParams &params);
	void GetTranslucentOverlayAlpha(ScriptMethodParams &params);
	void SetTranslucentOverlayAlpha(ScriptMethodParams &params);
	void SetTranslucentOverlayEnabled(ScriptMethodParams &params);
	void DrawTransSprite(ScriptMethodParams &params);

	 /**@}*/

	/**
	 * @defgroup Starfield
	 * @{
	 */

	void GetStarfieldOverscan(ScriptMethodParams &params);
	void SetStarfieldOverscan(ScriptMethodParams &params);
	void GetStarfieldOriginX(ScriptMethodParams &params);
	void GetStarfieldOriginY(ScriptMethodParams &params);
	void SetStarfieldDepthMultiplier(ScriptMethodParams &params);
	void GetStarfieldDepthMultiplier(ScriptMethodParams &params);
	void GetStarfieldMaxStars(ScriptMethodParams &params);
	void SetStarSpriteScaleBoost(ScriptMethodParams &params);
	void GetStarSpriteScaleBoost(ScriptMethodParams &params);
	void SetStarMaxRadius(ScriptMethodParams &params);
	void GetStarMaxRadius(ScriptMethodParams &params);
	void GetStarX(ScriptMethodParams &params);
	void GetStarY(ScriptMethodParams &params);
	void GetStarZ(ScriptMethodParams &params);
	void SetStarPosition(ScriptMethodParams &params);
	void RotateStar(ScriptMethodParams &params);
	void SetStarColor(ScriptMethodParams &params);
	void GetStarColor(ScriptMethodParams &params);
	void SetStarSprite(ScriptMethodParams &params);
	void GetStarSprite(ScriptMethodParams &params);
	void SetStarSpriteRange(ScriptMethodParams &params);
	void InitializeStars(ScriptMethodParams &params);
	void IterateStars(ScriptMethodParams &params);
	void DrawStars(ScriptMethodParams &params);
	void SetStarsOriginPoint(ScriptMethodParams &params);

	 /**@}*/

	/**
	 * @defgroup Plasma
	 * @{
	 */

	void DoFire(ScriptMethodParams &params);
	void SetPlasmaType(ScriptMethodParams &params);
	void ResetPlasmaSettings(ScriptMethodParams &params);
	void DrawPlasma(ScriptMethodParams &params);
	void SetPlasmaRootType(ScriptMethodParams &params);
	void GetPlasmaRootType(ScriptMethodParams &params);

	 /**@}*/

	/**
	 * @defgroup Reflections
	 * @{
	 */

	void SetReflections(ScriptMethodParams &params);
	void IsReflectionsOn(ScriptMethodParams &params);
	void SetCharacterReflected(ScriptMethodParams &params);
	void GetCharacterReflected(ScriptMethodParams &params);
	void SetObjectReflected(ScriptMethodParams &params);
	void GetObjectReflected(ScriptMethodParams &params);
	void ReplaceCharacterReflectionView(ScriptMethodParams &params);
	void SetObjectReflectionIgnoreScaling(ScriptMethodParams &params);

	 /**@}*/

	/**
	 * @defgroup raycast
	 * @{
	 */

	void MakeTextures(ScriptMethodParams &params);
	void Raycast_Render(ScriptMethodParams &params);
	void MoveForward(ScriptMethodParams &params);
	void MoveBackward(ScriptMethodParams &params);
	void RotateLeft(ScriptMethodParams &params);
	void RotateRight(ScriptMethodParams &params);
	void Init_Raycaster(ScriptMethodParams &params);
	void QuitCleanup(ScriptMethodParams &params);
	void LoadMap(ScriptMethodParams &params);
	void Ray_InitSprite(ScriptMethodParams &params);
	void Ray_SetPlayerPosition(ScriptMethodParams &params);
	void Ray_GetPlayerX(ScriptMethodParams &params);
	void Ray_GetPlayerY(ScriptMethodParams &params);
	void Ray_GetPlayerAngle(ScriptMethodParams &params);
	void Ray_SetPlayerAngle(ScriptMethodParams &params);

	void Ray_GetWallHotspot(ScriptMethodParams &params);
	void Ray_GetWallTexture(ScriptMethodParams &params);
	void Ray_GetWallSolid(ScriptMethodParams &params);
	void Ray_GetWallIgnoreLighting(ScriptMethodParams &params);
	void Ray_GetWallAlpha(ScriptMethodParams &params);
	void Ray_GetWallBlendType(ScriptMethodParams &params);

	void Ray_SelectTile(ScriptMethodParams &params);

	void Ray_GetHotspotAt(ScriptMethodParams &params);
	void Ray_GetObjectAt(ScriptMethodParams &params);

	void Ray_DrawTile(ScriptMethodParams &params);
	void Ray_DrawOntoTile(ScriptMethodParams &params);
	void Ray_SetNoClip(ScriptMethodParams &params);
	void Ray_GetNoClip(ScriptMethodParams &params);
	void Ray_SetSpriteInteractObj(ScriptMethodParams &params);
	void  Ray_GetSpriteInteractObj(ScriptMethodParams &params);
	void Ray_SetSpritePosition(ScriptMethodParams &params);
	void Ray_SetSpriteVertOffset(ScriptMethodParams &params);
	void Ray_GetSpriteVertOffset(ScriptMethodParams &params);
	void Ray_GetSpriteX(ScriptMethodParams &params);
	void Ray_GetSpriteY(ScriptMethodParams &params);

	void Ray_SetWallHotspot(ScriptMethodParams &params);
	void Ray_SetWallTextures(ScriptMethodParams &params);
	void Ray_SetWallSolid(ScriptMethodParams &params);
	void Ray_SetWallIgnoreLighting(ScriptMethodParams &params);
	void Ray_SetWallAlpha(ScriptMethodParams &params);
	void Ray_SetWallBlendType(ScriptMethodParams &params);

	void Ray_GetMoveSpeed(ScriptMethodParams &params);
	void Ray_SetMoveSpeed(ScriptMethodParams &params);
	void Ray_GetRotSpeed(ScriptMethodParams &params);
	void Ray_SetRotSpeed(ScriptMethodParams &params);
	void Ray_GetWallAt(ScriptMethodParams &params);
	void Ray_GetLightAt(ScriptMethodParams &params);
	void Ray_SetLightAt(ScriptMethodParams &params);
	void Ray_SetWallAt(ScriptMethodParams &params);
	void Ray_GetPlaneY(ScriptMethodParams &params);
	void Ray_SetPlaneY(ScriptMethodParams &params);
	void Ray_GetDistanceAt(ScriptMethodParams &params);
	void Ray_GetSpriteAngle(ScriptMethodParams &params);
	void Ray_SetSpriteAngle(ScriptMethodParams &params);
	void Ray_SetSpriteView(ScriptMethodParams &params);
	void Ray_GetSpriteView(ScriptMethodParams &params);
	void Ray_SetSpriteFrame(ScriptMethodParams &params);
	void Ray_GetSpriteFrame(ScriptMethodParams &params);

	void Ray_GetTileX_At(ScriptMethodParams &params);
	void Ray_GetTileY_At(ScriptMethodParams &params);

	void Ray_SetSkyBox(ScriptMethodParams &params);
	void Ray_GetSkyBox(ScriptMethodParams &params);

	void Ray_SetAmbientLight(ScriptMethodParams &params);
	void Ray_GetAmbientLight(ScriptMethodParams &params);
	void Ray_SetAmbientColor(ScriptMethodParams &params);


	void Ray_GetSpriteAlpha(ScriptMethodParams &params);
	void Ray_SetSpriteAlpha(ScriptMethodParams &params);
	void Ray_GetSpritePic(ScriptMethodParams &params);
	void Ray_SetSpritePic(ScriptMethodParams &params);

	void Ray_GetSpriteScaleX(ScriptMethodParams &params);
	void Ray_SetSpriteScaleX(ScriptMethodParams &params);
	void Ray_GetSpriteScaleY(ScriptMethodParams &params);
	void Ray_SetSpriteScaleY(ScriptMethodParams &params);

	void Ray_SetSpriteBlendType(ScriptMethodParams &params);
	void Ray_GetSpriteBlendType(ScriptMethodParams &params);

	void Ray_SetFloorAt(ScriptMethodParams &params);
	void Ray_SetCeilingAt(ScriptMethodParams &params);
	void Ray_GetCeilingAt(ScriptMethodParams &params);
	void Ray_GetFloorAt(ScriptMethodParams &params);
	void Ray_GetLightingAt(ScriptMethodParams &params);
	void Ray_SetLightingAt(ScriptMethodParams &params);
	void Ray_GetAmbientWeight(ScriptMethodParams &params);

	void Ray_HasSeenTile(ScriptMethodParams &params);

	/**@}*/
};

} // namespace AGSPalRender
} // namespace Plugins
} // namespace AGS3

#endif