You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(42) |
Sep
(42) |
Oct
(57) |
Nov
(12) |
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(14) |
Feb
(4) |
Mar
(52) |
Apr
(13) |
May
(89) |
Jun
(38) |
Jul
(5) |
Aug
(32) |
Sep
(68) |
Oct
(27) |
Nov
(2) |
Dec
(13) |
2004 |
Jan
(3) |
Feb
(6) |
Mar
(3) |
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jeffrey D. <ha...@us...> - 2003-08-31 06:05:47
|
Log Message: ----------- Info button on client patches, + fix for turning the options off Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.rc OptionsDlg.cpp OptionsDlg.h resource.h Revision Data ------------- Index: DenAgent.rc =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.rc,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- DenAgent.rc 29 Aug 2003 23:41:15 -0000 1.74 +++ DenAgent.rc 31 Aug 2003 06:05:46 -0000 1.75 @@ -182,6 +182,7 @@ CONTROL "Windowed Mode",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,143,71,11 GROUPBOX "Client Patches",IDC_STATIC,14,122,244,35 + PUSHBUTTON "?",IDC_PATCHHELP,241,135,10,15 END IDD_DOWNLOADER DIALOG 0, 0, 202, 86 Index: OptionsDlg.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- OptionsDlg.cpp 29 Aug 2003 23:42:37 -0000 1.23 +++ OptionsDlg.cpp 31 Aug 2003 06:05:46 -0000 1.24 @@ -64,6 +64,7 @@ ON_BN_CLICKED(IDC_OLDINJECT, OnBnClickedOldInject) ON_BN_CLICKED(IDC_TIMESTAMPON, OnBnClickedTimestampon) ON_BN_CLICKED(IDC_FORMATHELP, OnBnClickedFormathelp) + ON_BN_CLICKED(IDC_PATCHHELP, OnBnClickedPatchHelp) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -306,6 +307,9 @@ key.SetDWORDValue( "AllowWindowed", 0x1L ); } + else + key.SetDWORDValue( "AllowWindowed", 0x0L ); + if( ::SendMessage( GetDlgItem( IDC_DUALLOG )->m_hWnd, BM_GETCHECK, 0, 0 ) ) { // enabled, but old inject is on @@ -316,6 +320,9 @@ key.SetDWORDValue( "AllowDualLog", 0x1L ); } + else + key.SetDWORDValue( "AllowDualLog", 0x0L ); + // cbt hook injection if( ::SendMessage(GetDlgItem(IDC_OLDINJECT)->m_hWnd, BM_GETCHECK, 0, 0) ) { @@ -487,3 +494,8 @@ //open up ie and point at.... <Heyus> TimestampFormat.htm ShellExecute(m_hWnd, _T("open"), _T("http://decaldev.sf.net/TimestampFormat.htm"), 0, 0, 0); } + +void cOptionsDlg::OnBnClickedPatchHelp() +{ + ShellExecute(m_hWnd, _T("open"), _T("http://decaldev.sf.net/clientpatchinfo.html"), 0, 0, 0); +} \ No newline at end of file Index: OptionsDlg.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- OptionsDlg.h 29 Aug 2003 23:41:15 -0000 1.7 +++ OptionsDlg.h 31 Aug 2003 06:05:46 -0000 1.8 @@ -65,6 +65,7 @@ afx_msg void OnBnClickedCheckAutostart(); afx_msg void OnBnClickedTimestampon(); afx_msg void OnBnClickedFormathelp(); + afx_msg void OnBnClickedPatchHelp(); }; //{{AFX_INSERT_LOCATION}} Index: resource.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/resource.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- resource.h 29 Aug 2003 23:41:15 -0000 1.22 +++ resource.h 31 Aug 2003 06:05:46 -0000 1.23 @@ -82,6 +82,8 @@ #define IDC_OLDINJECT 1054 #define IDC_DUALLOG 1055 #define IDC_WINDOWED 1056 +#define IDC_BUTTON2 1057 +#define IDC_PATCHHELP 1057 #define ID_SYSTRAY_CONFIGURE 32771 #define ID_SYSTRAY_EXIT 32772 @@ -91,7 +93,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 152 #define _APS_NEXT_COMMAND_VALUE 32776 -#define _APS_NEXT_CONTROL_VALUE 1057 +#define _APS_NEXT_CONTROL_VALUE 1058 #define _APS_NEXT_SYMED_VALUE 105 #endif #endif |
From: Jeffrey D. <ha...@us...> - 2003-08-31 06:05:02
|
Log Message: ----------- forgot to add this too Modified Files: -------------- /cvsroot/decaldev/source/DecalNet: ACMessage.h Revision Data ------------- Index: ACMessage.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/ACMessage.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ACMessage.h 3 Oct 2002 05:25:50 -0000 1.1 +++ ACMessage.h 31 Aug 2003 06:05:01 -0000 1.2 @@ -11,5 +11,6 @@ class ACMessageSink { public: - virtual void onMessage (ACMessage&) = 0; + virtual void onMessage( ACMessage& ) = 0; + virtual void onMessageOut( ACMessage& ) = 0; }; |
From: Jeffrey D. <ha...@us...> - 2003-08-30 23:55:25
|
Log Message: ----------- It's still lane's fault Modified Files: -------------- /cvsroot/decaldev/source/DecalNet: NetService.cpp Revision Data ------------- Index: NetService.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/NetService.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- NetService.cpp 30 Aug 2003 23:21:18 -0000 1.12 +++ NetService.cpp 30 Aug 2003 23:54:41 -0000 1.13 @@ -9,7 +9,8 @@ #include "FilterAdapterV1.h" -//#define _OUTGOING_PACKETS_ +#define _OUTGOING_PACKETS_ +//#define _LOGGING extern DWORD HookCall (DWORD dwCallAddress, DWORD dwReplacement); extern void PacketComplete (); @@ -52,8 +53,6 @@ g_lPacketCompleteCallLocation = 0; // just in case. hookFunctions( _hooks, 2, true ); - - hookFunctions( _hooks, 2, true ); if( _hooks[ 0 ].m_pOldFunction != 0 ) g_fn_recvfrom = reinterpret_cast< fn_recvfrom >( _hooks[ 0 ].m_pOldFunction ); else if( _hooks[ 1 ].m_pOldFunction != 0 ) @@ -72,8 +71,7 @@ _ASSERTE( false ); #endif - if( !g_lPacketCompleteCallLocation ) - m_stack.start( this ); + m_stack.start( this ); // Start all of the network filters { @@ -144,18 +142,17 @@ m_filters.clear(); - if( !g_lPacketCompleteCallLocation ) - m_stack.stop(); + m_stack.stop(); if( g_pService == this ) { - if (g_lPacketCompleteCallLocation) +#ifdef _OUTGOING_PACKETS_ + hookFunctions( _hooksOut, 1, false ); +#endif + if( g_lPacketCompleteCallLocation ) HookCall( g_lPacketCompleteCallLocation, g_lPacketCompleteProc ); else - { hookFunctions( _hooks, 2, false ); - hookFunctions( _hooksOut, 1, false ); - } g_pService = NULL; } |
From: Jeffrey D. <ha...@us...> - 2003-08-30 23:21:20
|
Log Message: ----------- I blame it on Lane Modified Files: -------------- /cvsroot/decaldev/source/DecalNet: NetService.cpp NetService.h ProtocolStack.cpp ProtocolStack.h Revision Data ------------- Index: NetService.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/NetService.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- NetService.cpp 30 May 2003 04:12:03 -0000 1.11 +++ NetService.cpp 30 Aug 2003 23:21:18 -0000 1.12 @@ -4,11 +4,13 @@ #include "NetService.h" #include "Message.h" -#include "ProtocolHook.h" #include <ApiHook.h> +#include "ProtocolHook.h" #include "FilterAdapterV1.h" +//#define _OUTGOING_PACKETS_ + extern DWORD HookCall (DWORD dwCallAddress, DWORD dwReplacement); extern void PacketComplete (); @@ -22,10 +24,13 @@ // Functions for hooking from wsock32.dll int PASCAL recvfromF( SOCKET s, char FAR* buf, int len, int flags, struct sockaddr FAR* from, int FAR* fromlen ); - +int PASCAL sendtoF( SOCKET s, const char FAR* buf, int len, int flags, const struct sockaddr FAR* to, int tolen ); static cHookDescriptor _hooks[] = { - { eByOrdinal, _T( "fsock32.dll" ), _T( "recvfrom" ), 17, reinterpret_cast< DWORD >( recvfromF ), 0 }, - { eByOrdinal, _T( "wsock32.dll" ), _T( "recvfrom" ), 17, reinterpret_cast< DWORD >( recvfromF ), 0 }, + { eByOrdinal, _T( "fsock32.dll" ), _T( "recvfrom" ), 17, reinterpret_cast< DWORD >( recvfromF ), 0 }, + { eByOrdinal, _T( "wsock32.dll" ), _T( "recvfrom" ), 17, reinterpret_cast< DWORD >( recvfromF ), 0 }, +}; +static cHookDescriptor _hooksOut[] = { + { eByOrdinal, _T( "wsock32.dll" ), _T( "sendto" ), 20, reinterpret_cast< DWORD >( sendtoF ), 0 }, }; HRESULT cNetService::onInitialize() @@ -34,20 +39,20 @@ { g_pService = this; - CComPtr<IACHooks> pHooks; - m_pDecal->get_Hooks( &pHooks ); + m_pDecal->get_Hooks( &m_pHooks ); - pHooks->QueryMemLoc (_bstr_t ("PacketComplete"), &g_lPacketCompleteCallLocation); - pHooks->QueryMemLoc (_bstr_t ("PacketDataOffset"), &g_lPacketDataOffset); - pHooks->QueryMemLoc (_bstr_t ("PacketSizeOffset"), &g_lPacketSizeOffset); + m_pHooks->QueryMemLoc( _bstr_t( "PacketComplete" ), &g_lPacketCompleteCallLocation ); + m_pHooks->QueryMemLoc( _bstr_t( "PacketDataOffset" ), &g_lPacketDataOffset ); + m_pHooks->QueryMemLoc( _bstr_t( "PacketSizeOffset" ), &g_lPacketSizeOffset ); - if (g_lPacketCompleteCallLocation && g_lPacketDataOffset && g_lPacketSizeOffset) - { - g_lPacketCompleteProc = HookCall ((DWORD) g_lPacketCompleteCallLocation, (DWORD) PacketComplete); - } + if( g_lPacketCompleteCallLocation && g_lPacketDataOffset && g_lPacketSizeOffset ) + g_lPacketCompleteProc = HookCall( g_lPacketCompleteCallLocation, (DWORD) PacketComplete ); else { g_lPacketCompleteCallLocation = 0; // just in case. + + hookFunctions( _hooks, 2, true ); + hookFunctions( _hooks, 2, true ); if( _hooks[ 0 ].m_pOldFunction != 0 ) g_fn_recvfrom = reinterpret_cast< fn_recvfrom >( _hooks[ 0 ].m_pOldFunction ); @@ -58,10 +63,17 @@ } } - if (!g_lPacketCompleteCallLocation) - { +#ifdef _OUTGOING_PACKETS_ + hookFunctions( _hooksOut, 1, true ); + + if( _hooksOut[ 0 ].m_pOldFunction != 0 ) + g_fn_sendto = reinterpret_cast< fn_sendto >( _hooksOut[ 0 ].m_pOldFunction ); + else + _ASSERTE( false ); +#endif + + if( !g_lPacketCompleteCallLocation ) m_stack.start( this ); - } // Start all of the network filters { @@ -132,40 +144,75 @@ m_filters.clear(); - if (!g_lPacketCompleteCallLocation) - { + if( !g_lPacketCompleteCallLocation ) m_stack.stop(); - } if( g_pService == this ) { if (g_lPacketCompleteCallLocation) - { - HookCall (g_lPacketCompleteCallLocation, g_lPacketCompleteProc); - } + HookCall( g_lPacketCompleteCallLocation, g_lPacketCompleteProc ); else { hookFunctions( _hooks, 2, false ); + hookFunctions( _hooksOut, 1, false ); } g_pService = NULL; } + + m_pHooks.Release(); } int PASCAL recvfromF( SOCKET s, char FAR* buf, int len, int flags, struct sockaddr FAR* from, int FAR* fromlen ) { + _ASSERTE( cNetService::g_pService != NULL ); + + int iRes = cNetService::g_fn_recvfrom( s, buf, len, flags, from, fromlen ); + +#ifdef _LOGGING_ + if( iRes != SOCKET_ERROR && cNetService::g_pService != NULL ) + { + char *harro = new char[256]; + _snprintf(harro, 256, "recvfrom( %d, %08X, %d, %d, %08X, %d ) = %d", s, buf, len, flags, from, fromlen, iRes); + m_pHooks->ChatOut(_bstr_t (harro), 0); + delete[] harro; + } +#endif + + if( iRes != SOCKET_ERROR && cNetService::g_pService != NULL ) + cNetService::g_pService->m_stack.processPacket( static_cast< DWORD >( iRes ), reinterpret_cast< BYTE * >( buf ) ); + + return iRes; +} + +int PASCAL sendtoF( SOCKET s, const char FAR* buf, int len, int flags, const struct sockaddr FAR* to, int tolen ) +{ _ASSERTE( cNetService::g_pService != NULL ); - int iRes = cNetService::g_fn_recvfrom( s, buf, len, flags, from, fromlen ); +#ifdef _LOGGING_ + char *harro = new char[256]; + char *buffer = new char[512]; + sprintf(harro, "sendto( %d, %08X, %d, %d, %s:%d, %d )", + s, buf, len, flags, + inet_ntoa( ((sockaddr_in *)(to))->sin_addr ), + ntohs( ((sockaddr_in *)(to))->sin_port ), + tolen); + m_pHooks->ChatOut(_bstr_t (harro), 0); + delete[] buffer; + delete[] harro; +#endif + + int iRes = cNetService::g_fn_sendto( s, buf, len, flags, to, tolen ); if( iRes != SOCKET_ERROR && cNetService::g_pService != NULL ) - cNetService::g_pService->m_stack.processPacket( static_cast< DWORD >( iRes ), reinterpret_cast< BYTE * >( buf ) ); + cNetService::g_pService->m_stack.processPacketOut( static_cast< DWORD >( len ), reinterpret_cast< const BYTE * >( buf ) ); return iRes; } cNetService *cNetService::g_pService = NULL; cNetService::fn_recvfrom cNetService::g_fn_recvfrom = NULL; +cNetService::fn_sendto cNetService::g_fn_sendto = NULL; void cNetService::onMessage( ACMessage &msg ) { @@ -184,6 +231,19 @@ i->m_p->DispatchServer( m_pMessage ); } +void cNetService::onMessageOut( ACMessage &msg ) +{ + _ASSERTE( m_pMessage != NULL ); + + DWORD dwMessageCode = msg.getType(); + + m_pMessage->crackMessage( msg.getData (), msg.getSize () ); + + // Dispatch the message to all of the network filters + for( cFilterList::iterator i = m_filters.begin(); i != m_filters.end(); ++ i ) + i->m_p->DispatchClient( m_pMessage ); +} + STDMETHODIMP cNetService::BeforePlugins() { USES_CONVERSION; @@ -319,7 +379,7 @@ } } -void __declspec (naked) PacketComplete () +void __declspec (naked) PacketComplete() { _asm { @@ -373,3 +433,4 @@ return dwOriginal ; } + Index: NetService.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/NetService.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- NetService.h 3 Oct 2002 05:27:12 -0000 1.4 +++ NetService.h 30 Aug 2003 23:21:18 -0000 1.5 @@ -31,21 +31,26 @@ HRESULT onInitialize(); void onTerminate(); - static cNetService *g_pService; - typedef int (PASCAL *fn_recvfrom)(SOCKET, char FAR*, int , int, struct sockaddr FAR*, int FAR*); - static fn_recvfrom g_fn_recvfrom; + CComPtr< IACHooks > m_pHooks; - // ACMessageSink overrides - virtual void onMessage (ACMessage&); + static cNetService *g_pService; + typedef int (PASCAL *fn_recvfrom)(SOCKET, char FAR*, int , int, struct sockaddr FAR*, int FAR*); + typedef int (PASCAL *fn_sendto)(SOCKET, const char FAR*, int , int, const struct sockaddr FAR*, int); + static fn_recvfrom g_fn_recvfrom; + static fn_sendto g_fn_sendto; - // The network filter list - enum ePluginVersion { eVersion1, eVersion2 }; - struct cFilter - { - ePluginVersion m_ver; - CLSID m_clsid; - CComPtr< INetworkFilter2 > m_p; - }; + // ACMessageSink overrides + virtual void onMessage( ACMessage& ); + virtual void onMessageOut( ACMessage& ); + + // The network filter list + enum ePluginVersion { eVersion1, eVersion2 }; + struct cFilter + { + ePluginVersion m_ver; + CLSID m_clsid; + CComPtr< INetworkFilter2 > m_p; + }; typedef std::list< cFilter > cFilterList; cFilterList m_filters; Index: ProtocolStack.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/ProtocolStack.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ProtocolStack.cpp 3 Oct 2002 05:27:12 -0000 1.4 +++ ProtocolStack.cpp 30 Aug 2003 23:21:18 -0000 1.5 @@ -186,6 +186,42 @@ splitPacket( dwLength - dwOffset, pbPayload + dwOffset ); } +void cMessageStack::processPacketOut( DWORD dwLength, const BYTE *pbPayload ) +{ + // First filter based on our status and the message type + if( m_pCallback == NULL ) + // We currently only support send or receive type messages + return; + + // AC messages must be at least as big as a packet header.+ a message header + if (dwLength < (sizeof (cPacketHeader) + sizeof (cMessageHeader))) + return; + + // Filter non-application messages + const cPacketHeader *pHeader = reinterpret_cast< const cPacketHeader * >( pbPayload ); + + if((pHeader->m_wTotalSize) != (dwLength - sizeof(cPacketHeader))) + return; + + DWORD dwOffset = 0; + if (pHeader->m_dwFlags & 0x00100000) + // 8 extra header bytes + dwOffset += 8; + + if (pHeader->m_dwFlags & 0x00200000) + // 6 extra header bytes + dwOffset += 6; + + if (pHeader->m_dwFlags & 0x00800000) + // 4 extra header bytes + dwOffset += 4; + + if (dwLength < (dwOffset + sizeof (cMessageHeader))) + return; + + splitPacketOut( dwLength - dwOffset, const_cast<const BYTE *>(pbPayload + dwOffset) ); +} + void cMessageStack::splitPacket( DWORD dwLength, BYTE *pbPayload ) { DWORD dwFragLength = 0; @@ -225,6 +261,51 @@ if( msg.isComplete() ) // It's only one piece, dispatch right away m_pCallback->onMessage( msg ); + else + // This requires more parts add it into the queue to wait + m_messages.push_back( msg ); + } +} + +void cMessageStack::splitPacketOut( DWORD dwLength, const BYTE *pbPayload ) +{ + DWORD dwFragLength = 0; + BYTE *i_end_packet = const_cast< BYTE * >(pbPayload) + dwLength; + + for( BYTE *iFrag = const_cast< BYTE * >(pbPayload) + sizeof( cPacketHeader ); iFrag != i_end_packet; iFrag += dwFragLength ) + { + dwFragLength = reinterpret_cast< const cMessageHeader * >( iFrag )->m_wFragmentLength; + + if( dwFragLength == 0 || ( iFrag + dwFragLength ) > i_end_packet ) + // We are off the end somehow + return; + + // First walk through our cached fragments and see if one will take this fragment + for( cMessageList::iterator i = m_messages.begin(); i != m_messages.end(); ++ i ) + { + if( i->fragmentMatch( iFrag ) ) + { + i->insertFragment( iFrag ); + if( i->isComplete() ) + { + // Remove it from the list and dispatch the message + m_pCallback->onMessageOut( *i ); + m_messages.erase( i ); + } + break; + } + } + + if( i != m_messages.end() ) + // The fragment was found in the list + continue; + + // Ok, we have a new fragment on our hands - generate the fragment object + cProtocolMessage msg( iFrag ); + + if( msg.isComplete() ) + // It's only one piece, dispatch right away + m_pCallback->onMessageOut( msg ); else // This requires more parts add it into the queue to wait m_messages.push_back( msg ); Index: ProtocolStack.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/ProtocolStack.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ProtocolStack.h 3 Oct 2002 05:27:12 -0000 1.3 +++ ProtocolStack.h 30 Aug 2003 23:21:18 -0000 1.4 @@ -96,9 +96,11 @@ void stop(); void processPacket( DWORD dwLength, BYTE *pbPayload ); + void processPacketOut( DWORD dwLength, const BYTE *pbPayload ); private: void splitPacket( DWORD dwLength, BYTE *pbPayload ); + void splitPacketOut( DWORD dwLength, const BYTE *pbPayload ); }; #endif |
From: John D. <go...@us...> - 2003-08-30 16:57:29
|
Log Message: ----------- Added storage of ID Packet information to World Filter! No, the ID request must still come externally. Modified Files: -------------- /cvsroot/decaldev/source/DecalFilters: DecalFilters.idl World.cpp World.h WorldObject.cpp WorldObject.h Revision Data ------------- Index: DecalFilters.idl =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/DecalFilters.idl,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- DecalFilters.idl 25 Aug 2003 18:18:23 -0000 1.34 +++ DecalFilters.idl 30 Aug 2003 16:57:22 -0000 1.35 @@ -544,6 +544,39 @@ [propget, id(50), helpstring("property CreateFlags2")] HRESULT CreateFlags2([out, retval] long *pVal); [propget, id(51), helpstring("property ObjectFlags1")] HRESULT ObjectFlags1([out, retval] long *pVal); [propget, id(52), helpstring("property ObjectFlags2")] HRESULT ObjectFlags2([out, retval] long *pVal); + [propget, id(53), helpstring("property HasIdData")] HRESULT HasIdData([out, retval] VARIANT_BOOL *pVal); + [propget, id(54), helpstring("property ArmorLevel")] HRESULT ArmorLevel([out, retval] long *pVal); + [propget, id(55), helpstring("property MagicDef")] HRESULT MagicDef([out, retval] long *pVal); + [propget, id(56), helpstring("property Spellcraft")] HRESULT Spellcraft([out, retval] long *pVal); + [propget, id(57), helpstring("property MaximumMana")] HRESULT MaximumMana([out, retval] long *pVal); + [propget, id(58), helpstring("property LoreReq")] HRESULT LoreReq([out, retval] long *pVal); + [propget, id(59), helpstring("property RankReq")] HRESULT RankReq([out, retval] long *pVal); + [propget, id(60), helpstring("property SkillReq")] HRESULT SkillReq([out, retval] long *pVal); + [propget, id(61), helpstring("property WieldReqType")] HRESULT WieldReqType([out, retval] long *pVal); + [propget, id(62), helpstring("property WieldReqId")] HRESULT WieldReqId([out, retval] long *pVal); + [propget, id(63), helpstring("property WieldReq")] HRESULT WieldReq([out, retval] long *pVal); + [propget, id(64), helpstring("property TinkerCount")] HRESULT TinkerCount([out, retval] long *pVal); + [propget, id(65), helpstring("property SkillReqId")] HRESULT SkillReqId([out, retval] long *pVal); + [propget, id(66), helpstring("property SpecialProps")] HRESULT SpecialProps([out, retval] long *pVal); + [propget, id(67), helpstring("property ManaCMod")] HRESULT ManaCMod([out, retval] float *pVal); + [propget, id(68), helpstring("property SpellCount")] HRESULT SpellCount([out, retval] long *pVal); + [propget, id(69), helpstring("property GetSpell")] HRESULT Spell([in] long index, [out, retval] long *pVal); + [propget, id(70), helpstring("property Inscription")] HRESULT Inscription([out, retval] BSTR *pVal); + [propget, id(71), helpstring("property WeapSpeed")] HRESULT WeapSpeed([out, retval] long *pVal); + [propget, id(72), helpstring("property EquipSkill")] HRESULT EquipSkill([out, retval] long *pVal); + [propget, id(73), helpstring("property DamageType")] HRESULT DamageType([out, retval] long *pVal); + [propget, id(74), helpstring("property MaxDamage")] HRESULT MaxDamage([out, retval] long *pVal); + [propget, id(75), helpstring("property Variance")] HRESULT Variance([out, retval] float *pVal); + [propget, id(76), helpstring("property DefenseBonus")] HRESULT DefenseBonus([out, retval] float *pVal); + [propget, id(77), helpstring("property AttackBonus")] HRESULT AttackBonus([out, retval] float *pVal); + [propget, id(78), helpstring("property Range")] HRESULT Range([out, retval] float *pVal); + [propget, id(79), helpstring("property SlashProt")] HRESULT SlashProt([out, retval] float *pVal); + [propget, id(80), helpstring("property PierceProt")] HRESULT PierceProt([out, retval] float *pVal); + [propget, id(81), helpstring("property BludProt")] HRESULT BludProt([out, retval] float *pVal); + [propget, id(82), helpstring("property ColdProt")] HRESULT ColdProt([out, retval] float *pVal); + [propget, id(83), helpstring("property FireProt")] HRESULT FireProt([out, retval] float *pVal); + [propget, id(84), helpstring("property ElectProt")] HRESULT ElectProt([out, retval] float *pVal); + [propget, id(85), helpstring("property RaceReq")] HRESULT RaceReq([out, retval] BSTR *pVal); }; [ @@ -646,3 +679,4 @@ [default] interface IIdentifyQueue; }; }; + Index: World.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.cpp,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- World.cpp 25 Aug 2003 18:18:23 -0000 1.49 +++ World.cpp 30 Aug 2003 16:57:22 -0000 1.50 @@ -32,6 +32,30 @@ BSTR strSlot; BSTR strslot; BSTR strwielder; +BSTR strkey ; +BSTR strdwords ; +BSTR strstring ; +BSTR strdoubles ; +BSTR strstrings ; +BSTR strspellCount ; +BSTR strspells ; +BSTR strspellID ; +BSTR strspellFlag ; +BSTR strdamageType ; +BSTR strspeed ; +BSTR strskill ; +BSTR strdamage ; +BSTR strdamageRange ; +BSTR strrange ; +BSTR strdefenseBonus ; +BSTR strattackBonus ; +BSTR strslashProt ; +BSTR strpierceProt ; +BSTR strbludgeonProt ; +BSTR strcoldProt ; +BSTR strfireProt ; +BSTR stracidProt ; +BSTR strelectricalProt ; BSTR strlandblock; BSTR strOffset; BSTR strStackCount; @@ -52,6 +76,7 @@ BSTR strsequence2; BSTR strcoverage; BSTR strflags1; +BSTR strflags; BSTR strlocation; BSTR strwieldingSlot; BSTR strflags2; @@ -129,6 +154,7 @@ { gevLogin = 0x0013, gevInsertIntoInventory = 0x0022, + gevIdentifyObject = 0x00C9, gevSetPackContents = 0x0196, gevDropItem = 0x019A, gevWearItem = 0x0023, @@ -154,6 +180,30 @@ SysReAllocString( &strSlot, L"Slot" ); SysReAllocString( &strslot, L"slot" ); SysReAllocString( &strwielder, L"wielder" ); + SysReAllocString( &strkey, L"key" ); + SysReAllocString( &strdwords, L"dwords" ); + SysReAllocString( &strstring, L"string" ); + SysReAllocString( &strdoubles, L"doubles") ; + SysReAllocString( &strstrings, L"strings") ; + SysReAllocString( &strspellCount, L"spellCount") ; + SysReAllocString( &strspells, L"spells") ; + SysReAllocString( &strspellID, L"spellID") ; + SysReAllocString( &strspellFlag, L"spellFlag") ; + SysReAllocString( &strdamageType, L"damageType") ; + SysReAllocString( &strspeed, L"speed") ; + SysReAllocString( &strskill, L"skill") ; + SysReAllocString( &strdamage, L"damage") ; + SysReAllocString( &strdamageRange, L"damageRange") ; + SysReAllocString( &strrange, L"range") ; + SysReAllocString( &strdefenseBonus, L"defenseBonus") ; + SysReAllocString( &strattackBonus, L"attackBonus") ; + SysReAllocString( &strslashProt, L"slashProt") ; + SysReAllocString( &strpierceProt, L"pierceProt") ; + SysReAllocString( &strbludgeonProt, L"bludgeonProt") ; + SysReAllocString( &strcoldProt, L"coldProt") ; + SysReAllocString( &strfireProt, L"fireProt") ; + SysReAllocString( &stracidProt, L"acidProt") ; + SysReAllocString( &strelectricalProt, L"electricalProt") ; SysReAllocString( &strlandblock, L"landblock" ); SysReAllocString( &strOffset, L"Offset" ); SysReAllocString( &strStackCount, L"StackCount" ); @@ -174,6 +224,7 @@ SysReAllocString( &strsequence2, L"sequence2" ); SysReAllocString( &strcoverage, L"coverage" ); SysReAllocString( &strflags1, L"flags1" ); + SysReAllocString( &strflags, L"flags" ); SysReAllocString( &strlocation, L"location" ); SysReAllocString( &strwieldingSlot, L"wieldingSlot" ); SysReAllocString( &strflags2, L"flags2" ); @@ -291,12 +342,40 @@ SysFreeString( strSlot ); SysFreeString( strslot ); SysFreeString( strwielder ); + SysFreeString( strkey ); + SysFreeString( strdwords ); + SysFreeString( strstring ); + SysFreeString(strdoubles) ; + SysFreeString(strstrings) ; + SysFreeString(strspellCount) ; + SysFreeString(strspells) ; + SysFreeString(strspellID) ; + SysFreeString(strspellFlag) ; + SysFreeString(strdamageType) ; + SysFreeString(strspeed) ; + SysFreeString(strskill) ; + SysFreeString(strdamage) ; + SysFreeString(strdamageRange) ; + SysFreeString(strrange) ; + SysFreeString(strdefenseBonus) ; + SysFreeString(strattackBonus) ; + SysFreeString(strslashProt) ; + SysFreeString(strpierceProt) ; + SysFreeString(strbludgeonProt) ; + SysFreeString(strcoldProt) ; + SysFreeString(strfireProt) ; + SysFreeString(stracidProt) ; + SysFreeString(strelectricalProt) ; + SysFreeString(strlandblock); + SysFreeString(strOffset); + SysFreeString(strStackCount); + SysFreeString(strstackCount); + SysFreeString(strvalue); SysFreeString( strlandblock ); SysFreeString( strOffset ); SysFreeString( strStackCount ); SysFreeString( strstackCount ); SysFreeString( strvalue ); - SysFreeString( strxOffset ); SysFreeString( stryOffset ); SysFreeString( strzOffset ); @@ -311,6 +390,7 @@ SysFreeString( strsequence2 ); SysFreeString( strcoverage ); SysFreeString( strflags1 ); + SysFreeString( strflags ); SysFreeString( strlocation ); SysFreeString( strwieldingSlot ); SysFreeString( strflags2 ); @@ -454,6 +534,7 @@ case gevLogin: DoLogin(pMembers) ; break ; case gevInsertIntoInventory: DoInsertIntoInventory(pMembers) ; break ; case gevSetPackContents: DoSetPackContents(pMembers) ; break ; + case gevIdentifyObject: DoIdentifyObject(pMembers) ; break ; case gevDropItem: DoDropItem(pMembers) ; break ; case gevWearItem: DoWearItem(pMembers) ; break ; } @@ -785,6 +866,154 @@ Fire_ChangeObject(pData->m_p, strStorageChange); } } + +void cWorld::DoIdentifyObject(CComPtr<IMessageIterator> pMembers) +{ + USES_CONVERSION ; + long nObject; + pMembers->get_NextInt(strobject, &nObject); + + _DebugLog("\n\nIdentifyObject %x", nObject) ; + + cWorldData *pData = Data(nObject); + + if (pData != NULL ) + { + pData->m_tExpires = 0; + pData->m_HasIdData = true ; + _DebugLog("\n HasIDData") ; + } else { + _DebugLog(" Object not found") ; + return ; // we don't have the create, so can't store id info + } + + long ObjectIdMask ; + pMembers->get_NextInt(strflags, &ObjectIdMask) ; + + if (ObjectIdMask && 0x0001) { + _DebugLog("\nChecking dwords") ; + CComPtr<IMessageIterator> pItems, pItem; + + pMembers->get_NextObject(strdwords, &pItems); + while (SUCCEEDED(pItems->get_NextObjectIndex(&pItem))) { + long key, value ; + pItem->get_NextInt(strkey, &key) ; + pItem->get_NextInt(strvalue, &value) ; + _DebugLog("\n key:%x value:%d || ", key, value) ; + switch (key) { + case 0x1C: pData->m_ArmorLevel = value ; _DebugLog("ArmorLevel %d", value) ; break ; + case 0x24: pData->m_MagicDef = value ; _DebugLog("MagicDef %d", value) ; break ; + case 0x6A: pData->m_Spellcraft = value ; _DebugLog("Spellcraft %d", value) ; break ; + case 0x6C: pData->m_MaximumMana = value ; _DebugLog("MaximumMana %d", value) ; break ; + case 0x6D: pData->m_LoreReq = value ; _DebugLog("LoreReq %d", value) ; break ; + case 0x6E: pData->m_RankReq = value ; _DebugLog("RankReq %d", value) ; break ; + case 0x73: pData->m_SkillReq = value ; _DebugLog("SkillReq %d", value) ; break ; + case 0x9E: pData->m_WieldReqType = value ; _DebugLog("WieldReqType %d", value) ; break ; + case 0x9F: pData->m_WieldReqId = value ; _DebugLog("WieldReqId %d", value) ; break ; + case 0xA0: pData->m_WieldReq = value ; _DebugLog("WieldReq %d", value) ; break ; + case 0xAB: pData->m_TinkerCount = value ; _DebugLog("TinkerCount %d", value) ; break ; + case 0xB0: pData->m_SkillReqId = value ; _DebugLog("SkillReqId %d", value) ; break ; + case 0xB3: pData->m_SpecialProps = value ; _DebugLog("SpecialProps %d", value) ; break ; + } + } + } + + if (ObjectIdMask && 0x0004) { + _DebugLog("\nChecking doubles") ; + CComPtr<IMessageIterator> pItems, pItem; + + _DebugLog("\nGetting iterator") ; + pMembers->get_NextObject(strdoubles, &pItems); + if (pItems == NULL) { + _DebugLog("\nFailed getting iterator!") ; + } else { + _DebugLog("\nGetting object") ; + while (SUCCEEDED(pItems->get_NextObjectIndex(&pItem))) { + long key ; + float value ; + _DebugLog("\nGetting key") ; + pItem->get_NextInt(strkey, &key) ; + _DebugLog("\nGetting value") ; + pItem->get_NextFloat(strvalue, &value) ; + _DebugLog("\n key:%d value:%f || ", key, value) ; + switch (key) { + case 0x90: pData->m_ManaCMod = value ; _DebugLog("ManaCMod %f", value) ; break ; + } + } + } + } + + if (ObjectIdMask && 0x0008) { + _DebugLog("\nChecking strings") ; + + CComPtr<IMessageIterator> pItems, pItem; + + pMembers->get_NextObject(strstrings, &pItems); + if (pItems == NULL) { + _DebugLog("\nNo strings") ; + } else { + while (SUCCEEDED(pItems->get_NextObjectIndex(&pItem))) { + long key ; + BSTR value ; + pItem->get_NextInt(strkey, &key) ; + pItem->get_NextString(strstring, &value) ; + std::string sValue = OLE2A(value) ; + _DebugLog("\n key:%d value:%s || ", key, sValue.c_str()) ; + + switch (key) { + case 0x07: pData->m_Inscription = sValue ; _DebugLog("Inscription") ; break ; + case 0x13: pData->m_RaceReq = sValue ; _DebugLog("RaceReq") ; break ; + } + } + } + } + + if (ObjectIdMask && 0x0010) { + _DebugLog("\nChecking spells") ; + CComPtr<IMessageIterator> pItems, pItem; + + pMembers->get_NextObject(strspells, &pItems); + + if (pItems == NULL) { + _DebugLog("\nNo spells") ; + } else { + int ix=0 ; + while (SUCCEEDED(pItems->get_NextObjectIndex(&pItem))) { + long spellID, spellFlag ; + pItem->get_NextInt(strspellID, &spellID) ; + pItem->get_NextInt(strspellFlag, &spellFlag) ; + + _DebugLog("\n key:%d value:%d || ", spellID, spellFlag) ; + if (spellFlag == 0 && ix < 10) { + pData->m_Spell[ix++] = spellID ; + } + } + pData->m_SpellCount = ix ; + } + } + if (ObjectIdMask && 0x0020) { + _DebugLog("\nChecking damages") ; + pMembers->get_NextInt(strdamageType, &(pData->m_DamageType)) ; + pMembers->get_NextInt(strspeed, &(pData->m_WeapSpeed)) ; + pMembers->get_NextInt(strskill, &(pData->m_EquipSkill)) ; + pMembers->get_NextInt(strdamage, &(pData->m_MaxDamage)) ; + pMembers->get_NextFloat(strdamageRange, &(pData->m_Variance)) ; + pMembers->get_NextFloat(strrange, &(pData->m_Range)) ; + pMembers->get_NextFloat(strdefenseBonus, &(pData->m_DefenseBonus)) ; + pMembers->get_NextFloat(strattackBonus, &(pData->m_AttackBonus)) ; + } + if (ObjectIdMask && 0x0020) { + _DebugLog("\nChecking prots") ; + pMembers->get_NextFloat(strslashProt, &(pData->m_SlashProt)) ; + pMembers->get_NextFloat(strpierceProt, &(pData->m_PierceProt)) ; + pMembers->get_NextFloat(strbludgeonProt, &(pData->m_BludProt)) ; + pMembers->get_NextFloat(strcoldProt, &(pData->m_ColdProt)) ; + pMembers->get_NextFloat(strfireProt, &(pData->m_FireProt)) ; + pMembers->get_NextFloat(stracidProt, &(pData->m_AcidProt)) ; + pMembers->get_NextFloat(strelectricalProt, &(pData->m_ElectProt)) ; + } +} + void cWorld::DoSetPackContents(CComPtr<IMessageIterator> pMembers) { Index: World.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.h,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- World.h 25 Aug 2003 18:18:23 -0000 1.36 +++ World.h 30 Aug 2003 16:57:22 -0000 1.37 @@ -100,6 +100,37 @@ m_HookMask=0; m_HookType=0; m_bTag = false; + m_HasIdData = false ; + m_ArmorLevel = -1 ; + m_MagicDef = -1 ; + m_Spellcraft = -1 ; + m_MaximumMana = -1 ; + m_LoreReq = -1 ; + m_RankReq = -1 ; + m_SkillReq = -1 ; + m_WieldReqType = -1 ; + m_WieldReqId = -1 ; + m_WieldReq = -1 ; + m_TinkerCount = -1 ; + m_SkillReqId = -1 ; + m_SpecialProps = -1 ; + m_ManaCMod = -1 ; + m_SpellCount = 0 ; + for (int x=0; x<10; x++) m_Spell[x] = -1 ; + m_WeapSpeed = -1 ; + m_EquipSkill = -1 ; + m_DamageType = -1 ; + m_MaxDamage = -1 ; + m_Variance = -1.0 ; + m_DefenseBonus = -1.0 ; + m_AttackBonus = -1.0 ; + m_Range = -1.0 ; + m_SlashProt = -1.0 ; + m_PierceProt = -1.0 ; + m_BludProt = -1.0 ; + m_ColdProt = -1.0 ; + m_FireProt = -1.0 ; + m_ElectProt = -1.0 ; } ~cWorldData() @@ -160,6 +191,40 @@ long m_HouseOwner ; long m_HookMask ; long m_HookType ; + bool m_HasIdData ; + long m_ArmorLevel ; + long m_MagicDef ; + long m_Spellcraft ; + long m_MaximumMana ; + long m_LoreReq ; + long m_RankReq ; + long m_SkillReq ; + long m_WieldReqType ; + long m_WieldReqId ; + long m_WieldReq ; + long m_TinkerCount ; + long m_SkillReqId ; + long m_SpecialProps ; + float m_ManaCMod ; + long m_SpellCount ; + long m_Spell[10] ; + std::string m_Inscription ; + std::string m_RaceReq ; + long m_WeapSpeed ; + long m_EquipSkill ; + long m_DamageType ; + long m_MaxDamage ; + float m_Variance ; + float m_DefenseBonus ; + float m_AttackBonus ; + float m_Range ; + float m_SlashProt ; + float m_PierceProt ; + float m_BludProt ; + float m_ColdProt ; + float m_FireProt ; + float m_ElectProt ; + float m_AcidProt ; CComPtr< IWorldObject > m_p; bool m_bTag; @@ -263,6 +328,7 @@ void DoLogin(CComPtr<IMessageIterator> pMembers) ; void DoInsertIntoInventory(CComPtr<IMessageIterator> pMembers) ; void DoSetPackContents(CComPtr<IMessageIterator> pMembers) ; + void DoIdentifyObject(CComPtr<IMessageIterator> pMembers) ; void DoDropItem(CComPtr<IMessageIterator> pMembers) ; void DoWearItem(CComPtr<IMessageIterator> pMembers) ; #ifdef Logging Index: WorldObject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- WorldObject.cpp 25 Aug 2003 18:18:23 -0000 1.22 +++ WorldObject.cpp 30 Aug 2003 16:57:22 -0000 1.23 @@ -400,3 +400,255 @@ *pVal = m_p->m_Workmanship ; return S_OK ; } + +STDMETHODIMP cWorldObject::get_HasIdData(VARIANT_BOOL *pVal) +{ + if(!pVal) { + _ASSERT(FALSE); + return E_POINTER; + } + + *pVal = m_p->m_HasIdData ; + return S_OK; +} + +STDMETHODIMP cWorldObject::get_ArmorLevel(long *pVal) +{ + return GetLong(m_p->m_ArmorLevel, pVal) ; +} + +STDMETHODIMP cWorldObject::get_MagicDef(long *pVal) +{ + return GetLong(m_p->m_MagicDef, pVal) ; +} + +STDMETHODIMP cWorldObject::get_Spellcraft(long *pVal) +{ + return GetLong(m_p->m_Spellcraft, pVal) ; +} + +STDMETHODIMP cWorldObject::get_MaximumMana(long *pVal) +{ + return GetLong(m_p->m_MaximumMana, pVal) ; +} + +STDMETHODIMP cWorldObject::get_LoreReq(long *pVal) +{ + return GetLong(m_p->m_LoreReq, pVal) ; +} + +STDMETHODIMP cWorldObject::get_RankReq(long *pVal) +{ + return GetLong(m_p->m_RankReq, pVal) ; +} + +STDMETHODIMP cWorldObject::get_SkillReq(long *pVal) +{ + return GetLong(m_p->m_SkillReq, pVal) ; +} + +STDMETHODIMP cWorldObject::get_WieldReqType(long *pVal) +{ + return GetLong(m_p->m_WieldReqType, pVal) ; +} + +STDMETHODIMP cWorldObject::get_WieldReqId(long *pVal) +{ + return GetLong(m_p->m_WieldReqId, pVal) ; +} + +STDMETHODIMP cWorldObject::get_WieldReq(long *pVal) +{ + return GetLong(m_p->m_WieldReq, pVal) ; +} + +STDMETHODIMP cWorldObject::get_TinkerCount(long *pVal) +{ + return GetLong(m_p->m_TinkerCount, pVal) ; +} + +STDMETHODIMP cWorldObject::get_SkillReqId(long *pVal) +{ + return GetLong(m_p->m_SkillReqId, pVal) ; +} + +STDMETHODIMP cWorldObject::get_SpecialProps(long *pVal) +{ + return GetLong(m_p->m_SpecialProps, pVal) ; +} + +STDMETHODIMP cWorldObject::get_ManaCMod(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_ManaCMod ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_SpellCount(long *pVal) +{ + return GetLong(m_p->m_SpellCount, pVal) ; +} + +STDMETHODIMP cWorldObject::get_Spell(long ix, long *pVal) +{ + return GetLong(m_p->m_Spell[ix], pVal) ; +} + +STDMETHODIMP cWorldObject::get_Inscription(BSTR *pVal) +{ + USES_CONVERSION; + + if(!pVal) + { + _ASSERT(FALSE); + return E_POINTER; + } + + *pVal = T2BSTR(m_p->m_Inscription.c_str()); + + return S_OK; +} + +STDMETHODIMP cWorldObject::get_RaceReq(BSTR *pVal) +{ + USES_CONVERSION; + + if(!pVal) + { + _ASSERT(FALSE); + return E_POINTER; + } + + *pVal = T2BSTR(m_p->m_RaceReq.c_str()); + + return S_OK; +} + +STDMETHODIMP cWorldObject::get_WeapSpeed(long *pVal) +{ + return GetLong(m_p->m_WeapSpeed, pVal) ; +} + +STDMETHODIMP cWorldObject::get_EquipSkill(long *pVal) +{ + return GetLong(m_p->m_EquipSkill, pVal) ; +} + +STDMETHODIMP cWorldObject::get_DamageType(long *pVal) +{ + return GetLong(m_p->m_DamageType, pVal) ; +} + +STDMETHODIMP cWorldObject::get_MaxDamage(long *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_MaxDamage ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_Variance(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_Variance ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_DefenseBonus(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_DefenseBonus ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_AttackBonus(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_AttackBonus ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_Range(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_Range ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_SlashProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_SlashProt ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_PierceProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_PierceProt ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_BludProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_BludProt ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_ColdProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_ColdProt ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_FireProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_FireProt ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_ElectProt(float *pVal) +{ + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_ElectProt ; + return S_OK ; +} + Index: WorldObject.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- WorldObject.h 25 Aug 2003 18:18:23 -0000 1.18 +++ WorldObject.h 30 Aug 2003 16:57:22 -0000 1.19 @@ -89,6 +89,39 @@ STDMETHOD(get_HookType)(/*[out, retval]*/ long *pVal); STDMETHOD(get_RealModel)(/*[out, retval]*/long *pVal); STDMETHOD(get_Scale)(/*[out, retval]*/float *pVal); + STDMETHOD(get_HasIdData)(/*[out, retval]*/ VARIANT_BOOL *pVal); + STDMETHOD(get_ArmorLevel)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_MagicDef)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_Spellcraft)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_MaximumMana)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_LoreReq)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_RankReq)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_SkillReq)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_WieldReqType)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_WieldReqId)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_WieldReq)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_TinkerCount)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_SkillReqId)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_SpecialProps)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_ManaCMod)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_SpellCount)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_Spell)(long index, /*[out, retval]*/ long *pVal); + STDMETHOD(get_Inscription)(/*[out, retval]*/ BSTR *pVal); + STDMETHOD(get_WeapSpeed)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_EquipSkill)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_DamageType)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_MaxDamage)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_Variance)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_DefenseBonus)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_AttackBonus)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_Range)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_SlashProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_PierceProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_BludProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_ColdProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_FireProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_ElectProt)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_RaceReq)(/*[out, retval]*/ BSTR *pVal); // IWorldObject2 STDMETHOD(get_Flags)(/*[out, retval]*/ long *pVal); |
From: Jeffrey D. <ha...@us...> - 2003-08-30 00:43:26
|
Log Message: ----------- Some sort of merge problem with cvs, this should fix the can't enumerate directdraw bug associated with the windowed mode exe patch Modified Files: -------------- /cvsroot/decaldev/source/Inject: Inject.cpp Revision Data ------------- Index: Inject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Inject.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- Inject.cpp 28 Aug 2003 23:30:12 -0000 1.26 +++ Inject.cpp 30 Aug 2003 00:43:22 -0000 1.27 @@ -132,7 +132,7 @@ key.QueryStringValue( "AgentPath", szPath, &dwCount ); key.Close(); - strncat( szPath, "\\clientpatches.xml", MAX_PATH ); + strncat( szPath, "clientpatches.xml", MAX_PATH ); ::CoInitialize( NULL ); MSXML::IXMLDOMDocumentPtr pPatchesDoc; @@ -471,8 +471,17 @@ unsigned char *szPatternArray = new unsigned char[ iLen ]; memset( szPatternArray, 0, iLen ); - for( int i = 0; i <= iLen * 3; i += 3 ) - szPatternArray[ i / 3 ] = strtoul( szPatchPattern + i, NULL, 16 ); +/* FILE *f = fopen( "C:\\decal\\log.txt", "a+" ); + fprintf( f, "iLen = %d\nszPatchPattern = %s\nszPatternArray = ", iLen, szPatchPattern ); */ + + for( int i = 0; i < iLen; ++i ) +// { + szPatternArray[ i ] = strtoul( szPatchPattern + (i*3), NULL, 16 ); +// fprintf( f, "%02X ", szPatternArray[ i ] ); +// } + +/* fprintf( f, "\n" ); + fclose( f );*/ bool bAbort = true; |
From: Jeffrey D. <ha...@us...> - 2003-08-29 23:42:38
|
Log Message: ----------- I know grammar. Really. Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: OptionsDlg.cpp Revision Data ------------- Index: OptionsDlg.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- OptionsDlg.cpp 29 Aug 2003 23:41:15 -0000 1.22 +++ OptionsDlg.cpp 29 Aug 2003 23:42:37 -0000 1.23 @@ -324,14 +324,14 @@ if( dwViewMode != 1 ) { key.SetDWORDValue("OldInjection", 0x1L); - MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for injection method changes to take effect!", "DenAgent", MB_OK ); } } else { key.SetDWORDValue("OldInjection", 0x1L); - MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for injection method changes to take effect!", "DenAgent", MB_OK ); } } @@ -341,7 +341,7 @@ if( dwViewMode != 0 ) { key.SetDWORDValue("OldInjection", 0x0L); - MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for injection method changes to take effect!", "DenAgent", MB_OK ); } } |
From: Jeffrey D. <ha...@us...> - 2003-08-29 23:41:18
|
Log Message: ----------- Shoot me later.. Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.rc OptionsDlg.cpp OptionsDlg.h resource.h Revision Data ------------- Index: DenAgent.rc =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.rc,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- DenAgent.rc 20 Jun 2003 06:41:19 -0000 1.73 +++ DenAgent.rc 29 Aug 2003 23:41:15 -0000 1.74 @@ -123,13 +123,13 @@ IDC_STATIC,7,7,165,14,SS_CENTERIMAGE END -IDD_OPTIONS DIALOGEX 0, 0, 271, 177 +IDD_OPTIONS DIALOGEX 0, 0, 271, 220 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Decal Options" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - DEFPUSHBUTTON "OK",IDOK,154,156,50,14 - PUSHBUTTON "Cancel",IDCANCEL,208,156,50,14 + DEFPUSHBUTTON "OK",IDOK,155,199,50,14 + PUSHBUTTON "Cancel",IDCANCEL,214,199,50,14 CTEXT "Bar Alpha",IDC_STATIC,17,20,35,8,SS_CENTERIMAGE EDITTEXT IDC_BARALPHA,59,16,45,14,ES_CENTER | ES_AUTOHSCROLL | ES_NUMBER @@ -144,22 +144,22 @@ UDS_ARROWKEYS,47,31,11,14 CTEXT "0 is Transparent - 255 is Opaque",IDC_STATIC,21,46,106, 9 - GROUPBOX "Decal Update URL",IDC_STATIC,7,125,257,27 - LTEXT "http://decaldev.sourceforge.net",IDC_PLUGINDIR,14,136, + GROUPBOX "Decal Update URL",IDC_STATIC,7,164,257,29 + LTEXT "http://decaldev.sourceforge.net",IDC_PLUGINDIR,14,177, 169,8,SS_CENTERIMAGE - PUSHBUTTON "Change",IDC_CHANGE_DIR,208,133,50,14 + PUSHBUTTON "Change",IDC_CHANGE_DIR,208,173,50,14 CONTROL "Start on Bootup",IDC_CHECK_AUTOSTART,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,14,158,63,12 - PUSHBUTTON "Reset Bar Position",IDC_BTN_RESET,81,156,68,14 - GROUPBOX "Font",IDC_STATIC,14,57,244,31 + BS_AUTOCHECKBOX | WS_TABSTOP,14,201,63,12 + PUSHBUTTON "Reset Bar Position",IDC_BTN_RESET,81,199,68,14 + GROUPBOX "Font Options",IDC_STATIC,14,66,244,28 CONTROL "Default",IDC_DEFAULT_FONT_RADIO,"Button", - BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,20,70,39,10 + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,21,78,39,10 CONTROL "AC Client",IDC_CLIENT_FONT_RADIO,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,64,70,45,10 + BS_AUTORADIOBUTTON | WS_TABSTOP,64,78,45,10 CONTROL "Custom",IDC_CUSTOM_FONT_RADIO,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,111,70,39,10 - EDITTEXT IDC_CUSTOM_FONT_EDIT,153,68,98,12,ES_AUTOHSCROLL - GROUPBOX "View Options",IDC_STATIC,7,7,257,116 + BS_AUTORADIOBUTTON | WS_TABSTOP,111,78,39,10 + EDITTEXT IDC_CUSTOM_FONT_EDIT,151,76,98,12,ES_AUTOHSCROLL + GROUPBOX "View Options",IDC_STATIC,7,7,257,156 CONTROL "Use Hardware Mode",IDC_BLENDINGGDIPLUS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,144,16,114,9 CONTROL "Multiple Views",IDC_VIEWMULTI,"Button",BS_AUTOCHECKBOX | @@ -167,16 +167,21 @@ CONTROL "Adjust Bar for Radar",IDC_RADARYES,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,144,36,114,9 CONTROL "Enabled",IDC_TIMESTAMPON,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,101,44,9,WS_EX_RIGHT | WS_EX_RTLREADING - GROUPBOX "Time Stamping",IDC_STATIC,14,90,244,27 - COMBOBOX IDC_FORMATCLR,92,99,29,67,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP,21,108,44,9,WS_EX_RIGHT | WS_EX_RTLREADING + GROUPBOX "Time Stamping",IDC_STATIC,14,95,244,27 + COMBOBOX IDC_FORMATCLR,92,105,29,67,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - EDITTEXT IDC_FORMATSTR,152,99,88,12,ES_AUTOHSCROLL - LTEXT "Color",IDC_STATIC,71,101,19,11 - LTEXT "Format",IDC_STATIC,125,101,25,9 - PUSHBUTTON "?",IDC_FORMATHELP,244,99,7,12 + EDITTEXT IDC_FORMATSTR,151,105,88,12,ES_AUTOHSCROLL + LTEXT "Color",IDC_STATIC,71,108,19,11 + LTEXT "Format",IDC_STATIC,123,108,25,9 + PUSHBUTTON "?",IDC_FORMATHELP,244,105,7,12 CONTROL "Use Old Injection Method",IDC_OLDINJECT,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,144,46,114,10 + CONTROL "Dual Log",IDC_DUALLOG,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,21,130,44,15 + CONTROL "Windowed Mode",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,21,143,71,11 + GROUPBOX "Client Patches",IDC_STATIC,14,122,244,35 END IDD_DOWNLOADER DIALOG 0, 0, 202, 86 @@ -202,8 +207,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,5,2,0 - PRODUCTVERSION 2,5,2,0 + FILEVERSION 2,6,0,0 + PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -220,12 +225,12 @@ BEGIN VALUE "Comments", "DenAgent is the program that manages Decal settings" VALUE "FileDescription", "DenAgent MFC Application" - VALUE "FileVersion", "2, 5, 2, 0" + VALUE "FileVersion", "2, 6, 0, 0" VALUE "InternalName", "DenAgent" VALUE "LegalCopyright", "Copyright (C) 2000, 2001" VALUE "OriginalFilename", "DenAgent.EXE" VALUE "ProductName", "DenAgent Application" - VALUE "ProductVersion", "2, 5, 2, 0" + VALUE "ProductVersion", "2, 6, 0, 0" END END BLOCK "VarFileInfo" @@ -305,7 +310,7 @@ VERTGUIDE, 14 VERTGUIDE, 258 TOPMARGIN, 7 - BOTTOMMARGIN, 170 + BOTTOMMARGIN, 213 END IDD_DOWNLOADER, DIALOG Index: OptionsDlg.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- OptionsDlg.cpp 25 Jul 2003 00:11:05 -0000 1.21 +++ OptionsDlg.cpp 29 Aug 2003 23:41:15 -0000 1.22 @@ -61,6 +61,7 @@ ON_BN_CLICKED(IDC_CLIENT_FONT_RADIO, OnClientFontRadio) ON_BN_CLICKED(IDC_CUSTOM_FONT_RADIO, OnCustomFontRadio) //}}AFX_MSG_MAP + ON_BN_CLICKED(IDC_OLDINJECT, OnBnClickedOldInject) ON_BN_CLICKED(IDC_TIMESTAMPON, OnBnClickedTimestampon) ON_BN_CLICKED(IDC_FORMATHELP, OnBnClickedFormathelp) END_MESSAGE_MAP() @@ -71,7 +72,9 @@ BOOL cOptionsDlg::OnInitDialog() { CDialog::OnInitDialog(); - + + m_bClientPatchesEnabled = true; + // TODO: Add extra initialization here RegKey key; if( key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" )) != ERROR_SUCCESS ) @@ -159,15 +162,32 @@ if( dwViewMode == 1 ) ::SendMessage( GetDlgItem( IDC_VIEWMULTI )->m_hWnd, BM_SETCHECK, 1, 0 ); + // haz - add checks for Dual/Windowed Mode + if( key.QueryDWORDValue( "AllowWindowed", dwViewMode )== ERROR_SUCCESS ) + if( dwViewMode == 1 ) + { + ::SendMessage( GetDlgItem( IDC_WINDOWED )->m_hWnd, BM_SETCHECK, 1, 0 ); + } + + if( key.QueryDWORDValue( "AllowDualLog", dwViewMode )== ERROR_SUCCESS ) + if( dwViewMode == 1 ) + { + ::SendMessage( GetDlgItem( IDC_DUALLOG )->m_hWnd, BM_SETCHECK, 1, 0 ); + } + // haz - added old inject option if( key.QueryDWORDValue( "OldInjection", dwViewMode )== ERROR_SUCCESS ) if( dwViewMode == 1 ) + { ::SendMessage( GetDlgItem( IDC_OLDINJECT )->m_hWnd, BM_SETCHECK, 1, 0 ); - + m_bClientPatchesEnabled = true; + ::EnableWindow( GetDlgItem( IDC_WINDOWED )->m_hWnd, FALSE ); + ::EnableWindow( GetDlgItem( IDC_DUALLOG )->m_hWnd, FALSE ); + } key.Close(); - if( key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal\\Agent" )) != ERROR_SUCCESS ) + if( key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal\\Agent" )) != ERROR_SUCCESS ) return TRUE; TCHAR szURLDirectory[ 1024 ]; @@ -274,8 +294,29 @@ else key.SetDWORDValue("AlphaBlendMode", 0x1L); - // cbt hook injection + // dual/window + bool bMessage = false; DWORD dwViewMode = 0; + if( ::SendMessage( GetDlgItem( IDC_WINDOWED )->m_hWnd, BM_GETCHECK, 0, 0 ) ) + { + // enabled, but old inject is on + if( ! m_bClientPatchesEnabled ) + MessageBox( "One drawback of the old injection method is that Decal is not loaded before Asheron's Call.\nThis means the dual log and windowed mode fixes will not work.", "Decal Agent", MB_OK ), bMessage = true; + + key.SetDWORDValue( "AllowWindowed", 0x1L ); + } + + if( ::SendMessage( GetDlgItem( IDC_DUALLOG )->m_hWnd, BM_GETCHECK, 0, 0 ) ) + { + // enabled, but old inject is on + if( ! m_bClientPatchesEnabled ) + if( ! bMessage ) + MessageBox( "One drawback of the old injection method is that Decal is not loaded before Asheron's Call.\nThis means the dual log and windowed mode fixes will not work.", "Decal Agent", MB_OK ), bMessage = true; + + key.SetDWORDValue( "AllowDualLog", 0x1L ); + } + + // cbt hook injection if( ::SendMessage(GetDlgItem(IDC_OLDINJECT)->m_hWnd, BM_GETCHECK, 0, 0) ) { if( key.QueryDWORDValue( "OldInjection", dwViewMode ) == ERROR_SUCCESS ) @@ -283,14 +324,14 @@ if( dwViewMode != 1 ) { key.SetDWORDValue("OldInjection", 0x1L); - MessageBox( "You must restart DenAgent for this option to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); } } else { key.SetDWORDValue("OldInjection", 0x1L); - MessageBox( "You must restart DenAgent for this option to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); } } @@ -300,7 +341,7 @@ if( dwViewMode != 0 ) { key.SetDWORDValue("OldInjection", 0x0L); - MessageBox( "You must restart DenAgent for this option to take effect!", "DenAgent", MB_OK ); + MessageBox( "You must restart DenAgent for this injection method changes to take effect!", "DenAgent", MB_OK ); } } @@ -408,6 +449,23 @@ UpdateCustomEdit(); } +void cOptionsDlg::OnBnClickedOldInject() +{ + if( ::SendMessage( GetDlgItem( IDC_OLDINJECT )->m_hWnd, BM_GETCHECK, 0, 0 ) ) + { + ::EnableWindow( GetDlgItem( IDC_WINDOWED )->m_hWnd, FALSE ); + ::EnableWindow( GetDlgItem( IDC_DUALLOG )->m_hWnd, FALSE ); + m_bClientPatchesEnabled = false; + } + + else + { + ::EnableWindow( GetDlgItem( IDC_WINDOWED )->m_hWnd, TRUE ); + ::EnableWindow( GetDlgItem( IDC_DUALLOG )->m_hWnd, TRUE ); + m_bClientPatchesEnabled = true; + } +} + void cOptionsDlg::OnBnClickedTimestampon() { //we need to activate the options when this is enabled @@ -416,6 +474,7 @@ ::EnableWindow( GetDlgItem( IDC_FORMATSTR )->m_hWnd, true ); ::EnableWindow( GetDlgItem( IDC_FORMATCLR )->m_hWnd, true ); } + else { ::EnableWindow( GetDlgItem( IDC_FORMATSTR )->m_hWnd, false ); Index: OptionsDlg.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- OptionsDlg.h 30 Mar 2003 08:51:19 -0000 1.6 +++ OptionsDlg.h 29 Aug 2003 23:41:15 -0000 1.7 @@ -47,6 +47,7 @@ // Implementation protected: + bool m_bClientPatchesEnabled; // Generated message map functions //{{AFX_MSG(cOptionsDlg) @@ -60,6 +61,7 @@ //}}AFX_MSG DECLARE_MESSAGE_MAP() public: + afx_msg void OnBnClickedOldInject(); afx_msg void OnBnClickedCheckAutostart(); afx_msg void OnBnClickedTimestampon(); afx_msg void OnBnClickedFormathelp(); Index: resource.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/resource.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- resource.h 20 Jun 2003 06:41:19 -0000 1.21 +++ resource.h 29 Aug 2003 23:41:15 -0000 1.22 @@ -80,6 +80,8 @@ #define IDC_FORMATSTR 1053 #define IDC_CHECK1 1054 #define IDC_OLDINJECT 1054 +#define IDC_DUALLOG 1055 +#define IDC_WINDOWED 1056 #define ID_SYSTRAY_CONFIGURE 32771 #define ID_SYSTRAY_EXIT 32772 @@ -89,7 +91,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 152 #define _APS_NEXT_COMMAND_VALUE 32776 -#define _APS_NEXT_CONTROL_VALUE 1055 +#define _APS_NEXT_CONTROL_VALUE 1057 #define _APS_NEXT_SYMED_VALUE 105 #endif #endif |
From: Jeffrey D. <ha...@us...> - 2003-08-29 12:01:41
|
Log Message: ----------- Remind me again why I try and do things when I'm tired Modified Files: -------------- /cvsroot/decaldev/source/Include: DecalVersion.h Revision Data ------------- Index: DecalVersion.h =================================================================== RCS file: /cvsroot/decaldev/source/Include/DecalVersion.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- DecalVersion.h 29 Aug 2003 03:51:12 -0000 1.3 +++ DecalVersion.h 29 Aug 2003 12:01:38 -0000 1.4 @@ -5,8 +5,8 @@ #define __DECALVERSION_H__ #define DECAL_MAJOR 2 -#define DECAL_MINOR 5 -#define DECAL_BUGFIX 2 +#define DECAL_MINOR 6 +#define DECAL_BUGFIX 0 #define DECAL_RELEASE 0 #define DECAL_VERSION_STRING "2, 6, 0, 0" |
From: Jeffrey D. <ha...@us...> - 2003-08-29 04:42:56
|
Log Message: ----------- fixy fixy Modified Files: -------------- /cvsroot/decaldev/source/Installer/Res: Install.vbs Revision Data ------------- Index: Install.vbs =================================================================== RCS file: /cvsroot/decaldev/source/Installer/Res/Install.vbs,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- Install.vbs 29 Aug 2003 03:55:22 -0000 1.38 +++ Install.vbs 29 Aug 2003 04:42:54 -0000 1.39 @@ -101,7 +101,6 @@ AllProducts.Add "2.5.0.5", "{35012CC1-DC9F-49C3-9593-2B246AE68D3A}" AllProducts.Add "2.5.2.0 RC1", "{ED4744B7-3F12-453B-9908-D192E0F5477A}" AllProducts.Add "2.5.2.0 RC2", "{3EA7A26F-9112-45D4-BDE0-9BE451D42A9F}" -AllProducts.Add "2.5.2.0 RC2", "{3EA7A26F-9112-45D4-BDE0-9BE451D42A9F}" AllProducts.Add "2.5.2.0 RC3", "{B04617E3-2AFF-4650-84AF-10BE73B22A15}" AllProducts.Add "2.6.0.0", "{6E766A51-09A9-4571-B55A-EE2E4E74B8BC}" |
From: Jeffrey D. <ha...@us...> - 2003-08-29 03:59:44
|
Log Message: ----------- update to 2.6.0.0 installer.... this is how I'm checking if you read your email mekle ;) I'm not going to push this out until you tell me you won't have issues with the installer in IB installation Modified Files: -------------- /cvsroot/decaldev/source/DecalInstaller: DecalInstaller.vdproj Revision Data ------------- Index: DecalInstaller.vdproj =================================================================== RCS file: /cvsroot/decaldev/source/DecalInstaller/DecalInstaller.vdproj,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- DecalInstaller.vdproj 24 Jul 2003 21:58:23 -0000 1.13 +++ DecalInstaller.vdproj 29 Aug 2003 03:59:42 -0000 1.14 @@ -27,60 +27,6 @@ } "Entry" { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_0593B7A6B4D74017A43CC5F9741D078B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_F7B461AAFB7641F699DAEAF49904A662" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_AC7940677AFA439D9D75C9827A0003A2" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_8E9B4D574D014738B94369502A191459" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_287894F290604710B0E99CD646021261" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_10D01E415273DFB80A6309EC12D187D8" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -105,24 +51,6 @@ } "Entry" { - "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" - "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" - "OwnerKey" = "8:_287894F290604710B0E99CD646021261" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_422DA789643D4CFC8308DBB6EB58ED8B" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -165,60 +93,12 @@ } "Entry" { - "MsmKey" = "8:_942AAA28BB647CF0EF1C6137B296D4FE" - "OwnerKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_A363B66FCAE3DB5C7CECA058D6C5B2B4" - "OwnerKey" = "8:_287894F290604710B0E99CD646021261" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A6E2165DAF724B38BD8B951949C710F5" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A6E2165DAF724B38BD8B951949C710F5" - "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A6E2165DAF724B38BD8B951949C710F5" - "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_AB8B779E801448568C9C2869BFA349A8" - "OwnerKey" = "8:_287894F290604710B0E99CD646021261" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_AB8B779E801448568C9C2869BFA349A8" - "OwnerKey" = "8:_E256A97055264EB5B195F1414117D027" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_AB8B779E801448568C9C2869BFA349A8" - "OwnerKey" = "8:_673044C5656142EBAA86D07A36EFFF5A" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_AC7940677AFA439D9D75C9827A0003A2" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -231,18 +111,6 @@ } "Entry" { - "MsmKey" = "8:_BC87E37B7AD8F9835E2A3AC4B4EDBC61" - "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_BC87E37B7AD8F9835E2A3AC4B4EDBC61" - "OwnerKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -255,42 +123,6 @@ } "Entry" { - "MsmKey" = "8:_E3796CB4DDEB47C8A0A151F01BE61090" - "OwnerKey" = "8:_0593B7A6B4D74017A43CC5F9741D078B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E3796CB4DDEB47C8A0A151F01BE61090" - "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E3796CB4DDEB47C8A0A151F01BE61090" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E510132BBCC44CDFA220913E6ED4A37A" - "OwnerKey" = "8:_0593B7A6B4D74017A43CC5F9741D078B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E510132BBCC44CDFA220913E6ED4A37A" - "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E510132BBCC44CDFA220913E6ED4A37A" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_F033647B20DD4A8C88658A817EFEED68" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -307,18 +139,6 @@ "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } - "Entry" - { - "MsmKey" = "8:_FD2F9BAB00E2CB44E03A93E604085DE2" - "OwnerKey" = "8:_0593B7A6B4D74017A43CC5F9741D078B" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_FD2F9BAB00E2CB44E03A93E604085DE2" - "OwnerKey" = "8:_287894F290604710B0E99CD646021261" - "MsmSig" = "8:_UNDEFINED" - } } "Configurations" { @@ -377,26 +197,6 @@ } "File" { - "{A582A373-4685-4296-BEFE-614B80A702C3}:_10D01E415273DFB80A6309EC12D187D8" - { - "SourcePath" = "8:msxml.dll" - "TargetName" = "8:msxml.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:4" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{A582A373-4685-4296-BEFE-614B80A702C3}:_2946BCB3B3574315816189D84E505D59" { "SourcePath" = "8:..\\Release\\Tab-Active.bmp" @@ -437,26 +237,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_41F2E99B0C1B72CFD51382D5E140A7E8" - { - "SourcePath" = "8:VERSION.dll" - "TargetName" = "8:VERSION.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{A582A373-4685-4296-BEFE-614B80A702C3}:_422DA789643D4CFC8308DBB6EB58ED8B" { "SourcePath" = "8:..\\Release\\Switch-Active.bmp" @@ -557,66 +337,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_942AAA28BB647CF0EF1C6137B296D4FE" - { - "SourcePath" = "8:DDRAW.dll" - "TargetName" = "8:DDRAW.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_A363B66FCAE3DB5C7CECA058D6C5B2B4" - { - "SourcePath" = "8:comdlg32.dll" - "TargetName" = "8:comdlg32.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_AB8B779E801448568C9C2869BFA349A8" - { - "SourcePath" = "8:ForceLibrary.dll" - "TargetName" = "8:ForceLibrary.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{A582A373-4685-4296-BEFE-614B80A702C3}:_B65B1E8E7A2B4AB4B7D61E7F4FB061D0" { "SourcePath" = "8:..\\Installer\\Res\\decalbar.jpg" @@ -637,26 +357,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_BC87E37B7AD8F9835E2A3AC4B4EDBC61" - { - "SourcePath" = "8:inject.tlb" - "TargetName" = "8:inject.tlb" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:2" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } "{A582A373-4685-4296-BEFE-614B80A702C3}:_F033647B20DD4A8C88658A817EFEED68" { "SourcePath" = "8:..\\Release\\ForceLibrary.dll" @@ -697,26 +397,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{A582A373-4685-4296-BEFE-614B80A702C3}:_FD2F9BAB00E2CB44E03A93E604085DE2" - { - "SourcePath" = "8:urlmon.dll" - "TargetName" = "8:urlmon.dll" - "Tag" = "8:" - "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:4" - "Exclude" = "11:TRUE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } } "FileType" { @@ -794,13 +474,13 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Decal" - "ProductCode" = "8:{B04617E3-2AFF-4650-84AF-10BE73B22A15}" - "PackageCode" = "8:{8009F85D-1CCB-4234-AD6E-FE3EE424A79D}" + "ProductCode" = "8:{6E766A51-09A9-4571-B55A-EE2E4E74B8BC}" + "PackageCode" = "8:{7C8DF61C-1096-4B4E-AA98-B4FDFFC47B77}" "UpgradeCode" = "8:{3025AB1B-80B9-46B7-9CE9-9887ADA2914F}" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" - "ProductVersion" = "8:2.5.20" + "ProductVersion" = "8:2.6.0" "Manufacturer" = "8:Decal Developers" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:http://forums.acdev.org/" @@ -1318,54 +998,12 @@ } "MergeModule" { - "{35A69C6E-5BA4-440D-803D-762B59A45393}:_A6E2165DAF724B38BD8B951949C710F5" - { - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:TRUE" - "SourcePath" = "8:vc_user_atl71_rtl_x86_---.msm" - "Properties" - { - } - "LanguageId" = "3:0" - "Exclude" = "11:FALSE" - "Folder" = "8:" - "Feature" = "8:" - "IsolateTo" = "8:" - } - "{35A69C6E-5BA4-440D-803D-762B59A45393}:_E3796CB4DDEB47C8A0A151F01BE61090" - { - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:TRUE" - "SourcePath" = "8:vc_user_stl71_rtl_x86_---.msm" - "Properties" - { - } - "LanguageId" = "3:0" - "Exclude" = "11:FALSE" - "Folder" = "8:" - "Feature" = "8:" - "IsolateTo" = "8:" - } - "{35A69C6E-5BA4-440D-803D-762B59A45393}:_E510132BBCC44CDFA220913E6ED4A37A" - { - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:TRUE" - "SourcePath" = "8:vc_user_crt71_rtl_x86_---.msm" - "Properties" - { - } - "LanguageId" = "3:0" - "Exclude" = "11:FALSE" - "Folder" = "8:" - "Feature" = "8:" - "IsolateTo" = "8:" - } } "ProjectOutput" { "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_0593B7A6B4D74017A43CC5F9741D078B" { - "SourcePath" = "8:..\\Release\\DecalNet.dll" + "SourcePath" = "8:..\\debug\\DecalNet.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1393,7 +1031,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_10B736524B444A95B8CC8D36B521F980" { - "SourcePath" = "8:..\\Release\\DecalInput.dll" + "SourcePath" = "8:..\\debug\\DecalInput.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1421,7 +1059,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_11AE7CD5CB2A43E395B33FDD50522940" { - "SourcePath" = "8:..\\Release\\DecalDat.dll" + "SourcePath" = "8:..\\debug\\DecalDat.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1449,7 +1087,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_287894F290604710B0E99CD646021261" { - "SourcePath" = "8:..\\Release\\DenAgent.exe" + "SourcePath" = "8:..\\debug\\DenAgent.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1477,7 +1115,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_673044C5656142EBAA86D07A36EFFF5A" { - "SourcePath" = "8:..\\Release\\LobbyHook.dll" + "SourcePath" = "8:..\\debug\\LobbyHook.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_B4A52EA52B0946A1AF1F0D1FA55A352F" @@ -1505,7 +1143,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_8E9B4D574D014738B94369502A191459" { - "SourcePath" = "8:..\\Release\\DecalFilters.dll" + "SourcePath" = "8:..\\debug\\DecalFilters.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1533,7 +1171,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_A03B9AE58553491581FA0975DF6E6E88" { - "SourcePath" = "8:..\\Release\\Decal.dll" + "SourcePath" = "8:..\\debug\\Decal.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1561,7 +1199,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_AC7940677AFA439D9D75C9827A0003A2" { - "SourcePath" = "8:..\\Release\\DecalControls.dll" + "SourcePath" = "8:..\\debug\\DecalControls.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1589,7 +1227,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_BD4EC7DFE26A40BA84001249533EC862" { - "SourcePath" = "8:..\\Release\\Inject.dll" + "SourcePath" = "8:..\\debug\\Inject.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1617,7 +1255,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_E256A97055264EB5B195F1414117D027" { - "SourcePath" = "8:..\\Release\\LobbyHook.dll" + "SourcePath" = "8:..\\debug\\LobbyHook.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" @@ -1645,7 +1283,7 @@ } "{8062640A-2EEE-46E9-AB67-688E9A886E9F}:_F7B461AAFB7641F699DAEAF49904A662" { - "SourcePath" = "8:..\\Release\\PlainText.dll" + "SourcePath" = "8:..\\debug\\PlainText.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_8166ECC1DA234550B1E7EF74BD46A69F" |
From: Jeffrey D. <ha...@us...> - 2003-08-29 03:55:54
|
Log Message: ----------- update to 2.6.0.0 installer product code Modified Files: -------------- /cvsroot/decaldev/source/Installer/Res: Install.vbs Revision Data ------------- Index: Install.vbs =================================================================== RCS file: /cvsroot/decaldev/source/Installer/Res/Install.vbs,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- Install.vbs 23 Jun 2003 07:05:42 -0000 1.37 +++ Install.vbs 29 Aug 2003 03:55:22 -0000 1.38 @@ -56,7 +56,7 @@ 'All of these -must- be specified Private Const ThisProduct = "Decal" ' The name of your product, used it dialogs and such -Private Const ThisVersion = "2.5.2.0 RC2" ' The version of your product, used in dialogs and such +Private Const ThisVersion = "2.6.0.0" ' The version of your product, used in dialogs and such Private Const MSIFileName = "Decal.msi" ' The name of the MSI file that will be excuted 'Add all of your previous product IDs to the dictionary for removal by the installer AllProducts.Add "1.0.1.0", "{4AFA7857-D10F-4A74-A504-9C10320A6DB9}" @@ -101,7 +101,9 @@ AllProducts.Add "2.5.0.5", "{35012CC1-DC9F-49C3-9593-2B246AE68D3A}" AllProducts.Add "2.5.2.0 RC1", "{ED4744B7-3F12-453B-9908-D192E0F5477A}" AllProducts.Add "2.5.2.0 RC2", "{3EA7A26F-9112-45D4-BDE0-9BE451D42A9F}" - +AllProducts.Add "2.5.2.0 RC2", "{3EA7A26F-9112-45D4-BDE0-9BE451D42A9F}" +AllProducts.Add "2.5.2.0 RC3", "{B04617E3-2AFF-4650-84AF-10BE73B22A15}" +AllProducts.Add "2.6.0.0", "{6E766A51-09A9-4571-B55A-EE2E4E74B8BC}" |
From: Jeffrey D. <ha...@us...> - 2003-08-29 03:51:14
|
Log Message: ----------- update to 2.6.0.0 version resource Modified Files: -------------- /cvsroot/decaldev/source/Include: DecalVersion.h Revision Data ------------- Index: DecalVersion.h =================================================================== RCS file: /cvsroot/decaldev/source/Include/DecalVersion.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- DecalVersion.h 19 Jun 2003 21:58:12 -0000 1.2 +++ DecalVersion.h 29 Aug 2003 03:51:12 -0000 1.3 @@ -9,6 +9,6 @@ #define DECAL_BUGFIX 2 #define DECAL_RELEASE 0 -#define DECAL_VERSION_STRING "2, 5, 2, 0" +#define DECAL_VERSION_STRING "2, 6, 0, 0" #endif |
From: Jeffrey D. <ha...@us...> - 2003-08-28 23:30:29
|
Log Message: ----------- Windowed mode patching (+XML, for later client patches like no splash patch (if I can figure out a pattern for it) Modified Files: -------------- /cvsroot/decaldev/source/Inject: Inject.cpp Revision Data ------------- Index: Inject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Inject.cpp,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- Inject.cpp 28 Aug 2003 13:54:43 -0000 1.25 +++ Inject.cpp 28 Aug 2003 23:30:12 -0000 1.26 @@ -74,10 +74,14 @@ }; static bool bDualLog = false; +static bool bWindowed = false; static cHookDescriptor _hooksDualLog[] = { { eByName, _T( "kernel32.dll" ), _T( "CreateSemaphoreA" ), 102, reinterpret_cast< DWORD >( Replacement_CreateSemaphoreA ), 0 }, }; +bool CheckClientVersion( MSXML::IXMLDOMDocument *pDoc ); +bool PatchWindowMode( MSXML::IXMLDOMDocument *pDoc ); + HINSTANCE hAlphaBlendDLL; ///////////////////////////////////////////////////////////////////////////// @@ -108,16 +112,55 @@ RegKey key; if( key.Open( HKEY_LOCAL_MACHINE, "SOFTWARE\\Decal" ) == ERROR_SUCCESS ) { - DWORD dwDual = 0; - if( key.QueryDWORDValue( "AllowDualLog", dwDual ) == ERROR_SUCCESS ) + DWORD dwReg = 0; + if( key.QueryDWORDValue( "AllowDualLog", dwReg ) == ERROR_SUCCESS ) { - if( dwDual ) + if( dwReg ) { bDualLog = true; hookFunctions( _hooksDualLog, 1 ); } } } + + key.Close(); + + // Get decal path + char szPath[ MAX_PATH ]; + DWORD dwCount = MAX_PATH; + key.Open( HKEY_LOCAL_MACHINE, "SOFTWARE\\Decal\\Agent" ); + key.QueryStringValue( "AgentPath", szPath, &dwCount ); + key.Close(); + + strncat( szPath, "\\clientpatches.xml", MAX_PATH ); + + ::CoInitialize( NULL ); + MSXML::IXMLDOMDocumentPtr pPatchesDoc; + pPatchesDoc.CreateInstance( __uuidof( MSXML::DOMDocument ) ); + pPatchesDoc->async = false; + + bool bSuccess = pPatchesDoc->load( szPath ); + if( bSuccess ) + { + if( CheckClientVersion( pPatchesDoc ) ) + { + RegKey key; + if( key.Open( HKEY_LOCAL_MACHINE, "SOFTWARE\\Decal" ) == ERROR_SUCCESS ) + { + // Windowed Mode patch + DWORD dwReg = 0; + if( key.QueryDWORDValue( "AllowWindowed", dwReg ) == ERROR_SUCCESS ) + { + if( dwReg ) + bWindowed = PatchWindowMode( pPatchesDoc ); + } + + + + + } + } + } } _hUpdateEnabled = ::CreateMutex( NULL, FALSE, _T( "InjectEnablePlugins" ) ); @@ -134,6 +177,7 @@ else if (dwReason == DLL_PROCESS_DETACH) { ::CloseHandle( _hUpdateEnabled ); + ::CoUninitialize(); if( hAlphaBlendDLL ) FreeLibrary( hAlphaBlendDLL ); @@ -311,6 +355,152 @@ else return CreateSemaphore( lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName ); +} + +bool CheckClientVersion( MSXML::IXMLDOMDocument *pDoc ) +{ + USES_CONVERSION; + + MSXML::IXMLDOMElementPtr pNode = pDoc->selectSingleNode( _bstr_t( "patches" ) ); + + long lVerMajor = 0, lVerMinor = 0, lVerRelease = 0; + + _variant_t vVersion = pNode->getAttribute( _bstr_t( "version" ) ); + char *szVersion = OLE2A( vVersion.bstrVal ); + + sscanf( szVersion, "%d.%d.%d", &lVerMajor, &lVerMinor, &lVerRelease ); + + RegKey rk; + if( rk.Open( HKEY_LOCAL_MACHINE, _T( "Software\\Microsoft\\Microsoft Games\\Asheron's Call\\1.00" ) ) == ERROR_SUCCESS ) + { + TCHAR szClientPath[ MAX_PATH ]; + DWORD dwPathLength = MAX_PATH; + if( rk.QueryStringValue ( _T( "path" ), szClientPath, &dwPathLength ) == ERROR_SUCCESS ) + { + ::_tcscpy( szClientPath + ( dwPathLength - 1 ), _T( "\\client.exe" ) ); + + DWORD dwDummy, + dwVerSize = ::GetFileVersionInfoSize( const_cast< LPTSTR > ( szClientPath ), &dwDummy ); + if( dwVerSize != 0 ) + { + BYTE *pbVersionInfo = reinterpret_cast< BYTE * >( ::_alloca( dwVerSize ) ); + + ::GetFileVersionInfo( const_cast< LPTSTR > ( szClientPath ), 0, dwVerSize, pbVersionInfo ); + + VS_FIXEDFILEINFO *vffi; + UINT nLength = sizeof( VS_FIXEDFILEINFO ); + if( ::VerQueryValue( pbVersionInfo, _T( "\\" ), reinterpret_cast< LPVOID * >( &vffi ), &nLength ) ) + { + if( (static_cast< long >( HIWORD( vffi->dwFileVersionMS ) ) == lVerMajor) && + (static_cast< long >( LOWORD( vffi->dwFileVersionMS ) ) == lVerMinor) && + (static_cast< long >( HIWORD( vffi->dwFileVersionLS ) ) == lVerRelease) ) + { + return true; + } + } + } + } + } + + return false; +} + +bool PatchWindowMode( MSXML::IXMLDOMDocument *pDoc ) +{ + if( pDoc == NULL ) + return false; + + USES_CONVERSION; + + MSXML::IXMLDOMElementPtr pNode; + MSXML::IXMLDOMNodeListPtr pNodes = pDoc->selectNodes( _bstr_t( "/patches/patch" ) ); + + bool bWindowPattern = false, bWindowReplaceOffset = false, bWindowReplace = false, bWindowMaxOffset = false; + char *szPatchPattern; + unsigned char lReplace; + long lReplaceOffset; + long lMaxOffset; + + for( pNode = pNodes->nextNode(); pNode.GetInterfacePtr() != NULL; pNode = pNodes->nextNode() ) + { + if( bWindowPattern && bWindowReplace && bWindowReplaceOffset && bWindowMaxOffset ) + break; + + _variant_t vName = pNode->getAttribute( _bstr_t( "name" ) ); + char *szName = OLE2A( vName.bstrVal ); + + if( stricmp( szName, "WindowedModePattern" ) == 0 ) + { + _variant_t vPatchPattern = pNode->getAttribute( _bstr_t( "value" ) ); + szPatchPattern = OLE2A( vPatchPattern.bstrVal ); + bWindowPattern = true; + continue; + } + + if( stricmp( szName, "WindowedModeReplace" ) == 0 ) + { + _variant_t vReplace = pNode->getAttribute( _bstr_t( "value" ) ); + lReplace = wcstoul( vReplace.bstrVal, NULL, 16 ); + bWindowReplace = true; + continue; + } + + if( stricmp( szName, "WindowedModeReplaceOffset" ) == 0 ) + { + _variant_t vReplaceOffset = pNode->getAttribute( _bstr_t( "value" ) ); + lReplaceOffset = wcstoul( vReplaceOffset.bstrVal, NULL, 16 ) - 1; // Arrays are 0 indexed in c++ + bWindowReplaceOffset = true; + continue; + } + + if( stricmp( szName, "WindowedModeMaxOffset" ) == 0 ) + { + _variant_t vMaxOffset = pNode->getAttribute( _bstr_t( "value" ) ); + lMaxOffset = wcstoul( vMaxOffset.bstrVal, NULL, 16 ); + bWindowMaxOffset = true; + continue; + } + } + + if( !(bWindowPattern && bWindowReplace && bWindowReplaceOffset && bWindowMaxOffset) ) + return false; + + unsigned char *pAddy = reinterpret_cast< unsigned char * >( 0x400000 ); + + int iLen = strlen( szPatchPattern + 1 ) / 3 + 1; + unsigned char *szPatternArray = new unsigned char[ iLen ]; + memset( szPatternArray, 0, iLen ); + + for( int i = 0; i <= iLen * 3; i += 3 ) + szPatternArray[ i / 3 ] = strtoul( szPatchPattern + i, NULL, 16 ); + + bool bAbort = true; + + for( int i = 0; i < lMaxOffset; ++i, ++pAddy ) + { + // peek at current byte + if( *pAddy == szPatternArray[ 0 ] ) + { + // see if entire pattern matches. + if( strcmp( reinterpret_cast< const char * >( szPatternArray ) + 1, reinterpret_cast< char * >( pAddy ) + 1 ) == 0 ) + { + // yahoo? ... + bAbort = false; + pAddy += lReplaceOffset; + break; + } + } + } + + if( bAbort ) + return false; + + DWORD dwOldProtect, dwNewProtect; + VirtualProtect( reinterpret_cast< void * >( pAddy ), 1, PAGE_READWRITE, &dwOldProtect ); + pAddy[ 0 ] = lReplace; + VirtualProtect( reinterpret_cast< void * >( pAddy ), 1, dwOldProtect, &dwNewProtect ); + + return true; } PIMAGE_IMPORT_DESCRIPTOR getNamedImportDescriptor( HMODULE hModule, LPCSTR szImportMod ) |
From: Mike G. <me...@us...> - 2003-08-28 15:01:57
|
Log Message: ----------- Oops. Forgot to clean up my comment. Modified Files: -------------- /cvsroot/decaldev/CVSROOT: loginfo Revision Data ------------- Index: loginfo =================================================================== RCS file: /cvsroot/decaldev/CVSROOT/loginfo,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- loginfo 28 Aug 2003 14:56:42 -0000 1.10 +++ loginfo 28 Aug 2003 15:01:25 -0000 1.11 @@ -32,5 +32,5 @@ # DEFAULT $CVSROOT/CVSROOT/syncmail %{sVv} dec...@li... # (yourgod - changing to activitymail to preserve what's left of my sanity) -# (mekle - removed the "-u nobody" so that we can see who made the change +# (mekle - removed the "-u nobody" so that we can see who made the change) DEFAULT $CVSROOT/CVSROOT/activitymail -cdpgf %{sVv} -t dec...@li... |
From: <no...@us...> - 2003-08-28 14:57:16
|
Log Message: ----------- Fix "from" address for change emails. Modified Files: -------------- /cvsroot/decaldev/CVSROOT: loginfo Revision Data ------------- Index: loginfo =================================================================== RCS file: /cvsroot/decaldev/CVSROOT/loginfo,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- loginfo 3 Jun 2003 16:26:36 -0000 1.9 +++ loginfo 28 Aug 2003 14:56:42 -0000 1.10 @@ -32,4 +32,5 @@ # DEFAULT $CVSROOT/CVSROOT/syncmail %{sVv} dec...@li... # (yourgod - changing to activitymail to preserve what's left of my sanity) -DEFAULT $CVSROOT/CVSROOT/activitymail -u nobody -cdpgf %{sVv} -t dec...@li... +# (mekle - removed the "-u nobody" so that we can see who made the change +DEFAULT $CVSROOT/CVSROOT/activitymail -cdpgf %{sVv} -t dec...@li... |
From: <no...@us...> - 2003-08-28 13:54:45
|
Log Message: ----------- eh whatever Modified Files: -------------- /cvsroot/decaldev/source/Inject: Inject.cpp Revision Data ------------- Index: Inject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Inject.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- Inject.cpp 27 Aug 2003 19:46:28 -0000 1.24 +++ Inject.cpp 28 Aug 2003 13:54:43 -0000 1.25 @@ -302,11 +302,15 @@ HANDLE __stdcall Replacement_CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName ) { - HANDLE hSem = CreateSemaphore( lpSemaphoreAttributes, lInitialCount, /* lMaximumCount */ 0x7F, lpName ); - - SetLastError( 0 ); + if( stricmp( lpName, "Empyrean Client" ) == 0 ) + { + HANDLE hSem = CreateSemaphore( lpSemaphoreAttributes, lInitialCount, /* lMaximumCount */ 0x7F, lpName ); + SetLastError( 0 ); + return hSem; + } - return hSem; + else + return CreateSemaphore( lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName ); } PIMAGE_IMPORT_DESCRIPTOR getNamedImportDescriptor( HMODULE hModule, LPCSTR szImportMod ) |
From: <no...@us...> - 2003-08-27 19:47:00
|
Log Message: ----------- yes kiddies decal can enable dual logging without a client patch. Modified Files: -------------- /cvsroot/decaldev/source/Inject: Inject.cpp Revision Data ------------- Index: Inject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Inject.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- Inject.cpp 21 Jul 2003 19:11:22 -0000 1.23 +++ Inject.cpp 27 Aug 2003 19:46:28 -0000 1.24 @@ -47,6 +47,8 @@ // Functions for hooking from kernel32.dll HANDLE WINAPI CreateFileF( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); +HANDLE WINAPI Replacement_CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName ); + enum eAddressing { eByName, @@ -67,8 +69,13 @@ HANDLE _hUpdateEnabled = NULL; static cHookDescriptor _hooks[] = { - { eByName, _T( "ddraw.dll" ), _T( "DirectDrawCreate" ), 0, reinterpret_cast< DWORD >( DirectDrawCreateF ), 0 }, - { eByName, _T( "kernel32.dll" ), _T( "CreateFileA" ), 0, reinterpret_cast< DWORD >( CreateFileF ), 0 }, + { eByName, _T( "ddraw.dll" ), _T( "DirectDrawCreate" ), 0, reinterpret_cast< DWORD >( DirectDrawCreateF ), 0 }, + { eByName, _T( "kernel32.dll" ), _T( "CreateFileA" ), 0, reinterpret_cast< DWORD >( CreateFileF ), 0 }, +}; + +static bool bDualLog = false; +static cHookDescriptor _hooksDualLog[] = { + { eByName, _T( "kernel32.dll" ), _T( "CreateSemaphoreA" ), 102, reinterpret_cast< DWORD >( Replacement_CreateSemaphoreA ), 0 }, }; HINSTANCE hAlphaBlendDLL; @@ -94,11 +101,23 @@ if( ::_tcsicmp( strProcessName + 1, _T( "client" ) ) == 0 ) { - // ::MessageBox( NULL, _T( "DllMain" ), _T( "Inject.dll" ), MB_OK ); - hookFunctions( _hooks, 2 ); - bRegisteredInAC = true; - //MessageBox(0,"asd","asd",0); - //_asm int 3 + hookFunctions( _hooks, 2 ); + bRegisteredInAC = true; + + // Check if dual logging is enabled + RegKey key; + if( key.Open( HKEY_LOCAL_MACHINE, "SOFTWARE\\Decal" ) == ERROR_SUCCESS ) + { + DWORD dwDual = 0; + if( key.QueryDWORDValue( "AllowDualLog", dwDual ) == ERROR_SUCCESS ) + { + if( dwDual ) + { + bDualLog = true; + hookFunctions( _hooksDualLog, 1 ); + } + } + } } _hUpdateEnabled = ::CreateMutex( NULL, FALSE, _T( "InjectEnablePlugins" ) ); @@ -114,12 +133,12 @@ } else if (dwReason == DLL_PROCESS_DETACH) { - ::CloseHandle( _hUpdateEnabled ); + ::CloseHandle( _hUpdateEnabled ); - if( hAlphaBlendDLL ) - FreeLibrary( hAlphaBlendDLL ); + if( hAlphaBlendDLL ) + FreeLibrary( hAlphaBlendDLL ); - _Module.Term(); + _Module.Term(); } return TRUE; // ok } @@ -281,6 +300,15 @@ return hFile; } +HANDLE __stdcall Replacement_CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName ) +{ + HANDLE hSem = CreateSemaphore( lpSemaphoreAttributes, lInitialCount, /* lMaximumCount */ 0x7F, lpName ); + + SetLastError( 0 ); + + return hSem; +} + PIMAGE_IMPORT_DESCRIPTOR getNamedImportDescriptor( HMODULE hModule, LPCSTR szImportMod ) { PIMAGE_DOS_HEADER pDOSHeader = reinterpret_cast< PIMAGE_DOS_HEADER >( hModule ); @@ -396,7 +424,6 @@ void DisplayErrorMessage( DWORD dwError, char* szFrom ) { - LRESULT lrLength; char szBuffer[1024]; char *lpMsgBuf; |
From: <no...@us...> - 2003-08-27 19:07:17
|
Log Message: ----------- no message Modified Files: -------------- /cvsroot/decaldev/source/Decal: ACHooks.cpp Revision Data ------------- Index: ACHooks.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.cpp,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- ACHooks.cpp 27 Aug 2003 19:06:23 -0000 1.60 +++ ACHooks.cpp 27 Aug 2003 19:07:16 -0000 1.61 @@ -805,7 +805,6 @@ HookCall( m_lRequestShortcircuit1, g_lIdentifyHijackProc ); HookCall( m_lRequestShortcircuit2, g_lIdentifyHijackProc ); HookCall( m_lRequestShortcircuit3, g_lIdentifyHijackProc ); - HookCall( m_lRequestShortcircuit4, g_lIdentifyHijackProc ); } s_pACHooks = NULL; |
From: <no...@us...> - 2003-08-27 19:06:24
|
Log Message: ----------- oops. Modified Files: -------------- /cvsroot/decaldev/source/Decal: ACHooks.cpp Revision Data ------------- Index: ACHooks.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.cpp,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ACHooks.cpp 21 Aug 2003 22:22:46 -0000 1.59 +++ ACHooks.cpp 27 Aug 2003 19:06:23 -0000 1.60 @@ -746,7 +746,6 @@ m_lRequestShortcircuit1 = 0; m_lRequestShortcircuit2 = 0; m_lRequestShortcircuit3 = 0; - m_lRequestShortcircuit4 = 0; if( QueryMemLoc( BSTRT( "RequestShortcircuit1" ), &Val ) == S_OK ) m_lRequestShortcircuit1 = Val; |
From: <no...@us...> - 2003-08-27 19:02:32
|
Log Message: ----------- IRender3DSink.. woot? Modified Files: -------------- /cvsroot/decaldev/source/Inject: Direct3DHook.cpp Inject.idl Manager.cpp Manager.h Revision Data ------------- Index: Direct3DHook.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Direct3DHook.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Direct3DHook.cpp 18 Aug 2001 19:34:50 -0000 1.1.1.1 +++ Direct3DHook.cpp 27 Aug 2003 19:02:19 -0000 1.2 @@ -11,18 +11,20 @@ void CDirect3DHook::setObject( IUnknown *pDevice ) { - pDevice->QueryInterface( IID_IDirect3DDevice, reinterpret_cast< void ** >( &m_pDevice ) ); - pDevice->QueryInterface( IID_IDirect3DDevice2, reinterpret_cast< void ** >( &m_pDevice2 ) ); - pDevice->QueryInterface( IID_IDirect3DDevice3, reinterpret_cast< void ** >( &m_pDevice3 ) ); + pDevice->QueryInterface( IID_IDirect3DDevice, reinterpret_cast< void ** >( &m_pDevice ) ); + pDevice->QueryInterface( IID_IDirect3DDevice2, reinterpret_cast< void ** >( &m_pDevice2 ) ); + pDevice->QueryInterface( IID_IDirect3DDevice3, reinterpret_cast< void ** >( &m_pDevice3 ) ); } STDMETHODIMP CDirect3DHook::EndScene() { - HRESULT hRes = m_pDevice->EndScene(); + cManager::_p->draw3D(); - // Draw the user 2D layer - cManager::_p->draw2D(); + HRESULT hRes = m_pDevice->EndScene(); - return hRes; + // Draw the user 2D layer + cManager::_p->draw2D(); + + return hRes; } Index: Inject.idl =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Inject.idl,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- Inject.idl 21 Mar 2003 09:03:22 -0000 1.37 +++ Inject.idl 27 Aug 2003 19:02:19 -0000 1.38 @@ -138,7 +138,8 @@ { eManagerSinkCapWindowMessage = 0x01, eManagerSinkCapPlugin = 0x02, - eManagerSinkCapRender = 0x04 + eManagerSinkCapRender = 0x04, + eManagerSinkCapRender3D = 0x08, }; [ @@ -245,6 +246,17 @@ [ object, + uuid(FE9DCC98-22AE-44c1-877D-AAEA77E1249F), + helpstring("IRender3DSink Interface"), + pointer_default(unique) + ] + interface IRender3DSink : IUnknown + { + [helpstring("method Render3D")] HRESULT Render3D(IUnknown* pD3D); + }; + + [ + object, uuid(996B377C-1953-4db1-AAC1-157F72592D3E), dual, helpstring("Base interface for all controls."), @@ -785,6 +797,7 @@ interface IPlugin; interface IPluginSink; interface IRenderSink; + interface IRender3DSink; interface ILayerSite; interface IControl; Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- Manager.cpp 6 Aug 2003 01:21:17 -0000 1.74 +++ Manager.cpp 27 Aug 2003 19:02:19 -0000 1.75 @@ -261,27 +261,30 @@ void cManager::loadPlugin( IUnknown *pUnkPlugin ) { - cPlugin p; - p.m_pPlugin = pUnkPlugin; - p.m_dwSinkCaps = 0; + cPlugin p; + p.m_pPlugin = pUnkPlugin; + p.m_dwSinkCaps = 0; - // Test for sink caps - static cManagerSinkCapTest _capstest[] = { - { eManagerSinkCapWindowMessage, &IID_IWindowsMessageSink }, { eManagerSinkCapPlugin, &IID_IPluginSink}, { eManagerSinkCapRender, &IID_IRenderSink} - }; + // Test for sink caps + static cManagerSinkCapTest _capstest[] = { + { eManagerSinkCapWindowMessage, &IID_IWindowsMessageSink }, + { eManagerSinkCapPlugin, &IID_IPluginSink}, + { eManagerSinkCapRender, &IID_IRenderSink }, + { eManagerSinkCapRender3D, &IID_IRender3DSink }, + }; - static cManagerSinkCapTest *_end_caps = _capstest + ( sizeof( _capstest ) / sizeof( cManagerSinkCapTest ) ); + static cManagerSinkCapTest *_end_caps = _capstest + ( sizeof( _capstest ) / sizeof( cManagerSinkCapTest ) ); - for( cManagerSinkCapTest *i = _capstest; i != _end_caps; ++ i ) - { - CComPtr< IUnknown > pUnk; - if( SUCCEEDED( pUnkPlugin->QueryInterface( *( i->m_iid ), reinterpret_cast< void ** >( &pUnk ) ) ) ) - p.m_dwSinkCaps |= i->m_mask; - } + for( cManagerSinkCapTest *i = _capstest; i != _end_caps; ++ i ) + { + CComPtr< IUnknown > pUnk; + if( SUCCEEDED( pUnkPlugin->QueryInterface( *( i->m_iid ), reinterpret_cast< void ** >( &pUnk ) ) ) ) + p.m_dwSinkCaps |= i->m_mask; + } - // Don't bother adding plugins without any sink interfaces - if ( p.m_dwSinkCaps != 0 ) - m_plugins.push_back( p ); + // Don't bother adding plugins without any sink interfaces + if ( p.m_dwSinkCaps != 0 ) + m_plugins.push_back( p ); } void cManager::unloadPlugins () @@ -348,6 +351,22 @@ _ASSERTMEM( _CrtCheckMemory( ) ); } +} + +void cManager::draw3D() +{ + if( m_pRootSite != NULL ) + { + for( cPluginList::iterator i = m_plugins.begin(); i != m_plugins.end(); ++i ) + { + if( i->m_dwSinkCaps & eManagerSinkCapRender3D ) + { + CComPtr< IRender3DSink > pSink; + i->m_pPlugin->QueryInterface( &pSink ); + pSink->Render3D( m_p3DDevice ); + } + } + } } void cManager::removeImage( cImage *pImage ) Index: Manager.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.h,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- Manager.h 21 Jul 2003 19:11:22 -0000 1.31 +++ Manager.h 27 Aug 2003 19:02:19 -0000 1.32 @@ -51,6 +51,7 @@ void setWindow( HWND hWnd ); void draw2D(); + void draw3D(); void clearDestroyList(); void __stdcall onChatMessage(BSTR bstrText, long lColor, VARIANT_BOOL *pbEat); |
From: <no...@us...> - 2003-08-26 03:51:11
|
Log Message: ----------- World updates... mostly for ReadlModel/Scale properties, but I also updated the strings to be faster Modified Files: -------------- /cvsroot/decaldev/source/DecalFilters: DecalFilters.idl World.cpp World.h WorldObject.cpp WorldObject.h Revision Data ------------- Index: DecalFilters.idl =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/DecalFilters.idl,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- DecalFilters.idl 22 Aug 2003 05:51:02 -0000 1.33 +++ DecalFilters.idl 25 Aug 2003 18:18:23 -0000 1.34 @@ -537,6 +537,13 @@ [propget, id(43), helpstring("property HouseOwner")] HRESULT HouseOwner([out, retval] long *pVal); [propget, id(44), helpstring("property HookMask")] HRESULT HookMask([out, retval] long *pVal); [propget, id(45), helpstring("property HookType")] HRESULT HookType([out, retval] long *pVal); + [propget, id(46), helpstring("property RealModel")] HRESULT RealModel([out, retval] long *pVal); + [propget, id(47), helpstring("property Scale")] HRESULT Scale([out, retval] float* pVal); + [propget, id(48), helpstring("property Flags")] HRESULT Flags([out, retval] long *pVal); + [propget, id(49), helpstring("property CreateFlags1")] HRESULT CreateFlags1([out, retval] long *pVal); + [propget, id(50), helpstring("property CreateFlags2")] HRESULT CreateFlags2([out, retval] long *pVal); + [propget, id(51), helpstring("property ObjectFlags1")] HRESULT ObjectFlags1([out, retval] long *pVal); + [propget, id(52), helpstring("property ObjectFlags2")] HRESULT ObjectFlags2([out, retval] long *pVal); }; [ Index: World.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.cpp,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- World.cpp 22 Aug 2003 05:51:02 -0000 1.48 +++ World.cpp 25 Aug 2003 18:18:23 -0000 1.49 @@ -27,74 +27,85 @@ // cWorld // static bstring stable of doom :( -#define strContainer "Container" -#define strcontainer "container" -#define strSlot "Slot" -#define strslot "slot" -#define strwielder "wielder" -#define strlandblock "landblock" -#define strOffset "Offset" -#define strStackCount "StackCount" -#define strstackCount "stackCount" -#define strvalue "value" +BSTR strContainer; +BSTR strcontainer; +BSTR strSlot; +BSTR strslot; +BSTR strwielder; +BSTR strlandblock; +BSTR strOffset; +BSTR strStackCount; +BSTR strstackCount; +BSTR strvalue; -#define strxOffset "xOffset" -#define stryOffset "yOffset" -#define strzOffset "zOffset" -#define strxHeading "xHeading" -#define strdestroyed "destroyed" -#define stritem "item" -#define strcount "count" -#define strobject "object" -#define strowner "owner" -#define strsequence "sequence" -#define strequipType "equipType" -#define strsequence2 "sequence2" -#define strcoverage "coverage" -#define strflags1 "flags1" -#define strlocation "location" -#define strwieldingSlot "wieldingSlot" -#define strflags2 "flags2" -#define strobjectName "objectName" -#define strsecondaryName "secondaryName" -#define strmodel "model" -#define stricon "icon" -#define strunknown_v0_2 "unknown_v0_2" -#define strunknown_v0_3 "unknown_v0_3" -#define stritemSlots "itemSlots" -#define strpackSlots "packSlots" -#define strusesLeft "usesLeft" -#define strtotalUses "totalUses" -#define strstackMax "stackMax" -#define strapproachDistance "approachDistance" -#define strequipmentType "equipmentType" -#define strtradenoteVendor "tradenoteVendor" -#define strcoverage1 "coverage1" -#define strcoverage2 "coverage2" -#define strcoverage3 "coverage3" -#define strmonarch "monarch" -#define strmaterial "material" -#define strassociatedSpell "associatedSpell" -#define strtext "text" -#define strsenderName "senderName" -#define strtype "type" -#define strcharacter "character" -#define strevent "event" -#define strpack "pack" -#define stritemCount "itemCount" -#define stritems "items" -#define strdestination "destination" -#define strinventoryCount "inventoryCount" -#define strinventory "inventory" -#define strisContainer "isContainer" -#define strOwner "Owner" -#define strposition "position" -#define strSizeChange "EvtSizeChange" -#define strStorageChange "EvtStorageChange" -#define strLocationChange "EvtLocationChange" -#define strIdentReceived "EvtIdentReceived" -#define strReleasePending "EvtReleasePending" -#define strExpirationCancel "EvtExpirationCancel" +BSTR strxOffset; +BSTR stryOffset; +BSTR strzOffset; +BSTR strxHeading; +BSTR strdestroyed; +BSTR stritem; +BSTR strcount; +BSTR strobject; +BSTR strowner; +BSTR strsequence; +BSTR strequipType; +BSTR strsequence2; +BSTR strcoverage; +BSTR strflags1; +BSTR strlocation; +BSTR strwieldingSlot; +BSTR strflags2; +BSTR strobjectName; +BSTR strsecondaryName; +BSTR strmodel; +BSTR strrealmodel; +BSTR strunkgreen; +BSTR stricon; +BSTR strunknown_v0_2; +BSTR strunknown_v0_3; +BSTR strunknown_v2; +BSTR strunknown_v4; +BSTR strunknown_v5; +BSTR strunknown_w1; +BSTR strunknown10; +BSTR strunknown11b; +BSTR stritemSlots; +BSTR strpackSlots; +BSTR strusesLeft; +BSTR strtotalUses; +BSTR strstackMax; +BSTR strapproachDistance; +BSTR strequipmentType; +BSTR strtradenoteVendor; +BSTR strcoverage1; +BSTR strcoverage2; +BSTR strcoverage3; +BSTR strmonarch; +BSTR strmaterial; +BSTR strassociatedSpell; +BSTR strtext; +BSTR strsenderName; +BSTR strtype; +BSTR strcharacter; +BSTR strevent; +BSTR strpack; +BSTR stritemCount; +BSTR stritems; +BSTR strdestination; +BSTR strinventoryCount; +BSTR strinventory; +BSTR strisContainer; +BSTR strOwner; +BSTR strposition; +BSTR strburden; +BSTR strworkmanship; +BSTR strhouseOwnerID; +BSTR strSizeChange; +BSTR strStorageChange; +BSTR strLocationChange; +BSTR strIdentReceived; +BSTR strReleasePending; +BSTR strExpirationCancel; enum AcMessages { @@ -137,6 +148,87 @@ _DebugLog("\n\nLogin") ; + SysReAllocString( &strContainer, L"Container" ); + SysReAllocString( &strContainer, L"Container" ); + SysReAllocString( &strcontainer, L"container" ); + SysReAllocString( &strSlot, L"Slot" ); + SysReAllocString( &strslot, L"slot" ); + SysReAllocString( &strwielder, L"wielder" ); + SysReAllocString( &strlandblock, L"landblock" ); + SysReAllocString( &strOffset, L"Offset" ); + SysReAllocString( &strStackCount, L"StackCount" ); + SysReAllocString( &strstackCount, L"stackCount" ); + SysReAllocString( &strvalue, L"value" ); + + SysReAllocString( &strxOffset, L"xOffset" ); + SysReAllocString( &stryOffset, L"yOffset" ); + SysReAllocString( &strzOffset, L"zOffset" ); + SysReAllocString( &strxHeading, L"xHeading" ); + SysReAllocString( &strdestroyed, L"destroyed" ); + SysReAllocString( &stritem, L"item" ); + SysReAllocString( &strcount, L"count" ); + SysReAllocString( &strobject, L"object" ); + SysReAllocString( &strowner, L"owner" ); + SysReAllocString( &strsequence, L"sequence" ); + SysReAllocString( &strequipType, L"equipType" ); + SysReAllocString( &strsequence2, L"sequence2" ); + SysReAllocString( &strcoverage, L"coverage" ); + SysReAllocString( &strflags1, L"flags1" ); + SysReAllocString( &strlocation, L"location" ); + SysReAllocString( &strwieldingSlot, L"wieldingSlot" ); + SysReAllocString( &strflags2, L"flags2" ); + SysReAllocString( &strobjectName, L"objectName" ); + SysReAllocString( &strsecondaryName, L"secondaryName" ); + SysReAllocString( &strmodel, L"model" ); + SysReAllocString( &strrealmodel, L"modelNumber" ); + SysReAllocString( &strunkgreen, L"unknown_green" ); + SysReAllocString( &stricon, L"icon" ); + SysReAllocString( &strunknown_v0_2, L"unknown_v0_2" ); + SysReAllocString( &strunknown_v0_3, L"unknown_v0_3" ); + SysReAllocString( &strunknown_v2, L"unknown_v2" ); + SysReAllocString( &strunknown_v4, L"unknown_v4" ); + SysReAllocString( &strunknown_v4, L"unknown_v5" ); + SysReAllocString( &strunknown_w1, L"unknown_w1" ); + SysReAllocString( &strunknown10, L"unknown10" ); + SysReAllocString( &strunknown11b, L"unknown11b" ); + SysReAllocString( &stritemSlots, L"itemSlots" ); + SysReAllocString( &strpackSlots, L"packSlots" ); + SysReAllocString( &strusesLeft, L"usesLeft" ); + SysReAllocString( &strtotalUses, L"totalUses" ); + SysReAllocString( &strstackMax, L"stackMax" ); + SysReAllocString( &strapproachDistance, L"approachDistance" ); + SysReAllocString( &strequipmentType, L"equipmentType" ); + SysReAllocString( &strtradenoteVendor, L"tradenoteVendor" ); + SysReAllocString( &strcoverage1, L"coverage1" ); + SysReAllocString( &strcoverage2, L"coverage2" ); + SysReAllocString( &strcoverage3, L"coverage3" ); + SysReAllocString( &strmonarch, L"monarch" ); + SysReAllocString( &strmaterial, L"material" ); + SysReAllocString( &strassociatedSpell, L"associatedSpell" ); + SysReAllocString( &strtext, L"text" ); + SysReAllocString( &strsenderName, L"senderName" ); + SysReAllocString( &strtype, L"type" ); + SysReAllocString( &strcharacter, L"character" ); + SysReAllocString( &strevent, L"event" ); + SysReAllocString( &strpack, L"pack" ); + SysReAllocString( &stritemCount, L"itemCount" ); + SysReAllocString( &stritems, L"items" ); + SysReAllocString( &strdestination, L"destination" ); + SysReAllocString( &strinventoryCount, L"inventoryCount" ); + SysReAllocString( &strinventory, L"inventory" ); + SysReAllocString( &strisContainer, L"isContainer" ); + SysReAllocString( &strOwner, L"Owner" ); + SysReAllocString( &strposition, L"position" ); + SysReAllocString( &strburden, L"burden" ); + SysReAllocString( &strworkmanship, L"workmanship" ); + SysReAllocString( &strhouseOwnerID, L"houseOwnerID" ); + SysReAllocString( &strSizeChange, L"EvtSizeChange" ); + SysReAllocString( &strStorageChange, L"EvtStorageChange" ); + SysReAllocString( &strLocationChange, L"EvtLocationChange" ); + SysReAllocString( &strIdentReceived, L"EvtIdentReceived" ); + SysReAllocString( &strReleasePending, L"EvtReleasePending" ); + SysReAllocString( &strExpirationCancel, L"EvtExpirationCancel" ); + if( !m_HookIsSet ) SetHook() ; @@ -193,6 +285,86 @@ m_pDecal = NULL ; } + // cleanup our bstr mess... + SysFreeString( strContainer ); + SysFreeString( strcontainer ); + SysFreeString( strSlot ); + SysFreeString( strslot ); + SysFreeString( strwielder ); + SysFreeString( strlandblock ); + SysFreeString( strOffset ); + SysFreeString( strStackCount ); + SysFreeString( strstackCount ); + SysFreeString( strvalue ); + + SysFreeString( strxOffset ); + SysFreeString( stryOffset ); + SysFreeString( strzOffset ); + SysFreeString( strxHeading ); + SysFreeString( strdestroyed ); + SysFreeString( stritem ); + SysFreeString( strcount ); + SysFreeString( strobject ); + SysFreeString( strowner ); + SysFreeString( strsequence ); + SysFreeString( strequipType ); + SysFreeString( strsequence2 ); + SysFreeString( strcoverage ); + SysFreeString( strflags1 ); + SysFreeString( strlocation ); + SysFreeString( strwieldingSlot ); + SysFreeString( strflags2 ); + SysFreeString( strobjectName ); + SysFreeString( strsecondaryName ); + SysFreeString( strmodel ); + SysFreeString( strrealmodel ); + SysFreeString( strunkgreen ); + SysFreeString( stricon ); + SysFreeString( strunknown_v0_2 ); + SysFreeString( strunknown_v0_3 ); + SysFreeString( strunknown_v2 ); + SysFreeString( strunknown_v4 ); + SysFreeString( strunknown_v5 ); + SysFreeString( strunknown_w1 ); + SysFreeString( strunknown10 ); + SysFreeString( stritemSlots ); + SysFreeString( strpackSlots ); + SysFreeString( strusesLeft ); + SysFreeString( strtotalUses ); + SysFreeString( strstackMax ); + SysFreeString( strapproachDistance ); + SysFreeString( strequipmentType ); + SysFreeString( strtradenoteVendor ); + SysFreeString( strcoverage1 ); + SysFreeString( strcoverage2 ); + SysFreeString( strcoverage3 ); + SysFreeString( strmonarch ); + SysFreeString( strmaterial ); + SysFreeString( strassociatedSpell ); + SysFreeString( strtext ); + SysFreeString( strsenderName ); + SysFreeString( strtype ); + SysFreeString( strcharacter ); + SysFreeString( strevent ); + SysFreeString( strpack ); + SysFreeString( stritemCount ); + SysFreeString( stritems ); + SysFreeString( strdestination ); + SysFreeString( strinventoryCount ); + SysFreeString( strinventory ); + SysFreeString( strisContainer ); + SysFreeString( strOwner ); + SysFreeString( strposition ); + SysFreeString( strburden ); + SysFreeString( strworkmanship ); + SysFreeString( strhouseOwnerID ); + SysFreeString( strSizeChange ); + SysFreeString( strStorageChange ); + SysFreeString( strLocationChange ); + SysFreeString( strIdentReceived ); + SysFreeString( strReleasePending ); + SysFreeString( strExpirationCancel ); + return S_OK; } @@ -255,11 +427,12 @@ BSTR Sender ; long nType ; - pMembers->get_NextString(_bstr_t(strtext), &Text) ; - pMembers->get_NextString(_bstr_t(strsenderName), &Sender) ; - pMembers->get_NextInt(_bstr_t(strtype), &nType) ; + pMembers->get_NextString(strtext, &Text) ; + pMembers->get_NextString(strsenderName, &Sender) ; + pMembers->get_NextInt(strtype, &nType) ; if (nType==2) { - _DebugLog("\n\n%s: %s", LPCSTR(_bstr_t(Sender)), LPCSTR(_bstr_t(Text))) ; + USES_CONVERSION; + _DebugLog("\n\n%s: %s", OLE2A(Sender), OLE2A(Text)) ; } } #endif @@ -268,8 +441,8 @@ { long nCharacter, nEvent; - pMembers->get_NextInt(_bstr_t(strcharacter), &nCharacter); - pMembers->get_NextInt(_bstr_t(strevent), &nEvent); + pMembers->get_NextInt(strcharacter, &nCharacter); + pMembers->get_NextInt(strevent, &nEvent); if (!m_objects.player()) { _DebugLog("\nPlayer: %x", nCharacter) ; @@ -468,7 +641,7 @@ void cWorld::DoDestroyObj(CComPtr< IMessageIterator > pMembers) { long nDestroyed; - pMembers->get_NextInt(_bstr_t(strdestroyed), &nDestroyed); + pMembers->get_NextInt(strdestroyed, &nDestroyed); _DebugLog("\n\nDestroyObj %x", nDestroyed) ; // if we know about this object @@ -486,8 +659,8 @@ void cWorld::DoSetCoverage(CComPtr<IMessageIterator> pMembers) { long object, coverage ; - pMembers->get_NextInt(_bstr_t(strobject), &object) ; - pMembers->get_NextInt(_bstr_t(strcoverage), &coverage) ; + pMembers->get_NextInt(strobject, &object) ; + pMembers->get_NextInt(strcoverage, &coverage) ; _DebugLog("\n\nSetCoverage %x %x", object, coverage) ; if (cWorldData *pData = Data(object)) { @@ -506,11 +679,11 @@ { long object, container, seq, type, seq2 ; - pMembers->get_NextInt(_bstr_t(strsequence), &seq) ; - pMembers->get_NextInt(_bstr_t(strobject), &object) ; - pMembers->get_NextInt(_bstr_t(strequipType), &type) ; - pMembers->get_NextInt(_bstr_t(strcontainer), &container) ; - pMembers->get_NextInt(_bstr_t(strsequence2), &seq2) ; + pMembers->get_NextInt(strsequence, &seq) ; + pMembers->get_NextInt(strobject, &object) ; + pMembers->get_NextInt(strequipType, &type) ; + pMembers->get_NextInt(strcontainer, &container) ; + pMembers->get_NextInt(strsequence2, &seq2) ; _DebugLog("\n\nSetContainer: %d, %x, %d, %x, %d", seq, object, type, container, seq2) ; @@ -556,9 +729,9 @@ { long nItem, nCount, nValue; - pMembers->get_NextInt(_bstr_t(stritem), &nItem); - pMembers->get_NextInt(_bstr_t(strcount), &nCount); - pMembers->get_NextInt(_bstr_t(strvalue), &nValue); + pMembers->get_NextInt(stritem, &nItem); + pMembers->get_NextInt(strcount, &nCount); + pMembers->get_NextInt(strvalue, &nValue); _DebugLog("\n\nAdjustStackSize %x %d %d", nItem, nCount, nValue) ; @@ -570,15 +743,15 @@ pData->m_dwValue = nValue; // Fire change events for those items that may have changed - Fire_ChangeObject(pData->m_p, _bstr_t(strSizeChange)); + Fire_ChangeObject(pData->m_p, strSizeChange); } } void cWorld::DoWearItem(CComPtr<IMessageIterator> pMembers) { long nObject, nSlot; - pMembers->get_NextInt(_bstr_t(stritem), &nObject); - pMembers->get_NextInt(_bstr_t(strslot), &nSlot) ; + pMembers->get_NextInt(stritem, &nObject); + pMembers->get_NextInt(strslot, &nSlot) ; _DebugLog("\n\nWearItem %x %x", nObject, nSlot) ; if (cWorldData *pData = Data(nObject)) @@ -591,14 +764,14 @@ // Gouru: Changed to capitalized versions of these string for consistency with other // fired events - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } } void cWorld::DoDropItem(CComPtr<IMessageIterator> pMembers) { long nItem; - pMembers->get_NextInt(_bstr_t(stritem), &nItem); + pMembers->get_NextInt(stritem, &nItem); _DebugLog("\n\nDropItem %x", nItem) ; if (cWorldData *pData = Data(nItem)) { @@ -609,7 +782,7 @@ pData->m_dwContainer = 0; pData->m_dwWielder = 0 ; // not wielded when on ground } - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } } @@ -618,9 +791,9 @@ CComPtr<IMessageIterator> pItems, pItem; long nPack, nItemCount, ixItem = 0, ixPack=0; - pMembers->get_NextInt(_bstr_t(strpack), &nPack); - pMembers->get_NextInt(_bstr_t(stritemCount), &nItemCount); - pMembers->get_NextObject(_bstr_t(stritems), &pItems); + pMembers->get_NextInt(strpack, &nPack); + pMembers->get_NextInt(stritemCount, &nItemCount); + pMembers->get_NextObject(stritems, &pItems); _DebugLog("\n\nSetPackContents %x %d", nPack, nItemCount) ; @@ -628,8 +801,8 @@ { long nItem, nType; - pItem->get_NextInt(_bstr_t(stritem), &nItem); - pItem->get_NextInt(_bstr_t(strtype), &nType); + pItem->get_NextInt(stritem, &nItem); + pItem->get_NextInt(strtype, &nType); CSlot slot = (nType==0) ? CSlot(ixItem++, 0x00) : CSlot(ixPack++, 0x01) ; @@ -641,7 +814,7 @@ pData->m_Slot = slot ; //SetObjectOwner(pData); - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } else { @@ -658,9 +831,9 @@ { long nItem, nDest, nSlot; - pMembers->get_NextInt(_bstr_t(stritem), &nItem); - pMembers->get_NextInt(_bstr_t(strdestination), &nDest); - pMembers->get_NextInt(_bstr_t(strslot), &nSlot); + pMembers->get_NextInt(stritem, &nItem); + pMembers->get_NextInt(strdestination, &nDest); + pMembers->get_NextInt(strslot, &nSlot); _DebugLog("\n\nInsertIntoInventory %x %x %d", nItem, nDest, nSlot) ; @@ -687,7 +860,7 @@ pData->m_Slot.slot = nSlot; pData->m_dwWielder = 0 ; // not wielded when in inventory - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } } @@ -697,16 +870,16 @@ CComPtr<IMessageIterator> pItems, pItem; long nCount, ixSlot = 0, ixPack=0 ; - pMembers->get_NextInt(_bstr_t(strinventoryCount), &nCount); - pMembers->get_NextObject(_bstr_t(strinventory), &pItems); + pMembers->get_NextInt(strinventoryCount, &nCount); + pMembers->get_NextObject(strinventory, &pItems); while (pItems->get_NextObjectIndex(&pItem) == S_OK) { long nObject, nIsContainer; cWorldData *pData; - pItem->get_NextInt(_bstr_t(strobject), &nObject); - pItem->get_NextInt(_bstr_t(strisContainer), &nIsContainer); + pItem->get_NextInt(strobject, &nObject); + pItem->get_NextInt(strisContainer, &nIsContainer); CSlot info ; if (nIsContainer) { @@ -735,7 +908,7 @@ void cWorld::DoMoveToInventory(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(_bstr_t(strobject), &nObject); + pMembers->get_NextInt(strobject, &nObject); _DebugLog("\n\nMoveToInventory %x", nObject) ; @@ -749,7 +922,7 @@ } pData->m_dwWielder = 0 ; // unwielded unless we get a wield msg later - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } } @@ -759,7 +932,7 @@ USES_CONVERSION ; long nObject; - pMembers->get_NextInt(_bstr_t(strobject), &nObject); + pMembers->get_NextInt(strobject, &nObject); _DebugLog("\n\nCreateObject %x", nObject) ; @@ -793,23 +966,23 @@ _ASSERTE(pCreate); pCreate->m_dwGUID = nObject; - pMembers->get_NextInt(_bstr_t(strflags1), &pCreate->m_dwFlags1); + pMembers->get_NextInt(strflags1, &pCreate->m_dwFlags1); // Location of Object if (pCreate->m_dwFlags1 & 0x00008000) { CComPtr< IMessageIterator > pPos; - pMembers->get_NextObject(_bstr_t(strlocation), &pPos); + pMembers->get_NextObject(strlocation, &pPos); - pPos->get_NextInt(_bstr_t(strlandblock), &pCreate->m_dwLandblock); + pPos->get_NextInt(strlandblock, &pCreate->m_dwLandblock); _DebugLog("\n Landblock %d", pCreate->m_dwLandblock) ; - pPos->get_NextFloat(_bstr_t(strxOffset), &pCreate->m_fxOffset); + pPos->get_NextFloat(strxOffset, &pCreate->m_fxOffset); _DebugLog("\n xOffset %f", pCreate->m_fxOffset) ; - pPos->get_NextFloat(_bstr_t(stryOffset), &pCreate->m_fyOffset); + pPos->get_NextFloat(stryOffset, &pCreate->m_fyOffset); _DebugLog("\n yOffset %f", pCreate->m_fyOffset) ; - pPos->get_NextFloat(_bstr_t(strzOffset), &pCreate->m_fzOffset); + pPos->get_NextFloat(strzOffset, &pCreate->m_fzOffset); _DebugLog("\n zOffset %f", pCreate->m_fzOffset) ; - pPos->get_NextFloat(_bstr_t(strxHeading), &pCreate->m_fxHeading); + pPos->get_NextFloat(strxHeading, &pCreate->m_fxHeading); _DebugLog("\n Heading %f", pCreate->m_fxHeading) ; // landblock info used to speed up culling pCreate->m_LandblockCol = (pCreate->m_dwLandblock>>24) & 0xff ; @@ -821,32 +994,46 @@ // Wielder Information if (pCreate->m_dwFlags1 & 0x00000020) { - pMembers->get_NextInt(_bstr_t(strwielder), &pCreate->m_dwWielder); + pMembers->get_NextInt(strwielder, &pCreate->m_dwWielder); _DebugLog("\n Wielder %d", pCreate->m_dwWielder) ; - pMembers->get_NextInt(_bstr_t(strwieldingSlot), &pCreate->m_dwWieldingSlot); + pMembers->get_NextInt(strwieldingSlot, &pCreate->m_dwWieldingSlot); _DebugLog("\n Wieldingslot %d", pCreate->m_dwWieldingSlot) ; pCreate->m_Slot.slot = -1 ; // wielded items are slot 1 pCreate->m_dwContainer = pCreate->m_dwWielder ; } - pMembers->get_NextInt(_bstr_t(strflags2), &pCreate->m_dwFlags2); + // Real Model + if (pCreate->m_dwFlags1 & 0x1) + { + pMembers->get_NextInt(strrealmodel, &pCreate->m_dwRealModel); + _DebugLog("\n Real Model %x",pCreate->m_dwRealModel) ; + } + + // Scale + if( pCreate->m_dwFlags1 & 0x80 ) + { + pMembers->get_NextFloat(strunkgreen, &pCreate->m_fScale); + _DebugLog("\n Scale %.2f",pCreate->m_fScale) ; + } + + pMembers->get_NextInt(strflags2, &pCreate->m_dwFlags2); BSTR strName; - pMembers->get_NextString(_bstr_t(strobjectName), &strName); + pMembers->get_NextString(strobjectName, &strName); pCreate->m_strName = OLE2A(strName); _DebugLog("\n Name: %s", pCreate->m_strName.c_str()) ; - pMembers->get_NextInt(_bstr_t(strmodel), &pCreate->m_dwModel); + pMembers->get_NextInt(strmodel, &pCreate->m_dwModel); _DebugLog("\n Model %x",pCreate->m_dwModel) ; - pMembers->get_NextInt(_bstr_t(stricon), &pCreate->m_dwIcon); + pMembers->get_NextInt(stricon, &pCreate->m_dwIcon); _DebugLog("\n Icon %x",pCreate->m_dwIcon) ; - pMembers->get_NextInt(_bstr_t(strunknown_v0_2), &pCreate->m_dwObjectFlags1); - pMembers->get_NextInt(_bstr_t(strunknown_v0_3), &pCreate->m_dwObjectFlags2); + pMembers->get_NextInt(strunknown_v0_2, &pCreate->m_dwObjectFlags1); + pMembers->get_NextInt(strunknown_v0_3, &pCreate->m_dwObjectFlags2); // Secondary name if (pCreate->m_dwFlags2 & 0x00000001) { BSTR strName; - pMembers->get_NextString(_bstr_t(strsecondaryName), &strName); + pMembers->get_NextString(strsecondaryName, &strName); pCreate->m_strSecondaryName = OLE2A(strName); _DebugLog("\n SecName: %s", pCreate->m_strSecondaryName.c_str()) ; } @@ -855,7 +1042,7 @@ if (pCreate->m_dwFlags2 & 0x00000002) { pCreate->m_flags |= FLAG_CONTAINS; - pMembers->get_NextInt(_bstr_t(stritemSlots), (long *)&pCreate->m_nItemSlots); + pMembers->get_NextInt(stritemSlots, (long *)&pCreate->m_nItemSlots); _DebugLog("\n ItemSlots %x",pCreate->m_nItemSlots) ; // if it has slots for items, must be a container type pCreate->m_Slot.type = 1 ; @@ -865,7 +1052,7 @@ if (pCreate->m_dwFlags2 & 0x00000004) { pCreate->m_flags |= FLAG_CONTAINS; - pMembers->get_NextInt(_bstr_t(strpackSlots), (long *)&pCreate->m_nPackSlots); + pMembers->get_NextInt(strpackSlots, (long *)&pCreate->m_nPackSlots); _DebugLog("\n PackSlots %x",pCreate->m_nPackSlots) ; // if it has slots for packs, must be a container type pCreate->m_Slot.type = 1 ; @@ -873,7 +1060,7 @@ // Value if (pCreate->m_dwFlags2 & 0x00000008) { - pMembers->get_NextInt(_bstr_t(strvalue), &pCreate->m_dwValue); + pMembers->get_NextInt(strvalue, &pCreate->m_dwValue); _DebugLog("\n Value %x",pCreate->m_dwValue) ; } else { pCreate->m_dwValue = -1; @@ -882,7 +1069,7 @@ // Total Value if (pCreate->m_dwFlags2 & 0x00000010) { - pMembers->get_NextInt(_bstr_t("unknown_v2"), &pCreate->m_TotalValue); + pMembers->get_NextInt(strunknown_v2, &pCreate->m_TotalValue); _DebugLog("\n TotValue %x",pCreate->m_TotalValue) ; } else { pCreate->m_dwValue = -1; @@ -891,60 +1078,60 @@ // approachDistance if (pCreate->m_dwFlags2 & 0x00000020) { - pMembers->get_NextFloat(_bstr_t(strapproachDistance), &pCreate->m_fApproachDistance); + pMembers->get_NextFloat(strapproachDistance, &pCreate->m_fApproachDistance); _DebugLog("\n ApproachDist %f",pCreate->m_fApproachDistance) ; } // Icon Outline if (pCreate->m_dwFlags2 & 0x00000080) { - pMembers->get_NextInt(_bstr_t("unknown_v4"), &pCreate->m_IconOutline); + pMembers->get_NextInt(strunknown_v4, &pCreate->m_IconOutline); _DebugLog("\n m_IconOutline %x",pCreate->m_IconOutline) ; } // Missile Type if (pCreate->m_dwFlags2 & 0x00000100) { - pMembers->get_NextInt(_bstr_t("unknown_w1"), &pCreate->m_MissileType); + pMembers->get_NextInt(strunknown_w1, &pCreate->m_MissileType); _DebugLog("\n m_MissileType %x",pCreate->m_MissileType) ; } // Equip Type if (pCreate->m_dwFlags2 & 0x00000200) { - pMembers->get_NextInt(_bstr_t(strequipmentType), &pCreate->m_dwEquipType); + pMembers->get_NextInt(strequipmentType, &pCreate->m_dwEquipType); _DebugLog("\n EquipType %x",pCreate->m_dwEquipType) ; } // Uses Left if (pCreate->m_dwFlags2 & 0x00000400) { pCreate->m_flags |= FLAG_USEABLE; - pMembers->get_NextInt(_bstr_t(strusesLeft), (long *)&pCreate->m_nUsesLeft); + pMembers->get_NextInt(strusesLeft, (long *)&pCreate->m_nUsesLeft); _DebugLog("\n UsesLeft %x",pCreate->m_nUsesLeft) ; } // Total Uses if (pCreate->m_dwFlags2 & 0x00000800) { pCreate->m_flags |= FLAG_USEABLE; - pMembers->get_NextInt(_bstr_t(strtotalUses), (long *)&pCreate->m_nTotalUses); + pMembers->get_NextInt(strtotalUses, (long *)&pCreate->m_nTotalUses); _DebugLog("\n TotalUses %x",pCreate->m_nTotalUses) ; } // Stack Count if (pCreate->m_dwFlags2 & 0x00001000) { pCreate->m_flags |= FLAG_STACKABLE; - pMembers->get_NextInt(_bstr_t(strstackCount), (long *)&pCreate->m_nStackCount); + pMembers->get_NextInt(strstackCount, (long *)&pCreate->m_nStackCount); _DebugLog("\n StackCount %x",pCreate->m_nStackCount) ; } // Stack Maximum if (pCreate->m_dwFlags2 & 0x00002000) { pCreate->m_flags |= FLAG_STACKABLE; - pMembers->get_NextInt(_bstr_t(strstackMax), (long *)&pCreate->m_nStackMax); + pMembers->get_NextInt(strstackMax, (long *)&pCreate->m_nStackMax); _DebugLog("\n StackMax %x",pCreate->m_nStackMax) ; } // Container ID if (pCreate->m_dwFlags2 & 0x00004000) { - pMembers->get_NextInt(_bstr_t(strcontainer), &pCreate->m_dwContainer); + pMembers->get_NextInt(strcontainer, &pCreate->m_dwContainer); _DebugLog("\n container: %x",pCreate->m_dwContainer) ; } @@ -953,7 +1140,7 @@ long dword ; // gouru, owner is same as container for these purposes, however, the item appears // to be either worn or wielded, assume slot -1 - pMembers->get_NextInt(_bstr_t(strowner), &dword); + pMembers->get_NextInt(strowner, &dword); _DebugLog("\n ownerid: %x",dword) ; pCreate->m_dwContainer = dword ; pCreate->m_Slot.slot = -1 ; @@ -961,85 +1148,85 @@ // Coverage1 if (pCreate->m_dwFlags2 & 0x00010000) { - pMembers->get_NextInt(_bstr_t(strcoverage1), &pCreate->m_dwCoverage); + pMembers->get_NextInt(strcoverage1, &pCreate->m_dwCoverage); _DebugLog("\n coverage1: %x",pCreate->m_dwCoverage) ; } // Coverage2 if (pCreate->m_dwFlags2 & 0x00020000) { - pMembers->get_NextInt(_bstr_t(strcoverage2), &pCreate->m_dwCoverage2); + pMembers->get_NextInt(strcoverage2, &pCreate->m_dwCoverage2); _DebugLog("\n coverage2: %x",pCreate->m_dwCoverage2) ; } // Coverage3 if (pCreate->m_dwFlags2 & 0x00040000) { - pMembers->get_NextInt(_bstr_t(strcoverage3), &pCreate->m_dwCoverage3); + pMembers->get_NextInt(strcoverage3, &pCreate->m_dwCoverage3); _DebugLog("\n coverage3: %x",pCreate->m_dwCoverage3) ; } // Usage Mask if (pCreate->m_dwFlags2 & 0x00080000) { - pMembers->get_NextInt(_bstr_t("unknown_v5"), &pCreate->m_UsageMask); + pMembers->get_NextInt(strunknown_v5, &pCreate->m_UsageMask); _DebugLog("\n m_UsageMask: %x",pCreate->m_UsageMask) ; } // Monarch if (pCreate->m_dwFlags2 & 0x00000040) { - pMembers->get_NextInt(_bstr_t(strmonarch), &pCreate->m_dwMonarch); + pMembers->get_NextInt(strmonarch, &pCreate->m_dwMonarch); _DebugLog("\n Monarch: %x",pCreate->m_dwMonarch) ; } // Tradenote Vendor ID if (pCreate->m_dwFlags2 & 0x00020000) { - pMembers->get_NextInt(_bstr_t(strtradenoteVendor), &pCreate->m_dwTradeNoteVendor); + pMembers->get_NextInt(strtradenoteVendor, &pCreate->m_dwTradeNoteVendor); _DebugLog("\n TradeNoteVendor: %x",pCreate->m_dwTradeNoteVendor) ; } // Burden if (pCreate->m_dwFlags2 & 0x00200000) { - pMembers->get_NextInt(_bstr_t("burden"), &pCreate->m_Burden); + pMembers->get_NextInt(strburden, &pCreate->m_Burden); _DebugLog("\n m_Burden: %x",pCreate->m_Burden) ; } // Associated Spell if (pCreate->m_dwFlags2 & 0x00400000) { - pMembers->get_NextInt(_bstr_t(strassociatedSpell), &pCreate->m_dwAssociatedSpell); + pMembers->get_NextInt(strassociatedSpell, &pCreate->m_dwAssociatedSpell); _DebugLog("\n m_dwAssociatedSpell: %x",pCreate->m_dwAssociatedSpell) ; } // Workmanship if (pCreate->m_dwFlags2 & 0x01000000) { - pMembers->get_NextFloat(_bstr_t("workmanship"), &pCreate->m_Workmanship); + pMembers->get_NextFloat(strworkmanship, &pCreate->m_Workmanship); _DebugLog("\n m_dwMaterial: %x",pCreate->m_dwMaterial) ; } // Workmanship if (pCreate->m_dwFlags2 & 0x02000000) { - pMembers->get_NextInt(_bstr_t("houseOwnerID"), &pCreate->m_HouseOwner); + pMembers->get_NextInt(strhouseOwnerID, &pCreate->m_HouseOwner); _DebugLog("\n m_HouseOwner: %x",pCreate->m_HouseOwner) ; } // Hook Mask if (pCreate->m_dwFlags2 & 0x10000000) { - pMembers->get_NextInt(_bstr_t("unknown10"), &pCreate->m_HookMask); + pMembers->get_NextInt(strunknown10, &pCreate->m_HookMask); _DebugLog("\n m_HookMask: %x",pCreate->m_HookMask) ; } // Hook Type if (pCreate->m_dwFlags2 & 0x10000000) { - pMembers->get_NextInt(_bstr_t("unknown11b"), &pCreate->m_HookType); + pMembers->get_NextInt(strunknown11b, &pCreate->m_HookType); _DebugLog("\n m_HookType: %x",pCreate->m_HookType) ; } // Material if (pCreate->m_dwFlags2 & 0x80000000) { - pMembers->get_NextInt(_bstr_t(strmaterial), &pCreate->m_dwMaterial); + pMembers->get_NextInt(strmaterial, &pCreate->m_dwMaterial); _DebugLog("\n m_dwMaterial: %x",pCreate->m_dwMaterial) ; } @@ -1209,7 +1396,7 @@ void cWorld::DoRemoveItem(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(_bstr_t(strobject), &nObject); + pMembers->get_NextInt(strobject, &nObject); _DebugLog("\n\nRemoveItem %x", nObject) ; @@ -1222,8 +1409,8 @@ void cWorld::DoWieldItem(CComPtr<IMessageIterator> pMembers) { long nObject, nOwner; - pMembers->get_NextInt(_bstr_t(strowner), &nOwner); - pMembers->get_NextInt(_bstr_t(strobject), &nObject); + pMembers->get_NextInt(strowner, &nOwner); + pMembers->get_NextInt(strobject, &nObject); _DebugLog("\n\nWieldItem %x %x", nObject, nOwner) ; if (cWorldData *pData = Data(nObject)) @@ -1233,7 +1420,7 @@ MoveSlotBack(pData); // moves back only if player owns this item pData->m_Slot.slot = -1; - Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); + Fire_ChangeObject(pData->m_p, strStorageChange); } } @@ -1260,7 +1447,7 @@ void cWorld::DoSetObjectPosition(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(_bstr_t(strobject), &nObject); + pMembers->get_NextInt(strobject, &nObject); // Gouru: not normally logged as we get an S load of these messages, uncomment if you // really need it for testing... // _DebugLog("\nSetObjectPosition %x", nObject) ; @@ -1270,10 +1457,10 @@ if (pData) { CComPtr< IMessageIterator > pPos; - pMembers->get_NextObject(_bstr_t(strposition), &pPos); + pMembers->get_NextObject(strposition, &pPos); DWORD dwLandblock; - pPos->get_NextInt(_bstr_t(strlandblock), (long *)&dwLandblock); + pPos->get_NextInt(strlandblock, (long *)&dwLandblock); // long oldLandblock = pData->m_dwLandblock ; // long colLandblock = (dwLandblock>>24) & 0xff ; @@ -1283,10 +1470,10 @@ pData->m_dwLandblock = dwLandblock; pData->m_LandblockCol = (dwLandblock>>24) & 0xff ; pData->m_LandblockRow = (dwLandblock>>16) & 0xff ; - pPos->get_NextFloat(_bstr_t(strxOffset), &pData->m_fxOffset); - pPos->get_NextFloat(_bstr_t(stryOffset), &pData->m_fyOffset); - pPos->get_NextFloat(_bstr_t(strzOffset), &pData->m_fzOffset); - pPos->get_NextFloat(_bstr_t(strxHeading), &pData->m_fxHeading); + pPos->get_NextFloat(strxOffset, &pData->m_fxOffset); + pPos->get_NextFloat(stryOffset, &pData->m_fyOffset); + pPos->get_NextFloat(strzOffset, &pData->m_fzOffset); + pPos->get_NextFloat(strxHeading, &pData->m_fxHeading); // Object culling monster! // If moving object is player, and player changed landblocks... @@ -1326,7 +1513,7 @@ // if (!pObject->m_tExpires) { // _DebugLog("\nculling %x", pObject->m_dwGUID) ; // pObject->m_tExpires = time(NULL)+30 ; -// Fire_ChangeObject(pObject->m_p, _bstr_t(strReleasePending)); +// Fire_ChangeObject(pObject->m_p, strReleasePending); // } else { // _DebugLog("\n%x already tagged", pObject->m_dwGUID) ; // } @@ -1335,7 +1522,7 @@ // // cance the expiration // _DebugLog("\ncancelled cull %x", pObject->m_dwGUID) ; // pObject->m_tExpires = 0 ; -// Fire_ChangeObject(pObject->m_p, _bstr_t(strExpirationCancel)); +// Fire_ChangeObject(pObject->m_p, strExpirationCancel); // } // } // } else { @@ -1348,7 +1535,7 @@ // if (!pData->m_tExpires) { // _DebugLog("\nculling %x", pData->m_dwGUID) ; // pData->m_tExpires = time(NULL) + 30 ; -// Fire_ChangeObject(pData->m_p, _bstr_t(strReleasePending)); +// Fire_ChangeObject(pData->m_p, strReleasePending); // } else { // _DebugLog("%x already tagged", pData->m_dwGUID) ; // } @@ -1357,12 +1544,12 @@ // // else it is inside the culling distance and if tagged to expire // // cancel the expiration // pData->m_tExpires = 0 ; -// Fire_ChangeObject(pData->m_p, _bstr_t(strExpirationCancel)); +// Fire_ChangeObject(pData->m_p, strExpirationCancel); // } // } // } pData->m_flags |= FLAG_LOCATION; - Fire_ChangeObject(pData->m_p, _bstr_t(strLocationChange)); + Fire_ChangeObject(pData->m_p, strLocationChange); } } Index: World.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.h,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- World.h 22 Aug 2003 05:51:02 -0000 1.35 +++ World.h 25 Aug 2003 18:18:23 -0000 1.36 @@ -52,10 +52,13 @@ cWorldData() : m_Slot(0,0) { + m_bIdentified = false; m_dwGUID = 0; m_dwContainer = 0; m_dwIcon = 0; m_dwModel = 0; + m_dwRealModel = 0; + m_fScale = 1.0f; m_dwValue = -1; m_dwFlags1 = 0; m_dwFlags2 = 0; @@ -103,6 +106,7 @@ { } + bool m_bIdentified; long m_dwGUID; long m_dwContainer; long m_dwValue; @@ -113,6 +117,8 @@ long m_dwObjectFlags2; long m_dwIcon; long m_dwModel; + long m_dwRealModel; + float m_fScale; long m_flags; std::string m_strName; std::string m_strSecondaryName ; Index: WorldObject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- WorldObject.cpp 22 Aug 2003 05:51:02 -0000 1.21 +++ WorldObject.cpp 25 Aug 2003 18:18:23 -0000 1.22 @@ -3,6 +3,7 @@ #include "DecalFilters.h" #include "World.h" #include "WorldObject.h" +#include ".\worldobject.h" ///////////////////////////////////////////////////////////////////////////// // cWorldObject @@ -33,6 +34,11 @@ return GetLong(m_p->m_dwModel, pVal) ; } +STDMETHODIMP cWorldObject::get_RealModel(LONG* pVal) +{ + return GetLong(m_p->m_dwRealModel, pVal) ; +} + STDMETHODIMP cWorldObject::get_Icon(long *pVal) { return GetLong(m_p->m_dwIcon, pVal) ; @@ -288,6 +294,13 @@ return S_OK ; } + +STDMETHODIMP cWorldObject::get_Scale(float* pVal) +{ + *pVal = m_p->m_fScale; + return S_OK; +} + STDMETHODIMP cWorldObject::get_Flags(long *pVal) { return GetLong(m_p->m_flags, pVal) ; @@ -387,4 +400,3 @@ *pVal = m_p->m_Workmanship ; return S_OK ; } - Index: WorldObject.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- WorldObject.h 22 Aug 2003 05:51:02 -0000 1.17 +++ WorldObject.h 25 Aug 2003 18:18:23 -0000 1.18 @@ -87,6 +87,8 @@ STDMETHOD(get_HouseOwner)(/*[out, retval]*/ long *pVal); STDMETHOD(get_HookMask)(/*[out, retval]*/ long *pVal); STDMETHOD(get_HookType)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_RealModel)(/*[out, retval]*/long *pVal); + STDMETHOD(get_Scale)(/*[out, retval]*/float *pVal); // IWorldObject2 STDMETHOD(get_Flags)(/*[out, retval]*/ long *pVal); |
From: <no...@us...> - 2003-08-22 05:51:07
|
Log Message: ----------- Removed static bstr's that can cause random crashes on startup. Added additional properties to World Object for new CreateObject format. Modified Files: -------------- /cvsroot/decaldev/source/DecalFilters: DecalFilters.idl World.cpp World.h WorldObject.cpp WorldObject.h Revision Data ------------- Index: DecalFilters.idl =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/DecalFilters.idl,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- DecalFilters.idl 11 Apr 2003 03:24:42 -0000 1.32 +++ DecalFilters.idl 22 Aug 2003 05:51:02 -0000 1.33 @@ -528,6 +528,15 @@ [propget, id(34), helpstring("property ApproachDistance")] HRESULT ApproachDistance([out, retval] float *pVal); [propget, id(35), helpstring("property SecondaryName")] HRESULT SecondaryName([out, retval] BSTR *pVal); [propget, id(36), helpstring("property RawCoordinates")] HRESULT RawCoordinates([in, out] float *pX, [in, out] float *pY, float *pZ, [out, retval] VARIANT_BOOL *pVal); + [propget, id(37), helpstring("property Burden")] HRESULT Burden([out, retval] long *pVal); + [propget, id(38), helpstring("property Workmanship")] HRESULT Workmanship([out, retval] float *pVal); + [propget, id(39), helpstring("property IconOutline")] HRESULT IconOutline([out, retval] long *pVal); + [propget, id(40), helpstring("property MissileType")] HRESULT MissileType([out, retval] long *pVal); + [propget, id(41), helpstring("property TotalValue")] HRESULT TotalValue([out, retval] long *pVal); + [propget, id(42), helpstring("property UsageMask")] HRESULT UsageMask([out, retval] long *pVal); + [propget, id(43), helpstring("property HouseOwner")] HRESULT HouseOwner([out, retval] long *pVal); + [propget, id(44), helpstring("property HookMask")] HRESULT HookMask([out, retval] long *pVal); + [propget, id(45), helpstring("property HookType")] HRESULT HookType([out, retval] long *pVal); }; [ Index: World.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.cpp,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- World.cpp 20 Aug 2003 03:24:43 -0000 1.47 +++ World.cpp 22 Aug 2003 05:51:02 -0000 1.48 @@ -27,76 +27,74 @@ // cWorld // static bstring stable of doom :( -static _bstr_t strContainer("Container"); -static _bstr_t strSlot("Slot"); -static _bstr_t strWielder("Wielder"); -static _bstr_t strLandblock("Landblock"); -static _bstr_t strOffset("Offset"); -static _bstr_t strStackCount("StackCount"); -static _bstr_t strValue("Value"); -static _bstr_t strlandblock("landblock"); -static _bstr_t strxOffset("xOffset"); -static _bstr_t stryOffset("yOffset"); -static _bstr_t strzOffset("zOffset"); -static _bstr_t strxHeading("xHeading"); -static _bstr_t strdestroyed("destroyed"); -static _bstr_t stritem("item"); -static _bstr_t strcount("count"); -static _bstr_t strvalue("value"); -static _bstr_t strobject("object"); -static _bstr_t strslot("slot"); -static _bstr_t strowner("owner"); -static _bstr_t strcontainer("container"); -static _bstr_t strsequence("sequence") ; -static _bstr_t strequipType("equipType") ; -static _bstr_t strsequence2("sequence2") ; -static _bstr_t strcoverage("coverage") ; -static _bstr_t strflags1("flags1"); -static _bstr_t strlocation("location"); -static _bstr_t strwielder("wielder"); -static _bstr_t strwieldingSlot("wieldingSlot"); -static _bstr_t strflags2("flags2"); -static _bstr_t strobjectName("objectName"); -static _bstr_t strsecondaryName("secondaryName"); -static _bstr_t strmodel("model"); -static _bstr_t stricon("icon"); -static _bstr_t strunknown_v0_2("unknown_v0_2"); -static _bstr_t strunknown_v0_3("unknown_v0_3"); -static _bstr_t stritemSlots("itemSlots"); -static _bstr_t strpackSlots("packSlots"); -static _bstr_t strusesLeft("usesLeft"); -static _bstr_t strtotalUses("totalUses"); -static _bstr_t strstackCount("stackCount"); -static _bstr_t strstackMax("stackMax"); -static _bstr_t strapproachDistance("approachDistance"); -static _bstr_t strequipmentType("equipmentType"); -static _bstr_t strtradenoteVendor("tradenoteVendor"); -static _bstr_t strcoverage1("coverage1") ; -static _bstr_t strcoverage2("coverage2") ; -static _bstr_t strcoverage3("coverage3") ; -static _bstr_t strmonarch("monarch") ; -static _bstr_t strmaterial("material") ; -static _bstr_t strassociatedSpell("associatedSpell"); -static _bstr_t strtext("text") ; -static _bstr_t strsenderName("senderName") ; -static _bstr_t strtype("type") ; -static _bstr_t strcharacter("character"); -static _bstr_t strevent("event"); -static _bstr_t strpack("pack"); -static _bstr_t stritemCount("itemCount"); -static _bstr_t stritems("items"); -static _bstr_t strdestination("destination"); -static _bstr_t strinventoryCount("inventoryCount"); -static _bstr_t strinventory("inventory"); -static _bstr_t strisContainer("isContainer"); -static _bstr_t strOwner("Owner"); -static _bstr_t strposition("position"); -static _bstr_t strSizeChange("EvtSizeChange") ; -static _bstr_t strStorageChange("EvtStorageChange") ; -static _bstr_t strLocationChange("EvtLocationChange") ; -static _bstr_t strIdentReceived("EvtIdentReceived") ; -static _bstr_t strReleasePending( "EvtReleasePending" ); -static _bstr_t strExpirationCancel( "EvtExpirationCancel" ); +#define strContainer "Container" +#define strcontainer "container" +#define strSlot "Slot" +#define strslot "slot" +#define strwielder "wielder" +#define strlandblock "landblock" +#define strOffset "Offset" +#define strStackCount "StackCount" +#define strstackCount "stackCount" +#define strvalue "value" + +#define strxOffset "xOffset" +#define stryOffset "yOffset" +#define strzOffset "zOffset" +#define strxHeading "xHeading" +#define strdestroyed "destroyed" +#define stritem "item" +#define strcount "count" +#define strobject "object" +#define strowner "owner" +#define strsequence "sequence" +#define strequipType "equipType" +#define strsequence2 "sequence2" +#define strcoverage "coverage" +#define strflags1 "flags1" +#define strlocation "location" +#define strwieldingSlot "wieldingSlot" +#define strflags2 "flags2" +#define strobjectName "objectName" +#define strsecondaryName "secondaryName" +#define strmodel "model" +#define stricon "icon" +#define strunknown_v0_2 "unknown_v0_2" +#define strunknown_v0_3 "unknown_v0_3" +#define stritemSlots "itemSlots" +#define strpackSlots "packSlots" +#define strusesLeft "usesLeft" +#define strtotalUses "totalUses" +#define strstackMax "stackMax" +#define strapproachDistance "approachDistance" +#define strequipmentType "equipmentType" +#define strtradenoteVendor "tradenoteVendor" +#define strcoverage1 "coverage1" +#define strcoverage2 "coverage2" +#define strcoverage3 "coverage3" +#define strmonarch "monarch" +#define strmaterial "material" +#define strassociatedSpell "associatedSpell" +#define strtext "text" +#define strsenderName "senderName" +#define strtype "type" +#define strcharacter "character" +#define strevent "event" +#define strpack "pack" +#define stritemCount "itemCount" +#define stritems "items" +#define strdestination "destination" +#define strinventoryCount "inventoryCount" +#define strinventory "inventory" +#define strisContainer "isContainer" +#define strOwner "Owner" +#define strposition "position" +#define strSizeChange "EvtSizeChange" +#define strStorageChange "EvtStorageChange" +#define strLocationChange "EvtLocationChange" +#define strIdentReceived "EvtIdentReceived" +#define strReleasePending "EvtReleasePending" +#define strExpirationCancel "EvtExpirationCancel" enum AcMessages { @@ -257,9 +255,9 @@ BSTR Sender ; long nType ; - pMembers->get_NextString(strtext, &Text) ; - pMembers->get_NextString(strsenderName, &Sender) ; - pMembers->get_NextInt(strtype, &nType) ; + pMembers->get_NextString(_bstr_t(strtext), &Text) ; + pMembers->get_NextString(_bstr_t(strsenderName), &Sender) ; + pMembers->get_NextInt(_bstr_t(strtype), &nType) ; if (nType==2) { _DebugLog("\n\n%s: %s", LPCSTR(_bstr_t(Sender)), LPCSTR(_bstr_t(Text))) ; } @@ -270,8 +268,8 @@ { long nCharacter, nEvent; - pMembers->get_NextInt(strcharacter, &nCharacter); - pMembers->get_NextInt(strevent, &nEvent); + pMembers->get_NextInt(_bstr_t(strcharacter), &nCharacter); + pMembers->get_NextInt(_bstr_t(strevent), &nEvent); if (!m_objects.player()) { _DebugLog("\nPlayer: %x", nCharacter) ; @@ -470,7 +468,7 @@ void cWorld::DoDestroyObj(CComPtr< IMessageIterator > pMembers) { long nDestroyed; - pMembers->get_NextInt(strdestroyed, &nDestroyed); + pMembers->get_NextInt(_bstr_t(strdestroyed), &nDestroyed); _DebugLog("\n\nDestroyObj %x", nDestroyed) ; // if we know about this object @@ -488,8 +486,8 @@ void cWorld::DoSetCoverage(CComPtr<IMessageIterator> pMembers) { long object, coverage ; - pMembers->get_NextInt(strobject, &object) ; - pMembers->get_NextInt(strcoverage, &coverage) ; + pMembers->get_NextInt(_bstr_t(strobject), &object) ; + pMembers->get_NextInt(_bstr_t(strcoverage), &coverage) ; _DebugLog("\n\nSetCoverage %x %x", object, coverage) ; if (cWorldData *pData = Data(object)) { @@ -508,11 +506,11 @@ { long object, container, seq, type, seq2 ; - pMembers->get_NextInt(strsequence, &seq) ; - pMembers->get_NextInt(strobject, &object) ; - pMembers->get_NextInt(strequipType, &type) ; - pMembers->get_NextInt(strcontainer, &container) ; - pMembers->get_NextInt(strsequence2, &seq2) ; + pMembers->get_NextInt(_bstr_t(strsequence), &seq) ; + pMembers->get_NextInt(_bstr_t(strobject), &object) ; + pMembers->get_NextInt(_bstr_t(strequipType), &type) ; + pMembers->get_NextInt(_bstr_t(strcontainer), &container) ; + pMembers->get_NextInt(_bstr_t(strsequence2), &seq2) ; _DebugLog("\n\nSetContainer: %d, %x, %d, %x, %d", seq, object, type, container, seq2) ; @@ -558,9 +556,9 @@ { long nItem, nCount, nValue; - pMembers->get_NextInt(stritem, &nItem); - pMembers->get_NextInt(strcount, &nCount); - pMembers->get_NextInt(strvalue, &nValue); + pMembers->get_NextInt(_bstr_t(stritem), &nItem); + pMembers->get_NextInt(_bstr_t(strcount), &nCount); + pMembers->get_NextInt(_bstr_t(strvalue), &nValue); _DebugLog("\n\nAdjustStackSize %x %d %d", nItem, nCount, nValue) ; @@ -568,19 +566,19 @@ if (cWorldData *pData = Data(nItem)) { // change the object values, reset expiration to 0 pData->m_tExpires = 0; - pData->m_nStackCount = nCount; + pData->m_nStackCount = WORD(nCount); pData->m_dwValue = nValue; // Fire change events for those items that may have changed - Fire_ChangeObject(pData->m_p, strSizeChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strSizeChange)); } } void cWorld::DoWearItem(CComPtr<IMessageIterator> pMembers) { long nObject, nSlot; - pMembers->get_NextInt(stritem, &nObject); - pMembers->get_NextInt(strslot, &nSlot) ; + pMembers->get_NextInt(_bstr_t(stritem), &nObject); + pMembers->get_NextInt(_bstr_t(strslot), &nSlot) ; _DebugLog("\n\nWearItem %x %x", nObject, nSlot) ; if (cWorldData *pData = Data(nObject)) @@ -593,14 +591,14 @@ // Gouru: Changed to capitalized versions of these string for consistency with other // fired events - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } } void cWorld::DoDropItem(CComPtr<IMessageIterator> pMembers) { long nItem; - pMembers->get_NextInt(stritem, &nItem); + pMembers->get_NextInt(_bstr_t(stritem), &nItem); _DebugLog("\n\nDropItem %x", nItem) ; if (cWorldData *pData = Data(nItem)) { @@ -611,7 +609,7 @@ pData->m_dwContainer = 0; pData->m_dwWielder = 0 ; // not wielded when on ground } - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } } @@ -620,9 +618,9 @@ CComPtr<IMessageIterator> pItems, pItem; long nPack, nItemCount, ixItem = 0, ixPack=0; - pMembers->get_NextInt(strpack, &nPack); - pMembers->get_NextInt(stritemCount, &nItemCount); - pMembers->get_NextObject(stritems, &pItems); + pMembers->get_NextInt(_bstr_t(strpack), &nPack); + pMembers->get_NextInt(_bstr_t(stritemCount), &nItemCount); + pMembers->get_NextObject(_bstr_t(stritems), &pItems); _DebugLog("\n\nSetPackContents %x %d", nPack, nItemCount) ; @@ -630,8 +628,8 @@ { long nItem, nType; - pItem->get_NextInt(stritem, &nItem); - pItem->get_NextInt(strtype, &nType); + pItem->get_NextInt(_bstr_t(stritem), &nItem); + pItem->get_NextInt(_bstr_t(strtype), &nType); CSlot slot = (nType==0) ? CSlot(ixItem++, 0x00) : CSlot(ixPack++, 0x01) ; @@ -643,7 +641,7 @@ pData->m_Slot = slot ; //SetObjectOwner(pData); - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } else { @@ -660,9 +658,9 @@ { long nItem, nDest, nSlot; - pMembers->get_NextInt(stritem, &nItem); - pMembers->get_NextInt(strdestination, &nDest); - pMembers->get_NextInt(strslot, &nSlot); + pMembers->get_NextInt(_bstr_t(stritem), &nItem); + pMembers->get_NextInt(_bstr_t(strdestination), &nDest); + pMembers->get_NextInt(_bstr_t(strslot), &nSlot); _DebugLog("\n\nInsertIntoInventory %x %x %d", nItem, nDest, nSlot) ; @@ -689,7 +687,7 @@ pData->m_Slot.slot = nSlot; pData->m_dwWielder = 0 ; // not wielded when in inventory - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } } @@ -699,16 +697,16 @@ CComPtr<IMessageIterator> pItems, pItem; long nCount, ixSlot = 0, ixPack=0 ; - pMembers->get_NextInt(strinventoryCount, &nCount); - pMembers->get_NextObject(strinventory, &pItems); + pMembers->get_NextInt(_bstr_t(strinventoryCount), &nCount); + pMembers->get_NextObject(_bstr_t(strinventory), &pItems); while (pItems->get_NextObjectIndex(&pItem) == S_OK) { long nObject, nIsContainer; cWorldData *pData; - pItem->get_NextInt(strobject, &nObject); - pItem->get_NextInt(strisContainer, &nIsContainer); + pItem->get_NextInt(_bstr_t(strobject), &nObject); + pItem->get_NextInt(_bstr_t(strisContainer), &nIsContainer); CSlot info ; if (nIsContainer) { @@ -737,7 +735,7 @@ void cWorld::DoMoveToInventory(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(strobject, &nObject); + pMembers->get_NextInt(_bstr_t(strobject), &nObject); _DebugLog("\n\nMoveToInventory %x", nObject) ; @@ -751,7 +749,7 @@ } pData->m_dwWielder = 0 ; // unwielded unless we get a wield msg later - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } } @@ -761,7 +759,7 @@ USES_CONVERSION ; long nObject; - pMembers->get_NextInt(strobject, &nObject); + pMembers->get_NextInt(_bstr_t(strobject), &nObject); _DebugLog("\n\nCreateObject %x", nObject) ; @@ -788,26 +786,31 @@ p->m_p = pCreate; p->QueryInterface(&pCreate->m_p); - _DebugLog(" | Inserting object") ; + _DebugLog("\nInserting object") ; m_objects.insert(m_objects.end(), std::pair< DWORD, cWorldData * >(nObject, pCreate)); } _ASSERTE(pCreate); pCreate->m_dwGUID = nObject; - pMembers->get_NextInt(strflags1, &pCreate->m_dwFlags1); + pMembers->get_NextInt(_bstr_t(strflags1), &pCreate->m_dwFlags1); // Location of Object if (pCreate->m_dwFlags1 & 0x00008000) { CComPtr< IMessageIterator > pPos; - pMembers->get_NextObject(strlocation, &pPos); + pMembers->get_NextObject(_bstr_t(strlocation), &pPos); - pPos->get_NextInt(strlandblock, &pCreate->m_dwLandblock); - pPos->get_NextFloat(strxOffset, &pCreate->m_fxOffset); - pPos->get_NextFloat(stryOffset, &pCreate->m_fyOffset); - pPos->get_NextFloat(strzOffset, &pCreate->m_fzOffset); - pPos->get_NextFloat(strxHeading, &pCreate->m_fxHeading); + pPos->get_NextInt(_bstr_t(strlandblock), &pCreate->m_dwLandblock); + _DebugLog("\n Landblock %d", pCreate->m_dwLandblock) ; + pPos->get_NextFloat(_bstr_t(strxOffset), &pCreate->m_fxOffset); + _DebugLog("\n xOffset %f", pCreate->m_fxOffset) ; + pPos->get_NextFloat(_bstr_t(stryOffset), &pCreate->m_fyOffset); + _DebugLog("\n yOffset %f", pCreate->m_fyOffset) ; + pPos->get_NextFloat(_bstr_t(strzOffset), &pCreate->m_fzOffset); + _DebugLog("\n zOffset %f", pCreate->m_fzOffset) ; + pPos->get_NextFloat(_bstr_t(strxHeading), &pCreate->m_fxHeading); + _DebugLog("\n Heading %f", pCreate->m_fxHeading) ; // landblock info used to speed up culling pCreate->m_LandblockCol = (pCreate->m_dwLandblock>>24) & 0xff ; pCreate->m_LandblockRow = (pCreate->m_dwLandblock>>16) & 0xff ; @@ -818,37 +821,42 @@ // Wielder Information if (pCreate->m_dwFlags1 & 0x00000020) { - pMembers->get_NextInt(strwielder, &pCreate->m_dwWielder); - pMembers->get_NextInt(strwieldingSlot, &pCreate->m_dwWieldingSlot); + pMembers->get_NextInt(_bstr_t(strwielder), &pCreate->m_dwWielder); + _DebugLog("\n Wielder %d", pCreate->m_dwWielder) ; + pMembers->get_NextInt(_bstr_t(strwieldingSlot), &pCreate->m_dwWieldingSlot); + _DebugLog("\n Wieldingslot %d", pCreate->m_dwWieldingSlot) ; pCreate->m_Slot.slot = -1 ; // wielded items are slot 1 pCreate->m_dwContainer = pCreate->m_dwWielder ; - _DebugLog(" | Wield %x",pCreate->m_dwWielder) ; } - pMembers->get_NextInt(strflags2, &pCreate->m_dwFlags2); + pMembers->get_NextInt(_bstr_t(strflags2), &pCreate->m_dwFlags2); BSTR strName; - pMembers->get_NextString(strobjectName, &strName); + pMembers->get_NextString(_bstr_t(strobjectName), &strName); pCreate->m_strName = OLE2A(strName); - _DebugLog(" | %s", pCreate->m_strName.c_str()) ; + _DebugLog("\n Name: %s", pCreate->m_strName.c_str()) ; - pMembers->get_NextInt(strmodel, &pCreate->m_dwModel); - pMembers->get_NextInt(stricon, &pCreate->m_dwIcon); - pMembers->get_NextInt(strunknown_v0_2, &pCreate->m_dwObjectFlags1); - pMembers->get_NextInt(strunknown_v0_3, &pCreate->m_dwObjectFlags2); + pMembers->get_NextInt(_bstr_t(strmodel), &pCreate->m_dwModel); + _DebugLog("\n Model %x",pCreate->m_dwModel) ; + pMembers->get_NextInt(_bstr_t(stricon), &pCreate->m_dwIcon); + _DebugLog("\n Icon %x",pCreate->m_dwIcon) ; + pMembers->get_NextInt(_bstr_t(strunknown_v0_2), &pCreate->m_dwObjectFlags1); + pMembers->get_NextInt(_bstr_t(strunknown_v0_3), &pCreate->m_dwObjectFlags2); // Secondary name if (pCreate->m_dwFlags2 & 0x00000001) { BSTR strName; - pMembers->get_NextString(strsecondaryName, &strName); + pMembers->get_NextString(_bstr_t(strsecondaryName), &strName); pCreate->m_strSecondaryName = OLE2A(strName); + _DebugLog("\n SecName: %s", pCreate->m_strSecondaryName.c_str()) ; } // Item Slots if (pCreate->m_dwFlags2 & 0x00000002) { pCreate->m_flags |= FLAG_CONTAINS; - pMembers->get_NextInt(stritemSlots, (long *)&pCreate->m_nItemSlots); + pMembers->get_NextInt(_bstr_t(stritemSlots), (long *)&pCreate->m_nItemSlots); + _DebugLog("\n ItemSlots %x",pCreate->m_nItemSlots) ; // if it has slots for items, must be a container type pCreate->m_Slot.type = 1 ; } @@ -857,14 +865,25 @@ if (pCreate->m_dwFlags2 & 0x00000004) { pCreate->m_flags |= FLAG_CONTAINS; - pMembers->get_NextInt(strpackSlots, (long *)&pCreate->m_nPackSlots); + pMembers->get_NextInt(_bstr_t(strpackSlots), (long *)&pCreate->m_nPackSlots); + _DebugLog("\n PackSlots %x",pCreate->m_nPackSlots) ; // if it has slots for packs, must be a container type pCreate->m_Slot.type = 1 ; } // Value if (pCreate->m_dwFlags2 & 0x00000008) { - pMembers->get_NextInt(strvalue, &pCreate->m_dwValue); + pMembers->get_NextInt(_bstr_t(strvalue), &pCreate->m_dwValue); + _DebugLog("\n Value %x",pCreate->m_dwValue) ; + } else { + pCreate->m_dwValue = -1; + } + + + // Total Value + if (pCreate->m_dwFlags2 & 0x00000010) { + pMembers->get_NextInt(_bstr_t("unknown_v2"), &pCreate->m_TotalValue); + _DebugLog("\n TotValue %x",pCreate->m_TotalValue) ; } else { pCreate->m_dwValue = -1; } @@ -872,43 +891,61 @@ // approachDistance if (pCreate->m_dwFlags2 & 0x00000020) { - pMembers->get_NextFloat(strapproachDistance, &pCreate->m_fApproachDistance); + pMembers->get_NextFloat(_bstr_t(strapproachDistance), &pCreate->m_fApproachDistance); + _DebugLog("\n ApproachDist %f",pCreate->m_fApproachDistance) ; } + // Icon Outline + if (pCreate->m_dwFlags2 & 0x00000080) { + pMembers->get_NextInt(_bstr_t("unknown_v4"), &pCreate->m_IconOutline); + _DebugLog("\n m_IconOutline %x",pCreate->m_IconOutline) ; + } + + // Missile Type + if (pCreate->m_dwFlags2 & 0x00000100) { + pMembers->get_NextInt(_bstr_t("unknown_w1"), &pCreate->m_MissileType); + _DebugLog("\n m_MissileType %x",pCreate->m_MissileType) ; + } + // Equip Type if (pCreate->m_dwFlags2 & 0x00000200) { - pMembers->get_NextInt(strequipmentType, &pCreate->m_dwEquipType); + pMembers->get_NextInt(_bstr_t(strequipmentType), &pCreate->m_dwEquipType); + _DebugLog("\n EquipType %x",pCreate->m_dwEquipType) ; } // Uses Left if (pCreate->m_dwFlags2 & 0x00000400) { pCreate->m_flags |= FLAG_USEABLE; - pMembers->get_NextInt(strusesLeft, (long *)&pCreate->m_nUsesLeft); + pMembers->get_NextInt(_bstr_t(strusesLeft), (long *)&pCreate->m_nUsesLeft); + _DebugLog("\n UsesLeft %x",pCreate->m_nUsesLeft) ; } // Total Uses if (pCreate->m_dwFlags2 & 0x00000800) { pCreate->m_flags |= FLAG_USEABLE; - pMembers->get_NextInt(strtotalUses, (long *)&pCreate->m_nTotalUses); + pMembers->get_NextInt(_bstr_t(strtotalUses), (long *)&pCreate->m_nTotalUses); + _DebugLog("\n TotalUses %x",pCreate->m_nTotalUses) ; } // Stack Count if (pCreate->m_dwFlags2 & 0x00001000) { pCreate->m_flags |= FLAG_STACKABLE; - pMembers->get_NextInt(strstackCount, (long *)&pCreate->m_nStackCount); + pMembers->get_NextInt(_bstr_t(strstackCount), (long *)&pCreate->m_nStackCount); + _DebugLog("\n StackCount %x",pCreate->m_nStackCount) ; } // Stack Maximum if (pCreate->m_dwFlags2 & 0x00002000) { pCreate->m_flags |= FLAG_STACKABLE; - pMembers->get_NextInt(strstackMax, (long *)&pCreate->m_nStackMax); + pMembers->get_NextInt(_bstr_t(strstackMax), (long *)&pCreate->m_nStackMax); + _DebugLog("\n StackMax %x",pCreate->m_nStackMax) ; } // Container ID if (pCreate->m_dwFlags2 & 0x00004000) { - pMembers->get_NextInt(strcontainer, &pCreate->m_dwContainer); - _DebugLog(" | container: %x",pCreate->m_dwContainer) ; + pMembers->get_NextInt(_bstr_t(strcontainer), &pCreate->m_dwContainer); + _DebugLog("\n container: %x",pCreate->m_dwContainer) ; } // Owner ID @@ -916,53 +953,101 @@ long dword ; // gouru, owner is same as container for these purposes, however, the item appears // to be either worn or wielded, assume slot -1 - pMembers->get_NextInt(strowner, &dword); + pMembers->get_NextInt(_bstr_t(strowner), &dword); + _DebugLog("\n ownerid: %x",dword) ; pCreate->m_dwContainer = dword ; pCreate->m_Slot.slot = -1 ; - _DebugLog(" | container(worn): %x",pCreate->m_dwContainer) ; } // Coverage1 if (pCreate->m_dwFlags2 & 0x00010000) { - pMembers->get_NextInt(strcoverage1, &pCreate->m_dwCoverage); + pMembers->get_NextInt(_bstr_t(strcoverage1), &pCreate->m_dwCoverage); + _DebugLog("\n coverage1: %x",pCreate->m_dwCoverage) ; } // Coverage2 if (pCreate->m_dwFlags2 & 0x00020000) { - pMembers->get_NextInt(strcoverage2, &pCreate->m_dwCoverage2); + pMembers->get_NextInt(_bstr_t(strcoverage2), &pCreate->m_dwCoverage2); + _DebugLog("\n coverage2: %x",pCreate->m_dwCoverage2) ; } // Coverage3 if (pCreate->m_dwFlags2 & 0x00040000) { - pMembers->get_NextInt(strcoverage3, &pCreate->m_dwCoverage3); + pMembers->get_NextInt(_bstr_t(strcoverage3), &pCreate->m_dwCoverage3); + _DebugLog("\n coverage3: %x",pCreate->m_dwCoverage3) ; + } + + + // Usage Mask + if (pCreate->m_dwFlags2 & 0x00080000) { + pMembers->get_NextInt(_bstr_t("unknown_v5"), &pCreate->m_UsageMask); + _DebugLog("\n m_UsageMask: %x",pCreate->m_UsageMask) ; } // Monarch if (pCreate->m_dwFlags2 & 0x00000040) { - pMembers->get_NextInt(strmonarch, &pCreate->m_dwMonarch); + pMembers->get_NextInt(_bstr_t(strmonarch), &pCreate->m_dwMonarch); + _DebugLog("\n Monarch: %x",pCreate->m_dwMonarch) ; } // Tradenote Vendor ID if (pCreate->m_dwFlags2 & 0x00020000) { - pMembers->get_NextInt(strtradenoteVendor, &pCreate->m_dwTradeNoteVendor); + pMembers->get_NextInt(_bstr_t(strtradenoteVendor), &pCreate->m_dwTradeNoteVendor); + _DebugLog("\n TradeNoteVendor: %x",pCreate->m_dwTradeNoteVendor) ; } + // Burden + if (pCreate->m_dwFlags2 & 0x00200000) { + pMembers->get_NextInt(_bstr_t("burden"), &pCreate->m_Burden); + _DebugLog("\n m_Burden: %x",pCreate->m_Burden) ; + } + // Associated Spell if (pCreate->m_dwFlags2 & 0x00400000) { - pMembers->get_NextInt(strassociatedSpell, &pCreate->m_dwAssociatedSpell); + pMembers->get_NextInt(_bstr_t(strassociatedSpell), &pCreate->m_dwAssociatedSpell); + _DebugLog("\n m_dwAssociatedSpell: %x",pCreate->m_dwAssociatedSpell) ; + } + + // Workmanship + if (pCreate->m_dwFlags2 & 0x01000000) { + pMembers->get_NextFloat(_bstr_t("workmanship"), &pCreate->m_Workmanship); + _DebugLog("\n m_dwMaterial: %x",pCreate->m_dwMaterial) ; } + // Workmanship + if (pCreate->m_dwFlags2 & 0x02000000) { + pMembers->get_NextInt(_bstr_t("houseOwnerID"), &pCreate->m_HouseOwner); + _DebugLog("\n m_HouseOwner: %x",pCreate->m_HouseOwner) ; + } + + // Hook Mask + if (pCreate->m_dwFlags2 & 0x10000000) { + pMembers->get_NextInt(_bstr_t("unknown10"), &pCreate->m_HookMask); + _DebugLog("\n m_HookMask: %x",pCreate->m_HookMask) ; + } + + + // Hook Type + if (pCreate->m_dwFlags2 & 0x10000000) { + pMembers->get_NextInt(_bstr_t("unknown11b"), &pCreate->m_HookType); + _DebugLog("\n m_HookType: %x",pCreate->m_HookType) ; + } + + // Material if (pCreate->m_dwFlags2 & 0x80000000) { - pMembers->get_NextInt(strmaterial, &pCreate->m_dwMaterial); + pMembers->get_NextInt(_bstr_t(strmaterial), &pCreate->m_dwMaterial); + _DebugLog("\n m_dwMaterial: %x",pCreate->m_dwMaterial) ; } + // Assume the type is unknown pCreate->m_eType = eUnknownObject; + _DebugLog("\n m_dwObjectFlags1: %x",pCreate->m_dwObjectFlags1) ; // Get the type from ObjectFlags1 /**/ if (pCreate->m_dwObjectFlags1 & 0x00000001) pCreate->m_eType = eMeleeWeapon; @@ -1021,6 +1106,7 @@ else if (pCreate->m_dwObjectFlags1 & 0x40000000) pCreate->m_eType = eSalvage; + _DebugLog("\n m_dwObjectFlags2: %x",pCreate->m_dwObjectFlags2) ; // Get the type from ObjectFlags2 (this means ObjectFlags2 overrides ObjectFlags1) /**/ if (pCreate->m_dwObjectFlags2 & 0x00000008) pCreate->m_eType = ePlayer; @@ -1123,7 +1209,7 @@ void cWorld::DoRemoveItem(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(strobject, &nObject); + pMembers->get_NextInt(_bstr_t(strobject), &nObject); _DebugLog("\n\nRemoveItem %x", nObject) ; @@ -1136,8 +1222,8 @@ void cWorld::DoWieldItem(CComPtr<IMessageIterator> pMembers) { long nObject, nOwner; - pMembers->get_NextInt(strowner, &nOwner); - pMembers->get_NextInt(strobject, &nObject); + pMembers->get_NextInt(_bstr_t(strowner), &nOwner); + pMembers->get_NextInt(_bstr_t(strobject), &nObject); _DebugLog("\n\nWieldItem %x %x", nObject, nOwner) ; if (cWorldData *pData = Data(nObject)) @@ -1147,7 +1233,7 @@ MoveSlotBack(pData); // moves back only if player owns this item pData->m_Slot.slot = -1; - Fire_ChangeObject(pData->m_p, strStorageChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strStorageChange)); } } @@ -1174,7 +1260,7 @@ void cWorld::DoSetObjectPosition(CComPtr<IMessageIterator> pMembers) { long nObject; - pMembers->get_NextInt(strobject, &nObject); + pMembers->get_NextInt(_bstr_t(strobject), &nObject); // Gouru: not normally logged as we get an S load of these messages, uncomment if you // really need it for testing... // _DebugLog("\nSetObjectPosition %x", nObject) ; @@ -1184,10 +1270,10 @@ if (pData) { CComPtr< IMessageIterator > pPos; - pMembers->get_NextObject(strposition, &pPos); + pMembers->get_NextObject(_bstr_t(strposition), &pPos); DWORD dwLandblock; - pPos->get_NextInt(strlandblock, (long *)&dwLandblock); + pPos->get_NextInt(_bstr_t(strlandblock), (long *)&dwLandblock); // long oldLandblock = pData->m_dwLandblock ; // long colLandblock = (dwLandblock>>24) & 0xff ; @@ -1197,10 +1283,10 @@ pData->m_dwLandblock = dwLandblock; pData->m_LandblockCol = (dwLandblock>>24) & 0xff ; pData->m_LandblockRow = (dwLandblock>>16) & 0xff ; - pPos->get_NextFloat(strxOffset, &pData->m_fxOffset); - pPos->get_NextFloat(stryOffset, &pData->m_fyOffset); - pPos->get_NextFloat(strzOffset, &pData->m_fzOffset); - pPos->get_NextFloat(strxHeading, &pData->m_fxHeading); + pPos->get_NextFloat(_bstr_t(strxOffset), &pData->m_fxOffset); + pPos->get_NextFloat(_bstr_t(stryOffset), &pData->m_fyOffset); + pPos->get_NextFloat(_bstr_t(strzOffset), &pData->m_fzOffset); + pPos->get_NextFloat(_bstr_t(strxHeading), &pData->m_fxHeading); // Object culling monster! // If moving object is player, and player changed landblocks... @@ -1240,7 +1326,7 @@ // if (!pObject->m_tExpires) { // _DebugLog("\nculling %x", pObject->m_dwGUID) ; // pObject->m_tExpires = time(NULL)+30 ; -// Fire_ChangeObject(pObject->m_p, strReleasePending); +// Fire_ChangeObject(pObject->m_p, _bstr_t(strReleasePending)); // } else { // _DebugLog("\n%x already tagged", pObject->m_dwGUID) ; // } @@ -1249,7 +1335,7 @@ // // cance the expiration // _DebugLog("\ncancelled cull %x", pObject->m_dwGUID) ; // pObject->m_tExpires = 0 ; -// Fire_ChangeObject(pObject->m_p, strExpirationCancel); +// Fire_ChangeObject(pObject->m_p, _bstr_t(strExpirationCancel)); // } // } // } else { @@ -1262,7 +1348,7 @@ // if (!pData->m_tExpires) { // _DebugLog("\nculling %x", pData->m_dwGUID) ; // pData->m_tExpires = time(NULL) + 30 ; -// Fire_ChangeObject(pData->m_p, strReleasePending); +// Fire_ChangeObject(pData->m_p, _bstr_t(strReleasePending)); // } else { // _DebugLog("%x already tagged", pData->m_dwGUID) ; // } @@ -1271,12 +1357,12 @@ // // else it is inside the culling distance and if tagged to expire // // cancel the expiration // pData->m_tExpires = 0 ; -// Fire_ChangeObject(pData->m_p, strExpirationCancel); +// Fire_ChangeObject(pData->m_p, _bstr_t(strExpirationCancel)); // } // } // } pData->m_flags |= FLAG_LOCATION; - Fire_ChangeObject(pData->m_p, strLocationChange); + Fire_ChangeObject(pData->m_p, _bstr_t(strLocationChange)); } } @@ -1380,7 +1466,7 @@ float cWorld::EastWest(long landblock, float xOffset) { long n = (((landblock>>24)&0xff)-0x7f)*192 ; - return (float(n) + xOffset - 84.0) / 240.0 ; + return float((float(n) + xOffset - 84.0) / 240.0) ; } @@ -1388,7 +1474,7 @@ float cWorld::NorthSouth(long landblock, float yOffset) { long n = (((landblock>>16)&0xff)-0x7f)*192 ; - return (float(n) + yOffset - 84.0) / 240.0 ; + return float((float(n) + yOffset - 84.0) / 240.0) ; } Index: World.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- World.h 16 May 2003 20:52:46 -0000 1.34 +++ World.h 22 Aug 2003 05:51:02 -0000 1.35 @@ -87,6 +87,15 @@ m_dwEquipType = 0 ; m_fApproachDistance = 0.0f ; + m_Burden=0; + m_Workmanship=0.0; + m_IconOutline=0; + m_MissileType=0; + m_TotalValue=0; + m_UsageMask=0; + m_HouseOwner=0; + m_HookMask=0; + m_HookType=0; m_bTag = false; } @@ -136,6 +145,15 @@ long m_dwCoverage2 ; long m_dwCoverage3 ; long m_dwEquipType ; + long m_Burden ; + float m_Workmanship ; + long m_IconOutline ; + long m_MissileType ; + long m_TotalValue ; + long m_UsageMask ; + long m_HouseOwner ; + long m_HookMask ; + long m_HookType ; CComPtr< IWorldObject > m_p; bool m_bTag; Index: WorldObject.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- WorldObject.cpp 30 Aug 2002 19:13:40 -0000 1.20 +++ WorldObject.cpp 22 Aug 2003 05:51:02 -0000 1.21 @@ -338,12 +338,53 @@ return GetLong(m_p->m_dwEquipType, pVal) ; } +STDMETHODIMP cWorldObject::get_Burden(long *pVal) { + return GetLong(m_p->m_Burden, pVal) ; +} + +STDMETHODIMP cWorldObject::get_IconOutline(long *pVal) { + return GetLong(m_p->m_IconOutline, pVal) ; +} + +STDMETHODIMP cWorldObject::get_MissileType(long *pVal) { + return GetLong(m_p->m_MissileType, pVal) ; +} + +STDMETHODIMP cWorldObject::get_TotalValue(long *pVal) { + return GetLong(m_p->m_TotalValue, pVal) ; +} + +STDMETHODIMP cWorldObject::get_UsageMask(long *pVal) { + return GetLong(m_p->m_UsageMask, pVal) ; +} + +STDMETHODIMP cWorldObject::get_HouseOwner(long *pVal) { + return GetLong(m_p->m_HouseOwner, pVal) ; +} + +STDMETHODIMP cWorldObject::get_HookMask(long *pVal) { + return GetLong(m_p->m_HookMask, pVal) ; +} + +STDMETHODIMP cWorldObject::get_HookType(long *pVal) { + return GetLong(m_p->m_HookType, pVal) ; +} + STDMETHODIMP cWorldObject::get_ApproachDistance(float *pVal) { if (!pVal) { _ASSERT(FALSE) ; return E_POINTER ; } *pVal = m_p->m_fApproachDistance ; + return S_OK ; +} + +STDMETHODIMP cWorldObject::get_Workmanship(float *pVal) { + if (!pVal) { + _ASSERT(FALSE) ; + return E_POINTER ; + } + *pVal = m_p->m_Workmanship ; return S_OK ; } Index: WorldObject.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/WorldObject.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- WorldObject.h 30 Aug 2002 19:13:40 -0000 1.16 +++ WorldObject.h 22 Aug 2003 05:51:02 -0000 1.17 @@ -78,6 +78,16 @@ STDMETHOD(get_EquipType)(/*[out, retval]*/ long *pVal); STDMETHOD(get_SecondaryName)(/*[out, retval]*/ BSTR *pVal); STDMETHOD(get_ApproachDistance)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_Workmanship)(/*[out, retval]*/ float *pVal); + STDMETHOD(get_Burden)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_IconOutline)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_MissileType)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_TotalValue)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_UsageMask)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_HouseOwner)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_HookMask)(/*[out, retval]*/ long *pVal); + STDMETHOD(get_HookType)(/*[out, retval]*/ long *pVal); + // IWorldObject2 STDMETHOD(get_Flags)(/*[out, retval]*/ long *pVal); STDMETHOD(get_CreateFlags1)(/*[out, retval]*/ long *pVal); |
From: <no...@us...> - 2003-08-21 22:30:46
|
Log Message: ----------- XRefs on RequestIDpanel went from 4 to 3 Modified Files: -------------- /cvsroot/decaldev/source/Decal: ACHooks.cpp ACHooks.h Revision Data ------------- Index: ACHooks.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.cpp,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- ACHooks.cpp 20 Jun 2003 14:25:10 -0000 1.58 +++ ACHooks.cpp 21 Aug 2003 22:22:46 -0000 1.59 @@ -754,17 +754,14 @@ m_lRequestShortcircuit2 = Val; if( QueryMemLoc( BSTRT( "RequestShortcircuit3" ), &Val ) == S_OK ) m_lRequestShortcircuit3 = Val; - if( QueryMemLoc( BSTRT( "RequestShortcircuit4" ), &Val ) == S_OK ) - m_lRequestShortcircuit4 = Val; - if( m_lRequestShortcircuit1 && m_lRequestShortcircuit2 && m_lRequestShortcircuit3 && m_lRequestShortcircuit4 ) + if( m_lRequestShortcircuit1 && m_lRequestShortcircuit2 && m_lRequestShortcircuit3 ) { DWORD dwHook1 = HookCall( m_lRequestShortcircuit1, (DWORD) IdentifyShortcircuit ); DWORD dwHook2 = HookCall( m_lRequestShortcircuit2, (DWORD) IdentifyShortcircuit ); DWORD dwHook3 = HookCall( m_lRequestShortcircuit3, (DWORD) IdentifyShortcircuit ); - DWORD dwHook4 = HookCall( m_lRequestShortcircuit4, (DWORD) IdentifyShortcircuit ); - if( dwHook1 && dwHook2 && dwHook3 && dwHook4 && (dwHook1 == dwHook2) && (dwHook2 == dwHook3) && (dwHook3 == dwHook4) ) + if( dwHook1 && dwHook2 && dwHook3 && (dwHook1 == dwHook2) && (dwHook2 == dwHook3) ) { m_bRequestShortcircuit = true; g_lIdentifyHijackProc = dwHook1; @@ -776,7 +773,6 @@ HookCall( m_lRequestShortcircuit1, dwHook1 ); HookCall( m_lRequestShortcircuit2, dwHook2 ); HookCall( m_lRequestShortcircuit3, dwHook3 ); - HookCall( m_lRequestShortcircuit4, dwHook4 ); } } Index: ACHooks.h =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- ACHooks.h 20 Jun 2003 14:25:10 -0000 1.43 +++ ACHooks.h 21 Aug 2003 22:22:46 -0000 1.44 @@ -239,7 +239,6 @@ long m_lRequestShortcircuit1; long m_lRequestShortcircuit2; long m_lRequestShortcircuit3; - long m_lRequestShortcircuit4; unsigned int m_HooksEx[1]; unsigned int m_HookCount; |
From: <no...@us...> - 2003-08-20 05:28:57
|
Log Message: ----------- Test checkin from new machine. Just added a comment. Modified Files: -------------- /cvsroot/decaldev/source/DecalFilters: World.cpp Revision Data ------------- Index: World.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/World.cpp,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- World.cpp 11 Apr 2003 03:24:42 -0000 1.46 +++ World.cpp 20 Aug 2003 03:24:43 -0000 1.47 @@ -1,4 +1,6 @@ // World.cpp : Implementation of cWorld +// Prepping for latest modifications + #include "stdafx.h" #include "DecalFilters.h" |