Jump to content

Doing a Shadow Campaign Seraphim


jwiz

Recommended Posts

Q: Is there a guide or some instructions, how the game distinguishes the soundprofiles &  soundresources of the hero chars for the light / shadow campaign?

Background:

I'd like do do a full playthrough of the shadow campaign with the Seraphim, which can be done easily with a litte help from the char editor and even in single player mode thanks to Ancaria Airlines.

But I'd like to edit the soundprofile for that, so I may have some responses from her to quests, even though I am aware that the shadow campaign wasn't voiced at all for her.

Nevertheless, some of her remarks for the light campaign could do for the shadow campaign as well, so that she doesn't remain completely silent besides the generic remarks during fights etc.

 

Link to post
5 minutes ago, jwiz said:

Q: Is there a guide or some instructions, how the game distinguishes the soundprofiles &  soundresources of the hero chars for the light / shadow campaign?

Each PC voiced line in the main quest is considered a separate "event" by soundprofile.txt.  For example under profilename  = "Hero Seraphim", you will see:

event969 = { event = "TALK", id = "2075870097", resource = 211976 };

The "id" is a CRC value that you can generate by plugging the appropriate Loka-ID for the quest stage into s2rw.exe.  Then you can choose the appropriate resource in soundresources.txt to play when that event triggers.

In your case the Seraphim is silent because there are no soundprofile lines defined for her when she participates in the Shadow main quest.

Link to post
8 hours ago, Flix said:

Each PC voiced line in the main quest is considered a separate "event" by soundprofile.txt.  For example under profilename  = "Hero Seraphim", you will see:

event969 = { event = "TALK", id = "2075870097", resource = 211976 };

The "id" is a CRC value that you can generate by plugging the appropriate Loka-ID for the quest stage into s2rw.exe.  Then you can choose the appropriate resource in soundresources.txt to play when that event triggers.

In your case the Seraphim is silent because there are no soundprofile lines defined for her when she participates in the Shadow main quest.

Many thanks @Fiix.

So the event numbering is arbitrary and the resources are locked into place by the id number.

Seems pretty straightforward,

From looking into the soundprofiles I gathered pretty much that, but sadly I can't do it, as I lack the global.res editor, which does not seem to be available.

 

Link to post
3 hours ago, jwiz said:

...

From looking into the soundprofiles I gathered pretty much that, but sadly I can't do it, as I lack the global.res editor, which does not seem to be available.

 

Scratch that, I've found a working link to the Google drive upload in the forums.

P.S.:

Could someone with a Win7 install pls. tell me the registry path of the Installation, so I could clone it there?

Seems the tool is unable to find the Win10 install under HKLM\Software\WOW6432Node

TIA

Edited by jwiz
Link to post
4 hours ago, jwiz said:

Scratch that, I've found a working link to the Google drive upload in the forums.

P.S.:

Could someone with a Win7 install pls. tell me the registry path of the Installation, so I could clone it there?

Seems the tool is unable to find the Win10 install under HKLM\Software\WOW6432Node

TIA

Make sure all the S2rw files are present in the game's System folder.  Then make a dummy file in the same directory (with no file extension) named: nos2.

It should run then.  In order to get the CRC values you will have to make use of the tool's "Hash All" button.  To do this, make a .txt file in the same directory named: LokaIDs.txt.  Fill the file with all the desired Loka-IDs, for example this is a recent batch I did:

QUEST_10029_GIVER_START
QUEST_10030_GIVER_START
QUEST_10031_GIVER_START
QUEST_10032_GIVER_START
QUEST_10033_GIVER_START
QUEST_10034_GIVER_START
QUEST_10035_GIVER_START
QUEST_10036_GIVER_START
 

Save the file and then use the "Hash All" button in s2rw.  It will generate a new text file titled: hashes_LokaIDs.txt.  In this file you will see three columns.  The first is the hash used for text strings in global.res.  The second column is the CRC for use in soundprofile.txt.  The third is obviously the Loka-ID.  Hope that helps.

1716055430	240763375	QUEST_10029_GIVER_START
2508120046	348334705	QUEST_10030_GIVER_START
1896269615	-917113868	QUEST_10031_GIVER_START
1284419184	1956618042	QUEST_10032_GIVER_START
0672568753	-1459009857	QUEST_10033_GIVER_START
0060718322	-730185497	QUEST_10034_GIVER_START
3743835187	166500706	QUEST_10035_GIVER_START
3131984756	-1272515156	QUEST_10036_GIVER_START

 

Link to post
1 minute ago, Flix said:

Make sure all the S2rw files are present in the game's System folder.  Then make a dummy file (with no file extension) named: nos2.

It should run then.  In order to get the CRC values you will have to make use of the tool's "Hash All" button.  To do this, make a .txt file in the same directory named: LokaIDs.txt.  Fill the file with all the desired Loka-IDs, for example this is a recent batch I did:

QUEST_10029_GIVER_START
QUEST_10030_GIVER_START
QUEST_10031_GIVER_START
QUEST_10032_GIVER_START
QUEST_10033_GIVER_START
QUEST_10034_GIVER_START
QUEST_10035_GIVER_START
QUEST_10036_GIVER_START
 

Save the file and then use the "Hash All" button in s2rw.  It will generate a new text file titled: hashes_LokaIDs.txt.  In this file you will see three columns:


1716055430	240763375	QUEST_10029_GIVER_START
2508120046	348334705	QUEST_10030_GIVER_START
1896269615	-917113868	QUEST_10031_GIVER_START
1284419184	1956618042	QUEST_10032_GIVER_START
0672568753	-1459009857	QUEST_10033_GIVER_START
0060718322	-730185497	QUEST_10034_GIVER_START
3743835187	166500706	QUEST_10035_GIVER_START
3131984756	-1272515156	QUEST_10036_GIVER_START

 

Thanks a heap!  @Flix

Link to post

 

Thanks, the noS2 dummy file did the job.

Did a quick decode/encode of the global.res and started the game with it. Everything's fine so far.

But as to the Shadow Seraphim, I may have bitten off more than I can chew.

I was under the impression that I could do a quick and dirty linking of some of her more 'fitting' replies to the main quests and for getting new quests (getnq), but after doing a couple of levels with her, it seems that she does not to use any of her speech files, except the ones of speech/se/enemyhitme..., I.e. when she gets hit.

She doesn't babble, issue battlecries, use speech when attacking enemies or casting spells, etc., which I find a bit odd, why would she only speak when she gets hit?

As it is now, it seems to me that I would have to do a completely new 'speech' sound profile for every speech file of her, or is there an easier way?

 

Edited by jwiz
Link to post

I moved all the relevant posts to this topic, to keep them all together.

I'll have to think about your dilemma. For 5 of the 7 characters there are Light / Shadow sets for almost all player speech.  The game selects which set to use based on the alignment selected in character creation.

Link to post
23 minutes ago, Flix said:

I moved all the relevant posts to this topic, to keep them all together.

I'll have to think about your dilemma. For 5 of the 7 characters there are Light / Shadow sets for almost all player speech.  The game selects which set to use based on the alignment selected in character creation.

Yeah, that was what I was thinking all along, but exactly how would the game distinguish the sound files based on the alignment?

I mean, if the sound resources were somehow pooled I could understand how the game draws from one pool instead of the other, but they seem to be just in a serial order, so there the must be some other mechanism, I guess, that lets the game decide when to play which sound.

And also some of the 'light' campaign sounds are playing, while most others do not, which is odd and maked me kind of wonder if the alignment flag really has anything to do with it at all.

Thanks anyway, for putting some of your brainpower into this.

Edited by jwiz
Link to post

From digging deeper into soundprofiles and soundresources I learned that its easier than tought, but al ot of footwork to do.

Basically, what you have in soundprofiles is two different event types for the player heroes regarding his/her alignment:

$EVENT and $EVENT_BADALIGN

So, if you change an event for 'Hero Seraphim', let's say SHOUT_ATTACK into SHOUT_ATTACK_BADALIGN, that event (aka. soundfile) gets triggered when playing the shadow campaign.

Thus you can even decide which soundfiles you want to hear in the campaign by filtering out (aka. not changing) the more unfit replies, I.e. the ones that refer to fulfilling the gods duty, etc.

Fairly basic, but quite tedious to do.

Link to post
2 hours ago, jwiz said:

is there wa way to get the 'red eyes' texture from the dark_seraphim patched onto the the light_seraphim?

I'm aware that these are different 3D models, but still...

Use the Dark Seraphim texture from EE.  It's the same base model.

Link to post
4 hours ago, jwiz said:

From digging deeper into soundprofiles and soundresources I learned that its easier than tought, but al ot of footwork to do.

Basically, what you have in soundprofiles is two different event types for the player heroes regarding his/her alignment:

$EVENT and $EVENT_BADALIGN

So, if you change an event for 'Hero Seraphim', let's say SHOUT_ATTACK into SHOUT_ATTACK_BADALIGN, that event (aka. soundfile) gets triggered when playing the shadow campaign.

Thus you can even decide which soundfiles you want to hear in the campaign by filtering out (aka. not changing) the more unfit replies, I.e. the ones that refer to fulfilling the gods duty, etc.

Fairly basic, but quite tedious to do.

Well this would be true for the 5 characters who can choose between Light and Shadow.  But the game chooses generic soundresources based on the alignment chosen at character creation.  How were you able to choose Shadow path at character creation for the Seraphim?

 

For example, take the Dragon Mage:

    event1286 = { event = "SHOUT_DEATH_BADALIGN", resource = 213895 };
    event1287 = { event = "SHOUT_DEATH", resource = 213896 };

The first plays if he is Shadow Path, the second for Light Path.

Link to post
31 minutes ago, Flix said:

For example, take the Dragon Mage:

    event1286 = { event = "SHOUT_DEATH_BADALIGN", resource = 213895 };
    event1287 = { event = "SHOUT_DEATH", resource = 213896 };

The first plays if he is Shadow Path, the second for Light Path.

Yes, but that's because the DM and other chars (except the seraphim/Inquisitor) have different sound files for light/shadow path.

For the shadow Seraphim I'm just using this mechanic to swap the ambient and contextually fitting sound files to BADALIGN so that they trigger with a shadow seraphim.

I can't do new sound files for her shadow path.

Well, I might tweak the Seraphim sound files a little in some future to get a more sinister sounding voice, but that's all I can manage.

 

31 minutes ago, Flix said:

Well this would be true for the 5 characters who can choose between Light and Shadow.  But the game chooses generic soundresources based on the alignment chosen at character creation.

How were you able to choose Shadow path at character creation for the Seraphim?

 

 

It can't be done in the game alone, that's true.

But there basically 2 ways:

a) Start a Multiplayer char and trigger the campaign by travelling to Sloeford market place.

Dont do anything there just save and exit . Then flip the alignment of the save file to Shadow with the char editor, start the game again (you'll still be on the Multiplayer island), travel to Sloeford again and you will be able to continue with the Shadow campaign from there..

b) Start a Singleplayer char, get her to Sloeford market place to trigger the campaign start.

Again, dont do or save anything, just run over to the Ancaria Airline travel agent a take the trip. Thus you'll unlock the multiplayer island.

Once back in Sloeford, hand in the quest, then save save and exit.

Then flip the alignment with the char editor and just as under a)  you can then travel from the multiplayer island to Sloeford market place and continue with the Shadow campaign from there.

Basically, you are now doing the multiplayer campain in the singleplayer mode and the Seraphim char quest line as well.

Have fun.

 

Edited by jwiz
Link to post

I have now 'badaligned' most of the trivia sound files for the Shadow Seraphim, so it's time to move on to the difficult one, I.e. recreating sound events for the main shadow quest line.

For that I would have to use the S2rw tool as Flix said earlier and get the quest giver IDs to create the hashes I need to connect them with resources from the (seraphim) sound pool.

Now, how to I obtain the quest giver IDs?

Do I need to slog through the quests.txt for them and look for quests with the  'ismainquest' flag set?

From looking there I suppose that would be the quests that go by the names:  "M_SE_1a_B_xxx", "M_SE_1b_B_xxx" etc.

1a, 1b, etc. being the chapter names of the main quest line.

How would I distinguish between alignment? Does M_SE_1a_B_xxx = stand for (B)ad and M_SE_1a_G_xxx for (G)ood?

What Id would I be looking for: the quest ID or the quest giver taskcreature ID (Isuppose the latter)?

Any help welcome!

TIA

 

Link to post
5 hours ago, jwiz said:

I have now 'badaligned' most of the trivia sound files for the Shadow Seraphim, so it's time to move on to the difficult one, I.e. recreating sound events for the main shadow quest line.

For that I would have to use the S2rw tool as Flix said earlier and get the quest giver IDs to create the hashes I need to connect them with resources from the (seraphim) sound pool.

Now, how to I obtain the quest giver IDs?

Do I need to slog through the quests.txt for them and look for quests with the  'ismainquest' flag set?

From looking there I suppose that would be the quests that go by the names:  "M_SE_1a_B_xxx", "M_SE_1b_B_xxx" etc.

1a, 1b, etc. being the chapter names of the main quest line.

How would I distinguish between alignment? Does M_SE_1a_B_xxx = stand for (B)ad and M_SE_1a_G_xxx for (G)ood?

What Id would I be looking for: the quest ID or the quest giver taskcreature ID (Isuppose the latter)?

Any help welcome!

TIA

 

You will construct the Loka-ID using the quest ID, or number.  Each phase of any given quest has its own unique ID number.  You don't have to differentiate between good and bad alignments with PC quest commentary because the quests themselves are alignment specific.  Here are some examples:

QUEST_10000_VOICE_START_SE
QUEST_10000_VOICE_PREFIGHT_SE
QUEST_10000_VOICE_READY_SE
QUEST_10000_VOICE_VICTORY_SE

Link to post

Hmm, I'm still struggling with getting hashes and CRCs from s2rw.

If I create a LokaIDs.txt with:

quest_1061_target_accomplished
quest_1545_voice_start_se

which is the seraphim startquest and the 1st followup quest, then I get the output from "Hash All" as:

3693350618    quest_1061_target_accomplished
2079982329    quest_1545_voice_start_se

 

I dont know if that's a hash or the CRC.

Anyways, if I use them in the sooundprofiles.txt to connect them to a desired sound resource and try in game, the Seraphim still remains silent.

What am I missing?

Link to post

I guess that's an older version of S2rw.  Pesmontis updated it some time ago to also provide CRC.  I'll see where the download is, if anywhere.  It's such a pain to try to host exe files, they always get taken down from Google.

Link to post
1 hour ago, jwiz said:

Anyways, if I use them in the sooundprofiles.txt to connect them to a desired sound resource and try in game, the Seraphim still remains silent.

Having a sound hash in global.res is not enough. You also need a text string, that corresponds to that hash.

Link to post
2 hours ago, dimitrius154 said:

Having a sound hash in global.res is not enough. You also need a text string, that corresponds to that hash.

Is that why they encoded all the NPC gossip as text, even though it never gets displayed?  Because the sound files won't play without the text present?

But that can't be right... the player characters speak voiced lines during the main quest without any accompanying text.

I think he just needs the latest s2rw that will give the CRC for the soundprofile entry:

http://www.mediafire.com/file/dbdaq7elqjqnx23/S2rw_CRC32.zip/file

It took me a while to get back into my mediafire account.   I haven't used it since Google Drive came along but Google freaks out when executable are uploaded.  Mediafire is where the old S2rw is hosted and it's still up (664 downloads, wow).

Link to post
1 hour ago, Flix said:

But that can't be right... the player characters speak voiced lines during the main quest without any accompanying text.

No visible text, but if you look up the phrases, they're all present. The voiceover function has a particular check for that.

I've found that out while restoring human slaves' gossip in Tyr Lysia.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...