Imperial IFF Chatter

Need help editing the game? Check for help here!

Moderators: Darksaber, General_Trageton, Forceflow

Imperial IFF Chatter

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Sep 12, 2017 10:17 pm

So being that I play XWA exclusively as the empire, I feel like I miss out on a lot of radio chatter. Correct me if I'm wrong but I feel like radio pilot chatter is determined by the IFF set in the mission editor. I feel like without having to assign any specific pilot voices, when I play rebel sided missions all of the pilots have random chatter. Now I could be thinking skirmish, but I was hoping there was a way to make all the imperial pilots have more chatter in campaign missions when I fly with them. As it is now I have to assign a pilot voice to the flight groups but it seems like only the lead pilot ever talks. Generally it feels like the Rebel IFF is just more chatty without anything having to be done. My understanding of this is very limited, does anyone have a better grasp of this?

Justagai
Cadet 2nd Class
Posts: 69
Joined: Mon Dec 08, 2014 10:59 pm

Post by Justagai » Sat Sep 30, 2017 4:30 pm

XWA does actually look for the ISP1 .lst file and will load it for IFF Imperial. If you have XvT, copy your ISP1 folder from the XvT Wave folder over to the XWA wave folder. Then create a new text file as .lst (place it in the XWA Wave folder) and put the info in the link below in it. The only issue is that XWA coded to only load one imperial pilot voice for the whole IFF, and the only way to change it is through exe hex editing.

EDIT:
https://pastebin.com/PBpZ9v5r
Last edited by Justagai on Mon Oct 02, 2017 4:47 am, edited 3 times in total.

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Sat Sep 30, 2017 5:55 pm

Hold on a minute, you files in the .lst file are named isp1ip1ackXX.wav but the actual files are only called ip1ackXX.wav

Your text in the code box is missing the "Backslash" as in isp1BACKSLASHip1ackXX.wav ???

Like so ???????
ISP1.png
ISP1.png (97.94 KiB) Viewed 1705 times
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Sat Sep 30, 2017 10:30 pm

Ok, I'll experiment. This is amazing. I would love to have multiple pilots. Is the EXE edit known at this time?

EDIT:

So It looks like if you make an ISP1.lst file and fill in with the contents for rebel pilot 1's list you can have RP1 for the entirety of imperial IFF. So If you dont even have XvT you can use the rebel voices as a stand in because it just points to their wave files. Now we just need a way to tell the EXE that there are more Imperial Pilot Voices and make a ISP2 and ISP3 .lst and so on.

EDIT2:

Someone could make a Hook for all the factions to have fully populated pilot lists no?

Justagai
Cadet 2nd Class
Posts: 69
Joined: Mon Dec 08, 2014 10:59 pm

Post by Justagai » Mon Oct 02, 2017 4:44 am

Ah poop it looks like the code box removed the slashes. Fixed.

EDIT: Nope, it didn't. Looks the forum automatically removes the slashes. Hmm. I'll do a pastebin.

I was working on adding more pilot voices and enabling different tactical officers for different teams to be used, but I don't have as much time anymore.

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Mon Oct 02, 2017 4:29 pm

Aw, well thats unfortunate. You definately have an audience and helper if you ever want to tackle it.

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Thu Oct 12, 2017 7:48 pm

Hello,
The function that loads pilot voices is L0043A590. I will have a look at it.

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Sat Oct 14, 2017 12:51 pm

Nice.

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Sat Oct 14, 2017 1:50 pm

Hello,

Here is a hook to set different voices for the imperial IFF.

To choose an imperial wingman voice, set IFF to 1 (imperial) and set pilot voice to the desired value.
Values are IP1, IP2, IP3, IP4, IP5, IP5 to load (ISP1.LST, ISP2.LST, ISP3.LST, ISP4.LST, ISP5.LST, ISP6.LST). The default value is IP1.

Download link:
xwa_hook_wingmen_voices.zip

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Sat Oct 14, 2017 2:14 pm

This might be a stupid question but you say and I quote
JeremyaFr wrote:To choose an imperial wingman voice, set IFF to 1 (imperial) and set pilot voice to the desired value.
Values are IP1, IP2, IP3, IP4, IP5, IP5 to load (ISP1.LST, ISP2.LST, ISP3.LST, ISP4.LST, ISP5.LST, ISP6.LST). The default value is IP1.
The question is, where do I set IFF to 1 or to set pilot voice (to the desired value)?

And if I included all the ISP 1 to 6 folders would you hear multiple voices in-game? or can it only play one set of imperial voices at a time.

sorry just a little confused
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Sat Oct 14, 2017 2:35 pm

With AlliED,
The IFF is on the Ship tab.
The Pilot Voice is on the Role tab.

If you include all the ISP, there will be different voices (not tested).

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Sat Oct 14, 2017 3:21 pm

Thanks, ok that makes sense, I didn't realise, my knowledge of Allied is a little hazzy
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Sun Oct 15, 2017 5:00 am

Will test tomorrow and report back... assuming I can actually use the hook... I'm not sure how that works or if the EXE needs a new update from a new DSUCP patch. I'll figure it out tomorrow. Cheers, this is awesome.

Edit: Before I even start I am curious about the stock functionality of the rebel pilot voices. In the normal game, setting IFF Rebel makes the rebel pilots automatically get chatty right? So does it assign a random pilot voice to every member of the flight automatically if you don't assign a pilot voice? I haven't really been paying attention as I rarely fly rebels. If so it appears your instructions for the hook suggests... without specifying a pilot voice for each member of the flight, they will all have ISP1 as their lst, yes?

TLDR: Are the rebel pilot voices randomly assigned to each pilot without specifying in the stock game? Does your hook only assign the first pilot voice if not otherwise specified, IE not random?

EDIT 2: Ok, so as it is, you have to manually assign the pilot voices like you said. Now that's perfect for someone who wants to add their own different custom pilot audio, but for someone like me who doesn't have access to custom Imperial Pilot voices from XVT, the draw for me would be having randomly assigned imperial pilot voices come from the ISP1-6.lst files that I've populated with entries pointing to rebel voices as a stand in when I make a flight group and make it imperial for IFF. As it is right now there is no added benefit for someone without custom audio because I can just manually assign each of my wingmen to RP1-12 in the mission editor, but the down side is each craft has to have its own entry. Is it possible to not default to ISP1 for team imperial but instead randomly assign ISP1-6? Also is there anything keeping you from making it 12 total lists? And finnally am I doing this all wrong, is there a better way to accomplish my goal I don't know about.

EDIT 3: Looks like I am not having any luck setting the pilots as IP1-6 as working in ALLiED. They are all defaulting to IP1 regardless.

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Mon Oct 16, 2017 7:58 am

ual002 wrote:EDIT 3: Looks like I am not having any luck setting the pilots as IP1-6 as working in ALLiED. They are all defaulting to IP1 regardless.
Hello,
There was a typo in my code. I fixed it.
Please redownload the hook.

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Mon Oct 16, 2017 1:14 pm

Will do after work.

EDIT: It appears it is still not working for me. after re downloading from same link.

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Tue Oct 17, 2017 8:27 am

Hello,
Here is what the code does:

Code: Select all

struct TieFlightGroup
{
	char Unk000[3581];
	char PilotVoice[20];
	char UnkE11[49];
};

int WingmenVoicesHook(int* params)
{
	const TieFlightGroup* flightGroups = (TieFlightGroup*)0x080DC80;
	int ebx = params[0];
	const char* pilotVoice = flightGroups[ebx].PilotVoice;

	char* fileName = (char*)(params + 52);
	const int fileNameSize = 48;

	if (_stricmp(pilotVoice, "IP1") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP1.LST");
	}
	else if (_stricmp(pilotVoice, "IP2") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP2.LST");
	}
	else if (_stricmp(pilotVoice, "IP3") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP3.LST");
	}
	else if (_stricmp(pilotVoice, "IP4") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP4.LST");
	}
	else if (_stricmp(pilotVoice, "IP5") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP5.LST");
	}
	else if (_stricmp(pilotVoice, "IP6") == 0)
	{
		strcpy_s(fileName, fileNameSize, "ISP6.LST");
	}
	else
	{
		strcpy_s(fileName, fileNameSize, "ISP1.LST");
	}

	return 0;
}

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Tue Oct 17, 2017 8:40 am

Is it case sensitive? Can it search for both ISP1.LST, IP1 and Isp1.lst, Ip1?
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Tue Oct 17, 2017 11:20 am

It is case sensitive.

@ual002, have you the latest version of xwa_hook_main? (link on the right)
Last edited by JeremyaFr on Tue Oct 17, 2017 4:36 pm, edited 1 time in total.

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Oct 17, 2017 2:36 pm

I did re-download from the first link and it was still not working. I will check the case sensitivity of my LST files tonight but I think they were all good.

Obviously when it is working, I have some suggestions:

1. Do you have the ability to make it randomly assigned if not specified, not just ISP1?

2. Also do you have the ability to populate all 12 imperial pilots?

3. Could this be one for all the IFFs just in case some day someone wants to make a Pirate or smuggler/civilian campaign?

JeremyaFr
Lieutenant
XWAU Member
Posts: 855
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Tue Oct 17, 2017 3:11 pm

1. It is possible.
2. It is possible.
3. It is possible.

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Oct 17, 2017 10:49 pm

Ok, let me make sure we are talking about X-wing Alliance here. I am having no luck with this.

Sanity Check
https://imgur.com/a/ZdQYF

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Wed Oct 18, 2017 7:38 am

No bloody wonder it won't work your ISP6.LST is pointing to the Rebel Pilot voices

First don't be so bloody cheeky, of course we are talking XWA here, it's you who have F***ed up!

Let me ask you a few questions

1. Do you own X-wing Vs. Tie Fighter? Without owning it this whole exercise it pointless!
2. If you own X-wing Vs. Tie Fighter have you copied across to your XWA Wave folder the folders labelled ISP1, ISP2, ISP3, ISP4, ISP5, ISP6 from the X-wing Vs. Tie Fighter Wave folder?
3. Next you have to create 6 text files and labelled them ISP1.LST through to ISP6.LST which you have already done.
4. From the Link Justagai provided https://pastebin.com/PBpZ9v5r copy and paste to each ISP1.LST throught to ISP6.LST the content of the link
5. Next open ISP2.LST and replace isp1_ip1 with ISP2_IP2 (F***ing Forum) replace the underscore with a backslash
6. your ISP2.LST should resemble something like this:-
ISP2_IP2ACK00.WAV
ISP2_IP2ACK01.WAV
ISP2_IP2ACK02.WAV
ISP2_IP2ACK03.WAV
ISP2_IP2ACK04.WAV
ISP2_IP2ACK05.WAV
dont_use
dont_use
dont_use
dont_use
dont_use
dont_use

Remembering to replace the underscore with a Backslash

7. Repeat steps 5 and 6 for ISP3.LST, ISP4.LST, ISP5.LST, ISP6.LST replacing the numbers ISP2_IP2XXXXX.WAV with ISP3_IP3XXXXX.WAV, ISP4_IP4XXXXX.WAV and so on for each ISPX.LST (Remembering to replace the underscore with a Backslash)
8. If and I mean a "BIG IF" you have done everything correctly you should hear Tie Fighter pilots 1 to 6 in game.
9. Of course there is another chance the you have F***ed up again or you don't even own X-wing Vs. Tie Fighter, in which case don't be so tight and go to GOG and Buy it, your a Star Wars fan FFS.
10. I also notice you DID NOT take JeremyaFr advise and replace all the Old Hooks with the New Hooks, shame on you!

Ok, So you don't have to buy XvT or Change or download any of the above stuff, I've prepared a small pack for you, all you have to do is copy and paste ALL the contents to your XWA folder replacing anything it asked you too, OK!

The pack contents include ALL the new Hook stuff by JeremyFr (do as you are told and replace the Old Hooks!)
Wave folders ISP1 through to ISP6 from XvT and the correct ISP1.LST through to ISP6.LST files

XWA-XvT_Imperial_Pilot_Voices.rar

All you have to do is change the missions to point to these new folders.
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Wed Oct 18, 2017 2:20 pm

Darksaber... ISP1 works when it points to rebels voices stock. This I already verified. I assumed similar functionally for his hook.. maybe wrongly. And i wasnt being cheeky about XWA, I legit considered I never specified, or it was missed since XVT was referenced and for all I know he writes hooks for XVT too. No harm meant there, dont assume Im being combative. Actually trying to get more active and cooperative in understanding the quarks of this game, and brainstorming new functionality.

My original goal was to use the stock XWA voices for imperial IFF with same random assignment functionality, and then figure out how to eliminate the few references to "imperial pilot training seems a bit lax." And then maybe one day recording a variation of the exact contents of one of the rebel pilot voices myself for use on the Imperial side for a little flavor. So in reality i was just hoping to test the functionality of how the list files work and the structure of what it reads from. IE pointing to a different folder.

Thats all man. I'm a total novice here, and I just want to get to ya'lls level.

And thanks for that package... I'll give it a shot tonight. I tried looking for my XVT disks hoping I could rip the audio from them at the start of this project but noticed that the rebel voices were a good stand in while I test functionality... at least for stock ISP1.

User avatar
Darksaber

Fleet Admiral (Administrator)
Posts: 9466
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Wed Oct 18, 2017 3:52 pm

Ok I admit I wrote that like a bit of an ass.

True it was verified that ISP1 work as is, with you not owning XvT, I wrongly assumed you understood the file structure of the .LST files

Thinking about it, at present you could still use the rebel pilot files, but you would have to change the folder name to ISP1 and so on, plus you might have to add ISP1 to each file name as in
IP1a0p1001.wav
IP1a0p1002.wav
IP1a0p1003.wav

Then you would have to copy and rename the Rspxwa1.lst to ISP1.LST and change the lines from
REBEL_PILOT1-A0P1001.wav
REBEL_PILOT1-A0P1002.wav
REBEL_PILOT1-A0P1003.wav

to
ISP1-IP1A0P1001.wav
ISP1-IP1A0P1002.wav
ISP1-IP1A0P1003.wav

replace the dash with a backslash

But I'm sure Jeremy could change his hook to look for any folder name as long as it's within the Wave Folder and as long as the *.LST file is named the same as the Folder I don't really see a problem

Of course your mission file would also have to reflect this, so on the role tabe Pilot (Voice) it would have to be PIR1 or Pirate1

So if you had a Folder within the Wave Folder called PIR1 or even Pirate1 and as long as you had a .LST file named PIR1.lst or Pirate1.lst the Hook should find the said folder and play whatever the wav files are within the folder

Also you should be able to use Upper or Lower case and it should Not be case sensitive, so as long as the file name is in the .lst file it should play

like so

Pirate1-Fred01.wav = This is One
Pirate1-Fred02.wav = This is Two
Pirate1-Fred03.wav = This is Three
dont_use
dont_use
dont_use
Pirate1-Barney01.wav = This is Seven
Pirate1-Barney02.wav = This is Eight

replace the dash with a backslash

As long as the file structure remains the same

Hope that make sense and I think that is what your also looking at ual002?
Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
ual002
Cadet 1st Class
Galactic Empire
Posts: 149
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Wed Oct 18, 2017 4:40 pm

Super helpful. Thanks. Now I'm excitied to go home and experiment. And no worries brotha. Just wanted you to know Im on the same team.

Post Reply