/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "display/camera.h" #include "rpg/rpg.h" #include "error/error.h" typedef struct { camera_t camera; } sceneoverworld_t; extern sceneoverworld_t SCENE_OVERWORLD; /** * Initialize the overworld scene. */ errorret_t sceneOverworldInit(void); /** * Update the overworld scene. */ void sceneOverworldUpdate(void); /** * Render the overworld scene. */ void sceneOverworldRender(void); /** * Render a map in the overworld scene. * * @param map Pointer to the map to render. */ void sceneOverworldRenderMap(const map_t *map); /** * Render an entity in the overworld scene. * * @param entity Pointer to the entity to render. */ void sceneOverworldRenderEntity(const entity_t *entity); /** * Render a map layer in the overworld scene. * * @param map Pointer to the map the layer belongs to. * @param layer Pointer to the map layer to render. */ void sceneOverworldRenderMapLayer(const map_t *map, const maplayer_t *layer); /** * Dispose of the overworld scene. */ void sceneOverworldDispose(void);