Skip to content

Commit 7777a8a

Browse files
MrMinimalnical
authored andcommitted
Add type casts to enums
Since MSVC compiles enums to i32, make sure to cast to u32.
1 parent 56d7580 commit 7777a8a

File tree

3 files changed

+99
-99
lines changed

3 files changed

+99
-99
lines changed

gdnative-core/src/init.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -434,27 +434,27 @@ impl<'l> PropertyHint<'l> {
434434

435435
bitflags! {
436436
pub struct PropertyUsage: u32 {
437-
const STORAGE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORAGE;
438-
const EDITOR = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_EDITOR;
439-
const NETWORK = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_NETWORK;
440-
const EDITOR_HELPER = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_EDITOR_HELPER;
441-
const CHECKABLE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CHECKABLE;
442-
const CHECKED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CHECKED;
443-
const INTERNATIONALIZED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_INTERNATIONALIZED;
444-
const GROUP = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_GROUP;
445-
const CATEGORY = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CATEGORY;
446-
const STORE_IF_NONZERO = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NONZERO;
447-
const STORE_IF_NONONE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NONONE;
448-
const NO_INSTANCE_STATE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_NO_INSTANCE_STATE;
449-
const RESTART_IF_CHANGED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_RESTART_IF_CHANGED;
450-
const SCRIPT_VARIABLE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_SCRIPT_VARIABLE;
451-
const STORE_IF_NULL = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NULL;
452-
const ANIMATE_AS_TRIGGER = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_ANIMATE_AS_TRIGGER;
453-
const UPDATE_ALL_IF_MODIFIED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED;
454-
455-
const DEFAULT = Self::STORAGE.bits | Self::EDITOR.bits | Self::NETWORK.bits;
456-
const DEFAULT_INTL = Self::DEFAULT.bits | Self::INTERNATIONALIZED.bits;
457-
const NOEDITOR = Self::STORAGE.bits | Self::NETWORK.bits;
437+
const STORAGE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORAGE as u32;
438+
const EDITOR = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_EDITOR as u32;
439+
const NETWORK = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_NETWORK as u32;
440+
const EDITOR_HELPER = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_EDITOR_HELPER as u32;
441+
const CHECKABLE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CHECKABLE as u32;
442+
const CHECKED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CHECKED as u32;
443+
const INTERNATIONALIZED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_INTERNATIONALIZED as u32;
444+
const GROUP = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_GROUP as u32;
445+
const CATEGORY = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_CATEGORY as u32;
446+
const STORE_IF_NONZERO = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NONZERO as u32;
447+
const STORE_IF_NONONE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NONONE as u32;
448+
const NO_INSTANCE_STATE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_NO_INSTANCE_STATE as u32;
449+
const RESTART_IF_CHANGED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_RESTART_IF_CHANGED as u32;
450+
const SCRIPT_VARIABLE = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_SCRIPT_VARIABLE as u32;
451+
const STORE_IF_NULL = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_STORE_IF_NULL as u32;
452+
const ANIMATE_AS_TRIGGER = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_ANIMATE_AS_TRIGGER as u32;
453+
const UPDATE_ALL_IF_MODIFIED = sys::godot_property_usage_flags_GODOT_PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED as u32;
454+
455+
const DEFAULT = Self::STORAGE.bits | Self::EDITOR.bits | Self::NETWORK.bits as u32;
456+
const DEFAULT_INTL = Self::DEFAULT.bits | Self::INTERNATIONALIZED.bits as u32;
457+
const NOEDITOR = Self::STORAGE.bits | Self::NETWORK.bits as u32;
458458
}
459459
}
460460

gdnative-core/src/lib.rs

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -96,62 +96,62 @@ pub fn get_api() -> &'static GodotApi {
9696
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
9797
#[repr(u32)]
9898
pub enum GodotError {
99-
Failed = sys::godot_error_GODOT_FAILED,
100-
Unavailable = sys::godot_error_GODOT_ERR_UNAVAILABLE,
101-
Unconfigured = sys::godot_error_GODOT_ERR_UNCONFIGURED,
102-
Unothorized = sys::godot_error_GODOT_ERR_UNAUTHORIZED,
103-
PrameterRange = sys::godot_error_GODOT_ERR_PARAMETER_RANGE_ERROR,
104-
OutOfMemory = sys::godot_error_GODOT_ERR_OUT_OF_MEMORY,
105-
FileNotFound = sys::godot_error_GODOT_ERR_FILE_NOT_FOUND,
106-
FileBadDrive = sys::godot_error_GODOT_ERR_FILE_BAD_DRIVE,
107-
FileBadPath = sys::godot_error_GODOT_ERR_FILE_BAD_PATH,
108-
FileNoPermission = sys::godot_error_GODOT_ERR_FILE_NO_PERMISSION,
109-
FileAlreadyInUse = sys::godot_error_GODOT_ERR_FILE_ALREADY_IN_USE,
110-
FileCantOpen = sys::godot_error_GODOT_ERR_FILE_CANT_OPEN,
111-
FileCantWrite = sys::godot_error_GODOT_ERR_FILE_CANT_WRITE,
112-
FileCantRead = sys::godot_error_GODOT_ERR_FILE_CANT_READ,
113-
FileUnrecognized = sys::godot_error_GODOT_ERR_FILE_UNRECOGNIZED,
114-
FileCorrupt = sys::godot_error_GODOT_ERR_FILE_CORRUPT,
115-
FileMissingDependency = sys::godot_error_GODOT_ERR_FILE_MISSING_DEPENDENCIES,
116-
FileEof = sys::godot_error_GODOT_ERR_FILE_EOF,
117-
CantOpen = sys::godot_error_GODOT_ERR_CANT_OPEN,
118-
CantCreate = sys::godot_error_GODOT_ERR_CANT_CREATE,
119-
QueryFailed = sys::godot_error_GODOT_ERR_QUERY_FAILED,
120-
AlreadyInUse = sys::godot_error_GODOT_ERR_ALREADY_IN_USE,
121-
Locked = sys::godot_error_GODOT_ERR_LOCKED,
122-
TimeOut = sys::godot_error_GODOT_ERR_TIMEOUT,
123-
CantConnect = sys::godot_error_GODOT_ERR_CANT_CONNECT,
124-
CantResolve = sys::godot_error_GODOT_ERR_CANT_RESOLVE,
125-
ConnectionError = sys::godot_error_GODOT_ERR_CONNECTION_ERROR,
126-
CantAcquireResource = sys::godot_error_GODOT_ERR_CANT_ACQUIRE_RESOURCE,
127-
CantFork = sys::godot_error_GODOT_ERR_CANT_FORK,
128-
InvalidData = sys::godot_error_GODOT_ERR_INVALID_DATA,
129-
InvalidParameter = sys::godot_error_GODOT_ERR_INVALID_PARAMETER,
130-
AlreadyExists = sys::godot_error_GODOT_ERR_ALREADY_EXISTS,
131-
DoesNotExist = sys::godot_error_GODOT_ERR_DOES_NOT_EXIST,
132-
DatabaseCantRead = sys::godot_error_GODOT_ERR_DATABASE_CANT_READ,
133-
DatabaseCantWrite = sys::godot_error_GODOT_ERR_DATABASE_CANT_WRITE,
134-
CompilationFailed = sys::godot_error_GODOT_ERR_COMPILATION_FAILED,
135-
MethodNotFound = sys::godot_error_GODOT_ERR_METHOD_NOT_FOUND,
136-
LinkFailed = sys::godot_error_GODOT_ERR_LINK_FAILED,
137-
ScriptFailed = sys::godot_error_GODOT_ERR_SCRIPT_FAILED,
138-
CyclicLink = sys::godot_error_GODOT_ERR_CYCLIC_LINK,
139-
InvalidDeclaration = sys::godot_error_GODOT_ERR_INVALID_DECLARATION,
140-
DuplicateSymbol = sys::godot_error_GODOT_ERR_DUPLICATE_SYMBOL,
141-
ParseError = sys::godot_error_GODOT_ERR_PARSE_ERROR,
142-
Busy = sys::godot_error_GODOT_ERR_BUSY,
143-
Skip = sys::godot_error_GODOT_ERR_SKIP,
144-
Help = sys::godot_error_GODOT_ERR_HELP,
145-
Bug = sys::godot_error_GODOT_ERR_BUG,
146-
PrinterOnFire = sys::godot_error_GODOT_ERR_PRINTER_ON_FIRE,
99+
Failed = sys::godot_error_GODOT_FAILED as u32,
100+
Unavailable = sys::godot_error_GODOT_ERR_UNAVAILABLE as u32,
101+
Unconfigured = sys::godot_error_GODOT_ERR_UNCONFIGURED as u32,
102+
Unothorized = sys::godot_error_GODOT_ERR_UNAUTHORIZED as u32,
103+
PrameterRange = sys::godot_error_GODOT_ERR_PARAMETER_RANGE_ERROR as u32,
104+
OutOfMemory = sys::godot_error_GODOT_ERR_OUT_OF_MEMORY as u32,
105+
FileNotFound = sys::godot_error_GODOT_ERR_FILE_NOT_FOUND as u32,
106+
FileBadDrive = sys::godot_error_GODOT_ERR_FILE_BAD_DRIVE as u32,
107+
FileBadPath = sys::godot_error_GODOT_ERR_FILE_BAD_PATH as u32,
108+
FileNoPermission = sys::godot_error_GODOT_ERR_FILE_NO_PERMISSION as u32,
109+
FileAlreadyInUse = sys::godot_error_GODOT_ERR_FILE_ALREADY_IN_USE as u32,
110+
FileCantOpen = sys::godot_error_GODOT_ERR_FILE_CANT_OPEN as u32,
111+
FileCantWrite = sys::godot_error_GODOT_ERR_FILE_CANT_WRITE as u32,
112+
FileCantRead = sys::godot_error_GODOT_ERR_FILE_CANT_READ as u32,
113+
FileUnrecognized = sys::godot_error_GODOT_ERR_FILE_UNRECOGNIZED as u32,
114+
FileCorrupt = sys::godot_error_GODOT_ERR_FILE_CORRUPT as u32,
115+
FileMissingDependency = sys::godot_error_GODOT_ERR_FILE_MISSING_DEPENDENCIES as u32,
116+
FileEof = sys::godot_error_GODOT_ERR_FILE_EOF as u32,
117+
CantOpen = sys::godot_error_GODOT_ERR_CANT_OPEN as u32,
118+
CantCreate = sys::godot_error_GODOT_ERR_CANT_CREATE as u32,
119+
QueryFailed = sys::godot_error_GODOT_ERR_QUERY_FAILED as u32,
120+
AlreadyInUse = sys::godot_error_GODOT_ERR_ALREADY_IN_USE as u32,
121+
Locked = sys::godot_error_GODOT_ERR_LOCKED as u32,
122+
TimeOut = sys::godot_error_GODOT_ERR_TIMEOUT as u32,
123+
CantConnect = sys::godot_error_GODOT_ERR_CANT_CONNECT as u32,
124+
CantResolve = sys::godot_error_GODOT_ERR_CANT_RESOLVE as u32,
125+
ConnectionError = sys::godot_error_GODOT_ERR_CONNECTION_ERROR as u32,
126+
CantAcquireResource = sys::godot_error_GODOT_ERR_CANT_ACQUIRE_RESOURCE as u32,
127+
CantFork = sys::godot_error_GODOT_ERR_CANT_FORK as u32,
128+
InvalidData = sys::godot_error_GODOT_ERR_INVALID_DATA as u32,
129+
InvalidParameter = sys::godot_error_GODOT_ERR_INVALID_PARAMETER as u32,
130+
AlreadyExists = sys::godot_error_GODOT_ERR_ALREADY_EXISTS as u32,
131+
DoesNotExist = sys::godot_error_GODOT_ERR_DOES_NOT_EXIST as u32,
132+
DatabaseCantRead = sys::godot_error_GODOT_ERR_DATABASE_CANT_READ as u32,
133+
DatabaseCantWrite = sys::godot_error_GODOT_ERR_DATABASE_CANT_WRITE as u32,
134+
CompilationFailed = sys::godot_error_GODOT_ERR_COMPILATION_FAILED as u32,
135+
MethodNotFound = sys::godot_error_GODOT_ERR_METHOD_NOT_FOUND as u32,
136+
LinkFailed = sys::godot_error_GODOT_ERR_LINK_FAILED as u32,
137+
ScriptFailed = sys::godot_error_GODOT_ERR_SCRIPT_FAILED as u32,
138+
CyclicLink = sys::godot_error_GODOT_ERR_CYCLIC_LINK as u32,
139+
InvalidDeclaration = sys::godot_error_GODOT_ERR_INVALID_DECLARATION as u32,
140+
DuplicateSymbol = sys::godot_error_GODOT_ERR_DUPLICATE_SYMBOL as u32,
141+
ParseError = sys::godot_error_GODOT_ERR_PARSE_ERROR as u32,
142+
Busy = sys::godot_error_GODOT_ERR_BUSY as u32,
143+
Skip = sys::godot_error_GODOT_ERR_SKIP as u32,
144+
Help = sys::godot_error_GODOT_ERR_HELP as u32,
145+
Bug = sys::godot_error_GODOT_ERR_BUG as u32,
146+
PrinterOnFire = sys::godot_error_GODOT_ERR_PRINTER_ON_FIRE as u32,
147147
}
148148

149149
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
150150
#[repr(u32)]
151151
pub enum Vector3Axis {
152-
X = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_X,
153-
Y = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_Y,
154-
Z = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_Z,
152+
X = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_X as u32,
153+
Y = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_Y as u32,
154+
Z = sys::godot_vector3_axis_GODOT_VECTOR3_AXIS_Z as u32,
155155
}
156156

157157
pub type GodotResult = Result<(), GodotError>;

gdnative-core/src/variant.rs

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -117,33 +117,33 @@ macro_rules! variant_to_type_wrap {
117117
#[repr(u32)]
118118
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
119119
pub enum VariantType {
120-
Nil = sys::godot_variant_type_GODOT_VARIANT_TYPE_NIL,
121-
Bool = sys::godot_variant_type_GODOT_VARIANT_TYPE_BOOL,
122-
I64 = sys::godot_variant_type_GODOT_VARIANT_TYPE_INT,
123-
F64 = sys::godot_variant_type_GODOT_VARIANT_TYPE_REAL,
124-
GodotString = sys::godot_variant_type_GODOT_VARIANT_TYPE_STRING,
125-
Vector2 = sys::godot_variant_type_GODOT_VARIANT_TYPE_VECTOR2,
126-
Rect2 = sys::godot_variant_type_GODOT_VARIANT_TYPE_RECT2,
127-
Vector3 = sys::godot_variant_type_GODOT_VARIANT_TYPE_VECTOR3,
128-
Transform2D = sys::godot_variant_type_GODOT_VARIANT_TYPE_TRANSFORM2D,
129-
Plane = sys::godot_variant_type_GODOT_VARIANT_TYPE_PLANE,
130-
Quat = sys::godot_variant_type_GODOT_VARIANT_TYPE_QUAT,
131-
Aabb = sys::godot_variant_type_GODOT_VARIANT_TYPE_AABB,
132-
Basis = sys::godot_variant_type_GODOT_VARIANT_TYPE_BASIS,
133-
Transform = sys::godot_variant_type_GODOT_VARIANT_TYPE_TRANSFORM,
134-
Color = sys::godot_variant_type_GODOT_VARIANT_TYPE_COLOR,
135-
NodePath = sys::godot_variant_type_GODOT_VARIANT_TYPE_NODE_PATH,
136-
Rid = sys::godot_variant_type_GODOT_VARIANT_TYPE_RID,
137-
Object = sys::godot_variant_type_GODOT_VARIANT_TYPE_OBJECT,
138-
Dictionary = sys::godot_variant_type_GODOT_VARIANT_TYPE_DICTIONARY,
139-
VariantArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_ARRAY,
140-
ByteArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_BYTE_ARRAY,
141-
Int32Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_INT_ARRAY,
142-
Float32Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_REAL_ARRAY,
143-
StringArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_STRING_ARRAY,
144-
Vector2Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_VECTOR2_ARRAY,
145-
Vector3Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_VECTOR3_ARRAY,
146-
ColorArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_COLOR_ARRAY,
120+
Nil = sys::godot_variant_type_GODOT_VARIANT_TYPE_NIL as u32,
121+
Bool = sys::godot_variant_type_GODOT_VARIANT_TYPE_BOOL as u32,
122+
I64 = sys::godot_variant_type_GODOT_VARIANT_TYPE_INT as u32,
123+
F64 = sys::godot_variant_type_GODOT_VARIANT_TYPE_REAL as u32,
124+
GodotString = sys::godot_variant_type_GODOT_VARIANT_TYPE_STRING as u32,
125+
Vector2 = sys::godot_variant_type_GODOT_VARIANT_TYPE_VECTOR2 as u32,
126+
Rect2 = sys::godot_variant_type_GODOT_VARIANT_TYPE_RECT2 as u32,
127+
Vector3 = sys::godot_variant_type_GODOT_VARIANT_TYPE_VECTOR3 as u32,
128+
Transform2D = sys::godot_variant_type_GODOT_VARIANT_TYPE_TRANSFORM2D as u32,
129+
Plane = sys::godot_variant_type_GODOT_VARIANT_TYPE_PLANE as u32,
130+
Quat = sys::godot_variant_type_GODOT_VARIANT_TYPE_QUAT as u32,
131+
Aabb = sys::godot_variant_type_GODOT_VARIANT_TYPE_AABB as u32,
132+
Basis = sys::godot_variant_type_GODOT_VARIANT_TYPE_BASIS as u32,
133+
Transform = sys::godot_variant_type_GODOT_VARIANT_TYPE_TRANSFORM as u32,
134+
Color = sys::godot_variant_type_GODOT_VARIANT_TYPE_COLOR as u32,
135+
NodePath = sys::godot_variant_type_GODOT_VARIANT_TYPE_NODE_PATH as u32,
136+
Rid = sys::godot_variant_type_GODOT_VARIANT_TYPE_RID as u32,
137+
Object = sys::godot_variant_type_GODOT_VARIANT_TYPE_OBJECT as u32,
138+
Dictionary = sys::godot_variant_type_GODOT_VARIANT_TYPE_DICTIONARY as u32,
139+
VariantArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_ARRAY as u32,
140+
ByteArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_BYTE_ARRAY as u32,
141+
Int32Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_INT_ARRAY as u32,
142+
Float32Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_REAL_ARRAY as u32,
143+
StringArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_STRING_ARRAY as u32,
144+
Vector2Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_VECTOR2_ARRAY as u32,
145+
Vector3Array = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_VECTOR3_ARRAY as u32,
146+
ColorArray = sys::godot_variant_type_GODOT_VARIANT_TYPE_POOL_COLOR_ARRAY as u32,
147147
}
148148

149149
impl VariantType {

0 commit comments

Comments
 (0)