Skip to content

feat: Ultra theme names - prefer culture over generic and error handling - #1642

Merged
OH296 merged 1 commit into
Adeptus-Dominus:mainfrom
OH296:cultural_name_work
Oct 21, 2026
Merged

OH296 merged 1 commit into
Adeptus-Dominus:mainfrom
OH296:cultural_name_work

Conversation

@OH296

@OH296 OH296 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary by cubic

Preference for culture-specific name styles: the Ultra culture gets its own composite Roman-style name set, and culture-selected names now override the generic space marine fallback instead of being mixed in with it.

  • Registered ultra as a composite name set (praenomen + nomen + cognomen) in name_loader.json and added it to the game project.
  • Changed the name generator so space_marine names only load as a fallback when no culture styles are selected; previously space_marine was always included.
  • Wrapped name set loading in the error handler so a malformed name file no longer crashes the generator.

Written for commit a07fdc9. Summary will update on new commits.

View guided diff

@github-actions github-actions Bot added Area: JSON Changes to external JSON files or their under-the-hood functionality Size: Huge Type: Feature Adds something new labels Oct 21, 2026
@OH296

OH296 commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator Author

/review

@lyra-cactus lyra-cactus Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Solid isolation fix. Verified that the 'Ultra' set key matches the 'Ultra' entry in global.culture_styles (globals.gml:193), that the praenomen/nomen/cognomen composites work with the 'complex' preferred method exactly like the existing 'Roman' set, and that no culture selection can leave ChapterMemberNameGeneration without a result (empty selection defaults to space_marine, and the '_name == ""' fallback to imperial_male covers cultures without registered name sets). The per-entry try/catch in the loader loop follows the established pattern for user-editable config (name_loader.json) and fails soft via ERROR_HANDLER, which is available at that point of the boot sequence. Only minor nits below, nothing blocking.

Comment thread scripts/NameGenerator/NameGenerator.gml
Comment thread datafiles/main/names/ultra.json
Comment thread ChapterMaster.yyp
@OH296
OH296 merged commit b7518b2 into Adeptus-Dominus:main Oct 21, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: JSON Changes to external JSON files or their under-the-hood functionality Size: Huge Type: Feature Adds something new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant