Merge branch 'master' into blender2.8
This commit is contained in:
commit
8dff538989
@ -1072,6 +1072,7 @@ public:
|
||||
CUarray_format_enum format;
|
||||
switch(mem.data_type) {
|
||||
case TYPE_UCHAR: format = CU_AD_FORMAT_UNSIGNED_INT8; break;
|
||||
case TYPE_UINT16: format = CU_AD_FORMAT_UNSIGNED_INT16; break;
|
||||
case TYPE_UINT: format = CU_AD_FORMAT_UNSIGNED_INT32; break;
|
||||
case TYPE_INT: format = CU_AD_FORMAT_SIGNED_INT32; break;
|
||||
case TYPE_FLOAT: format = CU_AD_FORMAT_FLOAT; break;
|
||||
|
@ -43,6 +43,7 @@ enum MemoryType {
|
||||
enum DataType {
|
||||
TYPE_UNKNOWN,
|
||||
TYPE_UCHAR,
|
||||
TYPE_UINT16,
|
||||
TYPE_UINT,
|
||||
TYPE_INT,
|
||||
TYPE_FLOAT,
|
||||
@ -57,6 +58,7 @@ static inline size_t datatype_size(DataType datatype)
|
||||
case TYPE_UCHAR: return sizeof(uchar);
|
||||
case TYPE_FLOAT: return sizeof(float);
|
||||
case TYPE_UINT: return sizeof(uint);
|
||||
case TYPE_UINT16: return sizeof(uint16_t);
|
||||
case TYPE_INT: return sizeof(int);
|
||||
case TYPE_HALF: return sizeof(half);
|
||||
case TYPE_UINT64: return sizeof(uint64_t);
|
||||
@ -156,6 +158,16 @@ template<> struct device_type_traits<half> {
|
||||
static const int num_elements = 1;
|
||||
};
|
||||
|
||||
template<> struct device_type_traits<ushort4> {
|
||||
static const DataType data_type = TYPE_UINT16;
|
||||
static const int num_elements = 4;
|
||||
};
|
||||
|
||||
template<> struct device_type_traits<uint16_t> {
|
||||
static const DataType data_type = TYPE_UINT16;
|
||||
static const int num_elements = 1;
|
||||
};
|
||||
|
||||
template<> struct device_type_traits<half4> {
|
||||
static const DataType data_type = TYPE_HALF;
|
||||
static const int num_elements = 4;
|
||||
|
@ -287,6 +287,7 @@ set(SRC_UTIL_HEADERS
|
||||
../util/util_types_uint3_impl.h
|
||||
../util/util_types_uint4.h
|
||||
../util/util_types_uint4_impl.h
|
||||
../util/util_types_ushort4.h
|
||||
../util/util_types_vector3.h
|
||||
../util/util_types_vector3_impl.h
|
||||
)
|
||||
|
@ -35,13 +35,13 @@ template<typename T> struct TextureInterpolator {
|
||||
|
||||
static ccl_always_inline float4 read(uchar4 r)
|
||||
{
|
||||
float f = 1.0f/255.0f;
|
||||
float f = 1.0f / 255.0f;
|
||||
return make_float4(r.x*f, r.y*f, r.z*f, r.w*f);
|
||||
}
|
||||
|
||||
static ccl_always_inline float4 read(uchar r)
|
||||
{
|
||||
float f = r*(1.0f/255.0f);
|
||||
float f = r * (1.0f / 255.0f);
|
||||
return make_float4(f, f, f, 1.0f);
|
||||
}
|
||||
|
||||
@ -63,6 +63,18 @@ template<typename T> struct TextureInterpolator {
|
||||
return make_float4(f, f, f, 1.0f);
|
||||
}
|
||||
|
||||
static ccl_always_inline float4 read(uint16_t r)
|
||||
{
|
||||
float f = r*(1.0f/65535.0f);
|
||||
return make_float4(f, f, f, 1.0f);
|
||||
}
|
||||
|
||||
static ccl_always_inline float4 read(ushort4 r)
|
||||
{
|
||||
float f = 1.0f/65535.0f;
|
||||
return make_float4(r.x*f, r.y*f, r.z*f, r.w*f);
|
||||
}
|
||||
|
||||
static ccl_always_inline float4 read(const T *data,
|
||||
int x, int y,
|
||||
int width, int height)
|
||||
@ -481,15 +493,21 @@ ccl_device float4 kernel_tex_image_interp(KernelGlobals *kg, int id, float x, fl
|
||||
return TextureInterpolator<half>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_BYTE:
|
||||
return TextureInterpolator<uchar>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_USHORT:
|
||||
return TextureInterpolator<uint16_t>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_FLOAT:
|
||||
return TextureInterpolator<float>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_HALF4:
|
||||
return TextureInterpolator<half4>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_BYTE4:
|
||||
return TextureInterpolator<uchar4>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_USHORT4:
|
||||
return TextureInterpolator<ushort4>::interp(info, x, y);
|
||||
case IMAGE_DATA_TYPE_FLOAT4:
|
||||
default:
|
||||
return TextureInterpolator<float4>::interp(info, x, y);
|
||||
default:
|
||||
assert(0);
|
||||
return make_float4(TEX_IMAGE_MISSING_R, TEX_IMAGE_MISSING_G, TEX_IMAGE_MISSING_B, TEX_IMAGE_MISSING_A);
|
||||
}
|
||||
}
|
||||
|
||||
@ -502,15 +520,21 @@ ccl_device float4 kernel_tex_image_interp_3d(KernelGlobals *kg, int id, float x,
|
||||
return TextureInterpolator<half>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_BYTE:
|
||||
return TextureInterpolator<uchar>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_USHORT:
|
||||
return TextureInterpolator<uint16_t>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_FLOAT:
|
||||
return TextureInterpolator<float>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_HALF4:
|
||||
return TextureInterpolator<half4>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_BYTE4:
|
||||
return TextureInterpolator<uchar4>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_USHORT4:
|
||||
return TextureInterpolator<ushort4>::interp_3d(info, x, y, z, interp);
|
||||
case IMAGE_DATA_TYPE_FLOAT4:
|
||||
default:
|
||||
return TextureInterpolator<float4>::interp_3d(info, x, y, z, interp);
|
||||
default:
|
||||
assert(0);
|
||||
return make_float4(TEX_IMAGE_MISSING_R, TEX_IMAGE_MISSING_G, TEX_IMAGE_MISSING_B, TEX_IMAGE_MISSING_A);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -127,11 +127,12 @@ ccl_device float4 kernel_tex_image_interp(KernelGlobals *kg, int id, float x, fl
|
||||
const TextureInfo& info = kernel_tex_fetch(__texture_info, id);
|
||||
CUtexObject tex = (CUtexObject)info.data;
|
||||
|
||||
/* float4, byte4 and half4 */
|
||||
/* float4, byte4, ushort4 and half4 */
|
||||
const int texture_type = kernel_tex_type(id);
|
||||
if(texture_type == IMAGE_DATA_TYPE_FLOAT4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_BYTE4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_HALF4)
|
||||
texture_type == IMAGE_DATA_TYPE_HALF4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_USHORT4)
|
||||
{
|
||||
if(info.interpolation == INTERPOLATION_CUBIC) {
|
||||
return kernel_tex_image_interp_bicubic<float4>(info, tex, x, y);
|
||||
@ -164,7 +165,8 @@ ccl_device float4 kernel_tex_image_interp_3d(KernelGlobals *kg, int id, float x,
|
||||
const int texture_type = kernel_tex_type(id);
|
||||
if(texture_type == IMAGE_DATA_TYPE_FLOAT4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_BYTE4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_HALF4)
|
||||
texture_type == IMAGE_DATA_TYPE_HALF4 ||
|
||||
texture_type == IMAGE_DATA_TYPE_USHORT4)
|
||||
{
|
||||
if(interpolation == INTERPOLATION_CUBIC) {
|
||||
return kernel_tex_image_interp_bicubic_3d<float4>(info, tex, x, y, z);
|
||||
|
@ -54,11 +54,23 @@ ccl_device_inline float4 svm_image_texture_read(KernelGlobals *kg, const ccl_glo
|
||||
float f = 1.0f/255.0f;
|
||||
return make_float4(r.x*f, r.y*f, r.z*f, r.w*f);
|
||||
}
|
||||
/* Ushort4 */
|
||||
else if(texture_type == IMAGE_DATA_TYPE_USHORT4) {
|
||||
ushort4 r = tex_fetch(ushort4, info, offset);
|
||||
float f = 1.0f/65535.f;
|
||||
return make_float4(r.x*f, r.y*f, r.z*f, r.w*f);
|
||||
}
|
||||
/* Float */
|
||||
else if(texture_type == IMAGE_DATA_TYPE_FLOAT) {
|
||||
float f = tex_fetch(float, info, offset);
|
||||
return make_float4(f, f, f, 1.0f);
|
||||
}
|
||||
/* UShort */
|
||||
else if(texture_type == IMAGE_DATA_TYPE_USHORT) {
|
||||
ushort r = tex_fetch(ushort, info, offset);
|
||||
float f = r * (1.0f / 65535.0f);
|
||||
return make_float4(f, f, f, 1.0f);
|
||||
}
|
||||
/* Byte */
|
||||
else {
|
||||
uchar r = tex_fetch(uchar, info, offset);
|
||||
|
@ -39,6 +39,10 @@ static bool isfinite(half /*value*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
static bool isfinite(uint16_t /*value*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ImageManager::ImageManager(const DeviceInfo& info)
|
||||
{
|
||||
@ -164,23 +168,27 @@ bool ImageManager::get_image_metadata(const string& filename,
|
||||
metadata.height = spec.height;
|
||||
metadata.depth = spec.depth;
|
||||
|
||||
/* check the main format, and channel formats;
|
||||
* if any take up more than one byte, we'll need a float texture slot */
|
||||
if(spec.format.basesize() > 1) {
|
||||
|
||||
/* Check the main format, and channel formats. */
|
||||
size_t channel_size = spec.format.basesize();
|
||||
|
||||
if(spec.format.is_floating_point()) {
|
||||
metadata.is_float = true;
|
||||
metadata.is_linear = true;
|
||||
}
|
||||
|
||||
for(size_t channel = 0; channel < spec.channelformats.size(); channel++) {
|
||||
if(spec.channelformats[channel].basesize() > 1) {
|
||||
channel_size = max(channel_size, spec.channelformats[channel].basesize());
|
||||
if(spec.channelformats[channel].is_floating_point()) {
|
||||
metadata.is_float = true;
|
||||
metadata.is_linear = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* check if it's half float */
|
||||
if(spec.format == TypeDesc::HALF)
|
||||
if(spec.format == TypeDesc::HALF) {
|
||||
metadata.is_half = true;
|
||||
}
|
||||
|
||||
/* basic color space detection, not great but better than nothing
|
||||
* before we do OpenColorIO integration */
|
||||
@ -208,6 +216,9 @@ bool ImageManager::get_image_metadata(const string& filename,
|
||||
else if(metadata.is_float) {
|
||||
metadata.type = (metadata.channels > 1) ? IMAGE_DATA_TYPE_FLOAT4 : IMAGE_DATA_TYPE_FLOAT;
|
||||
}
|
||||
else if(spec.format == TypeDesc::USHORT) {
|
||||
metadata.type = (metadata.channels > 1) ? IMAGE_DATA_TYPE_USHORT4 : IMAGE_DATA_TYPE_USHORT;
|
||||
}
|
||||
else {
|
||||
metadata.type = (metadata.channels > 1) ? IMAGE_DATA_TYPE_BYTE4 : IMAGE_DATA_TYPE_BYTE;
|
||||
}
|
||||
@ -254,6 +265,10 @@ string ImageManager::name_from_type(int type)
|
||||
return "half4";
|
||||
else if(type == IMAGE_DATA_TYPE_HALF)
|
||||
return "half";
|
||||
else if(type == IMAGE_DATA_TYPE_USHORT)
|
||||
return "ushort";
|
||||
else if(type == IMAGE_DATA_TYPE_USHORT4)
|
||||
return "ushort4";
|
||||
else
|
||||
return "byte4";
|
||||
}
|
||||
@ -583,7 +598,8 @@ bool ImageManager::file_load_image(Image *img,
|
||||
*/
|
||||
bool is_rgba = (type == IMAGE_DATA_TYPE_FLOAT4 ||
|
||||
type == IMAGE_DATA_TYPE_HALF4 ||
|
||||
type == IMAGE_DATA_TYPE_BYTE4);
|
||||
type == IMAGE_DATA_TYPE_BYTE4 ||
|
||||
type == IMAGE_DATA_TYPE_USHORT4);
|
||||
if(is_rgba) {
|
||||
if(cmyk) {
|
||||
/* CMYK */
|
||||
@ -843,14 +859,61 @@ void ImageManager::device_load_image(Device *device,
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
tex_img->copy_to_device();
|
||||
}
|
||||
else if(type == IMAGE_DATA_TYPE_USHORT) {
|
||||
device_vector<uint16_t> *tex_img
|
||||
= new device_vector<uint16_t>(device, img->mem_name.c_str(), MEM_TEXTURE);
|
||||
|
||||
if(!file_load_image<TypeDesc::USHORT, uint16_t>(img,
|
||||
type,
|
||||
texture_limit,
|
||||
*tex_img)) {
|
||||
/* on failure to load, we set a 1x1 pixels pink image */
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
uint16_t *pixels = (uint16_t*)tex_img->alloc(1, 1);
|
||||
|
||||
pixels[0] = TEX_IMAGE_MISSING_R;
|
||||
}
|
||||
|
||||
img->mem = tex_img;
|
||||
img->mem->interpolation = img->interpolation;
|
||||
img->mem->extension = img->extension;
|
||||
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
tex_img->copy_to_device();
|
||||
}
|
||||
else if(type == IMAGE_DATA_TYPE_USHORT4) {
|
||||
device_vector<ushort4> *tex_img
|
||||
= new device_vector<ushort4>(device, img->mem_name.c_str(), MEM_TEXTURE);
|
||||
|
||||
if(!file_load_image<TypeDesc::USHORT, uint16_t>(img,
|
||||
type,
|
||||
texture_limit,
|
||||
*tex_img)) {
|
||||
/* on failure to load, we set a 1x1 pixels pink image */
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
uint16_t *pixels = (uint16_t*)tex_img->alloc(1, 1);
|
||||
|
||||
pixels[0] = TEX_IMAGE_MISSING_R;
|
||||
pixels[1] = TEX_IMAGE_MISSING_G;
|
||||
pixels[2] = TEX_IMAGE_MISSING_B;
|
||||
pixels[3] = TEX_IMAGE_MISSING_A;
|
||||
}
|
||||
|
||||
img->mem = tex_img;
|
||||
img->mem->interpolation = img->interpolation;
|
||||
img->mem->extension = img->extension;
|
||||
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
tex_img->copy_to_device();
|
||||
}
|
||||
else if(type == IMAGE_DATA_TYPE_HALF) {
|
||||
device_vector<half> *tex_img
|
||||
= new device_vector<half>(device, img->mem_name.c_str(), MEM_TEXTURE);
|
||||
|
||||
if(!file_load_image<TypeDesc::HALF, half>(img,
|
||||
type,
|
||||
texture_limit,
|
||||
*tex_img)) {
|
||||
type,
|
||||
texture_limit,
|
||||
*tex_img)) {
|
||||
/* on failure to load, we set a 1x1 pixels pink image */
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
half *pixels = (half*)tex_img->alloc(1, 1);
|
||||
@ -865,7 +928,6 @@ void ImageManager::device_load_image(Device *device,
|
||||
thread_scoped_lock device_lock(device_mutex);
|
||||
tex_img->copy_to_device();
|
||||
}
|
||||
|
||||
img->need_load = false;
|
||||
}
|
||||
|
||||
|
@ -116,6 +116,7 @@ set(SRC_HEADERS
|
||||
util_types_uint3_impl.h
|
||||
util_types_uint4.h
|
||||
util_types_uint4_impl.h
|
||||
util_types_ushort4.h
|
||||
util_types_vector3.h
|
||||
util_types_vector3_impl.h
|
||||
util_vector.h
|
||||
|
@ -36,7 +36,16 @@ CCL_NAMESPACE_BEGIN
|
||||
|
||||
/* CUDA has its own half data type, no need to define then */
|
||||
#ifndef __KERNEL_CUDA__
|
||||
typedef unsigned short half;
|
||||
/* Implementing this as a class rather than a typedef so that the compiler can tell it apart from unsigned shorts. */
|
||||
class half {
|
||||
public:
|
||||
half() : v(0) {}
|
||||
half(const unsigned short& i) : v(i) {}
|
||||
operator unsigned short() { return v; }
|
||||
half & operator =(const unsigned short& i) { v = i; return *this; }
|
||||
private:
|
||||
unsigned short v;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct half4 { half x, y, z, w; };
|
||||
|
@ -53,6 +53,11 @@ inline float cast_to_float(uchar value)
|
||||
return (float)value / 255.0f;
|
||||
}
|
||||
template<>
|
||||
inline float cast_to_float(uint16_t value)
|
||||
{
|
||||
return (float)value / 65535.0f;
|
||||
}
|
||||
template<>
|
||||
inline float cast_to_float(half value)
|
||||
{
|
||||
return half_to_float(value);
|
||||
@ -79,6 +84,17 @@ inline uchar cast_from_float(float value)
|
||||
return (uchar)((255.0f * value) + 0.5f);
|
||||
}
|
||||
template<>
|
||||
inline uint16_t cast_from_float(float value)
|
||||
{
|
||||
if(value < 0.0f) {
|
||||
return 0;
|
||||
}
|
||||
else if(value >(1.0f - 0.5f / 65535.0f)) {
|
||||
return 65535;
|
||||
}
|
||||
return (uchar)((65535.0f * value) + 0.5f);
|
||||
}
|
||||
template<>
|
||||
inline half cast_from_float(float value)
|
||||
{
|
||||
return float_to_half(value);
|
||||
|
@ -53,6 +53,8 @@ typedef enum ImageDataType {
|
||||
IMAGE_DATA_TYPE_FLOAT = 3,
|
||||
IMAGE_DATA_TYPE_BYTE = 4,
|
||||
IMAGE_DATA_TYPE_HALF = 5,
|
||||
IMAGE_DATA_TYPE_USHORT4 = 6,
|
||||
IMAGE_DATA_TYPE_USHORT = 7,
|
||||
|
||||
IMAGE_DATA_NUM_TYPES
|
||||
} ImageDataType;
|
||||
|
@ -116,6 +116,8 @@ CCL_NAMESPACE_END
|
||||
#include "util/util_types_uint3.h"
|
||||
#include "util/util_types_uint4.h"
|
||||
|
||||
#include "util/util_types_ushort4.h"
|
||||
|
||||
#include "util/util_types_float2.h"
|
||||
#include "util/util_types_float3.h"
|
||||
#include "util/util_types_float4.h"
|
||||
|
36
intern/cycles/util/util_types_ushort4.h
Normal file
36
intern/cycles/util/util_types_ushort4.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright 2011-2017 Blender Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef __UTIL_TYPES_USHORT4_H__
|
||||
#define __UTIL_TYPES_USHORT4_H__
|
||||
|
||||
#ifndef __UTIL_TYPES_H__
|
||||
# error "Do not include this file directly, include util_types.h instead."
|
||||
#endif
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
#ifndef __KERNEL_GPU__
|
||||
|
||||
struct ushort4 {
|
||||
uint16_t x, y, z, w;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
||||
#endif /* __UTIL_TYPES_USHORT4_H__ */
|
@ -272,7 +272,7 @@ IDProperty *rna_ID_idprops(PointerRNA *ptr, bool create)
|
||||
return IDP_GetProperties(ptr->data, create);
|
||||
}
|
||||
|
||||
void rna_ID_fake_user_set(PointerRNA *ptr, int value)
|
||||
void rna_ID_fake_user_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
ID *id = (ID *)ptr->data;
|
||||
|
||||
@ -689,7 +689,7 @@ static void rna_ImagePreview_pixels_float_set(PointerRNA *ptr, const float *valu
|
||||
}
|
||||
|
||||
|
||||
static void rna_ImagePreview_is_image_custom_set(PointerRNA *ptr, int value)
|
||||
static void rna_ImagePreview_is_image_custom_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_PREVIEW);
|
||||
}
|
||||
@ -735,7 +735,7 @@ static void rna_ImagePreview_image_pixels_float_set(PointerRNA *ptr, const float
|
||||
}
|
||||
|
||||
|
||||
static void rna_ImagePreview_is_icon_custom_set(PointerRNA *ptr, int value)
|
||||
static void rna_ImagePreview_is_icon_custom_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_ImagePreview_is_custom_set(ptr, value, ICON_SIZE_ICON);
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ static void rna_AnimData_action_set(PointerRNA *ptr, PointerRNA value)
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_AnimData_tweakmode_set(PointerRNA *ptr, const int value)
|
||||
static void rna_AnimData_tweakmode_set(PointerRNA *ptr, const bool value)
|
||||
{
|
||||
AnimData *adt = (AnimData *)ptr->data;
|
||||
|
||||
|
@ -381,7 +381,7 @@ static void rna_EditBone_connected_check(EditBone *ebone)
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_EditBone_connected_set(PointerRNA *ptr, int value)
|
||||
static void rna_EditBone_connected_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
EditBone *ebone = (EditBone *)(ptr->data);
|
||||
|
||||
@ -501,7 +501,7 @@ static void rna_Armature_bones_next(CollectionPropertyIterator *iter)
|
||||
iter->valid = (internal->link != NULL);
|
||||
}
|
||||
|
||||
static int rna_Armature_is_editmode_get(PointerRNA *ptr)
|
||||
static bool rna_Armature_is_editmode_get(PointerRNA *ptr)
|
||||
{
|
||||
bArmature *arm = (bArmature *)ptr->id.data;
|
||||
return (arm->edbo != NULL);
|
||||
|
@ -135,25 +135,25 @@ const EnumPropertyItem rna_enum_brush_image_tool_items[] = {
|
||||
|
||||
#include "WM_api.h"
|
||||
|
||||
static int rna_SculptToolCapabilities_has_accumulate_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_accumulate_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return SCULPT_TOOL_HAS_ACCUMULATE(br->sculpt_tool);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_auto_smooth_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_auto_smooth_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return !ELEM(br->sculpt_tool, SCULPT_TOOL_MASK, SCULPT_TOOL_SMOOTH);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_height_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_height_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return br->sculpt_tool == SCULPT_TOOL_LAYER;
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_jitter_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_jitter_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (!(br->flag & BRUSH_ANCHORED) &&
|
||||
@ -163,19 +163,19 @@ static int rna_SculptToolCapabilities_has_jitter_get(PointerRNA *ptr)
|
||||
SCULPT_TOOL_SNAKE_HOOK, SCULPT_TOOL_THUMB));
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_normal_weight_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_normal_weight_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return SCULPT_TOOL_HAS_NORMAL_WEIGHT(br->sculpt_tool);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_rake_factor_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_rake_factor_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return SCULPT_TOOL_HAS_RAKE(br->sculpt_tool);
|
||||
}
|
||||
|
||||
static int rna_BrushCapabilities_has_overlay_get(PointerRNA *ptr)
|
||||
static bool rna_BrushCapabilities_has_overlay_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return ELEM(br->mtex.brush_map_mode,
|
||||
@ -184,26 +184,26 @@ static int rna_BrushCapabilities_has_overlay_get(PointerRNA *ptr)
|
||||
MTEX_MAP_MODE_STENCIL);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_persistence_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_persistence_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return br->sculpt_tool == SCULPT_TOOL_LAYER;
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_pinch_factor_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_pinch_factor_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return ELEM(br->sculpt_tool, SCULPT_TOOL_BLOB, SCULPT_TOOL_CREASE, SCULPT_TOOL_SNAKE_HOOK);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_plane_offset_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_plane_offset_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return ELEM(br->sculpt_tool, SCULPT_TOOL_CLAY, SCULPT_TOOL_CLAY_STRIPS,
|
||||
SCULPT_TOOL_FILL, SCULPT_TOOL_FLATTEN, SCULPT_TOOL_SCRAPE);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (!ELEM(br->sculpt_tool,
|
||||
@ -211,7 +211,7 @@ static int rna_SculptToolCapabilities_has_random_texture_angle_get(PointerRNA *p
|
||||
SCULPT_TOOL_SNAKE_HOOK, SCULPT_TOOL_THUMB));
|
||||
}
|
||||
|
||||
static int rna_TextureCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
static bool rna_TextureCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
{
|
||||
MTex *mtex = (MTex *)ptr->data;
|
||||
return ELEM(mtex->brush_map_mode,
|
||||
@ -221,13 +221,13 @@ static int rna_TextureCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
}
|
||||
|
||||
|
||||
static int rna_BrushCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
static bool rna_BrushCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return !(br->flag & BRUSH_ANCHORED);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_sculpt_plane_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_sculpt_plane_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return !ELEM(br->sculpt_tool, SCULPT_TOOL_INFLATE,
|
||||
@ -235,13 +235,13 @@ static int rna_SculptToolCapabilities_has_sculpt_plane_get(PointerRNA *ptr)
|
||||
SCULPT_TOOL_SMOOTH);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_secondary_color_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_secondary_color_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return BKE_brush_sculpt_has_secondary_color(br);
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (!(br->flag & BRUSH_ANCHORED) &&
|
||||
@ -253,7 +253,7 @@ static int rna_SculptToolCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
SCULPT_TOOL_SNAKE_HOOK, SCULPT_TOOL_THUMB));
|
||||
}
|
||||
|
||||
static int rna_BrushCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
static bool rna_BrushCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (!(br->flag & BRUSH_ANCHORED) &&
|
||||
@ -262,7 +262,7 @@ static int rna_BrushCapabilities_has_smooth_stroke_get(PointerRNA *ptr)
|
||||
!(br->flag & BRUSH_CURVE));
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_space_attenuation_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_space_attenuation_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return ((br->flag & (BRUSH_SPACE | BRUSH_LINE | BRUSH_CURVE)) &&
|
||||
@ -270,38 +270,38 @@ static int rna_SculptToolCapabilities_has_space_attenuation_get(PointerRNA *ptr)
|
||||
SCULPT_TOOL_SMOOTH, SCULPT_TOOL_SNAKE_HOOK));
|
||||
}
|
||||
|
||||
static int rna_ImapaintToolCapabilities_has_space_attenuation_get(PointerRNA *ptr)
|
||||
static bool rna_ImapaintToolCapabilities_has_space_attenuation_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (br->flag & (BRUSH_SPACE | BRUSH_LINE | BRUSH_CURVE)) &&
|
||||
br->imagepaint_tool != PAINT_TOOL_FILL;
|
||||
}
|
||||
|
||||
static int rna_BrushCapabilities_has_spacing_get(PointerRNA *ptr)
|
||||
static bool rna_BrushCapabilities_has_spacing_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return (!(br->flag & BRUSH_ANCHORED));
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_strength_pressure_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_strength_pressure_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return !ELEM(br->sculpt_tool, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK);
|
||||
}
|
||||
|
||||
static int rna_TextureCapabilities_has_texture_angle_get(PointerRNA *ptr)
|
||||
static bool rna_TextureCapabilities_has_texture_angle_get(PointerRNA *ptr)
|
||||
{
|
||||
MTex *mtex = (MTex *)ptr->data;
|
||||
return mtex->brush_map_mode != MTEX_MAP_MODE_3D;
|
||||
}
|
||||
|
||||
static int rna_SculptToolCapabilities_has_gravity_get(PointerRNA *ptr)
|
||||
static bool rna_SculptToolCapabilities_has_gravity_get(PointerRNA *ptr)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
return !ELEM(br->sculpt_tool, SCULPT_TOOL_MASK, SCULPT_TOOL_SMOOTH);
|
||||
}
|
||||
|
||||
static int rna_TextureCapabilities_has_texture_angle_source_get(PointerRNA *ptr)
|
||||
static bool rna_TextureCapabilities_has_texture_angle_source_get(PointerRNA *ptr)
|
||||
{
|
||||
MTex *mtex = (MTex *)ptr->data;
|
||||
return ELEM(mtex->brush_map_mode,
|
||||
@ -310,7 +310,7 @@ static int rna_TextureCapabilities_has_texture_angle_source_get(PointerRNA *ptr)
|
||||
MTEX_MAP_MODE_RANDOM);
|
||||
}
|
||||
|
||||
static int rna_ImapaintToolCapabilities_has_accumulate_get(PointerRNA *ptr)
|
||||
static bool rna_ImapaintToolCapabilities_has_accumulate_get(PointerRNA *ptr)
|
||||
{
|
||||
/* only support for draw tool */
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
@ -325,7 +325,7 @@ static int rna_ImapaintToolCapabilities_has_accumulate_get(PointerRNA *ptr)
|
||||
) ? false : true;
|
||||
}
|
||||
|
||||
static int rna_ImapaintToolCapabilities_has_radius_get(PointerRNA *ptr)
|
||||
static bool rna_ImapaintToolCapabilities_has_radius_get(PointerRNA *ptr)
|
||||
{
|
||||
/* only support for draw tool */
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
@ -465,7 +465,7 @@ static void rna_Brush_set_size(PointerRNA *ptr, int value)
|
||||
brush->size = value;
|
||||
}
|
||||
|
||||
static void rna_Brush_use_gradient_set(PointerRNA *ptr, int value)
|
||||
static void rna_Brush_use_gradient_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Brush *br = (Brush *)ptr->data;
|
||||
|
||||
|
@ -86,7 +86,7 @@ static void rna_CurveMapping_curves_begin(CollectionPropertyIterator *iter, Poin
|
||||
rna_iterator_array_begin(iter, cumap->cm, sizeof(CurveMap), rna_CurveMapping_curves_length(ptr), 0, NULL);
|
||||
}
|
||||
|
||||
static void rna_CurveMapping_clip_set(PointerRNA *ptr, int value)
|
||||
static void rna_CurveMapping_clip_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
CurveMapping *cumap = (CurveMapping *)ptr->data;
|
||||
|
||||
@ -495,7 +495,7 @@ static const EnumPropertyItem *rna_ColorManagedViewSettings_look_itemf(
|
||||
return items;
|
||||
}
|
||||
|
||||
static void rna_ColorManagedViewSettings_use_curves_set(PointerRNA *ptr, int value)
|
||||
static void rna_ColorManagedViewSettings_use_curves_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
ColorManagedViewSettings *view_settings = (ColorManagedViewSettings *) ptr->data;
|
||||
|
||||
|
@ -737,7 +737,7 @@ static void rna_Curve_splines_begin(CollectionPropertyIterator *iter, PointerRNA
|
||||
rna_iterator_listbase_begin(iter, BKE_curve_nurbs_get(cu), NULL);
|
||||
}
|
||||
|
||||
static int rna_Curve_is_editmode_get(PointerRNA *ptr)
|
||||
static bool rna_Curve_is_editmode_get(PointerRNA *ptr)
|
||||
{
|
||||
Curve *cu = (Curve *)ptr->id.data;
|
||||
const short type = BKE_curve_type_get(cu);
|
||||
|
@ -143,13 +143,13 @@ static PointerRNA rna_DepsgraphUpdate_id_get(PointerRNA *ptr)
|
||||
return rna_pointer_inherit_refine(ptr, &RNA_ID, ptr->data);
|
||||
}
|
||||
|
||||
static int rna_DepsgraphUpdate_is_dirty_transform_get(PointerRNA *ptr)
|
||||
static bool rna_DepsgraphUpdate_is_dirty_transform_get(PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->data;
|
||||
return ((id->recalc & ID_RECALC_TRANSFORM) == 0);
|
||||
}
|
||||
|
||||
static int rna_DepsgraphUpdate_is_dirty_geometry_get(PointerRNA *ptr)
|
||||
static bool rna_DepsgraphUpdate_is_dirty_geometry_get(PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->data;
|
||||
if (id->recalc & ID_RECALC_GEOMETRY) {
|
||||
|
@ -224,7 +224,7 @@ static void rna_DynamicPaint_uvlayer_set(PointerRNA *ptr, const char *value)
|
||||
}
|
||||
|
||||
/* is point cache used */
|
||||
static int rna_DynamicPaint_is_cache_user_get(PointerRNA *ptr)
|
||||
static bool rna_DynamicPaint_is_cache_user_get(PointerRNA *ptr)
|
||||
{
|
||||
DynamicPaintSurface *surface = (DynamicPaintSurface *)ptr->data;
|
||||
|
||||
@ -232,7 +232,7 @@ static int rna_DynamicPaint_is_cache_user_get(PointerRNA *ptr)
|
||||
}
|
||||
|
||||
/* is some 3D view preview available */
|
||||
static int rna_DynamicPaint_use_color_preview_get(PointerRNA *ptr)
|
||||
static bool rna_DynamicPaint_use_color_preview_get(PointerRNA *ptr)
|
||||
{
|
||||
DynamicPaintSurface *surface = (DynamicPaintSurface *)ptr->data;
|
||||
|
||||
|
@ -524,7 +524,7 @@ static void rna_FCurve_modifiers_remove(FCurve *fcu, ReportList *reports, Pointe
|
||||
RNA_POINTER_INVALIDATE(fcm_ptr);
|
||||
}
|
||||
|
||||
static void rna_FModifier_active_set(PointerRNA *ptr, int UNUSED(value))
|
||||
static void rna_FModifier_active_set(PointerRNA *ptr, bool UNUSED(value))
|
||||
{
|
||||
FModifier *fcm = (FModifier *)ptr->data;
|
||||
|
||||
|
@ -275,7 +275,7 @@ static const EnumPropertyItem *rna_Object_parent_type_itemf(
|
||||
return item;
|
||||
}
|
||||
|
||||
static int rna_GPencilLayer_is_parented_get(PointerRNA *ptr)
|
||||
static bool rna_GPencilLayer_is_parented_get(PointerRNA *ptr)
|
||||
{
|
||||
bGPDlayer *gpl = (bGPDlayer *)ptr->data;
|
||||
return (gpl->parent != NULL);
|
||||
@ -366,7 +366,7 @@ static void rna_GPencilLayer_info_set(PointerRNA *ptr, const char *value)
|
||||
BKE_animdata_fix_paths_rename_all(&gpd->id, "layers", oldname, gpl->info);
|
||||
}
|
||||
|
||||
static void rna_GPencil_use_onion_skinning_set(PointerRNA *ptr, const int value)
|
||||
static void rna_GPencil_use_onion_skinning_set(PointerRNA *ptr, const bool value)
|
||||
{
|
||||
bGPdata *gpd = ptr->id.data;
|
||||
bGPDlayer *gpl;
|
||||
@ -423,7 +423,7 @@ static bGPDstroke *rna_GPencil_stroke_point_find_stroke(const bGPdata *gpd, cons
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void rna_GPencil_stroke_point_select_set(PointerRNA *ptr, const int value)
|
||||
static void rna_GPencil_stroke_point_select_set(PointerRNA *ptr, const bool value)
|
||||
{
|
||||
bGPdata *gpd = ptr->id.data;
|
||||
bGPDspoint *pt = ptr->data;
|
||||
@ -525,7 +525,7 @@ static void rna_GPencil_stroke_remove(bGPDframe *frame, ReportList *reports, Poi
|
||||
WM_main_add_notifier(NC_GPENCIL | NA_EDITED, NULL);
|
||||
}
|
||||
|
||||
static void rna_GPencil_stroke_select_set(PointerRNA *ptr, const int value)
|
||||
static void rna_GPencil_stroke_select_set(PointerRNA *ptr, const bool value)
|
||||
{
|
||||
bGPDstroke *gps = ptr->data;
|
||||
bGPDspoint *pt;
|
||||
@ -851,13 +851,13 @@ static void rna_GPencilStrokeColor_info_set(PointerRNA *ptr, const char *value)
|
||||
}
|
||||
|
||||
|
||||
static int rna_GPencilPaletteColor_is_stroke_visible_get(PointerRNA *ptr)
|
||||
static bool rna_GPencilPaletteColor_is_stroke_visible_get(PointerRNA *ptr)
|
||||
{
|
||||
bGPDpalettecolor *pcolor = (bGPDpalettecolor *)ptr->data;
|
||||
return (pcolor->color[3] > GPENCIL_ALPHA_OPACITY_THRESH);
|
||||
}
|
||||
|
||||
static int rna_GPencilPaletteColor_is_fill_visible_get(PointerRNA *ptr)
|
||||
static bool rna_GPencilPaletteColor_is_fill_visible_get(PointerRNA *ptr)
|
||||
{
|
||||
bGPDpalettecolor *pcolor = (bGPDpalettecolor *)ptr->data;
|
||||
return (pcolor->fill[3] > GPENCIL_ALPHA_OPACITY_THRESH);
|
||||
|
@ -72,17 +72,17 @@ static const EnumPropertyItem image_source_items[] = {
|
||||
#include "IMB_imbuf.h"
|
||||
#include "IMB_imbuf_types.h"
|
||||
|
||||
static int rna_Image_is_stereo_3d_get(PointerRNA *ptr)
|
||||
static bool rna_Image_is_stereo_3d_get(PointerRNA *ptr)
|
||||
{
|
||||
return BKE_image_is_stereo((Image *)ptr->data);
|
||||
}
|
||||
|
||||
static int rna_Image_is_multiview_get(PointerRNA *ptr)
|
||||
static bool rna_Image_is_multiview_get(PointerRNA *ptr)
|
||||
{
|
||||
return BKE_image_is_multiview((Image *)ptr->data);
|
||||
}
|
||||
|
||||
static int rna_Image_dirty_get(PointerRNA *ptr)
|
||||
static bool rna_Image_dirty_get(PointerRNA *ptr)
|
||||
{
|
||||
return BKE_image_is_dirty((Image *)ptr->data);
|
||||
}
|
||||
@ -240,7 +240,7 @@ static void rna_Image_file_format_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_Image_has_data_get(PointerRNA *ptr)
|
||||
static bool rna_Image_has_data_get(PointerRNA *ptr)
|
||||
{
|
||||
Image *image = (Image *)ptr->data;
|
||||
|
||||
@ -434,7 +434,7 @@ static int rna_Image_channels_get(PointerRNA *ptr)
|
||||
return channels;
|
||||
}
|
||||
|
||||
static int rna_Image_is_float_get(PointerRNA *ptr)
|
||||
static bool rna_Image_is_float_get(PointerRNA *ptr)
|
||||
{
|
||||
Image *im = (Image *)ptr->data;
|
||||
ImBuf *ibuf;
|
||||
|
@ -226,14 +226,14 @@ void rna_def_view_layer_common(struct StructRNA *srna, int scene);
|
||||
|
||||
void rna_def_actionbone_group_common(struct StructRNA *srna, int update_flag, const char *update_cb);
|
||||
void rna_ActionGroup_colorset_set(struct PointerRNA *ptr, int value);
|
||||
int rna_ActionGroup_is_custom_colorset_get(struct PointerRNA *ptr);
|
||||
bool rna_ActionGroup_is_custom_colorset_get(struct PointerRNA *ptr);
|
||||
|
||||
void rna_ID_name_get(struct PointerRNA *ptr, char *value);
|
||||
int rna_ID_name_length(struct PointerRNA *ptr);
|
||||
void rna_ID_name_set(struct PointerRNA *ptr, const char *value);
|
||||
struct StructRNA *rna_ID_refine(struct PointerRNA *ptr);
|
||||
struct IDProperty *rna_ID_idprops(struct PointerRNA *ptr, bool create);
|
||||
void rna_ID_fake_user_set(struct PointerRNA *ptr, int value);
|
||||
void rna_ID_fake_user_set(struct PointerRNA *ptr, bool value);
|
||||
void **rna_ID_instance(PointerRNA *ptr);
|
||||
struct IDProperty *rna_PropertyGroup_idprops(struct PointerRNA *ptr, bool create);
|
||||
void rna_PropertyGroup_unregister(struct Main *bmain, struct StructRNA *type);
|
||||
|
@ -155,7 +155,7 @@ static void rna_Lattice_update_size(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||
rna_Lattice_update_data(bmain, scene, ptr);
|
||||
}
|
||||
|
||||
static void rna_Lattice_use_outside_set(PointerRNA *ptr, int value)
|
||||
static void rna_Lattice_use_outside_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Lattice *lt = ptr->data;
|
||||
|
||||
@ -236,7 +236,7 @@ static char *rna_LatticePoint_path(PointerRNA *ptr)
|
||||
return BLI_strdup("");
|
||||
}
|
||||
|
||||
static int rna_Lattice_is_editmode_get(PointerRNA *ptr)
|
||||
static bool rna_Lattice_is_editmode_get(PointerRNA *ptr)
|
||||
{
|
||||
Lattice *lt = (Lattice *)ptr->id.data;
|
||||
return (lt->editlatt != NULL);
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
/* all the list begin functions are added manually here, Main is not in SDNA */
|
||||
|
||||
static int rna_Main_use_autopack_get(PointerRNA *UNUSED(ptr))
|
||||
static bool rna_Main_use_autopack_get(PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
if (G.fileflags & G_AUTOPACK)
|
||||
return 1;
|
||||
@ -50,7 +50,7 @@ static int rna_Main_use_autopack_get(PointerRNA *UNUSED(ptr))
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rna_Main_use_autopack_set(PointerRNA *UNUSED(ptr), int value)
|
||||
static void rna_Main_use_autopack_set(PointerRNA *UNUSED(ptr), bool value)
|
||||
{
|
||||
if (value)
|
||||
G.fileflags |= G_AUTOPACK;
|
||||
@ -58,12 +58,12 @@ static void rna_Main_use_autopack_set(PointerRNA *UNUSED(ptr), int value)
|
||||
G.fileflags &= ~G_AUTOPACK;
|
||||
}
|
||||
|
||||
static int rna_Main_is_saved_get(PointerRNA *UNUSED(ptr))
|
||||
static bool rna_Main_is_saved_get(PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
return G.relbase_valid;
|
||||
}
|
||||
|
||||
static int rna_Main_is_dirty_get(PointerRNA *ptr)
|
||||
static bool rna_Main_is_dirty_get(PointerRNA *ptr)
|
||||
{
|
||||
/* XXX, not totally nice to do it this way, should store in main ? */
|
||||
Main *bmain = (Main *)ptr->data;
|
||||
|
@ -208,10 +208,10 @@ static void rna_MeshAnyLayer_name_set(PointerRNA *ptr, const char *value)
|
||||
rna_cd_layer_name_set(cd, (CustomDataLayer *)ptr->data, value);
|
||||
}
|
||||
|
||||
static int rna_Mesh_has_custom_normals_get(PointerRNA *ptr)
|
||||
static bool rna_Mesh_has_custom_normals_get(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = ptr->data;
|
||||
return (int)BKE_mesh_has_custom_loop_normals(me);
|
||||
return BKE_mesh_has_custom_loop_normals(me);
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@ -790,7 +790,7 @@ static void rna_CustomDataLayer_clone_set(PointerRNA *ptr, CustomData *data, int
|
||||
CustomData_set_layer_clone_index(data, type, n);
|
||||
}
|
||||
|
||||
static int rna_MEdge_freestyle_edge_mark_get(PointerRNA *ptr)
|
||||
static bool rna_MEdge_freestyle_edge_mark_get(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
MEdge *medge = (MEdge *)ptr->data;
|
||||
@ -799,7 +799,7 @@ static int rna_MEdge_freestyle_edge_mark_get(PointerRNA *ptr)
|
||||
return fed && (fed->flag & FREESTYLE_EDGE_MARK) != 0;
|
||||
}
|
||||
|
||||
static void rna_MEdge_freestyle_edge_mark_set(PointerRNA *ptr, int value)
|
||||
static void rna_MEdge_freestyle_edge_mark_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
MEdge *medge = (MEdge *)ptr->data;
|
||||
@ -816,7 +816,7 @@ static void rna_MEdge_freestyle_edge_mark_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_MPoly_freestyle_face_mark_get(PointerRNA *ptr)
|
||||
static bool rna_MPoly_freestyle_face_mark_get(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
MPoly *mpoly = (MPoly *)ptr->data;
|
||||
@ -881,32 +881,32 @@ static int rna_MeshUVLoopLayer_data_length(PointerRNA *ptr)
|
||||
return (me->edit_btmesh) ? 0 : me->totloop;
|
||||
}
|
||||
|
||||
static int rna_MeshUVLoopLayer_active_render_get(PointerRNA *ptr)
|
||||
static bool rna_MeshUVLoopLayer_active_render_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_ldata(ptr), CD_MLOOPUV, 1);
|
||||
}
|
||||
|
||||
static int rna_MeshUVLoopLayer_active_get(PointerRNA *ptr)
|
||||
static bool rna_MeshUVLoopLayer_active_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_ldata(ptr), CD_MLOOPUV, 0);
|
||||
}
|
||||
|
||||
static int rna_MeshUVLoopLayer_clone_get(PointerRNA *ptr)
|
||||
static bool rna_MeshUVLoopLayer_clone_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_clone_get(ptr, rna_mesh_ldata(ptr), CD_MLOOPUV);
|
||||
}
|
||||
|
||||
static void rna_MeshUVLoopLayer_active_render_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshUVLoopLayer_active_render_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_ldata(ptr), value, CD_MLOOPUV, 1);
|
||||
}
|
||||
|
||||
static void rna_MeshUVLoopLayer_active_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshUVLoopLayer_active_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_ldata(ptr), value, CD_MLOOPUV, 0);
|
||||
}
|
||||
|
||||
static void rna_MeshUVLoopLayer_clone_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshUVLoopLayer_clone_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_clone_set(ptr, rna_mesh_ldata(ptr), value, CD_MLOOPUV);
|
||||
}
|
||||
@ -932,22 +932,22 @@ static int rna_MeshTextureFaceLayer_data_length(PointerRNA *ptr)
|
||||
return (me->edit_btmesh) ? 0 : me->totface;
|
||||
}
|
||||
|
||||
static int rna_MeshTextureFaceLayer_active_render_get(PointerRNA *ptr)
|
||||
static bool rna_MeshTextureFaceLayer_active_render_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_fdata(ptr), CD_MTFACE, 1);
|
||||
}
|
||||
|
||||
static int rna_MeshTextureFaceLayer_active_get(PointerRNA *ptr)
|
||||
static bool rna_MeshTextureFaceLayer_active_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_fdata(ptr), CD_MTFACE, 0);
|
||||
}
|
||||
|
||||
static int rna_MeshTextureFaceLayer_clone_get(PointerRNA *ptr)
|
||||
static bool rna_MeshTextureFaceLayer_clone_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_clone_get(ptr, rna_mesh_fdata(ptr), CD_MTFACE);
|
||||
}
|
||||
|
||||
static void rna_MeshTextureFaceLayer_active_render_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshTextureFaceLayer_active_render_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_fdata(ptr), value, CD_MTFACE, 1);
|
||||
}
|
||||
@ -981,17 +981,17 @@ static int rna_MeshColorLayer_data_length(PointerRNA *ptr)
|
||||
return me->totface;
|
||||
}
|
||||
|
||||
static int rna_MeshColorLayer_active_render_get(PointerRNA *ptr)
|
||||
static bool rna_MeshColorLayer_active_render_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_fdata(ptr), CD_MCOL, 1);
|
||||
}
|
||||
|
||||
static int rna_MeshColorLayer_active_get(PointerRNA *ptr)
|
||||
static bool rna_MeshColorLayer_active_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_fdata(ptr), CD_MCOL, 0);
|
||||
}
|
||||
|
||||
static void rna_MeshColorLayer_active_render_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshColorLayer_active_render_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_fdata(ptr), value, CD_MCOL, 1);
|
||||
}
|
||||
@ -1018,22 +1018,22 @@ static int rna_MeshLoopColorLayer_data_length(PointerRNA *ptr)
|
||||
return (me->edit_btmesh) ? 0 : me->totloop;
|
||||
}
|
||||
|
||||
static int rna_MeshLoopColorLayer_active_render_get(PointerRNA *ptr)
|
||||
static bool rna_MeshLoopColorLayer_active_render_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_ldata(ptr), CD_MLOOPCOL, 1);
|
||||
}
|
||||
|
||||
static int rna_MeshLoopColorLayer_active_get(PointerRNA *ptr)
|
||||
static bool rna_MeshLoopColorLayer_active_get(PointerRNA *ptr)
|
||||
{
|
||||
return rna_CustomDataLayer_active_get(ptr, rna_mesh_ldata(ptr), CD_MLOOPCOL, 0);
|
||||
}
|
||||
|
||||
static void rna_MeshLoopColorLayer_active_render_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshLoopColorLayer_active_render_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_ldata(ptr), value, CD_MLOOPCOL, 1);
|
||||
}
|
||||
|
||||
static void rna_MeshLoopColorLayer_active_set(PointerRNA *ptr, int value)
|
||||
static void rna_MeshLoopColorLayer_active_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
rna_CustomDataLayer_active_set(ptr, rna_mesh_ldata(ptr), value, CD_MLOOPCOL, 0);
|
||||
}
|
||||
@ -1840,7 +1840,7 @@ static PointerRNA rna_Mesh_tessface_uv_texture_new(struct Mesh *me, ReportList *
|
||||
}
|
||||
|
||||
|
||||
static int rna_Mesh_is_editmode_get(PointerRNA *ptr)
|
||||
static bool rna_Mesh_is_editmode_get(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
return (me->edit_btmesh != NULL);
|
||||
|
@ -160,7 +160,7 @@ static void rna_MetaBall_elements_clear(MetaBall *mb)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_Meta_is_editmode_get(PointerRNA *ptr)
|
||||
static bool rna_Meta_is_editmode_get(PointerRNA *ptr)
|
||||
{
|
||||
MetaBall *mb = ptr->id.data;
|
||||
return (mb->editelems != NULL);
|
||||
|
@ -653,7 +653,7 @@ static void rna_MultiresModifier_level_range(PointerRNA *ptr, int *min, int *max
|
||||
*max = max_ii(0, mmd->totlvl); /* intentionally _not_ -1 */
|
||||
}
|
||||
|
||||
static int rna_MultiresModifier_external_get(PointerRNA *ptr)
|
||||
static bool rna_MultiresModifier_external_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->id.data;
|
||||
Mesh *me = ob->data;
|
||||
@ -702,7 +702,7 @@ static void rna_ShrinkwrapModifier_face_cull_set(struct PointerRNA *ptr, int val
|
||||
(swm->shrinkOpts & ~(MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE | MOD_SHRINKWRAP_CULL_TARGET_BACKFACE)) | value;
|
||||
}
|
||||
|
||||
static int rna_MeshDeformModifier_is_bound_get(PointerRNA *ptr)
|
||||
static bool rna_MeshDeformModifier_is_bound_get(PointerRNA *ptr)
|
||||
{
|
||||
return (((MeshDeformModifierData *)ptr->data)->bindcagecos != NULL);
|
||||
}
|
||||
@ -777,7 +777,7 @@ static void rna_OceanModifier_ocean_chop_set(PointerRNA *ptr, float value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_LaplacianDeformModifier_is_bind_get(PointerRNA *ptr)
|
||||
static bool rna_LaplacianDeformModifier_is_bind_get(PointerRNA *ptr)
|
||||
{
|
||||
LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)ptr->data;
|
||||
return ((lmd->flag & MOD_LAPLACIANDEFORM_BIND) && (lmd->cache_system != NULL));
|
||||
@ -1126,13 +1126,13 @@ static void rna_CorrectiveSmoothModifier_rest_source_update(Main *bmain, Scene *
|
||||
rna_CorrectiveSmoothModifier_update(bmain, scene, ptr);
|
||||
}
|
||||
|
||||
static int rna_CorrectiveSmoothModifier_is_bind_get(PointerRNA *ptr)
|
||||
static bool rna_CorrectiveSmoothModifier_is_bind_get(PointerRNA *ptr)
|
||||
{
|
||||
CorrectiveSmoothModifierData *csmd = (CorrectiveSmoothModifierData *)ptr->data;
|
||||
return (csmd->bind_coords != NULL);
|
||||
}
|
||||
|
||||
static int rna_SurfaceDeformModifier_is_bound_get(PointerRNA *ptr)
|
||||
static bool rna_SurfaceDeformModifier_is_bound_get(PointerRNA *ptr)
|
||||
{
|
||||
return (((SurfaceDeformModifierData *)ptr->data)->verts != NULL);
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ static void rna_NlaStrip_blend_out_set(PointerRNA *ptr, float value)
|
||||
data->blendout = value;
|
||||
}
|
||||
|
||||
static void rna_NlaStrip_use_auto_blend_set(PointerRNA *ptr, int value)
|
||||
static void rna_NlaStrip_use_auto_blend_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
NlaStrip *data = (NlaStrip *)ptr->data;
|
||||
|
||||
@ -329,7 +329,7 @@ static void rna_NlaStrip_action_end_frame_set(PointerRNA *ptr, float value)
|
||||
BKE_nlastrip_recalculate_bounds(data);
|
||||
}
|
||||
|
||||
static void rna_NlaStrip_animated_influence_set(PointerRNA *ptr, int value)
|
||||
static void rna_NlaStrip_animated_influence_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
NlaStrip *data = (NlaStrip *)ptr->data;
|
||||
|
||||
@ -342,7 +342,7 @@ static void rna_NlaStrip_animated_influence_set(PointerRNA *ptr, int value)
|
||||
data->flag &= ~NLASTRIP_FLAG_USR_INFLUENCE;
|
||||
}
|
||||
|
||||
static void rna_NlaStrip_animated_time_set(PointerRNA *ptr, int value)
|
||||
static void rna_NlaStrip_animated_time_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
NlaStrip *data = (NlaStrip *)ptr->data;
|
||||
|
||||
@ -433,7 +433,7 @@ static void rna_NlaStrip_remove(NlaTrack *track, bContext *C, ReportList *report
|
||||
/* Set the 'solo' setting for the given NLA-track, making sure that it is the only one
|
||||
* that has this status in its AnimData block.
|
||||
*/
|
||||
static void rna_NlaTrack_solo_set(PointerRNA *ptr, int value)
|
||||
static void rna_NlaTrack_solo_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
NlaTrack *data = (NlaTrack *)ptr->data;
|
||||
AnimData *adt = BKE_animdata_from_id(ptr->id.data);
|
||||
|
@ -1099,7 +1099,7 @@ static void rna_NodeTree_interface_update(bNodeTree *ntree, bContext *C)
|
||||
|
||||
/* ******** NodeLink ******** */
|
||||
|
||||
static int rna_NodeLink_is_hidden_get(PointerRNA *ptr)
|
||||
static bool rna_NodeLink_is_hidden_get(PointerRNA *ptr)
|
||||
{
|
||||
bNodeLink *link = ptr->data;
|
||||
return nodeLinkIsHidden(link);
|
||||
@ -1600,7 +1600,7 @@ static void rna_Node_socket_value_update(ID *id, bNode *node, bContext *C)
|
||||
ED_node_tag_update_nodetree(CTX_data_main(C), (bNodeTree *)id, node);
|
||||
}
|
||||
|
||||
static void rna_Node_select_set(PointerRNA *ptr, int value)
|
||||
static void rna_Node_select_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
bNode *node = (bNode *)ptr->data;
|
||||
nodeSetSelected(node, value);
|
||||
@ -1970,7 +1970,7 @@ static void rna_NodeSocket_update(Main *bmain, Scene *UNUSED(scene), PointerRNA
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_NodeSocket_is_output_get(PointerRNA *ptr)
|
||||
static bool rna_NodeSocket_is_output_get(PointerRNA *ptr)
|
||||
{
|
||||
bNodeSocket *sock = ptr->data;
|
||||
return sock->in_out == SOCK_OUT;
|
||||
@ -1982,7 +1982,7 @@ static void rna_NodeSocket_link_limit_set(PointerRNA *ptr, int value)
|
||||
sock->limit = (value == 0 ? 0xFFF : value);
|
||||
}
|
||||
|
||||
static void rna_NodeSocket_hide_set(PointerRNA *ptr, int value)
|
||||
static void rna_NodeSocket_hide_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
bNodeSocket *sock = (bNodeSocket *)ptr->data;
|
||||
|
||||
@ -2681,7 +2681,7 @@ static const EnumPropertyItem *rna_Node_image_layer_itemf(bContext *UNUSED(C), P
|
||||
return item;
|
||||
}
|
||||
|
||||
static int rna_Node_image_has_layers_get(PointerRNA *ptr)
|
||||
static bool rna_Node_image_has_layers_get(PointerRNA *ptr)
|
||||
{
|
||||
bNode *node = (bNode *)ptr->data;
|
||||
Image *ima = (Image *)node->id;
|
||||
@ -2691,7 +2691,7 @@ static int rna_Node_image_has_layers_get(PointerRNA *ptr)
|
||||
return RE_layers_have_name(ima->rr);
|
||||
}
|
||||
|
||||
static int rna_Node_image_has_views_get(PointerRNA *ptr)
|
||||
static bool rna_Node_image_has_views_get(PointerRNA *ptr)
|
||||
{
|
||||
bNode *node = (bNode *)ptr->data;
|
||||
Image *ima = (Image *)node->id;
|
||||
|
@ -290,52 +290,52 @@ static char *rna_CollisionSettings_path(PointerRNA *UNUSED(ptr))
|
||||
#endif
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_use_edges_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_use_edges_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_EDGES) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_use_edges_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_use_edges_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_EDGES;
|
||||
else data->softflag &= ~OB_SB_EDGES;
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_use_goal_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_use_goal_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_GOAL) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_use_goal_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_use_goal_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_GOAL;
|
||||
else data->softflag &= ~OB_SB_GOAL;
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_stiff_quads_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_stiff_quads_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_QUADS) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_stiff_quads_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_stiff_quads_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_QUADS;
|
||||
else data->softflag &= ~OB_SB_QUADS;
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_self_collision_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_self_collision_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_SELF) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_self_collision_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_self_collision_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_SELF;
|
||||
@ -360,26 +360,26 @@ static void rna_SoftBodySettings_new_aero_set(PointerRNA *ptr, int value)
|
||||
data->softflag &= ~OB_SB_AERO_ANGLE;
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_face_collision_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_face_collision_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_FACECOLL) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_face_collision_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_face_collision_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_FACECOLL;
|
||||
else data->softflag &= ~OB_SB_FACECOLL;
|
||||
}
|
||||
|
||||
static int rna_SoftBodySettings_edge_collision_get(PointerRNA *ptr)
|
||||
static bool rna_SoftBodySettings_edge_collision_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
return (((data->softflag) & OB_SB_EDGECOLL) != 0);
|
||||
}
|
||||
|
||||
static void rna_SoftBodySettings_edge_collision_set(PointerRNA *ptr, int value)
|
||||
static void rna_SoftBodySettings_edge_collision_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Object *data = (Object *)(ptr->id.data);
|
||||
if (value) data->softflag |= OB_SB_EDGECOLL;
|
||||
|
@ -903,7 +903,7 @@ static float rna_PartSetting_linelenhead_get(struct PointerRNA *ptr)
|
||||
}
|
||||
|
||||
|
||||
static int rna_PartSettings_is_fluid_get(PointerRNA *ptr)
|
||||
static bool rna_PartSettings_is_fluid_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleSettings *part = (ParticleSettings *)ptr->data;
|
||||
|
||||
@ -1063,19 +1063,19 @@ static char *rna_SPHFluidSettings_path(PointerRNA *ptr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int rna_ParticleSystem_multiple_caches_get(PointerRNA *ptr)
|
||||
static bool rna_ParticleSystem_multiple_caches_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleSystem *psys = (ParticleSystem *)ptr->data;
|
||||
|
||||
return (psys->ptcaches.first != psys->ptcaches.last);
|
||||
}
|
||||
static int rna_ParticleSystem_editable_get(PointerRNA *ptr)
|
||||
static bool rna_ParticleSystem_editable_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleSystem *psys = (ParticleSystem *)ptr->data;
|
||||
|
||||
return psys_check_edited(psys);
|
||||
}
|
||||
static int rna_ParticleSystem_edited_get(PointerRNA *ptr)
|
||||
static bool rna_ParticleSystem_edited_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleSystem *psys = (ParticleSystem *)ptr->data;
|
||||
|
||||
|
@ -186,7 +186,7 @@ void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
int rna_ActionGroup_is_custom_colorset_get(PointerRNA *ptr)
|
||||
bool rna_ActionGroup_is_custom_colorset_get(PointerRNA *ptr)
|
||||
{
|
||||
bActionGroup *grp = ptr->data;
|
||||
|
||||
@ -297,7 +297,7 @@ static void rna_PoseChannel_name_set(PointerRNA *ptr, const char *value)
|
||||
ED_armature_bone_rename(G_MAIN, ob->data, oldname, newname);
|
||||
}
|
||||
|
||||
static int rna_PoseChannel_has_ik_get(PointerRNA *ptr)
|
||||
static bool rna_PoseChannel_has_ik_get(PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->id.data;
|
||||
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
|
||||
|
@ -130,7 +130,7 @@ static void rna_RigidBodyWorld_num_solver_iterations_set(PointerRNA *ptr, int va
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyWorld_split_impulse_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyWorld_split_impulse_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyWorld *rbw = (RigidBodyWorld *)ptr->data;
|
||||
|
||||
@ -193,7 +193,7 @@ static void rna_RigidBodyOb_shape_set(PointerRNA *ptr, int value)
|
||||
rbo->flag |= RBO_FLAG_NEEDS_VALIDATE;
|
||||
}
|
||||
|
||||
static void rna_RigidBodyOb_disabled_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyOb_disabled_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyOb *rbo = (RigidBodyOb *)ptr->data;
|
||||
|
||||
@ -275,7 +275,7 @@ static void rna_RigidBodyOb_collision_groups_set(PointerRNA *ptr, const bool *va
|
||||
rbo->flag |= RBO_FLAG_NEEDS_VALIDATE;
|
||||
}
|
||||
|
||||
static void rna_RigidBodyOb_kinematic_state_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyOb_kinematic_state_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyOb *rbo = (RigidBodyOb *)ptr->data;
|
||||
|
||||
@ -291,7 +291,7 @@ static void rna_RigidBodyOb_kinematic_state_set(PointerRNA *ptr, int value)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyOb_activation_state_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyOb_activation_state_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyOb *rbo = (RigidBodyOb *)ptr->data;
|
||||
|
||||
@ -375,7 +375,7 @@ static void rna_RigidBodyCon_type_set(PointerRNA *ptr, int value)
|
||||
rbc->flag |= RBC_FLAG_NEEDS_VALIDATE;
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_enabled_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_enabled_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
@ -388,7 +388,7 @@ static void rna_RigidBodyCon_enabled_set(PointerRNA *ptr, int value)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_disable_collisions_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_disable_collisions_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
@ -397,7 +397,7 @@ static void rna_RigidBodyCon_disable_collisions_set(PointerRNA *ptr, int value)
|
||||
rbc->flag |= RBC_FLAG_NEEDS_VALIDATE;
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_use_breaking_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_use_breaking_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
@ -432,7 +432,7 @@ static void rna_RigidBodyCon_breaking_threshold_set(PointerRNA *ptr, float value
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_override_solver_iterations_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_override_solver_iterations_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
@ -632,7 +632,7 @@ static void rna_RigidBodyCon_motor_lin_max_impulse_set(PointerRNA *ptr, float va
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_use_motor_lin_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_use_motor_lin_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
@ -645,7 +645,7 @@ static void rna_RigidBodyCon_use_motor_lin_set(PointerRNA *ptr, int value)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_RigidBodyCon_use_motor_ang_set(PointerRNA *ptr, int value)
|
||||
static void rna_RigidBodyCon_use_motor_ang_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
RigidBodyCon *rbc = (RigidBodyCon *)ptr->data;
|
||||
|
||||
|
@ -573,7 +573,7 @@ static int rna_Property_icon_get(PointerRNA *ptr)
|
||||
return prop->icon;
|
||||
}
|
||||
|
||||
static int rna_Property_readonly_get(PointerRNA *ptr)
|
||||
static bool rna_Property_readonly_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
|
||||
@ -584,64 +584,64 @@ static int rna_Property_readonly_get(PointerRNA *ptr)
|
||||
return (prop->flag & PROP_EDITABLE) == 0;
|
||||
}
|
||||
|
||||
static int rna_Property_animatable_get(PointerRNA *ptr)
|
||||
static bool rna_Property_animatable_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
|
||||
return (prop->flag & PROP_ANIMATABLE) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_overridable_get(PointerRNA *ptr)
|
||||
static bool rna_Property_overridable_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
|
||||
return (prop->flag_override & PROPOVERRIDE_OVERRIDABLE_STATIC) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_use_output_get(PointerRNA *ptr)
|
||||
static bool rna_Property_use_output_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag_parameter & PARM_OUTPUT) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_required_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_required_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag_parameter & PARM_REQUIRED) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_argument_optional_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_argument_optional_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag_parameter & PARM_PYFUNC_OPTIONAL) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_never_none_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_never_none_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_NEVER_NULL) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_hidden_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_hidden_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_HIDDEN) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_skip_save_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_skip_save_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_SKIP_SAVE) != 0;
|
||||
}
|
||||
|
||||
|
||||
static int rna_Property_is_enum_flag_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_enum_flag_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_ENUM_FLAG) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_library_editable_flag_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_library_editable_flag_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_LIB_EXCEPTION) != 0;
|
||||
@ -698,26 +698,26 @@ static void rna_Property_array_dimensions_get(PointerRNA *ptr, int dimensions[RN
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_Property_is_registered_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_registered_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_REGISTER) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_registered_optional_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_registered_optional_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag & PROP_REGISTER_OPTIONAL) != 0;
|
||||
}
|
||||
|
||||
static int rna_Property_is_runtime_get(PointerRNA *ptr)
|
||||
static bool rna_Property_is_runtime_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
return (prop->flag_internal & PROP_INTERN_RUNTIME) != 0;
|
||||
}
|
||||
|
||||
|
||||
static int rna_BoolProperty_default_get(PointerRNA *ptr)
|
||||
static bool rna_BoolProperty_default_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
rna_idproperty_check(&prop, ptr);
|
||||
@ -740,7 +740,7 @@ static int rna_NumberProperty_default_array_get_length(PointerRNA *ptr, int leng
|
||||
|
||||
return length[0];
|
||||
}
|
||||
static int rna_NumberProperty_is_array_get(PointerRNA *ptr)
|
||||
static bool rna_NumberProperty_is_array_get(PointerRNA *ptr)
|
||||
{
|
||||
PropertyRNA *prop = (PropertyRNA *)ptr->data;
|
||||
|
||||
@ -1045,19 +1045,19 @@ static void rna_Function_parameters_begin(CollectionPropertyIterator *iter, Poin
|
||||
rna_iterator_listbase_begin(iter, &((FunctionRNA *)ptr->data)->cont.properties, rna_property_builtin);
|
||||
}
|
||||
|
||||
static int rna_Function_registered_get(PointerRNA *ptr)
|
||||
static bool rna_Function_registered_get(PointerRNA *ptr)
|
||||
{
|
||||
FunctionRNA *func = (FunctionRNA *)ptr->data;
|
||||
return 0 != (func->flag & FUNC_REGISTER);
|
||||
}
|
||||
|
||||
static int rna_Function_registered_optional_get(PointerRNA *ptr)
|
||||
static bool rna_Function_registered_optional_get(PointerRNA *ptr)
|
||||
{
|
||||
FunctionRNA *func = (FunctionRNA *)ptr->data;
|
||||
return 0 != (func->flag & (FUNC_REGISTER_OPTIONAL & ~FUNC_REGISTER));
|
||||
}
|
||||
|
||||
static int rna_Function_no_self_get(PointerRNA *ptr)
|
||||
static bool rna_Function_no_self_get(PointerRNA *ptr)
|
||||
{
|
||||
FunctionRNA *func = (FunctionRNA *)ptr->data;
|
||||
return !(func->flag & FUNC_NO_SELF);
|
||||
|
@ -838,7 +838,7 @@ static void rna_Scene_end_frame_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_Scene_use_preview_range_set(PointerRNA *ptr, int value)
|
||||
static void rna_Scene_use_preview_range_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Scene *data = (Scene *)ptr->data;
|
||||
|
||||
@ -1064,7 +1064,7 @@ static int rna_RenderSettings_threads_mode_get(PointerRNA *ptr)
|
||||
return (rd->mode & R_FIXED_THREADS);
|
||||
}
|
||||
|
||||
static int rna_RenderSettings_is_movie_format_get(PointerRNA *ptr)
|
||||
static bool rna_RenderSettings_is_movie_format_get(PointerRNA *ptr)
|
||||
{
|
||||
RenderData *rd = (RenderData *)ptr->data;
|
||||
return BKE_imtype_is_movie(rd->im_format.imtype);
|
||||
@ -1306,7 +1306,7 @@ static void rna_SceneRender_file_ext_get(PointerRNA *ptr, char *str)
|
||||
}
|
||||
|
||||
#ifdef WITH_FFMPEG
|
||||
static void rna_FFmpegSettings_lossless_output_set(PointerRNA *ptr, int value)
|
||||
static void rna_FFmpegSettings_lossless_output_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Scene *scene = (Scene *) ptr->id.data;
|
||||
RenderData *rd = &scene->r;
|
||||
@ -1456,12 +1456,12 @@ static void rna_RenderSettings_engine_update(Main *bmain, Scene *UNUSED(unused),
|
||||
ED_render_engine_changed(bmain);
|
||||
}
|
||||
|
||||
static int rna_RenderSettings_multiple_engines_get(PointerRNA *UNUSED(ptr))
|
||||
static bool rna_RenderSettings_multiple_engines_get(PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
return (BLI_listbase_count(&R_engines) > 1);
|
||||
}
|
||||
|
||||
static int rna_RenderSettings_use_spherical_stereo_get(PointerRNA *ptr)
|
||||
static bool rna_RenderSettings_use_spherical_stereo_get(PointerRNA *ptr)
|
||||
{
|
||||
Scene *scene = (Scene *)ptr->id.data;
|
||||
return BKE_scene_use_spherical_stereo(scene);
|
||||
@ -1654,13 +1654,13 @@ static void rna_Scene_use_persistent_data_update(Main *UNUSED(bmain), Scene *UNU
|
||||
RE_FreePersistentData();
|
||||
}
|
||||
|
||||
static int rna_Scene_use_audio_get(PointerRNA *ptr)
|
||||
static bool rna_Scene_use_audio_get(PointerRNA *ptr)
|
||||
{
|
||||
Scene *scene = (Scene *)ptr->data;
|
||||
return (scene->audio.flag & AUDIO_MUTE) != 0;
|
||||
}
|
||||
|
||||
static void rna_Scene_use_audio_set(PointerRNA *ptr, int value)
|
||||
static void rna_Scene_use_audio_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Scene *scene = (Scene *)ptr->data;
|
||||
|
||||
@ -2018,7 +2018,7 @@ static void rna_Stereo3dFormat_update(Main *bmain, Scene *UNUSED(scene), Pointer
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_gpu_is_hq_supported_get(PointerRNA *UNUSED(ptr))
|
||||
static bool rna_gpu_is_hq_supported_get(PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ static void rna_Screen_redraw_update(Main *UNUSED(bmain), Scene *UNUSED(scene),
|
||||
ED_screen_animation_timer_update(screen, screen->redraws_flag, SPACE_ACTION);
|
||||
}
|
||||
|
||||
static int rna_Screen_is_animation_playing_get(PointerRNA *UNUSED(ptr))
|
||||
static bool rna_Screen_is_animation_playing_get(PointerRNA *UNUSED(ptr))
|
||||
{
|
||||
/* can be NULL on file load, T42619 */
|
||||
wmWindowManager *wm = G_MAIN->wm.first;
|
||||
@ -130,7 +130,7 @@ static void rna_Screen_layout_name_set(PointerRNA *ptr, const char *value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_Screen_fullscreen_get(PointerRNA *ptr)
|
||||
static bool rna_Screen_fullscreen_get(PointerRNA *ptr)
|
||||
{
|
||||
bScreen *sc = (bScreen *)ptr->data;
|
||||
return (sc->state == SCREENMAXIMIZED);
|
||||
|
@ -223,13 +223,13 @@ static const EnumPropertyItem *rna_ParticleEdit_tool_itemf(bContext *C, PointerR
|
||||
return particle_edit_cache_brush_items;
|
||||
}
|
||||
|
||||
static int rna_ParticleEdit_editable_get(PointerRNA *ptr)
|
||||
static bool rna_ParticleEdit_editable_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleEditSettings *pset = (ParticleEditSettings *)ptr->data;
|
||||
|
||||
return (pset->object && pset->scene && PE_get_current(pset->scene, pset->object));
|
||||
}
|
||||
static int rna_ParticleEdit_hair_get(PointerRNA *ptr)
|
||||
static bool rna_ParticleEdit_hair_get(PointerRNA *ptr)
|
||||
{
|
||||
ParticleEditSettings *pset = (ParticleEditSettings *)ptr->data;
|
||||
|
||||
|
939
source/blender/makesrna/intern/rna_sensor.c
Normal file
939
source/blender/makesrna/intern/rna_sensor.c
Normal file
@ -0,0 +1,939 @@
|
||||
/*
|
||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* Contributor(s): Blender Foundation (2008).
|
||||
*
|
||||
* ***** END GPL LICENSE BLOCK *****
|
||||
*/
|
||||
|
||||
/** \file blender/makesrna/intern/rna_sensor.c
|
||||
* \ingroup RNA
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "DNA_constraint_types.h"
|
||||
#include "DNA_object_types.h"
|
||||
#include "DNA_sensor_types.h"
|
||||
|
||||
#include "BLI_utildefines.h"
|
||||
#include "BLI_math.h"
|
||||
#include "BLI_string_utils.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "RNA_define.h"
|
||||
#include "RNA_enum_types.h"
|
||||
#include "RNA_access.h"
|
||||
|
||||
#include "rna_internal.h"
|
||||
|
||||
#include "WM_types.h"
|
||||
|
||||
/* Always keep in alphabetical order */
|
||||
static const EnumPropertyItem sensor_type_items[] = {
|
||||
{SENS_ACTUATOR, "ACTUATOR", 0, "Actuator", ""},
|
||||
{SENS_ALWAYS, "ALWAYS", 0, "Always", ""},
|
||||
{SENS_ARMATURE, "ARMATURE", 0, "Armature", ""},
|
||||
{SENS_COLLISION, "COLLISION", 0, "Collision", ""},
|
||||
{SENS_DELAY, "DELAY", 0, "Delay", ""},
|
||||
{SENS_JOYSTICK, "JOYSTICK", 0, "Joystick", ""},
|
||||
{SENS_KEYBOARD, "KEYBOARD", 0, "Keyboard", ""},
|
||||
{SENS_MESSAGE, "MESSAGE", 0, "Message", ""},
|
||||
{SENS_MOUSE, "MOUSE", 0, "Mouse", ""},
|
||||
{SENS_NEAR, "NEAR", 0, "Near", ""},
|
||||
{SENS_PROPERTY, "PROPERTY", 0, "Property", ""},
|
||||
{SENS_RADAR, "RADAR", 0, "Radar", ""},
|
||||
{SENS_RANDOM, "RANDOM", 0, "Random", ""},
|
||||
{SENS_RAY, "RAY", 0, "Ray", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
#ifdef RNA_RUNTIME
|
||||
|
||||
#include "BKE_sca.h"
|
||||
#include "DNA_controller_types.h"
|
||||
|
||||
static StructRNA *rna_Sensor_refine(struct PointerRNA *ptr)
|
||||
{
|
||||
bSensor *sensor = (bSensor *)ptr->data;
|
||||
|
||||
switch (sensor->type) {
|
||||
case SENS_ALWAYS:
|
||||
return &RNA_AlwaysSensor;
|
||||
case SENS_NEAR:
|
||||
return &RNA_NearSensor;
|
||||
case SENS_KEYBOARD:
|
||||
return &RNA_KeyboardSensor;
|
||||
case SENS_PROPERTY:
|
||||
return &RNA_PropertySensor;
|
||||
case SENS_ARMATURE:
|
||||
return &RNA_ArmatureSensor;
|
||||
case SENS_MOUSE:
|
||||
return &RNA_MouseSensor;
|
||||
case SENS_COLLISION:
|
||||
return &RNA_CollisionSensor;
|
||||
case SENS_RADAR:
|
||||
return &RNA_RadarSensor;
|
||||
case SENS_RANDOM:
|
||||
return &RNA_RandomSensor;
|
||||
case SENS_RAY:
|
||||
return &RNA_RaySensor;
|
||||
case SENS_MESSAGE:
|
||||
return &RNA_MessageSensor;
|
||||
case SENS_JOYSTICK:
|
||||
return &RNA_JoystickSensor;
|
||||
case SENS_ACTUATOR:
|
||||
return &RNA_ActuatorSensor;
|
||||
case SENS_DELAY:
|
||||
return &RNA_DelaySensor;
|
||||
default:
|
||||
return &RNA_Sensor;
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_Sensor_name_set(PointerRNA *ptr, const char *value)
|
||||
{
|
||||
Object *ob = ptr->id.data;
|
||||
bSensor *sens = ptr->data;
|
||||
BLI_strncpy_utf8(sens->name, value, sizeof(sens->name));
|
||||
BLI_uniquename(&ob->sensors, sens, DATA_("Sensor"), '.', offsetof(bSensor, name), sizeof(sens->name));
|
||||
}
|
||||
|
||||
static void rna_Sensor_type_set(struct PointerRNA *ptr, int value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
if (value != sens->type) {
|
||||
sens->type = value;
|
||||
init_sensor(sens);
|
||||
}
|
||||
}
|
||||
|
||||
/* Always keep in alphabetical order */
|
||||
|
||||
static void rna_Sensor_controllers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
rna_iterator_array_begin(iter, sens->links, sizeof(bController *), (int)sens->totlinks, 0, NULL);
|
||||
}
|
||||
|
||||
static int rna_Sensor_controllers_length(PointerRNA *ptr)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
return (int) sens->totlinks;
|
||||
}
|
||||
|
||||
const EnumPropertyItem *rna_Sensor_type_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
|
||||
{
|
||||
EnumPropertyItem *item = NULL;
|
||||
Object *ob = NULL;
|
||||
int totitem = 0;
|
||||
|
||||
if (ptr->type == &RNA_Sensor || RNA_struct_is_a(ptr->type, &RNA_Sensor)) {
|
||||
ob = (Object *)ptr->id.data;
|
||||
}
|
||||
else {
|
||||
/* can't use ob from ptr->id.data because that enum is also used by operators */
|
||||
ob = CTX_data_active_object(C);
|
||||
}
|
||||
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_ACTUATOR);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_ALWAYS);
|
||||
|
||||
if (ob != NULL) {
|
||||
if (ob->type == OB_ARMATURE) {
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_ARMATURE);
|
||||
}
|
||||
}
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_COLLISION);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_DELAY);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_JOYSTICK);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_KEYBOARD);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_MESSAGE);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_MOUSE);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_NEAR);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_PROPERTY);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_RADAR);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_RANDOM);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_RAY);
|
||||
RNA_enum_items_add_value(&item, &totitem, sensor_type_items, SENS_TOUCH);
|
||||
|
||||
RNA_enum_item_end(&item, &totitem);
|
||||
*r_free = true;
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
static void rna_Sensor_keyboard_key_set(struct PointerRNA *ptr, int value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
bKeyboardSensor *ks = (bKeyboardSensor *)sens->data;
|
||||
|
||||
if (ISKEYBOARD(value))
|
||||
ks->key = value;
|
||||
else
|
||||
ks->key = 0;
|
||||
}
|
||||
|
||||
static void rna_Sensor_keyboard_modifier_set(struct PointerRNA *ptr, int value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
bKeyboardSensor *ks = (bKeyboardSensor *)sens->data;
|
||||
|
||||
if (ISKEYBOARD(value))
|
||||
ks->qual = value;
|
||||
else
|
||||
ks->qual = 0;
|
||||
}
|
||||
|
||||
static void rna_Sensor_keyboard_modifier2_set(struct PointerRNA *ptr, int value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
bKeyboardSensor *ks = (bKeyboardSensor *)sens->data;
|
||||
|
||||
if (ISKEYBOARD(value))
|
||||
ks->qual2 = value;
|
||||
else
|
||||
ks->qual2 = 0;
|
||||
}
|
||||
|
||||
static void rna_Sensor_tap_set(struct PointerRNA *ptr, bool value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
|
||||
sens->tap = value;
|
||||
if (sens->tap == 1)
|
||||
sens->level = 0;
|
||||
}
|
||||
|
||||
static void rna_Sensor_level_set(struct PointerRNA *ptr, bool value)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
|
||||
sens->level = value;
|
||||
if (sens->level == 1)
|
||||
sens->tap = 0;
|
||||
}
|
||||
|
||||
static void rna_Sensor_Armature_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
{
|
||||
bSensor *sens = (bSensor *)ptr->data;
|
||||
bArmatureSensor *as = sens->data;
|
||||
Object *ob = (Object *)ptr->id.data;
|
||||
|
||||
char *posechannel = as->posechannel;
|
||||
char *constraint = as->constraint;
|
||||
|
||||
/* check that bone exist in the active object */
|
||||
if (ob->type == OB_ARMATURE && ob->pose) {
|
||||
bPoseChannel *pchan;
|
||||
bPose *pose = ob->pose;
|
||||
for (pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
|
||||
if (STREQ(pchan->name, posechannel)) {
|
||||
/* found it, now look for constraint channel */
|
||||
bConstraint *con;
|
||||
for (con = pchan->constraints.first; con; con = con->next) {
|
||||
if (STREQ(con->name, constraint)) {
|
||||
/* found it, all ok */
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* didn't find constraint, make empty */
|
||||
constraint[0] = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* didn't find any */
|
||||
posechannel[0] = 0;
|
||||
constraint[0] = 0;
|
||||
}
|
||||
#else
|
||||
|
||||
static void rna_def_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "Sensor", NULL);
|
||||
RNA_def_struct_ui_text(srna, "Sensor", "Game engine logic brick to detect events");
|
||||
RNA_def_struct_sdna(srna, "bSensor");
|
||||
RNA_def_struct_refine_func(srna, "rna_Sensor_refine");
|
||||
|
||||
prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Name", "Sensor name");
|
||||
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Sensor_name_set");
|
||||
RNA_def_struct_name_property(srna, prop);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_enum_items(prop, sensor_type_items);
|
||||
RNA_def_property_enum_funcs(prop, NULL, "rna_Sensor_type_set", "rna_Sensor_type_itemf");
|
||||
RNA_def_property_ui_text(prop, "Type", "");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "pin", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_PIN);
|
||||
RNA_def_property_ui_text(prop, "Pinned", "Display when not linked to a visible states controller");
|
||||
RNA_def_property_ui_icon(prop, ICON_UNPINNED, 1);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SENS_DEACTIVATE);
|
||||
RNA_def_property_ui_text(prop, "Active", "Set active state of the sensor");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_SHOW);
|
||||
RNA_def_property_ui_text(prop, "Expanded", "Set sensor expanded in the user interface");
|
||||
RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "invert", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Invert Output", "Invert the level(output) of this sensor");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_level", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "level", 1);
|
||||
RNA_def_property_ui_text(prop, "Level",
|
||||
"Level detector, trigger controllers of new states "
|
||||
"(only applicable upon logic state transition)");
|
||||
RNA_def_property_boolean_funcs(prop, NULL, "rna_Sensor_level_set");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_pulse_true_level", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "pulse", SENS_PULSE_REPEAT);
|
||||
RNA_def_property_ui_text(prop, "Pulse True Level", "Activate TRUE level triggering (pulse mode)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_pulse_false_level", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "pulse", SENS_NEG_PULSE_MODE);
|
||||
RNA_def_property_ui_text(prop, "Pulse False Level", "Activate FALSE level triggering (pulse mode)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "tick_skip", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "freq");
|
||||
RNA_def_property_ui_text(prop, "Skip",
|
||||
"Number of logic ticks skipped between 2 active pulses "
|
||||
"(0 = pulse every logic tick, 1 = skip 1 logic tick between pulses, etc.)");
|
||||
RNA_def_property_range(prop, 0, 10000);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_tap", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "tap", 1);
|
||||
RNA_def_property_boolean_funcs(prop, NULL, "rna_Sensor_tap_set");
|
||||
RNA_def_property_ui_text(prop, "Tap",
|
||||
"Trigger controllers only for an instant, even while the sensor remains true");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "controllers", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_collection_sdna(prop, NULL, "links", NULL);
|
||||
RNA_def_property_struct_type(prop, "Controller");
|
||||
RNA_def_property_ui_text(prop, "Controllers", "The list containing the controllers connected to the sensor");
|
||||
RNA_def_property_collection_funcs(prop, "rna_Sensor_controllers_begin", "rna_iterator_array_next",
|
||||
"rna_iterator_array_end", "rna_iterator_array_dereference_get",
|
||||
"rna_Sensor_controllers_length", NULL, NULL, NULL);
|
||||
|
||||
|
||||
RNA_api_sensor(srna);
|
||||
}
|
||||
|
||||
static void rna_def_always_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
srna = RNA_def_struct(brna, "AlwaysSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Always Sensor", "Sensor to generate continuous pulses");
|
||||
}
|
||||
|
||||
static void rna_def_near_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "NearSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Near Sensor", "Sensor to detect nearby objects");
|
||||
RNA_def_struct_sdna_from(srna, "bNearSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only look for objects with this property (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "distance", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "dist");
|
||||
RNA_def_property_ui_text(prop, "Distance", "Trigger distance");
|
||||
RNA_def_property_range(prop, 0.0f, 10000.0f);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "reset_distance", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "resetdist");
|
||||
RNA_def_property_ui_text(prop, "Reset Distance", "The distance where the sensor forgets the actor");
|
||||
RNA_def_property_range(prop, 0.0f, 10000.0f);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_mouse_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
static const EnumPropertyItem mouse_event_items[] = {
|
||||
{BL_SENS_MOUSE_LEFT_BUTTON, "LEFTCLICK", 0, "Left Button", ""},
|
||||
{BL_SENS_MOUSE_MIDDLE_BUTTON, "MIDDLECLICK", 0, "Middle Button", ""},
|
||||
{BL_SENS_MOUSE_RIGHT_BUTTON, "RIGHTCLICK", 0, "Right Button", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_UP, "WHEELUP", 0, "Wheel Up", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_DOWN, "WHEELDOWN", 0, "Wheel Down", ""},
|
||||
{BL_SENS_MOUSE_MOVEMENT, "MOVEMENT", 0, "Movement", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER, "MOUSEOVER", 0, "Mouse Over", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER_ANY, "MOUSEOVERANY", 0, "Mouse Over Any", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
static const EnumPropertyItem prop_mouse_type_items[] = {
|
||||
{SENS_COLLISION_PROPERTY, "PROPERTY", ICON_LOGIC, "Property", "Use a property for ray intersections"},
|
||||
{SENS_COLLISION_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Use a material for ray intersections"},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "MouseSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Mouse Sensor", "Sensor to detect mouse events");
|
||||
RNA_def_struct_sdna_from(srna, "bMouseSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "mouse_event", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "type");
|
||||
RNA_def_property_enum_items(prop, mouse_event_items);
|
||||
RNA_def_property_ui_text(prop, "Mouse Event", "Type of event this mouse sensor should trigger on");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_pulse", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_MOUSE_FOCUS_PULSE);
|
||||
RNA_def_property_ui_text(prop, "Pulse", "Moving the mouse over a different object generates a pulse");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_material", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_bitflag_sdna(prop, NULL, "mode");
|
||||
RNA_def_property_enum_items(prop, prop_mouse_type_items);
|
||||
RNA_def_property_ui_text(prop, "M/P", "Toggle collision on material or property");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "propname");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only look for objects with this property (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "material", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "matname");
|
||||
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_x_ray", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_RAY_XRAY);
|
||||
RNA_def_property_ui_text(prop, "X-Ray", "Toggle X-Ray option (see through objects that don't have the property)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_keyboard_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "KeyboardSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Keyboard Sensor", "Sensor to detect keyboard events");
|
||||
RNA_def_struct_sdna_from(srna, "bKeyboardSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "key", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "key");
|
||||
RNA_def_property_enum_items(prop, rna_enum_event_type_items);
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UI_EVENTS);
|
||||
RNA_def_property_enum_funcs(prop, NULL, "rna_Sensor_keyboard_key_set", NULL);
|
||||
RNA_def_property_ui_text(prop, "Key", "");
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_WINDOWMANAGER);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "modifier_key_1", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "qual");
|
||||
RNA_def_property_enum_items(prop, rna_enum_event_type_items);
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UI_EVENTS);
|
||||
RNA_def_property_enum_funcs(prop, NULL, "rna_Sensor_keyboard_modifier_set", NULL);
|
||||
RNA_def_property_ui_text(prop, "Modifier Key", "Modifier key code");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "modifier_key_2", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "qual2");
|
||||
RNA_def_property_enum_items(prop, rna_enum_event_type_items);
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UI_EVENTS);
|
||||
RNA_def_property_enum_funcs(prop, NULL, "rna_Sensor_keyboard_modifier2_set", NULL);
|
||||
RNA_def_property_ui_text(prop, "Second Modifier Key", "Modifier key code");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "target", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "targetName");
|
||||
RNA_def_property_ui_text(prop, "Target", "Property that receives the keystrokes in case a string is logged");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "log", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "toggleName");
|
||||
RNA_def_property_ui_text(prop, "Log Toggle", "Property that indicates whether to log keystrokes as a string");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_all_keys", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "type", 1);
|
||||
RNA_def_property_ui_text(prop, "All Keys", "Trigger this sensor on any keystroke");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_property_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
static const EnumPropertyItem prop_type_items[] = {
|
||||
{SENS_PROP_EQUAL, "PROPEQUAL", 0, "Equal", ""},
|
||||
{SENS_PROP_NEQUAL, "PROPNEQUAL", 0, "Not Equal", ""},
|
||||
{SENS_PROP_INTERVAL, "PROPINTERVAL", 0, "Interval", ""},
|
||||
{SENS_PROP_CHANGED, "PROPCHANGED", 0, "Changed", ""},
|
||||
/* {SENS_PROP_EXPRESSION, "PROPEXPRESSION", 0, "Expression", ""}, NOT_USED_IN_UI */
|
||||
{SENS_PROP_LESSTHAN, "PROPLESSTHAN", 0, "Less Than", ""},
|
||||
{SENS_PROP_GREATERTHAN, "PROPGREATERTHAN", 0, "Greater Than", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "PropertySensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Property Sensor", "Sensor to detect values and changes in values of properties");
|
||||
RNA_def_struct_sdna_from(srna, "bPropertySensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "evaluation_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "type");
|
||||
RNA_def_property_enum_items(prop, prop_type_items);
|
||||
RNA_def_property_ui_text(prop, "Evaluation Type", "Type of property evaluation");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Property", "");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "value", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "value");
|
||||
RNA_def_property_ui_text(prop, "Value", "Check for this value in types in Equal, Not Equal, Less Than and Greater Than types");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "value_min", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "value");
|
||||
RNA_def_property_ui_text(prop, "Minimum Value", "Minimum value in Interval type");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "value_max", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "maxvalue");
|
||||
RNA_def_property_ui_text(prop, "Maximum Value", "Maximum value in Interval type");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_armature_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
static const EnumPropertyItem prop_type_items[] = {
|
||||
{SENS_ARM_STATE_CHANGED, "STATECHG", 0, "State Changed", ""},
|
||||
{SENS_ARM_LIN_ERROR_BELOW, "LINERRORBELOW", 0, "Lin error below", ""},
|
||||
{SENS_ARM_LIN_ERROR_ABOVE, "LINERRORABOVE", 0, "Lin error above", ""},
|
||||
{SENS_ARM_ROT_ERROR_BELOW, "ROTERRORBELOW", 0, "Rot error below", ""},
|
||||
{SENS_ARM_ROT_ERROR_ABOVE, "ROTERRORABOVE", 0, "Rot error above", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "ArmatureSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Armature Sensor", "Sensor to detect values and changes in values of IK solver");
|
||||
RNA_def_struct_sdna_from(srna, "bArmatureSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "test_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "type");
|
||||
RNA_def_property_enum_items(prop, prop_type_items);
|
||||
RNA_def_property_ui_text(prop, "Test", "Type of value and test");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "bone", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "posechannel");
|
||||
RNA_def_property_ui_text(prop, "Bone Name", "Identify the bone to check value from");
|
||||
RNA_def_property_update(prop, NC_LOGIC, "rna_Sensor_Armature_update");
|
||||
|
||||
prop = RNA_def_property(srna, "constraint", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "constraint");
|
||||
RNA_def_property_ui_text(prop, "Constraint Name", "Identify the bone constraint to check value from");
|
||||
RNA_def_property_update(prop, NC_LOGIC, "rna_Sensor_Armature_update");
|
||||
|
||||
prop = RNA_def_property(srna, "value", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "value");
|
||||
RNA_def_property_ui_text(prop, "Compare Value", "Value to be used in comparison");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_actuator_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "ActuatorSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Actuator Sensor", "Sensor to detect state modifications of actuators");
|
||||
RNA_def_struct_sdna_from(srna, "bActuatorSensor", "data");
|
||||
|
||||
/* XXX if eventually have Logics using RNA 100%, we could use the actuator data-block isntead of its name */
|
||||
prop = RNA_def_property(srna, "actuator", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Actuator", "Actuator name, actuator active state modifications will be detected");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_delay_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "DelaySensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Delay Sensor", "Sensor to send delayed events");
|
||||
RNA_def_struct_sdna_from(srna, "bDelaySensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "delay", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Delay",
|
||||
"Delay in number of logic tics before the positive trigger (default 60 per second)");
|
||||
RNA_def_property_range(prop, 0, 5000);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "duration", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Duration",
|
||||
"If >0, delay in number of logic tics before the negative trigger following "
|
||||
"the positive trigger");
|
||||
RNA_def_property_range(prop, 0, 5000);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_repeat", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_DELAY_REPEAT);
|
||||
RNA_def_property_ui_text(prop, "Repeat",
|
||||
"Toggle repeat option (if selected, the sensor restarts after Delay+Duration "
|
||||
"logic tics)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_collision_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "CollisionSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Collision Sensor",
|
||||
"Sensor to detect objects colliding with the current object, with more settings than "
|
||||
"the Touch sensor");
|
||||
RNA_def_struct_sdna_from(srna, "bCollisionSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "use_pulse", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "mode", SENS_COLLISION_PULSE);
|
||||
RNA_def_property_ui_text(prop, "Pulse", "Change to the set of colliding objects generates pulse");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_material", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "mode", SENS_COLLISION_MATERIAL);
|
||||
RNA_def_property_ui_text(prop, "M/P", "Toggle collision on material or property");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only look for objects with this property (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
/*XXX to make a setFunction to create a lookup with all materials in Blend File (not only this object mat.) */
|
||||
prop = RNA_def_property(srna, "material", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "materialName");
|
||||
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
#if 0
|
||||
/* XXX either use a data-block look up to store the string name (material)
|
||||
* or to do a doversion and use a material pointer. */
|
||||
prop = RNA_def_property(srna, "material", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_struct_type(prop, "Material");
|
||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_pointer_sdna(prop, NULL, "ma");
|
||||
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material (blank = all objects)");
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rna_def_radar_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
static const EnumPropertyItem axis_items[] = {
|
||||
{SENS_RADAR_X_AXIS, "XAXIS", 0, "+X axis", ""},
|
||||
{SENS_RADAR_Y_AXIS, "YAXIS", 0, "+Y axis", ""},
|
||||
{SENS_RADAR_Z_AXIS, "ZAXIS", 0, "+Z axis", ""},
|
||||
{SENS_RADAR_NEG_X_AXIS, "NEGXAXIS", 0, "-X axis", ""},
|
||||
{SENS_RADAR_NEG_Y_AXIS, "NEGYAXIS", 0, "-Y axis", ""},
|
||||
{SENS_RADAR_NEG_Z_AXIS, "NEGZAXIS", 0, "-Z axis", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "RadarSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Radar Sensor",
|
||||
"Sensor to detect objects in a cone shaped radar emanating from the current object");
|
||||
RNA_def_struct_sdna_from(srna, "bRadarSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only look for objects with this property (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_items(prop, axis_items);
|
||||
RNA_def_property_ui_text(prop, "Axis", "Along which axis the radar cone is cast");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE);
|
||||
RNA_def_property_range(prop, 0.0, DEG2RADF(179.9f));
|
||||
RNA_def_property_ui_text(prop, "Angle", "Opening angle of the radar cone");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "distance", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "range");
|
||||
RNA_def_property_range(prop, 0.0, 10000.0);
|
||||
RNA_def_property_ui_text(prop, "Distance", "Depth of the radar cone");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_random_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "RandomSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Random Sensor", "Sensor to send random events");
|
||||
RNA_def_struct_sdna_from(srna, "bRandomSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "seed", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0, 1000);
|
||||
RNA_def_property_ui_text(prop, "Seed", "Initial seed of the generator (choose 0 for not random)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_ray_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
static const EnumPropertyItem axis_items[] = {
|
||||
{SENS_RAY_X_AXIS, "XAXIS", 0, "+X axis", ""},
|
||||
{SENS_RAY_Y_AXIS, "YAXIS", 0, "+Y axis", ""},
|
||||
{SENS_RAY_Z_AXIS, "ZAXIS", 0, "+Z axis", ""},
|
||||
{SENS_RAY_NEG_X_AXIS, "NEGXAXIS", 0, "-X axis", ""},
|
||||
{SENS_RAY_NEG_Y_AXIS, "NEGYAXIS", 0, "-Y axis", ""},
|
||||
{SENS_RAY_NEG_Z_AXIS, "NEGZAXIS", 0, "-Z axis", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
static const EnumPropertyItem prop_ray_type_items[] = {
|
||||
{SENS_COLLISION_PROPERTY, "PROPERTY", ICON_LOGIC, "Property", "Use a property for ray intersections"},
|
||||
{SENS_COLLISION_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Use a material for ray intersections"},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "RaySensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Ray Sensor",
|
||||
"Sensor to detect intersections with a ray emanating from the current object");
|
||||
RNA_def_struct_sdna_from(srna, "bRaySensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "ray_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_bitflag_sdna(prop, NULL, "mode");
|
||||
RNA_def_property_enum_items(prop, prop_ray_type_items);
|
||||
RNA_def_property_ui_text(prop, "Ray Type", "Toggle collision on material or property");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "propname");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only look for objects with this property (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "material", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "matname");
|
||||
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material (blank = all objects)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
#if 0
|
||||
/* XXX either use a data-block look up to store the string name (material)
|
||||
* or to do a doversion and use a material pointer. */
|
||||
prop = RNA_def_property(srna, "material", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_struct_type(prop, "Material");
|
||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_pointer_sdna(prop, NULL, "ma");
|
||||
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material (blank = all objects)");
|
||||
#endif
|
||||
|
||||
prop = RNA_def_property(srna, "use_x_ray", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "mode", SENS_RAY_XRAY);
|
||||
RNA_def_property_ui_text(prop, "X-Ray Mode",
|
||||
"Toggle X-Ray option (see through objects that don't have the property)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "range", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.01, 10000.0);
|
||||
RNA_def_property_ui_text(prop, "Range", "Sense objects no farther than this distance");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "axisflag");
|
||||
RNA_def_property_enum_items(prop, axis_items);
|
||||
RNA_def_property_ui_text(prop, "Axis", "Along which axis the ray is cast");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_message_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "MessageSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Message Sensor", "Sensor to detect incoming messages");
|
||||
RNA_def_struct_sdna_from(srna, "bMessageSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "subject", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Subject",
|
||||
"Optional subject filter: only accept messages with this subject, "
|
||||
"or empty to accept all");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
static void rna_def_joystick_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
static const EnumPropertyItem event_type_joystick_items[] = {
|
||||
{SENS_JOY_BUTTON, "BUTTON", 0, "Button", ""},
|
||||
{SENS_JOY_AXIS, "AXIS", 0, "Axis", ""},
|
||||
{SENS_JOY_HAT, "HAT", 0, "Hat", ""},
|
||||
{SENS_JOY_AXIS_SINGLE, "AXIS_SINGLE", 0, "Single Axis", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
static const EnumPropertyItem axis_direction_items[] = {
|
||||
{SENS_JOY_X_AXIS, "RIGHTAXIS", 0, "Right Axis", ""},
|
||||
{SENS_JOY_Y_AXIS, "UPAXIS", 0, "Up Axis", ""},
|
||||
{SENS_JOY_NEG_X_AXIS, "LEFTAXIS", 0, "Left Axis", ""},
|
||||
{SENS_JOY_NEG_Y_AXIS, "DOWNAXIS", 0, "Down Axis", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
static const EnumPropertyItem hat_direction_items[] = {
|
||||
{SENS_JOY_HAT_UP, "UP", 0, "Up", ""},
|
||||
{SENS_JOY_HAT_DOWN, "DOWN", 0, "Down", ""},
|
||||
{SENS_JOY_HAT_LEFT, "LEFT", 0, "Left", ""},
|
||||
{SENS_JOY_HAT_RIGHT, "RIGHT", 0, "Right", ""},
|
||||
|
||||
{SENS_JOY_HAT_UP_RIGHT, "UPRIGHT", 0, "Up/Right", ""},
|
||||
{SENS_JOY_HAT_DOWN_LEFT, "DOWNLEFT", 0, "Down/Left", ""},
|
||||
{SENS_JOY_HAT_UP_LEFT, "UPLEFT", 0, "Up/Left", ""},
|
||||
{SENS_JOY_HAT_DOWN_RIGHT, "DOWNRIGHT", 0, "Down/Right", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "JoystickSensor", "Sensor");
|
||||
RNA_def_struct_ui_text(srna, "Joystick Sensor", "Sensor to detect joystick events");
|
||||
RNA_def_struct_sdna_from(srna, "bJoystickSensor", "data");
|
||||
|
||||
prop = RNA_def_property(srna, "joystick_index", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "joyindex");
|
||||
RNA_def_property_ui_text(prop, "Index", "Which joystick to use");
|
||||
RNA_def_property_range(prop, 0, SENS_JOY_MAXINDEX - 1);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "event_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "type");
|
||||
RNA_def_property_enum_items(prop, event_type_joystick_items);
|
||||
RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_UI_EVENTS);
|
||||
RNA_def_property_ui_text(prop, "Event Type", "The type of event this joystick sensor is triggered on");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "use_all_events", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", SENS_JOY_ANY_EVENT);
|
||||
RNA_def_property_ui_text(prop, "All Events",
|
||||
"Triggered by all events on this joystick's current type (axis/button/hat)");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
/* Button */
|
||||
prop = RNA_def_property(srna, "button_number", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "button");
|
||||
RNA_def_property_ui_text(prop, "Button Number", "Which button to use");
|
||||
RNA_def_property_range(prop, 0, 18);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
/* Axis */
|
||||
prop = RNA_def_property(srna, "axis_number", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "axis");
|
||||
RNA_def_property_ui_text(prop, "Axis Number", "Which axis pair to use, 1 is usually the main direction input");
|
||||
RNA_def_property_range(prop, 1, 8);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "axis_threshold", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "precision");
|
||||
RNA_def_property_ui_text(prop, "Axis Threshold", "Precision of the axis");
|
||||
RNA_def_property_range(prop, 0, 32768);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "axis_direction", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "axisf");
|
||||
RNA_def_property_enum_items(prop, axis_direction_items);
|
||||
RNA_def_property_ui_text(prop, "Axis Direction", "The direction of the axis");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
/* Single Axis */
|
||||
prop = RNA_def_property(srna, "single_axis_number", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "axis_single");
|
||||
RNA_def_property_ui_text(prop, "Axis Number", "Single axis (vertical/horizontal/other) to detect");
|
||||
RNA_def_property_range(prop, 1, 16);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
/* Hat */
|
||||
prop = RNA_def_property(srna, "hat_number", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "hat");
|
||||
RNA_def_property_ui_text(prop, "Hat Number", "Which hat to use");
|
||||
RNA_def_property_range(prop, 1, 2);
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "hat_direction", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "hatf");
|
||||
RNA_def_property_enum_items(prop, hat_direction_items);
|
||||
RNA_def_property_ui_text(prop, "Hat Direction", "Hat direction");
|
||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||
}
|
||||
|
||||
void RNA_def_sensor(BlenderRNA *brna)
|
||||
{
|
||||
rna_def_sensor(brna);
|
||||
|
||||
rna_def_always_sensor(brna);
|
||||
rna_def_near_sensor(brna);
|
||||
rna_def_mouse_sensor(brna);
|
||||
rna_def_keyboard_sensor(brna);
|
||||
rna_def_property_sensor(brna);
|
||||
rna_def_armature_sensor(brna);
|
||||
rna_def_actuator_sensor(brna);
|
||||
rna_def_delay_sensor(brna);
|
||||
rna_def_collision_sensor(brna);
|
||||
rna_def_radar_sensor(brna);
|
||||
rna_def_random_sensor(brna);
|
||||
rna_def_ray_sensor(brna);
|
||||
rna_def_message_sensor(brna);
|
||||
rna_def_joystick_sensor(brna);
|
||||
}
|
||||
|
||||
#endif
|
@ -327,13 +327,13 @@ static void rna_Sequence_frame_offset_range(PointerRNA *ptr, int *min, int *max,
|
||||
*max = INT_MAX;
|
||||
}
|
||||
|
||||
static void rna_Sequence_use_proxy_set(PointerRNA *ptr, int value)
|
||||
static void rna_Sequence_use_proxy_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Sequence *seq = (Sequence *)ptr->data;
|
||||
BKE_sequencer_proxy_set(seq, value != 0);
|
||||
}
|
||||
|
||||
static void rna_Sequence_use_translation_set(PointerRNA *ptr, int value)
|
||||
static void rna_Sequence_use_translation_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Sequence *seq = (Sequence *)ptr->data;
|
||||
if (value) {
|
||||
@ -347,7 +347,7 @@ static void rna_Sequence_use_translation_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_Sequence_use_crop_set(PointerRNA *ptr, int value)
|
||||
static void rna_Sequence_use_crop_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Sequence *seq = (Sequence *)ptr->data;
|
||||
if (value) {
|
||||
@ -891,7 +891,7 @@ static void rna_SequenceColorBalance_update(Main *UNUSED(bmain), Scene *UNUSED(s
|
||||
BKE_sequence_invalidate_cache_for_modifier(scene, seq);
|
||||
}
|
||||
|
||||
static void rna_SequenceEditor_overlay_lock_set(PointerRNA *ptr, int value)
|
||||
static void rna_SequenceEditor_overlay_lock_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Scene *scene = ptr->id.data;
|
||||
Editing *ed = BKE_sequencer_editing_get(scene, false);
|
||||
|
@ -431,7 +431,7 @@ static void rna_SmokeFlow_uvlayer_set(PointerRNA *ptr, const char *value)
|
||||
rna_object_uvlayer_name_set(ptr, value, flow->uvlayer_name, sizeof(flow->uvlayer_name));
|
||||
}
|
||||
|
||||
static void rna_Smoke_use_color_ramp_set(PointerRNA *ptr, int value)
|
||||
static void rna_Smoke_use_color_ramp_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
SmokeDomainSettings *sds = (SmokeDomainSettings *)ptr->data;
|
||||
|
||||
|
@ -44,13 +44,13 @@ static void rna_Sound_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
BKE_sound_load(bmain, (bSound *)ptr->data);
|
||||
}
|
||||
|
||||
static int rna_Sound_caching_get(PointerRNA *ptr)
|
||||
static bool rna_Sound_caching_get(PointerRNA *ptr)
|
||||
{
|
||||
bSound *sound = (bSound *)(ptr->data);
|
||||
return (sound->flags & SOUND_FLAGS_CACHING) != 0;
|
||||
}
|
||||
|
||||
static void rna_Sound_caching_set(PointerRNA *ptr, const int value)
|
||||
static void rna_Sound_caching_set(PointerRNA *ptr, const bool value)
|
||||
{
|
||||
bSound *sound = (bSound *)(ptr->data);
|
||||
if (value)
|
||||
|
@ -426,7 +426,7 @@ static void rna_area_region_from_regiondata(PointerRNA *ptr, ScrArea **r_sa, ARe
|
||||
area_region_from_regiondata(sc, regiondata, r_sa, r_ar);
|
||||
}
|
||||
|
||||
static int rna_Space_view2d_sync_get(PointerRNA *ptr)
|
||||
static bool rna_Space_view2d_sync_get(PointerRNA *ptr)
|
||||
{
|
||||
ScrArea *sa;
|
||||
ARegion *ar;
|
||||
@ -441,7 +441,7 @@ static int rna_Space_view2d_sync_get(PointerRNA *ptr)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void rna_Space_view2d_sync_set(PointerRNA *ptr, int value)
|
||||
static void rna_Space_view2d_sync_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
ScrArea *sa;
|
||||
ARegion *ar;
|
||||
@ -487,7 +487,7 @@ static void rna_SpaceView3D_camera_update(Main *bmain, Scene *scene, PointerRNA
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_SpaceView3D_lock_camera_and_layers_set(PointerRNA *ptr, int value)
|
||||
static void rna_SpaceView3D_lock_camera_and_layers_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
View3D *v3d = (View3D *)(ptr->data);
|
||||
bScreen *sc = (bScreen *)ptr->id.data;
|
||||
@ -930,7 +930,7 @@ static void rna_SpaceImageEditor_show_stereo_set(PointerRNA *ptr, int value)
|
||||
sima->iuser.flag &= ~IMA_SHOW_STEREO;
|
||||
}
|
||||
|
||||
static int rna_SpaceImageEditor_show_stereo_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceImageEditor_show_stereo_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceImage *sima = (SpaceImage *)(ptr->data);
|
||||
return (sima->iuser.flag & IMA_SHOW_STEREO) != 0;
|
||||
@ -951,19 +951,19 @@ static void rna_SpaceImageEditor_show_stereo_update(Main *UNUSED(bmain), Scene *
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_SpaceImageEditor_show_render_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceImageEditor_show_render_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceImage *sima = (SpaceImage *)(ptr->data);
|
||||
return ED_space_image_show_render(sima);
|
||||
}
|
||||
|
||||
static int rna_SpaceImageEditor_show_paint_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceImageEditor_show_paint_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceImage *sima = (SpaceImage *)(ptr->data);
|
||||
return ED_space_image_show_paint(sima);
|
||||
}
|
||||
|
||||
static int rna_SpaceImageEditor_show_uvedit_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceImageEditor_show_uvedit_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceImage *sima = (SpaceImage *)(ptr->data);
|
||||
bScreen *sc = (bScreen *)ptr->id.data;
|
||||
@ -973,7 +973,7 @@ static int rna_SpaceImageEditor_show_uvedit_get(PointerRNA *ptr)
|
||||
return ED_space_image_show_uvedit(sima, obedit);
|
||||
}
|
||||
|
||||
static int rna_SpaceImageEditor_show_maskedit_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceImageEditor_show_maskedit_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceImage *sima = (SpaceImage *)(ptr->data);
|
||||
bScreen *sc = (bScreen *)ptr->id.data;
|
||||
@ -1148,7 +1148,7 @@ static const EnumPropertyItem *rna_SpaceImageEditor_pivot_itemf(
|
||||
|
||||
/* Space Text Editor */
|
||||
|
||||
static void rna_SpaceTextEditor_word_wrap_set(PointerRNA *ptr, int value)
|
||||
static void rna_SpaceTextEditor_word_wrap_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
SpaceText *st = (SpaceText *)(ptr->data);
|
||||
|
||||
@ -1564,7 +1564,7 @@ static void rna_SpaceGraphEditor_display_mode_update(bContext *C, PointerRNA *pt
|
||||
ED_area_tag_refresh(sa);
|
||||
}
|
||||
|
||||
static int rna_SpaceGraphEditor_has_ghost_curves_get(PointerRNA *ptr)
|
||||
static bool rna_SpaceGraphEditor_has_ghost_curves_get(PointerRNA *ptr)
|
||||
{
|
||||
SpaceIpo *sipo = (SpaceIpo *)(ptr->data);
|
||||
return (BLI_listbase_is_empty(&sipo->ghostCurves) == false);
|
||||
@ -1724,7 +1724,7 @@ static void rna_SpaceClipEditor_view_type_update(Main *UNUSED(bmain), Scene *UNU
|
||||
|
||||
/* File browser. */
|
||||
|
||||
static int rna_FileSelectParams_use_lib_get(PointerRNA *ptr)
|
||||
static bool rna_FileSelectParams_use_lib_get(PointerRNA *ptr)
|
||||
{
|
||||
FileSelectParams *params = ptr->data;
|
||||
|
||||
@ -1814,13 +1814,13 @@ static int rna_FileBrowser_FSMenuEntry_name_get_editable(PointerRNA *ptr, const
|
||||
return fsm->save ? PROP_EDITABLE : 0;
|
||||
}
|
||||
|
||||
static int rna_FileBrowser_FSMenuEntry_use_save_get(PointerRNA *ptr)
|
||||
static bool rna_FileBrowser_FSMenuEntry_use_save_get(PointerRNA *ptr)
|
||||
{
|
||||
FSMenuEntry *fsm = ptr->data;
|
||||
return fsm->save;
|
||||
}
|
||||
|
||||
static int rna_FileBrowser_FSMenuEntry_is_valid_get(PointerRNA *ptr)
|
||||
static bool rna_FileBrowser_FSMenuEntry_is_valid_get(PointerRNA *ptr)
|
||||
{
|
||||
FSMenuEntry *fsm = ptr->data;
|
||||
return fsm->valid;
|
||||
|
@ -73,7 +73,7 @@ static void rna_Text_filename_set(PointerRNA *ptr, const char *value)
|
||||
text->name = NULL;
|
||||
}
|
||||
|
||||
static int rna_Text_modified_get(PointerRNA *ptr)
|
||||
static bool rna_Text_modified_get(PointerRNA *ptr)
|
||||
{
|
||||
Text *text = (Text *)ptr->data;
|
||||
return BKE_text_file_modified_check(text) != 0;
|
||||
|
@ -368,7 +368,7 @@ static const EnumPropertyItem *rna_TextureSlot_output_node_itemf(
|
||||
return item;
|
||||
}
|
||||
|
||||
static void rna_Texture_use_color_ramp_set(PointerRNA *ptr, int value)
|
||||
static void rna_Texture_use_color_ramp_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Tex *tex = (Tex *)ptr->data;
|
||||
|
||||
@ -393,7 +393,7 @@ static void rna_Texture_use_nodes_update(bContext *C, PointerRNA *ptr)
|
||||
rna_Texture_nodes_update(CTX_data_main(C), CTX_data_scene(C), ptr);
|
||||
}
|
||||
|
||||
static void rna_ImageTexture_mipmap_set(PointerRNA *ptr, int value)
|
||||
static void rna_ImageTexture_mipmap_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Tex *tex = (Tex *)ptr->data;
|
||||
|
||||
|
@ -209,14 +209,14 @@ static void rna_trackingTrack_name_set(PointerRNA *ptr, const char *value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_trackingTrack_select_get(PointerRNA *ptr)
|
||||
static bool rna_trackingTrack_select_get(PointerRNA *ptr)
|
||||
{
|
||||
MovieTrackingTrack *track = (MovieTrackingTrack *)ptr->data;
|
||||
|
||||
return TRACK_SELECTED(track);
|
||||
}
|
||||
|
||||
static void rna_trackingTrack_select_set(PointerRNA *ptr, int value)
|
||||
static void rna_trackingTrack_select_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
MovieTrackingTrack *track = (MovieTrackingTrack *)ptr->data;
|
||||
|
||||
|
@ -851,22 +851,22 @@ static void rna_Menu_bl_description_set(PointerRNA *ptr, const char *value)
|
||||
|
||||
/* UILayout */
|
||||
|
||||
static int rna_UILayout_active_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_active_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetActive(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_active_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_active_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetActive(ptr->data, value);
|
||||
}
|
||||
|
||||
static int rna_UILayout_alert_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_alert_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetRedAlert(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_alert_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_alert_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetRedAlert(ptr->data, value);
|
||||
}
|
||||
@ -881,12 +881,12 @@ static int rna_UILayout_op_context_get(PointerRNA *ptr)
|
||||
return uiLayoutGetOperatorContext(ptr->data);
|
||||
}
|
||||
|
||||
static int rna_UILayout_enabled_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_enabled_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetEnabled(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_enabled_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_enabled_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetEnabled(ptr->data, value);
|
||||
}
|
||||
@ -897,12 +897,12 @@ static int rna_UILayout_red_alert_get(PointerRNA *ptr)
|
||||
return uiLayoutGetRedAlert(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_red_alert_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_red_alert_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetRedAlert(ptr->data, value);
|
||||
}
|
||||
|
||||
static int rna_UILayout_keep_aspect_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_keep_aspect_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetKeepAspect(ptr->data);
|
||||
}
|
||||
@ -953,22 +953,22 @@ static void rna_UILayout_emboss_set(PointerRNA *ptr, int value)
|
||||
uiLayoutSetEmboss(ptr->data, value);
|
||||
}
|
||||
|
||||
static int rna_UILayout_property_split_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_property_split_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetPropSep(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_property_split_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_property_split_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetPropSep(ptr->data, value);
|
||||
}
|
||||
|
||||
static int rna_UILayout_property_decorate_get(PointerRNA *ptr)
|
||||
static bool rna_UILayout_property_decorate_get(PointerRNA *ptr)
|
||||
{
|
||||
return uiLayoutGetPropDecorate(ptr->data);
|
||||
}
|
||||
|
||||
static void rna_UILayout_property_decorate_set(PointerRNA *ptr, int value)
|
||||
static void rna_UILayout_property_decorate_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
uiLayoutSetPropDecorate(ptr->data, value);
|
||||
}
|
||||
|
@ -758,7 +758,7 @@ static int rna_UserDef_studiolight_index_get(PointerRNA *ptr)
|
||||
}
|
||||
|
||||
/* StudioLight.is_user_defined */
|
||||
static int rna_UserDef_studiolight_is_user_defined_get(PointerRNA *ptr)
|
||||
static bool rna_UserDef_studiolight_is_user_defined_get(PointerRNA *ptr)
|
||||
{
|
||||
StudioLight *sl = (StudioLight *)ptr->data;
|
||||
return (sl->flag & STUDIOLIGHT_USER_DEFINED) > 0;
|
||||
|
@ -536,7 +536,7 @@ static int rna_Operator_name_length(PointerRNA *ptr)
|
||||
return strlen(op->type->name);
|
||||
}
|
||||
|
||||
static int rna_Operator_has_reports_get(PointerRNA *ptr)
|
||||
static bool rna_Operator_has_reports_get(PointerRNA *ptr)
|
||||
{
|
||||
wmOperator *op = (wmOperator *)ptr->data;
|
||||
return (op->reports && op->reports->list.first);
|
||||
@ -608,7 +608,7 @@ static float rna_Event_pressure_get(PointerRNA *ptr)
|
||||
return WM_event_tablet_data(event, NULL, NULL);
|
||||
}
|
||||
|
||||
static int rna_Event_is_tablet_get(PointerRNA *ptr)
|
||||
static bool rna_Event_is_tablet_get(PointerRNA *ptr)
|
||||
{
|
||||
const wmEvent *event = ptr->data;
|
||||
return WM_event_is_tablet(event);
|
||||
@ -914,7 +914,7 @@ static const EnumPropertyItem *rna_KeyMapItem_propvalue_itemf(bContext *C, Point
|
||||
return rna_enum_keymap_propvalue_items; /* ERROR */
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_any_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_any_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
|
||||
@ -930,7 +930,7 @@ static int rna_KeyMapItem_any_get(PointerRNA *ptr)
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_KeyMapItem_any_set(PointerRNA *ptr, int value)
|
||||
static void rna_KeyMapItem_any_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
|
||||
@ -942,25 +942,25 @@ static void rna_KeyMapItem_any_set(PointerRNA *ptr, int value)
|
||||
}
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_shift_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_shift_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
return kmi->shift != 0;
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_ctrl_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_ctrl_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
return kmi->ctrl != 0;
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_alt_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_alt_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
return kmi->alt != 0;
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_oskey_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_oskey_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = (wmKeyMapItem *)ptr->data;
|
||||
return kmi->oskey != 0;
|
||||
@ -1031,7 +1031,7 @@ static int rna_wmKeyMapItem_name_length(PointerRNA *ptr)
|
||||
return strlen(ot ? RNA_struct_ui_name(ot->srna) : kmi->idname);
|
||||
}
|
||||
|
||||
static int rna_KeyMapItem_userdefined_get(PointerRNA *ptr)
|
||||
static bool rna_KeyMapItem_userdefined_get(PointerRNA *ptr)
|
||||
{
|
||||
wmKeyMapItem *kmi = ptr->data;
|
||||
return kmi->id < 0;
|
||||
|
@ -348,12 +348,12 @@ static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, const float value[l
|
||||
|
||||
/* wmManipulator.flag */
|
||||
#define RNA_MANIPULATOR_GENERIC_FLAG_RW_DEF(func_id, member_id, flag_value) \
|
||||
static int rna_Manipulator_##func_id##_get(PointerRNA *ptr) \
|
||||
static bool rna_Manipulator_##func_id##_get(PointerRNA *ptr) \
|
||||
{ \
|
||||
wmManipulator *mpr = ptr->data; \
|
||||
return (mpr->member_id & flag_value) != 0; \
|
||||
} \
|
||||
static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, int value) \
|
||||
static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, bool value) \
|
||||
{ \
|
||||
wmManipulator *mpr = ptr->data; \
|
||||
SET_FLAG_FROM_TEST(mpr->member_id, value, flag_value); \
|
||||
@ -361,12 +361,12 @@ static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, int value) \
|
||||
|
||||
/* wmManipulator.flag (negative) */
|
||||
#define RNA_MANIPULATOR_GENERIC_FLAG_NEG_RW_DEF(func_id, member_id, flag_value) \
|
||||
static int rna_Manipulator_##func_id##_get(PointerRNA *ptr) \
|
||||
static bool rna_Manipulator_##func_id##_get(PointerRNA *ptr) \
|
||||
{ \
|
||||
wmManipulator *mpr = ptr->data; \
|
||||
return (mpr->member_id & flag_value) == 0; \
|
||||
} \
|
||||
static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, int value) \
|
||||
static void rna_Manipulator_##func_id##_set(PointerRNA *ptr, bool value) \
|
||||
{ \
|
||||
wmManipulator *mpr = ptr->data; \
|
||||
SET_FLAG_FROM_TEST(mpr->member_id, !value, flag_value); \
|
||||
@ -411,7 +411,7 @@ RNA_MANIPULATOR_FLAG_RO_DEF(state_is_highlight, state, WM_MANIPULATOR_STATE_HIGH
|
||||
RNA_MANIPULATOR_FLAG_RO_DEF(state_is_modal, state, WM_MANIPULATOR_STATE_MODAL);
|
||||
RNA_MANIPULATOR_FLAG_RO_DEF(state_select, state, WM_MANIPULATOR_STATE_SELECT);
|
||||
|
||||
static void rna_Manipulator_state_select_set(struct PointerRNA *ptr, int value)
|
||||
static void rna_Manipulator_state_select_set(struct PointerRNA *ptr, bool value)
|
||||
{
|
||||
wmManipulator *mpr = ptr->data;
|
||||
wmManipulatorGroup *mgroup = mpr->parent_mgroup;
|
||||
@ -604,7 +604,7 @@ static void rna_ManipulatorGroup_bl_label_set(PointerRNA *ptr, const char *value
|
||||
assert(!"setting the bl_label on a non-builtin operator");
|
||||
}
|
||||
|
||||
static int rna_ManipulatorGroup_has_reports_get(PointerRNA *ptr)
|
||||
static bool rna_ManipulatorGroup_has_reports_get(PointerRNA *ptr)
|
||||
{
|
||||
wmManipulatorGroup *mgroup = ptr->data;
|
||||
return (mgroup->reports && mgroup->reports->list.first);
|
||||
|
Loading…
Reference in New Issue
Block a user