Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

[SOLVED] Level Streaming on the Citadel

Dedicated area for content modders to help each other with technical aspects of modding the Mass Effect Trilogy.

[SOLVED] Level Streaming on the Citadel

Postby giftfish » 22 Sep 2016, 23:35

So.... has anyone ever had this not work? I'm likely doing something wrong, as this is my first attempt. My edits are partly working.


The goal is this: force the game to use an alternate set of files for Huerta post-Menae, under certain conditions. Basically...

--BioD_CitHub_HospitalP2/LOC_INT.pcc gets loaded when Thane isn't the LI.
--BioD_CitHub_HospitalP2_TM/LOC_INT.pcc gets loaded when Thane is the LI.

This will allow me to implement two entirely different versions of the Huerta dialogue.

So far, I've succeeded in preventing the original files from loading, but the new ones aren't taking their place. This is what ProcMon indicates, anyway. No Hospital_P2 files are loaded when in the hospital between Menae and Coup.


FYI, this requires editing in both BioD_CitHub and BIoP_CitHub.

Normally, the hospital is controlled via the general "Phase_2" level streaming that applies to most Citadel levels. What I've done is taken a cue from how the docks are handled and changed the hospital's "Phase_2" to "Phase_2_Hospital", and then added a new StateName of "Phase_2_Hospital_TM". Within BioD, Biotriggerstreams 129 and 130 control the hospital. Here's what they look like:

Image

Unfortunately, there is also the elevator to worry about, which is controlled by 6 Biotriggerstreams:

  • 124 - embassy elevator
  • 125 - hospital elevator
  • 154 - presidium elevator
  • 136 - underbelly elevator
  • 138 - docking bay elevator
For some reason Purgatory doesn't have an elevator biotriggerstream, and 136/138 are far different in structure than those for 124/125/154.

I've edited all these, and all act the same and spit me into the same version of the hospital. They all look something akin to this (#125):

Image

Finally, all of this is controlled via the streaming states sequence in BioP_CitHub, which I've edited to look like this:

Image

There's no change when I swap out the conditional, which indicates the problem is elsewhere. It's also very easy to spot whether the file is working in game, b/c it changes Thane's accessibility in Huerta. So, vanilla behavior is that he should be present. With the conditional above, he should be present before Sur'Kesh and absent after.

Observation summary:

--All elevator streaming works identically and results in the same behavior. I get the same version of the hospital.
--Modded BioD_CitHub and BioP_CitHub are being loaded according to Procmon.
--Changing the conditional for obj 1102 in the sequence to 634 (always true) results in no change, so the problem seems to lie elsewhere.
--The new file names match those called by the State Name.
--The State Names in BioD and BioP match.
--There are no BioTriggerStream or SetStreamingState objects in BioD_CitHub_Hospital.pcc or HospitalP2 that could be interfering.
--I've done all the cloning in SeqEditor, which means it's basically impossible to mislink something, since the tool does it for you.

----

Anyone see something I'm doing wrong or am missing?
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Level Streaming on the Citadel

Postby Kinkojiro » 23 Sep 2016, 14:39

I can virtually guarantee the problem is a different state is being set somewhere else.

Check the streams and levels in a save, raw on gibbed that will tell you which state is interfering. If you have several streams live from one biotriggerstream it will pick just one.
User avatar
Kinkojiro
Modder
 
Posts: 578
Joined: 02 Dec 2013, 04:14
Has thanked: 233 time
Have thanks: 249 time

Re: Level Streaming on the Citadel

Postby giftfish » 23 Sep 2016, 14:52

Kinkojiro wrote:I can virtually guarantee the problem is a different state is being set somewhere else.

Check the streams and levels in a save, raw on gibbed that will tell you which state is interfering. If you have several streams live from one biotriggerstream it will pick just one.

Okay, will look into this.

I also found two more things, just now:

1. I forgot to change the name of the Package reference inside the new PCC from HospitalP2 to HospitalP2_TM. I checked for this peviously, and apparently my eye missed it.
2. Looks like I overlooked an object I need in BIoP_CitHub. A non-sequence export for the new level: LevelStreamingKismet.

I just found #2 so I'll clone that in and see if it changes anything. If not, then I'll open Gibbed. I've tried several saves, though, before/after Sur'Kesh, traveling between multiple levels, so it would have to be a very consistent stream... or something.

Thanks <3
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Level Streaming on the Citadel

Postby giftfish » 23 Sep 2016, 15:47

@kinkojiro --

Amazingly, the streaming all looks correct. This is from a save I built into the hospital after Menae (so, during P2):

Image

The streams with green checkmarks are the ones that are set to active=true. These are the exact ones that should be checked with my edits. Ele_Phase2/Phase2_Hospital should not be active, and ElePhase2_TM/Phase2_Hospital_TM should be active.

I don't know if Gibbed is capable of detecting new files, but the BioD_CitHub_HospitalP2_TM does NOT show as loaded, which is what I've been seeing in ProcMon. Loaded/visible files for this save includes:

BioA_CitHub
BioA_CitHub_Hospital
BioA_CitHub_Persidium
BioA_CitHub_Persidium_Bank
BioA_CitHub_Persidium_Vista
BioA_CitHub_Presidium_Global
BioD_CitHub
BioD_CitHub_DLC
BioD_CitHub_Hospital
BioD_CitHub_Hospital_Ash
BioD_CitHub_HospitalDECO
BioP_Global_NC
BioSnd_CitHub

You can see that the vanilla P2 is not being loaded anymore. (Btw, how is BioP_CitHub not listed??). The BioD hospital files loaded are those specified by "Phase_Hospital2_TM", with the exception of the TM file. So, this means the streaming edits are working correctly... almost. The problem is that the new file isn't being loaded. I thought adding the LevelStreamingKismet object would fix this, since it points to the new file, but no dice.

Any other common error I could be making? Here is, collectively, everything I've done:

--Edited all relevant BioTriggerStreams in BioD
--Edited sequence in BioP
--Added new conditional in CND for the sequence
--Add LevelStreamingKismet object for new file in BioP
--Renamed vanilla PCC file to new file name; edited package name that specifies filename to match

If it isn't on this list, then I haven't done it.

I'm going to inspect each file listed above for other BioTriggerStreams, but if I'm interpreting the data associated with this save correctly, everything is working as it should... with the exception of the modded file being loaded.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Level Streaming on the Citadel

Postby giftfish » 23 Sep 2016, 16:16

I'm assuming that if another file was interfering streaming-wise, it would need to appear in the above list, correct?

In that list, only BioA_CitHub, BioD_CitHub, and BioP_CitHub (weirdly, not in the list, but is noted as the "base Level" for the save) contain any BioTriggerStream or SetStreamingState objects; I had checked most of these yesterday, but re-checked from scratch just now. All of BioA_CitHub's pertain to other BIoA files and the streaming states for those files.

There are a couple of BioTriggerVolumes in the BioD Hospital file, but they pertain to the scanner, and other things not involved in this.

Still seems like I'm missing something small. I've looked on the UDK wiki, at mods with level streaming, and at some edits you've done for BO, Kinko, and am not seeing what it could be. I'm extrapolating a bit, since those situations are all a little bit different, though. For example, I'm not using any type of "SetStreamingState" in any hospital BioD, since I'm working at a more fundamental level.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Level Streaming on the Citadel

Postby Kinkojiro » 23 Sep 2016, 22:40

With the stream the thing to check is if any other streams are running from the same triggerstream. If not then you are doing it right.

The problem is then it is not correctly loading the file. That maybe because you didn't link the LSK into the bioworldinfo in BioP.
User avatar
Kinkojiro
Modder
 
Posts: 578
Joined: 02 Dec 2013, 04:14
Has thanked: 233 time
Have thanks: 249 time

Re: Level Streaming on the Citadel

Postby giftfish » 23 Sep 2016, 23:19

Kinkojiro wrote:The problem is then it is not correctly loading the file. That maybe because you didn't link the LSK into the bioworldinfo in BioP.

Ahhhh!!!

This was it :D

I checked to see if the LSK was built into the Persistent Level, but I didn't know about the BioWorldInfo.

It works!!! The new PCCs load for LI-Shep and the regular ones for friendShep. ThaneMOD can now officially have two totally separate Huerta dialogues, yaaaaaaay!!!

<3 Kinko. Thanks!
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: [SOLVED] Level Streaming on the Citadel

Postby Ottemis » 24 Sep 2016, 11:41

Awesome to see this one marked solved gift =D
*throws confetti around*
User avatar
Ottemis
Harbinger
 
Posts: 824
Joined: 11 Mar 2013, 12:14
Has thanked: 225 time
Have thanks: 247 time


Return to Modders' Help

Who is online

Users browsing this forum: No registered users and 0 guests

suspicion-preferred