Custom Hangars

A Forum dedicated to the Suggestion, Creation and Editing of XWA Dynamic Link Library Files

Moderators: Darksaber, General_Trageton, Forceflow, JeremyaFr, DTM

Post Reply

Re: Custom Hangars

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

Post by JeremyaFr » Sat Sep 28, 2019 8:42 pm

Hello,
I've added support for ini files to XwaHangarMapEditor.

I've modified how the working is set. Now can either select a directory containing XWingAlliance.exe", either a child directory.

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

Post by JeremyaFr » Sun Sep 29, 2019 3:09 pm

Hello,
I've updated Xwa HangarMap Editor to close the s-foils and open the landing gears.

Bman
Lieutenant JG
Posts: 703
Joined: Mon Apr 05, 2004 11:01 pm

Post by Bman » Mon Sep 30, 2019 5:17 am

Hi Jeremy, have a request if it's feasible. For the Shuttle.opt animation leaving and coming back to the hangar;
1) Is it possible to manually change the flight path trajectory of the shuttle or any craft index we choose with using a .txt, .ini, or .cfg file? For example, have the shuttle fly straight ahead for a distance, then nose dive down out of the ISD and VSD's hangar. Or if hangar is an outside ground base, have it launch straight up at a 45 degree angle and away? Any customized waypoint directions would be great.

2) Can more more than one shuttle animation take place either concurrently or independently at different time intervals and even using different craft ?
For example, say the shuttle is substituted with two X-wings that leave and come back to the hangar, maybe launching five seconds apart. Red Leader and Gold leader.
Another example, three tie-fighters launch from hangar as a group or a few seconds apart. Also an assault Gunboat comes and goes independently and at different times.

The idea is making any hangar created like a "mini" airport of craft coming and going, but not too resource intensive. Low priority request, but just asking. :D Thanks.
W-I-P: ISD-II, XQ-1 Platform1, (Imp) Escort Carrier, Misc, & TFTC.

User avatar
Trevor
Cadet 1st Class
Posts: 188
Joined: Thu Dec 04, 2014 7:11 pm

Post by Trevor » Mon Sep 30, 2019 3:00 pm

that would be pretty darn awsome to see, and being hangar ini based would mean each mission/ship could be different.
it may also mean (depending on how it may be done) allowing a departing/arriving craft even when using the shuttle slot (i.e. ejected and brought home)

Trev

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

Post by JeremyaFr » Tue Oct 01, 2019 4:45 pm

UPDATE

Hello,
I've added a `ClosedSFoilsElevationInverted` setting to the `[Size]` section.

If the hangar floor is inverted, the ClosedSFoilsElevationInverted setting is used, else the ClosedSFoilsElevation setting is used.
When the ClosedSFoilsElevationInverted setting is not defined, the ClosedSFoilsElevation setting is used.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Oct 01, 2019 5:12 pm

Ok, just to clarify, this setting is per craft ini right?
For the glory of his majesty Emperor Palpatine! Image Image Image Image

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

Post by JeremyaFr » Tue Oct 01, 2019 5:33 pm

Yes, it is per craft.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Oct 01, 2019 5:36 pm

Awesome, I'll take a second look at getting the launch point on the Gozanti hangar opt in the right place and throw a few configs for the standard TIEs together.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Tue Oct 01, 2019 10:50 pm

Ok, its been a while since I've messed with the hangar for the gozanti and I got the impression when I was doing it there was a better way to set the start point than what I was doing. What tool would you suggest I use to adjust the default starting position of the gozanti hangar assuming it was previously set up to have the start point lower than it should be before the invention of the inverted launch animation. I seem to remember using optech and just adjusting all the mesh positions and saving the opt over and over until the start point was right.

An explanation of the "InsideHangar", "AccStart", "AccEnd" would help. I imagine its the player start point, and shuttle launch and landing spot, but that's just a guess because they seem too far forward of the actual launch point.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
Driftwood
Lieutenant Commander
XWAU Member
Posts: 1710
Joined: Wed Oct 22, 2003 11:01 pm
Contact:

Post by Driftwood » Wed Oct 02, 2019 12:00 pm

I'd suggest blender, though the mesh position could be adjusted in opt editor.

Import calamari hangar, combine all the meshes. Identify the place on that mesh the player start point is. You could also position a tie in this case to the position it would be in the calamari hangar, merge all its meshes also. Import gozanti model, merge its meshes. Use either blender or opt editor to position it where you desire it relative to your position reference models. Delete reference models. Add relevant hardpoints, save as gozantihangar.opt. load it up in hangar editor at this point.

If you have trouble I can do up a hangar opt when I have time.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Wed Oct 02, 2019 12:43 pm

Well, that's exactly what I was doing thru trial and error. Except I'm not sure I understand what you mean by merging meshes. I was using Optech. I feel like a simple solution would be to add a visible reference point to the opt editors to see where those points are as we move meshes around them, no?
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
Driftwood
Lieutenant Commander
XWAU Member
Posts: 1710
Joined: Wed Oct 22, 2003 11:01 pm
Contact:

Post by Driftwood » Thu Oct 03, 2019 12:42 am

I would use opt editor because I'm not sure how one would move the meshes in optech. I don't use the program much except to figure out mesh rotations.

By merge meshes I literally mean select all the meshes and hit merge function in opt editor, it will combine all the meshes from say 10 into 1. This is so you don't mix up meshes from the two or three models meshes so you can easily delete the one or two reference models you do not want to keep in the final opt.

This is just what I do, but usually I do my workflow in blender since it's faster to position the model I want to align to say the default hangar mesh since that's a solid position for the hangar floor to reference, than use the move X/Y/Z coordinates by X meters in opt editor. The process for myself in blender is the same since I like to keep things simple.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Thu Oct 03, 2019 12:57 am

Ok, I follow. I was doing a similar thing by just selecting all meshes and moving them. Ideally I think the editors should have a launch start point as a visible reference point in the editor.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

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

Post by JeremyaFr » Fri Oct 04, 2019 4:54 pm

UPDATE

I've added an option to "hook_hangars.cfg": "ProvingGroundHangarModel".

You can now define the hangar opt used is the proving ground.

The ProvingGroundHangarModel option set the proving ground hangar opt model.
The default value is "" or "FlightModels\".
Example:
ProvingGroundHangarModel = FlightModels\ProvingGround.opt
This will load "FlightModels\ProvingGroundHangar.opt" and "FlightModels\ProvingGround.ini" (or txt files). "FlightModels\ProvingGround.opt" may not exist.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Fri Oct 04, 2019 4:59 pm

Hell yes. Damn fine work sir.

This allows me to use a planetary base hangar as the default hangar in the event there is no mothership, while still having control over what the proving ground hangar looks like.

The only thing left is to maybe add some way to give a buoy or satellite a hangar to represent the landing sequence on a nearby planeload backdrop.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
Darksaber

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

Post by Darksaber » Fri Oct 04, 2019 7:54 pm

The proving ground example is a little confusing, only because ProvingGround.opt and ProvingGroundHangar.opt do not exist

In your example you have

Example:
ProvingGroundHangarModel = FlightModels\ProvingGround.opt
This will load "FlightModels\ProvingGroundHangar.opt" and "FlightModels\ProvingGround.ini" (or txt files).

the example requires 2 opts the ProvingGround.opt and ProvingGroundHangar.opt

But by default the Proving Ground just uses the Hangar.opt, which is a single opt

Sorry but I'm just trying to get my head around why it has to use 2 opt's

Ok for another example if I wanted to use the Imperial Hangar as the ProvingGroundHangarModel

Would I have to use
ProvingGroundHangarModel = FlightModels\ImperialStarDestroyer.opt

So that would load ImperialStarDestroyerHangar.opt and the ImperialStarDestroyer.ini.

But if this is the case why do I have to use ImperialStarDestroyer.opt, which it a model of a Starship, not a Hangar, only the ImperialStarDestroyerHangar.opt is a Hangar opt????

or could I just use

ProvingGroundHangarModel = FlightModels\ImperialStarDestroyerHangar.opt

Would that still load ImperialStarDestroyer.ini or not?

Or by you example do I have to rename the Opts I wish to use ProvingGround.opt and ProvingGroundHangar.opt

I'm sorry to go on about it, but a bit of clarification would help please :D

_________________________________________________________________

On another note, and I probably should have mentioned this before, as you might know I converted all the [CraftName***].txt files to *.ini files, but if you try to use Hangar.ini, it doesn't work, if you do not use HangarCamera.txt, HangarMap.txt and HangarObjects.txt the game loads it's default settings

You can try it yourself,
Move the Hangar***.txt files mentioned above
create a Hangar.ini file
The copy and paste this into it

Code: Select all

[HangarCamera]
;Camera X,Y,Z
Key1_X = 1130
Key1_Y = -2320
Key1_Z = -300

Key2_X = 2240
Key2_Y = 300
Key2_Z = -400

Key3_X = -1120
Key3_Y = 1390
Key3_Z = -790

Key6_X = -1200
Key6_Y = -1530
Key6_Z = -850

Key9_X = 1070
Key9_Y = 4640
Key9_Z = -130

[HangarMap]
; Must contain at least 4 object line.
; Format is : model index, position X, position Y, position Z, heading XY, heading Z
; or : model index, markings, position X, position Y, position Z, heading XY, heading Z
; Numbers can be in decimal or hexadecimal (0x) notation.
; When position Z is set to 0x7FFFFFFF, this means that the object stands at the ground.

;ModelIndex_314_HangarMonitor
314, -1059, 1313, 0x7FFFFFFF, 38600, 0

;ModelIndex_309_HangarCrane
309, 725, -416, 0x7FFFFFFF, 23500, 0

;ModelIndex_313_HangarGenerator
313, -1352, 1440, 0x7FFFFFFF, 536, 0

;ModelIndex_310_HangarCrate
310, 794, -810, -848, 6800, 12500

;ModelIndex_310_HangarCrate
310, -803, -1464, 0x7FFFFFFF, 49200, 0

;ModelIndex_310_HangarCrate
310, -1563, 944, 0x7FFFFFFF, 51436, 0

;ModelIndex_083_ContainerBox
83, -506, -2136, -722, 32836, 16480

;ModelIndex_083_ContainerBox
83, -841, -1628, 0x7FFFFFFF, 53100, 0

;ModelIndex_083_ContainerBox
83, 1240, -2098, -722, 272, 16480

;ModelIndex_084_ContainerSphere
84, -834, -2034, 0x7FFFFFFF, 32336, 0

;ModelIndex_080_CargoCanister
80, -3474, -275, 0x7FFFFFFF, 29436, 0

;ModelIndex_002_Ywing
2, -1038, -798, 0x7FFFFFFF, 7700, 0

;ModelIndex_050_Shuttle
50, 0, 1146, -1288, -741, 50536, 0

;ModelIndex_310_HangarCrate
310, -873, -1456, -849, 60472, 20400

;ModelIndex_310_HangarCrate
310, -3095, -592, 0x7FFFFFFF, 51436, 0

;ModelIndex_083_ContainerBox
83, -1751, -1996, 0x7FFFFFFF, 31172, 0

;ModelIndex_083_ContainerBox
83, 979, -2103, 0x7FFFFFFF, 37036, 0

;ModelIndex_084_ContainerSphere
84, -1374, -2068, 0x7FFFFFFF, 40536, 0

;ModelIndex_080_CargoCanister
80, 3474, 357, 0x7FFFFFFF, 20536, 0

;ModelIndex_080_CargoCanister
80, -195, -1910, 0x7FFFFFFF, 54372, 0

;ModelIndex_004_Bwing
4, 1378, 40, 0x7FFFFFFF, 40036, 0

;ModelIndex_315_HangarWorkStand
315, 1179, 273, 0x7FFFFFFF, 40036, 0

;ModelIndex_002_Ywing
2, 1100, -523, 0x7FFFFFFF, 49036, 0

;ModelIndex_315_HangarWorkStand
315, 820, -705, 0x7FFFFFFF, 49036, 0

;ModelIndex_315_HangarWorkStand
315, -1065, 200, 0x7FFFFFFF, 16600, 0

;ModelIndex_001_Xwing
1, -1003, -100, 0x7FFFFFFF, 16600, 0

;ModelIndex_003_Awing
3, -950, 560, 0x7FFFFFFF, 16600, 0

;ModelIndex_315_HangarWorkStand
315, -1065, 800, 0x7FFFFFFF, 16600, 0

;ModelIndex_058_CorellianTransport2
58, 965, -3600, 0x7FFFFFFF, -9500, 0

[HangarObjects]
LoadShuttle = 1
ShuttleModelIndex = 50
ShuttleMarkings = 0
LoadDroids = 1
IsHangarFloorInverted = 0
FlightModels\HangarCrane.opt = FlightModels\RebHangarCrane.opt
FlightModels\HangarDroid.opt = FlightModels\RebHangarDroid.opt
FlightModels\HangarDroid2.opt = FlightModels\RebHangarDroid2.opt
FlightModels\HangarGenerator.opt = FlightModels\RebHangarGenerator.opt
FlightModels\HangarMonitor.opt = FlightModels\RebHangarMonitor.opt
FlightModels\HangarRoofCrane.opt = FlightModels\RebHangarRoofCrane.opt
FlightModels\HangarWorkStand.opt = FlightModels\RebHangarWorkStand.opt
Open the game and go to the Pilot Proving Ground to view the hangar, if the Hangar.ini worked you should see a YT1300, a B-Wing, a A-wing next to the X-wing, but no the game hasn't loaded them, now replace the HangarCamera.txt, HangarMap.txt and HangarObjects.txt, you should now see the custom Hangar, I'm not sure why this happens

If you play a mission and your mothership starship uses a custom hangar opt say the CalamariCruiserNew.opt which has a custom hangar opt and CalamariCruiserNew.ini, the Ini file loads the custom settings overriding the default settings and the Hangar****.txt files.
.
.
.
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Fri Oct 04, 2019 8:22 pm

Ok, so by default, without a mothership and the "load by craft index" config, the game loads a default "hangar.opt"

Usually by default its a cal or ISD hangar.

So I wanted to make a setup where any mission where the player doesn't have a mothership, he starts from a generic planetary hangar, say one of DTMs.

Now I noticed by changing "hangar.opt" to a generic planet based hangar, it also changes the starting proving ground hangar.

My request was to separate the Proving ground hangar from the default hangar just in case someone ever wants to do something similar, without changing the flow of the proving ground. Or you could make the proving ground hangar set to always be the asteroid base hangar for example.

My only remaining thing to figure out is giving some sort of marker buoy the ability to trigger the hangar landing prompt, then just set that buoy's hangar to the planetary opt. That way you can simulate a planetary landing ending without landing on a mothership, and rather just flying to the last space beacon before making you "atmospheric transition". As it is right now, setting any of the satellites or buoys to be mothership doesn't seem to trigger the landing prompt for me.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
Driftwood
Lieutenant Commander
XWAU Member
Posts: 1710
Joined: Wed Oct 22, 2003 11:01 pm
Contact:

Post by Driftwood » Fri Oct 04, 2019 10:58 pm

ual002 wrote:
Fri Oct 04, 2019 8:22 pm
My only remaining thing to figure out is giving some sort of marker buoy the ability to trigger the hangar landing prompt, then just set that buoy's hangar to the planetary opt. That way you can simulate a planetary landing ending without landing on a mothership, and rather just flying to the last space beacon before making you "atmospheric transition". As it is right now, setting any of the satellites or buoys to be mothership doesn't seem to trigger the landing prompt for me.
All you need to do is add inside/outside hangar opt hardpoints to the bouy. Look at any starship with a hangar and see how they are configured. Then obviously create a Bouywhateverhangar.opt and bouywhatever.ini and configure it with the desired hangar settings for your default positioning of cameras and prop placements.

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Sat Oct 05, 2019 1:02 am

Damn ok, it was the buoy hardpoints I forgot. At that point, might as well just set the arrival and departure points as buoys rather than unassigned.. hmm. Interesting. Well at least now we can have custom proving ground hangars. I still need to sort out the gozanti this weekend too.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

User avatar
ual002
Ensign
Galactic Empire
Posts: 488
Joined: Wed Sep 24, 2008 2:23 am

Post by ual002 » Sat Oct 05, 2019 3:20 am

Gozanti Hangar Test 2

All credit to the Gozanti model goes to DTM.

https://youtu.be/RhBnfGKlW8o

Apologies, mic audio was terrible and the default hangar sounds were super loud and echoy. Skip to 1:50 to see the launch.

In this version I cover:
1. Launch point/hangar floor is set to the tip of the docking arm in the gozanti hangar opt, and the "IsHangarFloorInverted = 1" line is added to the gozantihangar.ini

2. TIE/LN, TIE/IN, and TIE/SA .ini files have the "ClosedSFoilsElevationInverted" section added in the [size] section and each was tweeked to be lined up with the cockpit canopy doors.

3. I mention the off-center Bomber, which doesn't seem to be anything we can do about without adding an x/y plane offset which just seems like more work than necessary.

4. Covered the hangar floor shadow element that is still visible even though the hangar floor is technically space. A way to turn off hangar shadows on a per hangar basis would be good.

5. The other 3 interceptors are not part of the hangar opt, but ranther hangar objects defined in the gozantihangar.ini

@DTM I can send this your way if you wanna package it with your opt, or even improve on it.
For the glory of his majesty Emperor Palpatine! Image Image Image Image

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

Post by JeremyaFr » Sat Oct 05, 2019 11:46 am

When you have

Code: Select all

ProvingGroundHangarModel = FlightModels\ImperialStarDestroyer.opt
First, the hook removes the extension from the file path to get the base path: "FlightModels\ImperialStarDestroyer.opt" becomes "FlightModels\ImperialStarDestroyer".

To get the hangar opt path, "Hangar.opt" is appended to the base path: "FlightModels\ImperialStarDestroyer" becomes "FlightModels\ImperialStarDestroyerHangar.opt".

To get the ini file path, ".ini" is appended to the base path: "FlightModels\ImperialStarDestroyer" becomes "FlightModels\ImperialStarDestroyer.ini".

To get a txt file path, the txt file name is appended to the base path: if the txt file name is "TxtName", then "FlightModels\ImperialStarDestroyer" becomes "FlightModels\ImperialStarDestroyerTxtName.txt".

The opt "FlightModels\ImperialStarDestroyer.opt" is not loaded. The "ProvingGroundHangarModel" is only used to get the base path.

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

Post by JeremyaFr » Sat Oct 05, 2019 11:51 am

UPDATE
Darksaber wrote:
Fri Oct 04, 2019 7:54 pm
On another note, and I probably should have mentioned this before, as you might know I converted all the [CraftName***].txt files to *.ini files, but if you try to use Hangar.ini, it doesn't work, if you do not use HangarCamera.txt, HangarMap.txt and HangarObjects.txt the game loads it's default settings
I've added a "default.ini" file to set the base values instead of the txt files. The txt files are read first. If a txt file doesn't exist then the ini file is read.

User avatar
Darksaber

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

Post by Darksaber » Sat Oct 05, 2019 12:35 pm

Thanks Jeremy, that explains it a bit better :)

Thanks for the default fix too :D
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
Darksaber

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

Post by Darksaber » Sat Oct 05, 2019 1:36 pm

Sorry about this Jeremy

I just noticed, if I create a Default.ini, I can sections

[HangarCamera]
[HangarMap]
[HangarObjects]

[FamHangarCamera]
[FamHangarMap]

But there isn't a
[FamHangarObjects] or you couldn't have a FamHangarObjects.txt file

So I can't replace objects without creating a FamilyBase.ini and inserting a [HangarObjects] section

Is it possible to add the [FamHangarObjects] and you'll also need to add FamHangarObjects.txt

If this is added there would be no need to create a FamilyBase.ini or the FamilyBase*****.txt files

Thanks :)
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

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

Post by JeremyaFr » Sat Oct 05, 2019 2:43 pm

Currently, replacing OPTs with HangarObjects applies to all loaded OPTs.
It applies to the FamilyBase objects, as well as other hangars.

Post Reply