|
|
|
|
/**
|
|
|
|
|
* @file setmaps.cpp
|
|
|
|
|
*
|
|
|
|
|
* Interface of functionality for the special quest dungeons.
|
|
|
|
|
*/
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "levels/gendung.h"
|
|
|
|
|
|
|
|
|
|
namespace devilution {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Get the tile type used to render the given arena level
|
|
|
|
|
*/
|
|
|
|
|
inline dungeon_type GetArenaLevelType(_setlevels arenaLevel)
|
|
|
|
|
{
|
|
|
|
|
constexpr dungeon_type DungeonTypeForArena[] = {
|
|
|
|
|
dungeon_type::DTYPE_CATHEDRAL, // SL_ARENA_CHURCH
|
|
|
|
|
dungeon_type::DTYPE_HELL, // SL_ARENA_HELL
|
|
|
|
|
dungeon_type::DTYPE_HELL, // SL_ARENA_CIRCLE_OF_LIFE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
constexpr size_t arenaCount = sizeof(DungeonTypeForArena) / sizeof(dungeon_type);
|
|
|
|
|
const size_t index = arenaLevel - SL_FIRST_ARENA;
|
|
|
|
|
return index < arenaCount ? DungeonTypeForArena[index] : DTYPE_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Load a quest map, the given map is specified via the global setlvlnum
|
|
|
|
|
*/
|
|
|
|
|
void LoadSetMap();
|
|
|
|
|
|
|
|
|
|
/* rdata */
|
|
|
|
|
extern const char *const QuestLevelNames[];
|
|
|
|
|
|
|
|
|
|
} // namespace devilution
|