Amineri Posted February 20, 2014 Share Posted February 20, 2014 I decided to dig in and look a little more closely at how the various movies are integrated into XCOM, in the hopes of being able to change/tweak things, or even in the best case edit/insert new movie content. All of the movie sequence are in BIK movie format -- they all have a .bik or .bk2 extensions. I found a player and some free tools here : http://www.radgametools.com/bnkdown.htm. With these I was able to view all of the cinematic sequences, which are located in the Movies folder for both XCOM EU and EW. The Enemy Within movies all have .bik extensions while for Enemy Within there appear to have upgraded, as these movies all have .bk2 extensions. Of note here is that these movie files are the only thing not duplicated for Enemy Within -- it otherwise has all other unreal object, config files, and localization files duplicated, which includes straight audio files. These movie files don't have any voiceovers. Presumably this is to allow localization of the character speech via separate audio overlays. My suspicion is that the txt files located within the Movies folder contains links and timestamps for when to play these localized audio overlays. For example, the "First UFO Shot Down" cinematic sequence is named "1080_CIN_TP01_1stUFOShotDown_LOC.bik". There is a similarly name file "CIN_TP01_1stUFOShotDown_LOC.txt" in the same directory that contains: 1000 2000 10000 TP01_1stUFOShotDown_01 10500 14000 TP01_1stUFOShotDown_02 14250 19000 TP01_1stUFOShotDown_03 19900 22000 TP01_1stUFOShotDown_04 22400 25000 TP01_1stUFOShotDown_05 25300 27000 TP01_1stUFOShotDown_06 32500 34000 TP01_1stUFOShotDown_07 34900 39000 TP01_1stUFOShotDown_08 My suspicion is that these 8 objects are links to the the audio overlays and that the 2 numbers preceding each of them are some form of timecodes to indicate when each audio file is to be played. Movie sequence that don't contain any voice audio to be added doesn't end with _LOC and doesn't contain an associated file, such as "1080_CIN_TP13_Part01.bik" ------------------- Cinematics are invoked within the upk with commands such as : PRES().UINarrative(xcomnarrativemoment'TP06A_Victory',, PostMatinee); This is the command used to launch the post-alien based cinematic. The PostMatinee parameter is a delegate function that is invoked after the cinematic has finished executing. (It's basically how control is returned to the game after the cinematic is finished). The UINarrative function is defined within XComGame.upk :: XComPresentationLayerBase.UINarrative. However the Narratives are defined via the class XComNarrativeMoment, which includes an array of conversations (I'm thinking these are the localized speech audio overlays). They are retrieved via a command such as: if(kNarrativeMoment.arrConversations.Length == 0) XComNarrativeMoment also appears to handle cinematics rendered using the Unreal 3D engine, as the complete list of narrative moments is configured within the config file DefaultNarrative.ini. There are over 1000 elements defined in DefaultNarrative.ini NarrativeMoments array, definitely more than the number of BIK movie files. Regardless, by creating a new BIK movie file, configuring it within DefaultNarrative.ini, and then invoking it from within the upk, it should be possible to call entirely new movie sequences. ---------------------------- One thing of particular note with DefaultNarrative.ini is that there are two separate narrative arrays:NarrativeMomentsNewbieMomentsThe comments above NewbieMoments says: ; NewbieMoments will be marked as already played if that option is enabled So it looks possible to reconfigure via this file which cinematics will be skipped with that option. NarrativeMoments holds over 1000 separate narrative moments, while NewbieMoments only contains 61 elements. Elements that are in NarrativeMoments are also in the Newbie array, indicating that this array is simply used to mark the other elements as "already played". --------------------------------- Going to close by saying that I'm not an expert on movie editing, so I'm unlikely to be creating any new BIK movie sequences myself, but I thought perhaps there are others out there that might be interested in such things. Link to comment Share on other sites More sharing options...
Recommended Posts