/*==LICENSE==* CyanWorlds.com Engine - MMOG client, server and tools Copyright (C) 2011 Cyan Worlds, Inc. 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 . You can contact Cyan Worlds, Inc. by email legal@cyan.com or by snail mail at: Cyan Worlds, Inc. 14617 N Newport Hwy Mead, WA 99021 *==LICENSE==*/ #include "pyDrawControl.h" #include "pyEnum.h" #include PYTHON_GLOBAL_METHOD_DEFINITION(PtSetGamma2, args, "Params: gamma\nSet the gamma with gamma2 rules") { float gamma; if (!PyArg_ParseTuple(args, "f", &gamma)) { PyErr_SetString(PyExc_TypeError, "PtSetGamma2 expects a float"); PYTHON_RETURN_ERROR; } pyDrawControl::SetGamma2(gamma); PYTHON_RETURN_NONE; } PYTHON_GLOBAL_METHOD_DEFINITION(PtSetShadowVisDistance, args, "Params: distance\nSet the maximum shadow visibility distance") { float distance; if (!PyArg_ParseTuple(args, "f", &distance)) { PyErr_SetString(PyExc_TypeError, "PtSetShadowVisDistance expects a float"); PYTHON_RETURN_ERROR; } pyDrawControl::SetShadowVisDistance(distance); PYTHON_RETURN_NONE; } PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtGetShadowVisDistance, "Returns the maximum shadow visibility distance") { return PyFloat_FromDouble(pyDrawControl::GetShadowVisDistance()); } PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtEnableShadows, pyDrawControl::EnableShadows, "Turns shadows on") PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtDisableShadows, pyDrawControl::DisableShadows, "Turns shadows off") PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtIsShadowsEnabled, "Returns whether shadows are currently turned on") { PYTHON_RETURN_BOOL(pyDrawControl::IsShadowsEnabled()); } PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtCanShadowCast, "Can we cast shadows?") { PYTHON_RETURN_BOOL(pyDrawControl::CanShadowCast()); } PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtDisableRenderScene, pyDrawControl::DisableRenderScene, "UNKNOWN") PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtEnableRenderScene, pyDrawControl::EnableRenderScene, "UNKNOWN") PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtSetMouseInverted, pyDrawControl::SetMouseInverted, "Inverts the mouse") PYTHON_BASIC_GLOBAL_METHOD_DEFINITION(PtSetMouseUninverted, pyDrawControl::SetMouseUninverted, "Uninverts the mouse") PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtIsMouseInverted, "Is the mouse currently inverted?") { PYTHON_RETURN_BOOL(pyDrawControl::IsMouseInverted()); } PYTHON_GLOBAL_METHOD_DEFINITION(PtSetClickToTurn, args, "Params: state\nTurns on click-to-turn") { char stateFlag; if (!PyArg_ParseTuple(args, "b", &stateFlag)) { PyErr_SetString(PyExc_TypeError, "PtSetClickToTurn expects a boolean"); PYTHON_RETURN_ERROR; } pyDrawControl::SetClickToTurn(stateFlag != 0); PYTHON_RETURN_NONE; } PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtIsClickToTurn, "Is click-to-turn on?") { PYTHON_RETURN_BOOL(pyDrawControl::IsClickToTurn()); } /////////////////////////////////////////////////////////////////////////// // // AddPlasmaMethods - the python method definitions // void pyDrawControl::AddPlasmaMethods(std::vector &methods) { PYTHON_GLOBAL_METHOD(methods, PtSetGamma2); PYTHON_GLOBAL_METHOD(methods, PtSetShadowVisDistance); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtGetShadowVisDistance); PYTHON_BASIC_GLOBAL_METHOD(methods, PtEnableShadows); PYTHON_BASIC_GLOBAL_METHOD(methods, PtDisableShadows); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtIsShadowsEnabled); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtCanShadowCast); PYTHON_BASIC_GLOBAL_METHOD(methods, PtDisableRenderScene); PYTHON_BASIC_GLOBAL_METHOD(methods, PtEnableRenderScene); PYTHON_BASIC_GLOBAL_METHOD(methods, PtSetMouseInverted); PYTHON_BASIC_GLOBAL_METHOD(methods, PtSetMouseUninverted); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtIsMouseInverted); PYTHON_GLOBAL_METHOD(methods, PtSetClickToTurn); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtIsClickToTurn); } /*void pyDrawControl::AddPlasmaConstantsClasses(PyObject *m) { PYTHON_ENUM_START(PtMovieType); PYTHON_ENUM_ELEMENT(PtMovieType, kUnknownTypeMovie, pyMoviePlayer::kUnknownTypeMovie); PYTHON_ENUM_ELEMENT(PtMovieType, kBinkMovie, pyMoviePlayer::kBinkMovie); PYTHON_ENUM_END; }*/