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

vanilla audio / subtitles features #2

Open
10 of 50 tasks
Roms1383 opened this issue Jan 7, 2024 · 3 comments
Open
10 of 50 tasks

vanilla audio / subtitles features #2

Roms1383 opened this issue Jan 7, 2024 · 3 comments

Comments

@Roms1383
Copy link
Member

Roms1383 commented Jan 7, 2024

Features

As we can see below, a voice subtitle translation can be of 2 kinds:

  1. is played in the game's voice language (player selected, can only be updated by re-downloading the entire language pack)
  2. is played e.g. in the NPC's mother-tongue and translated on-screen by V's cyberware

Subtitles of interest can be of 2 kinds:

  1. main dialog (large one shown at the bottom)
  2. chatter dialog (small one shown on top of e.g. NPC's head

Parser

When parsing, here's what we need to comply with game's basic requirements:

  • types
    • voiceovers
    • onos / grunts
    • dialog choice hubs
    • chatters
    • dialog line data

See whimsical.

Currently this is what we got:

  • voice
    • key: CName
      • fem
        • locale Locale
          • file PathBuf
          • subtitle String
      • male
        • ...

What's left to support:

  • scnDialogLineData

scnDialogLineData can be combined in an array to create a full dialog, or so it seems.

  • scnDialogLineLanguage
    Origin = 0
    Creole = 1
    Japanese = 2
    Arabic = 3
    Russian = 4
    Chinese = 5
    Brasilian = 6
    Swahili = 7
    French = 8
    Polish = 9

  • scnDialogDisplayString

    • text: String
    • translation: String
    • preTranslatedText: String
    • postTranslatedText: String
    • language: scnDialogLineLanguage

Audio

  • AudioSystem
    • Play
    • Stop
    • Switch
    • Parameter
    • ...
  • GameObject
    • PlayVoiceOver
    • PlaySound
    • PlaySoundWithParams
    • StopSound
    • AudioSwitch
    • AudioParameter
    • PlaySoundEvent
    • PlaySoundEventWithParams
    • StopSoundEvent
    • PlayMetadataEvent
    • SetAudioSwitch
    • SetAudioParameter
  • IComponent
    • QueueEntityEvent
@Roms1383
Copy link
Member Author

Roms1383 commented Mar 11, 2024

CRUID generation needs to be improved for Audioware too.

Screenshot 2567-03-11 at 21 37 04

see Discord

@Roms1383
Copy link
Member Author

Roms1383 commented Apr 1, 2024

according to DllMap on Discord, implementing audio for quests and scenes revolves around:

scnSectionNode. and its a scnDialogLineEvent I believe

the scnscreenplayDialogLine are referenced by the scnDialogEvents and will allow you to do different localizations and include subtitles and such

and i think for which audio to play you put the info in the female\male lipsync animation field. don't know the exact name

@Roms1383
Copy link
Member Author

Roms1383 commented Aug 6, 2024

Mostly fixed by #23.

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

No branches or pull requests

1 participant