55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
#pragma once
|
|
#ifndef MAP_DATA_H
|
|
#define MAP_DATA_H
|
|
|
|
#include "libmap.h"
|
|
#include "entity.h"
|
|
#include "entity_geometry.h"
|
|
|
|
typedef struct texture_data
|
|
{
|
|
char *name;
|
|
int width;
|
|
int height;
|
|
} texture_data;
|
|
|
|
typedef struct worldspawn_layer
|
|
{
|
|
int texture_idx;
|
|
bool build_visuals;
|
|
} worldspawn_layer;
|
|
|
|
extern int entity_count;
|
|
extern entity *entities;
|
|
extern entity_geometry *entity_geo;
|
|
|
|
extern int texture_count;
|
|
extern texture_data *textures;
|
|
|
|
extern int worldspawn_layer_count;
|
|
extern worldspawn_layer *worldspawn_layers;
|
|
|
|
void map_data_reset();
|
|
|
|
extern LIBMAP_API void map_data_register_worldspawn_layer(const char *name, bool build_visuals);
|
|
extern LIBMAP_API int map_data_find_worldspawn_layer(int texture_idx);
|
|
extern LIBMAP_API int map_data_get_worldspawn_layer_count();
|
|
extern LIBMAP_API worldspawn_layer *map_data_get_worldspawn_layers();
|
|
|
|
int map_data_register_texture(const char *name);
|
|
extern LIBMAP_API void map_data_set_texture_size(const char *name, int width, int height);
|
|
|
|
extern LIBMAP_API int map_data_get_texture_count();
|
|
extern LIBMAP_API texture_data *map_data_get_textures();
|
|
int map_data_find_texture(const char *texture_name);
|
|
extern LIBMAP_API texture_data *map_data_get_texture(int texture_idx);
|
|
|
|
extern LIBMAP_API void map_data_set_spawn_type_by_classname(const char *key, int spawn_type);
|
|
|
|
extern LIBMAP_API void map_data_print_entities();
|
|
extern LIBMAP_API int map_data_get_entity_count();
|
|
extern LIBMAP_API const entity *map_data_get_entities();
|
|
const char *map_data_get_entity_property(int entity_idx, const char *key);
|
|
|
|
#endif
|