Quake 4 toolsx86.dll interface

icecoldduke

Administrator
Staff member
rvToolsStub is the stub interface that should have the same layout to access Quake 4 toolsx86.dll. This is taken from the Mac OS version of Quake 4 which contained debug symbols.

Code:
__const_coal:0051EE00 __ZTV11rvToolsStub dd 0                 ; DATA XREF: __pointers:__ZTV11rvToolsStub_ptr↓o
__const_coal:0051EE00                                         ; offset to this
__const_coal:0051EE04                 dd offset __ZTI11rvToolsStub ; `typeinfo for'rvToolsStub
__const_coal:0051EE08                 dd offset __ZN11rvToolsStubD1Ev ; rvToolsStub::~rvToolsStub()
__const_coal:0051EE0C                 dd offset __ZN11rvToolsStubD0Ev ; rvToolsStub::~rvToolsStub()
__const_coal:0051EE10                 dd offset __ZNK11rvToolsStub11GetInstanceEv ; rvToolsStub::GetInstance(void)
__const_coal:0051EE14                 dd offset __ZNK11rvToolsStub15GetParentWindowEv ; rvToolsStub::GetParentWindow(void)
__const_coal:0051EE18                 dd offset __ZNK11rvToolsStub5GetDCEv ; rvToolsStub::GetDC(void)
__const_coal:0051EE1C                 dd offset __ZN11rvToolsStub21IsParentWindowVisibleEv ; rvToolsStub::IsParentWindowVisible(void)
__const_coal:0051EE20                 dd offset __ZN11rvToolsStub8InitToolEiPK6idDict ; rvToolsStub::InitTool(int,idDict const*)
__const_coal:0051EE24                 dd offset __ZN11rvToolsStub12ShutdownToolEi ; rvToolsStub::ShutdownTool(int)
__const_coal:0051EE28                 dd offset __ZN11rvToolsStub12IsToolActiveEi ; rvToolsStub::IsToolActive(int)
__const_coal:0051EE2C                 dd offset __ZN11rvToolsStub5FrameEv ; rvToolsStub::Frame(void)
__const_coal:0051EE30                 dd offset __ZN11rvToolsStub8ShutdownEv ; rvToolsStub::Shutdown(void)
__const_coal:0051EE34                 dd offset __ZN11rvToolsStub15HandleToolPrintEPKc ; rvToolsStub::HandleToolPrint(char const*)
__const_coal:0051EE38                 dd offset __ZN11rvToolsStub15HandleMapChangeEv ; rvToolsStub::HandleMapChange(void)
__const_coal:0051EE3C                 dd offset __ZN11rvToolsStub14StartLevelLoadEv ; rvToolsStub::StartLevelLoad(void)
__const_coal:0051EE40                 dd offset __ZN11rvToolsStub12EndLevelLoadEv ; rvToolsStub::EndLevelLoad(void)
__const_coal:0051EE44                 dd offset __ZN11rvToolsStub16GetSourceControlEv ; rvToolsStub::GetSourceControl(void)
__const_coal:0051EE48                 dd offset __ZN11rvToolsStub15MakeGameCurrentEv ; rvToolsStub::MakeGameCurrent(void)
__const_coal:0051EE4C                 dd offset __ZN11rvToolsStub15SetDefaultStateEv ; rvToolsStub::SetDefaultState(void)
__const_coal:0051EE50                 dd offset __ZN11rvToolsStub5Set2DEii ; rvToolsStub::Set2D(int,int)
__const_coal:0051EE54                 dd offset __ZN11rvToolsStub11DoRBFDialogEPKc ; rvToolsStub::DoRBFDialog(char const*)
__const_coal:0051EE58                 dd offset __ZN11rvToolsStub21PlaybackEditorRefreshEv ; rvToolsStub::PlaybackEditorRefresh(void)
__const_coal:0051EE5C                 dd offset __ZN11rvToolsStub15ModViewShutdownEPKc ; rvToolsStub::ModViewShutdown(char const*)
__const_coal:0051EE60                 dd offset __ZN11rvToolsStub10ModViewRunEv ; rvToolsStub::ModViewRun(void)
__const_coal:0051EE64                 dd offset __ZN11rvToolsStub21ModViewGetJointStatusEi ; rvToolsStub::ModViewGetJointStatus(int)
__const_coal:0051EE68                 dd offset __ZN11rvToolsStub24ModViewIsSurfaceSelectedEPKc ; rvToolsStub::ModViewIsSurfaceSelected(char const*)
__const_coal:0051EE6C                 dd offset __ZN11rvToolsStub22ModViewIsSurfaceHiddenEPKc ; rvToolsStub::ModViewIsSurfaceHidden(char const*)
__const_coal:0051EE70                 dd offset __ZN11rvToolsStub20ModViewGetBgrndColorEv ; rvToolsStub::ModViewGetBgrndColor(void)
__const_coal:0051EE74                 dd offset __ZN11rvToolsStub16FXEditorIsActiveEv ; rvToolsStub::FXEditorIsActive(void)
__const_coal:0051EE78                 dd offset __ZN11rvToolsStub22FXEditorRefreshEffectsEv ; rvToolsStub::FXEditorRefreshEffects(void)
__const_coal:0051EE7C                 dd offset __ZN11rvToolsStub18FXEditorPlayEffectEb ; rvToolsStub::FXEditorPlayEffect(bool)
__const_coal:0051EE80                 dd offset __ZN11rvToolsStub18FXEditorStopEffectEv ; rvToolsStub::FXEditorStopEffect(void)
__const_coal:0051EE84                 dd offset __ZN11rvToolsStub24FXEditorRefreshMaterialsEv ; rvToolsStub::FXEditorRefreshMaterials(void)
__const_coal:0051EE88                 dd offset __ZN11rvToolsStub23GEAllocateWindowWrapperEP8idWindow ; rvToolsStub::GEAllocateWindowWrapper(idWindow *)
__const_coal:0051EE8C                 dd offset __ZN11rvToolsStub25GEDeallocateWindowWrapperEP8idWindow ; rvToolsStub::GEDeallocateWindowWrapper(idWindow *)
__const_coal:0051EE90                 dd offset __ZN11rvToolsStub8GEFinishEP8idWindow ; rvToolsStub::GEFinish(idWindow *)
__const_coal:0051EE94                 dd offset __ZN11rvToolsStub11GEAddScriptEP8idWindowPKcS3_ ; rvToolsStub::GEAddScript(idWindow *,char const*,char const*)
__const_coal:0051EE98                 dd offset __ZN11rvToolsStub17GEVariableDictSetEP8idWindowPKcS3_ ; rvToolsStub::GEVariableDictSet(idWindow *,char const*,char const*)
__const_coal:0051EE9C                 dd offset __ZN11rvToolsStub13GESetStateKeyEP8idWindowPKcS3_b ; rvToolsStub::GESetStateKey(idWindow *,char const*,char const*,bool)
__const_coal:0051EEA0                 dd offset __ZN11rvToolsStub9GEMessageEPKcz ; rvToolsStub::GEMessage(char const*,...)
__const_coal:0051EEA4                 dd offset __ZN11rvToolsStub13DebuggerPrintEPKc ; rvToolsStub::DebuggerPrint(char const*)
__const_coal:0051EEA8                 dd offset __ZN11rvToolsStub23DebuggerCheckBreakpointEP13idInterpreterP9idProgrami ; rvToolsStub::DebuggerCheckBreakpoint(idInterpreter *,idProgram *,int)
__const_coal:0051EEAC                 dd offset __ZN11rvToolsStub30DmapCleanupOptimizedShadowTrisEiP14srfTriangles_s ; rvToolsStub::DmapCleanupOptimizedShadowTris(int,srfTriangles_s *)
__const_coal:0051EEB0                 dd offset __ZN11rvToolsStub26DmapSuperOptimizeOccludersEP9SOOData_sP6idVec4Pii7idPlane6idVec3 ; rvToolsStub::DmapSuperOptimizeOccluders(SOOData_s *,idVec4 *,int *,int,idPlane,idVec3)
__const_coal:0051EEB4                 dd offset __ZN11rvToolsStub16DmapOutputStringEPKc ; rvToolsStub::DmapOutputString(char const*)
__const_coal:0051EEB8                 dd offset __ZN11rvToolsStub15SetListenerAreaEi ; rvToolsStub::SetListenerArea(int)
__const_coal:0051EEBC                 dd offset __ZNK11rvToolsStub15GetListenerAreaEv ; rvToolsStub::GetListenerArea(void)
__const_coal:0051EEC0                 dd offset __ZN11rvToolsStub10PhonemeGenERK9idCmdArgs ; rvToolsStub::PhonemeGen(idCmdArgs const&)
__const_coal:0051EEC4                 dd offset __ZN11rvToolsStub9ShakesGenERK9idCmdArgs ; rvToolsStub::ShakesGen(idCmdArgs const&)
__const_coal:0051EEC8                 dd offset __ZN11rvToolsStub13RoQFileEncodeERK9idCmdArgs ; rvToolsStub::RoQFileEncode(idCmdArgs const&)
__const_coal:0051EECC                 dd offset __ZN11rvToolsStub10RenderbumpERK9idCmdArgs ; rvToolsStub::Renderbump(idCmdArgs const&)
__const_coal:0051EED0                 dd offset __ZN11rvToolsStub14RenderbumpFlatERK9idCmdArgs ; rvToolsStub::RenderbumpFlat(idCmdArgs const&)
__const_coal:0051EED4                 dd offset __ZN11rvToolsStub4DmapERK9idCmdArgs ; rvToolsStub::Dmap(idCmdArgs const&)
__const_coal:0051EED8                 dd offset __ZN11rvToolsStub6RunAASERK9idCmdArgs ; rvToolsStub::RunAAS(idCmdArgs const&)
__const_coal:0051EEDC                 dd offset __ZN11rvToolsStub9RunAASDirERK9idCmdArgs ; rvToolsStub::RunAASDir(idCmdArgs const&)
__const_coal:0051EEE0                 dd offset __ZN11rvToolsStub8RunReachERK9idCmdArgs ; rvToolsStub::RunReach(idCmdArgs const&)
__const_coal:0051EEE4                 dd offset __ZN11rvToolsStub10RunClusterERK9idCmdArgs ; rvToolsStub::RunCluster(idCmdArgs const&)
__const_coal:0051EEE8                 dd offset __ZN11rvToolsStub14RunAASTacticalERK9idCmdArgs ; rvToolsStub::RunAASTactical(idCmdArgs const&)
__const_coal:0051EEEC                 dd offset __ZN11rvToolsStub12LocaliseGuisERK9idCmdArgs ; rvToolsStub::LocaliseGuis(idCmdArgs const&)
__const_coal:0051EEF0                 dd offset __ZN11rvToolsStub16LocaliseLipsyncsERK9idCmdArgs ; rvToolsStub::LocaliseLipsyncs(idCmdArgs const&)
__const_coal:0051EEF4                 dd offset __ZN11rvToolsStub12LocaliseMapsERK9idCmdArgs ; rvToolsStub::LocaliseMaps(idCmdArgs const&)
__const_coal:0051EEF8                 dd offset __ZN11rvToolsStub24LocaliseValidateLipsyncsERK9idCmdArgs ; rvToolsStub::LocaliseValidateLipsyncs(idCmdArgs const&)
__const_coal:0051EEFC                 dd offset __ZN11rvToolsStub23LocaliseValidateStringsERK9idCmdArgs ; rvToolsStub::LocaliseValidateStrings(idCmdArgs const&)
 

icecoldduke

Administrator
Staff member
Potential class for accessing toolsx86.dll
Code:
class rvToolsInterface {
public:
    rvToolsInterface::~rvToolsInterface() = 0;
    virtual void GetInstance(void) = 0;
    virtual HWND GetParentWindow(void) = 0;
    virtual HDC GetDC(void) = 0;
    virtual bool IsParentWindowVisible(void) = 0;
    virtual void InitTool(int,idDict const*) = 0;
    virtual void ShutdownTool(int) = 0;
    virtual bool IsToolActive(int) = 0;
    virtual void Frame(void) = 0;
    virtual void Shutdown(void) = 0;
    virtual void HandleToolPrint(char const*) = 0;
    virtual void HandleMapChange(void) = 0;
    virtual void StartLevelLoad(void) = 0;
    virtual void EndLevelLoad(void) = 0;
    virtual int GetSourceControl(void) = 0;
    virtual void MakeGameCurrent(void) = 0;
    virtual void SetDefaultState(void) = 0;
    virtual void Set2D(int,int) = 0;
    virtual void DoRBFDialog(char const*) = 0;
    virtual void PlaybackEditorRefresh(void) = 0;
    virtual void ModViewShutdown(char const*) = 0;
    virtual void ModViewRun(void) = 0;
    virtual void ModViewGetJointStatus(int) = 0;
    virtual bool ModViewIsSurfaceSelected(char const*) = 0;
    virtual bool ModViewIsSurfaceHidden(char const*) = 0;
    virtual int ModViewGetBgrndColor(void) = 0;
    virtual bool FXEditorIsActive(void) = 0;
    virtual void FXEditorRefreshEffects(void) = 0;
    virtual void FXEditorPlayEffect(bool) = 0;
    virtual void FXEditorStopEffect(void) = 0;
    virtual void FXEditorRefreshMaterials(void) = 0;

    // Unknown return class!
    virtual void *GEAllocateWindowWrapper(idWindow *) = 0;

    virtual void GEDeallocateWindowWrapper(idWindow *) = 0;

    virtual void GEFinish(idWindow *) = 0;
    virtual void GEAddScript(idWindow *,char const*,char const*) = 0;
    virtual void GEVariableDictSet(idWindow *,char const*,char const*) = 0;
    virtual int GESetStateKey(idWindow *,char const*,char const*,bool) = 0;
    virtual void GEMessage(char const*,...) = 0;
    virtual void DebuggerPrint(char const*) = 0;
    virtual void DebuggerCheckBreakpoint(idInterpreter *,idProgram *,int) = 0;
    virtual void DmapCleanupOptimizedShadowTris(int,srfTriangles_s *) = 0;
    virtual void DmapSuperOptimizeOccluders(SOOData_s *,idVec4 *,int *,int,idPlane,idVec3) = 0;
    virtual void DmapOutputString(char const*) = 0;
    virtual void SetListenerArea(int) = 0;
    virtual int GetListenerArea(void) = 0;
    virtual void PhonemeGen(idCmdArgs const&) = 0;
    virtual void ShakesGen(idCmdArgs const&) = 0;
    virtual void RoQFileEncode(idCmdArgs const&) = 0;
    virtual void Renderbump(idCmdArgs const&) = 0;
    virtual void RenderbumpFlat(idCmdArgs const&) = 0;
    virtual void Dmap(idCmdArgs const&) = 0;
    virtual void RunAAS(idCmdArgs const&) = 0;
    virtual void RunAASDir(idCmdArgs const&) = 0;
    virtual void RunReach(idCmdArgs const&) = 0;
    virtual void RunCluster(idCmdArgs const&) = 0;
    virtual void RunAASTactical(idCmdArgs const&) = 0;
    virtual void LocaliseGuis(idCmdArgs const&) = 0;
    virtual void LocaliseLipsyncs(idCmdArgs const&) = 0;
    virtual void LocaliseMaps(idCmdArgs const&) = 0;
    virtual void LocaliseValidateLipsyncs(idCmdArgs const&) = 0;
    virtual void LocaliseValidateStrings(idCmdArgs const&) = 0;
};
 

icecoldduke

Administrator
Staff member
Code:
struct rvToolsImport_t {
    int version;
    int unknown;
    HWND hwnd;
    HDC hdc;
    HGLRC hglrc;
    PIXELFORMATDESCRIPTOR *pfd;
    idSys *sys;
    idCommon *common;
    idCmdSystem *cmdSystem;
    idFileSystem *fileSystem;
    idRenderSystem *renderSystem;
    idSoundSystem *soundSystem;
    idRenderModelManager *renderModelManager;
          idUserInterfaceManager *userInterfaceManager;
    idDeclManager *declManager;
        void *off_103FCAA0;
    idCollisionModelManager *collisionModelManager;
        idGameEdit *gameEdit;
        void *off_103174C8;
        void *off_1031B6B8;
        void *off_1030FFB0;
        void *off_10310698;
        void *off_103FC49C;
        void *off_10310040;
        void *off_103FC344[0];
        void *off_103FC428;
        idSession *session;
        idImageManager *globalImages;
    idGameLocal *game;
};
 

icecoldduke

Administrator
Staff member
Code:
rvToolsInterface *GetToolsAPI(rvToolsImport_t *api, operator new, operator delete, int *(GetHeapSize)(void *unknown))
 
Top