Rev 3 | Rev 31 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "pch.h"
#pragma hdrstop
#include "ConsoleClient.h"
/****************************************************************************
*
* Memory addresses
*
***/
#define CONSOLEWRITE_PTR 0x00765270
#define CONSOLEWRITEA_PTR 0x0063CD00
#define CONSOLESETHOTKEY_PTR 0x0063CB00
#define CONSOLESETTITLE_PTR 0x0063CB10
#define CONSOLECOMMANDEXECUTE_PTR 0x007658A0
#define CONSOLECOMMANDREGISTER_PTR 0x00769100
#define CONSOLECOMMANDWRITEHELP_PTR 0x0063FDB0
#define CONSOLECOMMANDUNREGISTER_PTR 0x007689E0;
#define CONSOLEPRINTF_PTR 0x007653B0;
#define G_EXECCREATEMODE_PTR 0x00ADBD48
#define G_EXECBUFFER_PTR 0x00CA1A28
#define S_ACTIVE_PTR 0x00C4EAC8
#define S_CONSOLEACCESSENABLED_PTR 0x00CABCC4
#define S_CONSOLEKEY_PTR 0x00864554
/****************************************************************************
*
* Private
*
***/
static BOOL* s_active = (BOOL *)S_ACTIVE_PTR;
static BOOL* s_consoleAccessEnabled = (BOOL *)S_CONSOLEACCESSENABLED_PTR;
static KEY* s_consoleKey = (KEY *)S_CONSOLEKEY_PTR;
void (*ConsoleWritePtr)(LPCSTR str, COLOR_T color) = *(void(*)(LPCSTR,COLOR_T))CONSOLEWRITE_PTR;
void (*ConsoleWriteAPtr)(LPCSTR str, COLOR_T color, ...) = *(void(*)(LPCSTR,COLOR_T,...))CONSOLEWRITEA_PTR;
void (*ConsoleSetHotkeyPtr)(KEY key) = *(void(*)(KEY))CONSOLESETHOTKEY_PTR;
void (*ConsoleSetTitlePtr)(LPSTR windowTitle) = *(void(*)(LPSTR))CONSOLESETTITLE_PTR;
void (*ConsoleCommandExecutePtr)(LPCSTR command, BOOL addToHistory) = *(void(*)(LPCSTR,BOOL))CONSOLECOMMANDEXECUTE_PTR;
BOOL (*ConsoleCommandRegisterPtr)(LPCSTR command, BOOL (*handler)(LPCSTR, LPCSTR), CATEGORY category, LPCSTR helpText) = *(BOOL(*)(LPCSTR,BOOL(*)(LPCSTR,LPCSTR),CATEGORY,LPCSTR))CONSOLECOMMANDREGISTER_PTR;
void (*ConsoleCommandWriteHelpPtr)(LPCSTR str) = *(void(*)(LPCSTR))CONSOLECOMMANDWRITEHELP_PTR;
void (*ConsoleCommandUnregisterPtr)(LPCSTR command) = *(void(*)(LPCSTR))CONSOLECOMMANDUNREGISTER_PTR;
void (*ConsolePrintfPtr) (LPCSTR str, ...) = *(void(*)(LPCSTR, ...))CONSOLEPRINTF_PTR;
/****************************************************************************
*
* Global variables
*
***/
EXECMODE& g_ExecCreateMode = *(EXECMODE*)G_EXECCREATEMODE_PTR;
char* g_ExecBuffer = (char*)G_EXECBUFFER_PTR;
/****************************************************************************
*
* External functions
*
***/
//===========================================================================
void ConsoleWrite(const char* str, COLOR_T color)
{
return ConsoleWritePtr(str,color);
}
//===========================================================================
void ConsoleWriteA(const char* str, COLOR_T color, ...)
{
va_list va;
va_start(va,color);
if (str && *str) {
char buf[1024] = {};
vsnprintf(buf,sizeof(buf),str,va);
ConsoleWrite(buf,color);
}
va_end(va);
}
//===========================================================================
void ConsoleAccessSetEnabled(BOOL enable)
{
*s_consoleAccessEnabled = enable;
}
//===========================================================================
BOOL ConsoleAccessGetEnabled()
{
return *s_consoleAccessEnabled;
}
//===========================================================================
BOOL ConsoleIsActive()
{
return *s_active;
}
//===========================================================================
void ConsoleSetHotkey(KEY key)
{
ConsoleSetHotkeyPtr(key);
}
//===========================================================================
void ConsoleSetTitle(LPSTR windowTitle)
{
ConsoleSetTitlePtr(windowTitle);
}
//===========================================================================
void ConsoleCommandExecute(LPCSTR command, BOOL addToHistory)
{
ConsoleCommandExecutePtr(command,addToHistory);
}
//===========================================================================
BOOL ConsoleCommandRegister(LPCSTR command,
BOOL (*handler)(LPCSTR,LPCSTR),
CATEGORY category,
LPCSTR helpText)
{
return ConsoleCommandRegisterPtr(command,handler,category,helpText);
}
//===========================================================================
void ConsoleCommandWriteHelp(LPCSTR str)
{
ConsoleCommandWriteHelpPtr(str);
}
//===========================================================================
void ConsoleCommandUnregister(LPCSTR command)
{
ConsoleCommandUnregisterPtr(command);
}
//===========================================================================
void ConsolePrintf(LPCSTR str, ...) {
va_list arglist;
va_start(arglist, str);
char const* token = va_arg(arglist, char const*);
ConsolePrintfPtr(str, token);
va_end(arglist);
}
Generated by GNU Enscript 1.6.5.90.