So i tried something with a rather simple script
It took objects position vector and used it to produce screencoordinates after which it draw a bitmap on that spot.
#Conditional Hooks
$State: GS_STATE_GAME_PLAY
$On HUD Draw:
[
if mn.getMissionTime() ~= nil then
--here to prevent annoying errors caused by script getting triggered before mission starts
if boolean_radio_init == nil then
integerWidth = gr.getScreenWidth()
floatWMult = integerWidth / 1024
integerHeight = gr.getScreenHeight()
floatHMult = integerHeight / 768
bitmapReticle = gr.loadTexture('reticle_dds')
coordX = 0
coordY = 0
end
integerWeapons = #mn.Weapons
gr.setColor(255, 100, 100)
for r = 1, integerWeapons do
objectWeapon = mn.Weapons[r]
stringWeaponClass = objectWeapon.Class.Name
if stringWeaponClass == "Harpoon" then
vectorWepPosition = objectWeapon.Position
if vectorWepPosition:getScreenCoords() == nil or vectorWepPosition:getScreenCoords() == false then
--do nothing
else
unscaled_coordX,unscaled_coordY = vectorWepPosition:getScreenCoords()
coordX = (unscaled_coordX * floatWMult) - 128
coordY = (unscaled_coordY * floatHMult) - 128
gr.drawMonochromeImage(bitmapReticle, coordX, coordY)
end
end
end
end
]
#End
And here are attached screenshots... Using fs2_open_3_6_10_debug-Xt_0306.exe
I wasn't really surprised that the effects got misaligned but that it's centerpoint was not in the aiming reticle was.