diff --git a/source/macsystem.cpp b/source/macsystem.cpp index dfe191d..6e6d17a 100644 --- a/source/macsystem.cpp +++ b/source/macsystem.cpp @@ -5,10 +5,6 @@ #include #include -#include -#include /* new for v7 */ -#include /* new for v7 */ - #include "controls.h" #include "initexit.h" #include "config.h" @@ -589,7 +585,7 @@ void SystemPoll(int inGame) Rect dragRect={0,0,32767,32767}; DragWindow(win,evt.where,&dragRect); Point pt={0,0}; - LocalToGlobal(&pt); + // LocalToGlobal(&pt); gConfig->windowX=pt.h; gConfig->windowY=pt.v; } @@ -671,10 +667,10 @@ void SystemPoll(int inGame) if(TimeGetSeconds()>gLastCursorHideTime+1&&!gSystemInstalling) { gLastCursorHideTime=TimeGetSeconds(); - if(gConfig->fullscreen) - HideCursor(); - else - ObscureCursor(); + //if(gConfig->fullscreen) + // HideCursor(); + //else + // ObscureCursor(); } if(((!gInterfaceType||GetInterfaceKey(kInterfaceKeyCmd))||inGame)&&!gSystemSuspended) @@ -705,7 +701,6 @@ void SystemPoll(int inGame) iTunesPress=false; } - RT3_Idle(); NetworkIdle(); SystemIdle(); } @@ -784,139 +779,4 @@ float TimeGetSeconds() UInt64 w; Microseconds((UnsignedWide*)&w); return (float)((double)(w-startTime)*(double)0.000001); -} - -size_t my_write_func(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - return fwrite(ptr, size, nmemb, stream); -} - -size_t my_read_func(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - return fread(ptr, size, nmemb, stream); -} - -int my_progress_func(void *v, - double t, /* dltotal */ - double d, /* dlnow */ - double ultotal, - double ulnow) -{ - char status[1024]; - float time=TimeGetSeconds()-gInstallStartTime; - if(d>0) - { - time*=(t-d)/d; - sprintf(status,"%3.1f of %3.1fMB - about %d:%02d:%02d remaining",d/(1024*1024),t/(1024*1024),(int)(time/3600),((int)(time/60))%60,((int)time)%60); - } - else - sprintf(status,"%3.1f of %3.1fMB"); - - InterfaceDrawStatusBar("Downloading new version",status,d/t); - SystemPoll(false); - return 0; -} - -int CurlGetFile(char *url,char *filename,char *failStr) -{ -#ifndef __TARGET_TOOLAPP - CURL *curl; - CURLcode res; - FILE *outfile; - if(!curl_easy_init) - { - strcpy(failStr,"libcurl not available"); - return false; - } - - curl = curl_easy_init(); - if(curl) - { - outfile = fopen(filename, "w"); - if(!outfile) - { - strcpy(failStr,"Couldn't create file.\nMake sure that Redline and the Redline directory is writable and that you have free space on your disk."); - return false; - } - gSystemInstalling=true; - gInstallStartTime=TimeGetSeconds(); - - res = curl_easy_setopt(curl, CURLOPT_URL, url); - if(res==CURLE_OK) res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile); - if(res==CURLE_OK) res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_write_func); - if(res==CURLE_OK) res = curl_easy_setopt(curl, CURLOPT_READFUNCTION, my_read_func); - if(res==CURLE_OK) res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE); - if(res==CURLE_OK) res = curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, my_progress_func); - - if(res==CURLE_OK) res = curl_easy_perform(curl); - - fclose(outfile); - /* always cleanup */ - curl_easy_cleanup(curl); - } - switch(res) - { - case CURLE_OK: break; - case 22: strcpy(failStr,"curl: HTTP error"); break; - case CURLE_WRITE_ERROR: strcpy(failStr,"curl: Error writing to disk"); break; - case CURLE_URL_MALFORMAT: strcpy(failStr,"curl: Invalid Update URL"); break; - case CURLE_COULDNT_RESOLVE_HOST: strcpy(failStr,"curl: Couldn't resolve host"); break; - case CURLE_COULDNT_CONNECT: strcpy(failStr,"curl: Connection failed"); break; - case CURLE_OPERATION_TIMEOUTED: strcpy(failStr,"curl: Connection timed out"); break; - case CURLE_RECV_ERROR: strcpy(failStr,"curl: Error receiving data"); break; - default: strcpy(failStr,"curl: Error downloading URL"); break; - } - return res==CURLE_OK; -#endif -} - -void SystemExit() -{ - if(gSystemInstalling) - system("rm redlineupdatearchive.zip"); -} - -int AutoUpdateRedline(char *updateURL,char *failStr) -{ - CFBundleRef refMainBundle = CFBundleGetMainBundle(); - if (!refMainBundle) - { - sprintf(failStr,"Couldn't get Redline bundle location"); - return false; - } - // create a URL to the app bundle - CFURLRef refMainBundleURL = CFBundleCopyBundleURL (refMainBundle); - if(!refMainBundleURL) - { - sprintf(failStr,"Couldn't get Redline bundle location"); - return false; - } - - char path[512]; - if(!CFURLGetFileSystemRepresentation(refMainBundleURL,true,(UInt8*)path,512)) - { - sprintf(failStr,"Couldn't get Redline bundle location"); - return false; - } - -// char cmd[512]; - sprintf(path,"%s/../",path); - chdir(path); - system("pwd"); -// printf(cmd); -// system(cmd); - - int retval=true; - InitCursor(); - if(!CurlGetFile(updateURL,"redlineupdatearchive.zip",failStr)) retval=false; - InterfaceDrawStrings("Installing new version","Please wait a moment...",-1); - if(retval) - if(system("unzip -o redlineupdatearchive.zip")) - { - retval=false; - sprintf(failStr,"Couldn't unzip update archive.\nMake sure that Redline and the Redline directory is writable and that you have free space on your disk."); - } - if(system("rm redlineupdatearchive.zip")) retval=false; - gSystemInstalling=false; - return retval; } \ No newline at end of file