|
From: <gn...@us...> - 2003-10-31 03:40:53
|
Update of /cvsroot/clicksaver/ClickSaverSrc
In directory sc8-pr-cvs1:/tmp/cvs-serv25328
Modified Files:
ClickSaver.dsp clicksaver.c clicksaver.h guidef.c
Log Message:
Saving/Loading Configurations
Index: ClickSaver.dsp
===================================================================
RCS file: /cvsroot/clicksaver/ClickSaverSrc/ClickSaver.dsp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ClickSaver.dsp 9 May 2003 16:29:27 -0000 1.6
--- ClickSaver.dsp 31 Oct 2003 03:40:50 -0000 1.7
***************
*** 55,59 ****
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
! # ADD LINK32 PUL.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Winmm.lib /nologo /subsystem:windows /machine:I386 /libpath:"PUL\lib"
!ELSEIF "$(CFG)" == "ClickSaver - Win32 Debug"
--- 55,59 ----
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
! # ADD LINK32 PUL.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Winmm.lib /nologo /subsystem:windows /machine:I386 /libpath:"PUL\lib"
!ELSEIF "$(CFG)" == "ClickSaver - Win32 Debug"
***************
*** 81,85 ****
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
! # ADD LINK32 PULd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"PUL\lib"
!ENDIF
--- 81,85 ----
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
! # ADD LINK32 PULd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Winmm.lib comdlg32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"PUL\lib"
!ENDIF
Index: clicksaver.c
===================================================================
RCS file: /cvsroot/clicksaver/ClickSaverSrc/clicksaver.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** clicksaver.c 25 Oct 2003 21:33:32 -0000 1.9
--- clicksaver.c 31 Oct 2003 03:40:50 -0000 1.10
***************
*** 1,4 ****
--- 1,7 ----
/*
* $Log$
+ * Revision 1.10 2003/10/31 03:40:50 gnarf37
+ * Saving/Loading Configurations
+ *
* Revision 1.9 2003/10/25 21:33:32 gnarf37
* Fixed date/time checking... Should get rid of the major problem everyone is havving
***************
*** 38,48 ****
void CleanUp();
! void LoadWatchList( PUU8* _pFileName, PULID _List );
! void SaveWatchList( PUU8* _pFileName, PULID _List );
! void LoadConfig();
! void SaveConfig();
void DisplayErrorMessage( PUU8* _pMessage, PUU32 _bAsynchronous );
void GetFolder(HWND hWndOwner, char *strTitle, char *strPath);
int BuyingAgent();
--- 41,51 ----
void CleanUp();
! void ImportSettings(char*filename);
! void ExportSettings(char*filename);
!
void DisplayErrorMessage( PUU8* _pMessage, PUU32 _bAsynchronous );
void GetFolder(HWND hWndOwner, char *strTitle, char *strPath);
+ BOOL GetFile(HWND hWndOwner, BOOL saving, char *buffer, int buffersize);
int BuyingAgent();
***************
*** 110,121 ****
GetCurrentDirectory( 256, g_CSDir );
! // Load config
! LoadConfig();
!
! // Load item watch list
! LoadWatchList( "CS_ItemWatch.txt", g_ItemWatchList );
!
! // Load location watch list
! LoadWatchList( "CS_LocWatch.txt", g_LocWatchList );
if( puGetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED ) )
--- 113,117 ----
GetCurrentDirectory( 256, g_CSDir );
! ImportSettings("LastSettings.cs");
if( puGetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED ) )
***************
*** 235,239 ****
// Create mutex
! if( ( g_Mutex = CreateMutex( NULL, FALSE, NULL ) ) == INVALID_HANDLE_VALUE )
{
DisplayErrorMessage( "Couldn't create mutex.", FALSE );
--- 231,235 ----
// Create mutex
! if( ( g_Mutex = CreateMutex( NULL, FALSE, "ClickSaver")) == INVALID_HANDLE_VALUE )
{
DisplayErrorMessage( "Couldn't create mutex.", FALSE );
***************
*** 242,246 ****
return -1;
}
!
// Starts dll hook management thread
if( ( g_Thread = CreateThread( NULL, 0, &HookManagerThread, NULL, 0, &dwThreadID ) ) == INVALID_HANDLE_VALUE )
--- 238,249 ----
return -1;
}
! if ( GetLastError() == ERROR_ALREADY_EXISTS ) {
! HWND hWnd;
! if (hWnd = FindWindow ( "ClickSaverHookWindowClass", "ClickSaverHookWindow" ))
! {
! // send some message
! return -1;
! }
! }
// Starts dll hook management thread
if( ( g_Thread = CreateThread( NULL, 0, &HookManagerThread, NULL, 0, &dwThreadID ) ) == INVALID_HANDLE_VALUE )
***************
*** 392,395 ****
--- 395,417 ----
break;
+ case CSAM_EXPORTSETTINGS:
+ {
+ char buffer[2000];
+ if (GetFile(( HWND )puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MAIN_WINDOW ), PUA_WINDOW_HANDLE )
+ , TRUE, buffer,2000))
+ ExportSettings(buffer);
+
+ }
+ break;
+
+ case CSAM_IMPORTSETTINGS:
+ {
+ char buffer[2000];
+ if (GetFile(( HWND )puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MAIN_WINDOW ), PUA_WINDOW_HANDLE )
+ , FALSE, buffer,2000))
+ ImportSettings(buffer);
+ }
+ break;
+
case CSAM_STOPFULLSCREEN:
g_bFullscreen = 0;
***************
*** 445,456 ****
} while( pAppMsg->Message != CSAM_QUIT );
! // Save config
! SaveConfig();
! // Save item watch list
! SaveWatchList( "CS_ItemWatch.txt", g_ItemWatchList );
- // Save location watch list
- SaveWatchList( "CS_LocWatch.txt", g_LocWatchList );
// ReleaseAODatabase();
--- 467,474 ----
} while( pAppMsg->Message != CSAM_QUIT );
! SetCurrentDirectory( g_CSDir );
! ExportSettings("LastSettings.cs");
// ReleaseAODatabase();
***************
*** 474,544 ****
}
- void LoadWatchList( PUU8* _pFileName, PULID _List )
- {
- FILE* fp;
- PUU8 String[256];
- PUU8* pString;
- PUU8 c;
-
- if( !( fp = fopen( _pFileName, "r" ) ) )
- return;
-
- while( fscanf( fp, "%[^\n]\n", String ) != EOF )
- {
- // Strip trailing spaces/tab
- pString = String + strlen( String );
-
- while( pString > String )
- {
- c = *--pString;
- if( c != ' ' && c != '\t' )
- break;
- }
-
- *( pString + 1 ) = 0;
-
- // Strip leading spaces/tab
- pString = String;
-
- while( c = *pString++ )
- {
- if( c != ' ' && c != '\t' )
- break;
- }
-
- pString--;
-
- // If the resulting string isn't empty, add it to the list
- if( *pString )
- {
- puDoMethod( _List, PUM_TABLE_ADDRECORD, 0, 0 );
- puDoMethod( _List, PUM_TABLE_SETFIELDVAL, ( PUU32 )pString, 0 );
- }
- }
-
- fclose( fp );
- }
-
- void SaveWatchList( PUU8* _pFileName, PULID _List )
- {
- FILE* fp;
- PUU32 Record;
- PUU8* pString;
-
- if( !( fp = fopen( _pFileName, "w" ) ) )
- return;
-
- Record = puDoMethod( _List, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
- while( Record )
- {
- if( pString = ( PUU8* )puDoMethod( _List, PUM_TABLE_GETFIELDVAL, Record, 0 ) )
- fprintf( fp, "%s\n", pString );
-
- Record = puDoMethod( _List, PUM_TABLE_GETNEXTRECORD, Record, 0 );
- }
-
- fclose( fp );
- }
-
enum
{
--- 492,495 ----
***************
*** 588,769 ****
};
! void LoadConfig()
{
FILE* fp;
! int i;
PUU8 Keyword[256], Value[256];
! int Id;
PUU32 Val;
! if( !( fp = fopen( "CS_Config.txt", "r" ) ) )
! return;
! while( fscanf( fp, "%[^\n]\n%[^\n]\n", Keyword, Value ) != EOF )
{
! i = 0, Id = -1;
! while( CfgKeywords[i].keyword )
{
! if( !strcmp( Keyword, CfgKeywords[i].keyword ) )
! {
! Id = CfgKeywords[i].id;
! break;
! }
!
! i++;
}
!
! switch( Id )
{
! case CFG_AODIR:
! strcpy( g_AODir, Value );
break;
! case CFG_WINDOWX:
! sscanf( Value, "%d", &Val );
! if( Val < 16384 )
! puSetAttribute( g_MainWin, PUA_WINDOW_XPOS, Val );
! break;
! case CFG_WINDOWY:
! sscanf( Value, "%d", &Val );
! if( Val < 16384 )
! puSetAttribute( g_MainWin, PUA_WINDOW_YPOS, Val );
! break;
! case CFG_WINDOWWIDTH:
! sscanf( Value, "%d", &Val );
! puSetAttribute( g_MainWin, PUA_WINDOW_WIDTH, Val );
! break;
! case CFG_STARTMINIMIZED:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_WATCHMSGBOX:
! sscanf( Value, "%d", &Val );
! if( !Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_MSGBOX_CB ), PUA_CHECKBOX_CHECKED, FALSE );
! break;
! case CFG_BUYINGAGENTSHOWHELP:
! sscanf( Value, "%d", &Val );
! if( !Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BAINFO_CB ), PUA_CHECKBOX_CHECKED, FALSE );
! break;
! case CFG_SOUNDS:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_SOUNDS_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_MOUSEMOVE:
! sscanf( Value, "%d", &Val );
! if( !Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_MOUSEMOVE_CB ), PUA_CHECKBOX_CHECKED, FALSE );
! break;
! case CFG_LOG:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_LOG_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_ALERTITEM:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTITEM_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_ALERTLOC:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTLOC_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_ALERTTYPE:
! sscanf( Value, "%d", &Val );
! if( Val )
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTTYPE_CB ), PUA_CHECKBOX_CHECKED, TRUE );
! break;
! case CFG_BUYINGAGENTMAXTRIES:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTTRIES ), PUA_TEXTENTRY_VALUE, Val );
! break;
! case CFG_BUYINGAGENTHIDE:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTFOLD ), PUA_FOLD_FOLDED, Val );
! break;
! case CFG_MISSIONTYPES:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEREPAIR_CB), PUA_CHECKBOX_CHECKED, (Val & 0x01 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPERETURN_CB), PUA_CHECKBOX_CHECKED, (Val & 0x02 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEFINDP_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x04 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEFINDI_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x08 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEASS_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x10 ? TRUE : FALSE));
! break;
! case CFG_HIGHLIGHTOPTS:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTITEM_CB), PUA_CHECKBOX_CHECKED, (Val & 0x01 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTLOC_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x02 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTTYPE_CB), PUA_CHECKBOX_CHECKED, (Val & 0x04 ? TRUE : FALSE));
break;
}
}
- fclose( fp );
}
! void SaveConfig()
{
FILE* fp;
pusRect Rect;
unsigned int Val = 0;
! if( !( fp = fopen( "CS_Config.txt", "w" ) ) )
! return;
! fprintf( fp, "AODIR\n%s\n", g_AODir );
puDoMethod( g_MainWin, PUM_WINDOW_GETRECT, ( PUU32 )&Rect, 0 );
! fprintf( fp, "WINDOWX\n%d\nWINDOWY\n%d\nWINDOWWIDTH\n%d\n", Rect.X, Rect.Y, Rect.Width );
! fprintf( fp, "STARTMINIMIZED\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "WATCHMSGBOX\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MSGBOX_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "BUYINGAGENTSHOWHELP\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BAINFO_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "SOUNDS\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_SOUNDS_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "MOUSEMOVE\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MOUSEMOVE_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "LOG\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_LOG_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTITEM\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTITEM_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTLOC\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTLOC_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTTYPE\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTTYPE_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "BUYINGAGENTMAXTRIES\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTTRIES ), PUA_TEXTENTRY_VALUE ) );
! fprintf( fp, "BUYINGAGENTHIDE\n%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTFOLD ), PUA_FOLD_FOLDED ) );
--- 539,794 ----
};
!
! void ImportSettings(char *filename)
{
FILE* fp;
! PUU32 Record;
! PUU8* pString;
! char buffer[1000];
PUU8 Keyword[256], Value[256];
! int Id, i;
PUU32 Val;
+ int mode = 0;
+ char c;
! Record = puDoMethod( g_LocWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! while( Record )
! {
! puDoMethod( g_LocWatchList, PUM_TABLE_REMRECORD, Record, 0 );
! Record = puDoMethod( g_LocWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! }
! Record = puDoMethod( g_ItemWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! while( Record )
! {
! puDoMethod( g_ItemWatchList, PUM_TABLE_REMRECORD, Record, 0 );
! Record = puDoMethod( g_ItemWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! }
!
! if( !( fp = fopen( filename, "r" ) ) )
! return;
!
! while (fgets(buffer, 1000, fp))
{
! if (sscanf(buffer,"::%s", &buffer) == 1)
{
! strtok(buffer,":");
! if (!stricmp(buffer, "Config")) mode=1;
! if (!stricmp(buffer, "LocWatch")) mode=3;
! if (!stricmp(buffer, "ItemWatch")) mode=2;
! if (!stricmp(buffer, "Done")) mode=0;
! continue;
}
! switch(mode)
{
! case 0:
break;
+ case 1:
+ if (sscanf( buffer, "%[^:]::%[^\n]\n", Keyword, Value ) != EOF )
+ {
+ i = 0, Id = -1;
+ while( CfgKeywords[i].keyword )
+ {
+ if( !strcmp( Keyword, CfgKeywords[i].keyword ) )
+ {
+ Id = CfgKeywords[i].id;
+ break;
+ }
! i++;
! }
! switch( Id )
! {
! case CFG_AODIR:
! strcpy( g_AODir, Value );
! break;
! case CFG_WINDOWX:
! sscanf( Value, "%d", &Val );
! if( Val < 16384 )
! puSetAttribute( g_MainWin, PUA_WINDOW_XPOS, Val );
! break;
! case CFG_WINDOWY:
! sscanf( Value, "%d", &Val );
! if( Val < 16384 )
! puSetAttribute( g_MainWin, PUA_WINDOW_YPOS, Val );
! break;
! case CFG_WINDOWWIDTH:
! sscanf( Value, "%d", &Val );
! puSetAttribute( g_MainWin, PUA_WINDOW_WIDTH, Val );
! break;
! case CFG_STARTMINIMIZED:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_WATCHMSGBOX:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_MSGBOX_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_BUYINGAGENTSHOWHELP:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BAINFO_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_SOUNDS:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_SOUNDS_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_MOUSEMOVE:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_MOUSEMOVE_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_LOG:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_LOG_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_ALERTITEM:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTITEM_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_ALERTLOC:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTLOC_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_ALERTTYPE:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTTYPE_CB ), PUA_CHECKBOX_CHECKED, (Val ? TRUE : FALSE) );
! break;
! case CFG_BUYINGAGENTMAXTRIES:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTTRIES ), PUA_TEXTENTRY_VALUE, Val );
! break;
! case CFG_BUYINGAGENTHIDE:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTFOLD ), PUA_FOLD_FOLDED, Val );
! break;
!
! case CFG_MISSIONTYPES:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEREPAIR_CB), PUA_CHECKBOX_CHECKED, (Val & 0x01 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPERETURN_CB), PUA_CHECKBOX_CHECKED, (Val & 0x02 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEFINDP_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x04 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEFINDI_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x08 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEASS_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x10 ? TRUE : FALSE));
! break;
!
! case CFG_HIGHLIGHTOPTS:
! sscanf( Value, "%d", &Val );
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTITEM_CB), PUA_CHECKBOX_CHECKED, (Val & 0x01 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTLOC_CB ), PUA_CHECKBOX_CHECKED, (Val & 0x02 ? TRUE : FALSE));
! puSetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTTYPE_CB), PUA_CHECKBOX_CHECKED, (Val & 0x04 ? TRUE : FALSE));
! break;
! }
! }
break;
+ case 2:
+ case 3:
+
+ pString = buffer + strlen( buffer );
+
+ while( pString > buffer )
+ {
+ c = *--pString;
+ if( c != ' ' && c != '\t' && c != '\n' )
+ break;
+ }
+
+ *( pString + 1 ) = 0;
+
+ // Strip leading spaces/tab
+ pString = buffer;
+
+ while( c = *pString++ )
+ {
+ if( c != ' ' && c != '\t' )
+ break;
+ }
+
+ pString--;
+
+ // If the resulting string isn't empty, add it to the list
+ if( *pString )
+ {
+ puDoMethod( (mode==2 ? g_ItemWatchList : g_LocWatchList), PUM_TABLE_ADDRECORD, 0, 0 );
+ puDoMethod( (mode==2 ? g_ItemWatchList : g_LocWatchList), PUM_TABLE_SETFIELDVAL, ( PUU32 )pString, 0 );
+ }
+ break;
}
+
+
}
}
! void ExportSettings(char *filename)
{
FILE* fp;
pusRect Rect;
+ PUU32 Record;
+ PUU8* pString;
unsigned int Val = 0;
+ char* myfilename;
! myfilename=malloc(strlen(filename)+5);
! strcpy(myfilename, filename);
! if (!strstr(myfilename, ".cs")) strcat(myfilename, ".cs");
!
! if( !( fp = fopen( myfilename, "w" ) ) )
! {
! free(myfilename);
! return;
! }
! free(myfilename);
! fprintf(fp, "::Config::\n");
! fprintf( fp, "AODIR::%s\n", g_AODir );
puDoMethod( g_MainWin, PUM_WINDOW_GETRECT, ( PUU32 )&Rect, 0 );
! fprintf( fp, "WINDOWX::%d\nWINDOWY::%d\nWINDOWWIDTH::%d\n", Rect.X, Rect.Y, Rect.Width );
! fprintf( fp, "STARTMINIMIZED::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_STARTMIN_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "WATCHMSGBOX::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MSGBOX_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "BUYINGAGENTSHOWHELP::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BAINFO_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "SOUNDS::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_SOUNDS_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "MOUSEMOVE::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_MOUSEMOVE_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "LOG::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_LOG_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTITEM::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTITEM_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTLOC::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTLOC_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "ALERTTYPE::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_ALERTTYPE_CB ), PUA_CHECKBOX_CHECKED ) ? 1 : 0 );
! fprintf( fp, "BUYINGAGENTMAXTRIES::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTTRIES ), PUA_TEXTENTRY_VALUE ) );
! fprintf( fp, "BUYINGAGENTHIDE::%d\n",
puGetAttribute( puGetObjectFromCollection( g_pCol, CS_BUYINGAGENTFOLD ), PUA_FOLD_FOLDED ) );
***************
*** 774,778 ****
if (puGetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEASS_CB ), PUA_CHECKBOX_CHECKED)) Val |= 0x10;
! fprintf( fp, "MISHTYPES\n%d\n", Val);
Val = 0;
--- 799,803 ----
if (puGetAttribute( puGetObjectFromCollection( g_pCol, CS_TYPEASS_CB ), PUA_CHECKBOX_CHECKED)) Val |= 0x10;
! fprintf( fp, "MISHTYPES::%d\n", Val);
Val = 0;
***************
*** 781,789 ****
if (puGetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTTYPE_CB), PUA_CHECKBOX_CHECKED)) Val |= 0x04;
! fprintf( fp, "HIGHLIGHTOPTS\n%d\n", Val);
fclose( fp );
}
void DisplayErrorMessage( PUU8* _pMessage, PUU32 _bAsynchronous )
{
--- 806,837 ----
if (puGetAttribute( puGetObjectFromCollection( g_pCol, CS_HIGHLIGHTTYPE_CB), PUA_CHECKBOX_CHECKED)) Val |= 0x04;
! fprintf( fp, "HIGHLIGHTOPTS::%d\n", Val);
!
! fprintf(fp, "::ItemWatch::\n");
! Record = puDoMethod( g_ItemWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! while( Record )
! {
! if( pString = ( PUU8* )puDoMethod( g_ItemWatchList, PUM_TABLE_GETFIELDVAL, Record, 0 ) )
! fprintf( fp, "%s\n", pString );
!
! Record = puDoMethod( g_ItemWatchList, PUM_TABLE_GETNEXTRECORD, Record, 0 );
! }
! fprintf(fp, "::LocWatch::\n");
! Record = puDoMethod( g_LocWatchList, PUM_TABLE_GETFIRSTRECORD, 0, 0 );
! while( Record )
! {
! if( pString = ( PUU8* )puDoMethod( g_LocWatchList, PUM_TABLE_GETFIELDVAL, Record, 0 ) )
! fprintf( fp, "%s\n", pString );
!
! Record = puDoMethod( g_LocWatchList, PUM_TABLE_GETNEXTRECORD, Record, 0 );
! }
! fprintf(fp, "::END::\n");
!
fclose( fp );
+
}
+
void DisplayErrorMessage( PUU8* _pMessage, PUU32 _bAsynchronous )
{
***************
*** 820,823 ****
--- 868,905 ----
strPath[0] = 0; // Zero-length if failure
}
+
+ BOOL GetFile(HWND hWndOwner, BOOL saving, char *buffer, int buffersize)
+ {
+ OPENFILENAME ofn;
+
+ ZeroMemory(&ofn, sizeof(ofn));
+
+ /* Initialise */
+ ofn.hwndOwner = hWndOwner;
+ ofn.lStructSize = sizeof(OPENFILENAME);
+ if (saving)
+ ofn.Flags=OFN_HIDEREADONLY;
+ else
+ ofn.Flags=OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY;
+
+ ofn.lpstrFilter="Clicksaver Files\0*.CS\0";
+ ofn.lpstrFile=buffer;
+ ofn.lpstrFile[0]='\0';
+ ofn.nMaxFile=buffersize;
+ ofn.nFilterIndex = 0;
+ ofn.lpstrInitialDir=ofn.lpstrFileTitle=NULL;
+ ofn.nMaxFileTitle=0;
+
+
+ /* Prompt user for folder */
+ if (saving)
+ return GetSaveFileName(&ofn);
+ else
+ return GetOpenFileName(&ofn);
+
+
+ return FALSE;
+ }
+
// Generate a mouse movement and button click sequence
Index: clicksaver.h
===================================================================
RCS file: /cvsroot/clicksaver/ClickSaverSrc/clicksaver.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** clicksaver.h 27 May 2003 00:14:42 -0000 1.8
--- clicksaver.h 31 Oct 2003 03:40:50 -0000 1.9
***************
*** 1,4 ****
--- 1,7 ----
/*
* $Log$
+ * Revision 1.9 2003/10/31 03:40:50 gnarf37
+ * Saving/Loading Configurations
+ *
* Revision 1.8 2003/05/27 00:14:42 gnarf37
* Added Checkbox to stop mouse movement, and cleaned up mission info parsing so it doesnt match stale missions
***************
*** 12,16 ****
#define __CLICKSAVER_H__
! #define CS_VERSION "2.2.9"
#include "mission.h"
--- 15,19 ----
#define __CLICKSAVER_H__
! #define CS_VERSION "2.3.0 beta 1"
#include "mission.h"
***************
*** 90,94 ****
CSAM_STOPBUYINGAGENT,
CSAM_STARTFULLSCREEN,
! CSAM_STOPFULLSCREEN
};
--- 93,99 ----
CSAM_STOPBUYINGAGENT,
CSAM_STARTFULLSCREEN,
! CSAM_STOPFULLSCREEN,
! CSAM_EXPORTSETTINGS,
! CSAM_IMPORTSETTINGS,
};
Index: guidef.c
===================================================================
RCS file: /cvsroot/clicksaver/ClickSaverSrc/guidef.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** guidef.c 27 May 2003 00:14:42 -0000 1.10
--- guidef.c 31 Oct 2003 03:40:50 -0000 1.11
***************
*** 1,4 ****
--- 1,7 ----
/*
* $Log$
+ * Revision 1.11 2003/10/31 03:40:50 gnarf37
+ * Saving/Loading Configurations
+ *
* Revision 1.10 2003/05/27 00:14:42 gnarf37
* Added Checkbox to stop mouse movement, and cleaned up mission info parsing so it doesnt match stale missions
***************
*** 216,219 ****
--- 219,239 ----
PU_ENDGROUP,
PUM_ADDCHILD, PU_VERSPACER( 20 ),
+ PU_ENDGROUP,
+ PUM_ADDCHILD, PU_TITLE("Export Options"),
+ PUM_ADDCHILD, PU_HORGROUP,
+ PUM_ADDCHILD, PU_ACTION_OBJDEF, 0, ( PUU32 )"Text", PUA_TEXT_STRING, ( PUU32 )"Export Settings",
+ PUA_CONTROL_FRAME, PUFRAME_BUTTON,
+ PUA_CONTROL_ISBUTTON, TRUE, 0,
+ PUM_ADDNOTIFICATION,
+ PUNOTIFY_CONDITION_ATTREQUALS, PUA_CONTROL_CLICKED, TRUE,
+ PUNOTIFY_ACTION_APPMSG, CSAM_EXPORTSETTINGS,
+ 0,
+ PUM_ADDCHILD, PU_ACTION_OBJDEF, 0, ( PUU32 )"Text", PUA_TEXT_STRING, ( PUU32 )"Import Settings",
+ PUA_CONTROL_FRAME, PUFRAME_BUTTON,
+ PUA_CONTROL_ISBUTTON, TRUE, 0,
+ PUM_ADDNOTIFICATION,
+ PUNOTIFY_CONDITION_ATTREQUALS, PUA_CONTROL_CLICKED, TRUE,
+ PUNOTIFY_ACTION_APPMSG, CSAM_IMPORTSETTINGS,
+ 0,
PU_ENDGROUP,
PUM_ADDCHILD, PU_TITLE( "" ),
|