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-12-12 17:04:51
|
Log Message: ----------- More radar Options- - Drak did these. I made them use the 3d area though Also a denagent version fix Modified Files: -------------- /cvsroot/decaldev/source/Inject: RootLayer.h Revision Data ------------- Index: RootLayer.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/RootLayer.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- RootLayer.h 30 May 2003 01:49:29 -0000 1.6 +++ RootLayer.h 12 Dec 2003 17:04:20 -0000 1.7 @@ -39,6 +39,8 @@ typedef std::list< cView * > cViewList; cViewList m_views; long m_nNextViewID; + long m_lDefaultX; + long m_lDefaultY; void addView( cView *pView, ILayer *pRootLayer ); void removeView( cView *pView ); |
From: Jeffrey D. <ha...@us...> - 2003-12-10 19:57:32
|
Log Message: ----------- More radar Options- - Drak did these. I made them use the 3d area though Also a denagent version fix Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.rc OptionsDlg.cpp resource.h Revision Data ------------- Index: DenAgent.rc =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.rc,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- DenAgent.rc 27 Sep 2003 06:22:39 -0000 1.77 +++ DenAgent.rc 10 Dec 2003 19:57:30 -0000 1.78 @@ -1,6 +1,7 @@ // Microsoft Visual C++ generated resource script. // #include "resource.h" +#include "..\Include\DecalVersion.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// @@ -123,34 +124,36 @@ IDC_STATIC,7,7,165,14,SS_CENTERIMAGE END -IDD_OPTIONS DIALOGEX 0, 0, 271, 220 +IDD_OPTIONS DIALOGEX 0, 0, 271, 221 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,155,199,50,14 - PUSHBUTTON "Cancel",IDCANCEL,214,199,50,14 + DEFPUSHBUTTON "OK",IDOK,155,200,50,14 + PUSHBUTTON "Cancel",IDCANCEL,214,200,50,14 + GROUPBOX "View Options",IDC_STATIC,7,7,257,157 CTEXT "Bar Alpha",IDC_STATIC,17,20,35,8,SS_CENTERIMAGE - EDITTEXT IDC_BARALPHA,59,16,45,14,ES_CENTER | ES_AUTOHSCROLL | - ES_NUMBER CONTROL "Spin1",IDC_BARALPHA_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,47,16,11,14 - CTEXT "View Alpha",IDC_STATIC,19,34,35,8,SS_CENTERIMAGE - EDITTEXT IDC_VIEWALPHA,59,31,45,14,ES_CENTER | ES_AUTOHSCROLL | + EDITTEXT IDC_BARALPHA,59,16,45,14,ES_CENTER | ES_AUTOHSCROLL | ES_NUMBER + CTEXT "View Alpha",IDC_STATIC,19,34,35,8,SS_CENTERIMAGE CONTROL "Spin2",IDC_VIEWALPHA_SPIN,"msctls_updown32", UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,47,31,11,14 + EDITTEXT IDC_VIEWALPHA,59,31,45,14,ES_CENTER | ES_AUTOHSCROLL | + ES_NUMBER CTEXT "0 is Transparent - 255 is Opaque",IDC_STATIC,21,46,106, 9 - 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,173,50,14 - CONTROL "Start on Bootup",IDC_CHECK_AUTOSTART,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,14,201,63,12 - PUSHBUTTON "Reset Bar Position",IDC_BTN_RESET,81,199,68,14 + CONTROL "Use Hardware Mode",IDC_BLENDINGGDIPLUS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,144,16,114,9 + CONTROL "Multiple Views",IDC_VIEWMULTI,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,144,26,114,9 + CONTROL "Adjust Bar for Radar",IDC_RADARYES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,144,36,114,9 + CONTROL "Use Old Injection Method",IDC_OLDINJECT,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,144,46,114,10 GROUPBOX "Font Options",IDC_STATIC,14,66,244,28 CONTROL "Default",IDC_DEFAULT_FONT_RADIO,"Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,21,78,39,10 @@ -159,34 +162,35 @@ CONTROL "Custom",IDC_CUSTOM_FONT_RADIO,"Button", 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 | - WS_TABSTOP,144,26,114,9 - CONTROL "Adjust Bar for Radar",IDC_RADARYES,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,144,36,114,9 + GROUPBOX "Time Stamping",IDC_STATIC,14,95,244,27 CONTROL "Enabled",IDC_TIMESTAMPON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,108,44,9,WS_EX_RIGHT | WS_EX_RTLREADING - GROUPBOX "Time Stamping",IDC_STATIC,14,95,244,27 + LTEXT "Color",IDC_STATIC,71,108,19,11 COMBOBOX IDC_FORMATCLR,92,105,29,67,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - 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 + EDITTEXT IDC_FORMATSTR,151,105,88,12,ES_AUTOHSCROLL PUSHBUTTON "?",IDC_FORMATHELP,244,105,7,12 - CONTROL "Use Old Injection Method",IDC_OLDINJECT,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,144,46,114,10 + GROUPBOX "Client Patches",IDC_STATIC,14,122,139,35 CONTROL "Dual Log",IDC_DUALLOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,131,44,11 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 CONTROL "No Movies",IDC_NOMOVIES,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,101,131,67,11 + WS_TABSTOP,91,130,47,11 CONTROL "No Logos",IDC_NOLOGOS,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,101,143,67,11 + WS_TABSTOP,91,142,45,11 + PUSHBUTTON "?",IDC_PATCHHELP,139,135,10,15 + GROUPBOX "Decal Bar Docking Position",IDC_STATIC,155,122,103,35 + COMBOBOX IDC_DOCKPOS,159,135,92,43,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + GROUPBOX "Decal Update URL",IDC_STATIC,7,166,257,28 + LTEXT "http://decaldev.sourceforge.net",IDC_PLUGINDIR,14,178, + 169,8,SS_CENTERIMAGE + PUSHBUTTON "Change",IDC_CHANGE_DIR,208,175,50,14 + CONTROL "Start on Bootup",IDC_CHECK_AUTOSTART,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,14,202,63,12 + PUSHBUTTON "Reset Bar Position",IDC_BTN_RESET,81,200,68,14 END IDD_DOWNLOADER DIALOG 0, 0, 202, 86 @@ -212,8 +216,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,0,0 - PRODUCTVERSION 2,6,0,0 + FILEVERSION DECAL_MAJOR,DECAL_MINOR,DECAL_BUGFIX,DECAL_RELEASE + PRODUCTVERSION DECAL_MAJOR,DECAL_MINOR,DECAL_BUGFIX,DECAL_RELEASE FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -230,12 +234,12 @@ BEGIN VALUE "Comments", "DenAgent is the program that manages Decal settings" VALUE "FileDescription", "DenAgent MFC Application" - VALUE "FileVersion", "2, 6, 0, 0" + VALUE "FileVersion", DECAL_VERSION_STRING VALUE "InternalName", "DenAgent" VALUE "LegalCopyright", "Copyright (C) 2000, 2001" VALUE "OriginalFilename", "DenAgent.EXE" VALUE "ProductName", "DenAgent Application" - VALUE "ProductVersion", "2, 6, 0, 0" + VALUE "ProductVersion", DECAL_VERSION_STRING END END BLOCK "VarFileInfo" @@ -315,7 +319,7 @@ VERTGUIDE, 14 VERTGUIDE, 258 TOPMARGIN, 7 - BOTTOMMARGIN, 213 + BOTTOMMARGIN, 214 END IDD_DOWNLOADER, DIALOG @@ -422,6 +426,12 @@ 0x3132, "\000" IDC_FORMATCLR, 0x403, 3, 0 0x3232, "\000" + IDC_DOCKPOS, 0x403, 4, 0 +0x6f54, 0x0070, + IDC_DOCKPOS, 0x403, 5, 0 +0x654c, 0x7466, "\000" + IDC_DOCKPOS, 0x403, 6, 0 +0x6952, 0x6867, 0x0074, 0 END Index: OptionsDlg.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/OptionsDlg.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- OptionsDlg.cpp 19 Nov 2003 23:29:29 -0000 1.26 +++ OptionsDlg.cpp 10 Dec 2003 19:57:30 -0000 1.27 @@ -127,6 +127,10 @@ key.QueryDWORDValue( "TimestampColor", dwTSColor ); ::SendMessage( GetDlgItem( IDC_FORMATCLR )->m_hWnd, CB_SETCURSEL, ++dwTSColor, 0 ); + DWORD dwDockPos = 0; + key.QueryDWORDValue( "BarDock", dwDockPos ); + ::SendMessage( GetDlgItem( IDC_DOCKPOS )->m_hWnd, CB_SETCURSEL, dwDockPos, 0 ); + char szFormat[MAX_PATH]; DWORD dwFormatLen = MAX_PATH; if( key.QueryStringValue( "TimestampFormat", szFormat, &dwFormatLen ) != ERROR_SUCCESS ) //just thieved from achooks @@ -297,6 +301,9 @@ DWORD dwColor = ::SendMessage(GetDlgItem(IDC_FORMATCLR)->m_hWnd, CB_GETCURSEL, 0, 0); key.SetDWORDValue( "TimestampColor", --dwColor ); + + DWORD dwDockPos = ::SendMessage(GetDlgItem(IDC_DOCKPOS)->m_hWnd, CB_GETCURSEL, 0, 0); + key.SetDWORDValue( "BarDock", dwDockPos); char szFormat[MAX_PATH]; ::SendMessage( GetDlgItem(IDC_FORMATSTR)->m_hWnd, WM_GETTEXT, MAX_PATH, (LPARAM)szFormat); Index: resource.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/resource.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- resource.h 27 Sep 2003 05:49:07 -0000 1.24 +++ resource.h 10 Dec 2003 19:57:30 -0000 1.25 @@ -87,6 +87,7 @@ #define IDC_NOMOVIES 1058 #define IDC_NOMOVIES2 1059 #define IDC_NOLOGOS 1059 +#define IDC_DOCKPOS 1060 #define ID_SYSTRAY_CONFIGURE 32771 #define ID_SYSTRAY_EXIT 32772 @@ -96,7 +97,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 152 #define _APS_NEXT_COMMAND_VALUE 32776 -#define _APS_NEXT_CONTROL_VALUE 1059 +#define _APS_NEXT_CONTROL_VALUE 1061 #define _APS_NEXT_SYMED_VALUE 105 #endif #endif |
From: Jeffrey D. <ha...@us...> - 2003-12-10 19:56:05
|
Log Message: ----------- More radar Options- - Drak did these. I made them use the 3d area though Also a denagent version fix Modified Files: -------------- /cvsroot/decaldev/source/Inject: BarLayer.cpp BarLayer.h RootLayer.cpp View.cpp Revision Data ------------- Index: BarLayer.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/BarLayer.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- BarLayer.cpp 19 Nov 2003 19:19:14 -0000 1.16 +++ BarLayer.cpp 10 Dec 2003 19:56:03 -0000 1.17 @@ -9,8 +9,17 @@ // cBarLayer // Drakier: Added constants for Panel and Radar size -const long RADAR_SIZE = 110; -const long PANEL_SIZE = 308; +const int RADAR_SIZE = 110; +const int PANEL_SIZE = 308; +const int VITALS_SIZE = 28; +const int CHATBAR_SIZE = 101; +const int CHATBAR_MAX_SIZE = 259; +const int LOOT_SIZE = 101; + +// Drakier: Added constants for docking position +const int DOCK_TOP = 0; +const int DOCK_LEFT = 1; +const int DOCK_RIGHT = 2; enum eChildID { @@ -21,31 +30,57 @@ eChildBarFirst = 1000 }; -cBarLayer::cBarLayer() : m_nBarStartPos( 0 ), m_nScreenWidth( 0 ), m_nScreenHeight( 0 ), m_nBarLength( 0 ), m_nPosition( 0 ), m_nDragging( 0 ), m_nMinMax( eStateMax ) +cBarLayer::cBarLayer() : m_nBarStartPos( 0 ), m_nBarDock( DOCK_TOP ), m_nScreenWidth( 0 ), m_nScreenHeight( 0 ), m_nBarLength( 0 ), m_nPosition( 0 ), m_nDragging( 0 ), m_nMinMax( eStateMax ) { } void cBarLayer::onCreate() { - CComPtr< IPluginSite > pPlugin; - m_pSite->get_PluginSite( &pPlugin ); + m_pSite->get_PluginSite( &m_pPlugin ); + m_pPlugin->get_Hooks( &m_pHooks ); + _ASSERTE( m_pPlugin.p != NULL ); - _ASSERTE( pPlugin.p != NULL ); + m_pPlugin->LoadBitmapPortal( 0x06001115, &m_pBackground ); - long lH; - long lW; - pPlugin->QueryMemLoc( _bstr_t( "3DAreaHeight" ), &lH ); - pPlugin->QueryMemLoc( _bstr_t( "3DAreaWidth" ), &lW ); - m_p3DH = reinterpret_cast< long * >( lH ); - m_p3DW = reinterpret_cast< long * >( lW ); + _ASSERTE( m_pBackground.p != NULL ); - pPlugin->LoadBitmapPortal( 0x06001115, &m_pBackground ); - _ASSERTE( m_pBackground.p != NULL ); + RegKey key; + key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" ) ); + + DWORD dwAlpha = 255, dwRadarDraw = 1; + m_bRadarDraw = true; + + if( key.QueryDWORDValue( "BarAlpha", dwAlpha ) == ERROR_SUCCESS ) + m_pSite->put_Alpha( dwAlpha ); + + if( key.QueryDWORDValue( "BarRadarDraw", dwRadarDraw ) == ERROR_SUCCESS ) + m_bRadarDraw = dwRadarDraw ? true : false; + + if( key.QueryDWORDValue( "BarState", m_nMinMax ) != ERROR_SUCCESS ) + m_nMinMax = eStateMax; + + // Drakier: get the bar start pos or default to left + if( key.QueryDWORDValue( "BarStart", (DWORD &)m_nBarStartPos ) != ERROR_SUCCESS ) + m_nBarStartPos = 0; + + // Drakier: get the bar length or default to 250 px + if( key.QueryDWORDValue( "BarLength", (DWORD &)m_nBarLength ) != ERROR_SUCCESS ) + m_nBarLength = 250; + + // Drakier: get the bar dock setting (top/left/right) [default to top] + if( key.QueryDWORDValue( "BarDock", (DWORD &)m_nBarDock ) != ERROR_SUCCESS ) + m_nBarDock = DOCK_TOP; + + if (m_nBarDock != DOCK_TOP) + m_nMinMax = eStateMin; // Ok, first create the 4 background controls - LayerParams lpChild = { eBtnMinMax, { 12, 3, 28, 19 }, eRenderClipped }; + LayerParams lpChild; + lpChild.render = eRenderClipped; + //= { eBtnMinMax, { 12, 3, 28, 19 }, eRenderClipped }; { + lpChild.ID = eBtnMinMax; CComPtr< ILayer > pUnk; HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); @@ -74,7 +109,11 @@ _ASSERTE( m_pBtnForwards.p != NULL ); - m_pBtnForwards->SetImages( 0, 0x06001298, 0x06001299 ); + // Drakier: Bar Dock + if (m_nBarDock != DOCK_TOP) + m_pBtnForwards->SetImages( 0, 0x0600125E, 0x0600125F ); + else + m_pBtnForwards->SetImages( 0, 0x06001298, 0x06001299 ); ICommandEventsImpl< BUTTON_FORWARD, cBarLayer >::advise( m_pBtnForwards ); m_pBtnForwards->put_Matte( RGB( 0, 0, 0 ) ); } @@ -92,7 +131,11 @@ _ASSERTE( m_pBtnBackwards.p != NULL ); - m_pBtnBackwards->SetImages( 0, 0x06001295, 0x06001296 ); + // Drakier: Bar Dock + if (m_nBarDock != DOCK_TOP) + m_pBtnBackwards->SetImages( 0, 0x06001261, 0x06001262 ); + else + m_pBtnBackwards->SetImages( 0, 0x06001295, 0x06001296 ); ICommandEventsImpl< BUTTON_BACK, cBarLayer >::advise( m_pBtnBackwards ); m_pBtnBackwards->put_Matte( RGB( 0, 0, 0 ) ); } @@ -115,37 +158,18 @@ m_pSite->put_Transparent( VARIANT_FALSE ); - RegKey key; - key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" ) ); - - DWORD dwAlpha = 255, dwRadarDraw = 1; - m_bRadarDraw = true; - - if( key.QueryDWORDValue( "BarAlpha", dwAlpha ) == ERROR_SUCCESS ) - m_pSite->put_Alpha( dwAlpha ); - - if( key.QueryDWORDValue( "BarRadarDraw", dwRadarDraw ) == ERROR_SUCCESS ) - m_bRadarDraw = dwRadarDraw ? true : false; - - if( key.QueryDWORDValue( "BarState", m_nMinMax ) != ERROR_SUCCESS ) - m_nMinMax = eStateMax; - - // Drakier: get the bar start pos or default to left - if( key.QueryDWORDValue( "BarStart", (DWORD &)m_nBarStartPos ) != ERROR_SUCCESS ) - m_nBarStartPos = 0; - - // Drakier: get the bar length or default to 250 px - if( key.QueryDWORDValue( "BarLength", (DWORD &)m_nBarLength ) != ERROR_SUCCESS ) - m_nBarLength = 250; - if( m_nMinMax == eStateMin ) m_pBtnMinMax->SetImages( 0, 0x0600113C, 0x0600113C ); else m_pBtnMinMax->SetImages( 0, 0x0600113B, 0x0600113B ); + + //::MessageBox( NULL, _T( "Here" ), _T( "[Inject.dll] cBarLayer::onCreate" ), MB_OK ); } void cBarLayer::onDestroy() { + m_pHooks.Release(); + m_pPlugin.Release(); m_pBtnForwards.Release(); m_pBtnBackwards.Release(); m_pBackground.Release(); @@ -161,45 +185,90 @@ m_pBackground->PatBlt( pCanvas, &p.window, &p.org ); - RECT dragBarRect; - dragBarRect.left = 3; - dragBarRect.top = 4; - dragBarRect.right = 4; - dragBarRect.bottom = 19; + if (m_nBarDock == DOCK_TOP) // if we are top docked + { + RECT dragBarRect; + dragBarRect.left = 3; + dragBarRect.top = 4; + dragBarRect.right = 4; + dragBarRect.bottom = 19; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); - - dragBarRect.left += 1; - dragBarRect.right += 1; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.left += 1; + dragBarRect.right += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - dragBarRect.left += 2; - dragBarRect.right += 2; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + dragBarRect.left += 2; + dragBarRect.right += 2; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); - dragBarRect.left += 1; - dragBarRect.right += 1; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + dragBarRect.left += 1; + dragBarRect.right += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - // Drakier: draw the right-hand grab bars - dragBarRect.left = m_nBarLength - 4; - dragBarRect.top = 4; - dragBarRect.right = m_nBarLength - 3; - dragBarRect.bottom = 19; + // Drakier: draw the right-hand grab bars + dragBarRect.left = m_nBarLength - 4; + dragBarRect.top = 4; + dragBarRect.right = m_nBarLength - 3; + dragBarRect.bottom = 19; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - dragBarRect.left -= 1; - dragBarRect.right -= 1; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + dragBarRect.left -= 1; + dragBarRect.right -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); - dragBarRect.left -= 2; - dragBarRect.right -= 2; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + dragBarRect.left -= 2; + dragBarRect.right -= 2; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - dragBarRect.left -= 1; - dragBarRect.right -= 1; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + dragBarRect.left -= 1; + dragBarRect.right -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + } + else // draw on the sides + { + RECT dragBarRect; + dragBarRect.top = 3; + dragBarRect.left = 4; + dragBarRect.bottom = 4; + dragBarRect.right = 19; + + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.top += 1; + dragBarRect.bottom += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + dragBarRect.top += 2; + dragBarRect.bottom += 2; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.top += 1; + dragBarRect.bottom += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + // Drakier: draw the right-hand grab bars + dragBarRect.top = m_nBarLength - 4; + dragBarRect.left = 4; + dragBarRect.bottom = m_nBarLength - 3; + dragBarRect.right = 19; + + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + dragBarRect.top -= 1; + dragBarRect.bottom -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.top -= 2; + dragBarRect.bottom -= 2; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + dragBarRect.top -= 1; + dragBarRect.bottom -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + } _ASSERTMEM( _CrtCheckMemory( ) ); @@ -220,13 +289,15 @@ // ::MessageBox( NULL, _T( "cBarLayer::reformat" ), _T( "Inject.dll" ), MB_OK ); SIZE sz; - CComPtr< IPluginSite > pPlugin; - m_pSite->get_PluginSite( &pPlugin ); - pPlugin->GetScreenSize( &sz ); - if ( sz.cx > 0 ) - m_nScreenWidth = sz.cx; - if ( sz.cy > 0) - m_nScreenHeight = sz.cy; + m_pPlugin->GetScreenSize( &sz ); + long lX = sz.cx, lY = sz.cy; + m_pHooks->get_Area3DHeight( &lY ); + m_pHooks->get_Area3DWidth( &lX ); + + if( (lX > 0) && (lY < 5000) ) + m_nScreenWidth = lX; + if( (lX > 0) && (lY < 5000) ) + m_nScreenHeight = lY; // Drakier: set up the bar position // Drakier: make sure bar isn't off of left side of screen @@ -235,41 +306,135 @@ m_nBarStartPos = 0; if (m_nBarLength < 112) m_nBarLength = 250; - // Drakier: the right edge of the 3D area is (m_nScreenWidth - PANEL_SIZE) - // If you include the radar (110) it is (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE)) + // Drakier: the right edge of the 3D area is (m_nScreenWidth) + // If you include the radar (110) it is (m_nScreenWidth - RADAR_SIZE) - // Drakier: make sure bar isn't off RIGHT side of screen - if (m_nBarLength > (m_nScreenWidth - PANEL_SIZE) ) - m_nBarLength = m_nScreenWidth - PANEL_SIZE; + // Drakier: need 2 of these sections. One for top dock and one for side dock + // Drakier: TOP DOCK + if (m_nBarDock == DOCK_TOP) + { + // make sure bar isn't off RIGHT side of screen + if (m_nBarLength > m_nScreenWidth ) + m_nBarLength = m_nScreenWidth; - // Drakier: adjust bar start position so its not offscreen - if (m_nBarStartPos > (m_nScreenWidth - PANEL_SIZE) ) - m_nBarStartPos = (m_nScreenWidth - PANEL_SIZE) - m_nBarLength; + // Drakier: adjust bar start position so its not offscreen + if (m_nBarStartPos > m_nScreenWidth ) + m_nBarStartPos = m_nScreenWidth - m_nBarLength; - // Drakier: Adjust for Panel - if ((m_nBarStartPos + m_nBarLength) > (m_nScreenWidth - PANEL_SIZE) ) - m_nBarLength = (m_nScreenWidth - PANEL_SIZE) - m_nBarStartPos; + // Drakier: Adjust for Panel + if ((m_nBarStartPos + m_nBarLength) > m_nScreenWidth ) + m_nBarLength = m_nScreenWidth - m_nBarStartPos; - // Drakier: Adjust for Radar - if ( (!m_bRadarDraw) && ((m_nBarStartPos + m_nBarLength) > (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE))) ) - m_nBarLength = (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE)) - m_nBarStartPos; + // Drakier: Adjust for Radar + if ( (!m_bRadarDraw) && ((m_nBarStartPos + m_nBarLength) > (m_nScreenWidth - RADAR_SIZE)) ) + m_nBarLength = m_nScreenWidth - RADAR_SIZE - m_nBarStartPos; + } + else + { + // Drakier: SIDE DOCK + // Drakier: make sure bar isn't off BOTTOM of screen + if (m_nBarLength > (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)) ) + m_nBarLength = (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)); + + // Drakier: adjust bar start position so its not offscreen + if (m_nBarStartPos > (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)) ) + m_nBarStartPos = (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)) - m_nBarLength; + + // Drakier: Adjust for Panels + if ((m_nBarStartPos + m_nBarLength) > (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)) ) + m_nBarLength = (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE)) - m_nBarStartPos; + } // Drakier: Draw the bar - RECT rc1 = { m_nBarStartPos, 0, m_nBarStartPos + m_nBarLength, 23 }; - m_pSite->put_Position( &rc1 ); + RECT rc; + if (m_nBarDock == DOCK_LEFT) // Left Dock + { + rc.left = 0; + rc.top = m_nBarStartPos; + rc.right = 23; + rc.bottom = m_nBarStartPos + m_nBarLength; + } + else if (m_nBarDock == DOCK_RIGHT) // Right Dock + { + rc.left = m_nScreenWidth - 23; + rc.top = m_nBarStartPos; + rc.right = m_nScreenWidth; + rc.bottom = m_nBarStartPos + m_nBarLength; + } + else // Top Dock + { + rc.left = m_nBarStartPos; + rc.top = 0; + rc.right = m_nBarStartPos + m_nBarLength; + rc.bottom = 23; + } + m_pSite->put_Position( &rc ); + + // Now do the MinMax button + // { 12, 3, 28, 19 } + if (m_nBarDock != DOCK_TOP) // Side Dock + { + //rc.left = 3; + //rc.top = 12; + //rc.right = 19; + //rc.bottom = 28; + + rc.left = -12; + rc.top = -12; + rc.right = -2; + rc.bottom = -2; + } + else // Top Dock + { + rc.left = 12; + rc.top = 3; + rc.right = 28; + rc.bottom = 19; + } + CComPtr< ILayerSite > pMinMaxSite; + m_pSite->get_Child( eBtnMinMax, ePositionByID, &pMinMaxSite ); + pMinMaxSite->put_Position( &rc ); // Now do the backwards - RECT rc = { 30, 3, 46, 19 }; + if (m_nBarDock != DOCK_TOP) // Side Dock + { + //rc.left = 3; + //rc.top = 30; + //rc.right = 19; + //rc.bottom = 46; + + rc.left = 3; + rc.top = 12; + rc.right = 19; + rc.bottom = 28; + } + else // Top Dock + { + rc.left = 30; + rc.top = 3; + rc.right = 46; + rc.bottom = 19; + } CComPtr< ILayerSite > pBackwardsSite; m_pSite->get_Child( eBtnBackwards, ePositionByID, &pBackwardsSite ); pBackwardsSite->put_Position( &rc ); // Drakier: this is a change because of the new LENGTH system - rc.left = m_nBarLength - 28; - rc.top = 3; - rc.right = m_nBarLength - 12; - rc.bottom = 19; - + // Now do the forwards + if (m_nBarDock != DOCK_TOP) // Side Dock + { + rc.left = 3; + rc.top = m_nBarLength - 28; + rc.right = 19; + rc.bottom = m_nBarLength - 12; + } + else // Top Dock + { + rc.left = m_nBarLength - 28; + rc.top = 3; + rc.right = m_nBarLength - 12; + rc.bottom = 19; + } CComPtr< ILayerSite > pFwdSite; m_pSite->get_Child( eBtnForwards, ePositionByID, &pFwdSite ); pFwdSite->put_Position( &rc ); @@ -278,12 +443,27 @@ CComPtr< ILayerSite > pPagerSite; m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - RECT rc3 = { 50, 1, m_nBarLength - 30, 22}; - pPagerSite->put_Position( &rc3 ); + if (m_nBarDock != DOCK_TOP) // Side Dock + { + rc.left = 1; + //rc.top = 50; + rc.top = 30; + rc.right = 22; + rc.bottom = m_nBarLength - 30; + } + else // Top Dock + { + rc.left = 50; + rc.top = 1; + rc.right = m_nBarLength - 30; + rc.bottom = 22; + } + pPagerSite->put_Position( &rc ); m_offsets.clear(); - + long nOffset = 0; + long nDesired; long nChildren; pPagerSite->get_ChildCount( &nChildren ); @@ -306,24 +486,47 @@ pParams.state = m_nMinMax; pBarNative->put_Params(&pParams); - long nDesired; - - pBarNative->get_RenderWidth( &nDesired ); - // We always give bars their desired size - RECT rcChild = { nOffset, 0, nOffset + nDesired, 21 }; - pChildSite->put_Position( &rcChild ); + pBarNative->get_RenderWidth( &nDesired ); + if (m_nBarDock != DOCK_TOP) // Side Dock + { + nDesired = 20; + rc.left = 0; + rc.top = nOffset; + rc.right = 21; + rc.bottom = nOffset + nDesired; + } + else // Top Dock + { + rc.left = nOffset; + rc.top = 0; + rc.right = nOffset + nDesired; + rc.bottom = 21; + } + pChildSite->put_Position( &rc ); m_offsets.push_back( nOffset ); nOffset += nDesired + 2; } + /* Drakier: Testing if un-needed // Check if the position is wrong now if( m_nPosition >= m_offsets.size() ) m_nPosition = m_offsets.size() - 1; - + */ POINT pt = { ( m_nPosition <= 0 ) ? 0 : m_offsets[ m_nPosition ], 0 }; + if (m_nBarDock != DOCK_TOP) // Side Dock + { + pt.x = 0; + pt.y = ( m_nPosition <= 0 ) ? 0 : m_offsets[ m_nPosition ]; + } + else // Top Dock + { + pt.x = ( m_nPosition <= 0 ) ? 0 : m_offsets[ m_nPosition ]; + pt.y = 0; + } + m_pPager->ScrollTo( &pt ); m_pSite->Invalidate(); @@ -335,24 +538,56 @@ switch( nCommand ) { case eBtnForwards: - if( m_nPosition < ( m_offsets.size() - 1 ) ) + if (m_nBarDock != DOCK_TOP) // Side Dock { - ++ m_nPosition; - *pnX = m_offsets[ m_nPosition ]; - *pnY = 0; + if( !m_bLocked && ( m_nPosition < ( m_offsets.size() - 1 ) ) ) + { + m_bLocked = TRUE; + m_nPosition++; + *pnX = 0; + *pnY = m_offsets[ m_nPosition ]; - return VARIANT_TRUE; + return VARIANT_TRUE; + } + } + else // Top Dock + { + if( !m_bLocked && ( m_nPosition < ( m_offsets.size() - 1 ) ) ) + { + m_bLocked = TRUE; + m_nPosition++; + *pnX = m_offsets[ m_nPosition ]; + *pnY = 0; + + return VARIANT_TRUE; + } } break; case eBtnBackwards: - if( m_nPosition > 0 ) + if (m_nBarDock != DOCK_TOP) // Side Dock { - -- m_nPosition; - *pnX = m_offsets[ m_nPosition ]; - *pnY = 0; + if( !m_bLocked && m_nPosition > 0 ) + { + m_bLocked = TRUE; + m_nPosition--; + *pnX = 0; + *pnY = m_offsets[ m_nPosition ]; - return VARIANT_TRUE; + return VARIANT_TRUE; + } + } + else // Top Dock + { + if( !m_bLocked && m_nPosition > 0 ) + { + m_bLocked = TRUE; + m_nPosition--; + *pnX = m_offsets[ m_nPosition ]; + *pnY = 0; + + return VARIANT_TRUE; + } } break; @@ -478,19 +713,38 @@ if( !cManager::_p->m_bContainer ) pt.y -= 28; - - // Drakier: Grabbing the left drag bar - if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.left + 1 && pt.x <= rSize.left + 8) + + if (m_nBarDock != DOCK_TOP) // Side Dock { - m_nDragging = -1; - m_DeltaX = pt.x; - } + // Drakier: Grabbing the Top drag bar + if (pt.x >= rSize.left && pt.x <= rSize.right && pt.y >= rSize.top + 1 && pt.y <= rSize.top + 8) + { + m_nDragging = -1; + m_DeltaY = pt.y; + } - // Drakier: Grabbing the right drag bar - if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.right - 8 && pt.x <= rSize.right - 1) + // Drakier: Grabbing the right drag bar + if (pt.x >= rSize.left && pt.x <= rSize.right && pt.y >= rSize.bottom - 8 && pt.y <= rSize.bottom - 1) + { + m_nDragging = 1; + m_DeltaY = pt.y; + } + } + else // Top Dock { - m_nDragging = 1; - m_DeltaX = pt.x; + // Drakier: Grabbing the left drag bar + if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.left + 1 && pt.x <= rSize.left + 8) + { + m_nDragging = -1; + m_DeltaX = pt.x; + } + + // Drakier: Grabbing the right drag bar + if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.right - 8 && pt.x <= rSize.right - 1) + { + m_nDragging = 1; + m_DeltaX = pt.x; + } } break; @@ -508,48 +762,87 @@ break; case WM_MOUSEMOVE: - if ( m_nDragging == -1 ) // Drakier: Drag Left + if (m_nBarDock != DOCK_TOP) // Side Dock { - POINTS pt; - pt = MAKEPOINTS(lParam); - - if( !cManager::_p->m_bContainer ) - pt.y -= 28; - - if ( ((m_nBarLength - (pt.x - m_DeltaX)) > 112 ) && (((pt.x - m_DeltaX) + m_nBarStartPos) >= 0) ) + if ( m_nDragging == -1 ) // Drakier: Drag Left { - m_nBarStartPos += pt.x - m_DeltaX; - m_nBarLength += (-1) * (pt.x - m_DeltaX); - m_DeltaX = pt.x; + POINTS pt; + pt = MAKEPOINTS(lParam); + + if( !cManager::_p->m_bContainer ) + pt.y -= 28; + + if ( ((m_nBarLength - (pt.y - m_DeltaY)) > 112 ) && (((pt.y - m_DeltaY) + m_nBarStartPos) >= 0) ) + { + m_nBarStartPos += pt.y - m_DeltaY; + m_nBarLength += (-1) * (pt.y - m_DeltaY); + m_DeltaY = pt.y; + } + + Reformat( ); } + else if ( m_nDragging == 1 ) // Drakier: Drag Right + { + POINTS pt; + pt = MAKEPOINTS(lParam); + + if( !cManager::_p->m_bContainer ) + pt.y -= 28; - Reformat( ); + if ( ((pt.y - m_DeltaY + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.y - m_DeltaY) <= (m_nScreenHeight - (VITALS_SIZE + CHATBAR_SIZE + LOOT_SIZE))) ) + { + m_nBarLength += pt.y - m_DeltaY; + m_DeltaY = pt.y; + } + Reformat( ); + } } - else if ( m_nDragging == 1 ) // Drakier: Drag Right + else // Top Dock { - POINTS pt; - pt = MAKEPOINTS(lParam); - - if( !cManager::_p->m_bContainer ) - pt.y -= 28; - if ( !m_bRadarDraw ) // Drakier: Radar on? + if ( m_nDragging == -1 ) // Drakier: Drag Left { - if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE))) ) + POINTS pt; + pt = MAKEPOINTS(lParam); + + if( !cManager::_p->m_bContainer ) + pt.y -= 28; + + if ( ((m_nBarLength - (pt.x - m_DeltaX)) > 112 ) && (((pt.x - m_DeltaX) + m_nBarStartPos) >= 0) ) { - m_nBarLength += pt.x - m_DeltaX; + m_nBarStartPos += pt.x - m_DeltaX; + m_nBarLength += (-1) * (pt.x - m_DeltaX); m_DeltaX = pt.x; } + + Reformat( ); } - else // Drakier: Radar off! + else if ( m_nDragging == 1 ) // Drakier: Drag Right { - if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth - PANEL_SIZE)) ) + POINTS pt; + pt = MAKEPOINTS(lParam); + + if( !cManager::_p->m_bContainer ) + pt.y -= 28; + if ( !m_bRadarDraw ) // Drakier: Radar on? { - m_nBarLength += pt.x - m_DeltaX; - m_DeltaX = pt.x; + if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth - RADAR_SIZE)) ) + { + m_nBarLength += pt.x - m_DeltaX; + m_DeltaX = pt.x; + } } - } - Reformat( ); + else // Drakier: Radar off! + { + if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth /*- PANEL_SIZE*/)) ) + { + m_nBarLength += pt.x - m_DeltaX; + m_DeltaX = pt.x; + } + } + + Reformat( ); + } } break; } Index: BarLayer.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/BarLayer.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- BarLayer.h 19 Nov 2003 19:19:14 -0000 1.7 +++ BarLayer.h 10 Dec 2003 19:56:03 -0000 1.8 @@ -31,6 +31,8 @@ cBarLayer(); // Important child objects + CComPtr< IPluginSite > m_pPlugin; + CComPtr< IACHooks > m_pHooks; CComPtr< IPager > m_pPager; CComPtr< IButton > m_pBtnForwards, m_pBtnBackwards, m_pBtnMinMax; @@ -40,10 +42,11 @@ // This the the list of bars typedef std::vector< long > cOffsetList; cOffsetList m_offsets; - long m_nPosition; + unsigned long m_nPosition; unsigned long m_nMinMax; long m_DeltaX; + long m_DeltaY; long m_nScreenWidth; long m_nScreenHeight; //long m_TotalDelta; @@ -54,7 +57,10 @@ long m_nBarLength; int m_nDragging; + int m_nBarDock; bool m_bRadarDraw; + bool m_bButtonDown; + bool m_bLocked; void onCreate(); void onDestroy(); @@ -89,11 +95,14 @@ // Button Back and Forward event handlers void __stdcall onCommandHit( long nID ) { + m_bButtonDown = TRUE; m_pPager->put_Command( nID ); } void __stdcall onCommandUnhit( long ) { + m_bButtonDown = FALSE; + m_bLocked = FALSE; m_pPager->FinishCommand(); } Index: RootLayer.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/RootLayer.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- RootLayer.cpp 2 Oct 2003 11:49:59 -0000 1.8 +++ RootLayer.cpp 10 Dec 2003 19:56:03 -0000 1.9 @@ -50,9 +50,24 @@ m_pSite->CreateChild( &lpBars, pBars ); - if( m_nViewMode == 0 ) // Single Mode + + RegKey key; + key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" ) ); + + DWORD dwBarDock; + if( key.QueryDWORDValue( "BarDock", dwBarDock ) != ERROR_SUCCESS ) + dwBarDock = 0; + + if( dwBarDock == 1 ) + m_lDefaultX = 25; + else + m_lDefaultX = 5; + + m_lDefaultY = 5; + + if( m_nViewMode == 0 ) // Single Mode { - LayerParams lpPanel = { eChildPanel, { 0, 0, 0, 0 }, 0 }; + LayerParams lpPanel = { eChildPanel, { m_lDefaultY, m_lDefaultX, 0, 0 }, 0 }; CComObject< cPanel > *pPanel; CComObject< cPanel >::CreateInstance( &pPanel ); @@ -146,7 +161,7 @@ if( m_nViewMode == 1 ) // Multi Mode { - LayerParams lpPanel = { m_nNextViewID, { 0, 0, 0, 0 }, 0 }; + LayerParams lpPanel = { m_nNextViewID, { m_lDefaultX, m_lDefaultY, 0, 0 }, 0 }; CComObject< cPanel > *pPanel; CComObject< cPanel >::CreateInstance( &pPanel ); @@ -218,7 +233,7 @@ if( m_nViewMode == 1 ) // Multi Mode { - LayerParams lpPanel = { m_nNextViewID, { 0, 0, 0, 0 }, 0 }; + LayerParams lpPanel = { m_nNextViewID, { m_lDefaultX, m_lDefaultY, 0, 0 }, 0 }; CComObject< cPanel > *pPanel; CComObject< cPanel >::CreateInstance( &pPanel ); Index: View.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/View.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- View.cpp 6 Oct 2003 00:22:10 -0000 1.30 +++ View.cpp 10 Dec 2003 19:56:03 -0000 1.31 @@ -118,14 +118,16 @@ if (m_VP.iconLibrary == 0 && m_VP.icon != 0) m_VP.icon += 0x06000000; - if(vLeft.vt == VT_NULL) - m_VP.left = 0; - else +// if(vLeft.vt == VT_NULL) + // m_VP.left = 0; + // else + if(vLeft.vt != VT_NULL) m_VP.left = static_cast< long >(vLeft); - if(vTop.vt == VT_NULL) - m_VP.top = 70; - else +// if(vTop.vt == VT_NULL) + // m_VP.top = 70; + // else + if(vTop.vt != VT_NULL) m_VP.top = static_cast< long >(vTop); if(vWidth.vt == VT_NULL) |
From: Jeffrey D. <ha...@us...> - 2003-11-19 23:30:40
|
Log Message: ----------- Drak's changes 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.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- OptionsDlg.cpp 27 Sep 2003 05:49:07 -0000 1.25 +++ OptionsDlg.cpp 19 Nov 2003 23:29:29 -0000 1.26 @@ -274,15 +274,17 @@ if( ::SendMessage( GetDlgItem( IDC_RADARYES )->m_hWnd, BM_GETCHECK, 0, 0 ) ) { key.SetDWORDValue( "BarRadarDraw", (DWORD)0 ); - if( dwRadarDraw ) - key.SetDWORDValue( "BarDelta", (DWORD)0 ); + // Drakier: No longer need BarDelta + //if( dwRadarDraw ) + //key.SetDWORDValue( "BarDelta", (DWORD)0 ); } else { key.SetDWORDValue( "BarRadarDraw", (DWORD)1 ); - if( !dwRadarDraw ) - key.SetDWORDValue( "BarDelta", (DWORD)0 ); + // Drakier: No longer need BarDelta + //if( !dwRadarDraw ) + //key.SetDWORDValue( "BarDelta", (DWORD)0 ); } DWORD dwTimestamp = 1; @@ -447,8 +449,11 @@ if( key.Create( HKEY_LOCAL_MACHINE, "Software\\Decal", REG_NONE, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS ) != ERROR_SUCCESS ) return; - key.DeleteValue( _T( "BarDelta" ) ); - ::AfxMessageBox( _T( "The Decal bar's position has been reset." ), MB_ICONINFORMATION | MB_OK, 0 ); + //key.DeleteValue( _T( "BarDelta" ) ); + // Drakier: New Bar stuff + key.DeleteValue( _T( "BarLength" ) ); + key.DeleteValue( _T( "BarStart" ) ); + ::AfxMessageBox( _T( "The Decal bar's position has been reset." ), MB_ICONINFORMATION | MB_OK, 0 ); } void cOptionsDlg::UpdateCustomEdit(void) |
From: Jeffrey D. <ha...@us...> - 2003-11-19 19:19:46
|
Log Message: ----------- Drak's stuff Modified Files: -------------- /cvsroot/decaldev/source/Inject: BarLayer.cpp BarLayer.h FontCache.cpp Manager.cpp SimpleBar.cpp SimpleBar.h Revision Data ------------- Index: BarLayer.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/BarLayer.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- BarLayer.cpp 14 Sep 2003 00:11:09 -0000 1.15 +++ BarLayer.cpp 19 Nov 2003 19:19:14 -0000 1.16 @@ -1,4 +1,4 @@ - // BarLayer.cpp : Implementation of cBarLayer +// BarLayer.cpp : Implementation of cBarLayer #include "stdafx.h" #include "Inject.h" #include "BarLayer.h" @@ -8,176 +8,209 @@ ///////////////////////////////////////////////////////////////////////////// // cBarLayer +// Drakier: Added constants for Panel and Radar size +const long RADAR_SIZE = 110; +const long PANEL_SIZE = 308; + enum eChildID { - eBtnForwards = 1, - eBtnBackwards = 2, - ePager = 3, - eBtnMinMax = 4, - eChildBarFirst = 1000 + eBtnForwards = 1, + eBtnBackwards = 2, + ePager = 3, + eBtnMinMax = 4, + eChildBarFirst = 1000 }; -cBarLayer::cBarLayer() : m_nPosition( 0 ), m_bDragging( false ), m_TotalDelta( 0 ), m_nMinMax( eStateMax ) +cBarLayer::cBarLayer() : m_nBarStartPos( 0 ), m_nScreenWidth( 0 ), m_nScreenHeight( 0 ), m_nBarLength( 0 ), m_nPosition( 0 ), m_nDragging( 0 ), m_nMinMax( eStateMax ) { } void cBarLayer::onCreate() { - CComPtr< IPluginSite > pPlugin; - m_pSite->get_PluginSite( &pPlugin ); + CComPtr< IPluginSite > pPlugin; + m_pSite->get_PluginSite( &pPlugin ); - _ASSERTE( pPlugin.p != NULL ); + _ASSERTE( pPlugin.p != NULL ); - pPlugin->LoadBitmapPortal( 0x06001115, &m_pBackground ); + long lH; + long lW; + pPlugin->QueryMemLoc( _bstr_t( "3DAreaHeight" ), &lH ); + pPlugin->QueryMemLoc( _bstr_t( "3DAreaWidth" ), &lW ); + m_p3DH = reinterpret_cast< long * >( lH ); + m_p3DW = reinterpret_cast< long * >( lW ); - _ASSERTE( m_pBackground.p != NULL ); + pPlugin->LoadBitmapPortal( 0x06001115, &m_pBackground ); - // Ok, first create the 4 background controls - LayerParams lpChild = { eBtnMinMax, { 12, 3, 28, 19 }, eRenderClipped }; - { - CComPtr< ILayer > pUnk; - HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); + _ASSERTE( m_pBackground.p != NULL ); - _ASSERTE( SUCCEEDED( hRes ) ); + // Ok, first create the 4 background controls + LayerParams lpChild = { eBtnMinMax, { 12, 3, 28, 19 }, eRenderClipped }; + { + CComPtr< ILayer > pUnk; + HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); - m_pSite->CreateChild( &lpChild, pUnk ); - pUnk->QueryInterface( &m_pBtnMinMax ); + _ASSERTE( SUCCEEDED( hRes ) ); - _ASSERTE( m_pBtnMinMax.p != NULL ); + m_pSite->CreateChild( &lpChild, pUnk ); + pUnk->QueryInterface( &m_pBtnMinMax ); - m_pBtnMinMax->SetImages( 0, 0x0600113C, 0x0600113C ); - ICommandEventsImpl< BUTTON_MINMAX, cBarLayer >::advise( m_pBtnMinMax ); - m_pBtnMinMax->put_Matte( RGB( 0, 0, 0 ) ); - } + _ASSERTE( m_pBtnMinMax.p != NULL ); - { + m_pBtnMinMax->SetImages( 0, 0x0600113C, 0x0600113C ); + ICommandEventsImpl< BUTTON_MINMAX, cBarLayer >::advise( m_pBtnMinMax ); + m_pBtnMinMax->put_Matte( RGB( 0, 0, 0 ) ); + } + + { lpChild.ID = eBtnForwards; - CComPtr< ILayer > pUnk; - HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); + + CComPtr< ILayer > pUnk; + HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); - _ASSERTE( SUCCEEDED( hRes ) ); + _ASSERTE( SUCCEEDED( hRes ) ); - m_pSite->CreateChild( &lpChild, pUnk ); - pUnk->QueryInterface( &m_pBtnForwards ); + m_pSite->CreateChild( &lpChild, pUnk ); + pUnk->QueryInterface( &m_pBtnForwards ); - _ASSERTE( m_pBtnForwards.p != NULL ); + _ASSERTE( m_pBtnForwards.p != NULL ); - m_pBtnForwards->SetImages( 0, 0x06001298, 0x06001299 ); + m_pBtnForwards->SetImages( 0, 0x06001298, 0x06001299 ); + ICommandEventsImpl< BUTTON_FORWARD, cBarLayer >::advise( m_pBtnForwards ); + m_pBtnForwards->put_Matte( RGB( 0, 0, 0 ) ); + } - ICommandEventsImpl< BUTTON_FORWARD, cBarLayer >::advise( m_pBtnForwards ); - m_pBtnForwards->put_Matte( RGB( 0, 0, 0 ) ); - } + { + lpChild.ID = eBtnBackwards; - { - lpChild.ID = eBtnBackwards; + CComPtr< ILayer > pUnk; + HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); - CComPtr< ILayer > pUnk; - HRESULT hRes = ::CoCreateInstance( CLSID_Button, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, - reinterpret_cast< void ** >( &pUnk ) ); + _ASSERTE( SUCCEEDED( hRes ) ); - _ASSERTE( SUCCEEDED( hRes ) ); + m_pSite->CreateChild( &lpChild, pUnk ); + pUnk->QueryInterface( &m_pBtnBackwards ); - m_pSite->CreateChild( &lpChild, pUnk ); - pUnk->QueryInterface( &m_pBtnBackwards ); + _ASSERTE( m_pBtnBackwards.p != NULL ); - _ASSERTE( m_pBtnBackwards.p != NULL ); + m_pBtnBackwards->SetImages( 0, 0x06001295, 0x06001296 ); + ICommandEventsImpl< BUTTON_BACK, cBarLayer >::advise( m_pBtnBackwards ); + m_pBtnBackwards->put_Matte( RGB( 0, 0, 0 ) ); + } - m_pBtnBackwards->SetImages( 0, 0x06001295, 0x06001296 ); - ICommandEventsImpl< BUTTON_BACK, cBarLayer >::advise( m_pBtnBackwards ); - m_pBtnBackwards->put_Matte( RGB( 0, 0, 0 ) ); - } + { + lpChild.ID = ePager; - { - lpChild.ID = ePager; + CComPtr< ILayer > pUnk; + HRESULT hRes = ::CoCreateInstance( CLSID_Pager, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, reinterpret_cast< void ** >( &pUnk ) ); - CComPtr< ILayer > pUnk; - HRESULT hRes = ::CoCreateInstance( CLSID_Pager, NULL, CLSCTX_INPROC_SERVER, IID_ILayer, - reinterpret_cast< void ** >( &pUnk ) ); + _ASSERTE( SUCCEEDED( hRes ) ); - _ASSERTE( SUCCEEDED( hRes ) ); + m_pSite->CreateChild( &lpChild, pUnk ); + pUnk->QueryInterface( &m_pPager ); - m_pSite->CreateChild( &lpChild, pUnk ); - pUnk->QueryInterface( &m_pPager ); + _ASSERTE( m_pPager.p != NULL ); - _ASSERTE( m_pPager.p != NULL ); + IPagerEventsImpl< PAGER_CLIENT, cBarLayer >::advise( m_pPager ); + } - IPagerEventsImpl< PAGER_CLIENT, cBarLayer >::advise( m_pPager ); - } + m_pSite->put_Transparent( VARIANT_FALSE ); - m_pSite->put_Transparent( VARIANT_FALSE ); + RegKey key; + key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" ) ); - RegKey key; - key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal" ) ); + DWORD dwAlpha = 255, dwRadarDraw = 1; + m_bRadarDraw = true; - DWORD dwAlpha = 255, dwRadarDraw = 1; - m_bRadarDraw = true; + if( key.QueryDWORDValue( "BarAlpha", dwAlpha ) == ERROR_SUCCESS ) + m_pSite->put_Alpha( dwAlpha ); - if( key.QueryDWORDValue( "BarAlpha", dwAlpha ) == ERROR_SUCCESS ) - m_pSite->put_Alpha( dwAlpha ); + if( key.QueryDWORDValue( "BarRadarDraw", dwRadarDraw ) == ERROR_SUCCESS ) + m_bRadarDraw = dwRadarDraw ? true : false; - if( key.QueryDWORDValue( "BarRadarDraw", dwRadarDraw ) == ERROR_SUCCESS ) - m_bRadarDraw = dwRadarDraw ? true : false; + if( key.QueryDWORDValue( "BarState", m_nMinMax ) != ERROR_SUCCESS ) + m_nMinMax = eStateMax; - if( key.QueryDWORDValue( "BarState", m_nMinMax ) != ERROR_SUCCESS ) - m_nMinMax = eStateMax; + // Drakier: get the bar start pos or default to left + if( key.QueryDWORDValue( "BarStart", (DWORD &)m_nBarStartPos ) != ERROR_SUCCESS ) + m_nBarStartPos = 0; - if( key.QueryDWORDValue( "BarDelta", (DWORD &)m_TotalDelta ) != ERROR_SUCCESS ) - m_TotalDelta = 0; + // Drakier: get the bar length or default to 250 px + if( key.QueryDWORDValue( "BarLength", (DWORD &)m_nBarLength ) != ERROR_SUCCESS ) + m_nBarLength = 250; - if( m_nMinMax == eStateMin ) - m_pBtnMinMax->SetImages( 0, 0x0600113C, 0x0600113C ); - else - m_pBtnMinMax->SetImages( 0, 0x0600113B, 0x0600113B ); + if( m_nMinMax == eStateMin ) + m_pBtnMinMax->SetImages( 0, 0x0600113C, 0x0600113C ); + else + m_pBtnMinMax->SetImages( 0, 0x0600113B, 0x0600113B ); } void cBarLayer::onDestroy() { - m_pBtnForwards.Release(); - m_pBtnBackwards.Release(); - m_pBackground.Release(); - - m_pPager.Release(); + m_pBtnForwards.Release(); + m_pBtnBackwards.Release(); + m_pBackground.Release(); + m_pPager.Release(); } STDMETHODIMP cBarLayer::Render(ICanvas *pCanvas) { - _ASSERTE( pCanvas != NULL ); + _ASSERTE( pCanvas != NULL ); - ClipParams p; - pCanvas->GetClipParams( &p ); + ClipParams p; + pCanvas->GetClipParams( &p ); - m_pBackground->PatBlt( pCanvas, &p.window, &p.org ); + m_pBackground->PatBlt( pCanvas, &p.window, &p.org ); - RECT dragBarRect; - dragBarRect.left = 3; - dragBarRect.top = 4; - dragBarRect.right = 4; - dragBarRect.bottom = 19; + RECT dragBarRect; + dragBarRect.left = 3; + dragBarRect.top = 4; + dragBarRect.right = 4; + dragBarRect.bottom = 19; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); - - dragBarRect.left += 1; - dragBarRect.right += 1; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.left += 1; + dragBarRect.right += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - dragBarRect.left += 2; - dragBarRect.right += 2; - pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + dragBarRect.left += 2; + dragBarRect.right += 2; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); - dragBarRect.left += 1; - dragBarRect.right += 1; - pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + dragBarRect.left += 1; + dragBarRect.right += 1; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); - _ASSERTMEM( _CrtCheckMemory( ) ); + // Drakier: draw the right-hand grab bars + dragBarRect.left = m_nBarLength - 4; + dragBarRect.top = 4; + dragBarRect.right = m_nBarLength - 3; + dragBarRect.bottom = 19; - return S_OK; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + dragBarRect.left -= 1; + dragBarRect.right -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + dragBarRect.left -= 2; + dragBarRect.right -= 2; + pCanvas->Fill(&dragBarRect, RGB(165, 82, 57)); + + dragBarRect.left -= 1; + dragBarRect.right -= 1; + pCanvas->Fill(&dragBarRect, RGB(214, 173, 140)); + + _ASSERTMEM( _CrtCheckMemory( ) ); + + return S_OK; } -#define ENUM_REFORMAT 1 +#define ENUM_REFORMAT 1 class cBarEnumFormat { public: - long nCursor; + long nCursor; }; STDMETHODIMP cBarLayer::Reformat() @@ -190,34 +223,39 @@ CComPtr< IPluginSite > pPlugin; m_pSite->get_PluginSite( &pPlugin ); pPlugin->GetScreenSize( &sz ); + if ( sz.cx > 0 ) + m_nScreenWidth = sz.cx; + if ( sz.cy > 0) + m_nScreenHeight = sz.cy; - // Make sure the Decal bar is always at least 112 pixels wide, - if( ( cManager::_p->m_bContainer ) && ( m_TotalDelta > 190 ) ) - m_TotalDelta = 190; - else if( m_TotalDelta > 420 ) - m_TotalDelta = 420; - - // Also make sure it's never past left edge of the screen. - if( m_TotalDelta < -230 ) - m_TotalDelta = -230; + // Drakier: set up the bar position + // Drakier: make sure bar isn't off of left side of screen + // and that the bar length is at least 112 px + if (m_nBarStartPos < 0) + m_nBarStartPos = 0; + if (m_nBarLength < 112) + m_nBarLength = 250; + // Drakier: the right edge of the 3D area is (m_nScreenWidth - PANEL_SIZE) + // If you include the radar (110) it is (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE)) + // Drakier: make sure bar isn't off RIGHT side of screen + if (m_nBarLength > (m_nScreenWidth - PANEL_SIZE) ) + m_nBarLength = m_nScreenWidth - PANEL_SIZE; - // Now that we have the resolution, calculate the area we intend to cover - // 308 - Extreme Right Edge - 418 - Past Radar + // Drakier: adjust bar start position so its not offscreen + if (m_nBarStartPos > (m_nScreenWidth - PANEL_SIZE) ) + m_nBarStartPos = (m_nScreenWidth - PANEL_SIZE) - m_nBarLength; - int nVariableWidth = 418; + // Drakier: Adjust for Panel + if ((m_nBarStartPos + m_nBarLength) > (m_nScreenWidth - PANEL_SIZE) ) + m_nBarLength = (m_nScreenWidth - PANEL_SIZE) - m_nBarStartPos; - if( m_bRadarDraw ) - nVariableWidth = 308; + // Drakier: Adjust for Radar + if ( (!m_bRadarDraw) && ((m_nBarStartPos + m_nBarLength) > (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE))) ) + m_nBarLength = (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE)) - m_nBarStartPos; - int nWidth = sz.cx - ( nVariableWidth + 230 + m_TotalDelta ); - // GKusnick: *Really* make sure the Decal bar is always at least 112 pixels wide. - if (nWidth < 112) - { - nWidth = 112; - m_TotalDelta = sz.cx - (308 + 230 + nWidth); - } - RECT rc1 = { 230 + m_TotalDelta, 0, 230 + m_TotalDelta + nWidth, 23 }; + // Drakier: Draw the bar + RECT rc1 = { m_nBarStartPos, 0, m_nBarStartPos + m_nBarLength, 23 }; m_pSite->put_Position( &rc1 ); // Now do the backwards @@ -226,10 +264,10 @@ m_pSite->get_Child( eBtnBackwards, ePositionByID, &pBackwardsSite ); pBackwardsSite->put_Position( &rc ); - // Next do the forward button - rc.left = nWidth - 18; + // Drakier: this is a change because of the new LENGTH system + rc.left = m_nBarLength - 28; rc.top = 3; - rc.right = nWidth - 2; + rc.right = m_nBarLength - 12; rc.bottom = 19; CComPtr< ILayerSite > pFwdSite; @@ -240,7 +278,7 @@ CComPtr< ILayerSite > pPagerSite; m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - RECT rc3 = { 50, 1, nWidth - 20, 22 }; + RECT rc3 = { 50, 1, m_nBarLength - 30, 22}; pPagerSite->put_Position( &rc3 ); m_offsets.clear(); @@ -294,139 +332,143 @@ VARIANT_BOOL cBarLayer::onClientGetNextPosition(long nID, long nCommand, long *pnX, long *pnY) { - switch( nCommand ) - { - case eBtnForwards: - if( m_nPosition < ( m_offsets.size() - 1 ) ) - { - ++ m_nPosition; - *pnX = m_offsets[ m_nPosition ]; - *pnY = 0; + switch( nCommand ) + { + case eBtnForwards: + if( m_nPosition < ( m_offsets.size() - 1 ) ) + { + ++ m_nPosition; + *pnX = m_offsets[ m_nPosition ]; + *pnY = 0; - return VARIANT_TRUE; - } - break; + return VARIANT_TRUE; + } + break; - case eBtnBackwards: - if( m_nPosition > 0 ) - { - -- m_nPosition; - *pnX = m_offsets[ m_nPosition ]; - *pnY = 0; + case eBtnBackwards: + if( m_nPosition > 0 ) + { + -- m_nPosition; + *pnX = m_offsets[ m_nPosition ]; + *pnY = 0; - return VARIANT_TRUE; - } - break; - - default: - // Unknown command - _ASSERT( FALSE ); - } + return VARIANT_TRUE; + } + break; + + default: + // Unknown command + _ASSERT( FALSE ); + } - // Unknown command or over/underflow - end paging - return VARIANT_FALSE; + // Unknown command or over/underflow - end paging + return VARIANT_FALSE; } STDMETHODIMP cBarLayer::AddBar(long nViewID, ViewParams *pParams) { - _ASSERTE( pParams != NULL ); - _ASSERTE( pParams->label != NULL ); + _ASSERTE( pParams != NULL ); + _ASSERTE( pParams->label != NULL ); - CComObject< cSimpleBar > *pNewBar; - CComObject< cSimpleBar >::CreateInstance( &pNewBar ); + CComObject< cSimpleBar > *pNewBar; + CComObject< cSimpleBar >::CreateInstance( &pNewBar ); - pNewBar->put_Params( pParams ); + pNewBar->put_Params( pParams ); - CComPtr< ILayerSite > pPagerSite; - m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - - LayerParams p = { nViewID, { 0, 0, 0, 0 }, eRenderClipped }; + CComPtr< ILayerSite > pPagerSite; + m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); + + LayerParams p = { nViewID, { 0, 0, 0, 0 }, eRenderClipped }; - pPagerSite->CreateChild( &p, pNewBar ); + pPagerSite->CreateChild( &p, pNewBar ); - m_pSite->Reformat(); + m_pSite->Reformat(); return S_OK; } STDMETHODIMP cBarLayer::RemoveBar(long nViewID) { - CComPtr< ILayerSite > pPagerSite; - m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); + CComPtr< ILayerSite > pPagerSite; + m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - CComPtr< ILayerSite > pBarSite; - HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); + CComPtr< ILayerSite > pBarSite; + HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); - if( FAILED( hRes ) ) - // Probably not found - return hRes; + if( FAILED( hRes ) ) + // Probably not found + return hRes; - m_pSite->Reformat(); + m_pSite->Reformat(); return pBarSite->Destroy(); } STDMETHODIMP cBarLayer::get_Bar(long nViewID, ViewParams *pVal) { - CComPtr< ILayerSite > pPagerSite; - m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); + CComPtr< ILayerSite > pPagerSite; + m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - CComPtr< ILayerSite > pBarSite; - HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); + CComPtr< ILayerSite > pBarSite; + HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); - if( FAILED( hRes ) ) - // Probably not found - return hRes; + if( FAILED( hRes ) ) + // Probably not found + return hRes; - CComPtr< ISimpleBar > pSimpleBar; - pBarSite->GetSink( IID_ISimpleBar, reinterpret_cast< void ** >( &pSimpleBar ) ); + CComPtr< ISimpleBar > pSimpleBar; + pBarSite->GetSink( IID_ISimpleBar, reinterpret_cast< void ** >( &pSimpleBar ) ); - pSimpleBar->get_Params( pVal ); + pSimpleBar->get_Params( pVal ); return S_OK; } STDMETHODIMP cBarLayer::put_Bar(long nViewID, ViewParams *newVal) { - CComPtr< ILayerSite > pPagerSite; - m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); + CComPtr< ILayerSite > pPagerSite; + m_pSite->get_Child( ePager, ePositionByID, &pPagerSite ); - CComPtr< ILayerSite > pBarSite; - HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); + CComPtr< ILayerSite > pBarSite; + HRESULT hRes = pPagerSite->get_Child( nViewID, ePositionByID, &pBarSite ); - if( FAILED( hRes ) ) - // Probably not found - return hRes; + if( FAILED( hRes ) ) + // Probably not found + return hRes; - CComPtr< ISimpleBar > pSimpleBar; - pBarSite->GetSink( IID_ISimpleBar, reinterpret_cast< void ** >( &pSimpleBar ) ); + CComPtr< ISimpleBar > pSimpleBar; + pBarSite->GetSink( IID_ISimpleBar, reinterpret_cast< void ** >( &pSimpleBar ) ); - pSimpleBar->put_Params( newVal ); + pSimpleBar->put_Params( newVal ); - m_pSite->Reformat(); + m_pSite->Reformat(); return S_OK; } void __stdcall cBarLayer::onMinMaxHit(long nID) { - RegKey key; + RegKey key; - if (m_nMinMax == eStateMax) { + if (m_nMinMax == eStateMax) + { m_nMinMax = eStateMin; m_pBtnMinMax->SetImages(0, 0x0600113C, 0x0600113C); - } else { + } + else + { m_nMinMax = eStateMax; m_pBtnMinMax->SetImages(0, 0x0600113B, 0x0600113B); - } + } - key.Create(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Decal")); - key.SetDWORDValue("BarState", m_nMinMax); + key.Create(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Decal")); + key.SetDWORDValue("BarState", m_nMinMax); - Reformat(); + Reformat(); } STDMETHODIMP cBarLayer::MouseEvent(long nMsg, long wParam, long lParam) { - switch (nMsg) { + switch (nMsg) + { case WM_LBUTTONDOWN: RECT rSize; m_pSite->get_Position(&rSize); @@ -436,29 +478,37 @@ if( !cManager::_p->m_bContainer ) pt.y -= 28; - + + // Drakier: Grabbing the left drag bar if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.left + 1 && pt.x <= rSize.left + 8) { - m_bDragging = true; - + m_nDragging = -1; m_DeltaX = pt.x; } + // Drakier: Grabbing the right drag bar + if (pt.y >= rSize.top && pt.y <= rSize.bottom && pt.x >= rSize.right - 8 && pt.x <= rSize.right - 1) + { + m_nDragging = 1; + m_DeltaX = pt.x; + } break; case WM_LBUTTONUP: - if( m_bDragging ) + if( m_nDragging == -1 || m_nDragging == 1 ) { - m_bDragging = false; + m_nDragging = 0; RegKey key; key.Create(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Decal")); - key.SetDWORDValue("BarDelta", (DWORD)m_TotalDelta); + // Drakier: For the new bar system + key.SetDWORDValue("BarStart", (DWORD)m_nBarStartPos); + key.SetDWORDValue("BarLength", (DWORD)m_nBarLength); } break; case WM_MOUSEMOVE: - if ( m_bDragging ) + if ( m_nDragging == -1 ) // Drakier: Drag Left { POINTS pt; pt = MAKEPOINTS(lParam); @@ -466,14 +516,42 @@ if( !cManager::_p->m_bContainer ) pt.y -= 28; - m_TotalDelta += pt.x - m_DeltaX; - m_DeltaX = pt.x; + if ( ((m_nBarLength - (pt.x - m_DeltaX)) > 112 ) && (((pt.x - m_DeltaX) + m_nBarStartPos) >= 0) ) + { + m_nBarStartPos += pt.x - m_DeltaX; + m_nBarLength += (-1) * (pt.x - m_DeltaX); + m_DeltaX = pt.x; + } Reformat( ); } + else if ( m_nDragging == 1 ) // Drakier: Drag Right + { + POINTS pt; + pt = MAKEPOINTS(lParam); + + if( !cManager::_p->m_bContainer ) + pt.y -= 28; + if ( !m_bRadarDraw ) // Drakier: Radar on? + { + if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth - (PANEL_SIZE + RADAR_SIZE))) ) + { + m_nBarLength += pt.x - m_DeltaX; + m_DeltaX = pt.x; + } + } + else // Drakier: Radar off! + { + if ( ((pt.x - m_DeltaX + m_nBarLength) >= 112) && ((m_nBarStartPos + m_nBarLength + pt.x - m_DeltaX) <= (m_nScreenWidth - PANEL_SIZE)) ) + { + m_nBarLength += pt.x - m_DeltaX; + m_DeltaX = pt.x; + } + } + Reformat( ); + } break; } - return S_OK; -} +} \ No newline at end of file Index: BarLayer.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/BarLayer.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- BarLayer.h 3 Jan 2003 00:55:21 -0000 1.6 +++ BarLayer.h 19 Nov 2003 19:19:14 -0000 1.7 @@ -3,7 +3,7 @@ #ifndef __BARLAYER_H_ #define __BARLAYER_H_ -#include "resource.h" // main symbols +#include "resource.h" // main symbols #include "SinkImpl.h" @@ -17,40 +17,47 @@ // cBarLayer class ATL_NO_VTABLE cBarLayer : public CComObjectRootEx<CComMultiThreadModel>, - public ILayerImpl< cBarLayer >, + public ILayerImpl< cBarLayer >, public ILayerRenderImpl, - public IBarManager, - public ICommandEventsImpl< BUTTON_BACK, cBarLayer >, - public ICommandEventsImpl< BUTTON_FORWARD, cBarLayer >, - public ICommandEventsImpl< BUTTON_MINMAX, cBarLayer >, - public ILayerMouseImpl, - public cNoEventsImpl, - public IPagerEventsImpl< PAGER_CLIENT, cBarLayer > + public IBarManager, + public ICommandEventsImpl< BUTTON_BACK, cBarLayer >, + public ICommandEventsImpl< BUTTON_FORWARD, cBarLayer >, + public ICommandEventsImpl< BUTTON_MINMAX, cBarLayer >, + public ILayerMouseImpl, + public cNoEventsImpl, + public IPagerEventsImpl< PAGER_CLIENT, cBarLayer > { public: cBarLayer(); - // Important child objects - CComPtr< IPager > m_pPager; - CComPtr< IButton > m_pBtnForwards, - m_pBtnBackwards, m_pBtnMinMax; + // Important child objects + CComPtr< IPager > m_pPager; + CComPtr< IButton > m_pBtnForwards, + m_pBtnBackwards, m_pBtnMinMax; - CComPtr< IImageCache > m_pBackground; + CComPtr< IImageCache > m_pBackground; - // This the the list of bars - typedef std::vector< long > cOffsetList; - cOffsetList m_offsets; - long m_nPosition; - unsigned long m_nMinMax; + // This the the list of bars + typedef std::vector< long > cOffsetList; + cOffsetList m_offsets; + long m_nPosition; + unsigned long m_nMinMax; - long m_DeltaX; - long m_TotalDelta; + long m_DeltaX; + long m_nScreenWidth; + long m_nScreenHeight; + //long m_TotalDelta; + long *m_p3DH; + long *m_p3DW; - bool m_bDragging; - bool m_bRadarDraw; + long m_nBarStartPos; + long m_nBarLength; - void onCreate(); - void onDestroy(); + int m_nDragging; + bool m_bRadarDraw; + + void onCreate(); + void onDestroy(); BEGIN_COM_MAP(cBarLayer) COM_INTERFACE_ENTRY(ILayer) @@ -60,41 +67,41 @@ END_COM_MAP() BEGIN_SINK_MAP(cBarLayer) - SINK_ENTRY_EX( BUTTON_BACK, DIID_ICommandEvents, DISPID_HIT, onCommandHit ) - SINK_ENTRY_EX( BUTTON_BACK, DIID_ICommandEvents, DISPID_UNHIT, onCommandUnhit ) - SINK_ENTRY_EX( BUTTON_FORWARD, DIID_ICommandEvents, DISPID_HIT, onCommandHit ) - SINK_ENTRY_EX( BUTTON_FORWARD, DIID_ICommandEvents, DISPID_UNHIT, onCommandUnhit ) - SINK_ENTRY_EX( BUTTON_MINMAX, DIID_ICommandEvents, DISPID_HIT, onMinMaxHit ) - SINK_ENTRY_EX( PAGER_CLIENT, DIID_IPagerEvents, DISPID_GETNEXTPOSITION, onClientGetNextPosition ) + SINK_ENTRY_EX( BUTTON_BACK, DIID_ICommandEvents, DISPID_HIT, onCommandHit ) + SINK_ENTRY_EX( BUTTON_BACK, DIID_ICommandEvents, DISPID_UNHIT, onCommandUnhit ) + SINK_ENTRY_EX( BUTTON_FORWARD, DIID_ICommandEvents, DISPID_HIT, onCommandHit ) + SINK_ENTRY_EX( BUTTON_FORWARD, DIID_ICommandEvents, DISPID_UNHIT, onCommandUnhit ) + SINK_ENTRY_EX( BUTTON_MINMAX, DIID_ICommandEvents, DISPID_HIT, onMinMaxHit ) + SINK_ENTRY_EX( PAGER_CLIENT, DIID_IPagerEvents, DISPID_GETNEXTPOSITION, onClientGetNextPosition ) END_SINK_MAP() public: - // IBarManager + // IBarManager STDMETHOD(get_Bar)(long nViewID, /*[out, retval]*/ ViewParams *pVal); STDMETHOD(put_Bar)(long nViewID, /*[in]*/ ViewParams * newVal); STDMETHOD(RemoveBar)(long nViewID); STDMETHOD(AddBar)(long nViewID, ViewParams *pParams); - // ILayerRender + // ILayerRender STDMETHOD(Render)(ICanvas *pCanvas); STDMETHOD(Reformat)(); - // Button Back and Forward event handlers - void __stdcall onCommandHit( long nID ) - { - m_pPager->put_Command( nID ); - } + // Button Back and Forward event handlers + void __stdcall onCommandHit( long nID ) + { + m_pPager->put_Command( nID ); + } - void __stdcall onCommandUnhit( long ) - { - m_pPager->FinishCommand(); - } + void __stdcall onCommandUnhit( long ) + { + m_pPager->FinishCommand(); + } - void __stdcall onMinMaxHit(long nID); + void __stdcall onMinMaxHit(long nID); - // Pager event handlers - VARIANT_BOOL __stdcall onClientGetNextPosition( long nID, long nCommand, long *pnX, long *pnY ); - STDMETHOD(MouseEvent)(long nMsg, long wParam, long lParam); + // Pager event handlers + VARIANT_BOOL __stdcall onClientGetNextPosition( long nID, long nCommand, long *pnX, long *pnY ); + STDMETHOD(MouseEvent)(long nMsg, long wParam, long lParam); }; #endif //__BARLAYER_H_ Index: FontCache.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/FontCache.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- FontCache.cpp 8 Oct 2003 20:56:44 -0000 1.4 +++ FontCache.cpp 19 Nov 2003 19:19:14 -0000 1.5 @@ -10,7 +10,7 @@ cFontCache::~cFontCache() { - cManager::_p->removeFont( this ); + cManager::_p->removeFont( this ); } #define BUFFER_WIDTHCHARS 32 @@ -19,66 +19,80 @@ bool cFontCache::checkBuffer() { - if( m_pBuffer.p ) - { - VARIANT_BOOL bWasLost; - m_pBuffer->get_WasLost( &bWasLost ); - if( bWasLost ) - m_pBuffer.Release(); - } + if( m_pBuffer.p ) + { + VARIANT_BOOL bWasLost; + m_pBuffer->get_WasLost( &bWasLost ); + if( bWasLost ) + m_pBuffer.Release(); + } - if( m_pBuffer.p ) - // The character buff is intact - return true; + if( m_pBuffer.p ) + // The character buff is intact + return true; - // Get a dummy DC from the primary surface - CComPtr< ICanvas > pSurf; + // Get a dummy DC from the primary surface + CComPtr< ICanvas > pSurf; if( FAILED(cManager::_p->GetPrimarySurface( &pSurf )) ) return false; - // Madar: This can happen if you set an edit-text during plugin initialization. - if (!pSurf) - { - return false; - } + // Madar: This can happen if you set an edit-text during plugin initialization. + if (!pSurf) + { + return false; + } - HDC hdc; - pSurf->GetDC( &hdc ); + HDC hdc; + pSurf->GetDC( &hdc ); - HFONT hfnt = ::CreateFontIndirect( &m_lf ), - hfntOld = reinterpret_cast< HFONT >( ::SelectObject( hdc, hfnt ) ); + // Drakier: reset error, try to create font, then check for error. + SetLastError(ERROR_SUCCESS); + HFONT hfnt = ::CreateFontIndirect( &m_lf ); + if (GetLastError() != ERROR_SUCCESS) + { + _ASSERTE(GetLastError()); + // Drakier: try arial instead + strcpy(m_lf.lfFaceName, "Arial"); + SetLastError(ERROR_SUCCESS); + HFONT hfnt = ::CreateFontIndirect( &m_lf ); + if (GetLastError() != ERROR_SUCCESS) + return false; + } - TEXTMETRIC tm; - ::GetTextMetrics( hdc, &tm ); + HFONT hfntOld = reinterpret_cast< HFONT >( ::SelectObject( hdc, hfnt ) ); - m_szCharCell.cy = tm.tmHeight; - m_szCharCell.cx = tm.tmMaxCharWidth; - // Create the buffer - SIZE szBuffer = { m_szCharCell.cx * BUFFER_WIDTHCHARS, m_szCharCell.cy * BUFFER_HEIGHTCHARS }; - cManager::_p->CreateCanvas( &szBuffer, &m_pBuffer ); + TEXTMETRIC tm; + ::GetTextMetrics( hdc, &tm ); - INT widths[ BUFFER_CHARCOUNT ]; - BOOL b = ::GetCharWidth( hdc, 0, ( BUFFER_CHARCOUNT - 1 ), widths ); - _ASSERTE( b ); - DWORD dwError = ::GetLastError(); + m_szCharCell.cy = tm.tmHeight; + m_szCharCell.cx = tm.tmMaxCharWidth; - for( short nChar = 0; nChar < BUFFER_CHARCOUNT; ++ nChar ) - { - // TODO: Render the chars - // Figure out the character cell size - m_nWidths[ nChar ].m_nWidth = widths[ nChar ]; - } + // Create the buffer + SIZE szBuffer = { m_szCharCell.cx * BUFFER_WIDTHCHARS, m_szCharCell.cy * BUFFER_HEIGHTCHARS }; + cManager::_p->CreateCanvas( &szBuffer, &m_pBuffer ); - // TODO: Render all the chars into the buffer + INT widths[ BUFFER_CHARCOUNT ]; + BOOL b = ::GetCharWidth( hdc, 0, ( BUFFER_CHARCOUNT - 1 ), widths ); + _ASSERTE( b ); + DWORD dwError = ::GetLastError(); - ::SelectObject( hdc, hfntOld ); - ::DeleteObject( hfnt ); + for( short nChar = 0; nChar < BUFFER_CHARCOUNT; ++ nChar ) + { + // TODO: Render the chars + // Figure out the character cell size + m_nWidths[ nChar ].m_nWidth = widths[ nChar ]; + } - pSurf->ReleaseDC(); + // TODO: Render all the chars into the buffer - return true; + ::SelectObject( hdc, hfntOld ); + ::DeleteObject( hfnt ); + + pSurf->ReleaseDC(); + + return true; } STDMETHODIMP cFontCache::DrawText( LPPOINT ppt, BSTR strText, long clr, ICanvas *pCanvas ) @@ -156,8 +170,21 @@ pCanvas->GetDC( &hdc ); // Draw the text - HFONT hfnt = ::CreateFontIndirect( &m_lf ), - hfntOld = reinterpret_cast< HFONT >( ::SelectObject( hdc, hfnt ) ); + // Drakier: reset error, try to create font, then check for error. + SetLastError(ERROR_SUCCESS); + HFONT hfnt = ::CreateFontIndirect( &m_lf ); + if (GetLastError() != ERROR_SUCCESS) + { + _ASSERTE(GetLastError()); + // Drakier: try arial instead + strcpy(m_lf.lfFaceName, "Arial"); + SetLastError(ERROR_SUCCESS); + HFONT hfnt = ::CreateFontIndirect( &m_lf ); + if (GetLastError() != ERROR_SUCCESS) + return E_FAIL; + } + + HFONT hfntOld = reinterpret_cast< HFONT >( ::SelectObject( hdc, hfnt ) ); ::SetBkMode( hdc, TRANSPARENT ); ::SetTextAlign( hdc, TA_TOP | TA_LEFT ); @@ -206,52 +233,52 @@ STDMETHODIMP cFontCache::MeasureText( BSTR strText, LPSIZE pszExt ) { - _ASSERTE( strText != NULL ); - _ASSERTE( pszExt != NULL ); + _ASSERTE( strText != NULL ); + _ASSERTE( pszExt != NULL ); - if( !checkBuffer() ) - return E_FAIL; + if( !checkBuffer() ) + return E_FAIL; - USES_CONVERSION; + USES_CONVERSION; - LPCSTR szText = OLE2T( strText ), - i_end_text = szText + strlen( szText ); + LPCSTR szText = OLE2T( strText ), + i_end_text = szText + strlen( szText ); - pszExt->cy = m_szCharCell.cy; - pszExt->cx = 0; + pszExt->cy = m_szCharCell.cy; + pszExt->cx = 0; - for( LPCSTR i_text = szText; i_text != i_end_text; ++ i_text ) - pszExt->cx += m_nWidths[ *i_text ].m_nWidth; + for( LPCSTR i_text = szText; i_text != i_end_text; ++ i_text ) + pszExt->cx += m_nWidths[ *i_text ].m_nWidth; - return S_OK; + return S_OK; } STDMETHODIMP cFontCache::HitTest(BSTR szText, long nPos, long *nIndex) { - _ASSERTE( szText != NULL ); - _ASSERTE( nIndex != NULL ); + _ASSERTE( szText != NULL ); + _ASSERTE( nIndex != NULL ); - if( !checkBuffer() ) - return E_FAIL; + if( !checkBuffer() ) + return E_FAIL; - USES_CONVERSION; + USES_CONVERSION; - LPCSTR szAText = OLE2T( szText ), - i_end_text = szAText + strlen( szAText ); + LPCSTR szAText = OLE2T( szText ), + i_end_text = szAText + strlen( szAText ); - for( LPCSTR i_text = szAText; i_text != i_end_text; ++ i_text ) - { - short nWidth = m_nWidths[ *i_text ].m_nWidth; - if( nPos < nWidth ) - { - *nIndex = ( i_text - szAText ); - return S_OK; - } + for( LPCSTR i_text = szAText; i_text != i_end_text; ++ i_text ) + { + short nWidth = m_nWidths[ *i_text ].m_nWidth; + if( nPos < nWidth ) + { + *nIndex = ( i_text - szAText ); + return S_OK; + } - nPos -= nWidth; - } + nPos -= nWidth; + } - *nIndex = -1; + *nIndex = -1; return S_OK; } Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- Manager.cpp 21 Oct 2003 19:12:15 -0000 1.80 +++ Manager.cpp 19 Nov 2003 19:19:14 -0000 1.81 @@ -138,23 +138,29 @@ { USES_CONVERSION; + // Obtain ACHooks Ref & start ACHooks events if we're not in Checksum's Container + if(!m_bContainer) { - // Prepare the root layer and bar manager before loading plugins - // We have to manually create the root site - CComObject< cLayerSite > *pRootSite; - CComObject< cLayerSite >::CreateInstance( &pRootSite ); + m_pDecal->get_Hooks( &m_pHooks ); + IACHooksEventsImpl<ChatMessageHook, cManager>::advise( m_pHooks ); + IACHooksEventsImpl<ChatTextHook, cManager>::advise( m_pHooks ); + } - m_pRootSite = pRootSite; + // Prepare the root layer and bar manager before loading plugins + // We have to manually create the root site + CComObject< cLayerSite > *pRootSite; + CComObject< cLayerSite >::CreateInstance( &pRootSite ); - // Create the paired root layer - CComObject< cRootLayer > *pRootLayer; - CComObject< cRootLayer >::CreateInstance( &pRootLayer ); - m_pRootLayer = pRootLayer; + m_pRootSite = pRootSite; - // To circular reference keeps it all intact - LayerParams lp = { 0, { 0, 0, 0, 0 }, eRenderClipped }; - m_pRootSite->create( &lp, NULL, pRootLayer ); - } + // Create the paired root layer + CComObject< cRootLayer > *pRootLayer; + CComObject< cRootLayer >::CreateInstance( &pRootLayer ); + m_pRootLayer = pRootLayer; + + // To circular reference keeps it all intact + LayerParams lp = { 0, { 0, 0, 0, 0 }, eRenderClipped }; + m_pRootSite->create( &lp, NULL, pRootLayer ); m_bInitialized = true; @@ -165,14 +171,6 @@ if(key.QueryDWORDValue(_T("AlphaBlendMode"), reinterpret_cast<unsigned long &>(m_eAlphaBlendMode))!=ERROR_SUCCESS) m_eAlphaBlendMode = eAlphaBlendSoftware; - } - - // Obtain ACHooks Ref & start ACHooks events if we're not in Checksum's Container - if(!m_bContainer) - { - m_pDecal->get_Hooks( &m_pHooks ); - IACHooksEventsImpl<ChatMessageHook, cManager>::advise( m_pHooks ); - IACHooksEventsImpl<ChatTextHook, cManager>::advise( m_pHooks ); } // Install the input filter Index: SimpleBar.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/SimpleBar.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- SimpleBar.cpp 24 Jul 2002 03:56:34 -0000 1.4 +++ SimpleBar.cpp 19 Nov 2003 19:19:14 -0000 1.5 @@ -8,24 +8,24 @@ void cSimpleBar::onCreate() { - CComPtr< IPluginSite > pPlugin; - m_pSite->get_PluginSite( &pPlugin ); + CComPtr< IPluginSite > pPlugin; + m_pSite->get_PluginSite( &pPlugin ); - pPlugin->LoadBitmapFile( _bstr_t( _T( "Switch-Active.bmp" ) ), &m_pSwitch ); - pPlugin->LoadBitmapFile( _bstr_t( _T( "Switch-Inactive.bmp" ) ), &m_pSwitchDisabled ); - BSTR bstrFontName; - pPlugin->get_FontName(&bstrFontName); - pPlugin->CreateFont( bstrFontName /*_bstr_t( _T( "Times New Roman" ) )*/, 14, 0, &m_pFont ); - m_nMinMax = 0; + pPlugin->LoadBitmapFile( _bstr_t( _T( "Switch-Active.bmp" ) ), &m_pSwitch ); + pPlugin->LoadBitmapFile( _bstr_t( _T( "Switch-Inactive.bmp" ) ), &m_pSwitchDisabled ); + BSTR bstrFontName; + pPlugin->get_FontName(&bstrFontName); + pPlugin->CreateFont( bstrFontName /*_bstr_t( _T( "Times New Roman" ) )*/, 14, 0, &m_pFont ); + m_nMinMax = 0; - m_pSite->put_Transparent( VARIANT_FALSE ); + m_pSite->put_Transparent( VARIANT_FALSE ); } void cSimpleBar::onDestroy() { - m_pSwitch.Release(); - m_pSwitchDisabled.Release(); - m_pFont.Release(); + m_pSwitch.Release(); + m_pSwitchDisabled.Release(); + m_pFont.Release(); } #define SWITCH_STRETCH_START 25 @@ -41,103 +41,106 @@ STDMETHODIMP cSimpleBar::Render(ICanvas *pCanvas) { - RECT rc; - m_pSite->get_Position( &rc ); + RECT rc; + m_pSite->get_Position( &rc ); - int nWidth = rc.right - rc.left; + int nWidth = rc.right - rc.left; - // First draw the background image - static POINT ptOrg = { 0, 0 }; - if( m_bSelected ) - m_pSwitch->StretchBlt( pCanvas, &ptOrg, nWidth, SWITCH_STRETCH_START, SWITCH_STRETCH_END ); - else - m_pSwitchDisabled->StretchBlt( pCanvas, &ptOrg, nWidth, SWITCH_STRETCH_START, SWITCH_STRETCH_END ); + // First draw the background image + static POINT ptOrg = { 0, 0 }; + if( m_bSelected ) + m_pSwitch->StretchBlt( pCanvas, &ptOrg, nWidth, SWITCH_STRETCH_START, SWITCH_STRETCH_END ); + else + m_pSwitchDisabled->StretchBlt( pCanvas, &ptOrg, nWidth, SWITCH_STRETCH_START, SWITCH_STRETCH_END ); - // Next the icon - CComPtr< IPluginSite > pPlugin; - m_pSite->get_PluginSite( &pPlugin ); + // Next the icon + CComPtr< IPluginSite > pPlugin; + m_pSite->get_PluginSite( &pPlugin ); - CComPtr< IIconCache > pIcons; - static SIZE szIcon = { ICON_SIZE, ICON_SIZE }; - pPlugin->GetIconCache( &szIcon, &pIcons ); + CComPtr< IIconCache > pIcons; + static SIZE szIcon = { ICON_SIZE, ICON_SIZE }; + pPlugin->GetIconCache( &szIcon, &pIcons ); - static POINT ptIcon = { 0, ICON_TOP }; - pIcons->DrawIcon( &ptIcon, m_nIconID, m_nIconModule, pCanvas ); + static POINT ptIcon = { 0, ICON_TOP }; + pIcons->DrawIcon( &ptIcon, m_nIconID, m_nIconModule, pCanvas ); - if (m_nMinMax == eStateMax) { - static POINT ptText = { ICON_SIZE + TEXT_ICON_GAP, TEXT_TOP }; - m_pFont->DrawText( &ptText, m_strLabel, ( m_bSelected ) ? RGB( 0, 0, 0 ) : RGB( 255, 255, 255 ), pCanvas ); - } + if (m_nMinMax == eStateMax) + { + static POINT ptText = { ICON_SIZE + TEXT_ICON_GAP, TEXT_TOP }; + m_pFont->DrawText( &ptText, m_strLabel, ( m_bSelected ) ? RGB( 0, 0, 0 ) : RGB( 255, 255, 255 ), pCanvas ); + } - _ASSERTMEM( _CrtCheckMemory( ) ); + _ASSERTMEM( _CrtCheckMemory( ) ); - return S_OK; + return S_OK; } STDMETHODIMP cSimpleBar::MouseEnter(MouseState *) { - m_bSelected = VARIANT_TRUE; - m_pSite->Invalidate(); + m_bSelected = VARIANT_TRUE; + m_pSite->Invalidate(); return S_OK; } STDMETHODIMP cSimpleBar::MouseExit(MouseState *) { - m_bSelected = VARIANT_FALSE; - m_pSite->Invalidate(); + m_bSelected = VARIANT_FALSE; + m_pSite->Invalidate(); return S_OK; } STDMETHODIMP cSimpleBar::MouseDown(MouseState *) { - CComPtr< IRootLayer > pRoot; + CComPtr< IRootLayer > pRoot; - m_pSite->GetParentSink( IID_IRootLayer, reinterpret_cast< void ** >( &pRoot ) ); + m_pSite->GetParentSink( IID_IRootLayer, reinterpret_cast< void ** >( &pRoot ) ); - _ASSERTE( pRoot.p != NULL ); + _ASSERTE( pRoot.p != NULL ); - long nID; - m_pSite->get_ID( &nID ); - pRoot->SelectBar( nID ); + long nID; + m_pSite->get_ID( &nID ); + pRoot->SelectBar( nID ); - return S_OK; + return S_OK; } STDMETHODIMP cSimpleBar::get_RenderWidth(long *nWidth) { - if (m_nMinMax == eStateMin) { - *nWidth = 20; - } else { + if (m_nMinMax == eStateMin) + { + *nWidth = 20; + } + else + { SIZE sz; - m_pFont->MeasureText( m_strLabel, &sz ); - - // Add in the requested size to the parent - *nWidth = sz.cx + TEXT_ICON_GAP + END_GAP + ICON_SIZE; - } + m_pFont->MeasureText( m_strLabel, &sz ); - return S_OK; + // Add in the requested size to the parent + *nWidth = sz.cx + TEXT_ICON_GAP + END_GAP + ICON_SIZE; + } + return S_OK; } STDMETHODIMP cSimpleBar::get_Params(ViewParams *pVal) { - USES_CONVERSION; + USES_CONVERSION; - pVal->icon = m_nIconID; - pVal->iconLibrary = m_nIconModule; - pVal->label = OLE2BSTR( m_strLabel ); - pVal->state = m_nMinMax; + pVal->icon = m_nIconID; + pVal->iconLibrary = m_nIconModule; + pVal->label = OLE2BSTR( m_strLabel ); + pVal->state = m_nMinMax; return S_OK; } STDMETHODIMP cSimpleBar::put_Params(ViewParams *newVal) { - m_nIconID = newVal->icon; - m_nIconModule = newVal->iconLibrary; - m_strLabel = newVal->label; - m_nMinMax = newVal->state; + m_nIconID = newVal->icon; + m_nIconModule = newVal->iconLibrary; + m_strLabel = newVal->label; + m_nMinMax = newVal->state; return S_OK; -} +} \ No newline at end of file Index: SimpleBar.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/SimpleBar.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- SimpleBar.h 24 Nov 2001 23:21:55 -0000 1.2 +++ SimpleBar.h 19 Nov 2003 19:19:14 -0000 1.3 @@ -3,7 +3,7 @@ #ifndef __SIMPLEBAR_H_ #define __SIMPLEBAR_H_ -#include "resource.h" // main symbols +#include "resource.h" // main symbols #include "SinkImpl.h" @@ -12,52 +12,52 @@ class ATL_NO_VTABLE cSimpleBar : public CComObjectRootEx<CComMultiThreadModel>, public ISimpleBar, - public cNoEventsImpl, - public ILayerImpl< cSimpleBar >, - public ILayerRenderImpl, - public ILayerMouseImpl + public cNoEventsImpl, + public ILayerImpl< cSimpleBar >, + public ILayerRenderImpl, + public ILayerMouseImpl { public: cSimpleBar() - : m_bSelected( VARIANT_FALSE ) + : m_bSelected( VARIANT_FALSE ) { } - _bstr_t m_strLabel; - long m_nIconModule; - long m_nIconID; - long m_nMinMax; + _bstr_t m_strLabel; + long m_nIconModule; + long m_nIconID; + long m_nMinMax; - VARIANT_BOOL m_bSelected; + VARIANT_BOOL m_bSelected; - CComPtr< IImageCache > m_pSwitch; - CComPtr< IImageCache > m_pSwitchDisabled; - CComPtr< IFontCache > m_pFont; + CComPtr< IImageCache > m_pSwitch; + CComPtr< IImageCache > m_pSwitchDisabled; + CComPtr< IFontCache > m_pFont; - void onCreate(); - void onDestroy(); + void onCreate(); + void onDestroy(); BEGIN_COM_MAP(cSimpleBar) - COM_INTERFACE_ENTRY(ILayerRender) - COM_INTERFACE_ENTRY(ILayerMouse) - COM_INTERFACE_ENTRY(ILayer) + COM_INTERFACE_ENTRY(ILayerRender) + COM_INTERFACE_ENTRY(ILayerMouse) + COM_INTERFACE_ENTRY(ILayer) COM_INTERFACE_ENTRY(ISimpleBar) END_COM_MAP() // ISimpleBar public: - // ISimpleBar Functions + // ISimpleBar Functions STDMETHOD(get_Params)(/*[out, retval]*/ ViewParams *pVal); STDMETHOD(put_Params)(/*[in]*/ ViewParams * newVal); STDMETHOD(get_RenderWidth)(long *nWidth); - // ILayerRender Functions + // ILayerRender Functions STDMETHOD(Render)(ICanvas *pCanvas); - // ILayerMouse Functions + // ILayerMouse Functions STDMETHOD(MouseEnter)(MouseState *); STDMETHOD(MouseExit)(MouseState *); - STDMETHOD(MouseDown)(MouseState *); + STDMETHOD(MouseDown)(MouseState *); }; #endif //__SIMPLEBAR_H_ |
From: Jeffrey D. <ha...@us...> - 2003-10-25 18:42:50
|
Log Message: ----------- WHAT UP DAWG 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.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- DecalInstaller.vdproj 8 Oct 2003 23:04:40 -0000 1.18 +++ DecalInstaller.vdproj 24 Oct 2003 04:13:23 -0000 1.19 @@ -27,6 +27,60 @@ } "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" @@ -51,6 +105,30 @@ } "Entry" { + "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" + "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" + "OwnerKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" + "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" @@ -75,6 +153,24 @@ } "Entry" { + "MsmKey" = "8:_5A3988ED334E434FACEBCF8804F8B6DB" + "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_5A3988ED334E434FACEBCF8804F8B6DB" + "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_5A3988ED334E434FACEBCF8804F8B6DB" + "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_673044C5656142EBAA86D07A36EFFF5A" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -93,12 +189,42 @@ } "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:_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" @@ -111,6 +237,18 @@ } "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" @@ -139,6 +277,18 @@ "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" { @@ -197,6 +347,26 @@ } "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" @@ -237,6 +407,26 @@ "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" @@ -337,6 +527,66 @@ "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" @@ -357,6 +607,26 @@ "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" @@ -397,6 +667,26 @@ "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" { @@ -474,13 +764,13 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Decal" - "ProductCode" = "8:{67E0D07C-8A6A-4357-B44F-CCA1A513DFE7}" - "PackageCode" = "8:{793F1D6E-5FFE-431A-8402-87A60FE5F388}" + "ProductCode" = "8:{32767F66-7F62-4C0B-81F7-C42B4C7C0148}" + "PackageCode" = "8:{1BD4B7B5-49FE-43D7-9008-934EDE138A4C}" "UpgradeCode" = "8:{3025AB1B-80B9-46B7-9CE9-9887ADA2914F}" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" - "ProductVersion" = "8:2.6.04" + "ProductVersion" = "8:2.6.06" "Manufacturer" = "8:Decal Developers" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:http://forums.acdev.org/" @@ -998,6 +1288,20 @@ } "MergeModule" { + "{35A69C6E-5BA4-440D-803D-762B59A45393}:_5A3988ED334E434FACEBCF8804F8B6DB" + { + "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:" + } } "ProjectOutput" { |
From: Jeffrey D. <ha...@us...> - 2003-10-24 15:23:53
|
Log Message: ----------- Hello 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.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- Install.vbs 8 Oct 2003 23:06:03 -0000 1.43 +++ Install.vbs 24 Oct 2003 04:13:06 -0000 1.44 @@ -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.6.0.0" ' The version of your product, used in dialogs and such +Private Const ThisVersion = "2.6.0.1" ' 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}" @@ -93,7 +93,7 @@ AllProducts.Add "2.4.1.3", "{E62F700A-E214-11D6-B2DA-009027B6A4F1}" AllProducts.Add "2.5.0.0 RC1", "{940240A5-39C7-496A-B2FB-21D87220FCFE}" AllProducts.Add "2.5.0.0 RC2", "{F685D7CA-12EB-11D7-B2DA-009027B6A4F1}" -'AllProducts.Add "2.5.0.0 RC3", "{F685D7CA-12EB-11D7-B2DA-009027B6A4F1}" Have no code for this! +AllProducts.Add "2.5.0.0 RC3", "{F15D5960-13C9-11D7-B2DA-009027B6A4F1}" AllProducts.Add "2.5.0.1 RC1", "{B5B0E8D6-FE22-467C-B09E-1AB5CC837942}" AllProducts.Add "2.5.0.1", "{CE4276BF-04AE-41C9-B7C2-3DD65B4DAEDD}" AllProducts.Add "2.5.0.2", "{F794642A-63D5-11D7-B2DA-009027B6A4F1}" @@ -107,6 +107,9 @@ AllProducts.Add "2.6.0.0 RC3", "{E86FBB39-9061-475A-B575-F8F9AC12DB74}" AllProducts.Add "2.6.0.0 RC4", "{16673809-CA94-4E31-9E0B-B2FCA0CBDFAB}" AllProducts.Add "2.6.0.0 RC5", "{67E0D07C-8A6A-4357-B44F-CCA1A513DFE7}" +AllProducts.Add "2.6.0.0", "{B0DC3DCD-44BD-47C7-AB9D-CC68FB63F4C3}" +AllProducts.Add "2.6.0.1", "{32767F66-7F62-4C0B-81F7-C42B4C7C0148}" + ' These are optional ' The features they provide will be ignored if they are left as empty strings |
From: Jeffrey D. <ha...@us...> - 2003-10-24 12:35:54
|
Log Message: ----------- hi 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.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- DecalVersion.h 29 Aug 2003 12:01:38 -0000 1.4 +++ DecalVersion.h 24 Oct 2003 04:12:48 -0000 1.5 @@ -7,8 +7,8 @@ #define DECAL_MAJOR 2 #define DECAL_MINOR 6 #define DECAL_BUGFIX 0 -#define DECAL_RELEASE 0 +#define DECAL_RELEASE 1 -#define DECAL_VERSION_STRING "2, 6, 0, 0" +#define DECAL_VERSION_STRING "2, 6, 0, 1" #endif |
From: BJ H. <par...@us...> - 2003-10-21 22:20:55
|
Log Message: ----------- QKM improvements? Modified Files: -------------- /cvsroot/decaldev/source/Inject: Manager.cpp Revision Data ------------- Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- Manager.cpp 20 Oct 2003 18:54:21 -0000 1.79 +++ Manager.cpp 21 Oct 2003 19:12:15 -0000 1.80 @@ -18,6 +18,8 @@ #include "InputBuffer.h" +#include <stdio.h> + const IID EVTID_AcHooks = { 0xEB282FE5, 0x7170, 0x4a37, { 0xA2, 0x6E, 0x92, 0xAF, 0x36, 0x38, 0x5D, 0x2C } }; const IID LIBID_Decal = { 0xFF7F5F6D, 0x34E0, 0x4B6F, { 0xB3, 0xBB, 0x81, 0x41, 0xDE, 0x2E, 0xF7, 0x32 } }; @@ -1292,18 +1294,18 @@ RegKey key; - HANDLE hFile; + //HANDLE hFile; DWORD dwType = REG_EXPAND_SZ; DWORD dwLengthPath = MAX_PATH; DWORD dwLengthMap; - DWORD dwFileSize; - DWORD lpdwBytesRead; + //DWORD dwFileSize; + //DWORD lpdwBytesRead; - int count = 0; + //int count = 0; - char* pDest; - char *pEnd; + //char* pDest; + //char *pEnd; TCHAR tempbuf[MAX_PATH]; TCHAR tempfile[MAX_PATH]; @@ -1330,8 +1332,38 @@ } else return E_FAIL; - ::MessageBox(NULL, tempbuf, "QKM Path", 0); + + //::MessageBox(NULL, tempbuf, "QKM Path", 0); + // The following requires more testing than what i've given it. + FILE * fKeyMap = fopen(tempbuf, "r"); + if (fKeyMap == NULL) + return S_FALSE; + + DWORD dwNumMaps; + fscanf(fKeyMap, "%i\r\n", &dwNumMaps); + + DWORD dwBlah1; + DWORD dwChar; + DWORD dwBlah3; + char szName[256]; + DWORD dwBlah5; + DWORD dwBlah6; + + // Not sure if this method is faster than the code below, + // but it's a bit easier to tell what's going on + while (fscanf(fKeyMap, "%i\t%i\t%i\t%s\t%i\t%i\r\n", &dwBlah1, &dwChar, &dwBlah3, szName, &dwBlah5, &dwBlah6) != 0) + { + if (stricmp(szName, OLE2A(bstrName)) == 0) + break; + + memset(szName, 0, 256); + dwChar = 0; + } + *pAsciiVal = (long)dwChar; + fclose(fKeyMap); + return S_OK; +/* hFile = CreateFile(tempbuf, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if(hFile==INVALID_HANDLE_VALUE) @@ -1380,6 +1412,7 @@ delete[] pBuffer; return S_OK; + */ } STDMETHODIMP cManager::CastSpell(long lSpellID, long lObjectID) |
From: BJ H. <par...@us...> - 2003-10-20 20:42:31
|
Log Message: ----------- i hate querykeyboardmap...... Modified Files: -------------- /cvsroot/decaldev/source/Inject: Manager.cpp Revision Data ------------- Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- Manager.cpp 16 Oct 2003 03:23:53 -0000 1.78 +++ Manager.cpp 20 Oct 2003 18:54:21 -0000 1.79 @@ -1294,7 +1294,7 @@ HANDLE hFile; - //DWORD dwType = REG_SZ; + DWORD dwType = REG_EXPAND_SZ; DWORD dwLengthPath = MAX_PATH; DWORD dwLengthMap; DWORD dwFileSize; @@ -1316,11 +1316,10 @@ { dwLengthMap = MAX_PATH; ZeroMemory(tempfile, sizeof(tempfile)); - if (key.QueryMultiStringValue(_T("CurrentInputMap"), tempfile, &dwLengthMap) != ERROR_SUCCESS) + if (key.QueryValue(_T("CurrentInputMap"), &dwType, tempfile, &dwLengthMap) != ERROR_SUCCESS) lstrcat(tempbuf, _T("\\default.map")); else { - // this is where vc7 was breaking // someone less peaved than me can choose a better answer to the 2 strcat's lstrcat(tempbuf, _T("\\")); lstrcat(tempbuf, tempfile); @@ -1331,7 +1330,7 @@ } else return E_FAIL; - + ::MessageBox(NULL, tempbuf, "QKM Path", 0); hFile = CreateFile(tempbuf, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); |
From: Jeffrey D. <ha...@us...> - 2003-10-16 03:25:12
|
Log Message: ----------- unsure how that one happened.. Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.cpp Revision Data ------------- Index: DenAgent.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- DenAgent.cpp 15 Oct 2003 19:46:52 -0000 1.19 +++ DenAgent.cpp 16 Oct 2003 03:25:09 -0000 1.20 @@ -249,7 +249,7 @@ if( !bSuccess ) { - std::string szXIML; + std::string szXML; DecryptXML( static_cast< LPCSTR >( strXMLFile ), szXML ); if( szXML != "" ) |
From: BJ H. <par...@us...> - 2003-10-16 03:23:57
|
Log Message: ----------- para says "eff u querykbmap!!" Modified Files: -------------- /cvsroot/decaldev/source/Inject: Manager.cpp Revision Data ------------- Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- Manager.cpp 8 Oct 2003 20:57:26 -0000 1.77 +++ Manager.cpp 16 Oct 2003 03:23:53 -0000 1.78 @@ -1288,6 +1288,7 @@ STDMETHODIMP cManager::QueryKeyboardMap(BSTR bstrName, long *pAsciiVal) { USES_CONVERSION; + // Para > this damned proc RegKey key; @@ -1304,28 +1305,33 @@ char* pDest; char *pEnd; TCHAR tempbuf[MAX_PATH]; + TCHAR tempfile[MAX_PATH]; *pAsciiVal = 0; - if (key.Open (HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Microsoft Games\\Asheron's Call\\1.00"), KEY_QUERY_VALUE) != ERROR_SUCCESS) + if (key.Open(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Microsoft Games\\Asheron's Call\\1.00"), KEY_QUERY_VALUE) == ERROR_SUCCESS) { - return E_FAIL; + ZeroMemory(tempbuf, sizeof(tempbuf)); + if (key.QueryStringValue(_T("Path"), tempbuf, &dwLengthPath) == ERROR_SUCCESS) + { + dwLengthMap = MAX_PATH; + ZeroMemory(tempfile, sizeof(tempfile)); + if (key.QueryMultiStringValue(_T("CurrentInputMap"), tempfile, &dwLengthMap) != ERROR_SUCCESS) + lstrcat(tempbuf, _T("\\default.map")); + else + { + // this is where vc7 was breaking + // someone less peaved than me can choose a better answer to the 2 strcat's + lstrcat(tempbuf, _T("\\")); + lstrcat(tempbuf, tempfile); + } + } + else + return E_FAIL; } - - ZeroMemory(tempbuf, sizeof(tempbuf)); - - if (key.QueryStringValue (_T("Path"), tempbuf, &dwLengthPath) != ERROR_SUCCESS) - { + else return E_FAIL; - } - dwLengthMap = MAX_PATH-dwLengthPath; - - if (key.QueryStringValue (_T("CurrentInputMap"), tempbuf, &dwLengthMap) != ERROR_SUCCESS) - { - // This seems to be what AC does - lstrcat (tempbuf, _T("\\default.map")); - } hFile = CreateFile(tempbuf, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); |
From: Jeffrey D. <ha...@us...> - 2003-10-15 21:15:19
|
Log Message: ----------- Encrypted memloc support Modified Files: -------------- /cvsroot/decaldev/source/Decal: ACHooks.cpp ACHooks.h Decal.vcproj StdAfx.h Revision Data ------------- Index: ACHooks.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.cpp,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- ACHooks.cpp 8 Oct 2003 20:56:10 -0000 1.67 +++ ACHooks.cpp 15 Oct 2003 19:45:48 -0000 1.68 @@ -20,8 +20,6 @@ */ #define BSTRT(x) (_Unnamed = L##x, _Unnamed) - - ///////////////////////////////////////////////////////////////////////////// cACHooks* cACHooks::s_pACHooks = NULL; long g_lObjectDestroyedProc = 0; @@ -178,6 +176,15 @@ pMemLocDoc->async = false; VARIANT_BOOL bSuccess = pMemLocDoc->load( szPath ); + if( ! bSuccess ) + { + std::string szXML; + DecryptXML( szPath, szXML ); + + if( szXML != "" ) + bSuccess = pMemLocDoc->loadXML( _bstr_t( szXML.c_str() ) ); + } + if( bSuccess ) { MSXML::IXMLDOMElementPtr pNode = pMemLocDoc->selectSingleNode( BSTRT( "locations" ) ); @@ -860,6 +867,61 @@ if( m_bIdQueueRef ) m_pIdQueue.Release(); +} + +void cACHooks::DecryptXML( const char *szPath, std::string &szXML ) +{ + if( szPath == NULL ) + { + szXML = ""; + return; + } + + FILE *f = fopen( szPath, "rb" ); + if( f == NULL ) + { + szXML = ""; + return; + } + + szXML.clear(); + unsigned char szBuffer[1025]; + + try + { + CCryptProv crypt; + if( crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV ) == NTE_BAD_KEYSET ) + crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV, CRYPT_NEWKEYSET ); + + CCryptMD5Hash hash; + hash.Initialize( crypt ); + hash.AddString( DECAL_KEY ); + + CCryptDerivedKey key; + key.Initialize( crypt, hash ); + + DWORD dwDecLen = 0; + + while( ! feof(f) ) + { + memset( szBuffer, 0, sizeof( szBuffer ) ); + dwDecLen = fread( szBuffer, 1, 1024, f ); + key.Decrypt( feof(f), (BYTE *) szBuffer, &dwDecLen ); + szXML += (char *)szBuffer; + } + + key.Destroy(); + hash.Destroy(); + crypt.Release(); + } + + catch( ... ) + { + // crap... + szXML = ""; + } + + fclose( f ); } STDMETHODIMP cACHooks::SetDecal( IUnknown *pDecal ) Index: ACHooks.h =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.h,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- ACHooks.h 9 Sep 2003 03:08:32 -0000 1.47 +++ ACHooks.h 15 Oct 2003 19:45:48 -0000 1.48 @@ -9,6 +9,9 @@ #include "DecalManager.h" #include "DecalCP.h" +// the public key to unencrypt memlocs.xml +#include "..\include\DecalKey.h" + // .NET vs VC6.0 Compiler Config #if _MSC_VER > 1200 // .NET #import "..\Include\Inject.tlb" @@ -95,6 +98,7 @@ private: long* GetCs(long offs=0) ; + void DecryptXML( const char *szPath, std::string &szXML ); long m_Hooks ; typedef std::map< std::string, sMemoryLocation > LocMap; @@ -342,4 +346,4 @@ STDMETHOD(SendMessageByMask)(LONG lMask, BSTR szMessage); }; -#endif // __ACHOOKS_H_ \ No newline at end of file +#endif // __ACHOOKS_H_ Index: Decal.vcproj =================================================================== RCS file: /cvsroot/decaldev/source/Decal/Decal.vcproj,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Decal.vcproj 19 Jun 2003 22:04:03 -0000 1.3 +++ Decal.vcproj 15 Oct 2003 19:45:48 -0000 1.4 @@ -932,6 +932,9 @@ RelativePath="..\Include\DecalImpl.h"> </File> <File + RelativePath="..\Include\DecalKey.h"> + </File> + <File RelativePath="DecalManager.h"> </File> <File Index: StdAfx.h =================================================================== RCS file: /cvsroot/decaldev/source/Decal/StdAfx.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- StdAfx.h 29 May 2003 20:50:36 -0000 1.6 +++ StdAfx.h 15 Oct 2003 19:45:48 -0000 1.7 @@ -23,6 +23,8 @@ #include <atlcom.h> #include <comdef.h> +#include <atlcrypt.h> + #include <ddraw.h> #include <d3d.h> |
From: Jeffrey D. <ha...@us...> - 2003-10-15 20:10:56
|
Log Message: ----------- encrypted messages support Modified Files: -------------- /cvsroot/decaldev/source/Decal: ACHooks.h Revision Data ------------- Index: ACHooks.h =================================================================== RCS file: /cvsroot/decaldev/source/Decal/ACHooks.h,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- ACHooks.h 15 Oct 2003 19:45:48 -0000 1.48 +++ ACHooks.h 15 Oct 2003 20:10:26 -0000 1.49 @@ -9,7 +9,7 @@ #include "DecalManager.h" #include "DecalCP.h" -// the public key to unencrypt memlocs.xml +// the public key to unencrypt xmls #include "..\include\DecalKey.h" // .NET vs VC6.0 Compiler Config |
From: Jeffrey D. <ha...@us...> - 2003-10-15 20:10:46
|
Log Message: ----------- encrypted messages support Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.h Revision Data ------------- Index: DenAgent.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- DenAgent.h 15 Oct 2003 19:46:52 -0000 1.7 +++ DenAgent.h 15 Oct 2003 20:10:14 -0000 1.8 @@ -18,7 +18,7 @@ class CTrayWnd; -// the public key to unencrypt memlocs.xml +// the public key to unencrypt xmls #include "..\include\DecalKey.h" ///////////////////////////////////////////////////////////////////////////// |
From: Jeffrey D. <ha...@us...> - 2003-10-15 20:10:35
|
Log Message: ----------- encrypted messages support Modified Files: -------------- /cvsroot/decaldev/source/DecalNet: Message.cpp Message.h StdAfx.h Revision Data ------------- Index: Message.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/Message.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Message.cpp 19 Nov 2002 02:25:02 -0000 1.5 +++ Message.cpp 15 Oct 2003 20:10:03 -0000 1.6 @@ -44,11 +44,76 @@ m_pService->m_pDecal->MapPath( strTemplate, &strPath ); g_pXML.CreateInstance( __uuidof( MSXML::DOMDocument ) ); - g_pXML->load( strPath.m_str ); + BOOL bSuccess = g_pXML->load( strPath.m_str ); + + if( ! bSuccess ) + { + USES_CONVERSION; + std::string szXML; + DecryptXML( OLE2A( strPath.m_str ), szXML ); + + if( szXML != "" ) + bSuccess = g_pXML->loadXML( _bstr_t( szXML.c_str() ) ); + } // Initialize our schema helper objects cFieldLoader::init(); cElementParser::init(); +} + +void cMessage::DecryptXML( const char *szPath, std::string &szXML ) +{ + if( szPath == NULL ) + { + szXML = ""; + return; + } + + FILE *f = fopen( szPath, "rb" ); + if( f == NULL ) + { + szXML = ""; + return; + } + + szXML.clear(); + unsigned char szBuffer[1025]; + + try + { + CCryptProv crypt; + if( crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV ) == NTE_BAD_KEYSET ) + crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV, CRYPT_NEWKEYSET ); + + CCryptMD5Hash hash; + hash.Initialize( crypt ); + hash.AddString( DECAL_KEY ); + + CCryptDerivedKey key; + key.Initialize( crypt, hash ); + + DWORD dwDecLen = 0; + + while( ! feof(f) ) + { + memset( szBuffer, 0, sizeof( szBuffer ) ); + dwDecLen = fread( szBuffer, 1, 1024, f ); + key.Decrypt( feof(f), (BYTE *) szBuffer, &dwDecLen ); + szXML += (char *)szBuffer; + } + + key.Destroy(); + hash.Destroy(); + crypt.Release(); + } + + catch( ... ) + { + // crap... + szXML = ""; + } + + fclose( f ); } void cMessage::term() Index: Message.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/Message.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Message.h 12 Apr 2002 01:07:34 -0000 1.3 +++ Message.h 15 Oct 2003 20:10:03 -0000 1.4 @@ -8,6 +8,9 @@ class cNetService; class cMessageRoot; +// the public key to unencrypt xmls +#include "..\include\DecalKey.h" + ///////////////////////////////////////////////////////////////////////////// // cMessage class ATL_NO_VTABLE cMessage : @@ -15,7 +18,9 @@ public IDispatchImpl< IMessage2, &IID_IMessage2, &LIBID_DecalNet > { public: - class cMessageElement; + void DecryptXML( const char *szFilename, std::string &szXML ); + + class cMessageElement; class cField { Index: StdAfx.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/StdAfx.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- StdAfx.h 11 Oct 2003 01:45:21 -0000 1.6 +++ StdAfx.h 15 Oct 2003 20:10:03 -0000 1.7 @@ -20,6 +20,8 @@ #include <stdlib.h> #include <atlbase.h> +#include <atlcrypt.h> + //You may derive a class from CComModule and use it if you want to override //something, but do not change the name of _Module extern CComModule _Module; @@ -29,6 +31,7 @@ #include <time.h> #include <list> +#include <string> #include <map> #include <deque> #include <vector> |
From: Jeffrey D. <ha...@us...> - 2003-10-15 19:49:58
|
Log Message: ----------- Encrypted memloc support Modified Files: -------------- /cvsroot/decaldev/source/DenAgent: DenAgent.cpp DenAgent.h DenAgentDlg.cpp StdAfx.h Revision Data ------------- Index: DenAgent.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- DenAgent.cpp 29 May 2003 21:30:16 -0000 1.18 +++ DenAgent.cpp 15 Oct 2003 19:46:52 -0000 1.19 @@ -245,8 +245,19 @@ { pDoc.CreateInstance ( __uuidof ( MSXML::DOMDocument ), NULL, CLSCTX_INPROC_SERVER ); pDoc->async = false; - if ( !pDoc->load ( static_cast< LPCTSTR > ( strXMLFile ) ) ) - { + BOOL bSuccess = pDoc->load( static_cast< LPCTSTR > ( strXMLFile ) ); + + if( !bSuccess ) + { + std::string szXIML; + DecryptXML( static_cast< LPCSTR >( strXMLFile ), szXML ); + + if( szXML != "" ) + bSuccess = pDoc->loadXML( _bstr_t( szXML.c_str() ) ); + } + + if( ! bSuccess ) + { CString strMessage; strMessage.FormatMessage ( IDE_NOXMLDOC, static_cast< LPCTSTR > ( strXMLFile ) ); @@ -312,6 +323,61 @@ return true; } +void CDenAgentApp::DecryptXML( const char *szPath, std::string &szXML ) +{ + if( szPath == NULL ) + { + szXML = ""; + return; + } + + FILE *f = fopen( szPath, "rb" ); + if( f == NULL ) + { + szXML = ""; + return; + } + + szXML.clear(); + unsigned char szBuffer[1025]; + + try + { + CCryptProv crypt; + if( crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV ) == NTE_BAD_KEYSET ) + crypt.Initialize( PROV_RSA_FULL, "Decal_Memlocs", MS_DEF_PROV, CRYPT_NEWKEYSET ); + + CCryptMD5Hash hash; + hash.Initialize( crypt ); + hash.AddString( DECAL_KEY ); + + CCryptDerivedKey key; + key.Initialize( crypt, hash ); + + DWORD dwDecLen = 0; + + while( ! feof(f) ) + { + memset( szBuffer, 0, sizeof( szBuffer ) ); + dwDecLen = fread( szBuffer, 1, 1024, f ); + key.Decrypt( feof(f), (BYTE *) szBuffer, &dwDecLen ); + szXML += (char *)szBuffer; + } + + key.Destroy(); + hash.Destroy(); + crypt.Release(); + } + + catch( ... ) + { + // crap... + szXML = ""; + } + + fclose( f ); +} + bool CDenAgentApp::checkXMLVersions ( CTrayWnd* pTrayWnd ) { bool bOK = true; @@ -342,10 +408,21 @@ try { - if ( !pDoc->load ( static_cast< LPCTSTR > ( pFirst->XMLFile ) ) ) - { + BOOL bSuccess = pDoc->load( static_cast< LPCTSTR > ( pFirst->XMLFile ) ); + + if( ! bSuccess ) + { + std::string szXML; + DecryptXML( static_cast< LPCSTR >( pFirst->XMLFile ), szXML ); + + if( szXML != "" ) + bSuccess = pDoc->loadXML( _bstr_t( szXML.c_str() ) ); + } + + if( ! bSuccess ) + { CString strMessage; - strMessage.FormatMessage ( IDE_NOXMLDOC, pFirst->XMLFile ); + strMessage.FormatMessage( IDE_NOXMLDOC, pFirst->XMLFile ); ::AfxMessageBox ( strMessage, MB_ICONERROR ); pFirst->build = 0; Index: DenAgent.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgent.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- DenAgent.h 20 Apr 2002 20:29:52 -0000 1.6 +++ DenAgent.h 15 Oct 2003 19:46:52 -0000 1.7 @@ -17,6 +17,10 @@ class CTrayWnd; + +// the public key to unencrypt memlocs.xml +#include "..\include\DecalKey.h" + ///////////////////////////////////////////////////////////////////////////// // CDenAgentApp: // See DenAgent.cpp for the implementation of this class @@ -32,6 +36,9 @@ static bool getVersionInfo ( LPCTSTR szFilename, int &iReleaseMajor, int &iReleaseMinor, int &iBuildMajor, int &iBuildMinor ); static bool getACVersionString ( CString &strVersion ); static bool getCOMObjectDLL ( REFCLSID rclsid, CString &strFilename ); + + // decrypts xml file + static void DecryptXML( const char *szPath, std::string &szXML ); // Prepends the agent path to a filename static bool getAgentPath ( LPCTSTR szFilename, CString &strPath ); Index: DenAgentDlg.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/DenAgentDlg.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- DenAgentDlg.cpp 23 Jun 2003 04:58:21 -0000 1.36 +++ DenAgentDlg.cpp 15 Oct 2003 19:46:52 -0000 1.37 @@ -581,7 +581,17 @@ m_pDoc.CreateInstance( __uuidof( MSXML::DOMDocument ) ); m_pDoc->async = false; - if (m_pDoc->load(_bstr_t(szFilename)) == VARIANT_FALSE) + BOOL bSuccess = m_pDoc->load( _bstr_t(szFilename) ); + if( !bSuccess ) + { + std::string szXML; + CDenAgentApp::DecryptXML( static_cast< LPCSTR >( szFilename ), szXML ); + + if( szXML != "" ) + bSuccess = m_pDoc->loadXML( _bstr_t( szXML.c_str() ) ); + } + + if( !bSuccess ) return; if (strlen(pszRootElement)) { Index: StdAfx.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/StdAfx.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- StdAfx.h 29 May 2003 21:30:15 -0000 1.10 +++ StdAfx.h 15 Oct 2003 19:46:52 -0000 1.11 @@ -28,8 +28,9 @@ #include <atlbase.h> #include <comdef.h> +#include <atlcrypt.h> - #define _ATL_APARTMENT_THREADED +#define _ATL_APARTMENT_THREADED #include <atlbase.h> //You may derive a class from CComModule and use it if you want to override //something, but do not change the name of _Module |
From: Jeffrey D. <ha...@us...> - 2003-10-15 19:48:53
|
Log Message: ----------- Encrypted memloc support Added Files: ----------- /cvsroot/decaldev/source/Include: DecalKey.h Revision Data ------------- --- NEW FILE: DecalKey.h --- // DecalVersion.h // Declaration of the Decal version resource #ifndef __DECALKEY_H__ #define __DECALKEY_H__ #define DECAL_KEY "DECAL" #endif |
From: Jeffrey D. <ha...@us...> - 2003-10-11 01:45:49
|
Log Message: ----------- slider default value Modified Files: -------------- /cvsroot/decaldev/source/DecalControls: Slider.cpp Revision Data ------------- Index: Slider.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalControls/Slider.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Slider.cpp 23 Sep 2003 05:23:58 -0000 1.7 +++ Slider.cpp 11 Oct 2003 01:45:33 -0000 1.8 @@ -146,6 +146,7 @@ vMinSliderColor = pElement->getAttribute(_T("mincolor")), vMaxSliderColor = pElement->getAttribute(_T("maxcolor")), vVertical = pElement->getAttribute(_T("vertical")), + vDefault = pElement->getAttribute(_T("default")), vMaximum = pElement->getAttribute(_T("maximum")), vMinimum = pElement->getAttribute(_T("minimum")), vName = pElement->getAttribute(_T("name")); @@ -206,6 +207,14 @@ } catch( ... ) { // Type conversion error _ASSERTE(FALSE); + } + } + + if (vDefault.vt != VT_NULL) { + try { + m_nSliderPos = static_cast<long>(vDefault); + } catch( ... ) { + m_nSliderPos = m_nMinimum; } } |
From: Jeffrey D. <ha...@us...> - 2003-10-11 01:45:24
|
Log Message: ----------- slider default value Modified Files: -------------- /cvsroot/decaldev/source/DecalNet: StdAfx.h Revision Data ------------- Index: StdAfx.h =================================================================== RCS file: /cvsroot/decaldev/source/DecalNet/StdAfx.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- StdAfx.h 23 May 2003 02:20:47 -0000 1.5 +++ StdAfx.h 11 Oct 2003 01:45:21 -0000 1.6 @@ -26,6 +26,7 @@ #include <atlcom.h> #include <Decal.h> +#include <time.h> #include <list> #include <map> |
From: Jeffrey D. <ha...@us...> - 2003-10-08 23:06:04
|
Log Message: ----------- Rc5 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.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- Install.vbs 1 Oct 2003 02:55:15 -0000 1.42 +++ Install.vbs 8 Oct 2003 23:06:03 -0000 1.43 @@ -106,6 +106,7 @@ AllProducts.Add "2.6.0.0 RC2", "{4C22590F-22B8-4413-B91D-0403B2F84979}" AllProducts.Add "2.6.0.0 RC3", "{E86FBB39-9061-475A-B575-F8F9AC12DB74}" AllProducts.Add "2.6.0.0 RC4", "{16673809-CA94-4E31-9E0B-B2FCA0CBDFAB}" +AllProducts.Add "2.6.0.0 RC5", "{67E0D07C-8A6A-4357-B44F-CCA1A513DFE7}" ' These are optional ' The features they provide will be ignored if they are left as empty strings |
From: Jeffrey D. <ha...@us...> - 2003-10-08 23:05:13
|
Log Message: ----------- Rc5 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.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- DecalInstaller.vdproj 1 Oct 2003 02:55:01 -0000 1.17 +++ DecalInstaller.vdproj 8 Oct 2003 23:04:40 -0000 1.18 @@ -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,30 +51,6 @@ } "Entry" { - "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_41F2E99B0C1B72CFD51382D5E140A7E8" - "OwnerKey" = "8:_BD4EC7DFE26A40BA84001249533EC862" - "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" @@ -171,84 +93,24 @@ } "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:_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" } "Entry" { - "MsmKey" = "8:_B25FABFF31AE4053872A4440D7116DD1" - "OwnerKey" = "8:_10B736524B444A95B8CC8D36B521F980" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B25FABFF31AE4053872A4440D7116DD1" - "OwnerKey" = "8:_A03B9AE58553491581FA0975DF6E6E88" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B25FABFF31AE4053872A4440D7116DD1" - "OwnerKey" = "8:_11AE7CD5CB2A43E395B33FDD50522940" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_B65B1E8E7A2B4AB4B7D61E7F4FB061D0" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "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" @@ -277,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" { @@ -347,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" @@ -407,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" @@ -527,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" @@ -607,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" @@ -667,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" { @@ -764,13 +474,13 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Decal" - "ProductCode" = "8:{16673809-CA94-4E31-9E0B-B2FCA0CBDFAB}" - "PackageCode" = "8:{0D516630-0D19-46E8-B0EC-42CE2D969F2A}" + "ProductCode" = "8:{67E0D07C-8A6A-4357-B44F-CCA1A513DFE7}" + "PackageCode" = "8:{793F1D6E-5FFE-431A-8402-87A60FE5F388}" "UpgradeCode" = "8:{3025AB1B-80B9-46B7-9CE9-9887ADA2914F}" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" - "ProductVersion" = "8:2.6.03" + "ProductVersion" = "8:2.6.04" "Manufacturer" = "8:Decal Developers" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:http://forums.acdev.org/" @@ -1288,20 +998,6 @@ } "MergeModule" { - "{35A69C6E-5BA4-440D-803D-762B59A45393}:_B25FABFF31AE4053872A4440D7116DD1" - { - "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:" - } } "ProjectOutput" { |
From: Jeffrey D. <ha...@us...> - 2003-10-08 20:57:28
|
Log Message: ----------- Crash fix -GetPrimarySurface Modified Files: -------------- /cvsroot/decaldev/source/Inject: Manager.cpp Revision Data ------------- Index: Manager.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Manager.cpp,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- Manager.cpp 24 Sep 2003 16:27:43 -0000 1.76 +++ Manager.cpp 8 Oct 2003 20:57:26 -0000 1.77 @@ -787,7 +787,8 @@ CComPtr< IDirectDrawSurface4 > pPrimary; HRESULT hRes = m_p3DDevice->GetRenderTarget( &pPrimary ); - _ASSERTE( SUCCEEDED( hRes ) ); + if( FAILED( hRes ) ) + return E_FAIL; // Create a canvas object CComObject< cCanvas > *pPrimCanvas; |
From: Jeffrey D. <ha...@us...> - 2003-10-08 20:57:15
|
Log Message: ----------- Crash fix -GetPrimarySurface Modified Files: -------------- /cvsroot/decaldev/source/Inject: FontCache.cpp Revision Data ------------- Index: FontCache.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/FontCache.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- FontCache.cpp 26 Sep 2003 08:25:25 -0000 1.3 +++ FontCache.cpp 8 Oct 2003 20:56:44 -0000 1.4 @@ -33,7 +33,9 @@ // Get a dummy DC from the primary surface CComPtr< ICanvas > pSurf; - cManager::_p->GetPrimarySurface( &pSurf ); + + if( FAILED(cManager::_p->GetPrimarySurface( &pSurf )) ) + return false; // Madar: This can happen if you set an edit-text during plugin initialization. if (!pSurf) |
From: Jeffrey D. <ha...@us...> - 2003-10-08 20:56:13
|
Log Message: ----------- Fix for sending NULLs to ChatOut 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.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- ACHooks.cpp 13 Sep 2003 02:33:02 -0000 1.66 +++ ACHooks.cpp 8 Oct 2003 20:56:10 -0000 1.67 @@ -948,6 +948,9 @@ // Will implement IKitchenSink later void InternalRawWriteToChat( char* pText, long lColor, int chatMessageArg1, int chatMessageArg2 ) { + if( pText == NULL ) + return; + if( g_bTimestamp ) { bool bDoTimeStamp = (g_charBufferPreviousCall == '\n') ? true : false; @@ -1027,7 +1030,6 @@ return; } -/* Heyus - 23 Mar 2003 - Fixed to point to the new universal function */ STDMETHODIMP cACHooks::ChatOut(BSTR szText, long lColor) { if( pfnOldChatMessage == NULL ) @@ -1040,6 +1042,10 @@ USES_CONVERSION; char *strText = OLE2A( szText ); + + if( strText == NULL ) + return S_FALSE; + int iStrLen = strlen( strText ); int iOffset = 0; |