simworld/common/include/world.h

35 lines
924 B
C
Raw Normal View History

#ifndef WORLD_H
#define WORLD_H
#include <stdlib.h>
#include <jansson.h>
#include "error.h"
#include "entity/registry.h"
#include "entity/entity.h"
#define MAX_ENTITIES 256
struct world_t {
struct entity_t entities[MAX_ENTITIES];
struct entity_registry_t registered_entities;
size_t height;
size_t width;
};
enum error_t world_init(struct world_t *, size_t, size_t);
void world_free(struct world_t *);
// world_*_str() allocates a string that the caller must free()
// world_*_buf() uses a pre-existing buffer; results are not zero-terminated
enum error_t world_serialise_str(struct world_t *, char const **);
enum error_t world_serialise_buf(struct world_t *, char *, size_t);
enum error_t world_deserialise(struct world_t *, char const *);
2024-09-29 07:33:16 +00:00
enum error_t world_register_entity(struct world_t *, char const *, char);
enum error_t world_place_entity(struct world_t *, size_t, size_t, size_t);
#endif