2023-04-08 23:10:53 -05:00
|
|
|
#ifndef CONSOLE_TYPES_HPP
|
|
|
|
|
#define CONSOLE_TYPES_HPP
|
|
|
|
|
|
2023-08-16 17:38:37 -04:00
|
|
|
#include "gx/Font.hpp"
|
|
|
|
|
|
|
|
|
|
#include <storm/Hash.hpp>
|
|
|
|
|
#include <storm/List.hpp>
|
|
|
|
|
|
2023-04-08 23:10:53 -05:00
|
|
|
enum COLOR_T {
|
|
|
|
|
DEFAULT_COLOR,
|
|
|
|
|
INPUT_COLOR,
|
|
|
|
|
ECHO_COLOR,
|
|
|
|
|
ERROR_COLOR,
|
|
|
|
|
WARNING_COLOR,
|
|
|
|
|
GLOBAL_COLOR,
|
|
|
|
|
ADMIN_COLOR,
|
|
|
|
|
HIGHLIGHT_COLOR,
|
|
|
|
|
BACKGROUND_COLOR,
|
|
|
|
|
NUM_COLORTYPES,
|
|
|
|
|
};
|
|
|
|
|
|
2023-08-16 16:43:55 -04:00
|
|
|
enum CATEGORY {
|
|
|
|
|
DEBUG,
|
|
|
|
|
GRAPHICS,
|
|
|
|
|
CONSOLE,
|
|
|
|
|
COMBAT,
|
|
|
|
|
GAME,
|
|
|
|
|
DEFAULT,
|
|
|
|
|
NET,
|
|
|
|
|
SOUND,
|
|
|
|
|
GM,
|
|
|
|
|
NONE,
|
|
|
|
|
LAST
|
|
|
|
|
};
|
|
|
|
|
|
2023-04-17 22:44:44 -05:00
|
|
|
enum CONSOLERESIZESTATE {
|
|
|
|
|
CS_NONE,
|
|
|
|
|
CS_STRETCH,
|
|
|
|
|
NUM_CONSOLERESIZESTATES,
|
|
|
|
|
};
|
|
|
|
|
|
2023-08-16 17:05:43 -04:00
|
|
|
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:
|
2023-08-16 17:38:37 -04:00
|
|
|
char* buffer;
|
|
|
|
|
uint32_t chars;
|
|
|
|
|
uint32_t charsalloc;
|
|
|
|
|
uint32_t inputpos;
|
|
|
|
|
uint32_t inputstart;
|
|
|
|
|
COLOR_T colorType;
|
2023-08-16 17:05:43 -04:00
|
|
|
CGxString* fontPointer;
|
|
|
|
|
|
|
|
|
|
~CONSOLELINE();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ConsoleCommandList {
|
|
|
|
|
public:
|
|
|
|
|
const char* m_command;
|
|
|
|
|
COMMANDHANDLER m_handler;
|
|
|
|
|
const char* m_helpText;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2023-04-08 23:10:53 -05:00
|
|
|
#endif
|