Ignore:
Timestamp:
Mar 21, 2013, 12:33:53 PM (12 years ago)
Author:
alloc
Message:

AEI2: Looooots of refactorings for breaking out independent features into libraries

Location:
AE/installer2/src/net/oni2/aeinstaller
Files:
1 added
3 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties

    r701 r720  
    11appname=AE Installer 2
    2 appversion=0.99u
     2appversion=0.99v
  • AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java

    r709 r720  
    2121import javax.swing.UIManager.LookAndFeelInfo;
    2222
     23import net.oni2.SettingsManager;
    2324import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    24 import net.oni2.aeinstaller.backend.DotNet;
    2525import net.oni2.aeinstaller.backend.Paths;
    2626import net.oni2.aeinstaller.backend.SizeFormatter;
     
    3030import net.oni2.aeinstaller.gui.HTMLLinkLabel;
    3131import net.oni2.aeinstaller.gui.MainWin;
    32 import net.oni2.settingsmanager.Settings;
    33 import net.oni2.settingsmanager.Settings.Platform;
     32import net.oni2.platformtools.PlatformInformation;
     33import net.oni2.platformtools.PlatformInformation.Platform;
     34import net.oni2.platformtools.applicationinvoker.DotNet;
    3435
    3536import org.javabuilders.swing.SwingJavaBuilder;
     
    123124                initBundles();
    124125
    125                 if (Settings.getPlatform() == Platform.MACOS)
     126                if (PlatformInformation.getPlatform() == Platform.MACOS)
    126127                        initMacOS();
    127128
    128                 Settings.setDebug(debug);
    129                 Settings.deserializeFromFile(Paths.getSettingsFilename());
    130                 Settings.setDebug(debug);
    131                 Settings.getInstance().setNoCacheUpdateMode(noCacheUpdate);
     129                SettingsManager.setDebug(debug);
     130                SettingsManager.deserializeFromFile(Paths.getSettingsFilename());
     131                SettingsManager.setDebug(debug);
     132                SettingsManager.getInstance().setNoCacheUpdateMode(noCacheUpdate);
    132133
    133134                SwingJavaBuilder.getConfig().addResourceBundle(imagesBundle);
     
    142143
    143144                try {
    144                         String laf = Settings.getInstance().get("lookandfeel",
     145                        String laf = SettingsManager.getInstance().get("lookandfeel",
    145146                                        (String) null);
    146147                        if (laf == null) {
    147                                 if (Settings.getPlatform() != Platform.LINUX) {
     148                                if (PlatformInformation.getPlatform() != Platform.LINUX) {
    148149                                        laf = UIManager.getSystemLookAndFeelClassName();
    149150                                } else {
     
    171172                System.out.println("TempPath:  " + Paths.getTempPath());
    172173                System.out.println("ValidPath: " + Installer.verifyRunningDirectory());
    173                 System.out.println("Platform:  " + Settings.getPlatform());
    174                 System.out.println("Architect: " + Settings.getArchitecture());
     174                System.out.println("Platform:  " + PlatformInformation.getPlatform());
     175                System.out.println("Architect: " + PlatformInformation.getArchitecture());
    175176                System.out.println(".NET:      " + DotNet.isInstalled());
    176177                System.out.println("OniSplit:  " + OniSplit.isOniSplitInstalled());
     
    190191                        HTMLLinkLabel hll = new HTMLLinkLabel();
    191192                        String dlUrl = "";
    192                         switch (Settings.getPlatform()) {
     193                        switch (PlatformInformation.getPlatform()) {
    193194                                case WIN:
    194                                         switch (Settings.getArchitecture()) {
     195                                        switch (PlatformInformation.getArchitecture()) {
    195196                                                case X86:
    196197                                                        dlUrl = "http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe";
     
    220221                                        globalBundle.getString("invalidPath.title"),
    221222                                        JOptionPane.ERROR_MESSAGE);
    222                         if (!Settings.isDebug()) {
     223                        if (!SettingsManager.isDebug()) {
    223224                                return;
    224225                        }
     
    238239                                        JOptionPane.INFORMATION_MESSAGE);
    239240                }
    240                 Settings.getInstance().setOfflineMode(offline);
     241                SettingsManager.getInstance().setOfflineMode(offline);
    241242
    242243                SwingUtilities.invokeLater(new Runnable() {
  • AE/installer2/src/net/oni2/aeinstaller/backend/Paths.java

    r709 r720  
    55import java.net.URLDecoder;
    66
    7 import net.oni2.settingsmanager.Settings;
     7import net.oni2.SettingsManager;
    88
    99/**
     
    3232         */
    3333        public static File getInstallerPath() {
    34                 if (Settings.isDebug()) {
     34                if (SettingsManager.isDebug()) {
    3535                        String wd = System.getProperty("user.dir");
    3636                        return new File(wd);
    3737                } else {
    38                         String jarPath = Settings.class.getProtectionDomain()
     38                        String jarPath = SettingsManager.class.getProtectionDomain()
    3939                                        .getCodeSource().getLocation().getPath();
    4040                        String decodedPath = null;
  • AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotConfig.java

    r708 r720  
    33import java.util.TreeSet;
    44
    5 import net.oni2.settingsmanager.Settings;
     5import net.oni2.SettingsManager;
    66
    77/**
     
    8888         */
    8989        static String getDepotUrl() {
    90                 return Settings.getInstance().get("depot_url", "http://mods.oni2.net/");
     90                return SettingsManager.getInstance().get("depot_url", "http://mods.oni2.net/");
    9191        }
    9292
     
    9595         */
    9696        static String getDepotApiUrl() {
    97                 return Settings.getInstance().get("depot_api_url",
     97                return SettingsManager.getInstance().get("depot_api_url",
    9898                                "http://mods.oni2.net/?q=api/");
    9999        }
  • AE/installer2/src/net/oni2/aeinstaller/backend/oni/Installer.java

    r708 r720  
    2121import java.util.regex.Pattern;
    2222
     23import net.oni2.SettingsManager;
    2324import net.oni2.aeinstaller.AEInstaller2;
    2425import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
     
    2728import net.oni2.aeinstaller.backend.packages.Package;
    2829import net.oni2.aeinstaller.backend.packages.PackageManager;
    29 import net.oni2.applicationinvoker.AppExecutionResult;
    30 import net.oni2.settingsmanager.Settings;
    31 import net.oni2.settingsmanager.Settings.Platform;
     30import net.oni2.platformtools.PlatformInformation;
     31import net.oni2.platformtools.PlatformInformation.Platform;
     32import net.oni2.platformtools.applicationinvoker.ApplicationInvocationResult;
    3233
    3334import org.apache.commons.io.FileUtils;
     
    134135                                                        copyRemoveToolsFiles(plainCommon,
    135136                                                                        Paths.getEditionBasePath(), uninstall);
    136                                                 if (Settings.getPlatform() == Platform.MACOS
     137                                                if (PlatformInformation.getPlatform() == Platform.MACOS
    137138                                                                && plainMac.exists())
    138139                                                        copyRemoveToolsFiles(plainMac,
     
    225226                                                || s.endsWith(".raw")
    226227                                                || s.endsWith(".sep")
    227                                                 || (s.equals("intro.bik") && !Settings.getInstance()
     228                                                || (s.equals("intro.bik") && !SettingsManager.getInstance()
    228229                                                                .get("copyintro", false))
    229                                                 || (s.equals("outro.bik") && !Settings.getInstance()
     230                                                || (s.equals("outro.bik") && !SettingsManager.getInstance()
    230231                                                                .get("copyoutro", false));
    231232                        }
     
    279280                                        if (oniCommon.exists())
    280281                                                foldersOni.add(oniCommon);
    281                                         if (Settings.getPlatform() == Platform.MACOS
     282                                        if (PlatformInformation.getPlatform() == Platform.MACOS
    282283                                                        && oniMac.exists())
    283284                                                foldersOni.add(oniMac);
     
    301302                                        if (patchesCommon.exists())
    302303                                                foldersPatches.add(patchesCommon);
    303                                         if (Settings.getPlatform() == Platform.MACOS
     304                                        if (PlatformInformation.getPlatform() == Platform.MACOS
    304305                                                        && patchesMac.exists())
    305306                                                foldersPatches.add(patchesMac);
     
    369370                                        File bslWin = CaseInsensitiveFile.getCaseInsensitiveFile(
    370371                                                        bsl, "win_only");
    371                                         if ((Settings.getPlatform() == Platform.MACOS && bslMac
     372                                        if ((PlatformInformation.getPlatform() == Platform.MACOS && bslMac
    372373                                                        .exists())
    373                                                         || ((Settings.getPlatform() == Platform.WIN || Settings
     374                                                        || ((PlatformInformation.getPlatform() == Platform.WIN || PlatformInformation
    374375                                                                        .getPlatform() == Platform.LINUX) && bslWin
    375376                                                                        .exists()) || bslCommon.exists()) {
     
    406407                        File bslWin = CaseInsensitiveFile.getCaseInsensitiveFile(bsl,
    407408                                        "win_only");
    408                         if (Settings.getPlatform() == Platform.MACOS && bslMac.exists()) {
     409                        if (PlatformInformation.getPlatform() == Platform.MACOS && bslMac.exists()) {
    409410                                for (File f : bslMac.listFiles(dirFileFilter)) {
    410411                                        File targetBSL = new File(targetBaseFolder, f.getName());
     
    413414                                }
    414415                        }
    415                         if ((Settings.getPlatform() == Platform.WIN || Settings
     416                        if ((PlatformInformation.getPlatform() == Platform.WIN || PlatformInformation
    416417                                        .getPlatform() == Platform.LINUX) && bslWin.exists()) {
    417418                                for (File f : bslWin.listFiles(dirFileFilter)) {
     
    508509                                        if (srcFolder.getPath().toLowerCase().contains("vanilla")) {
    509510                                                // Extract from .dat
    510                                                 AppExecutionResult res = OniSplit.export(levelFolder,
     511                                                ApplicationInvocationResult res = OniSplit.export(levelFolder,
    511512                                                                srcFolder, exportPatterns);
    512513                                                logAppOutput(res, log);
     
    533534                                                                .contains("vanilla")) {
    534535                                                        // Extract from .dat
    535                                                         AppExecutionResult res = OniSplit.export(
     536                                                        ApplicationInvocationResult res = OniSplit.export(
    536537                                                                        levelFolder, srcFolder, patterns);
    537538                                                        logAppOutput(res, log);
     
    556557                        Vector<File> files = new Vector<File>();
    557558                        files.add(new File(levelFolder, "*.oni"));
    558                         AppExecutionResult res = OniSplit.convertOniToXML(levelFolderXML,
     559                        ApplicationInvocationResult res = OniSplit.convertOniToXML(levelFolderXML,
    559560                                        files);
    560561                        logAppOutput(res, log);
     
    613614                                        "Installing level " + l);
    614615
    615                         AppExecutionResult res = OniSplit.packLevel(oniLevelFolders.get(l),
     616                        ApplicationInvocationResult res = OniSplit.packLevel(oniLevelFolders.get(l),
    616617                                        new File(Paths.getEditionGDF(), sanitizeLevelName(l)
    617618                                                        + ".dat"));
     
    627628
    628629        private static void copyVideos(PrintWriter log) {
    629                 if (Settings.getInstance().get("copyintro", false)) {
     630                if (SettingsManager.getInstance().get("copyintro", false)) {
    630631                        File src = new File(Paths.getVanillaGDF(), "intro.bik");
    631632                        log.println("Copying intro");
     
    640641                        log.println("NOT copying intro");
    641642                }
    642                 if (Settings.getInstance().get("copyoutro", true)) {
     643                if (SettingsManager.getInstance().get("copyoutro", true)) {
    643644                        File src = new File(Paths.getVanillaGDF(), "outro.bik");
    644645                        log.println("Copying outro");
     
    741742
    742743                                // Export Vanilla-Level-Dat -> Temp/Level
    743                                 AppExecutionResult res = OniSplit.export(tempLevelFolder, f);
     744                                ApplicationInvocationResult res = OniSplit.export(tempLevelFolder, f);
    744745                                logAppOutput(res, log);
    745746
     
    763764                                folders.add(f);
    764765
    765                                 AppExecutionResult res = OniSplit
     766                                ApplicationInvocationResult res = OniSplit
    766767                                                .importLevel(folders,
    767768                                                                new File(Paths.getVanillaOnisPath(), levelName
     
    922923        }
    923924
    924         private static void logAppOutput(AppExecutionResult result, PrintWriter log) {
     925        private static void logAppOutput(ApplicationInvocationResult result, PrintWriter log) {
    925926                if (result != null) {
    926927                        log.println("\t\t\tCalled:");
  • AE/installer2/src/net/oni2/aeinstaller/backend/oni/OniSplit.java

    r708 r720  
    66
    77import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    8 import net.oni2.aeinstaller.backend.DotNet;
    98import net.oni2.aeinstaller.backend.Paths;
    10 import net.oni2.applicationinvoker.AppExecution;
    11 import net.oni2.applicationinvoker.AppExecutionResult;
    12 import net.oni2.settingsmanager.Settings;
    13 import net.oni2.settingsmanager.Settings.Platform;
     9import net.oni2.platformtools.PlatformInformation;
     10import net.oni2.platformtools.PlatformInformation.Platform;
     11import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
     12import net.oni2.platformtools.applicationinvoker.ApplicationInvocationResult;
     13import net.oni2.platformtools.applicationinvoker.EExeType;
     14import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
    1415
    1516/**
     
    3435         * @return OniSplit output
    3536         */
    36         public static AppExecutionResult export(File targetFolder, File input) {
     37        public static ApplicationInvocationResult export(File targetFolder, File input) {
    3738                return export(targetFolder, input, null);
    3839        }
     
    4950         * @return OniSplit output
    5051         */
    51         public static AppExecutionResult export(File targetFolder, File input,
     52        public static ApplicationInvocationResult export(File targetFolder, File input,
    5253                        Vector<String> patterns) {
    5354                if (!targetFolder.exists())
    5455                        targetFolder.mkdir();
    5556
    56                 Vector<String> cmdLine = getProgramInvocation();
     57                Vector<String> params = new Vector<String>();
    5758                if (patterns == null)
    58                         cmdLine.add("-export");
     59                        params.add("-export");
    5960                else {
    6061                        for (String p : patterns)
    61                                 cmdLine.add("-export:" + p);
    62                 }
    63                 cmdLine.add(targetFolder.getPath());
    64                 cmdLine.add(input.getPath());
    65                 AppExecutionResult res = null;
    66                 try {
    67                         res = AppExecution.executeAndWait(cmdLine);
    68                 } catch (IOException e) {
     62                                params.add("-export:" + p);
     63                }
     64                params.add(targetFolder.getPath());
     65                params.add(input.getPath());
     66                ApplicationInvocationResult res = null;
     67                try {
     68                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     69                } catch (IOException e) {
     70                        e.printStackTrace();
     71                } catch (ERuntimeNotInstalledException e) {
    6972                        e.printStackTrace();
    7073                }
     
    8184         * @return OniSplit output
    8285         */
    83         public static AppExecutionResult importLevel(Vector<File> sourceFolders,
     86        public static ApplicationInvocationResult importLevel(Vector<File> sourceFolders,
    8487                        File targetFile) {
    85                 Vector<String> cmdLine = getProgramInvocation();
    86                 cmdLine.add(getImportParam());
     88                Vector<String> params = new Vector<String>();
     89                params.add(getImportParam());
    8790                for (File f : sourceFolders)
    88                         cmdLine.add(f.getPath());
    89                 cmdLine.add(targetFile.getPath());
    90                 AppExecutionResult res = null;
    91                 try {
    92                         res = AppExecution.executeAndWait(cmdLine);
    93                 } catch (IOException e) {
     91                        params.add(f.getPath());
     92                params.add(targetFile.getPath());
     93                ApplicationInvocationResult res = null;
     94                try {
     95                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     96                } catch (IOException e) {
     97                        e.printStackTrace();
     98                } catch (ERuntimeNotInstalledException e) {
    9499                        e.printStackTrace();
    95100                }
     
    108113         * @return OniSplit output
    109114         */
    110         public static AppExecutionResult packLevel(Vector<File> sourceFoldersFiles,
     115        public static ApplicationInvocationResult packLevel(Vector<File> sourceFoldersFiles,
    111116                        File targetFile) {
    112                 Vector<String> cmdLine = getProgramInvocation();
    113                 cmdLine.add(getPackParam());
    114                 cmdLine.add(getPackTypeParam());
    115                 cmdLine.add("-out");
    116                 cmdLine.add(targetFile.getPath());
     117                Vector<String> params = new Vector<String>();
     118                params.add(getPackParam());
     119                params.add(getPackTypeParam());
     120                params.add("-out");
     121                params.add(targetFile.getPath());
    117122                for (File f : sourceFoldersFiles)
    118                         cmdLine.add(f.getPath());
    119                 AppExecutionResult res = null;
    120                 try {
    121                         res = AppExecution.executeAndWait(cmdLine);
    122                 } catch (IOException e) {
     123                        params.add(f.getPath());
     124                ApplicationInvocationResult res = null;
     125                try {
     126                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     127                } catch (IOException e) {
     128                        e.printStackTrace();
     129                } catch (ERuntimeNotInstalledException e) {
    123130                        e.printStackTrace();
    124131                }
     
    138145         * @return OniSplit output
    139146         */
    140         public static AppExecutionResult move(File targetFolder, String input,
     147        public static ApplicationInvocationResult move(File targetFolder, String input,
    141148                        String moveParameter) {
    142149                if (!targetFolder.exists())
    143150                        targetFolder.mkdir();
    144151
    145                 Vector<String> cmdLine = getProgramInvocation();
    146                 cmdLine.add("-move"
     152                Vector<String> params = new Vector<String>();
     153                params.add("-move"
    147154                                + (moveParameter != null ? ":" + moveParameter : ""));
    148                 cmdLine.add(targetFolder.getPath());
    149                 cmdLine.add(input);
    150                 AppExecutionResult res = null;
    151                 try {
    152                         res = AppExecution.executeAndWait(cmdLine);
    153                 } catch (IOException e) {
     155                params.add(targetFolder.getPath());
     156                params.add(input);
     157                ApplicationInvocationResult res = null;
     158                try {
     159                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     160                } catch (IOException e) {
     161                        e.printStackTrace();
     162                } catch (ERuntimeNotInstalledException e) {
    154163                        e.printStackTrace();
    155164                }
     
    166175         * @return OniSplit output
    167176         */
    168         public static AppExecutionResult convertOniToXML(File targetFolder,
     177        public static ApplicationInvocationResult convertOniToXML(File targetFolder,
    169178                        Vector<File> inputFiles) {
    170179                if (!targetFolder.exists())
    171180                        targetFolder.mkdirs();
    172181
    173                 Vector<String> cmdLine = getProgramInvocation();
    174                 cmdLine.add("-extract:xml");
    175                 cmdLine.add(targetFolder.getPath());
     182                Vector<String> params = new Vector<String>();
     183                params.add("-extract:xml");
     184                params.add(targetFolder.getPath());
    176185                for (File f : inputFiles) {
    177                         cmdLine.add(f.getPath());
    178                 }
    179                 AppExecutionResult res = null;
    180                 try {
    181                         res = AppExecution.executeAndWait(cmdLine);
    182                 } catch (IOException e) {
     186                        params.add(f.getPath());
     187                }
     188                ApplicationInvocationResult res = null;
     189                try {
     190                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     191                } catch (IOException e) {
     192                        e.printStackTrace();
     193                } catch (ERuntimeNotInstalledException e) {
    183194                        e.printStackTrace();
    184195                }
     
    195206         * @return OniSplit output
    196207         */
    197         public static AppExecutionResult convertXMLtoOni(File targetFolder,
     208        public static ApplicationInvocationResult convertXMLtoOni(File targetFolder,
    198209                        Vector<File> inputFiles) {
    199210                if (!targetFolder.exists())
    200211                        targetFolder.mkdirs();
    201212
    202                 Vector<String> cmdLine = getProgramInvocation();
    203                 cmdLine.add("-create");
    204                 cmdLine.add(targetFolder.getPath());
     213                Vector<String> params = new Vector<String>();
     214                params.add("-create");
     215                params.add(targetFolder.getPath());
    205216                for (File f : inputFiles) {
    206                         cmdLine.add(f.getPath());
    207                 }
    208                 AppExecutionResult res = null;
    209                 try {
    210                         res = AppExecution.executeAndWait(cmdLine);
    211                 } catch (IOException e) {
     217                        params.add(f.getPath());
     218                }
     219                ApplicationInvocationResult res = null;
     220                try {
     221                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null, getProgramFile(), params);
     222                } catch (IOException e) {
     223                        e.printStackTrace();
     224                } catch (ERuntimeNotInstalledException e) {
    212225                        e.printStackTrace();
    213226                }
     
    216229
    217230        private static String getImportParam() {
    218                 if (Settings.getPlatform() == Platform.MACOS)
     231                if (PlatformInformation.getPlatform() == Platform.MACOS)
    219232                        return "-import:sep";
    220233                else
     
    227240
    228241        private static String getPackTypeParam() {
    229                 if (Settings.getPlatform() == Platform.MACOS)
     242                if (PlatformInformation.getPlatform() == Platform.MACOS)
    230243                        return "-type:macintel";
    231244                else
    232245                        return "-type:pc";
    233         }
    234 
    235         private static Vector<String> getProgramInvocation() {
    236                 Vector<String> res = new Vector<String>();
    237                 if (DotNet.getRuntimeExe().length() > 0)
    238                         res.add(DotNet.getRuntimeExe());
    239                 res.add(getProgramFile().getPath());
    240                 return res;
    241246        }
    242247
  • AE/installer2/src/net/oni2/aeinstaller/backend/oni/XMLTools.java

    r708 r720  
    66
    77import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    8 import net.oni2.aeinstaller.backend.DotNet;
    98import net.oni2.aeinstaller.backend.Paths;
    10 import net.oni2.applicationinvoker.AppExecution;
    11 import net.oni2.applicationinvoker.AppExecutionResult;
     9import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
     10import net.oni2.platformtools.applicationinvoker.ApplicationInvocationResult;
     11import net.oni2.platformtools.applicationinvoker.EExeType;
     12import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
    1213
    1314/**
     
    2627         * @return XMLTools output
    2728         */
    28         public static AppExecutionResult patch(File patch, File source) {
    29                 Vector<String> cmdLine = getProgramInvocation();
     29        public static ApplicationInvocationResult patch(File patch, File source) {
     30                Vector<String> params = new Vector<String>();
    3031                // xmlTools.exe patchfile -filename:PATCH -forceinfiles:TOPATCH
    31                 cmdLine.add("patchfile");
    32                 cmdLine.add("-filename:" + patch.getPath());
    33                 cmdLine.add("-forceinfiles:" + source.getPath());
    34                 AppExecutionResult res = null;
     32                params.add("patchfile");
     33                params.add("-filename:" + patch.getPath());
     34                params.add("-forceinfiles:" + source.getPath());
     35                ApplicationInvocationResult res = null;
    3536                try {
    36                         res = AppExecution.executeAndWait(cmdLine);
     37                        res = ApplicationInvoker.executeAndWait(EExeType.DOTNET, null,
     38                                        getProgramFile(), params);
    3739                } catch (IOException e) {
     40                        e.printStackTrace();
     41                } catch (ERuntimeNotInstalledException e) {
    3842                        e.printStackTrace();
    3943                }
     
    4145        }
    4246
    43         private static Vector<String> getProgramInvocation() {
    44                 Vector<String> res = new Vector<String>();
    45                 if (DotNet.getRuntimeExe().length() > 0)
    46                         res.add(DotNet.getRuntimeExe());
    47                 res.add(getProgramFile().getPath());
    48                 return res;
    49         }
    50 
    5147        private static File getProgramFile() {
    52                 File toolsPath = CaseInsensitiveFile.getCaseInsensitiveFile(Paths.getEditionBasePath(), "Tools");
    53                 return CaseInsensitiveFile.getCaseInsensitiveFile(toolsPath, "xmlTools.exe");
     48                File toolsPath = CaseInsensitiveFile.getCaseInsensitiveFile(
     49                                Paths.getEditionBasePath(), "Tools");
     50                return CaseInsensitiveFile.getCaseInsensitiveFile(toolsPath,
     51                                "xmlTools.exe");
    5452        }
    5553}
  • AE/installer2/src/net/oni2/aeinstaller/backend/packages/Mod_Info.java

    r699 r720  
    1111import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    1212import net.oni2.aeinstaller.backend.Paths;
     13import net.oni2.platformtools.applicationinvoker.EExeType;
    1314
    1415/**
     
    112113                                        }
    113114                                } else if (sName.equalsIgnoreCase("ExeName")) {
    114                                         exeFile = CaseInsensitiveFile.getCaseInsensitiveFile(Paths.getEditionBasePath(), sVal);
     115                                        exeFile = CaseInsensitiveFile.getCaseInsensitiveFile(
     116                                                        Paths.getEditionBasePath(), sVal);
    115117                                } else if (sName.equalsIgnoreCase("ExeType")) {
    116118                                        if (sVal.equalsIgnoreCase("OSBinary"))
    117119                                                exeType = EExeType.OSBINARY;
     120                                        else if (sVal.equalsIgnoreCase("WinExe"))
     121                                                exeType = EExeType.WINEXE;
    118122                                        else if (sVal.equalsIgnoreCase("DotNet"))
    119123                                                exeType = EExeType.DOTNET;
     
    123127                                        workingDir = sVal;
    124128                                } else if (sName.equalsIgnoreCase("IconName")) {
    125                                         iconFile = CaseInsensitiveFile.getCaseInsensitiveFile(Paths.getEditionBasePath(), sVal);
     129                                        iconFile = CaseInsensitiveFile.getCaseInsensitiveFile(
     130                                                        Paths.getEditionBasePath(), sVal);
    126131                                }
    127132                        }
     
    129134                                if (exeFile.getName().toLowerCase().endsWith(".jar"))
    130135                                        exeType = EExeType.JAR;
     136                                else if (exeType == EExeType.OSBINARY && exeFile.getName().toLowerCase().endsWith(".exe"))
     137                                        exeType = EExeType.WINEXE;
    131138                        }
    132139                } catch (FileNotFoundException e) {
  • AE/installer2/src/net/oni2/aeinstaller/backend/packages/Package.java

    r708 r720  
    1212import java.util.HashSet;
    1313
    14 import org.apache.commons.io.FileUtils;
    15 
    1614import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    1715import net.oni2.aeinstaller.backend.Paths;
     
    2119import net.oni2.aeinstaller.backend.depot.model.TaxonomyTerm;
    2220import net.oni2.aeinstaller.backend.oni.Installer;
    23 import net.oni2.settingsmanager.Settings;
    24 import net.oni2.settingsmanager.Settings.Platform;
     21import net.oni2.platformtools.PlatformInformation;
     22import net.oni2.platformtools.PlatformInformation.Platform;
     23import net.oni2.platformtools.applicationinvoker.EExeType;
     24
     25import org.apache.commons.io.FileUtils;
    2526
    2627/**
     
    426427                                return true;
    427428                        case MACOS:
    428                                 return (Settings.getPlatform() == Platform.MACOS);
     429                                return (PlatformInformation.getPlatform() == Platform.MACOS);
    429430                        case WIN:
    430                                 return (Settings.getPlatform() == Platform.WIN)
    431                                                 || (Settings.getPlatform() == Platform.LINUX);
     431                                return (PlatformInformation.getPlatform() == Platform.WIN)
     432                                                || (PlatformInformation.getPlatform() == Platform.LINUX);
    432433                }
    433434                return false;
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r708 r720  
    1010import java.awt.event.KeyEvent;
    1111import java.io.File;
     12import java.io.FileNotFoundException;
    1213import java.net.URL;
    1314import java.util.Date;
     
    3940import javax.swing.filechooser.FileFilter;
    4041
     42import net.oni2.SettingsManager;
    4143import net.oni2.aeinstaller.AEInstaller2;
    4244import net.oni2.aeinstaller.backend.ImageResizer;
    4345import net.oni2.aeinstaller.backend.Paths;
    44 import net.oni2.aeinstaller.backend.ToolLauncher;
    4546import net.oni2.aeinstaller.backend.SizeFormatter;
    4647import net.oni2.aeinstaller.backend.depot.DepotManager;
    4748import net.oni2.aeinstaller.backend.oni.InstallProgressListener;
    4849import net.oni2.aeinstaller.backend.oni.Installer;
     50import net.oni2.aeinstaller.backend.oni.OniLauncher;
    4951import net.oni2.aeinstaller.backend.oni.OniSplit;
    5052import net.oni2.aeinstaller.backend.packages.Package;
     
    5759import net.oni2.aeinstaller.gui.corepackages.CorePackagesDialog;
    5860import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
     61import net.oni2.aeinstaller.gui.modtable.EApplyFilterTo;
    5962import net.oni2.aeinstaller.gui.modtable.ModInstallSelectionListener;
    60 import net.oni2.aeinstaller.gui.modtable.EApplyFilterTo;
    6163import net.oni2.aeinstaller.gui.modtable.ModSelectionListener;
    6264import net.oni2.aeinstaller.gui.modtable.ModTable;
     
    6567import net.oni2.aeinstaller.gui.settings.SettingsDialog;
    6668import net.oni2.aeinstaller.gui.toolmanager.ToolManager;
    67 import net.oni2.applicationinvoker.AppExecution;
    68 import net.oni2.settingsmanager.Settings;
    69 import net.oni2.settingsmanager.Settings.Platform;
     69import net.oni2.platformtools.PlatformInformation;
     70import net.oni2.platformtools.PlatformInformation.Platform;
     71import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
     72import net.oni2.platformtools.applicationinvoker.ERuntimeNotInstalledException;
    7073
    7174import org.javabuilders.BuildResult;
     
    138141                scrollMods.setViewportView(tblMods);
    139142
    140                 contents.setDividerLocation(Settings.getInstance().get("win_main_divloc", 550));
     143                contents.setDividerLocation(SettingsManager.getInstance().get(
     144                                "win_main_divloc", 550));
    141145                contents.setResizeWeight(0.4);
    142146
    143                 if (Settings.getPlatform() == Platform.MACOS) {
     147                if (PlatformInformation.getPlatform() == Platform.MACOS) {
    144148                        mainMenu.setVisible(false);
    145149                }
     
    165169                tblMods.addModSelectionListener(this);
    166170                tblMods.addDownloadSizeListener(this);
    167                
    168                 setSize(Settings.getInstance().get("win_main_width", 950), Settings.getInstance().get("win_main_height", 600));
     171
     172                setSize(SettingsManager.getInstance().get("win_main_width", 950),
     173                                SettingsManager.getInstance().get("win_main_height", 600));
    169174                setLocationRelativeTo(null);
    170175        }
     
    190195
    191196        private void saveLocalData() {
    192                 Settings.getInstance().put("win_main_divloc", contents.getDividerLocation());
    193                 Settings.getInstance().put("win_main_width", getWidth());
    194                 Settings.getInstance().put("win_main_height", getHeight());
    195                 Settings.getInstance().serializeToFile(Paths.getSettingsFilename());
     197                SettingsManager.getInstance().put("win_main_divloc",
     198                                contents.getDividerLocation());
     199                SettingsManager.getInstance().put("win_main_width", getWidth());
     200                SettingsManager.getInstance().put("win_main_height", getHeight());
     201                SettingsManager.getInstance().serializeToFile(
     202                                Paths.getSettingsFilename());
    196203        }
    197204
    198205        @DoInBackground(progressMessage = "updateDepot.title", cancelable = false, indeterminateProgress = false)
    199206        private void execDepotUpdate(final BackgroundEvent evt) {
    200                 if (!Settings.getInstance().isOfflineMode()
    201                                 && !Settings.getInstance().isNoCacheUpdateMode()) {
     207                if (!SettingsManager.getInstance().isOfflineMode()
     208                                && !SettingsManager.getInstance().isNoCacheUpdateMode()) {
    202209                        long start = new Date().getTime();
    203210
     
    222229        private void checkUpdates(Object evtSource) {
    223230                if ((evtSource != this)
    224                                 || Settings.getInstance().get("notifyupdates", true)) {
    225                         if (Settings.getInstance().isOfflineMode()) {
     231                                || SettingsManager.getInstance().get("notifyupdates", true)) {
     232                        if (SettingsManager.getInstance().isOfflineMode()) {
    226233                                if (evtSource != this) {
    227234                                        JOptionPane.showMessageDialog(
     
    250257                                        size += m.getZipSize();
    251258                                        JCheckBox check = new JCheckBox("Mod: " + m.getName()
    252                                                         + " (" + SizeFormatter.format(m.getZipSize(), 1) + ")");
     259                                                        + " (" + SizeFormatter.format(m.getZipSize(), 1)
     260                                                        + ")");
    253261                                        check.setSelected(true);
    254262                                        check.addItemListener(new ItemListener() {
     
    274282                                        size += m.getZipSize();
    275283                                        JCheckBox check = new JCheckBox("Tool: " + m.getName()
    276                                                         + " (" + SizeFormatter.format(m.getZipSize(), 1) + ")");
     284                                                        + " (" + SizeFormatter.format(m.getZipSize(), 1)
     285                                                        + ")");
    277286                                        check.setSelected(true);
    278287                                        check.addItemListener(new ItemListener() {
     
    313322                                        JCheckBox checkFutureUpdates = new JCheckBox(
    314323                                                        bundle.getString("checkOnStartup.text"));
    315                                         checkFutureUpdates.setSelected(Settings.getInstance().get(
    316                                                         "notifyupdates", true));
     324                                        checkFutureUpdates.setSelected(SettingsManager
     325                                                        .getInstance().get("notifyupdates", true));
    317326                                        checkFutureUpdates.addItemListener(new ItemListener() {
    318327                                                @Override
    319328                                                public void itemStateChanged(ItemEvent evt) {
    320                                                         Settings.getInstance().put("notifyupdates",
     329                                                        SettingsManager.getInstance().put("notifyupdates",
    321330                                                                        evt.getStateChange() == ItemEvent.SELECTED);
    322331                                                }
     
    492501                                        public void actionPerformed(ActionEvent evt) {
    493502                                                try {
    494                                                         ToolLauncher.launch(m);
    495                                                 } catch (Exception ex) {
    496                                                         if (ex.getMessage().contains("JRE"))
     503                                                        ApplicationInvoker.execute(m.getExeType(),
     504                                                                        m.getWorkingDir(), m.getExeFile(), null);
     505                                                } catch (ERuntimeNotInstalledException e) {
     506                                                        JOptionPane.showMessageDialog(null,
     507                                                                        bundle.getString("exeNotFound.text"),
     508                                                                        bundle.getString("exeNotFound.title"),
     509                                                                        JOptionPane.ERROR_MESSAGE);
     510                                                        e.printStackTrace();
     511                                                } catch (FileNotFoundException e) {
     512                                                        if (e.getMessage().contains("JRE"))
    497513                                                                JOptionPane.showMessageDialog(null,
    498514                                                                                bundle.getString("jreNotFound.text"),
    499515                                                                                bundle.getString("jreNotFound.title"),
    500516                                                                                JOptionPane.ERROR_MESSAGE);
    501                                                         if (ex.getMessage().contains(".NET"))
     517                                                        if (e.getMessage().contains(".NET"))
    502518                                                                JOptionPane.showMessageDialog(
    503519                                                                                null,
     
    505521                                                                                bundle.getString("dotNetNotFound.title"),
    506522                                                                                JOptionPane.ERROR_MESSAGE);
     523                                                        if (e.getMessage().contains("Wine"))
     524                                                                JOptionPane.showMessageDialog(null,
     525                                                                                bundle.getString("wineNotFound.text"),
     526                                                                                bundle.getString("wineNotFound.title"),
     527                                                                                JOptionPane.ERROR_MESSAGE);
     528                                                        e.printStackTrace();
    507529                                                }
    508530                                        }
     
    525547        @DoInBackground(progressMessage = "checkCorePackages.title", cancelable = false, indeterminateProgress = false)
    526548        private void checkCorePackages(final BackgroundEvent evt) {
    527                 if (!Settings.getInstance().isOfflineMode()) {
     549                if (!SettingsManager.getInstance().isOfflineMode()) {
    528550                        for (Package m : PackageManager.getInstance().getCoreTools()) {
    529551                                if (m.isNewerAvailable()) {
     
    558580                        }
    559581                        evt.setProgressMessage(bundle.getString("coreToolsInstall.title"));
    560                         Installer.installTools(PackageManager.getInstance().getCoreTools(), false);
     582                        Installer.installTools(PackageManager.getInstance().getCoreTools(),
     583                                        false);
    561584                }
    562585        }
     
    594617                        }
    595618
    596                         if (toDownload.size() > 0 && Settings.getInstance().isOfflineMode()) {
     619                        if (toDownload.size() > 0
     620                                        && SettingsManager.getInstance().isOfflineMode()) {
    597621                                installState = EInstallState.OFFLINE;
    598622                                break;
     
    647671                                                        .getString("installDependencies.none");
    648672
    649                                 if (!Settings.getInstance()
    650                                                 .get("notifyDepsAfterInstall", false)) {
     673                                if (!SettingsManager.getInstance().get(
     674                                                "notifyDepsAfterInstall", false)) {
    651675                                        int res = JOptionPane.showConfirmDialog(this, String
    652676                                                        .format(bundle
     
    736760                                revertSelection();
    737761                                if (installDeps.size() > 0
    738                                                 && Settings.getInstance().get("notifyDepsAfterInstall",
    739                                                                 false)) {
     762                                                && SettingsManager.getInstance().get(
     763                                                                "notifyDepsAfterInstall", false)) {
    740764                                        String installedDeps = "";
    741765                                        for (Package m : installDeps) {
     
    835859        }
    836860
    837         private Vector<String> getBasicOniLaunchParams() {
    838                 Vector<String> params = new Vector<String>();
    839                 File exe = null;
    840                 switch (Settings.getPlatform()) {
    841                         case WIN:
    842                                 exe = new File(Paths.getEditionBasePath(), "Oni.exe");
    843                                 if (exe.exists())
    844                                         params.add(exe.getPath());
    845                                 break;
    846                         case MACOS:
    847                                 exe = new File(Paths.getEditionBasePath(),
    848                                                 "Oni.app/Contents/MacOS/Oni");
    849                                 if (exe.exists())
    850                                         params.add(exe.getPath());
    851                                 break;
    852                         case LINUX:
    853                                 String wine = Settings.getWinePath();
    854                                 exe = new File(Paths.getEditionBasePath(), "Oni.exe");
    855                                 if (exe.exists()) {
    856                                         if (wine != null) {
    857                                                 params.add(wine);
    858                                                 params.add(exe.getPath());
    859                                         }
    860                                 }
    861                                 break;
    862                         default:
    863                 }
    864                 if (params.size() > 0) {
    865                         params.add("-debugfiles");
    866                 }
    867                 return params;
     861        private void oni(boolean windowed) {
     862                try {
     863                        OniLauncher.launch(windowed);
     864                } catch (FileNotFoundException e) {
     865                        JOptionPane.showMessageDialog(this,
     866                                        bundle.getString("oniExeNotFound.text"),
     867                                        bundle.getString("oniExeNotFound.title"),
     868                                        JOptionPane.ERROR_MESSAGE);
     869                        e.printStackTrace();
     870                } catch (ERuntimeNotInstalledException e) {
     871                        JOptionPane.showMessageDialog(this,
     872                                        bundle.getString("wineNotFound.text"),
     873                                        bundle.getString("wineNotFound.title"),
     874                                        JOptionPane.ERROR_MESSAGE);
     875                        e.printStackTrace();
     876                }
    868877        }
    869878
    870879        @SuppressWarnings("unused")
    871880        private void oniFull() {
    872                 Vector<String> params = getBasicOniLaunchParams();
    873                 if (params.size() > 0) {
    874                         AppExecution.execute(params, Paths.getEditionBasePath());
    875                 }
     881                oni(false);
    876882        }
    877883
    878884        @SuppressWarnings("unused")
    879885        private void oniWin() {
    880                 Vector<String> params = getBasicOniLaunchParams();
    881                 if (params.size() > 0) {
    882                         params.add("-noswitch");
    883                         AppExecution.execute(params, Paths.getEditionBasePath());
    884                 }
     886                oni(true);
    885887        }
    886888
  • AE/installer2/src/net/oni2/aeinstaller/gui/corepackages/CorePackagesDialog.java

    r708 r720  
    1212import javax.swing.KeyStroke;
    1313
     14import net.oni2.SettingsManager;
    1415import net.oni2.aeinstaller.backend.packages.Package;
    1516import net.oni2.aeinstaller.gui.modtable.ModSelectionListener;
     
    1718import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
    1819import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
    19 import net.oni2.settingsmanager.Settings;
    2020
    2121import org.javabuilders.BuildResult;
     
    6060                getRootPane().getActionMap().put("close", closeAction);
    6161
    62                 contents.setDividerLocation(Settings.getInstance().get("win_core_divloc", 550));
     62                contents.setDividerLocation(SettingsManager.getInstance().get("win_core_divloc", 550));
    6363                contents.setResizeWeight(0.4);
    6464
     
    6969                tblTools.addModSelectionListener(this);
    7070
    71                 setSize(Settings.getInstance().get("win_core_width", 950), Settings.getInstance().get("win_core_height", 600));
     71                setSize(SettingsManager.getInstance().get("win_core_width", 950), SettingsManager.getInstance().get("win_core_height", 600));
    7272                setLocationRelativeTo(null);
    7373        }
     
    8080        @SuppressWarnings("unused")
    8181        private void closing() {
    82                 Settings.getInstance().put("win_core_divloc", contents.getDividerLocation());
    83                 Settings.getInstance().put("win_core_width", getWidth());
    84                 Settings.getInstance().put("win_core_height", getHeight());
     82                SettingsManager.getInstance().put("win_core_divloc", contents.getDividerLocation());
     83                SettingsManager.getInstance().put("win_core_width", getWidth());
     84                SettingsManager.getInstance().put("win_core_height", getHeight());
    8585        }
    8686}
  • AE/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java

    r708 r720  
    3535import javax.swing.table.TableRowSorter;
    3636
     37import net.oni2.SettingsManager;
    3738import net.oni2.aeinstaller.backend.packages.Package;
    3839import net.oni2.aeinstaller.backend.packages.Type;
    3940import net.oni2.aeinstaller.gui.downloadwindow.Downloader;
    40 import net.oni2.settingsmanager.Settings;
    4141
    4242/**
     
    103103                List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
    104104
    105                 int sortCol = Settings.getInstance().get("modSortColumn", 1);
    106                 SortOrder sortOrder = SortOrder.valueOf(Settings.getInstance().get(
     105                int sortCol = SettingsManager.getInstance().get("modSortColumn", 1);
     106                SortOrder sortOrder = SortOrder.valueOf(SettingsManager.getInstance().get(
    107107                                "modSortOrder", "ASCENDING"));
    108108
     
    244244                                int col = keys.get(0).getColumn();
    245245                                SortOrder so = keys.get(0).getSortOrder();
    246                                 Settings.getInstance().put("modSortColumn", col);
    247                                 Settings.getInstance().put("modSortOrder", so.toString());
     246                                SettingsManager.getInstance().put("modSortColumn", col);
     247                                SettingsManager.getInstance().put("modSortOrder", so.toString());
    248248                        }
    249249                }
     
    459459                        for (int i = 1; i < columns.size(); i++) {
    460460                                TableColumn tc = columns.get(i);
    461                                 if (!Settings.getInstance().get(
     461                                if (!SettingsManager.getInstance().get(
    462462                                                String.format("modShowColumn%02d", tc.getModelIndex()),
    463463                                                true))
     
    506506                                                        tcm.removeColumn(col);
    507507                                                }
    508                                                 Settings.getInstance().put(
     508                                                SettingsManager.getInstance().put(
    509509                                                                String.format("modShowColumn%02d",
    510510                                                                                col.getModelIndex()), itm.isSelected());
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/LaFComboModel.java

    r708 r720  
    99import javax.swing.event.ListDataListener;
    1010
    11 import net.oni2.settingsmanager.Settings;
     11import net.oni2.SettingsManager;
    1212
    1313/**
     
    3232
    3333               
    34                 String laf = Settings.getInstance().get("lookandfeel",
     34                String laf = SettingsManager.getInstance().get("lookandfeel",
    3535                                UIManager.getLookAndFeel().getClass().getName());
    3636
  • AE/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java

    r708 r720  
    1414import javax.swing.UIManager;
    1515
    16 import net.oni2.settingsmanager.Settings;
     16import net.oni2.SettingsManager;
    1717
    1818import org.javabuilders.BuildResult;
     
    6666
    6767        private void initValues() {
    68                 Settings set = Settings.getInstance();
     68                SettingsManager set = SettingsManager.getInstance();
    6969
    7070                laFModel = new LaFComboModel();
     
    7979        @SuppressWarnings("unused")
    8080        private boolean save() {
    81                 Settings set = Settings.getInstance();
     81                SettingsManager set = SettingsManager.getInstance();
    8282
    8383                set.put("notifyupdates", chkNotifyOnStart.isSelected());
  • AE/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java

    r708 r720  
    1717import javax.swing.KeyStroke;
    1818
     19import net.oni2.SettingsManager;
    1920import net.oni2.aeinstaller.backend.oni.Installer;
    2021import net.oni2.aeinstaller.backend.packages.Package;
     
    2425import net.oni2.aeinstaller.gui.modtable.ModTable.ETableContentType;
    2526import net.oni2.aeinstaller.gui.packageinfobox.PackageInfoBox;
    26 import net.oni2.settingsmanager.Settings;
    2727
    2828import org.javabuilders.BuildResult;
     
    7373                getRootPane().getActionMap().put("close", closeAction);
    7474
    75                 contents.setDividerLocation(Settings.getInstance().get("win_tools_divloc", 550));
     75                contents.setDividerLocation(SettingsManager.getInstance().get("win_tools_divloc", 550));
    7676                contents.setResizeWeight(0.4);
    7777
     
    8787                                SwingJavaBuilder.getConfig().getResource("img.uninstall")));
    8888
    89                 setSize(Settings.getInstance().get("win_tools_width", 950), Settings.getInstance().get("win_tools_height", 600));
     89                setSize(SettingsManager.getInstance().get("win_tools_width", 950), SettingsManager.getInstance().get("win_tools_height", 600));
    9090                setLocationRelativeTo(null);
    9191        }
     
    100100                        } else {
    101101                                if (!selectedPackage.isLocalAvailable()) {
    102                                         if (Settings.getInstance().isOfflineMode()) {
     102                                        if (SettingsManager.getInstance().isOfflineMode()) {
    103103                                                JOptionPane.showMessageDialog(this,
    104104                                                                bundle.getString("offlineMode.text"),
     
    152152        @SuppressWarnings("unused")
    153153        private void closing() {
    154                 Settings.getInstance().put("win_tools_divloc", contents.getDividerLocation());
    155                 Settings.getInstance().put("win_tools_width", getWidth());
    156                 Settings.getInstance().put("win_tools_height", getHeight());
     154                SettingsManager.getInstance().put("win_tools_divloc", contents.getDividerLocation());
     155                SettingsManager.getInstance().put("win_tools_width", getWidth());
     156                SettingsManager.getInstance().put("win_tools_height", getHeight());
    157157        }
    158158}
  • AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties

    r673 r720  
    8989dotNetNotFound.text=This tool requires a .NET runtime but it was not found.
    9090dotNetNotFound.title=No .NET runtime found
     91
     92wineNotFound.text=Wine is required to run a Windows executable on Linux but it was not found.
     93wineNotFound.title=Wine not found
     94
     95oniExeNotFound.text=Oni's executable was not found.
     96oniExeNotFound.title=Oni not found
     97
     98exeNotFound.text=Executable was not found.
     99exeNotFound.title=Exe not found
Note: See TracChangeset for help on using the changeset viewer.