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

[Feature Request] [MotS] Disabling pre-rendered cutscenes #193

Open
Vortikai opened this issue Jan 13, 2023 · 13 comments
Open

[Feature Request] [MotS] Disabling pre-rendered cutscenes #193

Vortikai opened this issue Jan 13, 2023 · 13 comments
Labels
enhancement New feature or request

Comments

@Vortikai
Copy link

Vortikai commented Jan 13, 2023

Disabling pre-rendered cutscenes

Above is a link to Edward's mod from 2009 that disables pre-rendered cutscenes and replaces them with in-game rendered ones.

The above mod is a collection of cogs that basically take the single player campaign and add cutscene information into the level files. In other words, the cutscene for the Star Wars intro text and level one cutscene are part of the level 1. The cogs tell the actors to perform certain actions, play sounds/dialog, and camera placements. Players eventually gain control of Kyle at the end of the cutscene and can play normally.

There's several problems with it however when running with OpenJKDF2/OpenMOTS:

1.) When OpenJKDF2 is installed for MOTS, the escape key for skipping cutscenes results in a level menu with only settings and abort options on the lower right. Otherwise no keyboard input is accepted during the cutscene.
2.) The level music initiates simultaneously as the cutscene and its music. Should be an easy fix cog-wise to change its volume to 0 or delay it until the cutscene is finished.
3.) The .goo basically contains its own copy of the single player campaign, in other words it is highly integrated with the campaign and not isolated from the level itself. This causes issues for custom SP level edits, and it's always better to be isolated and containerized in instances like this. It also makes unnecessary file transfers as players with MotS already have the SP campaign installed.

This might be beyond the scope of this project, but it would be nice to be able to find a way to update the prerendered cutscenes for MOTS.

There are two options if you want to include it in OpenJKDF2/OpenMOTS:

1.) Work with the above linked .goo file and find out how to integrate it into OpenJKDF2/OpenMOTS. Hopefully this ideally results in an optional "disable prerendered cutscenes" menu option the player may select to render cutscenes in the game.
2.) Record cutscenes at various resolutions for an "upgrade prerendered cutscenes" but there's file space issues and stuff like that for all possible resolutions, not viable long term anyway.

@shinyquagsire23 shinyquagsire23 added the enhancement New feature or request label Jan 14, 2023
@Vortikai
Copy link
Author

Vortikai commented Jan 17, 2023

The escape key now functions to skip cutscenes using the mod.

The music isn't an issue with our attempts to decouple the cutscenes from the integrated levels.

Massassi's first attempt at decoupling the cutscenes from the integrated levels is a partial success. We attempted to edit episode.jk to play the cutscene level and then load the regular mots level 1, but when the regular mots level loads, it crashes the game completely when pressing escape with no debug reports. The expected behavior is for the level pause menu to display. This is not unique to Openjkmots, as it happens in jkgfxmod only setups.

If we are successful in our attempts to decouple the cutscenes from the original levels, so that we don't distribute the original levels, are you open to integrating the option to disable pre-rendered cutscenes in openjkmots?

@shinyquagsire23
Copy link
Owner

If we are successful in our attempts to decouple the cutscenes from the original levels, so that we don't distribute the original levels, are you open to integrating the option to disable pre-rendered cutscenes in openjkmots?

That's part of why I just added PhysicsFS, so I could extract the UNSUPPORTED.ZIP and CUTSCENES.ZIP semi-automatically. I'm still debating adding some kind of formal patching system for JKLs/COGs but idk on anything specific yet. But yeah I think a ingame-rendered cutscene addition would be nice

@Vortikai
Copy link
Author

Vortikai commented Jan 18, 2023

Alright. We've successfully decoupled the cutscenes from the first level successfully without any problems as we were missing a simple a jkEndCutscene(); in the cogs. We're going through each now and should have a completed set soon after we test it in both jkgfxmod and openjkmots.

Basically everything will work but there's one hitch. After the cutscene level ends, a force power level up menu displays. We haven't figured out how to skip that.

@Vortikai
Copy link
Author

Vortikai commented Jan 18, 2023

We've decoupled all cutscenes in MOTS with the levels. Each in-game cutscene is now its own level spaced correctly and tested both on OpenJKMOTS and JKGFXMOD.

https://1drv.ms/u/s!AmGNeC0n6jbxhq4DWs4V7aJ1w3ipLw?e=Xdc34N

-Escape key functions as expected now. We've tested it extensively to ensure crashes to desktop or main menu crashes don't occur.
-Corrections were made from Edward's version to better emulate the original cutscenes in vanilla (missing panels added back).
-We removed the opening scroll as we didn't like it as a whole. The opening logo and scroller with the Star Wars logo/text scroll are still prerendered on game launch.
-I made a version that removes the level names (e.g. S1L1_OPENING), but that isn't included here as it's more difficult to select from the debug menu. I can hand it over if requested.
-Our main issues is audio. We can sort that out later maybe. Levels 1, 5, and the ending cutscenes for 12 and 13 have it where music is only heard when dialog is played, all others are fine.
-The second main issue is the ability to skip secrets found/force levels gained menu at the end of cutscenes.

We're stopping here for now and might return later to fix the audio issues with AI extracting vocal lines from the prerendered cutscenes.

If you want to implement this natively:
-We need a way to skip the secrets found/force powers gained menu at the end of cutscene levels
-A toggle menu option for disabling prerendered cutscenes (a function that loads jkm3.goo AND ignore the VIDEOS folder in Resources)

As of right now it's okay as a mod but we probably won't distribute it widely ourselves. We wanted to give you a baseline option for natively implementing it if you wanted it. We'll see what happens from here

@Vortikai
Copy link
Author

Vortikai commented Jan 20, 2023

Another avenue you could use is use the cutscene.goo route which doesn't include any audio natively.

The task then is to implement music which is from the Star Wars OST/not game files, then each line of dialogue. We did a test of that here with Level 1's opening cutscene which works quite well (music not included, no music will be played).

S1L1_OCS.zip

To get each line, we recorded the entirety of the cutscene's audio and use AI ( https://vocalremover.org/ limited how much one could use per IP for a certain duration) to isolate the dialog from the music. Then we cut each clip appropriately into the voice folder in resources, cutscene.goo in episode.

@GeneralTantor
Copy link

This would be nice since we could affectively update the cutscenes with the JKGFXMOD Texture packs added.

@Vortikai
Copy link
Author

Vortikai commented Apr 4, 2023

It is nice, but it will require some work from Shiny, Nikumubeki, and myself depending on which way Shiny wants to go.

Path 1: Take the decouple cutscenes Nikumubeki and I made from Edward's mod version. This requires that

  • Ensuring all audio works as normal, especially looking out for where music only plays when dialog is spoken. Possible locations that still might need work are levels 1, 5, and the ending cutscenes for 12 and 13.
  • Removing the "Secrets Found" screen after each cutscene, as each cutscene acts as its own level
  • Possibly removing the loading screen for the cutscene OR using a version I have made that does not include level names for the cutscenes

Path 2: Cutscene.goo route which does not have any audio in them. An example of this route is what we made with Level 1 found here. This requires that

  • We have to find music from the OST of the movies as some music in cutscenes are not included in the game.
  • We have to record each line of dialog in the cutscenes of MOTS, extract them, and use a program that isolates the dialog from the music that is recorded along with them, e.g. from the AI program https://vocalremover.org/
  • Once we have music and the dialog for each line, it is then possible to combine both with cutscene.,goo that is placed in the episodes folder, and voice files in the resources directory.
  • Another option is possibly to record the entire cutscene from the native game and overlay that audio with cutscene.goo data. This may lead to timing issues and audio desync.

Path 1 is easier but it modifies the episode order of the native game, so it essentially is more of a mod. This means that the cutscene level load and the secrets found/end level screen are displayed after each cutscene.

Path 2 requires a bit more work potentially but it remains more native to the game, and is less of a mod. This path also means that we don't have to worry about a separate level load screen for the cutscene, and the secrets found/end level screen won't be displayed, as it is not its own level.

@GeneralTantor
Copy link

Hey man how did you get this mod to actually run at all? I place it in the Mods folder but it does not load the cutscenes natively still runs the recorded ones. Do I have to disable the cutscenes in the menu first? or am I not putting in the right location?

Also you can run the cutscenes native by themselves by going to the debug menu so I was actually thinking maybe just recording those the only problem then is there is not really a way to make the videos .SAN format... unless one of you guys knows...? I think all the issues you been having with running them native is probably the reason Lucasarts decided to just record them and make it right then just add the video files... Of course because its Lucasarts they had to make some strange video format that no one else knows about and cannot be replicated easily.. Anyways, thanks for all your work on this! This is closer than I have been able to get...

@Vortikai
Copy link
Author

I can't remember how exactly I got it to work but I can test later if you want. I don't use them right now due to the above mentioned issues that can only be resolved by coding openjkdf2.

However, if you put it in a folder like "jkm3" and run MotS via a .bat file "whateverthexeis.exe -path jkm3" it should work.

Or just use this maybe https://cdn.discordapp.com/attachments/800417541654577204/1112811965740503101/JKM3DIR.7z

@nikumubeki
Copy link

nikumubeki commented Mar 25, 2024

Here's the latest version of the jerry-rigged cutscene pack (partially based on Edward's version and including many of his files), which should now cover all the cutscenes from the game - however, it's not 100% accurate to the pacing/structure of the original cutscenes and there are no subtitles:

https://drive.google.com/file/d/1Ngl2SnnmVIPv7geaXLpYhRbRmYycSTmu/view?usp=sharing

Installation: It should work if you extract the zip to an OpenJKDF2 directory with MotS installed and then run the __jkm4.bat file

@GeneralTantor
Copy link

Nice! Thank you sir this will help out!

@GeneralTantor
Copy link

It worked!!! dude! This is what we needed to get this thing working!! Holy moly! You did it! yeah maybe in the future we could fix some things here and there but this is awesome! Great work man!

@GeneralTantor
Copy link

https://youtu.be/1bfPjVDSLMQ?si=DqfNHnyXNy-3FNsE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants