Project

General

Profile

Actions

Emulator Issues #11187

closed

Dolphin doesn't have a proper order of operation for advanced button assignments

Added by master0fdisaster1 almost 6 years ago. Updated over 4 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-11035

Description

What's the problem? Describe what went wrong.

[Description here]

If you assign a button something like

A & B | D & F

[Reproduction steps here]

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

[Version number here]

Is the issue present in the latest stable version?

[Yes/No and version number here]

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

[First broken version number here (if applicable)]

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]

What are your PC specifications? (CPU, GPU, Operating System, more)

[PC specs here]

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

[Anything else here]

Actions #1

Updated by master0fdisaster1 almost 6 years ago

I accidentally clicked on Create instead of preview.

If you assign a button this:

A & B | D & F

Dolphin will interpret it like this:

(((A & S) | D) & F)

instead of

((A & S) | (D & F))

The Problem is present in the latest stable version. Currently most recent version is 5.0-7936

Actions #2

Updated by master0fdisaster1 almost 6 years ago

Screwed up again.

What i actually wanted to say is:

If you make a button assignment like this:

A & B | C & D

Dolphin will interpret it like this:

(((A & B) | C) & D)

instead of

((A & B) | (C & D))
Actions #3

Updated by Lioncash almost 6 years ago

Have you considered parenthesizing your expressions appropriately? Even in C or C++, not doing that would cause a -Wparenthesis warning for precisely that reason (ambiguous precedence). Coincidentally, that associativity in the example you give is also that of C/C++ (left-associative).

Actions #4

Updated by master0fdisaster1 almost 6 years ago

I know that I can use parentheses to make it do whatever I want. I just think that most people expect it to use the order of operation of predicate logic (i.e. First ! then ∧ and then ∨) and that making it use that order would prevent a lot of confusion. The whole issue is really about usability and not about something not working.

Actions #5

Updated by Lioncash almost 6 years ago

Note that by changing that at this point would potentially break perfectly functioning existing expressions that already exist that users currently have. Because of that, I don't think it would be wise to change it over. I'm somewhat skeptical of usability issues really being massive here (not saying they're non-existent), given this is the first issue I've seen about the matter in 6 years (that is to say, the first one I've seen about it since working on the project).

Actions #6

Updated by Billiard26 over 5 years ago

  • Status changed from New to Fix pending
  • Assignee set to Billiard26
Actions #7

Updated by Billiard26 over 4 years ago

  • Status changed from Fix pending to Fixed
  • Fixed in set to 5.0-11035
Actions

Also available in: Atom PDF