
/* Automatically generated struct definitions for the Data API.
 * Do not edit manually, changes will be overwritten.           */

#define RNA_RUNTIME

#include <float.h>
#include <stdio.h>
#include <limits.h>
#include <string.h>

#include <stddef.h>

#include "MEM_guardedalloc.h"

#include "DNA_ID.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"

#include "BLI_utildefines.h"

#include "BKE_context.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "RNA_define.h"
#include "RNA_types.h"
#include "rna_internal.h"

#include "rna_prototypes_gen.h"

#include "rna_property.c"

/* Autogenerated Functions */


CollectionPropertyRNA rna_GameProperty_rna_properties;
PointerPropertyRNA rna_GameProperty_rna_type;
StringPropertyRNA rna_GameProperty_name;
EnumPropertyRNA rna_GameProperty_type;
BoolPropertyRNA rna_GameProperty_show_debug;


extern CollectionPropertyRNA rna_GameProperty_rna_properties;
extern PointerPropertyRNA rna_GameProperty_rna_type;
extern StringPropertyRNA rna_GameProperty_name;
extern EnumPropertyRNA rna_GameProperty_type;
extern BoolPropertyRNA rna_GameProperty_show_debug;

BoolPropertyRNA rna_GameBooleanProperty_value;


extern CollectionPropertyRNA rna_GameProperty_rna_properties;
extern PointerPropertyRNA rna_GameProperty_rna_type;
extern StringPropertyRNA rna_GameProperty_name;
extern EnumPropertyRNA rna_GameProperty_type;
extern BoolPropertyRNA rna_GameProperty_show_debug;

IntPropertyRNA rna_GameIntProperty_value;


extern CollectionPropertyRNA rna_GameProperty_rna_properties;
extern PointerPropertyRNA rna_GameProperty_rna_type;
extern StringPropertyRNA rna_GameProperty_name;
extern EnumPropertyRNA rna_GameProperty_type;
extern BoolPropertyRNA rna_GameProperty_show_debug;

FloatPropertyRNA rna_GameFloatProperty_value;


extern CollectionPropertyRNA rna_GameProperty_rna_properties;
extern PointerPropertyRNA rna_GameProperty_rna_type;
extern StringPropertyRNA rna_GameProperty_name;
extern EnumPropertyRNA rna_GameProperty_type;
extern BoolPropertyRNA rna_GameProperty_show_debug;

FloatPropertyRNA rna_GameTimerProperty_value;


extern CollectionPropertyRNA rna_GameProperty_rna_properties;
extern PointerPropertyRNA rna_GameProperty_rna_type;
extern StringPropertyRNA rna_GameProperty_name;
extern EnumPropertyRNA rna_GameProperty_type;
extern BoolPropertyRNA rna_GameProperty_show_debug;

StringPropertyRNA rna_GameStringProperty_value;

static PointerRNA GameProperty_rna_properties_get(CollectionPropertyIterator *iter)
{
	return rna_builtin_properties_get(iter);
}

void GameProperty_rna_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{

	memset(iter, 0, sizeof(*iter));
	iter->parent = *ptr;
	iter->prop = (PropertyRNA *)&rna_GameProperty_rna_properties;

	rna_builtin_properties_begin(iter, ptr);

	if (iter->valid)
		iter->ptr = GameProperty_rna_properties_get(iter);
}

void GameProperty_rna_properties_next(CollectionPropertyIterator *iter)
{
	rna_builtin_properties_next(iter);

	if (iter->valid)
		iter->ptr = GameProperty_rna_properties_get(iter);
}

void GameProperty_rna_properties_end(CollectionPropertyIterator *iter)
{
	rna_iterator_listbase_end(iter);
}

int GameProperty_rna_properties_lookup_string(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)
{
	return rna_builtin_properties_lookup_string(ptr, key, r_ptr);
}

PointerRNA GameProperty_rna_type_get(PointerRNA *ptr)
{
	return rna_builtin_type_get(ptr);
}

void GameProperty_name_get(PointerRNA *ptr, char *value)
{
	bProperty *data = (bProperty *)(ptr->data);
	BLI_strncpy_utf8(value, data->name, 64);
}

int GameProperty_name_length(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return strlen(data->name);
}

void GameProperty_name_set(PointerRNA *ptr, const char *value)
{
	rna_GameProperty_name_set(ptr, value);
}

int GameProperty_type_get(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return (int)(data->type);
}

void GameProperty_type_set(PointerRNA *ptr, int value)
{
	rna_GameProperty_type_set(ptr, value);
}

int GameProperty_show_debug_get(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return (((data->flag) & 1) != 0);
}

void GameProperty_show_debug_set(PointerRNA *ptr, int value)
{
	bProperty *data = (bProperty *)(ptr->data);
	if (value) data->flag |= 1;
	else data->flag &= ~1;
}

int GameBooleanProperty_value_get(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return (((data->data) & 1) != 0);
}

void GameBooleanProperty_value_set(PointerRNA *ptr, int value)
{
	bProperty *data = (bProperty *)(ptr->data);
	if (value) data->data |= 1;
	else data->data &= ~1;
}

int GameIntProperty_value_get(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return (int)(data->data);
}

void GameIntProperty_value_set(PointerRNA *ptr, int value)
{
	bProperty *data = (bProperty *)(ptr->data);
	data->data = CLAMPIS(value, -10000, 10000);
}

float GameFloatProperty_value_get(PointerRNA *ptr)
{
	return rna_GameFloatProperty_value_get(ptr);
}

void GameFloatProperty_value_set(PointerRNA *ptr, float value)
{
	rna_GameFloatProperty_value_set(ptr, value);
}

float GameTimerProperty_value_get(PointerRNA *ptr)
{
	return rna_GameFloatProperty_value_get(ptr);
}

void GameTimerProperty_value_set(PointerRNA *ptr, float value)
{
	rna_GameFloatProperty_value_set(ptr, value);
}

void GameStringProperty_value_get(PointerRNA *ptr, char *value)
{
	bProperty *data = (bProperty *)(ptr->data);
	BLI_strncpy_utf8(value, data->poin, 128);
}

int GameStringProperty_value_length(PointerRNA *ptr)
{
	bProperty *data = (bProperty *)(ptr->data);
	return strlen(data->poin);
}

void GameStringProperty_value_set(PointerRNA *ptr, const char *value)
{
	bProperty *data = (bProperty *)(ptr->data);
	BLI_strncpy_utf8(data->poin, value, 128);
}







/* Game Property */
CollectionPropertyRNA rna_GameProperty_rna_properties = {
	{(PropertyRNA *)&rna_GameProperty_rna_type, NULL,
	-1, "rna_properties", 0, 0, 1, "Properties",
	"RNA property collection",
	0, "*",
	PROP_COLLECTION, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 0, NULL, NULL,
	0, -1, NULL},
	GameProperty_rna_properties_begin, GameProperty_rna_properties_next, GameProperty_rna_properties_end, GameProperty_rna_properties_get, NULL, NULL, GameProperty_rna_properties_lookup_string, NULL, &RNA_Property
};

PointerPropertyRNA rna_GameProperty_rna_type = {
	{(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	-1, "rna_type", 8912896, 0, 0, "RNA",
	"RNA type definition",
	0, "*",
	PROP_POINTER, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 0, NULL, NULL,
	0, -1, NULL},
	GameProperty_rna_type_get, NULL, NULL, NULL,&RNA_Struct
};

StringPropertyRNA rna_GameProperty_name = {
	{(PropertyRNA *)&rna_GameProperty_type, (PropertyRNA *)&rna_GameProperty_rna_type,
	-1, "name", 262145, 0, 0, "Name",
	"Available as GameObject attributes in the game engine\'s python API",
	0, "*",
	PROP_STRING, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {64, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameProperty_name_get, GameProperty_name_length, GameProperty_name_set, NULL, NULL, NULL, 64, ""
};

static EnumPropertyItem rna_GameProperty_type_items[6] = {
	{0, "BOOL", 0, "Boolean", "Boolean Property"},
	{1, "INT", 0, "Integer", "Integer Property"},
	{2, "FLOAT", 0, "Float", "Floating-Point Property"},
	{3, "STRING", 0, "String", "String Property"},
	{5, "TIMER", 0, "Timer", "Timer Property"},
	{0, NULL, 0, NULL, NULL}
};

EnumPropertyRNA rna_GameProperty_type = {
	{(PropertyRNA *)&rna_GameProperty_show_debug, (PropertyRNA *)&rna_GameProperty_name,
	-1, "type", 3, 0, 0, "Type",
	"",
	0, "*",
	PROP_ENUM, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameProperty_type_get, GameProperty_type_set, NULL, NULL, NULL, NULL, rna_GameProperty_type_items, 5, 0
};

BoolPropertyRNA rna_GameProperty_show_debug = {
	{NULL, (PropertyRNA *)&rna_GameProperty_type,
	-1, "show_debug", 3, 0, 0, "Debug",
	"Print debug information for this property",
	0, "*",
	PROP_BOOLEAN, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameProperty_show_debug_get, GameProperty_show_debug_set, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL
};

StructRNA RNA_GameProperty = {
	{(ContainerRNA *)&RNA_GameBooleanProperty, (ContainerRNA *)&RNA_BoneGroup,
	NULL,
	{(PropertyRNA *)&rna_GameProperty_rna_properties, (PropertyRNA *)&rna_GameProperty_show_debug}},
	"GameProperty", NULL, NULL, 4, "Game Property",
	"Game engine user defined object property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	NULL,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

/* Game Boolean Property */
BoolPropertyRNA rna_GameBooleanProperty_value = {
	{NULL, NULL,
	-1, "value", 3, 0, 0, "Value",
	"Property value",
	0, "*",
	PROP_BOOLEAN, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameBooleanProperty_value_get, GameBooleanProperty_value_set, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL
};

StructRNA RNA_GameBooleanProperty = {
	{(ContainerRNA *)&RNA_GameIntProperty, (ContainerRNA *)&RNA_GameProperty,
	NULL,
	{(PropertyRNA *)&rna_GameBooleanProperty_value, (PropertyRNA *)&rna_GameBooleanProperty_value}},
	"GameBooleanProperty", NULL, NULL, 4, "Game Boolean Property",
	"Game engine user defined Boolean property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	&RNA_GameProperty,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

/* Game Integer Property */
IntPropertyRNA rna_GameIntProperty_value = {
	{NULL, NULL,
	-1, "value", 3, 0, 4, "Value",
	"Property value",
	0, "*",
	PROP_INT, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	offsetof(bProperty, data), 0, NULL},
	GameIntProperty_value_get, GameIntProperty_value_set, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
	-10000, 10000, -10000, 10000, 1, 0, NULL
};

StructRNA RNA_GameIntProperty = {
	{(ContainerRNA *)&RNA_GameFloatProperty, (ContainerRNA *)&RNA_GameBooleanProperty,
	NULL,
	{(PropertyRNA *)&rna_GameIntProperty_value, (PropertyRNA *)&rna_GameIntProperty_value}},
	"GameIntProperty", NULL, NULL, 4, "Game Integer Property",
	"Game engine user defined integer number property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	&RNA_GameProperty,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

/* Game Float Property */
FloatPropertyRNA rna_GameFloatProperty_value = {
	{NULL, NULL,
	-1, "value", 3, 0, 0, "Value",
	"Property value",
	0, "*",
	PROP_FLOAT, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameFloatProperty_value_get, GameFloatProperty_value_set, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -10000.0f, 10000.0f, -10000.0f, 10000.0f, 10.0f, 3, 0.0f, NULL
};

StructRNA RNA_GameFloatProperty = {
	{(ContainerRNA *)&RNA_GameTimerProperty, (ContainerRNA *)&RNA_GameIntProperty,
	NULL,
	{(PropertyRNA *)&rna_GameFloatProperty_value, (PropertyRNA *)&rna_GameFloatProperty_value}},
	"GameFloatProperty", NULL, NULL, 4, "Game Float Property",
	"Game engine user defined floating point number property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	&RNA_GameProperty,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

/* Game Timer Property */
FloatPropertyRNA rna_GameTimerProperty_value = {
	{NULL, NULL,
	-1, "value", 3, 0, 0, "Value",
	"Property value",
	0, "*",
	PROP_FLOAT, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameTimerProperty_value_get, GameTimerProperty_value_set, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -10000.0f, 10000.0f, -10000.0f, 10000.0f, 10.0f, 3, 0.0f, NULL
};

StructRNA RNA_GameTimerProperty = {
	{(ContainerRNA *)&RNA_GameStringProperty, (ContainerRNA *)&RNA_GameFloatProperty,
	NULL,
	{(PropertyRNA *)&rna_GameTimerProperty_value, (PropertyRNA *)&rna_GameTimerProperty_value}},
	"GameTimerProperty", NULL, NULL, 4, "Game Timer Property",
	"Game engine user defined timer property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	&RNA_GameProperty,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

/* Game String Property */
StringPropertyRNA rna_GameStringProperty_value = {
	{NULL, NULL,
	-1, "value", 262145, 0, 0, "Value",
	"Property value",
	0, "*",
	PROP_STRING, PROP_NONE | PROP_UNIT_NONE, NULL, 0, {0, 0, 0}, 0,
	NULL, 318767104, NULL, NULL,
	0, -1, NULL},
	GameStringProperty_value_get, GameStringProperty_value_length, GameStringProperty_value_set, NULL, NULL, NULL, 128, ""
};

StructRNA RNA_GameStringProperty = {
	{(ContainerRNA *)&RNA_RenderEngine, (ContainerRNA *)&RNA_GameTimerProperty,
	NULL,
	{(PropertyRNA *)&rna_GameStringProperty_value, (PropertyRNA *)&rna_GameStringProperty_value}},
	"GameStringProperty", NULL, NULL, 4, "Game String Property",
	"Game engine user defined text string property",
	"*", 17,
	(PropertyRNA *)&rna_GameProperty_name, (PropertyRNA *)&rna_GameProperty_rna_properties,
	&RNA_GameProperty,
	NULL,
	rna_GameProperty_refine,
	NULL,
	NULL,
	NULL,
	NULL,
	NULL,
	{NULL, NULL}
};

