static bool build_ios_export(export_config *conf) { char *zipname = get_export_zip_name(conf, "ios"); if (am_file_exists(zipname)) am_delete_file(zipname); char *binpath = get_bin_path(conf, "ios"); if (binpath == NULL) return true; if (!create_ios_info_plist(binpath, AM_TMP_DIR AM_PATH_SEP_STR "Info.plist", conf)) return false; if (!create_ios_pkginfo(AM_TMP_DIR AM_PATH_SEP_STR "PkgInfo")) return false; if (!create_ios_icon_files(AM_TMP_DIR, conf)) return false; if (!create_ios_launch_images(AM_TMP_DIR, conf)) return false; const char *name = conf->shortname; char *appdir = am_format("Payload/%s.app", name); bool ok = add_files_to_dist(zipname, am_opt_data_dir, "*.txt", appdir, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, binpath, "amulet_license.txt", appdir, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, binpath, "amulet", appdir, name, NULL, true, true, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, ".", conf->pakfile, appdir, "data.pak", NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Info.plist", appdir, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "PkgInfo", appdir, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Icon.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "*****@*****.**", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon40.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon57.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon72.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon76.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon80.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon114.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon120.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon144.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon152.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "icon180.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "iTunesArtwork", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Default.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "*****@*****.**", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "*****@*****.**", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "*****@*****.**", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "*****@*****.**", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Default-Landscape@2x~ipad.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Default-Landscape~ipad.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Default-Portrait@2x~ipad.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && add_files_to_dist(zipname, AM_TMP_DIR, "Default-Portrait~ipad.png", appdir, NULL, NULL, false, false, ZIP_PLATFORM_UNIX) && create_ios_lproj_dirs(zipname, appdir, conf) && true; free(appdir); am_delete_file(AM_TMP_DIR AM_PATH_SEP_STR "Info.plist"); am_delete_file(AM_TMP_DIR AM_PATH_SEP_STR "PkgInfo"); printf("Generated %s\n", zipname); free(zipname); free(binpath); return ok; }
static bool build_html_export(export_config *conf) { char *zipname = get_export_zip_name(conf, "html"); if (am_file_exists(zipname)) am_delete_file(zipname); char *binpath = get_bin_path(conf, "html"); if (binpath == NULL) return false; const char *name = conf->appshortname; bool ok = add_files_to_zip_renamed(zipname, am_opt_data_dir, "*.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath, "amulet_license.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath, "amulet.js", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath, "player.html", name, "index.html", NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, ".", conf->pakfile, name, "data.pak", NULL, false, false, ZIP_PLATFORM_UNIX) && true; printf("%s\n", zipname); free(zipname); free(binpath); return ok; }
static bool build_windows_export(export_config *conf) { char *zipname = get_export_zip_name(conf, "windows"); if (am_file_exists(zipname)) am_delete_file(zipname); char *binpath = get_bin_path(conf, "msvc32"); if (binpath == NULL) return true; const char *name = conf->shortname; bool ok = add_files_to_dist(zipname, am_opt_data_dir, "*.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_DOS) && add_files_to_dist(zipname, binpath, "amulet_license.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_DOS) && add_files_to_dist(zipname, binpath, "amulet.exe", name, name, ".exe", true, true, ZIP_PLATFORM_DOS) && add_files_to_dist(zipname, binpath, "*.dll", name, NULL, NULL, true, true, ZIP_PLATFORM_DOS) && add_files_to_dist(zipname, ".", conf->pakfile, name, "data.pak", NULL, false, false, ZIP_PLATFORM_DOS) && true; printf("Generated %s\n", zipname); free(zipname); free(binpath); return ok; }
static bool build_mac_export(export_config *conf) { char *zipname = get_export_zip_name(conf, "mac"); if (am_file_exists(zipname)) am_delete_file(zipname); char *binpath = get_bin_path(conf, "osx"); if (binpath == NULL) return false; if (!create_mac_info_plist(AM_TMP_DIR "/Info.plist", conf)) return false; const char *name = conf->appshortname; bool ok = add_files_to_zip_renamed(zipname, am_opt_data_dir, "*.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath, "amulet_license.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath, "amulet", name, name, ".app/Contents/MacOS/amulet", true, true, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, ".", conf->pakfile, name, name, ".app/Contents/Resources/data.pak", false, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, AM_TMP_DIR, "Info.plist", name, name, ".app/Contents/Info.plist", true, false, ZIP_PLATFORM_UNIX) && true; am_delete_file(AM_TMP_DIR "/Info.plist"); printf("%s\n", zipname); free(zipname); free(binpath); return ok; }
static bool build_linux_export(export_config *conf) { char *zipname = get_export_zip_name(conf, "linux"); if (am_file_exists(zipname)) am_delete_file(zipname); char *binpath64 = get_bin_path(conf, "linux64"); if (binpath64 == NULL) return false; char *binpath32 = get_bin_path(conf, "linux32"); if (binpath32 == NULL) return false; const char *name = conf->appshortname; bool ok = add_files_to_zip_renamed(zipname, am_opt_data_dir, "*.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath64, "amulet_license.txt", name, NULL, NULL, true, false, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath64, "amulet", name, name, ".x86_64", true, true, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, binpath32, "amulet", name, name, ".i686", true, true, ZIP_PLATFORM_UNIX) && add_files_to_zip_renamed(zipname, ".", conf->pakfile, name, "data.pak", NULL, false, false, ZIP_PLATFORM_UNIX) && true; printf("%s\n", zipname); free(zipname); free(binpath32); free(binpath64); return ok; }