void GD_CORE_API BuiltinExtensionsImplementer::ImplementsJoystickExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinJoystick", _("Joysticks features"), _("Built-in extension allowing to use joysticks"), "Florian Rival", "Open source (MIT License)"); #if defined(GD_IDE_ONLY) extension.AddCondition("JoystickButtonDown", _("A button of a joystick is pressed"), _("Test if a button of a joystick is pressed."), _("The button _PARAM2_ of joystick _PARAM1_ is pressed"), _("Joystick"), "res/conditions/joystick24.png", "res/conditions/joystick.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Joystick number (first joystick: 0)")) .AddParameter("expression", _("Button")); extension.AddCondition("JoystickAxis", _("Value of an axis of a joystick"), _("Test the value of an axis of a joystick."), _("The value of the axis _PARAM2_ of joystick _PARAM1_ is _PARAM3__PARAM4_"), _("Joystick"), "res/conditions/joystick24.png", "res/conditions/joystick.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Joystick number (first joystick: 0)")) .AddParameter("joyaxis", _("Axis")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .SetManipulatedType("number"); extension.AddAction("GetJoystickAxis", _("Get the value of the axis of a joystick"), _("Save in the variable the value of the axis of the joystick (from -100 to 100)."), _("Save in _PARAM3_ the value of axis _PARAM2_ of joystick _PARAM1_"), _("Joystick"), "res/actions/joystick24.png", "res/actions/joystick.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Joystick number (first joystick: 0)")) .AddParameter("joyaxis", _("Axis")) .AddParameter("scenevar", _("Save result to scene variable")) .SetManipulatedType("number"); extension.AddExpression("GetJoystickAxis", _("Joystick axis"), _("Value of an axis of a joystick"), _("Joystick"), "res/conditions/joystick.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Joystick number (first joystick: 0)")) .AddParameter("joyaxis", _("Axis")); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsSpriteExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("Sprite", _("Sprite"), _("Extension for adding animated objects in the scene, which can contain animations with directions within each."), "Florian Rival", "Open source (MIT License)"); gd::ObjectMetadata & obj = extension.AddObject("Sprite", _("Sprite"), _("Animated object which can be used for most elements of a game"), "CppPlatform/Extensions/spriteicon.png", &CreateSpriteObject); #if defined(GD_IDE_ONLY) obj.AddAction("Opacity", _("Change object's opacity"), _("Change the opacity of an object."), _("Do _PARAM1__PARAM2_ to the opacity of _PARAM0_"), _("Visibility"), "res/actions/opacity24.png", "res/actions/opacity.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsSimple() .SetManipulatedType("number"); obj.AddAction("ChangeAnimation", _("Change the animation"), _("Modify the current animation of the object."), _("Do _PARAM1__PARAM2_ to the number of current animation of _PARAM0_"), _("Animations and images"), "res/actions/animation24.png", "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsSimple() .SetManipulatedType("number"); obj.AddAction("ChangeDirection", _("Change the direction"), _("Change the direction of the object.\nIf the object is set to automatically rotate, the direction is its angle.\nIf the object is in 8 directions mode, the valid directions are 0..7"), _("Do _PARAM1__PARAM2_ to the direction of _PARAM0_"), _("Direction"), "res/actions/direction24.png", "res/actions/direction.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddAction("ChangeSprite", _("Current frame"), _("Modify the current frame of the object"), _("Do _PARAM1__PARAM2_ to animation frame of _PARAM0_"), _("Animations and images"), "res/actions/sprite24.png", "res/actions/sprite.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddAction("PauseAnimation", _("Pause the animation"), _("Pause the current animation of the object"), _("Pause the current animation of _PARAM0_"), _("Animations and images"), "res/actions/animation24.png", "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite") .MarkAsSimple(); obj.AddAction("PlayAnimation", _("Play the animation"), _("Play the current animation of the object"), _("Play the current animation of _PARAM0_"), _("Animations and images"), "res/actions/animation24.png", "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite") .MarkAsSimple(); obj.AddAction("ChangeAnimationSpeedScale", _("Animation speed scale"), _("Modify the animation speed scale (1 = the default speed, >1 = faster and <1 = slower)."), _("Do _PARAM1__PARAM2_ to the animation speed scale of _PARAM0_"), _("Animations and images"), "res/actions/animation24.png", "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsSimple() .SetManipulatedType("number"); obj.AddAction("TourneVersPos", _("Rotate an object toward a position"), _("Rotate an object towards a position."), _("Rotate _PARAM0_ towards _PARAM1_;_PARAM2_"), _("Direction"), "res/actions/direction24.png", "res/actions/direction.png") .AddParameter("object", _("Object to be rotated"), "Sprite") .AddParameter("expression", _("X position")) .AddParameter("expression", _("Y position")) .AddParameter("expression", _("Angular speed (degrees per second)")).SetDefaultValue("0") .AddCodeOnlyParameter("currentScene", "") .SetHidden(); //Deprecated obj.AddAction("ChangeScale", _("Scale"), _("Modify the scale of the specified object."), _("Do _PARAM1__PARAM2_ to the scale of _PARAM0_"), _("Size"), "res/actions/scale24.png", "res/actions/scale.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsAdvanced(); obj.AddAction("ChangeScaleWidth", _("Scale on X axis"), _("Modify the scale of the width of an object."), _("Do _PARAM1__PARAM2_ to the width's scale of _PARAM0_"), _("Size"), "res/actions/scale24.png", "res/actions/scale.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddAction("ChangeScaleHeight", _("Scale on Y axis"), _("Modify the scale of the height of an object."), _("Do _PARAM1__PARAM2_ to the height's scale of _PARAM0_"), _("Size"), "res/actions/scale24.png", "res/actions/scale.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddCondition("Animation", _("Current animation"), _("Test the number of the current animation of the object."), _("The number of the current animation of _PARAM0_ is _PARAM1__PARAM2_"), _("Animations and images"), "res/conditions/animation24.png", "res/conditions/animation.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Number to test")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddCondition("Direction", _("Current direction"), _("Compare the direction of the object. If 8 direction mode is activated for the sprite, the value taken for direction will be from 0 to 7. Otherwise, the direction is in degrees."), _("Direction of _PARAM0_ is _PARAM1__PARAM2_"), _("Direction"), "res/conditions/direction24.png", "res/conditions/direction.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Direction to test")) .SetManipulatedType("number"); obj.AddCondition("Sprite", _("Current frame"), _("Test the number of the current animation frame."), _("The animation frame of _PARAM0_ is _PARAM1__PARAM2_"), _("Animations and images"), "res/conditions/sprite24.png", "res/conditions/sprite.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Animation frame to test")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddCondition("AnimStopped", _("Animation paused"), _("Test if the animation of an object is paused"), _("The animation of _PARAM0_ is paused"), _("Animations and images"), "res/conditions/animation24.png", "res/conditions/animation.png") .AddParameter("object", _("Object"), "Sprite") .MarkAsSimple(); obj.AddCondition("AnimationEnded", _("Animation finished"), _("Check if the animation being played by the Sprite object is finished."), _("The animation of _PARAM0_ is finished"), _("Animations and images"), "res/conditions/animation24.png", "res/conditions/animation.png") .AddParameter("object", _("Object"), "Sprite") .MarkAsSimple(); obj.AddCondition("ScaleWidth", _("Scale on X axis"), _("Compare the scale of the width of an object."), _("The width's scale of _PARAM0_ is _PARAM1__PARAM2_"), _("Size"), "res/conditions/scaleWidth24.png", "res/conditions/scaleWidth.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddCondition("ScaleHeight", _("Scale on Y axis"), _("Compare the scale of the height of an object."), _("The height's scale of _PARAM0_ is _PARAM1__PARAM2_"), _("Size"), "res/conditions/scaleHeight24.png", "res/conditions/scaleHeight.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddCondition("Opacity", _("Opacity"), _("Compare the opacity of an object, between 0 (fully transparent) to 255 (opaque)"), _("The opacity of _PARAM0_ is _PARAM1__PARAM2_"), _("Visibility"), "res/conditions/opacity24.png", "res/conditions/opacity.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsSimple() .SetManipulatedType("number"); obj.AddCondition("BlendMode", _("Blend mode"), _("Compare the number of the blend mode currently used by an object"), _("The number of the current blend mode of _PARAM0_ is _PARAM1__PARAM2_"), _("Effects"), "res/conditions/opacity24.png", "res/conditions/opacity.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test (0: Alpha, 1: Add, 2: Multiply, 3: None)")) .MarkAsAdvanced() .SetManipulatedType("number"); obj.AddAction("CopyImageOnImageOfSprite", _("Copy an image on the current one of an object"), _("Copy an image on the current image of an object.\nNote that the source image must be preferably kept loaded in memory."), _("Copy image _PARAM2_ on the current of _PARAM0_ at _PARAM3_;_PARAM4_"), _("Effects"), "res/copy24.png", "res/copyicon.png") .AddParameter("object", _("Object"), "Sprite") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Name of the source image")) .AddParameter("expression", _("X position")) .AddParameter("expression", _("Y position")) .AddParameter("yesorno", _("Should the copy take in account the source transparency\?")); obj.AddAction("CreateMaskFromColorOnActualImage", //Actual is indeed a mistake : Current should have been chosen. _("Make a color of the image of an object transparent"), _("Make a color of the image of an object transparent."), _("Make color _PARAM1_ of the current image of _PARAM0_ transparent"), _("Effects"), "res/actions/opacity24.png", "res/actions/opacity.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("color", _("Color to make transparent")); obj.AddAction("ChangeColor", _("Global color"), _("Change the global color of an object. The default color is white."), _("Change color of _PARAM0_ to _PARAM1_"), _("Effects"), "res/actions/color24.png", "res/actions/color.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("color", _("Color")); obj.AddAction("ChangeBlendMode", _("Blend mode"), _("Change the number of the blend mode of an object.\nThe default blend mode is 0 (Alpha)."), _("Change Blend mode of _PARAM0_ to _PARAM1_"), _("Effects"), "res/actions/color24.png", "res/actions/color.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("expression", _("Mode (0 : Alpha, 1 : Add, 2 : Multiply, 3 : None)")) .MarkAsSimple(); obj.AddAction("FlipX", _("Flip the object horizontally"), _("Flip the object horizontally"), _("Flip horizontally _PARAM0_ : _PARAM1_"), _("Effects"), "res/actions/flipX24.png", "res/actions/flipX.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("yesorno", _("Activate flipping")) .MarkAsSimple(); obj.AddAction("FlipY", _("Flip the object vertically"), _("Flip the object vertically"), _("Flip vertically _PARAM0_ : _PARAM1_"), _("Effects"), "res/actions/flipY24.png", "res/actions/flipY.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("yesorno", _("Activate flipping")) .MarkAsSimple(); obj.AddCondition("FlippedX", _("Horizontally flipped"), _("Return true if the object is horizontally flipped"), _("_PARAM0_ is horizontally flipped"), _("Effects"), "res/actions/flipX24.png", "res/actions/flipX.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddCondition("FlippedY", _("Vertically flipped"), _("Return true if the object is vertically flipped"), _("_PARAM0_ is vertically flipped"), _("Effects"), "res/actions/flipY24.png", "res/actions/flipY.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddAction("TourneVers", _("Rotate an object toward another"), _("Rotate an object towards another."), _("Rotate _PARAM0_ towards _PARAM1_"), _("Direction"), "res/actions/direction24.png", "res/actions/direction.png") .AddParameter("object", _("Object to be rotated"), "Sprite") .AddParameter("objectPtr", _("Rotate toward this object")) .AddCodeOnlyParameter("currentScene", "") .SetHidden(); //Deprecated obj.AddExpression("X", _("X position of a point"), _("X position of a point"), _("Position"), "res/actions/position.png") .SetHidden() .AddParameter("object", _("Object"), "Sprite") .AddParameter("", _("Name of the point"), "", true); obj.AddExpression("Y", _("Y position of a point"), _("Y position of a point"), _("Position"), "res/actions/position.png") .SetHidden() .AddParameter("object", _("Object"), "Sprite") .AddParameter("", _("Name of the point"), "", true); obj.AddExpression("PointX", _("X position of a point"), _("X position of a point"), _("Position"), "res/actions/position.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("", _("Name of the point")); obj.AddExpression("PointY", _("Y position of a point"), _("Y position of a point"), _("Position"), "res/actions/position.png") .AddParameter("object", _("Object"), "Sprite") .AddParameter("", _("Name of the point")); obj.AddExpression("Direc", _("Direction"), _("Direction of the object"), _("Direction"), "res/actions/direction.png") .SetHidden() .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("Direction", _("Direction"), _("Direction of the object"), _("Direction"), "res/actions/direction.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("Anim", _("Animation"), _("Animation of the object"), _("Animations and images"), "res/actions/animation.png") .SetHidden() .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("Animation", _("Animation"), _("Animation of the object"), _("Animations and images"), "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("Sprite", _("Image"), _("Animation frame of the object"), _("Animations and images"), "res/actions/sprite.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("AnimationSpeedScale", _("Animation speed scale"), _("Animation speed scale"), _("Animations and images"), "res/actions/animation.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("ScaleX", _("Scale of the width of an object"), _("Scale of the width of an object"), _("Size"), "res/actions/scaleWidth.png") .AddParameter("object", _("Object"), "Sprite"); obj.AddExpression("ScaleY", _("Scale of the height of an object"), _("Scale of the height of an object"), _("Size"), "res/actions/scaleHeight.png") .AddParameter("object", _("Object"), "Sprite"); extension.AddCondition("Collision", _("Collision (Pixel perfect)"), _("The condition is true if there is a collision between the two objects.\nThe test is pixel-perfect."), _("_PARAM0_ is in collision with _PARAM1_ (pixel perfect)"), _("Collision"), "res/conditions/collision24.png", "res/conditions/collision.png") .AddParameter("objectList", _("Object 1"), "Sprite") .AddParameter("objectList", _("Object 2"), "Sprite") .AddCodeOnlyParameter("conditionInverted", ""); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCameraExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinCamera", _("Cameras and layers features"), _("Builtin camera extension"), "Florian Rival", "Freeware"); #if defined(GD_IDE_ONLY) extension.AddCondition("CameraX", _("Camera center X position"), _("Compare the X position of a the center of a camera."), _("X position of camera _PARAM4_ is _PARAM1__PARAM2_ ( Layer: _PARAM3_ )"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("relationalOperator", _("Sign of the test"), "",false) .AddParameter("expression", _("Value to test"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddCondition("CameraY", _("Camera center Y position"), _("Compare the Y position of a the center of a camera."), _("The Y position of camera _PARAM4_ is _PARAM1__PARAM2_ ( Layer: _PARAM3_ )"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("relationalOperator", _("Sign of the test"), "",false) .AddParameter("expression", _("Value to test"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddAction("CameraX", _("Camera center X position"), _("Change X position of the center of the specified camera."), _("Do _PARAM1__PARAM2_ to X position of camera _PARAM4_ ( Layer: _PARAM3_ )"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("operator", _("Modification's sign"), "",false) .AddParameter("expression", _("Value"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddAction("CameraY", _("Camera center Y position"), _("Change Y position of the center of the specified camera."), _("Do _PARAM1__PARAM2_ to Y position of camera _PARAM4_ ( Layer: _PARAM3_ )"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("operator", _("Modification's sign"), "",false) .AddParameter("expression", _("Value"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddCondition("CameraWidth", _("Width of a camera"), _("Test the width of a camera of a layer"), _("The width of camera _PARAM2_ of layer _PARAM1_ is _PARAM3__PARAM4_"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number"), "",false) .AddParameter("relationalOperator", _("Sign of the test"), "",false) .AddParameter("expression", _("Value to test"), "",false) .SetManipulatedType("number"); extension.AddCondition("CameraHeight", _("Height of a camera"), _("Test the height of a camera of a layer"), _("The height of camera _PARAM2_ of layer _PARAM1_ is _PARAM3__PARAM4_"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number"), "",false) .AddParameter("relationalOperator", _("Sign of the test"), "",false) .AddParameter("expression", _("Value to test"), "",false) .SetManipulatedType("number"); extension.AddCondition("CameraAngle", _("Angle of a camera of a layer"), _("Test a camera angle."), _("Angle of camera is _PARAM1__PARAM2_ ( layer : _PARAM3_, camera : _PARAM4_ )"), _("Layers and cameras"), "res/conditions/camera24.png", "res/conditions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("relationalOperator", _("Sign of the test"), "",false) .AddParameter("expression", _("Value to test"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddAction("RotateCamera", _("Change camera angle"), _("This action modify the angle of a camera of the specified layer."), _("Do _PARAM1__PARAM2_ to angle of camera ( layer : _PARAM3_, camera : _PARAM4_ )"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("operator", _("Modification's sign"), "",false) .AddParameter("expression", _("Value"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0") .SetManipulatedType("number"); extension.AddAction("AddCamera", _("Add a camera to a layer"), _("This action add a camera to a layer"), _("Add a camera to layer _PARAM1_"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Width"), "",true) .AddParameter("expression", _("Height"), "",true) .AddParameter("expression", _("Render zone: Top left side: X Position ( Between 0 and 1 )"), "",true) .AddParameter("expression", _("Render zone: Top left side: Y Position ( Between 0 and 1 )"), "",true) .AddParameter("expression", _("Render zone: Bottom right side: X Position ( Between 0 and 1 )"), "",true) .AddParameter("expression", _("Render zone: Bottom right side: Y Position ( Between 0 and 1 )"), "",true); extension.AddAction("DeleteCamera", _("Delete a camera of a layer"), _("Remove the specified camera from a layer"), _("Delete camera _PARAM2_ from layer _PARAM1_"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number"), "",false); extension.AddAction("CameraSize", _("Modify the size of a camera"), _("This action modify the size of a camera of the specified layer. The zoom will be reset."), _("Change the size of camera _PARAM2_ of _PARAM1_ to _PARAM3_*_PARAM4_"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number"), "",false) .AddParameter("expression", _("Width"), "",false) .AddParameter("expression", _("Height"), "",false); extension.AddAction("CameraViewport", _("Modify the render zone of a camera"), _("This action modify the render zone of a camera of the specified layer."), _("Set the render zone of camera _PARAM2_ from layer _PARAM1_ to PARAM3_;_PARAM4_ _PARAM5_;_PARAM6_"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number"), "",false) .AddParameter("expression", _("Render zone: Top left side: X Position ( Between 0 and 1 )"), "",false) .AddParameter("expression", _("Render zone: Top left side: X Position ( Between 0 and 1 )"), "",false) .AddParameter("expression", _("Render zone: Bottom right side: X Position ( Between 0 and 1 )"), "",false) .AddParameter("expression", _("Render zone: Bottom right side: X Position ( Between 0 and 1 )"), "",false); extension.AddAction("ZoomCamera", _("Change camera zoom."), _("Change camera zoom."), _("Change camera zoom to _PARAM1_ ( layer : _PARAM2_, camera : _PARAM3_ )"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Value ( 1:Initial zoom, 2:Zoom x2, 0.5:Unzoom x2...)"), "",false) .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddAction("FixCamera", _("Center the camera on an object within limits"), _("Center the camera on the specified object, without leaving the specified limits."), _("Center the camera on _PARAM1_ ( limit : from _PARAM2_;_PARAM3_ to _PARAM4_;_PARAM5_ ) ( layer : _PARAM7_, camera : _PARAM8_ )"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("objectPtr", _("Object")) .AddParameter("expression", _("Top left side of the boundary: X Position"), "",false) .AddParameter("expression", _("Top left side of the boundary: Y Position"), "",false) .AddParameter("expression", _("Bottom right side of the boundary: X Position"), "",false) .AddParameter("expression", _("Bottom right side of the boundary: Y Position"), "",false) .AddParameter("yesorno", _("Anticipating the displacement of the object (yes by default)"), "",true).SetDefaultValue("true") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddAction("CentreCamera", _("Center the camera on an object"), _("Center the camera on the specified object."), _("Center camera on _PARAM1_ ( layer : _PARAM3_, camera : _PARAM4_ )"), _("Layers and cameras"), "res/actions/camera24.png", "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("objectPtr", _("Object")) .AddParameter("yesorno", _("Anticipating the displacement of the object (yes by default)"), "",true).SetDefaultValue("true") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddAction("ShowLayer", _("Show a layer"), _("Show a layer."), _("Show layer _PARAM1_"), _("Layers and cameras"), "res/actions/layer24.png", "res/actions/layer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\""); extension.AddAction("HideLayer", _("Hide a layer"), _("Hide a layer."), _("Hide layer _PARAM1_"), _("Layers and cameras"), "res/actions/layer24.png", "res/actions/layer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\""); extension.AddCondition("LayerVisible", _("Visibility of a layer"), _("Test if a layer is displayed"), _("Layer _PARAM1_ is visible"), _("Layers and cameras"), "res/conditions/layer24.png", "res/conditions/layer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer ( Base layer if empty )"), "",false).SetDefaultValue("\"\""); extension.AddExpression("CameraWidth", _("Width of a camera of a layer"), _("Width of a camera of a layer"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraHeight", _("Height of a camera of a layer"), _("Height of a camera of a layer"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraViewportLeft", _("X position of the top left side point of a render zone"), _("X position of the top left side point of a render zone"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraViewportTop", _("Y position of the top left side point of a render zone"), _("Y position of the top left side point of a render zone"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraViewportRight", _("X position of the bottom right side point of a render zone"), _("X position of the bottom right side point of a render zone"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraViewportBottom", _("Y position of the bottom right side point of a render zone"), _("Y position of the bottom right side point of a render zone"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",false) .AddParameter("expression", _("Camera number ( default : 0 )"), "",false).SetDefaultValue("0"); extension.AddExpression("CameraX", _("Camera X position"), _("Camera X position"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddExpression("VueX", _("Camera X position"), _("Camera X position"), _("Camera"), "res/actions/camera.png") .SetHidden() .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddExpression("CameraY", _("Camera Y position"), _("Camera Y position"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddExpression("VueY", _("Camera Y position"), _("Camera Y position"), _("Camera"), "res/actions/camera.png") .SetHidden() .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddExpression("CameraRotation", _("Angle of a camera of a layer"), _("Angle of a camera of a layer"), _("Camera"), "res/actions/camera.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); extension.AddExpression("VueRotation", _("Angle of a camera of a layer"), _("Angle of a camera of a layer"), _("Camera"), "res/actions/camera.png") .SetHidden() .AddCodeOnlyParameter("currentScene", "") .AddParameter("layer", _("Layer"), "",true).SetDefaultValue("\"\"") .AddParameter("expression", _("Camera number ( default : 0 )"), "",true).SetDefaultValue("0"); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsCommonInstructionsExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinCommonInstructions", _("Standard events"), _("Built-in extension providing standard events."), "Florian Rival", "Open source (MIT License)"); #if defined(GD_IDE_ONLY) extension.AddCondition("Or", _("Or"), _("Return true if one of the sub conditions is true"), _("If one of these conditions is true:"), _("Advanced"), "res/conditions/or24.png", "res/conditions/or.png") .SetCanHaveSubInstructions() .MarkAsAdvanced(); extension.AddCondition("And", _("And"), _("Return true if all sub conditions are true"), _("If all of these conditions are true:"), _("Advanced"), "res/conditions/and24.png", "res/conditions/and.png") .SetCanHaveSubInstructions() .MarkAsAdvanced(); extension.AddCondition("Not", _("Not"), _("Return the contrary of the result of the sub conditions"), _("Invert the logical result of these conditions:"), _("Advanced"), "res/conditions/not24.png", "res/conditions/not.png") .SetCanHaveSubInstructions() .MarkAsAdvanced(); extension.AddCondition("Once", _("Trigger once while true"), _("Run actions only once, for each time the conditions have been met."), _("Trigger once"), _("Advanced"), "res/conditions/once24.png", "res/conditions/once.png"); extension.AddEvent("Standard", _("Standard event"), _("Standard event: Actions are run if conditions are fulfilled."), "", "res/eventaddicon.png", std::make_shared<gd::StandardEvent>()); extension.AddEvent("Link", _("Link"), _("Link to some external events"), "", "res/lienaddicon.png", std::make_shared<gd::LinkEvent>()); extension.AddEvent("Comment", _("Comment"), _("Event displaying a text in the events editor"), "", "res/comment.png", std::make_shared<gd::CommentEvent>()); extension.AddEvent("While", _("While"), _("The event is repeated while the conditions are true"), "", "res/while.png", std::make_shared<gd::WhileEvent>()); extension.AddEvent("Repeat", _("Repeat"), _("Event repeated a number of times"), "", "res/repeat.png", std::make_shared<gd::RepeatEvent>()); extension.AddEvent("ForEach", _("For each object"), _("Repeat the event for each specified object."), "", "res/foreach.png", std::make_shared<gd::ForEachEvent>()); extension.AddEvent("Group", _("Group"), _("Group containing events"), "", "res/foreach.png", std::make_shared<gd::GroupEvent>()); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsSceneExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinScene", _("Scene management features"), _("Built-in extension allowing to manipulate scenes"), "Florian Rival", "Open source (MIT License)"); #if defined(GD_IDE_ONLY) extension.AddExpression("Random", _("Random value"), _("Random value"), _("Random"), "res/actions/position.png") .AddParameter("expression", _("Maximum value")); extension.AddStrExpression("CurrentSceneName", _("Current scene name"), _("Name of the current scene"), _("Scene"), "res/actions/texte.png") .AddCodeOnlyParameter("currentScene", ""); extension.AddCondition("DepartScene", _("At the beginning of the scene"), _("Is true only when scene just begins."), _("At the beginning of the scene"), _("Scene"), "res/conditions/depart24.png", "res/conditions/depart.png") .AddCodeOnlyParameter("currentScene", "") .MarkAsSimple(); extension.AddAction("Scene", _("Change the scene"), _("Stop this scene and start the specified one instead."), _("Change for scene _PARAM1_"), _("Scene"), "res/actions/replaceScene24.png", "res/actions/replaceScene.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Name of the new scene")) .AddParameter("yesorno", _("Stop any other paused scenes?")).SetDefaultValue("true") .MarkAsAdvanced(); extension.AddAction("PushScene", _("Pause and start a new scene"), _("Pause this scene and start the specified one.\nLater, you can use \"Stop and go back to previous scene\" action to go back to this scene."), _("Pause the scene and start _PARAM1_"), _("Scene"), "res/actions/pushScene24.png", "res/actions/pushScene.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Name of the new scene")) .MarkAsAdvanced(); extension.AddAction("PopScene", _("Stop and go back to previous scene"), _("Stop this scene and go back to the previous paused one.\nTo pause a scene, use \"Pause and start a new scene\" action."), _("Stop the scene and go back to the previous paused one"), _("Scene"), "res/actions/popScene24.png", "res/actions/popScene.png") .AddCodeOnlyParameter("currentScene", "") .MarkAsAdvanced(); extension.AddAction("Quit", _("Quit the game"), _("Quit the game"), _("Quit the game"), _("Scene"), "res/actions/quit24.png", "res/actions/quit.png") .AddCodeOnlyParameter("currentScene", "") .MarkAsAdvanced(); extension.AddAction("SceneBackground", _("Change background color"), _("Change the background color of the scene."), _("Set background color to _PARAM1_"), _("Scene"), "res/actions/background24.png", "res/actions/background.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("color", _("Color")) .MarkAsAdvanced(); extension.AddAction("DisableInputWhenFocusIsLost", _("Disable input when focus is lost"), _("Set if the keyboard and mouse buttons must be taken into account even\nif the window is not active."), _("Disable input when focus is lost: _PARAM1_"), _("Scene"), "res/actions/window24.png", "res/actions/window.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("yesorno", _("Deactivate input when focus is lost")) .MarkAsAdvanced(); extension.AddCondition("Egal", _("Compare two expressions"), _("Test the two expression"), _("_PARAM0_ _PARAM1_ _PARAM2_"), _("Other"), "res/conditions/egal24.png", "res/conditions/egal.png") .AddParameter("expression", _("Expression 1")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Expression 2")) .MarkAsAdvanced(); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinTime", _("Time"), _("Built-in extension providing actions and conditions about the time."), "Florian Rival", "Open source (MIT License)"); #if defined(GD_IDE_ONLY) extension.AddCondition("Timer", _("Value of a timer"), _("Test the elapsed time of a timer."), _("The timer _PARAM2_ is greater than _PARAM1_ seconds"), _("Timers and time"), "res/conditions/timer24.png", "res/conditions/timer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Time in seconds")) .AddParameter("string", _("Timer's name")); extension.AddCondition("TimeScale", _("Time scale"), _("Test the time scale."), _("The time scale is _PARAM1__PARAM2_"), _("Timers and time"), "res/conditions/time24.png", "res/conditions/time.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsAdvanced() .SetManipulatedType("number"); extension.AddCondition("TimerPaused", _("State of a timer"), _("Test if specified timer is paused."), _("The timer _PARAM1_ is paused"), _("Timers and time"), "res/conditions/timerPaused24.png", "res/conditions/timerPaused.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")) .MarkAsAdvanced(); extension.AddAction("ResetTimer", _("Reset a timer"), _("Reset the specified timer."), _("Reset the timer _PARAM1_"), _("Timers and time"), "res/actions/timer24.png", "res/actions/timer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")); extension.AddAction("PauseTimer", _("Pause a timer"), _("Pause a timer."), _("Pause timer _PARAM1_"), _("Timers and time"), "res/actions/pauseTimer24.png", "res/actions/pauseTimer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")) .MarkAsAdvanced(); extension.AddAction("UnPauseTimer", _("Unpause a timer"), _("Unpause a timer."), _("Unpause timer _PARAM1_"), _("Timers and time"), "res/actions/unPauseTimer24.png", "res/actions/unPauseTimer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")) .MarkAsAdvanced(); extension.AddAction("RemoveTimer", _("Delete a timer"), _("Delete a timer from memory."), _("Delete timer _PARAM1_ from memory"), _("Timers and time"), "res/actions/timer24.png", "res/actions/timer.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")) .MarkAsAdvanced(); extension.AddAction("ChangeTimeScale", _("Change time scale"), _("Change the time scale of the game."), _("Set time scale to _PARAM1_"), _("Timers and time"), "res/actions/time24.png", "res/actions/time.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("expression", _("Scale (1 : Default, 2 : Faster, 0.5 : Slower...)")); extension.AddExpression("TimeDelta", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png") .AddCodeOnlyParameter("currentScene", ""); extension.AddExpression("TempsFrame", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png") .SetHidden() .AddCodeOnlyParameter("currentScene", ""); extension.AddExpression("ElapsedTime", _("Time elapsed since the last image"), _("Time elapsed since the last image"), _("Time"), "res/actions/time.png") .SetHidden() .AddCodeOnlyParameter("currentScene", ""); extension.AddExpression("TimerElapsedTime", _("Timer value"), _("Value of a timer"), _("Time"), "res/actions/time.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Timer's name")); extension.AddExpression("TimeFromStart", _("Time elapsed since the beginning of the scene"), _("Time elapsed since the beginning of the scene"), _("Time"), "res/actions/time.png") .AddCodeOnlyParameter("currentScene", "") ; extension.AddExpression("TempsDebut", _("Time elapsed since the beginning of the scene"), _("Time elapsed since the beginning of the scene"), _("Time"), "res/actions/time.png") .SetHidden() .AddCodeOnlyParameter("currentScene", "") ; extension.AddExpression("TimeScale", _("Time scale"), _("Time scale"), _("Time"), "res/actions/time.png") .AddCodeOnlyParameter("currentScene", "") ; extension.AddExpression("TimeScale", _("Time scale"), _("Time scale"), _("Time"), "res/actions/time.png") .SetHidden() .AddCodeOnlyParameter("currentScene", ""); extension.AddExpression("Time", _("Current time"), _("Current time"), _("Time"), "res/actions/time.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("", _("Hour : hour\nMinutes : min\nSeconds : sec\nDay in the month : mday\nMonths since January : mon\nYear since 1900 : year\nDays since sunday :wday\nDays since January 1st : yday")); #endif }
void DeclareTileMapObjectExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("TileMapObject", _("Tile Map Object"), _("Extension allowing to use tile map objects."), "Victor Levasseur and Florian Rival", "Open source (MIT License)"); gd::ObjectMetadata & obj = extension.AddObject("TileMap", _("Tile Map"), _("Displays a tile map"), "CppPlatform/Extensions/TileMapIcon.png", &CreateTileMapObject); #if defined(GD_IDE_ONLY) obj.SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddCondition("Width", _("Width"), _("Test the width of a Tile Map Object."), _("The width of _PARAM0_ is _PARAM1__PARAM2_"), _("Size"), "res/conditions/scaleWidth24.png", "res/conditions/scaleWidth.png") .AddParameter("object", _("Object"), "TileMap", false) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsAdvanced() .SetFunctionName("GetWidth").SetManipulatedType("number").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddCondition("Height", _("Height"), _("Test the height of a Tile Map Object."), _("The height of _PARAM0_ is _PARAM1__PARAM2_"), _("Size"), "res/conditions/scaleHeight24.png", "res/conditions/scaleHeight.png") .AddParameter("object", _("Object"), "TileMap", false) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to test")) .MarkAsAdvanced() .SetFunctionName("GetHeight").SetManipulatedType("number").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddAction("SetMapSize", _("Resize the tilemap"), _("Change the size of the tilemap (number of tiles)."), _("Resize the tilemap to _PARAM1_x_PARAM2_ tiles"), _("Size"), "CppPlatform/Extensions/TileMapIcon24.png", "res/TileMapIcon16.png") .AddParameter("objectList", _("Tile Map Object"), "TileMap", false) .AddParameter("expression", _("Width (tiles count)")) .AddParameter("expression", _("Height (tiles count)")) .MarkAsSimple() .SetFunctionName("SetMapSize").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); extension.AddCondition("SingleTileCollision", _("Collision with one tile"), _("Test if an object collides a specific tile."), _("_PARAM4_ is in collision with the tile at _PARAM2_;_PARAM3_ (layer _PARAM1_) of _PARAM0_"), _("Collisions"), "res/conditions/collision24.png", "res/conditions/collision.png") .AddParameter("objectList", _("Tile Map Object"), "TileMap", false) .AddParameter("expression", _("Tile layer (0: Back, 1: Middle, 2: Top)")) .AddParameter("expression", _("Tile column")) .AddParameter("expression", _("Tile row")) .AddParameter("objectList", _("Object")) .AddCodeOnlyParameter("conditionInverted", "") .MarkAsSimple() .SetFunctionName("SingleTileCollision").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("TileWidth", _("Tile width"), _("Tile width"), _("Tiles"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .SetFunctionName("GetTileWidth").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("TileHeight", _("Tile height"), _("Tile height"), _("Tiles"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .SetFunctionName("GetTileHeight").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("MapWidth", _("Map width (tiles)"), _("Map width"), _("Map"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .SetFunctionName("GetMapWidth").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("MapHeight", _("Map height (tiles)"), _("Map height"), _("Map"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .SetFunctionName("GetMapHeight").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("GetTile", _("Get the Tile (id)"), _("Get the Tile (id)"), _("Map"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .AddParameter("expression", _("Layer"), "", false) .AddParameter("expression", _("Column"), "", false) .AddParameter("expression", _("Row"), "", false) .SetFunctionName("GetTile").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddAction("SetTile", _("Change a tile"), _("Change a tile at a specific cell."), _("Set tile #_PARAM4_ at the cell _PARAM2_;_PARAM3_ (layer: _PARAM1_) in _PARAM0_"), _("Tiles"), "CppPlatform/Extensions/TileMapIcon24.png", "res/TileMapIcon16.png") .AddParameter("objectList", _("Tile Map Object"), "TileMap", false) .AddParameter("expression", _("Tile layer (0: Back, 1: Middle, 2: Top)")) .AddParameter("expression", _("Tile column")) .AddParameter("expression", _("Tile row")) .AddParameter("expression", _("New tile Id (-1 to delete the tile)")) .MarkAsSimple() .SetFunctionName("SetTile").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("GetColumnAt", _("Get tile column from X coordinates"), _("Get tile column from X coordinates"), _("Map"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .AddParameter("expression", _("X"), "", false) .SetFunctionName("GetColumnAt").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddExpression("GetRowAt", _("Get tile row from Y coordinates"), _("Get tile row from Y coordinates"), _("Map"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .AddParameter("expression", _("Y"), "", false) .SetFunctionName("GetRowAt").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddStrExpression("SaveTiles", _("Save the tile map"), _("Save the tile map content in a string"), _("Saving"), "res/TileMapIcon16.png") .AddParameter("object", _("Object"), "TileMap", false) .SetFunctionName("SaveAsString").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddAction("LoadTiles", _("Load the tiles from a string"), _("Load the tiles from a string."), _("Load the tiles of _PARAM0_ from _PARAM1_"), _("Loading"), "CppPlatform/Extensions/TileMapIcon24.png", "res/TileMapIcon16.png") .AddParameter("objectList", _("Tile Map Object"), "TileMap", false) .AddParameter("string", _("The string representing the tiles")) .MarkAsSimple() .SetFunctionName("LoadFromString").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); obj.AddAction("ChangeTexture", _("Change the tileset texture"), _("Change the tileset texture."), _("Change the tileset texture of _PARAM0_ to _PARAM1_"), _("Tileset"), "CppPlatform/Extensions/TileMapIcon24.png", "res/TileMapIcon16.png") .AddParameter("objectList", _("Tile Map Object"), "TileMap", false) .AddParameter("string", _("The new texture name")) .AddCodeOnlyParameter("currentScene", "") .MarkAsSimple() .SetFunctionName("ChangeTexture").SetIncludeFile("TileMapObject/RuntimeTileMapObject.h"); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsVariablesExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinVariables", _("Variable features"), _("Built-in extension allowing to manipulate variables"), "Florian Rival", "Freeware"); #if defined(GD_IDE_ONLY) extension.AddCondition("VarScene", _("Value of a variable"), _("Compare the value of a scene variable."), _("Variable _PARAM0_ is _PARAM1__PARAM2_"), _("Variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to compare")) .SetManipulatedType("number"); extension.AddCondition("VarSceneTxt", _("Text of a variable"), _("Compare the text of a scene variable."), _("The text of variable _PARAM0_ is _PARAM1__PARAM2_"), _("Variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("string", _("Text to compare")) .SetManipulatedType("string"); extension.AddCondition("VariableChildExists", _("Child existence"), _("Return true if the specified child of the variable exists."), _("Child _PARAM1_ of variable _PARAM0_ exists"), _("Variables/Structures"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("string", _("Name of the child")); extension.AddCondition("GlobalVariableChildExists", _("Child existence"), _("Return true if the specified child of the global variable exists."), _("Child _PARAM1_ of global variable _PARAM0_ exists"), _("Variables/Global variables/Structures"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("string", _("Name of the child")); extension.AddCondition("VarSceneDef", _("Test if a scene variable is defined"), _("Test if the scene variable exist."), _("Variable _PARAM0_ is defined"), _("Variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Variable")) .SetHidden(); extension.AddCondition("VarGlobal", _("Value of a global variable"), _("Compare the value of a global variable."), _("Global variable _PARAM0_ is _PARAM1__PARAM2_"), _("Variables/Global variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("expression", _("Value to compare")) .SetManipulatedType("number"); extension.AddCondition("VarGlobalTxt", _("Text of a global variable"), _("Compare the text of a global variable."), _("The text of the global variable _PARAM0_ is _PARAM1__PARAM2_"), _("Variables/Global variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("relationalOperator", _("Sign of the test")) .AddParameter("string", _("Text to compare")) .SetManipulatedType("string"); extension.AddCondition("VarGlobalDef", _("Test if a global variable is defined"), _("Test if a global variable exists"), _("Global variable _PARAM0_ is defined"), _("Variables/Global variables"), "res/conditions/var24.png", "res/conditions/var.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Variable")) .SetHidden(); extension.AddAction("ModVarScene", _("Value of a variable"), _("Modify the value of a scene variable."), _("Do _PARAM1__PARAM2_ to variable _PARAM0_"), _("Variables"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .SetManipulatedType("number"); extension.AddAction("ModVarSceneTxt", _("String of a variable"), _("Modify the text of a scene variable."), _("Do _PARAM1__PARAM2_ to the text of variable _PARAM0_"), _("Variables"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("operator", _("Modification's sign")) .AddParameter("string", _("Text")) .SetManipulatedType("string"); extension.AddAction("ModVarGlobal", _("Value of a global variable"), _("Modify the value of a global variable"), _("Do _PARAM1__PARAM2_ to global variable _PARAM0_"), _("Variables/Global variables"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("operator", _("Modification's sign")) .AddParameter("expression", _("Value")) .SetManipulatedType("number"); extension.AddAction("ModVarGlobalTxt", _("String of a global variable"), _("Modify the text of a global variable."), _("Do _PARAM1__PARAM2_ to the text of global variable _PARAM0_"), _("Variables/Global variables"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("operator", _("Modification's sign")) .AddParameter("string", _("Text")) .SetManipulatedType("string"); extension.AddAction("VariableRemoveChild", _("Remove a child"), _("Remove a child from a variable."), _("Remove child _PARAM1_ from variable _PARAM0_"), _("Variables/Structure"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("scenevar", _("Variable")) .AddParameter("string", _("Child's name")); extension.AddAction("GlobalVariableRemoveChild", _("Remove a child"), _("Remove a child from a global variable."), _("Remove child _PARAM1_ from global variable _PARAM0_"), _("Variables/Global variables/Structure"), "res/actions/var24.png", "res/actions/var.png") .AddParameter("globalvar", _("Variable")) .AddParameter("string", _("Child's name")); extension.AddExpression("Variable", _("Scene variables"), _("Scene variables"), _("Variables"), "res/actions/var.png") .AddParameter("scenevar", _("Variable")); extension.AddStrExpression("VariableString", _("Scene variables"), _("Text of a scene variable"), _("Variables"), "res/actions/var.png") .AddParameter("scenevar", _("Variable")); extension.AddExpression("GlobalVariable", _("Global variables"), _("Global variable"), _("Variables"), "res/actions/var.png") .AddParameter("globalvar", _("Name of the global variable")); extension.AddStrExpression("GlobalVariableString", _("Global variables"), _("Text of a global variable"), _("Variables"), "res/actions/var.png") .AddParameter("globalvar", _("Variable")); #endif }
void GD_CORE_API BuiltinExtensionsImplementer::ImplementsKeyboardExtension(gd::PlatformExtension & extension) { extension.SetExtensionInformation("BuiltinKeyboard", _("Keyboard features"), _("Built-in extension allowing to use keyboard"), "Florian Rival", "Open source (MIT License)"); #if defined(GD_IDE_ONLY) extension.AddCondition("KeyPressed", _("Key pressed"), _("Test if a key is pressed"), _("_PARAM1_ key is pressed"), _("Keyboard"), "res/conditions/keyboard24.png", "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("key", _("Key")); extension.AddCondition("KeyReleased", _("Key released"), _("Test if a key was just released"), _("_PARAM1_ key is released"), _("Keyboard"), "res/conditions/keyboard24.png", "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("key", _("Key")); extension.AddCondition("KeyFromTextPressed", _("Key pressed (text expression)"), _("Test if a key, retrieved from the result of the expression, is pressed"), _("_PARAM1_ key is pressed"), _("Keyboard"), "res/conditions/keyboard24.png", "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Expression generating the key to test")) .MarkAsAdvanced(); extension.AddCondition("KeyFromTextReleased", _("Key released (text expression)"), _("Test if a key, retrieved from the result of the expression, was just released"), _("_PARAM1_ key is released"), _("Keyboard"), "res/conditions/keyboard24.png", "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", "") .AddParameter("string", _("Expression generating the key to test")) .MarkAsAdvanced(); extension.AddCondition("AnyKeyPressed", _("Any key pressed"), _("Test if any key is pressed"), _("Any key is pressed"), _("Keyboard"), "res/conditions/keyboard24.png", "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", ""); extension.AddStrExpression("LastPressedKey", _("Last pressed key"), _("Get the name of the latest key pressed on the keyboard"), _("Keyboard"), "res/conditions/keyboard.png") .AddCodeOnlyParameter("currentScene", ""); #endif }