/* 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/object.h" #include "ags/engine/ac/object.h" namespace AGS3 { namespace Plugins { namespace Core { void Object::AGS_EngineStartup(IAGSEngine *engine) { ScriptContainer::AGS_EngineStartup(engine); SCRIPT_METHOD(Object::Animate^5, Object::Animate); SCRIPT_METHOD(Object::IsCollidingWithObject^1, Object::IsCollidingWithObject); SCRIPT_METHOD(Object::GetName^1, Object::GetName); SCRIPT_METHOD(Object::GetProperty^1, Object::GetProperty); SCRIPT_METHOD(Object::GetPropertyText^2, Object::GetPropertyText); SCRIPT_METHOD(Object::GetTextProperty^1, Object::GetTextProperty); SCRIPT_METHOD(Object::SetProperty^2, Object::SetProperty); SCRIPT_METHOD(Object::SetTextProperty^2, Object::SetTextProperty); SCRIPT_METHOD(Object::MergeIntoBackground^0, Object::MergeIntoBackground); SCRIPT_METHOD(Object::Move^5, Object::Move); SCRIPT_METHOD(Object::RemoveTint^0, Object::RemoveTint); SCRIPT_METHOD(Object::RunInteraction^1, Object::RunInteraction); SCRIPT_METHOD(Object::SetPosition^2, Object::SetPosition); SCRIPT_METHOD(Object::SetView^3, Object::SetView); SCRIPT_METHOD(Object::StopAnimating^0, Object::StopAnimating); SCRIPT_METHOD(Object::StopMoving^0, Object::StopMoving); SCRIPT_METHOD(Object::Tint^5, Object::Tint); SCRIPT_METHOD(Object::GetAtRoomXY^2, Object::GetObjectAtRoom); SCRIPT_METHOD(Object::GetAtScreenXY^2, Object::GetObjectAtScreen); SCRIPT_METHOD(Object::get_Animating, Object::GetAnimating); SCRIPT_METHOD(Object::get_Baseline, Object::GetBaseline); SCRIPT_METHOD(Object::set_Baseline, Object::SetBaseline); SCRIPT_METHOD(Object::get_BlockingHeight, Object::GetBlockingHeight); SCRIPT_METHOD(Object::set_BlockingHeight, Object::SetBlockingHeight); SCRIPT_METHOD(Object::get_BlockingWidth, Object::GetBlockingWidth); SCRIPT_METHOD(Object::set_BlockingWidth, Object::SetBlockingWidth); SCRIPT_METHOD(Object::get_Clickable, Object::GetClickable); SCRIPT_METHOD(Object::set_Clickable, Object::SetClickable); SCRIPT_METHOD(Object::get_Frame, Object::GetFrame); SCRIPT_METHOD(Object::get_Graphic, Object::GetGraphic); SCRIPT_METHOD(Object::set_Graphic, Object::SetGraphic); SCRIPT_METHOD(Object::get_ID, Object::GetID); SCRIPT_METHOD(Object::get_IgnoreScaling, Object::GetIgnoreScaling); SCRIPT_METHOD(Object::set_IgnoreScaling, Object::SetIgnoreScaling); SCRIPT_METHOD(Object::get_IgnoreWalkbehinds, Object::GetIgnoreWalkbehinds); SCRIPT_METHOD(Object::set_IgnoreWalkbehinds, Object::SetIgnoreWalkbehinds); SCRIPT_METHOD(Object::get_Loop, Object::GetLoop); SCRIPT_METHOD(Object::get_Moving, Object::GetMoving); SCRIPT_METHOD(Object::get_Name, Object::GetName_New); SCRIPT_METHOD(Object::get_Solid, Object::GetSolid); SCRIPT_METHOD(Object::set_Solid, Object::SetSolid); SCRIPT_METHOD(Object::get_Transparency, Object::GetTransparency); SCRIPT_METHOD(Object::set_Transparency, Object::SetTransparency); SCRIPT_METHOD(Object::get_View, Object::GetView); SCRIPT_METHOD(Object::get_Visible, Object::GetVisible); SCRIPT_METHOD(Object::set_Visible, Object::SetVisible); SCRIPT_METHOD(Object::get_X, Object::GetX); SCRIPT_METHOD(Object::set_X, Object::SetX); SCRIPT_METHOD(Object::get_Y, Object::GetY); SCRIPT_METHOD(Object::set_Y, Object::SetY); } void Object::Animate(ScriptMethodParams ¶ms) { PARAMS6(ScriptObject *, objj, int, loop, int, delay, int, repeat, int, blocking, int, direction); AGS3::Object_Animate(objj, loop, delay, repeat, blocking, direction); } void Object::IsCollidingWithObject(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, ScriptObject *, obj2); params._result = AGS3::Object_IsCollidingWithObject(objj, obj2); } void Object::GetName(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, char *, buffer); AGS3::Object_GetName(objj, buffer); } void Object::GetProperty(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, const char *, property); params._result = AGS3::Object_GetProperty(objj, property); } void Object::GetPropertyText(ScriptMethodParams ¶ms) { PARAMS3(ScriptObject *, objj, const char *, property, char *, buffer); AGS3::Object_GetPropertyText(objj, property, buffer); } void Object::GetTextProperty(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, const char *, property); params._result = AGS3::Object_GetTextProperty(objj, property); } void Object::SetProperty(ScriptMethodParams ¶ms) { PARAMS3(ScriptObject *, objj, const char *, property, int, value); params._result = AGS3::Object_SetProperty(objj, property, value); } void Object::SetTextProperty(ScriptMethodParams ¶ms) { PARAMS3(ScriptObject *, objj, const char *, property, const char *, value); params._result = AGS3::Object_SetTextProperty(objj, property, value); } void Object::MergeIntoBackground(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); AGS3::Object_MergeIntoBackground(objj); } void Object::Move(ScriptMethodParams ¶ms) { PARAMS6(ScriptObject *, objj, int, x, int, y, int, speed, int, blocking, int, direct); AGS3::Object_Move(objj, x, y, speed, blocking, direct); } void Object::RemoveTint(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); AGS3::Object_RemoveTint(objj); } void Object::RunInteraction(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, mode); AGS3::Object_RunInteraction(objj, mode); } void Object::SetPosition(ScriptMethodParams ¶ms) { PARAMS3(ScriptObject *, objj, int, xx, int, yy); AGS3::Object_SetPosition(objj, xx, yy); } void Object::SetView(ScriptMethodParams ¶ms) { PARAMS4(ScriptObject *, objj, int, view, int, loop, int, frame); AGS3::Object_SetView(objj, view, loop, frame); } void Object::StopAnimating(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); AGS3::Object_StopAnimating(objj); } void Object::StopMoving(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); AGS3::Object_StopMoving(objj); } void Object::Tint(ScriptMethodParams ¶ms) { PARAMS6(ScriptObject *, objj, int, red, int, green, int, blue, int, saturation, int, luminance); AGS3::Object_Tint(objj, red, green, blue, saturation, luminance); } void Object::GetObjectAtRoom(ScriptMethodParams ¶ms) { PARAMS2(int, x, int, y); params._result = AGS3::GetObjectAtRoom(x, y); } void Object::GetObjectAtScreen(ScriptMethodParams ¶ms) { PARAMS2(int, xx, int, yy); params._result = AGS3::GetObjectAtScreen(xx, yy); } void Object::GetAnimating(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetAnimating(objj); } void Object::GetBaseline(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetBaseline(objj); } void Object::SetBaseline(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, basel); AGS3::Object_SetBaseline(objj, basel); } void Object::GetBlockingHeight(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetBlockingHeight(objj); } void Object::SetBlockingHeight(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, bhit); AGS3::Object_SetBlockingHeight(objj, bhit); } void Object::GetBlockingWidth(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetBlockingWidth(objj); } void Object::SetBlockingWidth(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, bwid); AGS3::Object_SetBlockingWidth(objj, bwid); } void Object::GetClickable(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetClickable(objj); } void Object::SetClickable(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, clik); AGS3::Object_SetClickable(objj, clik); } void Object::GetFrame(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetFrame(objj); } void Object::GetGraphic(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetGraphic(objj); } void Object::SetGraphic(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, slott); AGS3::Object_SetGraphic(objj, slott); } void Object::GetID(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetID(objj); } void Object::GetIgnoreScaling(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetIgnoreScaling(objj); } void Object::SetIgnoreScaling(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, newval); AGS3::Object_SetIgnoreScaling(objj, newval); } void Object::GetIgnoreWalkbehinds(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetIgnoreWalkbehinds(objj); } void Object::SetIgnoreWalkbehinds(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, chaa, int, clik); AGS3::Object_SetIgnoreWalkbehinds(chaa, clik); } void Object::GetLoop(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetLoop(objj); } void Object::GetMoving(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetMoving(objj); } void Object::GetName_New(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetName_New(objj); } void Object::GetSolid(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetSolid(objj); } void Object::SetSolid(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, solid); AGS3::Object_SetSolid(objj, solid); } void Object::GetTransparency(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetTransparency(objj); } void Object::SetTransparency(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, trans); AGS3::Object_SetTransparency(objj, trans); } void Object::GetView(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetView(objj); } void Object::GetVisible(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetVisible(objj); } void Object::SetVisible(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, onOrOff); AGS3::Object_SetVisible(objj, onOrOff); } void Object::GetX(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetX(objj); } void Object::SetX(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, xx); AGS3::Object_SetY(objj, xx); } void Object::GetY(ScriptMethodParams ¶ms) { PARAMS1(ScriptObject *, objj); params._result = AGS3::Object_GetY(objj); } void Object::SetY(ScriptMethodParams ¶ms) { PARAMS2(ScriptObject *, objj, int, yy); AGS3::Object_SetY(objj, yy); } } // namespace Core } // namespace Plugins } // namespace AGS3