rscustom / rocksmith-custom-song-toolkit

Custom song toolkit for Rocksmith and Rocksmith 2014
http://www.rscustom.net/
343 stars 80 forks source link

Add support for custom fonts in lyrics #342

Closed iminashi closed 4 years ago

iminashi commented 4 years ago

This pull request enables users to use a custom font (generated by my font generator) for the lyrics. Importing a package also preserves the custom font information.

There is support for only one custom font texture per package. I assume that having a different custom font for both the Japanese lyrics and regular lyrics would be possible, but I haven't tried it.

I also changed it so that when a user tries to use a lyrics file that has characters in it that are not included in the default font, a warning will be displayed, instead of the characters being silently removed.

Other minor changes I made not related to the feature:

cozy1 commented 4 years ago

@iminashi Would it make sense to add a tab menu for the Font Generator, similar to what is currently done for DDC? That way the user would have all programs needed to use the feature you propose. Are you using .Net Core for the Font Generator? Is it backward compatible with the rest of the toolkit?

Are Bass arrangements addressed by the new file detection method?

iminashi commented 4 years ago

You mean a tab like where you would pick some settings and it would launch my program or some kind of CLI version that would generate the font, or do you mean something different? My Font Generator is currently set to use .NET Framework 4.6.1. As for its compatibility with the Toolkit, I don't really know, but I doubt it.

The type of an instrumental arrangement is detected in the AddXmlArrangement method like it was before. I used the existing enum type for the method DetectArrangementType, but adding a new choice to it or making a new enum with the proper choices would make things clearer.

iminashi commented 4 years ago

So maybe just adding a button to launch the Font Generator would be enough. Looking to make it easier for potential users.

Sure, sounds good to me,