Creates a distance joint between two sprites. The distance joint keeps the sprites a certain distance apart whilst being allowed to rotate freely around the anchor points. Specify two anchor points in world coordinates with the sprites already at the desired distance apart. The anchor points can be offset from the sprite positions. A joint may be deleted by the system if any of the sprites it connects are deleted.
Definition
CreateDistanceJoint( iJointIndex, iSpriteIndex1, iSpriteIndex2, x, y, x2, y2, colConnected )
void agk::CreateDistanceJoint( uint32_t iJointIndex, uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float x2, float y2, int colConnected )
integer CreateDistanceJoint( iSpriteIndex1, iSpriteIndex2, x, y, x2, y2, colConnected )
uint32_t agk::CreateDistanceJoint( uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float x2, float y2, int colConnected )
Parameters
iJointIndex - The ID to use for this joint.
iSpriteIndex1 - The ID of the first sprite to join.
iSpriteIndex2 - The ID of the second sprite to join.
x - The x coordinate of the sprite 1 anchor point.
y - The y coordinate of the sprite 1 anchor point.
x2 - The x coordinate of the sprite 2 anchor point.
y2 - The y coordinate of the sprite 2 anchor point.
colConnected - Set whether the two sprites connected by the joint can collide with one another, 0=no, 1=yes.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateGearJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateGearJoint.htm
deleted file mode 100644
index df221906..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateGearJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateGearJoint - AGK Help
-
-
-
-
-
-
-
Creates a gear joint between two existing joints. The gear joint allows appearance of two existing joints to be locked together in perfect friction. The sprites that will be joined will be sprite 2 on both joints, sprite 1 on both joints must be a static sprite. A joint ID will be returned to reference this joint later, a joint may be deleted by the system if any of the sprites it connects are deleted. This joint should be deleted before any of the joints it depends on are deleted.
Definition
integer CreateGearJoint( iJoint1, iJoint2, ratio )
uint32_t agk::CreateGearJoint( uint32_t iJoint1, uint32_t iJoint2, float ratio )
CreateGearJoint( iJointIndex, iJoint1, iJoint2, ratio )
Creates a line joint between two sprites. The line joint allows the sprites to only move along a given axis relative to each other whilst rotating freely at either end. It is similar to a prismatic joint except that relative rotation is allowed.
Specify a single anchor point in world coordinates with the sprites already at the desired relative position, at the piston's minimal extent. From this point the sprites will be allowed to separate along the given axis relative to one another. The anchor point can be offset from the sprite center positions. A joint ID will be returned to reference this joint later, a joint may be deleted by the system if any of the sprites it connects are deleted. This joint supports motors and limits. Box2D has renamed this joint the Wheel Joint and it now contains a spring component to simulate a vehicle wheel. The AGK command name will remain the same for backwards compatibility, however the functionality may have changed
Definition
integer CreateLineJoint( iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected )
uint32_t agk::CreateLineJoint( uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float vx, float vy, int colConnected )
CreateLineJoint( iJointIndex, iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected )
void agk::CreateLineJoint( uint32_t iJointIndex, uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float vx, float vy, int colConnected )
Parameters
iSpriteIndex1 - The ID of the first sprite to join.
iSpriteIndex2 - The ID of the second sprite to join.
x - The x coordinate of the anchor point.
y - The y coordinate of the anchor point.
vx - The x component of the axis.
vy - The y component of the axis.
colConnected - Set whether the two sprites connected by the joint can collide with one another, 0=no, 1=yes.
iJointIndex - The ID to use for this joint.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateMouseJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateMouseJoint.htm
deleted file mode 100644
index b3cbacd3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateMouseJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateMouseJoint - AGK Help
-
-
-
-
-
-
-
Creates a mouse joint between a point and a sprite. This is typically used when dragging a shape with the mouse pointer, and attempts to move the sprite towards the given point using a force up to the maximum given. Specify an anchor point in world coordinates that will act as the initial hold point on the sprite. Any further change in the target position will attempt to move that point of the sprite to the new location. Use SetJointMouseTarget to change the location of the target position.
Definition
CreateMouseJoint( iJointIndex, iSpriteIndex, x, y, maxForce )
Creates a global force that affects all physics sprites. Can be set to either attract to or repel sprites from a specific location. It returns a force ID that can be used to modify or delete the force later. Forces continue to act until they are deleted.
Definition
integer CreatePhysicsForce( x, y, power, limit, range, fade )
uint32_t agk::CreatePhysicsForce( float x, float y, float power, float limit, float range, int fade )
Parameters
x - The x position of the force location in world coordinates.
y - The y position of the force location in world coordinates.
power - The strength of the force at 1 unit from the force point for fading forces, or the strength at all times for non fading.
limit - Applies to fading forces only, the maximum force that will be applied to a sprite, used when the sprite is closer than 1 unit.
range - The range that this force can act, sprites greater than this distance from the force point feel no effects. less than 0 means infinite range.
fade - Set to 1 if the force should be weaker when sprites are further from the force point, 0 if the force is equal at all distances.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePrismaticJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePrismaticJoint.htm
deleted file mode 100644
index 33e53927..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePrismaticJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreatePrismaticJoint - AGK Help
-
-
-
-
-
-
-
Creates a prismatic joint between two sprites. The prismatic joint allows the sprites to only move along a given axis relative to each other. It can be thought of as a piston with the sprites unable to rotate at each end. It is similar to a line joint except that relative rotation is prevented. Specify a single anchor point in world coordinates with the sprites already at the desired relative position, at the piston's minimal extent. From this point the sprites will be allowed to separate along the given axis and rotate as a whole, but not rotate relative to each other. The anchor point can be offset from the sprite center positions.
A joint ID will be returned to reference this joint later, a joint may be deleted by the system if any of the sprites it connects are deleted.
This joint supports motors and limits.
Definition
integer CreatePrismaticJoint( iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected )
uint32_t agk::CreatePrismaticJoint( uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float vx, float vy, int colConnected )
CreatePrismaticJoint( iJointIndex, iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected )
void agk::CreatePrismaticJoint( uint32_t iJointIndex, uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, float vx, float vy, int colConnected )
Parameters
iSpriteIndex1 - The ID of the first sprite to join.
iSpriteIndex2 - The ID of the second sprite to join.
x - The x coordinate of the anchor point.
y - The y coordinate of the anchor point.
vx - The x component of the axis.
vy - The y component of the axis.
colConnected - Set whether the two sprites connected by the joint can collide with one another, 0=no, 1=yes.
iJointIndex - The ID to use for this joint.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePulleyJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePulleyJoint.htm
deleted file mode 100644
index 0f54cb83..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreatePulleyJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreatePulleyJoint - AGK Help
-
-
-
-
-
-
-
Creates a pulley joint between two sprites. The anchor points are world space coordinates that attach the joint to the sprite, the anchor points do not have to be on the sprite's center, or anywhere near the sprite, but this point will become the new center of rotation for the time the sprite is attached to the pulley. The ground points are where the pulley rope will attach to the imaginary pulleys, and will remain fixed for the life of the joint, they need not be in the same location. The ratio value determines the gear ratio between the two sides of the pulley, for example a value of 2 would mean that sprite 1 moves at twice the speed of sprite 2, but will experience half the force applied to sprite 2.
Creates a pulley joint between two sprites. This the first half of a two command setup. Due to the number of parameters required you must call FinishPulleyJoint with the rest of the parameters to create the joint. This command returns nothing, the joint ID is returned by FinishPulleyJoint.
Creates a revolute joint between two sprites. The revolute joint allows the sprites to only rotate around the given point. Specify a single anchor point in world coordinates with the sprites already at the desired relative position. The anchor point can be offset from the sprite center positions.
A joint ID will be returned to reference this joint later, a joint may be deleted by the system if any of the sprites it connects are deleted.
This joint supports motors and limits.
Definition
integer CreateRevoluteJoint( iSpriteIndex1, iSpriteIndex2, x, y, colConnected )
uint32_t agk::CreateRevoluteJoint( uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, int colConnected )
CreateRevoluteJoint( iJointIndex, iSpriteIndex1, iSpriteIndex2, x, y, colConnected )
void agk::CreateRevoluteJoint( uint32_t iJointIndex, uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, int colConnected )
Parameters
iSpriteIndex1 - The ID of the first sprite to join.
iSpriteIndex2 - The ID of the second sprite to join.
x - The x coordinate of the anchor point.
y - The y coordinate of the anchor point.
colConnected - Set whether the two sprites connected by the joint can collide with one another, 0=no, 1=yes.
iJointIndex - The ID to use for this joint.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateRopeJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateRopeJoint.htm
deleted file mode 100644
index 59adee2d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/CreateRopeJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateRopeJoint - AGK Help
-
-
-
-
-
-
-
Creates a rope joint between two sprites. The rope joint enforces a maximum distance between the sprites without any other restrictions. It does not stop them getting closer together. Specify two anchor points in world coordinates with the maximum length you want to allow, the current position of the sprites does not affect the initialisation of the joint. The anchor points can be offset from the sprite positions. A joint may be deleted by the system if any of the sprites it connects are deleted.
Creates a weld joint between two sprites. The weld joint attempts to limit all relative movement and rotation between the two sprites. Specify a single anchor point in world coordinates with the sprites already in the desired positions. The joint is not a perfect fixture and given a large enough force the sprites may shift out of position. The anchor point can be offset from the sprite center positions.
A joint may be deleted by the system if any of the sprites it connects are deleted.
Definition
CreateWeldJoint( iJointIndex, iSpriteIndex1, iSpriteIndex2, x, y, colConnected )
void agk::CreateWeldJoint( uint32_t iJointIndex, uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, int colConnected )
integer CreateWeldJoint( iSpriteIndex1, iSpriteIndex2, x, y, colConnected )
uint32_t agk::CreateWeldJoint( uint32_t iSpriteIndex1, uint32_t iSpriteIndex2, float x, float y, int colConnected )
Parameters
iJointIndex - The ID to use for this joint.
iSpriteIndex1 - The ID of the first sprite to join.
iSpriteIndex2 - The ID of the second sprite to join.
x - The x coordinate of the anchor point.
y - The y coordinate of the anchor point.
colConnected - Set whether the two sprites connected by the joint can collide with one another, 0=no, 1=yes.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeleteJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeleteJoint.htm
deleted file mode 100644
index 764ca860..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeleteJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteJoint - AGK Help
-
-
-
-
-
-
-
Deletes a joint and allows the connected sprites to move freely again. Joints should be deleted before sprites. Gear joints should be deleted before the joints it depends on. Deleting a joint that does not exist will not cause an error.
Definition
DeleteJoint( iJointIndex )
void agk::DeleteJoint( uint32_t iJointIndex )
Parameters
iJointIndex - The ID of the joint to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeletePhysicsForce.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeletePhysicsForce.htm
deleted file mode 100644
index ff258c72..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/DeletePhysicsForce.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeletePhysicsForce - AGK Help
-
-
-
-
-
-
-
Creates a pulley joint between two sprites. This the second half of a two command setup. Due to the number of parameters required you must call CreatePulleyJoint2 first with the initial set of parameters to create the joint. This command returns the ID of the new joint.
Returns the ID of the first sprite involved in this contact. If this half of the contact is with an item not associated to a sprite this will return 0.
Definition
integer GetContactSpriteID1()
uint32_t agk::GetContactSpriteID1()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactSpriteID2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactSpriteID2.htm
deleted file mode 100644
index 6f91893b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactSpriteID2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetContactSpriteID2 - AGK Help
-
-
-
-
-
-
-
Returns the ID of the second sprite involved in this contact. If this half of the contact is with an item not associated to a sprite this will return 0.
Definition
integer GetContactSpriteID2()
uint32_t agk::GetContactSpriteID2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactWorldX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactWorldX.htm
deleted file mode 100644
index 03ca3f51..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetContactWorldX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetContactWorldX - AGK Help
-
-
-
-
-
-
-
Cycles through the list of all contacts detected in the last physics step. Returns 1 if a contact exists, you can get the sprites involved in this contact using GetContactSpriteID1 and GetContactSpriteID2, you can move on to the next contact with GetNextContact. Returns 0 if there are no contacts.
Definition
integer GetFirstContact()
int agk::GetFirstContact()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetJointExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetJointExists.htm
deleted file mode 100644
index 550d8697..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetJointExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetJointExists - AGK Help
-
-
-
-
-
-
-
Returns the amount of force applied to the joint in the X direction in the last time step. You can use this to detect large forces and delete the joint to simulate breaking.
Returns the amount of force applied to the joint in the Y direction in the last time step. You can use this to detect large forces and delete the joint to simulate breaking.
Returns the amount of torque applied to the joint in the last time step. You can use this to detect large forces and delete the joint to simulate breaking. Torque applies to joints that rotate such as revolute joints.
Returns 1 if a contact exists, you can get the sprites involved in this contact using GetContactSpriteID1 and GetContactSpriteID2, you can move on to the next contact by calling this command again, when there are no more contacts it will return 0.
Definition
integer GetNextContact()
int agk::GetNextContact()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetPhysicsIslandCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetPhysicsIslandCount.htm
deleted file mode 100644
index 31452d75..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetPhysicsIslandCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPhysicsIslandCount - AGK Help
-
-
-
-
-
-
-
Cycles through the list of contacts for the given sprite only. Returns 1 if a contact exists, you can get the other sprite involved in this contact using GetSpriteContactSpriteID2, you can move on to the next contact with GetSpriteNextContact. Only works on sprites setup for physics.
Returns 0 if there are no contacts.
Definition
integer GetSpriteFirstContact( iSprite1 )
int agk::GetSpriteFirstContact( uint32_t iSprite1 )
Parameters
iSprite1 - The sprite to check for physics contacts.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetSpriteNextContact.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetSpriteNextContact.htm
deleted file mode 100644
index d5bee235..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/GetSpriteNextContact.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteNextContact - AGK Help
-
-
-
-
-
-
-
Cycles through the list of contacts for the given sprite only. Returns 1 if a contact exists, you can get the other sprite involved in this contact using GetSpriteContactSpriteID2, you can move on to the next contact by calling this command again, it will return 0 when no more contacts exist. Only works on sprites setup for physics.
Definition
integer GetSpriteNextContact( )
int agk::GetSpriteNextContact( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCast.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCast.htm
deleted file mode 100644
index 18b2247b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCast.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PhysicsRayCast - AGK Help
-
-
-
-
-
-
-
Casts a ray through all physics objects including sprites that have physics turned on and stores the closest item hit. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX.
If the ray starts inside a shape that shape will not be counted in the results.
Returns 1 if there was a collision, 0 if not.
Definition
integer PhysicsRayCast( x, y, x2, y2 )
int agk::PhysicsRayCast( float x, float y, float x2, float y2 )
Parameters
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastCategory.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastCategory.htm
deleted file mode 100644
index 9ab672e4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastCategory.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PhysicsRayCastCategory - AGK Help
-
-
-
-
-
-
-
Casts a ray through all physics objects including sprites that have physics turned on and stores the closest item hit. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX.
If the ray starts inside a shape that shape will not be counted in the results.
This function filters the sprites that are checked so only sprites of certain categories are checked. The category parameter is a bitwise field that uses the lower 16 bits to represent each of the possible 16 categories used when setting up a sprite. The default value of all 1s means all categories will be included, whereas a value of all 0s means no categories will be included. You can set individual bits to set which ones should be checked.
Returns 1 if there was a collision, 0 if not.
Definition
integer PhysicsRayCastCategory( category, x, y, x2, y2 )
int agk::PhysicsRayCastCategory( uint32_t category, float x, float y, float x2, float y2 )
Parameters
category - The categories to check for intersection with the ray, bitwise field using the lower most 16 bits.
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastGroup.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastGroup.htm
deleted file mode 100644
index 174aecd5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/PhysicsRayCastGroup.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PhysicsRayCastGroup - AGK Help
-
-
-
-
-
-
-
Casts a ray through all physics objects including sprites that have physics turned on and stores the closest item hit. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX.
If the ray starts inside a shape that shape will not be counted in the results.
This function filters the sprites that are checked so only sprites of a certain group are checked, a group value of 0 means all groups will be checked.
Returns 1 if there was a collision, 0 if not.
Definition
integer PhysicsRayCastGroup( group, x, y, x2, y2 )
int agk::PhysicsRayCastGroup( int group, float x, float y, float x2, float y2 )
Parameters
group - The group ID to check for intersection with the ray, can be negative.
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointDamping.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointDamping.htm
deleted file mode 100644
index fc7eb2e1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointDamping.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetJointDamping - AGK Help
-
-
-
-
-
-
-
Damping can be used to make the joint soft, like a spring. The frequency is specified in hertz and should typically be less than half of the physics step rate. For example if the fps is 60 then the frequency should be less than 30. The damping ratio should be between 0 and 1, but can be larger. This can only be used on distance joints, weld joints, line/wheel joints, and mouse joints. By default distance and weld joints have a damping ratio and frequency of 0 making the joint rigid. By default mouse joints have a frequency of 5 and a damping ratio of 0.7. By default line/wheel joints have a frequency of 2 and a damping ratio of 0.7.
Definition
SetJointDamping( iJointIndex, dampingRatio, frequency )
void agk::SetJointDamping( uint32_t iJointIndex, float dampingRatio, float frequency )
Parameters
iJointIndex - The ID of the joint to modify.
dampingRatio - The damping ratio to use, typically between 0 and 1
frequency - The frequency of the oscillations, should be less than half the frame rate
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointLimitOff.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointLimitOff.htm
deleted file mode 100644
index fbc9f0da..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetJointLimitOff.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetJointLimitOff - AGK Help
-
-
-
-
-
-
-
Works on Prismatic joints and Revolute joints. Sets the limit that this joint can reach before stopping, for revolute joints this is based on angles, for the others it is on length.
Turns on a motor for the joint so that it moves continuously until prevented by a collision. Works on Line/Wheel joints, Prismatic joints, and Revolute joints. Motors work by applying a force to achieve a set speed, if they meet resistance they increase the force until either the motor is moving at the desired speed or the maximum force specified is reached, at which point the motor will stop, continuing to apply the maximum force. In the case of linear joints the motor applies in one direction and either pushes the attached sprites together or apart.
Turns Continuous Collision Detection on and off. This prevents fast moving objects from tunnelling through static bodies. To prevent fast moving objects passing through each other use SetSpritePhysicsIsBullet When you have a large number of dynamic bodies CCD can be the bottleneck in the physics engine, especially when threading is turned on as this part is not currently threaded. Default is off.
Definition
SetPhysicsCCD( mode )
void agk::SetPhysicsCCD( int mode )
Parameters
mode - 0 to disable CCD, 1 to turn it on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsDebugOff.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsDebugOff.htm
deleted file mode 100644
index 3d6c27ef..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsDebugOff.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsDebugOff - AGK Help
-
-
-
-
-
-
-
Enables the drawing of internal physics shapes on screen. If you SetViewOffset to something other than 0,0 make sure none of your physics sprites are fixed to the screen using FixSpriteToScreen otherwise the debug shapes will not line up. Debug outlines are drawn as world sprites.
The debug output will draw the shape of every physics sprite set using SetSpritePhysicsOn and all non physics sprites that have a shape assigned for non-physics collision commands. The shapes will be drawn in the following colors: Cream=Dynamic physics object, Green=Static physics object, Dark Blue=Kinematic physics object, Light Blue=Non-physics object. Grey=Sleeping dynamic physics object. Additionally physics objects will be drawn as shaded with an outline, non-physics objects will be an outline only.
Definition
SetPhysicsDebugOn()
void agk::SetPhysicsDebugOn()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForcePosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForcePosition.htm
deleted file mode 100644
index 661e66ef..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForcePosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsForcePosition - AGK Help
-
-
-
-
-
-
-
Changes the strength of the global force. For forces that fade this will be the strength at 1 unit from the force position.
The force is in Newtons, and is similar in size to gravity except that it is affected by the mass of the object. For example, for an object of mass of 1 kg and a force of 10 newtons will affect the object in the same way as gravity set at 10 m/s^2. For a mass of 2 kg it is harder to move, so a force of 10 Newtons would be half as effective at moving the object as gravity at 10m/s^2.
Definition
SetPhysicsForcePower( iForceIndex, power )
void agk::SetPhysicsForcePower( uint32_t iForceIndex, float power )
Parameters
iForceIndex - The ID of the force to modify.
power - The new strength of the force.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForceRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForceRange.htm
deleted file mode 100644
index 141f5d75..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsForceRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsForceRange - AGK Help
-
-
-
-
-
-
-
Changes the range of the global force. Sprites greater than this distance from the force position will not feel its effects. A range less than zero equals an infinite range.
Definition
SetPhysicsForceRange( iForceIndex, range )
void agk::SetPhysicsForceRange( uint32_t iForceIndex, float range )
Parameters
iForceIndex - The ID of the force to modify.
range - The new range of the force.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsGravity.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsGravity.htm
deleted file mode 100644
index d8460c2a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsGravity.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsGravity - AGK Help
-
-
-
-
-
-
-
Sets the gravity vector for all sprites using physics. The x and y values will be scaled into physics space so will only represent meters per second squared when scale = 1.0, in world space the values represent pixels per second squared. For example in the default scale of 0.2, a SetPhysicsGravity value of 0,50 would represent 10 meters per second squared. Gravity is a constant acceleration applied to all physics objects equally, regardless of mass. Whereas a force applies an acceleration proportional to the objects mass. To counteract gravity with a force will require accounting for mass.
Definition
SetPhysicsGravity( x, y )
void agk::SetPhysicsGravity( float x, float y )
Parameters
x - The X component of the gravity vector.
y - The Y component of the gravity vector.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsMaxPolygonPoints.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsMaxPolygonPoints.htm
deleted file mode 100644
index e2088b93..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsMaxPolygonPoints.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsMaxPolygonPoints - AGK Help
-
-
-
-
-
-
-
Sets the maximum number of points that will be generated in future polygon physics shapes, does not affect already generated shapes, may be called multiple times. Only affects shapes generated by the AGK through SetSpriteShape. Must be between 2 and 12. The default setting is 8.
Definition
SetPhysicsMaxPolygonPoints( points )
void agk::SetPhysicsMaxPolygonPoints( int points )
Parameters
points - The maximum number of points allowed in new polygon shapes.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsScale.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsScale.htm
deleted file mode 100644
index d24cbc36..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsScale.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsScale - AGK Help
-
-
-
-
-
-
-
Sets the scale used by the physics system compared with world coordinates.
By design the physics system is set to use 1 unit as equalling 1 meter, which in the case of default world coordinates (100,100) would mean that the screen is 100 meters by 100 meters in the physics simulation. However by design the physics system is designed to work best with dynamic objects ranging from 0.1 meters to 10 meters in size, and with static objects up to 50 meters, so the screen is scaled down when sent to the physics system, by default the scale is 0.2, so in the physics world the screen is 20 meters by 20 meters. This is purely to allow the physics system to work at its designed scale whilst allowing world coordinates to be used as parameters with the AGK doing all the necessary scaling behind the scenes. This function allows you to change the scale factor if your virtual resolution is going to be different from 100,100.
This function must be called before any other physics functions, and must not be called once the physics system is running.
Definition
SetPhysicsScale( scale )
void agk::SetPhysicsScale( float scale )
Parameters
scale - The new scale value to use for all screen to physics values and vice versa.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsSleeping.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsSleeping.htm
deleted file mode 100644
index 1d461620..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsSleeping.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsSleeping - AGK Help
-
-
-
-
-
-
-
Sets the ability of dynamic bodies to sleep when they are not moving, this dramatically improves performance when dynamic bodies have settled into their final positions. Turning it off is only useful for benchmarking when you want to keep the CPU active processing all bodies all the time. Default is on.
Definition
SetPhysicsSleeping( mode )
void agk::SetPhysicsSleeping( int mode )
Parameters
mode - 0 to disable sleeping, 1 to turn it on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsThreading.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsThreading.htm
deleted file mode 100644
index c7273d32..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsThreading.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsThreading - AGK Help
-
-
-
-
-
-
-
Sets the number of threads to use during physics. A value of 0 or 1 turns off multi-threading, a value of minus 1 chooses a value matching the number of processors in the device for best performance. Using a value higher than the number of processors in the device is likely to hurt performance. Default is minus 1.
Definition
SetPhysicsThreading( threads )
void agk::SetPhysicsThreading( int threads )
Parameters
threads - The number of threads to use, minus 1 to automatically choose a number appropriate for the device
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallBottom.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallBottom.htm
deleted file mode 100644
index cec05ca2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallBottom.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsWallBottom - AGK Help
-
-
-
-
-
-
-
Toggles the existence of a physics wall at the bottom of the screen to prevent physics objects leaving the screen in that direction. If you have physics objects beyond the edge of the screen, e.g. in a platform game, you should turn this off.
If you change the view offset using SetViewOffset the walls will not move with it, they are fixed to the world, so they will be disabled automatically.
Definition
SetPhysicsWallBottom( mode )
void agk::SetPhysicsWallBottom( int mode )
Parameters
mode - 0=off, 1=on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallLeft.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallLeft.htm
deleted file mode 100644
index 3782381b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallLeft.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsWallLeft - AGK Help
-
-
-
-
-
-
-
Toggles the existence of a physics wall on the left of the screen to prevent physics objects leaving the screen in that direction. If you have physics objects beyond the edge of the screen, e.g. in a platform game, you should turn this off.
If you change the view offset using SetViewOffset the walls will not move with it, they are fixed to the world, so they will be disabled automatically.
Definition
SetPhysicsWallLeft( mode )
void agk::SetPhysicsWallLeft( int mode )
Parameters
mode - 0=off, 1=on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallRight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallRight.htm
deleted file mode 100644
index 6c720c6a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallRight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsWallRight - AGK Help
-
-
-
-
-
-
-
Toggles the existence of a physics wall on the right of the screen to prevent physics objects leaving the screen in that direction. If you have physics objects beyond the edge of the screen, e.g. in a platform game, you should turn this off.
If you change the view offset using SetViewOffset the walls will not move with it, they are fixed to the world, so they will be disabled automatically.
Definition
SetPhysicsWallRight( mode )
void agk::SetPhysicsWallRight( int mode )
Parameters
mode - 0=off, 1=on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallTop.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallTop.htm
deleted file mode 100644
index d1dc30ab..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SetPhysicsWallTop.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPhysicsWallTop - AGK Help
-
-
-
-
-
-
-
Toggles the existence of a physics wall at the top of the screen to prevent physics objects leaving the screen in that direction. If you have physics objects beyond the edge of the screen, e.g. in a platform game, you should turn this off.
If you change the view offset using SetViewOffset the walls will not move with it, they are fixed to the world, so they will be disabled automatically.
Definition
SetPhysicsWallTop( mode )
void agk::SetPhysicsWallTop( int mode )
Parameters
mode - 0=off, 1=on
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCast.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCast.htm
deleted file mode 100644
index 30aa0b87..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCast.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SpriteRayCast - AGK Help
-
-
-
-
-
-
-
Casts a ray through all sprites that have a shape (including physics sprites) and stores the result of any intersection. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX. Physics sprites will only use the main shape assigned to the sprite using SetSpriteShape, to check compound shapes use PhysicsRayCast.
If the ray starts inside a shape that shape will not be counted in the results.
Sprites must be assigned a shape using one of the sprite shape commands or it will not be included in the collision results. This function is slower than the physics only ray casts as it cannot make use of optimized structures that represent where the sprites are in the world relative to the ray.
This function can only keep track of sprites created using CreateSprite, if you have manually allocated memory for sprites you will need to cycle through your list of sprites with SpriteRayCastSingle or use the physics version.
Returns 1 if there was a collision, 0 if not.
Definition
integer SpriteRayCast( x, y, x2, y2 )
int agk::SpriteRayCast( float x, float y, float x2, float y2 )
Parameters
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastCategory.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastCategory.htm
deleted file mode 100644
index 37e992ac..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastCategory.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SpriteRayCastCategory - AGK Help
-
-
-
-
-
-
-
Casts a ray through all sprites that have a shape (including physics sprites) and stores the result of any intersection. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX. Physics sprites will only use the main shape assigned to the sprite using SetSpriteShape, to check compound shapes use PhysicsRayCast.
If the ray starts inside a shape that shape will not be counted in the results.
Sprites must be assigned a shape using one of the sprite shape commands or it will not be included in the collision results. This function is slower than the physics ray casts as it cannot make use of optimized structures that represent where the sprites are in the world relative to the ray.
This function filters the sprites that are checked so only sprites of certain categories are checked. The category parameter is a bitwise field that uses the lower 16 bits to represent each of the possible 16 categories used when setting up a sprite. The default value of all 1s means all categories will be included, whereas a value of all 0s means no categories will be included. You can set individual bits to set which ones should be checked.
This function can only keep track of sprites created using CreateSprite, if you have manually allocated memory for sprites you will need to cycle through your list of sprites with SpriteRayCastSingle or use the physics version.
Returns 1 if there was a collision, 0 if not.
Definition
integer SpriteRayCastCategory( category, x, y, x2, y2 )
int agk::SpriteRayCastCategory( uint32_t category, float x, float y, float x2, float y2 )
Parameters
category - The categories to check for intersection with the ray, bitwise field using the lower most 16 bits.
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastGroup.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastGroup.htm
deleted file mode 100644
index b6835746..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastGroup.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SpriteRayCastGroup - AGK Help
-
-
-
-
-
-
-
Casts a ray through all sprites that have a shape (including physics sprites) and stores the result of any intersection. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX. Physics sprites will only use the main shape assigned to the sprite using SetSpriteShape, to check compound shapes use PhysicsRayCast.
If the ray starts inside a shape that shape will not be counted in the results. Sprites must be assigned a shape using one of the sprite shape commands or it will not be included in the collision results. This function is slower than the physics ray casts as it cannot make use of optimized structures that represent where the sprites are in the world relative to the ray.
This function filters the sprites that are checked so only sprites of a certain group are checked. By default sprites are created in group 0.
This function can only keep track of sprites created using CreateSprite, if you have manually allocated memory for sprites you will need to cycle through your list of sprites with SpriteRayCastSingle or use the physics version.
Returns 1 if there was a collision, 0 if not.
Definition
integer SpriteRayCastGroup( group, x, y, x2, y2 )
int agk::SpriteRayCastGroup( int group, float x, float y, float x2, float y2 )
Parameters
group - The group ID to check for intersection with the ray, can be negative.
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastSingle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastSingle.htm
deleted file mode 100644
index cf8fafa0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/2DPhysics/SpriteRayCastSingle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SpriteRayCastSingle - AGK Help
-
-
-
-
-
-
-
Casts a ray through a particular sprite (can be physics or non physics) and stores the result of any intersection. Results of a ray cast can be retrieved using the other ray cast functions such as GetRayCastNormalX. If the ray starts inside a shape that shape will not be counted in the results. This function is special in that it also works on all sprites even those that do not have physics turned on, but the sprite must have been assigned a shape using one of the sprite shape commands.
Returns 1 if there was a collision, 0 if not.
Definition
integer SpriteRayCastSingle( sprite, x, y, x2, y2 )
int agk::SpriteRayCastSingle( uint32_t sprite, float x, float y, float x2, float y2 )
Parameters
sprite - The sprite ID to check for intersection with the ray.
x - The X coordinate of the start point in world coordinates.
y - The Y coordinate of the start point in world coordinates.
x2 - The X coordinate of the end point in world coordinates.
y2 - The Y coordinate of the end point in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D.htm
deleted file mode 100644
index fdb034d2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-3D - AGK Help
-
-
-
-
-
-
-
Copies an object into a new ID, the new object is completely separate from the original object. Cloning an instanced object will produce another instance that shares vertex data with the original object.
Creates a 3D cone with the given diameter and height, and an optional number of polygons. The segments parameter determines how many columns of polygons make up the cone and must be at least 3. The formula for calculating the total number of polygons used in the cone is 2*segments. Returns an ID you can use to reference this object in other commands.
Creates a 3D cylinder with the given diameter and height, and an optional number of polygons. The segments parameter determines how many columns of polygons make up the cylinder and must be at least 3. The formula for calculating the total number of polygons used in the cylinder is 3*segments.
Creates an object from a specified height map, useful for making terrain. The image should be PNG 8-bit greyscale or RGB, if it is RGB then only the red channel is read. 16-bit greyscale support may be added in future. The object will have a single UV channel with the range 0 to 1 mapped to the entire terrain. If you wish to modify this then you can use SetObjectUVOffset and SetObjectUVScale, or use a shader that multiplies the UV coordinates by a specified amount. A shader can also be used to create multiple UV channels from this single channel by applying different scale factors to each. A smoothing value of 1 is recommended to remove stepping artifacts, adjust as necessary. The split value lets you create multiple meshes which can improve performance, as unseen meshes will not be drawn. The split value specifies how many meshes to create along each edge, for example a split value of 5 will create 5x5 = 25 meshes in total. Unlike other objects collision data is not generated by default on this object as it can consume a lot of memory, use SetObjectCollisionMode if you want to turn it on. For terrains greater than 1024x1024 this is not recommended on mobile devices, and you should use GetObjectHeightMapHeight instead if possible. Turning on physics for this object will use even more memory and is not recommended on terrains greater than 1024x1024 on any platform.
Creates an object by copying a single mesh from another object. An object can contain many meshes, and using CloneObject would copy them all. Use this command if you only want to copy a single mesh. Mesh indices are in the range 1 to GetObjectNumMeshes inclusive.
Creates an object from a specified .raw or .dat height map, useful for making terrain. The file should be in raw 16-bit data. If you use extension ".dat" in szFilename it will expect that this is a GameGuru 32-bit raw height map and convert that to 16-bit. If the file is not a GameGuru height map then you must change the extension to ".raw". If you convert a GameGuru height map (.dat) file, rawWidth and rawHeight should always be set to 1024. The object will have a single UV channel with the range 0 to 1 mapped to the entire terrain. If you wish to modify this then you can use SetObjectUVOffset and SetObjectUVScale, or use a shader that multiplies the UV coordinates by a specified amount. A shader can also be used to create multiple UV channels from this single channel by applying different scale factors to each. Normally when using 16-bit data you don't need to set a smoothing value, but if its not already been smoothed adjust as necessary. The split value lets you create multiple meshes which can improve performance, as unseen meshes will not be drawn. The split value specifies how many meshes to create along each edge, for example a split value of 5 will create 5x5 = 25 meshes in total. Unlike other objects collision data is not generated by default on this object as it can consume a lot of memory, use SetObjectCollisionMode if you want to turn it on. For terrains greater than 1024x1024 this is not recommended on mobile devices, and you should use GetObjectHeightMapHeight instead if possible. Turning on physics for this object will use even more memory and is not recommended on terrains greater than 1024x1024 on any platform.
uint32_t agk::CreateObjectFromRawHeightMap( const char* szFilename, float width, float height, float length, int smoothing, int split, int rawWidth, int rawHeight)
Creates a 3D sphere with the given diameter, and an optional number of polygons. The rows parameter determines how many rows of polygons make up the sphere and must be at least 2. The columns parameter determines how many columns of polygons make up the sphere and must be at least 3. The formula for calculating the total number of polygons used in the sphere is 2*columns*(rows-1). Returns an ID you can use to reference this object in other commands.
Creates a point light that shines equally in all directions. This affects all objects using the default internal shader with SetObjectLightMode set to 1. If you are using a custom shader then AGK will add lighting functions to your shader during loading if you reference them, see the guide to shaders for more information on this. By default, lights are created in vertex mode, this is faster than pixel mode but lower quality. To change this use SetPointLightMode. Color values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate things and values less than 0 will take light away.
Definition
CreatePointLight( lightID, x, y, z, radius, red, green, blue )
void agk::CreatePointLight( uint32_t lightID, float x, float y, float z, float radius, int red, int green, int blue )
Parameters
lightID - The ID of the light to reference it in other commands.
x - The X component of the light position.
y - The Y component of the light position.
z - The Z component of the light position.
radius - The range that the light affects.
red - The red component of the light color.
green - The green component of the light color.
blue - The blue component of the light color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteAllObjects.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteAllObjects.htm
deleted file mode 100644
index 72abc0fd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteAllObjects.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteAllObjects - AGK Help
-
-
-
-
-
-
-
Deletes the object at the given ID, if the object doesn't exist then this command does nothing. Note that if the object was loaded with LoadObjectWithChildren then any child objects that were created during that loading process will not be deleted by this command. You can use GetObjectChildID to get and delete those objects manually, or use DeleteObjectWithChildren to delete everything that was created when this object was loaded.
Definition
DeleteObject( objID )
void agk::DeleteObject( uint32_t objID )
Parameters
objID - The ID of the object to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectTree.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectTree.htm
deleted file mode 100644
index 7f0abb5f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectTree.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteObjectTree - AGK Help
-
-
-
-
-
-
-
Deletes the object at the given ID, if the object doesn't exist then this command does nothing. This command also deletes any child objects that were created when this object was loaded, and any objects that are currently attached to this object from using FixObjectToObject or FixObjectToBone.
Definition
DeleteObjectTree( objID )
void agk::DeleteObjectTree( uint32_t objID )
Parameters
objID - The ID of the object to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectWithChildren.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectWithChildren.htm
deleted file mode 100644
index 566ab9f1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DeleteObjectWithChildren.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteObjectWithChildren - AGK Help
-
-
-
-
-
-
-
Deletes the object at the given ID, if the object doesn't exist then this command does nothing. This command also deletes any child objects that were created when this object was loaded, if you do not want to delete those then use DeleteObject instead. If you use this command on an object that was loaded with LoadObject then it deletes it as normal.
Deletes a shader and frees the ID. The shader must not currently be assigned to any object, mesh, quad, or sprite, otherwise it may cause a crash when it tries to draw.
Definition
DeleteShader( shaderID )
void agk::DeleteShader( uint32_t shaderID )
Parameters
shaderID - The ID of the shader to delete
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DrawObject.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/DrawObject.htm
deleted file mode 100644
index 01aa179c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/DrawObject.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DrawObject - AGK Help
-
-
-
-
-
-
-
Immediately draws the object to the current render target at its current position, size, and rotation. This is useful if you want to draw particular objects like sky boxes before any other objects. In this case be sure to make the object invisible for calls to Render() or Sync() otherwise the object may appear twice.
Definition
DrawObject( objID )
void agk::DrawObject( uint32_t objID )
Parameters
objID - The ID of the object to draw.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixCameraToObject.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixCameraToObject.htm
deleted file mode 100644
index 4d2ca2b1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixCameraToObject.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixCameraToObject - AGK Help
-
-
-
-
-
-
-
Fixes a camera to an object so that any movement of the object also affects the camera. The camera uses its current position, rotation, and scale as an offset to the object. For example if the object was placed at 10,5,0 and a camera was fixed to it with a current position of 0,10,0 then the camera would now inherit the position of the object, combine it with its own, and the camera would be placed at 10,15,0. The same applies to rotation and scaling, so if the object was rotated around the Y axis then the camera would rotate by the same amount. Note that using GetCameraY would only show its local position relative to the parent object (in this case it would return 10). To get the final world position of the camera use GetCameraWorldY, which in this case would return 15. There is no limit to the number of objects or cameras an object can have fixed to it, nor is there a limit to objects being fixed to objects which are fixed to other objects, just don't create any loops. To stop a camera being fixed to anything set objID to 0 and it will become independent again.
Resets the object's position and rotation to 0 whilst keeping the object's vertices where they are. This can be used to change the center of rotation of an object or adjust its default orientation when it's rotation is 0. This command modifies the vertices of the object's meshes so is not recommended to call this every frame, unless the target platform is quite powerful i.e. Windows, Mac, or Linux.
Definition
FixObjectPivot( objID )
void agk::FixObjectPivot( uint32_t objID )
Parameters
objID - The ID of the object to modify.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixObjectToBone.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixObjectToBone.htm
deleted file mode 100644
index 0937233a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/FixObjectToBone.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixObjectToBone - AGK Help
-
-
-
-
-
-
-
Fixes an object to a camera so that any movement of the parent also affects the child. The object being fixed uses its current position, rotation, and scale as an offset to the parent. For example if the camera was placed at 10,5,0 and an object was fixed to it with the current position 0,10,0 then the object would now inherit the position of the camera, combine it with its own, and the object would be placed at 10,15,0. The same applies to rotation and scaling, so if the camera was rotated around the Y axis then the object would rotate by the same amount.
Note that using GetObjectY on the child would only show its local position relative to its parent (in this case it would return 10). To get the final world position of the child use GetObjectWorldY on it, which in this case would return 15. There is no limit to the number of objects a camera can have fixed to it, nor is there a limit to objects being fixed to objects which are fixed to cameras, just don't create any loops.
An object can only be fixed to one thing at a time, fixing it to something else will remove it from its current attachment (if any). To stop an object being fixed to anything set toObjID to 0 and it will become independent again.
Fixes an object to another object so that any movement of the parent also affects the child. The object being fixed uses its current position, rotation, and scale as an offset to the parent. For example if the parent was placed at 10,5,0 and an object was fixed to it with the current position 0,10,0 then the child would now inherit the position of the parent, combine it with its own, and the child would be placed at 10,15,0. The same applies to rotation and scaling, so if the parent was rotated around the Y axis then the child would rotate by the same amount.
Note that using GetObjectY on the child would only show its local position relative to its parent (in this case it would return 10). To get the final world position of the child use GetObjectWorldY on it, which in this case would return 15. There is no limit to the number of objects an object can have fixed to it, nor is there a limit to objects being fixed to objects which are fixed to other objects, just don't create any loops.
An object can only be fixed to one thing at a time, fixing it to something else will remove it from its current attachment (if any). To stop an object being fixed to anything set toObjID to 0 and it will become independent again.
Converts a 2D point on the screen into a vector pointing into the 3D world. The vector is normalised to 1 unit long, to extend it into the world simply multiply it by your desired distance.
If the camera is using an orthographic projection matrix then this command behaves slightly differently, since all points on the screen would produce the same vector pointing away from the camera, but each originating from a different point in 3D space. This differs from a perspective projection where all vectors start at the camera position and fan out as they move away from the camera. So when using an orthographic projection matrix this command will instead return a sideways unnormalised vector from the camera position to the point in 3D space that the vector should start. This can then be combined with a vector that points away from the camera to create a ray cast into the scene.
Definition
float Get3DVectorXFromScreen( x, y )
float agk::Get3DVectorXFromScreen( float x, float y )
Parameters
x - The X component of the screen position.
y - The Y component of the screen position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorYFromScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorYFromScreen.htm
deleted file mode 100644
index f928aacd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorYFromScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DVectorYFromScreen - AGK Help
-
-
-
-
-
-
-
Converts a 2D point on the screen into a vector pointing into the 3D world. The vector is normalised to 1 unit long, to extend it into the world simply multiply it by your desired distance.
If the camera is using an orthographic projection matrix then this command behaves slightly differently, since all points on the screen would produce the same vector pointing away from the camera, but each originating from a different point in 3D space. This differs from a perspective projection where all vectors start at the camera position and fan out as they move away from the camera. So when using an orthographic projection matrix this command will instead return a sideways unnormalised vector from the camera position to the point in 3D space that the vector should start. This can then be combined with a vector that points away from the camera to create a ray cast into the scene.
Definition
float Get3DVectorYFromScreen( x, y )
float agk::Get3DVectorYFromScreen( float x, float y )
Parameters
x - The X component of the screen position.
y - The Y component of the screen position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorZFromScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorZFromScreen.htm
deleted file mode 100644
index e8bc37f5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/Get3DVectorZFromScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DVectorZFromScreen - AGK Help
-
-
-
-
-
-
-
Converts a 2D point on the screen into a vector pointing into the 3D world. The vector is normalised to 1 unit long, to extend it into the world simply multiply it by your desired distance.
If the camera is using an orthographic projection matrix then this command behaves slightly differently, since all points on the screen would produce the same vector pointing away from the camera, but each originating from a different point in 3D space. This differs from a perspective projection where all vectors start at the camera position and fan out as they move away from the camera. So when using an orthographic projection matrix this command will instead return a sideways unnormalised vector from the camera position to the point in 3D space that the vector should start. This can then be combined with a vector that points away from the camera to create a ray cast into the scene.
Definition
float Get3DVectorZFromScreen( x, y )
float agk::Get3DVectorZFromScreen( float x, float y )
Parameters
x - The X component of the screen position.
y - The Y component of the screen position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetCameraAngleX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetCameraAngleX.htm
deleted file mode 100644
index cf248bd0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetCameraAngleX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCameraAngleX - AGK Help
-
-
-
-
-
-
-
Returns the name of the specified animation for the given object. You can find the number of animations for this object with GetObjectNumAnimations. The index should be in the range 1 to numAnimations inclusive.
Definition
string GetObjectAnimationName( objID, index )
char* agk::GetObjectAnimationName( uint32_t objID, int index )
Parameters
objID - The ID of the object to check.
index - The index of the animation to check, indices start at 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectAnimationTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectAnimationTime.htm
deleted file mode 100644
index 8afb6a97..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectAnimationTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectAnimationTime - AGK Help
-
-
-
-
-
-
-
Gets the index of a bone by its name. Names are loaded from the model file when LoadObjectWithChildren is used, otherwise no bones are loaded. Indexes will be in the range 1 to num bones, or 0 if not found.
Returns the object ID for a specified child object that was loaded as a result of this object. To find the number of child objects use GetObjectNumChildren. childIndex is in the range 1 to the number of children inclusive. For those of you that are familiar with DarkBasic, objects that contained limbs in DarkBasic would be loaded as child objects in AGK. However there is no hierarchy in the child objects, they would not have children of their own. Instead a bone structure is created in the root object that represents the limb hierarchy, and the child objects are attached to the appropriate bones.
Definition
integer GetObjectChildID( objID, childIndex )
uint32_t agk::GetObjectChildID( uint32_t objID, int childIndex )
Parameters
objID - The ID of the object to check.
childIndex - The index of the child to get.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectColorBlue.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectColorBlue.htm
deleted file mode 100644
index 8a2075ce..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectColorBlue.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectColorBlue - AGK Help
-
-
-
-
-
-
-
If the object was created with CreateObjectFromHeightMap then this command can be used to quickly get the height of the object at a particular world position. This accounts for the object's position and Y rotation to provide the height regardless of where the object is positioned. If the object is rotated in the X or Z angles then this will produce incorrect values. You should provide the X and Z coordinates in world units, if the point lies outside the object then 0 will be returned.
Definition
float GetObjectHeightMapHeight( objID, x, z )
float agk::GetObjectHeightMapHeight( uint32_t objID, float x, float z )
Parameters
objID - The ID of the object to check.
x - The X component of the position to check
z - The Z component of the position to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectInScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectInScreen.htm
deleted file mode 100644
index 40ed8cf5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectInScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectInScreen - AGK Help
-
-
-
-
-
-
-
Returns 1 if AGK thinks the object is currently on screen, 0 if not. This is an estimate and if in doubt will assume the object is on screen. As such if this command returns 0 then the object is definitely off screen, if it returns 1 the object may or may not be on screen.
Definition
integer GetObjectInScreen( objID )
int agk::GetObjectInScreen( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsAnimating.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsAnimating.htm
deleted file mode 100644
index b09fe183..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsAnimating.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectIsAnimating - AGK Help
-
-
-
-
-
-
-
Returns 1 if the object is currently playing an animation, this includes tween to the start of an animation, but not tweening to a single frame. Essentially it returns 1 if the object should be playing an animation. If the animation is set to loop a specified number of times, or to only play once, then this command will return 0 when the animation is finished.
Definition
integer GetObjectIsAnimating( objID )
int agk::GetObjectIsAnimating( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsTweening.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsTweening.htm
deleted file mode 100644
index 80692704..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectIsTweening.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectIsTweening - AGK Help
-
-
-
-
-
-
-
Returns 1 if the object is currently tweening to an animation frame or the beginning or an animation about to play. This only occurs immediately after PlayObjectAnimation or SetObjectAnimationFrame if you specified a tween time greater than 0. It does not occur at any other time during an animation.
Definition
integer GetObjectIsTweening( objID )
int agk::GetObjectIsTweening( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectMeshName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectMeshName.htm
deleted file mode 100644
index 4180168c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectMeshName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectMeshName - AGK Help
-
-
-
-
-
-
-
Gets the name of a mesh as defined in the model file that it was loaded from, but meshes are not guaranteed to have names. Mesh indices are in the range 1 to GetObjectNumMeshes inclusive. If you are calling this command from tier 2 you must delete the returned string with agk::DeleteString when you are done with it.
Returns the source code to the pixel shader currently being used on this object. If you haven't assigned a shader to this mesh then one is generated automatically, and you can use this command to get its source code if you want to make adjustments to it. You can then load this modified shader source with LoadShader and assign it with SetObjectMeshShader. Note that modifying the number of textures, or using SetObjectLightMode will normally generate a new shader to handle the changes, however if you have used SetObjectMeshShader then AGK will no longer modify your shader, assuming you have accounted for these changes yourself. Note that shaders which use lighting will have the functions GetVSLighting() and GetPSLighting() that will be filled out by AGK at runtime based on how many lights are near the mesh. Removing these functions from the shader source will remove all lighting from the mesh. If you call this command from tier 2 you must delete the string when you are done with it.
Returns the maximum extent of the mesh in the X direction, this can be combined with GetObjectMeshSizeMinX to determine the size of the mesh in the X direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the X direction.
Returns the maximum extent of the mesh in the Y direction, this can be combined with GetObjectMeshSizeMinY to determine the size of the mesh in the Y direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Y direction.
Returns the maximum extent of the mesh in the Z direction, this can be combined with GetObjectMeshSizeMinZ to determine the size of the mesh in the Z direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Z direction.
Returns the minimum extent of the mesh in the X direction, this can be combined with GetObjectMeshSizeMaxX to determine the size of the mesh in the X direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the X direction.
Returns the minimum extent of the mesh in the Y direction, this can be combined with GetObjectMeshSizeMaxY to determine the size of the mesh in the Y direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Y direction.
Returns the minimum extent of the mesh in the Z direction, this can be combined with GetObjectMeshSizeMaxZ to determine the size of the mesh in the Z direction. Note that the mesh may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Z direction.
Returns the source code to the vertex shader currently being used on this object. If you haven't assigned a shader to this mesh then one is generated automatically, and you can use this command to get its source code if you want to make adjustments to it. You can then load this modified shader source with LoadShader and assign it with SetObjectMeshShader. Note that modifying the number of textures, or using SetObjectLightMode will normally generate a new shader to handle the changes, however if you have used SetObjectMeshShader then AGK will no longer modify your shader, assuming you have accounted for these changes yourself. Note that shaders which use lighting will have the functions GetVSLighting() and GetPSLighting() that will be filled out by AGK at runtime based on how many lights are near the mesh. Removing these functions from the shader source will remove all lighting from the mesh. If you call this command from tier 2 you must delete the string when you are done with it.
Returns the name of the object as defined in the model file. This is useful when using LoadObjectWithChildren to identify child objects which can be accessed with GetObjectChildID. If you are calling this command from Tier 2 then the returned string must be deleted with agk::DeleteString when you are done with it.
Definition
string GetObjectName( objID )
char* agk::GetObjectName( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumAnimations.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumAnimations.htm
deleted file mode 100644
index dbd16dce..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumAnimations.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectNumAnimations - AGK Help
-
-
-
-
-
-
-
Gets the number of bones that were loaded as a result of loading this object. This only happens if the object was loaded with LoadObjectWithChildren. If the object has limb animation like in DarkBasic Classic, then the bones represent the limb hierarchy and each limb is loaded as a child object attached to a bone. If the object has weighted vertex animation then the bones represent the skeleton and the skin is loaded as a single mesh stored in the root object. The two forms of animation can be combined, so a weighted vertex bone structure can have objects attached to its bones at the same time as deforming the skin mesh.
Definition
integer GetObjectNumBones( objID )
uint32_t agk::GetObjectNumBones( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumChildren.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumChildren.htm
deleted file mode 100644
index 0bd6a62e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectNumChildren.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectNumChildren - AGK Help
-
-
-
-
-
-
-
Gets the number of child objects that were loaded as a result of loading this object. For example a bone animated character object may have a gun model attached to the bone representing its hand, this gun model would be loaded as a separate object and given its own ID, which you can manipulate separately from the main object. You can even detach the gun from the hand with FixObjectToBone(ID,0) to make it a normal object that will not move when the character moves. It will however always remain in this list of children, for reference, and will get deleted if DeleteObjectWithChildren is called on the character object. For those of you that are familiar with DarkBasic, objects that contained limbs in DarkBasic would be loaded as child objects in AGK. However there is no hierarchy in the child objects, they would not have children of their own. Instead a bone structure is created in the root object that represents the limb hierarchy, and the child objects are attached to the appropriate bones.
Gets the number of meshes that belong to this object. An object can have multiple meshes, usually this happens in the case of multi-material objects where the object is split into multiple meshes, each using a different texture. Note that instanced objects may not have any meshes.
Gets the number of texture references that was found when loading the object. An object can have multiple texture references. This information will only be available if the model file have a material setup with a diffuse texture reference.
Returns the X component of the bounce vector for the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits. Position an object here to make it look like it bounced after colliding.
Definition
float GetObjectRayCastBounceX( index )
float agk::GetObjectRayCastBounceX( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceY.htm
deleted file mode 100644
index 5dc5289f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastBounceY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the bounce vector for the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits. Position an object here to make it look like it bounced after colliding.
Definition
float GetObjectRayCastBounceY( index )
float agk::GetObjectRayCastBounceY( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceZ.htm
deleted file mode 100644
index 27d1dcbd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastBounceZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastBounceZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the bounce vector for the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits. Position an object here to make it look like it bounced after colliding.
Definition
float GetObjectRayCastBounceZ( index )
float agk::GetObjectRayCastBounceZ( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastDistance.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastDistance.htm
deleted file mode 100644
index 5269d508..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastDistance.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastDistance - AGK Help
-
-
-
-
-
-
-
Returns the object ID hit for the given collision index in the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits.
Definition
integer GetObjectRayCastHitID( index )
uint32_t agk::GetObjectRayCastHitID( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastNormalX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastNormalX.htm
deleted file mode 100644
index 96e30f2f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastNormalX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastNormalX - AGK Help
-
-
-
-
-
-
-
Returns the number of collisions that occurred in the last collision check. In the case of ObjectRayCast and ObjectSphereCast this will be 0 or 1. For ObjectSphereSlide this could be anywhere between 0 and 4.
Definition
integer GetObjectRayCastNumHits()
uint32_t agk::GetObjectRayCastNumHits()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideX.htm
deleted file mode 100644
index 751d8aeb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastSlideX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the final resting point for sliding collisions. This is only valid for index 0 and after calling ObjectSphereSlide. Position an object here to make it look like it slid after colliding.
Definition
float GetObjectRayCastSlideX( index )
float agk::GetObjectRayCastSlideX( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideY.htm
deleted file mode 100644
index 8a668f5b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastSlideY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the final resting point for sliding collisions. This is only valid for index 0 and after calling ObjectSphereSlide. Position an object here to make it look like it slid after colliding.
Definition
float GetObjectRayCastSlideY( index )
float agk::GetObjectRayCastSlideY( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideZ.htm
deleted file mode 100644
index 16cc2a44..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastSlideZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastSlideZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the final resting point for sliding collisions. This is only valid for index 0 and after calling ObjectSphereSlide. Position an object here to make it look like it slid after colliding.
Definition
float GetObjectRayCastSlideZ( index )
float agk::GetObjectRayCastSlideZ( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastX.htm
deleted file mode 100644
index 26981596..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the point of collision for the given collision index in the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits.
Definition
float GetObjectRayCastX( index )
float agk::GetObjectRayCastX( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastY.htm
deleted file mode 100644
index 1ca85585..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the point of collision for the given collision index in the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits.
Definition
float GetObjectRayCastY( index )
float agk::GetObjectRayCastY( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastZ.htm
deleted file mode 100644
index 253a2a1d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectRayCastZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectRayCastZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the point of collision for the given collision index in the last collision check. You can check the number of valid indices with GetObjectRayCastNumHits.
Definition
float GetObjectRayCastZ( index )
float agk::GetObjectRayCastZ( uint32_t index )
Parameters
index - The index of the collision to check, starting at index 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectReceiveShadowMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectReceiveShadowMode.htm
deleted file mode 100644
index 17c882d8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectReceiveShadowMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectReceiveShadowMode - AGK Help
-
-
-
-
-
-
-
Returns the maximum extent of the object in the X direction, this can be combined with GetObjectSizeMinX to determine the size of the object in the X direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the X direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMaxX.
Definition
float GetObjectSizeMaxX( objID )
float agk::GetObjectSizeMaxX( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxY.htm
deleted file mode 100644
index 99a18640..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectSizeMaxY - AGK Help
-
-
-
-
-
-
-
Returns the maximum extent of the object in the X direction, this can be combined with GetObjectSizeMinY to determine the size of the object in the Y direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Y direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMaxY.
Definition
float GetObjectSizeMaxY( objID )
float agk::GetObjectSizeMaxY( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxZ.htm
deleted file mode 100644
index bbd47996..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMaxZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectSizeMaxZ - AGK Help
-
-
-
-
-
-
-
Returns the maximum extent of the object in the Z direction, this can be combined with GetObjectSizeMinZ to determine the size of the object in the Z direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Z direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMaxZ.
Definition
float GetObjectSizeMaxZ( objID )
float agk::GetObjectSizeMaxZ( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinX.htm
deleted file mode 100644
index 464d0074..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectSizeMinX - AGK Help
-
-
-
-
-
-
-
Returns the minimum extent of the object in the X direction, this can be combined with GetObjectSizeMaxX to determine the size of the object in the X direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the X direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMinX.
Definition
float GetObjectSizeMinX( objID )
float agk::GetObjectSizeMinX( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinY.htm
deleted file mode 100644
index 8448dd0f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectSizeMinY - AGK Help
-
-
-
-
-
-
-
Returns the minimum extent of the object in the X direction, this can be combined with GetObjectSizeMaxY to determine the size of the object in the Y direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Y direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMinY.
Definition
float GetObjectSizeMinY( objID )
float agk::GetObjectSizeMinY( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinZ.htm
deleted file mode 100644
index 71210592..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectSizeMinZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectSizeMinZ - AGK Help
-
-
-
-
-
-
-
Returns the minimum extent of the object in the Z direction, this can be combined with GetObjectSizeMaxZ to determine the size of the object in the Z direction. Note that the object may be off center so its min value may be 10 whilst its max value is 12, meaning its size is 2 units in the Z direction. This command takes the bounds of all meshes that make up this object, to check the bounds of a single mesh use GetObjectMeshSizeMinZ.
Definition
float GetObjectSizeMinZ( objID )
float agk::GetObjectSizeMinZ( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectTextureName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectTextureName.htm
deleted file mode 100644
index a67dcedf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectTextureName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectTextureName - AGK Help
-
-
-
-
-
-
-
Gets the name of a texture as defined in the model file that it was loaded from, but textures are not guaranteed to have names. Texture names are in the range 1 to GetObjectNumTextures inclusive. If you are calling this command from tier 2 you must delete the returned string with agk::DeleteString when you are done with it.
Returns the X component of the object's current rotation converted to Euler angles in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldAngleX( objID )
float agk::GetObjectWorldAngleX( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleY.htm
deleted file mode 100644
index 66852a37..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldAngleY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the object's current rotation converted to Euler angles in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldAngleY( objID )
float agk::GetObjectWorldAngleY( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleZ.htm
deleted file mode 100644
index b5f61a75..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldAngleZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldAngleZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the object's current rotation converted to Euler angles in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldAngleZ( objID )
float agk::GetObjectWorldAngleZ( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatW.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatW.htm
deleted file mode 100644
index b17ece73..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatW.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldQuatW - AGK Help
-
-
-
-
-
-
-
Returns the W component of the object's current rotation converted to a quaternion in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldQuatW( objID )
float agk::GetObjectWorldQuatW( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatX.htm
deleted file mode 100644
index 928b6436..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldQuatX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the object's current rotation converted to a quaternion in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldQuatX( objID )
float agk::GetObjectWorldQuatX( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatY.htm
deleted file mode 100644
index 2e898d49..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldQuatY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the object's current rotation converted to a quaternion in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldQuatY( objID )
float agk::GetObjectWorldQuatY( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatZ.htm
deleted file mode 100644
index 7610f989..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldQuatZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldQuatZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the object's current rotation converted to a quaternion in world coordinates. This takes into account parent rotations as a result of FixObjectToObject or FixObjectToBone and returns the absolute world rotation of the object.
Definition
float GetObjectWorldQuatZ( objID )
float agk::GetObjectWorldQuatZ( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldX.htm
deleted file mode 100644
index 26293446..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldX - AGK Help
-
-
-
-
-
-
-
Returns the current X position of the object in world coordinates. This takes into account parent positions as a result of FixObjectToObject or FixObjectToBone and returns the absolute world position of the object.
Definition
float GetObjectWorldX( objID )
float agk::GetObjectWorldX( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldY.htm
deleted file mode 100644
index 1e0b4a93..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldY - AGK Help
-
-
-
-
-
-
-
Returns the current Y position of the object in world coordinates. This takes into account parent positions as a result of FixObjectToObject or FixObjectToBone and returns the absolute world position of the object.
Definition
float GetObjectWorldY( objID )
float agk::GetObjectWorldY( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldZ.htm
deleted file mode 100644
index 949ecd23..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectWorldZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectWorldZ - AGK Help
-
-
-
-
-
-
-
Returns the current Z position of the object in world coordinates. This takes into account parent positions as a result of FixObjectToObject or FixObjectToBone and returns the absolute world position of the object.
Definition
float GetObjectWorldZ( objID )
float agk::GetObjectWorldZ( uint32_t objID )
Parameters
objID - The ID of the object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectX.htm
deleted file mode 100644
index d4fd48ee..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/GetObjectX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObjectX - AGK Help
-
-
-
-
-
-
-
Returns the number of varying values that can be used in shaders on the current device. Varyings are the variables that pass data between the vertex and pixel shaders. This value is guaranteed to be at least 32, but most devices support more. A single vec4 varying holds 4 varying values, so 32 varyings values means you can have a maximum of 8 vec4 varyings. Note that a vec3 varying may take up 4 value spaces if it cannot be packed with any other varying. Varyings may be packed together if they can fill a vec4 without being split, for example a vec3 and a float can be packed together, as can two vec2 varyings. However two vec3 varyings cannot be packed together without being split up so they will each use up 4 values with the extra space being wasted. Packing is determined by the driver and cannot be guaranteed.
Definition
integer GetSupportedShaderVaryings()
int agk::GetSupportedShaderVaryings()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/InstanceObject.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/InstanceObject.htm
deleted file mode 100644
index 4e678fcf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/InstanceObject.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InstanceObject - AGK Help
-
-
-
-
-
-
-
Copies an object into a new ID, the new object shares vertex data with the original object. The original object must exist for the instanced object to draw properly. Instancing an object that is already an instance will do nothing. Instancing an object and then deleting the original will probably crash. Setting a shader on an instance object is allowed as long as the vertex attributes used by the shader match exactly in name and order as those used on the shader of the original object. Setting different images on the instance and original object is supported.
Loads a shader used for modifying render targets, as such it only contains a pixel shader, the vertex shader is automatically generated to make sure it applies to the full screen. This type of shader should only be applied to objects created with CreateObjectQuad but nothing bad will happen if you choose to apply it to other objects, it will just produce unusual rendering results for that object. Currently shaders default to GLSL version 1.10, the line "#version 110" will be automatically added as the first line of the shader unless you specify a "#version " line of your own. Note that doing this may mean your shader does not work on all devices and platforms. The global "precision" value will be added and should not be included in the shader source. IDs are shared across all shader types so loading a full screen shader into ID 1 will not work if a normal shader exists with ID 1.
If the current device does not support the shader then no shader will exist at the given ID, you should use GetShaderExists to check if the load was successful. You can use SetShaderErrorMode to set what happens when a shader is not supported or fails to compile.
Loads an object from a file, currently supported formats are .X .3ds .md3 .smd .md5 .lwo. .ac .b3d .dae .3d .lws .ms3d .blend .m3 .obj and .ago. This command will not load any animation or bone data and will consolidate the vertices into a single object with as few meshes as possible. To load animation and bone data use LoadObjectWithChildren instead.
Loads an object from a file, currently supported formats are .X .3ds .md3 .smd .md5 .lwo. .ac .b3d .dae .3d .lws .ms3d .blend .m3 .obj and .ago. If the model file contains a bone hierarchy or animation data then this will also be loaded and associated with the object. If the model file contains a scene graph containing multiple objects then these will also be loaded and stored in separate objects which can be discovered with GetObjectNumChildren. If you just want to load a single object without any bones, animation, or children then use LoadObject instead.
Loads a shader used for drawing objects. The vertex shader transforms the polygons into screen space and the pixel shader determines the final color of each pixel the object covers. Currently shaders default to GLSL version 1.10, the line "#version 110" will be automatically added as the first line of the shader unless you specify a "#version " line of your own. Note that doing this may mean your shader does not work on all devices and platforms. The global "precision" value will be added and should not be included in the shader source. Returns an ID that can be used to reference this shader in other commands.
If the current device does not support the shader then no shader will exist at the given ID, you should use GetShaderExists to check if the load was successful. You can use SetShaderErrorMode to set what happens when a shader is not supported or fails to compile.
Loads a shader used for drawing objects. The vertex shader transforms the polygons into screen space and the pixel shader determines the final color of each pixel the object covers. Currently shaders default to GLSL version 1.10, the line "#version 110" will be automatically added as the first line of the shader unless you specify a "#version " line of your own. Note that doing this may mean your shader does not work on all devices and platforms. The global "precision" value will be added and should not be included in the shader source.
If the current device does not support the shader then no shader will exist at the given ID, you should use GetShaderExists to check if the load was successful. You can use SetShaderErrorMode to set what happens when a shader is not supported or fails to compile.
Loads a shader used for modifying sprites, as such it only contains a pixel shader, the vertex shader is automatically generated to make sure it appears in the right place. This type of shader should only be applied to sprites but nothing bad will happen if you choose to apply it to objects, it will just produce unusual rendering results for that object. Currently shaders default to GLSL version 1.10, the line "#version 110" will be automatically added as the first line of the shader unless you specify a "#version " line of your own. Note that doing this may mean your shader does not work on all devices and platforms. The global "precision" value will be added and should not be included in the shader source. Returns an ID that can be used to reference this shader in other commands. IDs are shared across all shader types so loading a sprite shader into ID 1 will not work if a 3D shader exists with ID 1.
If the current device does not support the shader then no shader will exist at the given ID, you should use GetShaderExists to check if the load was successful. You can use SetShaderErrorMode to set what happens when a shader is not supported or fails to compile.
Moves the specified camera along its local X axis, i.e. if the camera were a character this command would make them strafe no matter which direction they were facing.
Moves the specified camera along its local Y axis, i.e. if the camera were a character this command would make them jump no matter which direction they were facing.
Moves the specified camera along its local Z axis, i.e. if the camera were a character this command would make them move forwards no matter which direction they were facing.
Moves the specified object along its local X axis, i.e. if the object were a character this command would make them strafe no matter which direction they were facing.
Moves the specified object along its local Y axis, i.e. if the object were a character this command would make them jump no matter which direction they were facing.
Moves the specified object along its local Z axis, i.e. if the object were a character this command would make them move forwards no matter which direction they were facing.
Casts a ray through 1 or all objects to check for intersection with the object. Rays are define with a start position and an end position and does not collide with backfaces, will return the number of the object hit first, or 0 for no collision. Ray casting commands are useful for calculating the collisions of bullets with levels and objects, or for representing the line of sight of an enemy to detect if they can see the player.
Will check if the ray starting at oldx,oldy,oldz and ending at newx, newy, newz, and of width radius, collides with the specified object (objID=0 for all). Does not collide with backfaces, will return the number of the object hit first, or 0 for no collision. Sphere casting commands add a width dimension to normal ray casting which can be used to check if a player has hit anything during movement and to position them at the collision point to provide 'sticky' collision, where the player stops if they hit anything. The alternative is sliding collision. see ObjectSphereSlide
This command does the same as ObjectSphereCast but over multiple iterations to produce a slide point for use in sliding collisions. It produces a slide point that is checked again to make sure this new point does not collide with any objects. This produces another point, which must be checked and so on. ObjectSphereSlide uses a maximum of three iterations to finalize a point that will keep the sphere outside all objects checked. The command GetObjectRayCastNumHits can be used to get the number of iterations used by this command. Details of the collision point, normal, and slide point for each iteration are also available using collision indices 1 to 3 i.e. GetObjectRayCastX(1) (2) or (3). The final collision point, normal and slide point are in index 0, i.e. GetObjectRayCastSlideX(0).
Plays an given animation on its parent object. Only objects loaded with LoadObjectWithChildren will have animations assigned to them. Animation names are defined by the modelling program when the animations were created, you can discover what the names are by using GetObjectAnimationName. The animation can be started and ended at any point in the animation using the start and end parameters, these are given in seconds, and if looping is turned on then the object will return to the given start time at the start of each loop. If you want the looping to be seamless then the bone positions at the start and end time must be exactly the same, as there will be no interpolation between them when it loops. The tweentime parameter can be used to interpolate between the current bone positions and the start time of the animation so that there is no sudden jump in bone positions. This tweening only happens once, it does not happen every loop, and does not contribute to the animation time. Essentially the animation is paused until tweening has finished. Note that as soon as this command is called the bones will be controlled by animation and cannot be moved with SetObjectBonePosition or similar commands. You can regain manual control of individual bones by using SetObjectBoneCanAnimate on it. You can regain control of the entire bone structure by using ResetObjectAnimation.
Rotates the specified camera around global X axis. Imagine looking at the camera as if it were an object positioned at 0,0,0 looking in a random direction. This command would roll it around the fixed X axis, the one which is used to define the positions of everything in the world.
Rotates the specified camera around global Y axis. Imagine looking at the camera as if it were an object positioned at 0,0,0 looking in a random direction. This command would turn it around the fixed Y axis, the one which is used to define the positions of everything in the world.
Rotates the specified camera around global Z axis. Imagine looking at the camera as if it were an object positioned at 0,0,0 looking in a random direction. This command would roll it around the fixed Z axis, the one which is used to define the positions of everything in the world.
Rotates the specified camera around its local X axis, i.e. if the camera were an airplane this command would make it pitch up and down no matter which direction it was facing.
Rotates the specified camera around its local Y axis, i.e. if the camera were an airplane this command would make it turn left and right no matter which direction it was facing.
Rotates the specified camera around its local Z axis, i.e. if the camera were an airplane this command would make it roll left and right no matter which direction it was facing.
Rotates the specified bone around its local X axis, i.e. if the bone were an airplane this command would make it pitch up and down no matter which direction it was facing.
Rotates the specified bone around its local Y axis, i.e. if the bone were an airplane this command would make it turn left and right no matter which direction it was facing.
Rolls the specified bone around its local Z axis, i.e. if the bone were an airplane this command would make it do a barrel roll no matter which direction it was facing.
Rotates the specified object around global X axis. Imagine the camera looking down the Z axis at an object with a random rotation. This command will pitch the object up and down relative to the camera regardless of which way the object is facing.
Rotates the specified object around global Y axis. Imagine the camera looking down the Z axis at an object with a random rotation. This command will turn the object left and right relative to the camera regardless of which way the object is facing.
Rotates the specified object around global Z axis. Imagine the camera looking down the Z axis at an object with a random rotation. This command will roll the object left and right relative to the camera regardless of which way the object is facing.
Rotates the specified object around its local X axis, i.e. if the object were an airplane this command would make it pitch up and down no matter which direction it was facing.
Rotates the specified object around its local Y axis, i.e. if the object were an airplane this command would make it turn left and right no matter which direction it was facing.
Rolls the specified object around its local Z axis, i.e. if the object were an airplane this command would make it do a barrel roll no matter which direction it was facing.
Sets a new color for the global ambient light. Values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate things and values less than 0 will take light away. The default ambient color is 76,76,76.
Definition
SetAmbientColor( red, green, blue )
void agk::SetAmbientColor( int red, int green, int blue )
Parameters
red - The red component of the new color.
green - The green component of the new color.
blue - The blue component of the new color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraAspect.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraAspect.htm
deleted file mode 100644
index 30e0f20c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraAspect.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetCameraAspect - AGK Help
-
-
-
-
-
-
-
Sets the camera aspect ratio when rendering 3D. The default is GetDeviceWidth()/GetDeviceHeight() and provides a realistic 3D projection. If the device backbuffer size changes, for example if the device changes orientation, or the window size is changed, or SetScreenResolution is called, then this value will reset to its default.
Sets the parameters for an off center projection matrix. The near and far values are set separately with SetCameraRange. To use an off center projection matrix you must activate it with SetCameraOffCenter.
Sets the camera horizontal field of view (FOV). This determines the angle between the left and right of the camera view, the default being 70 and provides a realistic 3D projection. Using smaller values would look like the camera is zooming in on the scene without actually moving. This is sometimes used for dramatic effect in movies where the FOV zooms one way whilst the camera moves the other way. Using an FOV value of 0 is a special case that will generate an orthographic matrix instead of a projection matrix, this will make everything stay the same size no matter how near or far it is to the camera. The orthographic matrix will have a width of 40 world units with a height determined by the camera aspect ratio.
Rotates the camera to look at a particular point in space with an optional roll value. "looking at" is defined as aligning the camera's local Z axis to point its positive side at the given point. This can be achieved using only the Y and X angles in Euler notation, so you can specify an optional Z angle in degrees to roll the camera left of right whilst always looking at the same spot.
Definition
SetCameraLookAt( cameraID, x, y, z, roll )
void agk::SetCameraLookAt( uint32_t cameraID, float x, float y, float z, float roll )
Parameters
cameraID - The ID of the camera to modify, the main camera is ID 1.
x - The X component of the position to look at.
y - The Y component of the position to look at.
z - The Z component of the position to look at.
roll - The Z angle to roll the camera when looking at the given position, negative is clockwise.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraOffCenter.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraOffCenter.htm
deleted file mode 100644
index 39d9e830..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetCameraOffCenter.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetCameraOffCenter - AGK Help
-
-
-
-
-
-
-
If the camera FOV is set to 0 then this will determine the width of the orthographic view, the default is 40. The height value will be calculated from it based on the camera aspect ratio. When using an orthographic projection everything remains the same size no matter how near or far it is to the camera, so when using the default width value, a cube of size 80 units would always fill the camera view when the camera is looking at it, since the 40 is measured from the center of the screen to the edge. This command will overwrite any values set with SetCameraBounds.
Sets the near and far planes of the camera. Due to rendering limitations not everything in front of the camera can be rendered so they must be limited to a visible range. Anything outside this range is clipped by the rendering system and is invisible. The near plane is the closest that an object can be to the camera and still be rendered, it must be greater than 0. Note that using very small values for the near plane will affect the accuracy of the depth buffer when rendering objects far away which might cause flickering on far away objects. This is because the depth buffer is not linear, instead it is skewed towards the near plane and the closer to 0 the near plane becomes the less of the depth buffer is available for far objects. The far plane is the maximum distance an object can be from the camera and still be rendered, it's maximum value is infinity but again the further you try to render an object from the near plane the less accurate depth buffering becomes. If an object crosses the near or far plane so that part of it is on one side and part is on the other the object will be cut by the plane and only the part within the view range will be visible. The default range is near=1, far=1000.
Sets the rotation of the specified camera using euler angles in degrees. Alternatively you can use SetCameraRotationQuat to use a quaternion. By default cameras are created with the angles 0,0,0 in the order YXZ. Euler angles are compound angles where the camera starts at 0,0,0 and is then rotated using the given Y angle, then by the given X angle, then rolled by the given Z angle. Each 3D rotation can be represented by 2 Euler angle combinations, Y,X,Z and Y-180,X-180,Z-180 so either version may be returned by the GetCameraAngle commands. Quaternions and Euler angles can both be used at the same time. For example setting an Euler angle rotation will generate a quaternion representation that can be retrieved with GetCameraQuatX, etc.
Sets the rotation of the specified camera using a quaternion. Alternatively you can use SetCameraRotation to use Euler angles. By default cameras are created with the quaternion 1,0,0,0 in the order w,x,y,z. A Quaternion is a 4 dimensional representation of a 3D rotation with the property w^2+x^2+y^2+z^2 = 1 which allows easy interpolation between two rotations by linearly interpolating the two quaternions and normalising them. Each 3D rotation is represented by exactly 2 quaternions, w,x,y,z and -w,-x,-y,-z so either version may be returned by the GetCameraQuat commands. Quaternions and Euler angles can both be used at the same time. For example setting a quaternion rotation will generate Euler representation that can be retrieved with GetCameraAngleX, etc.
Definition
SetCameraRotationQuat( cameraID, w, x, y, z )
void agk::SetCameraRotationQuat( uint32_t cameraID, float w, float x, float y, float z )
Parameters
cameraID - The ID of the camera to modify, the main camera is ID 1.
w - The W component of the quaternion.
x - The X component of the quaternion.
y - The Y component of the quaternion.
z - The Z component of the quaternion.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogColor.htm
deleted file mode 100644
index 54d8f9dc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetFogColor - AGK Help
-
-
-
-
-
-
-
Sets the 3D fog color. Objects will gradually fade to this color as they get further from the camera. Color values should be in the range 0 to 255, but they are not limited to this and the system will accept out of range values, including negative.
Definition
SetFogColor( red, green, blue )
void agk::SetFogColor( int red, int green, int blue )
Parameters
red - The red component of the color.
green - The green component of the color.
blue - The blue component of the color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogMode.htm
deleted file mode 100644
index 6f7865a3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetFogMode - AGK Help
-
-
-
-
-
-
-
Sets 3D fog on or off, this can be used to create an atmospheric haze or fade objects to the background color to simulate reduced visibility. Fog will be automatically applied to all 3D objects if they are using the default shader. If you have applied your own shader with SetObjectShader then declare the function mediump vec3 ApplyFog( mediump vec3 color, highp vec3 pointPos ); in the pixel shader which AGK will fill in for you at run time. pointPos is the pixel position in world coordinates, which you will need to pass in from the vertex shader.
Definition
SetFogMode( mode )
void agk::SetFogMode( int mode )
Parameters
mode - 1 to turn fog on, 0 to turn it off.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogRange.htm
deleted file mode 100644
index 96341674..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetFogRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetFogRange - AGK Help
-
-
-
-
-
-
-
Sets the range of the 3D fog. No fog will occur within the minimum distance, after which the fog will begin to take affect. The maximum distance is not a limit and is only a rough guide for how far you want to be able to see in your scene. The fog increases exponentially to mimic reality, meaning it increases quickly at first then tails off and gradually reaches full intensity around the maximum distance.
Sets the 3D fog sun color. This is used in place of the normal fog color when the camera is facing the sun, as defined by the command SetSunDirection. This can be used to simulate light scattering effects to make the air seem hazy. The fog sun color should be close to the sun color for best effect, but this need not be the case. Note that calling this command changes the fog calculation to a more complicated version that will reduce performance on mobile devices. To return to the faster method of calculating fog, make the fog sun color equal to the normal fog color.
Definition
SetFogSunColor( red, green, blue )
void agk::SetFogSunColor( int red, int green, int blue )
Parameters
red - The red component of the color.
green - The green component of the color.
blue - The blue component of the color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetGlobal3DDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetGlobal3DDepth.htm
deleted file mode 100644
index 66989c20..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetGlobal3DDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetGlobal3DDepth - AGK Help
-
-
-
-
-
-
-
Sets the position of all 3D objects relative to 2D objects. For example using a global 3D depth of 100 would mean that all sprites at a depth less than or equal to 100 would appear above any 3D objects whilst sprites at a depth greater than 100 would appear below any 3D objects.
Definition
SetGlobal3DDepth( depth )
void agk::SetGlobal3DDepth( int depth )
Parameters
depth - The sprite depth to render 3D.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlpha.htm
deleted file mode 100644
index ec3a70b8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectAlpha - AGK Help
-
-
-
-
-
-
-
Sets the alpha value to use when drawing this object. This is the same alpha value that can be set in SetObjectColor. Values should be in the range 0-255 but are not limited to it.
Definition
SetObjectAlpha( objID, alpha )
void agk::SetObjectAlpha( uint32_t objID, int alpha )
Parameters
objID - The ID of the object to modify.
alpha - The alpha component of the color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlphaMask.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlphaMask.htm
deleted file mode 100644
index ed36fbdd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAlphaMask.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectAlphaMask - AGK Help
-
-
-
-
-
-
-
Sets alpha masking on or off for this object. This is similar to transparency but only produces fully transparent or fully opaque pixels, there are no blended or semi-transparent pixels. If a pixel has an alpha value less than 128 it will be ignored, if it is greater than or equal to 128 then it will be drawn. This has less problems with depth ordering than when using SetObjectTransparency but may be slightly slower in some cases. You should not use both transparency and alpha masking on the same object at the same time, only use one or the other.
Definition
SetObjectAlphaMask( objID, mode )
void agk::SetObjectAlphaMask( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - 1=use alpha masking, 0=turn off alpha masking.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAnimationFrame.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAnimationFrame.htm
deleted file mode 100644
index c66f378c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectAnimationFrame.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectAnimationFrame - AGK Help
-
-
-
-
-
-
-
Sets the object bone positions to match a given time in the animation. Only objects loaded with LoadObjectWithChildren will have animations assigned to them. Animation names are defined by the modelling program when the animations were created, you can discover what the names are by using GetObjectAnimationName. If the given time falls between keyframes then the bone positions will be interpolated between them. The tweentime parameter can be used to interpolate between the current bone positions and the given time of the animation so that there is no sudden jump in bone positions. Note that as soon as this command is called the bones will be controlled by animation and cannot be moved with SetObjectBonePosition or similar commands. You can regain manual control of individual bones by using SetObjectBoneCanAnimate on it. You can regain control of the entire bone structure by using ResetObjectAnimation.
Definition
SetObjectAnimationFrame(uint32_t objID, animName, time, tweentime )
Sets the animation speed for the given object as a multiple of the default time, i.e. 1.0 would use the times from the animation keyframes, 2.0 would play them twice as fast, 0.5 twice as slow, and so on. You can also use negative values to play the animation in reverse, or 0 to pause it.
When SetObjectTransparency is set to 3 then the source and destination blend values can be specified manually using this command. The blend modes available are as follows: 0 = 0 1 = 1 2 = Source Pixel Alpha 3 = 1 - Source Pixel Alpha 4 = Destination Pixel Alpha 5 = 1 - Destination Pixel Alpha 6 = Source Pixel Color (valid for destination mode only) 7 = 1 - Source Pixel Color (valid for destination mode only) 8 = Destination Pixel Color (valid for source mode only) 9 = 1 - Destination Pixel Color (valid for source mode only) 10 = Alpha Saturate (valid for source mode only) The source pixel will be multiplied by the source mode, and the destination pixel will be multiplied by the destination mode. The two will then be added together to make the final pixel color. The source pixel is the pixel belonging to the object being drawn, whilst the destination pixel is the color of the pixel already on screen, which the current object is being drawn over.
Definition
SetObjectBlendModes( objID, src, dst )
void agk::SetObjectBlendModes( uint32_t objID, int src, int dst )
Parameters
objID - The ID of the object to modify.
src - The blend mode to use for the source of the blend.
dst - The blend mode to use for the destination of the blend.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBoneCanAnimate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBoneCanAnimate.htm
deleted file mode 100644
index ccf7d5d3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBoneCanAnimate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectBoneCanAnimate - AGK Help
-
-
-
-
-
-
-
Sets whether the specified bone is controlled by animation or controlled manually. When controlled by animation then none of the SetObjectBonePosition or similar commands will have any effect. When controlled manually the bone will maintain its current position unless modified by you.
Rotates the bone to look at a particular point in world space with an optional roll value. "looking at" is defined as aligning the bone's local Z axis to point its positive side at the given point. This can be achieved using only the Y and X angles in Euler notation, so you can specify an optional Z angle in degrees to roll the bone left of right whilst always looking at the same spot.
Definition
SetObjectBoneLookAt( objID, boneIndex, x, y, z, roll )
void agk::SetObjectBoneLookAt( uint32_t objID, uint32_t boneIndex, float x, float y, float z, float roll )
Parameters
objID - The ID of the object that contains the bone.
boneIndex - The index of the bone to modify.
x - The X component of the position to look at.
y - The Y component of the position to look at.
z - The Z component of the position to look at.
roll - The Z angle to roll the bone when looking at the given position, negative is clockwise.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBonePosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBonePosition.htm
deleted file mode 100644
index 8e1f0314..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectBonePosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectBonePosition - AGK Help
-
-
-
-
-
-
-
Sets an object to cast shadows on other objects. By default this is set to 0. An object can be set to cast or receive shadows or both. You can exclude individual meshes of an object from casting shadows by using SetObjectMeshCastShadow.
Definition
SetObjectCastShadow( objID, mode )
void agk::SetObjectCastShadow( int objID, int mode )
Parameters
objID - The ID of the object to cast shadows
mode - 1 to make this object cast shadows, 0 to stop it casting shadows
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCollisionMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCollisionMode.htm
deleted file mode 100644
index e577dbc7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCollisionMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectCollisionMode - AGK Help
-
-
-
-
-
-
-
Sets the diffuse color to use when drawing this object. Values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate the object and values less than 0 will take light away.
Definition
SetObjectColor( objID, red, green, blue, alpha )
void agk::SetObjectColor( uint32_t objID, int red, int green, int blue, int alpha )
Parameters
objID - The ID of the object to modify.
red - The red component of the color.
green - The green component of the color.
blue - The blue component of the color.
alpha - The alpha component of the color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectColorEmissive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectColorEmissive.htm
deleted file mode 100644
index e786420b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectColorEmissive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectColorEmissive - AGK Help
-
-
-
-
-
-
-
Sets the emissive color to use when drawing this object. Values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate the object and values less than 0 will take light away. The emissive color simulates light being generated by the object so it will gain this color even if it is not being lit by anything. This does not not affect any surrounding objects.
Definition
SetObjectColorEmissive( objID, red, green, blue )
void agk::SetObjectColorEmissive( uint32_t objID, int red, int green, int blue )
Parameters
objID - The ID of the object to modify.
red - The red component of the color.
green - The green component of the color.
blue - The blue component of the color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCullMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCullMode.htm
deleted file mode 100644
index 3b09b534..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectCullMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectCullMode - AGK Help
-
-
-
-
-
-
-
Sets whether this object should draw its back faces when rendering. Use mode 0=both front and back drawn, 1=only front faces, 2=only back faces. By default only front faces are drawn (mode 1).
Definition
SetObjectCullMode( objID, mode )
void agk::SetObjectCullMode( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - The cull mode to use for this object.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthBias.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthBias.htm
deleted file mode 100644
index c737efbc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthBias.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectDepthBias - AGK Help
-
-
-
-
-
-
-
Sets the depth bias when drawing this object to the screen. If two objects are very close together, one in front of the other, they can cause Z fighting where they appear to flicker between one object and the other being displayed in front of each other. For example a decal on the surface of another object. Z bias is designed to prevent this flickering by forcing (biasing) one object to always be in front of, or behind, the other. The bias value should be positive to bring this object towards the camera, and negative to push it backwards. This does not actually affect the position of the object, only its perceived position when the rendering system tests to see if the object should be drawn or not. If the object passes this biased depth test then it is drawn at its original position. The bias value is in multiples of the smallest z buffer value, so a bias value of 1 is the recommended value. Values smaller than this are not likely to have any effect, values bigger than this can be tried if a value of 1 does not work, try 1.5, 2.0, etc.
Sets the range of depth values that this object is mapped to. By default this is 0 to 1 where 0 is the near plane and 1 is the far plane. For example setting a depth range of 1,1 will make every pixel in this object have a depth value of 1 when comparing and writing to the depth buffer. Values will be clamped to the range 0 to 1, objects outside the near or far planes will still be clipped. Reverse mappings are allowed by setting near greater than far.
Sets the depth read mode when drawing this object to the screen. The object must pass the the depth test in order to be visible. The available options are 0=never pass, 1=less than, 2=equal, 3=less than or equal, 4=greater than, 5=not equal, 6=greater than or equal, 7=always pass. By default all objects use the mode 1 (less than) which means they must be closer than any objects already drawn to be visible.
Definition
SetObjectDepthReadMode( objID, mode )
void agk::SetObjectDepthReadMode( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - The depth mode to use for this object.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthWrite.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthWrite.htm
deleted file mode 100644
index 8fe3ddd3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectDepthWrite.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectDepthWrite - AGK Help
-
-
-
-
-
-
-
Sets the depth write mode when drawing this object to the screen. If it passes the depth test the object writes its depth value to the depth buffer to stop anything further behind from passing their depth tests. By default only objects that are closer (less than) the current depth value will overwrite the current contents of the screen. You can turn off this writing to the depth buffer for this object, this can be useful for transparent objects that shouldn't block drawing behind themselves. By default all opaque objects have depth write turned on and all transparent objects have depth write turned off.
Definition
SetObjectDepthWrite( objID, mode )
void agk::SetObjectDepthWrite( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - 0 to turn depth write off for this object, 1 to turn it on.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectFogMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectFogMode.htm
deleted file mode 100644
index 18e9b50d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectFogMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectFogMode - AGK Help
-
-
-
-
-
-
-
Sets all meshes in this object to use this image when rendering. You can set textures separately for each mesh by using SetObjectMeshImage. Each mesh can have up to 8 images assigned to it in the texture stages 0 to 7. If you are unsure of which texture stage to use, place the image in stage 0. Texture stages can be used to assign multiple images to a mesh, for example you might put the base (diffuse) texture in stage 0, a normal map in stage 1, and a light map in stage 2. The shader used to draw this object can then combine the various textures into a pixel value to show on the screen. Using an image value of 0 for a particular texture stage removes any assigned image from that stage.
Sets all meshes in this object to use the specified image as a lightmap. You can set a light map for a single mesh by using SetObjectMeshLightMap. The lightmap will be placed in texture stage 1, overwriting anything that is already there and will have a shader generated that combines it with texture stage 0, and any dynamic lighting, to correctly light the object. If you are setting your own shader with SetObjectShader then your shader will have to make use of the lightmap itself as AGK will not modify your shader in this way.
The lightmap will use the second set of UV coordinates, if available, otherwise it will use the same UV coordinates as the base texture.
Rotates the object to look at a particular point in space with an optional roll value. "looking at" is defined as aligning the object's local Z axis to point its positive side at the given point. This can be achieved using only the Y and X angles in Euler notation, so you can specify an optional Z angle in degrees to roll the object left of right whilst always looking at the same spot.
Definition
SetObjectLookAt( objID, x, y, z, roll )
void agk::SetObjectLookAt( uint32_t objID, float x, float y, float z, float roll )
Parameters
objID - The ID of the object to modify.
x - The X component of the position to look at.
y - The Y component of the position to look at.
z - The Z component of the position to look at.
roll - The Z angle to roll the object when looking at the given position, negative is clockwise.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectMeshCastShadow.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectMeshCastShadow.htm
deleted file mode 100644
index 23946bff..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectMeshCastShadow.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectMeshCastShadow - AGK Help
-
-
-
-
-
-
-
Sets whether this object's mesh casts a shadow or not. This only has an effect if the object is set as casting a shadow, if the object is set to not cast a shadow then none of its meshes will cast shadows. By default all meshes are set as casting a shadow but all objects are set as not casting a shadow. Therefore you can enable and disable shadow casting for an object by toggling the object cast mode. This mesh casting command can be used to exclude particular meshes from the shadow cast routine if desired.
Sets an object mesh to use this image when rendering. A mesh can have up to 8 images assigned to it in the texture stages 0 to 7. If you are unsure of which texture stage to use, place the image in stage 0. Texture stages can be used to assign multiple images to a mesh, for example you might put the base (diffuse) texture in stage 0, a normal map in stage 1, and a light map in stage 2. The shader used to draw this object can then combine the various textures into a pixel value to show on the screen. Using an image value of 0 for a particular texture stage removes any assigned image from that stage. Mesh indices are in the range 1 to GetObjectNumMeshes
Sets an object mesh to use the specified image as a lightmap. The lightmap will be placed in texture stage 1, overwriting anything that is already there and will have a shader generated that combines it with texture stage 0, and any dynamic lighting, to correctly light the object. If you are setting your own shader with SetObjectShader then your shader will have to make use of the lightmap itself as AGK will not modify your shader in this way. Mesh indices are in the range 1 to GetObjectNumMeshes
Sets an object mesh to use the specified image as a normal map. The normal map will be placed in texture stage 2, overwriting anything that is already there and will have a shader generated that combines it with any dynamic lighting, to correctly light the object. If you are setting your own shader with SetObjectShader then your shader will have to make use of the normal map itself as AGK will not modify your shader in this way. Mesh indices are in the range 1 to GetObjectNumMeshes
Scales the normal map UV coordinates by the specified amount. This does not affect any other texture, but does stack on top of the object's UV offset and scale. A scale value of 1.0 would use unmodified UVs, a scale value of 2.0 would double the UV value, and so on.
Sets the shader used to draw this mesh, the shader must have been loaded with LoadShader. A shader is like a script sent to the GPU to tell it how to combine the polygon and texture data to display it on screen. By default meshes are assigned an internal shader that will handle lighting and texturing. If you use a shader ID of 0 the mesh is assigned the internal shader. Mesh indices are in the range 1 to GetObjectNumMeshes
Modifies the mesh UVs to shift them by the specified offset. This may push the UV coordinates outside the range 0.0 to 1.0, in which case the image wrap mode will be used to either clamp or repeat the texture. Use SetImageWrapU and SetImageWrapV to set the wrap mode. Note that the image must be a power of 2 in size to use the repeat mode.
Modifies the mesh UVs to scale them by the specified amount. This may push the UV coordinates outside the range 0.0 to 1.0, in which case the image wrap mode will be used to either clamp or repeat the texture. Use SetImageWrapU and SetImageWrapV to set the wrap mode. A scale value of 1 will leave the UV coordinates with their default values, whilst a scale value of 2.0 would double the number of times the texture appears across the mesh (assuming the wrap mode is set to repeat). Note that the image must be a power of 2 in size to use the repeat mode.
Sets whether this object's mesh is visible or not. This only has an effect if the object is set as visible, if the object is not visible then none of its meshes will be drawn.
Sets all meshes in this object to use the specified image as a normal map. You can set a normal map for a single mesh by using SetObjectMeshNormalMap. The normal map will be placed in texture stage 2, overwriting anything that is already there and will have a shader generated that combines it with any dynamic lighting, to correctly light the object. If you are setting your own shader with SetObjectShader then your shader will have to make use of the normal map itself as AGK will not modify your shader in this way.
The normal map will use the second set of UV coordinates, if available, otherwise it will use the same UV coordinates as the base texture. If there is also an image in texture stage 1 (such as a light map) then the normal map will always use the base UVs.
Scales the normal map UV coordinates by the specified amount. This does not affect any other texture, but does stack on top of the object's UV offset and scale. A scale value of 1.0 would use unmodified UVs, a scale value of 2.0 would double the UV value, and so on.
Sets the rotation of the specified object using euler angles in degrees. Alternatively you can use SetObjectRotationQuat to use a quaternion. By default objects are created with the angles 0,0,0 in the order YXZ. Euler angles are compound angles where the object starts at 0,0,0 and is then rotated using the given Y angle, then by the given X angle, then rolled by the given Z angle. Each 3D rotation can be represented by 2 Euler angle combinations, Y,X,Z and Y-180,X-180,Z-180 so either version may be returned by the GetObjectAngle commands. Quaternions and Euler angles can both be used at the same time. For example setting a quaternion rotation will generate equivalent Euler values that can be retrieved with GetObjectAngleX, GetObjectAngleX, and GetObjectAngleZ.
Sets the rotation of the specified object using a quaternion. Alternatively you can use SetObjectRotation to use Euler angles. By default objects are created with the quaternion 1,0,0,0 in the order w,x,y,z. A Quaternion is a 4 dimensional representation of a 3D rotation with the property w^2+x^2+y^2+z^2 = 1 which allows easy interpolation between two rotations by linearly interpolating the two quaternions and normalising them. Each 3D rotation is represented by exactly 2 quaternions, w,x,y,z and -w,-x,-y,-z so either version may be returned by the GetObjectQuat commands. Quaternions and Euler angles can both be used at the same time. For example setting a quaternion rotation will generate equivalent Euler values that can be retrieved with GetObjectAngleX, GetObjectAngleX, and GetObjectAngleZ.
Definition
SetObjectRotationQuat( objID, w, x, y, z )
void agk::SetObjectRotationQuat( uint32_t objID, float w, float x, float y, float z )
Parameters
objID - The ID of the object to modify.
w - The W component of the quaternion.
x - The X component of the quaternion.
y - The Y component of the quaternion.
z - The Z component of the quaternion.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScale.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScale.htm
deleted file mode 100644
index bddc8587..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScale.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectScale - AGK Help
-
-
-
-
-
-
-
Modifies the object size in the X, Y, and Z directions. A scale value of 1,1,1 returns the object to its original size, a scale value of 2 would make the object twice as big, 0.5 would be half the size, and so on. This command does not stack, so calling it twice with a value of 2 would not make it 4 times bigger, it would remain 2 times bigger. Note that using different values for the X, Y, and Z directions like so 1,2,1 is called a non-uniform scale, whilst 1.5,1.5,1.5 would be a uniform scale. Non-uniform scaling requires that any shader used by this object use the agk_WorldNormal matrix for any normal transformations to look correct. If this object was loaded with LoadObjectWithChildren command and has child objects, or has objects attached to it with FixObjectToObject, then they will also be scaled by this amount in addition to their own scaling. Note that this will not work correctly with bone animated objects, use SetObjectScalePermanent instead.
Definition
SetObjectScale( objID, x, y, z )
void agk::SetObjectScale( uint32_t objID, float x, float y, float z )
Parameters
objID - The ID of the object to modify.
x - The amount to scale the object on the X axis.
y - The amount to scale the object on the Y axis.
z - The amount to scale the object on the Z axis.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScalePermanent.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScalePermanent.htm
deleted file mode 100644
index 1b79e659..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScalePermanent.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectScalePermanent - AGK Help
-
-
-
-
-
-
-
Modifies the object size in the X, Y, and Z directions. This modifies the object's vertices which makes this a permanent change, and is slower than SetObjectScale. This command does not read or affect the values set with SetObjectScale so using SetObjectScale(ID,2,2,2) and then setting a permanent scale of 3,3,3 would still draw the object 2 times bigger than normal, which means 6 times bigger than when you started. This command does not affect any child objects that may have been loaded with it, nor any objects attached to it with FixObjectToObject. This command will work on bone animated objects as long as the scale is uniform, i.e. the X, Y, and Z scale values are all the same.
Definition
SetObjectScalePermanent( objID, x, y, z )
void agk::SetObjectScalePermanent( uint32_t objID, float x, float y, float z )
Parameters
objID - The ID of the object to modify.
x - The amount to scale the object on the X axis.
y - The amount to scale the object on the Y axis.
z - The amount to scale the object on the Z axis.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScreenCulling.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScreenCulling.htm
deleted file mode 100644
index 35aa6708..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectScreenCulling.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectScreenCulling - AGK Help
-
-
-
-
-
-
-
Sets whether the object will be culled when it moves off screen. By default AGK will attempt to detect when an object has moved off screen, and objects that are no longer on screen will no longer be sent to the render pipeline. If the vertex shader modifies the vertices from their normal positions then this should be turned off as AGK can't know in advance where the object will be drawn.
Definition
SetObjectScreenCulling( objID, mode )
void agk::SetObjectScreenCulling( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - 0 to turn off screen culling, 1 to turn it on (default).
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShader.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShader.htm
deleted file mode 100644
index 70a6f1f2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShader.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectShader - AGK Help
-
-
-
-
-
-
-
Sets the shader used to draw the meshes in this object, each mesh can have its own shader set with SetObjectMeshShader, this command sets all meshes in this object to use the specified shader. The shader must have been loaded with LoadShader. A shader is like a script sent to the GPU to tell it how to combine the polygon and texture data to display it on screen. By default meshes are assigned an internal shader that will handle lighting and texturing. If you use a shader ID of 0 the meshes are assigned the internal shader.
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The index of the element within the array to modify.
value1 - The X or R component of the new value
value2 - The Y or G component of the new value
value3 - The Z or B component of the new value
value4 - The W or A component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayFloatByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayFloatByName.htm
deleted file mode 100644
index 7f9eb7fb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayFloatByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectShaderConstantArrayFloatByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetObjectShaderConstantArrayFloatByName
SetObjectShaderConstantArrayFloatByName
Description
Sets a shader constant array index for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. Array indices start at 0, if the array index exceeds the size of the array defined in the shader then the result is undefined. This command can only set arrays of floats.
Definition
SetObjectShaderConstantArrayFloatByName( objID, szName, arrayIndex, value )
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value - The new value to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec2ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec2ByName.htm
deleted file mode 100644
index 52d282b9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec2ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectShaderConstantArrayVec2ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetObjectShaderConstantArrayVec2ByName
SetObjectShaderConstantArrayVec2ByName
Description
Sets a shader constant array index for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. Array indices start at 0, if the array index exceeds the size of the array defined in the shader then the result is undefined. This command can only set arrays of vec2.
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value1 - The X component of the new value
value2 - The Y component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec3ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec3ByName.htm
deleted file mode 100644
index cbf2f47c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec3ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectShaderConstantArrayVec3ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetObjectShaderConstantArrayVec3ByName
SetObjectShaderConstantArrayVec3ByName
Description
Sets a shader constant array index for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. Array indices start at 0, if the array index exceeds the size of the array defined in the shader then the result is undefined. This command can only set arrays of vec3.
Note that arrays of vec3 have an inefficient use of space and are padded to vec4, so may be slghtly slower than using an array of vec4.
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value1 - The X component of the new value
value2 - The Y component of the new value
value3 - The Z component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec4ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec4ByName.htm
deleted file mode 100644
index 5b79ef7d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectShaderConstantArrayVec4ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectShaderConstantArrayVec4ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetObjectShaderConstantArrayVec4ByName
SetObjectShaderConstantArrayVec4ByName
Description
Sets a shader constant array index for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. Array indices start at 0, if the array index exceeds the size of the array defined in the shader then the result is undefined. This command can only set arrays of vec4.
Sets a shader constant for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. All shader values have 1 to 4 components, this command accepts 4 values and discards any that are not used by the named variable.
Sets the transparency mode for this object, 0 is opaque, 1 is alpha blended, 2 is additive blended, 3 is custom blending. Using a transparency value greater than 0 will slow down rendering, it also doesn't write transparent objects to the Z buffer so it might cause some depth ordering problems. There is an alternative form of transparency called Alpha Masking that is useful if you only need fully transparent or fully opaque pixels but no blending in between. See SetObjectAlphaMask for more details.
When using mode 3 (custom) the blend values must be specified with SetObjectBlendModes otherwise the object will not be transparent.
Definition
SetObjectTransparency( objID, mode )
void agk::SetObjectTransparency( uint32_t objID, int mode )
Parameters
objID - The ID of the object to modify.
mode - The transparency mode to use for this object.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectUVOffset.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectUVOffset.htm
deleted file mode 100644
index 1fc1bbee..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetObjectUVOffset.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectUVOffset - AGK Help
-
-
-
-
-
-
-
Changes the point light to a new color. Values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate things and values less than 0 will take light away.
Definition
SetPointLightColor( lightID, red, green, blue )
void agk::SetPointLightColor( uint32_t lightID, int red, int green, int blue )
Parameters
lightID - The ID of the light to modify.
red - The red component of the light color.
green - The green component of the light color.
blue - The blue component of the light color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightMode.htm
deleted file mode 100644
index 978902d5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPointLightMode - AGK Help
-
-
-
-
-
-
-
Sets the point light to vertex or pixel mode. Vertex mode is faster but pixel mode has better quality. By default lights are created in vertex mode. A mesh can be lit by up to 8 vertex lights and 4 pixel lights at a time, if you add more lights than this then the closest lights will be used by the mesh.
Definition
SetPointLightMode( lightID, mode )
void agk::SetPointLightMode( uint32_t lightID, int mode )
Parameters
lightID - The ID of the light to modify.
mode - 0 for vertex, 1 for pixel mode.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightPosition.htm
deleted file mode 100644
index 01e0f7a1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetPointLightPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPointLightPosition - AGK Help
-
-
-
-
-
-
-
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value1 - The X or R component of the new value
value2 - The Y or G component of the new value
value3 - The Z or B component of the new value
value4 - The W or A component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayFloatByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayFloatByName.htm
deleted file mode 100644
index 8a271c76..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayFloatByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShaderConstantArrayFloatByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetShaderConstantArrayFloatByName
SetShaderConstantArrayFloatByName
Description
Sets a shader constant array index by name, the constant must be marked as "uniform" in the shader source. Array indices start at 0, if the array index is out of bounds then it will be ignored and no changes will be made. This will affect all objects drawn using this shader. This command can only set arrays of floats
Definition
SetShaderConstantArrayFloatByName( shaderID, szName, arrayIndex, value )
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The index of the element within the array to modify.
value - The new value to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec2ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec2ByName.htm
deleted file mode 100644
index 46152825..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec2ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShaderConstantArrayVec2ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetShaderConstantArrayVec2ByName
SetShaderConstantArrayVec2ByName
Description
Sets a shader constant array index by name, the constant must be marked as "uniform" in the shader source. Array indices start at 0, if the array index is out of bounds then it will be ignored and no changes will be made. This will affect all objects drawn using this shader. This command can only set arrays of vec2
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value1 - The X component of the new value
value2 - The Y component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec3ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec3ByName.htm
deleted file mode 100644
index bab69f43..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec3ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShaderConstantArrayVec3ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetShaderConstantArrayVec3ByName
SetShaderConstantArrayVec3ByName
Description
Sets a shader constant array index by name, the constant must be marked as "uniform" in the shader source. Array indices start at 0, if the array index is out of bounds then it will be ignored and no changes will be made. This will affect all objects drawn using this shader. This command can only set arrays of vec3.
Note that arrays of vec3 have an inefficient use of space and are padded to vec4, so may be slghtly slower than using an array of vec4.
szName - The name of the constant to change, as defined in the shader source file.
arrayIndex - The element of the array to modify.
value1 - The X component of the new value
value2 - The Y component of the new value
value3 - The Z component of the new value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec4ByName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec4ByName.htm
deleted file mode 100644
index e561a089..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShaderConstantArrayVec4ByName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShaderConstantArrayVec4ByName - AGK Help
-
-
-
-
-
-
-
-Home > Commands > 3D > SetShaderConstantArrayVec4ByName
SetShaderConstantArrayVec4ByName
Description
Sets a shader constant array index by name, the constant must be marked as "uniform" in the shader source. Array indices start at 0, if the array index is out of bounds then it will be ignored and no changes will be made. This will affect all objects drawn using this shader. This command can only set arrays of vec4
Sets a shader constant by name, the constant must be marked as "uniform" in the shader source. This will affect all objects drawn using this shader. All shader values have 1 to 4 components, this command accepts 4 values and discards any that are not used by the named variable.
Determines what AGK should do when it encounters an error when compiling a shader, or is told to load a shader that is not supported by the current device. The modes are: 0 = Report all compile errors and unsupported shaders as AGK errors 1 = Only report compile errors, unsupported shaders will fail silently 2 = Both compile errors and unsupported shaders will fail silently If a shader fails to load silently then you can check if it was successful by using GetShaderExists with the corresponding ID. Normal AGK errors such as missing shader files or using the wrong command for the type of shader you are loading will continue to report errors in the normal way regardless of the setting of shader error mode.
Definition
SetShaderErrorMode( mode )
void agk::SetShaderErrorMode( uint32_t mode )
Parameters
mode - The error mode to use from now on, default is 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowBias.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowBias.htm
deleted file mode 100644
index c877dbd9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowBias.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowBias - AGK Help
-
-
-
-
-
-
-
Sets the bias to shift shadows so that object surfaces don't shadow themselves, default is 0.001. This can help prevent shadow artifacts on surfaces that are in light but also casting a shadow behind themselves.
Definition
SetShadowBias( bias )
void agk::SetShadowBias( float bias )
Parameters
bias - The distance to shift shadows
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowCascadeValues.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowCascadeValues.htm
deleted file mode 100644
index b2b081cf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowCascadeValues.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowCascadeValues - AGK Help
-
-
-
-
-
-
-
When using cascade shadow maps (SetShadowMappingMode 3), this command sets the range that each cascade map will cover. In total there are 4 cascade shadow maps, the fourth one always covers the entire shadowed area (cascade4 = 1.0), by default the third cascade covers half the shadowed area (cascade3 = 0.5), the second cascade covers a quarter of the shadowed area (cascade2 = 0.25), and the first cascade covers one eighth of the shadowed area (cascade1 = 0.125). Since all the cascade shadow maps use the same resolution, the smaller the area it covers the greater the shadow detail will be in that area. The cascade shadow maps are ordered so that the smallest one is closest to the camera, and the largest is the furthest away. In this way the shadows close to the camera should have high detail whilst the ones furthest away, which area less noticeable, will have lower detail. Note that whilst using a smaller area for a particular cascade will increase the shadow quality, it will reduce the area which that cascade covers, so shadow quality will drop to the next level sooner as the distance from the camera increases.
Cascade levels must be in the range 0.0 to 1.0, and each level must be greater than the previous level, i.e. cascade2 must be greater than cascade1, and so on. If these rules are broken then this command will do nothing.
Limits the directional light angle to steps of the given size rather than being a continuous value. This can prevent shadow shimmering if the directional light is slowly changing its angle, such as the sun moving across the sky. By default this is set to 0 which disables the step size and keeps the angle as a continuous value. Values in the range 0.1 to 2.0 seem to work best. This only applies if the SetShadowMappingMode is set to Uniform.
Definition
SetShadowLightStepSize( step )
void agk::SetShadowLightStepSize( float step )
Parameters
step - The light angle step size in degrees
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMapSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMapSize.htm
deleted file mode 100644
index 8e234287..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMapSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowMapSize - AGK Help
-
-
-
-
-
-
-
Sets the shadow map resolution in pixels. Good values are 512x512 or 1024x1024, it does not need to be a power of two in size. The higher the resolution the better quality the shadows will be, although performance will be lower with higher resolution shadow maps.
Definition
SetShadowMapSize( width, height )
void agk::SetShadowMapSize( int width, int height )
Parameters
width - The width in pixels to use for the shadow map
height - The height in pixels to use for the shadow map
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMappingMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMappingMode.htm
deleted file mode 100644
index a60f3e1a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowMappingMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowMappingMode - AGK Help
-
-
-
-
-
-
-
Turns shadow mapping on or off, by default this is off. Shadows are only generated by the the global directional light, which can be controlled with the SetSunDirection command. Note that this is not guaranteed to be supported on all devices, you can check for the current device by calling GetShadowMappingSupported. There are currently three shadow modes that can be used, mode 1 uses Uniform shadow mapping which has lower but consistent quality. Mode 2 uses Light Space Perspective shadow mapping (LiPSM) which has higher quality in most cases but if the camera is looking in the same direction as the light then it is no better than Uniform shadow mapping. Light Space Perspective also suffers from shadow shimmering as the camera moves whereas Uniform is more stable. Both have about the same performance. Mode 3 uses Cascade shadow mapping which uses multiple shadow maps to maintain high quality near the camera whilst still allowing lower quality shadows in the distance. This method has much lower performance than the previous two methods but results in better quality shadows in all cases.
Note that when using modes 1 and 2, texture stage 7 on all objects receiving shadow is reserved for the shadow map. When using shadow mode 3 (cascade shadows) then texture stages 4, 5, 6, and 7 are reserved for the shadow maps.
Definition
SetShadowMappingMode( mode )
void agk::SetShadowMappingMode( int mode )
Parameters
mode - 0 to turn it off, 1 to use Uniform shadows, 2 to use LiPSM shadows, 3 to use Cascade shadows
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowRange.htm
deleted file mode 100644
index b3d949b9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowRange - AGK Help
-
-
-
-
-
-
-
Sets the range from the camera that shadows will be drawn. Ideally this would be set to the camera far range from SetCameraRange, but drawing shadows all the way to the far plane may take some quality away from those shadows closer to the camera. Therefore setting the shadow range lower than the camera far range may improve shadow quality at the expense of distant objects not having shadows. The actual shadow range will be the lower value of the the camera far range and this shadow range, so you can safely set it larger than the camera far range without any effect on quality. If you later adjust the camera far range then the shadow range will not change accordingly, you must set it separately.
Use a value of -1 to ignore this value and always use the camera far range for shadows. By default this is set to -1.
Definition
SetShadowRange( range )
void agk::SetShadowRange( float range )
Parameters
range - The distance to stop drawing shadows, -1 to use the camera far range instead
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowSmoothing.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowSmoothing.htm
deleted file mode 100644
index 294f58ce..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetShadowSmoothing.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetShadowSmoothing - AGK Help
-
-
-
-
-
-
-
Sets the smoothing mode for the shadow map. Mode 0 turns smoothing off and results in the fastest shadows Mode 1 uses 4 fixed samples to smooth out the shadows Mode 2 uses 4 random samples to avoid banding produced by mode 1 Mode 3 uses 16 fixed samples Mode 4 uses 16 random samples and is the slowest
Definition
SetShadowSmoothing( mode )
void agk::SetShadowSmoothing( int mode )
Parameters
mode - The smoothing mode to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonColor.htm
deleted file mode 100644
index 8d41f913..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkyBoxHorizonColor - AGK Help
-
-
-
-
-
-
-
Sets the color that will appear at the horizon. By default this is 255,255,255. Colors should be in the range 0 to 255, although this is not limited and values outside this range will be accepted, including negative values.
Definition
SetSkyBoxHorizonColor( red, green, blue )
void agk::SetSkyBoxHorizonColor( int red, int green, int blue )
Parameters
red - The red component of the sky color
green - The green component of the sky color
blue - The blue component of the sky color
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonSize.htm
deleted file mode 100644
index 700c121b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxHorizonSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkyBoxHorizonSize - AGK Help
-
-
-
-
-
-
-
Sets the size and height of the horizon. By default the size is 4.0 and the height is 0.0. This affects how high the horizon color extends before becoming the sky color. The height value is in world coordinates and everything at or below this height will be the horizon color. Above this height the horizon is blended into the sky color until at a certain point only the sky color remains. The horizon will always be at the specified height in the world, even if the camera moves up and down. The size value is not relative to any world units and needs to be set to your liking, then effective range is from 0.1 to about 50.0, but can be set higher. If the view range is small then the height value will appear to have greater effect as the sky box is drawn closer to the camera than if the view range was larger. For example a horizon height of 100 with a small view range will appear very high, but when the view range is larger the camera is viewing the horizon from much further away, so a height change of 100 units will have less effect.
Sets the color that will fill the majority of the sky. By default this is 161,183,209. Colors should be in the range 0 to 255, although this is not limited and values outside this range will be accepted, including negative values.
Definition
SetSkyBoxSkyColor( red, green, blue )
void agk::SetSkyBoxSkyColor( int red, int green, int blue )
Parameters
red - The red component of the sky color
green - The green component of the sky color
blue - The blue component of the sky color
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunColor.htm
deleted file mode 100644
index 1595548c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkyBoxSunColor - AGK Help
-
-
-
-
-
-
-
Sets the color of the sun, if visible. By default this is 255,230,179. Colors should be in the range 0 to 255, although this is not limited and values outside this range will be accepted, including negative values. Note that due to the way the sun color is added to the sky color, sun colors darker than the sky color may result in an unexpected sun color where one or more color components is completely missing. If this happens then scaling up the sun color, going above 255 if necessary, will remove it. The sun color has some affect on the size of the sun in addition to SetSkyBoxSunSize, with brighter colors making it bigger.
Definition
SetSkyBoxSunColor( red, green, blue )
void agk::SetSkyBoxSunColor( int red, int green, int blue )
Parameters
red - The red component of the sky color
green - The green component of the sky color
blue - The blue component of the sky color
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunSize.htm
deleted file mode 100644
index d4f6ddc3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxSunSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkyBoxSunSize - AGK Help
-
-
-
-
-
-
-
Sets the size of the sun and its halo, if visible. The size values are not relative to any world units and must be in the range 1.0 to 100.0. The default values are 5.0 for the sun and 50.0 for the halo.
Sets whether the sky box will draw a sun at the location of the current directional light. It's position can be set with SetSunDirection, but it will not use the directional light color, you can set that separately with SetSkyBoxSunColor. Note that setting the sun visible changes the sky box drawing calculations to make them more complicated which may have an impact on performance.
Definition
SetSkyBoxSunVisible( visible )
void agk::SetSkyBoxSunVisible( int visible )
Parameters
visible - 1 to draw the sun, 0 to hide it
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxVisible.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxVisible.htm
deleted file mode 100644
index 700b77dd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSkyBoxVisible.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkyBoxVisible - AGK Help
-
-
-
-
-
-
-
Sets whether the sky box object is visible or not. By default it is not visible. The sky box will always appear behind all other 3D objects and will be drawn at the maximum visible view range, which is set with SetCameraRange. The sky box has an optional sun that will be drawn to match the current directional light direction, set with SetSunDirection. However it will not use the directional light color, so you can have the directional light as one color and the sky box sun as another color.
Definition
SetSkyBoxVisible( active )
void agk::SetSkyBoxVisible( int active )
Parameters
active - 1 to show the skybox, 0 to hide it
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunActive.htm
deleted file mode 100644
index 642f4802..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSunActive - AGK Help
-
-
-
-
-
-
-
Sets a new color for the global directional light. Values should be in the range 0-255 but are not limited to it. Values greater than 255 will over saturate things and values less than 0 will take light away.
Definition
SetSunColor( red, green, blue )
void agk::SetSunColor( int red, int green, int blue )
Parameters
red - The red component of the new color.
green - The green component of the new color.
blue - The blue component of the new color.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunDirection.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunDirection.htm
deleted file mode 100644
index f909df69..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3D/SetSunDirection.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSunDirection - AGK Help
-
-
-
-
-
-
-
Stops any animation that is currently playing on the object and leaves the bones in their current position. If the object is currently tweening then the tween will also be stopped with the bones left mid-tween.
Definition
StopObjectAnimation( objID )
void agk::StopObjectAnimation( uint32_t objID )
Parameters
objID - The ID of the object to modify.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles.htm
deleted file mode 100644
index fe020199..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-3DParticles - AGK Help
-
-
-
-
-
-
-
Adds a color change at a certain point in a particle's life. For example a color added with time=1 will make the particle equal the given color when it has been alive for 1 second. If color interpolation is turned on using Set3DParticlesColorInterpolation the particle will gradually transform from its current color to the next color. For example if you add three colors, red when time=1, green when time=2, and blue when time=3, then the particle will start its life as red (as that is the nearest color) and remain completely red until it is 1 second old. When the particle is between 1 and 2 seconds old it will gradually change from red to green until it is 2 seconds old, at this point it is completely green. When the particle is between 2 and 3 seconds old it will gradually change from green to blue until it is 3 seconds old, at this point it is completely blue. The particle will remain completely blue until the end of its life as no other colors have been added.
Definition
Add3DParticlesColorKeyFrame( ID, time, red, green, blue, alpha )
Adds a force that will act at a given time in every particle's life. For example a force set to start at time 2 and end at time 3 will start influencing particles when they have been alive for 2 seconds. It will continue to act on those particles until they have been alive for 3 seconds. The force's influence is defined by an x, y, and z value that represent acceleration in units per second. For example a force with x=5 will adjust a particle's horizontal speed by adding 5 units for every second the force is active, if the force is only active for 0.5 seconds the particle would then be moving 2.5 units per second faster in the X direction. Multiple forces can be acting on a particle at the same time if their timings overlap.
Definition
Add3DParticlesForce( ID, starttime, endtime, x, y, z )
void agk::Add3DParticlesForce( uint32_t ID, float starttime, float endtime, float x, float y, float z )
Parameters
ID - The ID of the emitter to modify.
starttime - The time in a particle's life at which this force should start having an effect.
endtime - The time in a particle's life at which this force should stop having an effect.
x - The x component of the force's influence on a particle's speed in units per second.
y - The y component of the force's influence on a particle's speed in units per second.
z - The z component of the force's influence on a particle's speed in units per second.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Add3DParticlesScaleKeyFrame.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Add3DParticlesScaleKeyFrame.htm
deleted file mode 100644
index 62f0c378..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Add3DParticlesScaleKeyFrame.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Add3DParticlesScaleKeyFrame - AGK Help
-
-
-
-
-
-
-
Adds a size change at a certain point in a particle's life. Scale values are relative to the value set by Set3DParticlesSize so a scale of 2 means double its normal size and 0.5 is half its normal size. A scale added with time=1 will make the particle gradually transform to the given until it has been alive for 1 second when it will match the given size. The particle will then gradually transform from that size to the next size (if a next size exists).
Definition
Add3DParticlesScaleKeyFrame( ID, time, scale )
void agk::Add3DParticlesScaleKeyFrame( uint32_t ID, float time, float scale )
Parameters
ID - The ID of the emitter to modify.
time - The time that particles should become this size.
scale - The scale relative to the normal particle size, must be greater then or equal to 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Clear3DParticlesColors.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Clear3DParticlesColors.htm
deleted file mode 100644
index ef925c9d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Clear3DParticlesColors.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Clear3DParticlesColors - AGK Help
-
-
-
-
-
-
-
Creates a particle emitter with the given ID and the given location in world coordinates. Particle emitters create a flow of small sprites that last for a fixed amount of time before disappearing. The particles can be influenced by forces during their life using Add3DParticlesForce. They can also change color over time using Add3DParticleColorKeyFrame.
Particles cannot be modified individually and behave as a group using the same texture. This allows AGK to draw them more efficiently than a similar number of normal objects.
Definition
integer Create3DParticles( x, y, z )
uint32_t agk::Create3DParticles( float x, float y, float z )
Create3DParticles( ID, x, y, z )
void agk::Create3DParticles( uint32_t ID, float x, float y, float z )
Parameters
x - The x coordinate to position this emitter.
y - The y coordinate to position this emitter.
z - The z coordinate to position this emitter.
ID - The ID to use when referencing this 3D particle emitter.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Delete3DParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Delete3DParticles.htm
deleted file mode 100644
index 2524db76..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Delete3DParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Delete3DParticles - AGK Help
-
-
-
-
-
-
-
Immediately draws the particles to the backbuffer at its current position, size, and rotation. This is useful if you want to take control of the order that things are drawn. If you do this then be sure to make the particles invisible before calling Render or Sync otherwise the particles will be drawn twice
Definition
Draw3DParticles( ID )
void agk::Draw3DParticles( uint32_t ID )
Parameters
ID - The ID of the emitter to draw.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesActive.htm
deleted file mode 100644
index ce9dc0e4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesActive - AGK Help
-
-
-
-
-
-
-
Returns the first emitter angle in degrees. This value represents the amount of deviation a particle can have from the emitter direction when emitted. An angle of 0 means there is no deviation while an angle of 360 means a particle can be travelling in any direction in that plane when emitted.
Definition
float Get3DParticlesDirectionRange1( ID )
float agk::Get3DParticlesDirectionRange1( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionRange2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionRange2.htm
deleted file mode 100644
index 49355e42..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionRange2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesDirectionRange2 - AGK Help
-
-
-
-
-
-
-
Returns the second emitter angle in degrees. This value represents the amount of deviation a particle can have from the emitter direction when emitted. An angle of 0 means there is no deviation while an angle of 360 means a particle can be travelling in any direction in that plane when emitted.
Definition
float Get3DParticlesDirectionRange2( ID )
float agk::Get3DParticlesDirectionRange2( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionX.htm
deleted file mode 100644
index 8d031eff..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesDirectionX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the emitter direction, which is the base direction that particles will be moving when they are created. Particles can vary their direction slightly when emitted based on the current Set3DParticlesDirection value.
Definition
float Get3DParticlesDirectionX( ID )
float agk::Get3DParticlesDirectionX( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionY.htm
deleted file mode 100644
index 7b0a8f93..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesDirectionY - AGK Help
-
-
-
-
-
-
-
Returns the y component of the emitter direction, which is the base direction that particles will be moving when they are created. Particles can vary their direction slightly when emitted based on the current Set3DParticlesDirection value.
Definition
float Get3DParticlesDirectionY( ID )
float agk::Get3DParticlesDirectionY( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionZ.htm
deleted file mode 100644
index 946954aa..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesDirectionZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesDirectionZ - AGK Help
-
-
-
-
-
-
-
Returns the z component of the emitter direction, which is the base direction that particles will be moving when they are created. Particles can vary their direction slightly when emitted based on the current Set3DParticlesDirection value.
Definition
float Get3DParticlesDirectionZ( ID )
float agk::Get3DParticlesDirectionZ( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesExists.htm
deleted file mode 100644
index fca184e7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesExists - AGK Help
-
-
-
-
-
-
-
Returns the current life of particles in seconds. It is not possible to get the current life of individual particles. This value is independent of frame rate.
Definition
float Get3DParticlesLife( ID )
float agk::Get3DParticlesLife( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesMaxReached.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesMaxReached.htm
deleted file mode 100644
index ee95a554..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesMaxReached.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesMaxReached - AGK Help
-
-
-
-
-
-
-
Returns 1 if the emitter has emitted the number of particles specified in Set3DParticlesMax and all emitted particles have since died, otherwise returns 0. If the max is set at -1 this will always return 0. To reset the count and make the emitter start emitting again use Reset3DParticleCount.
Definition
integer Get3DParticlesMaxReached( ID )
int agk::Get3DParticlesMaxReached( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesSize.htm
deleted file mode 100644
index d2099f0c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesSize - AGK Help
-
-
-
-
-
-
-
Returns 0 if the given particles have been set as invisible using Set3DParticlesVisible, or 1 if they are currently set as visible (default). This does not check if the particles are within the visible viewport.
Definition
integer Get3DParticlesVisible( ID )
int agk::Get3DParticlesVisible( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesX.htm
deleted file mode 100644
index f6d3f7d8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesX - AGK Help
-
-
-
-
-
-
-
Returns the current X position of the emitter, this is the point that new particles will appear from. It is not possible to get the position of individual particles, they are merely created, follow a path influenced by forces, and then disappear.
Definition
float Get3DParticlesX( ID )
float agk::Get3DParticlesX( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesY.htm
deleted file mode 100644
index c1f1a52a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesY - AGK Help
-
-
-
-
-
-
-
Returns the current Y position of the emitter, this is the point that new particles will appear from. It is not possible to get the position of individual particles, they are merely created, follow a path influenced by forces, and then disappear.
Definition
float Get3DParticlesY( ID )
float agk::Get3DParticlesY( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesZ.htm
deleted file mode 100644
index 15c0b189..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Get3DParticlesZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DParticlesZ - AGK Help
-
-
-
-
-
-
-
Returns the current Z position of the emitter, this is the point that new particles will appear from. It is not possible to get the position of individual particles, they are merely created, follow a path influenced by forces, and then disappear.
Definition
float Get3DParticlesZ( ID )
float agk::Get3DParticlesZ( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Offset3DParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Offset3DParticles.htm
deleted file mode 100644
index 6c0168c6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Offset3DParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Offset3DParticles - AGK Help
-
-
-
-
-
-
-
Immediately moves all existing particles by the given offset. For example an offset of x=3,y=5,z=0 would move all particles to the right by 3 units and down 5 units. This does not affect the particle emitter but can be used in conjunction with Set3DParticlesPosition to move both the emitter and the particles that already exist.
Definition
Offset3DParticles( ID, x, y, z )
void agk::Offset3DParticles( uint32_t ID, float x, float y, float z )
Parameters
ID - The ID of the emitter to modify.
x - The distance to move the particles in the X direction.
y - The distance to move the particles in the Y direction.
z - The distance to move the particles in the Z direction.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Reset3DParticleCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Reset3DParticleCount.htm
deleted file mode 100644
index 8f7102ab..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Reset3DParticleCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Reset3DParticleCount - AGK Help
-
-
-
-
-
-
-
Resets the emitted particle count when the emitter has been set with a maximum number of particles using Set3DParticlesMax. You can check when the emitter has reached its maximum count using Get3DParticlesMaxReached. If the maximum is set at -1 then this command has no effect.
Definition
Reset3DParticleCount( ID )
void agk::Reset3DParticleCount( uint32_t ID )
Parameters
ID - The ID of the emitter to modify.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesActive.htm
deleted file mode 100644
index c16b3e05..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesActive - AGK Help
-
-
-
-
-
-
-
Sets whether the emitted particles are updated every frame. Set to 1 to update particles as normal, 0 to pause them. Particles will continue to be visible when paused. To hide particles use Set3DParticlesVisible.
Definition
Set3DParticlesActive( ID, active )
void agk::Set3DParticlesActive( uint32_t ID, int active )
Parameters
ID - The ID of the emitter to modify.
active - 1=normal, 0=pause
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesColorInterpolation.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesColorInterpolation.htm
deleted file mode 100644
index d2e13749..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesColorInterpolation.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesColorInterpolation - AGK Help
-
-
-
-
-
-
-
Sets the interpolation mode for color changes. Colors can be set at certain points in a particle's life using Add3DParticlesColorKeyFrame and the particle will either blend between these colors (smooth interpolation) or quickly change when it reaches the next color change (no interpolation).
Definition
Set3DParticlesColorInterpolation( ID, mode )
void agk::Set3DParticlesColorInterpolation( uint32_t ID, int mode )
Parameters
ID - The ID of the emitter to modify.
mode - 1=smooth interpolation, 0=no interpolation
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesDirection.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesDirection.htm
deleted file mode 100644
index 731934db..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesDirection.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesDirection - AGK Help
-
-
-
-
-
-
-
Sets the initial direction of new particles when they emerge from the emitter. This can be used along with the Set3DParticlesDirectionRange command to set the range of variation from this initial direction that new particles can choose. This also sets the initial speed of the particles by taking the length of the vector as units per second. For example if the initial direction is vx=10, vy=-15, vz=0 particles will begin by moving in the X direction at a rate of 10 units per second and in the Y direction at a rate of 15 units per second and will continue this rate of motion for their entire life unless influenced by forces added with Add3DParticlesForce.
Sets the range of direction in degrees that a particle can choose when it first starts. This takes the base direction set with Set3DParticlesDirection and adjusts it by a random amount between 0 and angle1/2 degrees in one direction and angle2/2 degrees in the perpendicular direction. For example an angle1 of 0 and an angle2 of 0 would mean that all new particles follow exactly the direction specified earlier. An angle1 of 360 and an angle2 of 0 would mean that particles could appear travelling in any direction in a flat circle, whilst an angle1 of 360 and an angle2 of 180 would mean that particles would travel in any direction in a sphere. The angles form a pyramid aligned with the particle emitter direction specified earlier. Angle1 must be between 0 and 360, angle2 must be between 0 and 180.
Sets the frequency of new particle generation. The freq value states how many particles should be produced per second, this is independent of frame rate. This is one of the two values that affects the number of particles generated, the other being SetParticlesLife. The maximum number of particles that can be on screen at any one time is freq*life, with life being the number of seconds a particle lives before it disappears.
Sets the life of particles in seconds once they have been emitted. After particles have been alive for the given number of seconds they will disappear. This is one of the two values that affects the number of particles generated, the other being Set3DParticlesFrequency. The maximum number of particles that can be on screen at any one time is freq*life, with freq being the number of particles emitted per second. This value is independent of frame rate.
Definition
Set3DParticlesLife( ID, time )
void agk::Set3DParticlesLife( uint32_t ID, float time )
Parameters
ID - The ID of the emitter to modify.
time - The time in seconds that a particle is visible.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesMax.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesMax.htm
deleted file mode 100644
index a8c0256c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesMax.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesMax - AGK Help
-
-
-
-
-
-
-
Sets the maximum number of particles that will be emitted. If this value is equal to -1 then the number is infinite. The emitter will keep a count of the total number of particles it emits and stop when the limit is reached. To check if the emitter has reached its limit use Get3DParticlesMaxReached. To reset the count and make it start emitting again use Reset3DParticleCount.
Definition
Set3DParticlesMax( ID, max )
void agk::Set3DParticlesMax( uint32_t ID, int max )
Parameters
ID - The ID of the emitter to modify.
max - The maximum number of particles to emit
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesPosition.htm
deleted file mode 100644
index 1e5b1d09..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesPosition - AGK Help
-
-
-
-
-
-
-
Sets the position of the 3D particle emitter. This is the position that new particles will emerge from and does not affect particles that are already visible.
Definition
Set3DParticlesPosition( ID, x, y, z )
void agk::Set3DParticlesPosition( uint32_t ID, float x, float y, float z )
Parameters
ID - The ID of the emitter to modify.
x - The new x coordinate for the emitter in world coordinates.
y - The new y coordinate for the emitter in world coordinates.
z - The new z coordinate for the emitter in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesSize.htm
deleted file mode 100644
index c2277d76..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesSize - AGK Help
-
-
-
-
-
-
-
Sets the size of all particles in world coordinates. Setting a large number of particles to a large size will perform poorly on mobile devices that have a low fill rate (number of pixels it can draw per second).
Sets the area around the emitter where new particles may appear. The values are relative to the emitter position, for example a zone of 0,0,0,0 would mean that all particles start on the emitter position point. A zone of -10 in x and +10 x, with y and z being 0 (-10,0,0,10,0,0) would create a line centered on the emitter position that particles would randomly appear along. A box zone where x, y, and z are non-zero would mean that particles could start at any point inside the box.
Set the particle transparency to a particular setting, with a choice of no transparency, alpha transparency, and additive blending. By default particles are created with alpha transparency.
Definition
Set3DParticlesTransparency( ID, mode )
void agk::Set3DParticlesTransparency( uint32_t ID, int mode )
Parameters
ID - The ID of the particle emitter to modify.
mode - The transparency mode for these particles, 0=off, 1=alpha transparency, 2=additive blending
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesVelocityRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesVelocityRange.htm
deleted file mode 100644
index 3a30ac50..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Set3DParticlesVelocityRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DParticlesVelocityRange - AGK Help
-
-
-
-
-
-
-
Sets a minimum and maximum multiplier that will affect particles being emitted. This can be used to ensure that there will be some variation in velocity when particles are emitted.
Sets whether the emitted particles are drawn. Set to 1 to show particles, 0 to hide them. Particles will still update whilst hidden, you can stop particles updating with Set3DParticlesActive
Definition
Set3DParticlesVisible( ID, visible )
void agk::Set3DParticlesVisible( uint32_t ID, int visible )
Parameters
ID - The ID of the emitter to modify.
visible - 1=show, 0=hide
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Update3DParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Update3DParticles.htm
deleted file mode 100644
index 0bf7fe07..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DParticles/Update3DParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Update3DParticles - AGK Help
-
-
-
-
-
-
-
Immediately advances the particle emitter by the given amount of time. If you want to advance a high frequency emitter by a large time period such as 1 second you should call this command multiple times with a small time value such as 0.02 so that it creates new particles in batches and spreads them out evenly. Calling it once with a large time value of 1 second would create a huge batch of particles all at once and move them together as a blob instead of spreading them out.
Definition
Update3DParticles( ID, time )
void agk::Update3DParticles( uint32_t ID, float time )
Parameters
ID - The ID of the emitter to check.
time - The time in seconds to advance the emitter.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics.htm
deleted file mode 100644
index 3f318020..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-3DPhysics - AGK Help
-
-
-
-
-
-
-
Creates a ragdoll bone capsule between the objects start and end bone location. Returns ragdoll bone ID. If this command fails to create a bone it will return a -1.
Creates a 3D physics Character Controller for the model. Character controller can be created on the X, Y, or Z axis. For example a standing character would be on the Y axis. A lying down character could be on the X or Z. If the model has an offset from origin the objOffsetVec3 is neede to line up the character controller with the object. If the object does not face down the positive Z axis use the objOrientationVec3 to adjust. Crouch scale adjusts the crouch capsule size to fit the height of your crouched model.
Creates a Cone Twist joint between object a and b. The rotationVec3 parameter should be an axis in the form (0,1,0) for vertical, (1,0,0) for horizontal along the X axis, (0,0,1) for horizontal along the Z axis, or any combination of these. The rotation vector does not need to be normalized. The joint will spin along the given axis and rotate freely within a cone along this axis. The cone limits can be specified with Set3DPhysicsJointConeTwistLimits. Returns a joint ID.
Creates a hinge joint between object a and b. The rotationVec3 parameter should be an axis in the form (0,1,0) for vertical, (1,0,0) for horizontal along the X axis, (0,0,1) for horizontal along the Z axis, or any combination of these. The rotation vector does not need to be normalized. Returns a joint ID.
Deletes the existing physics body and creates a box collision shape and kinematic physics body for the object. A kinematic body can be moved by using the agk commands for position and rotation of objects. Note: A kinematic body can only interact with a dynamic body and will pass through a static body.
Starts the creation of a Physics ragdoll for the object. You must add at least one bone to the ragdoll before you call Finalize3DPhysicsRagDoll(). The models bones must have a zero rotation in the default position/first frame of the animation.
Creates a Slider joint between object a and b. The rotationVec3 parameter should be an axis in the form (0,1,0) for vertical, (1,0,0) for horizontal along the X axis, (0,0,1) for horizontal along the Z axis, or any combination of these. The rotation vector does not need to be normalized. Returns a joint ID.
You must create the the Physics world before calling any other physics commands. Create3DPhysicsWorld Creates the physics world using the default scale factor of 40. This function will create the physics world with a different scale factor. The scale is not the size of the world, it is the factor by which all the data passed in is scaled down by to convert it to the Bullet Physics scale for the physics calculations. Then the data from Bullet is scaled up before it is passed to the AGK 3D world. The default scale factor will be correct if your average character size is 72 AGK units tall. Then the default gravity of -10.0 meters per second on the Y axis will give the correct visual result. The Bullet Physics solver has a minimum size for objects. Objects below this size will cause instability with the solver. At the default scale factor of 40 the smallest dimension that the solver can handle is about 3.5 AGK units. To calculate the scale factor first determine your character's height in meters, a character of 72 units tall would be 1.8288 meters (or 6ft). Then divide the character's height in units by the characters height in meters, for this example the scale factor would be (72 / 1.8) = 40.
Call in loop before step physics. Draws the debug overlay of the 3D physics world. Note: This command does not currently work needs the ability to draw wireframe in AGK.
Definition
Debug3DPhysicsWorld()
void agk::Debug3DPhysicsWorld()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Delete3DPhysicsBody.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Delete3DPhysicsBody.htm
deleted file mode 100644
index 60ce0ee8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Delete3DPhysicsBody.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Delete3DPhysicsBody - AGK Help
-
-
-
-
-
-
-
Finishes the construction of the ragdoll. Call this command when you have added all the bones and joints for your ragdoll. Make sure you call Create3DPhysicsRagDoll first before calling this command.
Definition
Finalize3DPhysicsRagDoll()
void agk::Finalize3DPhysicsRagDoll()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Get3DPhysicsActiveObjects.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Get3DPhysicsActiveObjects.htm
deleted file mode 100644
index 0e9011d4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Get3DPhysicsActiveObjects.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Get3DPhysicsActiveObjects - AGK Help
-
-
-
-
-
-
-
Returns true if there is a closest contact vector and fills the vector outVec3ID. First create a vector with CreateVector3() then pass in the ID. The vector you have created and passed in will be filled with the results.
Returns true if there is a contact vector and fills the vector outVec3ID. First create a vector with CreateVector3() then pass in the ID. The vector you have created and passed in will be filled with the results.
Fills the vector passed in with the Normals values from the ray. first create a physics ray then cast the ray before calling Get3DPhysicsRayCastNormalVector().
Returns true if there is a contact vector and fills the vector outPosVec3. First create a vector with CreateVector3() then pass in the ID. The vector you have created and passed in will be filled with the results.
Returns the objects collision group. By default all physics objects are in one group and are not masked. If you use collision groups and masks you must use them for all physics objects.
Definition
integer GetObject3DPhysicsGroup( objID )
int agk::GetObject3DPhysicsGroup( uint32_t objID )
Parameters
objID - object ID
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsLinearDamp.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsLinearDamp.htm
deleted file mode 100644
index 46e37ed8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsLinearDamp.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObject3DPhysicsLinearDamp - AGK Help
-
-
-
-
-
-
-
Returns the objects collision mask. By default all physics objects are in one group and are not masked. If you use collision groups and masks you must use them for all physics objects.
Definition
integer GetObject3DPhysicsMask( objID )
int agk::GetObject3DPhysicsMask( uint32_t objID )
Parameters
objID - object ID
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsMass.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsMass.htm
deleted file mode 100644
index 55f4b5c7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/GetObject3DPhysicsMass.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetObject3DPhysicsMass - AGK Help
-
-
-
-
-
-
-
Fills outPosVec3 with contact position. Returns false if no contact. First create a vector with CreateVector3() then pass in the ID. The vector you have created and passed in will be filled with the results.
This deletes the physics world and all the shapes, rigid bodies, joints, joint motors, ragdolls and character controllers. Then recreates an empty physics world with default scale and gravity. You will then need to recreate all the shapes, rigid bodies, joints, joint motors, ragdolls and character controllers that you require.
Definition
Reset3DPhysicsWorld()
void agk::Reset3DPhysicsWorld()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Rotate3DPhysicsCharacterController.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Rotate3DPhysicsCharacterController.htm
deleted file mode 100644
index 352dc381..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Rotate3DPhysicsCharacterController.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Rotate3DPhysicsCharacterController - AGK Help
-
-
-
-
-
-
-
Sets the gravity for the character controller. This gravity is not the same as the physics world gravity. and only affects the individual character controller.
Sets the gravity of the physics world, gravity is in meters per second. Gravity is set to ( 0.0, -10.0, 0.0 ) by default. You only need to call this command if you need to change from the default setting.
Definition
Set3DPhysicsGravity( x, y, z )
void agk::Set3DPhysicsGravity( float x, float y, float z )
Sets the damping for the ragdoll being created. The default values should be good for most situations. Only call if you wish to change these values. Must be called before Finalize3DPhysicsRagDoll()
Sets the deactivation time for the ragdoll being created. The default values should be good for most situations. Only call if you wish to change these values. Must be called before Finalize3DPhysicsRagDoll()
Definition
Set3DPhysicsRagdollDeactivationTime( time )
void agk::Set3DPhysicsRagdollDeactivationTime( float time )
Parameters
time - Default value is 0.8
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Set3DPhysicsRagdollSleepingThresholds.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Set3DPhysicsRagdollSleepingThresholds.htm
deleted file mode 100644
index ca12c72f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Set3DPhysicsRagdollSleepingThresholds.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Set3DPhysicsRagdollSleepingThresholds - AGK Help
-
-
-
-
-
-
-
Sets the sleeping thresholds for the ragdoll being created. The default values should be good for most situations. Only call if you wish to change these values. Must be called before Finalize3DPhysicsRagDoll()
Sets the deactivation time for the physics object. This is the amount of time the physics object waits when it comes to rest before it becomes deactivated.
Definition
SetObject3DPhysicsDeactivationTime( objID, time )
void agk::SetObject3DPhysicsDeactivationTime( uint32_t objID, float time )
Parameters
objID - object ID
time -
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/SetObject3DPhysicsFriction.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/SetObject3DPhysicsFriction.htm
deleted file mode 100644
index 9f8067ff..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/SetObject3DPhysicsFriction.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObject3DPhysicsFriction - AGK Help
-
-
-
-
-
-
-
Sets the objects collision group and mask. By default all physics objects are in one group and are not masked. If you use collision groups and masks you must use them for all physics objects in the world.
Sets the collision shape to a cone based on the size passed in. You must first create a physics body for the object or this command will fail. Returns shape ID.
Sets the objects collision shape to a convex hull based on the size of the object. You must first create a physics body for the object or this command will fail.
Sets the objects collision shape to a static triangle mesh based on the size of the object. The object becomes a static object a triangle mesh shape can not be dynamic. You must first create a physics body for the object or this command will fail.
Call before the Sync() command at the bottom of the loop. This will step the physics world. Keeps physics constant regardless of framerate. Not calling this command will pause the physics world action.
Definition
Step3DPhysicsWorld()
void agk::Step3DPhysicsWorld()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Update3DPhysicsPickJoint.htm b/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Update3DPhysicsPickJoint.htm
deleted file mode 100644
index caa5d28a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/3DPhysics/Update3DPhysicsPickJoint.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Update3DPhysicsPickJoint - AGK Help
-
-
-
-
-
-
-
Caches a fullscreen reward video advert for display later using Chartboost. Before calling this function you must have set your ad account details with SetChartboostDetails. Both iOS and Android use caching to preload ads before displaying them. If an ad has already been cached then this will do nothing. Unlike AdMob, reward videos will not automatically start caching with Chartboost unless you call this command. This is because Chartboost uses the same details for both interstitials and reward videos so AGK can't know in advance which you are using. Since video ads can use a lot of mobile data their caching process will not be started automatically. You only need to call this once, after a reward video ad has been displayed a new one will be cached automatically. Failure to load an ad may be because the ad provider has run out of ads to show to users in a particular country. You can check if an ad is waiting to be displayed with GetRewardAdLoadedChartboost.
Definition
CacheRewardAdChartboost()
void agk::CacheRewardAdChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvert.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvert.htm
deleted file mode 100644
index e99ff9a4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvert.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateAdvert - AGK Help
-
-
-
-
-
-
-
Creates an advert for revenue generation. Before calling this function you must have set your ad account details with one of the other commands such as SetAdMobDetails. Not all platforms support all ad providers so setting as many account details as possible will allow AGK to select a suitable ad for this platform.
This advert will typically be a 320x50 banner displayed somewhere around the edge of your app. Creating an ad when one already exists will replace the existing ad. The type parameter can be used to select the size of the banner, 0=Banner(320x50), 1=LargeBanner, 2=MediumRectangle, 3=FullBanner, 4=Leaderboard, 5=SmartBanner, 6=FluidBanner
Definition
CreateAdvert( type, horz, vert, test )
void agk::CreateAdvert( int type, int horz, int vert, int test )
Parameters
type - The size of the banner to create
horz - The horizontal position of the ad, 0=left, 1=center, 2=right
vert - The vertical postion of the ad, 0=top, 1=center, 2=bottom
test - Set to 1 to receive a non paying test ad, 0 to receive a real ad.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvertEx.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvertEx.htm
deleted file mode 100644
index 101b6f4e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/CreateAdvertEx.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateAdvertEx - AGK Help
-
-
-
-
-
-
-
Creates an advert for revenue generation. Before calling this function you must have set your ad account details with one of the other commands such as SetAdMobDetails. Not all platforms support all ad providers so setting as many account details as possible will allow AGK to select a suitable ad for this platform.
This advert will typically be a 320x50 banner displayed somewhere around the edge of your app. Creating an ad when one already exists will replace the existing ad. This is an extended version of the CreateAdvert command that takes optional offset values for positioning the ad. The type parameter can be used to select the size of the banner: 0=Banner(320x50), 1=LargeBanner, 2=MediumRectangle, 3=FullBanner, 4=Leaderboard, 5=SmartBanner, 6=FluidBanner
Returns the current user consent status, it returns one of the following values: -2 = LoadConsentStatusAdMob has not yet been called, you must call it before proceeding further -1 = LoadConsentStatusAdMob is in the process of loading or requesting the user consent status, please wait 0 = Consent status unknown, call RequestConsentAdMob to prompt the user for consent 1 = User has refused consent, any AdMob ads displayed will not use personal information 2 = User has given consent, any AdMob ads displayed will use personal information
Definition
integer GetConsentStatusAdMob()
int agk::GetConsentStatusAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAdMob.htm
deleted file mode 100644
index 769ece88..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFullscreenAdvertLoadedAdMob - AGK Help
-
-
-
-
-
-
-
Returns 1 if there is an AdMob interstitial ad preloaded and ready to be displayed, otherwise 0. If so you can display it with ShowFullscreenAdvertAdMob. Adverts are preloaded as soon as you set your AdMob details and after every fullscreen advert is dismissed by the user. If this command continues to return 0 then ad loading may have failed due to the provider running out of ads and AGK will stop trying to load them. In this case you should try your other ad providers instead. If you find all your ad providers are returning 0 then you can try calling ShowFullscreenAdvertAdMob anyway, it will not display anything as there is nothing loaded, but it will restart the loading process to see if any new adverts have become available.
Definition
integer GetFullscreenAdvertLoadedAdMob()
int agk::GetFullscreenAdvertLoadedAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAmazon.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAmazon.htm
deleted file mode 100644
index bc45bcbe..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetFullscreenAdvertLoadedAmazon.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFullscreenAdvertLoadedAmazon - AGK Help
-
-
-
-
-
-
-
Returns 1 if there is an Chartboost interstitial ad preloaded and ready to be displayed, otherwise 0. If so you can display it with ShowFullscreenAdvertChartboost. Adverts are preloaded as soon as you set your Chartboost details and after every fullscreen advert is dismissed by the user. If this command continues to return 0 then ad loading may have failed due to the provider running out of ads and AGK will stop trying to load them. In this case you should try your other ad providers instead. If you find all your ad providers are returning 0 then you can try calling ShowFullscreenAdvertChartboost anyway, it will not display anything as there is nothing loaded, but it will restart the loading process to see if any new adverts have become available.
Definition
integer GetFullscreenAdvertLoadedChartboost()
int agk::GetFullscreenAdvertLoadedChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedAdMob.htm
deleted file mode 100644
index 06b7f56d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRewardAdLoadedAdMob - AGK Help
-
-
-
-
-
-
-
Returns 1 if there is an AdMob reward ad preloaded and ready to be displayed, otherwise 0. If so you can display it with ShowRewardAdAdMob. Adverts are preloaded as soon as you set your AdMob reward details and after every reward advert is dismissed by the user. If this command continues to return 0 then ad loading may have failed due to the provider running out of ads and AGK will stop trying to load them. In this case you should try your other ad providers instead. If you find all your ad providers are returning 0 then you can try calling ShowRewardAdAdMob anyway, it will not display anything as there is nothing loaded, but it will restart the loading process to see if any new adverts have become available.
Definition
integer GetRewardAdLoadedAdMob()
int agk::GetRewardAdLoadedAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedChartboost.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedChartboost.htm
deleted file mode 100644
index 76d03c91..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdLoadedChartboost.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRewardAdLoadedChartboost - AGK Help
-
-
-
-
-
-
-
Returns 1 if there is a Chartboost reward ad preloaded and ready to be displayed, otherwise 0. If so you can display it with ShowRewardAdChartboost. Adverts are preloaded after calling CacheRewardAdChartboost and after every reward advert is dismissed by the user. If this command continues to return 0 then ad loading may have failed due to the provider running out of ads and AGK will stop trying to load them. In this case you should try your other ad providers instead. If you find all your ad providers are returning 0 then you can try calling CacheRewardAdChartboost again, to restart the loading process to see if any new adverts have become available.
Definition
integer GetRewardAdLoadedChartboost()
int agk::GetRewardAdLoadedChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedAdMob.htm
deleted file mode 100644
index 9848222e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRewardAdRewardedAdMob - AGK Help
-
-
-
-
-
-
-
Returns 1 if the previously displayed reward ad resulted in a reward that should be given to the user, for example some in-game coins. When ShowRewardAdAdMob is called this is set to 0 and only set to 1 if the user completed the reward video, otherwise it will stay at 0. After you have given the user a reward you can set it back to 0 by using ResetRewardAdMob.
Definition
integer GetRewardAdRewardedAdMob()
int agk::GetRewardAdRewardedAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedChartboost.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedChartboost.htm
deleted file mode 100644
index 1f78c9ef..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdRewardedChartboost.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRewardAdRewardedChartboost - AGK Help
-
-
-
-
-
-
-
Returns 1 if the previously displayed reward ad resulted in a reward that should be given to the user, for example some in-game coins. When ShowRewardAdAdMob is called this is set to 0 and only set to 1 if the user completed the reward video, otherwise it will stay at 0. After you have given the user a reward you can set it back to 0 by using ResetRewardAdMob.
Definition
integer GetRewardAdRewardedChartboost()
int agk::GetRewardAdRewardedChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdValueAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdValueAdMob.htm
deleted file mode 100644
index acfa216e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/GetRewardAdValueAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRewardAdValueAdMob - AGK Help
-
-
-
-
-
-
-
Returns the value of the currently loaded reward ad, this will return 0 if the reward value is unknown. If no reward ad is currently loaded then this value is undefined, it might be 0 or it might be the value of a previous ad. You should ask the user if they want to view the reward ad before showing it, along with the reward they will get for doing so. You can use this value function to determine an appropriate reward. This value will remain unchanged if ResetRewardAdMob is called
Definition
integer GetRewardAdValueAdMob()
int agk::GetRewardAdValueAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/LoadConsentStatusAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/LoadConsentStatusAdMob.htm
deleted file mode 100644
index 6552e6c1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/LoadConsentStatusAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadConsentStatusAdMob - AGK Help
-
-
-
-
-
-
-
Loads the current user consent status from the AdMob server, this must be done before calling RequestConsentAdMob. You should wait for GetConsentStatusAdMob to return a non-negative value before using the other AdMob commands.
You must have created a Funding Choices account linked to your AdMob account and created and published messages for GDPR and iOS Ad tracking (if targeting iOS)
Forces Chartboost to use the given consent value when showing ads, by default AGK shows non-personalised ads from Chartboost. This command can be used if you have you own method of aquiring user consent to show personalised ads. Note that the GDPR requires you by law to have the consent from EU users before showing them personalised ads.
Definition
OverrideConsentChartboost( consent )
void agk::OverrideConsentChartboost( int consent )
Parameters
consent - The consent value to use, 1=non-personalised, 2=personalised
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestAdvertRefresh.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestAdvertRefresh.htm
deleted file mode 100644
index 1865c0e7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestAdvertRefresh.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RequestAdvertRefresh - AGK Help
-
-
-
-
-
-
-
Call this command to request a new advert. Usually adverts will be provided automatically. You may only want to do this when switching to new screens within your application
Definition
RequestAdvertRefresh()
void agk::RequestAdvertRefresh()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestConsentAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestConsentAdMob.htm
deleted file mode 100644
index 3dab2fe9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/RequestConsentAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RequestConsentAdMob - AGK Help
-
-
-
-
-
-
-
Displays a popup dialog asking the user for consent to show personalised ads. The user's response will automatically be used to modify the AdMob settings so that ads are displayed in accordance with the user's preferences. The consent status will also be saved so that a future call to LoadConsentStatusAdMob can retrieve the value. You can call this command at any time during your app so that the user can change their preference, the user must be able to do this somewhere within your app.
You should wait for GetConsentStatusAdMob to return a non-negative value before using the other AdMob commands. This consent is also applied to Chartboost ads.
If GetConsentStatusAdMob returns 0 after LoadConsentStatusAdMob then you must call RequestConsentAdMob to obtain consent from the user before using any other advert commands or your app may fall foul of the new consent rules. If GetConsentStatusAdMob continues to return 0 after RequestConsentAdMob then something went wrong and you should not show any ads. You can call RequestConsentAdMob again at some point in the future to try again.
Definition
RequestConsentAdMob()
void agk::RequestConsentAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ResetRewardAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ResetRewardAdMob.htm
deleted file mode 100644
index 1c12c7a1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ResetRewardAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ResetRewardAdMob - AGK Help
-
-
-
-
-
-
-
Sets the Chartboost rewarded value to 0. You can use this after detecting the reward event and acting on so that you don't reward the user more than once.
Definition
ResetRewardChartboost()
void agk::ResetRewardChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobChildRating.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobChildRating.htm
deleted file mode 100644
index a5fff580..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobChildRating.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAdMobChildRating - AGK Help
-
-
-
-
-
-
-
Sets your AdMob account details to be used by banner ads and interstitial (fullscreen) ads. Note that this only supports one or the other, you can either set a banner ad unit ID, or an interstitial ad unit ID, but not both at the same time.
After calling this command an attempt will be made to cache an interstitial so you can display it immediately later. You can check the progress of this by using GetFullscreenAdvertLoadedAdMob.
AdMob ads are currently supported by iOS and Android.
Definition
SetAdMobDetails ( szID )
void agk::SetAdMobDetails ( const char* szID )
Parameters
szID - Ad unit ID as provided by AdMob.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobRewardAdDetails.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobRewardAdDetails.htm
deleted file mode 100644
index b2d004f2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdMobRewardAdDetails.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAdMobRewardAdDetails - AGK Help
-
-
-
-
-
-
-
Sets your AdMob account details to be used by reward video ads. After calling this command an attempt will be made to cache a reward video so you can display it immediately later. You can check the progress of this by using GetRewardAdLoadedAdMob.
AdMob reward videos are currently supported by iOS and Android.
Sets whether the AdMob ads will be test ads or paying ads. This should be called before SetAdMobDetails to ensure all ads are test ads. By default paying ads will be shown. Note that if you display paying ads when testing you must not click on them or your AdMob account may be suspended.
Definition
SetAdMobTesting ( mode )
void agk::SetAdMobTesting ( int mode )
Parameters
mode - 0 = show paying ads, 1 = show test ads
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocation.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocation.htm
deleted file mode 100644
index d345da07..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocation.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAdvertLocation - AGK Help
-
-
-
-
-
-
-
Positions the advert created with CreateAdvert somewhere on screen and attempts to scale it to a certain width. Since the advert will have its own aspect ratio the height will be calculated from the width. This provides rough positioning by letting you choose between left, centered, or right justify for the horizontal and vertical positions. This is not guaranteed to work on all advert providers, currently only Inneractive can scale ads to a specific width.
Definition
SetAdvertLocation( horz, vert, width )
void agk::SetAdvertLocation( int horz, int vert, float width )
Parameters
horz - The horizontal position of the ad, 0=left, 1=center, 2=right
vert - The vertical postion of the ad, 0=top, 1=center, 2=bottom
width - The desired width of the ad, it will be scaled to this width
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocationEx.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocationEx.htm
deleted file mode 100644
index 7cb45ac3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertLocationEx.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAdvertLocationEx - AGK Help
-
-
-
-
-
-
-
Positions the advert created with CreateAdvert somewhere on screen and attempts to scale it to a certain width. Since the advert will have its own aspect ratio the height will be calculated from the width. This provides rough positioning by letting you choose between left, centered, or right justify for the horizontal and vertical positions. This is not guaranteed to work on all advert providers, currently only Inneractive can scale ads to a specific width.
Positions the advert created with CreateAdvert somewhere on screen and attempts to scale it to a certain width. Since the advert will have its own aspect ratio the height will be calculated from the width. This is not guaranteed to work on all advert providers, currently only Inneractive can scale and move ads to an absolute position.
Definition
SetAdvertPosition( x, y, width )
void agk::SetAdvertPosition( float x, float y, float width )
Parameters
x - The x position of the top left corner of the ad
y - The y position of the top left corner of the ad
width - The desired width of the ad, it will be scaled to this width
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertVisible.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertVisible.htm
deleted file mode 100644
index 2f0c6f20..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/SetAdvertVisible.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAdvertVisible - AGK Help
-
-
-
-
-
-
-
Sets your Chartboost account details to be used by interstitial (fullscreen) ads and reward video ads. After calling this command an attempt will be made to cache an interstitial so you can display it immediately later. You can check the progress of this by using GetFullscreenAdvertLoadedChartboost. Note that this command will not automatically cache a reward video ad, you must do that manually with CacheRewardAdChartboost.
Chartboost ads are currently supported by Android and iOS.
Sets your Inneractive account details to be used by CreateAdvert. Not all platforms support all ad providers so setting as many account details as possible will allow AGK to select a suitable ad for this platform.
Inneractive is currently supported by iOS, Android, Windows, and Mac.
Creates a fullscreen (interstitial) advert for revenue generation using AdMob. Before calling this function you must have set your ad account details with SetAdMobDetails. Both iOS and Android use caching to preload ads before displaying them. If an ad has been loaded when you call this command then it will be displayed immediately, otherwise it will attempt to load an ad for next time you call this command. Failure to load an ad may be because the ad provider has run out of ads to show to users in a particular country. You can check if an ad is waiting to be displayed with GetFullscreenAdvertLoadedAdMob. Your app will be paused when the advert is displayed, and will resume when the advert is dismissed.
Definition
ShowFullscreenAdvertAdMob()
void agk::ShowFullscreenAdvertAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowFullscreenAdvertAmazon.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowFullscreenAdvertAmazon.htm
deleted file mode 100644
index 51302db5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowFullscreenAdvertAmazon.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShowFullscreenAdvertAmazon - AGK Help
-
-
-
-
-
-
-
Creates a fullscreen (interstitial) advert for revenue generation using Chartboost. Before calling this function you must have set your ad account details with SetChartboostDetails. Both iOS and Android use caching to preload ads before displaying them. If an ad has been loaded when you call this command then it will be displayed immediately, otherwise it will attempt to load an ad for next time you call this command. Failure to load an ad may be because the ad provider has run out of ads to show to users in a particular country. You can check if an ad is waiting to be displayed with GetFullscreenAdvertLoadedChartboost. Your app will be paused when the advert is displayed, and will resume when the advert is dismissed.
Definition
ShowFullscreenAdvertChartboost()
void agk::ShowFullscreenAdvertChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdAdMob.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdAdMob.htm
deleted file mode 100644
index 8469edd4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdAdMob.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShowRewardAdAdMob - AGK Help
-
-
-
-
-
-
-
Creates a fullscreen reward video advert for revenue generation using AdMob. Before calling this function you must have set your ad account details with SetAdMobRewardAdDetails. Both iOS and Android use caching to preload ads before displaying them. If an ad has been loaded when you call this command then it will be displayed immediately, otherwise it will attempt to load an ad for next time you call this command. Failure to load an ad may be because the ad provider has run out of ads to show to users in a particular country. You can check if an ad is waiting to be displayed with GetRewardAdLoadedAdMob. Your app will be paused when the advert is displayed, and will resume when the advert is dismissed. Check GetRewardAdRewardedAdMob to see if the user completed watching the reward ad and should be rewarded. It will be set to 0 when you call this command, and then set to 1 when they have finished watching
Definition
ShowRewardAdAdMob()
void agk::ShowRewardAdAdMob()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdChartboost.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdChartboost.htm
deleted file mode 100644
index 587721f7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Advert/ShowRewardAdChartboost.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShowRewardAdChartboost - AGK Help
-
-
-
-
-
-
-
Creates a fullscreen reward video advert for revenue generation using Chartboost. Before calling this function you must have set your ad account details with SetChartboostDetails. Both iOS and Android use caching to preload ads before displaying them. If an ad has been loaded when you call this command then it will be displayed immediately, otherwise it will attempt to load an ad for next time you call this command. For Chartboost you must start the caching process manually with CacheRewardAdChartboost, you only need to call this once. After a reward video ad has been displayed a new one will be cached automatically. Failure to load an ad may be because the ad provider has run out of ads to show to users in a particular country. You can check if an ad is waiting to be displayed with GetRewardAdLoadedChartboost. Your app will be paused when the advert is displayed, and will resume when the advert is dismissed. Check GetRewardAdRewardedChartboost to see if the user completed watching the reward ad and should be rewarded. It will be set to 0 when you call this command, and then set to 1 when they have finished watching
Definition
ShowRewardAdChartboost()
void agk::ShowRewardAdChartboost()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking.htm
deleted file mode 100644
index 31a6a52d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Benchmarking - AGK Help
-
-
-
-
-
-
-
Returns the number of seconds and fractions of seconds spent setting up the world ready for 3D drawing. This includes calculating what is visible, transforming objects into their screen positions and sending vertices to the GPU.
Definition
float GetDrawing3DSetupTime()
float agk::GetDrawing3DSetupTime()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingSetupTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingSetupTime.htm
deleted file mode 100644
index 3b1f9a05..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingSetupTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDrawingSetupTime - AGK Help
-
-
-
-
-
-
-
Returns the number of seconds and fractions of seconds spent setting up the world ready for 2D drawing. This includes calculating what is visible, transforming sprites into their screen positions and sending vertices to the GPU.
Definition
float GetDrawingSetupTime()
float agk::GetDrawingSetupTime()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingTime.htm
deleted file mode 100644
index ce23d451..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetDrawingTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDrawingTime - AGK Help
-
-
-
-
-
-
-
Returns the amount of memory in megabytes currently being used by all loaded images (including images used by fonts). This can help track down problems with GPU memory which can cause a crash if it runs out. Every image you load will be placed in GPU memory, even if you don't use it, so loading too many large images could use up all the memory.
Definition
float GetImageMemoryUsage()
float agk::GetImageMemoryUsage()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetLoadedImages.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetLoadedImages.htm
deleted file mode 100644
index 2c32634c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetLoadedImages.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetLoadedImages - AGK Help
-
-
-
-
-
-
-
Returns the number of sprites that are being managed by the internal sprite manager. It is responsible for updating sprite animation and calculating which sprites are visible and need to be sent for drawing. It also sorts the sprites when necessary for correct transparency drawing.
As long as not too many sprites are sent for drawing the sprite manager should be able to handle several hundred sprites.
Definition
integer GetManagedSpriteCount()
uint32_t agk::GetManagedSpriteCount()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawCalls.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawCalls.htm
deleted file mode 100644
index 326d81dd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawCalls.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetManagedSpriteDrawCalls - AGK Help
-
-
-
-
-
-
-
Returns the number of OpenGL draw calls used to draw all managed sprites. Generally the lower this number the better the performance. AGK attempts to batch sprites into as few draw calls as possible, it does this by looking for sprites with the same texture and drawing them at the same time.
Definition
integer GetManagedSpriteDrawCalls()
uint32_t agk::GetManagedSpriteDrawCalls()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawnCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawnCount.htm
deleted file mode 100644
index c5185c12..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetManagedSpriteDrawnCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetManagedSpriteDrawnCount - AGK Help
-
-
-
-
-
-
-
Returns the number of sprites that the internal sprite manager had to sort into their correct positions since the last frame. Sprites only need resorting if they change depth or texture during the current frame.
Definition
integer GetManagedSpriteSortedCount()
uint32_t agk::GetManagedSpriteSortedCount()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetParticleDrawnPointCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetParticleDrawnPointCount.htm
deleted file mode 100644
index 0eb42586..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetParticleDrawnPointCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticleDrawnPointCount - AGK Help
-
-
-
-
-
-
-
Returns the number of individual particles that were drawn last frame using a quad method. The higher this number the more work the engine is doing handling particles.
Definition
integer GetParticleDrawnQuadCount()
uint32_t agk::GetParticleDrawnQuadCount()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetPhysicsTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetPhysicsTime.htm
deleted file mode 100644
index eb8e5155..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetPhysicsTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPhysicsTime - AGK Help
-
-
-
-
-
-
-
Returns an estimate of the number of pixels that were drawn to the screen last frame. Generally the lower this value the better the performance. The number of pixels drawn can be greater than the number of pixels in the screen since overlapping sprites might draw the same pixel twice.
Definition
integer GetPixelsDrawn()
uint32_t agk::GetPixelsDrawn()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUnassignedImageFileName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUnassignedImageFileName.htm
deleted file mode 100644
index 1c36dc94..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUnassignedImageFileName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetUnassignedImageFileName - AGK Help
-
-
-
-
-
-
-
Returns the number of images currently loaded into the app but are not assigned to a sprite or text object. This is useful for debugging to check you have deleted all unused images when switching from a menu to a level, or from one level to another.
Definition
integer GetUnassignedImages()
uint32_t agk::GetUnassignedImages()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUpdateTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUpdateTime.htm
deleted file mode 100644
index b254981f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Benchmarking/GetUpdateTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetUpdateTime - AGK Help
-
-
-
-
-
-
-
Returns the number of seconds and fractions of seconds spent updating everything in the world except physics. This includes sprite animation, emulating input, and handling sounds.
Definition
float GetUpdateTime()
float agk::GetUpdateTime()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core.htm
deleted file mode 100644
index 345e9200..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Core - AGK Help
-
-
-
-
-
-
-
Returns the angle in degrees between x=0 y=-1 (up) and the given vector in a clockwise direction. Returns a value from 0 to 360. This command is proprietary to AGK and is useful in 2D situations. If you are looking for an equivalent to atan2 in C++ use the AGK command ATan2 instead.
Definition
float ATanFull( x, y )
float agk::ATanFull( float x, float y )
Parameters
x - The x component of the vector to check
y - The y component of the vector to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanFullRad.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanFullRad.htm
deleted file mode 100644
index b8bfb527..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanFullRad.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ATanFullRad - AGK Help
-
-
-
-
-
-
-
Returns the angle in radians between x=0 y=-1 (up) and the given vector in a clockwise direction. Returns a value from 0 to 2*PI. This command is proprietary to AGK and is useful in 2D situations. If you are looking for an equivalent to atan2 in C++ use the AGK command ATan2Rad instead.
Definition
float ATanFullRad( x, y )
float agk::ATanFullRad( float x, float y )
Parameters
x - The x component of the vector to check
y - The y component of the vector to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanRad.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanRad.htm
deleted file mode 100644
index b4461aa4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ATanRad.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ATanRad - AGK Help
-
-
-
-
-
-
-
Returns the number of bytes in the given string. Note that for strings encoded in UTF-8 this may not be equal to the number of characters in the string, as each character can use up to 4 bytes.
Definition
integer ByteLen( strin )
uint32_t agk::ByteLen( const char* strin )
Parameters
strin - The string to measure the length of
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Ceil.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Ceil.htm
deleted file mode 100644
index 7304d4bc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Ceil.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Ceil - AGK Help
-
-
-
-
-
-
-
Immediately clears the depth buffer for the current render target. This command is normally not needed as the depth buffer is cleared automatically at the start of rendering. Using this command may negatively affect performance.
Definition
ClearDepthBuffer()
void agk::ClearDepthBuffer()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearScreen.htm
deleted file mode 100644
index 754de929..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ClearScreen - AGK Help
-
-
-
-
-
-
-
Clears the screen or the current render target if using SetRenderToImage. If you do not clear then the contents of the screen or render target are undefined. This is fine as long as you will be drawing to every single pixel, e.g. when drawing a fullscreen quad.
Definition
ClearScreen()
void agk::ClearScreen()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearURLSchemeText.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearURLSchemeText.htm
deleted file mode 100644
index f1f958dd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ClearURLSchemeText.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ClearURLSchemeText - AGK Help
-
-
-
-
-
-
-
Clears the currently stored URL scheme text so you can signal that you have acted upon it. This is not necessary but can make your code easier by not having to remember that you have dealt with a URL scheme event.
Definition
ClearURLSchemeText()
void agk::ClearURLSchemeText()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/CompareString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/CompareString.htm
deleted file mode 100644
index 61990d04..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/CompareString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CompareString - AGK Help
-
-
-
-
-
-
-
Returns 1 if the two strings are equal to each other, otherwise returns 0. By default this is case insensitive, use the ignoreCase parameter to set case sensitivity. Use the maxChars parameter to specify the maximum number of characters to check, if the strings match after that many characters have been checked then they are considered equal. Use a value of -1 to check all characters regardless of length.
Definition
integer CompareString( str, str2 )
int agk::CompareString( const char* str, const char* str2 )
Counts the number of tokens separated by a specified set of delimiters, for example a string containing "first:second:third" has three tokens delimited by ":" and "first:second;third" has three tokens separated by the delimiters ":;". You can have multiple delimiters between each token, for example "first:;second:third" is valid, and has three tokens. This command is useful for separating words in a sentence, which can be delimited by both white space and punctuation.
Definition
integer CountStringTokens( str, delimiters )
int agk::CountStringTokens( const char* str, const char* delimiters )
Parameters
str - The string to check.
delimiters - The set of characters that delimit the string
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/CountStringTokens2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/CountStringTokens2.htm
deleted file mode 100644
index 6e221525..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/CountStringTokens2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CountStringTokens2 - AGK Help
-
-
-
-
-
-
-
Counts the number of tokens separated by a specified delimiter, for example a string containing "first:second:third" has three tokens delimited by ":". Similar to CountStringTokens except that this command accepts only a single character as the delimiter and recognises empty fields. For example "first:second::fourth" has four tokens with the third being an empty string.
Definition
integer CountStringTokens2( str, delimiter )
int agk::CountStringTokens2( const char* str, const char* delimiter )
Parameters
str - The string to check.
delimiter - The character that delimits the string
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DownloadExpansionFile.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/DownloadExpansionFile.htm
deleted file mode 100644
index 19ae7a8a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DownloadExpansionFile.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DownloadExpansionFile - AGK Help
-
-
-
-
-
-
-
Starts the download of any expansion file that this platform and app needs, currently only applicable to Android. If the download has already started this has no effect. You can use GetExpansionFileProgress to check on the progress of the download and GetExpanionFileState to check when it has completed. After calling this command you should wait for GetExpanionFileState to return -1 (error) or 3 (complete) whilst displaying a progress bar.
Definition
DownloadExpansionFile()
void agk::DownloadExpansionFile()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawBox.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawBox.htm
deleted file mode 100644
index 2930b5b5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawBox.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DrawBox - AGK Help
-
-
-
-
-
-
-
Draws a 2D box from one point on the screen to another with a chosen color using lines. Lines appear above all other drawing except the Print command and can be used with the GetImage function or SetRenderToImage to create new images. The XY coordinates are in screen coordinates so are not affected by the SetViewOffset command. Colors can be created using the MakeColor command or by using the bitwise operators like so, mycolor = (blue << 16) || (green << 8) || red
Draws a 2D ellipse centered on the coordinates given with a chosen color or gradient. 2D shapes appear above all other drawing except the Print command and can be used with the GetImage function to create new images. The XY coordinates are in screen coordinates so are not affected by the SetViewOffset command.
Definition
DrawEllipse( x, y, radiusx, radiusy, color1, color2, filled )
void agk::DrawEllipse( float x, float y, float radiusx, float radiusy, uint32_t color1, uint32_t color2, int filled )
Parameters
x - The X component of the center of the ellipse.
y - The Y component of the center of the ellipse.
radiusx - The radius of the ellipse in the X direction.
radiusy - The radius of the ellipse in the Y direction.
color1 - The color at the top of the ellipse.
color2 - The color at the bottom of the ellipse.
filled - 1=filled, 0=empty.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawLine.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawLine.htm
deleted file mode 100644
index 6d84edc8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/DrawLine.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DrawLine - AGK Help
-
-
-
-
-
-
-
Draws a 2D line from one point on the screen to another with a chosen color. Lines appear above all other drawing except the Print command and can be used with the GetImage function to create new images. The XY coordinates are in screen coordinates so are not affected by the SetViewOffset command.
Definition
DrawLine( x, y, x2, y2, red, green, blue )
void agk::DrawLine( float x, float y, float x2, float y2, uint32_t red, uint32_t green, uint32_t blue )
This command is deprecated, you can choose to clear by using ClearScreen or not.
If you wish to maintain the contents of a previous rendered image then you should render to a new image and apply the previously rendered image to a quad to draw it as a background. You can then swap the images in the next frame to continuously render the previous frame as a background to the current frame.
Definition
EnableClearColor( clear )
void agk::EnableClearColor( uint32_t clear )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/EnableClearDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/EnableClearDepth.htm
deleted file mode 100644
index 678c7d6e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/EnableClearDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-EnableClearDepth - AGK Help
-
-
-
-
-
-
-
Returns the index of the first occurrence of findStr in the given string. Index 1 is the first character in the string, returns 0 if not found. By default this is case insensitive, use the ignoreCase parameter to set case sensitivity.
Returns the number of times findStr appears in the given string. By default this is case insensitive, use the ignoreCase parameter to set case sensitivity.
Definition
integer FindStringCount( str, findStr )
int agk::FindStringCount( const char* str, const char* findStr )
Returns the index of the first occurrence of findStr in the given string, starting from the end of the string and moving backwards. Use a start value of -1 to start at the very end of the string regardless of length. Index 1 is the first character in the string, returns 0 if not found. By default this is case insensitive, use the ignoreCase parameter to set case sensitivity.
If the current renderer is using delayed present then you can use this command to force the present to happen now. You can turn delayed presenting on and off using SetPresentMode.
Definition
ForcePresent()
void agk::ForcePresent()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppInstalled.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppInstalled.htm
deleted file mode 100644
index efdcf4db..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppInstalled.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetAppInstalled - AGK Help
-
-
-
-
-
-
-
Returns 1 if the specified app is installed and enabled on the device. For Android this should be the package name of the app, e.g. com.faceboook.katana for the Facebook App. Currently this only works on Android
Definition
integer GetAppInstalled( packageName )
int agk::GetAppInstalled( const char *packageName )
Parameters
packageName - The package name of the app to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppName.htm
deleted file mode 100644
index 39d2676b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetAppName - AGK Help
-
-
-
-
-
-
-
On Android this returns the package name used when exporting the app, for example for the AGK Player this would be com.thegamecreators.agk_player2. On iOS it returns the Bundle ID used for the app, for example for the AGK Player this would be com.thegamecreators.agk2player. On all other platforms this currently returns an empty string. If calling this from tier 2 then the returned string must be deleted when it is no longer needed.
Definition
string GetAppPackageName()
char* agk::GetAppPackageName()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppRunning.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppRunning.htm
deleted file mode 100644
index 9ad6052e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetAppRunning.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetAppRunning - AGK Help
-
-
-
-
-
-
-
Returns 0 if the Z clip space range is -1 to 1 and returns 1 if the Z clip space range is 0 to 1. This depends on the renderer curently being used, for example OpenGL uses a clip space range from -1 to 1 whereas Vulkan uses a clip space range from 0 to 1. This only applies to the Z coordinate, both X and Y will always be in the range -1 to 1 in clip space.
Definition
integer GetClipSpaceMode()
int agk::GetClipSpaceMode()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetColorAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetColorAlpha.htm
deleted file mode 100644
index a2062a97..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetColorAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetColorAlpha - AGK Help
-
-
-
-
-
-
-
Returns a string containing the name of the current platform. This will only refer to the base platform, i.e. "windows", "ios", "android", "mac", "linux", or "html5". Use GetDeviceType to get more information about the specific device. This string will always be lower case.
Definition
string GetDeviceBaseName()
char* agk::GetDeviceBaseName()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceDPI.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceDPI.htm
deleted file mode 100644
index 07deb7e9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceDPI.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceDPI - AGK Help
-
-
-
-
-
-
-
Gets the Dots Per Inch (also called Pixels Per Inch) of the device screen. This only works on iOS and Android, other platforms will return 0. On iOS this value is hardcoded by device, so if a new device is released then an AGK update will be required to get an accurate value. In the meantime an estimated value will be generated.
Definition
integer GetDeviceDPI()
int agk::GetDeviceDPI()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceHeight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceHeight.htm
deleted file mode 100644
index f8981e4d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceHeight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceHeight - AGK Help
-
-
-
-
-
-
-
Returns the height in pixels of the current device's backbuffer. This value will change if the device orientation changes from portrait to landscape, but only if orientation changes are allowed.
Definition
integer GetDeviceHeight()
int agk::GetDeviceHeight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceID.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceID.htm
deleted file mode 100644
index b6bd8f07..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceID.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceID - AGK Help
-
-
-
-
-
-
-
Returns the type of network connection the device has to the internet. Returns 0 if a mobile connection is being used, 1 if a Wifi or Ethernet connection is being used, or -1 if the network type could not be determined. Currently only implemented on iOS and Android, other platforms will return -1.
Definition
integer GetDeviceNetworkType()
int agk::GetDeviceNetworkType()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDevicePlatform.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDevicePlatform.htm
deleted file mode 100644
index e9e2b6b5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDevicePlatform.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDevicePlatform - AGK Help
-
-
-
-
-
-
-
Returns a string containing a device specific string, this will be different for each platform, for example on Windows it will return the OS version "vista, "7", "xp", etc. On iOS it will return the iOS device name "ipad1,1", "ipod2,1", "iphone1,2", etc. For Android it will return the device model "nexus 7", etc. For Mac it will return the OS version "10.7", "10.8", etc. This string will always be lower case
Definition
string GetDeviceType()
char* agk::GetDeviceType()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceWidth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceWidth.htm
deleted file mode 100644
index f38a4733..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDeviceWidth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceWidth - AGK Help
-
-
-
-
-
-
-
Returns the width in pixels of the current device's backbuffer. This value will change if the device orientation changes from portrait to landscape, but only if orientation changes are allowed.
Definition
integer GetDeviceWidth()
int agk::GetDeviceWidth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayAspect.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayAspect.htm
deleted file mode 100644
index e9de4a58..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayAspect.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayAspect - AGK Help
-
-
-
-
-
-
-
Returns the current aspect ratio for the screen. This is not the aspect ratio of the coordinate system being used, instead this value stretches the coordinate system into the desired shape. For an explanation of the coordinate system see SetVirtualResolution.
Definition
float GetDisplayAspect()
float agk::GetDisplayAspect()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutBottom.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutBottom.htm
deleted file mode 100644
index ec621a0a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutBottom.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayCutoutBottom - AGK Help
-
-
-
-
-
-
-
Returns the bottom of the specified display cutout. The Top/Bottom/Left/Right display cutout commands return the bounding box that covers the cutout in virtual resolution coordinates. Anthing placed within those coordinates can be assumed to be covered by the cutout. The index must be between 0 and GetDisplayNumCutouts - 1
Definition
float GetDisplayCutoutBottom( index )
float agk::GetDisplayCutoutBottom( int index )
Parameters
index - The index of the display cutout to return, starting at 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutLeft.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutLeft.htm
deleted file mode 100644
index b31e193a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutLeft.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayCutoutLeft - AGK Help
-
-
-
-
-
-
-
Returns the left of the specified display cutout. The Top/Bottom/Left/Right display cutout commands return the bounding box that covers the cutout in virtual resolution coordinates. Anthing placed within those coordinates can be assumed to be covered by the cutout. The index must be between 0 and GetDisplayNumCutouts - 1
Definition
float GetDisplayCutoutLeft( index )
float agk::GetDisplayCutoutLeft( int index )
Parameters
index - The index of the display cutout to return, starting at 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutRight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutRight.htm
deleted file mode 100644
index b0a9fa71..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutRight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayCutoutRight - AGK Help
-
-
-
-
-
-
-
Returns the right of the specified display cutout. The Top/Bottom/Left/Right display cutout commands return the bounding box that covers the cutout in virtual resolution coordinates. Anthing placed within those coordinates can be assumed to be covered by the cutout. The index must be between 0 and GetDisplayNumCutouts - 1
Definition
float GetDisplayCutoutRight( index )
float agk::GetDisplayCutoutRight( int index )
Parameters
index - The index of the display cutout to return, starting at 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutTop.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutTop.htm
deleted file mode 100644
index af0c020c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayCutoutTop.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayCutoutTop - AGK Help
-
-
-
-
-
-
-
Returns the top of the specified display cutout. The Top/Bottom/Left/Right display cutout commands return the bounding box that covers the cutout in virtual resolution coordinates. Anthing placed within those coordinates can be assumed to be covered by the cutout. The index must be between 0 and GetDisplayNumCutouts - 1
Definition
float GetDisplayCutoutTop( index )
float agk::GetDisplayCutoutTop( int index )
Parameters
index - The index of the display cutout to return, starting at 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayNumCutouts.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayNumCutouts.htm
deleted file mode 100644
index 518c0e4f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetDisplayNumCutouts.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDisplayNumCutouts - AGK Help
-
-
-
-
-
-
-
Returns the number of cutouts on the current device screen. Always returns 0 on Android 8 and below, and iOS 10 and below. You can retrieve details about each cutout by using the GetDisplayCutoutTop commands.
Definition
integer GetDisplayNumCutouts()
int agk::GetDisplayNumCutouts()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileError.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileError.htm
deleted file mode 100644
index 29e0149f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileError.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetExpansionFileError - AGK Help
-
-
-
-
-
-
-
Returns the error code of the most recent error that occurred when downloading the expansion file. Possible errors include: 15 = Unlicensed 16 = Failed fetching URL 17 = SDcard full 18 = Cancelled 19 = Unknown error
Definition
integer GetExpansionFileError()
int agk::GetExpansionFileError()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileProgress.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileProgress.htm
deleted file mode 100644
index 6abd49b7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileProgress.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetExpansionFileProgress - AGK Help
-
-
-
-
-
-
-
Checks the progress of a download started by DownloadExpansionFile, returns a float value between 0 and 100 Use GetExpansionFileState to check if the download has completed.
Definition
float GetExpansionFileProgress()
float agk::GetExpansionFileProgress()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileState.htm
deleted file mode 100644
index ee211b1e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetExpansionFileState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetExpansionFileState - AGK Help
-
-
-
-
-
-
-
Returns the state of any expansion file used by this platform, currently only applicable to Android. Returns -1 if an error occurred during download, 0 if the expansion file is not used on this platform, 1 if it should exist but doesn't (you call DownloadExpansionFile() in this case), 2 if it is currently being downloaded, and 3 if everything has completed and the file exists.
Definition
integer GetExpansionFileState()
int agk::GetExpansionFileState()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetFractalX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetFractalX.htm
deleted file mode 100644
index dd88b229..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetFractalX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFractalX - AGK Help
-
-
-
-
-
-
-
Get the time in seconds spent processing and rendering the last frame. Only updated when Sync or Swap are called. This is limited to a max value of 0.2 seconds to prevent internal timer based code from interpolating large time gaps. To find the true frame time you can use the Timer() command.
Definition
float GetFrameTime()
float agk::GetFrameTime()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceHeight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceHeight.htm
deleted file mode 100644
index 4164a215..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceHeight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMaxDeviceHeight - AGK Help
-
-
-
-
-
-
-
Gets the maximum height that your app window can be. For platforms that support windowed mode such as Windows and Mac your app can only achieve this size in full screen mode as windowed mode has a border around your app. For HTML5 apps this will return the size of the current HTML document, and is not guaranteed to work if the HTML5 app is running in full screen mode. A better name for this command would be GetMaxWindowHeight, but it is now set in stone.
Definition
integer GetMaxDeviceHeight()
int agk::GetMaxDeviceHeight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceWidth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceWidth.htm
deleted file mode 100644
index ff1387dd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMaxDeviceWidth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMaxDeviceWidth - AGK Help
-
-
-
-
-
-
-
Gets the maximum width that your app window can be. For platforms that support windowed mode such as Windows and Mac your app can only achieve this size in full screen mode as windowed mode has a border around your app. For HTML5 apps this will return the size of the current HTML document, and is not guaranteed to work if the HTML5 app is running in full screen mode. A better name for this command would be GetMaxWindowWidth, but it is now set in stone.
Definition
integer GetMaxDeviceWidth()
int agk::GetMaxDeviceWidth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMilliseconds.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMilliseconds.htm
deleted file mode 100644
index 8eae4b82..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetMilliseconds.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMilliseconds - AGK Help
-
-
-
-
-
-
-
Get the number of milliseconds since the app was started. Calling this command will internally make a system call to get the amount of time passed, so it may change each time you call it.
Definition
integer GetMilliseconds()
uint32_t agk::GetMilliseconds()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetNoiseX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetNoiseX.htm
deleted file mode 100644
index 99b2160e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetNoiseX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNoiseX - AGK Help
-
-
-
-
-
-
-
Returns 1 if your desktop app loses focus. You can choose to activate a pause screen when this happens or let the app continue as normal. This only applies to desktop platforms, on mobile platforms you should use GetResumed instead.
Definition
integer GetPaused()
int agk::GetPaused()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetPolygonsDrawn.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetPolygonsDrawn.htm
deleted file mode 100644
index aa3ff5a0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetPolygonsDrawn.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPolygonsDrawn - AGK Help
-
-
-
-
-
-
-
Returns 1 if your app has been passed to the background and has just been reactivated. You should activate a pause screen when this happens. On mobile platforms apps will not run whilst they are in the background so that first chance you app will get to receive this notification is when it returns from the background and continues running. Since the user may not yet be ready to continue playing you should check this value and show a pause screen until they are ready.
Definition
integer GetResumed()
int agk::GetResumed()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsBottom.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsBottom.htm
deleted file mode 100644
index 1dd7d7e8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsBottom.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsBottom - AGK Help
-
-
-
-
-
-
-
Returns the bottom edge of the visible screen. This includes any black border area so if there are black borders on the top and bottom of the display then this value will be greater than GetVirtualHeight. This represents the fact that the virtual height is the end of the visible area and the start of the black border, and the bottom bound is the end of the black border and the edge of the screen. If there is no black border on the bottom then the bottom bound will always be equal to GetVirtualHeight.
Definition
float GetScreenBoundsBottom()
float agk::GetScreenBoundsBottom()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsLeft.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsLeft.htm
deleted file mode 100644
index d18e2cf0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsLeft.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsLeft - AGK Help
-
-
-
-
-
-
-
Returns the left edge of the visible screen. This includes any black border area so if there are black borders on the left and right of the display then this value will be negative. This represents the fact that 0 is the end of the visible area and the start of the black border, and the left bound is the end of the black border and the edge of the screen. If there is no black border to the left then the left bound will always be 0.
Definition
float GetScreenBoundsLeft()
float agk::GetScreenBoundsLeft()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsRight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsRight.htm
deleted file mode 100644
index eed47fa0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsRight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsRight - AGK Help
-
-
-
-
-
-
-
Returns the right edge of the visible screen. This includes any black border area so if there are black borders on the left and right of the display then this value will be greater than GetVirtualWidth. This represents the fact that the virtual width is the end of the visible area and the start of the black border, and the right bound is the end of the black border and the edge of the screen. If there is no black border to the right then the right bound will always be equal to GetVirtualWidth.
Definition
float GetScreenBoundsRight()
float agk::GetScreenBoundsRight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeBottom.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeBottom.htm
deleted file mode 100644
index b410bc40..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeBottom.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsSafeBottom - AGK Help
-
-
-
-
-
-
-
Returns the bottom of the screen in virtual coordinates, avoiding any display cutouts. This is similar to GetScreenBoundsTop except that it avoids display cutouts.
Definition
float GetScreenBoundsSafeBottom()
float agk::GetScreenBoundsSafeBottom()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeLeft.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeLeft.htm
deleted file mode 100644
index 5bd4945d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeLeft.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsSafeLeft - AGK Help
-
-
-
-
-
-
-
Returns the left of the screen in virtual coordinates, avoiding any display cutouts. This is similar to GetScreenBoundsTop except that it avoids display cutouts.
Definition
float GetScreenBoundsSafeLeft()
float agk::GetScreenBoundsSafeLeft()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeRight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeRight.htm
deleted file mode 100644
index 3e12b775..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeRight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsSafeRight - AGK Help
-
-
-
-
-
-
-
Returns the right of the screen in virtual coordinates, avoiding any display cutouts. This is similar to GetScreenBoundsTop except that it avoids display cutouts.
Definition
float GetScreenBoundsSafeRight()
float agk::GetScreenBoundsSafeRight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeTop.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeTop.htm
deleted file mode 100644
index 055b68de..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsSafeTop.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsSafeTop - AGK Help
-
-
-
-
-
-
-
Returns the top of the screen in virtual coordinates, avoiding any display cutouts. This is similar to GetScreenBoundsTop except that it avoids display cutouts.
Definition
float GetScreenBoundsSafeTop()
float agk::GetScreenBoundsSafeTop()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsTop.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsTop.htm
deleted file mode 100644
index 480602b1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetScreenBoundsTop.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetScreenBoundsTop - AGK Help
-
-
-
-
-
-
-
Returns the top edge of the visible screen. This includes any black border area so if there are black borders on the top and bottom of the display then this value will be negative. This represents the fact that 0 is the end of the visible area and the start of the black border, and the top bound is the end of the black border and the edge of the screen. If there is no black border to the top then the top bound will always be 0.
Definition
float GetScreenBoundsTop()
float agk::GetScreenBoundsTop()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetSeconds.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetSeconds.htm
deleted file mode 100644
index ce48358c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetSeconds.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSeconds - AGK Help
-
-
-
-
-
-
-
Returns the number of MB available to the app for data storage at the specified path. For example using a path that points to a location on the sdcard on Android will return how many MBs can be stored there, whereas using a path that points to the AGK write folder will return the number of MB the app can store in its internal storage. In some cases these may be the same. This command returns -1 if the space available could not be determined. Currently only implemented on iOS and Android, other platforms will return -1.
Definition
integer GetStorageRemaining( path )
int agk::GetStorageRemaining( const char *path )
Parameters
path - The path to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStorageTotal.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStorageTotal.htm
deleted file mode 100644
index 8c8dc960..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStorageTotal.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetStorageTotal - AGK Help
-
-
-
-
-
-
-
Returns the total number of MB of data storage at the specified path, used and unused. For example using a path that points to a location on the sdcard on Android will return the size of the sdcard, whereas using a path that points to the AGK write folder will return the number of MB in the internal storage. In some cases these may be the same. This command returns -1 if the storage size could not be determined. Currently only implemented on iOS and Android, other platforms will return -1.
Definition
integer GetStorageTotal( path )
int agk::GetStorageTotal( const char *path )
Parameters
path - The path to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStringToken.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStringToken.htm
deleted file mode 100644
index ed342da0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetStringToken.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetStringToken - AGK Help
-
-
-
-
-
-
-
Returns a specific token from a string separated by the given delimiters, for example a string containing "first:second:third" has three tokens delimited by ":" and "first:second;third" has three tokens separated by the delimiters ":;". You can have multiple delimiters between each token, for example "first:;second:third" is valid, and has three tokens. In tier 2 the returned string must be deleted when you are done with it. You can use CountStringTokens to count the number of tokens in the string. This command is useful for separating words in a sentence, which can be delimited by both white space and punctuation.
Returns a specific token from a string separated by the given delimiter, for example a string containing "first:second:third" has three tokens delimited by ":". Similar to GetStringToken except that this command accepts only a single character as the delimiter and recognises empty fields. For example "first:second::fourth" has four tokens with the third being an empty string. In tier 2 the returned string must be deleted when you are done with it. You can use CountStringTokens2 to count the number of tokens in the string.
On Android and iOS this returns the full URL that was used to open this app if a URL scheme was used. For example if you have set the URL scheme "myapp" for this app and the user clicks on a link such as "myapp: sometext", then the OS will open your app and GetURLSchemeText will return "myapp: sometext" until the app is next opened. If a URL was not used to open the app, or the platform doesn't support URL schemes, then an empty string will be returned.
When choosing a URL scheme you must make sure it is unique to your app, as iOS will not allow two apps to have the same scheme.
Definition
string GetURLSchemeText()
char* agk::GetURLSchemeText()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVerticesProcessed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVerticesProcessed.htm
deleted file mode 100644
index 8263f01f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVerticesProcessed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVerticesProcessed - AGK Help
-
-
-
-
-
-
-
Returns the coordinate for the bottom of the screen. In the default percentage based coordinate system this is 100. If you have set up a virtual resolution using SetVirtualResolution then the height specified here will be returned.
Definition
integer GetVirtualHeight()
int agk::GetVirtualHeight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVirtualWidth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVirtualWidth.htm
deleted file mode 100644
index 9524d622..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetVirtualWidth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVirtualWidth - AGK Help
-
-
-
-
-
-
-
Returns the coordinate for the far right side of the screen. In the default percentage based coordinate system this is 100. If you have set up a virtual resolution using SetVirtualResolution then the width specified here will be returned.
Definition
integer GetVirtualWidth()
int agk::GetVirtualWidth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowHeight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowHeight.htm
deleted file mode 100644
index fd7172f2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowHeight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWindowHeight - AGK Help
-
-
-
-
-
-
-
Returns the height of the current device's window. This value may differ from the GetDeviceHeight if the window size does not match the pixel size of the backbuffer that is being used to draw the window. For example on a Mac with a retina display the window size will be half of the pixel size.
Definition
integer GetWindowHeight()
int agk::GetWindowHeight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowWidth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowWidth.htm
deleted file mode 100644
index a8f14ccf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/GetWindowWidth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWindowWidth - AGK Help
-
-
-
-
-
-
-
Returns the width of the current device's window. This value may differ from the GetDeviceWidth if the window size does not match the pixel size of the backbuffer that is being used to draw the window. For example on a Mac with a retina display the window size will be half of the pixel size.
Definition
integer GetWindowWidth()
int agk::GetWindowWidth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Hex.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Hex.htm
deleted file mode 100644
index c38eacda..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Hex.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Hex - AGK Help
-
-
-
-
-
-
-
Converts a Hex string to a Base64 string. A hex string is a string containing only the characters 0-9 and A-F. If you are calling this command from tier 2 this string must be deleted when you are done with it.
Definition
string HexToBase64( input )
char* agk::HexToBase64( const char* input )
Parameters
input - The string to convert
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsDarkTheme.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsDarkTheme.htm
deleted file mode 100644
index e9f7dc1e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsDarkTheme.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsDarkTheme - AGK Help
-
-
-
-
-
-
-
On Android and iOS this returns 1 if the operating system is set to use a dark theme, you can use this to switch to a dark theme in your app. On other platforms this will always return 0.
Definition
integer IsDarkTheme()
int agk::IsDarkTheme()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsInvertedDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsInvertedDepth.htm
deleted file mode 100644
index 167d9933..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsInvertedDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsInvertedDepth - AGK Help
-
-
-
-
-
-
-
Returns 1 if the current renderer is using an inverted depth buffer, 0 if not. Inverted depth buffers are useful when the renderer is using a floating point depth buffer as it solves almost all depth fighting issues involved with drawing large depth ranges. If an inverted depth buffer is being used then depth values of 1.0 are near the camera and depth values of 0.0 are far away. AGK automatically adjusts the depth buffer function (less or greater) depending on whether the depth buffer is inverted or not, so you can assume that values around 0.0 are close to the camera most of the time. But if you draw to a depth buffer for your own use then you will need to take this into account if you use those depth values in a shader, e.g. when doing your own shadows.
Definition
integer IsInvertedDepth()
int agk::IsInvertedDepth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsPinAppAvailable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsPinAppAvailable.htm
deleted file mode 100644
index 5de17ac7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsPinAppAvailable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsPinAppAvailable - AGK Help
-
-
-
-
-
-
-
On Android this will return 1 if the command PinApp is available on this device. Otherwise it will return 0, which means that PinApp will have no effect.
Definition
integer IsPinAppAvailable()
int agk::IsPinAppAvailable()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsSupportedDepthTexture.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsSupportedDepthTexture.htm
deleted file mode 100644
index 9436ff34..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsSupportedDepthTexture.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsSupportedDepthTexture - AGK Help
-
-
-
-
-
-
-
This command returns 1 if the current device supports using depth images with SetRenderToImage. If this returns 0 then the only valid depth image IDs to SetRenderToImage are 0 for no depth, or -1 for an internal depth buffer.
Definition
integer IsSupportedDepthTexture()
uint32_t agk::IsSupportedDepthTexture()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsTopLeftOrigin.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsTopLeftOrigin.htm
deleted file mode 100644
index 7ce9d3d0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/IsTopLeftOrigin.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsTopLeftOrigin - AGK Help
-
-
-
-
-
-
-
Returns the number of characters in the given string. Note that for strings encoded in UTF-8 this may not be equal to the number of bytes in the string, as each character can use up to 4 bytes.
Definition
integer Len( strin )
uint32_t agk::Len( const char* strin )
Parameters
strin - The string to measure the length of
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Log.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Log.htm
deleted file mode 100644
index bd6bc8db..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Log.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Log - AGK Help
-
-
-
-
-
-
-
Sends the app to the background. On desktop platforms like Windows the app will continue to run when minimized. On Android the app will pause. On iOS it will do nothing as a user must minimize the app by pressing the home button. On desktop platforms the window can be restored with RestoreApp.
Definition
MinimizeApp()
void agk::MinimizeApp()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Mod.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Mod.htm
deleted file mode 100644
index c4f01319..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Mod.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Mod - AGK Help
-
-
-
-
-
-
-
On Android this will pin the app to the screen to prevent the user accidentally leaving the app. Optionally the device can be locked whilst the app is pinned so it must be unlocked to open any other apps, this is defined in the device settings. The user will be asked if they want to allow this before it actually takes effect.
Definition
PinApp( enable )
void agk::PinApp( int enable )
Parameters
enable - 1 to pin this app, 0 to unpin it
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Pow.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Pow.htm
deleted file mode 100644
index acb79ac9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Pow.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Pow - AGK Help
-
-
-
-
-
-
-
Generates a random number based on the current seed value. The random number generator is built into AGK so a particular seed value will produce the same sequence of numbers on every platform. Produces a random number between 0 and 65535
Definition
integer Random( )
uint32_t agk::Random( )
integer Random( from, to )
uint32_t agk::Random( uint32_t from, uint32_t to )
Parameters
from - The lowest value to return
to - The highest value to return
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Random2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Random2.htm
deleted file mode 100644
index 8520ac1b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Random2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Random2 - AGK Help
-
-
-
-
-
-
-
Generates a random number based on the current seed value. The random number generator is built into AGK so a particular seed value will produce the same sequence of numbers on every platform. Produces a random number between -2,147,483,648 and 2,147,483,647. This generator is slower than Random but produces better quality randomness over a larger range of values.
Definition
integer Random2( )
int agk::Random2( )
integer Random2( from, to )
int agk::Random2( int from, int to )
Parameters
from - The lowest value to return
to - The highest value to return
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RandomSign.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/RandomSign.htm
deleted file mode 100644
index 1cf77d07..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RandomSign.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RandomSign - AGK Help
-
-
-
-
-
-
-
Will randomly negate the value given and return it. Has a 50-50 chance of negating the value. The initial value can be negative, in which case it will randomly become positive.
Definition
integer RandomSign( value )
int agk::RandomSign( int value )
Parameters
value - The value to change.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render.htm
deleted file mode 100644
index e9b01182..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Render - AGK Help
-
-
-
-
-
-
-
Draws all 2D and 3D created using an ID number to the current frame buffer. It does not swap the backbuffer to the screen. It does not draw sprites or objects you have created using pointers, you will either have to draw them individually or assign them to a sprite manager to batch draw them. In this case Render should still be called as it also draws the print text. Called automatically by Sync, you may either use Sync or Update(), Render(), Swap() to manually sync. If you wish to have more control you can break this down further and replace Render with RenderShadowMap, Render2DBack, Render3D, Render2DFront.
Definition
Render()
void agk::Render()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DBack.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DBack.htm
deleted file mode 100644
index a95997fa..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DBack.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Render2DBack - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the render pipeline. Normally Render calls RenderShadowMap, Render2DBack, Render3D, Render2DFront to draw everything in the world. This command only draws the 2D sprites and text that are behind the 3D.
Definition
Render2DBack( )
void agk::Render2DBack( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DFront.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DFront.htm
deleted file mode 100644
index 2ec3f9bf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render2DFront.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Render2DFront - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the render pipeline. Normally Render calls RenderShadowMap, Render2DBack, Render3D, Render2DFront to draw everything in the world. This command only draws the 2D sprites and text that are in front the 3D.
Definition
Render2DFront( )
void agk::Render2DFront( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render3D.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render3D.htm
deleted file mode 100644
index 20a2111d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Render3D.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Render3D - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the render pipeline. Normally Render calls RenderShadowMap, Render2DBack, Render3D, Render2DFront to draw everything in the world. This command only draws the 3D objects.
Definition
Render3D( )
void agk::Render3D( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RenderShadowMap.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/RenderShadowMap.htm
deleted file mode 100644
index 58b451e7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RenderShadowMap.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RenderShadowMap - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the render pipeline. Normally Render calls RenderShadowMap, Render2DBack, Render3D, Render2DFront to draw everything in the world. This command only calculates the shadow map.
Definition
RenderShadowMap( )
void agk::RenderShadowMap( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ReplaceString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ReplaceString.htm
deleted file mode 100644
index 018c0e67..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ReplaceString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ReplaceString - AGK Help
-
-
-
-
-
-
-
Returns a string with all instances of "find" replaced with "replace". You can use the qty parameter to limit the number of replacements made, or use -1 for no limit. The original string is unmodified and a new string is returned with the replacements in it. Note that if you are calling this command from tier 2 then the returned string must be deleted when you are done with it.
Resets the time returned from Timer to 0. This allows the full accuracy to be regained after your app has been running for some time. This also resets the values returned by GetSeconds and GetMilliseconds to 0.
Definition
ResetTimer()
void agk::ResetTimer()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RestoreApp.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/RestoreApp.htm
deleted file mode 100644
index 62604d81..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/RestoreApp.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RestoreApp - AGK Help
-
-
-
-
-
-
-
Runs an external executable that is independent of this app. It will return an ID that you can use to check if the app is still running or in extreme cases to terminate the app. If this fails it will return 0. Currently only works on Windows, Mac, Linux, and Raspberry Pi.
Returns an average frames per second based on the rendering time of the last few frames. To get the exact time spent on the last frame you can call GetFrameTime.
Definition
float ScreenFPS()
float agk::ScreenFPS()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldX.htm
deleted file mode 100644
index eac5277d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ScreenToWorldX - AGK Help
-
-
-
-
-
-
-
Converts a screen X coordinate into a world X coordinate based on the current view offset and zoom. When the SetViewOffset is 0,0 and the SetViewZoom is 1.0 world and screen coordinates are the same. For example when the view is offset by 20 pixels to the right, input at 0,0 on the screen will appear 20,0 in the world.
Definition
float ScreenToWorldX( x )
float agk::ScreenToWorldX( float x )
Parameters
x - The screen X coordinate to convert.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldY.htm
deleted file mode 100644
index 566d922f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ScreenToWorldY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ScreenToWorldY - AGK Help
-
-
-
-
-
-
-
Converts a screen Y coordinate into a world Y coordinate based on the current view offset and zoom. When the SetViewOffset is 0,0 and the SetViewZoom is 1.0 world and screen coordinates are the same. For example when the view is offset by 20 pixels down, input at 0,0 on the screen will appear 0,20 in the world.
Definition
float ScreenToWorldY( y )
float agk::ScreenToWorldY( float y )
Parameters
y - The screen Y coordinate to convert.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetAntialiasMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetAntialiasMode.htm
deleted file mode 100644
index 551ebf2a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetAntialiasMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetAntialiasMode - AGK Help
-
-
-
-
-
-
-
Sets whether the device should using anti-aliasing when rendering to the back buffer. Currently this only applies to OpenGL on Windows, Mac, and Linux, and only 4x multi-sampling is available. This does not apply to any objects drawn to an image with SetRenderToImage, only the back buffer is anti-aliased.
Definition
SetAntialiasMode( mode )
void agk::SetAntialiasMode( int mode )
Parameters
mode - 0=off, 1=4xMSAA
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetBorderColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetBorderColor.htm
deleted file mode 100644
index e7012df6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetBorderColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetBorderColor - AGK Help
-
-
-
-
-
-
-
Sets the color or any borders used when the display does not fit the aspect ratio exactly. If this color is different from the clear color than an additional clear operation is performed and may affect performance if fill rate is an issue.
Definition
SetBorderColor( red, green, blue )
void agk::SetBorderColor( uint32_t red, uint32_t green, uint32_t blue )
Parameters
red - The red component of the border color
green - The green component of the border color
blue - The blue component of the border color
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetClearColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetClearColor.htm
deleted file mode 100644
index baac7c16..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetClearColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetClearColor - AGK Help
-
-
-
-
-
-
-
Sets the default magnification filter for textures when the texture is larger than the screen space it is displayed in. You can use a mode of 0 to use the nearest pixel, which will appear blocky, or 1 to use a linear filter which will look blurry. When the image matches the screen space exactly then both filters will look the same when there is a slight difference, nearest tends to be sharper, but may flicker as it changes pixel choice. You can set this value per image using SetImageMagFilter.
Definition
SetDefaultMagFilter( filter )
void agk::SetDefaultMagFilter( uint32_t filter )
Parameters
filter - The filter mode to use 0=nearest, 1=linear
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultMinFilter.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultMinFilter.htm
deleted file mode 100644
index ce05a864..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultMinFilter.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetDefaultMinFilter - AGK Help
-
-
-
-
-
-
-
Sets the default minification filter for textures when the texture is smaller than the screen space it is displayed in. You can use a mode of 0 to use the nearest pixel, which will appear blocky, or 1 to use a linear filter which will look blurry. When the image matches the screen space exactly then both filters will look the same when there is a slight difference, nearest tends to be sharper, but may flicker as it changes pixel choice. You can set this value per image using SetImageMinFilter.
Definition
SetDefaultMinFilter( filter )
void agk::SetDefaultMinFilter( uint32_t filter )
Parameters
filter - The filter mode to use 0=nearest, 1=linear
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultWrapU.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultWrapU.htm
deleted file mode 100644
index 27ad6bf6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetDefaultWrapU.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetDefaultWrapU - AGK Help
-
-
-
-
-
-
-
This command is used in conjunction with the default percentage based positioning system in AGK. If using this approach you will need to specify a display aspect, so that AGK knows how to correctly display entities on screen. If your artwork was originally designed for a resolution of 1024 x 768, this would result in an aspect ratio of 4:3, which is also the same as saying 1024 / 768 = 1.33, therefore you would call SetDisplayAspect and pass in a 1.33 as your aspect ratio. On platforms where the resolution was different AGK will take care of things internally so that your application still maintains this aspect ratio and looks correct.
The alternative approach is to call SetVirtualResolution to control the coordinate system and place sprites using screen coordinates instead of using percentages, in which case you should not call this command.
If sprites already exist when this is called they will become distorted. If the aspect ratio given does not fit exactly on the current device, black borders will be drawn around the rendering area to center it on screen. Use an aspect ratio of 0 to use the current coordinate system as the aspect ratio.
Use an aspect ratio of -1 to use the device aspect ratio (fills the whole screen without black borders, but will cause stretching and look different on every device) An alternative method of filling the screen which avoids this problem is to use SetScissor with the values 0,0,0,0.
Definition
SetDisplayAspect( aspect )
void agk::SetDisplayAspect( float aspect )
Parameters
aspect - the aspect ratio to use from now on, in the form of width/height.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileKey.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileKey.htm
deleted file mode 100644
index d161061f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileKey.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetExpansionFileKey - AGK Help
-
-
-
-
-
-
-
Sets the public key to use in the other expansion file commands. Currently only applicable to Android. The public key can be found in the Google Play Developer Console and is different for each app. Click on the app and then click on the Services and APIs section, it is the long string that starts MIIB.
Definition
SetExpansionFileKey( key )
void agk::SetExpansionFileKey( const char *key )
Parameters
key - The public key to use when checking for and downloading an expansion file.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileVersion.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileVersion.htm
deleted file mode 100644
index c4590353..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetExpansionFileVersion.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetExpansionFileVersion - AGK Help
-
-
-
-
-
-
-
Sets the version number to use in the other expansion file commands. Currently only applicable to Android. The version number of the expansion file is determined by the version number of the APK that was uploaded with it. For example the APK may be updated to a new version number but the expansion file could still be the original version number.
Definition
SetExpansionFileVersion(int version)
void agk::SetExpansionFileVersion(int version)
Parameters
version - The version number to use when checking for and downloading an expansion file.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetGenerateMipmaps.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetGenerateMipmaps.htm
deleted file mode 100644
index 813814bf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetGenerateMipmaps.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetGenerateMipmaps - AGK Help
-
-
-
-
-
-
-
Sets whether loaded images having mipmaps generated and used. Should be called before any images are loaded. May be changed before another image is loaded to make some use mipmaps and others not.
Definition
SetGenerateMipmaps( generate )
void agk::SetGenerateMipmaps( int generate )
Parameters
generate - Set to 1 to generate mipmaps (default is 0)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetImmersiveMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetImmersiveMode.htm
deleted file mode 100644
index 31dd4e0e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetImmersiveMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetImmersiveMode - AGK Help
-
-
-
-
-
-
-
Removes any on screen controls that may have been placed on screen by the OS, for example the home and back buttons, allowing your app to use the entire screen. Your app may be resized after calling this command so if you have used GetDeviceWidth or GetDeviceHeight you should wait a few frames then call them again to get the new values. The values may not change immediately after calling this command as it takes some time for the navigation bar to change. Sometimes the OS will turn off immersive mode without warning, for example if the volume buttons are pressed. When this happens your app will return to its non-immersive mode size to prevent any part of the app being hidden by the nav bar, which could make some parts of the app inaccessible to touch events. You can detect this change by checking GetDeviceWidth and GetDeviceHeight at regular intervals, and use SetImmersiveMode again to request a return to immersive mode.
Currently this only applies to Android devices running 4.4 (API 19) or higher. On other platforms this command does nothing.
Definition
SetImmersiveMode( mode )
void agk::SetImmersiveMode( int mode )
Parameters
mode - 1 to turn on immersive mode, 0 to turn it off
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetIntendedDeviceSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetIntendedDeviceSize.htm
deleted file mode 100644
index d9cead60..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetIntendedDeviceSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetIntendedDeviceSize - AGK Help
-
-
-
-
-
-
-
This command has been deprecated and you should use LoadImageResized to adjust image sizes depending on the device resolution, you can check the device resolution with GetDeviceWidth and GetDeviceHeight. void agk::SetIntendedDeviceSize( int width, int height )
Definition
SetIntendedDeviceSize( width, height )
void agk::SetIntendedDeviceSize( int width, int height )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetOrientationAllowed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetOrientationAllowed.htm
deleted file mode 100644
index d89680b1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetOrientationAllowed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetOrientationAllowed - AGK Help
-
-
-
-
-
-
-
Sets which orientations the AGK will allow the app to rotate to. There are two portrait and two landscape orientations, one for the right way up and the other for upside down. On platforms that can't rotate, like Windows or Mac, this command has no effect and the app will always be drawn right way up.
A value of 1 for each orientation will determine if the app will rotate when the device is held in that orientation. A value of 0 will keep the app at its last valid orientation.
Note that if the device is currently in a disallowed orientation then AGK will attempt to rotate the device into an allowed orientation, however this is not guaranteed to happen immediately. So, for example, if you need the device to be in landscape and you call this command with only landscape allowed, you should then wait for GetDeviceWidth to return greater than GetDeviceHeight which will signal that the device is now in landscape.
Controls when the Swap and Sync commands present the back buffer to the screen. This can either be delayed (mode=0) or immediate (mode=1), the default is immediate. Immediate mode has the lowest latency but some implementations of Vulkan have a performance hit if they try to present immediately after finishing drawing to the back buffer, so delayed mode should give more consistent performance. In delayed mode the Sync command will first present the previous frame to the screen and then draw the current frame. The current frame will not be presented until the next call to Sync. This is particularly apparent during loading screens where if you update the loading bar and then call Sync() the new loading bar would not immediately appear on screen when using delayed mode.
Definition
SetPresentMode( mode )
void agk::SetPresentMode( int mode )
Parameters
mode - 0 for delayed rendering, 1 to immediate rendering
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed.htm
deleted file mode 100644
index 338707cc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRandomSeed - AGK Help
-
-
-
-
-
-
-
Sets the seed for the random number generator. Two AGK applications using the same seed value will generate the same sequence of random numbers. By default the seed is set to the current time on startup so that each run of the application will generate a different sequence of numbers.
Definition
SetRandomSeed( seed )
void agk::SetRandomSeed( uint32_t seed )
Parameters
seed - The seed value, between 1 and 2^32
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed2.htm
deleted file mode 100644
index 8be9e2bf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRandomSeed2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRandomSeed2 - AGK Help
-
-
-
-
-
-
-
Sets the seed for the random number generator. Two AGK applications using the same seed value will generate the same sequence of random numbers. By default the seed is set to the current time on startup so that each run of the application will generate a different sequence of numbers.
Definition
SetRandomSeed2( seed )
void agk::SetRandomSeed2( uint32_t seed )
Parameters
seed - The seed value, between 1 and 2^32
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToImage.htm
deleted file mode 100644
index 62946df2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRenderToImage - AGK Help
-
-
-
-
-
-
-
Redirects all future draw calls to an image instead of to the screen. The specified image could then be applied to an object or sprite. Be careful not to apply the image to an object or sprite at the same time as it is being drawn to as this could result in an error. You can also choose to render the depth information to an image that you can use later, or render without a depth buffer if your scene does not need one. You can also use a depth image ID of -1 to render a depth buffer without capturing it in an image. Note that some devices (particularly Android) do not support rendering depth to an image, in these cases the only valid values for the depth ID are 0 and -1. You can check if the current device supports depth textures by using IsSupportedDepthTexture. Render images can be any size, and do not need to be a power of 2 in width or height.
For a more detailed explanation, when you render to an image it will draw to the image exactly what it would have drawn to the screen. For example if your virtual resolution is 1024x768 and requires borders then it will draw borders onto the render image. This means if you were to look at the resulting render image in its native form, e.g. 1024x1024, it will look like you've taken a 1024x768 window and stretched it vertically into a square. The result is that if you take this square image and stretch it back into 1024x768, by texturing a sprite or quad that happens to be 1024x768 in size, then it will look normal again. This means you can render a 1024x768 window to an image of any size, say 64x512, and stretch it to 1024x768 and it should look correct aspect ratio wise, it will of course be missing some detail. You can then get more advanced by changing the virtual resolution after setting a render image and changing it back when rendering to the screen, or using SetCameraAspect to change the 3D aspect ratio if the render image is going to be used for something other than a 1:1 representation of the screen.
After calling SetRenderToImage the image contents is undefined and can be cleared with ClearScreen, however if you are going to draw to every pixel on the screen, such as with a full screen shader then this is not necessary. It is not possible to call SetRenderToImage multiple times with the same image to add more drawn items to the image, the image will always become undefined after the call to SetRenderToImage. If you wish to maintain the contents of a previous render then you should render to a new image and apply the previously rendered image to a quad to draw it as a background. You can then swap the images in the next frame to continuously render the previous frame as a background to the current frame.
Definition
SetRenderToImage( colorImage, depthImage )
void agk::SetRenderToImage( int colorImage, int depthImage )
Parameters
colorImage - The ID of the image to use as the color buffer, 0 to not render color
depthImage - The ID of the image to use as the depth buffer, 0 to not render depth, -1 to use a depth buffer without an image
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToScreen.htm
deleted file mode 100644
index 5e63c566..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetRenderToScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRenderToScreen - AGK Help
-
-
-
-
-
-
-
This command sets the render pipeline to output any future draw calls to the screen. This is the default mode so you only need to call this if you have previously redirected drawing to an image with SetRenderToImage. After calling this command the backbuffer is immediately cleared, so any previous rendering to the screen will be lost.
Definition
SetRenderToScreen()
void agk::SetRenderToScreen()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetResolutionMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetResolutionMode.htm
deleted file mode 100644
index 042a6ba5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetResolutionMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetResolutionMode - AGK Help
-
-
-
-
-
-
-
Some platforms have high resolution screens such as the iPad, this function determines how those platforms display their content. You have the choice of mode=1 which will use a full resolution frame buffer that will look better, or mode=0 that will use a smaller resolution frame buffer (usually half sized) which is then scaled to fit the screen, and will run faster. This does not affect low resolution devices that will always use a low resolution frame buffer.
This command is deprecated and no longer does anything
Definition
SetResolutionMode( mode )
void agk::SetResolutionMode( int mode )
Parameters
mode - 1 to use a high (native) resolution, 0 to use a low (scaled) resolution
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetScissor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetScissor.htm
deleted file mode 100644
index 8df611f4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetScissor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetScissor - AGK Help
-
-
-
-
-
-
-
The function sets the area of the screen that will be drawn to in subsequent Sync() or Render() commands. The area is defined by two points representing the top left and bottom right corners of a rectangle which will be the new drawing area. By default this is set to your virtual resolution so anything placed outside this resolution is not be visible. Using SetScissor(0,0,0,0) is a special case that will turn off all clipping and make the full screen useable for displaying things. This can be useful when making an app that works across varying aspect ratios. For example using a virtual resolution of 1024x768 on a device with a 1280x800 screen would fit the 1024x768 area as closely as possible in the center of the screen, with black borders either side. SetScissor(0,0,0,0) places the 1024x768 area in the same place, but there are no black borders, so placing something at a negative X position would still be visible for as long as the screen can still fit it in. Whereas placing something at a negative position on a device with a 1024x768 screen (which fits your virtual resolution perfectly), would make that item disappear off the edge of the screen. You can use this with the commands GetScreenBoundsLeft, GetScreenBoundsRight, GetScreenBoundsTop, and GetScreenBoundsBottom to find the actual edge of the screen in your chosen resolution. This allows you to place items at the edge of the screen on all devices regardless of its aspect ratio.
This command is deprecated due to lack of support in newer renderers. The alternative is to render your scene to an image of your chosen size with SetRenderToImage and then display that image to the screen
Definition
SetScreenResolution( width, height )
void agk::SetScreenResolution( int width, int height )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSleepMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSleepMode.htm
deleted file mode 100644
index 7117e593..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSleepMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSleepMode - AGK Help
-
-
-
-
-
-
-
Sets whether the device should sleep when your app is idle. By default this is turned off, but if activated it will use the device settings to determine how long it should idle before sleeping.
Definition
SetSleepMode( mode )
void agk::SetSleepMode( int mode )
Parameters
mode - 1 to enable sleep mode, 0 to turn it off (default)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSortCreated.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSortCreated.htm
deleted file mode 100644
index 571cfb6a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetSortCreated.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSortCreated - AGK Help
-
-
-
-
-
-
-
Sets the desired rate that frames will be drawn to the screen, in frames per second (fps). Additionally there are two modes to choose from that can limit the CPU, the first (mode=0) sleeps the application between frames to save CPU and battery life where possible. The second (mode=1) uses a continuous loop to check the time before the next frame, which can be more accurate but hogs the CPU.
The preferred method of limiting frame rate is SetVSync() which set the refresh rate to the monitor refresh rate, and will prevent any screen tearing or stuttering. Using SetSyncRate will automatically turn VSync off since the two commands would fight each other for control of the frame rate.
Use an fps of 0 to remove all limits and draw frames as quickly as possible. This may be up to thousands of frames per second on the most powerful graphics cards.
Note that on HTML5 the use of SetSyncRate is highly discouraged as it uses the Javascript SetTimeout function for timing, which can cause inaccurate frame rates and stuttering. On HTML5 the preferred method of frame rate control is SetVSync.
Definition
SetSyncRate( fps, mode )
void agk::SetSyncRate( float fps, int mode )
Parameters
fps - The desired frame rate in frames per second, 0 for unlimited.
mode - 1 to use a possibly more accurate but CPU intensive method, 0 (default) to save CPU and battery.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetTransitionMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetTransitionMode.htm
deleted file mode 100644
index a60e25c1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetTransitionMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTransitionMode - AGK Help
-
-
-
-
-
-
-
Sets whether vertical sync should be turned on or off. This is the preferred method of limiting the frame rate as it will link the frame rate to the monitor refresh rate and avoid tearing or stuttering. Using this command with mode 1 will override any currently set refresh rate from SetSyncRate, otherwise these two commands would fight each other for control of the frame rate, instead AGK will use the VSync refresh rate which is typically 60 frames per second, but depends on the monitor.
On Linux, Mac, and HTML5 you can use a value greater than 1 to skip refreshes, for example if the monitor refresh rate is 60Hz then a mode value of 1 would limit the app to 60fps, but a mode value of 2 would skip every other refresh which would limit the app to 30fps.
Definition
SetVSync( mode )
void agk::SetVSync( int mode )
Parameters
mode - 1 to turn vsync on, 0 to turn it off.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewOffset.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewOffset.htm
deleted file mode 100644
index 6e831df5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewOffset.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetViewOffset - AGK Help
-
-
-
-
-
-
-
Offset the screen viewport relative to the world, for example a view offset of 0,20 will move the screen down by 20 pixels showing any sprite that was previously positioned just off the bottom of the screen. This can be useful for scrolling games where you want to move the view across a level.
Using this command will automatically disable the four physics walls surrounding the screen.
You can also fix sprites to the screen so that they move along with it by using FixSpriteToScreen.
The view offset values position the top left corner of the view in the world, while SetViewZoom determines how much of the world the view can see.
Definition
SetViewOffset( x, y )
void agk::SetViewOffset( float x, float y )
Parameters
x - The x offset for the view
y - The y offset for the view
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoom.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoom.htm
deleted file mode 100644
index d0db0a72..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoom.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetViewZoom - AGK Help
-
-
-
-
-
-
-
Zooms the screen viewport relative to the world, for example a view zoom of 2.0 will double the size of anything currently in view. A value of 1.0 returns everything to normal size.
Using this command will automatically disable the four physics walls surrounding the screen.
You can also fix sprites to the screen so that they do not change size by using FixSpriteToScreen.
This command can either zoom towards the view's top left corner or towards the view's center, see SetViewZoomMode for details.
Definition
SetViewZoom( zoom )
void agk::SetViewZoom( float zoom )
Parameters
zoom - The zoom level for scrolling sprites
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoomMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoomMode.htm
deleted file mode 100644
index 665a2d57..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetViewZoomMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetViewZoomMode - AGK Help
-
-
-
-
-
-
-
Sets the zoom mode from top left corner or centered. By default the view zooms from its top left corner, maintaining the views offset in world coordinates. For example a view with an offset of 20,20 will maintain its top left corner at 20,20 in world coordinates no matter what zoom value is given. However, centered zoom keeps the center of the view stationary whilst scaling everything else around it, making the offset value more difficult to judge. In this mode the top left corner will only be at 20,20 when the zoom value is 1.0, for other zoom values the top left corner will be scaled away from the offset point. For example, assume a world size of 100,100 units, a zoom level of 1.0, and a view offset of 0,0. The view will be displaying world coordinates 0,0 (its top left corner) to 100,100 (at its bottom right corner), with a zoom value of 2.0 and top left zooming the view will now show world coordinates 0,0 to 50,50 in the same space making everything look bigger. In centered zooming the view would instead show 25,25 to 75,75 maintaining the center of the view over the point 50,50 in world coordinates.
Definition
SetViewZoomMode( mode )
void agk::SetViewZoomMode( int mode )
Parameters
mode - 0=top left, 1=centered
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetVirtualResolution.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetVirtualResolution.htm
deleted file mode 100644
index 5a371f61..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetVirtualResolution.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualResolution - AGK Help
-
-
-
-
-
-
-
The default approach for the coordinate system in AGK is to use a percentage based system where 0,0 represents the top left corner and 100,100 the bottom right. The alternative approach is to treat the platform with a fixed resolution e.g. 320 x 480. Any platforms that don't match this resolution will be scaled to fit as much as possible with black borders where necessary.
Definition
SetVirtualResolution( iWidth, iHeight )
void agk::SetVirtualResolution( int iWidth, int iHeight )
Parameters
iWidth - the number of units to use across the width of the rendering area
iHeight - the number of units to use across the height of the rendering area
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowAllowResize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowAllowResize.htm
deleted file mode 100644
index 5891ee94..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowAllowResize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetWindowAllowResize - AGK Help
-
-
-
-
-
-
-
This sets the window position for platforms that support it, such as Windows and Mac. If the window is currently full screen then this will have no affect. This will not affect mobile devices.
Definition
SetWindowPosition( x, y )
void agk::SetWindowPosition( int x, int y )
Parameters
x - The desired X position of the window in pixels.
y - The desired Y position of the window in pixels.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowSize.htm
deleted file mode 100644
index 18ee8028..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/SetWindowSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetWindowSize - AGK Help
-
-
-
-
-
-
-
This sets the window size for platforms that support it, such as Windows and Mac. This will not affect mobile devices. In fullscreen mode the width and height will be ignored and the desktop resolution will be used. By default the window size will be adjusted so it always fits on screen, including making room for the taskbar on Windows. This means that your final window size may be slightly smaller than your chosen size. You can override this by setting the allowOverSized parameter to 1, which will remove all bounds checks and allow you to create windows larger than the current screen. When the fullscreen parameter is set to 1 then the allowOverSized parameter has no effect.
Definition
SetWindowSize( width, height, fullscreen )
void agk::SetWindowSize( int width, int height, int fullscreen )
Hashes a string using the SHA1 algorithm to produce a 40 character hexadecimal string. This is a one way hash function that can be used with salting (appending a secret string) for passwords or tamper detection in parameters passed to a server. If you are calling this function from Tier 2 then you must delete the returned string with agk::DeleteString with DeleteString() when you are done with it.
Definition
string Sha1( str )
char* agk::Sha1( const char* str )
Parameters
str - The string to hash
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha256.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha256.htm
deleted file mode 100644
index 8466cb33..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha256.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Sha256 - AGK Help
-
-
-
-
-
-
-
Hashes a string using the SHA256 algorithm to produce a 32 character hexadecimal string. This is a one way hash function that can be used with salting (appending a secret string) for passwords or tamper detection in parameters passed to a server. If you are calling this function from Tier 2 then you must delete the returned string with agk::DeleteString when you are done with it.
Definition
string Sha256( str )
char* agk::Sha256( const char* str )
Parameters
str - The string to hash
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha512.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha512.htm
deleted file mode 100644
index 76f29ad8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sha512.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Sha512 - AGK Help
-
-
-
-
-
-
-
Hashes a string using the SHA512 algorithm to produce a 64 character hexadecimal string. This is a one way hash function that can be used with salting (appending a secret string) for passwords or tamper detection in parameters passed to a server. If you are calling this function from Tier 2 then you must delete the returned string with agk::DeleteString when you are done with it.
Definition
string Sha512( str )
char* agk::Sha512( const char* str )
Parameters
str - The string to hash
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareFile.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareFile.htm
deleted file mode 100644
index 145f3881..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareFile.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShareFile - AGK Help
-
-
-
-
-
-
-
Sends the given file to the operating system which will then ask the user how they want to share it, e.g. through email, NFC, etc. The file can be in your read or write folder, or you can use a "raw:" path to load from anywhere, you should provide the filename as if you were loading the file. This only works on iOS and Android.
Definition
ShareFile( szFilename )
void agk::ShareFile( const char* szFilename )
Parameters
szFilename - The path to the file to share
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImage.htm
deleted file mode 100644
index 6418c7c9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShareImage - AGK Help
-
-
-
-
-
-
-
Sends the given image to the operating system which will then ask the user how they want to share the image, e.g. through Facebook, Twitter, etc. The file should be in your read or write folder, or you can use a "raw:" path to load from anywhere, you should provide the filename as if you were loading the file. This only works on iOS and Android.
Definition
ShareImage( szFilename )
void agk::ShareImage( const char* szFilename )
Parameters
szFilename - The filename of the image to share
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImageAndText.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImageAndText.htm
deleted file mode 100644
index 1bff38ef..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/ShareImageAndText.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShareImageAndText - AGK Help
-
-
-
-
-
-
-
Sends the given image and text to the operating system which will then ask the user how they want to share the text, e.g. through Facebook, Twitter, etc. The image file should be in your read or write folder, or you can use a "raw:" path to load from anywhere, you should provide the filename as if you were loading the file. This only works on iOS and Android.
Sends the given text to the operating system which will then ask the user how they want to share the text, e.g. through Facebook, Twitter, etc. This only works on iOS and Android.
Definition
ShareText( szText )
void agk::ShareText( const char* szText )
Parameters
szText - The text to share
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sin.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sin.htm
deleted file mode 100644
index 974b1e30..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sin.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Sin - AGK Help
-
-
-
-
-
-
-
Suspend the app for a specified number of milliseconds. It is not recommended that you use this command to suspend an app for more than the time of one frame (roughly 17 milliseconds).
Definition
Sleep( milliseconds )
void agk::Sleep( uint32_t milliseconds )
Parameters
milliseconds - The number of milliseconds to sleep.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Spaces.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Spaces.htm
deleted file mode 100644
index 7cf6c1a8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Spaces.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Spaces - AGK Help
-
-
-
-
-
-
-
Steps the physics simulation by a defined amount of time. This time value is in seconds and may include fractions of seconds. Stepping the physics simulation by a large time value (greater than say 0.1) may result in undefined behaviour and physics objects moving through each other. It is not required that you call this command in your game loop, if you do not call it, Sync or Update will call it for you with the last frame time to allow the physics simulation to catch up in real time. If you do call StepPhysics then it will not be called for you by Sync or Update for that frame, this allows you to do your own physics timing if you prefer.
By using a fixed time step every frame your physics will perform exactly the same across all devices and all frame rates, but a reduction in fps will result in the physics appearing to go slower, as it will always step the same amount of time whether the frame was quick or slow to draw. Using a variable step for each frame will keep physics moving at the same speed regardless of frame rate, but it will no longer be deterministic across devices and different frame rates. For example if your game depends on a physics entity falling and bouncing to the same height each time it is run then you should use a fixed time step. If the position of physics objects is not important to your game logic then a variable time step may be best.
Definition
StepPhysics( time )
void agk::StepPhysics( float time )
Parameters
time - The step time in seconds
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Str.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Str.htm
deleted file mode 100644
index dc6b0537..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Str.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Str - AGK Help
-
-
-
-
-
-
-
Returns a string with all characters in "chars" removed from it. The original string is unmodified and a new string is returned with the characters removed. For example StripString("my string", "yn") would return "m strig". Note that if you are calling this command from tier 2 then the returned string must be deleted when you are done with it.
Displays the back buffer to the screen and clears the backbuffer for the next frame, updates global time variables. Called automatically by Sync, you may either use Sync or Update, Render, Swap one after the other to manually sync.
Definition
Swap()
void agk::Swap()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sync.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sync.htm
deleted file mode 100644
index 56f004a1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Sync.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Sync - AGK Help
-
-
-
-
-
-
-
Updates the scene with the latest information, draws all sprites, updates global objects, and swaps the backbuffer into view. Does not draw sprites you have created using pointers in tier 2, you must draw these manually by calling the sprite's Draw function or assigning them to a sprite manager for batch drawing.
Definition
Sync()
void agk::Sync()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Tan.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Tan.htm
deleted file mode 100644
index d2d6f98b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Tan.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Tan - AGK Help
-
-
-
-
-
-
-
Immediately terminates the specified app. This should only be used in extreme cases as the app is not given a chance to clean up or finish what it is doing.
Definition
TerminateApp( appID )
void agk::TerminateApp( uint32_t appID )
Parameters
appID - The app ID to terminate, returned from RunApp()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Timer.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Timer.htm
deleted file mode 100644
index 9729c0c4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Timer.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Timer - AGK Help
-
-
-
-
-
-
-
Get the number of seconds and fractions of seconds since the app was started. Accurate to milliseconds, but due to floating point inaccuracies the longer the app is running the less accurate this becomes. More specifically the time value has about 7 significant figures of accuracy, so as the number of seconds gets higher the number of decimal places decreases. If you only need the time to the nearest second then this value will be fine up to about 16,000,000 seconds.
Calling this command will internally make a system call to get the amount of time passed, so it will change every time you call it.
Definition
float Timer()
float agk::Timer()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/TrimString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/TrimString.htm
deleted file mode 100644
index b9325a12..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/TrimString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TrimString - AGK Help
-
-
-
-
-
-
-
Returns a string with all characters in "chars" removed from the ends of the string. The original string is unmodified and a new string is returned with the characters removed. This can be used to remove extra whitespace from the ends of an input string. Note that if you are calling this command from tier 2 then the returned string must be deleted when you are done with it.
Returns a string with all characters removed after a given character. The original string is unmodified and a new string is returned with the characters removed. This searches backwards from the end of the string to the beginning and at the first occurrence of the character removes it and everything after it. Note that if you are calling this command from tier 2 then the returned string must be deleted when you are done with it.
Definition
string TruncateString( str, character )
char* agk::TruncateString( const char* str, const char* character )
Parameters
str - The string to modify
character - The character to look for, must be a single character
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update.htm
deleted file mode 100644
index de1ba02b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Update - AGK Help
-
-
-
-
-
-
-
Updates all 2D and 3D objects based on the given time, animation, physics, etc. If time is 0 it uses the last frame time to step the simulation. If you have already called StepPhysics this frame it will not be called again for this frame.
Called automatically by Sync, you may either use Sync or Update(), Render(), Swap() to manually sync. If you wish to have more control you can break this down further by replacing Update with Update2D, Update3D()
Definition
Update( time )
void agk::Update( float time )
Parameters
time - the time in seconds to move everything along. Can be fractions of seconds.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update2D.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update2D.htm
deleted file mode 100644
index cb16b356..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update2D.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Update2D - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the update process. Normally Update calls this and Update3D() to update everything in the world. This command only updates the 2D objects such as sprites and text.
Definition
Update2D( time )
void agk::Update2D( float time )
Parameters
time - the time in seconds to move everything along. Can be fractions of seconds.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update3D.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update3D.htm
deleted file mode 100644
index b18ab21d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Update3D.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Update3D - AGK Help
-
-
-
-
-
-
-
Called automatically. This is an advanced command to take control of the update process. Normally Update calls this and Update2D() to update everything in the world. This command only updates the 3D objects such as 3D models.
Definition
Update3D( time )
void agk::Update3D( float time )
Parameters
time - the time in seconds to move everything along. Can be fractions of seconds.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/UpdateDeviceSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/UpdateDeviceSize.htm
deleted file mode 100644
index 14e32493..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/UpdateDeviceSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-UpdateDeviceSize - AGK Help
-
-
-
-
-
-
-
If for any reason the device dimensions may have changed (e.g. a change in orientation rotates the viewspace to a new size) call this function to update the internal values.
Definition
UpdateDeviceSize( w, h )
void agk::UpdateDeviceSize( uint32_t w, uint32_t h )
Parameters
w - The new width
h - The new height
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Upper.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/Upper.htm
deleted file mode 100644
index 2f2d0348..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/Upper.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Upper - AGK Help
-
-
-
-
-
-
-
Opens the given file in an the external application suitable for its file type. Typically this is a default app chosen by the user. The file should be in your read or write folder, you should provide the filename as if you were loading the file. Currently this only works on Windows, iOS, and Android.
Definition
ViewFile( szFilename )
void agk::ViewFile( const char* szFilename )
Parameters
szFilename - The path to the file to open
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenX.htm
deleted file mode 100644
index e15db035..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WorldToScreenX - AGK Help
-
-
-
-
-
-
-
Converts a world X coordinate into a screen X coordinate based on the current view offset and zoom. When the SetViewOffset is 0,0 and the SetViewZoom is 1.0 world and screen coordinates are the same. For example when the view is offset by 20 pixels to the right, an object at 0,0 in the world will appear at -20 (off screen) to the left.
Definition
float WorldToScreenX( x )
float agk::WorldToScreenX( float x )
Parameters
x - The world X coordinate to convert.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenY.htm
deleted file mode 100644
index 2b18f13f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Core/WorldToScreenY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WorldToScreenY - AGK Help
-
-
-
-
-
-
-
Converts a world Y coordinate into a screen Y coordinate based on the current view offset and zoom. When the SetViewOffset is 0,0 and the SetViewZoom is 1.0 world and screen coordinates are the same. For example when the view is offset by 20 pixels down, an object at 0,0 in the world will appear at -20 (off screen) above the screen.
Definition
float WorldToScreenY( y )
float agk::WorldToScreenY( float y )
Parameters
y - The world Y coordinate to convert.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Error.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Error.htm
deleted file mode 100644
index 19395623..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Error.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Error - AGK Help
-
-
-
-
-
-
-
Returns a string describing the last error that occurred. This function will continue to return the same string until another error occurs. This does not include warnings.
Definition
string GetLastError()
char* agk::GetLastError()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Error/Log.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Error/Log.htm
deleted file mode 100644
index 2bef6b85..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Error/Log.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Log - AGK Help
-
-
-
-
-
-
-
Sets the error mode for the AGK from ignore, report, or stop from AGK commands, e.g. sprite ID doesn't exist in a command that accepts a sprite ID. Ignoring will make the AGK attempt to carry on, ignoring the entire command if necessary. Reporting will make the AGK report the error to an appropriate debug console and carry on. Stop will force the AGK to report the error as before and then stop by throwing an exception, which must be caught or the app will terminate. In the case of tier 1 the exception is caught by the interpreter and, if debugging, displayed in the IDE.
Definition
SetErrorMode( mode )
void agk::SetErrorMode( int mode )
Parameters
mode - 0=ignore, 1=report, 2=stop
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras.htm
deleted file mode 100644
index bfe81396..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Extras - AGK Help
-
-
-
-
-
-
-
This is an optional command that will reset the camera to the AR assigned values. This could be useful if you change the camera position or rotation but then want to know the AR values for these settings. You do not need to call this command as the values will be reset to the AR values by Render or Sync anyway.
Definition
ARControlCamera()
void agk::ARControlCamera()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromHitTest.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromHitTest.htm
deleted file mode 100644
index 04a3bf72..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromHitTest.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARCreateAnchorFromHitTest - AGK Help
-
-
-
-
-
-
-
Creates an anchor from the given hit test result which can be used to track a spot in the real world over time. Anchors automatically adjust their position to attempt to stay fixed to a point detected in the real world, this allows you to place an object there without it drifting too much. Returns an ID you can use to reference this anchor later. The hit test result does not need to exist after creating an anchor from it, you can safely clean up the hit test results afterwards. The anchor will persist and use some tracking resources until you specifically delete it with ARDeleteAnchor or you destroy the AR session.
Definition
integer ARCreateAnchorFromHitTest( index )
int agk::ARCreateAnchorFromHitTest( int index )
Parameters
index - The index of the hit test result to use, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromPlane.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromPlane.htm
deleted file mode 100644
index 1aa214cf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARCreateAnchorFromPlane.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARCreateAnchorFromPlane - AGK Help
-
-
-
-
-
-
-
Creates an anchor from the given plane's center which can be used to track a spot in the real world over time. Anchors automatically adjust their position to attempt to stay fixed to a point detected in the real world, this allows you to place an object there without it drifting too much. Returns an ID you can use to reference this anchor later. The plane result does not need to exist after creating an anchor from it, you can safely call ARGetPlanesFinish afterwards. The anchor will persist and use some tracking resources until you specifically delete it with ARDeleteAnchor or you destroy the AR session.
Definition
integer ARCreateAnchorFromPlane( index )
int agk::ARCreateAnchorFromPlane( int index )
Parameters
index - The index of the plane to use, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDeleteAnchor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDeleteAnchor.htm
deleted file mode 100644
index ea7fad7b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDeleteAnchor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARDeleteAnchor - AGK Help
-
-
-
-
-
-
-
Deletes the specified anchor and frees up any resources that were being used by it. If any objects were attached to the anchor when it is deleted then they will return to an unattached state and be placed at world coordinates
Definition
ARDeleteAnchor( anchorID )
void agk::ARDeleteAnchor( int anchorID )
Parameters
anchorID - The ID of the anchor to delete
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDestroy.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDestroy.htm
deleted file mode 100644
index c1030fce..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDestroy.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARDestroy - AGK Help
-
-
-
-
-
-
-
Destroys the AR session and any resources allocated during setup. After you can not call any AR commands, except ARGetStatus and ARSetup. You may call ARSetup to recreate an AR session. There is no limit on the number of times you can create and destroy the AR session. Currently on Android this command may take up to 5 seconds, apparently this will be improved ina future version of Google's ARCore.
Definition
ARDestroy()
void agk::ARDestroy()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDrawBackground.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDrawBackground.htm
deleted file mode 100644
index 6b2c1388..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARDrawBackground.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARDrawBackground - AGK Help
-
-
-
-
-
-
-
You must call this command if you want the AR camera feed to be drawn to the screen. If you do not then the camera will still track as if it were moving around the real world but the camera feed will not be seen inside the app. This may be useful if you want to render a purely virtual reality but still use the AR camera tracking functionality. The best time to call this command is just before calling Render or Sync.
Definition
ARDrawBackground()
void agk::ARDrawBackground()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARFixObjectToAnchor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARFixObjectToAnchor.htm
deleted file mode 100644
index 801a812c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARFixObjectToAnchor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARFixObjectToAnchor - AGK Help
-
-
-
-
-
-
-
Attaches an object to an anchor in the same way that FixObjectToObject works. The object's position and rotation will be added to the anchor's position and rotation. So for example an object at position 0,0,0 would be directly on top of the anchor's position, whereas if the object had a position of 0,2,0 then the object would be placed 2 meters above the anchor's position. There is no limit on the number of objects that can be attached to an anchor, and objects can still be attached to the object attached to the anchor. For example object 1 could be fixed to the anchor, and object 2 could be fixed to object 1. To remove an object from an anchor call this command with an anchor ID of 0. The object will then be placed in the world at its given position, for example a position of 0,0,0 would place it at the origin of the world.
Definition
ARFixObjectToAnchor( objID, anchorID )
void agk::ARFixObjectToAnchor( int objID, int anchorID )
Parameters
objID - The ID of the object to fix to the anchor
anchorID - The ID of the anchor to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetAnchorStatus.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetAnchorStatus.htm
deleted file mode 100644
index 69785bd8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetAnchorStatus.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetAnchorStatus - AGK Help
-
-
-
-
-
-
-
Returns the current tracking status of the given anchor. 0=stopped, 1=paused, 2=tracking, -1=don't know. Anchors can stop tracking if the camera loses tracking with the world, this can happen if the camera can't see enough features to work out how the scene is moving. For example by looking at a blank wall. When an anchor stops or pauses tracking it maintains its current position and rotation, but this no longer correlates to the world position it was tracking, so the anchor may appear to be drifting relative to the world. When the anchor resumes tracking it should return to its correct world position.
Definition
integer ARGetAnchorStatus( anchorID )
int agk::ARGetAnchorStatus( int anchorID )
Parameters
anchorID - The ID of the anchor to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalX.htm
deleted file mode 100644
index 318fa5c2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestNormalX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the normal of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. For planes on the ground the normal will point straight up in 3D space, for points detected on walls or other objects the normal will point away from the detected surface.
Definition
float ARGetHitTestNormalX( index )
float agk::ARGetHitTestNormalX( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalY.htm
deleted file mode 100644
index b5e55872..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestNormalY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the normal of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. For planes on the ground the normal will point straight up in 3D space, for points detected on walls or other objects the normal will point away from the detected surface.
Definition
float ARGetHitTestNormalY( index )
float agk::ARGetHitTestNormalY( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalZ.htm
deleted file mode 100644
index 296fcb5a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestNormalZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestNormalZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the normal of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. For planes on the ground the normal will point straight up in 3D space, for points detected on walls or other objects the normal will point away from the detected surface.
Definition
float ARGetHitTestNormalZ( index )
float agk::ARGetHitTestNormalZ( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestType.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestType.htm
deleted file mode 100644
index 7998431d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestType.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestType - AGK Help
-
-
-
-
-
-
-
Returns the X component of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. This point should only be used for a short time, for example to display a particle effect, as it will drift relative to the real world. If you plan to use this 3D point to position a long lived object in the world then you should create an anchor from this hit test result instead so that it doesn't drift.
Definition
float ARGetHitTestX( index )
float agk::ARGetHitTestX( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestY.htm
deleted file mode 100644
index 27eb718c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. This point should only be used for a short time, for example to display a particle effect, as it will drift relative to the real world. If you plan to use this 3D point to position a long lived object in the world then you should create an anchor from this hit test result instead so that it doesn't drift.
Definition
float ARGetHitTestY( index )
float agk::ARGetHitTestY( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestZ.htm
deleted file mode 100644
index ab41f497..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetHitTestZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetHitTestZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the given hit test result in 3D space. Hit test results are ordered with the closest first, starting at index 1. This point should only be used for a short time, for example to display a particle effect, as it will drift relative to the real world. If you plan to use this 3D point to position a long lived object in the world then you should create an anchor from this hit test result instead so that it doesn't drift.
Definition
float ARGetHitTestZ( index )
float agk::ARGetHitTestZ( int index )
Parameters
index - The index of the hit test result to check, starting with index 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetLightEstimate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetLightEstimate.htm
deleted file mode 100644
index 5f057a2d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetLightEstimate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetLightEstimate - AGK Help
-
-
-
-
-
-
-
Returns the estimated light value for the current frame, this will be a value between 0.0 and 1.0. The best use of this value is to set the ambient light color with SetAmbientColor with a value of 1.0 corresponding to a color value of 255,255,255.
Definition
float ARGetLightEstimate()
float agk::ARGetLightEstimate()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleX.htm
deleted file mode 100644
index 9964a796..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneAngleX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the rotation of the given plane. This can be used to rotate a 3D object to match a visual representation of the detected plane.
Definition
float ARGetPlaneAngleX( index )
float agk::ARGetPlaneAngleX( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleY.htm
deleted file mode 100644
index cfcf8fe2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneAngleY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the rotation of the given plane. This can be used to rotate a 3D object to match a visual representation of the detected plane.
Definition
float ARGetPlaneAngleY( index )
float agk::ARGetPlaneAngleY( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleZ.htm
deleted file mode 100644
index 724077ef..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneAngleZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneAngleZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the rotation of the given plane. This can be used to rotate a 3D object to match a visual representation of the detected plane.
Definition
float ARGetPlaneAngleZ( index )
float agk::ARGetPlaneAngleZ( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneSizeX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneSizeX.htm
deleted file mode 100644
index 963aceeb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneSizeX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneSizeX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the center of the given plane. This point may drift over time relative to the real world scene, so it should be checked and updated regularly if you are using it to show a visible representation of the plane.
Definition
float ARGetPlaneX( index )
float agk::ARGetPlaneX( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneY.htm
deleted file mode 100644
index b0ffcf6e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the center of the given plane. This point may drift over time relative to the real world scene, so it should be checked and updated regularly if you are using it to show a visible representation of the plane.
Definition
float ARGetPlaneY( index )
float agk::ARGetPlaneY( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneZ.htm
deleted file mode 100644
index 6ec27ed9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlaneZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlaneZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the center of the given plane. This point may drift over time relative to the real world scene, so it should be checked and updated regularly if you are using it to show a visible representation of the plane.
Definition
float ARGetPlaneZ( index )
float agk::ARGetPlaneZ( int index )
Parameters
index - The index of the plane to check, starting with index 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanes.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanes.htm
deleted file mode 100644
index 6e135d87..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanes.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlanes - AGK Help
-
-
-
-
-
-
-
Queries the AR session for all the planes currently being tracked in the world, these are detected over time if ARSetPlaneDetectionMode is turned on. Returns the number of planes found. This can be used to show the detected planes to the user by creating some plane objects with CreateObjectPlane and placing them at the given position, with the given rotation, and size. When you are done checking the results you should call ARGetPlanesFinish to clean up any resources used in the check.
Definition
integer ARGetPlanes( reserved )
int agk::ARGetPlanes( int reserved )
Parameters
reserved - reserved for future use, must be 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanesFinish.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanesFinish.htm
deleted file mode 100644
index d1f5aeee..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetPlanesFinish.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetPlanesFinish - AGK Help
-
-
-
-
-
-
-
Cleans up any resources used in the call to ARGetPlanes, you should call this when you are done checking the results. If not then it will be called automatically when you next call ARGetPlanes or destroy the AR session.
Definition
ARGetPlanesFinish()
void agk::ARGetPlanesFinish()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetStatus.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetStatus.htm
deleted file mode 100644
index 2f2c5c1c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARGetStatus.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARGetStatus - AGK Help
-
-
-
-
-
-
-
Returns the current state of the AR setup process. 0=ARSetup not yet called, -1=AR not available on this device, or setup failed, -2=User rejected ARCore install, 1=ARCore install in progress, 2=AR setup successful.
Definition
integer ARGetStatus()
int agk::ARGetStatus()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTest.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTest.htm
deleted file mode 100644
index 2c7d039a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTest.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARHitTest - AGK Help
-
-
-
-
-
-
-
Casts a ray into the real world scene and detects any hits with planes or tracking points detected in the world. Returns the number of hits detected, the hits will be ordered with the closest first. The coordinates should be in screen space, for example the values returned from GetPointerX and GetPointerY. When you are finished checking the results of this hit test you should call ARHitTestFinish to release any used resources. If not then this will be done automatically when you next call ARHitTest.
Definition
integer ARHitTest( screenX, screenY )
int agk::ARHitTest( float screenX, float screenY )
Parameters
screenX - The X component of the screen coordinate
screenY - The Y component of the screen coordinate
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTestFinish.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTestFinish.htm
deleted file mode 100644
index 910cb2f5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARHitTestFinish.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARHitTestFinish - AGK Help
-
-
-
-
-
-
-
Cleans up the resources used during hit testing, this should be called when you are done checking the hit test results. If you do not call it then it will be called automatically when you perform another hit test or destroy the AR session.
Definition
ARHitTestFinish()
void agk::ARHitTestFinish()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetLightEstimationMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetLightEstimationMode.htm
deleted file mode 100644
index 41426c6e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetLightEstimationMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARSetLightEstimationMode - AGK Help
-
-
-
-
-
-
-
Sets the light estimation mode for AR, by default this is turned on. This attempts to work out the ambient light in the real world so you can light your virtual objects correctly.
Definition
ARSetLightEstimationMode( mode )
void agk::ARSetLightEstimationMode( int mode )
Parameters
mode - 1=Turn light estimation on, 0=Turn light estimation off
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetPlaneDetectionMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetPlaneDetectionMode.htm
deleted file mode 100644
index 5ba3cb8f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ARSetPlaneDetectionMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ARSetPlaneDetectionMode - AGK Help
-
-
-
-
-
-
-
Only available on iOS and Android. This command sets up the AR features of the device, if available. Use the ARGetStatus command to check if this was successful. This command must be called before any other AR commands, if the setup fails you may call this command again to attempt setup again.
Setting up AR will take control of the 3D camera, including the projection matrix, so any changes you make to the camera position, rotation, FOV, will be overwritten by the AR system when Render or Sync are called. However you can still control the camera near and far values with SetCameraRange which will persist through the AR system.
When using AR and placing or sizing 3D objects then the coordinate system is 1 AGK unit equals 1 meter.
Definition
ARSetup()
void agk::ARSetup()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ActivateSmartWatch.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ActivateSmartWatch.htm
deleted file mode 100644
index 34c4b1f1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ActivateSmartWatch.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ActivateSmartWatch - AGK Help
-
-
-
-
-
-
-
Attempts to connect to the smart watch connected to the current device. It will attempt to maintain that connection for the life of the app, for example if the watch is unpaired and then repaired then your app will reconnect to the watch automatically. So you only need to call this command once at the beginning of your app. Currently only works on iOS. To create a watch app you will need to use the Tier 2 project interpreter_ios and add a watch app to it.
Only for Android, all other platforms will return 1 and do nothing. Checks if the user has granted your app the specified permission to use certain Android commands. The permissions are as follows "WriteExternal" - used by the SaveSharedVariable commands and any "raw:" paths that access the sdcard. "Location" - used by the GPS commands "Camera" - used by the SetDeviceCameraToImage command "RecordAudio" - used by the StartScreenRecording command and for the AR camera feed This command will return 0 if you don't have permission and the user hasn't been asked yet, you should call RequestPermission if you need it. This command returns 1 if the user is in the process of being asked for permission, you should wait for a reply by continuing to call this command. It will return -1 if the user rejected permission, or 2 if the user granted permission. If the user rejects your request then you can ask again but you should explain why your app needs it first so they can make an informed choice. If they still reject it you should not normally ask a third time. After the first attempt Android will give the user the option to never allow the permission. In this case this command will always return -1 and RequestPermission will do nothing. The user will have to go into the device app settings to reverse this decision.
Any permission not listed here does not require you to prompt the user for permission, it will be auto granted on install if your app requires it. All permissions that your app uses, even those that require prompting, must be specified in the APK export dialog by ticking the appropriate check boxes.
Definition
integer CheckPermission( szPermission )
int agk::CheckPermission( const char* szPermission )
Parameters
szPermission - The permission to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/DeleteCloudDataVariable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/DeleteCloudDataVariable.htm
deleted file mode 100644
index 370453fb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/DeleteCloudDataVariable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteCloudDataVariable - AGK Help
-
-
-
-
-
-
-
Deletes the variable with the specified name and removes any data stored in the cloud for that variable. If the variable doesn't exist then this does nothing.
Deletes a shared variable by name. If the variable doesn't exist then this will do nothing. Once the variable is deleted then LoadSharedVariable will return the default value for any requests to load it.
The Facebook SDK has been removed from AppGameKit, this command no longer does anything. You can use ShareText or ShareImage give the user the option of how to share their information.
Tells Firebase to record an event that happened in your app, for example unlocking an achievement. These will appear in your Firebase project analytics page. Note that event names must not contain dashes or spaces, otherwise they will fail to register.
Starts the Firebase analytics system and the tracking of some automated events. Additional events can be tracked by using FirebaseLogEvent. You must include the google services config file that was created when you setup your Firebase project, this can be added during export for Android or iOS. If you do not specify your own google services config file during export then all your tracking data will go to our AGK Firebase project and be ignored. Similarly if you use these commands during broadcasting then the tracking data will go to the AGK project and be ignored.
Definition
FirebaseSetup()
void agk::FirebaseSetup()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterAchievementsReset.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterAchievementsReset.htm
deleted file mode 100644
index 260e6a45..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterAchievementsReset.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GameCenterAchievementsReset - AGK Help
-
-
-
-
-
-
-
Call this once to log the user in to Game Center (iOS) or Google Play Games (Android), if they have logged in before this happens in the background and does not interrupt the user, otherwise a popup will appear asking them to log in and grant permission to continue.
Definition
GameCenterLogin()
void agk::GameCenterLogin()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterLogout.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterLogout.htm
deleted file mode 100644
index 0daf5c9b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterLogout.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GameCenterLogout - AGK Help
-
-
-
-
-
-
-
Call this to log the user out of Google Play Games. After this you may call GameCenterLogin again. On Game Center (iOS) this has no affect, the user must logout from the Game Center app.
Definition
GameCenterLogout()
void agk::GameCenterLogout()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterSetup.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterSetup.htm
deleted file mode 100644
index a772e7dc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GameCenterSetup.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GameCenterSetup - AGK Help
-
-
-
-
-
-
-
Shows the user the named leaderboard, the name must match the Leaderboard ID given to your board in iTunes connect, Google Game Services, or GameCircle.
Change the users progress on reaching a named achievement, the name must match the Achievement ID given to the achievement in iTunes connect, Google Game Services, or GameCircle. The iPercentageComplete values should be between 0 and 100. However, for incremental achievements this value is actually the number of steps completed and may be outside of this range. The value will overwrite the current percentage or steps completed of the achievement.
Submits a score to a named leader board, this must match the Leaderboard ID given to your board in iTunes connect, Google Game Services, or GameCircle.
Definition
GameCenterSubmitScore( iScore, szBoardID )
void agk::GameCenterSubmitScore( int iScore, const char* szBoardID )
Parameters
iScore - The score to submit
szBoardID - The name of the leader board
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetAppReceipt.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetAppReceipt.htm
deleted file mode 100644
index 6264968c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetAppReceipt.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetAppReceipt - AGK Help
-
-
-
-
-
-
-
Returns the app receipt that contains a list of all purchases as a base64 encoded string. This can be sent to a server you control to validate the purchases, including the purchase of the app itself. Only available on iOS, other platforms will return an empty string.
Definition
string GetAppReceipt()
char* agk::GetAppReceipt()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetClipboardText.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetClipboardText.htm
deleted file mode 100644
index 0287a236..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetClipboardText.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetClipboardText - AGK Help
-
-
-
-
-
-
-
Gets any text currently held in the device clipboard, the text remains in the clipboard so it can still be used by other apps. The clipboard is the same as that used by the copy/paste functionality of the device.
Definition
string GetClipboardText()
char* agk::GetClipboardText()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataAllowed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataAllowed.htm
deleted file mode 100644
index 5fdacf01..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataAllowed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCloudDataAllowed - AGK Help
-
-
-
-
-
-
-
Returns 1 if the cloud data commands are available to use. Returns 0 if the user hasn't decided whether to allow or block access yet, this will be prompted in SetupCloudData if applicable. Returns -1 if the user has specifically denied access. Returns -2 if the user is not logged in or the device does not have iCloud or Google Drive. You can prompt the user to login and enable these when your app first starts, or when they choose to enable cloud backup in your own app settings. If this command returns -3 on Android then the Google cloud data has become corrupted and must be cleared in the Drive settings.
Definition
integer GetCloudDataAllowed()
int agk::GetCloudDataAllowed()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataChanged.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataChanged.htm
deleted file mode 100644
index f7831176..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataChanged.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCloudDataChanged - AGK Help
-
-
-
-
-
-
-
Returns 1 if the cloud data has changed due to another device changing a value, this will remain 1 until you call GetCloudDataVariable. Otherwise returns 0. This will not become 1 when you change the value locally.
Definition
integer GetCloudDataChanged()
int agk::GetCloudDataChanged()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataVariable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataVariable.htm
deleted file mode 100644
index e8f49da4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetCloudDataVariable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCloudDataVariable - AGK Help
-
-
-
-
-
-
-
Returns the value of a cloud data variable by name. If the variable does not exist then the default value passed in will be returned instead. If you are calling this command from Tier 2 then you must delete the returned string when you are done with it by calling agk::DeleteString.
Will return 1 if the user is logged in to Game Center or Google Play Games, 0 if not. The login process is Asynchronous so after calling GameCenterLogin it may take a few seconds for this command to return 1. If the user fails to login or GameCenter is not available then this will return -1.
Definition
integer GetGameCenterLoggedIn()
int agk::GetGameCenterLoggedIn()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerDisplayName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerDisplayName.htm
deleted file mode 100644
index ab696712..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerDisplayName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetGameCenterPlayerDisplayName - AGK Help
-
-
-
-
-
-
-
Returns the display name for the currently logged in player. If no one is logged in, or the platform does not support GameCenter commands then this will return an empty string. If calling this command from Tier 2 then the returned string must be deleted with agk::DeleteString when you are done with it.
Definition
string GetGameCenterPlayerDisplayName()
char* agk::GetGameCenterPlayerDisplayName()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerID.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerID.htm
deleted file mode 100644
index 5e7ba163..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetGameCenterPlayerID.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetGameCenterPlayerID - AGK Help
-
-
-
-
-
-
-
Returns the unique ID for the currently logged in player. If no one is logged in, or the platform does not support GameCenter commands then this will return an empty string. If calling this command from Tier 2 then the returned string must be deleted with agk::DeleteString when you are done with it.
Definition
string GetGameCenterPlayerID()
char* agk::GetGameCenterPlayerID()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable.htm
deleted file mode 100644
index 2c5ef986..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseAvailable - AGK Help
-
-
-
-
-
-
-
Returns 1 if the extra content has been purchased and is therefore available. Returns 0 if the content is not available. It is recommended that you use the newer GetInAppPurchaseAvailable2 to get a more detailed response. Currently this command is only supported on iOS and Android.
Definition
integer GetInAppPurchaseAvailable ( iID )
int agk::GetInAppPurchaseAvailable ( int iID )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable2.htm
deleted file mode 100644
index 1f155852..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseAvailable2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseAvailable2 - AGK Help
-
-
-
-
-
-
-
A more detailed version of GetInAppPurchaseAvailable that gives the purchase state Returns 0 if the product is not purchased Returns 1 if the product is queued for purchased Returns 2 if the product purchase is in progress Returns 3 if the product purchase is pending (subject to payment clearance) Returns 4 if the product is purchased You should only reward the user once the product reaches state 4 (purchased). Currently this command is only supported on iOS and Android.
Definition
integer GetInAppPurchaseAvailable2 ( iID )
int agk::GetInAppPurchaseAvailable2 ( int iID )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseDescription.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseDescription.htm
deleted file mode 100644
index 0c5f7dbb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseDescription.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseDescription - AGK Help
-
-
-
-
-
-
-
Returns the description for the specified product, as defined by the current platform store. It may take a few seconds after calling InAppPurchaseSetup for this data to become available, so if you get an empty string try again later. When calling this from Tier 2 you must delete the returned string when you are done with it.
Definition
string GetInAppPurchaseDescription ( iID )
char* agk::GetInAppPurchaseDescription ( int iID )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseIsRenewing.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseIsRenewing.htm
deleted file mode 100644
index 9c99bbdc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseIsRenewing.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseIsRenewing - AGK Help
-
-
-
-
-
-
-
This command returns 1 if the product is a subscription and it is set to auto-renew, 0 if it is a subscription that will not auto-renew, or -1 if the renew status could not be determined. This command will only work on Android. iOS requires that you process the app receipt with GetAppReceipt to detect renewal status.
Definition
integer GetInAppPurchaseIsRenewing( iID )
int agk::GetInAppPurchaseIsRenewing( int iID )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseLocalPrice.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseLocalPrice.htm
deleted file mode 100644
index 4774812c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseLocalPrice.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseLocalPrice - AGK Help
-
-
-
-
-
-
-
Returns the current price of the specified in app purchase product in the local currency, this will be a string with the currency symbol included where possible. It may take a few seconds after calling InAppPurchaseSetup for this data to become available, so if you get an empty string try again later. When calling this from Tier 2 you must delete the returned string when you are done with it.
Definition
string GetInAppPurchaseLocalPrice ( iID )
char* agk::GetInAppPurchaseLocalPrice ( int iID )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSignature.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSignature.htm
deleted file mode 100644
index 9468291f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSignature.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseSignature - AGK Help
-
-
-
-
-
-
-
Returns the signature for the last purchase of the given item, this can be checked against your public key to confirm the purchase was valid. It is recommended that you pass this signature to a server to do the check so that the check cannot be bypassed.
This has been deprecated on iOS, you should use the GetAppReceipt command instead that will return a list of all purchases related to the app.
Definition
string GetInAppPurchaseSignature(int iID)
char* agk::GetInAppPurchaseSignature(int iID)
Parameters
iID - The ID of the product to check. e.g. your first product ID is 0, your second is 1 etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseState.htm
deleted file mode 100644
index b6711b00..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseState - AGK Help
-
-
-
-
-
-
-
This command is deprecated and always returns 1 since multiple purchases can now be ongoing at the same time. Use GetInAppPurchaseAvailable2 to check the purchase state.
Definition
integer GetInAppPurchaseState()
int agk::GetInAppPurchaseState()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSubNumPlans.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSubNumPlans.htm
deleted file mode 100644
index 7ade94d4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetInAppPurchaseSubNumPlans.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInAppPurchaseSubNumPlans - AGK Help
-
-
-
-
-
-
-
On Android this returns a unique token for the last purchase of the given item, this can be sent to your server to check the validity of the purchase with Google, and to distinguish between different instances of a consumable purchase. You should only reward the user once per token for consumable purchases, it is recommended that you store a list of past tokens on a server so you can detect any token reuse, which could be used to cheat your system. Once you have rewarded the user for a consumable purchase you must call InAppPurchaseResetPurchase with the most recent token to allow it to be purchased again.
On iOS this returns a transaction ID that changes with every purchase the user makes. It can't be used to check with Apple if a transaction was genuine but it can be used to distinguish between multiple purchases of a consumable item. You can pass this token to InAppPurchaseResetPurchase to reset the purchase state to 0 but on iOS this is not required.
This only works on Android and iOS, other platforms will return an empty string
Definition
string GetInAppPurchaseToken(int iID)
char* agk::GetInAppPurchaseToken(int iID)
Parameters
iID - The ID of the product to check. e.g. your first product ID is 0, your second is 1 etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationExists.htm
deleted file mode 100644
index 1d422fca..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetLocalNotificationExists - AGK Help
-
-
-
-
-
-
-
Returns 1 if a notification with this ID is waiting to be displayed, otherwise 0. Notifications are refreshed every 5 seconds, so this may continue to return 1 shortly after a notification has fired.
Definition
integer GetLocalNotificationExists( iID )
int agk::GetLocalNotificationExists( int iID )
Parameters
iID - The ID of the notification to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationMessage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationMessage.htm
deleted file mode 100644
index 15bfd63c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetLocalNotificationMessage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetLocalNotificationMessage - AGK Help
-
-
-
-
-
-
-
Returns the date and time that the specified notification is due to display. The returned time will be in unix timestamp format, which is measured by the number of seconds since 1st Jan 1970. If no notification exists at the specified ID then 0 is returned
Definition
integer GetLocalNotificationTime( iID )
int agk::GetLocalNotificationTime( int iID )
Parameters
iID - The ID of the notification to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetPushNotificationToken.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetPushNotificationToken.htm
deleted file mode 100644
index bfa327c1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetPushNotificationToken.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPushNotificationToken - AGK Help
-
-
-
-
-
-
-
Returns the push notification token for this device, this must be sent to your server that sends out the notifications so that it can send notifications to this device. If PushNotificationSetup returned 1 then you should keep calling this command until it returns a non-empty string. If PushNotificationSetup returned 0 then this command will always return an empty string.
Please see the guide on Android Push Notifications for more details on how to use the device token to send push notifications to this device.
Definition
string GetPushNotificationToken()
char* agk::GetPushNotificationToken()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetSmartWatchState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetSmartWatchState.htm
deleted file mode 100644
index 0c2426f5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/GetSmartWatchState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSmartWatchState - AGK Help
-
-
-
-
-
-
-
Returns the current state of the smart watch connection: 0=initial state, ActivateSmartWatch has not been called. 1=connecting, will transition to a more detailed state in a moment. 2=connection successful, you may send and receive data. -1=watch commands not supported on this device. -2=connection failed or no watch found. -3=watch found but it is not currently paired with the device, -4=watch found but our watch app is not currently installed. Currently only works on iOS.
Definition
integer GetSmartWatchState()
int agk::GetSmartWatchState()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseActivate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseActivate.htm
deleted file mode 100644
index be468fa8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseActivate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InAppPurchaseActivate - AGK Help
-
-
-
-
-
-
-
Call this when you want to start the process of purchasing a product with a specific plan. Subscriptions can have multiple purchase plans which you can enumerate with GetInAppPurchaseSubNumPlans. To start a purchase with a specific plan get the plan token with GetInAppPurchaseSubPlanToken and then pass it to this command. Currently this command is only supported on iOS and Android.
Definition
InAppPurchaseActivateWithPlan( iID, planToken )
void agk::InAppPurchaseActivateWithPlan( int iID, const char* planToken )
Parameters
iID - this ID corresponds to the product IDs that have been added e.g. your first product
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseAddProductID.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseAddProductID.htm
deleted file mode 100644
index 23fcdd16..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseAddProductID.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InAppPurchaseAddProductID - AGK Help
-
-
-
-
-
-
-
Use this command to add any product IDs into the list e.g. com.yourcompany.yourproduct.iap. The first product ID you add becomes 0, the second is 1 etc. You must also specify the type of product this is, non-consumable(0), consumable(0), or subscription(2). Previously consumable products were added as type=1 but they are now added as type=0 and InAppPurchaseResetPurchase is used to reset a consumable to a purchasable state.
Consumable products are like coins that can be bought again and again, whereas non-consumable products are one off purchases like unlocking the full version of an app. In Google Play consumable and non-consumable products are added the same way. Currently this command is only supported on iOS, Google Play, and Amazon. This must be called before InAppPurchaseSetup, after that no further products can be added.
Definition
InAppPurchaseAddProductID ( szID, type )
void agk::InAppPurchaseAddProductID ( const char* szID, int type )
Parameters
szID - The product ID as specified in iTunes Connect or the Google Play developer console
type - The type of product this is, non consumable(0), consumable(0), or subscription(2)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseRedeemOffer.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseRedeemOffer.htm
deleted file mode 100644
index 93dc61a4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseRedeemOffer.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InAppPurchaseRedeemOffer - AGK Help
-
-
-
-
-
-
-
Call this command to show the redeem offer dialog provided by the device (if any). This currently only applies to iOS, and will only work on iOS 14 or above, otherwise it will do nothing. Android displays this option automatically when a user starts a purchase.
Definition
InAppPurchaseRedeemOffer()
void agk::InAppPurchaseRedeemOffer()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseResetPurchase.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseResetPurchase.htm
deleted file mode 100644
index 9c58af0c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseResetPurchase.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InAppPurchaseResetPurchase - AGK Help
-
-
-
-
-
-
-
Call this command to reset the purchase state of an individual product. On Android this must be called for consumable products after you have dealt with a purchase to allow it to be purchased again. If you call this command on a non-consumable purchase then that purchase will be reset to an unpurchased state and the user will have to pay for it again, this should only be used during testing. Subscriptions cannot be reset and must be cancelled by the user through their Google Play account
On iOS this command is not necessary as it automatically allows consumable items to be purchased multiple times, however this command could still be useful to reset the GetInAppPurchaseAvailable2 state to 0 so you know it has been dealt with. Reseting a non-consumable purchase on iOS will reset the state to 0 but iOS will still remember the purchase and not charge the user again.
Use GetInAppPurchaseToken to get the token required to reset a purchase. Currently this command is only supported on Android and iOS.
Restores any managed purchases made on this platform. For example if a user purchased at item then reinstalled the app the app would return 0 for GetInAppPurchaseAvailable unless it was purchased again or restored using this command.
Even though purchasing again wouldn't charge the user again for non-consumable items, using this restore command is a better user experience. Apple require you to have a button that calls this function somewhere in your app.
After calling this command you can call GetInAppPurchaseAvailable2 to check for purchases, it may take some time for the purchase state to update, so check GetInAppPurchaseAvailable2 regularly. This command is supported by both iOS and Android
Definition
InAppPurchaseRestore()
void agk::InAppPurchaseRestore()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseSetKeys.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseSetKeys.htm
deleted file mode 100644
index 91d31517..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/InAppPurchaseSetKeys.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-InAppPurchaseSetKeys - AGK Help
-
-
-
-
-
-
-
Sets the name of your application so that it can be displayed on any dialogs that get displayed when using the in app purchase commands. Currently this command is only supported on iOS and Android.
After setting the in app purchase title and adding product IDs call InAppPurchaseSetup to finalise the process. After this point you can attempt to purchase unlockable content. Currently this command is only supported on iOS and Android.
Definition
InAppPurchaseSetup()
void agk::InAppPurchaseSetup()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/LoadSharedVariable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/LoadSharedVariable.htm
deleted file mode 100644
index 7be1f443..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/LoadSharedVariable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadSharedVariable - AGK Help
-
-
-
-
-
-
-
Loads a variable that was saved by this app, or another app. This only works on iOS, Android 9 and below, and HTML5 platforms. Apps can only share a variable if they meet certain requirements based on the platform.
On iOS the apps must have the same Bundle Seed ID (also called App ID Prefix) and have the same explicit App ID up to the last dot. For example com.mycompany.mygroup.myapp1 and com.mycompany.mygroup.myapp2 would be able to share variables.
On Android 9 and below the apps must have the WRITE_EXTERNAL_STORAGE permission and have the same package name up to the last dot. For example com.mycompany.mygroup.myapp1 and com.mycompany.mygroup.myapp2 would be able to share variables. On Android shared variables are written to a user accessible location, so be aware that users may be able to read and/or edit the variables that you save.
On Android 10 or higher this command will not work as apps are restricted from writing to shared locations.
On HTML the apps must be hosted on the same domain, the values are stored as cookies.
Variables are identified by name, so using SaveSharedVariable("username", "Alice") will set the variable called "username" to the value "Alice". This can then be read by other apps by using LoadSharedVariable( "username", "" ). If a variable with the given name doesn't exist then the specified default value is returned instead
Receives a queued message from the watch app. This will be in the form of a JSON string. If you are calling this command from Tier 2 you must delete the returned string when you are done with it by calling agk::DeleteString. Currently only works on iOS.
Definition
string ReceiveSmartWatchData()
char* agk::ReceiveSmartWatchData()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestAppReview.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestAppReview.htm
deleted file mode 100644
index 96509ca0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestAppReview.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RequestAppReview - AGK Help
-
-
-
-
-
-
-
iOS 10.3+ and Android 5.0+ have the ability for the user to review your app from within the app itself, this command will tell iOS or Android to start this process. Note that it is not guaranteed to display anything when you call this command, and it should not be called in response to a button press or other user interaction. You should call it when there is a lull in the app such as the end of a level. If you want to start the review process in response to a user action, such as a button press, then you should use the OpenBrowser command to open the AppStore.
Definition
RequestAppReview()
void agk::RequestAppReview()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestPermission.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestPermission.htm
deleted file mode 100644
index 392dd0b7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/RequestPermission.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RequestPermission - AGK Help
-
-
-
-
-
-
-
Only for Android, all other platforms will do nothing. Generates a system dialog asking the user for the specified device permission, used by certain Android commands. The permissions are as follows "WriteExternal" - used by the SaveSharedVariable commands and any "raw:" paths that access the sdcard. "Location" - used by the GPS commands "Camera" - used by the SetDeviceCameraToImage command and for the AR camera feed "RecordAudio" - used by the StartScreenRecording command You can check the result of the request by calling CheckPermission. After the first request Android will give the user the option to stop displaying the request dialog. In this case this command will no longer generate a request dialog and instead do nothing. The user will have to go into the device app settings to reverse this decision.
Any permission not listed here does not require you to prompt the user for permission, it will be auto granted on install if your app requires it. All permissions that your app uses, even those that require prompting, must be specified in the APK export dialog by ticking the appropriate check boxes.
Saves a variable so it can be accessed from other apps. This only works on iOS, Android 9 and below, and HTML5 platforms. Apps can only share a variable if they meet certain requirements based on the platform.
On iOS the apps must be created by the same Apple developer account, and have the same App Group added to their App IDs on the Apple developer portal. You will need to regenerate the provisioning profile after doing this. On iOS you must tell AGK what the App Group is by using SetSharedVariableAppGroup.
On Android 9 and below the apps must have the WRITE_EXTERNAL_STORAGE permission and have the same package name up to the last dot. For example com.mycompany.mygroup.myapp1 and com.mycompany.mygroup.myapp2 would be able to share variables. On Android shared variables are written to a user accessible location, so be aware that users may be able to read and/or edit the variables that you save.
On Android 10 or higher this command will not work as apps are restricted from writing to shared locations.
On HTML the apps must be hosted on the same domain, the values are stored as cookies.
Variables are identified by name, so using SaveSharedVariable("username", "Alice") will set the variable called "username" to the value "Alice". This can then be read by other apps by using LoadSharedVariable( "username", "" ) If two apps save different values to the same variable name then the value will be overwritten and only the most recent value will be accessible. Variable values will persist even if the app is deleted and re-installed. You should not use this command to store any sensitive information such as passwords in plain text. On iOS the length of the variable name plus the length of your App ID up to the last dot (e.g. com.mycompany.mygroup) must be less than 58.
Send data to the smart watch in the background, if watch app is not currently open the message will be queued and received by the watch app when it is next opened. The message must be in the form of a JSON string, for example "{"label":"my message"}". You can also use a type with the .toJSON() function to create a JSON string. The watch app will receive it as an NSDictionary with the labels as keys. Currently only works on iOS.
Sets the device clipboard to the specified text, this overwrites anything that was previously in the device clipboard. The clipboard is the same as that used by the copy/paste functionality of the device.
Definition
SetClipboardText( szText )
void agk::SetClipboardText( const char* szText )
Parameters
szText - The text to copy
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetCloudDataVariable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetCloudDataVariable.htm
deleted file mode 100644
index 79d59ce0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetCloudDataVariable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetCloudDataVariable - AGK Help
-
-
-
-
-
-
-
Sets a cloud data variable to the specified value. If multiple devices write a value at the same time then the cloud provider chooses one and sends it to all devices. The variable name must be less than 64 bytes, a single UTF8 character may be multiple bytes but typically 1 character equals 1 byte. It is recommended that variable names incorporate the app name, for example "myapp.myvariablename", since when broadcasting your apps they will all share a single data store in the AGK PLayer app. Varaible data is stored locally so GetCloudDataVariable will immediately return the new value, however syncing with the cloud is done in the background and may take several minutes. If the device has no internet connection then the data will be synced at the next available opportunity. On iOS you are limited to 1024 variables with 1MB total storage. On Android any data you store counts against the user's Google Drive storage limit, the user can clear your app data to free up space, but they cannot read the data you store. You should not store sensitive information like passwords in plain text using these commands.
Creates a local notification that will appear at some point in the future. Notifications are referenced by ID and can be overwritten by creating a new notification with the same ID as the notification you want to overwrite. If a notification triggers whilst the app is open then the notification will not appear and it will silently disappear from the list of scheduled notifications. If the app is not open then a notification will display to the user and tapping on it will open up your app. If you set the deeplink parameter then that URL will be sent to the app when the notification is tapped. The URL can be retrieved by using the GetURLSchemeText command. The datetime parameter should be specified in unix time, which is measured in seconds since 1st Jan 1970, you can use the command GetUnixTime to return the current date and time then modify it as needed. If the date and time is in the past then the notification will be ignored, it will not overwrite any existing notification. The ID must be in the range 1 to 100 inclusive.
Definition
SetLocalNotification( iID, datetime, szMessage )
void agk::SetLocalNotification( int iID, int datetime, const char *szMessage )
This command is used on Android to set the SenderID used by the Firebase project. Currently keyName must be set to "SenderID" (case sensitive), and the keyValue must be set to the SenderID value that can be found in your Firebase project settings, in the Cloud Messaging tab.
For iOS only. Tells AGK what App Group you are using to share data between apps. For example group.com.mycompany.mygroup.myvariables, this is created on the Apple developer portal and must be added to every App ID you want to access these variables. You will need to regenerate the provisioning profile for each app after adding an App Group to its App ID.
Definition
SetSharedVariableAppGroup( group )
void agk::SetSharedVariableAppGroup( const char* group )
Parameters
group - The name to use to identify this variable
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetSnapChatStickerSettings.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetSnapChatStickerSettings.htm
deleted file mode 100644
index 7aabc83e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetSnapChatStickerSettings.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSnapChatStickerSettings - AGK Help
-
-
-
-
-
-
-
Sets the properties for any sticker images that are added to future calls to ShareSnapChatImage. The X and Y parameters should be in the range 0.0 to 1.0 for example in the X direction 1.0 is the far right of the image and 0.0 is the far left of the image.
Definition
SetSnapChatStickerSettings( x, y, width, height, angle )
void agk::SetSnapChatStickerSettings( float x, float y, int width, int height, float angle )
Parameters
x - The X position of the sticker, default 0.5
y - The Y position of the sticker, default 0.5
width - The width of the sticker, default 250
height - The height of the sticker, default 250
angle - The angle of the sticker, default 0
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetupCloudData.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetupCloudData.htm
deleted file mode 100644
index c3f91cfc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/SetupCloudData.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetupCloudData - AGK Help
-
-
-
-
-
-
-
Sets up the device to use cloud data on compatible platforms, currently only Android and iOS support this feature. Cloud data can be used to share settings across multiple devices running the same app. For example saving some app settings or progress on one device using the cloud data commands will make them available (after a short period of time) on all other devices on the same platform. Note that data does not cross platforms, so data saved on iOS is not available on Android, and data saved on Android is not available on iOS.
On iOS this uses iCloud Drive to store the data, so the user must be logged in to iCloud and have iCloud Drive turned on, you can detect if these have been done with GetCloudDataAllowed. You must also add iCloud to your provisioning profile, but you do not need to create any containers. You must use this provisioning profile when exporting your app. On iOS you are limited to 1MB of storage.
On Android this uses Android Drive AppData so the user must be logged in with a Google account on the device. You must also add a Google API project for your app here https: console.developers.google.com and create an OAuth client ID in the credentials section. Tell it that the request is coming from Android, give it a name of your choice, and tell it your app package name. You will need give it the SHA-1 fignerprint of the keystore file that you will use to sign your APK, this is so it can check that only APKs signed by you can use the generated OAuth client ID. The "keytool" program is part of the Java Development Kit (JDK). Once created you do not need to do anything with the OAuth token, it will be used automatically when you call the Cloud Data commands. On Android any data you store will count against a user's Google Drive storage limit, they cannot access the files stored by your app but they can clear the app data in their Drive settings.
Broadcast apps will use the AGK Player data store and will share variables across all your broadcast apps, so be aware of overwriting values if two of your apps share the same variable name. Data you store in the AGK Player data store will only be visible to you and your devices.
This command must be called before any other cloud data commands, except GetCloudDataAllowed which can be called at any time. On Android you should ask the user if they want to store data in their Drive before calling setup, as this command may ask the user to login to their Google Account.
Definition
SetupCloudData( reserved )
void agk::SetupCloudData( const char* reserved )
Parameters
reserved - Reserved, must be an empty string
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ShareSnapChatImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ShareSnapChatImage.htm
deleted file mode 100644
index f25c7cfb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Extras/ShareSnapChatImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShareSnapChatImage - AGK Help
-
-
-
-
-
-
-
Sends the specified image to the SnapChat app on the current device, along with an optional sticker file, caption, and URL. The user can then modify the image using the SnapChat app and decide whether to share it with friends. If the user does not have the SnapChat app installed then the app store will be opened instead on the SnapChat app page.
Adds a local file into the zip file. The path variable is the path to the local file, the zipPath variable is the path that will be used inside the zip file, this is the only way to add folders to the zip file (by adding a file with a zipPath such as "folder1/myfile.txt").
The local file path is relative to the current directory set using SetFolder unless you start the path with a forward slash, in which case the path will be relative to the root of the write directory on the current platform.
Stops any asynchronous zip extraction that is currently in progress, it may take a moment to finish the current file and then it will stop. Once it finishes GetZipExtractComplete will return 1 and GetZipExtractProgress will remain at whatever value it was currently at.
Definition
CancelZipExtract()
void agk::CancelZipExtract()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/ChooseRawFile.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/ChooseRawFile.htm
deleted file mode 100644
index ac68f435..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/ChooseRawFile.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ChooseRawFile - AGK Help
-
-
-
-
-
-
-
Presents the user with an option to choose a file stored on their current platform (Windows/Mac only), for example a photo or sound file. If the user cancels the operation an empty string will be returned, otherwise the file will be copied to the apps current directory and the filename returned so that it can be used by your app.
You may specify an optional extension filter to limit the types of files the user will see when browsing. For example using an extension filter of "*.wav" would limit the user to choosing .wav files. For multiple extensions separate them with a semicolon like so "*.wav;*.mp3;*.png".
If using this command is used in tier 2 the returned string must be deleted when you are finished with it, even if it is an empty string. A null string will not be returned. If you set returnFullPath to 1 then the file will not be copied to the write folder, instead the full path will be returned to you and you can load it using the "raw:" prefix with the normal file commands.
Definition
string ChooseRawFile( ext )
char* agk::ChooseRawFile( const char* ext )
string ChooseRawFile( ext, returnFullPath )
char* agk::ChooseRawFile( const char* ext, int returnFullPath )
Parameters
ext - The extensions to allow
returnFullPath - 1 to return the full path, 0 to copy it to the write folder and return the write folder path
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseFile.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseFile.htm
deleted file mode 100644
index 34782913..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseFile.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CloseFile - AGK Help
-
-
-
-
-
-
-
Closes a previously open folder and frees the file list that was generated for it. No actual file system changes are made, i.e. the folder is not held open on the file system. The folder is read in its entirety during OpenRawFolder so it does not need to exist on the file system after calling that command.
Definition
CloseRawFolder( ID )
void agk::CloseRawFolder( uint32_t ID )
Parameters
ID - The ID of the folder to close
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseZip.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseZip.htm
deleted file mode 100644
index 94cf3483..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/CloseZip.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CloseZip - AGK Help
-
-
-
-
-
-
-
Creates a zip file at the specified location and opens it ready for files to be added. Files cannot be read or extracted from a zip file using this command. Use ExtractZip to retrieve files from it.
The file path is relative to the current directory set using SetFolder unless you start the path with a forward slash, in which case the path will be relative to the root of the write directory on the current platform.
Deletes a given file from the write folder. File paths must be relative, not absolute, you cannot delete files from the application folder or from elsewhere on the disk.
Definition
DeleteFile( szFile )
void agk::DeleteFile( const char *szFile )
Parameters
szFile - The filename to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/DeleteFolder.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/DeleteFolder.htm
deleted file mode 100644
index eedeabb0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/DeleteFolder.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteFolder - AGK Help
-
-
-
-
-
-
-
Deletes a folder at the current path. By default this is determined by the command SetFolder. You can also use a filename beginning with "raw:" to delete a folder anywhere on the file system, for example DeleteFolder("raw:C:\Temp\MyFolder"). The folder must be empty for this command to succeed.
Definition
DeleteFolder( szName )
void agk::DeleteFolder( const char* szName )
Parameters
szName - The name of the folder create.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/ExtractZip.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/ExtractZip.htm
deleted file mode 100644
index 2c963d92..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/ExtractZip.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ExtractZip - AGK Help
-
-
-
-
-
-
-
Extracts a zip file to a specified directory. Any folders created inside the zip file will be created in the extraction process. If the zip file is password protected specify the password to extract it. If you specify a wrong password, the extracted files from the zip archive will be empty.
The local file path is relative to the current directory set using SetFolder unless you start the path with a forward slash, in which case the path will be relative to the root of the write directory on the current platform.
This command does the same as ExtractZip except it returns immediately and the zip extraction is done on a thread in the background. You can use GetZipExtractProgress and GetZipExtractComplete to check on its progress. If you call this command whilst a zip extraction is already in progress then nothing will happen. If the specified zip has no password then use an empty string.
Returns 1 if the given file was opened successfully, 0 if not. You can use GetErrorOccurred to check if it was the result of an error and GetLastError to get said error.
Definition
integer FileIsOpen( iFileID )
int agk::FileIsOpen( uint32_t iFileID )
Parameters
iFileID - The ID of the file to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetCurrentDir.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetCurrentDir.htm
deleted file mode 100644
index 16d3b366..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetCurrentDir.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCurrentDir - AGK Help
-
-
-
-
-
-
-
Returns the directory that contains the current users documents. On Windows this will be something like "C:\Users\Me\My Documents". This is different from the usual write path which is a system specified app write folder, for example "C:\Users\Me\AppData" on Windows. The documents folder path can be used to write files that are easily accessible by the user. On Android 9 and below the documents path will be the internal storage root folder, on Android 10 and above it will be a folder in the Andorid/data folder that is separate for each app but still accessible to the user. iOS does not have a user accessible folder so GetDocumentsPath will just return the normal write path where files will be inaccessible to the user.
Definition
string GetDocumentsPath()
char* agk::GetDocumentsPath()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFileCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFileCount.htm
deleted file mode 100644
index d040f7ab..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFileCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFileCount - AGK Help
-
-
-
-
-
-
-
Returns the name of the first file found in the current folder, which is set using SetFolder. You can call GetNextFile to continue down the list of files in the current folder. Returns an empty string if there are no files in the current folder.
By default this command will combine the file lists from the read and write folders into a single list (mode=2) this can be changed to only return files in the read folder (mode=0) or only return files from the write folder (mode=1)
Note that the read folder does not exist when using broadcast or debug to run the app, as files are copied into the write folder of the AGK Player for these run modes. On the other hand the write folder starts out as empty when running the app directly from the IDE, or when running the final app executable in the project folder.
Definition
string GetFirstFile( mode )
char* agk::GetFirstFile( int mode )
string GetFirstFile()
char* agk::GetFirstFile()
Parameters
mode - 0 to only return files from the read folder, 1 to only return files from the write folder, 2 for both (default)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFirstFolder.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFirstFolder.htm
deleted file mode 100644
index 09bab3c1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFirstFolder.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFirstFolder - AGK Help
-
-
-
-
-
-
-
Returns the name of the first folder found in the current folder, which is set using SetFolder. You can call GetNextFolder to continue down the list of folders in the current folder. Returns an empty string if there are no folders in the current folder. Does not include . or .. Note that there is a known limitation on Android that any folders within the "assets" folder cannot be found using this command. You may be able to work around this by using MakeFolder to create the same folder structure in the write folder which AGK can then use to find files in the assets folder with GetFirstFile.
By default this command will combine the folder lists from the read and write folders into a single list (mode=2) this can be changed to only return folders in the read folder (mode=0) or only return folders from the write folder (mode=1)
Definition
string GetFirstFolder()
char* agk::GetFirstFolder()
string GetFirstFolder( mode )
char* agk::GetFirstFolder( int mode )
Parameters
mode - 0 to only return folders from the read folder, 1 to only return folders from the write folder, 2 for both (default)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolder.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolder.htm
deleted file mode 100644
index a5b1d679..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolder.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFolder - AGK Help
-
-
-
-
-
-
-
Returns the current folder previously set with SetFolder. The returned path will always have a slash as the final character except when in the root folder in which case an empty string will be returned.
Definition
string GetFolder()
char* agk::GetFolder()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolderCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolderCount.htm
deleted file mode 100644
index d9751a23..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetFolderCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetFolderCount - AGK Help
-
-
-
-
-
-
-
Returns the name of the next file found in the current folder, which is set using SetFolder. GetFirstFile must have been called first for this to work, any call to SetFolder or OpenToWrite will require starting again with GetFirstFile.
Returns an empty string if there are no more files in the current folder.
Definition
string GetNextFile()
char* agk::GetNextFile()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetNextFolder.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetNextFolder.htm
deleted file mode 100644
index 98672b36..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetNextFolder.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNextFolder - AGK Help
-
-
-
-
-
-
-
Returns the name of the next folder found in the current folder, which is set using SetFolder. GetFirstFolder must have been called first for this to work, any call to SetFolder or OpenToWrite will require starting again with GetFirstFolder.
Returns an empty string if there are no more folders in the current folder. Does not include . or ..
Definition
string GetNextFolder()
char* agk::GetNextFolder()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetRawFolderFileName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetRawFolderFileName.htm
deleted file mode 100644
index 8980890a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetRawFolderFileName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawFolderFileName - AGK Help
-
-
-
-
-
-
-
Returns the directory that contains the application executable on the current platform that the app is running on. Note that on Android this path is inaccessible in normal use and will return an empty string.
Definition
string GetReadPath()
char* agk::GetReadPath()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWindowsDrive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWindowsDrive.htm
deleted file mode 100644
index 89c2a352..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWindowsDrive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWindowsDrive - AGK Help
-
-
-
-
-
-
-
Returns the drive letter of the specified drive, between 0 and CountWindowsDrives minus one. Values outside this range will return an empty string. The returned string will include the drive letter and a colon, nothing else. This only applies to Windows, other platforms will return an empty string. If you are calling this command from Tier 2 then you must delete the returned string with agk::DeleteString() when you are done with it.
Definition
string GetWindowsDrive( index )
char* agk::GetWindowsDrive( int index )
Parameters
index - The index of the drive to return
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWritePath.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWritePath.htm
deleted file mode 100644
index 5bb86583..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetWritePath.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWritePath - AGK Help
-
-
-
-
-
-
-
Returns 0 if a zip extraction started with ExtractZipASync is in progress, or 1 if it has finished. It does not give an indication of if the extraction was successful, only that it has finished.
Definition
integer GetZipExtractComplete()
int agk::GetZipExtractComplete()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetZipExtractProgress.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/GetZipExtractProgress.htm
deleted file mode 100644
index dbbf78e4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/GetZipExtractProgress.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetZipExtractProgress - AGK Help
-
-
-
-
-
-
-
Returns 1 if the given path is absolute, 0 if it is relative. This varies by platform, so a path beginning "C:/" is consider absolute on Windows but not on Linux, whilst a path beginning with a forward slash is considered absolute on Linux but not on Windows. The path may begin with the prefix "raw:" or not, both are accepted.
Definition
integer IsAbsolutePath( szPath )
int agk::IsAbsolutePath( const char *szPath )
Parameters
szPath - The path to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/JoinPaths.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/JoinPaths.htm
deleted file mode 100644
index dbf7205f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/JoinPaths.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-JoinPaths - AGK Help
-
-
-
-
-
-
-
Joins two paths together and simplifies them, for example joining a path with ../ will remove the last folder from the path. A forward slash will be added between them if necessary, if the first path ends in a forward slash and the second path starts with a forward slash then one will be removed to make a valid path. Any back slashes will be converted to forward slashes. The first path can be relative or absolute, the second path must be relative. This will not be checked.
Creates a folder at the current path. By default this is determined by the command SetFolder. You can also use a filename beginning with "raw:" to create a folder anywhere on the file system, for example MakeFolder("raw:C:\Temp\MyFolder")
Definition
integer MakeFolder( szName )
int agk::MakeFolder( const char* szName )
Parameters
szName - The name of the folder create.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenRawFolder.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenRawFolder.htm
deleted file mode 100644
index da2235d2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenRawFolder.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-OpenRawFolder - AGK Help
-
-
-
-
-
-
-
Opens a folder any where on the file system and reads the list of files and folders it contains. This is done immediately so any changes that occur to the folder after this command will not be noticed, you would need to call this command again to get the updated contents. The file path must be absolute for the current device, i.e. it must begin with a drive letter and colon on Windows, and a forward slash on all other platforms. The path must exist and be accessible to the current app or this command will generate an error. The path may begin with the text "raw:" or not, both forms are accepted. This command will return an ID that you can use to access the file list that was found, it will remain accessible until you close it with CloseRawFolder. Multiple folders can be open at the same time, they will each be given a different ID.
Definition
integer OpenRawFolder( szPath )
uint32_t agk::OpenRawFolder( const char *szPath )
Parameters
szPath - The path to the folder to open
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenToRead.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenToRead.htm
deleted file mode 100644
index 7eb0d054..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/OpenToRead.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-OpenToRead - AGK Help
-
-
-
-
-
-
-
Opens a file stored on the local filesystem for reading into the specified ID. All platforms are restricted to a single folder for reading and writing so file paths must be relative, not absolute. This command will check the special write folder first, and if it cannot locate the file it will check the media folder, so you may load images, sounds, and other bundled media files using this command.
To read a file outside the normal read or write folders you can use "raw:" followed by an absolute path for the current platform, for example "raw:C:\MyFolder\MyFile.txt" on Windows or "raw:/sdcard/Documents/MyFile.txt" on Android.
On Raspberry Pi you can use this command to open a GPIO pin for reading by using the filename "gpio:" followed by the GPIO pin number, for example OpenToRead(1, "gpio:4"), this is case sensitive. You can then use ReadByte to read from the pin and CloseFile to close the pin.
Opens a file stored on the local filesystem for writing into the specified ID. All platforms are restricted to a single folder for writing so file paths must be relative, not absolute. This write folder is not the same folder as the application itself, so images, sounds, and the application itself cannot be overwritten. Files written to this folder can be read using OpenToRead. If the file does not exist it will be created, if the file does exist it will be overwritten if append is 0. or appended to if append is 1. If a directory is given in the filename and does not exist it will be created.
To write a file outside the normal write folder you can use "raw:" followed by an absolute path for the current platform, for example "raw:C:\MyFolder\MyFile.txt" on Windows or "raw:/sdcard/Documents/MyFile.txt" on Android. If any folders in your chosen path do not exist they will be created.
On Raspberry Pi you can use this command to open a GPIO pin for writing by using the filename "gpio:" followed by the GPIO pin number, for example OpenToWrite(1, "gpio:4"), this is case sensitive. You can then use WriteByte to write 0 or 1 to the pin and CloseFile to close the pin.
Reads a new line terminated string from the given file, which must have been opened for reading. If you use this command in tier 2 you must delete the returned string with agk::DeleteString when you are finished with it.
Definition
string ReadLine( iFileID )
char* agk::ReadLine( uint32_t iFileID )
Parameters
iFileID - The ID of the file to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString.htm
deleted file mode 100644
index 429f5d60..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ReadString - AGK Help
-
-
-
-
-
-
-
Reads a null terminated string from the given file, which must have been opened for reading. Note that this can only read strings in binary form such as those written using WriteString, if you are trying to read strings separated by new lines then use ReadLine instead. If you use this command in tier 2 you must delete the returned string with agk::DeleteString when you are finished with it.
Definition
string ReadString( iFileID )
char* agk::ReadString( uint32_t iFileID )
Parameters
iFileID - The ID of the file to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString2.htm
deleted file mode 100644
index 14bcb1a7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/ReadString2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ReadString2 - AGK Help
-
-
-
-
-
-
-
Reads a string from the given file, which must have been opened for reading. Note that this can only read strings in binary form such as those written using WriteString2, if you are trying to read strings separated by new lines then use ReadLine instead. If you use this command in tier 2 you must delete the returned string with agk::DeleteString when you are finished with it. This uses a different method from ReadString that is slightly faster but this command can only read strings written with WriteString2
Definition
string ReadString2( iFileID )
char* agk::ReadString2( uint32_t iFileID )
Parameters
iFileID - The ID of the file to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/SetCurrentDir.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/SetCurrentDir.htm
deleted file mode 100644
index 05c29ddb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/SetCurrentDir.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetCurrentDir - AGK Help
-
-
-
-
-
-
-
In normal use only two folders are accessible to your AGK app; the read folder and the write folder. The read folder is the location of your executable and includes the media folder. The write folder (which also has read permission), is located in a platform safe location and is different depending on the device. On Windows, for example, the default write location is C:\Users\username\AppData\AGKApps\appName (By default this is a hidden folder on Windows and you may have to show hidden files to see it). These are your root folders. Any files created/written using OpenToWrite will be saved into the write folder.
For simplicity, AGK merges these two read and write folders into a single command set. What this means is that when you attempt to open or load a file, AGK will first look in the write folder before looking in the read folder.
When using SetFolder, its behavior is what you'd expect from the CD command in the Windows or Linux console; It works from the current directory. For instance, if the current read folder is C:\games\myApp\ then SetFolder("images") will put you in C:\games\myApp\images. Calling the command a second time with SetFolder("backgrounds") will place you at C:\games\myApp\images\backgrounds\.
There are two ways to return to the base path. The first is to call SetFolder("") using an empty string. The other is to precede your path with a forward slash, SetFolder("/stuff"). This also applies to loading your files with other commands as well. Assume you're still located in the images\backgrounds folders and you want to load bk.png located in the base of the read folder. You can simply say LoadImage("/bk.png") which will load C:\games\myApp\bk.png.
Setting the path to a folder that does not exist and using OpenToWrite will create that folder in the write path. SetFolder does not check that the folder exists, it just sets an internal path that will be used in the next file command. By default, AGK calls SetFolder("media") as the first thing it does.
This command returns 1 on success or 0 if you use an invalid path such as SetFolder("C:\").
Note: It is important to remember when setting paths to always use forward slashes instead of backslash. AGK will convert them into the appropriate file separator for the given platform.
If you want to access files outside of the read and write folders you can use the normal file commands such as OpenToRead with a "raw:" file path, see that command for more details. To access folders outside the read and write folders you can use the OpenRawFolder commands.
Definition
integer SetFolder( str )
int agk::SetFolder( const char* str )
Parameters
str - The path of the folder to set
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/SetRawWritePath.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/SetRawWritePath.htm
deleted file mode 100644
index de67f3cf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/SetRawWritePath.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRawWritePath - AGK Help
-
-
-
-
-
-
-
This command is now deprecated. The preferred method of accessing files outside of the usual write folder is to use the OpenRawFolder commands and "raw:" file paths.
Definition
SetRawWritePath( str )
void agk::SetRawWritePath( const char* str )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/SimplifyPath.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/SimplifyPath.htm
deleted file mode 100644
index 7051ec66..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/SimplifyPath.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SimplifyPath - AGK Help
-
-
-
-
-
-
-
Removes any occurrences of ../ or ..\ and shortens the path appropriately by removing folders. Also replaces all back slashes with forward slashes, as forward slashes will work on any platform. This works with both relative and absolute paths, if the path is absolute then all occurrences of ../ will be removed even if there are too many. If the path is relative then any occurrences of ../ that start the path will not be removed. For example the relative path "../../MyFile.txt" cannot be simplified further, whereas "C:/../../MyFile.txt" will be converted to "C:/MyFile.txt". The path may begin with the prefix "raw:" or not, both are accepted. If you are using this function in Tier 2 then you must delete the returned string with agk::DeleteString() when you are done with it.
Definition
string SimplifyPath( szPath )
char* agk::SimplifyPath( const char *szPath )
Parameters
szPath - The path to simplify
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteByte.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteByte.htm
deleted file mode 100644
index ac3c880c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteByte.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WriteByte - AGK Help
-
-
-
-
-
-
-
Writes a 1 byte unsigned integer (0-255) to the given file, which must have been opened for writing. Note that this command is not meant for human readable files and should only be used for files that will later be read with ReadByte. To create human readable files use WriteLine
Definition
WriteByte( iFileID, b )
void agk::WriteByte( uint32_t iFileID, int b )
Parameters
iFileID - The ID of the file to modify.
b - The byte to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteFloat.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteFloat.htm
deleted file mode 100644
index d6d9c487..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteFloat.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WriteFloat - AGK Help
-
-
-
-
-
-
-
Writes a 4 byte float to the given file, which must have been opened for writing. Note that this command is not meant for human readable files and should only be used for files that will later be read with ReadFloat. To create human readable files use WriteLine
Definition
WriteFloat( iFileID, f )
void agk::WriteFloat( uint32_t iFileID, float f )
Parameters
iFileID - The ID of the file to modify.
f - The float to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteInteger.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteInteger.htm
deleted file mode 100644
index 740cb663..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteInteger.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WriteInteger - AGK Help
-
-
-
-
-
-
-
Writes a 4 byte integer to the given file, which must have been opened for writing. Note that this command is not meant for human readable files and should only be used for files that will later be read with ReadInteger. To create human readable files use WriteLine
Definition
WriteInteger( iFileID, i )
void agk::WriteInteger( uint32_t iFileID, int i )
Parameters
iFileID - The ID of the file to modify.
i - The integer to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteLine.htm b/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteLine.htm
deleted file mode 100644
index e7a961f6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/File/WriteLine.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-WriteLine - AGK Help
-
-
-
-
-
-
-
Writes a null terminated string to the given file, which must have been opened for writing. Note that this command is not meant for human readable files and should only be used for files that will later be read with ReadString. To create human readable files use WriteLine
Writes a string to the given file, which must have been opened for writing. Note that this command is not meant for human readable files and should only be used for files that will later be read with ReadString2. To create human readable files use WriteLine This uses a different method from WriteString that will be faster for AGK to read later, but it is not compatible with ReadString, you must use ReadString2 to read strings written with WriteString2
Returns 1 if the system contains a font with the given name, 0 otherwise. If 1 is returned then passing the same filename to LoadFont will succeed. On iOS this will always return 0 as the system font files are not accessible, however AGK comes with a built in font you can use by using font ID 0 with text objects.
Definition
integer GetSystemFontExists( szFontFile )
int agk::GetSystemFontExists( const char *szFontFile )
Parameters
szFontFile - The name of the font to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Font/LoadFont.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Font/LoadFont.htm
deleted file mode 100644
index 4258bb1f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Font/LoadFont.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadFont - AGK Help
-
-
-
-
-
-
-
Loads a font file into AGK, typically in the TrueType format, but anything supported by FreeType should work. The szFontFile parameter can either be a font file located in your media folder or the name of a system font, this command will check your media folder first before checking for system fonts. If loading a system font then the file extension is optional, for example "Arial.ttf" and "Arial" would both load the system font "Arial" if it exists. When loading a system font the filename must not have any folder paths in the filename, i.e. no forward or backward slashes. To improve performance you should only load a font once. For example if you wanted to use the "Arial" font in multiple places then you should load it into an ID then use that ID for all uses, rather than loading multiple copies of the Arial font file into separate IDs.
Adds the specified header to all future requests. If the header already exists then its value will be overwritten by the new value. If the header is a standard header that is normally present then its value will be overwritten by the value you give. If the header is a standard header that is normally present and the value you give is the empty string then the standard header will be removed. Do not add the colon to either field, it will be added automatically between them. Note that this command does not work in the HTML5 version.
Downloads an HTTP file from the server specified in SetHTTPHost and saves it to the location specified. Also allows you to send POST data to the server which can include variables or file data, e.g. "myvar=5&var2=test". This command returns immediately and continues the file download in the background. You can check on the progress of the download with GetHTTPFileProgress and GetHTTPFileComplete. The file will then be at the location you specified ready for use with AGK.
Returns 1 if the file download previously started with GetHTTPFile has completed, 0 otherwise. Even if this returns 1 to say the download is finished it may have failed, check GetHTTPResponseReady for negative values before assuming the download was successful.
Definition
integer GetHTTPFileComplete( iHTTP )
int agk::GetHTTPFileComplete( uint32_t iHTTP )
Parameters
iHTTP - The ID of the connection to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPFileProgress.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPFileProgress.htm
deleted file mode 100644
index 57437941..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPFileProgress.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetHTTPFileProgress - AGK Help
-
-
-
-
-
-
-
Returns the progress of the file download as a float value from 0 to 100. This should not be relied upon to work out when the download has finished and on some platforms may not produce an accurate representation of the download progress.
Use GetHTTPFileComplete or GetHTTPResponseReady to work out if the download has completed.
Definition
float GetHTTPFileProgress( iHTTP )
float agk::GetHTTPFileProgress( uint32_t iHTTP )
Parameters
iHTTP - The ID of the connection to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponse.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponse.htm
deleted file mode 100644
index 6c3243f4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponse.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetHTTPResponse - AGK Help
-
-
-
-
-
-
-
Returns the reply from the server from a previous sent SendHTTPRequestASync request. You must wait for GetHTTPResponseReady to return 1 before calling this command. In tier 2 you must delete the returned string with agk::DeleteString when you are done using it. Tier 2 has the additional command GetHTTPResponseReadyC which returns a const char that does not need deleting.
Definition
string GetHTTPResponse( iHTTP )
char* agk::GetHTTPResponse( uint32_t iHTTP )
Parameters
iHTTP - The ID of the connection to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponseReady.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponseReady.htm
deleted file mode 100644
index 7c99cd97..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPResponseReady.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetHTTPResponseReady - AGK Help
-
-
-
-
-
-
-
Returns 1 if the request previously sent with SendHTTPRequestASync has completed. You can get the response with GetHTTPResponse. Returns 0 if the request is still in progress, or -1 if the request failed.
Definition
integer GetHTTPResponseReady( iHTTP )
int agk::GetHTTPResponseReady( uint32_t iHTTP )
Parameters
iHTTP - The ID of the connection to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPStatusCode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPStatusCode.htm
deleted file mode 100644
index 13e3879e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetHTTPStatusCode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetHTTPStatusCode - AGK Help
-
-
-
-
-
-
-
Returns the status code that was returned from the server in the response. You must wait for GetHTTPResponseReady to return a non-zero value before checking this command, otherwise it will return 0. Usually the status code is equal to 200 when the request was successful
Definition
integer GetHTTPStatusCode( iHTTP )
int agk::GetHTTPStatusCode( uint32_t iHTTP )
Parameters
iHTTP - The ID of the connection to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetInternetState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetInternetState.htm
deleted file mode 100644
index 4bba8271..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/GetInternetState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetInternetState - AGK Help
-
-
-
-
-
-
-
Encodes a string so that it can be sent to a server via HTTP without interfering with the HTTP request. For example if you wanted to send a POST variable that contained the characters & or = these would look like additional variables inside the string you want to send. Using HTTPEncode on this string would turn these characters into POST safe values which are then automatically converted back to their original characters once they reach something like a PHP script. This uses standard URL encoding for non-alphanumeric characters leaving alphanumeric characters alone.
Definition
string HTTPEncode( str )
char* agk::HTTPEncode( const char* str )
Parameters
str - The string to encode
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/OpenBrowser.htm b/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/OpenBrowser.htm
deleted file mode 100644
index b08743a4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/HTTP/OpenBrowser.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-OpenBrowser - AGK Help
-
-
-
-
-
-
-
Removes a header that you have previously added, if you have not used AddHTTPHeader to add a header with the given name then this command does nothing. If the header name is a standard header that is normally included then this command does not remove it, use AddHTTPHeader with an empty string instead to overwrite it. If the header name is a standard header that you have overwritten then this command returns it to its normal value. Note that this command does not work in the HTML5 version.
Send a file to the server specified in SetHTTPHost, for example if requesting http: www.thegamecreators.com/index.php szServerFile should be "index.php". Also allows you to send POST data to the server which can include variables or file data, e.g. "myvar=5&var2=test". This command returns immediately and waits for the server to reply in the background. You can check the status of the reply with GetHTTPResponseReady and when it is ready retrieve the response with GetHTTPResponse. You can check the progress of the upload with GetHTTPFileProgress.
Send a request to the server specified in SetHTTPHost(), for example if requesting http: www.thegamecreators.com/index.php szServerFile should be "index.php".
This command waits for the server to respond and returns the server reply. If using tier 2 you must delete this reply when finished with it.
Send a request to the server specified in SetHTTPHost, for example if requesting http: www.thegamecreators.com/index.php szServerFile should be "index.php".
This command returns immediately and waits for the server to reply in the background. You can check the status of the reply with GetHTTPResponseReady and when it is ready retrieve the response with GetHTTPResponse.
Sets the domain of the host you want to connect to, for example to access www.thegamecreators.com/index.php you would use a host value of www.thegamecreators.com, do not include the http: that usually goes before it. Note that trying to use a specific port with www.thegamecreators.com:8080 may be ignored on some platforms and port 80 will be used in these cases.
When exporting to HTML5 note that web browsers limit which servers you can connect to. By default you are limited to files hosted by the same server as your app. However if the server sends an Access-Control-Allow-Origin header in its response that allows your app's server, then the browser will let you connect to it.
Definition
integer SetHTTPHost( iHTTP, szHost, iSecure )
uint32_t agk::SetHTTPHost( uint32_t iHTTP, const char *szHost, int iSecure )
Sets whether the device should verify the SSL certificate when making a secure connection. If the server you are connecting to is using a self signed certificate you will need to set this to 0 or the connection will fail. In all other cases you must leave this at 1 to ensure a secure connection to the server. Turning off verification will turn off protection against man in the middle attacks on SSL connections.
Definition
SetHTTPVerifyCertificate( iHTTP, mode )
void agk::SetHTTPVerifyCertificate( uint32_t iHTTP, int mode )
Parameters
iHTTP - The ID of the connection to set.
mode - 1 to verify, 0 to not verify.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image.htm
deleted file mode 100644
index 92fc2408..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Image - AGK Help
-
-
-
-
-
-
-
Copies a portion of the given image into a new image. The x, y, width, height values are in pixels and represent the portion of the image you would like to copy into a new image. The new image with have the same size as the width and height values given. If an image already exists with the new ID given it must be deleted before calling this command. This is a slow command and should not be called every frame.
Definition
CopyImage( newImage, fromImage, x, y, width, height )
void agk::CopyImage( uint32_t newImage, uint32_t fromImage, int x, int y, int width, int height )
integer CopyImage( fromImage, x, y, width, height )
uint32_t agk::CopyImage( uint32_t fromImage, int x, int y, int width, int height )
Parameters
newImage - The ID of the new image to create, this image must not exist
fromImage - The ID of the image to copy
x - The x coordinate of the top left corner of the box to copy
y - The y coordinate of the top left corner of the box to copy
width - The width of the box to copy
height - The height of the box to copy
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/CreateImageColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/CreateImageColor.htm
deleted file mode 100644
index 8f63e8a7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/CreateImageColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateImageColor - AGK Help
-
-
-
-
-
-
-
Creates a blank image suitable for rendering and returns an ID to reference it. This can be used with SetRenderToImage to draw things to images. You can create RGBA images for normal rendering or depth images for capturing the depth buffer on devices that support it. You can also choose to use mipmapping on this image or not, this overrides the global SetGenerateMipmaps() command for this image only, this is because mipmaps on rendered images can be a performance hit so it should not be used unless necessary. Mipmaps should only be necessary if you intend to use this image to texture objects in your scene, if you are only using this image for full screen shaders you should not use mipmapping on it.
Definition
integer CreateRenderImage( width, height, format, mipmap )
Attempts to decode a QR code and return the string encoded within it. Returns an empty string if it could not find a QR code in the image or failed to decode it. Multiple QR codes in the image are likely to cause the decode to fail.
Definition
string DecodeQRCode( image )
char* agk::DecodeQRCode( uint32_t image )
Parameters
image - The ID of the image to decode, can be an image captured from the camera
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/DeleteAllImages.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/DeleteAllImages.htm
deleted file mode 100644
index 45b81e40..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/DeleteAllImages.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteAllImages - AGK Help
-
-
-
-
-
-
-
Encodes the given text into a QR code and returns a new image ID containing that code. You can select the amount of error correction included in the code to allow part of the QR code to become damaged but still be readable. The higher the error correction mode the more likely it is that a damaged or obscured QR code will be read correctly, but higher error correction modes may produce a larger QR code.
Level 0 still provides a minimal level of error correction rather than none.
Definition
integer EncodeQRCode( text, errormode )
uint32_t agk::EncodeQRCode( const char* text, int errormode )
Parameters
text - The text to encode.
errormode - The level of error correction to include in the code from 0 (lowest) to 3 (highest)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetCapturedImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetCapturedImage.htm
deleted file mode 100644
index 6148cabd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetCapturedImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCapturedImage - AGK Help
-
-
-
-
-
-
-
This function has been deprecated, use SetDeviceCameraToImage instead.
Returns the ID of a newly captured image created using ShowImageCaptureScreen. If this returns 0 then the user cancelled the process or you have not yet started it with ShowImageCaptureScreen. Once you have called this command to retrieve the image ID it will return 0 until ShowImageCaptureScreen is called again.
Definition
integer GetCapturedImage()
uint32_t agk::GetCapturedImage()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetChosenImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetChosenImage.htm
deleted file mode 100644
index b1d65400..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetChosenImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetChosenImage - AGK Help
-
-
-
-
-
-
-
Returns the ID of a newly chosen image picked using ShowChooseImageScreen. If this returns 0 then the user cancelled the process or you have not yet started it with ShowChooseImageScreen. Once you have called this command to retrieve the image ID it will return 0 until ShowChooseImageScreen is called again.
Definition
integer GetChosenImage()
uint32_t agk::GetChosenImage()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetDeviceCameraType.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetDeviceCameraType.htm
deleted file mode 100644
index b156fc10..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/GetDeviceCameraType.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceCameraType - AGK Help
-
-
-
-
-
-
-
Before using this command consider using SetRenderToImage instead as it will be faster if you just want to draw some things to an image for use later as a texture.
GetImage grabs a portion of the backbuffer and creates a new image from it. The position and size values must be in screen coordinates. Returns the ID of the new image, this must be deleted when you are done with it. To use this command effectively you must know how AGK draws to the back buffer. When Sync is called AGK updates the positions of all objects with Update, then draws them all to the back buffer with Render, without clearing it, then displays the back buffer to the screen with Swap. It then clears the back buffer and returns to your code, so if you were to call GetImage immediately after Sync you would get a blank image filled with the current clear color. Therefore if you want to grab an image of the current scene fully drawn you must call Render then GetImage. The backbuffer will then be cleared automatically ready for the next rendering.
If you are using Update, Render, and Swap yourself instead of Sync, then call GetImage after Render, you will then need to call Render and Swap to draw to the screen.
This also allows you to do things such as drawing lines to the back buffer, getting an image of the result and then clearing it so it doesn't effect what is displayed to the screen.
Calling GetImage is a slow command and it is not recommended that it be called every frame. A better method would be to use SetRenderToImage to draw directly to the image on the GPU without transferring it back to the CPU.
Note that the image produced by this command is not guaranteed to have the same width and height as those given to the command, this is because the image is created from a portion of the screen which has a different size on different devices. For example, with a virtual resolution of 480x320, you would get an image of the full screen by calling this command with a width of 480 and a height of 320, but on an iPhone this would produce an image of 480x320 pixels, whilst on an iPad it would be around 1024x768 pixels. This should not effect how you use the image as applying it to a sprite and setting the sprite size to the same 480x320 will make the sprite fill the screen in both cases. It simply means that on the iPad you have a higher quality image to play with.
This also applies to the line drawing commands, drawing a line from 0,0 to 100,100 and then getting an image from 0,0 to 100,100 will produce a diagonal line image on all devices, but high resolution screen devices will produce an image of higher quality containing more pixels. Use GetImageWidth and GetImageHeight if you need to know the actual size of the image produced in pixels.
When drawing transparent sprites and using GetImage on them AGK has to undo the blending of the sprite with the background color to retrieve an image that can be used again in future transparent sprites.
Opens the image file to extract the width and height values and then immediately closes the file. This is much faster than loading the entire image. This can be useful when using LoadImageResized to know how much to scale the image before loading it. Both the width and height will be returned in a single integer value, the top 16bits will be the width and the lower 16bits will be the height. You can extract these values in Tier 1 by doing width = result >> 16 height = result && 0xFFFF
This function has been deprecated, use SetDeviceCameraToImage instead.
Returns 1 if AGK is currently displaying a camera feed and waiting for the user to capture an image. When this returns 0 the user has either cancelled or captured an image, check GetCapturedImage to see what the result was.
Definition
integer IsCapturingImage()
uint32_t agk::IsCapturingImage()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/IsChoosingImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/IsChoosingImage.htm
deleted file mode 100644
index 73f422fe..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/IsChoosingImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsChoosingImage - AGK Help
-
-
-
-
-
-
-
Returns 1 if AGK is currently displaying a choose image screen and waiting for the user to pick an image. When this returns 0 the user has either cancelled or chosen an image, check GetChosenImage to see what the result was.
Definition
integer IsChoosingImage()
uint32_t agk::IsChoosingImage()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/LoadImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/LoadImage.htm
deleted file mode 100644
index 7f943730..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/LoadImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadImage - AGK Help
-
-
-
-
-
-
-
Loads an image from a file into a specified image ID, can also be used to load an atlas texture that will be used by sub images. If loading an atlas texture a subimages.txt file must exist detailing all the images contained on it.
Image width and height must be between 1 and 2048 pixels, some devices may support larger sizes but this is not guaranteed. Images do not need to be a power of 2 in size (2,4,8,16,32,etc).
If you have lots of small images you could combine them into an atlas texture to improve performance.
Definition
LoadImage( ID, sImageFilename, bBlackToAlpha )
void agk::LoadImage( uint32_t ID, const char *sImageFilename, int bBlackToAlpha )
Loads an image, resizing it in the process. This allows you to have one high quality image and then resize it based on the device resolution at runtime, instead of having multiple levels of quality. Reducing the image size is preferred to increasing the image size as increasing the image size doesn't improve the quality, but both are supported. A value of 1.0 does not change the image size, a value less than 1 will make the image smaller, a value greater than 1 will make the image bigger. Scaling values must be greater than 0, but can be any fraction, i.e. a scale of 0.6742 would be valid. A scale of 0.5 would halve the image size, 2.0 would double to image size, and so on. The image can be resized differently in the X and Y directions, although this will cause stretching. If you load an atlas texture using this command then the subimages.txt file will also have its values resized so that LoadSubImage will still work correctly. The cache parameter is no longer used as the image scaling is now done by the GPU so has almost no impact on performance
Loads a sub image from an atlas texture for use as a standalone image into a specified image ID. The subimages.txt file should start with the same name as the image file, for example an atlas image MyImage.png would have a subimages file named "MyImage subimages.txt". The subimages file contains a series of rows each describing an image that exists within the atlas image. Each line must have the format Name:X:Y:Width:Height with the delimiter : used between the fields. The Name field is the name you want to used to reference the sub image when loading, this should match the sImageFilename parameter of this LoadSubImage command. The X:Y fields are the X and Y pixel coordinates that represent the top left corner of the subimage, and the Width:Height fields are the size in pixels of the sub image. These values are then used to extract your named image from the atlas and load it into its own image ID to be used as if it were a normal image. The atlas image must remain loaded for the entire time you are using the loaded sub image. Note that when loading a sub image AGK will modify the UV coordinates slightly so that the image does not steal pixels from neighboring images during filtering, by default it shifts the UV inwards by 0.5 pixels. You can override this by setting SetSpriteUVBorder to 0 for sprites where you need pixel perfect results, but you will have to watch out for pixel bleeding around the edges, and may need to give your sub images a 1 pixel border of an appropriate color that it can safely steal from when filtering.
Prints an image to a connected printer. This command is not guaranteed to work on all platforms. The size parameter determines how large the image is on the page, a value of 100 makes it use as much of the page as possible, 50 makes it use half this amount, 25 a quarter and so on.
Resizes an image to new width and height. If the image is an atlas image then its subimages.txt values will also be resized so that LoadSubImage will still work. Note that if you have previously used LoadSubImage on this image then resizing it will make those sub images display incorrectly. This command will not work on sub images themselves.
Definition
ResizeImage( imageID, width, height )
void agk::ResizeImage( uint32_t imageID, int width, int height )
Parameters
imageID - The ID of the image to resize
width - The new width of the image
height - The new height of the image
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/SaveImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/SaveImage.htm
deleted file mode 100644
index e06be83e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/SaveImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SaveImage - AGK Help
-
-
-
-
-
-
-
Saves the image at the given ID to the file name specified. The file will be placed in the app's write folder at the location currently specified by SetFolder. Alternatively you can specify a path beginning with a forward slash to choose a location from the root of the write folder, ignoring any SetFolder folder.
It is recommended that you use the extension ".png" at the end of the filename to save in PNG format. Some platforms may support additional extensions such as ".jpg" but this is not guaranteed to work on all platforms.
Using an image ID greater than zero will stream the device camera to the chosen image. The image must not currently exist, it will be created by this command. Use an imageID of 0 to stop streaming, this will also delete the image. The cameraID parameter is used when the device has multiple cameras, for example front and back facing cameras. Typically 0 refers the back facing camera. Use GetNumDeviceCameras to see how many cameras this device has and GetDeviceCameraType to check whether it is front or back facing. This parameter is ignored if the imageID is 0. You can only have one device camera active at once, so to switch from back to front facing cameras you must first call this command with imageID set to 0 to stop the capture, then start it again with the new cameraID. Returns 1 if it was successful, 0 if there was a problem or the current platform doesn't support this command. This is currently supported on iOS, Android 4.0.3 and above, and Windows.
Sets the filter for textures when the texture is larger than the screen space it is displayed in. You can use a mode of 0 to use the nearest pixel, which will appear blocky, or 1 to use a linear filter which will look blurry. When the image matches the screen space exactly then both filters will look the same when there is a slight difference, nearest tends to be sharper, but may flicker as it changes pixel choice.
Copies a color channel from one image to another. You can specify the source and destination channels using the values 1,2,3,4 to represent red, green, blue, and alpha respectively.
This is a slow command and should not be called every frame.
The x,y offset values allow you to offset the source image on te destination image so a small source image can be used to mask any part of a large image. Any part of the large image outside the size of the small image will be left unchanged. negative offset values are supported to shift the source image off the top left of the destination image. If you add some transparent pixels to an image that currently has none, and you use the image on a sprite, then be sure to use SetSpriteTransparency to make the sprite transparent.
Definition
SetImageMask( iDstImage, iSrcImage, dst, src, x, y )
void agk::SetImageMask( uint32_t iDstImage, uint32_t iSrcImage, int dst, int src, int x, int y )
Parameters
iDstImage - The ID of the image to change.
iSrcImage - The ID of the image to use as a source.
dst - The ID of the color channel to use as the destination, 1-4 for RGBA,
src - The ID of the color channel to use as the source, 1-4 for RGBA,
x - The x offset for the source image on the destination image,
y - The y offset for the source image on the destination image.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/SetImageMinFilter.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/SetImageMinFilter.htm
deleted file mode 100644
index 708cfc3d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/SetImageMinFilter.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetImageMinFilter - AGK Help
-
-
-
-
-
-
-
Sets the filter for textures when the texture is smaller than the screen space it is displayed in. You can use a mode of 0 to use the nearest pixel, which will appear blocky, or 1 to use a linear filter which will look blurry. When the image matches the screen space exactly then both filters will look the same when there is a slight difference, nearest tends to be sharper, but may flicker as it changes pixel choice.
Sets the sub image data for an atlas image, which is the layout of where each sub image is located within the atlas image. Normally this is loaded automatically from the subimages.txt file when the image is loaded, but if this is not possible then this command can be used to set that data. The file must be a valid subimages.txt file in the same format as that specified in LoadSubImage Unlike the normal load image command the file does not need to be named subimages.txt, it can have any name and path
Sets the UV wrap mode of the image when the U coordinate goes outside the range 0-1. The default is mode 0 which clamps the pixel value to the last valid pixel, mode 1 repeats the texture starting from the opposite side.
To use UV values outside 0-1 successfully on all platforms the image in question must be a power of 2 in width and height, and not be part of an atlas texture. This applies to both clamp and repeat.
Sets the UV wrap mode of the image when the V coordinate goes outside the range 0-1. The default is mode 0 which clamps the pixel value to the last valid pixel, mode 1 repeats the texture starting from the opposite side.
To use UV values outside 0-1 successfully on all platforms the image in question must be a power of 2 in width and height, and not be part of an atlas texture. This applies to both clamp and repeat.
Presents the user with an option to choose an image stored on their current platform, for example a photo on a phone or an image saved on a PC. This does not immediately capture the image, depending on the platform your app may continue running in the background whilst the user is choosing an image, or it may pause execution whilst the image is chosen. In any case you must assume your app continues running but is no longer visible, use IsChoosingImage to check when the user returns from the image choosing process, and GetChosenImage to discover the result of the process.
This function returns 1 if it was successful in displaying the choose screen, 0 otherwise.
Definition
integer ShowChooseImageScreen()
uint32_t agk::ShowChooseImageScreen()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Image/ShowImageCaptureScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Image/ShowImageCaptureScreen.htm
deleted file mode 100644
index 78e33c7c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Image/ShowImageCaptureScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ShowImageCaptureScreen - AGK Help
-
-
-
-
-
-
-
This function has been deprecated, use SetDeviceCameraToImage instead.
Presents the user with an option to take a photo with the device camera, if available. If the device does not have a camera, or otherwise cannot be used, this will return 0 and your app will continue as normal. This does not immediately capture the image, depending on the platform your app may continue running in the background whilst the user is taking a photo, or it may pause execution whilst the photo is taken. In any case you must assume your app continues running but is no longer visible, use IsCapturingImage to check when the user returns from the image capture process, and GetCapturedImage to discover the result of the process. This does not currently work on Mac.
Definition
integer ShowImageCaptureScreen()
uint32_t agk::ShowImageCaptureScreen()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Index.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Index.htm
deleted file mode 100644
index c0973dd4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Index.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Index - AGK Help
-
-
-
-
-
-
-
The commands listed in this section are for dealing with specific hardware requirements - they are not cross platform. You must check for existance on the current device before using them.
Waits for the detection of physical joysticks to complete, on some systems this may take a few seconds so is run in a separate thread along side the main application. If you do not use any of the real joystick commands (include the AGK joystick) you may ignore this command and let the joystick detection complete whenever it likes. However if you do wish to use joystick commands in your app you must call this command to make sure that the total number of joysticks connected have been found. After this initial detection process plugging in additional joysticks will not be detected.
Definition
CompleteRawJoystickDetection()
void agk::CompleteRawJoystickDetection()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetAccelerometerExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetAccelerometerExists.htm
deleted file mode 100644
index a6aa8fcd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetAccelerometerExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetAccelerometerExists - AGK Help
-
-
-
-
-
-
-
Returns 1 if the current device has a camera, 0 if not. On some platforms this command enumerates the hardware devices to check for a camera which may be slow. It is not recommended that you call this every frame. On Windows this command will successfully detect a new camera being plugged in whilst the app is running.
Definition
integer GetCameraExists()
int agk::GetCameraExists()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBuffer.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBuffer.htm
deleted file mode 100644
index 15eca4a1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBuffer.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCharBuffer - AGK Help
-
-
-
-
-
-
-
Returns a string of all the characters pressed since the last time this command was called, after this command is called the buffer is cleared. This only works on devices with a physical keyboard. The buffer is limited to 1024 characters, after which additional characters will be ignored. In Tier 2 the string is encoded in UTF-8, and must be deleted with agk::DeleteString when you are done with it.
Definition
string GetCharBuffer()
char* agk::GetCharBuffer()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBufferLength.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBufferLength.htm
deleted file mode 100644
index b797bb36..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetCharBufferLength.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCharBufferLength - AGK Help
-
-
-
-
-
-
-
Returns the current length of the char buffer wihtout modifying it. Note that this is the length in characters, not bytes, which may be different when the string contains unicode characters.
Definition
integer GetCharBufferLength()
int agk::GetCharBufferLength()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetGPSSensorExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetGPSSensorExists.htm
deleted file mode 100644
index d6a11ef7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetGPSSensorExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetGPSSensorExists - AGK Help
-
-
-
-
-
-
-
Returns 1 if the current device has at least one physical joystick available as an input method. 0 if it has no joystick physical joysticks. If you find that the platform has no physical joysticks you can create virtual ones that appear on screen for use by touch screens or mice with AddVirtualJoystick. GetJoystickExists does not count virtual joysticks in its check. On some platforms joystick detection is run on a background thread that may not complete for some time after your app has started, to wait for the thread to complete use CompleteRawJoystickDetection to be sure that any connected joysticks have been found.
Definition
integer GetJoystickExists()
int agk::GetJoystickExists()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetKeyboardExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetKeyboardExists.htm
deleted file mode 100644
index 7fc3382c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetKeyboardExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetKeyboardExists - AGK Help
-
-
-
-
-
-
-
If an accelerometer exists, returns the current accelerometer reading for the X direction in the range -1 to 1. This matches the screen coordinate system of positive being to the right. If no accelerometer exists this will always return 0. You can use the GetDirectionX command to emulate a direction input. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the accelerometer rotating the screen. You should use SetOrientationAllowed if you want to enable screen rotation when using the accelerometer.
Definition
float GetRawAccelX()
float agk::GetRawAccelX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelY.htm
deleted file mode 100644
index c9d8c791..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawAccelY - AGK Help
-
-
-
-
-
-
-
If an accelerometer exists, returns the current accelerometer reading for the Y direction in the range -1 to 1. This matches the screen coordinate system of positive being down. If no accelerometer exists this will always return 0. You can use the GetDirectionY command to emulate a direction input. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the accelerometer rotating the screen. You should use SetOrientationAllowed if you want to enable screen rotation when using the accelerometer.
Definition
float GetRawAccelY()
float agk::GetRawAccelY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelZ.htm
deleted file mode 100644
index 3a325c51..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawAccelZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawAccelZ - AGK Help
-
-
-
-
-
-
-
If an accelerometer exists, returns the current accelerometer reading for the Z direction in the range -1 to 1. A positive Z value means the screen is facing upwards. If no accelerometer exists this will always return 0, there is no emulated command for the Z direction. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the accelerometer rotating the screen. You should use SetOrientationAllowed if you want to enable screen rotation when using the accelerometer.
Definition
float GetRawAccelZ()
float agk::GetRawAccelZ()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawFirstTouchEvent.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawFirstTouchEvent.htm
deleted file mode 100644
index 717f683c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawFirstTouchEvent.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawFirstTouchEvent - AGK Help
-
-
-
-
-
-
-
Returns an index to the first touch event available for reading. By default the AGK does not count an event until it knows what type of event it is, e.g. short, long, drag, etc. To receive unknown events as well set bIncludeUnknown to 1. Use 0 to ignore unknown events. All you can be sure about with unknown events is that the finger is currently on screen and has been there less than 1 second. After 1 second it automatically becomes a hold event. If the user lifts their finger off the screen it becomes a short event, and if they move their finger it becomes a drag event. If no events are available it returns 0.
Definition
integer GetRawFirstTouchEvent( bIncludeUnknown )
uint32_t agk::GetRawFirstTouchEvent( int bIncludeUnknown )
Parameters
bIncludeUnknown - Set to true to receive unknown events which may become any type of event in the future.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGPSAltitude.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGPSAltitude.htm
deleted file mode 100644
index 1c96deea..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGPSAltitude.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawGPSAltitude - AGK Help
-
-
-
-
-
-
-
If a gyroscope exists, returns the X component of the current device rotation speed. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the screen from rotating. You should use SetOrientationAllowed if you want to enable screen rotation when using the gyroscope.
Definition
float GetRawGyroVelocityX()
float agk::GetRawGyroVelocityX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityY.htm
deleted file mode 100644
index 5e06f0ac..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawGyroVelocityY - AGK Help
-
-
-
-
-
-
-
If a gyroscope exists, returns the Y component of the current device rotation speed. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the screen from rotating. You should use SetOrientationAllowed if you want to enable screen rotation when using the gyroscope.
Definition
float GetRawGyroVelocityY()
float agk::GetRawGyroVelocityY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityZ.htm
deleted file mode 100644
index b62d74b1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawGyroVelocityZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawGyroVelocityZ - AGK Help
-
-
-
-
-
-
-
If a gyroscope exists, returns the Z component of the current device rotation speed. If you have not used SetOrientationAllowed to select your desired orientation then this command will lock the device in the current orientation to prevent the screen from rotating. You should use SetOrientationAllowed if you want to enable screen rotation when using the gyroscope.
Definition
float GetRawGyroVelocityZ()
float agk::GetRawGyroVelocityZ()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickButtonPressed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickButtonPressed.htm
deleted file mode 100644
index 719822d5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickButtonPressed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickButtonPressed - AGK Help
-
-
-
-
-
-
-
Returns 1 if the given button was pressed this frame, otherwise returns 0. Once the button has been pressed this function returns to 0, to check the state of the button use GetRawJoystickButtonState.
AGK supports up to 64 joystick buttons in the range 1-64.
Returns 1 if the given button was released this frame, otherwise returns 0. Once the button has been released this function returns to 0, to check the state of the button use GetRawJoystickButtonState.
AGK supports up to 64 joystick buttons in the range 1-64.
Returns 1 if the given button is currently down, otherwise returns 0. To detect the instance that a button is pressed or released use GetRawJoystickButtonPressed or GetRawJoystickButtonReleased.
AGK supports up to 64 joystick buttons in the range 1-64.
Returns 1 if the specified joystick is connected, 0 if not. This only applies to joysticks that were plugged in when the app started, plugging in a new joystick after the app has started will not be detected. Use GetRawJoystickExists to find out which joysticks were detected at startup. This command currently does not work on Mac.
Definition
integer GetRawJoystickConnected( index )
int agk::GetRawJoystickConnected( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickExists.htm
deleted file mode 100644
index ea252781..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickExists - AGK Help
-
-
-
-
-
-
-
Returns 1 if a joystick exists at the given index. Physical joysticks are detected at startup and placed in IDs 1-8 incrementally. You should call CompleteRawJoystickDetection at some point before this command to make sure that all present joysticks have been discovered. After the initial detection process plugging in additional joysticks will not be detected (except on Android which will detect new joysticks). Unplugging a joystick will not delete its index and this command will still return 1. You can use GetRawJoystickConnected to detect when a previously detected joystick is disconnected. If a disconnected joystick is reattached the AGK will attempt to reconnect to it.
An alternative version of this command exists GetJoystickExists, in which case it will return 1 if there are any raw joysticks attached.
Definition
integer GetRawJoystickExists( index )
int agk::GetRawJoystickExists( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickName.htm
deleted file mode 100644
index 5c9cd497..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickName - AGK Help
-
-
-
-
-
-
-
Returns the name of the joystick as discovered by the operating system, currently only works on Windows and Linux. In Tier 2 the string is encoded in UTF-8, and must be deleted with agk::DeleteString when you are done with it.
Definition
string GetRawJoystickName( index )
char* agk::GetRawJoystickName( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickPOV.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickPOV.htm
deleted file mode 100644
index dd544eda..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickPOV.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickPOV - AGK Help
-
-
-
-
-
-
-
Returns the current rotational X value (if applicable) for the physical joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered. In reality some joystick devices use this value for a second analogue stick.
Definition
float GetRawJoystickRX( index )
float agk::GetRawJoystickRX( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRY.htm
deleted file mode 100644
index 5f24addf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickRY - AGK Help
-
-
-
-
-
-
-
Returns the current rotational Y value (if applicable) for the physical joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered. In reality some joystick devices use this value for a second analogue stick.
Definition
float GetRawJoystickRY( index )
float agk::GetRawJoystickRY( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRZ.htm
deleted file mode 100644
index 84c73ccd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickRZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickRZ - AGK Help
-
-
-
-
-
-
-
Returns the current rotational Z value (if applicable) for the physical joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered. In reality some joystick devices use this value for a second analogue stick.
Definition
float GetRawJoystickRZ( index )
float agk::GetRawJoystickRZ( uint32_t index )
Parameters
index - The ID of the joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickSlider.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickSlider.htm
deleted file mode 100644
index 821b2651..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickSlider.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickSlider - AGK Help
-
-
-
-
-
-
-
Returns the current value of the joystick slider, this can vary based on joystick type. Currently the slider index must be either 0 or 1. Sliders are typically used for additional axes.
Definition
integer GetRawJoystickSlider( index, slider )
int agk::GetRawJoystickSlider( uint32_t index, uint32_t slider )
Parameters
index - The ID of the joystick to check.
slider - The index of the slider to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickX.htm
deleted file mode 100644
index b0467a47..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawJoystickX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawJoystickX - AGK Help
-
-
-
-
-
-
-
Returns 1 if the key code given was pressed this frame, then returns 0 whilst the key is held down. This only applies to platforms with a full sized keyboard such as PC and Mac, otherwise all keys will return 0. You can check if a keyboard exists by checking GetKeyboardExists returns 1. Key codes are in the range 0 to 255, anything out of range will return 0. Check out the scan codes page in the guides section of the help files to see which key matches which key code
Definition
integer GetRawKeyPressed( key )
int agk::GetRawKeyPressed( uint32_t key )
Parameters
key - The key code of the key to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyReleased.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyReleased.htm
deleted file mode 100644
index b9b9fa4d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyReleased.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawKeyReleased - AGK Help
-
-
-
-
-
-
-
Returns 1 if the key code given was released this frame, then returns 0 whilst the key is up. This only applies to platforms with a full sized keyboard such as PC and Mac, otherwise all keys will return 0. You can check if a keyboard exists by checking GetKeyboardExists returns 1. Key codes are in the range 0 to 255, anything out of range will return 0. Check out the scan codes page in the guides section of the help files to see which key matches which key code
Definition
integer GetRawKeyReleased( key )
int agk::GetRawKeyReleased( uint32_t key )
Parameters
key - The key code of the key to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyState.htm
deleted file mode 100644
index c52f8904..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawKeyState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawKeyState - AGK Help
-
-
-
-
-
-
-
Returns 1 if the key code given is currently down. 0 if it is up. This only applies to platforms with a full sized keyboard such as PC and Mac, otherwise all keys will return 0. You can check if a keyboard exists by checking GetKeyboardExists returns 1. Key codes are in the range 0 to 255, anything out of range will return 0. Check out the scan codes page in the guides section of the help files to see which key matches which key code
Definition
integer GetRawKeyState( key )
int agk::GetRawKeyState( uint32_t key )
Parameters
key - The key code of the key to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLastKey.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLastKey.htm
deleted file mode 100644
index dc50c003..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLastKey.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawLastKey - AGK Help
-
-
-
-
-
-
-
Returns the key code of the last key pressed. This only applies to platforms with a full sized keyboard such as PC, Mac, and Linux. You can check if a keyboard exists by using GetKeyboardExists. This function continue to return the last key pressed even when the key has been released. Check out the scan codes page in the guides section of the help files to see which key matches which key code
Definition
integer GetRawLastKey( )
int agk::GetRawLastKey( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLightLevel.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLightLevel.htm
deleted file mode 100644
index ee8a10be..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawLightLevel.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawLightLevel - AGK Help
-
-
-
-
-
-
-
If an magnetic sensor exists, returns the X component of any surrounding magnetic field. On iOS it may take a few seconds to start displaying data other than 0, during this process the device is using motion data to calibrate the magnetic sensor
Definition
float GetRawMagneticX()
float agk::GetRawMagneticX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticY.htm
deleted file mode 100644
index a69aed12..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawMagneticY - AGK Help
-
-
-
-
-
-
-
If an magnetic sensor exists, returns the Y component of any surrounding magnetic field. On iOS it may take a few seconds to start displaying data other than 0, during this process the device is using motion data to calibrate the magnetic sensor
Definition
float GetRawMagneticY()
float agk::GetRawMagneticY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticZ.htm
deleted file mode 100644
index e73e87af..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMagneticZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawMagneticZ - AGK Help
-
-
-
-
-
-
-
If an magnetic sensor exists, returns the Z component of any surrounding magnetic field. On iOS it may take a few seconds to start displaying data other than 0, during this process the device is using motion data to calibrate the magnetic sensor
Definition
float GetRawMagneticZ()
float agk::GetRawMagneticZ()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseFifthPressed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseFifthPressed.htm
deleted file mode 100644
index 64903b73..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseFifthPressed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawMouseFifthPressed - AGK Help
-
-
-
-
-
-
-
Returns the difference between the current mouse wheel position and the previous mouse wheel position, can be positive or negative, updated once a frame. If no mouse exists it will always return 0.
Definition
float GetRawMouseWheelDelta()
float agk::GetRawMouseWheelDelta()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseX.htm
deleted file mode 100644
index 4b5dc961..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawMouseX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawMouseX - AGK Help
-
-
-
-
-
-
-
If a proximity sensor exists, returns the distance of the device from any object currently in front of it, untested as no device supported it during testing.
Definition
float GetRawProximityDistance()
float agk::GetRawProximityDistance()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW.htm
deleted file mode 100644
index 1787cc8d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorW - AGK Help
-
-
-
-
-
-
-
Returns the W component of the current device orientation as a quaternion. This can be applied to objects with the SetObjectRotationQuat to mimic the device orientation with an object. This command is designed for use with objects, if you want to orientate the camera use GetRawRotationVectorW2
Definition
float GetRawRotationVectorW()
float agk::GetRawRotationVectorW()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW2.htm
deleted file mode 100644
index 73fd13dd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorW2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorW2 - AGK Help
-
-
-
-
-
-
-
Returns the W component of the current device orientation as a quaternion. This can be applied to cameras with SetCameraRotationQuat to use the device like a virtual reality headset. This command does internal calculations based on the SetOrientationAllowed values to produce the correct camera orientation for the current device orientation. This command is designed for use with cameras, if you want to orientate an object use GetRawRotationVectorW
Definition
float GetRawRotationVectorW2()
float agk::GetRawRotationVectorW2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX.htm
deleted file mode 100644
index 820e4b83..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorX - AGK Help
-
-
-
-
-
-
-
Returns the X component of the current device orientation as a quaternion. This can be applied to objects with the SetObjectRotationQuat to mimic the device orientation with an object. This command is designed for use with objects, if you want to orientate the camera use GetRawRotationVectorX2
Definition
float GetRawRotationVectorX()
float agk::GetRawRotationVectorX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX2.htm
deleted file mode 100644
index 2a613d21..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorX2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorX2 - AGK Help
-
-
-
-
-
-
-
Returns the X component of the current device orientation as a quaternion. This can be applied to cameras with SetCameraRotationQuat to use the device like a virtual reality headset. This command does internal calculations based on the SetOrientationAllowed values to produce the correct camera orientation for the current device orientation. This command is designed for use with cameras, if you want to orientate an object use GetRawRotationVectorX
Definition
float GetRawRotationVectorX2()
float agk::GetRawRotationVectorX2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY.htm
deleted file mode 100644
index f120ba21..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorY - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the current device orientation as a quaternion. This can be applied to objects with the SetObjectRotationQuat to mimic the device orientation with an object. This command is designed for use with objects, if you want to orientate the camera use GetRawRotationVectorY2
Definition
float GetRawRotationVectorY()
float agk::GetRawRotationVectorY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY2.htm
deleted file mode 100644
index bceb4d4e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorY2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorY2 - AGK Help
-
-
-
-
-
-
-
Returns the Y component of the current device orientation as a quaternion. This can be applied to cameras with SetCameraRotationQuat to use the device like a virtual reality headset. This command does internal calculations based on the SetOrientationAllowed values to produce the correct camera orientation for the current device orientation. This command is designed for use with cameras, if you want to orientate an object use GetRawRotationVectorY
Definition
float GetRawRotationVectorY2()
float agk::GetRawRotationVectorY2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ.htm
deleted file mode 100644
index c8975293..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorZ - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the current device orientation as a quaternion. This can be applied to objects with the SetObjectRotationQuat to mimic the device orientation with an object. This command is designed for use with objects, if you want to orientate the camera use GetRawRotationVectorZ2
Definition
float GetRawRotationVectorZ()
float agk::GetRawRotationVectorZ()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ2.htm
deleted file mode 100644
index 16cd9413..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawRotationVectorZ2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawRotationVectorZ2 - AGK Help
-
-
-
-
-
-
-
Returns the Z component of the current device orientation as a quaternion. This can be applied to cameras with SetCameraRotationQuat to use the device like a virtual reality headset. This command does internal calculations based on the SetOrientationAllowed values to produce the correct camera orientation for the current device orientation. This command is designed for use with cameras, if you want to orientate an object use GetRawRotationVectorZ
Definition
float GetRawRotationVectorZ2()
float agk::GetRawRotationVectorZ2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCount.htm
deleted file mode 100644
index e267bd74..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchCount - AGK Help
-
-
-
-
-
-
-
Returns the number of touch events currently taking place. By default the AGK does not count an event until it knows what type of event it is, e.g. short, long, drag, etc. To count unknown events as well, set bIncludeUnknown to 1. Use 0 to ignore unknown events.
Definition
integer GetRawTouchCount( bIncludeUnknown )
uint32_t agk::GetRawTouchCount( int bIncludeUnknown )
Parameters
bIncludeUnknown - Set to 1 to count unknown events which may become any type of touch event in the future.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentX.htm
deleted file mode 100644
index 3e9c7b39..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchCurrentX - AGK Help
-
-
-
-
-
-
-
Returns the X position in screen coordinates where the touch event is currently located. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldX.
Definition
float GetRawTouchCurrentX( iIndex )
float agk::GetRawTouchCurrentX( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentY.htm
deleted file mode 100644
index 83d09f95..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchCurrentY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchCurrentY - AGK Help
-
-
-
-
-
-
-
Returns the Y position in screen coordinates where the touch event is currently located. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldY.
Definition
float GetRawTouchCurrentY( iIndex )
float agk::GetRawTouchCurrentY( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastX.htm
deleted file mode 100644
index cf69ae00..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchLastX - AGK Help
-
-
-
-
-
-
-
Returns the X position in screen coordinates where the touch event was last recorded before its current location. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldX.
Definition
float GetRawTouchLastX( iIndex )
float agk::GetRawTouchLastX( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastY.htm
deleted file mode 100644
index 3a909f58..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchLastY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchLastY - AGK Help
-
-
-
-
-
-
-
Returns the Y position in screen coordinates where the touch event was last recorded before its current location. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldY.
Definition
float GetRawTouchLastY( iIndex )
float agk::GetRawTouchLastY( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchReleased.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchReleased.htm
deleted file mode 100644
index fe3b85be..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchReleased.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchReleased - AGK Help
-
-
-
-
-
-
-
Returns 1 if the touch has been released, this will always be 1 for short events, hold and drag events will keep reporting 0 until they are released at which point you may wish to take some action. Each event will only report released as 1 once before being removed from the event list. If a touch event is ignored (not queried) for one frame after it is released it will be deleted from the event list.
Definition
integer GetRawTouchReleased( iIndex )
int agk::GetRawTouchReleased( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartX.htm
deleted file mode 100644
index 2de85cd5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchStartX - AGK Help
-
-
-
-
-
-
-
Returns the X position in screen coordinates where the touch event started. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldX.
Definition
float GetRawTouchStartX( iIndex )
float agk::GetRawTouchStartX( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartY.htm
deleted file mode 100644
index 45913d6d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchStartY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchStartY - AGK Help
-
-
-
-
-
-
-
Returns the Y position in screen coordinates where the touch event started. This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldY.
Definition
float GetRawTouchStartY( iIndex )
float agk::GetRawTouchStartY( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchTime.htm
deleted file mode 100644
index 42eee22c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchTime - AGK Help
-
-
-
-
-
-
-
Returns the type of the given touch event. All you can be sure about with unknown events is that the finger is currently on screen and has been there less than 1 second. After 1 second it automatically becomes a hold event. If the user lifts their finger off the screen before this then it becomes a short event, and if they move their finger further than the distance specified by SetRawTouchMoveSensitivity then it becomes a drag event. If the current event is not known then it returns 0. Events may change from being hold events to being drag events, but short and drag events do not change type. Unknown events are guaranteed to change type once more information is available. Possible return values are 0 to indicate unknown, 1 for a short touch, 2 for a hold and 3 for dragging.
Definition
integer GetRawTouchType( iIndex )
int agk::GetRawTouchType( uint32_t iIndex )
Parameters
iIndex - The index of the event to check, received from GetRawNextTouchEvent or GetRawFirstTouchEvent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchValue.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchValue.htm
deleted file mode 100644
index 05a0f3e3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/GetRawTouchValue.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetRawTouchValue - AGK Help
-
-
-
-
-
-
-
Sets the dead zone for all real joysticks so that any X or Y value below the given threshold will return 0 instead. This value must be between 0 and 1, by default it is set to 0.15.
Attempts to position any mouse pointer used on this platform. Not guaranteed to work on all platforms. Will only work whilst your app window has focus.
Definition
SetRawMousePosition( x, y )
void agk::SetRawMousePosition( float x, float y )
Parameters
x - The X component of the new mouse position.
y - The Y component of the new mouse position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/SetRawMouseVisible.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/SetRawMouseVisible.htm
deleted file mode 100644
index b668e89a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/SetRawMouseVisible.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetRawMouseVisible - AGK Help
-
-
-
-
-
-
-
Starts the process of getting a GPS location if possible on the current device. This may produce a permission request on some platforms the first time you call it. If the user denies permission then GetGPSSensorExists may return 0 from then on. You should only call this command when the user is doing an activity they know will require a location, otherwise they may deny it and never get asked again (they will have to go into their device settings to enable it). This command will consume a lot of battery power, so use StopGPSTracking when you no longer need a location. This command works on iOS, Android, Mac, and Windows 7 and above. It may take some time from calling this command to get an accurate location from GetRawGPSLatitude and GetRawGPSLongitude.
Definition
StartGPSTracking()
void agk::StartGPSTracking()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/StopGPSTracking.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/StopGPSTracking.htm
deleted file mode 100644
index c38bd8d8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input-Raw/StopGPSTracking.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopGPSTracking - AGK Help
-
-
-
-
-
-
-
Creates an on-screen button that can be controlled by a touch screen, mouse, or other pointer device. These are separate to physical joystick buttons or keyboard keys so you could have a virtual button with ID 1 and a real joystick button with ID 1. You may have up to 100 virtual buttons on screen at the same time. If a virtual button is on screen and is clicked or touched the button will capture that event and GetRawMouseLeftState will return 0 (up), and a touch event will not be generated for that action.
Creates an on-screen joystick that can be controlled by a touch screen, mouse, or other pointer device. These are separate to physical joysticks so you could have a virtual joystick with ID 1 and a real joystick with ID 1. You may have up to 4 virtual joysticks on screen at the same time.
If a virtual joystick is on screen and is clicked or touched the joystick will capture that event and GetRawMouseLeftState will return 0 (up), and a touch event will not be generated for that action.
Deletes the virtual button at the given index. No further virtual button commands can be called on this index unless it is recreated using AddVirtualButton.
Definition
DeleteVirtualButton( index )
void agk::DeleteVirtualButton( uint32_t index )
Parameters
index - The ID of the virtual button to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/DeleteVirtualJoystick.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/DeleteVirtualJoystick.htm
deleted file mode 100644
index 6d0e0b71..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/DeleteVirtualJoystick.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteVirtualJoystick - AGK Help
-
-
-
-
-
-
-
Deletes a virtual joystick and removes it from screen. No further virtual joystick commands can be called on this index unless it is recreated using AddVirtualJoystick.
Definition
DeleteVirtualJoystick( index )
void agk::DeleteVirtualJoystick( uint32_t index )
Parameters
index - The ID of the virtual joystick to delete.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/FixEditBoxToScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/FixEditBoxToScreen.htm
deleted file mode 100644
index cdd1f90c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/FixEditBoxToScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixEditBoxToScreen - AGK Help
-
-
-
-
-
-
-
By default sprites and edit boxes are created in world coordinates and SetViewOffset can be used to move around the world. Use this command to instead fix the edit box to the screen so it will move with the viewport when the viewport is moved around. You can still reposition an edit box that is fixed to the screen, it only affects what happens when the viewport is moved.
Definition
FixEditBoxToScreen( index, fix )
void agk::FixEditBoxToScreen( uint32_t index, int fix )
Parameters
index - The ID of the edit box to modify.
fix - 0=to move when the view port moves, 1=stay fixed to the screen no matter where the viewport is moved to.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonPressed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonPressed.htm
deleted file mode 100644
index ebb23cd8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonPressed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetButtonPressed - AGK Help
-
-
-
-
-
-
-
This function returns 1 if the specified button has just been pressed, then returns 0 while the button is held down. The AGK buttons are an emulated input method that uses whatever device inputs are available to produce 5 buttons. If a real joystick is found then the first 5 buttons from that will be used for the AGK button commands. Otherwise the AGK looks for a full-size keyboard and if found will use the following keys in the following order Space, E, R, Q, Control, to represent buttons 1 to 5 respectively. If neither a joystick nor keyboard is found then a virtual button is created that will appear on screen and can be pressed with either touch screen inputs or a mouse. Every platform is guaranteed to have a method of activating the AGK buttons.
Definition
integer GetButtonPressed( index )
int agk::GetButtonPressed( uint32_t index )
Parameters
index - The ID of the button to check, must be in the range 1 to 5 inclusive.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonReleased.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonReleased.htm
deleted file mode 100644
index 5cd3f8d2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonReleased.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetButtonReleased - AGK Help
-
-
-
-
-
-
-
This function returns 1 if the specified button has just been released, then returns 0 whilst the button is up. The AGK buttons are an emulated input method that uses whatever device inputs are available to produce 5 buttons. If a real joystick is found then the first 5 buttons from that will be used for the AGK button commands. Otherwise the AGK looks for a full-size keyboard and if found will use the following keys in the following order Space, E, R, Q, Control, to represent buttons 1 to 5 respectively. If neither a joystick nor keyboard is found then a virtual button is created that will appear on screen and can be pressed with either touch screen inputs or a mouse. Every platform is guaranteed to have a method of activating the AGK buttons.
Definition
integer GetButtonReleased( index )
int agk::GetButtonReleased( uint32_t index )
Parameters
index - The ID of the button to check, must be in the range 1 to 5 inclusive.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonState.htm
deleted file mode 100644
index f11c0b6b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetButtonState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetButtonState - AGK Help
-
-
-
-
-
-
-
This function returns 1 if the specified button is currently being held down.
The AGK buttons are an emulated input method that uses whatever device inputs are available to produce 5 buttons. If a real joystick is found then the first 5 buttons from that will be used for the AGK button commands. Otherwise the AGK looks for a full-size keyboard and if found will use the following keys in the following order Space, E, R, Q, Control, to represent buttons 1 to 5 respectively. If neither a joystick nor keyboard is found then a virtual button is created that will appear on screen and can be pressed with either touch screen inputs or a mouse. Every platform is guaranteed to have a method of activating the AGK buttons.
Definition
integer GetButtonState( index )
int agk::GetButtonState( uint32_t index )
Parameters
index - The ID of the button to check, must be in the range 1 to 5 inclusive.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetCurrentEditBox.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetCurrentEditBox.htm
deleted file mode 100644
index 924b2728..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetCurrentEditBox.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetCurrentEditBox - AGK Help
-
-
-
-
-
-
-
Returns the current direction angle with respect to x=0, y=-1 (up). The angle will be in the range 0-360. The direction is an emulated value that will use an accelerometer where available or keyboard arrow keys if not.
Definition
float GetDirectionAngle()
float agk::GetDirectionAngle()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionSpeed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionSpeed.htm
deleted file mode 100644
index b9d37108..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionSpeed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDirectionSpeed - AGK Help
-
-
-
-
-
-
-
Returns the current direction speed as an absolute value between 0 and 1.4, this is used with GetDirectionAngle to determine the extent of the direction. The direction is an emulated value that will use an accelerometer where available or keyboard arrow keys if not.
Definition
float GetDirectionSpeed()
float agk::GetDirectionSpeed()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionX.htm
deleted file mode 100644
index b17eb061..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDirectionX - AGK Help
-
-
-
-
-
-
-
Returns the current direction value in the X direction. The direction is an emulated value that will use an accelerometer where available or keyboard arrow keys if not.
Definition
float GetDirectionX()
float agk::GetDirectionX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionY.htm
deleted file mode 100644
index b8ca1111..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetDirectionY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDirectionY - AGK Help
-
-
-
-
-
-
-
Returns the current direction value in the Y direction. The direction is an emulated value that will use an accelerometer where available or keyboard arrow keys if not.
Definition
float GetDirectionY()
float agk::GetDirectionY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxActive.htm
deleted file mode 100644
index 704a96af..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetEditBoxActive - AGK Help
-
-
-
-
-
-
-
Gets the cursor to the specified position in the text, i.e. position 0 is left of the first character, position 1 is left of the second character, and so on.
Definition
integer GetEditBoxCursorPosition( index )
int agk::GetEditBoxCursorPosition( uint32_t index )
Parameters
index - The ID of the edit box to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxDepth.htm
deleted file mode 100644
index 7870ae25..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetEditBoxDepth - AGK Help
-
-
-
-
-
-
-
Returns the current X position of the edit box. This is the top left corner of the actual text entry box, any border will extend to the left of this point.
Definition
float GetEditBoxX( index )
float agk::GetEditBoxX( uint32_t index )
Parameters
index - The ID of the edit box to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxY.htm
deleted file mode 100644
index 8ac5ddaf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetEditBoxY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetEditBoxY - AGK Help
-
-
-
-
-
-
-
The AGK joystick is an emulated input method that uses whatever device inputs are available to produce a joystick style input in the range -1 to 1. If a physical joystick is attached to the system then that will be used, otherwise if a full sized keyboard is found the keys W,A,S,D will be used as the four directions for the joystick. If neither of these exist then a virtual joystick will be created on screen that can be controlled with either a touch screen or mouse. The virtual joystick used will be index 1, if it already exists its values will be fed into this emulated joystick command. You may position this virtual joystick at a position of your choice on screen using SetJoystickScreenPosition. Every platform is guaranteed to have a method of generating an AGK joystick X value.
Definition
float GetJoystickX()
float agk::GetJoystickX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetJoystickY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetJoystickY.htm
deleted file mode 100644
index 629cc93c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetJoystickY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetJoystickY - AGK Help
-
-
-
-
-
-
-
The AGK joystick is an emulated input method that uses whatever device inputs are available to produce a joystick style input in the range -1 to 1. If a physical joystick is attached to the system then that will be used, otherwise if a full sized keyboard is found the keys W,A,S,D will be used as the four directions for the joystick. If neither of these exist then a virtual joystick will be created on screen that can be controlled with either a touch screen or mouse. The virtual joystick used will be index 1, if it already exists its values will be fed into this emulated joystick command. You may position this virtual joystick at a position of your choice on screen using SetJoystickScreenPosition. Every platform is guaranteed to have a method of generating an AGK joystick Y value.
Definition
float GetJoystickY()
float agk::GetJoystickY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetLastChar.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetLastChar.htm
deleted file mode 100644
index 8544a24b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetLastChar.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetLastChar - AGK Help
-
-
-
-
-
-
-
This is an emulated input method that uses whatever device inputs are available to produce a screen pointer. If the device has a mouse then this will return 1 if the left mouse button is pressed, 0 if not. Otherwise the AGK will check for a touch screen and, if found, return 1 if one or more touch events exist. On devices that have neither mice nor touch screens the AGK will attempt to create some form of screen pointer controlled by analog sticks or similar.
There are three commands for getting the state of the pointer press, GetPointerPressed returns 1 the instant the pointer is pressed and then returns 0, GetPointerReleased returns 1 the instant the pointer is released and then returns 0, GetPointerState returns 1 the entire time the pointer is in the pressed state.
Definition
integer GetPointerPressed()
int agk::GetPointerPressed()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerReleased.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerReleased.htm
deleted file mode 100644
index ba11999e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerReleased.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPointerReleased - AGK Help
-
-
-
-
-
-
-
This is an emulated input method that uses whatever device inputs are available to produce a screen pointer. If the device has a mouse then this will return 1 if the left mouse button is released, 0 if not. Otherwise the AGK will check for a touch screen and, if found, return 1 if one or more touch events are released. On devices that have neither mice nor touch screens the AGK will attempt to create some form of screen pointer controlled by analog sticks or similar.
There are three commands for getting the state of the pointer press, GetPointerPressed returns 1 the instant the pointer is pressed and then returns 0, GetPointerReleased returns 1 the instant the pointer is released and then returns 0, GetPointerState returns 1 the entire time the pointer is in the pressed state.
Definition
integer GetPointerReleased()
int agk::GetPointerReleased()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerState.htm
deleted file mode 100644
index 51c7679b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPointerState - AGK Help
-
-
-
-
-
-
-
This is an emulated input method that uses whatever device inputs are available to produce a screen pointer. If the device has a mouse then this will return 1 if the left mouse button is currently down, 0 if not. Otherwise the AGK will check for a touch screen and, if found, return 1 if one or more touch events are currently being pressed. On devices that have neither mice nor touch screens the AGK will attempt to create some form of screen pointer controlled by analog sticks or similar.
There are three commands for getting the state of the pointer press, GetPointerPressed returns 1 the instant the pointer is pressed and then returns 0, GetPointerReleased returns 1 the instant the pointer is released and then returns 0, GetPointerState returns 1 the entire time the pointer is in the pressed state.
Definition
integer GetPointerState()
int agk::GetPointerState()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerX.htm
deleted file mode 100644
index 01e3320b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPointerX - AGK Help
-
-
-
-
-
-
-
This is an emulated input method that uses whatever device inputs are available to produce a screen pointer. If the device has a mouse then this returns the current X position of the mouse. Otherwise the AGK will check for a touch screen and, if found, will return the X position of the most recent touch event. If no events are taking place it is the last X position recorded by a touch event. On devices that have neither mice nor touch screens the AGK will attempt to create some form of screen pointer controlled by analog sticks or similar.
This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldX.
Definition
float GetPointerX()
float agk::GetPointerX()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerY.htm
deleted file mode 100644
index 9dea70a4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetPointerY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPointerY - AGK Help
-
-
-
-
-
-
-
This is an emulated input method that uses whatever device inputs are available to produce a screen pointer. If the device has a mouse then this returns the current Y position of the mouse. Otherwise the AGK will check for a touch screen and, if found, will return the Y position of the most recent touch event. If no events are taking place it is the last Y position recorded by a touch event. On devices that have neither mice nor touch screens the AGK will attempt to create some form of screen pointer controlled by analog sticks or similar.
This coordinate will be in view coordinates, if you are offsetting the view port you may want to convert it to world coordinates using ScreenToWorldY.
Definition
float GetPointerY()
float agk::GetPointerY()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInput.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInput.htm
deleted file mode 100644
index 1ae1ff1c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInput.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextInput - AGK Help
-
-
-
-
-
-
-
Returns the string that the user input. It will contain characters encoded with UTF-8, some devices may also allow newline characters to be returned. This commands value is not defined until GetTextInputCompleted returns 1.
Definition
string GetTextInput()
char* agk::GetTextInput()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputCancelled.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputCancelled.htm
deleted file mode 100644
index 0953c082..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputCancelled.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextInputCancelled - AGK Help
-
-
-
-
-
-
-
Returns 1 for the frame that the user completed inputting text (successfully or not). After completion this command will return to 0. At this point you can check if the user cancelled the input by using GetTextInputCancelled.
Definition
integer GetTextInputCompleted()
int agk::GetTextInputCompleted()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputState.htm
deleted file mode 100644
index 027dd07c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetTextInputState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextInputState - AGK Help
-
-
-
-
-
-
-
Returns 1 if a virtual button was pressed this frame, after the initial press this function will return to 0. Use GetVirtualButtonState to check if a virtual button is up or down.
Definition
integer GetVirtualButtonPressed( index )
int agk::GetVirtualButtonPressed( uint32_t index )
Parameters
index - The ID of the virtual button to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonReleased.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonReleased.htm
deleted file mode 100644
index 5965be43..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonReleased.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVirtualButtonReleased - AGK Help
-
-
-
-
-
-
-
Returns 1 if a virtual button was released this frame, after the initial release this function will return to 0. Use GetVirtualButtonState to check if a virtual button is up or down.
Definition
integer GetVirtualButtonReleased( index )
int agk::GetVirtualButtonReleased( uint32_t index )
Parameters
index - The ID of the virtual button to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonState.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonState.htm
deleted file mode 100644
index db7a21be..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualButtonState.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVirtualButtonState - AGK Help
-
-
-
-
-
-
-
Returns 1 if a virtual button is currently down, 0 if it is up. Use GetVirtualButtonPressed or GetVirtualButtonReleased to check for the instance a button is pressed or released.
Definition
integer GetVirtualButtonState( index )
int agk::GetVirtualButtonState( uint32_t index )
Parameters
index - The ID of the virtual button to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickExists.htm
deleted file mode 100644
index 1c410b44..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVirtualJoystickExists - AGK Help
-
-
-
-
-
-
-
Returns the X value of the virtual joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered. When the user is not interacting with the virtual joystick this will return 0.
Definition
float GetVirtualJoystickX( index )
float agk::GetVirtualJoystickX( uint32_t index )
Parameters
index - The ID of the virtual joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickY.htm
deleted file mode 100644
index 34a984ff..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/GetVirtualJoystickY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVirtualJoystickY - AGK Help
-
-
-
-
-
-
-
Returns the Y value of the virtual joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered. When the user is not interacting with the virtual joystick this will return 0.
Definition
float GetVirtualJoystickY( index )
float agk::GetVirtualJoystickY( uint32_t index )
Parameters
index - The ID of the virtual joystick to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetButtonScreenPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetButtonScreenPosition.htm
deleted file mode 100644
index 554b7fd2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetButtonScreenPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetButtonScreenPosition - AGK Help
-
-
-
-
-
-
-
This function positions a virtual button at the given position only if it is necessary for this device, for example if a real joystick or keyboard are present then this command will have no noticeable effect. It is recommended you call this command anyway, just in case a virtual button is needed.
The AGK buttons are an emulated input method that uses whatever device inputs are available to produce 5 buttons. If a real joystick is found then the first 5 buttons from that will be used for the AGK button commands. Otherwise the AGK looks for a full-size keyboard and if found will use the following keys in the following order Space, E, R, Q, Control, to represent buttons 1 to 5 respectively. If neither a joystick nor keyboard is found then a virtual button is created that will appear on screen and can be pressed with either touch screen inputs or a mouse. Every platform is guaranteed to have a method of activating the AGK buttons. If a virtual button is created it will be centered on the given X,Y position.
Toggles the active status of this edit box, when active is set to 1 the edit box can be clicked on, gain focus and be changed, when set to 0 the edit box cannot be changed nor gain focus.
Definition
SetEditBoxActive( index, active )
void agk::SetEditBoxActive( uint32_t index, int active )
Parameters
index - The ID of the edit box to modify.
active - The new state of the edit box, 1 for active, 0 for inactive.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxBackgroundColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxBackgroundColor.htm
deleted file mode 100644
index 6ef56cd3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxBackgroundColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxBackgroundColor - AGK Help
-
-
-
-
-
-
-
Sets the size of the border in world coordinates that will surround the text entry box. For example a value of 2 would add a 2 pixel border around the entry box.
Sets the cursor to the specified position in the text, i.e. position 0 is left of the first character, position 1 is left of the second character, and so on. If the position value is out of range it will be clamped to the nearest character. The current cursor position is guaranteed to be in view of the user, so this can be used to left or right justify text by setting the cursor to the far left or right of the text.
Definition
SetEditBoxCursorPosition( index, pos )
void agk::SetEditBoxCursorPosition( uint32_t index, int pos )
Parameters
index - The ID of the edit box to modify.
pos - The new position of the cursor
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxCursorWidth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxCursorWidth.htm
deleted file mode 100644
index 03b1e936..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxCursorWidth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxCursorWidth - AGK Help
-
-
-
-
-
-
-
Sets the width in world coordinates of the text input cursor, by default this is set to 1.5 Note that functions that change the text size or edit box size may overwrite this value.
Toggles the focus status of this edit box, when focus is set to 1 the cursor starts flashing and any key presses will add text to the edit box. When set to 0 the cursor disappears and text will not be added.
Definition
SetEditBoxFocus( index, focus )
void agk::SetEditBoxFocus( uint32_t index, int focus )
Parameters
index - The ID of the edit box to modify.
focus - The new state of the edit box, 1 for active, 0 for inactive.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxFont.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxFont.htm
deleted file mode 100644
index fbc49a4b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxFont.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxFont - AGK Help
-
-
-
-
-
-
-
Sets the type of keyboard that will appear on mobile devices when editing this edit box. Where possible a keyboard of that type will be displayed, for example a keyboard with numbers only.
Definition
SetEditBoxInputType( index, inputType )
void agk::SetEditBoxInputType( uint32_t index, int inputType )
Parameters
index - The ID of the edit box to modify.
inputType - 0 for normal text, 1 for numbers only.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxMaxChars.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxMaxChars.htm
deleted file mode 100644
index 662d6b6f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxMaxChars.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxMaxChars - AGK Help
-
-
-
-
-
-
-
Sets whether the edit box will wrap text to a new line when it reaches the edge of the edit box. The default is for multiline to be 0 so text is one continuous line in the box.
Definition
SetEditBoxMultiLine( index, multiline )
void agk::SetEditBoxMultiLine( uint32_t index, int multiline )
Parameters
index - The ID of the edit box to modify.
multiline - 1 to enable multiline, 0 to disable.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxPasswordMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxPasswordMode.htm
deleted file mode 100644
index 2f02bfd3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxPasswordMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxPasswordMode - AGK Help
-
-
-
-
-
-
-
Sets the position in world coordinates of the edit box using it's top left corner. This sets the position of the actual text entry box, its border will extend to the left and above this point.
Definition
SetEditBoxPosition( index, x, y )
void agk::SetEditBoxPosition( uint32_t index, float x, float y )
Parameters
index - The ID of the edit box to modify.
x - The X value of the position.
y - The Y value of the position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxScissor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxScissor.htm
deleted file mode 100644
index 22de44e5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxScissor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxScissor - AGK Help
-
-
-
-
-
-
-
Sets the size of the edit box in world coordinates. This sets the size of the actual text entry box, its border will extend beyond these values. SetEditBoxSize will make the text smaller if it is too tall for the new edit box height.
Sets the height in world coordinates of the text in this edit box. By default it is set to the edit box's height minus 2. SetEditBoxTextSize will not allow the text height to be set greater than the height of the edit box.
Sets whether the edit box will use an alternate text input method if the edit box would be hidden by a virtual keyboard. This only applies to mobile platforms like iOS and Android and the alternate input method is usually a smaller edit box placed just above the keyboard. The edit box will still update in real time as if it is being typed into directly, but since it is covered by the keyboard the user will not see it. By default this is turned on. If you wish you can turn it off and move the edit box into view when GetEditBoxHasFocus returns 1, be sure to move it back again when GetEditBoxHasFocus returns 0.
Definition
SetEditBoxUseAlternateInput( index, mode )
void agk::SetEditBoxUseAlternateInput( uint32_t index, int mode )
Parameters
index - The ID of the edit box to modify.
mode - 1 to use alternate input (default), 0 to use the normal input.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxVisible.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxVisible.htm
deleted file mode 100644
index 338ff038..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxVisible.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxVisible - AGK Help
-
-
-
-
-
-
-
Toggles the visible status of this edit box, when visible is set to 1 the edit box can be clicked on, gain focus and be changed, when set to 0 the edit box is not shown, cannot be changed, nor gain focus.
Definition
SetEditBoxVisible( index, visible )
void agk::SetEditBoxVisible( uint32_t index, int visible )
Parameters
index - The ID of the edit box to modify.
visible - The new state of the edit box, 1 for visible, 0 for invisible.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxWrapMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxWrapMode.htm
deleted file mode 100644
index 83a7549b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetEditBoxWrapMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetEditBoxWrapMode - AGK Help
-
-
-
-
-
-
-
When SetEditBoxMultiLine is set to 0 this command sets whether the single line of text will scroll to the right or wrap to a new line when it over flows the edit box width. The use will still not be allowed to enter new line characters themselves.
Definition
SetEditBoxWrapMode( index, mode )
void agk::SetEditBoxWrapMode( uint32_t index, int mode )
Parameters
index - The ID of the edit box to modify.
mode - 0 to scroll to the right (default), 1 to wrap to a new line.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickDeadZone.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickDeadZone.htm
deleted file mode 100644
index e45a1ba7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickDeadZone.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetJoystickDeadZone - AGK Help
-
-
-
-
-
-
-
Sets the dead zone for the universal joysticks so that any X or Y value below the given threshold will return 0 instead. This value must be between 0 and 1, by default it is set to 0.15.
Definition
SetJoystickDeadZone( threshold )
void agk::SetJoystickDeadZone( float threshold )
Parameters
threshold - The value below which 0 will be returned.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickScreenPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickScreenPosition.htm
deleted file mode 100644
index cb0ecf1c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetJoystickScreenPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetJoystickScreenPosition - AGK Help
-
-
-
-
-
-
-
The AGK joystick is an emulated input method that uses whatever device inputs are available to produce a joystick style input in the range -1 to 1. This command positions a virtual joystick on screen only if it is necessary to emulate this input. For example if a real joystick or keyboard are available then this command has no noticeable effect. It is recommended that you always call this command anyway if you intend to use GetJoystickX or GetJoystickY just incase a virtual joystick is needed. Any virtual joystick will be centered on the given X and Y position.
Definition
SetJoystickScreenPosition( x, y, size )
void agk::SetJoystickScreenPosition( float x, float y, float size )
Parameters
x - The X coordinate of the new position in screen coordinates.
y - The Y coordinate of the new position in screen coordinates.
size - The diameter of the joystick in screen coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetTextInputMaxChars.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetTextInputMaxChars.htm
deleted file mode 100644
index a200360c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetTextInputMaxChars.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextInputMaxChars - AGK Help
-
-
-
-
-
-
-
Sets whether the virtual will capture mouse and touch events. If set to 0 it will not capture input and will not update its pressed state, it will return to 0 (up). This will not affect the virtual button's visibility, use SetVirtualButtonVisible to change if it is visible.
Definition
SetVirtualButtonActive( index, active )
void agk::SetVirtualButtonActive( uint32_t index, int active )
Parameters
index - The ID of the virtual button to set.
active - 1 to accept input, 0 to deactivate it.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonAlpha.htm
deleted file mode 100644
index 24a2477a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualButtonAlpha - AGK Help
-
-
-
-
-
-
-
Sets the color of the virtual button at the given index. By default buttons are greyscale so that they can accept various colors. Colors should be specified in the range 0-255.
Sets the position of the virtual button in screen coordinates. You can use GetVirtualWidth and GetVirtualHeight to find the current bounds of the screen. The button will be centered on the given x and y position.
Definition
SetVirtualButtonPosition( index, x, y )
void agk::SetVirtualButtonPosition( uint32_t index, float x, float y )
Parameters
index - The ID of the virtual button to set.
x - The x coordinate of the new position in screen coordinates.
y - The y coordinate of the new position in screen coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonSize.htm
deleted file mode 100644
index 3f5d5cec..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualButtonSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualButtonSize - AGK Help
-
-
-
-
-
-
-
Sets whether the virtual is visible on screen, this does not affect its ability to accept input, use SetVirtualButtonActive to affect if a virtual button will accept input. An invisible button can still be active.
Definition
SetVirtualButtonVisible( index, visible )
void agk::SetVirtualButtonVisible( uint32_t index, int visible )
Parameters
index - The ID of the virtual button to set.
visible - 1 to show the button, 0 to hide it.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickActive.htm
deleted file mode 100644
index 68b51e6c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualJoystickActive - AGK Help
-
-
-
-
-
-
-
Sets whether the joystick will capture mouse and touch events. If set to 0 it will not capture input and will not update its X and Y values, they will return to 0. This will not affect the virtual joystick's visibility, use SetVirtualJoystickVisible to change if it is visible.
Definition
SetVirtualJoystickActive( index, active )
void agk::SetVirtualJoystickActive( uint32_t index, int active )
Parameters
index - The ID of the virtual joystick to set.
active - 1 to allow input, 0 to deactivate it.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickAlpha.htm
deleted file mode 100644
index f557e379..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualJoystickAlpha - AGK Help
-
-
-
-
-
-
-
Sets the transparency of the virtual joystick on screen. The virtual joystick is composed of two parts the inner movable part, and the outer static part. Alpha1 sets the transparency of the outer part in the range 0-255 with 255 being fully opaque. Alpha2 sets the transparency of the inner part in the range 0-255.
Sets the dead zone for all virtual joysticks so that any X or Y value below the given threshold will return 0 instead. This value must be between 0 and 1, by default it is set to 0.15.
Sets the position of the virtual joystick in screen coordinates. You can use GetVirtualWidth and GetVirtualHeight to find the current bounds of the screen. The joystick will be centered on the given x and y position. Moving a virtual joystick whilst it is in use will alter the current X and Y values being returned.
Definition
SetVirtualJoystickPosition( index, x, y )
void agk::SetVirtualJoystickPosition( uint32_t index, float x, float y )
Parameters
index - The ID of the virtual joystick to set.
x - The x coordinate of the new position.
y - The y coordinate of the new position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickSize.htm
deleted file mode 100644
index 702d1756..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/SetVirtualJoystickSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVirtualJoystickSize - AGK Help
-
-
-
-
-
-
-
Sets the diameter of the virtual joystick in screen coordinates. Resizing a virtual joystick whilst it is in use will alter the current X and Y values being returned.
Sets whether the joystick is visible on screen, this does not affect its ability to accept input, use SetVirtualJoystickActive to affect if a virtual joystick will accept input. An invisible joystick can still be active.
Definition
SetVirtualJoystickVisible( index, visible )
void agk::SetVirtualJoystickVisible( uint32_t index, int visible )
Parameters
index - The ID of the virtual joystick to set.
visible - 1 to display the joystick, 0 to hide it.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/StartTextInput.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/StartTextInput.htm
deleted file mode 100644
index 0baefb29..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/StartTextInput.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StartTextInput - AGK Help
-
-
-
-
-
-
-
This command pops up a text entry prompt over your app whilst your app continues in the background. Accepted characters are ASCII values in the range 32 to 126 inclusive, unless you have activated the new default fonts with UseNewDefaultFonts, in which case any Unicode characters can be used. If a virtual keyboard is required for text entry on this device then it will be displayed over your app. You cannot assume that any part of your app will be visible whilst text entry is in progress, although your code will continue running. When the user has finished entering text GetTextInputCompleted will return 1 and GetTextInputCancelled will let you know if they completed the text entry or cancelled it. On keyboard based devices cancelling is done with the escape key whilst completing is done with the enter key. If successful you can get the inputted text with GetTextInput.
Definition
StartTextInput( initial )
void agk::StartTextInput( const char* initial )
StartTextInput( )
void agk::StartTextInput( )
Parameters
initial - The initial string to display to the user that they can edit.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Input/StopTextInput.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Input/StopTextInput.htm
deleted file mode 100644
index 43d358f9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Input/StopTextInput.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopTextInput - AGK Help
-
-
-
-
-
-
-
Adds a new mesh to the object, constructed from the given memblock. The first 4 bytes of the memblock represent the number of vertices in the mesh. The second 4 bytes represent the number of indices in the mesh, this may be 0 in which case every three vertices represents a polygon, and no vertices can be shared. If the number of indices is greater than 0 then every three indices represent a polygon and vertices may be shared between polygons. Indices start at 0 so index 0 references the first vertex in the list. The third 4 bytes represents the number of attributes per vertex, e.g. position, normals, and UV data are all potential attributes, so a vertex containing all three would have 3 attributes. A vertex must have a position attribute, everything else is optional. The fourth 4 bytes represent the size of a single vertex in bytes, this can be calculated from the attribute data but is given for convenience. The fifth 4 bytes is offset for the beginning of the vertex data, so you can reach it easily. The sixth 4 bytes is offset for the beginning of the index data, will be 0 if there are no indices. After those 6 values, starting at offset 24, is the vertex attribute data. The vertex attribute data describes how the vertex data is laid out, for example if it has normals, UV data, etc. For each attribute there is a 1 byte data type, 1 byte component count, 1 byte normalize flag, 1 byte string length, and X bytes of string data for the attribute name. The data type will be 0 for floats (used for almost everything, e.g. position, normals, etc) or 1 for unsigned bytes (used for vertex colors). The component count is the number of values per attribute, e.g. position has 3 components, x,y,z, UV data has 2 components, and vertex colors have 4 components. Note that any unsigned byte data type must have 4 components even if some are unused. The normalize flag is only used for unsigned byte data types and will convert values in the range 0-255 into 0.0-1.0 for use in a shader. Usually the normalize flag will be 1 for color attributes and 0 for everything else. The string length byte must always be a multiple of 4 for alignment reasons, the string itself might have slightly less characters but always round up to the nearest multiple of 4 for the string length value. e.g. a string of length 5 should have a string length value of 8. Note that a string of 4 characters has a null terminator on the end which makes it length 5, so even though it has a multiple of 4 characters already it must use a length value of 8 due to the null terminator. The attribute name string will be used by the shader to recognise what the vertex data is, the attribute names recognised by AGK are "position", "normal", "tangent", "binormal", "color", "uv", "uv1", "boneweights", and "boneindices", however you may add attributes with any name you like as long as you write a matching shader that has the same names. If you are not using your own shader and instead rely on AGK to draw the object then you must stick to the above attribute names. Following the attribute data is the raw vertex data, which usually starts with the "position" attribute. It will be a 4 byte float for the X position, a 4 byte float for the Y position, and a 4 byte float for the Z position. This continues for each attribute specified in the attribute data. Note that color data will always be 4 bytes in total, 1 unsigned byte for each color channel. You can access individual vertices by using the vertex size provided above and the vertex index like so offset=vertexDataOffset+(vertexIndex*vertexSize). Lastly is the index data, if present. Each index is a 4 byte integer which references a vertex in the vertex data. Every three indices represents a polygon.
Creates a file from a memblock without any processing of the memblock data, the file will be a byte for byte copy of the memblock data. You can use relative paths in the file name to write to sub folders or use SetFolder to browse there first. You can use absolute paths by adding a forward slash to the beginning of the filename, in this case the folder set with SetFolder is ignored. For example /media/file.txt will place it in the media folder even if SetFolder was used to browse to /media/somefolder
Creates an image from a memblock. The memblock must exist, if the image exists it will be overwritten, if not it will be created. The first 4 bytes of the memlbock store the image width, the next 4 bytes store the image height, the next 4 bytes store the bit depth, currently this must be 32. After that the raw image data begins in the format RGBA, with each component stored in a single byte, so each pixel takes up 4 bytes. The size of the image data can be calculated by width*height*4 bytes (for now bit depth can be assumed to be 32 bits = 4 bytes). Note that due to little endian format writing the image data with bytes will result in offsets 0=R, 1=G, 2=B, 3=A, but writing them all as a single integer will be interpreted as a value with A as the most significant byte, followed by B, then G, then R as the least significant byte. The pixel data starts in the top left corner of the image an proceeds left to right then top to bottom resulting in the image being stored as a sequence of rows ending in the bottom right corner. This command uses a lot of GPU bandwidth so it is not recommended that this command be called every frame on large images.
Creates an image from a memblock. The memblock must exist, if the image exists it will be overwritten, if not it will be created. The memblock must contain a valid PNG file such as one loaded with CreateMemblockFromFile(memID, "image.png")
Creates a memblock from a file without any processing of the file data, the memblock will be a byte for byte copy of the file. Returns an ID that can be used to reference this memblock later. You can use relative paths in the file name to read from sub folders or use SetFolder to browse there first. You can use absolute paths by adding a forward slash to the beginning of the filename, in this case the folder set with SetFolder is ignored. For example /media/file.txt will read it from the media folder even if SetFolder was used to browse to /media/somefolder
Creates a memblock from a loaded image, atlas sub images are not supported. The image must exist and is unaffected by this command. The first 4 bytes of the memlbock store the image width, the next 4 bytes store the image height, the next 4 bytes store the bit depth, currently this will always be 32. After that the raw image data begins in the format RGBA, with each component stored in a single byte, so each pixel takes up 4 bytes. The size of the image data can be calculated by width*height*4 bytes (for now bit depth can be assumed to be 32 bits = 4 bytes). Note that due to little endian format reading the image data with bytes will return offsets 0=R, 1=G, 2=B, 3=A, but reading them all as a single integer will produce a value with A as the most significant byte, followed by B, then G, then R as the least significant byte. The pixel data starts in the top left corner of the image an proceeds left to right then top to bottom resulting in the image being stored as a sequence of rows ending in the bottom right corner. Returns an ID that can be used to reference this memblock in other commands.
Creates a memblock from an object mesh. An object can contain one or more meshes, mesh indices are in the range 1 to GetObjectNumMeshes inclusive. The mesh is copied into the memblock so any changes to the memblock do not immediately affect the mesh, you must use one of the other commands such as SetObjectMeshFromMemblock to copy the memblock back into a mesh. The first 4 bytes of the memblock represent the number of vertices in the mesh. The second 4 bytes represent the number of indices in the mesh, this may be 0 in which case every three vertices represents a polygon, and no vertices can be shared. If the number of indices is greater than 0 then every three indices represent a polygon and vertices may be shared between polygons. Indices start at 0 so index 0 references the first vertex in the list. The third 4 bytes represents the number of attributes per vertex, e.g. position, normals, and UV data are all potential attributes, so a vertex containing all three would have 3 attributes. A vertex must have a position attribute, everything else is optional. The fourth 4 bytes represent the size of a single vertex in bytes, this can be calculated from the attribute data but is given for convenience. The fifth 4 bytes is offset for the beginning of the vertex data, so you can reach it easily. The sixth 4 bytes is offset for the beginning of the index data, will be 0 if there are no indices. After those 6 values, starting at offset 24, is the vertex attribute data. The vertex attribute data describes how the vertex data is laid out, for example if it has normals, UV data, etc. For each attribute there is a 1 byte data type, 1 byte component count, 1 byte normalize flag, 1 byte string length, and X bytes of string data for the attribute name. The data type will be 0 for floats (used for almost everything, e.g. position, normals, etc) or 1 for unsigned bytes (used for vertex colors). The component count is the number of values per attribute, e.g. position has 3 components, x,y,z, UV data has 2 components, and vertex colors have 4 components. Note that any unsigned byte data type must have 4 components even if some are unused. The normalize flag is only used for unsigned byte data types and will convert values in the range 0-255 into 0.0-1.0 for use in a shader. Usually the normalize flag will be 1 for color attributes and 0 for everything else. The string length byte will always be a multiple of 4 to simplify alignment issues, the string itself might have slightly less characters and be padded with null terminators, but read all the bytes specified and you will get the correct length string. The attribute name string will be used by the shader to recognise what the vertex data is, the attribute names recognised by AGK are "position", "normal", "tangent", "binormal", "color", "uv", "uv1", "boneweights", and "boneindices", however you may add attributes with any name you like as long as you write a matching shader that has the same names. If you are not using your own shader and instead rely on AGK to draw the object then you must stick to the above attribute names. Following the attribute data is the raw vertex data, which usually starts with the "position" attribute. It will be a 4 byte float for the X position, a 4 byte float for the Y position, and a 4 byte float for the Z position. This continues for each attribute specified in the attribute data. Note that color data will always be 4 bytes in total, 1 unsigned byte for each color channel. You can access individual vertices by using the vertex size provided above and the vertex index like so offset=vertexDataOffset+(vertexIndex*vertexSize). Lastly is the index data, if present. Each index is a 4 byte integer which references a vertex in the vertex data. Every three indices represents a polygon. If you plan on making regular changes to the mesh you should keep the memblock around after using SetObjectMeshFromMemblock instead of regenerating from the object it everytime you want to make a change. Then call SetObjectMeshFromMemblock again when you want to push your new changes onto the object.
Creates a memblock from a loaded sound file. The sound file must have been loaded with LoadSound and is unaffected by this command. The first 2 bytes of the memlbock store the number of channels (1 or 2 supported), the next 2 bytes store the bits per sample (8 or 16 supported), the next 4 bytes store the samples per second, for example 44100. The next 4 bytes are the number of frames in the sound data, the size of the sound data in bytes can be calculated from this with the formula numFrames*(bitsPerSample/8)*channels. In a 2 channel sound a frame contains 2 samples, one for each channel. In a mono sound a frame contains 1 sample. The rest of the memblock is raw sound data, for example in an 8bit stereo sound with 3 frames the raw data would look like this. byte offset 0 = Frame 1, left channel data byte offset 1 = Frame 1, right channel data byte offset 2 = Frame 2, left channel data byte offset 3 = Frame 2, right channel data byte offset 4 = Frame 3, left channel data byte offset 5 = Frame 3, right channel data The duration of the sound can be calculated with the following formula, numFrames/samplesPerSecond. This command does not work with sound instance IDs, only sound file IDs. Returns an ID that can be used to reference this memblock in other commands.
Creates a music entity from a memblock. The memblock must exist. This will create a new music ID and return it The memblock must contain a valid OGG file such as one loaded with CreateMemblockFromFile(memID, "music.ogg")
Creates an object with a single mesh constructed from the given memblock. Any subsequent changes to the memblock will not affect the mesh, you should call SetObjectMeshFromMemblock to modify an existing mesh. The first 4 bytes of the memblock represent the number of vertices in the mesh. The second 4 bytes represent the number of indices in the mesh, this may be 0 in which case every three vertices represents a polygon, and no vertices can be shared. If the number of indices is greater than 0 then every three indices represent a polygon and vertices may be shared between polygons. Indices start at 0 so index 0 references the first vertex in the list. The third 4 bytes represents the number of attributes per vertex, e.g. position, normals, and UV data are all potential attributes, so a vertex containing all three would have 3 attributes. A vertex must have a position attribute, everything else is optional. The fourth 4 bytes represent the size of a single vertex in bytes, this can be calculated from the attribute data but is given for convenience. The fifth 4 bytes is offset for the beginning of the vertex data, so you can reach it easily. The sixth 4 bytes is offset for the beginning of the index data, will be 0 if there are no indices. After those 6 values, starting at offset 24, is the vertex attribute data. The vertex attribute data describes how the vertex data is laid out, for example if it has normals, UV data, etc. For each attribute there is a 1 byte data type, 1 byte component count, 1 byte normalize flag, 1 byte string length, and X bytes of string data for the attribute name. The data type will be 0 for floats (used for almost everything, e.g. position, normals, etc) or 1 for unsigned bytes (used for vertex colors). The component count is the number of values per attribute, e.g. position has 3 components, x,y,z, UV data has 2 components, and vertex colors have 4 components. Note that any unsigned byte data type must have 4 components even if some are unused. The normalize flag is only used for unsigned byte data types and will convert values in the range 0-255 into 0.0-1.0 for use in a shader. Usually the normalize flag will be 1 for color attributes and 0 for everything else. The string length byte must always be a multiple of 4 for alignment reasons, the string itself might have slightly less characters but always round up to the nearest multiple of 4 for the string length value. e.g. a string of length 5 should have a string length value of 8. Note that a string of 4 characters has a null terminator on the end which makes it length 5, so even though it has a multiple of 4 characters already it must use a length value of 8 due to the null terminator. The attribute name string will be used by the shader to recognise what the vertex data is, the attribute names recognised by AGK are "position", "normal", "tangent", "binormal", "color", "uv", "uv1", "boneweights", and "boneindices", however you may add attributes with any name you like as long as you write a matching shader that has the same names. If you are not using your own shader and instead rely on AGK to draw the object then you must stick to the above attribute names. Following the attribute data is the raw vertex data, which usually starts with the "position" attribute. It will be a 4 byte float for the X position, a 4 byte float for the Y position, and a 4 byte float for the Z position. This continues for each attribute specified in the attribute data. Note that color data will always be 4 bytes in total, 1 unsigned byte for each color channel. You can access individual vertices by using the vertex size provided above and the vertex index like so offset=vertexDataOffset+(vertexIndex*vertexSize). Lastly is the index data, if present. Each index is a 4 byte integer which references a vertex in the vertex data. Every three indices represents a polygon.
Creates an sound from a memblock. The memblock must exist, this creates a new sound and returns the ID. This will not affect any sound instances already playing, only future ones. The first 2 bytes of the memlbock store the number of channels (1 or 2 supported), the next 2 bytes store the bits per sample (8 or 16 supported), the next 4 bytes store the samples per second, for example 44100. The next 4 bytes are the number of frames in the sound data, the size of the sound data in bytes can be calculated from this with the formula numFrames*(bitsPerSample/8)*channels. In a 2 channel sound a frame contains 2 samples, one for each channel. In a mono sound a frame contains 1 sample. The rest of the memblock is raw sound data, for example in an 8bit stereo sound with 3 frames the raw data would look like this. byte offset 0 = Frame 1, left channel data byte offset 1 = Frame 1, right channel data byte offset 2 = Frame 2, left channel data byte offset 3 = Frame 2, right channel data byte offset 4 = Frame 3, left channel data byte offset 5 = Frame 3, right channel data Returns the ID of the new sound.
Creates an sound from a memblock. The memblock must exist, this creates a new sound and returns the ID. This will not affect any sound instances already playing, only future ones. The memblock must contain a valid OGG file such as one loaded with CreateMemblockFromFile(memID, "sound.ogg")
Returns the byte value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. The returned value will be an unsigned byte between 0 and 255.
Definition
integer GetMemblockByte( memID, offset )
int agk::GetMemblockByte( uint32_t memID, uint32_t offset )
Parameters
memID - The ID of the memblock to check.
offset - The offset from the start of the memblock of the value to return, between 0 and size.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockByteSigned.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockByteSigned.htm
deleted file mode 100644
index e9b978a0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockByteSigned.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMemblockByteSigned - AGK Help
-
-
-
-
-
-
-
Returns the byte value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. The returned value will be a signed byte between -128 and 127.
Definition
integer GetMemblockByteSigned( memID, offset )
int agk::GetMemblockByteSigned( uint32_t memID, uint32_t offset )
Parameters
memID - The ID of the memblock to check.
offset - The offset from the start of the memblock of the value to return, between 0 and size.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockExists.htm
deleted file mode 100644
index 7510b7af..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMemblockExists - AGK Help
-
-
-
-
-
-
-
Returns the float (4 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 4 because reading float values that are not aligned to 4 byte boundaries incurs a hardware performance penalty. Float values are stored in IEEE 754 format so writing an float and then reading it back in bytes would return various components of the float format.
Returns the int (4 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 4 because reading integer values that are not aligned to 4 byte boundaries incurs a hardware performance penalty. Int values are stored in little endian format so writing an int of 23 at offset 0 and then reading it back in bytes would return the byte at offset 0 as 23, the byte at offset 1 as 0, the byte at offset 2 as 0, and the byte at offset 3 as 0. The returned value will be a signed integer between -2,147,483,648 and 2,147,483,647.
Definition
integer GetMemblockInt( memID, offset )
int agk::GetMemblockInt( uint32_t memID, uint32_t offset )
Parameters
memID - The ID of the memblock to check.
offset - The offset from the start of the memblock of the value to return, between 0 and size.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSHA1.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSHA1.htm
deleted file mode 100644
index 710e4439..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSHA1.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMemblockSHA1 - AGK Help
-
-
-
-
-
-
-
Returns the short (2 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 2 because reading short values that are not aligned to 2 byte boundaries incurs a hardware performance penalty. Short values are stored in little endian format so writing a short of 23 at offset 0 and then reading it back in bytes would return the byte at offset 0 as 23 and the byte at offset 1 as 0. The returned value will be a signed short between -32768 and 32767.
Definition
integer GetMemblockShort( memID, offset )
int agk::GetMemblockShort( uint32_t memID, uint32_t offset )
Parameters
memID - The ID of the memblock to check.
offset - The offset from the start of the memblock of the value to return, between 0 and size.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSize.htm
deleted file mode 100644
index 7634488c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/GetMemblockSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMemblockSize - AGK Help
-
-
-
-
-
-
-
Returns a given number of bytes at the given offset and interprets them as a string. The offset plus length must be less than the size of the memblock. The first value is at offset 0. The string will be null terminated even if no null terminator is found in the memblock. If a null terminator occurs before length is reached then all the bytes will still be read, but only the characters up to the first null terminator will be accessible in AGK. If you are using tier 2 you must delete the pointer returned from this function.
Provides a quick way to get the alpha value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the color values.
Provides a quick way to get the blue value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the color values.
Provides a quick way to get the green value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the color values.
Provides a quick way to get the X component of the normal of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the normal values.
Provides a quick way to get the Y component of the normal of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the normal values.
Provides a quick way to get the Z component of the normal of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the normal values.
Provides a quick way to get the red value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the color values.
Provides a quick way to get the U value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the UV values.
Provides a quick way to get the V value of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the UV values.
Provides a quick way to get the X position of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the position values.
Provides a quick way to get the Y position of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the position values.
Provides a quick way to get the Z position of the specified vertex from the memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and the location of the position values.
Writes a single byte value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. The given value will be truncated to the range 0 and 255.
Definition
SetMemblockByte( memID, offset, value )
void agk::SetMemblockByte( uint32_t memID, uint32_t offset, int value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The value to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockByteSigned.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockByteSigned.htm
deleted file mode 100644
index 9dbaaa96..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockByteSigned.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMemblockByteSigned - AGK Help
-
-
-
-
-
-
-
Writes a single byte value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. The given value will be truncated to the range -128 and 127.
Definition
SetMemblockByteSigned( memID, offset, value )
void agk::SetMemblockByteSigned( uint32_t memID, uint32_t offset, int value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The value to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockFloat.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockFloat.htm
deleted file mode 100644
index b8ba1e9c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockFloat.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMemblockFloat - AGK Help
-
-
-
-
-
-
-
Write a float (4 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 4 because writing float values that are not aligned to 4 byte boundaries incurs a hardware performance penalty. Float values are stored in IEEE 754 format so writing an float and then reading it back in bytes would return various components of the float format.
Definition
SetMemblockFloat( memID, offset, value )
void agk::SetMemblockFloat( uint32_t memID, uint32_t offset, float value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The value to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockInt.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockInt.htm
deleted file mode 100644
index acff2528..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockInt.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMemblockInt - AGK Help
-
-
-
-
-
-
-
Writes an int (4 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 4 because writing integer values that are not aligned to 4 byte boundaries incurs a hardware performance penalty. Int values are stored in little endian format so writing an int of 23 at offset 0 and then reading it back in bytes would return the byte at offset 0 as 23, the byte at offset 1 as 0, the byte at offset 2 as 0, and the byte at offset 3 as 0.
Definition
SetMemblockInt( memID, offset, value )
void agk::SetMemblockInt( uint32_t memID, uint32_t offset, int value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The value to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockShort.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockShort.htm
deleted file mode 100644
index 53fd777d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockShort.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMemblockShort - AGK Help
-
-
-
-
-
-
-
Writes a short (2 byte) value at the given offset. The offset must be less than the size of the memblock. The first value is at offset 0. For best performance the offset should be a multiple of 2 because writing short values that are not aligned to 2 byte boundaries incurs a hardware performance penalty. Short values are stored in little endian format so writing a short of 23 at offset 0 and then reading it back in bytes would return the byte at offset 0 as 23 and the byte at offset 1 as 0. The given value will be truncated to the range -32768 and 32767.
Definition
SetMemblockShort( memID, offset, value )
void agk::SetMemblockShort( uint32_t memID, uint32_t offset, int value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The value to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockString.htm
deleted file mode 100644
index b1986c6a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMemblockString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMemblockString - AGK Help
-
-
-
-
-
-
-
Writes a string to a memblock as raw bytes. The first null terminator found will end the string and a single null terminator will be written to the memblock data. To read the string out of the memblock again you will need to know its length, so it is recommended that you also write a string length value before the string data to help read the string back later. The offset plus the length of the string, plus 1 for the null terminator, must be less than the memblock size.
Definition
SetMemblockString( memID, offset, value )
void agk::SetMemblockString( uint32_t memID, uint32_t offset, const char* value )
Parameters
memID - The ID of the memblock to modify.
offset - The offset from the start of the memblock to write to, between 0 and size.
value - The string to write.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexColor.htm
deleted file mode 100644
index f1349cb9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMeshMemblockVertexColor - AGK Help
-
-
-
-
-
-
-
Provides a quick way to modify the color values of a vertex inside a mesh memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and change the color values. Vertices start at index 0. Color values must be between 0 and 255.
Provides a quick way to modify the normal of a vertex inside a mesh memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and change the normal values. Vertices start at index 0.
Definition
SetMeshMemblockVertexNormal( memID, vertexIndex, x, y, z )
void agk::SetMeshMemblockVertexNormal( uint32_t memID, uint32_t vertexIndex, float x, float y, float z )
Parameters
memID - The ID of the memblock to modify
vertexIndex - The index of the vertex to modify
x - The X component of the new normal for this vertex
y - The Y component of the new normal for this vertex
z - The Z component of the new normal for this vertex
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexPosition.htm
deleted file mode 100644
index ce7bf63f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMeshMemblockVertexPosition - AGK Help
-
-
-
-
-
-
-
Provides a quick way to modify the position of a vertex inside a mesh memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and change the position values. Vertices start at index 0.
Definition
SetMeshMemblockVertexPosition( memID, vertexIndex, x, y, z )
void agk::SetMeshMemblockVertexPosition( uint32_t memID, uint32_t vertexIndex, float x, float y, float z )
Parameters
memID - The ID of the memblock to modify
vertexIndex - The index of the vertex to modify
x - The new X position for this vertex
y - The new Y position for this vertex
z - The new Z position for this vertex
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexUV.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexUV.htm
deleted file mode 100644
index 447d12d6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetMeshMemblockVertexUV.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMeshMemblockVertexUV - AGK Help
-
-
-
-
-
-
-
Provides a quick way to modify the UV values of a vertex inside a mesh memblock. It uses the attribute data from the beginning of the memblock to work out the vertex offset and change the UV values. Vertices start at index 0.
Definition
SetMeshMemblockVertexUV( memID, vertexIndex, u, v )
void agk::SetMeshMemblockVertexUV( uint32_t memID, uint32_t vertexIndex, float u, float v )
Parameters
memID - The ID of the memblock to modify
vertexIndex - The index of the vertex to modify
u - The new U value for this vertex
v - The new V value for this vertex
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetObjectMeshFromMemblock.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetObjectMeshFromMemblock.htm
deleted file mode 100644
index 5e665d72..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Memblock/SetObjectMeshFromMemblock.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetObjectMeshFromMemblock - AGK Help
-
-
-
-
-
-
-
Changes an object's mesh based on the memblock provided. The memblock need not have the same number of attributes or vertices as the original mesh, but it will improve performance if it does. The first 4 bytes of the memblock represent the number of vertices in the mesh. The second 4 bytes represent the number of indices in the mesh, this may be 0 in which case every three vertices represents a polygon, and no vertices can be shared. If the number of indices is greater than 0 then every three indices represent a polygon and vertices may be shared between polygons. Indices start at 0 so index 0 references the first vertex in the list. The third 4 bytes represents the number of attributes per vertex, e.g. position, normals, and UV data are all potential attributes, so a vertex containing all three would have 3 attributes. A vertex must have a position attribute, everything else is optional. The fourth 4 bytes represent the size of a single vertex in bytes, this can be calculated from the attribute data but is given for convenience. The fifth 4 bytes is offset for the beginning of the vertex data, so you can reach it easily. The sixth 4 bytes is offset for the beginning of the index data, will be 0 if there are no indices. After those 6 values, starting at offset 24, is the vertex attribute data. The vertex attribute data describes how the vertex data is laid out, for example if it has normals, UV data, etc. For each attribute there is a 1 byte data type, 1 byte component count, 1 byte normalize flag, 1 byte string length, and X bytes of string data for the attribute name. The data type will be 0 for floats (used for almost everything, e.g. position, normals, etc) or 1 for unsigned bytes (used for vertex colors). The component count is the number of values per attribute, e.g. position has 3 components, x,y,z, UV data has 2 components, and vertex colors have 4 components. Note that any unsigned byte data type must have 4 components even if some are unused. The normalize flag is only used for unsigned byte data types and will convert values in the range 0-255 into 0.0-1.0 for use in a shader. Usually the normalize flag will be 1 for color attributes and 0 for everything else. The string length byte must always be a multiple of 4 for alignment reasons, the string itself might have slightly less characters but always round up to the nearest multiple of 4 for the string length value. e.g. a string of length 5 should have a string length value of 8. Note that a string of 4 characters has a null terminator on the end which makes it length 5, so even though it has a multiple of 4 characters already it must use a length value of 8 due to the null terminator. The attribute name string will be used by the shader to recognise what the vertex data is, the attribute names recognised by AGK are "position", "normal", "tangent", "binormal", "color", "uv", "uv1", "boneweights", and "boneindices", however you may add attributes with any name you like as long as you write a matching shader that has the same names. If you are not using your own shader and instead rely on AGK to draw the object then you must stick to the above attribute names. Following the attribute data is the raw vertex data, which usually starts with the "position" attribute. It will be a 4 byte float for the X position, a 4 byte float for the Y position, and a 4 byte float for the Z position. This continues for each attribute specified in the attribute data. Note that color data will always be 4 bytes in total, 1 unsigned byte for each color channel. You can access individual vertices by using the vertex size provided above and the vertex index like so offset=vertexDataOffset+(vertexIndex*vertexSize). Lastly is the index data, if present. Each index is a 4 byte integer which references a vertex in the vertex data. Every three indices represents a polygon. If you plan on making regular changes to the mesh you should keep the memblock around after using SetObjectMeshFromMemblock instead of regenerating from the object it everytime you want to make a change. Then call SetObjectMeshFromMemblock again when you want to push your new changes onto the object.
Adds an unsigned byte to a previously created network message. This can be called on messages created by CreateNetworkMessage or on messages received from the network.
Definition
AddNetworkMessageByte( iMsgID, value )
void agk::AddNetworkMessageByte( uint32_t iMsgID, uint32_t value )
Parameters
iMsgID - The ID of the message to modify.
value - The value to add to the message.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageFloat.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageFloat.htm
deleted file mode 100644
index be2ccb5f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageFloat.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-AddNetworkMessageFloat - AGK Help
-
-
-
-
-
-
-
Adds a float to a previously created network message. This can be called on messages created by CreateNetworkMessage or on messages received from the network.
Definition
AddNetworkMessageFloat( iMsgID, value )
void agk::AddNetworkMessageFloat( uint32_t iMsgID, float value )
Parameters
iMsgID - The ID of the message to modify.
value - The value to add to the message.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageInteger.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageInteger.htm
deleted file mode 100644
index 59aa5d9c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageInteger.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-AddNetworkMessageInteger - AGK Help
-
-
-
-
-
-
-
Adds an integer to a previously created network message. This can be called on messages created by CreateNetworkMessage or on messages received from the network.
Definition
AddNetworkMessageInteger( iMsgID, value )
void agk::AddNetworkMessageInteger( uint32_t iMsgID, int value )
Parameters
iMsgID - The ID of the message to modify.
value - The value to add to the message.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageString.htm
deleted file mode 100644
index 316bb234..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/AddNetworkMessageString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-AddNetworkMessageString - AGK Help
-
-
-
-
-
-
-
Adds a string to a previously created network message. This can be called on messages created by CreateNetworkMessage or on messages received from the network.
Creates a socket and attempts to connect to the specified IP address. This will create a TCP connection that you can then use to send and receive data. This command will return immediately and connect in the background, you should use GetSocketConnected to check if the socket connects successfully or fails. You should give a timeout value that is long enough for the socket to connect, typically 3000 milliseconds is a good value, but high latency connections might need longer. If the connection times out then this command will return 0. The port number must match the listening port of the device you are connecting to.
This works slightly differently when exported to HTML5, it uses a WebSocket which sends an HTTP style header and requires an HTTP style response to connect.
Creates a network message that is a copy of an existing message. It returns an ID that can be used to interact with the message. Messages created in this way can read from the beginning or added to, and the source messsage can be either a message you have created, or one you have received. The new message becomes completely independent of the source message and can be sent using SendNetworkMessage without affecting the original.
Broadcasts are special network communications as they do not use a destination address and are instead received by all devices on a network. Broadcast packets are not forwarded by routers so can only be used on the local area network, or more specifically the local subnet. This can be useful for discovering devices as one device can send a broadcast packet containing its IP address and another device can pick it up, read the IP and connect back to the first device to create a two-way connection.
Warning, if the device listening for broadcasts is an iOS device then it may not be able to receive broadcast packets without permission from Apple. As of writing receiving is still allowed but sending requires permission from Apple, this may change in future
AGK networks are broadcast in this manner on port 45631 and send a packet containing the name of a network that has been hosted by another AGK device. By using a broadcast listener you can pick these messages up, extract the network names and display them to the user for them to choose which network they want to connect to.
If the device is on an IPv6 network then these rules change slightly. CreateBroadcastListener must be called with a multicast address, which begins with ff, for example ff02::1 and the broadcast listener will only receive packets sent to this multicast address. If no address is specified then the broadcaster will only receive IPv4 broadcasts. If you pass the address "anyip6" then the broadcast listener will listen on the AGK multicast address "FF02::41:474B" which is used for named network discovery on port 45631.
Returns an ID you can use to interact with this broadcast listener.
Definition
integer CreateBroadcastListener( szIP, port )
uint32_t agk::CreateBroadcastListener( const char *szIP, uint32_t port )
integer CreateBroadcastListener( port )
uint32_t agk::CreateBroadcastListener( uint32_t port )
Parameters
szIP - The multicast IP to listen for, only applies to IPv6 networks, if left empty then it will listen for IPv4 broadcasts.
port - The port that the messages are being broadcast on, in the case of AGK networks this will be port 45631.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateNetworkMessage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateNetworkMessage.htm
deleted file mode 100644
index a74b366d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateNetworkMessage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateNetworkMessage - AGK Help
-
-
-
-
-
-
-
Creates a network message that can be sent to another network device. It returns an ID that can be used to interact with the message. Messages created in this way can only be added to, not read from. Once passed to a network the message ID is destroyed and handled by the background network code.
Definition
integer CreateNetworkMessage( )
uint32_t agk::CreateNetworkMessage( )
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateSocketListener.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateSocketListener.htm
deleted file mode 100644
index 91df4471..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateSocketListener.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateSocketListener - AGK Help
-
-
-
-
-
-
-
Creates a socket listener that listens on a specified port for incoming socket connections. When a connection occurs it will be held in a queue until you retrieve it with GetSocketListenerConnection. If you want to reject a connection you must retrieve it and then delete it. The listener will continue accepting connections until it is deleted. If your device has multiple network interfaces then you can specify which one to listen on by using the IP address parameter. To listen on all interfaces use an empty string as the IP address.
If the device has both IPv4 and IPv6 addresses then the listener can only listen on one or the other, not both. To listen for both IPv4 and IPv6 connections you need to create two listeners, one for the IPv4 connections and one for the IPv6 connections. Connections from either will behave exactly the same after they are connected. To create an IPv6 listener pass an IPv6 IP address to CreateSocketListener, or "anyip6" to listen on any suitable IPv6 address. If you pass an empty string or "anyip4" as the IP address then it will listen for IPv4 connections.
You can have multiple listeners active at the same time, but they must all use different ports or IPs.
When choosing a port number you should avoid low values as these will frequently be used by other apps and services. If something is already listening on a port then your attempt to listen on it will fail. Returns 0 if it failed to start listening.
Definition
integer CreateSocketListener( listenerID, szIP, port )
int agk::CreateSocketListener( uint32_t listenerID, const char *szIP, int port )
integer CreateSocketListener( szIP, port )
uint32_t agk::CreateSocketListener( const char *szIP, int port )
Parameters
listenerID - An ID to use to reference this listener in the future
szIP - The IP address of the interface to listen on, can be IPv4 or IPv6, or "anyip4", or "anyip6"
port - The TCP port to listen on, in the range 1025 to 65535
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateUDPListener.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateUDPListener.htm
deleted file mode 100644
index 705f642f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/CreateUDPListener.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateUDPListener - AGK Help
-
-
-
-
-
-
-
Creates a UDP listener that will recieve UDP packets on the specified IP and port. The port value must be in the range 1 to 65535, although values below 1024 are likely to be protected by the operating system. If the port is already occupied then this command will fail and return 0. The IP address may be an IPv4 or IPv6 address, and can be used to bind to a single incomming network connection when a device has more than one IP. To bind to any IP address use the IP address "anyip4" or "anyip6". A single UDP listener can listen on either an IPv4 or an IPv6 address, but not both at the same time. To listen on both you should create two listeners, one for IPv4 and one for IPv6, in this case they may both use the same port. This command will return the ID of the listener that you can use to reference it in future commands.
Definition
integer CreateUDPListener( listenerID, ip, port )
int agk::CreateUDPListener( uint32_t listenerID, const char* ip, int port )
integer CreateUDPListener( ip, port )
uint32_t agk::CreateUDPListener( const char* ip, int port )
Parameters
listenerID - The ID to use to reference this listener in future.
ip - The local IP address to bind to.
port - The local port to bind to.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteBroadcastListener.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteBroadcastListener.htm
deleted file mode 100644
index f2439b5e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteBroadcastListener.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteBroadcastListener - AGK Help
-
-
-
-
-
-
-
Deletes a disconnected client from the client list. If this function is called on a client that is not disconnected it will produce an error and not affect the client. Does not delete the client immediately, the background code may take a few frames to get around to deleting it. Calling this command multiple times on a disconnected client should not cause a problem.
Deletes a network message, this should be called on messages received from network devices and messages that have not been sent to a network device (if code decides to back out of sending a message). Messages that have been created and sent will be handled and deleted by the network code and should not be deleted using this command.
Definition
DeleteNetworkMessage( iMsgID )
void agk::DeleteNetworkMessage( uint32_t iMsgID )
Parameters
iMsgID - The ID of the message to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteSocket.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteSocket.htm
deleted file mode 100644
index 99e96986..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/DeleteSocket.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteSocket - AGK Help
-
-
-
-
-
-
-
Stops the socket listener from receiving connections and frees the ID to be used again. If any connections are still in the queue and have yet to be collected using GetSocketListenerConnection then they will be closed and deleted.
Immediately sends any waiting data to the remote host. If you do not call this then data will will wait forever in the buffer until you write more than 1400 bytes to the socket, at which point it will automatically be flushed. Every time you call this command a new packet will be sent, so when you are sending multiple values you should not call it after each value, as that would waste network bandwidth. You should write all the values and then flush so they will be sent together. If there is no data waiting to be sent this command does nothing. Returns 1 if the socket was successfully flushed, 0 if the socket disconnected.
Definition
integer FlushSocket( socketID )
int agk::FlushSocket( uint32_t socketID )
Parameters
socketID - The ID of the socket to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetBroadcastMessage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetBroadcastMessage.htm
deleted file mode 100644
index 1ebded03..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetBroadcastMessage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetBroadcastMessage - AGK Help
-
-
-
-
-
-
-
Checks a broadcast listener for any broadcasts. Returns 0 if nothing has been received. Returns a message ID if something has been received, you can access the contents of this message using network message commands. The message must be deleted when you have finished reading from it.
Definition
integer GetBroadcastMessage( iID )
uint32_t agk::GetBroadcastMessage( uint32_t iID )
Parameters
iID - The ID of the broadcast listener to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIP.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIP.htm
deleted file mode 100644
index c9a551cd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIP.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceIP - AGK Help
-
-
-
-
-
-
-
Returns the IPv4 address of the current device, this can be used by other devices to connect to this device. To get the IPv6 address use GetDeviceIPv6 instead.
Definition
string GetDeviceIP()
char* agk::GetDeviceIP()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIPv6.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIPv6.htm
deleted file mode 100644
index 98098a79..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetDeviceIPv6.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetDeviceIPv6 - AGK Help
-
-
-
-
-
-
-
Returns the IPv6 address of the current device, this can be used by other devices to connect to this device. To get the IPv4 address use GetDeviceIP instead.
Definition
string GetDeviceIPv6()
char* agk::GetDeviceIPv6()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientDisconnected.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientDisconnected.htm
deleted file mode 100644
index 8f44c649..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientDisconnected.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNetworkClientDisconnected - AGK Help
-
-
-
-
-
-
-
Checks whether the specified client has disconnected. Disconnected clients are not automatically removed from the client list, allowing you to handle their clean up properly. Once you have dealt with this client you must remove it from the client list by calling DeleteNetworkClient. The client may persist for a little while until the background network code gets around to actually deleting it so be prepared for this client to hang around for a few frames declaring that it is disconnected and make sure you only clean it up once. You can detect this by setting one of the SetNetworkClientUserData values to notify yourself that it has been dealt with.
Gets a copy of a remote client's float variable by name. Can also be used on the client's own variables if the clientID equals GetNetworkMyClientID. If the variable was set as a resetting variable it will return to 0 once read, this does not affect other clients ability to read the original value. They will each reset their own copy.
If the specified client has not set a variable of the given name the value 0 is returned.
Definition
float GetNetworkClientFloat( iNetID, client, name )
Gets a copy of a remote client's integer variable by name. Can also be used on the client's own variables if the clientID equals GetNetworkMyClientID. If the variable was set as a resetting variable it will return to 0 once read, this does not affect other clients ability to read the original value. They will each reset their own copy.
If the specified client has not set a variable of the given name the value 0 is returned.
Definition
integer GetNetworkClientInteger( iNetID, client, name )
int agk::GetNetworkClientInteger( uint32_t iNetID, uint32_t client, const char *name )
Parameters
iNetID - The ID of the network to check.
client - The ID of the client to check.
name - The name of the variable to return.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientName.htm
deleted file mode 100644
index 55e6ee06..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkClientName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNetworkClientName - AGK Help
-
-
-
-
-
-
-
Returns the ping between the given client and the host. To get the total transit time of data from one client to another you must add the two ping times for both clients together as all data goes via the host. If you use the host's client ID it will return 0 as the host has no ping to itself. The value returned is in seconds as a floating point value.
Returns the Client ID of the first client in the client list. Use this function to start going through the list of clients and continue with GetNetworkNextClient until it returns 0. It is very important that once this command is called GetNetworkNextClient is called until it returns 0 as the background network code cannot continue until it knows you are finished with the client list.
The local client will also be returned at some point, which can be detected by comparing the returned ID with GetNetworkMyClientID. The host client will also be returned at some point which can be detected by comparing the returned ID with GetNetworkServerID.
Check the network for any messages sent to this client. If none are found it returns 0. If a message is found it returns a message ID you can use to read the message. You must delete the message using DeleteNetworkMessage when you are done reading it. You should keep calling GetNetworkMessage until it returns 0 to make sure you have received all the messages. You can use the message reading commands to find out which client ID sent the message.
Gets a single unsigned byte from the message and advances the message pointer to the next message item. Messages should be created and read according to known formats, e.g. string, int, string as there is no immediate way for the receiver to know the format of a message. You could use an initial integer to specify a message type ID which you can use to identify the message format.
Gets a single float from the message and advances the message pointer to the next message item. Messages should be created and read according to known formats, e.g. string, int, string as there is no immediate way for the receiver to know the format of a message. You could use an initial integer to specify a message type ID which you can use to identify the message format.
Returns the client ID that sent this message. Only applicable to messages received from networks, broadcast listener and UDP messages will return 0 for this function. It will also return 0 for messages created using CreateNetworkMessage.
Returns the IP that sent this message. Only applicable to messages received from UDP and broadcast listeners, network messages will return an empty string for this function. It will also return an empty string for messages created using CreateNetworkMessage. This could be an IPv4 or IPv6 address.
Returns the source port that was used by this message. Only applicable to messages received from UDP and broadcast listeners, network messages will return 0 for this function. It will also return 0 for messages created using CreateNetworkMessage. This will be in the range 0 to 65535.
Definition
integer GetNetworkMessageFromPort( iMsgID )
int agk::GetNetworkMessageFromPort( uint32_t iMsgID )
Parameters
iMsgID - The ID of the message to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageInteger.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageInteger.htm
deleted file mode 100644
index 804499e3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageInteger.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNetworkMessageInteger - AGK Help
-
-
-
-
-
-
-
Gets a single integer from the message and advances the message pointer to the next message item. Messages should be created and read according to known formats, e.g. string, int, string as there is no immediate way for the receiver to know the format of a message. You could use an initial integer to specify a message type ID which you can use to identify the message format.
Definition
integer GetNetworkMessageInteger( iMsgID )
int agk::GetNetworkMessageInteger( uint32_t iMsgID )
Parameters
iMsgID - The ID of the message to read.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageString.htm
deleted file mode 100644
index d6ff4faf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetNetworkMessageString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetNetworkMessageString - AGK Help
-
-
-
-
-
-
-
Gets a single string from the message and advances the message pointer to the next message item. Messages should be created and read according to known formats, e.g. string, int, string as there is no immediate way for the receiver to know the format of a message. You could use an initial integer to specify a message type ID which you can use to identify the message format.
Each client is assigned a unique ID by the host when it connects. This function returns the ID that you have been assigned. The host also assigns itself an ID which can be found using GetNetworkServerID.
Returns the Client ID of the next client in the client list. Use this function to continue going through the list of clients started with GetNetworkFirstClient. It is very important that this command is called until it returns 0 as the background network code cannot continue until it knows you are finished with the client list.
The local client will also be returned at some point, which can be detected by comparing the returned ID with GetNetworkMyClientID. The host client will also be returned at some point which can be detected by comparing the returned ID with GetNetworkServerID.
Returns the number of clients connected to the specified network. The host counts as a client as does the local client. Meaning that on a connected network there should be at least 2 clients.
A host waiting for clients returns 1 if it is on its own. A client trying to connect returns 0 until it connects and the host accepts the client, giving it a unique ID, it should then return 2.
Returns the client ID of the host's client. This is useful if you use the server to handle game setup variables such as board size, game length, etc, as only the host client should have a copy of these such variables.
Returns the IP address being used by the server. This command only works on clients as the server can get its own IP using GetDeviceIP and GetDeviceIPv6.
Definition
string GetNetworkServerIP( iNetID )
char* agk::GetNetworkServerIP( uint32_t iNetID )
Parameters
iNetID - The ID of the network to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketByte.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketByte.htm
deleted file mode 100644
index 091fbc76..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketByte.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSocketByte - AGK Help
-
-
-
-
-
-
-
Will read a single byte from the socket connection and return it. If there is no data waiting to be read then this command will return immediately and return 0. You can check how much data there is to read by using GetSocketBytesAvailable.
Definition
integer GetSocketByte( socketID )
int agk::GetSocketByte( uint32_t socketID )
Parameters
socketID - The ID of the socket to read
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketBytesAvailable.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketBytesAvailable.htm
deleted file mode 100644
index 54c85d9f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketBytesAvailable.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSocketBytesAvailable - AGK Help
-
-
-
-
-
-
-
Returns 1 if the specified socket is connected, 0 if it is still in the process of connecting. If the socket becomes disconnected or fails to connect then this will return -1.
Definition
integer GetSocketConnected( socketID )
int agk::GetSocketConnected( uint32_t socketID )
Parameters
socketID - The ID of the socket to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketExists.htm
deleted file mode 100644
index 1c3a722b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSocketExists - AGK Help
-
-
-
-
-
-
-
Will read a 4 byte float from the socket connection and return it. If there is less than 4 bytes of data waiting to be read then this command will return immediately and return 0. You can check how much data there is to read by using GetSocketBytesAvailable.
Definition
float GetSocketFloat( socketID )
float agk::GetSocketFloat( uint32_t socketID )
Parameters
socketID - The ID of the socket to read
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketInteger.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketInteger.htm
deleted file mode 100644
index 6e481062..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketInteger.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSocketInteger - AGK Help
-
-
-
-
-
-
-
Will read a 4 byte integer from the socket connection and return it. If there is less than 4 bytes of data waiting to be read then this command will return immediately and return 0. You can check how much data there is to read by using GetSocketBytesAvailable.
Definition
integer GetSocketInteger( socketID )
int agk::GetSocketInteger( uint32_t socketID )
Parameters
socketID - The ID of the socket to read
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketListenerConnection.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketListenerConnection.htm
deleted file mode 100644
index 5c61152a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetSocketListenerConnection.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSocketListenerConnection - AGK Help
-
-
-
-
-
-
-
Returns the ID of a socket that has connected to your device. The listener will accept connections in the background and add them to a queue, this command removes one of the sockets from the queue and hands control of it to you. If you do not want to accept the connection you should delete it using DeleteSocket. You should call GetSocketListenerConnection in a loop until it returns 0 to be sure you have dealt with all connected sockets. You can find out the IP address of the device that connected to you by calling GetSocketRemoteIP on the returned socket.
Will read a string from the socket connection and return it. If you are sending a string from a source other than AGK then the string must begin with a 4 byte length value followed by X bytes of string data, where X is the length value. The string should not be null terminated. If there is less than 4 bytes of data waiting to be read then this command will return immediately and return an empty string. You can check how much data there is to read by using GetSocketBytesAvailable. If there are 4 or more bytes waiting to be read then this command will wait until the entire string has been received before returning.
Definition
string GetSocketString( socketID )
char* agk::GetSocketString( uint32_t socketID )
Parameters
socketID - The ID of the socket to read
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetUDPNetworkMessage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetUDPNetworkMessage.htm
deleted file mode 100644
index 417351c4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/GetUDPNetworkMessage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetUDPNetworkMessage - AGK Help
-
-
-
-
-
-
-
Checks a UDP listener for any broadcasts. Returns 0 if nothing has been received. Returns a message ID if something has been received, you can access the contents of this message using network message commands. The message must be deleted when you have finished reading from it.
Creates an AGK network with this app as the controller, this app is added as the first client to the network. AGK networks are identified by name and are automatically broadcast to anyone listening on the local area network, meaning that other AGK apps on the LAN can pick up all broadcast networks, display their names to their users and allow them to choose one to join. AGK apps outside the LAN need the IP address and port of the hoster to join the network, this port will need forwarding to the host through any intervening firewall. The port value must be between 1025 and 65535, and will fail if another application is already listening on that port.
Warning, if the device hosting the network is an iOS device then the broadcasting part of this process will fail unless you get permission from Apple to send broadcast packets, see the following page to request permission https: developer.apple.com/contact/request/networking-multicast. If you do not have the permission then devices should still be able to join such a network if they have the IP address and port of the hosting device
You must also specify a client name to use to identify your client, all client names must be unique. This name will be visible to all other clients. Clients will be added to the network automatically and can be counted using GetNetworkNumClients. You can call IsNetworkActive immediately after this command to check that the network was setup successfully, once setup the network will not become inactive for a hoster.
Once connected the app becomes a client of the network, any other clients that connect to it join the network. All clients are treated equally and have a list of local variables that they can read from and write to, all clients can also read any variables on other clients on a read only basis.
Some ports are used by AGK for internal networking and should not be used by your application. Ports 5689-5692 are used to manage apps broadcast from the IDE. Ports 45631 and 45632 are used for named network connections. On IPv4 networks the network broadcast goes to all devices on the local subnet, on IPv6 networks the broadcast goes to the AGK multicast address "FF02::41:474B". If the device has both IPv4 and IPv6 IP addresses then HostNetwork will accept connections from both IPv4 and IPv6 networks.
If you specify 0 for the port then it will disable IPv4 connections, if you set portv6 to 0 then it will disable IPv6 connections. At least one must be greater than 0 or an error will be generated. If you do not specify portv6 at all then it will be set to 0. It should be safe to use the same port for both IPv4 and IPv6, but this hasn't been widely tested.
Returns an ID you can use to interact with this network.
Checks that the network is active, in the case of joining a network this will return 0 if the connection failed or for some reason the connection to the server broke. For a hoster this function will return 0 if it failed to listen on the specified port for clients, otherwise it will forever return 1 as it will not stop managing any connected clients, even if everyone disconnects.
Definition
integer IsNetworkActive( iNetID )
uint32_t agk::IsNetworkActive( uint32_t iNetID )
Parameters
iNetID - The ID of the network to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/JoinNetwork.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/JoinNetwork.htm
deleted file mode 100644
index dea561e1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/JoinNetwork.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-JoinNetwork - AGK Help
-
-
-
-
-
-
-
Joins an AGK network hosted by another app. The network is specified by name, or by IP address and port number. For named networks the app will look for any AGK networks broadcast with that name and connect to it if found. Alternatively using an IP address and port number will attempt a direct connection to the host. In the case of internet connections an IP and port is the only way to connect as broadcasts will not leave the local area network. IP addresses can be IPv4 or IPv6 depending on what IP addresses the host is using (it could have one or more of each).
You may detect all the networks available for connecting to by setting up a broadcast listener and listening for the broadcasts yourself, you could then display a list of discovered networks to the user to let them decide which one to connect to.
Warning, if the device listening for broadcasts is an iOS device then it may not be able to receive broadcast packets without permission from Apple. As of writing receiving is still allowed but sending requires permission from Apple, this may change in future. See the following page for more details https: developer.apple.com/news/?id=0oi77447
This function does not connect immediately, it returns a network ID and continues to attempt to connect in the background. You can detect when a connection is made by checking the GetNetworkNumClients is greater than 1, indicating that at least the local client and server client have been detected. If IsNetworkActive returns 0 at any time then the connection to the server failed and the network should be closed, you may attempt to reconnect by opening a new network.
Once connected the app becomes a client of the network, along with the host and any other clients that have connected to it. All clients are treated equally and have a list of local variables that they can read from and write to, all clients can also read any variables on other clients on a read only basis.
You must identify your client with a client name that will be visible to other clients, the client name does not need to be unique.
Returns a network ID to use when interacting with this network.
Kicks a client from the network. This does not happen immediately and the client may remain for a few frames before it is finally kicked. The client will disconnect in the normal way, you must check GetNetworkClientDisconnected to detect when the client has been kicked, and then call DeleteNetworkClient to finally get rid of it.
Sends a created network message to a given client on a given network. Use a client ID of 0 to send to all connected clients (except the sender), otherwise if the client ID does not exist an error will be generated. This function will delete the message ID given.
Will send a single byte in the range -128 to 127 to the remote connection. Note that data is not sent immediately, you must call FlushSocket to send it. Returns 1 if the byte was successfully written to the buffer, 0 if the socket disconnected.
Definition
integer SendSocketByte( socketID, value )
int agk::SendSocketByte( uint32_t socketID, int value )
Parameters
socketID - The ID of the socket to write
value - The value to send
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketFloat.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketFloat.htm
deleted file mode 100644
index af29d3a5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketFloat.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SendSocketFloat - AGK Help
-
-
-
-
-
-
-
Will send a 4 byte float to the remote connection. Note that data is not sent immediately, you must call FlushSocket to send it. Returns 1 if the float was successfully written to the buffer, 0 if the socket disconnected.
Definition
integer SendSocketFloat( socketID, value )
int agk::SendSocketFloat( uint32_t socketID, float value )
Parameters
socketID - The ID of the socket to write
value - The value to send
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketInteger.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketInteger.htm
deleted file mode 100644
index 74eec8e3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketInteger.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SendSocketInteger - AGK Help
-
-
-
-
-
-
-
Will send a 4 byte integer to the remote connection. Note that data is not sent immediately, you must call FlushSocket to send it. Returns 1 if the integer was successfully written to the buffer, 0 if the socket disconnected.
Definition
integer SendSocketInteger( socketID, value )
int agk::SendSocketInteger( uint32_t socketID, int value )
Parameters
socketID - The ID of the socket to write
value - The value to send
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketString.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketString.htm
deleted file mode 100644
index 0a645290..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendSocketString.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SendSocketString - AGK Help
-
-
-
-
-
-
-
Will send a string to the remote connection. Note that data is not sent immediately, you must call FlushSocket to send it. If you are sending the string to a non-AGK app then the string is constructed of a 4 byte length value followed by X bytes of string data where X is the length value. The string is not null terminated. Returns 1 if the string was successfully written to the buffer, 0 if the socket disconnected.
Definition
integer SendSocketString( socketID, value )
int agk::SendSocketString( uint32_t socketID, const char *value )
Parameters
socketID - The ID of the socket to write
value - The value to send
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendUDPNetworkMessage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendUDPNetworkMessage.htm
deleted file mode 100644
index 41c63127..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SendUDPNetworkMessage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SendUDPNetworkMessage - AGK Help
-
-
-
-
-
-
-
Sends a network message created with CreateNetworkMessage to the specified remote IP and port. You must specify a UDP listener to use as the source IP and port. This function will delete the specified message ID.
Warning, if the IP address is a broadcast or multicast address, e.g. 255.255.255.255 then this will fail to send on iOS devices. To send broadcast or multicast packets requires permission from Apple, use the following page to request it https: developer.apple.com/contact/request/networking-multicast
Restarts listening for new client connections, only applicable if you are hosting the network. Also restarts the broadcasting of the network to the LAN so it will appear to those apps listening to broadcasts. This only needs to be called if you have previously called SetNetworkNoMoreClients and now want to allow connections again.
Assigns a local value to one of 5 data slots in the client that can be used to keep track of items that belong to this client. For example if you create a sprite to represent the client in your game you could assign the sprite ID to one of these data slots so that when you go through the client list you can detect which sprite you used for each client. This also allows you to clean up the sprite if the client is found to have disconnected. This value is entirely local and does not get transferred across the network.
Definition
SetNetworkClientUserData( iNetID, client, index, value )
void agk::SetNetworkClientUserData( uint32_t iNetID, uint32_t client, uint32_t index, int value )
Parameters
iNetID - The ID of the network to store the value.
client - The ID of the client on the network to store the value.
index - The index (0 to 4) of the data slot to set.
value - The integer value to set.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkLatency.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkLatency.htm
deleted file mode 100644
index a2f62ec5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkLatency.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetNetworkLatency - AGK Help
-
-
-
-
-
-
-
Sets how often the network sends updates and checks for variable updates from other clients in milliseconds. The lower this value the more often this client will send and receive updates meaning shared variables are more likely to be up to date, but this will increase network traffic. In the case of connections across the internet this is particularly important as a large number of variables being updated frequently means that there may not be enough bandwidth. The default is 15 milliseconds which translates to roughly 67 updates every second to match closely a game frame rate of 60 fps. If you are updating a large number of variables over an internet connection it is recommended you increase this value towards 50 milliseconds resulting in 20 updates per second or further.
Sets a local float variable for this client by name. Other clients can then read this variable by using the same name when requesting its value. A float variable may not have the same name as an integer variable. If the variable with that name does not exist it is created.
Definition
SetNetworkLocalFloat( iNetID, name, f )
void agk::SetNetworkLocalFloat( uint32_t iNetID, const char *name, float f )
Sets a local integer variable for this client by name. Other clients can then read this variable by using the same name when requesting its value. The mode parameter specifies how this variable should behave, with a value of 1 meaning that this variable will reset to 0 when read. For example if you wanted to send a click notification you could set a value of 1 to signify a click with a mode value of 1. When each client reads the variable, each will see the value 1, but if they try to read it again they will get the value 0. Each client only resets its own copy of the variable. A mode value of 0 means it is a normal variable that will not change when read.
If the variable with that name does not exist it is created. Once a variable is created in normal or resetting mode it cannot be changed and the mode parameter is ignored.
Definition
SetNetworkLocalInteger( iNetID, name, i, mode )
void agk::SetNetworkLocalInteger( uint32_t iNetID, const char *name, int i, int mode )
SetNetworkLocalInteger( iNetID, name, i )
void agk::SetNetworkLocalInteger( uint32_t iNetID, const char *name, int i )
Parameters
iNetID - The ID of the network to check.
name - The name of this variable.
i - The value to set this variable to.
mode - The type of this variable, 0=normal, 1=resetting
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkNoMoreClients.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkNoMoreClients.htm
deleted file mode 100644
index acd5be95..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Multiplayer/SetNetworkNoMoreClients.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetNetworkNoMoreClients - AGK Help
-
-
-
-
-
-
-
Stops anymore clients from connecting to this network, only applicable if you are hosting the network. Also stops the broadcasting of the network to the LAN so it will no longer appear to those apps listening to broadcasts.
The old music commands have been deprecated in favour of the new OGG music commands (except on HTML5). The new commands require files compressed with OGG Vorbis, but will work on all platforms, support multiple music files playing at the same time, and allow seamless looping.
On HTML5 the old music commands have better performance than the newer commands.
Returns the number of seconds it will take to play the given music file from start to finish. There must be no sounds playing for this command to work, or the given ID must be the track currently playing. For example if you try to get the duration of ID 2 and ID 1 is currently playing then it will fail, but if ID 2 is currently playing it will succeed. For variable bit rate files this command will return an approximation.
Definition
float GetMusicDuration( iID )
float agk::GetMusicDuration( uint32_t iID )
Parameters
iID - The ID of the music to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/GetMusicDurationOGG.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/GetMusicDurationOGG.htm
deleted file mode 100644
index f17cc729..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/GetMusicDurationOGG.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMusicDurationOGG - AGK Help
-
-
-
-
-
-
-
Loads a music file from the application media folder into a specified ID. File paths must be relative, not absolute, you cannot load music files from elsewhere on the disk. It returns the ID of the music file for referencing it later. The recommended format for cross platform compatibility is MP3.
Please note that the Meego platform does not currently support MP3, it will instead attempt to load an OGG Vorbis file. For example, if you attempt to load "music.mp3", on Meego this will be intepreted as "music.ogg".
Loads a music file compressed with OGG Vorbis. This is supported on all platforms as is the new preferred way of playing music, replacing the LoadMusic command. Multiple OGG music files can be played at the same time. OGG music file IDs are separate from normal music file IDs and are not limited to a specific range of numbers.
Plays the given music file only and loops it if desired. This is a change from previous versions where AGK would continue playing the next music track after this one. Now you must use the additional parameters of PlayMusic to play tracks one after the other.
Only one music file may be playing at any one time.
Seeks the currently playing music to the speicifed number of seconds, either relative to the current position or an absolute position. For example if the music track is 60 seconds long and is currently at a position of 10 seconds (it has played 10 seconds of music), seeking to an absolute value of 3 seconds will take it back to 3 seconds after the start of the music track. Using a relative value of 3 will add 3 seconds to the current position, taking it to 13.
Definition
SeekMusic( seconds, mode )
void agk::SeekMusic( float seconds, int mode )
Parameters
seconds - The number of seconds to seek to.
mode - 0 to use an absolute position, 1 to use a relative position
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SeekMusicOGG.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/SeekMusicOGG.htm
deleted file mode 100644
index b3ab81b9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SeekMusicOGG.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SeekMusicOGG - AGK Help
-
-
-
-
-
-
-
Seeks to a given time value, if the file is currently playing then it will immediately continue playing from there. If the file is not currently playing then it will take effect after the next call to PlayMusicOGG. The mode parameter lets you choose whether to seek based on an absolute or relative time value. Absolute will seek to that position in the file, whilst relative will seek relative to the current position.
Definition
SeekMusicOGG( musicID, seconds, mode )
void agk::SeekMusicOGG( uint32_t musicID, float seconds, int mode )
Parameters
musicID - The ID of the music file to seek
seconds - The time in seconds to seek to
mode - 0 for absolute seeking, 1 for relative seeking
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicFileVolume.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicFileVolume.htm
deleted file mode 100644
index bd39860f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicFileVolume.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMusicFileVolume - AGK Help
-
-
-
-
-
-
-
Sets the volume on a per file basis, this volume level is combined with the music system volume to create the final volume. By default files are played at volume 100. The volume level should be between 0 and 100.
Definition
SetMusicFileVolume( ID, vol )
void agk::SetMusicFileVolume( uint32_t ID, int vol )
Parameters
ID - The music number to set.
vol - The volume to use for this file.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopCountOGG.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopCountOGG.htm
deleted file mode 100644
index 25512bc7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopCountOGG.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMusicLoopCountOGG - AGK Help
-
-
-
-
-
-
-
Changes the number of times the music file will loop, can be set whilst it is playing. Use a value of 0 to play to the end of the file, or the current loop end time, and then stop. A loop value of 1 will loop forever, a value greater than 1 will loop for that number of times. This command resets the GetMusicLoopCountOGG command and it starts counting again from 0.
Definition
SetMusicLoopCountOGG(uint32_t musicID, loop)
void agk::SetMusicLoopCountOGG(uint32_t musicID, int loop)
Parameters
musicID - The ID of the music file to change
loop - The number of times to loop, 0 to stop looping.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopTimesOGG.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopTimesOGG.htm
deleted file mode 100644
index 688877d8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicLoopTimesOGG.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMusicLoopTimesOGG - AGK Help
-
-
-
-
-
-
-
Sets the start and end times of the music loop. When PlayMusicOGG is used with the loop parameter it will by default stop at the end of the file and return to the beginning of the file. This command will change it to the looping begins and ends at specific times in the music file. Using a start time of -1 will return to the beginning of the file, using and end time of -1 will stop at the end of the file, these match the default behaviour. If the start time is greater than the current play time then the music file will continue playing until it reaches the end time, it will then return to the chosen start time.
Sets the master volume for all OGG music files. This is multiplied by the file volume, so if the system volume is set to 100 but the file volume is set to 0 then the file will still be at volume 0.
Definition
SetMusicSystemVolumeOGG( vol )
void agk::SetMusicSystemVolumeOGG( int vol )
Parameters
vol - The master volume to use, between 0 and 100
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicVolumeOGG.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicVolumeOGG.htm
deleted file mode 100644
index 3e10f1cf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Music/SetMusicVolumeOGG.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetMusicVolumeOGG - AGK Help
-
-
-
-
-
-
-
Adds a color change at a certain point in a particle's life. For example a color added with time=1 will make the particle equal the given color when it has been alive for 1 second. If color interpolation is turned on using SetParticlesColorInterpolation the particle will gradually transform from its current color to the next color. For example if you add three colors, red when time=1, green when time=2, and blue when time=3, then the particle will start its life as red (as that is the nearest color) and remain completely red until it is 1 second old. When the particle is between 1 and 2 seconds old it will gradually change from red to green until it is 2 seconds old, at this point it is completely green. When the particle is between 2 and 3 seconds old it will gradually change from green to blue until it is 3 seconds old, at this point it is completely blue. The particle will remain completely blue until the end of its life as no other colors have been added.
Definition
AddParticlesColorKeyFrame( ID, time, red, green, blue, alpha )
Adds a force that will act at a given time in every particle's life. For example a force set to start at time 2 and end at time 3 will start influencing particles when they have been alive for 2 seconds. It will continue to act on those particles until they have been alive for 3 seconds. The force's influence is defined by an x and y value that represent acceleration in units per second. For example a force with x=5 will adjust a particle's horizontal speed by adding 5 units for every second the force is active, if the force is only active for 0.5 seconds the particle would then be moving 2.5 units per second faster towards the right. Multiple forces can be acting on a particle at the same time if their timings overlap.
Adds a size change at a certain point in a particle's life. Scale values are relative to the value set by SetParticlesSize so a scale of 2 means double its normal size and 0.5 is half its normal size. A scale added with time=1 will make the particle equal the given size when it has been alive for 1 second. The particle will gradually transform from its current size to the next size.
Definition
AddParticlesScaleKeyFrame( ID, time, scale )
void agk::AddParticlesScaleKeyFrame( uint32_t ID, float time, float scale )
Parameters
ID - The ID of the emitter to modify.
time - The time that particles should become this size.
scale - The scale relative to the normal particle size, must be greater then or equal to 0.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ClearParticlesColors.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ClearParticlesColors.htm
deleted file mode 100644
index f92f6ebb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ClearParticlesColors.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ClearParticlesColors - AGK Help
-
-
-
-
-
-
-
Creates a particle emitter in a free ID and at the given location in world coordinates. It returns the ID used to create the emitter.
Particle emitters create a flow of small sprites that last for a fixed amount of time before disappearing. The particles can be influenced by forces during their life using AddParticlesForce. They can also change color over time using AddParticlesColorKeyFrame.
Particles cannot be modified individually and behave as a group using the same texture and depth. This allows the AGK to draw them more efficiently than a similar number of normal sprites.
Definition
integer CreateParticles( x, y )
uint32_t agk::CreateParticles( float x, float y )
CreateParticles( ID, x, y )
void agk::CreateParticles( uint32_t ID, float x, float y )
Parameters
x - The x coordinate to position this emitter.
y - The y coordinate to position this emitter.
ID - The ID to use when referencing this particle emitter.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/DeleteParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/DeleteParticles.htm
deleted file mode 100644
index 760f853d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/DeleteParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteParticles - AGK Help
-
-
-
-
-
-
-
Immediately draws the particle emitter to the backbuffer at its current position, size, and rotation. This is useful if you want to take control of the order that things are drawn. If you do this then be sure to make the particles invisible before calling Render or Sync otherwise your particles will be drawn twice
Definition
DrawParticles( ID )
void agk::DrawParticles( uint32_t ID )
Parameters
ID - The ID of the emitter to draw.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/FixParticlesToScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/FixParticlesToScreen.htm
deleted file mode 100644
index 9b1f23f8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/FixParticlesToScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixParticlesToScreen - AGK Help
-
-
-
-
-
-
-
Returns the current emitter angle in degrees. This value represents the amount of deviation a particle can have from the emitter direction when emitted. An angle of 0 means there is no deviation while an angle of 360 means a particle can be travelling in any direction when emitted.
Definition
float GetParticlesAngle( ID )
float agk::GetParticlesAngle( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesAngleRad.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesAngleRad.htm
deleted file mode 100644
index f8710fd4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesAngleRad.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesAngleRad - AGK Help
-
-
-
-
-
-
-
Returns the current emitter angle in radians. This value represents the amount of deviation a particle can have from the emitter direction when emitted. An angle of 0 means there is no deviation while an angle of 2*PI means a particle can be travelling in any direction when emitted.
Definition
float GetParticlesAngleRad( ID )
float agk::GetParticlesAngleRad( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDepth.htm
deleted file mode 100644
index dd5c66a6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesDepth - AGK Help
-
-
-
-
-
-
-
Returns the X component of the emitter direction, which is the base direction that particles will be moving when they are created. Particles can vary their direction slightly when emitted based on the current GetParticlesAngle value.
Definition
float GetParticlesDirectionX( ID )
float agk::GetParticlesDirectionX( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDirectionY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDirectionY.htm
deleted file mode 100644
index 2a8845f3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesDirectionY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesDirectionY - AGK Help
-
-
-
-
-
-
-
Returns the y component of the emitter direction, which is the base direction that particles will be moving when they are created. Particles can vary their direction slightly when emitted based on the current SetParticlesAngle value.
Definition
float GetParticlesDirectionY( ID )
float agk::GetParticlesDirectionY( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesExists.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesExists.htm
deleted file mode 100644
index afdf2fda..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesExists.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesExists - AGK Help
-
-
-
-
-
-
-
Returns the current life of particles in seconds. It is not possible to get the current life of individual particles. This value is independent of frame rate.
Definition
float GetParticlesLife( ID )
float agk::GetParticlesLife( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesMaxReached.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesMaxReached.htm
deleted file mode 100644
index 3642a448..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesMaxReached.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesMaxReached - AGK Help
-
-
-
-
-
-
-
Returns 1 if the emitter has emitted the number of particles specified in SetParticlesMax and all emitted particles have since died, otherwise returns 0. If the max is set at -1 this will always return 0. To reset the count and make the emitter start emitting again use ResetParticleCount.
Definition
integer GetParticlesMaxReached( ID )
int agk::GetParticlesMaxReached( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesSize.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesSize.htm
deleted file mode 100644
index 06a15693..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesSize.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesSize - AGK Help
-
-
-
-
-
-
-
Returns 0 if the given particles have been set as invisible using SetParticlesVisible, or 1 if they are currently set as visible (default). This does not check if the particles are within the visible viewport.
Definition
integer GetParticlesVisible( ID )
int agk::GetParticlesVisible( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesX.htm
deleted file mode 100644
index d73347db..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesX - AGK Help
-
-
-
-
-
-
-
Returns the current X position of the emitter, this is the point that new particles will appear from. It is not possible to get the position of individual particles, they are merely created, follow a path influenced by forces, and then disappear.
Definition
float GetParticlesX( ID )
float agk::GetParticlesX( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesY.htm
deleted file mode 100644
index f98147a0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/GetParticlesY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetParticlesY - AGK Help
-
-
-
-
-
-
-
Returns the current Y position of the emitter, this is the point that new particles will appear from. It is not possible to get the position of individual particles, they are merely created, follow a path influenced by forces, and then disappear.
Definition
float GetParticlesY( ID )
float agk::GetParticlesY( uint32_t ID )
Parameters
ID - The ID of the emitter to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/OffsetParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/OffsetParticles.htm
deleted file mode 100644
index d0e9050a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/OffsetParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-OffsetParticles - AGK Help
-
-
-
-
-
-
-
Immediately moves all existing particles by the given offset. For example an offset of x=3,y=5 would move all particles to the right by 3 units and down 5 units. This does not affect the particle emitter but can be used in conjunction with SetParticlesPosition to move both the emitter and the particles that already exist.
Definition
OffsetParticles( ID, x, y )
void agk::OffsetParticles( uint32_t ID, float x, float y )
Parameters
ID - The ID of the emitter to modify.
x - The distance to move the particles in the X direction.
y - The distance to move the particles in the Y direction.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ResetParticleCount.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ResetParticleCount.htm
deleted file mode 100644
index 556d60b8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/ResetParticleCount.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-ResetParticleCount - AGK Help
-
-
-
-
-
-
-
Resets the emitted particle count when the emitter has been set with a maximum number of particles using SetParticlesMax. You can check when the emitter has reached its maximum count using GetParticlesMaxReached. If the maximum is set at -1 then this command has no effect.
Definition
ResetParticleCount( ID )
void agk::ResetParticleCount( uint32_t ID )
Parameters
ID - The ID of the emitter to modify.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesActive.htm
deleted file mode 100644
index 1c0b5340..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesActive - AGK Help
-
-
-
-
-
-
-
Sets whether the emitted particles are updated every frame. Set to 1 to update particles as normal, 0 to pause them. Particles will continue to be visible when paused. To hide particles use SetParticlesVisible.
Definition
SetParticlesActive( ID, active )
void agk::SetParticlesActive( uint32_t ID, int active )
Parameters
ID - The ID of the emitter to modify.
active - 1=normal, 0=pause
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesAngle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesAngle.htm
deleted file mode 100644
index 69e94df0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesAngle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesAngle - AGK Help
-
-
-
-
-
-
-
Sets the range of direction in degrees that a particle can choose when it first starts. This takes the base direction set with SetParticlesDirection and adjusts it by a random amount between 0 and angle/2 degrees. For example an angle of 0 would mean that all new particles follow exactly the direction specified earlier. An angle of 360 would mean that particles could appear travelling in any direction, and an angle of 90 would mean that particles would travel outward in a cone of 90 degrees from their start position with the cone centered on the given direction.
Sets the range of direction in radians that a particle can choose when it first starts. This takes the base direction set with SetParticlesDirection and adjusts it by a random amount between 0 and angle/2 radians. For example an angle of 0 would mean that all new particles follow exactly the direction specified earlier. An angle of 2*PI would mean that particles could appear travelling in any direction, and an angle of PI/2 would mean that particles would travel outward in a cone of PI/2 radians from their start position with the cone centered on the given direction.
Sets the interpolation mode for color changes. Colors can be set at certain points in a particle's life using AddParticlesColorKeyFrame and the particle will either blend between these colors or quickly change when it reaches the next color change.
Definition
SetParticlesColorInterpolation( ID, mode )
void agk::SetParticlesColorInterpolation( uint32_t ID, int mode )
Parameters
ID - The ID of the emitter to modify.
mode - 1=smooth interpolation, 0=no interpolation
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDepth.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDepth.htm
deleted file mode 100644
index dd5da366..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDepth.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesDepth - AGK Help
-
-
-
-
-
-
-
Sets the depth of the particle emitter. This affects all particles, even those that are already visible. All particles are drawn at the same depth as the emitter so that the AGK can group them into a single draw call for faster drawing. The depth should be between 0 and 10000, with 0 being the front of the screen.
Definition
SetParticlesDepth( ID, depth )
void agk::SetParticlesDepth( uint32_t ID, int depth )
Parameters
ID - The ID of the emitter to modify.
depth - The new depth value of the particles.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDirection.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDirection.htm
deleted file mode 100644
index f3187566..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesDirection.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesDirection - AGK Help
-
-
-
-
-
-
-
Sets the initial direction of new particles when they emerge from the emitter. This can be used along with the SetParticlesAngle command to set the range of variation from this initial direction that new particles can choose. This also sets the initial speed of the particles by taking the length of the vector as units per second. For example if the initial direction is vx=10, vy=-15, particles will begin by moving to the right at a rate of 10 units per second and upwards at a rate of 15 units per second and will continue this rate of motion for their entire life unless influenced by forces added with AddParticlesForce.
Sets particles to rotate to the direction they are moving. This overrides any use of SetParticlesRotationRange to modify the rate at which particles rotate. Instead particles will always rotate to face their direction of travel.
Definition
SetParticlesFaceDirection( ID, mode )
void agk::SetParticlesFaceDirection( uint32_t ID, int mode )
Parameters
ID - The ID of the emitter to modify.
mode - 1 to make particles rotate to the direction they are moving, 0 to use normal rotation.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesFrequency.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesFrequency.htm
deleted file mode 100644
index 8f53a766..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesFrequency.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesFrequency - AGK Help
-
-
-
-
-
-
-
Sets the frequency of new particle generation. The freq value states how many particles should be produced per second, this is independent of frame rate. This is one of the two values that affects the number of particles generated, the other being SetParticlesLife. The maximum number of particles that can be on screen at any one time is freq*life, with life being the number of seconds a particle lives before it disappears. This value is independent of frame rate.
Sets the life of particles once they have been emitted in seconds. After particles have been alive for the given number of seconds they will disappear. This is one of the two values that affects the number of particles generated, the other being SetParticlesFrequency. The maximum number of particles that can be on screen at any one time is freq*life, with freq being the number of particles emitted per second. This value is independent of frame rate.
Definition
SetParticlesLife( ID, time )
void agk::SetParticlesLife( uint32_t ID, float time )
Parameters
ID - The ID of the emitter to modify.
time - The time in seconds that a particle is visible.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesMax.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesMax.htm
deleted file mode 100644
index 1cada133..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesMax.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesMax - AGK Help
-
-
-
-
-
-
-
Sets the maximum number of particles that will be emitted. If this value is equal to -1 then the number is infinite. The emitter will keep a count of the number of particles it emits and stop when the limit is reached. To check if the emitter has reached its limit use GetParticlesMaxReached. To reset the count and make it start emitting again use ResetParticleCount.
Definition
SetParticlesMax( ID, max )
void agk::SetParticlesMax( uint32_t ID, int max )
Parameters
ID - The ID of the emitter to modify.
max - The maximum number of particles to emit
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesPosition.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesPosition.htm
deleted file mode 100644
index 0e9b6470..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesPosition.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesPosition - AGK Help
-
-
-
-
-
-
-
Sets the position of the particle emitter. This is the position that new particles will emerge from and does not affect particles that are already visible.
Definition
SetParticlesPosition( ID, x, y )
void agk::SetParticlesPosition( uint32_t ID, float x, float y )
Parameters
ID - The ID of the emitter to modify.
x - The new x coordinate for the emitter in world coordinates.
y - The new y coordinate for the emitter in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesRotationRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesRotationRange.htm
deleted file mode 100644
index 513b19f4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesRotationRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesRotationRange - AGK Help
-
-
-
-
-
-
-
Sets the range of rotation in radians that a particle can have during its life. When a particle is created it starts at angle 0 and chooses and random rotation rate between angle1 and angle2. The particle will then rotate at that chosen rate for its entire life. Use negative values for counter-clockwise rotation and positive for clockwise rotation.
Sets the range of rotation in radians that a particle can have during its life. When a particle is created it starts at angle 0 and chooses and random rotation rate between angle1 and angle2. The particle will then rotate at that chosen rate for its entire life. Use negative values for counter-clockwise rotation and positive for clockwise rotation.
Sets the size of all particles in world coordinates. Setting a large number of particles to a large size will perform poorly on mobile devices that have a low fill rate (number of pixels it can draw per second).
Sets the area around the emitter where new particles may appear. The values are relative to the emitter position, for example a zone of 0,0,0,0 would mean that all particles start on the emitter position point. A zone of -10 in x and +10 x, with y being 0 (-10,0,10,0) would create a line centered on the emitter position that particles would randomly appear along. A box zone where both x and y are non-zero sizes would mean that particles could start at any point inside the box.
Set the particle transparency to a particular setting, with a choice of no transparency, alpha transparency, and additive blending. By default particles are created with alpha transparency.
Definition
SetParticlesTransparency( ID, mode )
void agk::SetParticlesTransparency( uint32_t ID, int mode )
Parameters
ID - The ID of the particle emitter to modify.
mode - The transparency mode for these particles, 0=off, 1=alpha transparency, 2=additive blending
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesVelocityRange.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesVelocityRange.htm
deleted file mode 100644
index 403abeba..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/SetParticlesVelocityRange.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetParticlesVelocityRange - AGK Help
-
-
-
-
-
-
-
Sets a minimum and maximum multiplier that will affect particles being emitted. This can be used to ensure that there will be some variation when particles are emitted.
Sets whether the emitted particles are drawn. Set to 1 to show particles, 0 to hide them. Particles will still update whilst hidden, you can stop particles updating with SetParticlesActive
Definition
SetParticlesVisible( ID, visible )
void agk::SetParticlesVisible( uint32_t ID, int visible )
Parameters
ID - The ID of the emitter to modify.
visible - 1=show, 0=hide
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/UpdateParticles.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Particles/UpdateParticles.htm
deleted file mode 100644
index 2572414f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Particles/UpdateParticles.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-UpdateParticles - AGK Help
-
-
-
-
-
-
-
Immediately advances the particle emitter by the given amount of time. If you want to advance a high frequency emitter by a large time period such as 1 second you should call this command multiple times with a small time value such as 0.02 so that it creates new particles in batches and spreads them out evenly. Calling it once with a large time value of 1 second would create a huge batch of particles all at once and move them together as a blob instead of spreading them out.
Definition
UpdateParticles( ID, time )
void agk::UpdateParticles( uint32_t ID, float time )
Parameters
ID - The ID of the emitter to check.
time - The time in seconds to advance the emitter.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton.htm
deleted file mode 100644
index a807dd81..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Skeleton - AGK Help
-
-
-
-
-
-
-
Creates a 2D skeleton the can be used to animate sprites using bones. Currently this command is not very useful as there aren't many commands for setting up a skeleton. Instead skeletons should be loaded with LoadSkeleton2DFromSpineFile
Definition
integer CreateSkeleton2D()
uint32_t agk::CreateSkeleton2D()
CreateSkeleton2D( iSkeleton )
void agk::CreateSkeleton2D( uint32_t iSkeleton )
Parameters
iSkeleton - ID to use to reference this skeleton
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/DeleteSkeleton2D.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/DeleteSkeleton2D.htm
deleted file mode 100644
index eedb4574..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/DeleteSkeleton2D.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-DeleteSkeleton2D - AGK Help
-
-
-
-
-
-
-
Attaches the specified sprite to the given skeleton and bone ID. The bone ID can be found by using the GetSkeleton2DBone command. When a sprite is attached to a skeleton bone then it's position and rotation become relative to the bone's position. For example if the sprite position was 0,0 then it would be drawn in the same position as the bone, but if the position was 0,10 then the sprite would be drawn above the bone, relative to the bone. i.e. if the bone is rotated left by 90 degrees then 'above' the bone would be to the left of the screen in world coordinates.
The ZOrder can be specified to draw the sprite in between two of the skeleton's existing sprites, any integer value is valid and corresponds to the current order of the sprites in the skeleton. For example a ZOrder of 0 would always draw before the first sprite in the skeleton's ZOrder, a value of 1 would always draw before the second sprite in the skeleton, and so on. Note that this ian't affected by other sprites you have attached to the skeleton, it only counts sprites that were originally loaded with the skeleton. For example if you fixed two new sprites to the skeleton both with a zorder equal to 1, then they would both be drawn between between the first and second sprites in the original skeleton. Any sprites that are attached to the skeleton using the same zorder value will be drawn in the order they were attached.
Whilst this sprite is attached to a skeleton it will be removed from the normal drawing routines and only drawn when the skeleton is visible. You can still force the sprite to draw by calling DrawSprite but it will not be ordered with the other sprites in the skeleton.
To detach a sprite from a skeleton call this command with 0 as the skeletonID, the bone ID and zorder parameters do not matter in this case.
Returns the original angle of the specified bone also known as the setup pose. This value will not change whilst the bone is animating, instead the animation builds on top of the setup pose to create the bone rotation seen on screen. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneAngle( iSkeleton, bone )
float agk::GetSkeleton2DBoneAngle( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrAngle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrAngle.htm
deleted file mode 100644
index 6d270801..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrAngle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DBoneCurrAngle - AGK Help
-
-
-
-
-
-
-
Returns the current angle of the specified bone in its currently animated position. This value will change whilst the bone is animating. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneCurrAngle( iSkeleton, bone )
float agk::GetSkeleton2DBoneCurrAngle( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrX.htm
deleted file mode 100644
index 37cdd847..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DBoneCurrX - AGK Help
-
-
-
-
-
-
-
Returns the current X position of the specified bone in its currently animated position. This value will change whilst the bone is animating. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneCurrX( iSkeleton, bone )
float agk::GetSkeleton2DBoneCurrX( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrY.htm
deleted file mode 100644
index 676ca7e7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneCurrY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DBoneCurrY - AGK Help
-
-
-
-
-
-
-
Returns the current Y position of the specified bone in its currently animated position. This value will change whilst the bone is animating. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneCurrY( iSkeleton, bone )
float agk::GetSkeleton2DBoneCurrY( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneParent.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneParent.htm
deleted file mode 100644
index 1088a9be..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneParent.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DBoneParent - AGK Help
-
-
-
-
-
-
-
Returns the original X position of the specified bone also known as the setup pose. This value will not change whilst the bone is animating, instead the animation builds on top of the setup pose to create the bone position seen on screen. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneX( iSkeleton, bone )
float agk::GetSkeleton2DBoneX( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneY.htm
deleted file mode 100644
index 6138e8ab..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DBoneY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DBoneY - AGK Help
-
-
-
-
-
-
-
Returns the original Y position of the specified bone also known as the setup pose. This value will not change whilst the bone is animating, instead the animation builds on top of the setup pose to create the bone position seen on screen. If the bone does not exist it will return 0. Bone IDs start at 0.
Definition
float GetSkeleton2DBoneY( iSkeleton, bone )
float agk::GetSkeleton2DBoneY( uint32_t iSkeleton, int bone )
Parameters
iSkeleton - ID of the skeleton to check
bone - ID of the bone to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DCurrentTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DCurrentTime.htm
deleted file mode 100644
index 04543940..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/GetSkeleton2DCurrentTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSkeleton2DCurrentTime - AGK Help
-
-
-
-
-
-
-
Loads a Spine animation exported in the JSON format. Please see the guide section for details on what is supported. Returns an ID to use to reference this skeleton. You must first load the atlas image exported by Spine into an AGK image with the normal LoadImage command and pass it into this function. You can choose to load animations as well, or just the sprites and bones and move or modify them manually. You can use the scale value to change the size of the sprites and bones to match your chosen resolution. A value of 1 will not change the sizes, a value of 2 will make everything twice as big, a value of 0.5 will half the size, and so on.
Loads a Spriter animation exported in the JSON format. Please see the guide section for details on what is supported. Returns an ID to use to reference this skeleton. The atlas image parameter is not yet supported and must be 0, the images will be loaded from the paths specified in the Spriter JSON file. You can use the scale value to change the size of the sprites and bones to match your chosen resolution. A value of 1 will not change the sizes, a value of 2 will make everything twice as big, a value of 0.5 will half the size, and so on.
Plays the given animation by name if it exists with an optional start time (Default 0), optional looping, and optional tween time (Default 0). The tween time will smoothly interpolate the skeleton from its current state to the first frame of the specified animation before it starts animating so that there is no sharp transition. A loop value of 1 will loop forever, a loop value greater than 1 will loop for that many times and then stop, and a loop value of 0 will play the animation once and then stop
Sets the skeleton to a specific point in the animation based on time, with optional tweening time. The tween time will smoothly interpolate the skeleton from its current state to the chosen frame of the specified animation so that there is no sharp transition.
Definition
SetSkeleton2DAnimationFrame( iSkeleton, anim, time, tweentime )
Set the original angle of a bone relative to its parent. All animation will be relative to this angle, this can be changed whilst an animation is playing.
Definition
SetSkeleton2DBoneAngle( iSkeleton, bone, r )
void agk::SetSkeleton2DBoneAngle( uint32_t iSkeleton, int bone, float r )
Parameters
iSkeleton - ID of the skeleton to modify
bone - ID of the bone to modify
r - The new angle to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneMode.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneMode.htm
deleted file mode 100644
index 5a53bb1e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneMode.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkeleton2DBoneMode - AGK Help
-
-
-
-
-
-
-
Set the original position of a bone relative to its parent also know as the setup pose. All animation will be relative to this position, this can be changed whilst an animation is playing.
Definition
SetSkeleton2DBonePosition( iSkeleton, bone, x, y )
void agk::SetSkeleton2DBonePosition( uint32_t iSkeleton, int bone, float x, float y )
Parameters
iSkeleton - ID of the skeleton to modify
bone - The ID of the bone to modify
x - The new X position to use
y - The new Y position to use
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneScale.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneScale.htm
deleted file mode 100644
index 7b694417..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DBoneScale.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkeleton2DBoneScale - AGK Help
-
-
-
-
-
-
-
Sets the position of the root of the skeleton, the bone positions will be relative to this spot. This can be used to move the skeleton whilst it is animating to make it look like it is walking.
Definition
SetSkeleton2DPosition( iSkeleton, x, y )
void agk::SetSkeleton2DPosition( uint32_t iSkeleton, float x, float y )
Parameters
iSkeleton - ID of the skeleton to modify
x - The X position of the skeleton
y - The Y position of the skeleton
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DRotation.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DRotation.htm
deleted file mode 100644
index ae3c76ea..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/SetSkeleton2DRotation.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSkeleton2DRotation - AGK Help
-
-
-
-
-
-
-
Sets whether the specified skeleton is visible or not. AGK will automatically hide the skeleton when it moves off screen to improve performance, so you only need to do this if you want to hide it whilst it is on screen. When hidden a skeleton will still animate.
Definition
SetSkeleton2DVisible( iSkeleton, mode )
void agk::SetSkeleton2DVisible( uint32_t iSkeleton, int mode )
Parameters
iSkeleton - ID of the skeleton to modify
mode - 1 to make it visible, 0 to hide it
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/StopSkeleton2DAnimation.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/StopSkeleton2DAnimation.htm
deleted file mode 100644
index 06860133..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Skeleton/StopSkeleton2DAnimation.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopSkeleton2DAnimation - AGK Help
-
-
-
-
-
-
-
If the sound was played with looping turned on this command returns the number of loops completed so far. If the instance is using a fixed number of loops then it will never actually reach that loop count value as it will be immediately deleted upon reaching the end of its last loop. The instance ID is the value returned from PlaySound when you initiated the playing of the sound.
Definition
integer GetSoundInstanceLoopCount( iID )
int agk::GetSoundInstanceLoopCount( uint32_t iID )
Parameters
iID - The ID of the instance to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstancePlaying.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstancePlaying.htm
deleted file mode 100644
index 945e3c44..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstancePlaying.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSoundInstancePlaying - AGK Help
-
-
-
-
-
-
-
Returns 1 if the given instance is still playing or looping, 0 if it has stopped. The instance ID is the value returned from PlaySound when you initiated the playing of the sound. Once this command returns 0 the instance has been deleted and can no longer be referenced, any attempt to modify it will be ignored. You will need to create a new instance by using PlaySound again.
Definition
integer GetSoundInstancePlaying( iID )
int agk::GetSoundInstancePlaying( uint32_t iID )
Parameters
iID - The ID of the instance to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceRate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceRate.htm
deleted file mode 100644
index a755c0a5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceRate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSoundInstanceRate - AGK Help
-
-
-
-
-
-
-
Returns the current playback rate of the specified instance, with 1.0 being normal speed, 2.0 being double speed, and so on. Not all devices are guaranteed to support modifying playback rates.
Definition
float GetSoundInstanceRate( iID )
float agk::GetSoundInstanceRate( uint32_t iID )
Parameters
iID - The ID of the instance to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceVolume.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceVolume.htm
deleted file mode 100644
index bd315c07..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundInstanceVolume.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSoundInstanceVolume - AGK Help
-
-
-
-
-
-
-
Gets the maximum rate and which sound files can be played on this device. A rate of 1.0 is normal speed, a rate of 2.0 would be double speed, 0.5 would be half speed, and so on. If you attempt to change a sound playback rate outside of these values it will be clamped to these values. If both min and max return 1.0 then changing the speed of sound playback is not supported on this device.
Definition
float GetSoundMaxRate()
float agk::GetSoundMaxRate()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundMinRate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundMinRate.htm
deleted file mode 100644
index c042cfa0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundMinRate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSoundMinRate - AGK Help
-
-
-
-
-
-
-
Gets the minimum rate and which sound files can be played on this device. A rate of 1.0 is normal speed, a rate of 2.0 would be double speed, 0.5 would be half speed, and so on. If you attempt to change a sound playback rate outside of these values it will be clamped to these values. If both min and max return 1.0 then changing the speed of sound playback is not supported on this device.
Definition
float GetSoundMinRate()
float agk::GetSoundMinRate()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundsPlaying.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundsPlaying.htm
deleted file mode 100644
index 4ec8a61b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSoundsPlaying.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSoundsPlaying - AGK Help
-
-
-
-
-
-
-
Returns the number of voices that can be selected with the SetSpeechLanguage command. You can use the GetSpeechVoiceName and GetSpeechVoiceLanguage commands to get details about the different voices. Currently only works on iOS and Android.
Definition
integer GetSpeechNumVoices()
int agk::GetSpeechNumVoices()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceID.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceID.htm
deleted file mode 100644
index ceaefe75..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceID.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpeechVoiceID - AGK Help
-
-
-
-
-
-
-
Returns the language string of the given voice. This can be used directly with the SetSpeechLanguage command to use this voice for any future speech. Currently only works on iOS and Android.
Definition
string GetSpeechVoiceLanguage( index )
char* agk::GetSpeechVoiceLanguage( int index )
Parameters
index - The index of the voice to check, starts at 0 for the first voice
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceName.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceName.htm
deleted file mode 100644
index 17a2d2d1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetSpeechVoiceName.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpeechVoiceName - AGK Help
-
-
-
-
-
-
-
Returns the name of the given voice. On iOS this is a human readable first name, but does not give any details about the accent or language of that voice. On Android the name gives the language and accent information but is not as easy to read. Currently only works on iOS and Android.
Definition
string GetSpeechVoiceName( index )
char* agk::GetSpeechVoiceName( int index )
Parameters
index - The index of the voice to check, starts at 0 for the first voice
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetTextToSpeechReady.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetTextToSpeechReady.htm
deleted file mode 100644
index ed276dac..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/GetTextToSpeechReady.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextToSpeechReady - AGK Help
-
-
-
-
-
-
-
Returns 1 when the text to speech engine is ready to start converting text to speech. Calling other text to speech commands when it is not ready will be ignored. Currently only works on iOS and Android.
Definition
integer GetTextToSpeechReady()
int agk::GetTextToSpeechReady()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/IsSoundRecording.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/IsSoundRecording.htm
deleted file mode 100644
index 143d508f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/IsSoundRecording.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsSoundRecording - AGK Help
-
-
-
-
-
-
-
Returns 1 if Speak has been called and the text has not yet finished. If multiple items of text have been queued up then this command will continue to return 1 until all of them have been spoken, or StopSpeaking is called. Currently only works on iOS and Android.
Definition
integer IsSpeaking()
int agk::IsSpeaking()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/LoadSound.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/LoadSound.htm
deleted file mode 100644
index 8d2f19d3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/LoadSound.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadSound - AGK Help
-
-
-
-
-
-
-
Loads a sound file from the application media folder and returns the sound number. File paths must be relative, not absolute, you cannot load sound files from elsewhere on the disk.
Please note that compressed WAV files are not supported. You must use uncompressed WAV files to ensure compatibility on all platforms.
Loads a sound file from the application media folder. File paths must be relative, not absolute, you cannot load sound files from elsewhere on the disk.
This command takes a compressed OGG file and decompresses it during loading, allowing you to save file size, but memory usage will be the same as if you used a WAV file. If you want to use OGG whilst also saving memory then use the new LoadMusicOGG commands.
Play the sound previously loaded into the specified sound number. This command can be called multiple times for the same sound ID and it will start multiple copies of that sound playing as instances. The command will return an instance ID that can be used to interact with this instance whilst it is still playing. When an instance stops playing then it is automatically deleted and can no longer be referenced. By default the sound is not looped.
Definition
integer PlaySound( iID, iVol )
uint32_t agk::PlaySound( uint32_t iID, int iVol )
integer PlaySound( iID, iVol, iLoop )
uint32_t agk::PlaySound( uint32_t iID, int iVol, int iLoop )
integer PlaySound( iID, iVol, iLoop, iPriority )
uint32_t agk::PlaySound( uint32_t iID, int iVol, int iLoop, int iPriority )
integer PlaySound( iID )
uint32_t agk::PlaySound( uint32_t iID )
Parameters
iID - The sound number to play.
iVol - The volume at which the sound should be played (optional, default 100).
iLoop - The number of times to loop the instance, or 1 for forever.
iPriority - Reserved for future use, must be 0 (optional, default 0).
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/RecordSound.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/RecordSound.htm
deleted file mode 100644
index d7390fb3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/RecordSound.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-RecordSound - AGK Help
-
-
-
-
-
-
-
Sets whether the app will allow background music from other apps to continue playing (mode=0) or silence other apps whilst this app is active (mode=1). Note that in mode 0 the device considers your app audio to be unimportant so will be silenced if the device ringer is set to silent.
This only works on iOS.
Definition
SetSoundDeviceMode( mode )
void agk::SetSoundDeviceMode( int mode )
Parameters
mode - The sound mode to use (default=0)
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundInstanceBalance.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundInstanceBalance.htm
deleted file mode 100644
index e70cc3c9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundInstanceBalance.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSoundInstanceBalance - AGK Help
-
-
-
-
-
-
-
Sets the current balance of the specified instance, with 0 being centered, -1.0 being all on the left speaker, and 1.0 being all on the right speaker, any values outside this range will be clamped. This works best with mono sounds but can be applied to stereo sounds. The instance ID is the value returned from PlaySound when you initiated the playing of the sound.
Sets the current playback rate of the specified instance, with 1.0 being normal speed, 2.0 being double speed, and so on. Not all devices are guaranteed to support modifying playback rates. Use GetSoundMaxRate and GetSoundMinRate to check the valid ranges for the current device, any values outside this range will be clamped. The instance ID is the value returned from PlaySound when you initiated the playing of the sound.
Sets the current volume of the specified instance, between 0 and 100. The instance ID is the value returned from PlaySound when you initiated the playing of the sound.
Definition
SetSoundInstanceVolume( iID, vol )
void agk::SetSoundInstanceVolume( uint32_t iID, int vol )
Parameters
iID - The ID of the instance to modify
vol - The new volume of the instance, 0 to 100
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundSystemVolume.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundSystemVolume.htm
deleted file mode 100644
index e5e76994..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSoundSystemVolume.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSoundSystemVolume - AGK Help
-
-
-
-
-
-
-
Sets the master sound volume for all sounds. The individual sound volumes will remain intact, but all volumes are multiplied by the master sound volume allowing features such as fading.
Definition
SetSoundSystemVolume( iVol )
void agk::SetSoundSystemVolume( int iVol )
Parameters
iVol - The master sound volume for all sounds.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguage.htm
deleted file mode 100644
index e839a807..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpeechLanguage - AGK Help
-
-
-
-
-
-
-
Sets the language to use when speaking text, for example "en_GB" for British English, "en_US" for American English, "fr_FR" for French, and so on. If the language engine is not currently on the device then the device will attempt to download it when Speak is next called, this may introduce a delay before that text is spoken. If the download fails, or no internet connection is available then the default language engine for the current device will be used. Currently only works on iOS and Android.
Definition
SetSpeechLanguage( lang )
void agk::SetSpeechLanguage( const char* lang )
Parameters
lang - The language to use for speaking text, default is the device's current language.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguageByID.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguageByID.htm
deleted file mode 100644
index 517a8509..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/SetSpeechLanguageByID.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpeechLanguageByID - AGK Help
-
-
-
-
-
-
-
Sets the language to use when speaking text by voice ID. The ID can be found with GetSpeechVoiceID, and is necessary when multiple voices have the same language but with different accents.
Queues the given text for speaking. If some text is already being spoken then the given text will be spoken after the current speech has finished. This command can be called multiple times in quick succession to queue up a lot of text. You can call IsSpeaking to check when the queue is empty and all text has been spoken, or cancelled. Note that there may be a delay on the first call to this command when an unfamiliar language has been set with SetSpeechLanguage. For example using French on a device setup for English will attempt to download the French language engine before starting to speak the text. If the app is sent to the background then speech will stop and all text will be removed from the queue. You can specify an optional delay in milliseconds to make the device wait before starting to say the text. Currently only works on iOS and Android.
Definition
Speak( text )
void agk::Speak( const char *text )
Speak( text, delay )
void agk::Speak( const char *text, int delay )
Parameters
text - The text to speak
delay - The amount of time in milliseconds to wait before starting the speech output
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSound.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSound.htm
deleted file mode 100644
index 957e7629..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSound.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopSound - AGK Help
-
-
-
-
-
-
-
Stops the current instance if it hasn't already. This deletes the instance and its ID cannot be used again. The instance ID is the value returned from PlaySound when you initiated the playing of the sound.
Definition
StopSoundInstance( iID )
void agk::StopSoundInstance( uint32_t iID )
Parameters
iID - The ID of the instance to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSoundRecording.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSoundRecording.htm
deleted file mode 100644
index 3d1c1f83..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/StopSoundRecording.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopSoundRecording - AGK Help
-
-
-
-
-
-
-
Initialises the Text To Speech engine on the device so that it can produce audio. Note that this may not be immediate, you should check GetTextToSpeechReady to see if it has finished setting up. Calling other text to speech commands when it is not ready will be ignored. Currently only works on iOS and Android.
Definition
TextToSpeechSetup()
void agk::TextToSpeechSetup()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/VibrateDevice.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sound/VibrateDevice.htm
deleted file mode 100644
index 17533290..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sound/VibrateDevice.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-VibrateDevice - AGK Help
-
-
-
-
-
-
-
Vibrates the device for the specified number of seconds. Works on iOS and Android. Note that on iOS the length value is ignored and only a short vibration will occur, this is due to Apple restrictions.
Definition
VibrateDevice( seconds )
void agk::VibrateDevice( float seconds )
Parameters
seconds - The time in seconds to vibrate
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite.htm
deleted file mode 100644
index eaace55a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Sprite - AGK Help
-
-
-
-
-
-
-
Adds an image to the sprite as a new animation frame. Frame indices start at 1 and increase incrementally. This image may be shared by multiple sprites either as single images or as animation frames, the image may also be a part of an atlas texture.
Alternatively if you have all your animation frames on a single image you can use the faster SetSpriteAnimation that avoids image changes during rendering by modifying the UV coordinates to change frame instead.
Adds a new shape to the sprite, in addition to any it already has. These additional shapes only apply to physics sprites and must be added after a sprite has been set to use physics.
The box is defined by specifying its top left and bottom right coordinates in sprite space, relative to its current offset. For example if the current sprite offset was 0,0 the top left box corner would be 0,0, but if the sprite offset was the middle of the sprite (default) the top left corner would be -width/2,-height/2. You may also specify an angle to offset the box relative to the current sprite rotation.
This will recalculate the sprite's mass and center of mass values.
Definition
AddSpriteShapeBox( iSpriteIndex, x, y, x2, y2, angle )
Adds a new shape to the sprite, in addition to any it already has. Shapes can be added even if the sprite is not setup for physics.
The chain is defined by a set of points (at least 2) relative to the current sprite's offset. For example, a point of 0,0 would be centered on the sprite's offset point, any other value will be offset from this point. Chains are rigid and can be used to create hollow concave polygons, or 2D terrains. Set the loop parameter to 1 to join to two ends of the chain together creating a hollow polygon. Points are defined one at a time by calling this command multiple times, with index starting at 0. Once the index equals numPoints-1 then the shape will be created using the previously defined points. Once you start defining points you must complete the process by reaching index=numPoints-1 before defining points for any other shape.
This will recalculate the sprite's mass and center of mass values.
Definition
AddSpriteShapeChain( iSpriteIndex, numPoints, index, loop, x, y )
void agk::AddSpriteShapeChain( uint32_t iSpriteIndex, uint32_t numPoints, uint32_t index, int loop, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to modify.
numPoints - The number of points to use in the chain, minimum of 2, no maximum.
index - The index of the point to set, if it equals numPoints-1 then the shape will be created
loop - 1=connect this back to the first point creating a loop, 0=leave this point hanging on the end (default)
x - X position for the specified point.
y - Y position for the specified point.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/AddSpriteShapeCircle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/AddSpriteShapeCircle.htm
deleted file mode 100644
index 129d7938..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/AddSpriteShapeCircle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-AddSpriteShapeCircle - AGK Help
-
-
-
-
-
-
-
Adds a new shape to the sprite, in addition to any it already has. These additional shapes only apply to physics sprites and must be added after a sprite has been set to use physics.
The circle is defined by specifying its center point relative to the sprite's current offset and a radius. For example, if the circle was to be centered on the sprite's offset point it would be specified at position 0,0. Any other value will offset the circle from the sprite. The radius is defined in x coordinates, due to world coordinates not necessarily representing the size of items on screen (e.g. 10 units in X may not be the same apparent size as 10 units in Y).
This will recalculate the sprite's mass and center of mass values.
Definition
AddSpriteShapeCircle( iSpriteIndex, x, y, radius )
Adds a new shape to the sprite, in addition to any it already has. These additional shapes only apply to physics sprites and must be added after a sprite has been set to use physics.
The polygon is defined by a set of points (between 2 and 12) relative to the current sprite's offset. For example, a point of 0,0 would be centered on the sprite's offset point, any other value will be offset from this point. Points are defined one at a time by calling this command multiple times, with index starting at 0. Once the index equals numPoints-1 then the shape will be created using the previously defined points. Once you start defining points you must complete the process by reaching index=numPoints-1 before defining points for any other shape.
This will recalculate the sprite's mass and center of mass values.
Definition
AddSpriteShapePolygon( iSpriteIndex, numPoints, index, x, y )
Recalculates the COM based on the shapes attached to the sprite, if you have overridden the COM this will set it back to a location decided by the AGK. If the COM is very different from the offset point the sprite may seem unstable as it will behave like an unbalanced spinning top.
Removes all animation frames from a sprite returning it to a single image sprite. If you added images individually to the sprite using AddSpriteAnimationFrame then the sprite's image will be undefined and it is recommended that you assign it a new image.
Creates a sprite in the given sprite ID, it returns the sprite ID used. Dummy sprites behave as normal sprites but have no image or other visual aspect to them. They will not be drawn even if an image is assigned to them. They are useful for adding physics objects to a scene without needing visuals to accompany the physics shape. You can use the physics contact and feedback commands to work out what has hit these hidden physics shapes if desired. If you do not need to know what has hit your hidden shapes then you can add them all to a single dummy sprite using the AddSpriteShape commands for best performance.
SetSpriteShape will not work on dummy sprites as they have no image to calculate a shape, shapes must be defined manually using SetSpriteShapeBox, SetSpriteShapeCircle, or SetSpriteShapePolygon.
Dummy sprites will not update their stored angle and position with the latest physics versions, so calls to GetSpriteX, GetSpriteY, or GetSpriteAngle will return the last value you set. Setting the sprite's position will update the physics body to the position you set.
Creates a sprite in a blank sprite ID with an image to use when rendering, it returns the sprite ID used.
By default sprites are created with a depth of 10, are sized using the given image as a guide, and positioned at 0,0 using their top left corner.
You may use an image ID of 0 to create a blank sprite drawn with color only. If the assigned image has alpha pixels the sprite is create with a transparency mode of 1, otherwise it uses a transparency mode of 0 (opaque)
Immediately draws the sprite to the backbuffer at its current position, size, and rotation. This is useful if you want to take control of the order that things are drawn. If you do this then be sure to make the sprite invisible before calling Render or Sync otherwise your sprite will be drawn twice
Definition
DrawSprite( iSpriteIndex )
void agk::DrawSprite( uint32_t iSpriteIndex )
Parameters
iSpriteIndex - The ID of the sprite to draw.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/FixSpriteToScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/FixSpriteToScreen.htm
deleted file mode 100644
index 4a23fbfc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/FixSpriteToScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixSpriteToScreen - AGK Help
-
-
-
-
-
-
-
By default sprites are created in world coordinates and SetViewOffset can be used to move around the world. Use this command to instead fix the sprite to the screen so it will move with the viewport when the viewport is moved around. You can still reposition a sprite that is fixed to the screen, it only affects what happens when the viewport is moved. You should not use physics or collision commands on sprites fixed to the screen as their debug shapes will not line up and they will interfere with physics sprites not fixed to the screen.
Definition
FixSpriteToScreen( iSpriteIndex, mode )
void agk::FixSpriteToScreen( uint32_t iSpriteIndex, int mode )
Parameters
iSpriteIndex - The ID of the sprite to change.
mode - 1=screen sprite, 0=world sprite
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollision.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollision.htm
deleted file mode 100644
index 6ff37342..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollision.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPhysicsCollision - AGK Help
-
-
-
-
-
-
-
Returns 1 if two physics sprites overlap, otherwise it returns 0. This function doesn't do any calculation, it simply looks up the results of the last physics step to determine if the sprites currently overlap. If this function returns true you can get the point of collision using GetPhysicsCollisionX and GetPhysicsCollisionY, if there is more than one point of collision it is not known which point will be returned. You can check the sprite's contact list to get the full list of contact points.
This function is affected by group and category settings.
Definition
integer GetPhysicsCollision( iSprite1, iSprite2 )
int agk::GetPhysicsCollision( uint32_t iSprite1, uint32_t iSprite2 )
Parameters
iSprite1 - The ID of the first sprite to check
iSprite2 - The ID of the second sprite to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollisionWorldX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollisionWorldX.htm
deleted file mode 100644
index 74e71538..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetPhysicsCollisionWorldX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetPhysicsCollisionWorldX - AGK Help
-
-
-
-
-
-
-
Checks two sprites for collision, if they overlap then it returns 1. Otherwise it returns 0. No other information can be returned about this type of collision.
This command is primarily for sprites that are not using physics. Whilst it can be used on physics sprites the physics system will have already calculated the overlap of all physics sprites during the last frame and stored the results in the contact list. This function actually does the calculation required to determine if the sprites overlap. This function is not limited by group or category settings.
This function only operates on the sprite's base shape. Any additional shapes added to physics sprites will not be used in this function, use GetPhysicsCollision instead. Also Chain shapes will always return no collision using this command, chain shapes are only used in physics calculations.
If you have not assigned a shape to either sprite using SetSpriteShape they will use the default box shape based on the sprite's width and height.
Definition
integer GetSpriteCollision( iSprite1, iSprite2 )
int agk::GetSpriteCollision( uint32_t iSprite1, uint32_t iSprite2 )
Parameters
iSprite1 - The sprite to check for intersection with sprite 2
iSprite2 - The sprite to check for intersection with sprite 1
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteColorAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteColorAlpha.htm
deleted file mode 100644
index 4db5c1ba..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteColorAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteColorAlpha - AGK Help
-
-
-
-
-
-
-
Calculates the minimum distance separating the two sprites. If the sprites overlap this will be less than 0. Otherwise it will be the distance between the closest points on each sprite, these points can be found using GetSpriteDistancePoint1X, etc. This calculation takes longer than simply checking if the sprites overlap, if you don't need the distance separating the sprites use GetSpriteCollision.
This function is not limited by group or category settings.
If you have not assigned a shape to either sprite using SetSpriteShape they will use the default box shape based on the sprite's width and height.
Returns the ID of the first sprite found under the point x,y in world coordinates, 0 if none. Sprites are ordered by depth so a sprite appearing above another in the draw order will be returned instead of the sprite behind it.
Takes into account the rotation and scale values of the sprite. It does not take into account the transparency of the sprite, only its collision shape. Uses the shape assigned to it from SetSpriteShape, if no shape is set it uses the sprite width and height as a box shape. If you are testing a mouse or touch coordinate, remember to convert it to world coordinates using ScreenToWorldX and ScreenToWorldY.
Definition
integer GetSpriteHit( x, y )
int agk::GetSpriteHit( float x, float y )
Parameters
x - The x position in world coordinates to check.
y - The y position in world coordinates to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitCategory.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitCategory.htm
deleted file mode 100644
index ee479907..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitCategory.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteHitCategory - AGK Help
-
-
-
-
-
-
-
Returns the ID of the first sprite found under the point x,y in world coordinates, 0 if none. Sprites are ordered by depth so a sprite appearing above another in the draw order will be returned instead of the sprite behind it.
This function filters the results so only sprites of certain categories are checked. The category parameter is a bitwise field that uses the lower 16 bits to represent each of the possible 16 categories used when setting up a sprite. The default value of all 1s means all categories will be included, whereas a value of all 0s means no categories will be included. You can set individual bits to set which ones should be checked. You can set which categories a sprite belongs to with SetSpriteCategoryBits. Takes into account the rotation and scale values of the sprite. It does not take into account the transparency of the sprite, only its collision shape. Uses the shape assigned to it from SetSpriteShape, if no shape is set it uses the sprite width and height as a box shape. If you are testing a mouse or touch coordinate, remember to convert it to world coordinates using ScreenToWorldX and ScreenToWorldY.
Definition
integer GetSpriteHitCategory( categories, x, y )
int agk::GetSpriteHitCategory( uint32_t categories, float x, float y )
Parameters
categories - The categories to check.
x - The x position in world coordinates to check.
y - The y position in world coordinates to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitGroup.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitGroup.htm
deleted file mode 100644
index 029d9db7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitGroup.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteHitGroup - AGK Help
-
-
-
-
-
-
-
Returns the ID of the first sprite found under the point x,y in world coordinates, 0 if none. Sprites are ordered by depth so a sprite appearing above another in the draw order will be returned instead of the sprite behind it.
Filters results to only those sprites in the specified group. By default sprites are created in group 0, you can change this with SetSpriteGroup.
Takes into account the rotation and scale values of the sprite. It does not take into account the transparency of the sprite, only its collision shape. Uses the shape assigned to it from SetSpriteShape, if no shape is set it uses the sprite width and height as a box shape. If you are testing a mouse or touch coordinate, remember to convert it to world coordinates using ScreenToWorldX and ScreenToWorldY.
Definition
integer GetSpriteHitGroup( group, x, y )
int agk::GetSpriteHitGroup( int group, float x, float y )
Parameters
group - The group ID to check.
x - The x position in world coordinates to check.
y - The y position in world coordinates to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitTest.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitTest.htm
deleted file mode 100644
index a4ed746b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteHitTest.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteHitTest - AGK Help
-
-
-
-
-
-
-
Returns 1 if the sprite's collision shape is touching the given box in world coordinates, 0 if not. If the sprite does not have a shape it is assigned a box shape of its own which will remain after this command. This command takes into account the rotation and scale of the sprite when checking intersection.
Returns 1 if the sprite's collision shape is touching the given circle in world coordinates, 0 if not. If the sprite does not have a shape it is assigned a box shape of its own which will remain after this command. This command takes into account the rotation and scale of the sprite when checking intersection. Note that due to aspect ratio modifications this command does not behave as expect when using the percentage coordinate system. Instead it will check an ellipse with the correct radius in the X direction but a larger radius in the Y direction.
Returns 1 if the sprite is currently within the visible area of the screen, 0 if it is outside the visible area. Note that if the sprite is very close to the edge where it may be difficult to determine if all the pixels in the sprite are outside the visible area then this command will return 1 and assume it is visible. In other words if this command returns 0 then the sprite is definitely off screen, if it returns 1 then the sprite is most likely on screen but could actually be off screen and very close to an edge.
Definition
integer GetSpriteInScreen( iSpriteIndex )
int agk::GetSpriteInScreen( uint32_t iSpriteIndex )
Parameters
iSpriteIndex - The ID of the sprite to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteNumShapes.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteNumShapes.htm
deleted file mode 100644
index 50245414..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteNumShapes.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteNumShapes - AGK Help
-
-
-
-
-
-
-
Returns the X value of current Center Of Mass for the given sprite's physics body. All shapes currently added to this sprite contribute to this value. If you have set the center of mass manually then it will return that value. Physics must be turned on for this sprite for the command to work, otherwise it will return 0.
Returns the Y value of current Center Of Mass for the given sprite's physics body. All shapes currently added to this sprite contribute to this value. If you have set the center of mass manually then it will return that value. Physics must be turned on for this sprite for the command to work, otherwise it will return 0.
Returns the mass of the sprite in kilograms currently being used. This was either generated automatically when its shape was created or a shape was added, or was set manually.
Returns the linear velocity of the sprite in the X direction. This is the number of units per second that the sprite is currently moving in your chosen resolution.
Returns the linear velocity of the sprite in the Y direction. This is the number of units per second that the sprite is currently moving in your chosen resolution.
Converts a point on the sprite's image to the pixel on the sprite's image that is underneath that point. For example if a 200x100 pixel image was assigned to a sprite of size 10x10, then calling this command with a pixel value of 5 (center of the sprite) would return 100 (center of the image). The sprite must have an image assigned for this to work or it will always return 0. The command is not limited by the size of the image or sprite, so in the above example a pixel value of 20 or -1 would both be valid.
Definition
integer GetSpritePixelFromX( iSpriteIndex, x )
int agk::GetSpritePixelFromX( uint32_t iSpriteIndex, float x )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The x coordinate of the sprite point to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePixelFromY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePixelFromY.htm
deleted file mode 100644
index 76afb3d6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePixelFromY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpritePixelFromY - AGK Help
-
-
-
-
-
-
-
Converts a point on the sprite's image to the pixel on the sprite's image that is underneath that point. For example if a 200x100 pixel image was assigned to a sprite of size 10x10, then calling this command with a pixel value of 5 (center of the sprite) would return 50 (center of the image). The sprite must have an image assigned for this to work or it will always return 0. The command is not limited by the size of the image or sprite, so in the above example a pixel value of 20 or -1 would both be valid.
Definition
integer GetSpritePixelFromY( iSpriteIndex, y )
int agk::GetSpritePixelFromY( uint32_t iSpriteIndex, float y )
Parameters
iSpriteIndex - The ID of the sprite to check.
y - The y coordinate of the sprite point to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePlaying.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePlaying.htm
deleted file mode 100644
index 4c3fe0f3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpritePlaying.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpritePlaying - AGK Help
-
-
-
-
-
-
-
Returns the number of vertices in the specified shape. This only applies to polygon and chain shapes. Shape IDs start at 1 for the first shape up to and including the value returned by GetSpriteNumShapes.
Returns the X value of given vertex in the specified shape. This only applies to polygon and chain shapes. Shape IDs start at 1 for the first shape up to and including the value returned by GetSpriteNumShapes. Vertex IDs start at 1 for the first vertex up to and including the value returned by GetSpriteShapeNumVertices
Returns the Y value of given vertex in the specified shape. This only applies to polygon and chain shapes. Shape IDs start at 1 for the first shape up to and including the value returned by GetSpriteNumShapes. Vertex IDs start at 1 for the first vertex up to and including the value returned by GetSpriteShapeNumVertices
Converts a pixel point on the sprite's image to the point on the sprite's surface that represents where that pixel is. For example if a 200x100 pixel image was assigned to a sprite of size 10x10, then calling this command with a pixel value of 100 (center of the image) would return 5 (center of the sprite). The sprite must have an image assigned for this to work or it will always return 0. The command is not limited by the size of the image or sprite, so in the above example a pixel value of 300 or -10 would both be valid.
Definition
float GetSpriteXFromPixel( iSpriteIndex, x )
float agk::GetSpriteXFromPixel( uint32_t iSpriteIndex, int x )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The x coordinate of the pixel to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteXFromWorld.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteXFromWorld.htm
deleted file mode 100644
index 9503d2ad..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteXFromWorld.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteXFromWorld - AGK Help
-
-
-
-
-
-
-
Converts a point in world coordinates to a point on the sprite. This is the opposite of GetWorldXFromSprite and will return values relative to the sprite's center point defined with SetSpriteOffset. By default this is the center of the sprite. The command is not limited by the size of the sprite, it may return values larger than the sprite bounds.
Definition
float GetSpriteXFromWorld( iSpriteIndex, x, y )
float agk::GetSpriteXFromWorld( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The X component of the point to convert into sprite coordinates.
y - The Y component of the point to convert into sprite coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteY.htm
deleted file mode 100644
index bcec78fd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteY - AGK Help
-
-
-
-
-
-
-
Converts a pixel point on the sprite's image to the point on the sprite's surface that represents where that pixel is. For example if a 200x100 pixel image was assigned to a sprite of size 10x10, then calling this command with a pixel value of 50 (center of the image) would return 5 (center of the sprite). The sprite must have an image assigned for this to work or it will always return 0. The command is not limited by the size of the image or sprite, so in the above example a pixel value of 300 or -10 would both be valid.
Definition
float GetSpriteYFromPixel( iSpriteIndex, y )
float agk::GetSpriteYFromPixel( uint32_t iSpriteIndex, int y )
Parameters
iSpriteIndex - The ID of the sprite to check.
y - The y coordinate of the pixel to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteYFromWorld.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteYFromWorld.htm
deleted file mode 100644
index 6bf00711..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetSpriteYFromWorld.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSpriteYFromWorld - AGK Help
-
-
-
-
-
-
-
Converts a point in world coordinates to a point on the sprite. This is the opposite of GetWorldYFromSprite and will return values relative to the sprite's center point defined with SetSpriteOffset. By default this is the center of the sprite. The command is not limited by the size of the sprite, it may return values larger than the sprite bounds.
Definition
float GetSpriteYFromWorld( iSpriteIndex, x, y )
float agk::GetSpriteYFromWorld( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The X component of the point to convert into sprite coordinates.
y - The Y component of the point to convert into sprite coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldXFromSprite.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldXFromSprite.htm
deleted file mode 100644
index 9980fdc9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldXFromSprite.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWorldXFromSprite - AGK Help
-
-
-
-
-
-
-
Converts a point on the sprite to world coordinates. For example if a 10x10 sprite was rotated by 45 degrees around its center point (at 5x5) then to find the position in the world of the sprite's top left corner you would call this command with the values -5,-5, since the values are relative to the sprite's center point (defined by SetSpriteOffset). The command is not limited by the size of the sprite, so in the above example values of 20 or -15 would both be valid.
Definition
float GetWorldXFromSprite( iSpriteIndex, x, y )
float agk::GetWorldXFromSprite( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The X component of the point on the sprite.
y - The Y component of the point on the sprite.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldYFromSprite.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldYFromSprite.htm
deleted file mode 100644
index ec8d200a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/GetWorldYFromSprite.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetWorldYFromSprite - AGK Help
-
-
-
-
-
-
-
Converts a point on the sprite to world coordinates. For example if a 10x10 sprite was rotated by 45 degrees around its center point (at 5x5) then to find the position in the world of the sprite's top left corner you would call this command with the values -5,-5, since the values are relative to the sprite's center point (defined by SetSpriteOffset). The command is not limited by the size of the sprite, so in the above example values of 20 or -15 would both be valid.
Definition
float GetWorldYFromSprite( iSpriteIndex, x, y )
float agk::GetWorldYFromSprite( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to check.
x - The X component of the point on the sprite.
y - The Y component of the point on the sprite.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/LoadSprite.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/LoadSprite.htm
deleted file mode 100644
index d325528b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/LoadSprite.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadSprite - AGK Help
-
-
-
-
-
-
-
Creates a sprite in a blank sprite ID with an explicit image to use when rendering, it returns the sprite ID used.
By default sprites are created with a depth of 10, are sized using the given image as a guide, and positioned at 0,0 using their top left corner.
If the assigned image has alpha pixels the sprite is create with a transparency mode of 1, otherwise it uses a transparency mode of 0 (opaque) This command takes an image file name and loads it specifically for this sprite, this image will be deleted when the sprite is deleted. If lots of sprites are going to use the same image you should load the image separately and pass its ID to the CreateSprite command to save memory.
Begins the animation of a sprite based on the given values. Animation speed is based on animation frames per second and is not affected by the drawing frame rate.
Continues the animation of the sprite using the values used to set it up. Continues from the current frame rather than starting again at the first frame.
Definition
ResumeSprite( iSpriteIndex )
void agk::ResumeSprite( uint32_t iSpriteIndex )
Parameters
iSpriteIndex - The ID of the sprite to resume animating.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteActive.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteActive.htm
deleted file mode 100644
index 40f993b3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteActive.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteActive - AGK Help
-
-
-
-
-
-
-
Adds additional images to the sprite that can be used with shaders. The image set with SetSpriteImage is used as texture stage 0, and this command will let you set stages 1 to 7. These additional images do not play any part in animation or shape calculations. Note that the sprite will have the same UV coordinates for each texture so it is recommended that the images have the same dimensions, or use power of 2 images to avoid UV conversions on mobile devices where images might be scaled.
Immediately rotates the specified sprite to the given angle in degrees. By default sprites rotate around their center, see SetSpriteOffset to change this.
Immediately rotates the specified sprite to the given angle in radians. By default sprites rotate around their center, see SetSpriteOffset to change this.
Initialises the sprite animation with frames from its assigned image, based on a frame width and frame height. The sprite will use the frame width and frame height to extract images of that size from its assigned image beginning in the top left corner and moving from left to right. When it reaches the right hand side of the image it will begin again one row down, moving from left to right again until the frame count is reached or it runs out of space on the image to look for frames. Storing an animation image on an atlas texture is supported.
This function is the preferred method of assigning an animation to a sprite as it avoids expensive image changes during rendering. However if all your animation frames are separate images you can use the AddSpriteAnimationFrame to add frames from images individually. Using SetSpriteImage will clear all animation frames you have set here.
When SetSpriteTransparency is set to 3 then the source and destination blend values can be specified manually using this command. The blend modes available are as follows: 0 = 0 1 = 1 2 = Source Pixel Alpha 3 = 1 - Source Pixel Alpha 4 = Destination Pixel Alpha 5 = 1 - Destination Pixel Alpha 6 = Source Pixel Color (valid for destination mode only) 7 = 1 - Source Pixel Color (valid for destination mode only) 8 = Destination Pixel Color (valid for source mode only) 9 = 1 - Destination Pixel Color (valid for source mode only) 10 = Alpha Saturate (valid for source mode only) The source pixel will be multiplied by the source mode, and the destination pixel will be multiplied by the destination mode. The two will then be added together to make the final pixel color. The source pixel is the pixel belonging to the object being drawn, whilst the destination pixel is the color of the pixel already on screen, which the current sprite is being drawn over.
Definition
SetSpriteBlendModes( iSpriteIndex, src, dst )
void agk::SetSpriteBlendModes( uint32_t iSpriteIndex, int src, int dst )
Parameters
iSpriteIndex - The ID of the sprite to modify.
src - The blend mode to use for the source of the blend.
dst - The blend mode to use for the destination of the blend.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteCategoryBit.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteCategoryBit.htm
deleted file mode 100644
index e0925e95..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteCategoryBit.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteCategoryBit - AGK Help
-
-
-
-
-
-
-
Assigns or removes a sprite from a particular category. There are 16 categories that a sprite can belong to, and a sprite can belong to any number at once. This command is similar to SetSpriteCategoryBits except this command sets one category at a time whilst that command sets them all at once using a bit mask.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
Definition
SetSpriteCategoryBit( iSpriteIndex, category, flag )
void agk::SetSpriteCategoryBit( uint32_t iSpriteIndex, uint32_t category, int flag )
Assigns the sprite to zero or more categories for collision filtering (physics and non physics). There are 16 categories, each represented by a single bit in the "categories" parameter, a value of 1 for a bit represents that this sprite is a part of that category and 0 that it does not belong to that category. Sprites can then be set to collide with certain categories using SetSpriteCollideBits regardless of which categories they themselves belong to.
By default all sprites belong to category 1 (0x0001 the rightmost bit) and collide with all categories (0xffff).
When the sprite is not setup for physics this test will only apply to the base shape at shapeID 1.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
Sets or removes a category that this sprite can collide with. Sprites are assigned categories using SetSpriteCategoryBit. There are 16 categories, a value of 1 for that category represents that this sprite will collide with sprites from that category and 0 that it will not collide with that category, regardless of which category this sprite itself belongs to. By default all sprites belong to category 1 and collide with all categories. This command is similar to SetSpriteCategoryBits except this command sets one category at a time whilst that command sets them all at once using a bit mask.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
Uses a bitwise mask to determine which sprite categories this sprite can collide with. Sprites are assigned categories using SetSpriteCategoryBits. There are 16 categories, each represented by a single bit in the "mask" parameter, a value of 1 for a bit represents that this sprite will collide with sprites from that category and 0 that it will not collide with that category, regardless of which category this sprite itself belongs to. By default all sprites belong to category 1 (0x0001 the rightmost bit) and collide with all categories (0xffff).
When the sprite is not setup for physics this test will only apply to the base shape at shapeID 1.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
void agk::SetSpriteColor( uint32_t iSpriteIndex, int iRed, int iGreen, int iBlue, int iAlpha )
Parameters
iSpriteIndex - The ID of the sprite to modify.
iRed - The red component of the color.
iGreen - The green component of the color.
iBlue - The blue component of the color.
iAlpha - The alpha component of the color. The acceptable range is from 0 to 255. When a value of 0 is used the sprite will be invisible. When a value of 255 is used the sprite will be fully opaque.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorAlpha.htm
deleted file mode 100644
index 2d7f0c69..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteColorAlpha - AGK Help
-
-
-
-
-
-
-
void agk::SetSpriteColorAlpha( uint32_t iSpriteIndex, int iAlpha )
Parameters
iSpriteIndex - The ID of the sprite to modify.
iAlpha - The alpha component of the color. The acceptable range is from 0 to 255. When a value of 0 is used the sprite will be invisible. When a value of 255 is used the sprite will be fully opaque.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorBlue.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorBlue.htm
deleted file mode 100644
index c823187c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteColorBlue.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteColorBlue - AGK Help
-
-
-
-
-
-
-
Sets the draw order for the sprite between 0-10000, 0 being the front of the screen, 10000 being the back. Anything above 10000 will result in the sprite being clipped from view. By default sprites are at depth 10. If two sprites occupy the same depth then the order they are drawn is undefined unless SetSortCreated is used to true, in which case sprites at the same depth will be drawn in the order they were created. For maximum performance it is recommended that every sprite has its own depth value unless the order they are drawn is not important, for example physics sprites that won't normally overlap. Note that if you are not using any 3D objects and you are using sprite depths greater then 5000 you should use SetGlobal3DDepth to 10000 to improve performance (essentially bringing all sprites to the front of the 3D renderer).
Definition
SetSpriteDepth ( iSpriteIndex, iDepth )
void agk::SetSpriteDepth ( uint32_t iSpriteIndex, int iDepth )
Parameters
iSpriteIndex - The ID of the sprite to modify.
iDepth - The depth this sprite should be drawn at.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFlip.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFlip.htm
deleted file mode 100644
index 900393ff..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFlip.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteFlip - AGK Help
-
-
-
-
-
-
-
Flips the sprite either horizontally or vertically, (or both). This merely modifies the UV coordinates so that the sprite appears flipped, it does not adjust position or angle values. Note that flipping in both horizontal and vertical directions at the same time gives the appearance of rotation by 180 degrees.
Definition
SetSpriteFlip ( iSpriteIndex, horz, vert )
void agk::SetSpriteFlip ( uint32_t iSpriteIndex, int horz, int vert )
Parameters
iSpriteIndex - The ID of the sprite to modify.
horz - 1 to flip to sprite horizontally left to right, 0 to keep the sprite normal.
vert - 1 to flip to sprite vertically top to bottom, 0 to keep the sprite normal.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFrame.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFrame.htm
deleted file mode 100644
index f948121e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteFrame.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteFrame - AGK Help
-
-
-
-
-
-
-
Assigns this sprite to a group for filtering collisions (physics or non physics). In physics, sprites of the same positive group ID will always collide, whilst those that share the same negative group ID will never collide. Those with a group ID of zero (default), or differing group IDs move on to the category filter check.
When the sprite is not setup for physics this test will only apply to the base shape at shapeID 1.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
Definition
SetSpriteGroup( iSpriteIndex, group )
void agk::SetSpriteGroup( uint32_t iSpriteIndex, int group )
SetSpriteGroup( iSpriteIndex, group, shapeID )
void agk::SetSpriteGroup( uint32_t iSpriteIndex, int group, int shapeID )
Parameters
iSpriteIndex - The ID of the sprite to modify.
group - The group ID to assign to this sprite.
shapeID - the ID of the shape to change, 0 to set all the sprite's shapes to this value
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteImage.htm
deleted file mode 100644
index 5f4a27ce..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteImage - AGK Help
-
-
-
-
-
-
-
Change the sprite image to a new loaded image. If the new image has a different size or shape from the old image the sprite may look distorted as a result, you can fix this by resetting the sprite dimensions using SetSpriteSize. If the sprite is animated you may also need to call SetSpriteAnimation again.
By default the collision shape is not modified, you can pass an additional parameter to update the collision shape although this is an expensive process. Using this command will clear any animation frames you have set with any of the sprite animation commands.
The offset point is the point that the sprite will rotate around, with (0,0) being the top left corner and (width,height) being the bottom right corner. The offset can also be used to position the sprite using SetSpritePositionByOffset, whilst SetSpritePosition will always position the sprite using its top left corner. If the sprite is scaled remember to take the scale into account, a sprite created as 10 by 10 units wide scaled by 0.5 will have a bottom right corner at 5,5 so to position the offset in the center would mean placing it at 2.5,2.5, when the sprite is scale back up the offset point will scale with it to maintain its relative position.
This command forces the recalculation of the sprite's shape due to a new center point, additional shapes are not recalculated so will become distorted from their original definition. It is not recommended calling this command on a sprite already setup for physics. Change the offset before applying physics or additional shapes.
Definition
SetSpriteOffset( iSpriteIndex, x, y )
void agk::SetSpriteOffset( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to modify.
x - The X distance from the top left corner to offset the rotation point.
y - The Y distance from the top left corner to offset the rotation point.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsAllowSleep.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsAllowSleep.htm
deleted file mode 100644
index 55fc3087..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsAllowSleep.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsAllowSleep - AGK Help
-
-
-
-
-
-
-
Sets some damping on the sprite's angular movement which may simulate something like wind resistance.
A value of 0 represents no damping, a value of 0.75 would reduce the angular velocity vector by half every second when running at 60 frames per second. Higher values will reduce the spin more quickly.
Similar to a torque force, but applied only once. Whilst forces are applied continuously over time gradually influencing a sprite's velocity, an impulse simulates the sprite being hit suddenly and immediately changes the angular velocity with the equivalent power of a similar torque force applied for 1 second.
If the sprite is constrained by surrounding objects it may not rotate unless the impulse is large enough to move those objects as well.
The reaction to an impulse is relative to the object's size, large objects will rotate slower than small objects given the same impulse.
Immediately sets the sprite's rotational velocity to the given direction. This is an abrupt change that might not look right during the physics simulation, torque and angular impulses are the preferred approach to influencing angular velocity.
Definition
SetSpritePhysicsAngularVelocity( iSpriteIndex, va )
void agk::SetSpritePhysicsAngularVelocity( uint32_t iSpriteIndex, float va )
Parameters
iSpriteIndex - The ID of the sprite to modify.
va - The new angular velocity.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCOM.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCOM.htm
deleted file mode 100644
index 9e46a6f8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCOM.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsCOM - AGK Help
-
-
-
-
-
-
-
Sets the center of mass (COM) relative to the sprite's offset. By default the AGK calculates the best location for the COM based on the size and location of all shapes attached to the sprite. Setting it to 0,0 will put the COM on the sprite's offset point (and center of rotation). If the COM is very different from the offset point the sprite may seem unstable as it will behave like an unbalanced spinning top.
Definition
SetSpritePhysicsCOM( iSpriteIndex, x, y )
void agk::SetSpritePhysicsCOM( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to modify.
x - The x coordinate of the center of mass.
y - The y coordinate of the center of mass.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCanRotate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCanRotate.htm
deleted file mode 100644
index 1099c72d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsCanRotate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsCanRotate - AGK Help
-
-
-
-
-
-
-
Sets some damping on the sprite's linear movement which may simulate something like wind resistance.
A value of 0 represents no damping, a value of 0.75 would reduce the velocity vector by half every second when running at 60 frames per second. Higher values will reduce the speed more quickly.
Turns off physics for this sprite and deletes all associated physics settings for this sprite. You can use this to change the mode or shape of a sprite but doing so regularly can affect the performance of the application.
Sets the density value to use for the given sprite shape during physics calculations. Default value is 1.0. This affects the mass calculation for the given size of the sprite. This command will recalculate the mass and center of mass for this sprite. Use a shapeID of 0 to apply this density to all shapes or specify a shape ID greater than 0 to apply it only to that shape. Shape IDs start at 1 for the first shape.
Applies a force to the sprite that will last for this frame only, to continue applying this force you must keep calling this function. The force consists of a point in world coordinates and a direction, if the point and direction are not in line with the sprite's offset point then it will result in a rotation of the sprite as it is moved by the force. The length of the force vector determines its strength. If the sprite is constrained by surrounding objects it may not move unless the force is large enough to move those objects as well.
Forces apply acceleration to an object relative to its mass, heavy objects will move less than light objects with the same force applied to them.
Definition
SetSpritePhysicsForce( iSpriteIndex, x, y, vx, vy )
Sets the friction value to use for this sprite during physics calculations. Should be in the range 0 to 1. By default this sets all the shapes assigned to this sprite to the same value, you can instead set it on a per shape basis by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning apply it to all shapes.
Similar to a force but applied only once. Whilst forces are applied continuously over time gradually influencing a sprite's velocity, an impulse simulates the sprite being hit suddenly and immediately changes the velocity with the equivalent power of a similar force applied for 1 second.
The impulse consists of a point in world coordinates and a direction, if the point and direction are not in line with the sprite's offset point then it will result in a rotation of the sprite as it is moved by the impulse. The length of the impulse vector determines it strength. If the sprite is constrained by surrounding objects it will impart the impulse onto those objects and may not move itself.
Impulses apply acceleration to an object relative to its mass, heavy objects will move less than light objects with the same impulse applied to them.
Definition
SetSpritePhysicsImpulse( iSpriteIndex, x, y, vx, vy )
Set this to true if the sprite is likely to be moving very fast, like a bullet, as it will then be checked more thoroughly for collision with other dynamic sprites, using this unnecessarily will affect performance. This is called Continuous Collision Detection (CCD) and applies automatically to collision checks between this sprite and static objects. This command turns CCD on for collision checks between this sprite and dynamic objects. This will not work if global CCD is turned off with SetPhysicsCCD.
Definition
SetSpritePhysicsIsBullet( iSpriteIndex, bullet )
void agk::SetSpritePhysicsIsBullet( uint32_t iSpriteIndex, int bullet )
Parameters
iSpriteIndex - The ID of the sprite to modify.
bullet - 1 to set this sprite as a bullet, 0 to turn it off.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsIsSensor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsIsSensor.htm
deleted file mode 100644
index d5e26651..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsIsSensor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsIsSensor - AGK Help
-
-
-
-
-
-
-
Set this to 1 to make the sprite a sensor object. Physics sensors detect collisions and contacts but do not respond to them, they also do not affect anything that hits them. Their only purpose is to detect collisions. If you apply this to a dynamic body it will not collide with anything and most likely fall through the floor and continue falling forever, it is still affected by forces.
By default this sets all shapes to the same value, you can set this value on a per shape basis by specifying a shapeID value greater than 0. Shape IDs start at 1 for the first shape, with shapeID 0 meaning apply it to all shapes.
This command overrides the calculated mass for this sprite and sets it to a value of your choice, in kilograms. Setting this too low or too high can cause an unstable simulation, especially if a very light object meets a very heavy object. The value range you should use depends on your chosen physics scale.
Internally a default mass per object is calculated based on its size. A 1m x 1m box would weigh 1 kg, so because of the default physics scale of 5, a 5 x 5 box in virtual units weighs 1 kg.
Definition
SetSpritePhysicsMass( iSpriteIndex, mass )
void agk::SetSpritePhysicsMass( uint32_t iSpriteIndex, float mass )
Parameters
iSpriteIndex - The ID of the sprite to modify.
mass - The new mass value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsOff.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsOff.htm
deleted file mode 100644
index ea817a3e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsOff.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsOff - AGK Help
-
-
-
-
-
-
-
Temporarily turns off physics for this sprite, it will no longer move or react to collisions or forces. Use SetSpritePhysicsOn to reactivate the sprite.
Sets the sprite up for automatic collision using the built physics system. Once you have set a sprite to be controlled by physics you should use SetSpritePosition and SetSpriteAngle sparingly as these will interrupt the physics motion of the sprite. You can also use the SetSpritePhysicsVelocity and SetSpritePhysicsAngularVelocity to change the speed and direction of a sprite, but again these will interfere with the physics motion of the sprite. If you wish to influence the position or rotation of a physics sprite you should use the force and torque (rotational force) functions where possible, these will maintain smooth physics motion.
The mode parameter lets you choose how the sprite should behave in the physics world. Static means it will never move or rotate, dynamic means it will respond to all collisions and forces it encounters, including gravity and collisions with static objects. Kinematic is a special case which can be thought of as a moving static body, it will not respond to collisions or forces and will continue at its specified velocity forever, but dynamic items will respond to it and effectively be pushed out of the way.
The physics shape used is determined by the SetSpriteShape command, which must be called before this command and is expensive to change for circle and polygon shapes as they rebuild a shape from the pixels of the sprite's image.
Once you have called this command to determine the mode of the sprite, further calls will ignore the mode values and it will only reactivate a sprite that has been turned off, as the mode cannot be changed whilst the sprite is in the physics system. If you wish to change the mode of a sprite call SetSpritePhysicsDelete, which will delete all its physics settings, then call SetSpritePhysicsOn with the new mode. But doing this too often will slow the system down.
All physics sprites should be world sprites (not fixed to the screen), unless SetViewOffset is set to 0,0 in which case this doesn't matter. Otherwise debug shapes will not line up and sprites from different view spaces will not interact properly.
Definition
SetSpritePhysicsOn( iSpriteIndex, mode )
void agk::SetSpritePhysicsOn( uint32_t iSpriteIndex, int mode )
Parameters
iSpriteIndex - The ID of the sprite to modify.
mode - The physics mode to use for this sprite, 1=static, 2=dynamic, 3=kinematic
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsRestitution.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsRestitution.htm
deleted file mode 100644
index 621ea2c5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpritePhysicsRestitution.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpritePhysicsRestitution - AGK Help
-
-
-
-
-
-
-
Sets the restitution (bounciness) value to use for this sprite during physics calculations. Should be in the range 0 to 1. Values greater than 1 will result in the sprite gaining energy from collisions which can cause an unstable result. By default this sets all the shapes assigned to this sprite to the same value, you can instead set it on a per shape basis by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning apply it to all shapes.
Applies a torque to the rotation of the sprite, similar to applying a force to its movement. If the sprite is constrained by surrounding objects it may not rotate unless the torque is large enough to move those objects as well. The torque will last for this frame only, to continue applying this torque you must keep calling this function.
The reaction to a torque force is relative to the object's size, large objects will rotate slower than small objects given the same torque.
Immediately sets the sprite's velocity to the given direction. This is an abrupt change that might not look right during the physics simulation, forces and impulses are the preferred approach to influencing velocity.
Immediately positions the specified sprite to the given X,Y world coordinates. The default world coordinate system has 0,0 as the top left corner, and 100,100 as the bottom right hand corner of the screen (this can be changed using SetVirtualResolution). This function always positions the sprite using its top left corner, regardless of the current sprite offset. The top left corner used to position the sprite does not rotate with the sprite, for example as the sprite rotates around its center the imaginary top left corner remains fixed and the sprite's position value does not change.
Immediately positions the specified sprite to the given X,Y world coordinates. The default world coordinate system has 0,0 as the top left corner, and 100,100 as the bottom right hand corner of the screen (this can be changed using SetVirtualResolution).
This function always positions the sprite using its current offset. For example if the current offset is the center of the sprite this command will place the center of the sprite at the given coordinates.
Sets the sprite scale as an absolute multiple of its original size. For example a scale value of 2 would double the sprite's size whilst a value of 1 will return it to its original size. This function scales from the top left corner so any increase in size will keep the top and left sides stationary whilst the bottom and right sides move. The sprites center of rotation (its current offset point) will scale with the sprite. To scale from the offset point use SetSpriteScaleByOffset.
Definition
SetSpriteScale( iSpriteIndex, x, y )
void agk::SetSpriteScale( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to modify.
x - The value to scale the sprite in the X direction.
y - The value to scale the sprite in the Y direction.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScaleByOffset.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScaleByOffset.htm
deleted file mode 100644
index 87e611e1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScaleByOffset.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteScaleByOffset - AGK Help
-
-
-
-
-
-
-
Sets the sprite scale as an absolute multiple of its original size. For example a scale value of 2 would double the sprite's size whilst a value of 1 will return it to its original size. This function scales from the sprite's center of rotation (its current offset point) so any increase in size will keep the offset point stationary whilst all four sides expand away from it. To scale from the top left corner use SetSpriteScale.
Definition
SetSpriteScaleByOffset( iSpriteIndex, x, y )
void agk::SetSpriteScaleByOffset( uint32_t iSpriteIndex, float x, float y )
Parameters
iSpriteIndex - The ID of the sprite to modify.
x - The value to scale the sprite in the X direction.
y - The value to scale the sprite in the Y direction.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScissor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScissor.htm
deleted file mode 100644
index ce3e8d80..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteScissor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteScissor - AGK Help
-
-
-
-
-
-
-
Sets the shader used to draw this sprite, loaded with LoadSpriteShader or LoadShader. By default sprites are assigned an internal shader that can handle 1 texture and a color. If you use a shader ID of 0 the sprite is assigned the internal shader.
Sets the current shape for use in collision detection, hit testing, and physics. A shape can be set without turning physics on, and by default all sprites are set to use the box shape, which is the fastest to setup. If you select no shape (0) then any existing shape will be deleted, and hit testing will use the sprite dimensions instead. Commands that require a shape such as GetspriteCollision will generate a box shape for the sprite if none exists. The shape parameter lets you define what type of bounding box the system should use to detect collisions. Circle will create a perfect circle centered on the sprite's rotation point and big enough to enclose the sprite's visible pixels. Box will create a box around the edges of the sprite, without regard to whether pixels are visible or not. Polygon will create a close fitting convex polygon around the visible pixels of a sprite, with a visible pixel being defined as one with an alpha value greater than 128.
This function will not work on dummy sprites as there is no image to use when calculating a shape, in these cases shapes must be specified manually using SetSpriteShapeBox, SetSpriteShapeCircle, or SetSpriteShapePolygon.
By default, setting a shape removes all other shapes assigned to the sprite and replaces it with this one. You can set shapes individually by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning delete all existing shapes before creating a new one at ID 1. This command only changes existing shapes, by default all sprites have a base shape at ID 1. You can add additional shapes by using the AddSpriteShape commands.
Definition
SetSpriteShape( iSpriteIndex, shape, shapeID )
void agk::SetSpriteShape( uint32_t iSpriteIndex, int shape, int shapeID )
SetSpriteShape( iSpriteIndex, shape )
void agk::SetSpriteShape( uint32_t iSpriteIndex, int shape )
Parameters
iSpriteIndex - The ID of the sprite to modify.
shape - The shape to use for this sprite, 0=no shape, 1=circle, 2=box, 3=polygon
shapeID - The ID of the shape to change, first shape is ID 1, 0=delete existing shapes and replace them with this new one
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeBox.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeBox.htm
deleted file mode 100644
index e0c27a85..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeBox.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteShapeBox - AGK Help
-
-
-
-
-
-
-
Overrides the current auto generated shape for use in collision detection, hit testing, and physics. A shape can be set without turning physics on, and by default all sprites are set to use the box shape, which is the fastest to setup. The box is defined by specifying its top left and bottom right coordinates in sprite space, relative to the offset of the sprite, by default this is the center of the sprite. For example if the current sprite offset was 0,0 the top left box corner would be 0,0, but if the sprite offset was the middle of the sprite (default) the top left corner would be -width/2,-height/2. You may also specify an angle to offset the box relative to the current sprite rotation.
By default, setting a shape removes all other shapes assigned to the sprite and replaces it with this one. You can set shapes individually by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning delete all existing shapes before creating a new one at ID 1. This command only changes existing shapes, by default all sprites have a base shape at ID 1. You can add additional shapes by using the AddSpriteShape commands.
Definition
SetSpriteShapeBox( iSpriteIndex, x, y, x2, y2, angle, shapeID )
void agk::SetSpriteShapeBox( uint32_t iSpriteIndex, float x, float y, float x2, float y2, float angle, int shapeID )
SetSpriteShapeBox( iSpriteIndex, x, y, x2, y2, angle )
Overrides the current auto generated shape for use in physics. Normal sprite collision and hit testing does not work with the chain shape, it is only for physics. A shape can be set without turning physics on, and by default all sprites are set to use the box shape, which is the fastest to setup. The chain is defined by a set of points (at least 2) relative to the current sprite's offset. For example, a point of 0,0 would be centered on the sprite's offset point, any other value will be offset from this point. Chains are rigid and can be used to create hollow concave polygons, or 2D terrains. Set the loop parameter to 1 to join to two ends of the chain together creating a hollow polygon. Points are defined one at a time by calling this command multiple times, with index starting at 0. Once the index equals numPoints-1 then the shape will be created using the previously defined points. Once you start defining points you must complete the process by reaching index=numPoints-1 before defining points for any other shape.
Using a shapeID of 0 removes all other shapes assigned to the sprite and replaces it with this one. You can set shapes individually by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape. This command only changes existing shapes, by default all sprites have a base shape at ID 1. You can add additional shapes by using the AddSpriteShape commands.
Definition
SetSpriteShapeChain( iSpriteIndex, numPoints, index, loop, x, y, shapeID )
void agk::SetSpriteShapeChain( uint32_t iSpriteIndex, uint32_t numPoints, uint32_t index, int loop, float x, float y, int shapeID )
Parameters
iSpriteIndex - The ID of the sprite to modify.
numPoints - The number of points to use in the chain, min 2, no maximum.
index - The index of the point to set, if it equals numPoints-1 then the shape will be created
loop - 1 to join the two ends of the chain together, 0 to leave them unconnected
x - X coordinate of the polygon to be added
y - Y coordinate of the polygon to be added
shapeID - The ID of the shape to change, first shape is ID 1, 0=delete existing shapes and replace them with this new one
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeCircle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeCircle.htm
deleted file mode 100644
index 5dd977cc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteShapeCircle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteShapeCircle - AGK Help
-
-
-
-
-
-
-
Overrides the current auto generated shape for use in collision detection, hit testing, and physics. A shape can be set without turning physics on, and by default all sprites are set to use the box shape, which is the fastest to setup. The circle is defined by specifying its center point relative to the sprite's current offset and a radius. For example, if the circle was to be centered on the sprite's offset point it would be specified at position 0,0. Any other value will offset the circle from the sprite. The radius is defined in x coordinates, due to world coordinates not necessarily representing the size of items on screen (e.g. 10 units in X may not be the same apparent size as 10 units in Y).
By default, setting a shape removes all other shapes assigned to the sprite and replaces it with this one. You can set shapes individually by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning delete all existing shapes before creating a new one at ID 1. This command only changes existing shapes, you can add additional shapes by using the AddSpriteShape commands.
Definition
SetSpriteShapeCircle( iSpriteIndex, x, y, radius )
Overrides the current auto generated shape for use in collision detection, hit testing, and physics. A shape can be set without turning physics on, and by default all sprites are set to use the box shape, which is the fastest to setup. The polygon is defined by a set of points (between 2 and 12) relative to the current sprite's offset. For example, a point of 0,0 would be centered on the sprite's offset point, any other value will be offset from this point. Points are defined one at a time by calling this command multiple times, with index starting at 0. Once the index equals numPoints-1 then the shape will be created using the previously defined points. Once you start defining points you must complete the process by reaching index=numPoints-1 before defining points for any other shape.
By default, setting a shape removes all other shapes assigned to the sprite and replaces it with this one. You can set shapes individually by specifying a shapeID greater than 0. Shape IDs start at 1 for the first shape, with 0 meaning delete all existing shapes before creating a new one at ID 1. This command only changes existing shapes, by default all sprites have a base shape at ID 1. You can add additional shapes by using the AddSpriteShape commands.
Definition
SetSpriteShapePolygon( iSpriteIndex, numPoints, index, x, y, shapeID )
void agk::SetSpriteShapePolygon( uint32_t iSpriteIndex, uint32_t numPoints, uint32_t index, float x, float y, int shapeID )
SetSpriteShapePolygon( iSpriteIndex, numPoints, index, x, y )
Sets the sprite to a new width and height. In the default coordinate system a width and height of 100,100 would fill the entire drawable screen (this can be changed using SetVirtualResolution). If either width or height is set, with the other set to -1, the -1 value will be recalculated to maintain the image's aspect ratio so it doesn't look stretched. If both width AND height are set to -1, then the sprite will take on the width of the assigned image and calculate its height so it isn't stretched. This function recalculates the sprite's collision shape, which can be a costly process for circle and polygon shapes. A more efficient way to change the size of a sprite is to scale it using the SetSpriteScale function. This function resets the scale of the sprite.
Turns on a special render mode that keeps the sprite on whole pixels only so it does not draw itself across pixel boundaries which may cause flickering as the sprite moves across the screen. As a consequence this may make the sprite appear to jump from the one pixel to the next as it moves instead of smoothly moving across the screen. If the sprite has alpha blended pixels along its edge then snapping is not required and can be turned off. By default this is turned off.
Definition
SetSpriteSnap ( iSpriteIndex, snap )
void agk::SetSpriteSnap ( uint32_t iSpriteIndex, int snap )
Parameters
iSpriteIndex - The ID of the sprite to modify.
snap - 1 to turn snapping on, 0 to turn it off
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteSpeed.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteSpeed.htm
deleted file mode 100644
index bcbac0f9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteSpeed.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteSpeed - AGK Help
-
-
-
-
-
-
-
Set the sprite transparency to a particular setting, with a choice of no transparency, alpha transparency, additive blending, and custom blending. By default sprites are created with alpha transparency, but if you do not need this it is recommended that you turn transparency off to improve performance. With custom blending you can specify the source and destination blend modes with the SetSpriteBlendModes command.
Definition
SetSpriteTransparency( iSpriteIndex, mode )
void agk::SetSpriteTransparency( uint32_t iSpriteIndex, int mode )
Parameters
iSpriteIndex - The ID of the sprite to modify.
mode - The transparency mode for this sprite, 0=off, 1=alpha transparency, 2=additive blending, 3=custom blending
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUV.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUV.htm
deleted file mode 100644
index c240a6f6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUV.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteUV - AGK Help
-
-
-
-
-
-
-
This command overrides the normal UV calculations of the sprites and allows you to set them directly for each vertex. Note that animation using sprite sheets or atlas textures will not function when using this command, and the UV offset and zoom functions will have no effect. You have complete control over the UV coordinates. To undo this use ResetSpriteUV to return to calculated UV coordinates.
Adjusts the UV coordinates of the sprite to create a border that moves the edge of the sprite inwards, away from the edge of the image applied to it. This can be useful for sub images loaded from an atlas texture where images might be packed very closely together. Using a border makes sure that the sprite doesn't accidentally sample from a neighbouring image, you could also fix this by adding space between the images on an atlas texture. By default a sprite uses a border of 0.5 pixels when its image is a sub image, and a border of 0 pixels when its has a normal image. If you have compensated for this yourself by adding spacing to the atlas image then setting the border to 0 removes the default offset and creates a pixel perfect reproduction of the sub image. You may also increase this border by setting the border greater than 0.5 pixels.
Offsets the sprites UV coordinates by the given amount. For example, offsetting by 0.5 in the U direction will make the sprite begin sampling the texture halfway across the top of the texture instead of the top left corner as normal. UV values outside the range of 0,0 (top left) and 1,1 (bottom right) can either wrap around or clamp the texture, which is decided by the image assigned to the sprite using SetImageWrapU and SetImageWrapV. Clamping or wrapping cannot be set on a per-sprite basis.
By default a sprite is set to use the UV coordinates 0,0 to 1,1 using the full image available to it. However there are several cases where this is changed by the AGK to hide certain limitations. If the texture assigned to the sprite is not a power of 2 width or height the image is increased in size until it is a power of 2 size and the UV coordinates for the sprite reduced so that the sprite only uses the portion of the texture containing the original image. This is because most mobile platforms do not support textures that are not a power of 2 width or height. Therefore offsetting the sprite's UV coordinates in this case will shift the sprite's usage of the texture into the undefined portion which is being used as padding.
Additionally if the sprite is using an image that belongs to an atlas texture the sprite's UV coordinates will be set so that it only uses the portion of the texture containing its assigned image. Offsetting the UV coordinates in this case will shift the sprite's usage of the texture into other images that are part of the atlas texture. The same can be said of sprites using an animation contained within a single texture using SetSpriteAnimation.
Due to these possibilities it is recommended that UV coordinates only be modified on sprites that are using whole images (not atlas textures) and which are a power of 2 size in both width and height. With these constraints it is possible to use UV values outside 0-1 to clamp or repeat the texture successfully.
Definition
SetSpriteUVOffset( iSpriteIndex, u, v )
void agk::SetSpriteUVOffset( uint32_t iSpriteIndex, float u, float v )
Parameters
iSpriteIndex - The ID of the sprite to modify
u - The amount to offset the UV coordinates in the U direction.
v - The amount to offset the UV coordinates in the V direction.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUVScale.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUVScale.htm
deleted file mode 100644
index 54ac292c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteUVScale.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteUVScale - AGK Help
-
-
-
-
-
-
-
Scales the sprites UV coordinates by the given amount. A sprite with UV scaled by 2 will make its texture look twice as big as normal. The UV scale does not affect the UV offset chosen using SetSpriteUVOffset, so that an offset of 0.5 in the U direction will always begin sampling halfway across the texture, the scale defines how far the sprite continues sampling. So with an offset of 0.5, a scale of 2 will make the sprite sample from 0.5 to 1 instead of 0.5 to 1.5.
By default a sprite is set to use the UV coordinates 0,0 to 1,1 using the full image available to it. However there are several cases where this is changed by the AGK to hide certain limitations. If the texture assigned to the sprite is not a power of 2 width or height the image is increased in size until it is a power of 2 size and the UV coordinates for the sprite reduced so that the sprite only uses the portion of the texture containing the original image. This is because most mobile platforms do not support textures that are not a power of 2 width or height. Therefore offsetting the sprite's UV coordinates in this case will shift the sprite's usage of the texture into the undefined portion which is being used as padding.
Additionally if the sprite is using an image that belongs to an atlas texture the sprite's UV coordinates will be set so that it only uses the portion of the texture containing its assigned image. Offsetting the UV coordinates in this case will shift the sprite's usage of the texture into other images that are part of the atlas texture. The same can be said of sprites using an animation contained within a single texture using SetSpriteAnimation.
Due to these possibilities it is recommended that UV coordinates only be modified on sprites that are using whole images (not atlas textures) and which are a power of 2 size in both width and height. With these constraints it is possible to use UV values outside 0-1 to clamp or repeat the texture successfully.
Immediately positions the specified sprite to the given X world coordinates. The default world coordinate system has 0,0 as the top left corner, and 100,100 as the bottom right hand corner of the screen (this can be changed using SetVirtualResolution).
This command positions the sprite by its top left corner.
Definition
SetSpriteX ( iSpriteIndex, fX )
void agk::SetSpriteX ( uint32_t iSpriteIndex, float fX )
Parameters
iSpriteIndex - The ID of the sprite to position
fX - The X coordinate to position the sprite, can use decimal values.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteY.htm
deleted file mode 100644
index 06abe7ec..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Sprite/SetSpriteY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetSpriteY - AGK Help
-
-
-
-
-
-
-
Immediately positions the specified sprite to the given Y world coordinates. The default world coordinate system has 0,0 as the top left corner, and 100,100 as the bottom right hand corner of the screen (this can be changed using SetVirtualResolution).
This command positions the sprite by its top left corner.
Creates a text object for displaying text on the screen using a blank ID, returns the ID used. By default text is drawn at depth 9 above the default depth of sprites (10). Any sprites set to a depth of 8 or less will appear above the text. You can override this using SetTextDepth to set your own draw order.
Immediately draws the text to the backbuffer at its current position, size, and rotation. This is useful if you want to take control of the order that things are drawn. If you do this then be sure to make the text invisible before calling Render or Sync otherwise your text will be drawn twice
Definition
DrawText( iTextIndex )
void agk::DrawText( uint32_t iTextIndex )
Parameters
iTextIndex - The ID of the text to draw.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/FixTextToScreen.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/FixTextToScreen.htm
deleted file mode 100644
index ae29c011..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/FixTextToScreen.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-FixTextToScreen - AGK Help
-
-
-
-
-
-
-
By default text objects are created in world coordinates and SetViewOffset can be used to move around the world. Use this command to instead fix the text to the screen so it will move with the viewport when the viewport is moved around. You can still reposition a text that is fixed to the screen, it only affects what happens when the viewport is moved.
Definition
FixTextToScreen( iTextIndex, mode )
void agk::FixTextToScreen( uint32_t iTextIndex, int mode )
Parameters
iTextIndex - The ID of the text to change.
mode - 1=screen text, 0=world text
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextAlignment.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextAlignment.htm
deleted file mode 100644
index 5ca8fd75..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextAlignment.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextAlignment - AGK Help
-
-
-
-
-
-
-
Returns 1 if the given point in world coordinates is inside the bounding box of the text. If you are testing a mouse or touch coordinate, remember to convert it to world coordinates using ScreenToWorldX and ScreenToWorldY.
This does not take into account individual character positions, for example if you have positioned a character using SetTextCharX or similar. Only the bounding box created by drawing the characters in their default positions is checked.
Definition
integer GetTextHitTest( iTextIndex, x, y )
int agk::GetTextHitTest( uint32_t iTextIndex, float x, float y )
Parameters
iTextIndex - The ID of the text object to check.
x - The x coordinate of the point to check in world coordinates.
y - The y coordinate of the point to check in world coordinates.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextLength.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextLength.htm
deleted file mode 100644
index 376f5847..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextLength.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextLength - AGK Help
-
-
-
-
-
-
-
Returns the current height of the text object in world units. This does not take into account the individual offsets of characters, if you have used SetTextCharY or similar to move a character. The returned value is the height used by the default drawing position of the text characters. Note that if the string of the text is empty then this value will return 0.
Returns the current width of the text object in world units. If the text object is displaying text over multiple lines it will return the width of the longest line. This does not take into account the individual offsets of characters, if you have used SetTextCharX or similar to move a character. The returned value is the width used by the default drawing position of the text characters.
Returns 0 if the current text has been set as invisible using SetTextVisible, 1 if it is set as visible (default). This does not check if the text is currently positioned withing the visible viewport.
Definition
integer GetTextVisible( iTextIndex )
int agk::GetTextVisible( uint32_t iTextIndex )
Parameters
iTextIndex - The ID of the text object to check.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextX.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextX.htm
deleted file mode 100644
index a2f8036f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/GetTextX.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTextX - AGK Help
-
-
-
-
-
-
-
Prints the given value or string to the screen but does not add a new line character to the end. The next Print or PrintC command will follow on directly from this one.
Definition
PrintC( szString )
void agk::PrintC( const char *szString )
PrintC( i )
void agk::PrintC( int i )
PrintC( f )
void agk::PrintC( float f )
Parameters
szString - The string to print.
i - The integer to print.
f - The float to print.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintColor.htm
deleted file mode 100644
index 7ee5d5d3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPrintColor - AGK Help
-
-
-
-
-
-
-
Sets the color of the printed text. This is a global command and will affect all printed text in the next call to Sync. To control color on a per string basis use the Text commands. This version sets the alpha to 255, fully opaque.
Sets the size that printed text will appear on the screen. This is a global command and will affect all printed text in the next call to Sync. To control size on a per string basis use the Text commands.
Definition
SetPrintSize( fSize )
void agk::SetPrintSize( float fSize )
Parameters
fSize - The size in virtual resolution pixels for the text.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintSpacing.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintSpacing.htm
deleted file mode 100644
index 97dca986..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetPrintSpacing.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetPrintSpacing - AGK Help
-
-
-
-
-
-
-
Sets the spacing between letters. A value of 0 puts no gap between the letter bounding boxes, a positive value increases this gap, a negative value overlaps the letters. This is a global command and will affect all printed text in the next call to Sync. To control spacing on a per string basis use the Text commands.
Definition
SetPrintSpacing( fSpacing )
void agk::SetPrintSpacing( float fSpacing )
Parameters
fSpacing - The letter spacing to use.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAlignment.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAlignment.htm
deleted file mode 100644
index 40e9e6ee..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAlignment.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextAlignment - AGK Help
-
-
-
-
-
-
-
Sets how the text should be positioned on screen. Left alignment positions the text using its top left corner, right alignment positions it using its top right corner, and center positions it using a point halfway along its top edge.
Definition
SetTextAlignment( iTextIndex, iMode )
void agk::SetTextAlignment( uint32_t iTextIndex, int iMode )
Parameters
iTextIndex - The ID of the text object to update.
iMode - The alignment mode to use. 0=left, 1=center, 2=right
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAngle.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAngle.htm
deleted file mode 100644
index dcc9b94c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextAngle.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextAngle - AGK Help
-
-
-
-
-
-
-
Updates the angle of the text. If the text is aligned to the left then it will rotate around its top left corner. When using center alignment it will rotate around a point halfway along its top edge. When using right alignment it will rotate around its top eight corner.
Updates the angle of the text. If the text is aligned to the left then it will rotate around its top left corner. When using center alignment it will rotate around a point halfway along its top edge. When using right alignment it will rotate around its top eight corner.
Sets all characters in the text to bold regardless of the current SetTextCharBold state. This setting will remain active until it is changed, setting a new text string will not change it.
Set the angle of an individual character in degrees, clockwise. The character will rotate around its center. If any of the following commands are called the rotation of all characters will be reset: SetTextPosition, SetTextX, SetTextY, SetTextSize, SetTextSpacing, SetTextAlignment.
Set the angle of an individual character in radians, clockwise. The character will rotate around its center. If any of the following commands are called the rotation of all characters will be reset: SetTextPosition, SetTextX, SetTextY, SetTextSize, SetTextSpacing, SetTextAlignment.
Sets the character to have the bold style. This only applies if the text is using a TrueType font set with SetTextFont. If you use SetTextString then this setting will be reset to 0. You can use SetTextBold to set the entire string to bold.
Set the position of an individual character relative to the text position set earlier. The character will be positioned using its top left corner. If any of the following commands are called the position of all characters will be reset to a straight line: SetTextPosition, SetTextX, SetTextY, SetTextSize, SetTextSpacing, SetTextAlignment. Positioning characters within a text object is more efficient than positioning lots of small text objects each containing a character as all the characters can be drawn in a single draw call.
Definition
SetTextCharPosition( iTextIndex, iCharIndex, x, y )
Set the X position of an individual character relative to the text position set earlier. The character will be positioned using its top left corner. If any of the following commands are called the position of all characters will be reset to a straight line: SetTextPosition, SetTextX, SetTextY, SetTextSize, SetTextSpacing, SetTextAlignment. Positioning characters within a text object is more efficient than positioning lots of small text objects each containing a character as all the characters can be drawn in a single draw call.
Definition
SetTextCharX( iTextIndex, iCharIndex, x )
void agk::SetTextCharX( uint32_t iTextIndex, uint32_t iCharIndex, float x )
Parameters
iTextIndex - The ID of the text to modify.
iCharIndex - The index of the character to modify, indexes start at 0, if the index is out of range it will be ignored.
x - The new X position of the character, relative to the current text position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextCharY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextCharY.htm
deleted file mode 100644
index 4f1716c6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextCharY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextCharY - AGK Help
-
-
-
-
-
-
-
Set the Y position of an individual character relative to the text position set earlier. The character will be positioned using its top left corner. If any of the following commands are called the position of all characters will be reset to a straight line: SetTextPosition, SetTextX, SetTextY, SetTextSize, SetTextSpacing, SetTextAlignment. Positioning characters within a text object is more efficient than positioning lots of small text objects each containing a character as all the characters can be drawn in a single draw call.
Definition
SetTextCharY( iTextIndex, iCharIndex, y )
void agk::SetTextCharY( uint32_t iTextIndex, uint32_t iCharIndex, float y )
Parameters
iTextIndex - The ID of the text to modify.
iCharIndex - The index of the character to modify, indexes start at 0, if the index is out of range it will be ignored.
y - The new Y position of the character, relative to the current text position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextColor.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextColor.htm
deleted file mode 100644
index 5a709318..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextColor.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextColor - AGK Help
-
-
-
-
-
-
-
Set the color of the text, the values should be in the range 0-255. This will set all characters in the text to be this color. You can set individual characters using SetTextCharColor.
Sets the default extended font to use for text objects. The extended font is for non standard characters above ascii value 127 and can be set separately to the standard characters so you can have multiple images for the extended set and a base image for the normal font characters.
The AGK has a built in extended font for characters 128 to 255 that it uses for text objects, this allows you to override it. If you do choose to override it you must do so before creating any text objects. You can set the font on a per text basis using SetTextExtendedFontImage. The image should contain all white characters surrounded by a transparent alpha channel. Fully transparent pixels should also contain white in their RGB components.
The extended font image may either be fixed width or variable width. For fixed width the font image must be laid out in a grid of 16 characters across and 8 characters down, starting with the ascii character 128 in the top left and proceeding left to right, top to bottom, ending with ascii character 255 in the bottom right. The image width must be divisible by 16 and the image height must be divisible by 8. For variable width the image must be an atlas texture accompanied by a subimages.txt file that states the location of each character on the image. The AGK will look for images "128" up to and including "255" in the subimages file and any not found will default to the space character (32).
Sets the default font to use for text objects. The AGK has a built in font that it uses for text objects, this allows you to override it. If you do choose to override it you must do so before creating any text objects. You can set the font on a per text basis using SetTextFontImage. The image should contain all white characters surrounded by a transparent alpha channel. Fully transparent pixels should also contain white in their RGB components.
The font image may either be fixed width or variable width. For fixed width the font image must be laid out in a grid of 16 characters across and 6 characters down, starting with the ascii character 32 (space) in the top left and proceeding left to right, top to bottom, ending with ascii character 127 (DEL) in the bottom right. The image width must be divisible by 16 and the image height must be divisible by 6. For variable width the image must be an atlas texture accompanied by a subimages.txt file that states the location of each character on the image. The AGK will look for images "32" up to and including "127" in the subimages file and any not found will default to the space character (32).
Sets the image filter for all text objects and print functions that are using the default font when the text image is larger than the screen space it occupies. Nearest filtering chooses the closest pixel to display and can look blocky. Linear filtering blends the 4 closest pixels and can look blurry.
Sets the image filter for all text objects and print functions that are using the default font when the text image is smaller than the screen space it occupies. Nearest filtering chooses the closest pixel to display and can look blocky. Linear filtering blends the 4 closest pixels and can look blurry.
Sets the draw order for the text between 0-10000, 0 being the front of the screen, 10000 being the back. Anything more than 10000 will result in the text being clipped from view.
By default text is set to depth 9 and appears above all other sprites in the scene, setting a greater depth will cause the text to be sorted into the transparent draw order list which may decrease performance. Use depth 0 for best performance.
Definition
SetTextDepth( iTextIndex, iDepth )
void agk::SetTextDepth( uint32_t iTextIndex, int iDepth )
Parameters
iTextIndex - The ID of the text to modify.
iDepth - The depth this text should be drawn at.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextExtendedFontImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextExtendedFontImage.htm
deleted file mode 100644
index 17bf4951..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextExtendedFontImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextExtendedFontImage - AGK Help
-
-
-
-
-
-
-
Sets the extended font to use for this text object. The extended font is for non standard characters above ascii value 127 and can be set separately to the standard characters so you can have multiple images for the extended set and a base image for the normal font characters. AGK has a built in extended font that it uses for text objects with characters 128 to 255, this command allows you to override it. If you are setting all your text objects to the same extended font you should use SetTextDefaultExtendedFontImage instead as this will save some processing time.
The image should contain all white characters surrounded by a transparent alpha channel. Fully transparent pixels should also contain white in their RGB components.
The font image may either be fixed width or variable width. For fixed width the font image must be laid out in a grid of 16 characters across and 8 characters down, starting with the ascii character 32 (space) in the top left and proceeding left to right, top to bottom, ending with ascii character 127 (DEL) in the bottom right. The image width must be divisible by 16 and the image height must be divisible by 6. For variable width the image must be an atlas texture accompanied by a subimages.txt file that states the location of each character on the image. The AGK will look for images "32" up to and including "127" in the subimages file and any not found will default to the space character (32). Variable height characters are not supported and all characters must be the same height with any necessary padding included in the font image.
If this text object is using a TrueType font then this command has no affect, the TrueType font handles both normal and extended (unicode) characters.
Sets the TrueType font to use for this text object. The font must have been loaded with LoadFont from a TrueType font file. This is different from the old bitmap fonts in that it supports unicode characters and the characters will usually appear sharper on screen at all sizes. Note that resizing a text object that is using a TrueType font will redraw all the characters from the font file onto an image for drawing, for large text sizes using hundreds of different unicode characters this could be a slow process but in normal use it is usually not noticeable. Recently used sizes are kept for a short period of time so if you are frequently switching between two or three text sizes then no redrawing will need to be done and it will be faster. Use a font ID of 0 to use the built in TrueType font that supports a wide range of unicode characters.
Sets the font to use for this text object. AGK has a built in font that it uses for text objects, this allows you to override it. If you are setting all your text objects to the same font you should use SetTextDefaultFontImage instead as this will save some processing time.
The image should contain all white characters surrounded by a transparent alpha channel. Fully transparent pixels should also contain white in their RGB components.
The font image may either be fixed width or variable width. For fixed width the font image must be laid out in a grid of 16 characters across and 6 characters down, starting with the ascii character 32 (space) in the top left and proceeding left to right, top to bottom, ending with ascii character 127 (DEL) in the bottom right. The image width must be divisible by 16 and the image height must be divisible by 6. For variable width the image must be an atlas texture accompanied by a subimages.txt file that states the location of each character on the image. The AGK will look for images "32" up to and including "127" in the subimages file and any not found will default to the space character (32). Variable height characters are not supported and all characters must be the same height with any necessary padding included in the font image.
As of version 2.0.20 you can use SetTextFont to use TrueType fonts instead of bitmap fonts. You must choose one or the other, setting a bitmap font will remove the Truetype font, and setting a TrueType font will remove the bitmap font.
Sets the spacing between text lines. A value of 0 puts no gap between the lines, a positive value increases this gap, a negative value overlaps the lines. If each character is built with some space above and below it in the font image then that is the default amount of spacing and this command will increase or decrease the spacing from that.
Updates the position of a text object in world coordinates, by default the text is positioned using its top left corner. When using right alignment the text is positioned using its top right corner. When using center alignment the text is positioned using a point halfway along its top edge.
Sets the shader used to draw this Text, loaded with Loadshader. By default Text objects are assigned an internal shader that can handle 1 texture and a color. If you use a shader ID of 0 the Text is assigned the internal shader.
Sets a shader constant array index by name, the constant must be marked as "uniform" in the shader source. Array indices start at 0, if the array index is out of bounds then it will be ignored and no changes will be made. This will affect only the specified text this shader. All shader values have 1 to 4 components, this command accepts 4 values and discards any that are not used by the named variable.
Sets a shader constant for a text by name, the constant must be marked as "uniform" in the shader source. The Text will set the specified constant to this value for any shader that it is applied to it. All shader values have 1 to 4 components, this command accepts 4 values and discards any that are not used by the named variable.
Sets the size of the text object, default is 4. This value represents the height of each character in world units. The width of each character is dependant on the font and is calculated to match the given size.
Sets the spacing between letters. A value of 0 puts no gap between the letter bounding boxes, a positive value increases this gap, a negative value overlaps the letters. If each character is built with some space either side of it in the font image then that is the default amount of spacing and this command will increase or decrease the spacing from that.
Set the text transparency to a particular setting, with a choice of no transparency, alpha transparency, and additive blending. By default text is created with alpha transparency.
Definition
SetTextTransparency( iTextIndex, mode )
void agk::SetTextTransparency( uint32_t iTextIndex, int mode )
Parameters
iTextIndex - The ID of the text to modify.
mode - The transparency mode for this text, 0=off, 1=alpha transparency, 2=additive blending
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextVisible.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextVisible.htm
deleted file mode 100644
index e96de7b2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextVisible.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextVisible - AGK Help
-
-
-
-
-
-
-
Updates the X position of a text object in world coordinates, by default the text is positioned using its top left corner. When using right alignment the text is positioned using its top right corner. When using center alignment the text is positioned using a point halfway along its top edge.
Definition
SetTextX( iTextIndex, fX )
void agk::SetTextX( uint32_t iTextIndex, float fX )
Parameters
iTextIndex - The ID of the text object to update.
fX - The new X position.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextY.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextY.htm
deleted file mode 100644
index 02c64c0d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Text/SetTextY.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTextY - AGK Help
-
-
-
-
-
-
-
Updates the Y position of a text object in world coordinates, by default the text is positioned using its top left corner. When using right alignment the text is positioned using its top right corner. When using center alignment the text is positioned using a point halfway along its top edge.
Since version 2.0.20 AGK has a new font system that can display more characters and render characters more smoothly, however to preserve backwards compatibility this is turned off by default. To use the new system set this command to 1. This only affects the default font where you haven't set one yourself.
Definition
UseNewDefaultFonts( mode )
void agk::UseNewDefaultFonts( int mode )
Parameters
mode - 1=use new default fonts, 0=use old default fonts
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time.htm
deleted file mode 100644
index c69eec58..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Time - AGK Help
-
-
-
-
-
-
-
Returns the days of a given unix time value (1 to 31). Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative.
Definition
integer GetDaysFromUnix( unixtime )
int agk::GetDaysFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetHoursFromUnix.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetHoursFromUnix.htm
deleted file mode 100644
index 923a0a8f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetHoursFromUnix.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetHoursFromUnix - AGK Help
-
-
-
-
-
-
-
Returns the hours of a given unix time value (0 to 23). Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative.
Definition
integer GetHoursFromUnix( unixtime )
int agk::GetHoursFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetLeapYear.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetLeapYear.htm
deleted file mode 100644
index fecc5e9a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetLeapYear.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetLeapYear - AGK Help
-
-
-
-
-
-
-
Returns the minutes of a given unix time value (0 to 59). Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative.
Definition
integer GetMinutesFromUnix( unixtime )
int agk::GetMinutesFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetMonthFromUnix.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetMonthFromUnix.htm
deleted file mode 100644
index 35cebbb7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetMonthFromUnix.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetMonthFromUnix - AGK Help
-
-
-
-
-
-
-
Returns the month of a given unix time value (1 to 12). Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative.
Definition
integer GetMonthFromUnix( unixtime )
int agk::GetMonthFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetSecondsFromUnix.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetSecondsFromUnix.htm
deleted file mode 100644
index 156392bf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetSecondsFromUnix.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetSecondsFromUnix - AGK Help
-
-
-
-
-
-
-
Returns the seconds of a given unix time value (0 to 59). Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative.
Definition
integer GetSecondsFromUnix( unixtime )
int agk::GetSecondsFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetUnixFromDate.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetUnixFromDate.htm
deleted file mode 100644
index 1fa43d35..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Time/GetUnixFromDate.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetUnixFromDate - AGK Help
-
-
-
-
-
-
-
Converts a given date and time into its unix time equivalent, unix time is the number of seconds since 1st Jan 1970. If not using 64 bit values then the unix time value is limited to 1901 to 2038 for the year.
Returns the year of a given unix time value. Unix time is represented as the number of seconds since the 1st Jan 1970, it may also be negative. If not using 64 bit values then the unix time value is limited to 1901 to 2038 for the year.
Definition
integer GetYearFromUnix( unixtime )
int agk::GetYearFromUnix( int unixtime )
Parameters
unixtime - A unix time value.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening.htm
deleted file mode 100644
index 8854ba0f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-Tweening - AGK Help
-
-
-
-
-
-
-
Applies the given tween ID to a given camera ID with an optional delay and adds it to the end of the chain. A tween can be added to multiple cameras at the same time, simply call this command again with a different camera ID. The camera will not be modified until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a camera the camera will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given character in a text object with an optional delay and adds it to the end of the chain. A tween can be added to multiple characters at the same time, simply call this command again with a different character or text ID. The character will not be modified until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a character the character will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Adds the given custom tween ID to the end of the chain with an optional delay. The tween will not start until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing it will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given object ID with an optional delay and adds it to the end of the chain. A tween can be added to multiple objects at the same time, simply call this command again with a different object ID. The object will not be modified until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on an object the object will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given sprite ID with an optional delay and adds it to the end of the chain. A tween can be added to multiple sprites at the same time, simply call this command again with a different sprite ID. The sprite will not be modified until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a sprite the sprite will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given text object ID with an optional delay and adds it to the end of the chain. A tween can be added to multiple text objects at the same time, simply call this command again with a different text object ID. The text object will not be modified until all preceding tweens in this chain have finished and the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a text object the text will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Creates an camera tween with a given duration and returns an ID for it. This tween is merely a template that can be applied to multiple cameras or chains at the same time. All tween types share the same ID space, so a camera tween of ID 1 cannot exist at the same time as an object tween with ID 1. You can set multiple parameters for this tween, such as X position and Angle, that will all move from their start values to their end values over the given duration.
Creates a tween chain that can be used to order tweens so they play one after the other. A tween chain can contain multiple sprites, characters, objects, etc, so that a camera tween can be triggered after a sprite tween has finished or vice versa. Multiple chains can be applied to the same sprites, objects, or others as long as the chains do not modify the same parameter at the same time. For example if chain 1 starts by modifying a sprites X value, and is played at the same time as chain 2 which also starts modifying the X value of the same sprite one chain will overwrite the changes of the other. Otherwise multiple chains on the same sprite will work correctly.
Definition
integer CreateTweenChain()
uint32_t agk::CreateTweenChain()
CreateTweenChain( chainID )
void agk::CreateTweenChain( uint32_t chainID )
Parameters
chainID - ID of the chain
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/CreateTweenChar.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/CreateTweenChar.htm
deleted file mode 100644
index 4a1f674e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/CreateTweenChar.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-CreateTweenChar - AGK Help
-
-
-
-
-
-
-
Creates a char tween with a given duration and returns an ID for it. This can be applied to individual characters of a text object. This tween is merely a template that can be applied to multiple text characters or chains at the same time. All tween types share the same ID space, so a sprite tween of ID 1 cannot exist at the same time as a char tween with ID 1. You can set multiple parameters for this tween, such as X position and Angle, that will all move from their start values to their end values over the given duration.
Creates a custom tween with a given duration and returns an ID for it. This tween is not associated with any item and its values can be read whilst it is running. This makes it useful for controlling values that are not covered by any of the other tween templates. All tween types share the same ID space, so a custom tween of ID 1 cannot exist at the same time as a sprite tween with ID 1. You can set multiple parameters for this tween, up to 4 float values and 4 integer values, that will all move from their start values to their end values over the given duration.
Creates an object tween with a given duration and returns an ID for it. This tween is merely a template that can be applied to multiple objects or chains at the same time. All tween types share the same ID space, so a sprite tween of ID 1 cannot exist at the same time as an object tween with ID 1. You can set multiple parameters for this tween, such as X position and Angle, that will all move from their start values to their end values over the given duration.
Creates a sprite tween with a given duration and returns an ID for it. This tween is merely a template that can be applied to multiple sprites or chains at the same time. All tween types share the same ID space, so a sprite tween of ID 1 cannot exist at the same time as a text tween with ID 1. You can set multiple parameters for this tween, such as X position and Angle, that will all move from their start values to their end values over the given duration.
Creates a text tween with a given duration and returns an ID for it. This tween is merely a template that can be applied to multiple text objects or chains at the same time. All tween types share the same ID space, so a sprite tween of ID 1 cannot exist at the same time as a text tween with ID 1. You can set multiple parameters for this tween, such as X position and Angle, that will all move from their start values to their end values over the given duration.
Returns 1 if the chain is currently working through its list of tweens. If the last tween has finished or the chain has yet to be started it will return 0.
Definition
integer GetTweenChainPlaying( chainID )
int agk::GetTweenChainPlaying( uint32_t chainID )
Parameters
chainID - ID of the chain to check
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/GetTweenCharEndTime.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/GetTweenCharEndTime.htm
deleted file mode 100644
index f671d26c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/GetTweenCharEndTime.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetTweenCharEndTime - AGK Help
-
-
-
-
-
-
-
Returns 1 if the given tween ID is currently playing on the given character and text object, otherwise 0. This will still return 1 if the tween is currently paused.
Pauses the given tween at its current point. It will not update again until ResumeTweenCamera is called. If the tween has already stopped or doesn't exist then this does nothing.
Pauses the given tween at its current point. It will not update again until ResumeTweenChar is called. If the tween has already stopped or doesn't exist then this does nothing.
Pauses the given tween at its current point. It will not update again until ResumeTweenCustom is called. If the tween has already stopped or doesn't exist then this does nothing.
Definition
PauseTweenCustom( tweenID )
void agk::PauseTweenCustom( uint32_t tweenID )
Parameters
tweenID - ID of the tween to pause
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/PauseTweenObject.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/PauseTweenObject.htm
deleted file mode 100644
index df652835..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/PauseTweenObject.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PauseTweenObject - AGK Help
-
-
-
-
-
-
-
Pauses the given tween at its current point. It will not update again until ResumeTweenObject is called. If the tween has already stopped or doesn't exist then this does nothing.
Pauses the given tween at its current point. It will not update again until ResumeTweenSprite is called. If the tween has already stopped or doesn't exist then this does nothing.
Pauses the given tween at its current point. It will not update again until ResumeTweenText is called. If the tween has already stopped or doesn't exist then this does nothing.
Applies the given tween ID to a given camera ID with an optional delay and starts playing it. A tween can be played on multiple cameras at the same time, simply call this command again with a different camera ID. The camera will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a camera the camera will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given character in a text object with an optional delay and starts playing it. A tween can be played on multiple characters across multiple text objects at the same time, simply call this command again with a different text or character ID. The character will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a character the character will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Plays the given custom tween ID with an optional delay and starts playing it. Unlike other tweens this is not applied to any specific item or object and cannot have multiple copies running at the same time, you will have to create a separate custom tween for each copy you want to run simultaneously. The tween values will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing the tween will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given object ID with an optional delay and starts playing it. A tween can be played on multiple objects at the same time, simply call this command again with a different object ID. The object will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a object the object will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given sprite ID with an optional delay and starts playing it. A tween can be played on multiple sprites at the same time, simply call this command again with a different sprite ID. The sprite will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a sprite the sprite will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Applies the given tween ID to a given text ID with an optional delay and starts playing it. A tween can be played on multiple text objects at the same time, simply call this command again with a different text ID. The text will not be modified until the delay time has passed, at which point the tween will start at the begin values and move towards the end values over the tween duration. If a tween end value is modified whilst the tween is playing on a text object the text will adjust its interpolation accordingly. Modifying the duration whilst playing is undefined and not compatible with chains.
Sets the Euler AngleX parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Euler AngleY parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Euler AngleZ parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Field Of View parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Z parameter of the given tween ID. A Tween can modify several parameters of a camera at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many cameras or chains at the same time with PlayTweenCamera or AddTweenChainCamera. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Jumps a tween chain to the specified position in its time line. If the tween chain is currently playing then the interpolation will evaluate the given time value and update the necessary objects. If the tween chain is not playing then this command has no effect as calling PlayTweenChain resets the time to 0. If the time happens to fall on a delay between tweens then the interpolation will remain unchanged until the delay is passed.
Definition
SetTweenChainTime( chainID, time )
void agk::SetTweenChainTime( uint32_t chainID, float time )
Parameters
chainID - ID of the chain to modify
time - The time in seconds to jump to in the tween chain
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/SetTweenCharAlpha.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/SetTweenCharAlpha.htm
deleted file mode 100644
index d5f2c5bf..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/SetTweenCharAlpha.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetTweenCharAlpha - AGK Help
-
-
-
-
-
-
-
Sets the Alpha parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Angle parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Blue parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Green parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Red parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. Character positions ar relative to the parent text object. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of a character at the same time. Set the begin value and the end value and an interpolation method. Character positions ar relative to the parent text object. A tween is just a template that can be applied to many characters or chains at the same time, including from different text objects, with PlayTweenChar or AddTweenChainChar. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the first float value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the second float value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the third float value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the fourth float value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the first integer value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the second integer value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the third integer value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the fourth integer value of the given custom tween ID. A Tween can modify several parameters at the same time. Set the begin value and the end value and an interpolation method. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Changes a tween's duration after it has been created. If the tween is currently running or is part of a chain that is currently running, then changing its duration may produce unexpected results.
Sets the Alpha parameter of the given tween ID in the range 0 to 255. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Euler AngleX parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Euler AngleY parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Euler AngleZ parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Blue parameter of the given tween ID in the range 0 to 255. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Green parameter of the given tween ID in the range 0 to 255. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Red parameter of the given tween ID in the range 0 to 255. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the ScaleX parameter of the given tween ID. The scale is absolute so a value of 1.0 will be normal size, whilst 2.0 would be two times bigger. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the ScaleY parameter of the given tween ID. The scale is absolute so a value of 1.0 will be normal size, whilst 2.0 would be two times bigger. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the ScaleZ parameter of the given tween ID. The scale is absolute so a value of 1.0 will be normal size, whilst 2.0 would be two times bigger. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Z parameter of the given tween ID. A Tween can modify several parameters of an object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many objects or chains at the same time with PlayTweenObject or AddTweenChainObject. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Alpha parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Angle parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Blue parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Green parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Red parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the SizeX parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the SizeY parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. This modifies the position of the sprite using its top left corner. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. This modifies the position of the sprite using its offset point, usually the center of the sprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. This modifies the position of the sprite using its top left corner. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of a sprite at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many sprites or chains at the same time with PlayTweenSprite or AddTweenChainSprite. This modifies the position of the sprite using its offset point, usually the center of the sprite. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Alpha parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Angle parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Blue parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Green parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Line Spacing parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Red parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Size parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Spacing parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the X parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Sets the Y parameter of the given tween ID. A Tween can modify several parameters of a text object at the same time. Set the begin value and the end value and an interpolation method. A tween is just a template that can be applied to many text objects or chains at the same time with PlayTweenText or AddTweenChainText. Available interpolation methods are TweenLinear(), TweenSmooth1(), TweenSmooth2(), TweenEaseIn1(), TweenEaseIn2(), TweenEaseOut1(), TweenEaseOut2(), TweenBounce(), TweenOvershoot() Use an interpolation method of -1 to turn off interpolation on this value
Stops a given tween ID if it is playing on a given camera. If the tween is not playing or has finished then this command has no effect. If the camera was in the middle of an interpolation it will remain at its current position, it will not skip to the end or return to the beginning.
Stops the given chain. If an item was in the middle of an interpolation it will stay at its current position, it will not skip to the end or return to the beginning. Playing the chain again will start it from the beginning.
Definition
StopTweenChain( chainID )
void agk::StopTweenChain( uint32_t chainID )
Parameters
chainID - ID of the chain to modify
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenChar.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenChar.htm
deleted file mode 100644
index 248910d6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenChar.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopTweenChar - AGK Help
-
-
-
-
-
-
-
Stops a given tween ID if it is playing on a given character of a text object. If the tween is not playing or has finished then this command has no effect. If the character was in the middle of an interpolation it will remain at its current position, it will not skip to the end or return to the beginning.
Stops a given custom tween ID if it is playing. If the tween is not playing or has finished then this command has no effect. If the tween was in the middle of an interpolation its values will remain at their current values, it will not skip to the end or return to the beginning.
Definition
StopTweenCustom( tweenID )
void agk::StopTweenCustom( uint32_t tweenID )
Parameters
tweenID - ID of the tween to stop
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenObject.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenObject.htm
deleted file mode 100644
index ff362ceb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/StopTweenObject.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopTweenObject - AGK Help
-
-
-
-
-
-
-
Stops a given tween ID if it is playing on a given object. If the tween is not playing or has finished then this command has no effect. If the object was in the middle of an interpolation it will remain at its current position, it will not skip to the end or return to the beginning.
Stops a given tween ID if it is playing on a given sprite. If the tween is not playing or has finished then this command has no effect. If the sprite was in the middle of an interpolation it will remain at its current position, it will not skip to the end or return to the beginning.
Stops a given tween ID if it is playing on a given text object. If the tween is not playing or has finished then this command has no effect. If the text was in the middle of an interpolation it will remain at its current position, it will not skip to the end or return to the beginning.
Uses a bounce affect at the end of the interpolation. This is just a helper function to avoid having to remember the integer value for this which is 7.
Definition
integer TweenBounce()
int agk::TweenBounce()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn1.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn1.htm
deleted file mode 100644
index afe6ce5a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn1.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenEaseIn1 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move from the start, this avoids a sudden start but still ends abruptly. This is just a helper function to avoid having to remember the integer value for this which is 3.
Definition
integer TweenEaseIn1()
int agk::TweenEaseIn1()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn2.htm
deleted file mode 100644
index d780bdb4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseIn2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenEaseIn2 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move from the start, similar to TweenEaseIn1 but more exaggerated. This is just a helper function to avoid having to remember the integer value for this which is 4.
Definition
integer TweenEaseIn2()
int agk::TweenEaseIn2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut1.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut1.htm
deleted file mode 100644
index c882c918..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut1.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenEaseOut1 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move towards the end, this avoids a sudden stop but still starts abruptly. This is just a helper function to avoid having to remember the integer value for this which is 5.
Definition
integer TweenEaseOut1()
int agk::TweenEaseOut1()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut2.htm
deleted file mode 100644
index 87185736..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenEaseOut2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenEaseOut2 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move towards the end, similar to TweenEaseOut1 but more exaggerated. This is just a helper function to avoid having to remember the integer value for this which is 6.
Definition
integer TweenEaseOut2()
int agk::TweenEaseOut2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenLinear.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenLinear.htm
deleted file mode 100644
index f6e4d8b6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenLinear.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenLinear - AGK Help
-
-
-
-
-
-
-
Uses linear interpolation to move from start to end, this is the simplest form of interpolation. This is just a helper function to avoid having to remember the integer value for this which is 0.
Definition
integer TweenLinear()
int agk::TweenLinear()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenOvershoot.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenOvershoot.htm
deleted file mode 100644
index 3f4196b5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenOvershoot.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenOvershoot - AGK Help
-
-
-
-
-
-
-
Uses an elastic affect at the end of the interpolation. This is the only interpolation method that exceeds the given range and is not suitable for colors. This is just a helper function to avoid having to remember the integer value for this which is 8.
Definition
integer TweenOvershoot()
int agk::TweenOvershoot()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth1.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth1.htm
deleted file mode 100644
index aec1a813..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth1.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenSmooth1 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move from start to end, this avoids a sudden start and stop. This is just a helper function to avoid having to remember the integer value for this which is 1.
Definition
integer TweenSmooth1()
int agk::TweenSmooth1()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth2.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth2.htm
deleted file mode 100644
index 07b12c82..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/TweenSmooth2.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-TweenSmooth2 - AGK Help
-
-
-
-
-
-
-
Uses a smooth curve to move from start to end, similar to TweenSmooth1 but more exaggerated. This is just a helper function to avoid having to remember the integer value for this which is 2.
Definition
integer TweenSmooth2()
int agk::TweenSmooth2()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateAllTweens.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateAllTweens.htm
deleted file mode 100644
index 3accb009..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateAllTweens.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-UpdateAllTweens - AGK Help
-
-
-
-
-
-
-
Updates all tweens started on individual items and chains. The time value allows you to control how quickly the tweens advance, and in most cases the result of GetFrameTime should be used. The time can be set negative so that any playing tweens will play in reverse until they reach their start points, however they will not stop playing when they reach the beginning and will instead wait for the time to become positive again or wait for you to stop them manually.
Definition
UpdateAllTweens( fTime )
void agk::UpdateAllTweens( float fTime )
Parameters
fTime - The time to advance the tweens
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateTweenCamera.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateTweenCamera.htm
deleted file mode 100644
index e475aa95..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Tweening/UpdateTweenCamera.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-UpdateTweenCamera - AGK Help
-
-
-
-
-
-
-
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. The tween must have already been started on the given camera with PlayTweenCamera or nothing will happen. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Updates the given tween chain. The time value allows you to control how quickly the chain advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the chain and the tweens it contains will play in reverse until it reaches the start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually.
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. The tween must have already been started on the given character with PlayTweenChar or nothing will happen. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. The tween must have already been started on the given object with PlayTweenObject or nothing will happen. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. The tween must have already been started on the given sprite with PlayTweenSprite or nothing will happen. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Updates a specific tween that has been started. The time value allows you to control how quickly the tween advances, and in most cases the result of GetFrameTime should be used. The time can be set negative so that the tween will play in reverse until it reaches its start point, however it will not stop playing when it reaches the beginning and will instead wait for the time to become positive again or wait for you to stop it manually. The tween must have already been started on the given text with PlayTweenText or nothing will happen. If you have started a lot of tweens playing, then updating each tween individually will be a lot more expensive than using UpdateAllTweens.
Returns the number of seconds the video lasts from start to finish. If this returns 0 then call it in a loop with Sync() to wait for the video to finish loading the meta data. If it returns less than 0 then this platform does not support this command or an error occurred. example: duration = GetVideoDuration() if ( duration = 0 ) repeat Sync() duration = GetVideoDuration() until duration != 0 endif
Definition
float GetVideoDuration()
float agk::GetVideoDuration()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoHeight.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoHeight.htm
deleted file mode 100644
index 026805a7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoHeight.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVideoHeight - AGK Help
-
-
-
-
-
-
-
Returns the height in pixels of the currently loaded video, if this returns 0 then call it in a loop with Sync() to wait for the video to finish loading the meta data. If it returns less than 0 then this platform does not support this command or an error occurred. example: height = GetVideoHeight() if ( height = 0 ) repeat Sync() height = GetVideoHeight() until height != 0 endif
Definition
float GetVideoHeight()
float agk::GetVideoHeight()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoPlaying.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoPlaying.htm
deleted file mode 100644
index 44bd0e43..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/GetVideoPlaying.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-GetVideoPlaying - AGK Help
-
-
-
-
-
-
-
Returns the width in pixels of the currently loaded video, if this returns 0 then call it in a loop with Sync() to wait for the video to finish loading the meta data. If it returns less than 0 then this platform does not support this command or an error occurred. example: width = GetVideoWidth() if ( width = 0 ) repeat Sync() width = GetVideoWidth() until width != 0 endif
Definition
float GetVideoWidth()
float agk::GetVideoWidth()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/IsScreenRecording.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/IsScreenRecording.htm
deleted file mode 100644
index 1669c63f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/IsScreenRecording.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-IsScreenRecording - AGK Help
-
-
-
-
-
-
-
Returns 1 if the screen recording is currently active, 0 if it has stopped. On Android it could have stopped because the app was sent to the background, or another activity such as an In App Purchase was activated.
Definition
integer IsScreenRecording()
int agk::IsScreenRecording()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/LoadVideo.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/LoadVideo.htm
deleted file mode 100644
index a3d51238..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/LoadVideo.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-LoadVideo - AGK Help
-
-
-
-
-
-
-
This command loads a video file ready to be played. Only one video file can be loaded at a time so loading a video deletes any existing video. On iOS, Android, and Mac it is recommended that you use .mp4 files with the H264 (MPEG-4 AVC) codec for video. For audio it must be encoded in MP3 or AAC. On Windows it depends on the codecs installed and although in some cases it will play mp4 files it is recommended that you use wmv on Windows for maximum support. Returns 1 if successful, 0 if there was an error, -1 if this platform does not support videos.
Definition
integer LoadVideo( szFilename )
int agk::LoadVideo( const char *szFilename )
Parameters
szFilename - The video file to load.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PauseVideo.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/PauseVideo.htm
deleted file mode 100644
index a0078a02..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PauseVideo.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PauseVideo - AGK Help
-
-
-
-
-
-
-
Plays the video on screen or resumes it from pausing. You can either use this command or PlayVideoToImage, but not both. If you pause the video you must resume it using the same command you used to start it.
Definition
PlayVideo()
void agk::PlayVideo()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayVideoToImage.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayVideoToImage.htm
deleted file mode 100644
index a5fa2381..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayVideoToImage.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PlayVideoToImage - AGK Help
-
-
-
-
-
-
-
Plays the video or resumes it from pausing. Plays the video to an image instead of to the screen, the image must not already exist. The image will be deleted when you call DeleteVideo, you must not delete it manually. You can either use this command or PlayVideo, but not both. If you pause the video you must resume it using the same command you used to start it, with the same parameters. Currently this is only supported on iOS 7.0 or above, Android 4.0.3 or above, and Windows.
Definition
PlayVideoToImage( imageID )
void agk::PlayVideoToImage( uint32_t imageID )
Parameters
imageID - An ID to use to reference the new image, must not already exist
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayYoutubeVideo.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayYoutubeVideo.htm
deleted file mode 100644
index 46711219..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/PlayYoutubeVideo.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-PlayYoutubeVideo - AGK Help
-
-
-
-
-
-
-
Plays the specified Youtube video in a separate window above your app. For Android you must enable the Youtube Data API v3 in the Google Cloud Console for your app, and create an API key for it in the credentials section. You can create a key specifically for use with the Youtube API, or you can use an unrestricted key that can be used by multiple APIs. The videoID is the string that follows the ?v= part of a Youtube URL, e.g. "eLIgxYHCgWA". You can also specify a start time to start playing the video from part way through instead of starting from the beginning. The time is specified in seconds and accepts decimal values to represent fractions of a second.
On Windows, Mac, and Linux this command will open the default browser to play the Youtube video. The developer key field is only required on Android.
Sets the width, height, and position of the video whilst it is playing. Can be called before or during playback. The coordinates are in AGK screen coordinates based on your chosen virtual resolution. The aspect ratio is not preserved and will be stretched to fit your chosen dimensions. To find the actual size of the video in pixels use GetVideoWidth and GetVideoHeight. An exception to the stretching is Windows which will always keep the aspect ratio of the original video and add black borders where necessary.
Seeks the video to the given position. This is not guaranteed to be 100% accurate, the device may choose to seek to the nearest keyframe, which may be up to 10 seconds before or after your chosen time.
Definition
SetVideoPosition( seconds )
void agk::SetVideoPosition( float seconds )
Parameters
seconds - The position in the video to seek to
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/SetVideoVolume.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/SetVideoVolume.htm
deleted file mode 100644
index 34b5f8ec..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/SetVideoVolume.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-SetVideoVolume - AGK Help
-
-
-
-
-
-
-
Starts recording the screen and saving it to a file. Currently only supported on iOS 9.0 and above and Android 5.0 and above. On iOS the filename is ignored as the device will always save the recording in the camera roll.
On Android the microphone parameter can be set to 1 to record audio from the device microphone during the recording. A value of 0 will produce a silent video as Android does not support recording audio directly from the app. However the audio output from the app may be audible through the microphone when using mode 1. Recording through the microphone requires that you enable the "RecordAudio" permission when exporting your APK.
On iOS a microphone value of 1 will record both the app audio output and the microphone, a value of 0 will only record the app audio.
On Android 6 and below the recording may stop at any time, for example if the app is sent to the background, or if another activity is activated such as an In App Purchase. On Android 7 and above the recording will pause when the app is in the background and resume when the app resumes. On iOS the recording will continue after such interruptions, until StopScreenRecording is called.
Definition
StartScreenRecording( szFilename, microphone )
void agk::StartScreenRecording( const char *szFilename, int microphone )
Parameters
szFilename - The path to save the video, should end in .mp4, can be a "raw:" file path
microphone - 1 to record from the microphone, 0 to record from the device
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopScreenRecording.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopScreenRecording.htm
deleted file mode 100644
index d40347e4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopScreenRecording.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopScreenRecording - AGK Help
-
-
-
-
-
-
-
Stops any current screen recording. If the recording has already stopped then this has no effect. On iOS this will prompt the user to edit and/or save the video, they can also choose to discard it. On Android the user sees no change and the video is silently saved in the background.
Definition
StopScreenRecording()
void agk::StopScreenRecording()
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopVideo.htm b/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopVideo.htm
deleted file mode 100644
index c5c13fc2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/Reference/Video/StopVideo.htm
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-StopVideo - AGK Help
-
-
-
-
-
-
-
When starting an AppGameKit Studio project one of the first choices to make relates to the positioning of your sprites and other entities. You can either choose to go with a virtual resolution or a percentage based system. Each method has its advantages and disadvantages, and which route you choose is purely down to personal preference.
What is a virtual resolution?
A virtual resolution provides you with an option to specify a fixed resolution e.g. 320 x 480. Once this resolution has been set 0, 0 becomes the top left corner of the screen, while 320, 480 becomes the bottom right corner. When setting a virtual resolution, the base resolution is then scaled up or down dependant on the platform.
If you had artwork designed for a 320 x 480 resolution you might find it very convenient to set a virtual resolution to match this, then within your code it's a case of matching sprite positions to those provided by the artist.
Virtual resolutions are not tied into the device resolution, so in some cases your application may have black borders applied when it's not possible to scale without affecting proportion.
Some advantages of using a virtual resolution include:
Traditional approach - many developers are already used to dealing with screen coordinates
Easy to understand and use
Quick to set up
Disadvantages include:
Locked into a specific aspect ratio. Imagine in the future if your original 320 x 480 size were redone at 768 x 1024. In this instance you would have to adjust code to deal with updated positions, sizes, etc.
What is the percentage based system?
The percentage based system provides an alternative approach to dealing with positioning sprites. With this approach, instead of specifying your coordinates in pixels, you deal with percentages, therefore 0, 0 is the top left corner of the screen, while 100, 100 becomes the bottom right corner.
In this instance positioning a sprite at 50, 50 will place it in the centre of the screen.
In reality the percentage system is just a virtual resolution of 100 x 100 with a distorted aspect ratio, you choose which aspect ratio with the SetDisplayAspect command. For example 320 x 480 is an aspect ratio of 0.66 so using this value would stretch the 100x100 square into a rectangle that would be full screen on a 320 x 480 device. AppGameKit Studio will automatically scale up the app on devices that support higher resolutions using black borders where necessary to maintain your desired aspect ratio.
One disadvantage of this is that creating a sprite of size 10 x 10 would not produce a square as expected, since the 100 units in the X direction cover less space than the 100 units in the Y direction. To combat this AppGameKit Studio allows you to specify a size of -1 for one axis to mean don't stretch the sprite, using a square image on a sprite with size 10 x -1 would make sure it appears square on screen by choosing an appropriate Y size.
Some advantages of using a percentage based system include:
More flexibility for the future. If you decide you want to work in a different aspect ratio you only need to change SetDisplayAspect
Disadvantages include:
Slightly harder to use initially. It is somewhat different from the typical approach of placing sprites using screen coordinates,
More work involved in the initial set up. You always need to specify the size of sprites, for example, a sprite may have dimensions of 10% by 15%.
Which method should I choose?
It's probably easier and quicker to use a virtual resolution, however, using the percentage based system is more future proof and flexible, but at the drawback of being slightly more complicated and needing more code initially. The important point here is that it's advisable to make this decision at the start of your development in order to avoid complications later by swapping halfway through.
How do I specify a virtual resolution?
To specify a virtual resolution you need to call the command SetVirtualResolution and pass in the width and height e.g.
SetVirtualResolution ( 1024, 768 )
-
agk::SetVirtualResolution ( 1024, 768 );
-
A game that runs on a device supporting this resolution will fill the screen completely. In cases where the resolution is different the game will show black borders.
It's advisable to call this line at the beginning of your program code.
How do I use the percentage system?
In order to use the pecentage based system you will need to specify an aspect ratio, which is responsible for controlling the way your graphics will scale. Which aspect ratio is used will be dependent on your base starting point, for example, if your graphics are designed for a screen with a resolution of 320 * 480 then your aspect ratio will be 320 / 480 which is roughly 0.66 e.g.
SetDisplayAspect ( 320.0/480.0 )
-
agk::SetDisplayAspect ( 320.0f/480.0f );
-
A game that runs on a device supporting this aspect ratio will fill the screen completely. In cases where the aspect ratio is different the game will have black borders.
The percentage system is more flexible than using a virtual resolution. Here's an example scenario: a game is developed with graphics set up for an aspect ratio of 1024 / 768 (1.33). Some time later a new device comes along that has a resolution of 1280 x 800. This device's aspect ratio is also 1.6. In this instance your app will work but it will have black borders to fill in the extra space around your 1024 x 768 app. Using the virtual resolution system would require redoing all the positions and sizes of all sprites, whereas the percentage system is more flexible and an aspect ratio change will automatically move sprites closer together to compensate.
Specifying orientations
An AppGameKit Studio game will automatically rotate to the current orientation of the device. On platforms like Windows and Mac the orientation is unlikely to change, but on mobile platforms it's possible that different landscape and portrait orientations are available. By default AppGameKit Studio will automatically update for all orientations. To control this use the command SetOrientationAllowed, it takes four parameters - portrait, portrait2, landscape and landscape2 controlling the default device orientation, the upside down portrait orientation, the landscape orienation when the device is rotated left from its default position and finally the landscape orientation when the device is rotated right from its default position. This command allows you to specify which orientations are supported, for example, an iPad game designed for 1024 x 768 may only support landscape modes and this would be handled with:
SetOrientationAllowed ( 0, 0, 1, 1 )
-
agk::SetOrientationAllowed ( 0, 0, 1, 1 );
-
To support only portrait:
SetOrientationAllowed ( 1, 1, 0, 0 )
-
agk::SetOrientationAllowed ( 1, 1, 0, 0 );
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/0_media.htm b/AGK/AGK Help Generator/AGK Txt/guides/0_media.htm
deleted file mode 100644
index 0ecb03a9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/0_media.htm
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-Media and File Paths - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
By default all file commands will attempt to load from the MEDIA folder included with the app. However, the root of the AppGameKit Studio file system starts at the app's executable location which you can access using
SetFolder( "/" )
-
agk::SetFolder( "/" );
-
and you can reset this path back to the media folder by using
SetFolder( "/media" )
-
agk::SetFolder( "/media" );
-
Using a forward slash at the beginning of any file path will start from AppGameKit Studio's root folder path, otherwise the path will be in addition to the current folder. For example:
LoadImage( 1, "MyImage.png" ) // will attempt to load "/media/MyImage.png"
-
LoadImage( 1, "MyImage.png" ) // will attempt to load "/media/MyImage.png"
-
SetFolder( "/" )
-SetFolder( "media" )
-SetFolder( "images" )
-LoadImage( 1, "MyImage.png" ) // will attempt to load "/media/images/MyImage.png"
-
agk::SetFolder( "/" );
-agk::SetFolder( "media" );
-agk::SetFolder( "images" );
-agk::LoadImage( 1, "MyImage.png" ); // will attempt to load "/media/images/MyImage.png"
-
SetFolder( "/" )
-SetFolder( "media" )
-SetFolder( "images" )
-LoadImage( 1, "/media/MyImage.png" ) // will attempt to load "/media/MyImage.png"
-
agk::SetFolder( "/" );
-agk::SetFolder( "media" );
-agk::SetFolder( "images" );
-agk::LoadImage( 1, "/media/MyImage.png" ); // will attempt to load "/media/MyImage.png"
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/10_ide.htm b/AGK/AGK Help Generator/AGK Txt/guides/10_ide.htm
deleted file mode 100644
index 42fad0fe..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/10_ide.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-IDE - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The IDE (Integrated Development Environment) is used for developing applications in AppGameKit Studio using Tier 1 (BASIC).
Launching the IDE
Upon launching the IDE you will be presented with this screen, from where you can handle tasks such as creating or opening a project, altering IDE settings and viewing the documentation:
Viewing the documentation
AppGameKit Studio comes supplied with extensive documentation covering areas such as the principles of the language (BASIC), guides explaining topics like sprites, full explanations of all examples and a reference section covering the command set. To view the documentation select the Help menu and then click on the Help link:
The documentation will open in your default web browser and display the home page, from where you can access all of the content:
Opening an existing project
The IDE displays a Welcome screen upon launch. This screen provides the option to create a new project or open an existing project or workspace. A project is a standalone program, while a workspace is a collection of projects. Click on the link to Open an existing project:
Using the open file dialog, navigate to the location where AppGameKit Studio is installed and enter the Projects folder:
The Projects folder contains 2 folders; Basic and Native. The Basic folder contains contents for Tier 1 users, while the Native folder contains content for Tier 2 users. Select the Basic folder:
Within the Basic folder is a file named examples.workspace. This workspace holds a collection of all the example programs provided with AppGameKit Studio. Select examples.workspace and click on the Open button.
Once the workspace has opened, the Projects Panel on the left side of the IDE will display a list of projects. Each of these projects is a self contained program that can be run on its own.
Example projects
By default the workspace General - Core will be in bold. This means that this is the currently active project. Click on the + button next to General - Core. You will now see a blue folder called Source Code. Click on the + button next to Source Code. This will expand to show you main.agc, which contains the source code for this particular project. Double click on main.agc:
Viewing the code
After double clicking on main.agc the IDE will open a code window on the right side:
Running a program
To run this program select the Build menu and then Compile, run and broadcast:
The Compile, run and broadcast button can also be selected from the toolbar:
After selecting Compile, run and broadcast either from the toolbar or menu the example program General - Core will be launched and a small window will pop up on screen and display some information:
Compile options
Three options are available for the compilation process -
The Compile button will only compile the program. This is useful for checking whether there are any syntax errors within your program:
The Run button will launch the last compiled program. If you haven't made any changes to your program and want to launch it again select the Run option. The benefit of this is that your program does not need to be compiled again and can save time:
The Compile, run and broadcast button will compile the program, run it and broadcast it across your network for testing on platforms that use the AppGameKit Studio Player:
Running another project
The Compile, run and broadcast option runs the currently activated project. To activate the project Sprites - SpriteProperties select it from the list of projects in the Projects Panel:
Right click and a popup menu will appear, click on Activate project:
Expand the items for Sprites - SpriteProperties in the Projects Panel:
Double click on main.agc and the source code will be displayed in the main editing area:
Now that the project Sprites - SpriteProperties is active, select Compile, run and broadcast from the toolbar:
The program will launch and be displayed on screen:
Creating a new project
To return to the Welcome screen close the currently open workspace by going to the File menu and selecting Close Workspace. The Welcome will be displayed. Select Create a new project:
A dialog will be displayed that allows you to select what kind of project you want to create. The available options are:
AppGameKit Studio Generic Project - will create a project that does not define any display data
AppGameKit Studio Landscape Project - will create a project with a landscape aspect ratio
AppGameKit Studio Portrait Project - will create a project with a portrait aspect ratio
Select AppGameKit Studio Landscape Project and click on the Go button:
A dialog will be displayed with more information. Select Next to continue:
The next dialog will prompt you for more details about the project. After suppling a name for the project the other fields will be filled in automatically. Click on Finish to complete the process:
You will now be presented with your project:
Within the Projects Panel expand the projects file listings:
Double click on main.agc and the code for this file will appear in the main editing area:
The file named setup.agc will be automatically added to any new project. This file is used to set properties for your application when running on platforms that create a window, such as Mac OS X and Microsoft Windows. Try opening the file:
You can edit each of the fields within this source file to modify the window title, the width and height of the window and whether the application is to launch in full screen mode. For example, on Windows you may prefer your application to have a windows size of 1024 x 768, so you need to open setup.agc, edit the width line so it shows width=1024 and then edit the height line to height=768. The fullscreen value is 0 by default, meaning a window will be created, changing this to 1 will ensure your application uses full screen on Windows and Mac OS X.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/11_spine_import.htm b/AGK/AGK Help Generator/AGK Txt/guides/11_spine_import.htm
deleted file mode 100644
index 15eab91d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/11_spine_import.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Importing Spine Files - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Spine covers a few file formats that each have their own restrictions when importing them into AppGameKit Studio as not everything is supported. This document will list the things you should be aware of when dealing with Spine and AppGameKit Studio.
Atlas Files
Spine allows you to export your textures as an atlas file which combines the images used in your animation into a single image file. This is accompanied by a file with the extension .atlas which is similar to AppGameKit Studio's subimages.txt file. This is the easiest way to assign your images to a skeleton in AppGameKit Studio so exporting an atlas texture is highly recommended. The ability to load .atlas files has been added to AppGameKit Studio for version 2, so you may choose subimages.txt or .atlas to describe the sub images, subject to the following conditions.
The .atlas file must have the same filename as the image it refers to, for example myimage.png would be accompanied by myimage.atlas
The .atlas file must only reference a single PNG or JPG file, Spine supports multiple images with a single .atlas file, AppGameKit Studio only supports a single image with an atlas file
AppGameKit Studio does not support the rotation setting from the Spine export, be sure to uncheck the rotation box in the export settings before exporting
AppGameKit Studio supports non-power of 2 images, but to save memory use power of 2 images if possible.
Skins
Spine supports exporting multiple skins with the same skeleton file. AppGameKit Studio does not support this and will only load at the default skin. We are hoping to support changing the atlas texture at runtime in the future.
Spine allows the attaching of bounding boxes to slots, currently AppGameKit Studio does not support this.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/12_array_changes.htm b/AGK/AGK Help Generator/AGK Txt/guides/12_array_changes.htm
deleted file mode 100644
index ad2d19fe..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/12_array_changes.htm
+++ /dev/null
@@ -1,409 +0,0 @@
-
-
-
-Arrays Enhanced - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The Arrays have some enhanced features, in particular the ability to sort, insert, and pass by reference into functions.
Array Declaration and Resizing
To maintain backwards compatibility arrays can still be defined with DIM, but version 2 introduces a new method of defining arrays that will become particularly important when defining them in types. Note that both DIM arrays and new style arrays perform exactly the same after they are declared so any functions mentioned here will also work on DIM arrays. The new method is mainly for consistency. The new method is as follows
myArray as integer[5]
-
The keyword DIM is not used and the size is moved to the end of the declaration. Arrays declared like this can only be declared once, unlike DIM arrays which can be declared multiple times to resize the array. The prefered method of resizing an array is now:
myArray.length = newSize
-
Where newSize can be any expression that could be assigned to a variable. An array length can also be discovered by using it as an expression like so
print( myArray.length )
-
Note that because arrays start at index 0 and allow the size parameter as a valid index, an array defined as "DIM myArray[2]" or "myArray as integer[2]" would have 3 elements (0,1, and 2) but array.length will return "2" to reflect the size parameter that was used to declare it. Therefore an array of length 0 has one element and an empty array will return the length "-1".
For simplicity it may be beneficial to ignore index 0 at first, and assume that arrays start at index 1. This way the length parameter matches the number of assumed elements in the array and index 0 can be introduced as an additional element later. Some people used to use index 0 to store the length of the array for convenience, but with the new changes this is no longer necessary.
Inserting and Removing
Elements can now be inserted and removed from arrays which will increase or decrease their size accordingly. For example
myArray as integer[] // creates an empty array
-myArray.insert(5) // insert 5 at the end of the array
-myArray.insert(7) // array now has the elements 5,7
-print( myArray.length ) // will display "1" meaning it has two elements
-myArray.remove() // removes the 7
-myArray.remove() // removes the 5
-print( myArray.length ) // will display "-1" meaning the array is empty
-
If an array is declared with a size parameter then elements will be inserted after the last existing element, for example
myArray as integer[5]
-myArray.insert(15) // array now has the elements 0,0,0,0,0,0,15
-print( myArray.length ) // will display "6" meaning it has seven elements
-myArray.remove() // removes the 15
-myArray.remove() // removes the last zero
-print( myArray.length ) // will display "4"
-
Elements can also be inserted at specific points in the array by adding an index parameter to the insert or remove command like so
myArray as integer[4]
-myArray[0] = 10
-myArray[1] = 11
-myArray[2] = 12
-myArray[3] = 13
-myArray[4] = 14
-myArray.insert(15,2) // insert 15 at the second index of the array
-print ( myArray[2] ) // will print "15"
-// the array curently looks like this [10,11,15,12,13,14]
-myArray.remove(0) // removes the element at index 0
-// the array now looks like this [11,15,12,13,14]
-myArray.remove(3) // removes the element at index 3
-// the array now looks like this [11,15,12,14]
-
Sorting and Searching
Arrays can now be sorted using the .sort() command and searched using the .find(item) command. For example
myArray as integer[5] = [3,4,1,5,2,6]
-myArray.sort() // array is now [1,2,3,4,5,6]
-index = myArray.find(4) // will return "3" as array indexes start at 0
-
.sort() will always sort in ascending order and .find(item) will only work on arrays that are in ascending order. If .find(item) cannot find the item you are looking for it will return "-1". You can sort arrays of Integers, Float, Strings, and Types. When sorting types the first variable of the type will be used to compare elements.
type myType
- ID as integer
- name as string
-endtype
-myArray as myType[3]
-myArray[0].ID = 5 : myArray[0].name = "Bob"
-myArray[1].ID = 4 : myArray[1].name = "Alice"
-myArray[2].ID = 1 : myArray[2].name = "Carol"
-myArray[3].ID = 2 : myArray[3].name = "David"
-myArray.sort()
-remstart
- the array now looks like this
- [0]: ID=1, name="Carol"
- [1]: ID=2, name="David"
- [2]: ID=4, name="Alice"
- [3]: ID=5, name="Bob"
-remend
-
There is also a special insert command named .insertsorted(item) that will insert into a sorted array and maintain the array's ascending order so it can still be searched. For example, taking the array above
myItem as MyType
-myItem.ID = 3
-myItem.name = "Eve"
-myArray.insertsorted(myItem)
-remstart
- the array now looks like this
- [0]: ID=1, name="Carol"
- [1]: ID=2, name="David"
- [2]: ID=3, name="Eve"
- [3]: ID=4, name="Alice"
- [4]: ID=5, name="Bob"
-remend
-
Misc
There are some additional array commands that don't fit in the above categories, they are .swap(index1,index2) to swap two elements in an array (including types and multidimenional arrays) and .reverse() to reverse the elements in an array.
Arrays in Types
Arrays can now be defined in types like so
type myType
- ID as integer
- mySubArray as integer[5]
-endtype
-myVar as myType
-myVar.mySubArray[0] = 6
-
The array could also be defined as an array of another type if desired so you can do things like this
type myType1
- ID as integer
- mySubArray1 as integer[5]
-endtype
-type myType2
- name as string
- mySubArray2 as myType1[8]
-endtype
-myVar as myType2
-myVar.mySubArray2[0].mySubArray1[4] = 6
-// or
-myVar.mySubArray2[3].mySubArray1.sort()
-
Passing by Reference
Previously only types could be passed into functions and they were passed by value, meaning the type would be copied into a new variable which was then deleted at the end of the function. Now types can be passed by reference meaning that the variable being passed in will be modified by any changes in the function. For example
function func1( a as point ) // pass by value, variable is copied
- a.x = 5 // this change is local and lost at the end of the function
-endfunction
-function func2( a ref as point ) // pass by reference, variable is the original
- a.x = 7 // this change modifies the original variable
-endfunction
-type point
- x as float
- y as float
-endtype
-myVar as point
-myVar.x = 1
-myVar.y = 2
-func1( myVar ) // doesn't change the variable
-print( myVar.x ) // will print "1"
-func2( myVar ) // does change the variable
-print( myVar.x ) // will print "7"
-
The same can also now be done with arrays
function func1( a as integer[] ) // pass by value, variable is copied
- a[0] = 5 // this change is local and lost at the end of the function
-endfunction
-function func2( a ref as integer[] ) // pass by reference, variable is the original
- a[0] = 7 // this change modifies the original variable
-endfunction
-myArray as integer[3]
-myArray[0] = 1
-myArray[1] = 2
-myArray[2] = 3
-myArray[3] = 4
-func1( myArray ) // doesn't change the variable
-print( myArray[0] ) // will print "1"
-func2( myArray ) // does change the variable
-print( myArray[0] ) // will print "7"
-
The new compiler is also very flexible about what you can pass into a function that takes a type or array, for example
function func( a ref as integer[] ) // pass by reference
- a[0] = 7
-endfunction
-type myType
- ID as integer
- subArray as integer[5]
-endtype
-myVar as myType
-func( myVar.subArray ) // passes the array from the type into the function
-print( myVar.subArray[0] ) // will print "7"
-
To pass multidimensional arrays to functions use additional square brackets in the function declaration
function func1( a ref as integer[] ) // accepts a single dimensional array
- a[0] = 6
-endfunction
-function func2( a ref as integer[][] ) // accepts a two dimensional array
- a[0,0] = 7
-endfunction
-function func3( a ref as integer[][][] ) // accepts a three dimensional array
- a[0,0,0] = 8
-endfunction
-
and so on up to six dimensions. You can also pass sub arrays of multidimensional arrays into functions like so (using the functions above)
myArray as integer[5,10,15]
-func1( myArray[0,0] ) // passes the array at [0,0] to the function as a single dimensional array
-print( myArray[0,0,0] ) // will display "6"
-
Also note that in these cases "myArray.length" would return 5, "myArray[0].length" would return 10 and myArray[0,0].length" would return 15, and each dimension can be resized individually
Arrays can be assigned values using the square bracket notation like so
myArray as integer[3]
-myArray = [1,2,3,4]
-myArray2 as integer[2,5]
-myArray2[0] = [1,2,3,4]
-myArray2[1] = [5,6,7,8]
-myArray2[2] = [9,10,11,12]
-
If the number of elements being assigned is greater than the current array length then the array will be expanded to accommodate the new elements. If the number of elements is less than the current array length then the array length will remain the same and new elements will overwrite the beginning of the array, whilst the rest of the array remains unchanged
Arrays and types can also now be assigned directly to each other, doing so will copy the contents of the array or type to the other variable
myArray as integer[3]
-myArray2 as integer[5]
-myArray = [1,2,3,4]
-myArray2 = [11,12,13,14,15,16]
-myArray = myArray2 // myArray is now length 5 with copies of the values in myArray2
-print( myArray[4] ) // will display 15
-
Any sub arrays or sub types are also copied in their entirety, nothing will be shared with the new variable
type myType
- ID as integer
- subArray as integer[5]
-endtype
-var1 as myType
-var2 as myType
-var1.subArray[1] = 5
-var2.subArray[1] = 10
-var1 = var2 // the type is copied along with the array it contains
-print( var1.subArray[1] ) // will print 10
-print( var2.subArray[1] ) // will print 10
-var2.subArray[1] = 15 // the array was copied so changes to one do not affect the other
-print( var1.subArray[1] ) // will print 10
-print( var2.subArray[1] ) // will print 15
-
JSON
Arrays can be converted to and from JSON strings by using the .toJSON() and .fromJSON(string) commands like so
MyArray as integer[5]
-MyArray = [10, 53, 2, 678, 3, 2]
-var1 as string
-var1 = MyArray.toJSON()
-var2 as string
-var2 = "[1,2,3,4,5]"
-MyArray.fromJSON( var2 )
-
When populating an array from a JSON string the array length will be adjusted to match the length of the array in the JSON string. You can also save and load the array to a JSON file by using the .save(filename) and .load(filename) commands like so
Types can also be converted to and from JSON strings like so
type spritetype
- ID as integer
- x as float
- y as float
- width as float
- height as float
-endtype
-MyType as spritetype
-MyType.fromJSON( '{"ID": 4, "x": 10.5, "y": 20, "width": 50.1, "height": 20.45}' )
-var1 as string
-var1 = MyType.toJSON()
-
Types can contain other types or arrays, and will produce correctly nested JSON objects and arrays to match. There is no limitation on the contents of a type or array when converting it to JSON. When converting a JSON array to an AppGameKit Studio array then the array must only contain one type of variable, for example all integers, all floats, or all strings. There is no limit on a JSON object when converting it to an AppGameKit Studio type.
If a JSON object contains fields that are not in the AppGameKit Studio type being used to load it, then those fields will be ignored. If the AppGameKit Studio type contains fields that are not specified in the JSON object then those fields will be set to zero.
If a JSON object contains field names that are keywords in AppGameKit Studio then they cannot be directly loaded into an AppGameKit Studio type, since it won't be able to use those keywords as variable names. To overcome this you can use an underscore in front of the variable name in the AppGameKit Studio type and it will match JSON fields that don't have the underscore. For example
type spritetype
- ID as integer
- x as float
- y as float
- _type as integer
-endtype
-MyType as spritetype
-MyType.fromJSON( '{"ID": 4, "x": 10.5, "y": 20, "type": 5}' )
-Print( MyType._type ) // will print the number 5
-
When using .toJSON() on a type, any variables that start with an underscore will have that underscore removed in the JSON string, so in the example above the JSON string produced by .toJSON() will contain the field "type" rather than the field "_type". Only the first underscore is removed, so if you actually wanted the JSON field name to begin with an underscore then add two underscores to the AppGameKit Studio type variable instead, i.e "__type" in AppGameKit Studio would be converted to "_type" in JSON.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/13_shaders.htm b/AGK/AGK Help Generator/AGK Txt/guides/13_shaders.htm
deleted file mode 100644
index a48afb4c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/13_shaders.htm
+++ /dev/null
@@ -1,203 +0,0 @@
-
-
-
-Shaders in AppGameKit Studio - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
AppGameKit Studio uses shaders written in the OpenGL 2.0 Shading Language (GLSL version 110) on desktop platforms, and OpenGL ES 2.0 shaders on mobile platforms. Any shaders that you write yourself must be compatible with both desktop and mobile versions, thankfully OpenGL 2.0 and OpenGL ES 2.0 are almost identical in this regard. However you cannot use the "#version" definition sometimes used on desktop platforms, or the "precision highp float" definition sometimes used on mobile platforms, these will be added automatically by AppGameKit Studio.
Vulkan Shaders
AppGameKit Studio automatically converts your GLSL shaders to SPIRV format. This means you only need to create one set of shaders for your app and it will work fine when rendering in either OpenGL and Vulkan.
Types of Shader
Everything in AppGameKit Studio requires a shader to appear on the screen, this includes sprites, text, and 3D objects. For 2D items it uses the same shader for everything to improve performance, but for 3D objects AppGameKit Studio will look at the object properties, such as the number of textures it uses, and create a shader for it. These are refered to as Default Shaders and are the most common way of displaying things in AppGameKit Studio, if you want to see the code that AppGameKit Studio created for an object you can use GetObjectMeshVSSource and GetObjectMeshPSSource, and use this as the basis for a Custom Shader.
Custom shaders are shaders that you write yourself and load into AppGameKit Studio, this is to cover use cases that AppGameKit Studio can't handle with its Default Shaders. These are loaded with LoadShader. Note that AppGameKit Studio will not check the suitablility of the shader for the objects it is applied to, so if your shader uses 2 textures, but the object only has 1 texture, then AppGameKit Studio won't warn you and the object may not render correctly.
Sprite shaders are loaded with LoadSpriteShader, which is a convenience function that loads a custom pixel shader but uses a standard vertex shader that is suitable for most sprites. If you wanted to modify the vertex shader you can use LoadShader and apply it to a sprite, but be aware that vertex shaders used for 3D objects will not work on sprites. The default sprite vertex shader looks like this
Fullscreen shaders are loaded with LoadFullScreenShader, which is another convenience function that loads a custom pixel shader but uses a standard vertex shader that is suitable for full screen quads. Again you could modify the vertex shader by using LoadShader and applying it to a quad. The default quad vertex shader looks like this
All the shaders so far form what is called a Base Shader, telling AppGameKit Studio about the known attributes, such as number of textures. However there are unknown factors like the number of lights affecting the object that need to be in the shader, but which you don't always know in advance. As such AppGameKit Studio takes the given Base Shader and creates what we call a Generated Shader, which fills in any missing details before using it to draw. Typically this only applies to 3D objects which have a variable numbers of lights shining on them at any one time. Generated Shaders are temporary and may be thrown away if the scene changes, always using the given Base Shader to create a suitable Generated Shader for the current scene. This does mean that if the Base Shader is a Default Shader, then AppGameKit Studio is actually doing two rounds of shader creation, firstly to create the Default Shader and then using that as a base to create the Generated Shader. Using GetObjectMeshVSSource and GetObjectMeshPSSource will only ever return the Base Shader, never the Generated Shader, as these can change frequently and are scene dependent.
When writing a Custom Shader it is useful to know how the shader creation process works so you can tell AppGameKit Studio what you want, or don't want, to be in the final Generated Shader. You can also exclude everything, in which case AppGameKit Studio will recognise there is nothing to add and will use your Custom Shader directly to draw the object, skipping the whole Generated Shader path. This is done by using none of the functions from the next section.
Generated Shaders
There are currently three additional elements that AppGameKit Studio adds dynamically to shaders, these are Vertex Lighting, Pixel Lighting, and Fog. These are added if a particular function is declared in the shader, if the function is not declared then that element is not added. For example the function for vertex lighting is
If this function is declared anywhere in the vertex shader then AppGameKit Studio will add a definition for the function before using it to draw an object. Its contents will vary depending on how many vertex lights affect that object. The function declaration must appear exactly as above, with the same spacing and case, for it to be detected. A custom vertex shader that uses this function might look like this
Note the GetVSLighting function is declared but not defined, AppGameKit Studio will define it at runtime. In this case the lighting information is passed directly to the pixel shader, but you can do anything you like to the value. The GetVSLighting function makes no changes to any global values, it only returns a value. Also note that the call to GetVSLighting must occur after setting the gl_Position value, the lighting function makes use of this value.
In this case we receive the lighting from the vertex shader in the lightVarying variable then add the pixel shader lighting to make up the final light value. You can use these values for any purpose, as mentioned earlier the lighting functions do not modify any global state, they only return a value. The same applies to fog.
If you wish your object to use lighting then it is recommended that you use both the vertex and pixel lighting functions unless you can be sure that all the lights will be of a particular type (vertex or pixel). Note that the global directional light (sun) is handled in the vertex shader function.
The fog function takes the desired pixel color and the pixel position in the world and returns a new color for this pixel based on the amount of fog it received. The fog function is only valid in the pixel shader, and will be ignored if placed in the vertex shader. If you turn off fog in AppGameKit Studio then the fog function will be removed from the shader to improve performance. It will be re-added if you turn fog back on.
AppGameKit Studio Shader Variables
AppGameKit Studio will recognise certain variable names in shaders and fill them with useful values that you can use in your shaders. Here is a list of the variables and a description of what they represent
vec3 agk_CameraPos = The world position of the current 3D camera
float agk_invert = -1 if drawing to an image, 1 if drawing to the screen, only needed by quads
float agk_time = The time in seconds, taken from the AppGameKit Studio Timer() command
float agk_sintime = The sine of the time value, equivalent to Sin(Timer()) in AppGameKit Studio
vec2 agk_resolution = The resolution of the current render target, image or window
vec2 agk_spritepos = If the shader is being used to draw a sprite then this is its current position in world coordinates
vec2 agk_spritesize = If the shader is being used to draw a sprite then this is its current size in world coordinates
mat4 agk_Ortho = A matrix to transform sprites from 2D world space into window space
mat4 agk_World = A matrix to transform 3D object verticies from object space to 3D world space
mat3 agk_WorldNormal = A matrix to transform 3D object normals from object space to 3D world space
mat4 agk_View = A matrix to transform from 3D world space to camera space
mat4 agk_Proj = A matrix to transform from camera space to window space
mat4 agk_ViewProj = A combination of the View and Proj matrices, transforms from 3D world space to window space
mat4 agk_WorldViewProj = A combination of the World, View, and Proj matrices, transforms from object space to window space
vec4 agk_MeshDiffuse = The color of the mesh being drawn, set with SetObjectColor
vec4 agk_MeshEmmisive = The emissive color of the mesh being drawn, set with SetObjectColorEmissive
Variables must be declared with the same case as shown above, and can be used in either the vertex or pixel shader, or both. They must be preceeded by the uniform keyword. These will be updated every time the shader is used to drawn an item.
Shader Constants
You can declare your own shader variables using the uniform keyword and set them using the AppGameKit Studio commands SetShaderConstantByName and SetShaderConstantArrayByName, see the documentation for these commands to see the parameters they use. Setting a shader value using these commands will change it permanently for all draw calls until you change it to something else.
You can also set a shader value on a per object basis by using SetObjectShaderConstantByName and SetObjectShaderConstantArrayByName. In which case the shader will use this value when drawing the specified object, but return to the default value when drawing other objects. To return an object to using the the default use SetObjectShaderConstantDefault.
Shader Precision
You can set the precision of each variable in a shader using the keywords highp, mediump, lowp, and it is recommended you use them to get the right trade off between performance and accuracy. In general position values should use highp, whilst normals and UVs (or anything that will always use small float values) should use mediump. Color values can use lowp if they will always be in the range 0 to 1, if there is a chance they will go beyond this range then they should use mediump. By default AppGameKit Studio sets all vertex shader values to use highp and all pixel shader values to use mediump.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/14_plugins.htm b/AGK/AGK Help Generator/AGK Txt/guides/14_plugins.htm
deleted file mode 100644
index 461d50da..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/14_plugins.htm
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-Plugins in AppGameKit Studio - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
AppGameKit Studio supports third party plugins on Windows, written in any language that can export to a DLL. Linux and Mac plugins are now also supported in the form of .so files on Linux and .dylib files on Mac. To write a plugin does not require AppGameKit Studio to be installed, you just have to include one header file and one source file in your plugin project, these can be found here: https://www.appgamekit.com/documentation/ExamplePlugin.zip along with example projects that uses them for Windows, Mac, and Linux. Alternatively the AppGameKit Studio installer comes with a copy of these files and they will be installed in the Example Plugin folder. Those included files will allow AppGameKit Studio to interface with your plugin and give you access to all the AppGameKit Studio commands when your plugin is loaded by a Tier 1 project. Note that AppGameKit Studio commands are not thread safe and should not be called from any threads that you create.
Any functions that you create in the plugin that you want to be accessible to AppGameKit Studio must start with the text DLL_EXPORT like so
DLL_EXPORT void SetI( int value )
-{
- i = value;
-}
-
You can use AppGameKit Studio functions as you would in Tier 2 like so
When you have created your plugin you will need to find the function names that Visual Studio or GCC created for your functions (called the mangled or decorated name). They will look something like this ?CreateRedSquare@@YAXXZ and can be discovered using a DLL explorer like Dependency Walker (http://www.dependencywalker.com/). On Linux and Mac you can use the command "nm -g --defined-only MyPluginFile.so". Alternatively you can export your functions in a clean format like this
In which case your function will be exported as CreateRedSquare, but you won't be able to have multiple functions of the same name, for example when they have different parameters.
Once you know the function names that your plugin contains you need to create a Commands.txt file that will tell AppGameKit Studio about them, so it can load them into a Tier 1 project. This file has one command per line, with fields separated by a comma, any line beginning with a # will be ignored. It might look something like this:
#this line will be ignored, can be used for comments
-SetI,0,I,?SetI@@YAXH@Z,_Z4SetIi,_Z4SetIi,0,0,?SetI@@YAXH@Z
-CreateRedSquare,0,0,?CreateRedSquare@@YAXXZ,_Z15CreateRedSquarev,_Z15CreateRedSquarev,0,0,?CreateRedSquare@@YAXXZ
-
It starts with the name you want to use for this command in Tier 1, this can be anything you like and doesn't have to resemble the exported function name. Next is the return type, it must be a single character equal to I, F, or S, representing an Integer, Float, or String return value respectively. If the function doesn't return anything use 0 (zero) instead. The third field denotes the parameter types, and must contain one character per parameter, using the same characters as mentioned above. For example FII would mean the function takes one float and two integer parameters, in that order. Or SS would mean it takes two string parameters. If the function takes no parameters use 0 (zero) here instead. The fourth parameter is the mangled name for the function contained in the Windows DLL (or the clean name depending on how you exported it). The fifth parameter is mangled name for the Linux version of the plugin, and the sixth parameter is the mangled name for the Mac version of the plugin. If the plugin does not exist for any of these platforms then its mangled name can be set to 0. (Note that Mac function names have an additional underscore at the start, which you should ignore when filling out this file, for example __ZMyFunc would become _ZMyFunc) The next 2 fields are currently not used and must be set to 0. The final parameter is the mangled name for Windows 64-bit plugins, which is sometimes different from the Windows 32-bit version.
The .DLL/.so/.dylib file and the Commands.txt file are all you need to add the plugin to AppGameKit Studio. Simply place them in the AGKStudio\Tier 1\Compiler\Plugins\MyNewPlugin folder, replacing MyNewPlugin with a name of your choice, which will be used as the name of your plugin in AppGameKit Studio. Finally, rename the 32-bit DLL to Windows.dll, the 64-bit DLL to Windows64.dll, the Linux .so file to Linux64.so, and the Mac .dylib file to Mac64.dylib. If any of these are missing then the plugin will not work on that platform. It is now ready to be used by an AppGameKit Studio Tier 1 project.
On Mac place the plugin files next to the AppGameKit.app package in a folder named Plugins. On Linux place the plugin files in the Tier1/Compiler/Plugins folder. The renaming rules still apply to Mac and Linux, i.e. the plugins must be renamed to Windows.dll, Windows64.dll, Mac64.dylib, and Linux64.so. It would only be necessary to include the Windows.dll file on Linux in the event that you want to broadcast from the Linux IDE to a player running on Windows. The same applies to the other platform combinations.
Using a plugin
In a Tier 1 project you can load a plugin by using the line "#import_plugin MyNewPlugin", where MyNewPlugin matches the folder name you created for the plugin. Note that the plugin name is case sensitive on Mac and Linux. You can then call functions from it like so:
Using the plugin name to call functions is not case sensitive, it is only for the initial import. You can also set a custom name for the plugin in your project, for example:
This custom name is not case sensitive in any cases. You can use a plugin function anywhere that you can use a normal AppGameKit Studio function.
Strings
You must be careful when creating or deleting strings in your plugin that are shared with AppGameKit Studio, as any attempt to delete memory in one that was allocated in the other will crash. Therefore any plugin function you write that wants to return a string must call agk::CreateString(size) to allocate memory for it. You can then fill it with string data as normal and return it from your plugin function. This is so that AppGameKit Studio can delete the pointer when it is done with it. Similarly, if you call any AppGameKit Studio function that returns a string you must call agk::DeleteString(str) on it when you are done with it.
Strings passed to your plugin as function parameters must be const and not deleted or modified in any way, as AGK may use it for something else. To modify a string passed as a paramter you must create a copy of it and then modify the copy.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/1_id_numbers.htm b/AGK/AGK Help Generator/AGK Txt/guides/1_id_numbers.htm
deleted file mode 100644
index 2f33c8dc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/1_id_numbers.htm
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-ID Numbers - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Resources in AppGameKit Studio are referred to using ID numbers. These ID numbers are provided as a convenient way of handling sprites, images, sound and other resources. As an example the ID number can be 1, 10, 100, 527 or 32,000,000 or any number in between. Unless otherwise stated the maximum supported ID is 2,147,483,647. There are two approaches to dealing with ID numbers and these can be used separately or mixed together. This ID number is used as a way of identifying your image and can either be assigned manually or automatically. Please note that ID numbers are unique for a command set. Therefore it's feasible to have a sprite ID of 1 along with an image ID of 1.
Manual ID numbers
The manual approach allows you to specify an ID number e.g. you may want to load an image into ID slot 1, therefore you can call the LoadImage function like this:
LoadImage ( 1, "myImage.png" )
-
agk::LoadImage ( 1, "myImage.png" );
-
Later on, when dealing with this image you simply call a command that acts on it e.g. determining the width of an image and pass in the ID number 1 e.g.
The alternative approach works by returning an ID number instead of you specifying one. The previous example could be reworked like this:
image = LoadImage ( "myImage.png" )
-
int image = agk::LoadImage ( "myImage.png" );
-
Later on, when dealing with this image you pass in the ID number that has been stored in the variable image e.g.
width = GetImageWidth ( image )
-
int width = agk::GetImageWidth ( image );
-
By taking this approach you don't need to keep track of ID numbers, and instead simply save an ID number that is assigned to you by the system. Automatically assigned IDs share the same space as manually assigned numbers so trying to create an ID manually that has already been assigned by an automated command will result in an error. To combat this, automatically assigned IDs always start at 100,001 and increase from there leaving the first 100,000 IDs for you to use manually without worrying if they have already been assigned.
Which route should I take?
Specifying ID numbers manually can be useful for small games, but perhaps having an ID number assigned is more suitable for larger games as it saves extra work in presetting ID numbers initially. This is all down to personal preference, but the option is there to allow you to work in whatever way you choose.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/20_windows.htm b/AGK/AGK Help Generator/AGK Txt/guides/20_windows.htm
deleted file mode 100644
index 5b81c4f9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/20_windows.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Microsoft Windows - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains the process involved in creating projects when using Tier 2 on the Microsoft Windows platform. AppGameKit Studio currently supports Microsoft Visual Studio 2015 and Microsoft Visual Studio 2017, which is available to download from here: https://visualstudio.microsoft.com
Libraries and include files
The template projects and any of your own custom projects are dependent on several library and include files. Their install locations are -
Include Files
\The Game Creators\AGKStudio\Tier 2\common\include\
\The Game Creators\AGKStudio\Tier 2\common\Collision\
\The Game Creators\AGKStudio\Tier 2\bullet
\The Game Creators\AGKStudio\Tier 2\bullet\BulletCollision\CollisionShapes
Libraries (VS 2015)
\The Game Creators\AGKStudio\Tier 2\platform\windows\Lib\VS2015\Debug\
\The Game Creators\AGKStudio\Tier 2\platform\windows\Lib\VS2015\Release\
Libraries (VS 2017)
\The Game Creators\AGKStudio\Tier 2\platform\windows\Lib\VS2017\Debug\
\The Game Creators\AGKStudio\Tier 2\platform\windows\Lib\VS2017\Release\
If necessary you can launch AGKStudio, then go to the Tools menu and select the option to Install Additional Files. This option allows you to install the C++ Tier 2 files to a location of your choice, instead of referencing them from the default location.
Templates
Several templates are included that provide a starting point for your applications. These can be found within - \The Game Creators\AGKStudio\Tier 2\apps. The key templates are -
template_windows_vs2015 - 32 bit template for VS 2015
template_windows_vs2015_64 - 64 bit template for VS 2015
template_windows_vs2017 - 32 bit template for VS 2017
template_windows_vs2017_64 - 64 bit template for VS 2017
All of these projects are set up with relative links to the AGK libraries and include files and are ready to compile. Making new projects outside this location or moving the existing projects to another location will result in you needing to update the library and include links within the project settings to ensure the app compiles.
Make a copy of the appropriate project and place it within the apps folder, then open the project within Visual Studio. Attempt to compile the project by going to the Build menu and selecting Build Solution. If all goes well, a message will appear in the Output window showing Build succeeded. Any failure at this point may be due to an issue with the platform toolset, that can be fixed by entering the project settings, going to the general section and selecting an available platform toolset.
The project will consist of three main files - core.cpp, template.cpp and template.h. Core.cpp is the starting point for your application as a whole, which in most cases can be ignored and is only relevant for more advanced users. Template.h contains a class declaration for your app and template.cpp contains the definition, with three functions already defined - Begin, Loop and End. Begin is the entry point for your application and is used for initial setup. Loop will be called every cycle and should be the location of your logic etc. Finally End is called when the app closes down and can be used to free up resources etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/21_mac.htm b/AGK/AGK Help Generator/AGK Txt/guides/21_mac.htm
deleted file mode 100644
index 5c247ee0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/21_mac.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Macintosh - OS X - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains the process involved in creating projects when using Tier 2 when using the Macintosh OS X platform. In order to compile projects on the Mac you will need Xcode 10 or higher running Mac OS X 10.13.6 or later. Xcode is available for free by visiting https://developer.apple.com/xcode/. Alternatively you can obtain it from within the Mac App Store by searching for Xcode.
All of the relevant files for Tier 2 development are bundled within the main package of AppGameKit Studio. To access them navigate to the install location for AppGameKit Studio e.g. Applications/AGKStudio and right click on the icon for AGKStudio and select Show Package Contents. From here enter the Contents folder and then the Resources folder where you will see a Tier 2 folder with libraries, include files and examples projects for Mac OS X development.
Libraries and include files
The template projects and any of your own custom projects are dependent on several library and include files. Their install locations are -
The main project of interest is called template_mac. This project is set up with relative links to the AppGameKit Studio libraries and include files and are ready to compile. Making new projects outside this location or moving the existing projects to another location will result in you needing to update the library and include links within the project settings to ensure the app compiles.
Make a copy of the template_mac and place it within the apps folder, then open the project within Xcode. Attempt to compile the project by going to the Project menu and selecting Build. When your project has built a message will show up saying it has succeeded. From here you can run the app by going to the Product menu and selecting the Run option.
The project will consist of three main files - core.mm, template.cpp and template.h. Core.mm is the starting point for your application as a whole, which in most cases can be ignored and is only relevant for more advanced users. Template.h contains a class declaration for your app and template.cpp contains the definition, with three functions already defined - Begin, Loop and End. Begin is the entry point for your application and is used for initial setup. Loop will be called every cycle and should be the location of your logic etc. Finally End is called when the app closes down and can be used to free up resources etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/22_ios.htm b/AGK/AGK Help Generator/AGK Txt/guides/22_ios.htm
deleted file mode 100644
index 07185ed1..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/22_ios.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-iOS (iPad/iPhone/iPod) - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains the process involved in creating projects when using Tier 2 when using the IOS platform. In order to compile projects on the Mac you will need Xcode 10 or higher running Mac OS X 10.13.6 or later. Xcode is available for free by visiting https://developer.apple.com/xcode/ Alternatively you can obtain it from within the Mac App Store by searching for Xcode.
All of the relevant files for Tier 2 development are bundled within the main package of AppGameKit Studio. To access them navigate to the install location for AppGameKit Studio e.g. Applications/AGKStudio and right click on the icon for AGKStudio and select Show Package Contents. From here enter the Contents folder and then the Resources folder where you will see a Tier 2 folder with libraries, include files and examples projects for iOS development.
Alternatively launch the main app, go to the Tools menu and select the option to Install Additional Files. This option allows you to install the C++ Tier 2 files to a location of your choice.
Libraries and include files
The template projects and any of your own custom projects are dependent on several library and include files. Their install locations are -
The main project of interest is called template_ios. This project is set up with relative links to the AGK libraries and include files and are ready to compile. Making new projects outside this location or moving the existing projects to another location will result in you needing to update the library and include links within the project settings to ensure the app compiles.
Make a copy of the template_ios and place it within the apps folder, then open the project within Xcode. Attempt to compile the project by going to the Project menu and selecting Build. When your project has built a message will show up saying it has succeeded. From here you can run the app by going to the Product menu and selecting the Run option. You can choose to test on the simulator or an actual device by selecting the target listing in Xcode.
The project will consist of three main files - core.mm, template.cpp and template.h. Core.mm is the starting point for your application as a whole, which in most cases can be ignored and is only relevant for more advanced users. Template.h contains a class declaration for your app and template.cpp contains the definition, with three functions already defined - Begin, Loop and End. Begin is the entry point for your application and is used for initial setup. Loop will be called every cycle and should be the location of your logic etc. Finally End is called when the app closes down and can be used to free up resources etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/25_android.htm b/AGK/AGK Help Generator/AGK Txt/guides/25_android.htm
deleted file mode 100644
index 0f4d412f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/25_android.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Android - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains the process involved in creating projects when using Tier 2 for the Android platform. As the requirement is for Android 2.3.3 and above, you are able to code in native C/C++, rather than Java. Please note this guide focuses on the process for targeting Android on Microsoft Windows.
You will need to download the following files and packages. This assumes you have a 64-bit computer, if you have a 32-bit computer then download the 32-bit (x86) versions instead.
Java JDK
Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html and download the latest version of the JDK. Click the download button next to the JDK, accept the license, and download the Windows x64 package. Once the download is complete proceed to install the software.
Android NDK
Go to https://developer.android.com/ndk/downloads/index.html and download the 64-bit package for Windows. Install these files to a location that does not contain spaces e.g. d:\AGKSTUDIO\NDK is acceptable whereas d:\my software\AGKSTUDIO\NDK is not.
Android Studio
Go to http://developer.android.com/sdk/index.html and download the latest version of Android Studio for your platform. Once downloaded run the installer and follow the on screen prompts.
Note that the AGK Tier 2 files must be installed in a path with no spaces, otherwise the NDK will fail to compile the necessary files.
Running Android Studio
Launch Android Studio and follow these instructions -
Android Studio should automatically detect your Java installation, if not you will get an error message saying that Android Studio can't find it and ask you to set a JAVA_HOME variable. Double check your Java installation and set up a JAVA_HOME variable if necessary.
When Android Studio first runs it will present an SDK Components Setup dialog, click Next or Finish and let it install the default components.
When completed you should see a list of options such as Start a new Android Studio Project and Open and existing Android Studio Project, select Configure and then SDK Manager.
In the SDK Platforms tab Android Studio will have automatically installed the latest SDK Platform, but we need to install a specific version. If the latest version is not 8.0 (API 26) then tick the box next to Android 8.0 (API 26). You only need the Platform option, not the Google APIs or any of the others.
Now switch to the SDK Tools tab and tick Android Support Repository, Google Play Services, and Google USB driver, then click OK and let it install.
Come back out of the Configure option and choose Open an existing Android Studio Project, browse to your AGK Tier 2 folder, then apps, select the template_android_google folder and click ok.
When the project first loads, Gradle will attempt to sync and build the project, Grade is the build manager that ships with Android Studio. You will likely get some messages from Grade Sync saying it failed to find the correct Build Tools version, click the provided link to install the missing version
Now Android Studio should be working without error, however it will not produce a valid application until we compile the NDK libraries for our project.
Minimize Android Studio and browse to the location you installed the AGK Tier 2 files, then go to apps\template_android_google\AGK2Template\src\main
In here you will see a file named jniCompile.bat, right click on it and choose Edit
Change the line that starts set NDKBUILDCMD= to point to your NDK location, for example set NDKBUILDCMD="C:\AndroidDev\android-ndk-r16b\ndk-build", save this file and close it, then double click it to run the NDK compile process for this project. The NDK folder name may vary based on which version of the NDK you downloaded. The folder name itself is not important as long as it points to the NDK you downloaded.
It will compile three libraries, one for arm64-v8a, one for armeabi-v7a, and one for x86, these cover the three most popular architectures that run Android. The libraries will be placed in the appropriate folders for Android Studio to pick up next time it builds an APK of your project.
When it is done it should end with a line starting [x86] Install, if not then there was an error and you should check the log.txt file in the same folder as the jniCompile.bat file for details
Now return to Android Studio and choose Build->Make Project it should display the Grade Console window with its progress and end with a BUILD SUCCESSFUL message. You can attempt to run this project on your device if you have already enabled it for USB Debugging, if not continue to the next section, or you can create a virtual device to test the project in an emulator.
The template_android_google app should display a pale blue screen with the framerate displayed near the top left. It is not recommended that you make changes to this project as it can serve as the template for future projects. The recommended approach is to copy the template project and make changes to the copy, see the Creating a New Game Project for details.
Running on a device
The following steps will show you how to setup your device for testing your apps. Connect your Android device (your phone or tablet) to your PC by USB and turn on USB Debugging in Android's settings. To turn on USB Debugging:
Plug in your device.
Open Settings, scroll down to and tap on Developer Options, and tap the on-off switch at the top-right.
Tap USB Debugging and accept the warning to enable it.
This should trigger windows to re-detect your device with additional device components, this is where the Google USB Driver comes in that we downloaded earlier. Windows may automatically detect the debug portion of your device successfully, or it may require you install the Google USB Driver to detect it correctly.
More detailed instructions on USB Debugging and how to install the USB debug driver vary by device, and are outside the scope of this guide, but there are plenty of tutorials online. You will also need to enable the Unknown Sources option in the security section so that apps can be installed that have not been downloaded through Google Play.
Once your device is setup to receive debug apps you can click the Run icon in Android Studio and it should automatically detect your connected device and upload your newly compiled app to it.
Creating a new project
The following steps will show you how to set up a new project. Once you've completed all the preparation sections of this guide, this is where you should start from each time you want to make a new project.
Navigate to your AGK Tier 2 files folder, open the apps folder and make a copy of the template_android_google folder. This will be your new project folder, and you can rename it as you wish as long as you don't use spaces.
Note that for simplicity your new folder should remain within the apps folder as it contains relative paths to other areas of the AGK Tier 2 folder, notably the platform/android/jni folder. Moving it to another location will require project settings to be updated.
When you open Android Studio it will default to opening the last project you had open, go to File->Close Project to return to the main menu if you no longer want to work with it, you can then open your new project with Open an existing Android Studio Project and browsing to the new project folder you created.
NDK support in Android Studio is still experimental so we use the jniCompile.bat file mentioned earlier, but you can still edit the C++ files (those with the .cpp or .h extensions) inside Android Studio. Be sure to call the jniCompile.bat file after you make any changes to those files.
To change the package name for your app open the AndroidManifest.xml file and edit the package field from its default of com.mycompany.mytemplate. Note that when you do this you will need to go through the other files and change any instance of com.mycompany.mytemplate to your new package name, you will get an error if you forget to do this.
Leave any instances of com.thegamecreators.agk_player as they are, it does not affect the final app and is used to tie together lots of parts of the app, so handle with care.
Open the build.gradle file for the AGK2Template module and edit the applicationId field from its default of com.mycompany.mytemplate to your chosen package name.
To change the name of the app, open the res/values/strings.xml file and edit the app_name field.
To write your app code you only need to modify the template.h and template.cpp files, these files are only read by the Android NDK when you run jniCompile.bat (or compile manually using the command line)
If you wish to add more .cpp files you will need to edit the AGK2Template\src\main\jni\Android.mk file in notepad, look for the LOCAL_SRC_FILES := line and add additional .cpp files there, save it, and run jniCompile.bat again to recompile.
To add media to your project, create an assets folder at [project_folder_name]\AGK2Template\src\main\assets replacing [project_folder_name] with your renamed folder. Note that in Tier 2 a folder named media is not required and you can place images, sounds, etc, directly in the assets folder. If you do use a media folder then remember to use agk::SetFolder("/media") near the start of your program to make it behave more like Tier 1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/2_images.htm b/AGK/AGK Help Generator/AGK Txt/guides/2_images.htm
deleted file mode 100644
index 96867e44..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/2_images.htm
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-Images - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
It's possible to load an image like this, where an ID number of 1 is specified and the image "myImage.png" is to be loaded:
LoadImage ( 1, "myImage.png" )
-
agk::LoadImage ( 1, "myImage.png" );
-
Alternatively it can be handled like this, where the variable image stores the ID number:
image = LoadImage ( "myImage.png" )
-
image = agk::LoadImage ( "myImage.png" );
-
The difference being that in the first example the ID number is fixed as 1, and from that point onwards if you want to do something with that image you must use ID 1. The other example has the ID number stored in the variable image, meaning it's not necessary to know the ID number, you simply use the variable image when requiring the ID number in future. Please note that ID numbers are unique for a command set. Therefore it's feasible to have a sprite ID of 1 along with an image ID of 1.
Where do images need to be stored?
When using Tier 1 all of your data needs to be placed in a folder named media. This becomes your root folder. For example, if you place image.jpg within the media folder you do not need to specify the media folder when loading e.g.
image = LoadImage ( "image.jpg" )
-
When using a Tier 2 application the root directory is the same directory as your executable.
How do I delete an image?
Due to limited resources on devices it may be necessary to delete previously loaded images and free up available memory. To delete an image call the command DeleteImage:
DeleteImage ( id )
-
void DeleteImage ( UINT id );
-
This command only requires the ID number of the image you want to delete.
Here's an example of loading an image into ID slot 1 and then deleting it:
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/33_android.htm b/AGK/AGK Help Generator/AGK Txt/guides/33_android.htm
deleted file mode 100644
index ab7a4e8c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/33_android.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Tier 1 (BASIC) Publishing for Android 2.3.3 or above - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Tier 1 (BASIC) Publishing for Android 2.3.3 or above
Tier 1 (BASIC) Publishing for Android 2.3.3 or above
Exporting an application that will run on Android devices and for publishing to the Google Play and Amazon stores requires you to have a computer running Windows, Mac or Linux.
A Google Play developer account for a one-off fee of $25 is required for distribution on the Google Play Store. To enroll for a Google Play developer account, visit the Android Developer website - https://developer.android.com/distribute. Developers can register an Amazon account for free at this site https://developer.amazon.com/
Local distribution
This method of distribution allows you to deploy apps yourself either through a website or email, without needing any signing certificates. This is a convenient option for testing your app, however, anyone wanting to install your app will need to go to their device security settings and select the option that allows apps from unknown or untrusted sources to be installed. To export an app using local distribution go directly to the section on exporting an app below.
Store distribution
Apps that you want to distribute on stores such as Google Play and Amazon will require your exported app to be signed with a security certificate, that can be generated directly from within AppGameKit Studio.
To generate this certificate open AppGameKit Studio, go to the Tools menu and select the option to Generate Keystore File. You will be presented with a dialog containing an explanation of the keystore file and several fields, (some of which are optional) that need to be filled in. Only the password and output file location fields are mandatory.
An app listing will need to be generated prior to uploading any files.
Full Name - your name
Company Name - your company name (if you have one)
City - city where you are based
Two Letter Country Code - country code e.g. UK
Create a Password - enter a password
Re-enter Password - confirm your password
Output file location - the output location for the keystore file
When the form has been filled in select the Generate option to create your keystore file. The recommended approach is to create one keystore file that is used to sign all of your exported apps. Bear in mind this keystore is an essential part of the export process and any apps submitted with this keystore can only receive updates when signed with the same file.
Exporting an app
The executable file type for Android is called an APK (Android PacKage). When it’s time for you to export a projects to this format you will need to fill out a number of fields. If you plan to publish your app to the Google or Amazon app stores then you need to register with those stores first (see above).
Installing an app manually without signing
As mentioned earlier if your app is not signed anyone wanting to install it must alter the security settings on their device to allow unsigned or unknown apps to be installed. Once this is done your app can be installed through a variety of methods:
An app listing will need to be generated prior to uploading any files.
Connect the test device to your computer using a USB cable and copy the exported APK across to it. From the device use a file explorer (either built in or one from the stores), navigate to the location of the APK, select and install it.
Upload the APK from your computer to Google Drive and either share a link or access it directly from Google Drive on your device and install.
Installing an app with signing
Prior to installing a signed app a store listing will need to be generated on the Google Play Store (https://play.google.com/apps/publish) or the Amazon App Store (https://developer.amazon.com/).
For Google click on the create application button and follow the instructions. At least for the testing phase it’s not necessary to fill in every single detail. You can just deal with the basic information along with pricing & distribution and the content rating.
With the basic information filled out you can now proceed to uploading your APK. To do this go to Release management and then App releases, where you will be presented with a screen offering you options for production track, beta, alpha and internal test track. For testing purposes it’s a good option to select the internal test track, click on manage then select create release. From here you are asked to select your APK to be uploaded. You can also create a testing list of up to 100 testers who can install your app using the provided link. When your app is ready for release you can return to this section and select the release to alpha option and promote it to the next stage of release, from there you can switch it to the production track and make it live on the store.
For Amazon once signed in go to the developer console, click on Apps & Services, select My Apps and then the Add New App button, then follow the prompts to fill in the required information.
With the basic information filled out you can now proceed to uploading your APK. To do this select your app listing and then click on Live App Testing. Click on the New Test option and follow the prompts. Once your app has completed the processing stage it will be available to any testers you list in the Live App Testing section via email invite. When your testing has completed you can promote the Live App Testing version to upcoming and at this point can submit to Amazon to be deployed onto the app store.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/3_sprites.htm b/AGK/AGK Help Generator/AGK Txt/guides/3_sprites.htm
deleted file mode 100644
index d00f3db7..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/3_sprites.htm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-Sprites - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A sprite can be created by either assigning an ID number manually or having it provided to you automatically. The next step is to provide an ID number of an image. The image gets attached to the sprite and will later be drawn on screen. Please note that ID numbers are unique for a command set. Therefore it's feasible to have a sprite ID of 1 along with an image ID of 1.
Here's one approach to creating a sprite. This example loads an image into ID slot 1. This is followed by a call to CreateSprite, passing in an ID number of 1 for the sprite and also letting the command know that we'll be attaching image 1 to this sprite.
If a virtual resolution was being used, the above code would be setting the sprites position to 25 pixels along the X axis and 75 pixels down the Y axis.
How can I set the visibility of a sprite?
A sprite will be visible as soon as it has been created. For times when you need to alter the visibility use the command SetSpriteVisible. This command takes 2 parameters:
ID
visible state
The ID number refers to the ID of the sprite you want to alter, while a visible state of 0 will hide the sprite and a state of 1 will show it.
How can I delete a sprite?
Call the DeleteSprite command to remove a sprite:
DeleteSprite ( id )
-
void DeleteSprite ( UINT id );
-
This command only requires the ID number of the sprite you want to delete. Here's an example of creating a sprite and deleting it:
A text entity can be created by either assigning an ID number manually or having it provided to you automatically. The next step is to provide the initial string for your text entity. This could be a blank string or something like "hello". Please note that ID numbers are unique for a command set. Therefore it's feasible to have a text entity with an ID number of 1 and a sprite with an ID of 1.
Here's one approach to creating a text entity. The command CreateText is called, an ID number of 1 is specified and the initial text is set to "hello agk":
CreateText ( 1, "hello agk" )
-
agk::CreateText ( 1, "hello agk" );
-
This alternative method demonstrates how a text entity can be created with automatically assigned ID numbers:
text = CreateText ( "hello agk" )
-
text = agk::CreateText ( "hello agk" );
-
How can I position text on screen?
The main command for setting a sprite is called SetTextPosition. This command takes 3 parameters:
ID
X position
Y position
The ID number refers to the ID of the text entity you want to position, while the X and Y positions will either refer to percentages or screen coordinates. If you have specified a virtual resolution then these parameters refer to screen coordinates. If no virtual resolution has been set these parameters are percentages.
This line of code positions the text entity at either 50 pixels on the X axis and 75 pixels on the Y axis, or 50% along the X axis and 75% along the Y axis:
Call the command SetTextString. This command takes 2 parameters:
ID
string
The ID number refers to the ID of the text entity. The string parameter allows you to specify a new string for the text entity. This example shows the creation of a text entity, followed by an update to its string:
CreateText ( 1, "hello agk" )
-SetTextString ( 1, "a brand new string" )
-
agk::CreateText ( 1, "hello agk" );
-agk::SetTextString ( 1, "a brand new string" );
-
How do I set the size of text?
Use the command SetTextSize to alter the size of text. This command takes 2 parameters:
ID
size
The ID number refers to the ID of the text entity. The size parameter controls the final size of your text. By default this is set to 4. A smaller value will decrease the size of your text, while a larger value will increase it. In this example a text entity is created and then its size is set to a value of 10:
The command SetTextColor is used to control the color of text entities. Variations on this function also exist, they allow you to set the individual color, which may be useful in cases where it's only necessary to alter one component e.g. the alpha channel. Here's the available options:
SetTextColor ( id, red, green, blue, alpha )
SetTextColorRed ( id, red )
SetTextColorGreen ( id, green )
SetTextColorBlue ( id, blue )
SetTextColorAlpha ( id, alpha )
The ID number refers to the ID of the text entity. The remaining parameters control the level of each color. Acceptable values are between 0 to 255. A value of 0 means no color in that channel, while 255 is full color. This example shows the creation of a text entity followed by its color being set to pure red:
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/50_windows.htm b/AGK/AGK Help Generator/AGK Txt/guides/50_windows.htm
deleted file mode 100644
index a5b802e4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/50_windows.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Tier 1 (BASIC) Publishing for Windows - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Tier 1 (BASIC) Publishing for Windows
Tier 1 (BASIC) Publishing for Windows
You will find that when using the Windows AppGameKit Studio IDE, applications are automatically created in the project folder that holds the project files, so there is no need for a separate build process here. Simply zip or pack the media folder and EXE to easily transport your application. Make sure you don't include any .agc or .agk files unless you also want to distribute the source code.
Requirements
Users that run your app on Windows will need the DirectX End-User Runtime installed for your apps to work. This is frequently used by many DirectX 9 games so may already be widely installed, but if not it can be found here
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/51_mac.htm b/AGK/AGK Help Generator/AGK Txt/guides/51_mac.htm
deleted file mode 100644
index 9b33a340..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/51_mac.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Tier 1 (BASIC) Publishing for Mac - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Tier 1 (BASIC) Publishing for Mac
Tier 1 (BASIC) Publishing for Mac
You will find that when using the Mac AppGameKit Studio IDE, applications are automatically created in the project folder that holds the project files, so there is no need for a separate build process here. Simply zip the .app file to easily transport your application. There is no need to include the media folder in this case as it is included in the .app file.
Signing Your Own Mac Application
To self-publish your Tier 1 BASIC application on the Mac Store, you will need to build your own Mac application in Xcode, and for this you will need a Mac Developer account. Apple requires that all applications submitted to the Mac Store be signed with a special certificate that is granted to you as a developer. For more information on how to sign up to be an Apple developer, and obtain your developer certificate, visit the Apple Mac developer website. Once you have registered with Apple, and you have configured your Mac with Xcode, the required Mac SDK libraries, and your keychain certificate you will be ready to proceed.
To make the process as simple as possible, we have provided the source code to the AppGameKit Studio Player for Mac so you don't have to do any actual Tier 2 C++ coding. It's simply a case of adding a few resource files, specifying your developer certificate in the project settings and compiling a new release application.
Follow these steps to build your own application on the Mac:
If you haven't already done so, install the AppGameKit Studio C++ libraries to a location of your choice from the Tools->Install Additional Files dialog
Navigate to your chosen folder and copy the apps/interpreter_mac folder, renaming it to a name of your choice
Open this new folder and double click on agkinterpreter.xcodeproj
This should launch Xcode with the Mac application project
Open the project build settings and change the product name from 'AGK Player' to the new name of your application
Copy the MEDIA folder from your AppGameKit Studio project folder into the Xcode project folder
All being well, when you click Build and Run you will see your Tier 1 BASIC appear!
From this point you can further modify the application to prepare it for submission to the Mac Store. This will involve editing the .plist file found in the Resources area, and specifying your certificate in the 'Code Signing' section of the build settings. Once you are ready you can the Archive and sign your app using Xcode for submission to the Mac app store.
Notes
The Apple website has comprehensive tutorials on every step of the development and submission process when submitting Mac applications, and is highly recommended reading.
Youtube is a great source of video tutorials on the various steps involved in registering an Apple account, setting up XCode, installing your certificates and going through the submission process
For submission to the Mac Store, you are most likely going to need the latest version of Xcode to prepare and sign your final binaries for submission.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/52_ios.htm b/AGK/AGK Help Generator/AGK Txt/guides/52_ios.htm
deleted file mode 100644
index e3dfce63..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/52_ios.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Tier 1 (BASIC) Publishing for iOS - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Tier 1 (BASIC) Publishing for iOS
Tier 1 (BASIC) Publishing for iOS
In AppGameKit Studio you can export an IPA of your application from the drop down menu "File/Export Project to iOS". To do this you will need a Mac, and an iOS developer account ($99 per year), and a provisioning profile for your app from the Apple developer site. Once you have your IPA you can upload it to iTunes Connect using Apple's 'Application Loader' program.
Distribution certificate
Once enrolled as an Apple Developer, the first step is to create a distribution certificate for your Apple account, here are the steps you need to follow to do this:
Sign into your OS developer account - https://developer.apple.com/
Select Certificates, Identifiers & Profiles.
The menu on the left side displays Certificates, Keys, Identifiers, Devices and Provisioning Profiles.
From the Certificates section select the Production link.
Press the plus icon to create a new certificate.
A list of options will be presented to you including Development and Production.
At the bottom of this page is a link to an Intermediate Certificate.
Download and install this certificate - Worldwide Developer Relations Certificate Authority.
While on the same page from the Production listing select App Store and Ad Hoc and then press the continue button.
Full instructions will be provided on the website explaining the next steps.
Follow through this process and finally download and install your distribution certificate.
Once completed, your production certificate will be available for a period of 12 months and is used for all of the apps that you create. When this certificate expires you will need to renew it by returning to the page and following the prompts.
App requirements
Every application you want to distribute will require:
An application ID
An Ad Hoc or App Store distribution profile
Application ID
This is a unique identifier for your application and is also used to determine which services your application might need access to, for example iCloud, Push Notifications, etc. To create an application ID:
Sign into your developer account.
Select Certificates, Identifiers & Profiles.
From the menu on the left look for the Identifiers listing and select App IDs.
Press the + button to create a new App ID.
You will be presented with a page asking you to fill in the App ID description, App ID Prefix, App ID Suffix and App Services.
Enter a name for your app in the App ID Description section.
Typically, the App ID Prefix will only have one option available - your latest distribution certificate.
For the App ID Suffix select Explicit App ID and create a Bundle ID using a reverse domain name style string e.g. uk.co.mywebsite.mygame
From the App Services listing tick any relevant functionality that your app may link to.
Finally press the Continue button to create your Application ID.
Ad Hoc or App Store distribution profile
The next stage is to create a distribution certificate that can be used to install your app on a device:
Sign into your developer account.
Select Certificates, Identifiers & Profiles.
From the menu on the left look for Provisioning Profiles and select Distribution.
Press the plus button to create a new profile.
A page will be displayed showing a number of options for Development and Distribution.
From the Distribution section you can either select App Store or Ad Hoc.
The App Store selection allows your app to be uploaded to the App Store where you can use programs like TestFlight to easily distribute and test your app before release.
The Ad Hoc option lets you install your app on a device manually. If you choose this option you will need to add any devices you want to support into a list that can be found in the Devices, All section. Visit this page and follow the instructions to add devices you want to support.
Select the deployment option and press the Continue button.
At this point you will be prompted to select the App ID that you want to use.
Pressing Continue will display another page where you need to select the distribution certificate being used, typically only one option will be present. Select this and press Continue.
If you selected an Ad Hoc profile you will be asked to choose which devices the app can run on.
Now you can download the provisioning profile. Your AppGameKit Studio project will need to reference this file, so place it in a convenient location.
Exporting an app
With the Apple Developer account all set up and the App Id and Distribution profile in place, you’re now ready to export your app. Open AppGameKit Studio (Mac version only) and then open your project. From the File menu select the Export Project to iOS. A dialog box will be displayed where you will need to fill in the majority of fields aside from those listed in the optional section.
The executable file type on iOS is called an IPA file (iOS App Store Package). Due to Apple rules you can only create IPAs by using a Mac desktop or laptop. As usual you can access the Export option from the File menu where you will find both APK and IPA export options.
The Export system in AppGameKit Studio will build an IPA from all your media and bytecode. This can then be run on any iOS devices that have been added to your Apple developer account and is running iOS7 or greater. You must have the correct distribution certificate and corresponding private key in your keychain for the provisioning profile you are using. It can also be used to produce an IPA suitable for uploading to the AppStore if you use an Appstore provisioning profile you will need to install Application Loader, or install Xcode (available here - https://developer.apple.com/xcode/ ) and use its Application Loader, to submit the actual IPA to iTunes Connect. Note that only AdHoc and App Store provisioning profiles will work with this exporter.
Installing an app using an Ad Hoc profile
When using an Ad Hoc profile, you will need to manually install the IPA by connecting your iOS device to your computer, opening iTunes, drag the IPA file into the library and then sync the device. Alternatively you can install the latest version of Xcode (Mac OS only) and from within it select the Window menu, then Devices and Simulators, where you will see any devices connected. From here you can drag the IPA file to the list of apps, which will install it to your device.
Installing an app using an App Store profile
An app listing will need to be generated prior to uploading any files.
Login to App Store Connect ( https://appstoreconnect.apple.com/ ) and select My Apps.
Press the plus button and select New App.
Fill in the details and select the Bundle ID (App ID) from the listing that you created in the developer portal. More details on App Store Connect - https://developer.apple.com/support/app-store-connect/
The next step is to install Xcode (https://developer.apple.com/xcode/), Mac OS only. Once this is installed search for Application Loader. Run this app and sign into your developer account.
From within Application Loader press the choose button and navigate to and select your IPA. Follow the on-screen prompts to complete the upload.
Once the upload is complete a short period of automated processing may be necessary.
When this has finished you will be automatically emailed with a message confirming that app processing has ended. At this point return to App Store Connect (https://appstoreconnect.apple.com/) and select My Apps and your app. Links will display for App Store, Features, TestFlight and Activity.
Select the TestFlight option to see your uploaded build.
Click on the build and enter any relevant information. Finally, from the TestFlight page select App Store Connect users and add people into the testing list, who will be emailed and invited into the testing process. Anyone testing your app will be invited to install TestFlight from the App Store. Once TestFlight is installed invited users can install your app.
More details on TestFlight (https://developer.apple.com/testflight/)
Notes
The Apple website has comprehensive tutorials on every step of the development and submission process when submitting applications, and is highly recommended reading.
YouTube is a great source of video tutorials on the various steps involved in registering an Apple account, installing your certificates and going through the validation process.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/54_linux.htm b/AGK/AGK Help Generator/AGK Txt/guides/54_linux.htm
deleted file mode 100644
index ed4e3951..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/54_linux.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Tier 1 (BASIC) Publishing for Linux - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Tier 1 (BASIC) Publishing for Linux
Tier 1 (BASIC) Publishing for Linux
When using the Linux AppGameKit Studio IDE an executable will be created in the project folder that holds the project files. This executable will only work on machines that use the same architecture as your machine, i.e. 32 bit or 64 bit. In the AppGameKit Studio Players folder are two players for Linux, one for 32 bit and one for 64 bit, you should copy the one that is missing into your project folder and name them appropriately, e.g. MyApp32 and MyApp64. You can them zip or pack the media folder and executables to easily transport your application. Make sure you don't include any .agc or .agk files unless you also want to distribute the source code.
Requirements
Users that run your app on Linux will need the "ibopengl1" package installed. Some Linux distributions will come with this already installed, if not it can be installed with the following command "sudo apt-get install libopengl1"
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/5_sound.htm b/AGK/AGK Help Generator/AGK Txt/guides/5_sound.htm
deleted file mode 100644
index 5eb37d06..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/5_sound.htm
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-Sound - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A sound file can be loaded by either assigning an ID number manually or having it provided to you automatically. The next step is to let AppGameKit Studio know which file you want to load e.g. "mySound.wav". Please note that ID numbers are unique for a command set. Therefore it's feasible to have a sound loaded with an ID number of 1 and a sprite with an ID of 1.
Here's one approach to loading a sound. The command LoadSound is called, an ID number of 1 is specified and the file to load is "mySound.wav":
LoadSound ( 1, "mySound.wav" )
-
agk::LoadSound ( 1, "mySound.wav" );
-
This alternative method demonstrates how a sound can be loaded with an automatically assigned ID number:
sound = LoadSound ( "mySound.wav" )
-
sound = agk::LoadSound ( "mySound.wav" )
-
How can I play a sound?
Once a sound has been loaded it can be played with the PlaySound command. Several variants of this command exist:
agk::PlaySound ( UINT id, int vol = 100, int loop = 0, int priority = 0 );
-
The parameters for this command are as follows:
ID
volume
loop
priority
The ID number refers to the ID of the sound you want to play. The volume is a value between 0 and 100. By default the volume is set at 100, which will result in the sound being played at the maximum volume. Reducing this to a lower value will result in a quieter sound. The loop parameter controls whether the sound will be looped. A value of 0 will only play the sound once, while a value of 1 will loop playback. The final parameter is used to control whether the sound has priority for playback over other sounds, by default this is 0, changing this to 1 will give this sound priority. The priority value is used in instances where multiple sounds are playing at once.
The following lines of code demonstrate a sound being loaded with an ID of 1, and then the sound is played with a volume of 50 and set to loop:
To stop a particular sound from playing call the StopSound command. This command only requires one parameter, and that is the ID number of the sound. This example shows a sound being loaded, played and then immediately stopped:
Tier 2 provides you with the ability to use the AppGameKit Studio command set within a C++ application. This is an ideal option in many cases, for example:
For situations where you want to get the best possible speed on a device. Games written in C++ will run faster than those using Tier 1, as the games will be running natively, unlike Tier 1, which will run games using an interpreter.
In cases where you have an existing codebase that is already in C++ and you want to reuse this with AppGameKit Studio.
If you're already familiar with C++ then you may prefer to continue developing a game in this language instead of having to learn the Tier 1 language.
The downside is that compared to Tier 1 there is an extra level of difficulty in terms of setting up projects and compiler settings etc. However, if you are already familiar with C++ then it's highly likely that you'll be up and running in Tier 2 within a short space of time.
A collection of template projects and C++ libraries are provided for Tier 2 applications. You can choose where to install these by choosing the menu option Tools/Install Additional Files. You will be prompted for a location to install these files. Once installed you will see four folders inside ...\AGKStudio\Tier 2
\AGKStudio\Tier2\Apps - contains the templates for creating native projects on various platforms, plus the interpreter project for recompiling the AppGameKit Studio Player
\AGKStudio\Tier2\Common - contains the include files you will need to point to when compiling, the apps projects already reference this folder with a relative path.
\AGKStudio\Tier2\Platform - contains the native libraries for various platforms that you will need to link to when compiling, the apps projects already reference this folder with a relative path (except Android whose libraries are in the project's jni folder).
\AGKStudio\Tier2\Showcase - contains example games that come for free with AppGameKit Studio, in binary form only.
\AGKStudio\Tier2\Tutorials - Several tutorials to get started.
Templates
The apps folder contains projects suitable for the current platform, for example the Windows version contains projects for Windows, Android, and Blackberry, whilst the Mac version contains projects for Mac, iOS, Android, and Blackberry. Additionally there are some special projects listed below
facebook - for Android Facebook integration, import this project into Eclipse along side your own projects.
google-play-services - for Android Google Play Services integration, import this project into Eclipse along side your own projects.
projects ending _lite - stripped down projects that have no Facebook integration, no push notifications, and no Chartboost integration.
All of these projects use relative paths to link to libraries and include files, so if you create a copy of a project and move it elsewhere please bear in mind you will need to alter these paths.
Library files
Most platforms contain a single library compiled in release mode that can be compiled into both Debug and Release projects. The exception is Windows which has both a Debug and Release library which must match your project's current build configuration. For example, if you enter the Windows folder, you will see a folder named Lib, go into here and there will be two folders; Debug and Release that contain the library files. Your debug configuration should link to the one in the Debug folder and your release configuration should link to the one in the Release folder.
Conclusion
For more details on each platform please return to the Guides section of the documentation and select the appropriate Tier 2 platform link.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/6_music.htm b/AGK/AGK Help Generator/AGK Txt/guides/6_music.htm
deleted file mode 100644
index 2337e70b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/6_music.htm
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-Music - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide provides an overview of loading and playing music in AppGameKit Studio.
What formats are supported?
AppGameKit Studio uses the OGG compressed music format as its main standard for loading and playing music files. The format is compressed, has a high quality and the decoding of the music is done on a separate thread to avoid any performance issues. It's easy to convert your music tracks to OGG format with the many different sound file converters.
How do I load music?
The command LoadMusicOGG allows you to load a music track. Here are the available options:
A music file can be loaded by either assigning an ID number manually or having it provided to you automatically. The next step is to let AppGameKit Studio know which file you want to load e.g. "myMusic.ogg". Please note that ID numbers are unique for a command set. Therefore it's feasible to have a music track loaded with an ID number of 1 and a sprite with an ID of 1. Music resources are limited, so only ID numbers betwen 0 - 50 are valid.
Here's one approach to loading a music track. The command LoadMusicOGG is called, an ID number of 1 is specified and the file to load is "myMusic.ogg":
LoadMusicOGG ( 1, "myMusic.ogg" )
-
agk::LoadMusicOGG ( 1, "myMusic.ogg" );
-
This alternative method demonstrates how a music track can be loaded with an automatically assigned ID number:
sound = LoadMusicOGG ( "myMusic.ogg" )
-
sound = agk::LoadMusicOGG ( "myMusic.ogg" );
-
How can I play music?
Once music has been loaded it can be played with the PlayMusic command. Several variants of this command exist:
PlayMusicOGG ( id )
-PlayMusicOGG ( id, loop )
-
agk::PlayMusicOGG ( UINT id, int loop = 1 );
-
The parameters for this command are as follows:
ID
loop
The ID number refers to the ID of the music you want to play. The loop parameter controls whether the music will be looped. When this value is set to 0 the music track will play through once and then stop. When this value is set to 1 the playback will continually loop.
This example shows how to load and play music that will loop:
To stop all music from playing call the StopMusic command. This command has no parameters. The following code loads music into ID 1, plays it with looping turned on and then stops the playback:
The input commands provide the ability to deal with a variety of different inputs for example, joysticks, buttons and the accelerometer. The commands are divided up into two main categories - Universal and Raw, and it's important to understand the distinction between these categories.
Universal Input
The universal input commands will function on all platforms. Here's an example demonstrating the process:
if ( GetPointerPressed ( ) = 1 )
- // do something
-endif
-
if ( agk::GetPointerPressed ( ) == 1 )
-{
- // do something
-}
-
This particular command will adapt its behaviour dependent on the platform. When running on a platform that uses a mouse it will return a value of 1 when the left mouse button has been pressed. When running on a platform that uses a touch screen it will return a value of 1 when the user taps the screen.
All the other universal commands operate in a similar fashion. As another example here's a line showing the usage for a command named GetDirectionX:
x# = GetDirectionX ( )
-
x = GetDirectionY ( );
-
When running this code on a device that supports an accelerometer the data being returned will come directly from the accelerometer. When running on a platform such as Windows, where no accelerometer is pressent, AppGameKit Studio will provide a fallback mechanism and emulate the functionality by using the arrow keys on the keyboard.
What we end up with is a set of generic commands that will behave the same way regardless of the platform being used. If you want to maintain the philosophy of AppGameKit Studio to write once and deploy everywhere then you must ensure you use the universal input commands.
Raw Input
In some circumstances a game may only be directed at a specific platform or a subset rather than all the platforms that AppGameKit Studio supports. In cases like this, it might be more convenient to handle all of the input functionality provided by those devices. For example, on mobile devices it would be possible to pick up much more information relating to touch input, whereas when targeting all platforms and using the universal commands a more limited set of data is provided.
This example highlights the differences between universal and raw commands:
In this instance the code is extracting data from an accelerometer on the X, Y and Z axis. Data will only be returned when an accelerometer is present on the platform e.g. on Samsung Bada. Obtaining this level of data is not possible when using the universal commands.
How can I respond to basic input?
Some of the universal commands to deal with basic input are:
GetPointerPressed
GetPointerX
GetPointerY
These three commands can be used to respond to mouse or touch input. The initial command to use is GetPointerPressed. This command returns a value of 1 upon input and after this point you can determine the X and Y position of the input:
if ( agk::GetPointerPressed ( ) == 1 )
- x = agk::GetPointerX ( );
- y = agk::GetPointerY ( );
-endif
-
How can I use a virtual joystick on one platform and keyboard input on another?
This might be a common scenario for many games, whereby a virtual joystick controller is displayed on screen for mobile devices and keyboard input is preferred for platforms that support it. AppGameKit Studio will automatically take care of this transition if you use the following commands:
SetJoystickScreenPosition
GetJoystickX
GetJoystickY
The command SetJoystickScreenPosition is used to place a virtual joystick on screen when appropriate. It takes 3 parameters:
x
y
size
The x and y parameters control the position of the on screen joystick, while the size parameter controls the diameter of the joystick. This command has no effect when your game is running on a platform that has a real joystick or keyboard available, but it's still important to call it if you require this transition so that a virtual joystick will be displayed when necessary.
The commands GetJoystickX and GetJoystickY will return data either when the W, A, S and D keys are pressed or a real joystick is being used or when a virtual joystick is being used.
For an example of this process in action please check out the Space Game example provided with AppGameKit Studio.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/8_networking.htm b/AGK/AGK Help Generator/AGK Txt/guides/8_networking.htm
deleted file mode 100644
index 5b5a0dd3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/8_networking.htm
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
-Basic Networking with AppGameKit Studio by Kevin Summers - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Basic Networking with AppGameKit Studio by Kevin Summers
Basic Networking with AppGameKit Studio by Kevin Summers
Using a Top 10 High Score list as an example, this tutorial will attempt to demonstrate the following.
How to set up a server app to listen for network connections
Use the first data item in a network packet to determine what action to take
Assembling and sending a network packet to a specific client
How to connect a client app to a server
Use the first data item in a network packet to tell the server what you want
Receive a network packet
The Server App
To set up a server listening on a network requires only one command. This command sets up a network called myNetwork using the client name Server and listens for TCP connections on port 4100. For connections coming in to the server from the Internet, you will have to set up your router to forward that port to the machine running your server app.
Now that we are listening on the network, we need to add a little maintenance routine to clean up after clients that have disconnected. This routines checks to see if a client that was previously connected has disconnected, and it deletes the associated client ID making room for the next client connection.
for x = 1 to 50
- if x = 1
- id = GetNetworkFirstClient(iNetID)
- else
- id = GetNetworkNextClient(iNetID)
- endif
- if id = 0 then exit
- if GetNetworkClientDisconnected(iNetID, id) = 1
- DeleteNetworkClient(iNetID, id)
- endif
-next x
-
Now we are ready to check for incoming messages. We'll ask the network if there are any in the queue and grab it if there are. Then check the client ID to make sure it's coming from a client and not the server. (the server uses client ID 1)
When we have received a packet, we check the first data item, which in this case happens to be a float. We are using that float to determine what action to take. For this app, if the float equals 1.0, then we are sending the high score list to the client. If it equals 1.1, then the client has sent a high score to the server to be considered for placement in the top 10.
msg = GetNetworkMessage(iNetID)
-if msg > 0
- ClientID = GetNetworkMessageFromClient(msg)
- if ClientID > 1
- f# = GetNetworkMessageFloat(msg)
- if f# = 1.0 // Send High Score List
- newMsg = CreateNetworkMessage()
- AddNetworkMessageFloat(newMsg, 1.0)
- for x = 1 to 10
- AddNetworkMessageString(newMsg, HiScores[x].init$)
- AddNetworkMessageInteger(newMsg, HiScores[x].score)
- next x
- SendNetworkMessage(iNetID, ClientID, newMsg)
- DeleteNetworkMessage(newMsg)
- endif
- if f# = 1.1
- // Receive Score from Client
- temp$ = GetNetworkMessageString(msg)
- score = GetNetworkMessageInteger(msg)
- // See if the submitted score is high enough for the top 10
- // If it is, place it where it belongs and shuffle the rest
- // of the scores down one position.
- for x = 1 to 10
- if score > HiScores[x].score then exit
- next x
- if x < 11
- for y = 10 to x+1 step -1
- HiScores[y].init$ = HiScores[y-1].init$
- HiScores[y].score = HiScores[y-1].score
- next y
- HiScores[x].init$ = init$
- HiScores[x].score = score
- endif
- endif
- endif
- DeleteNetworkMessage(msg)
-endif
-
The Client App
For the sake of simplicity I'll only be showing the subroutines that handle network communications. It will be up to you to create the game that ultimately feeds this the player's initials and score.
The SendHighScore subroutine.
For the client to connect to the server requires just one command. It specifies the IP address of the server, the port, and a client name. The client name when connecting to a server must be different than any other client name currently connected to the server, so we're using a Random number to keep it unique.
Then we enter a loop that checks to see if we have connected, and times out in 4 seconds if we don't. Remember to give enough time for a connection to happen. On devices such as cell phones, congestion and poor signal, are very common and can produce long delays.
// If we don't connect within 4 seconds, print an error and exit
-t# = timer()
-do
- c = GetNetworkNumClients(iNetID)
- if c > 1 then exit
- if timer() - t# > 4.0
- print("Server could not be reached.")
- exit
- endif
- sync()
-loop
-
Once the connection is established, we assemble the network packet, and send it off to the server.
If c > 1
- ServerID = GetNetworkServerID(iNetID)
- newMsg = CreateNetworkMessage()
- AddNetworkMessageFloat(newMsg, 1.1)
- // Add the packet identifier
- AddNetworkMessageString(newMsg, init$)
- // Add the player's initials
- AddNetworkMessageInteger(newMsg, score) // Add the player's score
- SendNetworkMessage(iNetID, ServerID, newMsg)
- // Send it to the server
- DeleteNetworkMessage(newMsg)
- CloseNetwork(iNetID)
-endif
-
The GetHighScores subroutine
The first part of this routine is identical to the SendHighScore subroutine.
InetID = JoinNetwork("192.168.100.5", 4100, "Client"+str(Random()))
-// If we don't connect within 4 seconds, print an error and exit
-t# = timer()
-do
- c = GetNetworkNumClients(iNetID)
- if c > 1 then exit
- if timer() - t# > 4.0
- print("Server could not be reached.")
- exit
- endif
- sync()
-loop
-
Once the connection is established, we send off just the float in a packet by itself. This tells the server we want it to send the full high score list. Then we enter a loop waiting for the packet to arrive from the server.
If c > 1
- ServerID = GetNetworkServerID(iNetID) // get server's ID
- newMsg = CreateNetworkMessage() // add the packet identifier
- AddNetworkMessageFloat(newMsg, 1.0) // send it to the server
- SendNetworkMessage(iNetID, ServerID, newMsg)
- DeleteNetworkMessage(newMsg)
- msg = 0
- t# = timer()
- while msg = 0
- msg = GetNetworkMessage(iNetID)
- if timer() - t# > 2.0 then exit
- sync()
- endwhile
- if msg > 0
- f# = GetNetworkMessageFloat(msg)
- if f# = 1.0
- for x = 1 to 10
- HiScores[x].init$ = GetNetworkMessageString(msg)
- HiScores[x].score = GetNetworkMessageInteger(msg)
- next x
- endif
- endif
- DeleteNetworkMessage(msg)
- CloseNetwork(iNetID)
-endif
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/LinuxTier2.htm b/AGK/AGK Help Generator/AGK Txt/guides/LinuxTier2.htm
deleted file mode 100644
index 6d9ed16f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/LinuxTier2.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Linux - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains the process involved in creating projects when using Tier 2 when using the Linux platform. In order to compile projects on the Linux it is advisable that you obtain a recent, up to date distribution.
Libraries and include files
The template projects and any of your own custom projects are dependent on several library and include files. Their install locations are -
Include Files
\The Game Creators\AGKStudio\Tier 2\common\include\
\The Game Creators\AGKStudio\Tier 2\common\Collision\
\The Game Creators\AGKStudio\Tier 2\bullet
\The Game Creators\AGKStudio\Tier 2\bullet\BulletCollision\CollisionShapes
Libraries
\The Game Creators\AGKStudio\Tier 2\platform\Linux\Lib\Release64\
\The Game Creators\AGKStudio\Tier 2\platform\Linux\Lib\Release32
Templates
Several templates are included that provide a starting point for your applications. These can be found within -
All of these projects are set up with relative links to the AGK libraries and include files and are ready to compile. Making new projects outside this location or moving the existing projects to another location will result in you needing to update library and include links within the project settings to ensure the app compiles.
Make a copy of the appropriate project and place it within the apps folder, then open terminal and navigate to the location. Execute the provided makefile using "make -f Makefile".
The terminal will display an output log and create an executable that you can run.
The project will consist of three main files - core.cpp, template.cpp and template.h. Core.cpp is the starting point for your application as a whole, which in most cases can be ignored and is only relevant for more advanced users. Template.h contains a class declaration for your app and template.cpp contains the definition, with three functions already defined - Begin, Loop and End. Begin is the entry point for your application and is used for initial setup. Loop will be called every cycle and should be the location of your logic etc. Finally End is called when the app closes down and can be used to free up resources etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays.htm
deleted file mode 100644
index c59782ed..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Arrays - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Imagine a scenario where you have a four player game. When every player's score hits 100 the game would end. Using ordinary variables the code to detect whether all four players have reached a score of 100 might look like this.
player1 as integer = 0
-player2 as integer = 0
-player3 as integer = 0
-player4 as integer = 0
-
-if player1 = 100 and player2 = 100 and player3 = 100 and player4 = 100
- // finish the level
-endif
-
The code handles all four players, but imagine if the game suddenly expanded. What would happen if the game design was changed so that eight players could play in each level? You could declare four more variables to store the score for the extra players. You would also need to update any code dealing with the score to take into account the new players. This approach works, however, it's not very flexible as having to deal with changes every time more players are added is far from ideal.
This scenario is quite simplistic, but it does demonstrate the need to be able to handle data in another way, which is where arrays come in. Arrays can be thought of as a container of data, allowing you to store and access data through one variable. Instead of having eight separate variables to store the score for the players we could instead have one variable, resulting in our code being much easier to deal with.
The way in which an array is declared is essentially the same as regular variables. Let's take a look at how an array can be declared to contain our scores for eight players.
playerScores as integer [ 8 ]
-
The key difference to a normal variable is that at the end of our declaration an opening bracket is used, along with a number and then a closing bracket. These three components let AppGameKit Studio know that this variable is an array and will have eight parts or elements.
To set data within an array you need to use the square brackets and pass in an index that controls which part of the array you want to deal with. The code that follows shows how each part of playerScores can be assigned values.
An alternative and more efficient way of writing this program would be to alter the way in which the initial values are assigned to playerScores by using a for loop.
playerScores as integer [ 8 ]
-
-for i = 1 to 8
- playerScores [ i ] = i * 10
-next i
-
-do
- for i = 1 to 8
- print ( playerScores [ i ] )
- next i
-
- sync ( )
-loop
-
What we end up with is a container variable that stores eight values, which in this instance is far more useful than having eight separate variables to store the data. It results in less code that is more manageable and easier to expand. If, for example, we decided to change the number of players it would simply be a case of altering the declaration of the array and using a different value, meaning our code is much more dynamic.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_002.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_002.htm
deleted file mode 100644
index d8ebf056..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_002.htm
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-Arrays in action - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This example demonstrates how the use of arrays can make a program's data far easier to work with. It creates nine sprites and moves them up and down the screen. Information about the sprite, its speed and direction are all stored within arrays. This allows us to store a lot of data within a few variables, which is much better than having lots of unique variables and needing to replicate code to deal with the same data.
This program relies on some external media. The easiest way of running this program is to click here and download the project. Once the file has been downloaded, extract the files and open MyFirstAGKProject.agk within AppGameKit Studio. Now run the program to see what it does.
The purpose of this program is to give you some kind of idea about how using arrays can be more beneficial in certain circumstances, so don't worry too much about anything you don't totally understand.
Take a look at the code.
SetVirtualResolution ( 1024, 768 )
-
-image as integer
-sprites as integer [ 9 ]
-speed as integer [ 9 ]
-direction as integer [ 9 ]
-
-image = LoadImage ( "penguin.png" )
-
-for i = 1 to 9
- sprites [ i ] = CreateSprite ( image )
- SetSpritePosition ( sprites [ i ], GetImageWidth ( image ) * ( i - 1 ), 768 - GetImageHeight ( image ) )
-
- direction [ i ] = 0
- speed [ i ] = -i
-next i
-
-do
- for i = 1 to 9
- x = GetSpriteX ( sprites [ i ] )
- y = GetSpriteY ( sprites [ i ] )
-
- if ( direction [ i ] = 0 and y < 0 ) or ( direction [ i ] = 1 and y > 768 - GetImageHeight ( image ) )
- speed [ i ] = -speed [ i ]
- direction [ i ] = not direction [ i ]
- endif
-
- y = y + speed [ i ]
-
- SetSpritePosition ( sprites [ i ], x, y )
- next i
-
- sync ( )
-loop
-
We are able to control nine sprites on screen without using a load of variables, instead just three arrays contain all the data we need.
Let's take a brief overview of what the code is doing.
A few variables are declared at the start of the program image, sprites, speed and direction.
image will be used to store an ID number for an image that will get loaded and used with the sprites moving up and down the screen.
sprites is an array containing 9 integers. It will store ID numbers for the sprites that we create.
speed is also an array containing 9 integers. This array will store values that control how fast the sprites move up and down the screen.
Finally direction is declared and is also an array storing 9 integers. This array stores a value that determines which direction the sprites move in.
After the variable declarations an image named "penguin.png" is loaded. This will be used by all of the sprites.
The next part is a for loop that creates 9 sprites.
Next we're onto the main loop of the program that controls how our sprites are moved.
The two main parts that need explaining in more detail are the for loop that creates the sprites and the for loop inside the do loop. Let's begin with the first for loop.
for i = 1 to 9
- sprites [ i ] = CreateSprite ( image )
- SetSpritePosition ( sprites [ i ], GetImageWidth ( image ) * ( i - 1 ), 768 - GetImageHeight ( image ) )
-
- direction [ i ] = 0
- speed [ i ] = -i
-next i
-
This loop will cycle through nine times, performing the following tasks.
A sprite gets created. Its identifier or ID number is stored within the array sprites. This number is required by many other commands. The sprite is told to use the image loaded earlier (penguin.png).
The position of the sprite is set by calling the command SetSpritePosition. The ID number of the sprite we're working with is passed in, followed by the X and Y positions. This will initially position all of the sprites in a row.
All the values inside direction are set to 0. Later on inside the main loop if this value is 0 the sprites move up the screen. When it is set to 1 the sprites move down the screen.
speed is set to the negative value of i. When this for loop has finished the values this array contains will be -1, -2, -3, -4, -5, -6, -7, -8 and -9.
The main loop of the program controls the movement of the sprites.
for i = 1 to 9
- x = GetSpriteX ( sprites [ i ] )
- y = GetSpriteY ( sprites [ i ] )
-
- if ( direction [ i ] = 0 and y < 0 ) or ( direction [ i ] = 1 and y > 768 - GetImageHeight ( image ) )
- speed [ i ] = -speed [ i ]
- direction [ i ] = not direction [ i ]
- endif
-
- y = y + speed [ i ]
-
- SetSpritePosition ( sprites [ i ], x, y )
-next i
-
The for loop cycles through all of our nine sprites. It does the following.
Initially the X and Y positions of our sprites are stored in the variables x and y. This data is needed multiple times throughout the loop, so instead of repeatedly calling the functions to extract the data, it is simply assigned to these variables, resulting in our program having less work to do.
The if statement checks whether either of the conditions are valid. If the direction is set to 0 and the Y position is less than 0 or whether the direction is set to 1 and the Y position is greater than 768 minus the size of the image. In order words this is checking whether the sprite is at the top or bottom of the screen.
If either of the conditions are true then the speed for the sprite is set to the negative value of its speed. If the speed was set to 5, then it would switch to -5. The direction is set using the not operator, allowing us to alternate between 0 and 1. If the direction is 0 it becomes 1. If it's 1 it gets set to 0. All this has the effect of letting us continually tick tock our values letting us move the sprites up and down.
Next there's a line that takes the current Y position and add the current speed to it. The speed is either negative or positive, allowing us to move the sprite up or down.
The final line updates the position of the sprite based on our alterations to its position. Nothing actually happens with the X position, but we are moving the Y position.
Imagine if this program wasn't using arrays. We would need 27 separate variables to store all this information, which would be very messy and unpleasant to work with. Instead we have a much more elegant solution by using arrays.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_003.htm
deleted file mode 100644
index a8f41010..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_003.htm
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-Size of an array - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
When an array is declared a fixed value is usually defined, such as this line of code that declares an array named speed, giving it a size of 5.
speed as integer [ 5 ]
-
The speed array might contain data storing how fast 5 cars should be moving, each of which might be moving at a different rate. Later on in your game you might decide to have more or fewer cars in a particular level. You could just declare speed as having many elements e.g. 500 but this would be a waste of resources. Ideally you only want to have memory reserved for the actual data your program needs. If one level needs to store the speed for 5 cars then the array should have a size of 5. If the next level uses 10 cars then the array should have a size of 10. By working like this your program will be more efficient, as are you only using resources that your program requires.
Controlling the size of an array is handled by using the keyword length as demonstrated in this program.
speed as integer [ 5 ]
-
-for i = 1 to 5
- speed [ i ] = i
-next i
-
-speed.length = 10
-
-do
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
This program begins by having an array with 5 elements. The for loop gives each element a value from 1 to 5. The next line resizes the array.
speed.length = 10
-
After this line has been called our array will have a size of 10 instead of 5, although it will still retain the data that was previously set.
The for loop within the program also makes use of the length keyword, allowing us to cycle through all elements of the array to print its contents. The first 5 parts of the array will show 1, 2, 3, 4 and 5, whilst the remainder will display 0 as no other value has been set for it.
The next program shows how an array can be made smaller.
speed as integer [ 10 ]
-
-for i = 1 to 10
- speed [ i ] = i
-next i
-
-speed.length = 5
-
-do
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
An array can be resized at any point within your program, giving you the flexibility to ensure only the data you need is used.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_004.htm
deleted file mode 100644
index bd3ca248..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_004.htm
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-Indexing and assignment - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
An array declared with 5 elements will actually end up having 6 elements. The reason for this is that the language allows the starting point of the array to be 0, therefore this program is valid.
speed.length will have a value of 5 and the numbers 1, 2, 3, 4, 5 and 6 will be displayed on screen.
Whether you choose to start at index 0 or 1 is down to personal preference.
When an array is declared it can be provided with default values as shown in this program.
speed as integer [ 5 ] = [ 1, 2, 3, 4, 5 ]
-
-do
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
After the declaration the equals sign is used along with an open bracket, followed by literal values and commas to separate each value, finally finished off with a closing bracket. This fills our array with the values 1, 2, 3, 4 and 5. Inside the do loop the contents of the array are displayed on screen with the print command.
When you run the program the values 2, 3, 4, 5 and 0 get displayed on screen. This is because when assigning values to arrays in this manner AppGameKit Studio treats the start point as 0 and not 1. To get the correct values displayed the program would need to be altered so that the declaration of speed is changed to.
speed as integer [ 5 ] = [ 0, 1, 2, 3, 4, 5 ]
-
Only literal values are accepted when assigning arrays values. It is not possible to use expressions or variables.
Arrays can be assigned values in the same manner after they have been declared.
speed as integer [ 4 ] = [ 0, 1, 2, 3, 4 ]
-
-speed = [ 0, 1, 2 ]
-
-do
- print ( speed.length )
- print ( "" )
-
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
When using this approach if the number of elements being assigned is greater than the current array length then the array will be expanded to accommodate the new elements. If the number of elements is less than the current array length then the array length will remain the same and new elements will overwrite the beginning of the array, whilst the rest of the array remains unchanged. In this example the array goes from a size of 4 to 2.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_005.htm
deleted file mode 100644
index 85301c53..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_005.htm
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-Inserting and removing items into an array - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Inserting and removing items into an array
Inserting and removing items into an array
Elements can be inserted and removed from arrays which will increase or decrease their size accordingly. Take a look at this example.
speed as integer [ ]
-
-speed.insert ( 0 )
-speed.insert ( 10 )
-speed.insert ( 20 )
-
-do
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
When the speed array is declared no value has been provided, meaning this array has no size to begin with. It is considered to have 0 elements.
The insert command is used to insert new values onto the end of the array. Therefore the next three lines add three elements 0, 10 and 20 to the array. This command uses 0 as the default index, so the first value we add into the array is at index 0, the second value is at index 1 and so on. Therefore when we come to the for loop that prints out the contents of the array we see the values 10 and 20 on screen. If the first insert passing in 0 was not used we would just see 20 displayed on screen.
An alternative way of writing this program would be to treat index 0 as the beginning point in our for loop.
speed as integer [ ]
-
-speed.insert ( 10 )
-speed.insert ( 20 )
-
-do
- print ( speed.length )
-
- for i = 0 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
Whether you consider 0 or 1 to be the start point doesn't really matter so much, although it's helpful for consistency if you choose one or the other.
If the insert command was used on an array that already had data, then the data will be added onto the end of the array, as shown in this program.
When you run this program a value of 7 would be displayed to represent the size of the array along with the values 100, 200, 300, 400, 500, 10 and 20.
Given that it's possible to assign default values to arrays then the same program could be rewritten like this.
speed as integer [ 5 ] = [ 0, 100, 200, 300, 400, 500 ]
-
-speed.insert ( 10 )
-speed.insert ( 20 )
-
-do
- print ( speed.length )
-
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
An alternative method is to use the insert command and pass in two parameters, allowing you to insert a value at a specific index for an array.
speed as integer [ 5 ] = [ 0, 100, 200, 300, 400, 500 ]
-
-speed.insert ( 250, 3 )
-
-do
- print ( speed.length )
-
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
The insert command being used here will insert the value 250 at index 3. This has the effect of increasing the size of the array to 6. When the program runs the size of the array will be 6 and you will see the array contains 100, 200, 250, 300, 400 and 500.
The remove command is used to take an element out of an array. Here's an example.
speed as integer [ 5 ] = [ 0, 100, 200, 300, 400, 500 ]
-
-speed.remove ( )
-
-do
- print ( speed.length )
-
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
When this program runs the final index is removed from speed changing its contents from 100, 200, 300, 400, 500 to 100, 200, 300 and 400. This also affects the size of the array taking it from 5 down to 4.
The remove keyword also allows you to remove a specific index in the array. This program removes index 3 from the array.
speed as integer [ 5 ] = [ 0, 100, 200, 300, 400, 500 ]
-
-speed.remove ( 3 )
-
-do
- print ( speed.length )
-
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
Index 3 contains the value 300. When this is removed the array will change from a size of 5 to 4 and will contain the values 100, 200, 400 and 500.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_006.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_006.htm
deleted file mode 100644
index 39c3aab8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_006.htm
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-Sorting and searching - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Arrays can be sorted using the sort command and searched using the find command.
This program shows the sort command being used. It will organise the elements of an array into ascending order.
speed as integer [ 5 ] = [ 0, 500, 300, 100, 400, 200 ]
-
-speed.sort ( )
-
-do
- for i = 1 to speed.length
- print ( speed [ i ] )
- next i
-
- sync ( )
-loop
-
Prior to the sort command being used the array contains the values 500, 300, 100, 400 and 200. Once it has been sorted it will change to 100, 200, 300, 400 and 500.
The sort command can sort arrays of floats, integers and strings. The next program uses it to sort an array of names.
names as string [ 5 ] = [ "", "lee", "rick", "paul", "dave", "adam" ]
-
-names.sort ( )
-
-do
- for i = 1 to names.length
- print ( names [ i ] )
- next i
-
- sync ( )
-loop
-
The find commands provides a way of locating specific information within the array. Say that you wanted to find which index the name "lee" is stored in.
names as string [ 5 ] = [ "", "lee", "rick", "paul", "dave", "adam" ]
-
-names.sort ( )
-
-do
- for i = 1 to names.length
- print ( names [ i ] )
- next i
-
- print ( "" )
-
- index = names.find ( "lee" )
-
- print ( "lee is at index = " + str ( index ) )
-
- sync ( )
-loop
-
The array gets declared, sorted and then inside the main loop has its contents displayed on screen. The find command is called on the array, passing in the name "lee". The return value lets us know where "lee" is in the array.
If you attempt to search for an integer, string or floating point value that is not contained within the array then the command will return -1.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_0061.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_0061.htm
deleted file mode 100644
index 696c5b76..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_0061.htm
+++ /dev/null
@@ -1,203 +0,0 @@
-
-
-
-Multidimensional arrays - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
In order to figure out what multidimensional arrays and why they should be used let's first examine a program with a simple scenario, that declares a single dimensional array with a size of 5, to hold scores for a game.
score as integer [ 5 ]
-
-score [ 1 ] = 10
-score [ 2 ] = 20
-score [ 3 ] = 30
-score [ 4 ] = 40
-score [ 5 ] = 50
-
-do
- for i = 1 to 5
- print ( score [ i ] )
- next i
-
- sync ( )
-loop
-
The first element in the array gets set to 10, the second to 20, the third to 30, the fourth to 40 and the fifth to 50. All of this information gets printed out using the for loop.
Now imagine a situation where you wanted to keep track of scores for separate groups of players. Say you had 2 groups of 5 players. You could simply increase the size of the array to 10 and store the second groups players in elements 6 to 10. This would work but it not's particularly clear as it may not be so obvious that elements 6 to 10 of the array are for another group of players. Some problems might also be caused if the group suddenly found itself with a few extra players. In this instance another solution is required and this is where multidimensional arrays come into use. The score array could be declared like this.
score as integer [ 2, 5 ]
-
This means it has 2 groups of 5 values. To add an extra dimension to an array a comma is used, followed by the size of the new dimension, up to a maximum of 6 dimensions. By using a multidimensional array it becomes much easier to deal with player's scores. Here's a modified version of the program that handles the scores for 2 groups of 5 players.
The first block of code deals with assigning scores to group 1 of the array, whilst the second group assigns scores to group 2. This results in us having two nicely managed compartments of data. We know that group 1 contains 5 lots of scores for the first set of players. Group 2 contains 5 lots of scores for the second set of players.
Notice that when referring to the array the parameters that control which element you are accessing must match the size of the array. If you have 2 dimensional array then you must specify 2 parameters to access the parts of the array.
In the event that another set of players joined the game then the first dimension could be increased to 3, giving us 3 lots of 5 scores (15 in total). The new array could be declared like this.
score as integer [ 3, 5 ]
-
Alternatively if more players joined each group the second dimension could be increased e.g.
score as integer [ 2, 10 ]
-
In which case the array would contain 2 lots of 10 scores (20 in total).
To add a third dimension to the array it could be declared like this.
score as integer [ 2, 3, 4 ]
-
This array would have 2 groups, that in turn contain 3 groups, each containing 4 values, resulting in the array being able to store a total of 24 values. Here's a program showing how this array can be used.
What's so useful about being able to use multidimensional arrays is that you can quite easily group some data together. While the example shown here is quite simple it should at least you give some kind of idea as to what might be possible.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_0062.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_0062.htm
deleted file mode 100644
index d8f7b9e8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_0062.htm
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-Passing arrays to functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Array are just like any other variables in that they can be passed into functions as parameters. Here's a small example program that shows how it is done.
score as integer [ 3 ]
-
-score [ 1 ] = 10
-score [ 2 ] = 20
-score [ 3 ] = 30
-
-do
- UpdateScore ( score )
-
- for i = 1 to 3
- print ( score [ i ] )
- next i
-
- sync ( )
-loop
-
-function UpdateScore ( values as integer [ ] )
- for i = 1 to values.length
- values [ i ] = values [ i ] + 2
- next i
-endfunction
-
Here's how it works.
An array named score is declared. It has a size of 3.
Each part of the score array is given a value.
A function named UpdateScore is called passing in the variable score.
The do loop prints out the contents of the variable score.
The function UpdateScore has declared the type of parameter as being integer and added an opening and closing bracket, signalling to the program that an array is expected to be passed into this function.
If you run this program you will see 0, 0 and 0 displayed on screen instead of the scores continually getting larger and larger as you might expect. The reason for this is that by default AppGameKit takes parameters being passed into functions and copies their data, resulting in the parameter being a complete copy of the data passed in. The original data remains untouched by the function.
If you want to modify the data being passed into the function then the parameter needs to be declared slightly differently - use the ref keyword after the name of the variable and before the as keyword. Here's the same program, but this time the type is passed in as reference, resulting in its data being modified directly by the function.
score as integer [ 3 ]
-
-score [ 1 ] = 10
-score [ 2 ] = 20
-score [ 3 ] = 30
-
-do
- UpdateScore ( score )
-
- for i = 1 to 3
- print ( score [ i ] )
- next i
-
- sync ( )
-loop
-
-function UpdateScore ( values ref as integer [ ] )
- for i = 1 to values.length
- values [ i ] = values [ i ] + 1
- next i
-endfunction
-
When you run this program all 3 scores contained within the array will continually increment because the parameter has been declared using ref, therefore a copy is not made and the data being passed into the function will be directly modified by the function.
To pass multidimensional arrays to functions use additional square brackets in the function declaration, as shown in this program.
score as integer [ 2, 3 ]
-
-score [ 1, 1 ] = 10
-score [ 1, 2 ] = 20
-score [ 1, 3 ] = 30
-
-score [ 2, 1 ] = 100
-score [ 2, 2 ] = 200
-score [ 2, 3 ] = 300
-
-do
- UpdateScore ( score )
-
- for i = 1 to score.length
- for j = 1 to score [ i ].length
- print ( score [ i, j ] )
- next j
-
- print ( "" )
- next i
-
- sync ( )
-loop
-
-function UpdateScore ( values ref as integer [ ] [ ] )
- for i = 1 to values.length
- for j = 1 to values [ i ].length
- values [ i, j ] = values [ i, j ] + 1
- next j
- next i
-endfunction
-
The UpdateScore function has two sets of brackets for the parameter, meaning it expects a 2 dimensional array to be passed into it. If three sets of brackets were to be used then a 3 dimensional array would need to be passed into the function.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/arrays_007.htm b/AGK/AGK Help Generator/AGK Txt/guides/arrays_007.htm
deleted file mode 100644
index 414896a6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/arrays_007.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Conclusion - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
By now you should have a reasonable idea of what arrays are and how they can be used. In a follow up guide more details will be provided on arrays including a different method of declaring them and some extra functionality that has not been covered just yet.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions.htm
deleted file mode 100644
index 5dba6063..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Assignments and Expressions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_001.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_001.htm
deleted file mode 100644
index f58934f3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_001.htm
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-Assigning default values to variables - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Guides > Assigning default values to variables
Assigning default values to variables
When declaring a variable in most cases you will provide it with an initial value. This is known as assigning the variable a value, as shown in the following lines.
playerLives as integer = 10
-playerScore as integer = 0
-
playerLives is assigned a value of 10, whereas playerScore is assigned a value of 0.
Later on in your program you can assign these variables other values. These could be literal values or the values contained in other variables. However, at the point of declaration if you choose to assign a default value to a variable it must be a literal value (or a constant which we'll examine another time). You cannot, for example, attempt to set the default value of a variable to that of another variable. If the previous code listing was changed so that playerScores was assigned the value of playerLives then the program will fail to compile.
playerLives as integer = 10
-playerScore as integer = playerLives
-
When an error is detected in a program a message will appear in the Compiler tab of the Message Window explaining what the problem is, which in this case is that the variable default value for playerScore must be a literal or constant. Therefore in this instance to correct the error simply change the code so that playerScore is assigned a literal value such as 0.
As both variables have been declared as integers then an error would also be detected upon compilation if you attempted to assign these variables non integer values. For example this code listing will fail.
playerLives as integer = 10.12
-playerScore as integer = "hello"
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_002.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_002.htm
deleted file mode 100644
index 5c495899..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_002.htm
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-Assigning values to variables - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The first three lines declare and assign default values to the variables. The next line takes the value of defaultPlayerLives and assigns it to the variable playerLives.
playerLives = defaultPlayerLives
-
Which means at this point playerLives has been assigned a value of 10. When you run the program you will see 10, 10 and 0 displayed on screen.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_003.htm
deleted file mode 100644
index 4a101af9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_003.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-Expressions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
If a game has a score and that value was stored in the variable playerScore, at some point we'll need to update that score. It could be that if we're playing a space shooter game and the player fires a missile and blows up an asteroid we want to give them 10 points. If they destroy an alien we might award them 20 points. We might also need to be keeping track of how much time remains for the current level, whether the player is running out of fuel or perhaps they are using the boost packs and need to speed up. This is where expressions come in. They allow us to take our data and perform a calculation with it.
An expression is built up using operators and operands. The most basic operators allow you to perform addition, subtraction, multiplication and division. The operands refer to the data we're acting on.
Let's take the example of a score. If you wanted to take the current value of the score and add 10 to it then here's what you would do.
playerScore = playerScore + 10
-
To reduce the score by 10 it's simply a matter of using the subtraction operator.
playerScore = playerScore - 10
-
When this is broken down what it is effectively doing is saying to take the result of the expression on the right side of the equals operator and assign this to the variable on the left.
The mathematical operators can be combined together to create more complex expressions as shown here.
Whilst this particular line doesn't really make much sense in the context of the player's score it should at least give you an idea of how expressions can be constructed.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_004.htm
deleted file mode 100644
index feb289b0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_004.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-Expression order - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
In the case of valueA the expression being assigned to it has the division calculated first, so 10 / 2 = 5, which is then added to 2 and assigned to valueA. Therefore this variable has a value of 7.
valueB has used brackets to force the addition to be calculated first. In this instance the result of 2 + 10 = 12 is divided by 2 giving the variable a value of 6.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_005.htm
deleted file mode 100644
index c9a72691..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_005.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-Expressions with commands - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The variables valueA and valueB get declared and given initial values of 0. Following on from this valueA has been assigned the result of the expression 2 * 20, which is 40. The variable valueB is assigned the result of the expression 3 + 5 * 8. Remember that the operator order takes precedence here, with the multiplication operator taking higher precedence than the addition operator, therefore the multiplication part of the expression takes place first, leaving the expression 3 + 40, therefore the variable valueB gets assigned the value of 43.
The code within the do loop of the program makes three calls to the print command. The first call displays the contents of valueA. The second call shows the value of valueB. The third and final call to the print command demonstrates how you can use an expression to construct the parameter that this command requires. The expression adds the values of valueA and valueB together, which ends up being 83.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_006.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_006.htm
deleted file mode 100644
index ae31690e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_006.htm
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-Experimenting with expressions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This example program demonstrates how expressions can be used to control properties of 4 rectangles that get displayed on screen.
x as float = 30.0
-y as float = 40.0
-z as float = 0.01
-angle as float = 0.0
-red as integer = 0
-green as integer = 0
-blue as integer = 0
-
-CreateImageColor ( 1, 255, 255, 255, 255 )
-CreateSprite ( 1, 1 )
-SetSpriteSize ( 1, 10, 10 )
-
-CreateSprite ( 2, 1 )
-SetSpriteSize ( 2, 5, 5 )
-
-CreateSprite ( 3, 1 )
-SetSpriteSize ( 3, 6, 6 )
-
-CreateSprite ( 4, 1 )
-SetSpriteSize ( 4, 7, 7 )
-
-do
- x = x + cos ( angle ) / 2.0
- y = y + sin ( angle ) / 2.0
- z = z * 1.005
- angle = angle + 1.5
- red = 400 * x / 100
- green = 200 * y / 100
- blue = 100 * x + 50 / 100
-
- SetSpriteColor ( 1, red, green, blue, 255 )
- SetSpriteColor ( 2, green, red, blue, 255 )
- SetSpriteColor ( 3, blue, green, red, 255 )
- SetSpriteColor ( 4, blue, red, green, 255 )
-
- SetSpritePosition ( 1, x, y )
- SetSpriteAngle ( 1, angle )
-
- SetSpritePosition ( 2, 2 / ( x / 100 ), 50 * ( y / 100 ) )
- SetSpriteAngle ( 2, angle )
-
- SetSpritePosition ( 3, x + 10, 25 * ( y / 100 ) )
- SetSpriteAngle ( 3, angle * 3 )
-
- SetSpritePosition ( 4, x * 1.25, y * z )
- SetSpriteAngle ( 4, angle * z )
-
- sync ( )
-loop
-
What we end up with our 4 rectangles moving around the screen.
It's not vital that you understand every aspect of what's happening here. The key point is to get an understanding of how calculations can be made by using expressions to control the outcome of our program. Here's a very broad overview of what is happening.
A group of variables are declared at the start of the program. These will later be used to control properties of our on screen rectangles.
A white image is constructed that will be used by our rectangles. This is achieved by calling the command CreateImageColor.
4 sprites to represent the rectangles are created using the white image and are then given a specified size. Each sprite is created by calling the command CreateSprite. The size of the sprite is controlled by SetSpriteSize.
Inside the do loop is where all the action takes place. Expressions are used to assign values to our variables. These variables are then used to control the properties of our rectangles on screen by calling the commands SetSpriteColor, SetSpritePosition and SetSpriteAngle. Notice how expressions are being used when assigning values to our variables, they are also being used when building up information to be passed into the commands, such as in the calls to SetSpritePosition.
The aim at this point is to demonstrate what kind of results can be achieved when using simple expressions within your code, so don't be too concerned about not understanding everything that is taking place. As you progress through learning about AppGameKit Studio you will gain a far better understanding of all the components that come together to form a program.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_007.htm b/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_007.htm
deleted file mode 100644
index 7f2ea151..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/assignments_and_expressions_007.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Conclusion - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Assignments and expressions are a key part of any program. Learning the very basics of these elements will provide you with a good foundation as you move forward.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project.htm
deleted file mode 100644
index ad077398..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Creating your first project - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Here's what you will see when opening AppGameKit for the first time.
The editor or IDE (Integrated Development Environment) is used to write your programs. It is comprised of several parts.
File menu
Toolbar
Sidebar
Message window
For now we're just going to focus on what is needed for creating your first project, and as we move through the process you will get a better understanding of how the IDE works. The aim of the project is to simply print some text on screen.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_002.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_002.htm
deleted file mode 100644
index c57db7a5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_002.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Creating a project - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A project is a container for the source code that will be used to make your project. To create a project go to the File menu and select New Project.
A dialog box will appear prompting you for the Name and Base Path of the project. Give your project a name e.g. "MyFirstAGKProject" and select a location where it and any files it requires will be stored. The default location for the project will be your "My Documents" folder on Windows e,g. C:\Users\Your Name\Documents. On the Mac it may be Users/Your Name/Documents. It's a good idea to use the default locations, as they are easily accessible. When you have filled in the dialog with the Name and Base Path press the Create button to confirm your options and let the IDE generate the project files.
When the project is created, by default a file is made called main.agc. This will be the starting point for your application. This file will be listed in the Sidebar under the Project tab. Double click on it to open the file and see its contents in the main editing area.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_003.htm
deleted file mode 100644
index 5adf8599..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_003.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-Default code - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
AppGameKit will automatically provide you with a basic program that can be used as a starting point for your project. Here's what it looks like.
// Project: First project
-// Created: 2017-01-10
-// show all errors
-SetErrorMode(2)
-// set window properties
-SetWindowTitle( "First project" )
-SetWindowSize( 1024, 768, 0 )
-// set display properties
-SetVirtualResolution( 1024, 768 )
-SetOrientationAllowed( 1, 1, 1, 1 )
-SetSyncRate( 30, 0 ) // 30fps instead of 60 to save battery
-UseNewDefaultFonts( 1 ) // since version 2.0.20 we can use nicer default fonts
-do
- Print( ScreenFPS() )
- Sync()
-loop
-
For our project this code isn't required, so select it all and delete it, leaving you with an empty source file. To remove the code either click and drag to select all of the code, then hit the delete key. Alternatively press ctrl + a on Windows or cmd + a on the Mac to select everything, then press the delete key.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_004.htm
deleted file mode 100644
index 01647a5c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_004.htm
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-Adding your own code - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
For now let's try and display something on screen by adding a line of code.
print ( "hello world" )
-
Here's how the code will look in the editor.
This code calls a command named print and passes in the string "hello world" as a parameter. It is a command that is used to display text on screen. Try running this program - you will see a window appear on screen and immediately close, returning you back to the IDE. The reason why this happens is that your program only contains one line of instructions. Once that particular instruction has been executed there's nothing left for the program to do, therefore it finishes execution and terminates itself. We can correct this by adding in a loop, that can be used to continually cycle through a series of commands within it. Let's take a look at how our previous code can be modified to continually loop around.
do
- print ( "hello world" )
-loop
-
Two extra lines have been added to our program, specifically "do" and "loop". This effectively tells the program that any instructions contained within this block should continually loop around, until such time that the program tells it not to.
Prior to running this program one extra step remains. We need to call another command that tells AppGameKit to update the contents of the screen. This is called the "sync" command and should be called whenever you want to update or refresh the screen. The additional command can be added into our program within the do loop.
do
- print ( "hello world" )
- sync ( )
-loop
-
The end result is that our program will continually execute the print and sync calls in sequence as fast as it possibly can, giving us something to see on screen. Let's run the program.
Now it's working exactly as we want it to - we can see our text on screen and terminate the application by closing the window.
Try replacing the text "hello world" with something of your own and run the program again.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_005.htm
deleted file mode 100644
index 3cfe875b..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_005.htm
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-Formatting the code - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The program that we have created can be written in any number of ways. All of these programs listed below perform exactly the same function as our own program.
do
-print ( "hello world" )
-sync ( )
-loop
-
do
-print("hello world")
-sync()
-loop
-
DO
- PRINT ( "hello world")
-
-
- SYNC()
- LOOP
-
The syntax of AppGameKit and its commands are not case sensitive, therefore you can call the command print as PRINT, prINT or Print. Spacing is also not important, which is why you can have spaces before and after brackets. However, you can't have spaces inbetween commands e.g. print cannot be called pri nt. Adding multiple blank lines between commands is also perfectly fine.
You are offered a lot of flexibility when it comes to formatting your code and you can lay things out as you see fit. Although it's not so critical when you're starting out, imagine what it might be like if you have a large program containing thousands of lines of code. Think about how you would want to manage that. Being consistent with spacing and making the code easy to read will help you in the long term.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_006.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_006.htm
deleted file mode 100644
index cb9c8ce3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_006.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Congratulations on making your first program within AppGameKit. Admittedly it's simple, but it's a start and gives you a glimpse into AppGameKit and a better understanding of the basics. As you learn more about AppGameKit you will discover it's essentially a lot of building blocks, adding in more instructions to create more complex and large projects.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_007.htm b/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_007.htm
deleted file mode 100644
index e36fa6c3..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/creating_first_project_007.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
When developing an app it is important to understand the devices you are targeting, as this will impact the way your app is developed. Consideration must be given to supporting portrait, landscape or both orientations and how your app will look on different devices.
First of all you need to determine whether you are more comfortable dealing with virtual resolutions or the percentage system. Using a virtual resolution can complicate matters and for users getting started it's probably easier to deal with the percentage system. To enable this call the command SetDisplayAspect at the start of your program, passing in the aspect ratio of the device -
Adding 0.0 to the values returned by GetDevideWidth and GetDeviceHeight results in the division dealing with floating point values, meaning you don't need to declare extra variables and convert integers to floats.
Calling SetDisplayAspect as shown above will ensure you app covers the full screen of the device. Try some tests by displaying sprites or text at different areas of the screen to see how this works.
Ideally test your app on your development device and use SetWindowSize to see how it looks and if necessary make any alterations for particular aspect ratios. In some cases your monitor may not support the resolution of the target device, in which case you can simply lower the resolution while maintaining the aspect ratio to determine how your app will look. For example the iPhone X has a portrait resolution of 1125 x 2436. You could divide both values by 2 to give a test resolution of 562 x 1218, thus allowing you to see how your app might look on this particular device.
The resolution of devices can vary greatly. Here's a few examples of iOS devices -
iPhone XS Max 1242 x 2688
iPhone X 1125 x 2436
iPhone 8 Plus 1080 x 1920
iPhone 8 750 x 1334
iPad Pro 12.9-inch 2048 x 2732
iPad Pro 10.5-inch 2224 x 1668
iPad Air 2 1536 x 2048
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/facebook.htm b/AGK/AGK Help Generator/AGK Txt/guides/facebook.htm
deleted file mode 100644
index f65778d6..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/facebook.htm
+++ /dev/null
@@ -1,489 +0,0 @@
-
-
-
-Facebook - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The Facebook commands provided within AppGameKit provide functionality allowing users of an app to login to Facebook, post information about the app and find friends who are using the app. It's a great way of raising awareness of an app. Please note that this functionality is aimed at iOS and Android users.
Creating an app on Facebook
There's a few prerequisites for dealing with Facebook.
Application listing on relevant app stores
Facebook account
Facebook application
If your app is being deployed on iOS then you must register your app on iTunes Connect. If you app is being deployed on Android then your app must be registered on the Play Store. The reason for this is that Facebook needs to know information about the application it's connecting to, for example, the package name of your app when deploying to Android. This guide assumes you are familiar with the process of setting up an app for these platforms.
If you don't already have a Facebook account then you will need to register here; https://facebook.com/
The final stage before getting into any programming, is to create an application listing on Facebook, which will be used as a way of connecting your AppGameKit Studio app to Facebook. To get started with this visit the Facebook for developers page (https://developers.facebook.com/). Once logged in look at the top right of the screen where you will see a drop down menu showing "My Apps". Select this and click on "Add New App". After doing this you will be asked to provide some information, such as the name of the app, a contact email address and what category the app comes under. When you have filled in the form click the "Create App ID" button, which will take you to another page. There's a great deal of settings that can be configured at this stage, for now the most important part is to to handle the Facebook login. To set this up click on "Add Products" on the left panel and then select "Facebook Login", then select "Quickstart" and choose the first platform you want to deal with e.g. Android. You can add other platforms later. Once you add a platform you will be asked to go through these steps.
Download the Facebook SDK for Android - continue past this step
Import the Facebook SDK - continue past this step
Tell us about Your Android Project - add the required information
Add Your Development and Release Key Hashes - follow the instructions to generate key hashes from your signing certificates
Enable Single Sign On for Your App - if you're already logged into Facebook on your device, then enabling this will allow you to login automatically
Add Your Facebook App ID - ignore this step
Include FacebookActivity in your AndroidManifest.xml - ignore this step
Enable Chrome Custom Tabs - not necessary
Log App Events - continue past this step
Add the Facebook Login Button - continue past this step
Register a Callback - ignore
Check Login Status - not necessary
Next Steps - finished
Much of the steps are not required as AppGameKit takes care of it. The key points are the information about your app and the key hashes from your certificates.
When an application listing has been made make a note of your App ID from the Dashboard, as AppGameKit will require this so that it can connect to the application.
Logging into Facebook
For an app to login to Facebook it needs to perform the following.
Call FacebookSetup, passing in the app ID.
Check the user's device has an internet connection by calling GetInternetState.
Call FacebookLogin.
Confirm that the user is logged in by checking the return value of GetFacebookLoggedIn.
Prior to attempting to login to Facebook it's a good idea to first of all determine if the user has a viable internet connection. This can be handled by calling the command GetInternetState. If this returns a value of 1 then you can attempt to login to Facebook.
When FacebookLogin is called the user will be presented with a Facebook login dialog, that provides the user with the name of the Facebook app they are logging into. At this point the user enters their details and continues.
The login process isn't going to happen instantaneously, it may take several seconds before knowing whether the login has failed or succeeded, so the login code needs to handle this. Here's an example of how it might work.
The program begins by calling FacebookSetup and passing in the App ID from the application listing on Facebook. This is followed by a call to the function Login.
A check is made to see if an internet connection is available by calling GetInternetState. If a connection is available a value of 1 will be returned, otherwise the command returns 0, in which case exitfunction is used to immediately return out of the function with a value of 0.
The next step is a call to FacebookLogin.
Given that GetFacebookLoggedIn may take a few seconds to determine whether the user is logged in a do loop is used that continually checks the return value of this command.
A select is used to look at the return value for GetFacebookLoggedIn. A value of 0 means the the user is still waiting to login, whereas a value of 1 indicates the login was successful and -1 means there's some kind of problem resulting in the user being unable to login.
When the function is complete its return value is passed to the caller, with the result stored inside the loggedIn variable, that gets displayed on screen letting us know the result of the login.
Given that this function may take several seconds to complete it would be a good idea to provide some information on screen for the user letting them know that the program is waiting to login to Facebook. As an extra precaution the function could be modified so that the Facebook login was given a set amount of time to complete, for example, 60 seconds. If the return value from GetFacebookLoggedIn was still 0 at this point then you could exit out of the function assuming the login had failed.
Posting information to the user's wall
Once a user has been logged into Facebook you can post information to their wall / page. The command to do this is called FacebookPostOnMyWall. When it is called in your program the command will display a dialog on screen, prompting the user to post the message to their Facebook page. It takes the following parameters.
link - link to a webpage
picture - a picture that can be displayed on the post
name - a name given to the post
caption - a caption if required
description - a description of the post
This command is a great way to help promote your app. It could be used, for example, when a player reaches a certain score in a game, or perhaps when a player meets certain targets. Here's an example of how it can be used in the previous program, after a login attempt.
if loggedIn = 1
- link$ = "www.game-guru.com"
- image$ = "https://www.thegamecreators.com/images/banners/gameguru-tgc-banner.jpg"
- name$ = "Game Guru"
- caption$ = "Check out Game Guru"
- description$ = "Create, play and share fun games on your PC with absolutely no technical knowledge needed!"
-
- FacebookPostOnMyWall ( link$, image$, name$, caption$, description$ )
-endif
-
Finding friends
A few commands are provided that allow you to obtain a list of friends who are also playing your app. Through the use of these commands it would be possible to create something like a high score table, showing a list of your friends and how successful they are at the game. It's also possible to post a message on a friends wall instead of your own.
Once logged into Facebook the command FacebookGetFriends can be called to retrieve a list of your friends who have your app. Like the login command this will not necessarily complete immediately, so it may be that your app has to wait several seconds before the information is available. After calling FacebookGetFriends the command FacebookGetFriendsState is used to determine whether the information has been obtained or if there is a problem. Once the list has downloaded you can get information such as a user's name and also download their profile picture.
Getting a list of friends could be handled with this function.
It's similar to the login process in that it may take several seconds before the information has been passed from Facebook to the app, so again at this stage it would be useful to display information on screen letting the user know what is happening, and also consider a timeout event to ensure the function does not remain here continually waiting to obtain a list of friends.
Once a list of friends has been downloaded you can find out how many people are in it by calling FacebookGetFriendsCount. From there you can obtain the name of a friend in that list by calling FacebookGetFriendsName and their ID with FacebookGetFriendsID as shown in this function.
function ShowFriends ( )
- do
- for i = 0 to FacebookGetFriendsCount ( )
- print ( FacebookGetFriendsName ( i ) )
- print ( FacebookGetFriendsID ( i ) )
- next i
-
- sync ( )
- loop
-endfunction
-
Posting information to a friends wall
This is similar to posting information onto the user's wall, except the command is called FacebookPostOnFriendsWall, which takes an extra parameter at the start, letting you control which friends wall you want to post to. Here's a function that shows how you could post onto a friends wall.
function PostToFriendsWall ( index as integer )
- link$ = "www.game-guru.com"
- image$ = "https://www.thegamecreators.com/images/banners/gameguru-tgc-banner.jpg"
- name$ = "Game Guru"
- caption$ = "Check out Game Guru"
- description$ = "Create, play and share fun games on your PC with absolutely no technical knowledge needed!"
-
- FacebookPostOnFriendsWall ( FacebookGetFriendsID ( index ), link$, image$, name$, caption$, description$ )
-endfunction
-
Bringing it all together
To conclude this guide a small program has been created that does the following.
Attempts to login to Facebook
Retrieves a list of friends
Downloads the profile picture for each friend and attaches this to a sprite
Displays a list of names and pictures on screen
When the user taps on a picture a message will be posted to that users wall
// a type to store information about facebook friends
-type friendType
- ID as string
- name as string
- photo as string
- image as integer
- sprite as integer
-endtype
-// array to store friends
-friends as friendType [ 1 ]
-// current state
-state as integer = 1
-// index for current friend
-currentFriend as integer = 0
-// switch to new fonts
-UseNewDefaultFonts ( 1 )
-// set up facebook
-FacebookSetup ( "358083327620324" )
-// our main loop
-do
- // take action dependent on the state
- select state
- case 1:
- // login to facebook
- if GetInternetState ( ) = 1
- print ( "attempting to login to facebook..." )
- FacebookLogin ( )
- state = 2
- else
- state = 8
- endif
- endcase
-
- case 2:
- // wait for login and then get list of friends
- print ( "waiting to login to facebook..." )
-
- if GetFacebookLoggedIn ( ) = 1
- FacebookGetFriends ( )
- state = 3
- endif
- endcase
-
- case 3:
- // get list of friends
- print ( "waiting to get list of friends..." )
-
- if FacebookGetFriendsState ( ) = 1
- if FacebookGetFriendsCount ( ) >= 1
- state = 4
- else
- state = 8
- endif
- endif
- endcase
-
- case 4:
- // download photo for friend
- FacebookDownloadFriendsPhoto ( currentFriend )
- state = 5
- endcase
-
- case 5:
- // check download state
- download = GetFacebookDownloadState ( )
-
- // still downloading, or downloading or failed
- if download = 1
- print ( "downloading photo for friend" )
- elseif download = 2
- // store information about this friend in our array
- friends [ currentFriend ].ID = FacebookGetFriendsID ( currentFriend )
- friends [ currentFriend ].name = FacebookGetFriendsName ( currentFriend )
- friends [ currentFriend ].photo = GetFacebookDownloadFile ( )
- friends [ currentFriend ].image = LoadImage ( friends [ currentFriend ].photo )
- friends [ currentFriend ].sprite = CreateSprite ( friends [ currentFriend ].image )
-
- SetSpriteSize ( friends [ currentFriend ].sprite, 20, 10 )
-
- // either download information about the next friend or move on
- if currentFriend < FacebookGetFriendsCount ( )
- friends.length = friends.length + 1
- currentFriend = currentFriend + 1
- state = 4
- else
- state = 6
- endif
- else
- state = 8
- endif
- endcase
-
- case 6:
- // position photos of friends on screen to the right
- y = 0
-
- for i = 0 to friends.length
- SetSpritePosition ( friends [ currentFriend ].sprite, 80, y )
- y = y + 10
- next i
-
- state = 7
- endcase
-
- case 7:
- // post on wall
-
- // print out friends names
- for i = 0 to friends.length
- print ( friends [ i ].name )
- next i
-
- // deal with any input
- if GetPointerPressed ( ) = 1
- x = GetPointerX ( )
- y = GetPointerY ( )
-
- for i = 0 to friends.length
- if GetSpriteHitTest ( friends [ currentFriend ].sprite, x, y ) = 1
-
- link$ = "www.game-guru.com"
- image$ = "https://www.thegamecreators.com/images/banners/gameguru-tgc-banner.jpg"
- name$ = "Game Guru"
- caption$ = "Check out Game Guru"
- description$ = "Create, play and share fun games on your PC with absolutely no technical knowledge needed!"
-
-
- // to post this information on a friends wall
- FacebookPostOnFriendsWall ( friends [ currentFriend ].ID, link$, image$, name$, caption$, description$ )
- endif
- next i
- endif
- endcase
-
- case 8:
- // no friends using the app or some kind of problem getting information
- endcase
- endselect
-
- sync ( )
-loop
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/facebook_setup.htm b/AGK/AGK Help Generator/AGK Txt/guides/facebook_setup.htm
deleted file mode 100644
index 8f1bdf3c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/facebook_setup.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Facebook Setup - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
To use the Facebook commands provided by AppGameKit Studio you must setup and app with Facebook which will give you an AppID you can use in AppGameKit Studio. To create a Facebook app you must first become a Facebook Developer, to do this log in to your Facebook account then visit https://developers.facebook.com and choose "Register Now". Once you have varified your account return to the main Facebook site and on the left menu you should now see a develoepr section like this
From here you can create and manage your Facebook apps. Once you have created an app, find the "edit settings" button and you should see a page that looks like this
The App ID at the top is the one you need to use in AppGameKit Studio, you do not need the App Secret.
When you first open this page all of the sections will be unchecked, to be compatible with AppGameKit Studio on iOS and Android the sections above must be filled in.
The section "Website with Facebook Login" allows you to post URLs with the AppGameKit Studio command FacebookPostToFriendsWall, all such URLs must start with the domain you provide in this box.
You will also need to enter a contact email
Note that the AppGameKit Studio Facebook commands using your App ID will not work properly in the AppGameKit Studio Player as the bundle ID and package name will not match those help by Facebook. You should compile your own app in XCode or Eclipse (or use our http://developer.thegamecreators.com/android/create_apk.php online APK service) to get an app that can properly communicate with Facebook.
Android
For Android there are a couple of fields that are not obvious, the Class Name field should just be your package name followed by NativeActivity as shown. The Key Hashes field requires you to generate a hash from the keystore file used to sign the app. You will usually have two keystores, one is the debug keystore used by Eclipse when you are testing your app, its key hash will be the same for everyone and is shown above. The other will be your release keystore that you use to submit the app to the Google Play store. To generate a key hash for it you can follow these steps:
Download openssl from http://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_WIN32.zip (If you have a 64 bit machine you must download openssl-0.9.8e X64 not the latest version)
Extract it. create a folder- OpenSSL in C:/ and copy the extracted code here
Install the JDK 1.6 or above if you haven't done so already (it is also required for Eclipse)
Place your release keystore file in an easily typed path
Locate the keytool.exe program in the JDK, i.e. Java\jdk1.6.0_21\bin\keytool.exe
Use the command line to browse to this location an run the following command, replacing MyAliasName with the alias used to create it (this is "mykeystore" if generated via our website)
That's all, you will get a key-hash that you can copy into the Facebook app settings page.
Icons
Next you should add some icons so that when people log in to your Facebook app it has a familiar icon on it, to do this find the "App Details" tab on the left side of the app settings page. IT should look something like this
The only fields you need to fill in on this page are the 16x16 icon and the 75x75 icon. The rest can be left blank, and there is no need to submit the page for approval.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching.htm
deleted file mode 100644
index 1081bed8..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Functions and variable scope - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This guide explains what commands are, deals with functions, variable scope and branching. It's important to understand these elements so that you can write effective programs and control their flow.
If you have been following through the previous guides you will already be familiar with commands such as print and sync. These commands are built into AppGameKit Studio, providing you with numerous options to deal with all kinds of situations, such as playing music, drawing something on screen, responding to input, saving data to files and much more.
As you continue learning about AppGameKit Studio you will discover many more commands. Over time you will get a better understanding of which built in commands to use, so that you can create the functionality you require. For now though the aim is to explain a little bit more about how the syntax for some of these commands work. Let's begin with the sync command.
sync ( )
-
This line of code contains three parts - the name of the command, an opening bracket and a closing bracket. This lets AppGameKit Studio know that we want to call the sync command in our program. When this happens AppGameKit Studio will internally handle updating the contents of the screen. Once it has finished it comes back to our program and moves onto the next line.
All commands need to have an opening and closing bracket, although some need extra information to be placed within these brackets. These are known as parameters and are used as a way to pass data to the commands. The sync command has no parameters, so it just requires an open and closing bracket when being used. An example of a command that uses parameters is the print command. This command takes in one parameter, which can either be a float, an integer or a string.
print ( 1.23 )
-print ( 1 )
-print ( "hello" )
-
Some commands need more than one parameter. When this happens parameters are separated by a comma. As an example we'll look at a command called SetSyncRate. This command controls how fast the program runs. It has two parameters, one to control the desired frame rate and the second to control how it does this. For now it's not essential to go into too much detail, all we're interested in is seeing the syntax for commands when dealing with multiple paramters.
SetSyncRate ( 60, 0 )
-SetSyncRate ( 30, 1 )
-
The data being passed into these commands as parameters can be constructed using literal values as shown in the examples, or using expressions.
The kind of data being passed into commands as parameters is governed by the definition of the command. The SetSyncRate command requires two integer parameters, therefore attempting to pass in a string or floating point value would fail, along with only attempting to pass in one parameter.
Some commands may also return a value. This is useful in situations where the command needs to act on its parameters and provide some back to the caller. One such command is called GetDeviceWidth. It takes no parameters and returns a value, letting the program know the width in pixels of the device the program is running on. Here's how it can be called.
deviceWidth = GetDeviceWidth ( )
-
The return value from the command is saved in the variable deviceWidth.
Just like with parameters it's important to consider what kind of data is being returned because some commands will return integers, whereas others will return strings or floating point values.
Information explaining how all of the internal commands operate is provided within other areas of the documentation. It's not too important to understand everything right now. The main point is to get an idea of how commands work in general.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_001.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_001.htm
deleted file mode 100644
index be7d5fca..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_001.htm
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-Introduction to functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Functions follow the same set of rules as commands, except unlike commands it's your responsibility to define the behaviour of the function. Functions are used as way of isolating a specific block of code to perform certain tasks. They are an incredibly useful component within AppGameKit Studio and can be used to organise your code in a neat, effective and reusable manner.
A typical program will have many functions all contributing to the outcome. It could be some of these functions are responsible for creating enemies in a level, or perhaps they are used to load data that defines how the level should look, or they may be responsible for handling how the player responds to input.
This simple example shows what a function looks like and how it can be used within a program.
The code within the do loop contains a call to myFunction and sync. The functionality for the sync command is handled internally by AppGameKit. myFunction is not a command within AppGameKit, so it needs to be declared within our program. To do this we need to declare our function outside of a loop and also provide information about what parameters it requires and if it returns any data to the caller. This process is handled by the function keyword. As you can see in the code listing the function keyword is followed by a name. This can be whatever you want as long as it does not clash with the name of a command or start with a number or use symbols. This is followed by an opening bracket and then a closing bracket, indicating that this particular function has no parameters. Anything following this is code associated with the function. To declare the end point of the function the keyword endfunction is used.
When you run this program it displays the string "inside a function" on screen. When myFunction is called the program execution moves within the function, executes any lines within it and then returns back to where it was called from, in this case moving into the call to the sync command.
Any kind of functionality you require can be added into a function listing. You can use loops, if statements and call other commands and functions.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_002.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_002.htm
deleted file mode 100644
index 85ec7c51..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_002.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-Function parameters - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Functions, just like commands can have parameters associated with them. Here's an example of a function that takes two parameters.
do
- myFunction ( 10, 20 )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer )
- print ( a * b )
-endfunction
-
The function has been declared using the function keyword and given a name, then within the brackets parameters can be declared. The declarations are the same as when declaring a variable (except no default value is assigned to them - they will get their values from actual function calls). With this particular function we have a and b declared as integers. This means that when this function is called it must be passed two integer parameters. The first parameter's value will be assigned to variable a, while the second parameter's value will be assigned to variable b. These parameters can be used within the function and treated as regular variables, as shown with the call to the print command that multiplies the variables a and b, displaying the result on screen.
The call to myFunction is made within the do loop, passing in 10 and 20. The value 10 is the first parameter and therefore inside the function a will have a value of 10. The value 20 is the second parameter and therefore inside the function b will have a value of 20.
By default variables declared within AppGameKit Studio are defined as integers, so the function declaration would still be valid if it was written like this.
function myFunction ( a, b )
- print ( a * b )
-endfunction
-
The next program shows the same function, but this time taking four parameters, with two being integers, one being a floating point value and one a string.
do
- myFunction ( 10, 20, 3.671, "hello function" )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer, c as float, d as string )
- print ( a * b / c )
- print ( d )
-endfunction
-
The same function could be rewritten using shortcuts to be displayed as.
function myFunction ( a, b, c#, d$ )
- print ( a * b / c# )
- print ( d$ )
-endfunction
-
Both functions are exactly the same aside from the way in which they declare the variables. Whichever approach you use is down to personal preference. Some people prefer to be very explicit and use the as keyword to define their data types, while others like to use symbols such as # and $ to highlight the contents of their data.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_003.htm
deleted file mode 100644
index b53e75c4..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_003.htm
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-Returning values in functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Returning data from a function is a simple process - just place the data to be returned to the caller directly after the endfunction keyword, as shown in this example.
do
- print ( myFunction ( 10, 20 ) )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer )
- c as integer = 0
- c = a + b
-endfunction c
-
The variable c is declared after the keyword endfunction, resulting in the value of c being returned to the caller. The code within the function declares c as an integer and assigns it a default value of 0. The next line performs an expression to add the values of a and b and assign the result to c.
Inside the do loop, when the print command is called it passes in a function call to myFunction as a parameter. This is valid because when myFunction has run its return value passed as a parameter to the print command.
Return values can either be a variable, an expression or a literal value, as shown in this example.
do
- print ( myFunctionA ( 10, 20 ) )
- print ( myFunctionB ( 10, 20 ) )
- print ( myFunctionC ( 10, 20 ) )
- print ( myFunctionD ( 10, 20 ) )
-
- sync ( )
-loop
-
-function myFunctionA ( a as integer, b as integer )
- c as integer = 0
- c = a + b
-endfunction c
-
-function myFunctionB ( a as integer, b as integer )
- c = a + b
-endfunction c
-
-function myFunctionC ( a as integer, b as integer )
-
-endfunction a + b
-
-function myFunctionD ( a as integer, b as integer )
-
-endfunction 30
-
myFunctionA declares a variable c, and assigns it the value of a + b. The value of c is returned once the function has completed.
myFunctionB declares a variable c, which is not explicitly declared, meaning it is treated as an integer, which is assigned the value of a + b. The value of c is returned once the function has completed.
myFunctionC has nothing happening inside the function. Instead the return value is calculated directly after the endfunction keyword, where the values of a and b are added together and returned to the caller.
myFunctionD returns a literal value to the calling function (30).
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_004.htm
deleted file mode 100644
index 219fe906..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_004.htm
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-Exiting functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
There may be occasions where you want to exit out of a function dependent on certain conditions. The keyword exitfunction lets you do this. When used it immediately exits the function resulting in no further instructions beyond being executed. The following program shows it being used.
do
- myFunction ( 10, 20 )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer )
- print ( a )
- exitfunction
- print ( b )
-endfunction
-
The function myFunction takes in two integer parameters (a and b). The code within the function makes a call to the print command passing in the value of a. This is followed by a call to the exitfunction command. The effect of this is such that the next call to print using the parameter b is ignored, as the function immediately exits out upon coming to exitfunction. When this program runs the only thing you will see on screen is the number 10. The call to display the value of b on screen is never executed.
This kind of functionality to exit out of a function can be useful. Let's look at the program again, but this time with a condition added in.
do
- myFunction ( 10, 20 )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer )
- if a <= 10
- exitfunction
- endif
-
- print ( a )
- print ( b )
-endfunction
-
The function myFunction has an if statement that determines whether the parameter a is less than or equal to 10. If this condition is met exitfunction is used to immediately return out of the function and continue execution from where the function was called. If this condition is not met then the values of a and b are displayed on screen. Given that myFunction is called and supplied with values of 10 and 20 this function will immediately exit. If the first parameter is changed to 11 then the function will display 11 and 20 on screen.
When you need to exit out of a function that returns a value simply add the return value directly after the call to exitfunction, as shown in this example.
do
- print ( myFunction ( 10, 20 ) )
-
- sync ( )
-loop
-
-function myFunction ( a as integer, b as integer )
- if a <= 10
- exitfunction 1
- endif
-endfunction a + b
-
-
If the value of a within myFunction is less than or equal to 10 the function will immediately exit, returning a value of 1, otherwise the function will return the sum of a and b.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_005.htm
deleted file mode 100644
index 39bebb0a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_005.htm
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-Experimenting with functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This example highlights how functions can be useful, by taking code to draw a circle and incorporating it into a function, meaning we can pass in whatever we want to the function to draw multiple circles on the screen. Here's the program.
SetVirtualResolution ( 1024, 768 )
-
-CreateImageColor ( 1, 255, 255, 255, 255 )
-CreateSprite ( 1, 1 )
-SetSpriteSize ( 1, 1, 1 )
-
-x as integer = 0
-
-do
- for y = 1 to 10
- DrawCircle ( 5 * ( y / 1.5 ), x + ( y * 10 ), y * 70, random ( 0, 255 ), random ( 0, 255 ), random ( 0, 255 ) )
- next y
-
- x = x + 5
-
- if x >= 1024
- x = 0
- endif
-
- sync ( )
-loop
-
-function DrawCircle ( radius as integer, positionX as integer, positionY as integer, red as integer, green as integer, blue as integer )
- for y = -radius to radius
- for x = -radius to radius
- if x * x + y * y <= radius * radius
- SetSpritePosition ( 1, positionX + x, positionY + y )
- SetSpriteColor ( 1, red, green, blue, 255 )
- DrawSprite ( 1 )
- endif
- next x
- next y
-endfunction
-
The program creates 10 circles and displays them on screen. It achieves this by creating the function DrawCircle. This contains some simple code that will position and draw a sprite numerous times to display a filled circle. The useful part about this function is that the parameters being passed in are used to control the properties of the circle that gets drawn on screen. This makes the code very useful as it can be called with different values passed in, allowing us to create different sizes of circles, place them in different positions and have them coloured however we like.
It wouldn't be so difficult to adjust the program so that the code within the function DrawCircle was placed inside the do loop. However, take a moment to think about the implications of that. What might happen if you needed that code to be used elsewhere in your program? You could always copy and paste the code, adjust the values and reuse it, but this will likely lead to complications. What would happen if you suddenly decided the functionality need to change? You would need to change it in all of the locations where it was used. Had this code been included in a function you would only need to deal altering the code within the actual function.
Getting into the habit of using functions is very important. Try and consider whether code can be reused and if so think about how it could be contained within a function. By using functions you can also organise your code in a neat way. One function may be responsible for creating enemies in a level, another might handle updating their logic while the game is playing, while another might destroy them when the level is over.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_006.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_006.htm
deleted file mode 100644
index 3f0bd39d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_006.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-Variable scope - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The scope of variables relates to how a variable is seen by a particular block of code. Let's look at an example.
value as integer = 1
-
-do
- myFunction ( )
- sync ( )
-loop
-
-function myFunction ( )
- print ( value )
-endfunction
-
At the start of this program the variable value is declared and assigned a value of 1. This is followed by a do loop, that calls our custom function myFunction and the sync command to update the screen. All that myFunction attempts to do is to print the contents of value on screen. This program will not work. Attempting to compile or run it will result in an error, telling you that the variable "value" is used without being defined or initialised within the function. The reason for this is that the variable is only visible to the area where it has been defined, in this case anything before or after the do loop can deal with it. The function declaration is considered another block of code, therefore it doesn't know about the existence of the variable value. Let's examine the program with a few changes.
value as integer = 1
-
-do
- print ( value )
- myFunction ( )
- sync ( )
-loop
-
-function myFunction ( )
- value as integer = 2
- print ( value )
-endfunction
-
This time myFunction declares a variable named value inside it, resulting in the code being valid, so it can compile and run, but we have already declared a variable called value outside of this function, so what is happening? Well, the way it works is that the variable declared inside of the function is within the scope of the function, so it's unique to the function. The program treats it as a different variable to the one declared outside of the function. When you run the program the values 1 and 2 will be displayed on screen because these are unrelated variables.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_007.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_007.htm
deleted file mode 100644
index e1173115..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_007.htm
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-Local variables - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Local variables are variable that are isolated or unique to the function where they have been declared. The following program creates three variables named value, all of which are completely indepedent of each other.
value as integer = 1
-
-do
- print ( value )
-
- myFunctionA ( )
- myFunctionB ( )
-
- sync ( )
-loop
-
-function myFunctionA ( )
- value as integer = 2
- print ( value )
-endfunction
-
-function myFunctionB ( )
- value as integer = 3
- print ( value )
-endfunction
-
The scope of the first variable (that is assigned 1) is related to the block of code after it has been declared. It can be referred to by other code before, within or after the do loop.
The second variable (assigned 2) is declared within the function named myFunctionA. It is only accessible within this function. It is not known to the code outside of this function.
The third variable (assigned 3) is also declared within a function, so just like the second variable it's only accessible within the function it has been declared in.
As shown in this example when a variable is local it can share the same name as another local variable.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_008.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_008.htm
deleted file mode 100644
index fed846f0..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_008.htm
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-Global variables - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Global variables can be used when you require a variable to be visible by all of the program. To transform a variable into a global simply add the keyword global prior to its declaration.
global value as integer = 1
-
-do
- myFunction ( )
-
- sync ( )
-loop
-
-function myFunction ( )
- print ( value )
-endfunction
-
Now that the variable value has been declared as global it becomes visible in the function myFunction.
Globals have their place and can be useful, but at the same time can contribute to making a large program unwieldy, as it can often lead to confusion with one variable being able to be modified in multiple locations throughout a program. It's probably better to pass data around your program where possible by using parameters and return values in functions, which is perhaps an easier way to manage data and keep track of what is happening.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_009.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_009.htm
deleted file mode 100644
index 53629fcb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_009.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-Global and local precedence - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
If a local variable is declared that has the same name as a global variable, then it will take precedence over the global variable. The program that follows declares a global named value, however, the function myFunction declares a local variable named value and gives it a floating point value. This variable has priority over the global.
global value as integer = 1
-
-do
- print ( value )
- myFunction ( )
-
- sync ( )
-loop
-
-function myFunction ( )
- value as float = 1.2
- print ( value )
-endfunction
-
When you run the program you will see 1 and 1.2 displayed on screen. Due to the local variable taking precedence within the function any attempt to work with value inside myFunction affects the local and not the global.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_010.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_010.htm
deleted file mode 100644
index 8767bdcb..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_010.htm
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-Branching - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
There's a number of other options available for controlling the flow of your program alongside functions including gosub and goto. These commands are present for completeness and are not recommended to be used. They date back to the early days of the BASIC language before functions existed.
Normally, a program executes statements in sequence starting at the top. A branch statement allows you to jump to another part of the program to continue execution. A gosub command will jump to a label and continue from its new location. When the program encounters a return command, the program will jump back to the gosub from where it originally came. Here's an example:
This program behaves in a similar way to a function, except there's no parameters or return value. If the return keyword was not used the program would continue to execute any code that is beneath it, in our case nothing, so the program would simply end.
The goto command is similar in behaviour to a gosub, except this does not remember the location where it came from. The example that follows demonstrate how it's possible to jump around the program.
partA:
-do
- print ( "inside a do loop and partA" )
- goto partB
- print ( "this code will never be executed" )
-loop
-
-partB:
- print ( "inside partB" )
- sync ( )
- goto partA
-
The commands to branch around the program can be useful, albeit in very limited circumstances. In the main it's advisable to stay away from them and instead control the flow of your program using functions.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_011.htm b/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_011.htm
deleted file mode 100644
index 93b0a97e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/functions_and_branching_011.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Conclusion - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
There's a lot to take in with functions, parameters, return values, variable scope and branching. Try and spend some time to familiarise yourself with the concepts shown and experiment with the programs in this guide to discover what happens when you change values etc.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_android.htm b/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_android.htm
deleted file mode 100644
index e2af3b0d..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_android.htm
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-Android Push Notifications - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
You will need a server capable of running PHP scripts for this example to work
Note that these notifications will not work on Amazon or Ouya devices
Push Notifications on Android are handled by the Firebase Cloud Messaging API, You will need to create a Firebase project for your app in the Firebase console here https://console.firebase.google.com
In the Firebase console project settings you should see a tab labelled "Cloud Messaging". In there should be a field called "Server key", you will need this for the PHP script. You will also need the "SenderID" field also on this page
Implementation
Two android projects (interpreter_android_google, and template_android_google) are setup to use Push Notifications, the instructions are the same for both of these projects.
In your tier 1 code first call SetPushNotificationKeys with your SenderID value like so
The "SenderID" field is case sensitive and must be exactly as above, the senderID value should be all numbers. After that you can call PushNotificationSetup(). If this returns 0 then this platform does not support push notifications. Otherwise wait for GetPushNotificationToken() to return something other than an empty string, if it returns "Error" then something went wrong. Once you have the token you need to send it to your server, you might also want to send some identifying information like a userID so you know who this token belongs to. The code we use looks something like this
g_Net_UserID = 01234 // some user ID that your server can use to recognise whos key this is
-result = PushNotificationSetup()
-if ( result = 1 )
- token = GetPushNotificationToken()
- while ( token = "" )
- token = GetPushNotificationToken()
- endwhile
- params$ = "token="+token+"&platform="+getdevicebasename() + "&id=" + str(g_Net_UserID)
- SendHTTPRequestASync( conn, "sendToken.php", params$ ) // we do not need the server to return anything so we can ignore getting the response
-endif
-
In this example we also send the output of GetDeviceBaseName so we know which platform this token belongs to, iOS and Android use different methods. The server will need to remember the token and who it belongs to so you can send them push notifications later, be aware that the tokens can be 183 characters or more in the case of Android. The device takes no further action after this, it simply sends off its token and the server decides when to send a notification.
When you want to send a notification to an Android device use the following PHP script to send a message to a particular device token, replacing the $apiKey field with your API key generated earlier. For example when two users are playing a turn based game and one device notifies your server it has finished its turn, the server can use the user ID to find the token that belongs to the opponent and send them a notification.
function SendPushNotificationAndroid( $deviceToken, $message )
-{
- // Replace with real SERVER API key from Google APIs
- $apiKey = "Server Key From Firebase Console";
-
- // Set POST variables
- $url = 'https://fcm.googleapis.com/fcm/send';
-
- $fields = array(
- 'to' => $deviceToken,
- 'notification' => array( "body" => $message ),
- );
-
- $headers = array(
- 'Authorization: key=' . $apiKey,
- 'Content-Type: application/json'
- );
-
- // Open connection
- $ch = curl_init();
-
- // Set the url, number of POST vars, POST data
- curl_setopt( $ch, CURLOPT_URL, $url );
- curl_setopt( $ch, CURLOPT_POST, true );
- curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
-
- curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
-
- // Execute post
- echo "Sending";
- $result = curl_exec($ch);
-
- // Close connection
- curl_close($ch);
-
- echo "Result: " . $result;
-}
-
Note that Firebase also allows sending of messages directly from the Firebase console, if you only want to use this functionality to send messages to all users of your app then you do not need to worry about the device token or having a PHP server.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_ios.htm b/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_ios.htm
deleted file mode 100644
index f1c083e2..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/push_notifications_ios.htm
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-iOS Push Notifications - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
You will need a server capable of running PHP scripts for this example to work
You will need an iOS device, the simulator won't work, and an Apple developer membership.
You must know how to create a certificate signing request to request a certificate from Apple, this is the same process used to generate Distribution and Development certificates.
To simplify the process we will only cover Distribution (including AdHoc) builds, not Development builds.
Server Setup
Apple push notifications involve an SSL certificate that is used to sign all notifications, this certificate is part of the App ID setup and must be generated per app. When generating the App ID the "Push Notification" tick box must be ticked, you can also edit an existing App ID to turn it on.
Once enabled select the App ID and choose Edit (if you are not already there) and scroll down to the push notification section. Click Create Certificate in the Production SSL Certificate box and generate a certificate for it. Download the certificate and place it in a folder that is easy to access via the command line (there is no need to add the certificate to your keychain). In your keychain find the private key that was generated for this certificate, export it, and place it in the same folder.
For the purposes of this example we will convert the certificate and private key into a PEM file so that our server running PHP can use it to sign notifications. These steps may vary if you are using another language.
Open a terminal window and browse to the folder containing the certificate and private key. Run the following command to convert the certificate into a PEM file.
openssl x509 -in downloaded_certificate.cer -inform der -out PushCert.pem
-
Now run the following command to convert the private key to PEM. Note that if you type your p12 password incorrectly OpenSSL may still generate a PEM file but it will not contain the private key.
It will ask you to generate a password for this PEM, you will need to use this in the server code later. Now to combine the two into a single PEM file
cat PushCert.pem PushKey.pem > ck.pem
-
You will need to upload this ck.pem file to your server, for this example we will store it in a folder anemd "certs" next to the PHP script. You can use the following PHP code on the server to send requests
function SendPushNotificationiOS( $deviceToken, $message, $badgecount )
-{
- $cert = "certs/ck.pem";
-
- $ctx = stream_context_create();
- stream_context_set_option($ctx, 'ssl', 'local_cert', $cert);
- stream_context_set_option($ctx, 'ssl', 'passphrase', 'myPEMpassword');
-
- // Open a connection to the APNS server
- $fp = stream_socket_client( 'ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
- if (!$fp)
- {
- echo "Failed to connect: $err $errstr";
- return;
- }
-
- // Create the payload body, you can add a path to a custom sound in the app media folder, or remove the sound line completely, the badgecount is the number that will appear on the app icon
- $body['aps'] = array(
- 'alert' => $message,
- 'sound' => 'media/sfx/YouveWon.wav',
- 'badge' => $badgecount
- );
-
- // Encode the payload as JSON
- $payload = json_encode($body);
-
- // Build the binary notification
- $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
-
- // Send it to the server
- $result = fwrite($fp, $msg, strlen($msg));
- fclose($fp);
-}
-
Tier 1 Setup
On iOS there is no need to call SetPushNotificationKeys, start by calling PushNotificationSetup(). If this returns 0 then this platform does not support push notifications. Otherwise wait for GetPushNotificationToken() to return something other than an empty string, if it returns "Error" then something went wrong. Once you have the token you need to send it to your server, you might also want to send some identifying information like a userID so you know who this token belongs to. The code we use looks something like this
g_Net_UserID = 01234 // some user ID that your server can use to recognise whos key this is
-result = PushNotificationSetup()
-if ( result = 1 )
- token = GetPushNotificationToken()
- while ( token = "" )
- token = GetPushNotificationToken()
- endwhile
-
- params$ = "token="+token+"&platform="+getdevicebasename() + "&id=" + str(g_Net_UserID)
- SendHTTPRequestASync( conn, "sendToken.php", params$ ) // we do not need the server to return anything so we can ignore getting the response
-endif
-
In this example we also send the output of GetDeviceBaseName so we know which platform this token belongs to, iOS and Android use different methods. The server will need to remember the token and who it belongs to so you can send them push notifications later, be aware that the tokens can be 183 characters or more in the case of Android. The device takes no further action after this, it simply sends off its token and the server decides when to send a notification.
When you want to send a notification use the device token to send a message to a particular device. For example when two users are playing a turn based game and one device notifies your server it has finished its turn, the server can use the user ID to find the token that belongs to the opponent and send them a notification.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/scancodes.htm b/AGK/AGK Help Generator/AGK Txt/guides/scancodes.htm
deleted file mode 100644
index bb786caa..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/scancodes.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A collection of player applications are available for use with Tier 1. The purpose of these applications is to allow you to test your game on multiple platforms. For example, you can be developing your game on the Windows platform, install the player app on an iPad, launch it, hit the run, compile and broadcast button in the AppGameKit Studio IDE and your game will be transmitted and launched on the iPad.
Windows Player
The Windows player comes bundled with AppGameKit Studio. If installing to the default directory you can locate it here:
"\Program Files\The Game Creators\AGKStudio\Players\Windows"
iOS
The player is available to download directly from the App Store. Just click the Help drop down menu in Studio and select AppGameKit Player for iOS and you'll be taken to the app store location.
Mac OS X
The Mac player comes bundled with AppGameKit Studio. If installing to the default directory you can locate it here:
Applications\AGKStudio\Players\Mac
Android
You can obtain the Android player from the Google Play store, just click the Help drop down menu in Studio and select AppGameKit Player for Android and you'll be taken to the app store download page on Google Play. You can also side load the version that comes with AppGameKit Studio, you'll find it here:
C:\Program Files\The Game Creators\AGKStudio\Players\Android
You will need to have "Unknown Sources" ticked in your device security settings to side load an app.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/types.htm b/AGK/AGK Help Generator/AGK Txt/guides/types.htm
deleted file mode 100644
index 034135a9..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/types.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Types - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Types provide a way to group data into a container. This is very useful as it allows you to keep your data organised. Let's consider a game where you want to keep track of a player's score, how many lives they have left and how many bullets they have remaining. This could be handled by declaring three separate variables.
score as integer
-lives as integer
-bullets as integer
-
An alternative approach would be to group this data together using a type. Here's how it would look.
type playerType
- score as integer
- lives as integer
- bullets as integer
-endtype
-
The keyword type is used followed by a name, which is an identifier for the type. In this instance playerType has been used. The lines that follow declare variables that will be contained within this type. To finish the type declaration the keyword endtype is used.
With the type declaration in place the next step is to declare a variable that uses this type. This is achieved by using the as keyword and works in the same way as declaring other variables, except we use the identifier name for the type instead of the typical float, integer or string.
player as playerType
-
The variable declaration for player tells the program that it's going to be of type playerType, that has been declared earlier.
To access the variables contained within the type the dot operator is used. The next few lines show values being assigned to the variables within the type.
Here's a complete program that defines a type, declares a variable that uses the type, assigns values to the variable and then displays its values on screen.
Types can contain regular variables such as floating point values, integers and strings. They can also contain arrays and other types. This section of the documentation provides several examples showing the different ways in which types can be declared.
The program that follows defines and uses a type named myType.
type myType
- a as integer
- b as float
- c as string
-endtype
-
-data as myType
-
-data.a = 1
-data.b = 1.23
-data.c = "hello"
-
-do
- print ( data.a )
- print ( data.b )
- print ( data.c )
-
- sync ( )
-loop
-
The type declaration for myType contains three variables named a, b and c. a is declared as an integer, b is declared as a floating point value and finally c is declared as a string. A variable named data is declared that is of type myType. This is followed by three lines that assign values to the contents of data. Then there's the loop that continually prints out the values within data
The next program shows how a type can contain an array.
type myType
- a as string [ 4 ]
- b as integer [ 4 ]
-endtype
-
-data as myType
-
-data.a [ 1 ] = "a"
-data.a [ 2 ] = "b"
-data.a [ 3 ] = "c"
-data.a [ 4 ] = "d"
-
-for i = 1 to 4
- data.b [ i ] = i * 5
-next i
-
-do
- for i = 1 to 4
- print ( data.a [ i ] + " " + str ( data.b [ i ] ) )
- next i
-
- sync ( )
-loop
-
A string array named a is declared within the type declaration along with an integer array named b. The way they are declared is just the same as when dealing with regular arrays, except these arrays are contained within myType. This is followed by a few lines that assign values to the arrays within data. Then the loop simply prints out the contents of data.a and data.b
Types can also contain other types, as displayed in this program.
type myTypeA
- score as integer
- names as string [ 4 ]
-endtype
-
-type myTypeB
- sub as myTypeA
- value as float
-endtype
-
-data as myTypeB
-
-data.sub.score = 1
-data.sub.names [ 1 ] = "a"
-data.sub.names [ 2 ] = "b"
-data.sub.names [ 3 ] = "c"
-data.sub.names [ 4 ] = "d"
-data.value = 1.45
-
-do
- print ( data.sub.score )
-
- for i = 1 to 4
- print ( data.sub.names [ i ] )
- next i
-
- print ( data.value )
-
- sync ( )
-loop
-
The type myTypeA is declared, which is then followed by the declaration for myTypeB. This type declares a variable sub that uses the type myTypeA. The next few lines beneath this show how to access a type within a type.
The final program shows how you can have an array of a type.
type playerType
- score as integer
- name as string
-endtype
-
-players as playerType [ 3 ]
-
-players [ 1 ].score = -1000
-players [ 1 ].name = "lee"
-players [ 2 ].score = 100
-players [ 2 ].name = "paul"
-players [ 3 ].score = 500
-players [ 3 ].name = "rick"
-
-do
- for i = 1 to players.length
- print ( players [ i ].name + " = " + str ( players [ i ].score ) )
- next i
-
- sync ( )
-loop
-
To specify that a variable using a type is going to be an array just add on the opening bracket, the size of the array and lastly the closing bracket, just like you would do with a regular floating point, string or integer array.
The variable players is treated like a regular array, so it's possible to use the likes of length and sort with it, as shown in the for loop that iterates from 1 to the size or length of the array.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/types_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/types_003.htm
deleted file mode 100644
index 8675bced..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/types_003.htm
+++ /dev/null
@@ -1,527 +0,0 @@
-
-
-
-Types in action - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
To give you an idea how of types can be used a program has been made that creates a space ship, that flies left and right, firing lasers at set intervals.
This program relies on some external media. The easiest way of running this program is to click here and download the project. Once the file has been downloaded, extract the files and open MyFirstAGKProject.agk within AppGameKit Studio.
There's a lot to take in with this program, as it's using types and a number of functions. Try running the program first and watch it for several seconds to see what happens.
The program moves the space ship left and right whilst continually firing lasers. The kind of data we need to store includes the speed of the ship, which direction the ship is moving in, how often the ship should fire, the speed at which the lasers move etc. All of this data could be declared as individual variables. For example, the ship's data might look like this.
sprite as integer
-speed as integer
-direction as integer
-fireTimer as float
-
-laserSprite as integer [ 10 ]
-laserSpeed as float [ 10 ]
-laserState as integer [ 10 ]
-
This approach does work, but it's not necessarily the best way of storing the data. Think about what might happen if you needed more data for the laser - you would need to declare another array to store it. The problem is that all this data is connected to each other, but stored in lots of different arrays. It's not an ideal method to deal with your data.
Given the relationship between the data it would make sense to utilise types. The laser that gets fired could be considered as one type, while the ship could be considered as another type that contains an array of lasers. The above code could be rewritten as.
type laserType
- sprite as integer
- speed as float
- state as integer
-endtype
-
-type shipType
- sprite as integer
- speed as integer
- direction as integer
- fireTimer as float
- lasers as laserType [ 10 ]
-endtype
-
This results in more effective way of dealing with our data. To declare one ship we simply do this.
spaceShip as shipType
-
If we needed multiple ships it's just a case of changing the declaration to an array.
spaceShip as shipType [ 5 ]
-
By taking this approach everything we need is now contained within the variable spaceShip. This makes our code much easier to read and manage.
Now let's take a look at the whole program.
-// create a space ship on screen that flies left and right
-// and also fires lasers
-
-// declare a type to store data for our lasers
-type laserType
- sprite as integer
- speed as float
- state as integer
-endtype
-
-// declare a type to store data for our ship
-type shipType
- sprite as integer
- speed as integer
- direction as integer
- fireTimer as float
- lasers as laserType [ 10 ]
-endtype
-
-// variable for our ship, make it global so it can be
-// easily accessed by all parts of the program
-global spaceShip as shipType
-
-// set a virtual resolution of 1024 x 768
-SetVirtualResolution ( 1024, 768 )
-
-// call functions to set up the ship and its lasers
-SetupShip ( )
-SetupLasers ( )
-
-// our main loop
-do
- // call functions to update the ship and its lasers
- UpdateShip ( )
- UpdateLasers ( )
-
- // update the screen
- sync ( )
-loop
-
-function SetupLasers ( )
-
- // this function will set up the lasers
-
- // load an image for the laser
- image = LoadImage ( "laser.png" )
-
- // create sprites for each laser
- for i = 1 to spaceShip.lasers.length
- spaceShip.lasers [ i ].sprite = CreateSprite ( image )
- ResetLaser ( i, 0 )
- next i
-
-endfunction
-
-function ResetLaser ( index as integer, visible as integer )
-
- // this function will reset the lasers, giving them default values
-
- // state, speed, position to match the ship and visibility
- spaceShip.lasers [ index ].state = 0
- spaceShip.lasers [ index ].speed = Random ( 80, 100 ) / 10.0
- SetSpritePosition ( spaceShip.lasers [ index ].sprite, GetSpriteX ( spaceShip.sprite ) + GetSpriteWidth ( spaceShip.sprite ) / 2 - 8 , GetSpriteY ( spaceShip.sprite ) - 12 )
- SetSpriteVisible ( spaceShip.lasers [ index ].sprite, visible )
-
-endfunction
-
-function UpdateLasers ( )
-
- // this function updates the lasers
-
- // increment the timer to control when the lasers should fire
- spaceShip.fireTimer = spaceShip.fireTimer + 0.01
-
- // run through all the lasers
- for i = 1 to spaceShip.lasers.length
-
- // if the state is 0 then this laser is available
- if spaceShip.lasers [ i ].state = 0
-
- // only fire the laser if the fire timer is over 0.25
- if spaceShip.fireTimer >= 0.25
-
- // reset the laser, set the state to 1 and reset the timer
- ResetLaser ( i, 1 )
- spaceShip.lasers [ i ].state = 1
- spaceShip.fireTimer = 0.0
-
- endif
-
- endif
-
- // when the state is 1 the laser has been fired
- if spaceShip.lasers [ i ].state = 1
-
- // move the laser up the screen
- SetSpritePosition ( spaceShip.lasers [ i ].sprite, GetSpriteX ( spaceShip.lasers [ i ].sprite ), GetSpriteY ( spaceShip.lasers [ i ].sprite ) - spaceShip.lasers [ i ].speed )
-
- // check for the laser leaving the screen
- if GetSpriteY ( spaceShip.lasers [ i ].sprite ) < 0
-
- // reset the laser and allow it to be used again
- ResetLaser ( i, 0 )
-
- endif
- endif
- next i
-
-endfunction
-
-function SetupShip ( )
-
- // set up for our ship
-
- // create a sprite, control how fast it moves and set its initial direction
- spaceShip.sprite = CreateSprite ( LoadImage ( "TopFighter1.png" ) )
- spaceShip.speed = 2
- spaceShip.direction = 0
-
- // position the sprite towards the centre and near the bottom of the screen
- SetSpritePosition ( spaceShip.sprite, 1024 / 2, 626 )
-
-endfunction
-
-function UpdateShip ( )
-
- // control the movement of the ship
-
- // get the X coordinate of the ship
- x = GetSpriteX ( spaceShip.sprite )
-
- // find out whether it has moved to the left or right side
- if ( spaceShip.direction = 0 and x > 976 ) or ( spaceShip.direction = 1 and x < 0 )
-
- // reverse the speed and direction
- spaceShip.speed = -spaceShip.speed
- spaceShip.direction = not spaceShip.direction
-
- endif
-
- // add the current speed to the X position
- x = x + spaceShip.speed
-
- // update the position of our ship
- SetSpritePosition ( spaceShip.sprite, x, GetSpriteY ( spaceShip.sprite ) )
-
-endfunction
-
The program begins by declaring our types. laserType contains data for the lasers and shipType contains data about the ship, including an array of 10 lasers.
type laserType
- sprite as integer
- speed as float
- state as integer
-endtype
-
-type shipType
- sprite as integer
- speed as integer
- direction as integer
- fireTimer as float
- lasers as laserType [ 10 ]
-endtype
-
A variable is declared named spaceShip using the type shipType. It has global prefixed to the declaration so that it will be accessible throughout the whole program, as later on some of the functions require access to it. It is possible to pass in types as parameters to functions, but for now declaring the variable as global will do.
global spaceShip as shipType
-
The next part contains two calls to functions.
SetupShip ( )
-SetupLasers ( )
-
Let's take a look at what the function SetupShip does.
The function creates a sprite using the image "TopFighter1.png" and stores the sprite ID within the sprite variable, that is part of the spaceShip variable. It also assigns a value of 2 to the speed part of spaceShip. This is later used to determine how fast the ship moves across the screen. A lower value will make the ship move slower, whereas a higher value will make it move quickly. This is followed by the direction part of spaceShip getting assigned 0. This variable controls the direction in which the ship moves. If direction is 0 then the ship moves from left to right. If direction is 1 then the ship moves from right to left. The final call is used to position the newly created sprite towards the centre and bottom of the screen.
After SetupShip has finished its work a call is made to SetupLasers. This function is responsible for creating 10 lasers that the ship will fire. Let's see the code.
function SetupLasers ( )
-
- image = LoadImage ( "laser.png" )
-
- for i = 1 to spaceShip.lasers.length
- spaceShip.lasers [ i ].sprite = CreateSprite ( image )
- ResetLaser ( i, 0 )
- next i
-endfunction
-
It begins by loading an image named "laser.png" and storing its ID within the variable image. This is followed by a loop that will cycle from 1 to the size or length of the lasers array (10) contained within the spaceShip variable. For each iteration of the loop a sprite is created, with its identifier stored in the lasers array. This will give us 10 separate laser sprites that can be used by the ship. It's finished off with a call to ResetLaser.
function ResetLaser ( index as integer, visible as integer )
- spaceShip.lasers [ index ].state = 0
- spaceShip.lasers [ index ].speed = Random ( 80, 100 ) / 10.0
- SetSpritePosition ( spaceShip.lasers [ index ].sprite, GetSpriteX ( spaceShip.sprite ) + GetSpriteWidth ( spaceShip.sprite ) / 2 - 8 , GetSpriteY ( spaceShip.sprite ) - 12 )
- SetSpriteVisible ( spaceShip.lasers [ index ].sprite, visible )
-endfunction
-
The ResetLaser function is used to apply default values to the lasers. It takes in two parameters letting us specify the laser to modify with the index, and the visibility of the sprite using visible. SetupLasers calls this function to modify all 10 lasers that get created and sets visible to 0. The actual function sets the state of each laser to 0 (the state determines whether it's available to be fired), gives it a random speed, sets its position to match that of the space ship and finally sets the sprite to be visible or invisible.
It calls the functions UpdateShip and UpdateLasers.
Here's the UpdateShip function.
function UpdateShip ( )
- x = GetSpriteX ( spaceShip.sprite )
-
- if ( spaceShip.direction = 0 and x > 976 ) or ( spaceShip.direction = 1 and x < 0 )
- spaceShip.speed = -spaceShip.speed
- spaceShip.direction = not spaceShip.direction
- endif
-
- x = x + spaceShip.speed
-
- SetSpritePosition ( spaceShip.sprite, x, GetSpriteY ( spaceShip.sprite ) )
-endfunction
-
The function performs a few simple operations. It gets the X position of the space ship sprite. It then checks whether the ship is moving left or right and if it has left the boundaries of the screen. If this condition is met the ship is set to move in the opposite direction. Finally the position of the ship is updated using the modified X value.
The UpdateLasers function cycles through all 10 lasers and will launch one every so often.
function UpdateLasers ( )
- spaceShip.fireTimer = spaceShip.fireTimer + 0.01
-
- for i = 1 to spaceShip.lasers.length
- if spaceShip.lasers [ i ].state = 0
- if spaceShip.fireTimer >= 0.25
-
- ResetLaser ( i, 1 )
- spaceShip.lasers [ i ].state = 1
- spaceShip.fireTimer = 0.0
- endif
- endif
-
- if spaceShip.lasers [ i ].state = 1
- SetSpritePosition ( spaceShip.lasers [ i ].sprite, GetSpriteX ( spaceShip.lasers [ i ].sprite ), GetSpriteY ( spaceShip.lasers [ i ].sprite ) - spaceShip.lasers [ i ].speed )
-
- if GetSpriteY ( spaceShip.lasers [ i ].sprite ) < 0
- ResetLaser ( i, 0 )
- endif
- endif
- next i
-endfunction
-
The function performs the following tasks.
It begins by incrementing a timer contained within spaceShip by 0.01 every time the function is called.
It then performs a for loop cycling through all of the lasers that the ship has.
If the state of the laser is 0 then another check is made to see if the fireTimer is greater than or equal to 0.25. If this is the case a laser can be fired.
When the condition is met to launch a laser the ResetLaser function is called passing in the index of the laser to launch and setting its visibility to 1. This is followed by a state change to 1, meaning this laser has been launched. Last of all the fireTimer is reset to 0.0 letting us specify a delay before firing the next laser.
When the state of a laser is 1 this means the laser has been fired. Any lasers with this state must continually move up the screen. When the laser is off screen (checked by its Y value being less than 0), it gets reset and its visibility set to 0. The reset function returns its state to 0, meaning that it can be used to fire again.
Overall it's quite a simple program but it does demonstrate how effective types can be when grouping data together.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/types_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/types_004.htm
deleted file mode 100644
index b383756e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/types_004.htm
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-Passing types to functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Types are just like any other variables in that they can be passed into functions as parameters. Here's a small example program that shows how it is done.
type point
- x as integer
- y as integer
-endtype
-
-p as point
-
-UpdatePoint ( p )
-
-do
- print ( p.x )
- print ( p.y )
-
- sync ( )
-loop
-
-function UpdatePoint ( a as point )
- a.x = 5
- a.y = 10
-endfunction
-
Here's how it works.
A type is declared with the name point. It contains two integer variables named x and y.
A variable using the type point is declared and named p.
A function named UpdatePoint is called passing in the variable p.
The do loop prints out the contents of the variable p.
The function UpdatePoint has declared the type of parameter as being point, so it expects this kind of data to be passed in.
If you run this program you will see 0 and 0 displayed on screen and not 5 and 10 as you might expect. The reason for this is that by default AppGameKit Studio takes parameters being passed into functions and copies their data, resulting in the parameter being a complete copy of the data passed in. The original data remains untouched by the function.
If you want to modify the data being passed into the function then the parameter needs to be declared slightly differently - use the ref keyword after the name of the variable and before the as keyword. Here's the same program, but this time the type is passed in as reference, resulting in its data being modified directly by the function.
type point
- x as integer
- y as integer
-endtype
-
-p as point
-
-UpdatePoint ( p )
-
-do
- print ( p.x )
- print ( p.y )
-
- sync ( )
-loop
-
-function UpdatePoint ( a ref as point )
- a.x = 5
- a.y = 10
-endfunction
-
When you run this program the values 5 and 10 will be displayed on screen because the parameter has been declared using ref, therefore a copy is not made and the data being passed into the function will be directly modified by the function.
To pass in an array of types to a function the parameter must have opening and closing brackets used after it, with no number specified inbetween. Here's a program that shows how it works.
type point
- x as integer
- y as integer
-endtype
-
-p as point [ 10 ]
-
-UpdatePoint ( p )
-
-do
- sync ( )
-loop
-
-function UpdatePoint ( a as point [ ] )
- for i = 1 to a.length
- a [ i ].x = 1
- a [ i ].y = 2
- next i
-endfunction
-
Remember that by default the parameter being passed in is a copy of the parameter's data, so modifying it within the function has no affect to the original data. If you want the function to be able to directly modify the data being passed in then the ref keyword must be used, as shown earlier. Here's the same program with some modifications to pass the array into the function using reference, therefore its data will be modified within the function.
type point
- x as integer
- y as integer
-endtype
-
-p as point [ 10 ]
-
-UpdatePoint ( p )
-
-do
- for i = 1 to p.length
- print ( p [ i ].x )
- print ( p [ i ].y )
- next i
-
- sync ( )
-loop
-
-function UpdatePoint ( a ref as point [ ] )
- for i = 1 to a.length
- a [ i ].x = 1
- a [ i ].y = 2
- next i
-endfunction
-
When you run this program it will simply print out a bunch of 1s and 2s.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/types_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/types_005.htm
deleted file mode 100644
index f9c7ae0c..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/types_005.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Conclusion - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Types are very useful to group and organise your data. Try and consider using types where possible within your program. It will ultimately lead to neater, organised code.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables.htm
deleted file mode 100644
index cb4a19bc..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Understanding Variables - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Every program you create is going to consist of a bunch of common elements, one of which are variables. They are used to store information that your program needs. Take the example of a Space Invader style game. A game like this will need to store data, such as how many lives the player has left, how many points they have scored, how many enemies are still alive etc. This is where variables come into play. You can use them to deal with all the data that your game requires.
A variable can be declared in your program by giving it a name and assigning it a value. Say our game requires a variable to hold the score. It could be set up like this.
The first line has declared a variable named score and assigned it a value of 0. Following on from that there's a do loop, that will display the contents of score on screen by calling the print command and passing in score as its parameter. If you run the program all you will see on screen is the number 0 in the top left corner.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_002.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_002.htm
deleted file mode 100644
index c759ffbd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_002.htm
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-Variable data type - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
By default AppGameKit Studio will treat the variable score as an integer. This means that the variable can only be used to store positive or negative whole numbers. The variable score could be assigned values such as 100, 0, -50 or 123.
There will come a time when your game requires different kinds of data, for example, you can't store the name of a player using an integer and it may be you want to control the speed of a ship with more precision, using a fractional number rather than an integer.
The way that AppGameKit Studio handles this is to provide you with the option of declaring a variable and specifying its type. The three basic types of data storage available are.
integers
floats
strings
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_003.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_003.htm
deleted file mode 100644
index dbf6de4a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_003.htm
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-Integers - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This is the default variable type in AppGameKit Studio and as mentioned earlier can be used to store positive or negative whole numbers. Here's the kind of data an integer variable may hold.
Current score in the game
Which level the player is on
How many lives the player has left
The number of enemies in a game
A countdown timer controlling how much time is left to complete the level
Variables to store this data could be declared as follows -
The name of the variables is entirely your choice. You can use whatever name you want, as long as it doesn't clash with existing commands. You can't have a variable named print as this will conflict with the command called print. The names don't have to be descriptive as shown in the above list. They could be renamed like this.
s = 0
-cl = 0
-l = 0
-e = 0
-t = 0
-
Although that is perfectly valid it's certainly not so clear as in the first attempt at declaring them. When dealing with variables it's a good idea to name them in a descriptive way where possible. Having a variable named enemiesRemaining should make it pretty obvious what kind of data it holds, whereas a variable called e could be just about anything.
You can be more explicit when it comes to declaring variables by specifying the type in the declaration. All of the integer variables can also be declared like this.
currentScore as integer = 0
-currentLevel as integer = 0
-lives as integer = 0
-enemiesRemaining as integer = 0
-timeLeft as integer = 0
-
It is not necessary to give the variable a value when declaring it when using the keywords as integer, in which case it will automatically default to 0. All of these declarations are acceptable.
currentScore as integer = 0
-currentLevel as integer = 50
-lives as integer
-enemiesRemaining as integer
-timeLeft = 123
-
Bear in mind when you declare a variable without specifying its type then you must give it a default value, as shown in the above listing where timeLeft is declared and given a value of 123.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_004.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_004.htm
deleted file mode 100644
index 3437356f..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_004.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Floating point values can be used when you need more precision for your data. If you had a ship flying across the screen and stored that data in an integer variable you are limited to whole numbers, so the ship might have a speed of 10. With a floating point variable you can use fractional numbers, meaning a speed of 10.5 would work. Floating point variables can also hold whole numbers. Here's some examples of values that could be used.
20.56
99.9125
250
-455.244
Unlike integer values when you want to use floating point data you must explicitly declare the variable, but like with an integer it's not essential to provide a default value. If you don't give your variable a value it will default to 0.0.
shipSpeed as float
-shipBoost as float = 50.47
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_005.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_005.htm
deleted file mode 100644
index e2428faa..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_005.htm
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The final basic data type are strings. This kind of variable can be used to store characters and words. Some examples might include storing the name of a player, a description for the level that you're playing and instructions on how to play the game.
Just like with floats when dealing with strings you will need to explicitly declare the variable, although you don't need to specify a default value. If you choose not to assign your variable a value it will default to a blank string.
playerName as string = "player 1"
-levelDescription as string
-levelInstruction as string
-
In this instance playerName has been declared as a string and been assigned the string "player 1". The other two variables are empty strings that can be filled in later on.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_006.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_006.htm
deleted file mode 100644
index aa1299e5..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_006.htm
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Now it's time to take everything you have discovered so far and put it into practice, by creating a program where we can see how variables can be used. To do this we'll display something on screen that can have its position controlled by variables. In the interests of keeping things simple the something we'll display on screen will actually be a small blue rectangle, but with a bit of imagination this could be a space ship flying around a level you have constructed. Admittedly to get something other than text being displayed on screen we are kind of jumping ahead of ourselves a little, but it's going to be a lot more interesting than staring at text.
Here's the starting point for our program. Copy this code and run it.
A glorious blue rectangle displayed on screen! Let's break it down and see what is happening.
CreateImageColor is used to create a blue image
CreateSprite will allow us to take the image and display it on screen
SetSpriteSize lets us define how big the sprite will be on screen
Finally in the do loop the sprite is positioned
There's a lot going on here, although for now it's not too important to explore all of this in minute detail. The main thing is we've got something on screen that we can experiment with. The key command we'll explore in this program is SetSpritePosition. Three values are passed into this command 1, 30 and 40. These are known as parameters. The first parameter is 1, the second parameter is 30 and the third parameter is 40. Try changing the second parameter 30 to 0 and running the program. Notice how the blue rectangle has been moved over to the left side of the screen. This parameter controls the position of the rectangle on the X axis. As this value increases the rectangle will move over to the right and as it decreases it will move over to the left. Now try modifying the third parameter to 0. Note this time that the rectangle has moved up. This parameter controls the position of the rectangle on the Y axis. As it decreases the rectangle moves up the screen and as it increases the rectangle moves down.
Instead of passing in a fixed number such as 30 to control the X position we can instead use a variable. Lets declare a variable named shipPositionX in our program and pass it into the command SetSpritePosition.
When the program runs the value of shipPositionX is 0, therefore the position of our ship / blue rectangle is over to the left side of the screen.
Now what you will find is that the ships position (at least on the X axis - going from left to right on the screen) is being controlled by the value assigned to shipPositionX. Try changing the initial value of shipPositionX to 50. Notice how the rectangle has moved over to the right of the screen.
With one simple change our rectangle can be made to move or fly from one side of the screen to the other. The addition of this line in our do loop is all that is needed -
shipPositionX = shipPositionX + 1
-
What it does is first of all work out the value of shipPositionX + 1 and then assigns the result to shipPositionX. So it will start off at 0, then 1, then 2 and continually count upwards. To help make things a little clearer the print command will be called passing in shipPositionX so we can see its value on screen. Again this line can be added into our do loop.
Now when you run the program the blue rectangle will move from the left side of the screen to the right.
This examples displays a scenario where we might not be using the best data type for what we're trying to achieve. The rectangle moves across the screen very quickly and as we're only adding 1 to its position each cycle of the loop (the smallest amount we can add), then we can't slow it down so easily. If we wanted to move it at a slower rate then we would be better suited to using a floating point variable instead and adding a smaller value to shipPositionX each cycle of the loop. Here's how it can be achieved.
Now when you run the program the blue rectangle will move very slowly across the screen. The advantage of using a floating point variable is that we now have greater control over the precision of our movement.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_008.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_008.htm
deleted file mode 100644
index 06dcf102..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_008.htm
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
There is an alternative method of declaring variables as floats and strings. Instead of using the as float or as string keywords you can instead use # and $. Here's some examples of the alternative method for declaring some floating point variables.
shipSpeed# = 5.8
-shipRotationSpeed# = 1.3
-
Now we can see the alternative method for declaring string variables.
playerName$ = "player 1"
-
The additional symbols at the end of the variable name are used to identify the variable types and become part of the variable name. If you want to reference these variables later on be sure to include the symbols on the end. This example shows the variables being declared and printed on screen.
Whether you declare variables using the as keyword or go for the alternative method is your choice. Ideally it's best to stick with one method and use that throughout your programs. This will help to ensure your code is consistent.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/guides/variables_009.htm b/AGK/AGK Help Generator/AGK Txt/guides/variables_009.htm
deleted file mode 100644
index 9a44b641..00000000
--- a/AGK/AGK Help Generator/AGK Txt/guides/variables_009.htm
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
- - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Variable names are your choice, although as mentioned they cannot match the name of an existing command. The name needs to be unique and beware that they are not case sensitive. All of these variable names are treated exactly the same.
The purpose of this section of the help is to teach you how to write your own programs. BASIC is an acronym for Beginners All Purpose Symbolic Instruction Code. The traditional description of a program is a task that you want your computer to perform. The task is described to the computer using statements the language can understand.
Statements in your program must be written using a set of rules known as "Syntax". You must follow these rules if you are to write programs. By proceeding through these sections in sequence, you will gain a firm understanding about the general rules of BASIC and how to apply them as a programmer.
Datatypes and variables
Operators
Common statements
Functions
Syntax
Looping and Syncing
Numerical bases
Errors and warnings
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/1_datatypes.htm b/AGK/AGK Help Generator/AGK Txt/principles/1_datatypes.htm
deleted file mode 100644
index 44eac6fd..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/1_datatypes.htm
+++ /dev/null
@@ -1,251 +0,0 @@
-
-
-
-Data Types, Variables and Arrays - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
We have established that statements are used to write a program. A statement can be broken up into a command and its data. The command is the operation, or task you wish to perform. The data is that which must be used by the command to complete the operation. The data is also referred to as the parameter(s).
There are many types of data you can use, including integer numbers, real numbers and string. Each type of data holds a slightly different type of value.
Integer Numbers
An integer number can hold a whole number, but no fraction. For the value to be negative, you must place a hyphen symbol (-) before the value. You must not use commas as part of the number as this would generate a Syntax Error. Examples of integer numbers:
42
-10000
--233000
--100
-
Real Numbers
A real number (also known as a float) can hold a whole number or a fractional number that uses a decimal point. For the value to be negative, you must place a hyphen symbol (-) before the value. Examples of real numbers:
20.0005
-99.9
--5000.12
--9999.9991
-
Strings
String data is non-numerical, and is used to store characters and words. All strings consist of characters enclosed within double quotation marks. The string data can include numbers and other numerical symbols but will be treated as text. Examples of strings are:
"A"
-"Hello World"
-"Telephone"
-"I am 99 years old"
-"1.2.3.4.5.6.7.8.9"
-
Each string can consist of as many characters as the memory allows. You can also have a string with no data whatsoever, represented by an empty pair of double quotation marks.
Data Type Ranges
Each type of data has a maximum and minimum value known as the range. It is important to know these ranges, especially when dealing with smaller datatypes. Below is a list of datatypes and their ranges:
INTEGER Range : -2,147,483,648 to 2,147,483,647
-REAL Range : 3.4E +/- 38 (7 significant figures)
-
Note that whilst the range for Real numbers is very large its accuracy is limited to 7 significant figures. So you could represent 143670000.0 or 0.000053712, each has 5 significant figures, but not both in the same value 143670000.000053712 as the combined value has 18 significant figures. If you tried to store such a value it would be rounded to 143670000.0
Variables
The best way to demonstrate what a variable does is by way of an example. Take the calculation:
A = 3 + 4
-
A variable is used to store a value. It's that simple. You can have a variable that stores any type of data, and you can have as many as you want. The following program shows you how the contents of the variable can be output to the screen:
A = 3 + 4
-PRINT ( A )
-
Now take the next example to show you how variables can be used as freely as standard number types:
A = 2
-B = 8
-C = A + B
-PRINT ( C )
-
In the preceding example, 2 is stored in the A variable, 8 is stored in the B variable and C is given the result of the calculation between A and B. The calculation is based on the values stored within the variables and so the calculation is actually C = 2 + 8. The result, which in this case is 10, is stored as the new value of C and this is the value that eventually gets printed to the screen.
So far, we have seen variables used to store and recall integer values. Variables can also store real numbers and strings. In order to allow a variable to store these other types of data, you must make sure the variable is recognized as a real or string variable. To name a real number variable, you must add a hash character (#) as the last character of the variable name. If you want your variable to store a string, you must add a dollar character ($) as the last character of the variable name. Let us see these new variables used to store and recall real values and strings:
mydata#=42.5
-PRINT ( mydata# )
-
By adding the (#) symbol, we are instructing the program to treat the variable as a real number variable. Exactly the same rule applies to a string variable:
myname$="Lee"
-PRINT ( myname$ )
-
All variable names can use either upper or lower case characters, which means a variable called NAME$ is the same variable as name$ or Name$. String variables even support the use of limited maths. The following example adds two strings together and the result is a concatenation of the two strings:
a$="Hello"
-b$="World"
-c$=a$+b$
-PRINT ( c$ )
-
To run this example, the text "HelloWorld" will be printed to the screen. Would you be able to alter this example to place a space between "Hello" and "World"?
If you prefer not to use (#) and ($) symbols in your code, you can also declare your variables as your chosen data type using the AS statement. Here is an example of this:
a as string
-b as float
-c as integer
-
Arrays
Arrays are going to be a very important part of your future programs. They allow you to store large amounts of data under a single name. You can then access the data by index rather than by name alone.
If you had to write a program that stored each weeks lottery numbers, typing out 52 unique variable names is a lot of work, hard to maintain and quite unnecessary. Arrays allow you to create a special kind of variable that can store more than one item of data. You might start your program like this:
Two hours later, you realize you could have written it like this:
DIM lottery$[52]
-lottery$[1]="43,76,12,34,12,11"
-lottery$[2]="76,12,34,12,11,44"
-lottery$[3]="12,34,12,02,05,07"
-etc..
-
We declare a string array using the DIM command followed by a name for our array. Like variables, when we use a dollar symbol after the name we instruct the program to use the array to store only strings. We then enclose in square brackets how many items of data we wish the array to store. The array can be filled almost like a variable, but you must also provide the position within the array you wish to store your data.
But you then ask yourself what benefits I would have gained using the second approach. If you were also required to print out all 52 lottery numbers to the screen with your first approach you would have to add another 52 statements that printed each variable:
You will have noticed that by using an array, you no longer have to refer to your data using a unique variable name. You can now point to the data you want using a position number. Accessing data this way has a thousand advantages over trying to access data by variable name alone, as you will discover. One example would be to improve the above like this:
FOR T=1 TO 52
-PRINT ( lottery$[T] )
-NEXT T
-
Incredibly the above code replaced 52 PRINT statements with just 3 statements. With the above example, T is incremented from 1 to 52 within a loop that prints out the contents of the array at that position.
Arrays can also store multiple levels of data. At the moment our lottery entries are stored as strings and the numbers are hard to get at. Let us say we wanted to store all six numbers for every lottery week, we would create an array like this:
DIM lottery[52,6]
-
Without the dollar symbol($), we are declaring the array to store integer numbers instead of strings. You will also notice we have a second number separated by a comma. This means for every array position from 1 to 52, there is a sub-set numbered 1 to 6 in which multiple data can be stored. You can visualize this array as a filing cabinet with large draws numbered 1 to 52. Within each of the 52 draws is a tray with 6 boxes inside. You can store a value in each box. In all you can store 312 (52 x 6) values in this array. You can have up to five dimensions in your array, which means you can create an array as big as (1,2,3,4,5). Be careful when declaring dimensions, as large arrays consume large amounts of memory and may reduce overall performance and stability of your program.
You are now able to give your program access to much more useful data. Unlike the string approach, you could make your program count how many times a certain number has appeared.
As you have determined, arrays need to be declared as a particular type. You can have an array of integer numbers, real numbers or strings. You cannot have multiple types in the same array, but you can declare new arrays dedicated to holding such data. See user defined types below.
All arrays are created as global arrays, which means you can access their data from anywhere in your program. It is important to note that a global array must be declared at the top of the main source code of the program as arrays are dynamically created only when the DIM command is executed. Placing DIM commands at the top of included source code will not dynamically create the array unless it lies within a subroutine called from the main program. Essentially, your program has to DIM the array before it can access the array for reading and writing.
An array can also be declared and initialised as follows:
dim a [ 5 ] as integer = [ 10, 20, 30, 40, 50 ]
-dim b [ 3 ] as float = [ 1.2, 1.3, 1.4 ]
-
User Defined Types
If the current set of datatypes is inadequate for your needs, you can create your own data types using user-defined-type. User defined types are useful for storing data using logical fields rather than the unfriendly list of subscripts used by arrays.
To create a user defined type, you must first declare it at the top of your program. To do so, you would give your type a name and a list of fields it contains:
TYPE MyType
- Fieldname1
- Fieldname2
- Fieldname3
-ENDTYPE
-
The above code creates a type called MyType with three fields contained within it. As the fields have no declaration, they are assumed to be integers. The same code could also be truncated to a single line like so:
TYPE MyType Fieldname1 Fieldname2 Fieldname3 ENDTYPE
-
You can also declare different data types for each field, using either the type symbols or using the AS statement, like so:
TYPE MyType
- Fieldname1
- Fieldname2
- Fieldname3
- Fieldname4 AS integer
- Fieldname5 AS float
- Fieldname6 AS string
-ENDTYPE
-
To use your type, you simply create a variable and declare it with your new type. To declare a variable as a specific type, you would use the AS statement:
MyVariable AS MyType
-
You can then assign data to your variable as normal, with the added bonus of the fields you have given your variable like so:
At the moment, the type is assuming our fields are integers. We may wish to declare our fields as a real number, string or other datatype. We can do so using the same AS statement within the type definition, so the following code makes more sense we shall give our type and fields sensible names:
TYPE AccountEntryType
- Number AS INTEGER
- Name AS STRING
- Amount AS FLOAT
-ENDTYPE
-
You can use a type like any other, so creating and using an array of the above is simply a case of declaring the array with your new type:
DIM Accounts[100] AS AccountEntryType
-Accounts[1].Number=12345
-Accounts[1].Name="Lee"
-Accounts[1].Amount=0.42
-
As you will eventually discover you can have types within types for more complex data structures so we can imagine one of the fields contains more than one value. We would define two user defined types, and then use one of them in the declaration of one of the fields, as follows:
TYPE AmountsType
- CurrentBalance AS FLOAT
- SavingsBalance AS FLOAT
- CreditCardBalance AS FLOAT
-ENDTYPE
-TYPE AccountEntryType
- Number AS INTEGER
- Name AS STRING
- Amount AS AmountsType
-ENDTYPE
-DIM Accounts[100] AS AccountEntryType
-Accounts[1].Number=12345
-Accounts[1].Name="Lee"
-Accounts[1].Amount.CurrentBalance=0.42
-Accounts[1].Amount.SavingsBalance=100.0
-Accounts[1].Amount.CreditCardBalance=-5000.0
-
As you can see, user defined types are not only powerful, they make the readability of your programs far easier. Using named fields instead of a subscript value within an array, you can save yourself many hours all for the sake of an incorrect subscript value throwing out your program results.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/2_operators.htm b/AGK/AGK Help Generator/AGK Txt/principles/2_operators.htm
deleted file mode 100644
index d7bcf01a..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/2_operators.htm
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-Arithmetic, Relational, Boolean and Bitwise Operators - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Principles > Arithmetic, Relational, Boolean and Bitwise Operators
Arithmetic, Relational, Boolean and Bitwise Operators
We have already used one type of well-known operator in the preceding examples. Operators are the term given to a mathematical symbol used in all calculations. The most common operators are arithmetic operators and are quickly identified. All operators require two operands of data that are placed on each side of the operator.
Arithmetic Operators
An arithmetic operator can represent an Addition, Subtraction, Multiplication or Division. These operators are represented symbolically as (+) (-) (*) (/) respectively.
The Plus(+) sign specifies that the data on the right of the plus sign must be added to the data on the left. Examples of which you have already seen are:
3 + 4 equals 7
-A + B equals the value of B added to the value of A
-
The minus(-) sign specifies that the data to the right of the minus sign must be subtracted from the data to the left of the minus sign:
3 - 4 equals -1
-A - B equals the value of B subtracted from the value of A
-
An asterix(*) specifies that the data on the right side of the asterix is multiplied by the data on the left side of the asterix:
3 * 4 equals 12
-A * B equals the value of B multiplied by the value of A
-
The slash(/) specifies that the data on the left side of the slash is to be divided by the data on the right side of the slash. Whether the data types are integer or real numbers play a factor:
10 / 4 equals 2
-A / B equals the integer value of A divided as an integer by the integer value of B
-10 / 4.0 equals 2.5
-A / B equals the real value of A divided as a real by the real value of B
-
The MOD command specifies that first argument is to be divided by the second argument, and the remainder of the division is the result:
Mod(11, 2) equals 1
-Mod(A, B) equals the remainder of the division between A and B
-
The "Power" symbol specifies a result that is the left side value to the power of the right side value. For example 2^3 equates to the calculation 2*2*2, thus:
2^3 equals 8
-A ^ B equals A to the power B
-
Relational Operators
These operators are less common, unless you have programming experience. These operators represent conditions that are applied to data. The conditions handled are Equal To, Greater Than, Less Than, Greater or Equal To, Less or Equal To and Not Equal To. The purposes of these conditions are to determine the result of a comparison between two data values. A condition result can only be of two possible values. If the condition is false, the resulting value is zero. If the condition is true, the resulting value is one. Take the following examples:
10 = 9 results in 0 because 10 is not the same as 9
-10 = 10 results in 1 because 10 is the same as 10
-10 > 9 results in 1 because 10 is greater than 9
-100 >= 100 results in 1 because 100 is greater or equal to 100
-
You can also have less than symbols which work just like the above greater-than symbols except that they will return the result of one if the left parameter is less than the right parameter. Using a less-than symbol, then a greater-than symbol next to each other denotes a not-equal operator, and will only return a true value of one if the parameters on either side are not the same value.
The same relational operators can be applied to real numbers, integer and real variables and in some case strings and string variables. You can compare whether two strings are the same or not the same, and even test whether one string is greater or less than another.
Boolean Operators
AppGameKit Studio allows you to use AND, OR, and NOT operators on your data. They are used when assembling multiple conditional expressions, such as:
IF a=1 AND b=2 THEN c=3
-IF a=1 OR b=2 THEN c=3
-IF NOT b=2 THEN c=3
-
The AND operator works with any integer value, but for demonstration purposes the general rule applies when using this operator:
0 AND 0 = 0
-0 AND 1 = 0
-1 AND 0 = 0
-1 AND 1 = 1
-
What you see is the decision tree of the AND operator. It shows that the result will only be a 1 if both data operands of the AND operator are 1. Otherwise a 0 will be returned. To see how this logic works in reality, take the following example:
A=5
-B=25
-(A > 10) AND (B > 20) so what is the resulting value?
-
We can determine the result of the parts enclosed in brackets first. We can see the relational operators provide us with the following results:
(A > 10) results in 0 because 5 is not greater than 10
-(B > 20) results in 1 because 25 is greater than 20
-
Our updated calculation looks something like this:
(0) AND (1) results in 0 as our table shows 0 AND 1 = 0
-
The logic of the table is that only when both sides of the AND operand are 1 will the result of the calculation be 1 also. What would happen if you change the value of A to 15?
The OR operator works in a similar fashion, but using the following table. If either the left side or right side has a value of 1, the result will be 1:
0 OR 0 = 0
-0 OR 1 = 1
-1 OR 0 = 1
-1 OR 1 = 1
-
The NOT operator works using the following table. This operator is a unary operator and only requires a single right-side value:
IF NOT 0 THEN PRINT "this will print"
-IF NOT 1 THEN PRINT "this will not print"
-
Bitwise Operators
Bitwise operators, unlike boolean operators work on all the bits of the specified variable or value. There are six bitwise operators as follows:
BITWISE LSHIFT using two less-than symbols shift bits 1 space to the left.
-%0111 << 1 becomes %1110.
-BITWISE RSHIFT using two greater-than symbols shift bits 1 space to the right.
-%0111 >> 1 becomes %0011.
-BITWISE AND signified by the symbol && will AND all bits of one value with another.
-%1111 && %0011 becomes %0011.
-BITWISE OR signified by the symbol || will OR all bits of one value with another.
-%1110 || %0011 becomes %1111.
-BITWISE XOR signified by the symbol ~~ will XOR all bits of one value with another.
-%1111 ~~ %0011 becomes %1100.
-BITWISE NOT signified by the symbol ! will NOT all bits of the right value.
-!%1010 becomes %0101.
-
You will discover how useful these operators become when writing conditions for your programs. Being able to write conditions with multiple parts will become increasingly important as you begin to write more complex programs.
You have already used an assignment statement, and it is probably the most commonly used part of any programming language. The Equal Symbol (=) is used to assign a value to a variable or array. Take the following examples:
a=42
-a#=99.9
-a$="HELLO"
-lottery[1,1]=49
-
Branch statements
Normally, a program executes statements in sequence starting at the top. A branch statement allows you to jump to another part of the program to continue execution. A GOSUB command will jump to a label and continue from its new location. When the program encounters a RETURN command, the program will jump back to the GOSUB from where it originally came. Take the following example:
The program will print the "Hello" text to the screen, then jump to the MySubroutine line of the program and continue execution. The next command it finds will print "World" to the screen. The RETURN command then returns the program to the point it left, where it then proceeds onto the next command after the GOSUB command which in this case is the END command.
A GOTO command however, does not remember from where it jumped and will continue running from its new location permanently. It is not recommended you use GOTO commands often, as there are better ways to control the flow of your programs. Here is an example, however, of a simple GOTO command:
You will agree the last example is a much better, cleaner and friendly way of doing the above and demonstrates how the use of GOTO can be eliminated. GOTO is retained in the AppGameKit Studio language for compatibility with older BASIC languages.
For next statements
You may recall the use of the FOR NEXT statement in earlier examples. The FOR NEXT commands are used to create a finite loop in which a variable is incremented or decremented from a value to a value. A simple example would be:
FOR T=1 TO 5
- PRINTC ( T )
- PRINTC ( " " )
-NEXT T
-PRINT ( "Done" )
-
The output to the screen would read:
1 2 3 4 5 Done
-
The program would set T to a value of 1 and then go to the next two lines to print the value of T followed by a space. After printing, the NEXT command would return the program to the FOR command and increment the value of T to make it 2. When the PRINT commands are encountered again, the value of T has changed and a new value is printed. This continues until T has gone from 1 through to 5, then the loop ends and the program is permitted to continue. The next command after the NEXT statement prints "Done" to the screen showing the program has left the loop.
You can also nest loops to create a loop within a loop, as the following example shows:
FOR A=1 TO 5
- PRINTC ( "MAIN A=" )
- PRINT ( A )
- FOR B=1 TO 10
- PRINTC ( "LITTLE B=" )
- PRINT ( B )
- NEXT B
-NEXT A
-
The FOR NEXT statement loops the main A variable from 1 to 5, but for every loop of A the FOR NEXT statement inside the first loop must also loop its variable B from 1 to 10. This is known as a nested loop as the loop in the middle is nested inside an outer loop.
Such loops are especially useful for working on array data by using the variables that increment as position indexes for the arrays. As an example, we could list all our lottery numbers using the following example:
FOR week=1 TO 52 STEP 4
- PRINTC ( "LOTTERY NUMBER FOR WEEK " )
- PRINTC ( week )
- PRINTC ( " ARE " )
- FOR index=1 to 6
- PRINTC ( lottery[week,index] )
- PRINT ( " " )
- NEXT index
-NEXT week
-
Notice the new STEP command added to the end of the FOR NEXT statement. The STEP command is used to change the default increment value from 1 to another value. In this case, the program will only print the lottery numbers for every fourth week.
If then statements
The IF statement allows your program to make decisions that controls the flow of your program. The IF statement requires an expression to evaluate results as either true or false. If the expression is true, the commands following the THEN command will be executed. If the expression is false, the program will move onto the next statement and ignore the rest of the IF THEN statement. Take the following example:
age=20
-IF age>=16 THEN PRINT ( "You can buy a lottery ticket" )
-
This program demonstrates a simple IF THEN Statement. To understand how this works we must look at the IF command in a little more detail. First, we must take the expression and evaluate it:
age>=16
-
We can determine from our earlier coverage of operators, that this relational operator will result in either a zero or a one depending on whether age is greater or equal to 16. The IF command considers a value of zero to be false and all other values as true. So we can determine that if age is indeed greater or equal to 16 then the result will be 1, and the expression according to the IF command will be true.
The expression can be any combination of values, variables, arrays and operators providing the expression makes sense. These expressions will make sense:
IF A THEN PRINT ( "ok" )
-IF A = B THEN PRINT ( "ok" )
-IF A > (B - 5) THEN PRINT ( "ok" )
-IF A = (B + (A * 2)) THEN PRINT ( "ok" )
-IF A=1 AND B=2 THEN PRINT ( "ok" )
-IF A#=1.5 OR LOTTERY[10,2]=20 THEN PRINT ( "ok" )
-
These expressions will not make sense:
IF A = B = THEN PRINT ( "not ok" )
-IF > A = B THEN PRINT ( "not ok" )
-IF A B THEN PRINT ( "not ok" )
-IF AND A THEN PRINT ( "not ok" )
-IF B OR THEN PRINT ( "not ok" )
-
On occasions where one line is not enough after the THEN command, you can use the IF ENDIF statement. Using the same IF logic as above, instead of a THEN Command, simply provide your commands to be executed on the lines following the IF command. You must then mark the end of the commands to be executed with an ENDIF command, as the following example shows:
IF A = B
- PRINT ( "Hello A and B!" )
-ENDIF
-
This is the same as:
IF A = B THEN PRINT ( "Hello A and B!" )
-
But the main advantage is that the first piece of code can be adapted to do this:
IF A = B
- PRINT ( "Hello A!" )
- PRINT ( "Hello B!" )
- PRINT ( "Hello A and B!" )
- PRINT ( "Hello B and A!" )
- PRINT ( "Hello Everything!" )
-ENDIF
-
You can also respond to an IF command if the expression turns out to be false. In cases where you wish to execute a different piece of code if the condition is false, the ELSE command should be used as follows:
IF A = B
- PRINT ( "The values are the same!" )
-ELSE
- PRINT ( "The values are different!" )
-ENDIF
-
It is important to make sure that you always use an ENDIF when THEN is not in use. You will note ENDIF is used whether or not the ELSE command is utilized.
You can also make use of the ELSEIF statement, which only executes further statements based on a condition being true, such as:
IF A = 1
- PRINT ( "The value of A is 1!" )
-ELSEIF A=2
- PRINT ( "The value of A is 2!" )
-ENDIF
-
Print Statements
The PRINT command is capable of printing out more than a single value. The command allows you to specify a list of data items that can be printed one after the other on the same line. The data items can be of any type. Although the use of PRINT has been frequent in the above examples, there are some unique features you may not be aware of. To print out more than one value on a line you can do this:
a = 1
-b = 2
-name$ = "richard"
-PRINT ( name$ + STR ( a ) + STR ( b ) )
-
Note that the STR command is used to convert numbers into a string that is compatible with the PRINT command.
When the PRINT command is used to print data to the screen, the print cursor that is used to paste the individual letters to the screen resets to the left of the screen and one line down when the print is complete. A string of PRINT commands will print to the screen one line at a time. You can change this by leaving the cursor at the end of the printed line after a PRINT command. You achieve this by using the alternative command PRINTC, for example:
PRINTC ( "Hello " )
-PRINT ( "World" )
-
There are much more sophisticated text commands in AppGameKit Studio that handle bitmap fonts, colors, sizes and styles but you will discover these as you explore the rest of the help system.
End and Exit statements
The END command will terminate the execution of a program and end the application immediately.
The EXIT command can be used to escape a conditional loop early, often as the result of a particular objective being achieved. For example:
FOR T=1 TO 100 STEP 10
- PRINT ( T )
- IF T=51
- PRINT ( "got to 51!" )
- EXIT
- ENDIF
-NEXT T
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/4_functions.htm b/AGK/AGK Help Generator/AGK Txt/principles/4_functions.htm
deleted file mode 100644
index 6bac5996..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/4_functions.htm
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-Common and User Functions - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Functions can be described as commands that return a value. AppGameKit Studio uses arithmetic functions, string functions, command specific functions and user-defined functions. They all share commonalties that will help you recognize what they look like and how they are used.
A simple arithmetic function is the ABS command, which takes a negative value and converts it to positive:
PRINT ( ABS(-100) )
-
Will print 100 as the result of the function
The same function can be used in a calculation:
A = B + ABS(-100)
-
Or used with a variable:
A = ABS( B )
-
Or used as part of a conditional expression:
IF ABS( A ) > 180 THEN PRINT ( "ok" )
-
Just as you have become accustomed to using variables in place of standard numbers and strings, you can use functions in the same way. As shown, functions can take data but they don"t have to. Some functions merely return a value, such as:
DO
- PRINT ( TIMER() )
-LOOP
-
You will notice that even though no parameter data is required, you still need to add the brackets. The brackets instruct AppGameKit Studio it is a function and is a handy way of quickly determining whether it"s a variable or function.
User defined functions
There will come a time when the ability to create your own functions will be priceless. Experienced programmers would not be able to write effective code without them. Although GOSUB commands and subroutines have been provided for compatibility and learning, it is expected that you will progress to use functions as soon as possible.
Functions are blocks of commands that usually perform a recursive or isolated task that is frequently used by your program. Variables used within the function are isolated from the rest of the program. If you use a variable name of FRED in your function, it will not affect another variable called FRED in your main program, nor any other function that happens to use a similar variable name. This may seem to be a restriction, but forces you to think about cutting up your program into exclusive tasks which is a very important lesson.
You can pass up to nine parameters into your function, and have the option of returning a value when the function returns. Functions that do not return a value can also be used as normal commands in your main program.
Declaring a function couldn"t be simpler. To use the FUNCTION command, simply provide it with a name and a list of parameters in brackets and your declaration is half-complete. Enter the commands you want on the following lines and then end the function declaration with the command ENDFUNCTION. The following example declares a function that returns half of a value passed in:
FUNCTION halfvalue(value)
- value=value/2
-ENDFUNCTION value
-
This declaration creates a function that can be used as a fancier print command:
REM Start of program
-BetterPrint("Hello world")
-END
-FUNCTION BetterPrint(t$)
- PRINTC ( "***" )
- PRINTC ( t$ )
- PRINT ( "***" )
-ENDFUNCTION
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/5_syntax.htm b/AGK/AGK Help Generator/AGK Txt/principles/5_syntax.htm
deleted file mode 100644
index 93ddc994..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/5_syntax.htm
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-Reserved Words, Remarks and Spacing - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Home > Principles > Reserved Words, Remarks and Spacing
Reserved Words, Remarks and Spacing
Reserved words
Words that are deemed to be reserved are the commands of the language. You will not be able to name your variables, arrays or user functions if they exist as part of the language as commands. As you become more familiar with the language, you will be able to naturally avoid using reserved words for your variables, array names and user functions.
REMARKS
You are able to write statements in your program that will be completely ignored when run. This may seem strange at first, but actually provides one of the most important features of your programming armoury. Remarks, also known as code commentary or documentation, are the plain English descriptions of what your program does at any point in the code.
Although BASIC is quite concise as a readable language, it"s never entirely clear what a piece of code is supposed to do if you read it for the first time. Do not be fooled into thinking the code you write yourself is for your eyes only. Returning to a piece of code you wrote 3 months previous will dispel any concerns you may have over the importance of remarks.
The trick is to write only a summary of what a piece of code does. Leave out details, data and snippets that may change or be removed. Avoid typing a half-page description as the likelihood is that you"ll never find the time to read it. Remarks become a highly powerful part of your program if used correctly.
You can use the REM command to make a comment, as follows:
REM Print a greeting for the user
-PRINT ( "Hello World" )
-
There are other ways to make remarks in a program, such as the single open quote symbol:
` Print a greeting for the user
-PRINT ( "Hello World" )
-
Or the more common double forward slash used in other languages:
// Print a greeting for the user
-PRINT ( "Hello World" )
-
If you wish to "comment out" a number of lines in your program, you can avoid adding a REM command at the start of each line by using the following:
Anything between the REMSTART command and the REMEND command will be ignored when the program is run. These commands are especially useful for temporarily removing parts of the program for testing purposes.
You can also use the symbols /* and */ to comment multiple lines. This is an alternative to REMSTART and REMEND and will be more familiar to users of other languages, for example:
Unlike other BASIC languages, spaces are very important in your programs. It is important to separate commands and parameters, otherwise your program will not be understood. Take for example the line:
FOR T=1 TO 10
-
This would not be recognized if written as:
FORT=1TO10
-
Nor would this be easy to read either. Providing you use spaces to separate commands and parameters, you will encounter no problems with spacing.
You can also use it where it might make code easier to understand, even if the spaces are not necessary. For example both of the following are valid, and do exactly the same thing, but the latter might be easier to understand for someone else looking at your code
b=4-6*c
-a=2*(b+1)+c/4
-
b = 4 - 6*c
-a = 2*(b+1) + c/4
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/6_loopsync.htm b/AGK/AGK Help Generator/AGK Txt/principles/6_loopsync.htm
deleted file mode 100644
index ff07202e..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/6_loopsync.htm
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-Looping and Syncing - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
In order to create programs that can be operated by an end user, you need to be able to sustain a program loop and to display the contents of your program to the screen. Fail to do this and you will find your programs quit instantly, or appear to freeze with a black screen. This is because the program runs through your commands and reaches the end so quits, or sustains a loop but is never instructed to draw the program out to the screen.
The Loop
The simplest form of loop is the DO LOOP, which creates an infinite loop, and looks something like this:
DO
-LOOP
-
This will create a viable loop, but of course has nothing to display. So we insert something to display:
DO
- PRINT ( "hello world" )
-LOOP
-
When you run this code, you will still have a viable loop and the program has something to do, but the screen still remains black. In order to see anything, you need to issue the SYNC command which instructs the device to render the program to the screen.
DO
- PRINT ( "hello world" )
- SYNC()
-LOOP
-
Presto, you now have all the commands required to sustain a loop and draw the program output to the screen. By remembering to use loops and syncs in your programs, your programs will run and draw normally.
There are other types of loop available too, such as the WHILE ENDWHILE loop which allows you to use a condition to decide whether the loop should continue, such as:
A=1
-WHILE A<30
- INC A
- PRINT ( A )
- SYNC()
- SLEEP(50)
-ENDWHILE
-
The above program will enter the while loop and the code within will increment the variable A. When the value stored in variable A reaches 30, it will make the condition associated with the while loop false (as 30 is not less than 30), and the program will skip the code in the while loop and jump to the ENDWHILE and continue the program from that point.
You can also use a REPEAT UNTIL loop which places the condition at the end of the loop instead of the beginning. This is useful if you do not know the value required for the condition until the loop code has been executed. Take this example:
Whether you are using DO, WHILE, FOR or REPEAT loops, you can exit them at any time by using the EXIT command. This command will immediately end code execution within the loop and skip instantly to the end of the loop and resume the program from there. A modified version of the above code might look like this:
DO
- PRINT ( "click/touch to exit" )
- SYNC()
- IF GETPOINTERPRESSED()=1 THEN EXIT
-LOOP
-PRINT ( "This line will run after the EXIT command" )
-
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/7_bases.htm b/AGK/AGK Help Generator/AGK Txt/principles/7_bases.htm
deleted file mode 100644
index efd1d671..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/7_bases.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-Numerical Bases - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Numerical bases are the method by which a value is represented. Most values are represented using Base 10, which essentially consists of digits zero through nine. This however is not the only method of representing a value. There are many other forms of numerical representation, some of which are supported below.
Binary
A numerical value representing Base 2 and consists only of values zero and one. Counting from zero through to ten, the binary values would look like 0, 01, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010. A binary value is coded with a "%" symbol prefix to inform the compiler that the value is binary. In binary, the value ten would be coded %1010.
Octal
A numerical value representing Base 8 and consists of values zero through seven. Counting from zero through to ten, the octal values would look like 00, 01, 02, 03, 04, 05, 06, 07, 10, 11, 12. An octal value is coded with a "0c" prefix to inform the compiler that the value is octal. In octal, the value ten would be coded 0c12.
Hexadecimal
A numerical value representing Base 16 and consists of values 0 through F. Counting from zero through to twenty, the hexadecimal values would look like 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, 13, 14. A hexadecimal value is coded with a "0x" prefix to inform the compiler that the value is hex. In hexadecimal, the value twenty would be coded 0x14.
\ No newline at end of file
diff --git a/AGK/AGK Help Generator/AGK Txt/principles/8_errors.htm b/AGK/AGK Help Generator/AGK Txt/principles/8_errors.htm
deleted file mode 100644
index 6b29ac28..00000000
--- a/AGK/AGK Help Generator/AGK Txt/principles/8_errors.htm
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-Errors, Warnings and The Compiler - AGK Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
There are many types of errors you will encounter while programming and running your creations, but they fall into four main categories:
"SYNTAX ERROR"
-
You have tried to compile your program but a command statement was not recognized or understood.
"PARAMETER MISMATCH"
-
You have tried to compile your program but a known command has been given the wrong parameter data. You must provide the correct types of parameters for the command, and in the right order.
"RUNTIME WARNING"
-
The program has compiled and run successfully, but the command failed due to the reasons given with the warning. A warning will not be given in a standalone executable version of the program!
"RUNTIME ERROR"
-
The program has compiled and run successfully, but the command failed due to the reasons given with the error. An error will terminate a standalone executable version of the program and provide a reason for the error!
The Compiler
To help understand the compiler better, here are a few notes that will help as you start to compile your programs. Some of the notes may be a little advanced, and are not essential reading for the beginner.
1. To reduce iterations, the compiler will process TYPE declarations and FUNCTION declarations in the same sweep, so if you place the TYPE ENDTYPE command after the function, the function will not be able to compile as it will not know what the TYPE is. Make sure you declare all your types before declaring any functions that use them.
2. Comments can be created as an appendage to an existing line, or as a command in itself. To append a comment to a line, simply use the ` symbol before adding the descriptive text you wish to apply. Comments can also be created as standalone commands using the REM statement, which you can abbreviate to the ` symbol if you wish. You should only place "appendage" comments inside type declarations or select statements. You can place a command comment anywhere a normal command can go. Common mistakes is to try and place REM commands inside TYPE or SELECT statements, which the compiler will find illegal.
3. The compiler will treat an ambiguous name as an array before a user function. A name will be treated as a user function call only if there is a FUNCTION declaration elsewhere in the program.
4. When the compiler processes a program that includes more than one .AGC source code file, it must first produce a single listing before it can be processed. This single listing can be found in the Media\SourceCode.agc file for reference. If the resulting executables throws a runtime error during its execution, the line number it reports refers to this master file, and not the main source code file from the project.
5. Error messages can sometimes be confusing if read out of context. Here is an explanation of an error that might cause confusion;
CODE: A$ = "X: " + TIMER()
-ERROR: Types "$$1" and "TEMP0" are incompatible at line X.
-EXPLANATION: This means the string and value cannot be added. The $$ symbol refers to a string, the TEMP0 refers to a temporary variable internally required by the compiler. The solution is to convert one so that you are adding the same type, i.e.: A$ = "X: " + STR(TIMER())
-