]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - src/node.c
Allow passing custom paths for library dependencies
[dragonblocks_alpha.git] / src / node.c
index 39e60ac7f4684955c31685ff26eca2a77bb6b0b2..e79352b5f2fc5c3a3d47178dd0ed39628a1d15c9 100644 (file)
-#include "map.h"
+#include "dig.h"
 #include "node.h"
-#include "util.h"
-#include <stdio.h>
+#include "terrain.h"
+#include "types.h"
 
-static void serialize_hsl(MapNode *node, unsigned char **buffer, size_t *bufsiz)
-{
-       HSLData *node_data = node->data;
-       buffer_write(buffer, bufsiz, (f32 []) {node_data->color.x, node_data->color.y, node_data->color.z}, sizeof(f32) * 3);
-}
-
-static void deserialize_hsl(MapNode *node, unsigned char *data, size_t size)
-{
-       HSLData *node_data = node->data;
-
-       f32 *color = buffer_read(&data, &size, sizeof(f32) * 3);
-
-       if (! color)
-               return;
-
-       *node_data = (HSLData) {.color = {color[0], color[1], color[2]}};
-}
-
-NodeDefinition node_definitions[NODE_UNLOADED] = {
+NodeDef node_def[COUNT_NODE] = {
        // unknown
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_NONE,
        },
        // air
        {
                .solid = false,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_NONE,
        },
        // grass
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_DIRT,
        },
        // dirt
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_DIRT,
        },
        // stone
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_STONE,
        },
        // snow
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_DIRT,
        },
        // oak wood
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_WOOD,
        },
        // oak leaves
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_LEAVES,
        },
        // pine wood
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_WOOD,
        },
        // pine leaves
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_LEAVES,
        },
        // palm wood
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_WOOD,
        },
        // palm leaves
        {
                .solid = true,
-               .data_size = sizeof(HSLData),
-               .create = NULL,
-               .delete = NULL,
-               .serialize = &serialize_hsl,
-               .deserialize = &deserialize_hsl,
+               .dig_class = DIG_LEAVES,
        },
        // sand
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_DIRT,
        },
        // water
        {
                .solid = false,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_NONE,
        },
        // lava
        {
                .solid = false,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_NONE,
        },
        // vulcanostone
        {
                .solid = true,
-               .data_size = 0,
-               .create = NULL,
-               .delete = NULL,
-               .serialize = NULL,
-               .deserialize = NULL,
+               .dig_class = DIG_STONE,
        },
 };