1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
vcmi/client/ClientCommandManager.h

102 lines
3.7 KiB
C
Raw Normal View History

/*
* ClientCommandManager.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
2023-01-07 13:47:00 +02:00
VCMI_LIB_NAMESPACE_BEGIN
class PlayerColor;
2023-01-07 13:47:00 +02:00
VCMI_LIB_NAMESPACE_END
class CIntObject;
class ClientCommandManager //take mantis #2292 issue about account if thinking about handling cheats from command-line
{
bool currentCallFromIngameConsole = false; // commands can come from 2 sources: ingame console (chat) and client console
// Quits the game (die, fool command)
void handleQuitCommand();
// Saves current game under the given filename
void handleSaveCommand(std::istringstream & singleWordBuffer);
// Loads a game with the given filename
void handleLoadCommand(std::istringstream & singleWordBuffer);
// AI takes over until the end of turn (unlike original H3 currently causes AI to take over until typed again)
void handleGoSoloCommand();
// Toggles autoskip mode on and off. In this mode, player turns are automatically skipped and only AI moves.
// However, GUI is still present and allows to observe AI moves. After this option is activated, you need to end first turn manually.
// Press [Shift] before your turn starts to not skip it.
void handleAutoskipCommand();
// Gives you control over specified AI player. If none is specified gives you control over all AI players
void handleControlaiCommand(std::istringstream& singleWordBuffer);
// Change battle AI used by neutral creatures to the one specified. Persists through game quit
void handleSetBattleAICommand(std::istringstream& singleWordBuffer);
// Redraw the current screen
void handleRedrawCommand();
// Prints information about current screen, and saves both screens as .bmp in root folder
void handleScreenCommand();
// Set the state indicating if dialog box is active to "no"
void handleNotDialogCommand();
// Displays tree view of currently present VCMI common GUI elements
void handleGuiCommand();
// Dumps all game text, maps text and campaign maps text into Client log between BEGIN TEXT EXPORT and END TEXT EXPORT
void handleConvertTextCommand();
// Saves current game configuration into extracted/configuration folder
void handleGetConfigCommand();
// Dumps all scripts in Extracted/Scripts
void handleGetScriptsCommand();
// Dumps all .txt files from DATA into Extracted/DATA
void handleGetTextCommand();
// Extract .def animation as BMP files
void handleDef2bmpCommand(std::istringstream& singleWordBuffer);
// Export file into Extracted directory
void handleExtractCommand(std::istringstream& singleWordBuffer);
// Print in console the current bonuses for curent army
void handleBonusesCommand(std::istringstream & singleWordBuffer);
// Get what artifact is present on artifact slot with specified ID for hero with specified ID
void handleTellCommand(std::istringstream& singleWordBuffer);
// Show current movement points, max movement points on land / max movement points on water.
void handleMpCommand();
// set <command> <on/off> - sets special temporary settings that reset on game quit.
void handleSetCommand(std::istringstream& singleWordBuffer);
// Unlocks specific mutex known in VCMI code as "pim"
void handleUnlockCommand(std::istringstream& singleWordBuffer);
// Crashes the game forcing an exception
void handleCrashCommand();
// Prints in Chat the given message
void printCommandMessage(const std::string &commandMessage, ELogLevel::ELogLevel messageType = ELogLevel::NOT_SET);
void printInfoAboutInterfaceObject(const CIntObject *obj, int level);
void giveTurn(const PlayerColor &color);
public:
ClientCommandManager() = default;
void processCommand(const std::string & message, bool calledFromIngameConsole);
};