1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-22 17:18:39 +00:00

Fix out of range enum casts in deSerialize functions (#14090)

This commit is contained in:
cx384 2024-01-17 20:05:46 +01:00 committed by GitHub
parent 0383c44f0d
commit 2ea8d9ca11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 138 additions and 77 deletions

View file

@ -45,13 +45,14 @@ class NodeResolver;
class TestSchematic;
#endif
enum ContentParamType
enum ContentParamType : u8
{
CPT_NONE,
CPT_LIGHT,
ContentParamType_END // Dummy for validity check
};
enum ContentParamType2
enum ContentParamType2 : u8
{
CPT2_NONE,
// Need 8-bit param2
@ -82,16 +83,19 @@ enum ContentParamType2
CPT2_4DIR,
// 6 bits of palette index, then 4dir
CPT2_COLORED_4DIR,
// Dummy for validity check
ContentParamType2_END
};
enum LiquidType
enum LiquidType : u8
{
LIQUID_NONE,
LIQUID_FLOWING,
LIQUID_SOURCE,
LiquidType_END // Dummy for validity check
};
enum NodeBoxType
enum NodeBoxType : u8
{
NODEBOX_REGULAR, // Regular block; allows buildable_to
NODEBOX_FIXED, // Static separately defined box(es)
@ -189,7 +193,7 @@ public:
void readSettings();
};
enum NodeDrawType
enum NodeDrawType : u8
{
// A basic solid block
NDT_NORMAL,
@ -233,6 +237,8 @@ enum NodeDrawType
NDT_MESH,
// Combined plantlike-on-solid
NDT_PLANTLIKE_ROOTED,
// Dummy for validity check
NodeDrawType_END
};
// Mesh options for NDT_PLANTLIKE with CPT2_MESHOPTIONS
@ -252,6 +258,7 @@ enum AlignStyle : u8 {
ALIGN_STYLE_NODE,
ALIGN_STYLE_WORLD,
ALIGN_STYLE_USER_DEFINED,
AlignStyle_END // Dummy for validity check
};
enum AlphaMode : u8 {
@ -259,6 +266,7 @@ enum AlphaMode : u8 {
ALPHAMODE_CLIP,
ALPHAMODE_OPAQUE,
ALPHAMODE_LEGACY_COMPAT, /* only sent by old servers, equals OPAQUE */
AlphaMode_END // Dummy for validity check
};