3.4 Fixing the Amount and Position of the Weapons in the Displays
15_MFD_ZANDT.DAT.lua
We need to think about how our general layout for the weapons should look like.
I've decided for the following approach: inside to outside, left to right. This would give us the following arrangement, as viewed from the front:
So we need to change our hardpoint numbering for the ship as well, but in this step, we're going to change the displayed weapons in the MFD and shield status first.
For this we're going back to our 15_MFD_ZANDT.DAT.lua file. Remember those HARDPOINT_ and VDUHARDPOINT_ entries? We're going to change them now.
The first thing we do here is to add three more hardpoints, two guns and one missile hardpoint. The strings are in the L table as always:
We're going to add HARDPOINT_4 and HARDPOINT_5 for the guns, and HARDPOINT_9 for the missile launcher, so that they can be displayed in the MFD display.
Accordingly we add VDUHARDPOINT_4, VDUHARDPOINT_5, and VDUHARDPOINT_9 for the display in the VDU/Shield Status.
So we go to the very end of the L table, right after [266] = { 267, "WAYPOINTREDSMALL" },, but before the closing },
and there we add the following entries:
[267] = { 268, "HARDPOINT_4" },
[268] = { 269, "HARDPOINT_5" },
[269] = { 270, "HARDPOINT_9" },
[270] = { 271, "VDUHARDPOINT_4" },
[271] = { 272, "VDUHARDPOINT_5" },
[272] = { 273, "VDUHARDPOINT_9" },
Remember that weapons/guns go from hardpoint 0 to 7 for a maximum of 8 slots, and that missiles go from 8 to 11, for a maximum of 5 missile launchers.
This is why we gave our second missile launcher the number 9, the first, already existing one, has the number 8.
We also need to adjust the size property of our L table now (something I like to forget), so change it from 268 to...
wait a minute, when scrolling back up, we see another entry at the very top:
[4294967295] = { 268, "" },
So that means that there's already an out-of-line entry "occupying" the key 268 that we have now assigned to our new [267] = { 268, "HARDPOINT_4" }, entry.
I don't know why this value is so out of line, but to fix this, we simply change it's key value of 268 to 274.
Which then is also our new value for the size property, so change this also from 268 to 274:
Entry |
Old Value |
New Value |
size |
268, |
274, |
[4294967295] |
{ 268, "" }, |
{ 274, "" }, |
[267] |
|
{ 268, "HARDPOINT_4" }, |
[268] |
|
{ 269, "HARDPOINT_5" }, |
[269] |
|
{ 270, "HARDPOINT_9" }, |
[270] |
|
{ 271, "VDUHARDPOINT_4" }, |
[271] |
|
{ 272, "VDUHARDPOINT_5" }, |
[272] |
|
{ 273, "VDUHARDPOINT_9" }, |
Now we're going to add the hardpoints to the actual displays. Search in the file for HARDPOINT_, you'll eventually reach the entry for VDUHARDPOINT_8, which is fine,
let's start here.
That's the entry for the first missile launcher in the weapon selection display (the left one / MFD).
Let's just copy the whole entry and paste it below. After doing so, change the
{ n="NAME", t="STRING", v=54 }, --> "VDUHARDPOINT_8"
entry to
{ n="NAME", t="STRING", v=269 }, --> "VDUHARDPOINT_9"
to point to our new missile hardpoint.
Do the same three times for the new gun hardpoints with the VDUHARDPOINT_3 entry, pointing to 267 and 268 respectively.
Don't forget the comma!
We can also already prepare the positioning of our hardpoints.
I like to iterate from 0 upwards for the X and Y values to get a feeling where I would need to position them.
A graphical interface with drag & drop would be really helpful here, but we don't have it, so we need to change the values, compile the mod, load up the game,
check the positioning, quit the game, change the values, compile the mod, load up the game, check the positioning, ...
Before:
tags = {
{ --CONTAINER[1]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=54 }, --> "VDUHARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=42 },
{ n="HEIGHT", t="INTEGER", v=51 },
{ n="X", t="INTEGER", v=123 },
{ n="Y", t="INTEGER", v=152 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[2]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=56 }, --> "VDUHARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=39 },
{ n="Y", t="INTEGER", v=75 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[3]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=58 }, --> "VDUHARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=227 },
{ n="Y", t="INTEGER", v=75 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[4]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=59 }, --> "VDUHARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=17 },
{ n="Y", t="INTEGER", v=76 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[5]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=60 }, --> "VDUHARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=249 },
{ n="Y", t="INTEGER", v=76 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
After:
tags = {
{ -- MISSILE 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=54 }, --> "VDUHARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=42 },
{ n="HEIGHT", t="INTEGER", v=51 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=150 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- MISSILE 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=269 }, --> "VDUHARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=42 },
{ n="HEIGHT", t="INTEGER", v=51 },
{ n="X", t="INTEGER", v=200 },
{ n="Y", t="INTEGER", v=150 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=56 }, --> "VDUHARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=0 },
{ n="Y", t="INTEGER", v=0 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=58 }, --> "VDUHARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=50 },
{ n="Y", t="INTEGER", v=50 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 3
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=59 }, --> "VDUHARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=100 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 4
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=60 }, --> "VDUHARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=150 },
{ n="Y", t="INTEGER", v=150 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 5
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=267 }, --> "VDUHARDPOINT_4"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=200 },
{ n="Y", t="INTEGER", v=200 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 6
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=268 }, --> "VDUHARDPOINT_5"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=250 },
{ n="Y", t="INTEGER", v=250 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
I also changede the comments here, you don't need to do that, but it makes things more clear.
This is how it now looks in the game, I've markede the hardpoint numbers and coordinates:
Now begins the fun process of shuffling the positions around.
The two most inner ones should be 1 (left) and 2 (right), then followed by 3 and 4, and the two most outer should be 5 and 6.
And the missiles should fit somehwere between there as well.
Shuffle, shuffle.
Yeah, that seems about right.
These are the final coordinates:
Weapon | Hardpoint | X | Y |
Gun 1 | VDUHARDPOINT_0 | 120 | 0 |
Gun 2 | VDUHARDPOINT_1 | 150 | 0 |
Gun 3 | VDUHARDPOINT_2 | 90 | 15 |
Gun 4 | VDUHARDPOINT_3 | 180 | 15 |
Gun 5 | VDUHARDPOINT_4 | 60 | 50 |
Gun 6 | VDUHARDPOINT_5 | 210 | 50 |
Missile 1 | VDUHARDPOINT_8 | 80 | 110 |
Missile 2 | VDUHARDPOINT_9 | 170 | 110 |
And this is the final code:
tags = {
{ -- MISSILE 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=54 }, --> "VDUHARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=42 },
{ n="HEIGHT", t="INTEGER", v=51 },
{ n="X", t="INTEGER", v=80 },
{ n="Y", t="INTEGER", v=110 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- MISSILE 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=269 }, --> "VDUHARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=42 },
{ n="HEIGHT", t="INTEGER", v=51 },
{ n="X", t="INTEGER", v=170 },
{ n="Y", t="INTEGER", v=110 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=56 }, --> "VDUHARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=0 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=58 }, --> "VDUHARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=150 },
{ n="Y", t="INTEGER", v=0 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 3
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=59 }, --> "VDUHARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=90 },
{ n="Y", t="INTEGER", v=15 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 4
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=60 }, --> "VDUHARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=180 },
{ n="Y", t="INTEGER", v=15 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 5
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=267 }, --> "VDUHARDPOINT_4"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=50 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- WEAPON 6
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=268 }, --> "VDUHARDPOINT_5"
{ n="WIDTH", t="INTEGER", v=22 },
{ n="HEIGHT", t="INTEGER", v=84 },
{ n="X", t="INTEGER", v=210 },
{ n="Y", t="INTEGER", v=50 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
We need to do the same for the HARDPOINT_ values, which appear further below.
Don't forget that we need to use HARDPOINT_ instead of VDUHARDPOINT_ here, so change the NAME entries accordingly (270, 271, and 272).
And unfortunately we cannot re-use the same coordinates here, because the are is smaller area available.
Shuffle, shuffle.
That's ok!
Weapon | Hardpoint | X | Y |
Gun 1 | HARDPOINT_0 | 126 | 48 |
Gun 2 | HARDPOINT_1 | 144 | 48 |
Gun 3 | HARDPOINT_2 | 110 | 55 |
Gun 4 | HARDPOINT_3 | 160 | 55 |
Gun 5 | HARDPOINT_4 | 95 | 75 |
Gun 6 | HARDPOINT_5 | 175 | 75 |
Missile 1 | HARDPOINT_8 | 110 | 110 |
Missile 2 | HARDPOINT_9 | 145 | 110 |
Before:
tags = {
{ --CONTAINER[1]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=82 }, --> "HARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=26 },
{ n="HEIGHT", t="INTEGER", v=34 },
{ n="X", t="INTEGER", v=125 },
{ n="Y", t="INTEGER", v=127 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[2]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=83 }, --> "HARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=84 },
{ n="Y", t="INTEGER", v=85 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[3]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=84 }, --> "HARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=179 },
{ n="Y", t="INTEGER", v=85 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[4]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=85 }, --> "HARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=71 },
{ n="Y", t="INTEGER", v=87 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --CONTAINER[5]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=86 }, --> "HARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=192 },
{ n="Y", t="INTEGER", v=87 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
After:
tags = {
{ -- Missile 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=82 }, --> "HARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=26 },
{ n="HEIGHT", t="INTEGER", v=34 },
{ n="X", t="INTEGER", v=110 },
{ n="Y", t="INTEGER", v=110 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=272 }, --> "HARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=26 },
{ n="HEIGHT", t="INTEGER", v=34 },
{ n="X", t="INTEGER", v=145 },
{ n="Y", t="INTEGER", v=110 },
{ n="IMAGE", t="STRING", v=55 }, --> "VDUWEAPON_DFLAUNCHER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 1
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=83 }, --> "HARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=126 },
{ n="Y", t="INTEGER", v=48 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 2
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=84 }, --> "HARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=144 },
{ n="Y", t="INTEGER", v=48 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 3
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=85 }, --> "HARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=110 },
{ n="Y", t="INTEGER", v=55 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 4
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=86 }, --> "HARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=160 },
{ n="Y", t="INTEGER", v=55 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 5
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=270 }, --> "HARDPOINT_4"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=95 },
{ n="Y", t="INTEGER", v=75 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 6
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=271 }, --> "HARDPOINT_5"
{ n="WIDTH", t="INTEGER", v=13 },
{ n="HEIGHT", t="INTEGER", v=50 },
{ n="X", t="INTEGER", v=175 },
{ n="Y", t="INTEGER", v=75 },
{ n="IMAGE", t="STRING", v=57 }, --> "VDUWEAPON_LASER"
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
That's it for the weapon displays.
We still need to update our weapon recticle indicators/dots and the actual mounting position of our weapons. First the indicators.
15_HUD_ZANDT.DAT.lua
We have already copied the 15_HUD_ZANDT.DAT.lua file to our mod directory, but haven't touched it so far. Now we will.
Right at the top we can already see the things we'll be changing: HARDPOINT_x and HARDPOINTACTIVE_x. And of course we'll need to add two more of these to our
L strings table, which we'll do right away.
You should know the drill by now, add the following to the bottom of the L table:
[60] = { 61, "HARDPOINT_4" },
[61] = { 62, "HARDPOINTACTIVE_4" },
[62] = { 63, "HARDPOINT_5" },
[63] = { 64, "HARDPOINTACTIVE_5" },
And also adjust the size property to match our added entries.
Entry |
Old Value |
New Value |
size |
60, |
64, |
[60] |
|
{ 61, "HARDPOINT_4" }, |
[61] |
|
{ 62, "HARDPOINTACTIVE_4" }, |
[62] |
|
{ 63, "HARDPOINT_5" }, |
[63] |
|
{ 64, "HARDPOINTACTIVE_5" }, |
Then search for HARDPOINT_3 to find the entries we're looking for.
Select both the HARDPOINT_3 and HARDPOINTACTIVE_3 and insert it twice below, to add the two new hardpoints.
Here's the whooole section, including the ECM hardpoint (which we won't touch) and the missiles (which we won't need to touch), before adding the new entries:
tags = {
{ --SPRITEANIM[1]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=9 }, --> "ECMHARDPOINT"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=80 },
{ n="Y", t="INTEGER", v=100 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=10 }, --> "VDUECM_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=3 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[2]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=11 }, --> "HARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=32 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[3]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=13 }, --> "HARDPOINTACTIVE_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=32 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[4]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=14 }, --> "HARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[5]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=15 }, --> "HARDPOINTACTIVE_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[6]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=16 }, --> "HARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=41 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[7]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=17 }, --> "HARDPOINTACTIVE_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=41 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[8]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=18 }, --> "HARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[9]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=19 }, --> "HARDPOINTACTIVE_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[10]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=20 }, --> "HARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[11]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=22 }, --> "HARDPOINTACTIVE_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[12]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=24 }, --> "HARDPOINTRELOAD_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[13]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=26 }, --> "HARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[14]
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=27 }, --> "HARDPOINTACTIVE_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
}, { --SPRITEANIM[15]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=28 }, --> "HARDPOINTRELOAD_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
And here after adding our two new hardpoints:
tags = {
{ --SPRITEANIM[1]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=9 }, --> "ECMHARDPOINT"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=80 },
{ n="Y", t="INTEGER", v=100 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=10 }, --> "VDUECM_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=3 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=11 }, --> "HARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=32 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=13 }, --> "HARDPOINTACTIVE_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=32 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 2 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=14 }, --> "HARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 2 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=15 }, --> "HARDPOINTACTIVE_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 3 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=16 }, --> "HARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=41 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 3 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=17 }, --> "HARDPOINTACTIVE_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=41 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 4 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=18 }, --> "HARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 4 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=19 }, --> "HARDPOINTACTIVE_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 5 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=60 }, --> "HARDPOINT_4"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 5 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=61 }, --> "HARDPOINTACTIVE_4"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 6 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=62 }, --> "HARDPOINT_5"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 6 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=63 }, --> "HARDPOINTACTIVE_5"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=20 }, --> "HARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=22 }, --> "HARDPOINTACTIVE_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Reloading
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=24 }, --> "HARDPOINTRELOAD_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=26 }, --> "HARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=27 }, --> "HARDPOINTACTIVE_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Reloading
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=28 }, --> "HARDPOINTRELOAD_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
I have added some comments again, and also again, you don't need to.
What we can also see here, is that if we wanted to add missile hardpoints, we would need to copy three entries instead of two per hardpoint:
HARDPOINT_x, HARDPOINTACTIVE_x, and HARDPOINTRELOAD_x.
This is because the missile hardpoints have an additional "reloading" animation. Other than that the procedure would be exactly the same.
Now we need to adjust the positions.
Again, the only real way here is to change the X and Y value, compile the mod, and test the changes in game.
I've come up with the following values:
Weapon | Hardpoint | X | Y |
Gun 1 | HARDPOINT_0 | 55 | 125 |
Gun 2 | HARDPOINT_1 | 105 | 125 |
Gun 3 | HARDPOINT_2 | 40 | 113 |
Gun 4 | HARDPOINT_3 | 120 | 113 |
Gun 5 | HARDPOINT_4 | 31 | 96 |
Gun 6 | HARDPOINT_5 | 129 | 96 |
I thought I could just reuse the coordinates for the upper two rows, but it turned out the left indicators were shifted by 1 pixel, which made the third one look awkward.
So I had to fix this.
As mentioned, we don't need to adjust our missile indicators here.
If we had to, we would perform the exact same procedure, except with the HARDPOINT_8, HARDPOINTACTIVE_8, and HARDPOINTRELOAD_8 (and _9) entries.
The final code block:
tags = {
{ --SPRITEANIM[1]
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=9 }, --> "ECMHARDPOINT"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=80 },
{ n="Y", t="INTEGER", v=100 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=10 }, --> "VDUECM_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=3 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=11 }, --> "HARDPOINT_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=55 },
{ n="Y", t="INTEGER", v=125 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=13 }, --> "HARDPOINTACTIVE_0"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=55 },
{ n="Y", t="INTEGER", v=125 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 2 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=14 }, --> "HARDPOINT_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=105 },
{ n="Y", t="INTEGER", v=125 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 2 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=15 }, --> "HARDPOINTACTIVE_1"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=105 },
{ n="Y", t="INTEGER", v=125 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 3 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=16 }, --> "HARDPOINT_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=40 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 3 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=17 }, --> "HARDPOINTACTIVE_2"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=40 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 4 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=18 }, --> "HARDPOINT_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 4 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=19 }, --> "HARDPOINTACTIVE_3"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=120 },
{ n="Y", t="INTEGER", v=113 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 5 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=60 }, --> "HARDPOINT_4"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=31 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 5 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=61 }, --> "HARDPOINTACTIVE_4"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=31 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 6 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=62 }, --> "HARDPOINT_5"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=12 }, --> "VDUHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=32 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Weapon 6 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=63 }, --> "HARDPOINTACTIVE_5"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=129 },
{ n="Y", t="INTEGER", v=96 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=2 }, --> "VDUHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=20 }, --> "HARDPOINT_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=22 }, --> "HARDPOINTACTIVE_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Reloading
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=24 }, --> "HARDPOINTRELOAD_8"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=60 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Inactive
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=26 }, --> "HARDPOINT_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=21 }, --> "VDUMHARDPOINT_"
{ n="LOOP", t="BOOL", v=false },
{ n="FRAMES", t="INTEGER", v=29 },
{ n="SPEED", t="FLOAT", v=0.0 },
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Active
n="SPRITE",
vars = {
{ n="NAME", t="STRING", v=27 }, --> "HARDPOINTACTIVE_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=23 }, --> "VDUMHARDPOINT_ACTIVE"
{ n="BATCH", t="INTEGER", v=3 },
}
},
{ -- Missile 1 Reloading
n="SPRITEANIM",
vars = {
{ n="NAME", t="STRING", v=28 }, --> "HARDPOINTRELOAD_9"
{ n="WIDTH", t="INTEGER", v=32 },
{ n="HEIGHT", t="INTEGER", v=32 },
{ n="X", t="INTEGER", v=100 },
{ n="Y", t="INTEGER", v=46 },
{ n="VERT_ALIGN", t="STRING", v=5 }, --> "TOP"
{ n="HORZ_ALIGN", t="STRING", v=6 }, --> "LEFT"
{ n="IMAGE", t="STRING", v=25 }, --> "VDUMCONTAINER_"
{ n="FRAMES", t="INTEGER", v=4 },
{ n="BATCH", t="INTEGER", v=3 },
}
}
}
That's it for the cockpit! Hooray!