Introduction
GLCV3 boasts a variable system for Developer Edition users.
The use of variables allows you to create, edit, store and use numbers and text strings for use throughout your launcher.
How to use variables
To use a variable in your text strings, command line switches or anywhere else they are supported, simply take the variable name and wrap it in % sign.
If you are using variables in a text string, you must ensure that ‘Constant String‘ is toggled to on, otherwise the variables won’t be rendered.
System Variable List
TEMPDIR – This is the path to the launcher’s temporary directory on the user’s computer. When the launcher is run for the first time, a set of directories are created in %appdata%\glclaunchers\ and a folder is created which is your launcher title. An example would be C:\Users\andrew\AppData\Roaming\glclaunchers\my game launcher\
LOCALVERSION – The local version number retrieved from whatever you have setup under Versioning
REMOTEVERSION – The remote version number retrieved from wherever you specified under Versioning
BGMVOL – The current volume of the global background music (0 – 100)
SCREENHEIGHT – The height of the user’s screen resolution
SCREENWIDTH – The width of the user’s screen resolution
APPDATA – This returns the absolute path to the user’s %APPDATA% folder
CURUSERFOL – This returns the absolute path to the user’s CURRENT USER folder
USERDOCS – This returns the absolute path to the user’s DOCUMENTS folder
DOWNLOADPERCENT – The download percentage of the current file being downloaded by the download action
DLSPEEDB – The download speed of the current file being downloaded by the download action, in bytes
DLSPEEDMB – The download speed of the current file being downloaded by the download action, in megabytes
DOWNLOADURL – The URL of the file being downloaded by the download action
DOWNLOADFILE – The filename of the file being downloaded by the download action
STATUSAOPS – The current status string from the Patching System
CURRENTFILEAOPS – The current file being scanned or downloaded or patched by the Patching System
TOTALAOPSPROGRESS – The total patch progress of the Patching System, returned as a number (0 – 100)
CURRENTFILEPROGRESSAOPS – The total progress of patching the individual file in CURRENTFILEAOPS, returned as a number (0-100)
PERCENT – Converts a % sign
Note on PERCENT: Because % is a reserved character for the variable string system, it would mean you can’t use % in your strings. So in order to return a % sign in your strings, you should use %PERCENT%. As an example, if you were to display the AOPS Progress, you would write it as:
%TOTALAOPSPROGRESS%%PERCENT%
Which as an example, would return: 52%
Custom Variables
You can define your own custom variables to use throughout your launcher application. In order to ‘create’ a custom variable, you need to choose a location where this variable is coming from.
Textboxes
To use the input from a text box as a variable, you can simply go to the textbox’s settings and go to Developer Settings and toggle ‘Enable Custom Variable’ to on then type in the variable name you want to use. So if this was a username box, you could use the variable name username. Then to reference this variable somewhere else, you simply use %username% in the syntax.
Examples
Display Versioning Information
To display the versioning information inside your launcher, you simply create a text string like this:
Local: %LOCALVERSION% Latest: %REMOTEVERSION%
Load Data and Send in Query
To load data from an INI file and send it via a PHP query string, you do this…
- Create a textbox and in the settings choose Developer Settings
- Enable INI Save/Load
- Configure the INI settings
- Configure the Custom Variable Name
Once you have done this, you can create your Query String and go to the settings of that and configure those settings.
- Configure the URL to your script online
- Send the username as part of the additional parameters (?username is the query var your script is waiting for and %username% is the name of your custom variable from the textbox).
- Set a Script Execution Delay of at least 10, in order to give the launcher time to load the information from the INI first
Custom Patching Page
If you own the Developer Edition of GLCV3, you can design your own custom patching page, just like you would any other page. This enables you to create the exact patch design you want to fit your current launcher design.
Insert a text string and go to the settings of this new text string then go to Developer Settings click on ‘Text’ and in the textbox type in:
Current Progress: %TOTALAOPSPROGRESS%%PERCENT% - Checking File: (%CURRENTFILEAOPS%) - (%CURRENTFILEPROGRESSAOPS%%PERCENT%)
Now before this will work, don’t forget to go to the Text String settings and select ‘Extra Settings‘ and toggle ‘Is a Constant String?‘ to ON.
Unless a String is set to CONSTANT STRING ON, no variables will be parsed otherwise.