/* 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 * (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 . * */ #include "ags/plugins/core/game.h" #include "ags/engine/ac/game.h" #include "ags/engine/ac/global_audio.h" #include "ags/engine/ac/global_game.h" namespace AGS3 { namespace Plugins { namespace Core { void Game::AGS_EngineStartup(IAGSEngine *engine) { ScriptContainer::AGS_EngineStartup(engine); SCRIPT_METHOD(Game::IsAudioPlaying^1, Game::IsAudioPlaying); SCRIPT_METHOD(Game::SetAudioTypeSpeechVolumeDrop^2, Game::SetAudioTypeSpeechVolumeDrop); SCRIPT_METHOD(Game::SetAudioTypeVolume^3, Game::SetAudioTypeVolume); SCRIPT_METHOD(Game::StopAudio^1, Game::StopAudio); SCRIPT_METHOD(Game::ChangeTranslation^1, Game::ChangeTranslation); SCRIPT_METHOD(Game::DoOnceOnly^1, Game::DoOnceOnly); SCRIPT_METHOD(Game::GetColorFromRGB^3, Game::GetColorFromRGB); SCRIPT_METHOD(Game::GetFrameCountForLoop^2, Game::GetFrameCountForLoop); SCRIPT_METHOD(Game::GetLocationName^2, Game::GetLocationName); SCRIPT_METHOD(Game::GetLoopCountForView^1, Game::GetLoopCountForView); SCRIPT_METHOD(Game::GetMODPattern^0, Game::GetMODPattern); SCRIPT_METHOD(Game::GetRunNextSettingForLoop^2, Game::GetRunNextSettingForLoop); SCRIPT_METHOD(Game::GetSaveSlotDescription^1, Game::GetSaveSlotDescription); SCRIPT_METHOD(Game::GetViewFrame^3, Game::GetViewFrame); SCRIPT_METHOD(Game::InputBox^1, Game::InputBox); SCRIPT_METHOD(Game::SetSaveGameDirectory^1, Game::SetSaveGameDirectory); SCRIPT_METHOD(Game::StopSound^1, Game::StopAllSounds); SCRIPT_METHOD(Game::get_CharacterCount, Game::GetCharacterCount); SCRIPT_METHOD(Game::get_DialogCount, Game::GetDialogCount); SCRIPT_METHOD(Game::get_FileName, Game::GetFileName); SCRIPT_METHOD(Game::get_FontCount, Game::GetFontCount); SCRIPT_METHOD(Game::geti_GlobalMessages, Game::GetGlobalMessages); SCRIPT_METHOD(Game::geti_GlobalStrings, Game::GetGlobalStrings); SCRIPT_METHOD(Game::seti_GlobalStrings, Game::SetGlobalString); SCRIPT_METHOD(Game::get_GUICount, Game::GetGUICount); SCRIPT_METHOD(Game::get_IgnoreUserInputAfterTextTimeoutMs, Game::GetIgnoreUserInputAfterTextTimeoutMs); SCRIPT_METHOD(Game::set_IgnoreUserInputAfterTextTimeoutMs, Game::SetIgnoreUserInputAfterTextTimeoutMs); SCRIPT_METHOD(Game::get_InSkippableCutscene, Game::GetInSkippableCutscene); SCRIPT_METHOD(Game::get_InventoryItemCount, Game::GetInventoryItemCount); SCRIPT_METHOD(Game::get_MinimumTextDisplayTimeMs, Game::GetMinimumTextDisplayTimeMs); SCRIPT_METHOD(Game::set_MinimumTextDisplayTimeMs, Game::SetMinimumTextDisplayTimeMs); SCRIPT_METHOD(Game::get_MouseCursorCount, Game::GetMouseCursorCount); SCRIPT_METHOD(Game::get_Name, Game::GetName); SCRIPT_METHOD(Game::set_Name, Game::SetName); SCRIPT_METHOD(Game::get_NormalFont, Game::GetNormalFont); SCRIPT_METHOD(Game::set_NormalFont, Game::SetNormalFont); SCRIPT_METHOD(Game::get_SkippingCutscene, Game::GetSkippingCutscene); SCRIPT_METHOD(Game::get_SpeechFont, Game::GetSpeechFont); SCRIPT_METHOD(Game::set_SpeechFont, Game::SetSpeechFont); SCRIPT_METHOD(Game::geti_SpriteWidth, Game::GetSpriteWidth); SCRIPT_METHOD(Game::geti_SpriteHeight, Game::GetSpriteHeight); SCRIPT_METHOD(Game::get_TextReadingSpeed, Game::GetTextReadingSpeed); SCRIPT_METHOD(Game::set_TextReadingSpeed, Game::SetTextReadingSpeed); SCRIPT_METHOD(Game::get_TranslationFilename, Game::GetTranslationFilename); SCRIPT_METHOD(Game::get_UseNativeCoordinates, Game::GetUseNativeCoordinates); SCRIPT_METHOD(Game::get_ViewCount, Game::GetViewCount); SCRIPT_METHOD(Game::PlayVoiceClip, Game::PlayVoiceClip); } void Game::IsAudioPlaying(ScriptMethodParams ¶ms) { PARAMS1(int, audioType); params._result = AGS3::Game_IsAudioPlaying(audioType); } void Game::SetAudioTypeSpeechVolumeDrop(ScriptMethodParams ¶ms) { PARAMS2(int, audioType, int, volumeDrop); AGS3::Game_SetAudioTypeSpeechVolumeDrop(audioType, volumeDrop); } void Game::SetAudioTypeVolume(ScriptMethodParams ¶ms) { PARAMS3(int, audioType, int, volume, int, changeType); AGS3::Game_SetAudioTypeVolume(audioType, volume, changeType); } void Game::StopAudio(ScriptMethodParams ¶ms) { PARAMS1(int, audioType); AGS3::Game_StopAudio(audioType); } void Game::ChangeTranslation(ScriptMethodParams ¶ms) { PARAMS1(const char *, newFilename); params._result = AGS3::Game_ChangeTranslation(newFilename); } void Game::DoOnceOnly(ScriptMethodParams ¶ms) { PARAMS1(const char *, token); params._result = AGS3::Game_DoOnceOnly(token); } void Game::GetColorFromRGB(ScriptMethodParams ¶ms) { PARAMS3(int, red, int, grn, int, blu); params._result = AGS3::Game_GetColorFromRGB(red, grn, blu); } void Game::GetFrameCountForLoop(ScriptMethodParams ¶ms) { PARAMS2(int, viewNumber, int, loopNumber); params._result = AGS3::Game_GetFrameCountForLoop(viewNumber, loopNumber); } void Game::GetLocationName(ScriptMethodParams ¶ms) { PARAMS2(int, x, int, y); params._result = AGS3::Game_GetLocationName(x, y); } void Game::GetLoopCountForView(ScriptMethodParams ¶ms) { PARAMS1(int, viewNumber); params._result = AGS3::Game_GetLoopCountForView(viewNumber); } void Game::GetMODPattern(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetMODPattern(); } void Game::GetRunNextSettingForLoop(ScriptMethodParams ¶ms) { PARAMS2(int, viewNumber, int, loopNumber); params._result = AGS3::Game_GetRunNextSettingForLoop(viewNumber, loopNumber); } void Game::GetSaveSlotDescription(ScriptMethodParams ¶ms) { PARAMS1(int, slnum); params._result = AGS3::Game_GetSaveSlotDescription(slnum); } void Game::GetViewFrame(ScriptMethodParams ¶ms) { PARAMS3(int, viewNumber, int, loopNumber, int, frame); params._result = AGS3::Game_GetViewFrame(viewNumber, loopNumber, frame); } void Game::InputBox(ScriptMethodParams ¶ms) { PARAMS1(const char *, msg); params._result = AGS3::Game_InputBox(msg); } void Game::SetSaveGameDirectory(ScriptMethodParams ¶ms) { PARAMS1(const char *, newFolder); params._result = AGS3::Game_SetSaveGameDirectory(newFolder); } void Game::StopAllSounds(ScriptMethodParams ¶ms) { PARAMS1(int, evenAmbient); AGS3::StopAllSounds(evenAmbient); } void Game::GetCharacterCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetCharacterCount(); } void Game::GetDialogCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetDialogCount(); } void Game::GetFileName(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetFileName(); } void Game::GetFontCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetFontCount(); } void Game::GetGlobalMessages(ScriptMethodParams ¶ms) { PARAMS1(int, index); params._result = AGS3::Game_GetGlobalMessages(index); } void Game::GetGlobalStrings(ScriptMethodParams ¶ms) { PARAMS1(int, index); params._result = AGS3::Game_GetGlobalStrings(index); } void Game::SetGlobalString(ScriptMethodParams ¶ms) { PARAMS2(int, index, const char *, newVal); AGS3::SetGlobalString(index, newVal); } void Game::GetGUICount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetGUICount(); } void Game::GetIgnoreUserInputAfterTextTimeoutMs(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetIgnoreUserInputAfterTextTimeoutMs(); } void Game::SetIgnoreUserInputAfterTextTimeoutMs(ScriptMethodParams ¶ms) { PARAMS1(int, newValueMs); AGS3::Game_SetIgnoreUserInputAfterTextTimeoutMs(newValueMs); } void Game::GetInSkippableCutscene(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetInSkippableCutscene(); } void Game::GetInventoryItemCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetInventoryItemCount(); } void Game::GetMinimumTextDisplayTimeMs(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetMinimumTextDisplayTimeMs(); } void Game::SetMinimumTextDisplayTimeMs(ScriptMethodParams ¶ms) { PARAMS1(int, newTextMinTime); AGS3::Game_SetMinimumTextDisplayTimeMs(newTextMinTime); } void Game::GetMouseCursorCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetMouseCursorCount(); } void Game::GetName(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetName(); } void Game::SetName(ScriptMethodParams ¶ms) { PARAMS1(const char *, newName); AGS3::Game_SetName(newName); } void Game::GetNormalFont(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetNormalFont(); } void Game::SetNormalFont(ScriptMethodParams ¶ms) { PARAMS1(int, fontNum); AGS3::SetNormalFont(fontNum); } void Game::GetSkippingCutscene(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetName(); } void Game::GetSpeechFont(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetSpeechFont(); } void Game::SetSpeechFont(ScriptMethodParams ¶ms) { PARAMS1(int, fontNum); AGS3::SetSpeechFont(fontNum); } void Game::GetSpriteWidth(ScriptMethodParams ¶ms) { PARAMS1(int, spriteNum); params._result = AGS3::Game_GetSpriteWidth(spriteNum); } void Game::GetSpriteHeight(ScriptMethodParams ¶ms) { PARAMS1(int, spriteNum); params._result = AGS3::Game_GetSpriteHeight(spriteNum); } void Game::GetTextReadingSpeed(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetTextReadingSpeed(); } void Game::SetTextReadingSpeed(ScriptMethodParams ¶ms) { PARAMS1(int, newTextSpeed); AGS3::Game_SetTextReadingSpeed(newTextSpeed); } void Game::GetTranslationFilename(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetTranslationFilename(); } void Game::GetUseNativeCoordinates(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetUseNativeCoordinates(); } void Game::GetViewCount(ScriptMethodParams ¶ms) { params._result = AGS3::Game_GetViewCount(); } void Game::PlayVoiceClip(ScriptMethodParams ¶ms) { PARAMS3(CharacterInfo *, ch, int, sndid, bool, as_speech); params._result = AGS3::PlayVoiceClip(ch, sndid, as_speech); } } // namespace Core } // namespace Plugins } // namespace AGS3