Skip to content

feat(UI,port): Streamline the repair interface to show repair/improvement/damage chance during item selection#8221

Merged
chaosvolt merged 6 commits intocataclysmbn:mainfrom
SYPIAC:fix/repair-menu-details-from-dda
Feb 24, 2026
Merged

feat(UI,port): Streamline the repair interface to show repair/improvement/damage chance during item selection#8221
chaosvolt merged 6 commits intocataclysmbn:mainfrom
SYPIAC:fix/repair-menu-details-from-dda

Conversation

@SYPIAC
Copy link
Contributor

@SYPIAC SYPIAC commented Feb 21, 2026

Purpose of change (The Why)

Port repair menu UX improvements from DDA so we shows repair details directly in the selection UI without having to go through to each item.

Related DDA PRs:
CleverRaven/Cataclysm-DDA#59827
CleverRaven/Cataclysm-DDA#65846
CleverRaven/Cataclysm-DDA#63587

Describe the solution (The How)

  • Added repair menu columns:
    • MATERIALS AVAILABLE
    • SUCCESS
    • DMG
  • Added repair hint text including tool and skill used.
image

Describe alternatives you've considered

  • Calling can_repair_target() in the menu filter to hide more invalid entries.
    • Rejected due to noticeable open-time slowdown in BN because it triggers expensive component checks per candidate item.
  • Not implementing this change because checking each item for repair info is performance intensive

Testing

  • Built on Windows
  • Opened repair menu with sewing kit and confirmed the columns/hint are visible.

Additional context

  • Header naming was adjusted for compact/mobile-friendly display. Should support mobile play really be a concern?

Checklist

Mandatory

Optional

  • This PR ports commits from DDA or other cataclysm forks.
    • I have added port scope to the PR title.
    • I have attributed original authors in the commit messages adding Co-Authored-By in the commit message.
    • I have linked the URL of original PR(s) in the description.

SYPIAC and others added 2 commits February 21, 2026 15:25
Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru>
Co-authored-by: anoobindisguise <56016372+anoobindisguise@users.noreply.github.com>
Co-authored-by: Alexey <irwiss@users.noreply.github.com>
Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru>
Co-authored-by: anoobindisguise <56016372+anoobindisguise@users.noreply.github.com>
Co-authored-by: Alexey <irwiss@users.noreply.github.com>
@github-actions github-actions bot added the src changes related to source code. label Feb 21, 2026
@scarf005 scarf005 changed the title feat(port): Streamline the repair interface to show repair/improvement/damage chance during item selection feat(UI,port): Streamline the repair interface to show repair/improvement/damage chance during item selection Feb 21, 2026
@autofix-ci
Copy link
Contributor

autofix-ci bot commented Feb 21, 2026

Autofix has formatted code style violation in this PR.

I edit commits locally (e.g: git, github desktop) and want to keep autofix
  1. Run git pull. this will merge the automated commit into your local copy of the PR branch.
  2. Continue working.
I do not want the automated commit
  1. Format your code locally, then commit it.
  2. Run git push --force to force push your branch. This will overwrite the automated commit on remote with your local one.
  3. Continue working.

If you don't do this, your following commits will be based on the old commit, and cause MERGE CONFLICT.

@SYPIAC
Copy link
Contributor Author

SYPIAC commented Feb 21, 2026

Using arc welder in death mobile cargo hold causes half a second of wait as it processes everything and opens, I think the performance hit is worth it still.

image

@AutumnNova
Copy link
Contributor

Using arc welder in death mobile cargo hold causes half a second of wait as it processes everything and opens, I think the performance hit is worth it still.
image

Id be concerned how much worse that delay is on older systems/android phones

return;
}
listed_components.emplace( component_id );
if( item::count_by_charges( component_id ) ) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps cache the charges for the duration of the function?
That should bring performance issues down to a minimum as most things are repaired with the same things

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented, this does cut the waiting time noticably.

@chaosvolt chaosvolt merged commit 103f283 into cataclysmbn:main Feb 24, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

src changes related to source code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants