Skip to content

Update Dimensions.cpp - #3

Merged
NeverCookFirst merged 1 commit into
NeverCookFirst:masterfrom
harrysof:master
Sep 10, 2026
Merged

NeverCookFirst merged 1 commit into
NeverCookFirst:masterfrom
harrysof:master

Conversation

@harrysof

@harrysof harrysof commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

added character duplication support

Changelog

Toypad-related changes specific to this fork (feature/dimensions-listener). Upstream shadPS4 history is tracked via the regular commit log.

2026-09-09

Fixed

  • Duplicate characters not registering. Loading a second copy of an already-active character (e.g. two Batmans on different pads) sent an identical NFC UID for both, since the companion app can only send the one fixed tag dump it has per character. The game reported the same UID as newly added at a second pad/index without it ever leaving the first — a state that can't happen with real hardware — and silently failed to register the duplicate.
    DimensionsToypad::LoadDimensionsFigure (src/core/libraries/usbd/emulated/dimensions.cpp) now checks the incoming UID against every other currently-occupied slot. On a collision it mints a fresh random UID (via the previously-unused RandomUID helper) and re-encrypts the pages keyed to it — character id (page 36/37, characters only) and the password (page 43) — exactly like CreateFigure already does when minting a brand-new custom tag. The mutated tag is persisted back to its staged .bin file so it stays self-consistent on reuse.

@NeverCookFirst
NeverCookFirst merged commit 3671710 into NeverCookFirst:master Sep 10, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants