Skip to content

Fixing PAL and NTSC-U region issues and updated Touch! Generations#16

Open
Barcia04 wants to merge 10 commits intoWiiLink24:mainfrom
Barcia04:Barcia04-patch-1
Open

Fixing PAL and NTSC-U region issues and updated Touch! Generations#16
Barcia04 wants to merge 10 commits intoWiiLink24:mainfrom
Barcia04:Barcia04-patch-1

Conversation

@Barcia04
Copy link
Copy Markdown

@Barcia04 Barcia04 commented Feb 17, 2026

INFO:

  • Updated Touch! Generations IDs to include all region exclusive titles
  • Added variable to force wrongly labeled games to be in their correct region (Example: game labeled as PAL in GameTDB while in reality is NTSC-U)
  • Fixed region code issue that made all DSi and DSiWare (Titles end with "V") titles dissapear on PAL regions due to not being ended with 'P', while also Australian (U), Spanish (S), French (F), Italian (I), German(D) and Dutch (H) releases suffering the same issue or releases that have different ID due to publishing or cartdridge limitations (Title IDs that end with W, X, Y or Z).

…ect region

Added country exclusive title ID code in order to fix DSiWare, and DSi games not appearing, and Wii, WiiWare, 3DS, and DS suffering the same in PAL regions.

Added Special NTSC-U region, these regions are either Special Editiosn such as Walmart or Toys R' Us which they are blacklisted or Canadian releases.

Some games (a small amount of them) are labeled wrong in GameTDB, these games are labeled as PAL instead of NTSC-U, so I added a code to force them to change to NTSC-U
Updated Touch Generations! IDs to include all region exclusive titles.

Added variable to force titleIDs wrongly labeled to their correct region.
Copy link
Copy Markdown
Member

@noahpistilli noahpistilli left a comment

Choose a reason for hiding this comment

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

Please test your changes before making a pull request. As of right now these changes break everything.

Comment thread constants/const.go Outdated
Comment on lines +178 to +181
"YBN", "VAAE", "VAAV", "AYA", "AND", "ANM", "ATD", "ADJ", "BET", "CNVP", "CNVF", "CNVD", "CNVI", "CNVS", "ANH", "ANG", "AUA", "AUB", "AUC", "AUD", "AUE", "AIX", "AIZ",
"YCU", "ATI", "AOS", "AG3", "AWIE", "APLE", "AJQE", "AJQJ","CM7", "BKCE", "ATG", "AVM", "AD5", "AD2", "ADG", "AD7", "AD3", "IMW", "IA8", "C6P", "AXP", "A4VJ", "AJM", "AOI"
"A8NE", "A2Y", "AZI", "ASQ", "AJY", "ATR", "ARJ", "AGFE", "USK", "VET", "YFCE" "YLZP", "YLZX", "YLZJ", "YNU", "SUPP", "SUPJ", "RFN", "RFP", "R64", "RYW", "RHAP", "RHAJ",
"RJT", "RSPP", "RSPJ", "RZTP", "RFBP", "R4EP", "RNOP", "RTYP", "SP2P",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Where did you source these IDs from?

Copy link
Copy Markdown
Author

@Barcia04 Barcia04 Feb 17, 2026

Choose a reason for hiding this comment

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

All these were sourced from different sources:

  • Wikipedia which in itself is a bad source and was only used for reference since it had a huge list compared to other sites.
  • By having some of these games which in the cover they do have the Touch! Generations logo.
  • Nintendo Japan website for Wii and DS which suprisingly is still up.
  • GameFAQs alongside GameTDB and Wikipedia by checking covers and if the list is correct.
  • Old Touch! Generations page through Wayback Machine.
  • Nintendo Europe page.

Comment thread v6/dllist/titles.go
Comment on lines +104 to +107
var regionToCodeTDB = map[constants.Region][]byte{
constants.NTSC: {'E', 'L', 'X', 'Z'},
constants.PAL: {'P', 'F', 'D', 'S', 'I', 'H', 'U', 'X', 'Y', 'V', 'Z'},
constants.Japan: {'J'},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You changed the value of the map from byte to an array of byte, therefore you must alter all code that references this map to reflect the change.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

By accident I forgot to change the references. Apparently this now is fixed!

If not I found another way to implement this and avoid wrong games, by deleting this line and references and hardcoding chinese and iQue titles to be blacklisted and changing game regions that are wrongly labeled

Comment thread v6/dllist/titles.go
Comment on lines +164 to +169
forcedRegion := game.Region
isForced := slices.Contains(constants.CanadaUSAIDs, game.ID[:4])

if isForced {
forcedRegion = "NTSC-U"
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This does literally nothing. forcedRegion is never used anywhere. Furthermore, since you only assign and never access forcedRegion, this won't even compile.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Sorry! Forgot to implement it correctly. Please tell me if the changes are correct!

Attempted to fix region code that was badly implemented alongside the CanadaUSA IDs getting the ForceRegion implemented but not getting used.
Added missing commas in the Touch! Generation IDs causing syntax errors.
@noahpistilli noahpistilli self-requested a review February 17, 2026 16:24
Added additional IDs to the CanadaUSAIDs list.
…ng in Touch! Generationsr: Cooking

Removed duplicate entries and cleaned up the TouchGenIDs list, due to being in the Gen in all regions not Europe only.
Updated PAL region codes an added 'W' title ID, this type of code is used the same way as 'X, Y, Z" by cartdridge, disc or channel limitations, or publishing.
Copy link
Copy Markdown
Author

@Barcia04 Barcia04 left a comment

Choose a reason for hiding this comment

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

Fixed the issues and updated the code. Everything should be good now. Please let me know if I forgot something!

Comment thread v6/dllist/titles.go
Comment on lines +104 to +107
var regionToCodeTDB = map[constants.Region][]byte{
constants.NTSC: {'E', 'L', 'X', 'Z'},
constants.PAL: {'P', 'F', 'D', 'S', 'I', 'H', 'U', 'X', 'Y', 'V', 'Z'},
constants.Japan: {'J'},
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

By accident I forgot to change the references. Apparently this now is fixed!

If not I found another way to implement this and avoid wrong games, by deleting this line and references and hardcoding chinese and iQue titles to be blacklisted and changing game regions that are wrongly labeled

Comment thread v6/dllist/titles.go
Comment on lines +164 to +169
forcedRegion := game.Region
isForced := slices.Contains(constants.CanadaUSAIDs, game.ID[:4])

if isForced {
forcedRegion = "NTSC-U"
}
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Sorry! Forgot to implement it correctly. Please tell me if the changes are correct!

Title ID "AOS" has been updated to "AOSE" due to not being considered a Touch! Generations title on Europe and Japan, only on America.
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