mirror of
https://github.com/diasurgical/DevilutionX.git
synced 2026-10-12 02:13:06 +00:00
Split several monolithic files to reduce transitive dependencies and
enable the dun_render_benchmark to link without bringing in all of
DevilutionX:
- Extract dungeon tile globals and loading functions from `gendung` into
`dun_tile_data.{hpp,cpp}`
- Extract light table data and MakeLightTable from lighting into
`engine/light_tables.{hpp,cpp}`
- Move cursor_id and SelectionRegion to cursor_defs.hpp
- Extract quest log rendering to `panels/quest_log.{hpp,cpp}`
- Extract drlg quest setpiece logic to `levels/drlg_quests.{hpp,cpp}`
- Extract quest data loading to `tables/questdat.{hpp,cpp}`
- Move `GameData` and `gbIsMultiplayer` into `game_mode.{hpp,cpp}`
- Add `parse_sfx_id.{hpp,cpp}`
- Update CMake libraries accordingly
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
33 lines
902 B
C++
33 lines
902 B
C++
/**
|
|
* @file quests.h
|
|
*
|
|
* Interface of functionality for handling quests.
|
|
*/
|
|
#pragma once
|
|
|
|
#include "monster.h"
|
|
#include "tables/questdat.hpp"
|
|
|
|
namespace devilution {
|
|
|
|
void InitQuests();
|
|
|
|
/**
|
|
* @brief Deactivates quests from each quest pool at random to provide variety for single player games
|
|
* @param seed The seed used to control which quests are deactivated
|
|
* @param quests The available quest list, this function will make some of them inactive by the time it returns
|
|
*/
|
|
void InitialiseQuestPools(uint32_t seed, Quest quests[]);
|
|
void CheckQuests();
|
|
bool ForceQuests();
|
|
void CheckQuestKill(const Monster &monster, bool sendmsg);
|
|
int GetMapReturnLevel();
|
|
Point GetMapReturnPosition();
|
|
void LoadPWaterPalette();
|
|
void UpdatePWaterPalette();
|
|
void ResyncMPQuests();
|
|
void ResyncQuests();
|
|
void SetMultiQuest(int q, quest_state s, bool log, int v1, int v2, int16_t qmsg);
|
|
|
|
} // namespace devilution
|