Skip to main content

Accessibility

The Winter GUI Kit has a full-fledged, opinionated Accessibility system. By default, it is enabled, but can be disabled if you choose to do so. It is recommended to use the accessibility features as they provide a much better experience for the end player, especially those with sensory impairments.

However, it does require some additional manual work to use, so it can be disabled if you do not want to do that, or if you have any custom functionality that conflicts with it.

Setting Defaults

By default, Music Titles, SFX Titles, and Image Captions, and the Default RenPy screenshake are enabled in preferences. You can change these by locating the following lines in kit_options.rpy:

define accessibility.music_captions = True
define accessibility.sound_captions = True
define accessibility.image_captions = True
define accessibility.screenshake = True
note

Changing these only affect the defaults when a new user starts your game for the first time. Changing these to False will not remove any accessibility features. If you would like to disable accessibility features, refer to Disabling Acessibility

Music and Sound Titles

captiontool.rpy has all the instructions required to use the caption tool. In essense, it has a re-implementation of the default RenPy music & sound commands with support for titles.

Adding Sound Effects

In captiontool.rpy, look for the following line:

# example = "audio/examplefile.ogg"

Below that line, define all your sound effects as you usually would. Example:

# example = "audio/sfx/examplefile.ogg"
door = "audio/sfx/Interior-Door_Close.mp3"
drawer_close = "audio/sfx/Chest-Drawer_Close.mp3"
drawer_open = "audio/sfx/Chest-Drawer_Open.mp3"
ocean = "audio/sfx/Edge-of-Ocean.mp3"

Next, locate the following line:

sound_list = {

Add all your sound effects into it in the following format: sound_name: _("Sound Caption")

Example:

sound_list = {
drawer_close : _("A drawer closes"),
drawer_open : _("A drawer opens"),
ocean : _("Ocean waves hit the shore"),
door : _("A door closes"),
}

Adding Music

In captiontool.rpy, look for the following line:

# example = "audio/music/examplefile.ogg"

Below that line, define all your music as you usually would. Example:

# example = "audio/music/examplefile.ogg"
calmer = "audio/music/Calmer-Times_Looping.mp3"
fun = "audio/music/Fun-Times_Looping.mp3"

Next, locate the following line:

music_list = {

Add all your sound effects into it the following format: music_name: _("Music Caption")

Example:

music_list = {
calmer : _("Calmer Times"),
fun : _("Fun Times"),
}

Using Music and Sound Effects

As mentioned earlier, captiontool.rpy uses a custom implementation of the default renpy commands.

In script.rpy, here are the commands you need to use.

CommandRegular CommandWhat you need to use
Play Soundplay sound soundname$ play_sound(soundname)
Play Musicplay music musicname$ play_music(musicname)
Queue Soundqueue sound soundname$ queue_sound(soundname)
Queue Musicqueue music musicname$ queue_music(musicname)
Stop Musicstop musicstop music
Stop Soundstop soundstop sound

Image Captions

Image captions are a way to add additional dialogue text solely for those who have the option enabled.

Using it is simple: in script.rpy, use the following format to inject an image caption anywhere:

ic "This is an image caption!"

Renaming/Updating the Image Caption Character

By default, Image Caption uses a custom character ic. If you would like to use that for a different character, or update how the character appears, you locate the following line in captiontool.rpy and update it as you would like to:

define ic = Character(_(None),condition="gui.image_captions or _preferences.self_voicing")

Disabling Accessibility

  1. Open kit_options.rpy
  2. Locate the following lines:
    define accessibility.enabled = True
define accessibility.music_captions = True
define accessibility.sound_captions = True
define accessibility.image_captions = True
define accessibility.screenshake = True
  1. Replace all the True with False except accessibility.screenshake.
  2. (Optional) Remove the files captiontool.rpy and screenshake.rpy