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.

56 lines
1.3 KiB

/**
* @file debug.h
*
* Interface of debug functions.
*/
#pragma once
#include <unordered_map>
#include "engine.h"
#include "engine/cel_sprite.hpp"
#include "miniwin/miniwin.h"
#include "utils/stdcompat/optional.hpp"
#include "utils/stdcompat/string_view.hpp"
namespace devilution {
enum class DebugInfoFlags : uint16_t {
// clang-format off
empty = 0,
dPiece = 1 << 0,
dTransVal = 1 << 1,
dLight = 1 << 2,
dPreLight = 1 << 3,
dFlags = 1 << 4,
dPlayer = 1 << 5,
dMonster = 1 << 6,
dCorpse = 1 << 7,
dObject = 1 << 8,
dItem = 1 << 9,
dSpecial = 1 << 10,
// clang-format on
};
extern std::optional<CelSprite> pSquareCel;
5 years ago
extern bool DebugToggle;
extern bool DebugGodMode;
extern bool DebugVision;
extern bool DebugCoords;
extern bool DebugCursorCoords;
extern bool DebugGrid;
extern std::unordered_map<int, Point> DebugCoordsMap;
extern DebugInfoFlags DebugInfoFlag;
void FreeDebugGFX();
void LoadDebugGFX();
void PrintDebugPlayer(bool bNextPlayer);
void PrintDebugQuest();
void GetDebugMonster();
void NextDebugMonster();
void SetDebugLevelSeedInfos(uint32_t mid1Seed, uint32_t mid2Seed, uint32_t mid3Seed, uint32_t endSeed);
bool CheckDebugTextCommand(const string_view text);
int DebugGetTileData(Point dungeonCoords);
} // namespace devilution