diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-05-03 12:45:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-05-03 12:45:40 +0400 |
commit | 0a2a138d86c3a5f7047509879ab4941fdc9f91f8 (patch) | |
tree | fbbff652a2d2aaee71450b6c0d6236e6df03355b /source | |
parent | cd2728ea0df44852942a8d294fbf4c0f54cb5a57 (diff) |
remove player runtime writing functions, this is now an addon.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenlib/BLI_path_util.h | 1 | ||||
-rw-r--r-- | source/blender/blenlib/intern/path_util.c | 20 | ||||
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 184 |
3 files changed, 0 insertions, 205 deletions
diff --git a/source/blender/blenlib/BLI_path_util.h b/source/blender/blenlib/BLI_path_util.h index 585f559aba9..dd4ae781832 100644 --- a/source/blender/blenlib/BLI_path_util.h +++ b/source/blender/blenlib/BLI_path_util.h @@ -197,7 +197,6 @@ void BLI_char_switch(char *string, char from, char to); */ void BLI_where_am_i(char *fullname, const size_t maxlen, const char *name); -char *get_install_dir(void); /** * Gets the temp directory when blender first runs. * If the default path is not found, use try $TEMP diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index 6630faf3048..e8e8127be0c 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -1802,26 +1802,6 @@ void BLI_where_is_temp(char *fullname, const size_t maxlen, int usertemp) } } -char *get_install_dir(void) { - char *tmpname = BLI_strdup(bprogname); - char *cut; - -#ifdef __APPLE__ - cut = strstr(tmpname, ".app"); - if (cut) cut[0] = 0; -#endif - - cut = BLI_last_slash(tmpname); - - if (cut) { - cut[0] = 0; - return tmpname; - } else { - MEM_freeN(tmpname); - return NULL; - } -} - #ifdef WITH_ICONV void BLI_string_to_utf8(char *original, char *utf_8, const char *code) diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index f84c4898813..d110f71c00b 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -2618,187 +2618,3 @@ int BLO_write_file_mem(Main *mainvar, MemFile *compare, MemFile *current, int wr if(err==0) return 1; return 0; } - - - /* Runtime writing */ - -static char *get_runtime_path(char *exename) { - char *installpath= get_install_dir(); - - if (!installpath) { - return NULL; - } - else { - char *path= BLI_sprintfN("%s%c%s", installpath, SEP, exename); - - if (path == NULL) { - MEM_freeN(installpath); - return NULL; - } - - MEM_freeN(installpath); - - return path; - } -} - -#ifdef __APPLE__ - -static int recursive_copy_runtime(const char *outname, char *exename, ReportList *reports) -{ - char *runtime = get_runtime_path(exename); - char command[2 * (FILE_MAXDIR+FILE_MAXFILE) + 32]; - int progfd = -1, error= 0; - - if (!runtime) { - BKE_report(reports, RPT_ERROR, "Unable to find runtime"); - error= 1; - goto cleanup; - } - //printf("runtimepath %s\n", runtime); - - progfd= open(runtime, O_BINARY|O_RDONLY, 0); - if (progfd==-1) { - BKE_report(reports, RPT_ERROR, "Unable to find runtime"); - error= 1; - goto cleanup; - } - - sprintf(command, "/bin/cp -R \"%s\" \"%s\"", runtime, outname); - //printf("command %s\n", command); - if (system(command) == -1) { - BKE_report(reports, RPT_ERROR, "Couldn't copy runtime"); - error= 1; - } - -cleanup: - if (progfd!=-1) - close(progfd); - if (runtime) - MEM_freeN(runtime); - - return !error; -} - -int BLO_write_runtime(Main *mainvar, const char *file, char *exename, ReportList *reports) -{ - char gamename[FILE_MAXDIR+FILE_MAXFILE]; - int outfd = -1, error= 0; - - // remove existing file / bundle - //printf("Delete file %s\n", file); - BLI_delete(file, 0, TRUE); - - if (!recursive_copy_runtime(file, exename, reports)) { - error= 1; - goto cleanup; - } - - BLI_snprintf(gamename, sizeof(gamename), "%s/Contents/Resources/game.blend", file); - //printf("gamename %s\n", gamename); - outfd= open(gamename, O_BINARY|O_WRONLY|O_CREAT|O_TRUNC, 0777); - if (outfd != -1) { - - write_file_handle(mainvar, outfd, NULL,NULL, 0, G.fileflags, NULL); - - if (write(outfd, " ", 1) != 1) { - BKE_report(reports, RPT_ERROR, "Unable to write to output file."); - error= 1; - goto cleanup; - } - } else { - BKE_report(reports, RPT_ERROR, "Unable to open blenderfile."); - error= 1; - } - -cleanup: - if (outfd!=-1) - close(outfd); - - BKE_reports_prepend(reports, "Unable to make runtime: "); - return !error; -} - -#else /* !__APPLE__ */ - -static int handle_append_runtime(int handle, char *exename, ReportList *reports) -{ - char *runtime= get_runtime_path(exename); - unsigned char buf[1024]; - int count, progfd= -1, error= 0; - - if (!BLI_exists(runtime)) { - BKE_report(reports, RPT_ERROR, "Unable to find runtime."); - error= 1; - goto cleanup; - } - - progfd= open(runtime, O_BINARY|O_RDONLY, 0); - if (progfd==-1) { - BKE_report(reports, RPT_ERROR, "Unable to find runtime.@"); - error= 1; - goto cleanup; - } - - while ((count= read(progfd, buf, sizeof(buf)))>0) { - if (write(handle, buf, count)!=count) { - BKE_report(reports, RPT_ERROR, "Unable to write to output file."); - error= 1; - goto cleanup; - } - } - -cleanup: - if (progfd!=-1) - close(progfd); - if (runtime) - MEM_freeN(runtime); - - return !error; -} - -static int handle_write_msb_int(int handle, int i) -{ - unsigned char buf[4]; - buf[0]= (i>>24)&0xFF; - buf[1]= (i>>16)&0xFF; - buf[2]= (i>>8)&0xFF; - buf[3]= (i>>0)&0xFF; - - return (write(handle, buf, 4)==4); -} - -int BLO_write_runtime(Main *mainvar, const char *file, char *exename, ReportList *reports) -{ - int outfd= open(file, O_BINARY|O_WRONLY|O_CREAT|O_TRUNC, 0777); - int datastart, error= 0; - - if (!outfd) { - BKE_report(reports, RPT_ERROR, "Unable to open output file."); - error= 1; - goto cleanup; - } - if (!handle_append_runtime(outfd, exename, reports)) { - error= 1; - goto cleanup; - } - - datastart= lseek(outfd, 0, SEEK_CUR); - - write_file_handle(mainvar, outfd, NULL,NULL, 0, G.fileflags, NULL); - - if (!handle_write_msb_int(outfd, datastart) || (write(outfd, "BRUNTIME", 8)!=8)) { - BKE_report(reports, RPT_ERROR, "Unable to write to output file."); - error= 1; - goto cleanup; - } - -cleanup: - if (outfd!=-1) - close(outfd); - - BKE_reports_prepend(reports, "Unable to make runtime: "); - return !error; -} - -#endif /* !__APPLE__ */ |