Mission Tie Hook / Stats Profiles

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

Moderator: JeremyaFr

Re: Mission Tie Hook

User avatar
Mark_Farlander
Rebel Alliance
Posts: 577
Joined: Tue Jan 16, 2018 10:47 pm

Post by Mark_Farlander » Thu May 14, 2020 9:09 am

@Phoenix Leader
There is a thing you did not consider: when you change the sequence of the Flight Groups in a skirmish mission, you automatically also change the Start 1 point of each FG involved.
Skirmishes are not like missions: the starting position of each craft is calculated taking into account the "Starting distance" setting and the sequence of the Flight Groups.
I don't judge tactics. The Battle is the best and only Judge.

User avatar
Mark_Farlander
Rebel Alliance
Posts: 577
Joined: Tue Jan 16, 2018 10:47 pm

Post by Mark_Farlander » Thu May 14, 2020 9:17 am

However, the Starting distance can be increased or decreased to counterbalance the effect while taking into account that fighters are much faster than capital ships.
Each skirmish must be evaluated for the "collateral effects" when changing the sequence of the Flight Groups.
I don't judge tactics. The Battle is the best and only Judge.

User avatar
Phoenix Leader
Rebel Alliance
Posts: 437
Joined: Wed Aug 08, 2018 2:20 pm

Post by Phoenix Leader » Fri May 15, 2020 2:10 am

I have a question for the author of the Mission Tie Hook (Jeremy): would it be possible to have a version of this hook allowing for Global Unit replacement on a per flight group basis?
This would allow to have squadron numbers for all fighter flight groups, not just for player's flight group.

The downside of editing the "Temp.txt" file to assign each flight group to a distinct Global Unit (and not GU=0) would be that you also have squadron numbers for capital ships.
I mean ISDII Corrupter 1, L/CRS Liberty 1 and so on.
The solution would be to make an exclusion for craft categories restricted to have # Craft Per Wave: 1 and Number of Waves: 1 (starships and stations).

User avatar
Phoenix Leader
Rebel Alliance
Posts: 437
Joined: Wed Aug 08, 2018 2:20 pm

Post by Phoenix Leader » Fri May 15, 2020 2:24 am

I realize that "excluding" 2 craft categories from part of the hook functionalities might be tricky, so I do not demand for it.
I would be more than pleased if "To replace the flight group global unit" were available with the next version of this hook.

User avatar
JeremyaFr
XWAU Member
Posts: 3152
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Sat Aug 08, 2020 7:16 pm

WIP

Hello,
Here is a WIP version of the mission tie hook.

I've fixed a crash that happens in the Pilot Proving Ground when the HangarMap contains more than 30 objects.

EDIT: link removed

User avatar
JeremyaFr
XWAU Member
Posts: 3152
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Thu Aug 13, 2020 8:26 am

UPDATE

Hello,
I've merged the changes from the WP version into the stable version.

User avatar
JeremyaFr
XWAU Member
Posts: 3152
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Mon Nov 02, 2020 8:34 pm

UPDATE

Hello,
I've updated the mission tie hook.

I've fixed a bug with the music in the game where a mission starts with wait state instead of intro state.

User avatar
JeremyaFr
XWAU Member
Posts: 3152
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Sat Mar 20, 2021 1:31 pm

UPDATE

Hello,
I've updated the mission tie hook.

This hook now contains a new feature: Stats Profiles
Stats Profiles permit to define different profiles to customize the characteristics of a craft. Then you can use these profiles on a per mission basis.

Suppose that the craft is "FlightModels\[Model].opt".
To create a stats profile named "Profile1", create a file named "FlightModels\[Model]StatsProfile_Profile1.txt" or create a section named "StatsProfile_Profile1" in "FlightModels\[Model].ini".
The format is
Speed = integer
Acceleration = integer
SpeedIncrement = integer
Deceleration = integer
SpeedDecrement = integer
Pitch = integer
Roll = integer
Yaw = integer
ExplosionStrength = integer
HullStrength = integer
SystemStrength = integer
ShieldStrength = integer
HasShieldGenerator = integer
HasHyperdrive = integer

Suppose that the mission is "[MissionDir]\[Mission].tie".
To define a stats profile for a craft, create a file named "[MissionDir]\[Mission]_StatsProfiles.txt" or create a section named "[StatsProfiles]" in "[MissionDir]\[Mission].ini".
The format is
CraftOptName_fgc_# = ProfileName
PlayerSpeedPercent = integer
PlayerAccelerationPercent = integer
PlayerDecelerationPercent = integer
PlayerPitchPercent = integer
PlayerRollPercent = integer
PlayerYawPercent = integer
PlayerExplosionStrengthPercent = integer
PlayerHullStrengthPercent = integer
PlayerSystemStrengthPercent = integer
PlayerShieldStrengthPercent = integer
# in CraftOptName_fgc_# is an integer for the opt color marking index, starting at 0.
To define a profile for the player craft, set "CraftOptName_fg_player = ProfileName".
The default ProfileName is "Default".

The raw values are calculated as follow:

stats.Speed = (int)(stats.Speed * 2.25f + 0.5f);
stats.Acceleration = (int)(stats.Acceleration * 2.25f + 0.5f);
stats.Deceleration = (int)(stats.Deceleration * 2.25f + 0.5f);
stats.Pitch = stats.Pitch * 256;
stats.Roll = stats.Roll * 256;
stats.Yaw = stats.Yaw * 256;
stats.ExplosionStrength = stats.ExplosionStrength * 105;
stats.HullStrength = stats.HullStrength * 105;
stats.ShieldStrength = stats.ShieldStrength * 50;

if( ShipCategory == ShipCategory_Starship || ShipCategory == ShipCategory_Platform )
{
HullStrength /= 16;
ShieldStrength /= 16;
ExplosionStrength /= 16
}

if( ShipCategory == ShipCategory_Freighter || ShipCategory == ShipCategory_Container )
{
HullStrength /= 4;
ShieldStrength /= 4;
ExplosionStrength /= 4
}

User avatar
Ace Antilles
Admiral (Moderator)
Posts: 5969
Joined: Sat Jan 22, 2000 12:01 am
Contact:

Post by Ace Antilles » Sun Mar 21, 2021 11:55 pm

I will elaborate a little on Jeremys previous post. Stats Profiles is something we've been testing and refining for a while and finally the bugs have been worked out.
There will be a proper tutorial posted on the main pages once Update 2 is out but here's a little more explanation into how it works.

Stats Profiles: This mode allows you to give a ship different Statistics or performance in a mission without affecting the default ship.
For example you can set up a TIE Fighter to have added Shields or Hyperdrive, or decreased hull strength, speed and handling.
This is all controlled from the StatsProfiles section in the Opts INI file. You don’t need run an editor to change the ship stats first.
You can choose from the different Craft performance modes that have been made available by the creator in their relevant INI file.
You can also use MXvTED for reference to create new performance models to characterize your vehicle.

Mxvted.jpg
Yaw.jpg
Here's a guide to which numbers in MXvTED refer to the sections needed in the INI file.
1: Speed = 100
2: Acceleration = 16
3: Deceleration = 27
4: Roll = 36
5: Pitch = 20
6: Yaw = 40
7: HasShieldGenerator = 1....0 = No. 1 = Yes
8: HasHyperdrive = 1......... 0 = No. 1 = Yes
9: ShieldStrength = 50
10: HullStrength = 20
11: SystemStrength = 10
12: ExplosionStrength = 7

I've updated many model INI files from Updates 1 and 2 to include a "Default" profile listing.
This means you can easily see the original Stats without opening MXvTED.
There's a lot of models in the game but we will update more INI files with default templates as we go.

I hope that gives a little more explanation into the new feature but there will be a tutorial posted in the near future.
You do not have the required permissions to view the files attached to this post.
Chief XWAU Team annoying nitpicker.
Ace Antilles - The X-Wing Outpost
Image

User avatar
JeremyaFr
XWAU Member
Posts: 3152
Joined: Mon Jan 18, 2010 5:52 pm
Contact:

Post by JeremyaFr » Fri May 28, 2021 2:04 pm

UPDATE

Hello,
I've updated the mission tie hook.

I've added percents for stats for all crafts.

Code: Select all

SpeedPercent = integer
AccelerationPercent = integer
DecelerationPercent = integer
PitchPercent = integer
RollPercent = integer
YawPercent = integer
ExplosionStrengthPercent = integer
HullStrengthPercent = integer
SystemStrengthPercent = integer
ShieldStrengthPercent = integer
*Percent applies to all crafts.

You can define them in the misson ini or in the global default.ini:
create a file named "FlightModels\StatsProfiles.txt" or create a section named "[StatsProfiles]" in "FlightModels\default.ini".

Post Reply