Skip to content

Main GUI

Neo edited this page Feb 21, 2022 · 7 revisions

Main GUI

As the name suggests, this is the primary tool that you would be using in this package.

It is used for either applying modifications in the form of patches to apps OR running some extensions utilizing information from the apps.

On Windows, the tool is available as WARP.exe inside the win32 folder.

On Linux (Debian-based), the tool is available as WARP inside the deb32 OR deb64 folder (depending on which OS & branch you have).

The timestamp on the title reflects the latest update (i.e. last commit time).

If you remove or mess up the .git folder the timestamp might not appear

Table of Contents


Input/Output

This section of the interface is used for entering the exe files.

  • Source

    Enter the application which needs to be loaded & queried. You can use the folder button to browse and select an existing file.

    Alternatively, you can drag & drop the file in the box to copy it's path. If you drop the file anywhere else, the tool will ask if you want to load it directly.

  • Target

    Enter the file name to use for the revamped source. WARP tries to use the source name suffixed with _patched by default.

    You can use the same path as the source if you want, but at your own risk. You can use the folder button to browse and select a new file name.

    Similar to Source, you can drag & drop a file in the box to copy it's path.


Patch list


Once the Source exe has been loaded, the patch list gets filled with all defined patches valid for the loaded app.

Patches are defined in 'Patches.yml' file . See Patch Guide for more details.

Apart from the Selection actions mentioned below, you can also use the Filter & Sort field to help with the patch selection process.


Quick Actions

Associated with the Patch List are a bunch of 'Quick Action' buttons.

  • Load Source

    Loads the application specified as Source into the Exe & populates the Patch List. Also loads the scripts (if not done already) prior to loading the Source.

    Once the app is loaded, all the scripts from 'Init' folder gets executed again. This is done before the Patch List is populated.

  • Select Recommended

    Select Patches marked as 'Recommended'. Other patches are unaffected.

  • Select Previous

    Select Patches used in a previous session (available in 'LastSession.yml'). All others gets deselected.

  • Apply Patches

    Apply all selected patches on the loaded app and save the output to Target path.

  • Load Scripts

    Load all changed/modified QJS scripts (since last time they were loaded) provided under 'Scripts' folder hierarchy (except for 'Init').


Header

While the above 2 sections is the most used parts of the tool the header and footer are equally important.

The header consists of 2 buttons for the 2 drawers respectively on left and right edges as well as the value displays mentioned below:


  • Loaded Date & Version

    Displays the build date and linker version of the loaded exe. This is also available in Script-Window's header as well.

    By default the version is not visible. To make it visible, you need to turn ON the Show loaded version setting.


  • Selected Patches

    Displays the number of patches currently selected.


Action drawer

The Action drawer is housed on the left side of the tool. To open it you can either:

  • Click the actns button OR

  • Swipe rightwards from the left edge.


The available actions are

  • Scripts

    • Load from 'Patches'

      Load all QJS files provided in the 'Scripts/Patches' folder.

    • Load from 'Extensions'

      Load all QJS files provided in the 'Scripts/Extensions' folder.

    • Load from 'Support'

      Load all QJS files provided in the 'Scripts/Support' folder.

    • Load All Scripts

      Load all QJS files provided in the aforementioned 3 folders.

    • Show Script Window

      Display the window which allows you to run QJS code interactively. See more at Script Window.

  • Refresh

    • Refresh Languages

      Refresh the list of languages provided via YAML files in the 'Languages' folder.

    • Refresh Styles

      Refresh the list of styles provided via YAML files in the 'Styles' folder.

    • Load Extensions

      Refresh the list of extensions defined in 'Extensions.yml' file . See Extension Guide for more details.

  • Session

    • Load Session file

      Load a previously saved session YAML file. See Session File for more details.

      Similar to the Source exe, you can also drag & drop the session file on top of the tool to load it directly.

    • Save Session file

      Save the current session to a YAML file. See Session File for more details.


Extension drawer

The Extension drawer is housed on the right side of the tool. To open it you can either:

  • Click the extns button OR

  • Swipe leftwards from the right edge.


In addition to Load Extensions (which is the same as in Action Drawer), there are 2 inbuilt extensions available in the drawer.

  • Convert Profile to Session

    This is used for converting a NEMO profile (.log & .db) into an equivalent Session File for use with WARP.

  • Generate Security file

    This is used for generating a .secure.txt file (containing all the MD5, SHA & CRC checksums) corresponding to the file you provide. There is no restriction on the input file for this extension.

When you click Load Extensions all the new extensions get added under the From Scripts category


Footer

The footer is composed of 2 selectors and 5 buttons as explained below: Going from left to right, we have.

  • Style selector

    Sets the style i.e. Colors & Font (specified via YAML file) for the tool.

    An inbuilt light style is available as default and a style file for Dark Mode has been provided as well.

    See Style file for more details. Any changes are common to both GUIs and gets saved in 'Settings.yml'.

  • Ko-fi button

    In case you are interested in supporting the project click this and it will open my Ko-fi page :)

  • Discord button

    Opens the invite link for WARP's discord server.

  • Github button

    Opens the Github page for WARP.

  • Settings button

    Opens the Settings dialog for the tool.

  • Info button

    Opens an About dialog with some info about the tool.

  • Language selector

    Sets the language (specified via YAML file) for the tool. English is provided in-built as a default.

    See Language file for more details. Any changes are common to both GUIs and gets saved in 'Settings.yml'.


Settings dialog

There are 5 options and 1 action available in the settings dialog as explained below.


  • Options

    • Show loaded version

      If ON, makes the build/linker version of the loaded application also visible.

    • Enable EPI

      EPI are extra files that help the tool with keeping track of patches in an exe, allowing removal or modification of existing patches and even restoring the patched app to original state.

      EPI files will be loaded with the Source as well as generated along with the Target only if this option has been turned ON.

    • Generate <target>.secure.txt

      If ON, then the tool will generate a .secure.txt file for the Target app which has all the checksums.

    • Generate target's session

      If ON, then the tool will generate a Session File containing the set of patches applied and the user inputs used.

      You will be able to use this session in future to reapply the same patches to the same or perhaps a different exe.

    • Keep session inputs

      If ON, then the user inputs specified in a Session File will be kept as-is without asking the user whether they want to change the values.

    • Report Patch Modifications

      If ON, then the changes made by each patch will get reported when you Apply Patches.

      The information will be added to both the Script Window as well as the log file if logging has started. Make sure to keep it off to avoid sluggishness, unless you are debugging something.

  • Actions

    • Save Resolutions Saves the current resolution of both Main GUI and Script Window as default respectively.

About dialog



Return to top


Further reading