|
From: <ha...@us...> - 2002-11-28 09:55:18
|
Update of /cvsroot/decaldev/source/Decal
In directory sc8-pr-cvs1:/tmp/cvs-serv24256
Modified Files:
ACHooks.h ACHooks.cpp
Log Message:
SetCombatState, LocalChatText/LocalChatEmote
Index: ACHooks.h
===================================================================
RCS file: /cvsroot/decaldev/source/Decal/ACHooks.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** ACHooks.h 8 Nov 2002 17:50:43 -0000 1.23
--- ACHooks.h 28 Nov 2002 09:55:15 -0000 1.24
***************
*** 88,91 ****
--- 88,93 ----
bool m_bCombatState;
long m_lCombatState;
+ bool m_bSetCombatState;
+ long m_lSetCombatState;
bool m_bChatState;
***************
*** 139,142 ****
--- 141,146 ----
bool m_bSendMessageToID;
bool m_bSendMessageToName;
+ bool m_bLocalChatText;
+ bool m_bLocalChatEmote;
long m_lInternalStringConstructor;
***************
*** 144,147 ****
--- 148,153 ----
long m_lSendMessageToID;
long m_lSendMessageToName;
+ long m_lLocalChatText;
+ long m_lLocalChatEmote;
bool m_bGetVital;
***************
*** 150,153 ****
--- 156,162 ----
public:
+ static cACHooks* s_pACHooks;
+ void InternalObjectDestroyed( DWORD dwGuid );
+
STDMETHOD(MoveItemEx)(long lObjectID, long lDestinationID);
STDMETHOD(get_PointerState)(long *pVal);
***************
*** 161,164 ****
--- 170,174 ----
STDMETHOD(get_ChatState)(VARIANT_BOOL *pVal);
STDMETHOD(get_CombatState)(long *pVal);
+ STDMETHOD(SetCombatState)(long pVal);
STDMETHOD(UseItem)(long lObjectID, long lUseState);
STDMETHOD(SelectItem)(long lObjectID);
***************
*** 188,194 ****
STDMETHOD(SetAutorun)(VARIANT_BOOL bOnOff) ;
STDMETHOD(get_Vital)(long Vital, long* pVal);
!
! static cACHooks* s_pACHooks;
! void InternalObjectDestroyed (DWORD dwGuid);
};
-
--- 198,202 ----
STDMETHOD(SetAutorun)(VARIANT_BOOL bOnOff) ;
STDMETHOD(get_Vital)(long Vital, long* pVal);
! STDMETHOD(LocalChatText)(BSTR Text);
! STDMETHOD(LocalChatEmote)(BSTR EmoteText);
};
Index: ACHooks.cpp
===================================================================
RCS file: /cvsroot/decaldev/source/Decal/ACHooks.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** ACHooks.cpp 12 Nov 2002 19:54:52 -0000 1.28
--- ACHooks.cpp 28 Nov 2002 09:55:15 -0000 1.29
***************
*** 12,15 ****
--- 12,17 ----
long (*pfnSendMessageToID)( qString *, long ) = NULL;
long (*pfnSendMessageToName)( qString *, qString * ) = NULL;
+ long (*pfnLocalChatText)( qString * ) = NULL;
+ long (*pfnLocalChatEmote)( qString * ) = NULL;
qString* ( __fastcall *pfnInternalStringConstructor)( qString *, long, char * ) = NULL;
***************
*** 35,38 ****
--- 37,41 ----
m_bUseItem = false;
m_bCombatState = false;
+ m_bSetCombatState = false;
m_bChatState = false;
m_bGetFellowStats = false;
***************
*** 46,49 ****
--- 49,54 ----
m_bSendMessageToID = false;
m_bSendMessageToName = false;
+ m_bLocalChatText = false;
+ m_bLocalChatEmote = false;
m_bSetAutorun = false;
m_bGetVital = false;
***************
*** 127,131 ****
}
}
!
long Val;
if( QueryMemLoc( _bstr_t( "PrevItem1" ), &Val ) == S_OK )
--- 132,136 ----
}
}
!
long Val;
if( QueryMemLoc( _bstr_t( "PrevItem1" ), &Val ) == S_OK )
***************
*** 138,142 ****
}
-
if( QueryMemLoc( _bstr_t( "CurrentItem1" ), &Val ) == S_OK )
m_lCurrentSelect[0] = Val;
--- 143,146 ----
***************
*** 198,205 ****
{
m_bCombatState = true;
! m_Hooks |= (eCombatState|ePosition) ;
m_lCombatState = Val;
}
if( QueryMemLoc( _bstr_t( "ChatState" ), &Val ) == S_OK )
{
--- 202,216 ----
{
m_bCombatState = true;
! m_Hooks |= eCombatState ;
m_lCombatState = Val;
}
+ if( QueryMemLoc( _bstr_t( "SetCombatState" ), &Val ) == S_OK )
+ {
+ m_bSetCombatState = true;
+ m_Hooks |= eSetCombatState ;
+ m_lSetCombatState = Val;
+ }
+
if( QueryMemLoc( _bstr_t( "ChatState" ), &Val ) == S_OK )
{
***************
*** 397,403 ****
--- 408,440 ----
}
+ if( QueryMemLoc( _bstr_t( "LocalChatText" ), &Val ) == S_OK)
+ {
+ m_bLocalChatText = true;
+ m_lLocalChatText = Val;
+
+ pfnLocalChatText = reinterpret_cast< long(*)(qString *) >( Val );
+ }
+
+ if( QueryMemLoc( _bstr_t( "LocalChatEmote" ), &Val ) == S_OK)
+ {
+ m_bLocalChatEmote = true;
+ m_lLocalChatEmote = Val;
+
+ pfnLocalChatEmote = reinterpret_cast< long(*)(qString *) >( Val );
+ }
+
if( m_bInternalStringConstructor && m_bInternalStringDestructor && m_bSendMessageToID )
m_Hooks |= eSendTell;
+ if( m_bInternalStringConstructor && m_bInternalStringDestructor && m_bSendMessageToName )
+ m_Hooks |= eSendTellEx;
+
+ if( m_bInternalStringConstructor && m_bInternalStringDestructor && m_bLocalChatText )
+ m_Hooks |= eLocalChatText;
+
+ if( m_bInternalStringConstructor && m_bInternalStringDestructor && m_bLocalChatEmote )
+ m_Hooks |= eLocalChatEmote;
+
+
if( QueryMemLoc( _bstr_t( "GetVital" ), &Val ) == S_OK )
{
***************
*** 453,458 ****
if( i != m_mLocationList.end() )
{
! *pVal = i->second.Location;
! return S_OK;
}
--- 490,495 ----
if( i != m_mLocationList.end() )
{
! *pVal = i->second.Location;
! return S_OK;
}
***************
*** 909,912 ****
--- 946,963 ----
}
+ STDMETHODIMP cACHooks::SetCombatState(long pVal)
+ {
+ if( !m_bSetCombatState )
+ return S_FALSE;
+
+ if( (pVal < 1) || (pVal > 4) )
+ return E_INVALIDARG;
+
+ typedef void(__fastcall *SetCombatStatePtr)( long, long, long, long );
+ SetCombatStatePtr pSetCState = reinterpret_cast< SetCombatStatePtr >( m_lSetCombatState );
+ pSetCState( *( reinterpret_cast< long * >( m_lCombatState ) ), 0, pVal, 1 );
+
+ return S_OK;
+ }
STDMETHODIMP cACHooks::get_ChatState(VARIANT_BOOL *pVal)
***************
*** 1325,1328 ****
--- 1376,1413 ----
}
+ STDMETHODIMP cACHooks::LocalChatText(BSTR Text)
+ {
+ if( !(m_bInternalStringConstructor && m_bInternalStringDestructor && m_bLocalChatText) )
+ return S_FALSE;
+
+ USES_CONVERSION;
+ char *szText = OLE2A( Text );
+
+ qString qSText;
+
+ pfnInternalStringConstructor( &qSText, 0, szText );
+ pfnLocalChatText( &qSText );
+ pfnInternalStringDestructor( &qSText );
+
+ return S_OK;
+ }
+
+ STDMETHODIMP cACHooks::LocalChatEmote(BSTR EmoteText)
+ {
+ if( !(m_bInternalStringConstructor && m_bInternalStringDestructor && m_bLocalChatEmote) )
+ return S_FALSE;
+
+ USES_CONVERSION;
+ char *szText = OLE2A( EmoteText );
+
+ qString qSText;
+
+ pfnInternalStringConstructor( &qSText, 0, szText );
+ pfnLocalChatEmote( &qSText );
+ pfnInternalStringDestructor( &qSText );
+
+ return S_OK;
+ }
+
STDMETHODIMP cACHooks::get_Vital(long Vital, long* pVal)
{
***************
*** 1361,1368 ****
void OnObjectDestroyed (DWORD dwGuid)
{
! if (cACHooks::s_pACHooks)
! {
! cACHooks::s_pACHooks->InternalObjectDestroyed (dwGuid);
! }
}
--- 1446,1451 ----
void OnObjectDestroyed (DWORD dwGuid)
{
! if( cACHooks::s_pACHooks )
! cACHooks::s_pACHooks->InternalObjectDestroyed( dwGuid );
}
***************
*** 1424,1427 ****
}
! return dwOriginal ;
}
--- 1507,1510 ----
}
! return dwOriginal;
}
|