Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Power Plugins for NVGT

This repository contains a collection of utility plugins for the NVGT (NonVisual Gaming Toolkit) engine, extending its capabilities with hardware-accelerated graphics, native notifications, and voice recognition.

My friend and I originally built these for our own game project. After realizing how useful they could be for the community, we decided to release them. We might add more plugins later as our requirements evolve.

Plugins Included

1. Graphics (graphics)

A hardware-accelerated 2D rendering plugin based on SDL3. It allows NVGT games to display visual content, which is essential for hybrid audio/visual games. We use this in our board games collection to render screen content alongside the audio.

Features:

  • Create and manage a rendering window (can attach to existing window handles).
  • Draw text with custom fonts (TTF support) and text wrapping.
  • Render images (PNG, JPG, etc.).
  • Draw primitives: Rectangles, Circles, Lines.
  • Simple menu rendering helper.

AngelScript API: graphics_renderer

2. Notifications (notifications)

Provides integration with Windows native Toast Notifications and the System Tray. We use this to show game invite notifications and to keep the game running in the background when minimized.

Features:

  • Toast Notifications: Show rich notifications with titles, body text, images, and actionable buttons.
  • Tray Icon: Add a system tray icon with a tooltip and a custom context menu.
  • Shortcut Management: Helper to install application shortcuts (required for Toast Notifications to function correctly with AppIDs).

AngelScript API: toast_notifier, tray_icon

3. Voice Command (voice_command)

Enables speech recognition capabilities using the Windows Runtime (WinRT) Speech API. This started as a random experiment, but we've found it to be surprisingly fun and useful for everyone who sees it in action.

Features:

  • Continuous speech recognition.
  • Define custom command phrases to listen for.
  • Dictation mode support.
  • Asynchronous event handling.

AngelScript API: voice_recognizer

Build Instructions

General Steps

  1. Locate NVGT Source: Navigate to your NVGT source directory (e.g., d:\dev\nvgt).
  2. Install Plugins: Copy the plugin folders from this repository into the plugin directory within the NVGT source tree.
    • Source: plugins\graphics -> d:\dev\nvgt\plugin\graphics
    • Source: plugins\notifications -> d:\dev\nvgt\plugin\notifications
    • Source: plugins\voice_command -> d:\dev\nvgt\plugin\voice_command

Plugin-Specific Setup

Graphics Plugin (graphics)

This plugin requires extra dependencies (libpng, jpeg) not enabled by default in NVGT.

  1. Run the setup script from the engine root:
    python plugin/graphics/setup_vcpkg.py
  2. Update the engine's dependencies:
    python vcpkg/build_dependencies.py x64-windows

Notifications & Voice Command

These plugins do not require additional setup steps beyond copying them into the plugin folder.

Compiling

Open your terminal in the NVGT root directory and run:

scons
  • The build system will automatically detect the new folders and compile them.
  • Use static_<name>_plugin=1 or no_<name>_plugin=1 to customize the build.

Output

Compiled DLLs will be in release/lib/ (e.g., release/lib/graphics.dll).

Usage

To use these plugins in your NVGT games, ensure they are in your library path (e.g., "c:\nvgt\lib").

Credits

  • amankgbos
    • Authored the initial implementation and prototypes for the graphics and voice_command plugins.

License

This project is licensed under the zlib License - see the LICENSE file for details.

About

some powerful plugins for nvgt

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages