Adding Context Menus - Python Tools The Easy Way

A Tutorial for The Legend of Zelda: Breath of the Wild (WiiU)

Members see zero ads. Membership is 100% free
This tutorial will show you how to add context (right click) menus to certain files/tools related to botw modding such as sarc, byml, aamp, yaz compression and 'BOTW-AutoMips.py' to allow an easy 1-2 click conversion of files (No more opening of the command prompt).

Disclaimer: This tutorial edits the registry which if done incorrectly could cause various program errors or even PC crashes. I take no responsibility for any edits done to your registry.

Prerequisites:
  • Windows (This method will only work for windows users.)
  • A working installation of Python 3.6+ compatible with the command line tools (see here)
  • A working installation of Python 2.7 if planning to use a Context Menu for 'BOTW-AutoMips.py'
  • A working installation of the tools you intend to use (aamp, byml-v2, ect.)

Installation:
After confirming you have all the prerequisites met, all you need to do is download the install.zip from here and extract the .reg files. Then double click them to install the context menus.

There are multiple .reg files for some of the same tools (ending in '_no_old', etc.) to provide different command output options. You should only install one type per tool see the 'About The Provided Files' section below to help decide which option(s) you want.

If you are using a Context Menu for disabling mipmaps place 'BOTW-AutoMips.py' into C:\Python27\Scripts\

If you are using a Context Menu for yaz0dec.exe/yaz0fast.exe place those .exe files into C:\Program Files\Python37\Scripts\

'Create SARC from folder' will show up if you right click a folder.
'Disable Mipmaps' will show up if you right click on a .bfres file
The rest show up if you press shift+right click on a file.

About The Provided Files:
You should only use one file per tool/category below
File Options:
  • Create SARC (WiiU, big endian)
         - create_sarc_wiiu.reg -> Creates sarc archive from input folder, appends '.old' to the input folder's name
         - create_sarc_wiiu_del_old_dir.reg -> Creates sarc archive from input folder, deletes input folder

  • Create SARC (Switch)
         - create_sarc_switch.reg -> Creates sarc archive from input folder, appends '.old' to the input folder's name
         - create_sarc_switch_del_old_dir.reg -> Creates sarc archive from input folder, deletes input folder

  • Create SARC (auto detects wiiu or switch)
         - extract_sarc.reg -> Extracts files from sarc archive into a new folder named the input file's name appending '.extracted', appends '.old' to the input file's name
         - extract_sarc_no_old.reg -> Extracts files from sarc archive into a new folder named the input file's name appending '.extracted', input file is untouched

  • AAMP To YML
         - aamp_to_yml.reg -> Creates yml file from input aamp file, names new yml the input aamp file's name (including it's extension) + '.yml'

  • YML To AAMP
         - yml_to_aamp.reg -> Creates aamp file from yml, names new aamp the input yml file's name removing last 4 characters (hopefully '.yml' resulting in the original file's name and extension)
         - yml_to_aamp_del_yml.reg -> Creates aamp file from yml, names new aamp the input yml file's name removing last 4 characters (hopefully '.yml' resulting in the original file's name and extension), deletes input yml file

  • YML To BYML (WiiU, big endian)
         - yml_to_byml_wiiu.reg -> Creates byml file from yml, names new byml the input yml file's name removing last 4 characters (hopefully '.yml' resulting in the original file's name and extension), deletes input yml file

  • YML To BYML (Switch)
         - yml_to_byml_switch.reg -> Creates byml file from yml, names new byml the input yml file's name removing last 4 characters (hopefully '.yml' resulting in the original file's name and extension), deletes input yml file

  • BYML To YML (auto detects wiiu or switch)
         - byml_to_yml.reg -> Creates byml file from input yml file, names new byml the input yml file's name (including it's extension) + '.yml'

  • Yaz Compress
         - yaz_fast.reg -> Creates yaz compressed file adding 's' to the beginning of the extension, requires 'yaz0fast.exe' in C:\Program Files\Python37\Scripts\

  • Yaz Decompress
         - yaz_fast.reg -> Decompresses yaz compressed file removing the first character (after the dot) of the extension (hopefully 's'), requires 'yaz0dec.exe' in C:\Program Files\Python37\Scripts\

  • Auto Disable Mipmaps (3D Models)
         - automips.reg -> Run's 'BOTW-AutoMips.py' on input file, requires 'BOTW-AutoMips.py' in C:\Python27\Scripts\

Customizing The Menus (Optional, Advanced):
Before installing if you wish to customize the commands or name of the context menu(s) you can edit the .reg files with a text editor

Adding/removing the extended parameter like below will add/remove the menu item from the shift-right click menu instead of the regular right click menu (replacing 'commandname' with your actual command name of course)
[HKEY_CLASSES_ROOT\*\shell\commandname]
"Extended"=""


If you replace the asterisk in the path with a file extension the menu item will only appear when right-clicking on that file type.
[HKEY_CLASSES_ROOT\*\shell\Disable Mipmaps\command] --> shows on all files
[HKEY_CLASSES_ROOT\.bfres\shell\Disable Mipmaps\command] --> shows only on .bfres files

Putting an ampersand (&) in front of a character in your command name will cause that character to become a hotkey for the context menu. So you could right click on a file, press the hotkey (the command will become highlighted), and press enter to execute the command. Allowing for an even faster workflow. (replacing 'commandname' with your actual command name of course)
[HKEY_CLASSES_ROOT\*\shell\commandname]
@="Your &Awesome Command" --> the hotkey is now 'a'

Putting a dash in front of the path will cause that path and corresponding menu item to be removed (replacing 'commandname' with your actual command name of course).
[-HKEY_CLASSES_ROOT\*\shell\commandname]

Look at the provided .reg files for examples.

Uninstallation:
Just download the uninstall .reg files from here and double click to run them.

If you customized the name of the menus or edited the path you will need to edit the uninstall files to match your edits before running the uninstall file(s).

Other Notes:
You can manually edit registry values by using regedit (press win+r, type 'regedit', press enter). Just navigate to the path where you installed/want to install the menus and enter/edit the values. You can also remove context menus this way.

If you want a new context menu for a specific tool or have found a bug please comment below.

Embed

Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code

Credits

Key Authors
MasonJ
MasonJ Joined 5mo ago
Offline
1,677 points Ranked 21240th
7 medals 1 rare
  • 10 submissions featured Medal icon
  • Submission featured Medal icon
  • Returned 100 times Medal icon
  • Received thanks 5 times Medal icon
  • Reached 1,000 Points Medal icon
  • One month a member Medal icon

Submitter

MasonJ avatar
MasonJ Joined 5mo ago
Offline
1,677 points Ranked 21240th
7 medals 1 rare
  • 10 submissions featured Medal icon
  • Submission featured Medal icon
  • Returned 100 times Medal icon
  • Received thanks 5 times Medal icon
  • Reached 1,000 Points Medal icon
  • One month a member Medal icon
MasonJ
Creator
  • Paypal Donate
Sign up to access this!
Sign up to access this!
Sign up to access this!

Game

Sign up to access this!

Category

Details

Difficulty Level
Beginner

Attributes

Share

  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • Today's Pick
    Featured on Jun 14 2019
  • 4
  • 672
  • 5d
  • 5d

More from Submitter

More Other/Misc Tutorials