45 lines
982 B
C

/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include <dawn/dawn.h>
#include "../../display/tileset.h"
#include "../../file/asset.h"
#include "chunk.h"
/**
* Initializes the world map.
*/
void mapInit();
/**
* Renders the map object to the graphics device.
*/
void mapRender();
/**
* Cleans the previously loaded world map.
*/
void mapDispose();
/**
* Shift the map chunk list along a set of axis (in absolute space).
*
* @param x X movement to shift chunks along.
* @param y Y movement to shift chunks along.
* @param z Z movement to shift chunks along.
*/
void mapShift(int32_t x, int32_t y, int32_t z);
/**
* Align the map chunk list (in absolute space).
*
* @param x X movement to shift chunks along.
* @param y Y movement to shift chunks along.
* @param z Z movement to shift chunks along.
*/
void mapAlign(int32_t x, int32_t y, int32_t z);