-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Main menu missing sounds #2002
Comments
They are easy to add to our individual button callbacks, but can you figure out which audio files are used? There is a window closing sound we already have, I think, that might be the same. |
I'll try to figure it out. |
If they are all the same, then the window callback can be used, but you said there are two types, so ?? Maybe one for a window opening? |
One for opening, and one for reverting (back/cancel). |
Some may not cause a window change. |
It also appears the open sound is only played for modal windows ( |
Looks like nosounds flags is not even defined on gui side, let alone set anywhere. Lines 72 to 79 in ba7e1a8
gemrb/gemrb/GUIScripts/GUIDefines.py Lines 160 to 165 in 1624f45
It seems so. And the sounds are already figured out: gemrb/gemrb/unhardcoded/bg2/defsound.2da Lines 9 to 10 in ba7e1a8
|
I guess its only set by the Looking at the code, we ignore sounds for "bordered" windows, so thats the issue. I'm not sure why we do that, so my guess is that it must be different in one of the games. if (win->Flags() & Window::Borderless && !(win->Flags() & Window::NoSounds)) {
core->PlaySound(DS_WINDOW_OPEN, SFX_CHAN_GUI);
} |
I tried other games, and well, they don't really have extensive menus. Unlike BG2, almost everything is 1 click away. I don't know. Maybe keep this as is for consistent UX. |
its not a question of menus, but windows in general. If we are just going to keep things simple and consistent across games the question is do we prefer sound or no sound. We can also just create a setting for UI sounds. |
There's no need for a setting — if other games don't have window open/close sounds, those entries will just be empty. Currently it's unset only in pst and even there it might just be from it using a different sound. |
I'm speculating that either all games have that sound, even if the originals didn't use it, or that not all windows are supposed to produce it. I don't know why else we would be checking If we care about being nit picky about it then applying |
Nothing useful on the why in the commit message: c571c22. Perhaps for GUISTORE switching, since two windows are involved? If a game doesn't use them at all, we can just reset the 2da entry. For any special casing, setting the flag manually seems fine to me. But let's understand the behaviour first — it just requires more testing. We should at minimum rename the button2/3 constants; it was done in 2005 already, just not synchronized to the python ones: -#define DS_BUTTON1 4
-#define DS_BUTTON2 5
-#define DS_BUTTON3 6
+#define DS_BUTTON_PRESSED 4
+#define DS_WINDOW_OPEN 5
+#define DS_WINDOW_CLOSE 6 |
What else do you want to test? |
One of your initial messages is still unclear — how do other games behave? It's something that's easier to test with let's say opening the journal or inventory. |
Bug description
Main menu only has button click sounds, not menu state change sounds.
Steps to reproduce
Expected behavior
There's 2 additional sounds on menu changes in BG2. Sounds like stone move back and forth.
They are not present on all buttons. I couldn't find any sound references in relevant data files, so maybe hardcoded?
"Quit", "Options", "Cancel", "Tutorial", "Return" have the sounds. Also all buttons in Options.
To be more precise, they are not tied to buttons themselves, but to corresponding menu changes. If you press Quit in main menu, then hit Escape (same as clicking Cancel), you'll hear the menu sound without button click.
Screenshots
GemRB version (check as many as you know apply)
Video Driver (check as many as you know apply)
USE_OPENGL_BACKEND
USE_OPENGL_BACKEND
The text was updated successfully, but these errors were encountered: