Skip to content
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

[Bounty] ($50) Clickable Menu Icons, Right-click Context Menus #73823

Open
Daikiero opened this issue May 16, 2024 · 4 comments
Open

[Bounty] ($50) Clickable Menu Icons, Right-click Context Menus #73823

Daikiero opened this issue May 16, 2024 · 4 comments
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. Info / User Interface Game - player communication, menus, etc. <Suggestion / Discussion> Talk it out before implementing

Comments

@Daikiero
Copy link

Is your feature request related to a problem? Please describe.

Everyone who's played this game for 10 minutes can tell you that you'll use your whole keyboard to make use of all the keybinds in this game. After playing for hundreds of hours, this is something I've become used to, as we all have. That said, every time I open the game, I have to- without fail- open the keybindings menu to check a binding I forgot. After playing other similar games such as Zomboid and the Steam release of Dwarf Fortress, the lack of clickable menu icons on the screen has really gotten me thinking that they would be a great QoL addition for players like myself, and a huge boon to ease the learning curve for new players.

Solution you would like.

When you think of clicking an element on the UI, you probably think of things like clicking a backpack icon to open your inventory, or a picture of a book to open your quest log. These are exactly the types of things I would love to see in this game. Adding clickable icons wouldn't fundamentally change the game for veterans, but it would be a great option to have regardless. I think it would make sense for them to be visible by default with an option to hide them, but I understand if the current playerbase would prefer the opposite.

On top of this, I think adding drop down/context menus to certain elements of the UI would also be a nice addition, especially when paired with menu icons. Left-click the backpack to open (I)nventory, right-click the same icon to show related options, such as Advanced Inventory Management.

Describe alternatives you have considered.

Having context menus in the menus themselves could be great, too, but I won't consider it as part of this bounty. Things like right-clicking an item to show your options for interacting with it without having to select it first.

Additional context

I've mostly just jotted down my broad thoughts on this topic, so I'm sure there are a few things I haven't clarified enough. Honestly, I'm giving pretty much all creative control to whoever decides to pick up this bounty. Don't hesitate to ask me for clarification.

As the title states, I'm offering $50 to whoever brings this to the game. I'd prefer to use PayPal or CashApp for the exchange, but if you have a different preferred payment method don't hesitate to suggest an alternative.

Cheers,
daikiero

@Daikiero Daikiero added the <Suggestion / Discussion> Talk it out before implementing label May 16, 2024
@ZhilkinSerg
Copy link
Contributor

We already have quick shortcuts in Android builds and it should not take much to get them working on desktop (WIP is here - https://github.com/CleverRaven/Cataclysm-DDA/compare/master...ZhilkinSerg:Cataclysm-DDA:ui-quick-shortcuts?expand=1). Displaying icons in addition to keys in quick shortcuts should be rather easy too.

The issue is if you press ? on a main game screen with the following patch you will see that there are too many commands (144 in total, 80 of which are bound to a key). There is probably no way all icons for them would fit on a screen without obscuring much of the map.

image

@ -646,6 +646,15 @@ keybindings_ui::keybindings_ui( bool permit_execute_action,
    legend.push_back( colorize( _( "Keybinding active only on this screen" ), local_key ) );
    legend.push_back( colorize( _( "Keybinding active globally" ), global_key ) );
    legend.push_back( colorize( _( "* User customized" ), global_key ) );
    int bound_actions_count = 0;
    for( const std::string &a : parent->get_registered_actions() ) {
        auto iel = parent->keys_bound_to( a );
        if( iel.size() > 0 ) {
            bound_actions_count++;
        }
    }
    legend.push_back( string_format( _( "All commands: %d, Bound to a key: %d" ),
                                     parent->get_registered_actions().size(), bound_actions_count ) );
    if( permit_execute_action ) {
        legend.push_back( string_format(
                              _( "Press %c to execute action\n" ),

@ZhilkinSerg ZhilkinSerg added Info / User Interface Game - player communication, menus, etc. Controls / Input Keyboard, mouse, keybindings, input UI, etc. labels May 16, 2024
@Procyonae
Copy link
Contributor

Procyonae commented May 16, 2024

Personally I'd prefer this added as an accessibility option that can default on for new players rather than a compulsory thing, personally I'd have no interest using it and I imagine the same goes for alot of peeps who've played alot and I'd rather not lost screen space for something I'm never going to interact with. You literally said as much, I can't read >_<

@Qrox
Copy link
Contributor

Qrox commented May 16, 2024

Maybe we can show a menu when you right-click on your character/nearby terrain to list the action you can do (similar to the current action menu). It won't take any screen space until requested, and adding icons to the menu should be easy.

@Daikiero
Copy link
Author

We already have quick shortcuts in Android builds and it should not take much to get them working on desktop (WIP is here - https://github.com/CleverRaven/Cataclysm-DDA/compare/master...ZhilkinSerg:Cataclysm-DDA:ui-quick-shortcuts?expand=1). Displaying icons in addition to keys in quick shortcuts should be rather easy too.

The issue is if you press ? on a main game screen with the following patch you will see that there are too many commands (144 in total, 80 of which are bound to a key). There is probably no way all icons for them would fit on a screen without obscuring much of the map.

image

@ -646,6 +646,15 @@ keybindings_ui::keybindings_ui( bool permit_execute_action,

    legend.push_back( colorize( _( "Keybinding active only on this screen" ), local_key ) );

    legend.push_back( colorize( _( "Keybinding active globally" ), global_key ) );

    legend.push_back( colorize( _( "* User customized" ), global_key ) );

    int bound_actions_count = 0;

    for( const std::string &a : parent->get_registered_actions() ) {

        auto iel = parent->keys_bound_to( a );

        if( iel.size() > 0 ) {

            bound_actions_count++;

        }

    }

    legend.push_back( string_format( _( "All commands: %d, Bound to a key: %d" ),

                                     parent->get_registered_actions().size(), bound_actions_count ) );

    if( permit_execute_action ) {

        legend.push_back( string_format(

                              _( "Press %c to execute action\n" ),

This is where the right-click context menu option comes in. CDDA has a ton of keybinds that aren't used commonly ("look at the sky", anyone?) and I feel that those bindings would be perfect for a drop down menu, rather than having a dedicated icon for every single keybind in the game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. Info / User Interface Game - player communication, menus, etc. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

4 participants