Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Sign Languages and Language Markers #575

Merged

Conversation

Mnemotechnician
Copy link
Contributor

@Mnemotechnician Mnemotechnician commented Jul 21, 2024

Description

This refactors #510 and #553. #553 specifically was reverted and re-implemented from scratch. As a consequence to all of this, the chat system was refactored a bit too, hopefully for the best.

Changes:

  • InGameICChatType, InGameOOCChatType, ChatTransmitRange were all moved to shared and made serializable
  • Added a method to wrap whisper messages to reduce code duplication in chat system
  • Both WrapPublicMethod and WrapWhisperMessage call the same generic WrapMessage method, which allows to add speech verbs to whispers and more. That method is also fully responsible for adding language markers and deducing speech verbs now.
  • Everything related to speech was moved out of LanguagePrototype and into SpeechOverrideInfo. LanguagePrototype now holds an instance of that.
  • Added AllowRadio, RequireSpeech, ChatTypeOverride, SpeechVerbOverrides, MessageWrapOverrides to SpeechOverrideInfo, all of which are used in implementing the sign language.
  • Suffered a lot

TODO

  • Cry
  • Fix the sign language not displaying properly over the character.
  • Find a way to circumvent being unable to speak??

Media

image

See below

Changelog

No cl no fun

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files Status: Merge Conflict FIX YOUR PR AAAGH labels Jul 21, 2024
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@SimpleStation14 SimpleStation14 changed the title Refactor sign languages and language markers Refactor Sign Languages and Language Markers Jul 21, 2024
@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Jul 21, 2024
@Mnemotechnician
Copy link
Contributor Author

Okay, I fixes and it works properly now
image

image

image

image

@FoxxoTrystan
Copy link
Member

Hows does it looks like when the other does not know "Sign Language"?

@FoxxoTrystan
Copy link
Member

Do you think we could also provide an override for the bubble type, its should be possible as i have seen but would it be easly to imprement a bubble type.

@Mnemotechnician
Copy link
Contributor Author

This should now be ready for review, this is how it looks in-game:

weeee-2024-07-23_00.37.33.mp4

Copy link
Contributor

@DangerRevolution DangerRevolution left a comment

Choose a reason for hiding this comment

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

needs moar; in a future PR would you be able to make sign language a trait?

Resources/Prototypes/Language/languages.yml Show resolved Hide resolved
@Mnemotechnician
Copy link
Contributor Author

needs moar; in a future PR would you be able to make sign language a trait?

Yes but that's not within the scope of this PR. I think mimes should be able to speak it naturally, too.

@FoxxoTrystan
Copy link
Member

needs moar; in a future PR would you be able to make sign language a trait?

Again we want to do a Language Menu but temp we got do a sign language trait TEMP

@VMSolidus
Copy link
Member

needs moar; in a future PR would you be able to make sign language a trait?

Again we want to do a Language Menu but temp we got do a sign language trait TEMP

I do agree that it absolutely is essential for sign language that for it to really be "Playable", we absolutely must have a trait for people other than Mute & Mime to buy it(Actually I don't like the idea that Mimes get it for free, they absolutely shouldn't. But that's because I hate mimes, think they're offensive, and think that they should suffer because they're people who voluntarily choose to be mute.). Obviously, the trait could just be trivially removed once an actual language menu is coded.

My biggest issue right now with tying it to the Mute trait. Is that the mute trait is absolutely dogshit, to such an extreme degree that most people who play "Mute" characters do so without taking the trait, myself included.

@VMSolidus
Copy link
Member

Other gripes. Sign Language "Speech" should have quotation marks, to indicate that it's actually talking and not just a funky capitalized special emote text.

@OldDanceJacket OldDanceJacket merged commit 92dcd72 into Simple-Station:master Jul 26, 2024
11 checks passed
("color", language.Color ?? Color.Gray),
("entityName", name),
("message", FormattedMessage.EscapeText(result)));
wrappedMessage = WrapWhisperMessage(source, "chat-manager-entity-whisper-wrap-message", name, perceivedMessage, language);
Copy link
Member

Choose a reason for hiding this comment

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

wrappedMessage = WrapWhisperMessage(source, "chat-manager-entity-whisper-wrap-message", name, perceivedMessage, language);

we should send result not perceivedMessage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants