mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-29 15:26:04 +03:00
82 lines
1.4 KiB
C++
82 lines
1.4 KiB
C++
#ifndef CONSOLE_TYPES_HPP
|
|
#define CONSOLE_TYPES_HPP
|
|
|
|
#include "gx/Font.hpp"
|
|
|
|
#include <storm/Hash.hpp>
|
|
#include <storm/List.hpp>
|
|
|
|
enum COLOR_T {
|
|
DEFAULT_COLOR,
|
|
INPUT_COLOR,
|
|
ECHO_COLOR,
|
|
ERROR_COLOR,
|
|
WARNING_COLOR,
|
|
GLOBAL_COLOR,
|
|
ADMIN_COLOR,
|
|
HIGHLIGHT_COLOR,
|
|
BACKGROUND_COLOR,
|
|
NUM_COLORTYPES,
|
|
};
|
|
|
|
enum CATEGORY {
|
|
DEBUG,
|
|
GRAPHICS,
|
|
CONSOLE,
|
|
COMBAT,
|
|
GAME,
|
|
DEFAULT,
|
|
NET,
|
|
SOUND,
|
|
GM,
|
|
NONE,
|
|
LAST
|
|
};
|
|
|
|
enum EXECMODE {
|
|
EM_PROMPTOVERWRITE = 0,
|
|
EM_RECORDING = 1,
|
|
EM_APPEND = 2,
|
|
EM_WRITEFILE = 3,
|
|
EM_NOTACTIVE = 4,
|
|
EM_NUM_EXECMODES = 5
|
|
};
|
|
|
|
enum CONSOLERESIZESTATE {
|
|
CS_NONE,
|
|
CS_STRETCH,
|
|
NUM_CONSOLERESIZESTATES,
|
|
};
|
|
|
|
typedef int32_t (*COMMANDHANDLER)(const char*, const char*);
|
|
|
|
class CONSOLECOMMAND : public TSHashObject<CONSOLECOMMAND, HASHKEY_STRI> {
|
|
public:
|
|
COMMANDHANDLER m_handler;
|
|
const char* m_helpText;
|
|
CATEGORY m_category;
|
|
};
|
|
|
|
class CONSOLELINE : public TSLinkedNode<CONSOLELINE> {
|
|
public:
|
|
char* buffer;
|
|
uint32_t chars;
|
|
uint32_t charsalloc;
|
|
uint32_t inputpos;
|
|
uint32_t inputstart;
|
|
COLOR_T colorType;
|
|
CGxString* fontPointer;
|
|
|
|
~CONSOLELINE();
|
|
};
|
|
|
|
class ConsoleCommandList {
|
|
public:
|
|
const char* m_command;
|
|
COMMANDHANDLER m_handler;
|
|
const char* m_helpText;
|
|
};
|
|
|
|
|
|
#endif
|