/GE-Hotkeys-and-Macros

Adds custom hotkeys and macros to Giants Editor for a more efficient workflow

Giants Editor - Hotkeys and Macros (GE-HAM)

GitHub Downloads (all assets, all releases)

Tired of endlessly clicking in the menus and toolbar in Giants Editor and wishing there were more hotkeys/keyboard shortcuts? Now there is! With this AutoHotKey library you can bind a lot of common actions in GE to keyboard or mouse shortcuts or even create multi-step macros. If you want to take things one step further, you can also combine this with AutoHotPie (or any other radial/context menu of choice).

Main Features

  • Fully customizable hotkeys/keyboard shortcuts and macros
  • Execute user scripts
  • Execute menu actions
  • Toggle most toolbar buttons on/off
  • Change navigation speed
  • Change brush size and geometry
  • And more to come...

Preview

Note how the hotkey Ctrl+Shift+T creates new transform groups and how the F2 key toggles the terrain sculpt toolbar button without using the mouse. This is just one of many use cases for this script. GE-HAM Hotkeys Preview

Getting Started

  1. Download and install AutoHotKey (www.autohotkey.com)
  2. Download latest GE-HAM package and unzip to any suitable folder
  3. Review/edit your custom bindings by editing the file GE-HAM_UserBindings.ahk in a text editor of choice (examples included in the file)
  4. Run GE-HAM_UserBindings.ahk by double clicking on the file
  5. (optional) If you want to use GE Hotkeys and Macros together with AutoHotPie (radial menus) you need to follow some additional steps.

Note: See GE-HAM Script Reference for details about all available commands in GE-HAM. For additional instructions about the key bindings, please see the Hotkeys and list of keys sections in the AutoHotKey documentation.

Optional

  • Install VS Code or Notepad++ as your text editor of choice
  • If using VS Code is can strongly recommend the extension AutoHotKey Plus Plus
  • Create a windows shortcut to your GE-HAM_UserBindings.ahk and put that shortcut in your Start Menu Startup Folder to automatically start the script on every login

Notes

  • You can freely rename GE-HAM_UserBindings.ahk to any filename (or even create multiple copies) as long as the file GE_HotkeysAndMacros.ahk remains unchanged and in the same folder as your UserBindings file.

Usage

To add your custom bindings edit the file GE-HAM_UserBindings.ahk and look for a section like this (default line 15):

; \\\\\\\\\\ YOUR BINDINGS GOES BELOW THIS LINE //////////

Below this line you add your bindings in the format {HOTKEY}:: {COMMAND} (i.e. first the hotkey, then double-colon and lastly the command to execute). Example to toggle the brush toolbar button with the F2 key:

F2:: ToggleButton(TB_SCULPT) ; Activate the sculpt button with the F2 key

Additional basic examples

^t:: ActivateMenuGE("Create", "Transform Group") ; Ctrl+T will create a transform group
F4:: ActivateScriptGE("My Custom Script") ; F4 will execute a script called 'My Custom Script'
^NumpadMult:: CycleBrushSize() ; Ctrl+NumpadMultiply will cycle between a number of predefined brush sizes

Advanced example

Besides simple one-line single command hotkey it is also possible to define multi step macros like this:

; Create a cube AND trigger the interactive placement command (with one shortcut)
+^t:: ; Ctrl+Shift+T
    ActivateMenuGE("Create", "Primitives", "Cube")
    ActivateMenuGE("Edit", "Interactive Placement")
return

Important note: it is mandatory to end the multi-line macro with a return statement.

Use AutoHopPie together with GE-HAM

To be able to use GE-HAM macros via radial menus from AutoHotPie (and similar tools) you need to add the following section at the bottom of your GE-HAM_UserBindings.ahk file.

; \\\\\\\\\\ YOUR SPECIAL AUTOHOTPIE BINDINGS GOES BELOW THIS LINE //////////
#IfWinActive ; Below this line goes AHP bindings - do not edit this line

Then you need to bind the special command AHPDummy() for every GE-HAM command that you want to be able to call from AutoHotPie. Effectively you need to duplicate the keybinding, e.g:

F2:: ToggleButton(TB_SCULPT) ; Original keybinding - can be used directly from GE

; \\\\\\\\\\ YOUR SPECIAL AUTOHOTPIE BINDINGS GOES BELOW THIS LINE //////////
#IfWinActive ; Below this line goes AHP bindings - do not edit this line

F2:: AHPDummy() ; Dummy to trigger F2 hotkey in GE from AutoHotPie

The first F2 binding is for the actual command to be executed in GE, either manually via the F2 key on your physical keyboard or indirectly via AutoHotPie. The second F2-bidning is to trigger the AHPDummy() command from any other program (e.g. AutoHotPie) which will act as an proxy and forward the F2 hotkey to GE (in this case toggle the sculpt button).

Important note: to work around a limitation caused by AutoHotPie these special bindings could potentially be active in every program and not limited to GE (which is the case for all normal hotkeys). To avoid conflicts you could use obscure keybindings for selected AHP bindings, e.g. use Shift+F24 even though your physical keyboard only got F-keys 1-12 (AHP and GE-HAM can still bind to F13-24)

Like the work I do?

I love to hear you feedback so please check out my Facebook. If you want to support me you can become my Patron or buy me a Ko-fi ❤️

ko-fi Support me on Patreon

Want to report a bug or have a great idea?

Please check out my project page to get more details about the my projects or post bug reports/feature requests. Here you will also find information about known issues, tips on workarounds and occationally also hotfixes.

License

GE Hotkeys and Macros (GE-HAM) © 2022 by w33zl is licensed under CC BY-NC-ND 4.0 (Creative Commons Attribution-NonCommercial-ShareAlike).

Creative Commons License

TL;DR: You are ALLOWED TO SHARE (copy and redistribute) the material in any medium or format as long as you ATTRIBUTE (give appropriate credit to) the original author, do NOT MAKE ANY DERIVATIVES (i.e. do not modify and re-publish this as your own work) and as long as it is NOT USED FOR COMMERCIAL PURPOSES.

EXCEPTION: You may freely distribute any changes and additions made to the 'GE-HAM_UserBindings.ahk' file (or copies thereof) without any restrictions.

DISCLAIMER: 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.