Adventure Game Studio

AGS Support => Modules, Plugins & Tools => Topic started by: eri0o on Thu 28/04/2022 02:25:27

Title: TOOL: AGS Toolbox🧰 0.4.9
Post by: eri0o on Thu 28/04/2022 02:25:27
AGS Toolbox🧰 version 0.4.9

Get Latest Release agstoolbox.exe (https://github.com/ericoporto/agstoolbox/releases/download/0.4.9/agstoolbox.exe) | companion atbx.exe (https://github.com/ericoporto/agstoolbox/releases/download/0.4.9/atbx.exe) | GitHub Repo (https://github.com/ericoporto/agstoolbox)

(https://img.shields.io/pypi/pyversions/agstoolbox) (https://img.shields.io/pypi/v/agstoolbox) (https://pypi.org/project/agstoolbox/) (https://img.shields.io/github/release-date/ericoporto/agstoolbox?color=blue&label=%F0%9F%93%85) (https://github.com/ericoporto/agstoolbox)

Hi, I made something intended for those that deal with multiple versions of AGS Editors and multiple AGS Game Projects. Place the agstoolbox.exe in a folder under your user, like "C:\Users\MY_USER\software", before you run it.

(https://i.imgur.com/UnwSeDU.png)

After you run the agstoolbox.exe, you will find a bluecup in your indicator area of your taskbar, near the clock area. Double click or right click it, to open the main panel.

Features

Right clicking any item on the list will show available actions, double clicking will execute the command marked in bold.

I made it initially for myself to help handle my own games and modules. It will, in future, have an additional pair tool, that will provide the same functionalities through a command line interface - intended for CI and automation.

For people in Unity, this may be a similar AGS version of the Unity Hub. I actually modeled it on the JetBrains Toolbox, which I use to manage different versions of CLion, Android Studio and PyCharm - it's also developed in PyCharm!

Command Line Usage

NOTE: On Windows, due to OS and PyInstaller limitations, agstoolbox.exe doesn't work with command line arguments, so atbx.exe is for exclusive command line usage.

Code (bash) Select
$ atbx --help
usage: atbx [-h] [-s {bash,zsh,tcsh}] [-v] {list,install,open,build,settings,export} ...

agstoolbox is an application to help manage AGS Editor versions.

positional arguments:
  {list,install,open,build,settings,export}
                        command
    list                lists things
    install             install tools
    open                open an editor or project
    build               build an ags project
    settings            modify or show settings
    export              export from ags project

optional arguments:
  -h, --help            show this help message and exit
  -s {bash,zsh,tcsh}    print shell completion script
  -v, --version         get software version.

Copyright 2023 Erico Vieira Porto, MIT.

As an example, a command line to force install the latest 3.6 AGS Editor, as a managed Editor is as follows

Code (bash) Select
$ atbx install editor 3.6 -f
Will install managed AGS Editor release 3.6.0.47
 Downloading... 40475597/40475597 B |████████████████████████████████| AGS-3.6.0.47.zip
Extracting...
Installed release 3.6.0.47

The command line interface is working, but it is still quite limited, if you have more needs for it, please ask me!

Tab completion is also provided, the script for it can be generated with -s parameter, if you need help setting up just ask.



Experimentally, AGS Toolbox is also available on PyPI. Prefer the exe releases above for now, the PyPI releases are intended for uses of it's core parts and the atbx command line utility in a future continuous integration tool.



AGS Toolbox is written in Python, so if you are interested in a new feature and want to contribute code, just ask me and I can explain the basics of it.
Title: Re: TOOL: AGS Toolbox🧰 0.1.1
Post by: Tarnos12 on Wed 04/05/2022 13:45:27
Looks great! I've been using multiple ags versions lately and this will definitely help.
The fact that it knows which version the project used is great.

I will try it out later today, thanks.
Title: Re: TOOL: AGS Toolbox🧰 0.1.1
Post by: eri0o on Wed 04/05/2022 14:16:23
Awesome! Let me know how it goes! Any ideas of things to add feel free to add here. :)

When I started, I wrote the features I had in mind to pursue, but of course I expect these and priorities can be adjusted as other people use it: https://github.com/ericoporto/agstoolbox#desired-features

A warn, I have not tested with AGS 4, because it has no releases so far, I have no idea what will happen.
Title: Re: TOOL: AGS Toolbox🧰 0.1.1
Post by: Tarnos12 on Wed 04/05/2022 14:41:58
Quote from: eri0o on Wed 04/05/2022 14:16:23
Awesome! Let me know how it goes! Any ideas of things to add feel free to add here. :)

When I started, I wrote the features I had in mind to pursue, but of course I expect these and priorities can be adjusted as other people use it: https://github.com/ericoporto/agstoolbox#desired-features

A warn, I have not tested with AGS 4, because it has no releases so far, I have no idea what will happen.

Ah I use 4.0 too, will test after making a backup.
Title: Re: TOOL: AGS Toolbox🧰 0.1.3
Post by: eri0o on Sun 02/04/2023 21:55:00
Really minor release fixing a crash that happened when the Editor version was too short - happened with Editor 3.4.3.

Working on additional things now.
Title: TOOL: AGS Toolbox🧰 0.2.3
Post by: eri0o on Mon 03/04/2023 02:58:43
Added a new 0.2.0 release


Note: if you use the startup with windows setting, I recommend to move the agstoolbox.exe file to a suitable place. I maintain my portable binaries under a directory I created in "C:\Users\MY_USER\software", if someone has a suggestion for a non-ProgramFiles location, mention yours.

Edit: Well, seconds after I realized I wasn't able to fetch 3.6.0 Release with this, and had to hack a better way to detect the AGS Release assets, so now it's a 0.2.1 release

Edit2: Minor adjustments to try to silently recover from invalid settings. Not sure it's enough yet.

Edit3: From 0.2.3 and onwards, right clicking on it on Explore you will be able to read which agstoolbox version you have.
Title: TOOL: AGS Toolbox🧰 0.4.0
Post by: eri0o on Sun 16/04/2023 14:19:45
Hey, 0.4.0 version of agstoolbox.exe adds a small search bar! Not much you can do in it yet, but it's useful for filtering stuff!

(https://user-images.githubusercontent.com/2244442/232314037-d3f30d0b-2cbc-427c-9e62-005046b9f76f.gif)

Also check past improvements in the command line version atbx.exe.
Title: Re: TOOL: AGS Toolbox🧰 0.4.1
Post by: eri0o on Tue 21/11/2023 00:28:35
Found a bug that prevented agstoolbox to get the newest releases from github and fixed! new 0.4.1 release can properly fetch the recent 3.6.1 releases! :)

There is an issue that I don't know why it happens that it appears I can't build ags games through command line with atbx, the editor gives an error "Unable to set EXE name/description: LoadLibrary failed". This doesn't happen when using agstoolbox, if you right click a project and select the Quick build option. I don't know why this happens yet.  :-\

Edit: tracked down the issue, it's due to pyinstaller using SetDllDirectory, detailed it here: https://github.com/ericoporto/agstoolbox/issues/31

The culprit appears to be SetDllDirectory is inherited by the child process (https://pretentiousname.com/setdlldirectory_inheritance/index.html).
Title: Re: TOOL: AGS Toolbox🧰 0.4.2
Post by: eri0o on Sat 25/11/2023 23:23:57
AGS Toolbox 0.4.2 released!

This fixes the longstanding issue that made AGS Editor give the "Unable to set EXE name/description: LoadLibrary failed" erro when building.

Now you can use both atbx build /my/project/path and also the Quick build functionality from agstoolbox interface without issues!

With this version, in theory, a simple github actions pipeline to build your ags game is now simply

Spoiler
Code (yaml) Select
name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v3

      - name: gets ags-toolbox
        run: |
          curl -Lo atbx.exe https://github.com/ericoporto/agstoolbox/releases/download/0.4.2/atbx.exe
          echo "${{github.workspace}}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
         
      - name: install ags
        run: |
          atbx install editor -q test-game/
         
      - name: build game
        run: |
          atbx build test-game/
[close]

Unfortunately, this still won't work with current 3.6.1 (but it should work with non-beta versions). Next 3.6.1.13 will fix the issue of running agseditor in command line in a pipeline environment.
Title: Re: TOOL: Toolbox🧰 0.4.5
Post by: eri0o on Sat 23/12/2023 01:55:01
Hey, AGS Toolbox 0.4.5 released! atbx.exe now can work with the newly AGS Editor v.3.6.1.14 in command line in GitHub Actions pipelines!

Code (yaml) Select
name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v3

      - name: gets ags-toolbox
        run: |
          curl -Lo atbx.exe https://github.com/ericoporto/agstoolbox/releases/download/0.4.5/atbx.exe
          echo "${{github.workspace}}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
         
      - name: install ags
        run: |
          atbx install editor -q test-game/
         
      - name: build game
        run: |
          atbx build test-game/

Above is an actual GitHub Actions pipeline that works correctly for building ags games!
Title: TOOL: AGS Toolbox🧰 0.4.6
Post by: eri0o on Sat 23/12/2023 20:43:47
new version 0.4.6 released, now atbx.exe can export script module from game projects in the command line!

You can do so like

Code (bash) Select
/atbx.exe export script my_game my_module .
The idea here is you can use it to export a script module from a pipeline to push the module as a release artifact in a repository.

Code (bash) Select
./atbx.exe export script --help
usage: atbx export script [-h] PROJECT_PATH MODULE_NAME OUT_DIR

positional arguments:
  PROJECT_PATH  path to the project with the module
  MODULE_NAME   name of the script module
  OUT_DIR       where to export the script module

optional arguments:
  -h, --help    show this help message and exit
Title: Re: TOOL: AGS Toolbox🧰 0.4.8
Post by: eri0o on Sun 14/01/2024 18:53:03
new 0.4.8 version!

Very minor update, noticed that Release Candidate versions of the AGS Editor were not possible to fetch and install, fixed that in this new release.
Title: Re: TOOL: AGS Toolbox🧰 0.4.9
Post by: eri0o on Sun 18/02/2024 23:30:25
new 0.4.9 version!

Very minor update again, noticed that AGS 4 releases of the AGS Editor were not possible to fetch and install, fixed that in this new release!  8-)