2024-10-25 00:07:46 -05:00

82 lines
1.9 KiB
C++

#ifndef __INC_METIN_II_GAME_CMD_H__
#define __INC_METIN_II_GAME_CMD_H__
#define ACMD(name) void (name)(LPCHARACTER ch, const char *argument, int cmd, int subcmd)
#define CMD_NAME(name) cmd_info[cmd].command
struct command_info
{
const char * command;
void (*command_pointer) (LPCHARACTER ch, const char *argument, int cmd, int subcmd);
int subcmd;
int minimum_position;
int gm_level;
};
extern struct command_info cmd_info[];
extern void interpret_command(LPCHARACTER ch, const char * argument, size_t len);
extern void interpreter_set_privilege(const char * cmd, int lvl);
enum SCMD_ACTION
{
SCMD_SLAP,
SCMD_KISS,
SCMD_FRENCH_KISS,
SCMD_HUG,
SCMD_LONG_HUG,
SCMD_SHOLDER,
SCMD_FOLD_ARM
};
enum SCMD_CMD
{
SCMD_LOGOUT,
SCMD_QUIT,
SCMD_PHASE_SELECT,
SCMD_SHUTDOWN,
#if defined(__BL_MULTI_LANGUAGE__)
SCMD_LANGUAGE_CHANGE,
#endif
#if defined(__BL_MULTI_LANGUAGE_ULTIMATE__)
SCMD_LANGUAGE_CHANGE_ANONYMOUS,
#endif
};
enum SCMD_RESTART
{
SCMD_RESTART_TOWN,
SCMD_RESTART_HERE
};
enum SCMD_XMAS
{
SCMD_XMAS_BOOM,
SCMD_XMAS_SNOW,
SCMD_XMAS_SANTA,
};
extern void Shutdown(int iSec);
extern void SendLog(const char * c_pszBuf);
#ifdef ENABLE_FULL_NOTICE
extern void SendNotice(const char * c_pszBuf, bool bBigFont=false);
extern void BroadcastNotice(const char * c_pszBuf, bool bBigFont=false);
#else
extern void SendNotice(const char * c_pszBuf);
extern void BroadcastNotice(const char * c_pszBuf);
#endif
extern void SendNoticeMap(const char* c_pszBuf, int nMapIndex, bool bBigFont);
extern void SendMonarchNotice(BYTE bEmpire, const char * c_pszBuf);
// LUA_ADD_BGM_INFO
void CHARACTER_SetBGMVolumeEnable();
void CHARACTER_AddBGMInfo(unsigned mapIndex, const char* name, float vol);
// END_OF_LUA_ADD_BGM_INFO
// LUA_ADD_GOTO_INFO
extern void CHARACTER_AddGotoInfo(const std::string& c_st_name, BYTE empire, int mapIndex, DWORD x, DWORD y);
// END_OF_LUA_ADD_GOTO_INFO
#endif
//martysama0134's 623a0779c74cb7565145d45548376308