1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or(at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef AGS_PLUGINS_AGS_PAL_RENDER_AGS_PAL_RENDER_H 24 #define AGS_PLUGINS_AGS_PAL_RENDER_AGS_PAL_RENDER_H 25 26 #include "ags/plugins/ags_plugin.h" 27 #include "ags/plugins/serializer.h" 28 29 namespace AGS3 { 30 namespace Plugins { 31 namespace AGSPalRender { 32 33 class AGSPalRender : public PluginBase { 34 SCRIPT_HASH(AGSPalRender) 35 private: 36 void syncGame(Serializer &s); 37 public: AGSPalRender()38 AGSPalRender() : PluginBase() {} ~AGSPalRender()39 virtual ~AGSPalRender() {} 40 41 const char *AGS_GetPluginName() override; 42 void AGS_EngineStartup(IAGSEngine *lpEngine) override; 43 void AGS_EngineShutdown() override; 44 int64 AGS_EngineOnEvent(int event, NumberPtr data) override; 45 46 /** 47 * @defgroup PALInternal 48 * @{ 49 */ 50 51 void LoadCLUT(ScriptMethodParams ¶ms); 52 void CycleRemap(ScriptMethodParams ¶ms); 53 void GetColor565(ScriptMethodParams ¶ms); 54 void GetLuminosityFromPalette(ScriptMethodParams ¶ms); 55 void AGSFastSin(ScriptMethodParams ¶ms); 56 void AGSFastCos(ScriptMethodParams ¶ms); 57 void AGSFastRoot(ScriptMethodParams ¶ms); 58 void GetRemappedSlot(ScriptMethodParams ¶ms); 59 void ResetRemapping(ScriptMethodParams ¶ms); 60 void GetModifiedBackgroundImage(ScriptMethodParams ¶ms); 61 void WriteObjectivePalette(ScriptMethodParams ¶ms); 62 void ReadObjectivePaletteR(ScriptMethodParams ¶ms); 63 void ReadObjectivePaletteB(ScriptMethodParams ¶ms); 64 void ReadObjectivePaletteG(ScriptMethodParams ¶ms); 65 66 /**@}*/ 67 68 /** 69 * @defgroup LensDistort 70 * @{ 71 */ 72 73 void SetLensPos(ScriptMethodParams ¶ms); 74 void GetLensX(ScriptMethodParams ¶ms); 75 void GetLensY(ScriptMethodParams ¶ms); 76 void SetLensDrawn(ScriptMethodParams ¶ms); 77 void GetLensDrawn(ScriptMethodParams ¶ms); 78 void SetLensOffsetClamp(ScriptMethodParams ¶ms); 79 void GetLensOffsetClamp(ScriptMethodParams ¶ms); 80 void GetLensLevel(ScriptMethodParams ¶ms); 81 void SetLensLevel(ScriptMethodParams ¶ms); 82 void LensInitialize(ScriptMethodParams ¶ms); 83 84 /**@}*/ 85 86 /** 87 * @defgroup Translucence 88 * @{ 89 */ 90 91 void CreateTranslucentOverlay(ScriptMethodParams ¶ms); 92 void DeleteTranslucentOverlay(ScriptMethodParams ¶ms); 93 void MoveTranslucentOverlay(ScriptMethodParams ¶ms); 94 void GetTranslucentOverlayX(ScriptMethodParams ¶ms); 95 void GetTranslucentOverlayY(ScriptMethodParams ¶ms); 96 void GetTranslucentOverlaySprite(ScriptMethodParams ¶ms); 97 void GetTranslucentOverlayLevel(ScriptMethodParams ¶ms); 98 void GetTranslucentOverlayEnabled(ScriptMethodParams ¶ms); 99 void GetTranslucentOverlayAlpha(ScriptMethodParams ¶ms); 100 void SetTranslucentOverlayAlpha(ScriptMethodParams ¶ms); 101 void SetTranslucentOverlayEnabled(ScriptMethodParams ¶ms); 102 void DrawTransSprite(ScriptMethodParams ¶ms); 103 104 /**@}*/ 105 106 /** 107 * @defgroup Starfield 108 * @{ 109 */ 110 111 void GetStarfieldOverscan(ScriptMethodParams ¶ms); 112 void SetStarfieldOverscan(ScriptMethodParams ¶ms); 113 void GetStarfieldOriginX(ScriptMethodParams ¶ms); 114 void GetStarfieldOriginY(ScriptMethodParams ¶ms); 115 void SetStarfieldDepthMultiplier(ScriptMethodParams ¶ms); 116 void GetStarfieldDepthMultiplier(ScriptMethodParams ¶ms); 117 void GetStarfieldMaxStars(ScriptMethodParams ¶ms); 118 void SetStarSpriteScaleBoost(ScriptMethodParams ¶ms); 119 void GetStarSpriteScaleBoost(ScriptMethodParams ¶ms); 120 void SetStarMaxRadius(ScriptMethodParams ¶ms); 121 void GetStarMaxRadius(ScriptMethodParams ¶ms); 122 void GetStarX(ScriptMethodParams ¶ms); 123 void GetStarY(ScriptMethodParams ¶ms); 124 void GetStarZ(ScriptMethodParams ¶ms); 125 void SetStarPosition(ScriptMethodParams ¶ms); 126 void RotateStar(ScriptMethodParams ¶ms); 127 void SetStarColor(ScriptMethodParams ¶ms); 128 void GetStarColor(ScriptMethodParams ¶ms); 129 void SetStarSprite(ScriptMethodParams ¶ms); 130 void GetStarSprite(ScriptMethodParams ¶ms); 131 void SetStarSpriteRange(ScriptMethodParams ¶ms); 132 void InitializeStars(ScriptMethodParams ¶ms); 133 void IterateStars(ScriptMethodParams ¶ms); 134 void DrawStars(ScriptMethodParams ¶ms); 135 void SetStarsOriginPoint(ScriptMethodParams ¶ms); 136 137 /**@}*/ 138 139 /** 140 * @defgroup Plasma 141 * @{ 142 */ 143 144 void DoFire(ScriptMethodParams ¶ms); 145 void SetPlasmaType(ScriptMethodParams ¶ms); 146 void ResetPlasmaSettings(ScriptMethodParams ¶ms); 147 void DrawPlasma(ScriptMethodParams ¶ms); 148 void SetPlasmaRootType(ScriptMethodParams ¶ms); 149 void GetPlasmaRootType(ScriptMethodParams ¶ms); 150 151 /**@}*/ 152 153 /** 154 * @defgroup Reflections 155 * @{ 156 */ 157 158 void SetReflections(ScriptMethodParams ¶ms); 159 void IsReflectionsOn(ScriptMethodParams ¶ms); 160 void SetCharacterReflected(ScriptMethodParams ¶ms); 161 void GetCharacterReflected(ScriptMethodParams ¶ms); 162 void SetObjectReflected(ScriptMethodParams ¶ms); 163 void GetObjectReflected(ScriptMethodParams ¶ms); 164 void ReplaceCharacterReflectionView(ScriptMethodParams ¶ms); 165 void SetObjectReflectionIgnoreScaling(ScriptMethodParams ¶ms); 166 167 /**@}*/ 168 169 /** 170 * @defgroup raycast 171 * @{ 172 */ 173 174 void MakeTextures(ScriptMethodParams ¶ms); 175 void Raycast_Render(ScriptMethodParams ¶ms); 176 void MoveForward(ScriptMethodParams ¶ms); 177 void MoveBackward(ScriptMethodParams ¶ms); 178 void RotateLeft(ScriptMethodParams ¶ms); 179 void RotateRight(ScriptMethodParams ¶ms); 180 void Init_Raycaster(ScriptMethodParams ¶ms); 181 void QuitCleanup(ScriptMethodParams ¶ms); 182 void LoadMap(ScriptMethodParams ¶ms); 183 void Ray_InitSprite(ScriptMethodParams ¶ms); 184 void Ray_SetPlayerPosition(ScriptMethodParams ¶ms); 185 void Ray_GetPlayerX(ScriptMethodParams ¶ms); 186 void Ray_GetPlayerY(ScriptMethodParams ¶ms); 187 void Ray_GetPlayerAngle(ScriptMethodParams ¶ms); 188 void Ray_SetPlayerAngle(ScriptMethodParams ¶ms); 189 190 void Ray_GetWallHotspot(ScriptMethodParams ¶ms); 191 void Ray_GetWallTexture(ScriptMethodParams ¶ms); 192 void Ray_GetWallSolid(ScriptMethodParams ¶ms); 193 void Ray_GetWallIgnoreLighting(ScriptMethodParams ¶ms); 194 void Ray_GetWallAlpha(ScriptMethodParams ¶ms); 195 void Ray_GetWallBlendType(ScriptMethodParams ¶ms); 196 197 void Ray_SelectTile(ScriptMethodParams ¶ms); 198 199 void Ray_GetHotspotAt(ScriptMethodParams ¶ms); 200 void Ray_GetObjectAt(ScriptMethodParams ¶ms); 201 202 void Ray_DrawTile(ScriptMethodParams ¶ms); 203 void Ray_DrawOntoTile(ScriptMethodParams ¶ms); 204 void Ray_SetNoClip(ScriptMethodParams ¶ms); 205 void Ray_GetNoClip(ScriptMethodParams ¶ms); 206 void Ray_SetSpriteInteractObj(ScriptMethodParams ¶ms); 207 void Ray_GetSpriteInteractObj(ScriptMethodParams ¶ms); 208 void Ray_SetSpritePosition(ScriptMethodParams ¶ms); 209 void Ray_SetSpriteVertOffset(ScriptMethodParams ¶ms); 210 void Ray_GetSpriteVertOffset(ScriptMethodParams ¶ms); 211 void Ray_GetSpriteX(ScriptMethodParams ¶ms); 212 void Ray_GetSpriteY(ScriptMethodParams ¶ms); 213 214 void Ray_SetWallHotspot(ScriptMethodParams ¶ms); 215 void Ray_SetWallTextures(ScriptMethodParams ¶ms); 216 void Ray_SetWallSolid(ScriptMethodParams ¶ms); 217 void Ray_SetWallIgnoreLighting(ScriptMethodParams ¶ms); 218 void Ray_SetWallAlpha(ScriptMethodParams ¶ms); 219 void Ray_SetWallBlendType(ScriptMethodParams ¶ms); 220 221 void Ray_GetMoveSpeed(ScriptMethodParams ¶ms); 222 void Ray_SetMoveSpeed(ScriptMethodParams ¶ms); 223 void Ray_GetRotSpeed(ScriptMethodParams ¶ms); 224 void Ray_SetRotSpeed(ScriptMethodParams ¶ms); 225 void Ray_GetWallAt(ScriptMethodParams ¶ms); 226 void Ray_GetLightAt(ScriptMethodParams ¶ms); 227 void Ray_SetLightAt(ScriptMethodParams ¶ms); 228 void Ray_SetWallAt(ScriptMethodParams ¶ms); 229 void Ray_GetPlaneY(ScriptMethodParams ¶ms); 230 void Ray_SetPlaneY(ScriptMethodParams ¶ms); 231 void Ray_GetDistanceAt(ScriptMethodParams ¶ms); 232 void Ray_GetSpriteAngle(ScriptMethodParams ¶ms); 233 void Ray_SetSpriteAngle(ScriptMethodParams ¶ms); 234 void Ray_SetSpriteView(ScriptMethodParams ¶ms); 235 void Ray_GetSpriteView(ScriptMethodParams ¶ms); 236 void Ray_SetSpriteFrame(ScriptMethodParams ¶ms); 237 void Ray_GetSpriteFrame(ScriptMethodParams ¶ms); 238 239 void Ray_GetTileX_At(ScriptMethodParams ¶ms); 240 void Ray_GetTileY_At(ScriptMethodParams ¶ms); 241 242 void Ray_SetSkyBox(ScriptMethodParams ¶ms); 243 void Ray_GetSkyBox(ScriptMethodParams ¶ms); 244 245 void Ray_SetAmbientLight(ScriptMethodParams ¶ms); 246 void Ray_GetAmbientLight(ScriptMethodParams ¶ms); 247 void Ray_SetAmbientColor(ScriptMethodParams ¶ms); 248 249 250 void Ray_GetSpriteAlpha(ScriptMethodParams ¶ms); 251 void Ray_SetSpriteAlpha(ScriptMethodParams ¶ms); 252 void Ray_GetSpritePic(ScriptMethodParams ¶ms); 253 void Ray_SetSpritePic(ScriptMethodParams ¶ms); 254 255 void Ray_GetSpriteScaleX(ScriptMethodParams ¶ms); 256 void Ray_SetSpriteScaleX(ScriptMethodParams ¶ms); 257 void Ray_GetSpriteScaleY(ScriptMethodParams ¶ms); 258 void Ray_SetSpriteScaleY(ScriptMethodParams ¶ms); 259 260 void Ray_SetSpriteBlendType(ScriptMethodParams ¶ms); 261 void Ray_GetSpriteBlendType(ScriptMethodParams ¶ms); 262 263 void Ray_SetFloorAt(ScriptMethodParams ¶ms); 264 void Ray_SetCeilingAt(ScriptMethodParams ¶ms); 265 void Ray_GetCeilingAt(ScriptMethodParams ¶ms); 266 void Ray_GetFloorAt(ScriptMethodParams ¶ms); 267 void Ray_GetLightingAt(ScriptMethodParams ¶ms); 268 void Ray_SetLightingAt(ScriptMethodParams ¶ms); 269 void Ray_GetAmbientWeight(ScriptMethodParams ¶ms); 270 271 void Ray_HasSeenTile(ScriptMethodParams ¶ms); 272 273 /**@}*/ 274 }; 275 276 } // namespace AGSPalRender 277 } // namespace Plugins 278 } // namespace AGS3 279 280 #endif 281