Skip to content

[Feature Request] Assign ocarina songs to C-Buttons and the D-pad #7067

Description

@bassdr

The idea

Let a learned ocarina song be assigned to a C-Button or a D-pad direction from the Quest screen, exactly the way an item is assigned from the Select Item screen or a tunic from the Equipment screen. Pressing that button plays the song: the warp prompt for a warp song, the wipe and its effect for the rest.

Where the pause-menu shortcut in #6951 answers "I can't remember the notes", this answers "I know exactly which song I want and I don't want to open a menu for it". They complement each other rather than compete - there are three C-Buttons, seven with Equip Items on Dpad, against twelve songs, so assignment can never replace the menu.

How it behaves

  • Quest screen, cursor on a song you know, press C-Left/C-Down/C-Right (or a D-pad direction with Equip Items on Dpad on). The note flies to the button like an item icon does.
  • The button shows the song's note in the colour the Quest screen uses.
  • A song you have not learned refuses with the same error sound an empty item slot gives.
  • The button greys out and does nothing wherever the Ocarina itself would: the scene restrictions, no Ocarina in the inventory, swimming, on Epona, mid-air.
  • Assignments live in equips.buttonItems, so they survive scene changes, age changes and saving, and the existing Allow unequipping Items enhancement clears them.

Screenshots

From the branch, running. Apologies for the French UI - that is how I play.

The Quest screen with the cursor on a song. The prompt is the Select Item screen's "to equip" one, and the C-Buttons stay lit instead of greying out:

Quest screen showing the equip prompt

Once assigned, the button carries the song's coloured note - the Song of Time on C-Left, and Bolero of Fire on D-Up:

C-Left showing a white note
D-Up showing the red Bolero note

Pressing it plays the song for real - here Bolero of Fire straight from D-Up, warp prompt and all:

The warp prompt raised by a D-pad press

Status

I have this working on a branch: https://github.com/bassdr/Shipwright/tree/enhancement/assignable-songs - please don't start on it, it is written and tested, not a wish.

It builds on the playback engine in #6951 (playing a song's real effect without the ocarina minigame), so it is stacked on that branch rather than on develop, and I will open the PR once #6951 lands. Filing this as an issue so the feature can be discussed on its own merits, and so the PR has something to close.

A possible follow-up, not part of the branch: while the Ocarina is out, a modifier could reach every song rather than only the assigned ones - see the sibling issue on modifier layers.

Activity

  1. added theissue type on Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions