| Frontend:
Changing the look of XWA.
One of the major differences between X-Wing: Alliance and the preceding game in the X-Wing series was the return to having a concourse with various rooms leading off from it rather than the simple datapad interface that X-Wing versus TIE Fighter had. This was both a good thing as it made it easier to feel immersed in the story and a bad thing as it meant that it became more complicated to try to add or modify the game. With XvT/BoP you simply edited text files and added another option to the list, with XWA you would need to change a lot of pictures and animations. If nothing else though the failure of the next game in the X-Wing series to arrive has given various clever people enough time to decode XWAs file formats and so it is possible to perform all the changes required to convert XWA into a different looking game. Of course being able to replace the files is one thing but being able to produce professional quality replacement pictures and animations is another. I admit that I have not taken the time to do more than replace the following files with modified or temporary files, which was good enough to show that I had found all the files to be replaced. Therefore the advice on how to produce the replacement pictures/animations is based on what I would do rather than what I have done. Concourse
The concourse is the main screen for XWA and so needs to be of a high quality. As you can see from the above table the main picture is contained in frontend.dat with the different animations being animated-cbm files. Wave file ..xwa\sfx\DOOR-1B.WAV is the doors opening with ..xwa\sfx\DR-CLS-1.WAV being them closing. Since most Star Wars doors seem to sound rather similar you may not need to change these. The wave files in wave\frontend from T000801.wav to T060701.wav are the concourse Public Address announcements with T010201.wav, T010501.wav, T01MC01.wav to T01MC11.wav, T020301.wav, T030201.wav, T030501.wav, and T040101.wav - T060701.wav being the semi-random nonsense Emkay spouts when the cursor is over the "Family Transport" area of the screen. XWA seems happy with the concourse to use both the wave files on the CD and the ones you may have created on the hard drive, with those on the hard drive overriding those on the CD. This is a mixed blessing as it does mean that you are not obliged to start XWA with BriefingLauncher but it also means that even if you do start XWA with this that XWA will still look on the CD for the files. This means that you do not have to copy the unaltered concourse wave files to the hard drive but also means that you need to create blank wave files if you like so many people want Emkay to be silent. The lines in frontxt.txt which would be altered as
need be are: Alternatively you can edit XWA.TAB which is what you would set up to happen (through the AddString command) if you were installing the new concourse as a XMOD. The basic process I would work to would be to make a nice picture with the animated parts. I would probably build a 3D model for the concourse and then render a series of pictures with all the doors opening at once. I'd do it this way rather than rendering separate sequences for each animation so that I would not have to render the same unchanging parts of the picture as many times. I would then cut out the appropriate sections from each of these pictures to form the frames for the different animations. If you have good 2D animation or picture skills then you may instead want to use an alternative method of producing a picture in an art package and then carefully creating each animation. The thought that occurs is to use layers so that the door can be slid open independently of the "front" layer of the main picture and the "rear" layer of the room interior. The door animations should be created as FLCs which XWA will then convert into animated CBM files. I do not see where the position for these CBMs to be displayed on screen can be altered so I would suggest making animations of a similar size (though different size animations did work) and a similar frame length (though different lengths did work also). As the concourse main picture is a full screen picture you can create and use a new DAT file rather than altering frontend.dat. Section Links: XWADatCust Combat Simulator
The combat simulator is simpler than the concourse in as much as it only has three CBM animations and the backdrop is also a CBM so there are no worries about DAT file editing/creation but it is more complicated in as much as you will need to produce a nice high quality replacement animation for the simulator pod closing over the player. Wave file ..xwa\sfx\PODOPEN.WAV is the noise of the pods opening which can be changed if you have a sufficiently different sort of pods. As with the concourse you would produce a nice main picture with the animations of the single-player pod opening, the multi-player pods opening (note, this animation actually plays backwards so if you create a animation with the pods opening then it will play it as the pods closing), and the door back to the concourse opening. You have the same options for how to create this and I would again recommend producing animations of a similar size and length to TGs. If you have changed the design of the pods as well as the layout of the room then you will need to create a replacement for pod.snm which will be an avi file called pod.avi which will be placed in ..\xwa\movies\ and will therefore be played, if XCR has been installed, instead of TGs pod.snm. It would appear that the first frame of this animation should also be used to produce podopen.cbm (displayed before the animation) and it would be advisable to use the last frame of the animation for multiplayer.cbm which is the still picture of the interior of the pod (with a "screen" overlaid) which is the backdrop while the player is in the combat simulator. Also see section on Icons. Section Links: XCR Film Room
The files used in the Film Room are the same as used in the Combat simulator and so by altering the Combat Simulator you would also have converted the film room. Section Links: XCR Briefing Room
The Briefing room consists of a full screen animation of the player entering the room and taking his (or her) seat and in the same way as with the animation used for the Combat Simulator pod closing the first and last frames are duplicated as CBMs with the last frame being the backdrop for while the player is in the Briefing Room. Again the animation should be created as an avi file (in this case briefroom.avi) which will be placed in ..\xwa\movies\ and will, if XCR is installed, be played instead of TGs snm file. If you are using medals then you will also need a second full screen animation for the medals ceremony plus a full screen CBM as the backdrop on which the largest picture of the medal will be overlaid. Also see section on Icons. Section Links: XCR Tech Library
The technical library is another case of a full
screen animation but rather than the backdrop being a CBM
containing the final frame this picture is split. I tried
combining copies of the two pictures found in
frontend.dat with TECHGLOBE.CBM (blanking the copies in
frontend.dat) to make a single picture with all the
elements and found that this caused the ship in the the
library to be displayed in front of the machinery rather
than correctly behind it so I can understand why that
part of the screen was stored separately. Create a nice full screen animation of the Technical
Library coming on line (holograms snapping on, lights
dimming, that sort of thing) and save it as techroom.avi
in ..\xwa\movies\ where, if XCR is installed, it will be
played instead of techroom.snm. With luck these three pictures will be reassembled correctly by XWA whenever you go into the tech library. Since 15000 3000 is a full screen picture you could use a new DAT file rather than editing frontend.dat if you have decided not to have any foreground machinery and so have blanked out frontend.dat 15000 3001. Also see section on Icons. Section Links: XCR | XWADatCust Family Transport
The family quarters is the most complicated area even without listing Medals, awards, and souvenirs here. I have also not listed fully the spots that appear on the Pilot Helmet. These are located in ..xwa\resdata\frontend.dat at positions 15900 108, 15900 109, 15900 111, 15900 112, 15900 114 - 15900 117, 15900 119 - 15900 122, 15900 125, 15900 127, 15900 128, 15900 130, 15900 132 - 15900 136, 15900 138, 15900 139, 15900 141, 15900 142, 15900 145 - 15900 147, and 15900 149 - 15900 152. As you can see there are rather a lot of them and they are mixed in with the family awards so I have not given size or screen position for them, but the DAT positions are given so they can be blanked if needed. The family quarters has hotspots for clicking to display close ups of pilot rank, monitor screen (for pilot record and e-mails), and the medals case. There are also the mouseover area for the pilot skill rating and the hotspot for triggering family missions centred around approximately 173,55 (Emkays belly button) and the hotspot to take you back to the concourse which would be approximately 0, 150 to 75,300 from looking at where the corridor is on the main picture. A picture should be created (see poor example) so that hotspots and picture match up. Remember that if you are careful, and it is appropriate, then you could make the main picture so that the pilots helmet (plus the skill ratings on it), the pilots uniform (plus the close-ups of rank), and the medals case (plus its close-up) could be left as TGs defaults which would save considerable work. Otherwise since "Pilot Helmet",
"Uniform", and "medal case" will
always be there if your mission numbers are higher than
six you could just do them as part of main picture and
either have them blanked in frontend.dat so background
picture shows through or copy them out of the main
picture and into frontend.dat. For these you will need to edit frontend.dat rather than creating custom DAT file as the dat pictures are not full screen. Once your main picture for the family quarters is done if you have changed the design of the medals case or monitor or are doing a mission-set where it would be wrong for Rebel Alliance rank insignia to be displayed you will need to create the new pictures for these close ups and you may need to create new animations for the small version of the monitor screen. Unlike the concourse XWA does not look on the hard drive for wave files when you are in the Family Transport area unless you start the game with BriefingLauncher. However, also unlike the concourse, if you simply want to shut Emkay up you do not need to create blank wave files as with BriefingLauncher XWA will only look on the hard drive for the wave files for this area and so if it can't find them there then it will play nothing rather than going to the CD. Emkay wave files (for his random utterances) are N01MC01.wav to N01MC11.wav which can be replaced with something else if Emkay has been edited out of picture and you want to have something else being played rather than only making Emkay silent. Note that his mission-specific utterances are set up in the same way as other custom briefing introductions. Notes on
EYE.CBM
Or you can edit XWA.TAB which is what would happen if you installed this modification as an XMOD and used the AddString command. Also see section on Icons. Section Links: BriefingLauncher | XCR | XWADatCust Proving
Grounds
Small pictures in Frontend.DAT (15900 100 - 15900 152, 15900 800, and 15900 900) and CBMs for large pictures in ...xwa\frontres\medals. Frontend.dat would need to be edited rather than custom dat file created. Familyawards.txt seems to contain the information for the various souvenirs you collect within your cabin. Each souvenir has three lines, the first is the number of the mission the souvenir is awarded for, the second is the description that pops up when the cursor is passed over it in the cabin, and the third is the descriptive text (or so the template says). However when I deleted some lines and restarted (with
a temporary pilot) so that "Selu Nameplate" was
listed as being awarded for mission 1 I found that the
"Key to Harlequin Station" still showed up and
with its correct title, but with the text for "Selu
Nameplate" as a description. So I have been able to modify the text but not able to control what picture is displayed or when. The information about what pictures go with what award must be somewhere as must the information on what mission triggers the display of what souvenir (since as editing familyawards.txt has no effect on this I can only assume that something is overriding it). If anyone knows what the missing link is then e-mail me and I would be glad to update. Section Links: XWADatCust
Like the family awards the small pictures displayed for these in the family transport are contained in frontend.dat (15900 200 - 15900 206 and 15900 600 - 15900 605) with the larger pictures being stored as CBMs in ...xwa\frontres\medals. As the filename suggests they are listed in medals.lst. Seven of the medals are triggered by mission completion according to the numbers given in medals.txt with the Kalidor Crescent (plus its levels) being triggered by doing well in a particular mission. When a medal is awarded ..xwa\movies\CEREMONY.SNM is played and ..xwa\frontres\medals\MEDALCASE.CBM then displayed with the largest CBM for the medal overlaid on it. Therefore if you have created a custom briefing room and are using medals you will need to create new versions of those two files. You will also need to create some wave files and use BriefingLauncher if you plan to use all the medals as when CEREMONY.SNM is played the sound is not part of the SNM file but is a wave file from wave\frontend\MedalAndPromotion (thus allowing the same SNM file to be used for all medals). Which wave file is played depends on which briefing officer had been chosen for the mission and what number medal is being awarded. For example for the third medal (Mantooine Medallion) which is awarded by Zaletta that is G3 + ZL (his initials) + 003 (number of medal).wav, and so forth (see tables). Obviously since the briefing officer changes throughout XWA there was no point for TG in having wave files for any of the briefing officers awarding all the medals as (using the above example) by the time you can gain the Mantooine Medallion Ace Azzameen is no longer serving with either Devers or Kupalo and when Azameen was serving with Zaletta he had long since earned the Badge of Merit. Therefore there are "missing" wave files which means that if a medal too early or late for the briefing officer specified is earned that nothing is played over CEREMONY.SNM. Azameen does serve with Zaletta for a good while though so if you use him for most of your missions then you would have wave files for the last five medals plus Kalidor Crescent (and its levels). The two missing wave files for the first two medals could then be created as G3ZL001.wav and G3ZL002.wav, or (since Kupalo also has wave files for all levels of the Kalidor Crescent) Kupalo could be used for the earlier missions and the wave files be G3KU001.wav and G3KU002.wav. Alternatively you could use Zaletta (or Kupalo) for all missions and create custom wave files for all seven medals with the names G3ZL001.wav - G3ZL006.wav (or G3KU001.wav - G3KU006) and copy G3ZL007.wav - G3ZL013.wav (or G3KU007.wav - G3KU013.wav) to ..xwa\wave\frontend\MedalAndPromotion. This way Zaletta (or Kupalo) is heard when the Kalidor Crescent and its levels are earned but your custom wave files will be heard for other medals as in in story terms the other medals are awarded by a different person. Or you could create all the wave files for whichever briefing officer would be able to award each medal in the same way that TG did, which would be one of the options to choose if you are creating custom medals. Or simply have ..xwa\wave\frontend\MedalAndPromotion be empty so that using BriefingLauncher no wave files are found and so none are played, which would be the other option to choose if you are creating custom medals. Information Table For Medals
Option 1: Use no medals The Kalidor Crescent would be more of a problem since that is activated by player performance rather than mission number but if you give players a pilot who had the highest level of the Kalidor Crescent then they cannot earn a higher level, and therefore trigger a medal ceremony, and if you blank all its pictures then the players won't be able to see the medal they "earned". I tried just blanking the cbms for the highest level of the Kalidor Crescent but it didn't work until I blanked all of them all of them. You should also blank all entries in frontend.dat (15900 600 - 15900 - 605). Fortunately this also stops any text being displayed when the cursor is over the area of the screen where the medals would be displayed. However when I tried just blanking the medals case this area of the screen still acted as a hotspot with the text displayed and the ability to click, so you would need to edit this in the same way as if you were creating a new case (see below). Finally edit the text following !STR_FAMILY_MEDAL_CASE! in frontxt.txt to be the description of what you have replaced the medals case with. Option 2: Use TG medals
and case Option 3: Use TG medals
but new case Then as with Option 2 you should edit medals.txt to change the trigger numbers and use one of the above options for the wave files. Option 4: Use new medals
and new case It is not actually that necessary to edit the case but it is little work and as there are outlines for the medals on the close up if the medals are being changed then it would be fitting to also change this in the same way as in Option 3. For each medal create a nice large picture, using the values in the above table as a guide for size, which will be displayed in the presentation case when the medal is awarded, . This large picture would then be resized to form the smaller version of the medal which would be displayed in the medals case in the family transport. Using the size guidance is not so important for the actual large pictures, which would be being displayed individually, smaller versions which would be being displayed collectively. You will want to keep the scaling of the medals fairly consistent so if you make the large picture too large then when you shrink it and the other large pictures by the same factor you would risk having small pictures that would be large enough that they could overlap. Then for each medal go into fronttxt.txt and edit the lines given so that the appropriate text is given for the medal when it is awarded or the cursor is over it in the medal case close up screen. Or edit XWA.TAB Finally as with Options 2 and 3 you should edit medals.txt to change the trigger numbers and use one of the above options for the wave files. Section Links: BriefingLauncher | XIS | XWADatCust
The panel arms are the little things that swing up from the bottom of the screen with the buttons on them. These are fairly neutral in design and so can be imagined as being used by a variety of organisations. If you feel though that you need or want to change them then good luck.
All panel arm animations are 10 frames long to open (15000 ***0 - 15000 ***9) and 10 frames to close (15000 **10 - 15000 **19), with 15000 **09 and 15000 **10 as the end of the open animation and the start of the close animation being identical. To make things interesting TG decided (I assume) to minimise the size of the DAT file by not having as much black space in each picture so both the width and the height of the pictures varies as the panel arm swings up and then down. I tried a new DAT file for this with pictures which remained constant in size and so were a different size from TGs and ended up with the panel arms being out of position. I then tried editing frontend.dat with these pictures and it again ended up out of position. I tried creating a new DAT file using copies of TGs pictures, which obviously meant the pictures were the same size, and this again ended up out of position. Finally I tried editing frontend.dat with pictures of the same size and this time it finally worked. The fact you seem to need the same size pictures would seem to limit the options available and makes it less worthwhile to replace. The sound effect for the panel arm swinging up is ...\xwa\sfx\PANELARM.WAV which can be changed if you have something different happening such as a hologram resolving. A hologram might actually be the best option as that way you can do the animation and then simply resize the frames to the same size as the TG ones since a hologram could be distorting that sort of way as it resolved. Also see section below on Icons. Section Links: XWADatCust
The main reason to change the icons displayed in the
panel arms would be that if you have converted XWA away
from being a Rebel Alliance based game then the icons
where a Rebel Alliance insignia or a Rebel Alliance style
pilots helmet are displayed should be replaced with the
appropriate insignia or helmet. Section Links: XWADatCust
Acknowledgements go to Darksaber as it never occurred to me to change this until he did so for UCP. Acknowledgements to Flaming_Imp for creating BriefingLauncher. Using ResourceHacker I found the picture for the X-Wing: Alliance launcher but I then began to have problems as the text displayed in ResourceHacker was not the same as was displayed when ALLIANCE.EXE was run. Whatever text I placed there using ResourceHacker was also replaced and so the modifications made no difference in that regard. I considered digging out old programming books either to confirm vague memories of how this would be working or alternatively to see about programming a new launcher as BriefingLauncher had shown that all that was required as a minimum was to change CONFIG.CFG and start XWA...and then it occurred to me that if you were doing a Total Conversion you would be using BriefingLauncher anyway so you could have custom briefings and other wave files playing from the hard drive. I tried editing BriefingLauncher and found this reasonably straightforward to add a picture and change the text. However I am not going to give instructions both because it was so straightforward and because if you plan to alter BriefingLauncher it would be best to ask Flaming_Imp before doing so. Remember that possible that pilot name and filename will need to be shortened for BriefingLauncher to work properly. Section Links: BriefingLauncher | Resource Hacker |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||