mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Force unsigned behaviour for bitfield enums
Some compilers (notably MSVC) were using signed values for bitfield enums. This was causing problems where 2 bits were used to store 4 or less enum values, where they were being treated as negative numbers. This PR explicitly requests these enums to be treated as unsigned values.
This commit is contained in:
@@ -48,14 +48,18 @@ class Node : public Object {
|
||||
OBJ_CATEGORY("Nodes");
|
||||
|
||||
public:
|
||||
enum PauseMode {
|
||||
// N.B. Any enum stored as a bitfield should
|
||||
// be specified as UNSIGNED to work around
|
||||
// some compilers trying to store it as signed,
|
||||
// and requiring 1 more bit than necessary.
|
||||
enum PauseMode : unsigned int {
|
||||
|
||||
PAUSE_MODE_INHERIT,
|
||||
PAUSE_MODE_STOP,
|
||||
PAUSE_MODE_PROCESS
|
||||
};
|
||||
|
||||
enum PhysicsInterpolationMode {
|
||||
enum PhysicsInterpolationMode : unsigned int {
|
||||
|
||||
PHYSICS_INTERPOLATION_MODE_INHERIT,
|
||||
PHYSICS_INTERPOLATION_MODE_OFF,
|
||||
|
||||
Reference in New Issue
Block a user