diff --git a/gui/README.md b/gui/README.md
deleted file mode 100644
index 6e2526e..0000000
--- a/gui/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-ASL GUI
-=========
-
-An optional Java interface to make the compile procces of ASL faster and more user-friendly. It's released under the MIT licence just like the core project.
-
-Maintained by yours truly: [654wak654](https://github.com/654wak654/)
-
-**Version 1.0.0.0**
-
-More style changes and bug fixes, marked ready for release.
-
-**Version 0.3.0.0:**
-
-Fixed some possible bugs, did some style fixes and other code adjustments. It's now is readable without getting cataracts. Mostly anyway...
diff --git a/gui/src/asl/gui/DlgError.java b/gui/src/asl/gui/DlgError.java
deleted file mode 100644
index f0a6c22..0000000
--- a/gui/src/asl/gui/DlgError.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * The MIT License
- *
- * Copyright 2015 Ozan Egitmen.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-package asl.gui;
-
-public class DlgError extends javax.swing.JDialog {
-
- boolean isAbort = true;
-
- public DlgError(java.awt.Frame parent, boolean modal, String errorMessage) {
- super(parent, modal);
- initComponents();
- lblError.setText(errorMessage);
- }
-
- private void initComponents() {
-
- lblError = new javax.swing.JLabel();
- lblTitle = new javax.swing.JLabel();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setTitle("ERROR");
- setIconImage(null);
- setMinimumSize(new java.awt.Dimension(380, 150));
- setResizable(false);
- setType(java.awt.Window.Type.POPUP);
-
- lblError.setFont(new java.awt.Font("Segoe UI Light", 0, 16));
- lblError.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- lblError.setText("Some error");
-
- lblTitle.setFont(new java.awt.Font("Segoe UI Light", 0, 16));
- lblTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- lblTitle.setText("asl.exe has encountered an error:");
- lblTitle.setToolTipText("");
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(lblTitle, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE).addComponent(lblError, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));
- layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(lblTitle).addGap(18, 18, 18).addComponent(lblError).addGap(27, 27, 27)));
-
- pack();
- }
-
- private javax.swing.JLabel lblError;
- private javax.swing.JLabel lblTitle;
-}
\ No newline at end of file
diff --git a/gui/src/asl/gui/Main.java b/gui/src/asl/gui/Main.java
deleted file mode 100644
index abefe59..0000000
--- a/gui/src/asl/gui/Main.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * The MIT License
- *
- * Copyright 2015 Ozan Egitmen.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-package asl.gui;
-
-import java.awt.Color;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.prefs.Preferences;
-import javax.swing.BorderFactory;
-import javax.swing.JFileChooser;
-import javax.swing.JTextField;
-import javax.swing.SwingUtilities;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
-import javax.swing.border.Border;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.plaf.ColorUIResource;
-
-public class Main extends javax.swing.JFrame {
-
- Preferences prefs = Preferences.userRoot().node(this.getClass().getName());
- boolean inputError = false, outputError = false, aslError = false;
-
- public Main() {
- initComponents();
- getContentPane().setBackground(Color.WHITE);
- lblASLError.setText(" ");
- lblInputError.setText(" ");
- lblOutputError.setText(" ");
- txtASLDir.setText(prefs.get("aslDir", ""));
- txtInputDir.setText(prefs.get("inputDir", ""));
- txtOutputDir.setText(prefs.get("outputDir", ""));
- cbCompileAll.setSelected(prefs.getBoolean("compileAll", false));
- cbPrettyPrinting.setSelected(prefs.getBoolean("prettyPrinting", false));
- }
-
- private String fileChooser(String title, int fileType) {
- JFileChooser chooser = new JFileChooser();
- if (fileType == 0) {
- chooser.setFileFilter(new FileNameExtensionFilter("Executable", "exe"));
- chooser.setAcceptAllFileFilterUsed(false);
- }
- chooser.setFileSelectionMode(fileType);
- chooser.setDialogTitle(title);
- String selectedPath = "";
- if (chooser.showOpenDialog(null) == 0)
- selectedPath = chooser.getSelectedFile().toString();
- else
- chooser.cancelSelection();
- return selectedPath;
- }
-
- private void setErrorCondition(int i, boolean j) {
- if (i == 0) {
- lblASLError.setText(j ? "asl.exe isn't in this location! You can click this message to download it." : " ");
- aslError = j;
- } else if (i == 1) {
- lblInputError.setText(j ? "This folder doesn't exist!" : " ");
- inputError = j;
- } else {
- lblOutputError.setText(j ? "Output folder doesn't exsist! Click this message to create it." : " ");
- outputError = j;
- }
- }
-
- private void initComponents() {
-
- lblInput = new javax.swing.JLabel();
- txtInputDir = new javax.swing.JTextField();
- lblOutput = new javax.swing.JLabel();
- txtOutputDir = new javax.swing.JTextField();
- btnInput = new javax.swing.JButton();
- btnOutput = new javax.swing.JButton();
- lblASL = new javax.swing.JLabel();
- txtASLDir = new javax.swing.JTextField();
- btnASL = new javax.swing.JButton();
- jSeparator = new javax.swing.JSeparator();
- lblASLSmall = new javax.swing.JLabel();
- lblInputSmall = new javax.swing.JLabel();
- lblOutputSmall = new javax.swing.JLabel();
- cbCompileAll = new javax.swing.JCheckBox();
- cbPrettyPrinting = new javax.swing.JCheckBox();
- btnCompile = new javax.swing.JButton();
- lblASLError = new javax.swing.JLabel();
- lblInputError = new javax.swing.JLabel();
- lblOutputError = new javax.swing.JLabel();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("ASL GUI");
- setResizable(false);
-
- lblInput.setFont(new java.awt.Font("Microsoft JhengHei UI Light", 0, 16));
- lblInput.setText("Input Directory:");
- lblInput.setOpaque(true);
-
- txtInputDir.setFont(new java.awt.Font("Segoe UI Light", 0, 16));
-
- lblOutput.setFont(new java.awt.Font("Microsoft JhengHei UI Light", 0, 16));
- lblOutput.setText("Output Directory:");
- lblOutput.setOpaque(true);
-
- txtOutputDir.setFont(new java.awt.Font("Segoe UI Light", 0, 16));
-
- btnInput.setText("...");
- btnInput.setToolTipText("Opens a dialog to select input file");
- btnInput.setFocusable(false);
- btnInput.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnInputMouseClicked(evt);
- }
- });
-
- btnOutput.setText("...");
- btnOutput.setToolTipText("Opens a dialog to select output directory");
- btnOutput.setFocusable(false);
- btnOutput.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnOutputMouseClicked(evt);
- }
- });
-
- lblASL.setFont(new java.awt.Font("Microsoft JhengHei UI Light", 0, 16));
- lblASL.setText("ASL Compiler Directory");
- lblASL.setOpaque(true);
-
- txtASLDir.setFont(new java.awt.Font("Segoe UI Light", 0, 16));
-
- btnASL.setText("...");
- btnASL.setToolTipText("Opens a dialog to select the compiler location");
- btnASL.setFocusable(false);
- btnASL.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnASLMouseClicked(evt);
- }
- });
-
- jSeparator.setToolTipText("");
-
- lblASLSmall.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblASLSmall.setText("Location of the asl.exe file.");
- lblASLSmall.setOpaque(true);
-
- lblInputSmall.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblInputSmall.setText("Directory of scripts that will be compiled in to the output directory.");
- lblInputSmall.setOpaque(true);
-
- lblOutputSmall.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblOutputSmall.setText("Directory that the compiled .sqf script(s) will be saved in.");
- lblOutputSmall.setOpaque(true);
-
- cbCompileAll.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 11));
- cbCompileAll.setText("Compile all scripts in subfolders too.");
- cbCompileAll.setFocusable(false);
- cbCompileAll.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- cbCompileAllStateChanged(evt);
- }
- });
-
- cbPrettyPrinting.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 11));
- cbPrettyPrinting.setText("Activate pretty printing.");
- cbPrettyPrinting.setFocusable(false);
- cbPrettyPrinting.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- cbPrettyPrintingStateChanged(evt);
- }
- });
-
- btnCompile.setFont(new java.awt.Font("Microsoft JhengHei UI Light", 0, 16));
- btnCompile.setText("Compile");
- btnCompile.setToolTipText("Opens a dialog to select output directory");
- btnCompile.setFocusable(false);
- btnCompile.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnCompileMouseClicked(evt);
- }
- });
-
- lblASLError.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblASLError.setForeground(java.awt.Color.red);
- lblASLError.setText("Some error");
- lblASLError.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- lblASLErrorMouseClicked(evt);
- }
- });
-
- lblInputError.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblInputError.setForeground(java.awt.Color.red);
- lblInputError.setText("Some error");
-
- lblOutputError.setFont(new java.awt.Font("Microsoft YaHei UI", 0, 10));
- lblOutputError.setForeground(java.awt.Color.red);
- lblOutputError.setText("Some error");
- lblOutputError.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- lblOutputErrorMouseClicked(evt);
- }
- });
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jSeparator).addGroup(layout.createSequentialGroup().addGap(15, 15, 15).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(lblOutputError, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(lblInputError, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false).addComponent(lblASLError, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(lblASL).addComponent(lblASLSmall).addGroup(layout.createSequentialGroup().addComponent(txtASLDir, javax.swing.GroupLayout.PREFERRED_SIZE, 320, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(6, 6, 6).addComponent(btnASL)).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(txtOutputDir, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 320, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(lblOutput, javax.swing.GroupLayout.Alignment.LEADING)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(btnOutput)).addComponent(lblOutputSmall).addComponent(lblInput).addGroup(layout.createSequentialGroup().addComponent(txtInputDir, javax.swing.GroupLayout.PREFERRED_SIZE, 320, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(btnInput)).addComponent(lblInputSmall).addComponent(cbCompileAll).addComponent(cbPrettyPrinting))).addComponent(btnCompile, javax.swing.GroupLayout.PREFERRED_SIZE, 373, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(20, 20, 20)));
- layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(6, 6, 6).addComponent(lblASL).addGap(3, 3, 3).addComponent(lblASLSmall).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(txtASLDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(btnASL, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(4, 4, 4).addComponent(lblASLError).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(3, 3, 3).addComponent(lblInput).addGap(3, 3, 3).addComponent(lblInputSmall, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(txtInputDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(btnInput, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(4, 4, 4).addComponent(lblInputError).addGap(6, 6, 6).addComponent(lblOutput).addGap(3, 3, 3).addComponent(lblOutputSmall, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(6, 6, 6).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(txtOutputDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(btnOutput, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(4, 4, 4).addComponent(lblOutputError).addGap(6, 6, 6).addComponent(cbCompileAll).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(cbPrettyPrinting).addGap(11, 11, 11).addComponent(btnCompile, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(11, 11, 11)));
-
- pack();
- setLocationRelativeTo(null);
- }
-
- private void btnInputMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt)) {
- String path = fileChooser("Select input directory", 1);
- File inputDir = new File(path);
- if (inputDir.exists()) {
- prefs.put("inputDir", path);
- txtInputDir.setText(path);
- if (inputError)
- setErrorCondition(1, false);
- }
- }
- }
-
- private void btnOutputMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt)) {
- String path = fileChooser("Select output directory", 1);
- File outputDir = new File(path);
- if (outputDir.exists()) {
- prefs.put("outputDir", path);
- txtOutputDir.setText(path);
- if (outputError)
- setErrorCondition(2, false);
- }
- }
- }
-
- private void btnASLMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt)) {
- String path = fileChooser("Select 'asl.exe' location", 0);
- File asl = new File(path);
- if (asl.exists()) {
- prefs.put("aslDir", path);
- txtASLDir.setText(path);
- if (aslError)
- setErrorCondition(0, false);
- }
- }
- }
-
- private void btnCompileMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt)) {
- JTextField[] dirFields = {txtASLDir, txtInputDir, txtOutputDir};
- for (byte i = 0; i < 3; i++) {
- File bleh = new File(dirFields[i].getText());
- setErrorCondition(i, !bleh.exists());
- }
- if (aslError || inputError || outputError)
- return;
- String prettyPrinting = cbPrettyPrinting.isSelected() ? "-pretty" : "", compileAll = cbCompileAll.isSelected() ? "-r" : "", asl = txtASLDir.getText(), input = txtInputDir.getText(), output = txtOutputDir.getText(), error = " ";
- try {
- Process aslProcess = new ProcessBuilder(asl, compileAll, prettyPrinting, input, output).start();
- BufferedReader br = new BufferedReader(new InputStreamReader(aslProcess.getInputStream()));
- String line;
- while ((line = br.readLine()) != null) {
- if (line.toLowerCase().contains("panic")) {
- error = line;
- }
- }
- aslProcess.waitFor();
- } catch (IOException | InterruptedException ex) {
- Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
- }
- if (!error.equals(" ")) {
- DlgError showError = new DlgError(this, true, error);
- showError.setLocationRelativeTo(this);
- showError.setVisible(true);
- }
- }
- }
-
- private void cbCompileAllStateChanged(javax.swing.event.ChangeEvent evt) {
- prefs.putBoolean("compileAll", cbCompileAll.isSelected());
- }
-
- private void cbPrettyPrintingStateChanged(javax.swing.event.ChangeEvent evt) {
- prefs.putBoolean("prettyPrinting", cbPrettyPrinting.isSelected());
- }
-
- private void lblOutputErrorMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt) && outputError) {
- new File(txtOutputDir.getText()).mkdirs();
- setErrorCondition(2, false);
- }
- }
-
- private void lblASLErrorMouseClicked(java.awt.event.MouseEvent evt) {
- if (SwingUtilities.isLeftMouseButton(evt) && aslError) {
- try {
- URI github = new URI("https://github.com/DeKugelschieber/asl/releases");
- java.awt.Desktop.getDesktop().browse(github);
- } catch (URISyntaxException | IOException ex) {
- Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
- }
- setErrorCondition(0, false);
- }
- }
-
- public static void main(String args[]) {
- try {
- UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
- } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
- Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
- }
- UIManager.put("ToolTip.background", new ColorUIResource(255, 255, 255));
- UIManager.put("ToolTip.foreground", new ColorUIResource(87, 87, 87));
- Border lineBorder = BorderFactory.createLineBorder(new Color(118, 118, 118));
- UIManager.put("ToolTip.border", lineBorder);
- Border compoundBorder = BorderFactory.createCompoundBorder(UIManager.getBorder("ToolTip.border"), BorderFactory.createEmptyBorder(0, 2, 2, 3));
- UIManager.put("ToolTip.border", compoundBorder);
- java.awt.EventQueue.invokeLater(() -> {
- new Main().setVisible(true);
- });
- }
-
- private javax.swing.JButton btnASL;
- private javax.swing.JButton btnCompile;
- private javax.swing.JButton btnInput;
- private javax.swing.JButton btnOutput;
- private javax.swing.JCheckBox cbCompileAll;
- private javax.swing.JCheckBox cbPrettyPrinting;
- private javax.swing.JSeparator jSeparator;
- private javax.swing.JLabel lblASL;
- private javax.swing.JLabel lblASLError;
- private javax.swing.JLabel lblASLSmall;
- private javax.swing.JLabel lblInput;
- private javax.swing.JLabel lblInputError;
- private javax.swing.JLabel lblInputSmall;
- private javax.swing.JLabel lblOutput;
- private javax.swing.JLabel lblOutputError;
- private javax.swing.JLabel lblOutputSmall;
- private javax.swing.JTextField txtASLDir;
- private javax.swing.JTextField txtInputDir;
- private javax.swing.JTextField txtOutputDir;
-}
diff --git a/gui/ASL GUI.exe b/tools/ASL GUI.exe
similarity index 100%
rename from gui/ASL GUI.exe
rename to tools/ASL GUI.exe
diff --git a/tools/README.md b/tools/README.md
new file mode 100644
index 0000000..d049134
--- /dev/null
+++ b/tools/README.md
@@ -0,0 +1,23 @@
+#ASL Tools
+A tool set of visual helpers to ease the work of asl developers.
+Maintained by yours truly: [654wak654](https://github.com/654wak654/)
+
+##ASL GUI
+An optional Java interface to make the compile procces of ASL faster and more user-friendly. It's released under the MIT licence just like the core project. It also helps with error reporting of asl.
+
+**Version 1.0.0.0**
+- More style changes and bug fixes, marked ready for release.
+
+**Version 0.3.0.0:**
+- Fixed some possible bugs, did some style fixes and other code adjustments. It's now is readable without getting cataracts. Mostly anyway...
+
+
+##Syntax Higligthing
+**Notepad++**
+https://github.com/DeKugelschieber/asl/blob/master/tools/asl.xml
+**Atom**
+*Soon™*
+**Visual Studio Code**
+*Soon™*
+**Sublime Text 2**
+*Also Soon™*
\ No newline at end of file
diff --git a/tools/asl.xml b/tools/asl.xml
new file mode 100644
index 0000000..6dbe196
--- /dev/null
+++ b/tools/asl.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+ 00// 01 02 03/* 04*/
+
+
+
+
+
+
+
+ ! % & | * ( ) , : ; ^ + - / < = >
+
+ { [
+
+ } ]
+
+
+
+
+
+
+ case
catch
code
default
exitwith
false
for
foreach
func
if
return
switch
true
try
var
waituntil
whilecase
catch
code
default
else
exitwith
false
for
foreach
func
if
return
switch
true
try
var
waituntil
while
+ _ #
+ abs accTime acos action actionKeys actionKeysImages actionKeysNames actionKeysNamesArray activateAddons activateKey addAction addBackpack addBackpackCargo addBackpackCargoGlobal addCamShake addEditorObject addEventHandler addGroupIcon addLiveStats addMagazine addMagazineCargo addMagazineCargoGlobal addMagazinePool addMagazineTurret addMenu addMenuItem addMPEventHandler addPublicVariableEventHandler addRating addResources addScore addSwitchableUnit addTeamMember addVehicle addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponPool agent agents aimedAtTarget aimPos airportSide AISFinishHeal alive allDead allGroups allMissionObjects allow3DMode allowCrewInImmobile allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allUnits ammo and animate animationPhase animationState armoryPoints asin ASLToATL assert assignAsCargo assignAsCommander assignAsDriver assignAsGunner assignedCargo assignedCommander assignedDriver assignedGunner assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachObject attachTo attackEnabled backpackSpaceFor behaviour benchmark boundingBox boundingCenter breakOut breakTo buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canFire canMove canStand canUnloadInCombat captive captiveNum case catch ceil cheatsEnabled checkAIFeature clearBackpackCargoGlobal clearGroupIcons clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearVehicleInit clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool closeDialog closeDisplay closeOverlay collapseObjectTree combatMode commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandTarget commandWatch comment commitOverlay compile completedFSM composeText configFile configName copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createSimpleTask createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlCommit ctrlCommitted ctrlEnable ctrlEnabled ctrlFade ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlParent ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontP ctrlSetFontPB ctrlSetForegroundColor ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlType ctrlVisible currentCommand currentMagazine currentMuzzle currentTask currentTasks currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentZeroing cursorTarget cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debugFSM debugLog default deg deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteResources deleteStatus deleteTeam deleteVehicle deleteWaypoint detach diag_captureFrame diag_captureSlowFrame diag_fps diag_fpsMin diag_frameNo diag_log diag_logSlowFrame diag_tickTime dialog diarySubjectExists difficultyEnabled direction directSay disableAI disableConversation disableSerialization disableTIEquipment disableUserInput displayAddEventHandler displayCtrl displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distributionRegion do doFire doFollow doFSM doGetOut doMove doStop doTarget doWatch drawArrow drawEllipse drawIcon drawLine drawLink drawLocation drawRectangle driver drop echo editObject editorSetEventHandler effectiveCommander else emptyPositions enableAI enableAIFeature enableAttack enableCamShake enableEndDialog enableEngineArtillery enableEnvironment enableGunLights enableIRLasers enableRadio enableReload enableSaving enableSentences enableSimulation enableTeamSwitch endLoadingScreen endMission engineOn entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument exec execEditorScript execFSM execVM exitWith exp expectedDestination eyeDirection eyePos faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget flag flagOwner fleeing floor flyInHeight fog fogForecast for forceEnd forceMap forceSpeed forceWalk forEach forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader from fromEditor fuel gearIDCAmmoCount gearSlotAmmoCount gearSlotData getArray getBackpackCargo getDammage getDir getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFriend getFSMVariable getGroupIcon getGroupIconParams getGroupIcons getHideFrom getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getNumber getObjectArgument getObjectChildren getObjectProxy getPlayerUID getPlayerUIDOld getPos getPosASL getPosATL getResolution getSpeed getTerrainHeightASL getText getVariable getWeaponCargo getWPPos glanceAt globalChat globalRadio group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupRadio groupSelectedUnits groupSelectUnit gunner halt handsHit hasInterface hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar hideBody hideObject hint hintC hintCadet hintSilent hostMission htmlLoad if image importAllGroups importance in inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inputAction insertEditorObject intersect isAgent isArray isAutoHoverOn isClass isDedicated isEngineOn isFlatEmpty isForcedWalk isFormationLeader isHidden isHideBehindScripted isKeyActive isKindOf isManualFire isMarkedForCollection isMultiplayer isNil isNull isNumber isOnRoad isPlayer isRealTime isServer isShowing3DIcons isText isWalking items join joinAs joinAsSilent joinSilent kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetSelected lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn limitSpeed lineBreak lineIntersects lineIntersectsWith list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus local localize locationPosition lock lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockTurret lockWP log lookAt lookAtPos magazines magazinesTurret mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members min missionConfigFile missionName missionNamespace missionStart mod modelToWorld moonIntensity morale move moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearObjects nearObjectsReady nearRoads nearTargets needReload netId newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberToDate objectFromNetId objStatus onBriefingGear onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openDSInterface openMap or orderGetIn overcast overcastForecast owner parseNumber parseText parsingNamespace pi pickWeaponPool playableUnits playAction playActionNow playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon priority private processDiaryLink processInitCommands productVersion profileNamespace progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer putWeaponPool queryMagazinePool queryWeaponPool rad radioVolume rain random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl removeAction removeAllEventHandlers removeAllItems removeAllMPEventHandlers removeAllWeapons removeBackpack removeDrawIcon removeDrawLinks removeEventHandler removeGroupIcon removeMagazine removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMPEventHandler removeSimpleTask removeSwitchableUnit removeTeamMember removeWeapon requiredVersion resetCamShake resize resources respawnVehicle restartEditorCamera reveal reversedMouseY roadsConnectedTo round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY saveGame saveIdentity saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenToWorld scriptDone scriptName scudState secondaryWeapon select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionPosition selectLeader selectNoPlayer selectPlayer selectWeapon sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverTime set setAccTime setAirportSide setAmmoCargo setAperture setArmoryPoints setAttributes setBehaviour setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCombatMode setCurrentTask setCurrentWaypoint setDamage setDammage setDate setDestination setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setEyeAdaptMax setEyeAdaptMin setEyeAdaptMinMaxDefault setFace setFaceAnimation setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGearSlotAmmoCount setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setHideBehind setHit setIDCAmmoCount setIdentity setImportance setLeader setLightAmbient setLightBrightness setLightColor setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMimic setMousePosition setMusicEffect setName setObjectArguments setObjectProxy setObjectTexture setOvercast setOwner setParticleCircle setParticleParams setParticleRandom setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosATL setPosition setRadioMsg setRain setRank setRectangular setRepairCargo setSide setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSize setSkill setSoundEffect setSpeedMode setTargetAge setTaskResult setTaskState setTerrainGrid setText setTitleEffect setToneMapping setToneMappingParams setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleArmor setVehicleId setVehicleInit setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointFormation setWaypointHousePosition setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWPPos show3DIcons showCinemaBorder showCommandingMenu showCompass showGPS showHUD showLegend showMap shownCompass showNewEditorObject shownGPS shownMap shownPad shownRadio shownWarrant shownWatch showPad showRadio showSubtitles showWarrant showWatch showWaypoint side sideChat sideRadio simpleTasks simulationEnabled sin size sizeOf skill skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed someAmmo soundVolume spawn speed speedMode sqrt startLoadingScreen step stop stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType switch switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat tan targetsAggregate targetsQuery taskChildren taskCompleted taskDescription taskDestination taskHint taskParent taskResult taskState teamMember teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text textLog textLogFormat tg then throw time titleCut titleFadeOut titleObj titleRsc titleText to toArray toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerType try turretUnit type typeName typeOf uiNamespace uiSleep unassignTeam unassignVehicle unitBackpack unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAudioTimeForMoves vectorDir vectorUp vehicle vehicleChat vehicleRadio vehicles vehicleVarName velocity verifySignature viewDistance visibleMap visiblePosition visiblePositionASL waitUntil waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointFormation waypointHousePosition waypointPosition waypointVisible waypoints waypointScript waypointShow waypointSpeed waypointStatements waypointTimeout waypointType weaponDirection weapons weaponState weaponsTurret WFSideText while wind with worldName worldToModel worldToScreen actionName activatedAddons addBackpackGlobal addGoggles addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addMagazineAmmoCargo addMagazineGlobal addMagazines addMissionEventHandler addMusicEventHandler addPrimaryWeaponItem addScoreSide addSecondaryWeaponItem addToRemainsCollector addUniform addVest addWeaponGlobal addWeaponItem addWeaponTurret AGLToASL allControls allDeadMen allDisplays allMapMarkers allMines allPlayers allSites allTurrets allUnitsUAV allVariables animateDoor append arrayIntersect ASLToAGL assignAsCargoIndex assignAsTurret assignedItems assignItem attachedObjects attachedTo backpack backpackCargo backpackContainer backpackItems backpackMagazines binocular boundingBoxReal briefingName buldozer_EnableRoadDiag buldozer_IsEnabledRoadDiag buldozer_LoadNewRoads buldozer_reloadOperMap cancelSimpleTaskDestination canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cbChecked cbSetChecked channelEnabled checkVisibility className clearAllItemsFromBackpack clearBackpackCargo clearItemCargo clearItemCargoGlobal clearItemPool commandArtilleryFire compileFinal configClasses configHierarchy configProperties configSourceMod configSourceModList connectTerminalToUAV controlsGroupCtrl createSite createVehicleCrew ctrlChecked ctrlClassName ctrlCreate ctrlDelete ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParentControlsGroup ctrlSetChecked ctrlSetFontHeightSecondary ctrlSetFontSecondary ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetTextColorSecondary ctrlSetTextSecondary ctrlTextHeight ctrlTextSecondary currentChannel currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentNamespace currentThrowable currentWeaponTurret customChat customRadio debriefingText deleteAt deleteRange deleteSite deleteVehicleCrew detectedMines diag_activeMissionFSMs diag_activeSQFScripts diag_activeSQSScripts didJip didJIPOwner difficulty disableCollisionWith disableDebriefingStats disableNVGEquipment disableRemoteSensors disableUAVConnectability distance2D distanceSqr doArtilleryFire doorPhase drawIcon3D drawLine3D enableAudioFeature enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableFatigue enableMimics enablePersonTurret enableSatNormalOnDetail enableSimulationGlobal enableStressDamage enableTraffic enableUAVConnectability enableUAVWaypoints exportJIPMessages everyBackpack everyContainer face firstBackpack flagSide flagTexture fogParams forceAddUniform forceRespawn forceWeaponFire forceWeatherChange freeLook fullCrew getAllHitPointsDamage getAmmoCargo getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getBleedingRemaining getBurningValue getCargoIndex getCenterOfMass getClientState getConnectedUAV getDescription getDirVisual getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getDLCUsageTime getFatigue getFieldManualStartPage getFuelCargo getHit getHitIndex getHitPointDamage getItemCargo getMass getMissionDLCs getModelInfo getMousePosition getObjectDLC getObjectMaterials getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPlayerChannel getPosASLVisual getPosASLW getPosATLVisual getPosVisual getPosWorld getRemoteSensorsDisabled getRepairCargo getShadowDistance getStatValue getSuppression getTotalDLCUsageTime goggles groupID groupOwner gusts handgunItems handgunMagazine handgunWeapon headgear hideObjectGlobal hmd HUDMovementLevels humidity incapacitatedState inRangeOfArtillery isAbleToBreathe isAutonomous isAutotest isBleeding isBurning isCollisionLightOn isCopilotEnabled isDLCAvailable isEqualTo isFilePatchingEnabled isFlashlightOn isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isLightOn isLocalized isObjectHidden isPipEnabled isSteamMission isStreamFriendlyUIEnabled isStressDamageEnabled isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isWeaponDeployed isWeaponRested itemCargo itemsWithMagazines joinString language lbColorRight lbPictureRight lbSetColorRight lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected lbSetSelectColor lbSetSelectColorRight lbSetTextRight lbSetTooltip lbTextRight lightnings linearConversion lineIntersectsObjs lineIntersectsSurfaces linkItem lnbColorRight lnbPictureRight lnbSetColorRight lnbSetPictureColor lnbSetPictureColorRight lnbSetPictureColorSelected lnbSetPictureColorSelectedRight lnbSetPictureRight lnbSetTextRight lnbTextRight load loadAbs loadBackpack loadUniform loadVest lockCameraTo logEntities magazineCargo magazinesAllTurrets magazineTurretAmmo magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest mapCenterOnCamera markAsFinishedOnSteam menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetaction menuSetcheck menuSetdata menuSetpicture menuSetvalue menuShortcut menuShortcuttext menuSize menuSort menuText menuUrl menuValue missionDifficulty mineActive mineDetectedBy modelToWorldVisual moveInAny nameSound nearSupplies objectParent openDLCPage openYoutubeVideo param params particlesQuality pitch playableSlotsNumber playSound3D ppEffectForceInNVG primaryWeaponItems primaryWeaponMagazine profileName profileNameSteam pushBack queryItemsPool radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel rainbow remoteExec remoteExecCall removeAllActions removeAllAssignedItems removeAllContainers removeAllHandgunItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMusicEventHandlers removeAllPrimaryWeaponItems removeBackpackGlobal removeFromRemainsCollector removeGoggles removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazineGlobal removeMissionEventHandler removeMusicEventHandler removePrimaryWeaponItem removeSecondaryWeaponItem removeUniform removeVest removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret resetSubgroupDirection revealMine reverse roleDescription saveJoysticks secondaryWeaponItems secondaryWeaponMagazine selectWeaponTurret sendAUMessage serverCommandExecutable serverName setAmmo setApertureNew setAutonomous setBleedingRemaining setCenterOfMass setCollisionLight setCompassOscillation setCurrentChannel setDebriefingText setDefaultCamera setDetailMapBlendPars setFatigue setGroupIdGlobal setGroupOwner setGusts setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setLightAttenuation setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMass setMusicEventHandler setNameSound setObjectMaterial setObjectMaterialGlobal setObjectTextureGlobal setObjectViewDistance setOxygenRemaining setParticleClass setParticleFire setPilotLight setPiPEffect setPitch setPosASLW setPosWorld setRainbow setRandomLip setShadowDistance setSimulWeatherLayers setSpeaker setSpeech setStatValue setSuppression setSystemOfUnits setTimeMultiplier setTrafficDensity setTrafficDistance setTrafficGap setTrafficSpeed setUnloadInCombat setUserActionText setVehicleAmmoDef setWaves setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWindDir setWindForce setWindStr showChat shownArtilleryComputer shownChat shownHUD shownUAVFeed showUAVFeed simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync skillFinal soldierMagazines sort speaker splitString squadParams stance swimInDepth synchronizedTriggers synchronizedWaypoints systemOfUnits targetKnowledge timeMultiplier triggerTimeoutCurrent turretLocal turretOwner tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvPictureRight tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorRight tvSetPictureRight tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue UAVControl unassignItem underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unlinkItem vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUpVisual velocityModelSpace vest vestContainer vestItems vestMagazines visibleCompass visibleGPS visibleWatch waves waypointLoiterRadius waypointLoiterType waypointName waypointsEnabledUAV waypointTimeoutCurrent weaponAccessories weaponAccessoriesCargo weaponCargo weaponInertia weaponLowered weaponsItems weaponsItemsCargo windDir windStr worldSize worldToModelVisual addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints allCurators allowCuratorLogicIgnoreAreas assignCurator curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost getAssignedCuratorLogic getAssignedCuratorUnit objectCurators openCuratorInterface removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost showCuratorCompass shownCuratorCompass unassignCurator addForceGeneratorRTD airDensityCurveRTD airDensityRTD clearForcesRTD collectiveRTD difficultyEnabledRTD enableAutoStartUpRTD enableAutoTrimRTD enginesIsOnRTD enginesPowerRTD enginesRpmRTD enginesTorqueRTD forceAtPositionRTD forceGeneratorRTD getEngineTargetRpmRTD getRotorBrakeRTD getTrimOffsetRTD getWingsOrientationRTD getWingsPositionRTD isAutoStartUpEnabledRTD isAutoTrimOnRTD isObjectRTD numberOfEnginesRTD rotorsForcesRTD rotorsRpmRTD setActualCollectiveRTD setBrakesRTD setCustomWeightRTD setEngineRpmRTD setForceGeneratorRTD setRotorBrakeRTD setWantedRpmRTD setWingForceScaleRTD stopEngineRTD weightRTD windRTD wingsForcesRTD canSlingLoad enableRopeAttach getSlingLoad ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound setSlingLoad slingLoadAssistantShown leaderboardDeInit leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardRequestRowsGlobal leaderboardRequestRowsGlobalAroundUser leaderboardsRequestUploadScore leaderboardsRequestUploadScoreKeepBest leaderboardState add3DENConnection add3DENEventHandler all3DENEntities collect3DENHistory create3DENComposition create3DENEntity current3DENOperation delete3DENEntities do3DENAction get3DENActionstate get3DENAttribute get3DENCamera get3DENConnections get3DENEntityID get3DENGrid get3DENLinesVisible get3DENMouseOver get3DENSelected is3DEN is3DENMultiplayer move3DENCamera remove3DENConnection remove3DENEventHandler removeall3DENEventHandlers set3DENAttributes set3DENGrid set3DENLinesVisible set3DENObjectType paramsArray sideEnemy sideFriendly sideLogic sideUnknown
+ blufor civilian controlNull displayNull east false grpNull independent locationNull netObjNull nil objNull opfor player resistance scriptNull taskNull teamMemberNull true west
+
+
+
+
+ 00" 01 02" 03' 04 05' 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+