ScummVM API documentation
global_api.h
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 modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (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, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef AGS_PLUGINS_CORE_GLOBAL_API_H
23 #define AGS_PLUGINS_CORE_GLOBAL_API_H
24 
25 #include "ags/plugins/ags_plugin.h"
26 
27 namespace AGS3 {
28 namespace Plugins {
29 namespace Core {
30 
31 class GlobalAPI : public ScriptContainer {
32  BUILT_IN_HASH(GlobalAPI)
33 public:
34  void AGS_EngineStartup(IAGSEngine *engine) override;
35 
36  void ScPl_sc_AbortGame(ScriptMethodParams &params);
37  void add_inventory(ScriptMethodParams &params);
38  void AddInventoryToCharacter(ScriptMethodParams &params);
39  void AnimateButton(ScriptMethodParams &params);
40  void scAnimateCharacter(ScriptMethodParams &params);
41  void AnimateCharacterEx(ScriptMethodParams &params);
42  void AnimateObject(ScriptMethodParams &params);
43  void AnimateObjectEx(ScriptMethodParams &params);
44  void AreCharactersColliding(ScriptMethodParams &params);
45  void AreCharObjColliding(ScriptMethodParams &params);
46  void AreObjectsColliding(ScriptMethodParams &params);
47  void AreThingsOverlapping(ScriptMethodParams &params);
48  void CallRoomScript(ScriptMethodParams &params);
49  void cd_manager(ScriptMethodParams &params);
50  void CentreGUI(ScriptMethodParams &params);
51  void ChangeCharacterView(ScriptMethodParams &params);
52  void ChangeCursorGraphic(ScriptMethodParams &params);
53  void ChangeCursorHotspot(ScriptMethodParams &params);
54  void ClaimEvent(ScriptMethodParams &params);
55  void CreateGraphicOverlay(ScriptMethodParams &params);
56  void ScPl_CreateTextOverlay(ScriptMethodParams &params);
57  void CyclePalette(ScriptMethodParams &params);
58  void script_debug(ScriptMethodParams &params);
59  void DeleteSaveSlot(ScriptMethodParams &params);
60  void free_dynamic_sprite(ScriptMethodParams &params);
61  void disable_cursor_mode(ScriptMethodParams &params);
62  void DisableGroundLevelAreas(ScriptMethodParams &params);
63  void DisableHotspot(ScriptMethodParams &params);
64  void DisableInterface(ScriptMethodParams &params);
65  void DisableRegion(ScriptMethodParams &params);
66  void ScPl_Display(ScriptMethodParams &params);
67  void ScPl_DisplayAt(ScriptMethodParams &params);
68  void DisplayAtY(ScriptMethodParams &params);
69  void DisplayMessage(ScriptMethodParams &params);
70  void DisplayMessageAtY(ScriptMethodParams &params);
71  void DisplayMessageBar(ScriptMethodParams &params);
72  void ScPl_sc_displayspeech(ScriptMethodParams &params);
73  void DisplaySpeechAt(ScriptMethodParams &params);
74  void DisplaySpeechBackground(ScriptMethodParams &params);
75  void ScPl_DisplayThought(ScriptMethodParams &params);
76  void ScPl_DisplayTopBar(ScriptMethodParams &params);
77  void enable_cursor_mode(ScriptMethodParams &params);
78  void EnableGroundLevelAreas(ScriptMethodParams &params);
79  void EnableHotspot(ScriptMethodParams &params);
80  void EnableInterface(ScriptMethodParams &params);
81  void EnableRegion(ScriptMethodParams &params);
82  void EndCutscene(ScriptMethodParams &params);
83  void FaceCharacter(ScriptMethodParams &params);
84  void FaceLocation(ScriptMethodParams &params);
85  void FadeIn(ScriptMethodParams &params);
86  void FadeOut(ScriptMethodParams &params);
87  void FileClose(ScriptMethodParams &params);
88  void FileIsEOF(ScriptMethodParams &params);
89  void FileIsError(ScriptMethodParams &params);
90  // NOTE: FileOpenCMode is a backwards-compatible replacement for old-style global script function FileOpen
91  void FileOpenCMode(ScriptMethodParams &params);
92  void FileRead(ScriptMethodParams &params);
93  void FileReadInt(ScriptMethodParams &params);
94  void FileReadRawChar(ScriptMethodParams &params);
95  void FileReadRawInt(ScriptMethodParams &params);
96  void FileWrite(ScriptMethodParams &params);
97  void FileWriteInt(ScriptMethodParams &params);
98  void FileWriteRawChar(ScriptMethodParams &params);
99  void FileWriteRawLine(ScriptMethodParams &params);
100  void FindGUIID(ScriptMethodParams &params);
101  void FlipScreen(ScriptMethodParams &params);
102  void FloatToInt(ScriptMethodParams &params);
103  void FollowCharacter(ScriptMethodParams &params);
104  void FollowCharacterEx(ScriptMethodParams &params);
105  void GetBackgroundFrame(ScriptMethodParams &params);
106  void GetButtonPic(ScriptMethodParams &params);
107  void GetCharIDAtScreen(ScriptMethodParams &params);
108  void GetCharacterProperty(ScriptMethodParams &params);
109  void GetCharacterPropertyText(ScriptMethodParams &params);
110  void GetCurrentMusic(ScriptMethodParams &params);
111  void GetCursorMode(ScriptMethodParams &params);
112  void GetDialogOption(ScriptMethodParams &params);
113  void GetGameOption(ScriptMethodParams &params);
114  void GetGameParameter(ScriptMethodParams &params);
115  void GetGameSpeed(ScriptMethodParams &params);
116  void GetGlobalInt(ScriptMethodParams &params);
117  void GetGlobalString(ScriptMethodParams &params);
118  void GetGraphicalVariable(ScriptMethodParams &params);
119  void GetGUIAt(ScriptMethodParams &params);
120  void GetGUIObjectAt(ScriptMethodParams &params);
121  void GetHotspotIDAtScreen(ScriptMethodParams &params);
122  void GetHotspotName(ScriptMethodParams &params);
123  void GetHotspotPointX(ScriptMethodParams &params);
124  void GetHotspotPointY(ScriptMethodParams &params);
125  void GetHotspotProperty(ScriptMethodParams &params);
126  void GetHotspotPropertyText(ScriptMethodParams &params);
127  void GetInvAt(ScriptMethodParams &params);
128  void GetInvGraphic(ScriptMethodParams &params);
129  void GetInvName(ScriptMethodParams &params);
130  void GetInvProperty(ScriptMethodParams &params);
131  void GetInvPropertyText(ScriptMethodParams &params);
132  void GetLocationName(ScriptMethodParams &params);
133  void GetLocationType(ScriptMethodParams &params);
134  void GetMessageText(ScriptMethodParams &params);
135  void GetMIDIPosition(ScriptMethodParams &params);
136  void GetMP3PosMillis(ScriptMethodParams &params);
137  void GetObjectIDAtScreen(ScriptMethodParams &params);
138  void GetObjectBaseline(ScriptMethodParams &params);
139  void GetObjectGraphic(ScriptMethodParams &params);
140  void GetObjectName(ScriptMethodParams &params);
141  void GetObjectProperty(ScriptMethodParams &params);
142  void GetObjectPropertyText(ScriptMethodParams &params);
143  void GetObjectX(ScriptMethodParams &params);
144  void GetObjectY(ScriptMethodParams &params);
145  void GetPlayerCharacter(ScriptMethodParams &params);
146  void GetRawTime(ScriptMethodParams &params);
147  void GetRegionIDAtRoom(ScriptMethodParams &params);
148  void Room_GetProperty(ScriptMethodParams &params);
149  void GetRoomPropertyText(ScriptMethodParams &params);
150  void GetSaveSlotDescription(ScriptMethodParams &params);
151  void GetScalingAt(ScriptMethodParams &params);
152  void GetSliderValue(ScriptMethodParams &params);
153  void GetTextBoxText(ScriptMethodParams &params);
154  void GetTextHeight(ScriptMethodParams &params);
155  void GetTextWidth(ScriptMethodParams &params);
156  void sc_GetTime(ScriptMethodParams &params);
157  void get_translation(ScriptMethodParams &params);
158  void GetTranslationName(ScriptMethodParams &params);
159  void GetViewportX(ScriptMethodParams &params);
160  void GetViewportY(ScriptMethodParams &params);
161  void GetWalkableAreaAtRoom(ScriptMethodParams &params);
162  void GetWalkableAreaAtScreen(ScriptMethodParams &params);
163  void GiveScore(ScriptMethodParams &params);
164  void HasPlayerBeenInRoom(ScriptMethodParams &params);
165  void HideMouseCursor(ScriptMethodParams &params);
166  void sc_inputbox(ScriptMethodParams &params);
167  void InterfaceOff(ScriptMethodParams &params);
168  void InterfaceOn(ScriptMethodParams &params);
169  void IntToFloat(ScriptMethodParams &params);
170  void sc_invscreen(ScriptMethodParams &params);
171  void IsButtonDown(ScriptMethodParams &params);
172  void IsChannelPlaying(ScriptMethodParams &params);
173  void IsGamePaused(ScriptMethodParams &params);
174  void IsGUIOn(ScriptMethodParams &params);
175  void IsInteractionAvailable(ScriptMethodParams &params);
176  void IsInventoryInteractionAvailable(ScriptMethodParams &params);
177  void IsInterfaceEnabled(ScriptMethodParams &params);
178  void IsKeyPressed(ScriptMethodParams &params);
179  void IsMusicPlaying(ScriptMethodParams &params);
180  void IsMusicVoxAvailable(ScriptMethodParams &params);
181  void IsObjectAnimating(ScriptMethodParams &params);
182  void IsObjectMoving(ScriptMethodParams &params);
183  void IsObjectOn(ScriptMethodParams &params);
184  void IsOverlayValid(ScriptMethodParams &params);
185  void IsSoundPlaying(ScriptMethodParams &params);
186  void IsTimerExpired(ScriptMethodParams &params);
187  void IsTranslationAvailable(ScriptMethodParams &params);
188  void IsVoxAvailable(ScriptMethodParams &params);
189  void ListBoxAdd(ScriptMethodParams &params);
190  void ListBoxClear(ScriptMethodParams &params);
191  void ListBoxDirList(ScriptMethodParams &params);
192  void ListBoxGetItemText(ScriptMethodParams &params);
193  void ListBoxGetNumItems(ScriptMethodParams &params);
194  void ListBoxGetSelected(ScriptMethodParams &params);
195  void ListBoxRemove(ScriptMethodParams &params);
196  void ListBoxSaveGameList(ScriptMethodParams &params);
197  void ListBoxSetSelected(ScriptMethodParams &params);
198  void ListBoxSetTopItem(ScriptMethodParams &params);
199  void LoadImageFile(ScriptMethodParams &params);
200  void LoadSaveSlotScreenshot(ScriptMethodParams &params);
201  void lose_inventory(ScriptMethodParams &params);
202  void LoseInventoryFromCharacter(ScriptMethodParams &params);
203  void MergeObject(ScriptMethodParams &params);
204  void MoveCharacter(ScriptMethodParams &params);
205  void MoveCharacterBlocking(ScriptMethodParams &params);
206  void MoveCharacterDirect(ScriptMethodParams &params);
207  void MoveCharacterPath(ScriptMethodParams &params);
208  void MoveCharacterStraight(ScriptMethodParams &params);
209  void MoveCharacterToHotspot(ScriptMethodParams &params);
210  void MoveCharacterToObject(ScriptMethodParams &params);
211  void MoveObject(ScriptMethodParams &params);
212  void MoveObjectDirect(ScriptMethodParams &params);
213  void MoveOverlay(ScriptMethodParams &params);
214  void MoveToWalkableArea(ScriptMethodParams &params);
215  void NewRoom(ScriptMethodParams &params);
216  void NewRoomEx(ScriptMethodParams &params);
217  void NewRoomNPC(ScriptMethodParams &params);
218  void ObjectOff(ScriptMethodParams &params);
219  void ObjectOn(ScriptMethodParams &params);
220  void ParseText(ScriptMethodParams &params);
221  void PauseGame(ScriptMethodParams &params);
222  void PlayAmbientSound(ScriptMethodParams &params);
223  void PlayFlic(ScriptMethodParams &params);
224  void PlayMP3File(ScriptMethodParams &params);
225  void PlayMusicResetQueue(ScriptMethodParams &params);
226  void PlayMusicQueued(ScriptMethodParams &params);
227  void PlaySilentMIDI(ScriptMethodParams &params);
228  void play_sound(ScriptMethodParams &params);
229  void PlaySoundEx(ScriptMethodParams &params);
230  void PlayVideo(ScriptMethodParams &params);
231  void RoomProcessClick(ScriptMethodParams &params);
232  void QuitGame(ScriptMethodParams &params);
233  void __Rand(ScriptMethodParams &params);
234  void RawClear(ScriptMethodParams &params);
235  void RawDrawCircle(ScriptMethodParams &params);
236  void RawDrawFrameTransparent(ScriptMethodParams &params);
237  void RawDrawImage(ScriptMethodParams &params);
238  void RawDrawImageOffset(ScriptMethodParams &params);
239  void RawDrawImageResized(ScriptMethodParams &params);
240  void RawDrawImageTransparent(ScriptMethodParams &params);
241  void RawDrawLine(ScriptMethodParams &params);
242  void RawDrawRectangle(ScriptMethodParams &params);
243  void RawDrawTriangle(ScriptMethodParams &params);
244  void ScPl_RawPrint(ScriptMethodParams &params);
245  void RawPrintMessageWrapped(ScriptMethodParams &params);
246  void RawRestoreScreen(ScriptMethodParams &params);
247  void RawRestoreScreenTinted(ScriptMethodParams &params);
248  void RawSaveScreen(ScriptMethodParams &params);
249  void RawSetColor(ScriptMethodParams &params);
250  void RawSetColorRGB(ScriptMethodParams &params);
251  void RefreshMouse(ScriptMethodParams &params);
252  void ReleaseCharacterView(ScriptMethodParams &params);
253  void ReleaseViewport(ScriptMethodParams &params);
254  void RemoveObjectTint(ScriptMethodParams &params);
255  void RemoveOverlay(ScriptMethodParams &params);
256  void RemoveWalkableArea(ScriptMethodParams &params);
257  void ResetRoom(ScriptMethodParams &params);
258  void restart_game(ScriptMethodParams &params);
259  void restore_game_dialog(ScriptMethodParams &params);
260  void RestoreGameSlot(ScriptMethodParams &params);
261  void RestoreWalkableArea(ScriptMethodParams &params);
262  void RunAGSGame(ScriptMethodParams &params);
263  void RunCharacterInteraction(ScriptMethodParams &params);
264  void RunDialog(ScriptMethodParams &params);
265  void RunHotspotInteraction(ScriptMethodParams &params);
266  void RunInventoryInteraction(ScriptMethodParams &params);
267  void RunObjectInteraction(ScriptMethodParams &params);
268  void RunRegionInteraction(ScriptMethodParams &params);
269  void Said(ScriptMethodParams &params);
270  void SaidUnknownWord(ScriptMethodParams &params);
271  void SaveCursorForLocationChange(ScriptMethodParams &params);
272  void save_game_dialog(ScriptMethodParams &params);
273  void save_game(ScriptMethodParams &params);
274  void SaveScreenShot(ScriptMethodParams &params);
275  void SeekMIDIPosition(ScriptMethodParams &params);
276  void SeekMODPattern(ScriptMethodParams &params);
277  void SeekMP3PosMillis(ScriptMethodParams &params);
278  void SetActiveInventory(ScriptMethodParams &params);
279  void SetAmbientTint(ScriptMethodParams &params);
280  void SetAreaLightLevel(ScriptMethodParams &params);
281  void SetAreaScaling(ScriptMethodParams &params);
282  void SetBackgroundFrame(ScriptMethodParams &params);
283  void SetButtonPic(ScriptMethodParams &params);
284  void SetButtonText(ScriptMethodParams &params);
285  void SetChannelVolume(ScriptMethodParams &params);
286  void SetCharacterBaseline(ScriptMethodParams &params);
287  void SetCharacterClickable(ScriptMethodParams &params);
288  void SetCharacterFrame(ScriptMethodParams &params);
289  void SetCharacterIdle(ScriptMethodParams &params);
290  void SetCharacterIgnoreLight(ScriptMethodParams &params);
291  void SetCharacterIgnoreWalkbehinds(ScriptMethodParams &params);
292  void SetCharacterProperty(ScriptMethodParams &params);
293  void SetCharacterBlinkView(ScriptMethodParams &params);
294  void SetCharacterSpeechView(ScriptMethodParams &params);
295  void SetCharacterSpeed(ScriptMethodParams &params);
296  void SetCharacterSpeedEx(ScriptMethodParams &params);
297  void SetCharacterTransparency(ScriptMethodParams &params);
298  void SetCharacterView(ScriptMethodParams &params);
299  void SetCharacterViewEx(ScriptMethodParams &params);
300  void SetCharacterViewOffset(ScriptMethodParams &params);
301  void set_cursor_mode(ScriptMethodParams &params);
302  void set_default_cursor(ScriptMethodParams &params);
303  void SetDialogOption(ScriptMethodParams &params);
304  void SetDigitalMasterVolume(ScriptMethodParams &params);
305  void SetFadeColor(ScriptMethodParams &params);
306  void SetFrameSound(ScriptMethodParams &params);
307  void SetGameOption(ScriptMethodParams &params);
308  void SetGameSpeed(ScriptMethodParams &params);
309  void SetGlobalInt(ScriptMethodParams &params);
310  void SetGlobalString(ScriptMethodParams &params);
311  void SetGraphicalVariable(ScriptMethodParams &params);
312  void SetGUIBackgroundPic(ScriptMethodParams &params);
313  void SetGUIClickable(ScriptMethodParams &params);
314  void SetGUIObjectEnabled(ScriptMethodParams &params);
315  void SetGUIObjectPosition(ScriptMethodParams &params);
316  void SetGUIObjectSize(ScriptMethodParams &params);
317  void SetGUIPosition(ScriptMethodParams &params);
318  void SetGUISize(ScriptMethodParams &params);
319  void SetGUITransparency(ScriptMethodParams &params);
320  void SetGUIZOrder(ScriptMethodParams &params);
321  void SetInvItemName(ScriptMethodParams &params);
322  void set_inv_item_pic(ScriptMethodParams &params);
323  void SetInvDimensions(ScriptMethodParams &params);
324  void SetLabelColor(ScriptMethodParams &params);
325  void SetLabelFont(ScriptMethodParams &params);
326  void SetLabelText(ScriptMethodParams &params);
327  void SetMouseBounds(ScriptMethodParams &params);
328  void set_mouse_cursor(ScriptMethodParams &params);
329  void SetMousePosition(ScriptMethodParams &params);
330  void SetMultitasking(ScriptMethodParams &params);
331  void SetMusicMasterVolume(ScriptMethodParams &params);
332  void SetMusicRepeat(ScriptMethodParams &params);
333  void SetMusicVolume(ScriptMethodParams &params);
334  void SetNextCursor(ScriptMethodParams &params);
335  void SetNextScreenTransition(ScriptMethodParams &params);
336  void SetNormalFont(ScriptMethodParams &params);
337  void SetObjectBaseline(ScriptMethodParams &params);
338  void SetObjectClickable(ScriptMethodParams &params);
339  void SetObjectFrame(ScriptMethodParams &params);
340  void SetObjectGraphic(ScriptMethodParams &params);
341  void SetObjectIgnoreWalkbehinds(ScriptMethodParams &params);
342  void SetObjectPosition(ScriptMethodParams &params);
343  void SetObjectTint(ScriptMethodParams &params);
344  void SetObjectTransparency(ScriptMethodParams &params);
345  void SetObjectView(ScriptMethodParams &params);
346  void SetPalRGB(ScriptMethodParams &params);
347  void SetPlayerCharacter(ScriptMethodParams &params);
348  void SetRegionTint(ScriptMethodParams &params);
349  void SetRestartPoint(ScriptMethodParams &params);
350  void SetScreenTransition(ScriptMethodParams &params);
351  void SetSkipSpeech(ScriptMethodParams &params);
352  void SetSliderValue(ScriptMethodParams &params);
353  void SetSoundVolume(ScriptMethodParams &params);
354  void SetSpeechFont(ScriptMethodParams &params);
355  void SetSpeechStyle(ScriptMethodParams &params);
356  void SetSpeechVolume(ScriptMethodParams &params);
357  void SetTalkingColor(ScriptMethodParams &params);
358  void SetTextBoxFont(ScriptMethodParams &params);
359  void SetTextBoxText(ScriptMethodParams &params);
360  void ScPl_SetTextOverlay(ScriptMethodParams &params);
361  void SetTextWindowGUI(ScriptMethodParams &params);
362  void script_SetTimer(ScriptMethodParams &params);
363  void SetViewport(ScriptMethodParams &params);
364  void SetVoiceMode(ScriptMethodParams &params);
365  void SetWalkBehindBase(ScriptMethodParams &params);
366  void ShakeScreen(ScriptMethodParams &params);
367  void ShakeScreenBackground(ScriptMethodParams &params);
368  void ShowMouseCursor(ScriptMethodParams &params);
369  void SkipUntilCharacterStops(ScriptMethodParams &params);
370  void StartCutscene(ScriptMethodParams &params);
371  void scStartRecording(ScriptMethodParams &params);
372  void StopAmbientSound(ScriptMethodParams &params);
373  void stop_and_destroy_channel(ScriptMethodParams &params);
374  void StopDialog(ScriptMethodParams &params);
375  void StopMoving(ScriptMethodParams &params);
376  void scr_StopMusic(ScriptMethodParams &params);
377  void StopObjectMoving(ScriptMethodParams &params);
378  void _sc_strcat(ScriptMethodParams &params);
379  void ags_stricmp(ScriptMethodParams &params);
380  void strcmp(ScriptMethodParams &params);
381  void StrContains(ScriptMethodParams &params);
382  void _sc_strcpy(ScriptMethodParams &params);
383  void ScPl_sc_sprintf(ScriptMethodParams &params);
384  void StrGetCharAt(ScriptMethodParams &params);
385  void StringToInt(ScriptMethodParams &params);
386  void strlen(ScriptMethodParams &params);
387  void StrSetCharAt(ScriptMethodParams &params);
388  void _sc_strlower(ScriptMethodParams &params);
389  void _sc_strupper(ScriptMethodParams &params);
390  void TintScreen(ScriptMethodParams &params);
391  void UnPauseGame(ScriptMethodParams &params);
392  void update_invorder(ScriptMethodParams &params);
393  void UpdatePalette(ScriptMethodParams &params);
394  void scrWait(ScriptMethodParams &params);
395  void WaitKey(ScriptMethodParams &params);
396  void WaitMouseKey(ScriptMethodParams &params);
397  void WaitInput(ScriptMethodParams &params);
398 };
399 
400 } // namespace Core
401 } // namespace Plugins
402 } // namespace AGS3
403 
404 #endif
Definition: plugin_base.h:131
Definition: global_api.h:31
Definition: ags_plugin.h:328
Definition: plugin_base.h:151
Definition: ags.h:40