You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
863 B
31 lines
863 B
|
|
#pragma once |
|
|
|
#include "camera.h" |
|
#include "hexgrid.h" |
|
#include "renderer.h" |
|
#include "render_group.h" |
|
#include "util.h" |
|
|
|
|
|
struct slSceneDoc; |
|
struct render_state; |
|
|
|
slSceneDoc* slLoadFile(const char* data_dir, const char* scene_file, const char* schema_file); |
|
|
|
void slFreeSceneDoc(slSceneDoc* sd); |
|
|
|
bool slParseEntities(slSceneDoc* sd, Entity* entity_array, uint& entity_count, uint max_entities); |
|
|
|
void slParseCamera(slSceneDoc* sd, camera& cam); |
|
|
|
void slParseHexGrid(slSceneDoc* sd, hexgrid& hg, util_image& palette_image); |
|
|
|
bool slParseGridHashMap(hexgrid& hg, const char* data_dir, const char* hexmap_schema_file); |
|
|
|
bool slCreateHexRenderGroups(hexgrid& hg, render_state* rs); |
|
|
|
bool slParseLights(slSceneDoc* sd, rg_point_light* lights, uint& num_lights, uint max_lights); |
|
|
|
// TODO: this is pretty hacky atm just for testing |
|
bool slSaveGridFile(hexgrid& hg);
|
|
|