Skip to content

Text handler overhaul (ASCII/UTF-8, Multilang, Fonts)#60

Draft
AloXado320 wants to merge 19 commits intoAloUltraExt:masterfrom
AloXado320:ascii
Draft

Text handler overhaul (ASCII/UTF-8, Multilang, Fonts)#60
AloXado320 wants to merge 19 commits intoAloUltraExt:masterfrom
AloXado320:ascii

Conversation

@AloXado320
Copy link
Copy Markdown
Member

@AloXado320 AloXado320 commented May 12, 2024

Courtesy of HackerSM64, this massively changes text and dialog handling, replacing the old vanilla method.

Changes mentioned
  • Changes the vanilla text systems to support ASCII and UTF-8 encoded text.
  • Textconv and the charmaps have been completely removed.
  • Adds in proper multi-language support for all four languages, easily toggleable with config files.
  • Adds new characters required for all languages to work, as well as some extra characters.
  • Adds a full diacritic system allowing all accented characters to be used easily.
  • Every character can be used in every language, even Japanese characters if the define is enabled.
  • Text printing functions have been optimized and given new features such as alignment, escape characters, %s in dialogs.
  • Vanilla menus have been reworked in order to utilise sprintf and text alignment better.

Additional changes to be added for this repo:

  • Font textures organized in their own folder in segment2.
  • Compatibility with vanilla text and "special" dialog strings.
  • Proper Japanese and Chinese support.
  • Language font override, as a separate struct.
  • A small font extractor for all versions of the game, with fixed positions.
  • Each version defined should set it's own language only unless multi-language it's defined.
  • Color control command text as a separate define.
  • EU texture rectangle dialog rendering as a define.
  • Typewritter effect as a define.
  • Better menu scrolling options as a define, without relying on options menu.

@AloXado320 AloXado320 marked this pull request as draft May 13, 2024 01:43
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.

1 participant