mirror of
https://github.com/exogen/t2-mapper.git
synced 2026-01-20 12:44:59 +00:00
158 lines
7.4 KiB
C#
158 lines
7.4 KiB
C#
// #autoload
|
|
// #name = multiInterpolate
|
|
// #config = multiInterpolateOptions
|
|
|
|
if(isFile("prefs/multiInterpolateprefs.cs")) exec("prefs/multiInterpolateprefs.cs");
|
|
exec("gui/multiInterpolateOptions.cs");
|
|
exec("scripts/weaponslist.cs");
|
|
exec("scripts/vehicleslist.cs");
|
|
exec("scripts/turretslist.cs");
|
|
|
|
package multiInterpolate
|
|
{
|
|
function mouseFire(%val)
|
|
{
|
|
parent::mouseFire(%val);
|
|
if(%val)
|
|
{
|
|
$isFiring = 1;
|
|
if($HudMode $= "Standard") loadWeaponInterpolate($CurrWeap);
|
|
else if($HudMode $= "Pilot") loadVehicleInterpolate($HudModeType, $HudModeNode, $HudModeWeapon);
|
|
else if($HudMode $= "Object") loadTurretInterpolate($HudModeType);
|
|
if($DefaultOnFire) loadDefaultInterpolate();
|
|
}
|
|
else
|
|
{
|
|
$isFiring = 0;
|
|
if($HudMode $= "Standard") loadWeaponInterpolate($CurrWeap);
|
|
else if($HudMode $= "Pilot") loadVehicleInterpolate($HudModeType, $HudModeNode, $HudModeWeapon);
|
|
else if($HudMode $= "Object") loadTurretInterpolate($HudModeType);
|
|
if($ChangeOnFire) loadDefaultInterpolate();
|
|
}
|
|
}
|
|
function clientCmdSetWeaponsHudActive(%slot, %ret, %vis)
|
|
{
|
|
Parent::clientCmdSetWeaponsHudActive(%slot, %ret, %vis);
|
|
$CurrWeap = $WeaponNames[%slot];
|
|
loadWeaponInterpolate($CurrWeap);
|
|
}
|
|
function clientCmdSetVWeaponsHudActive(%num, %vType)
|
|
{
|
|
parent::clientCmdSetVWeaponsHudActive(%num, %vType);
|
|
$HudModeWeapon = %num;
|
|
loadVehicleInterpolate($HudModeType, $HudModeNode, $HudModeWeapon);
|
|
}
|
|
function ClientCmdDisplayHuds()
|
|
{
|
|
parent::clientCmdDisplayHuds();
|
|
if($HudMode $= "Object") loadTurretInterpolate($HudModeType);
|
|
else if($HudMode $= "Pilot") loadVehicleInterpolate($HudModeType, $HudModeNode, $HudModeWeapon);
|
|
}
|
|
function quit()
|
|
{
|
|
export("$multiInterpolate::*", "prefs/multiInterpolateprefs.cs", false);
|
|
parent::quit();
|
|
}
|
|
};
|
|
activatepackage(multiInterpolate);
|
|
function loadWeaponInterpolate(%weapon)
|
|
{
|
|
if($multiInterpolate::weapon[%weapon] $= "") setInterpolate(%weapon, 0, 30, 3, 0.5, 0, 0);
|
|
$Player::maxLatencyTicks = getword($multiInterpolate::weapon[%weapon], 0);
|
|
$Player::maxPredictionTicks = getword($multiInterpolate::weapon[%weapon], 1);
|
|
$Player::maxWarpTicks = getword($multiInterpolate::weapon[%weapon], 2);
|
|
$Player::minWarpTicks = getword($multiInterpolate::weapon[%weapon], 3);
|
|
$ChangeOnFire = getword($multiInterpolate::weapon[%weapon], 4);
|
|
$DefaultOnFire = getword($multiInterpolate::weapon[%weapon], 5);
|
|
if($ChangeOnFire && !$isFiring) loadDefaultInterpolate();
|
|
}
|
|
function loadVehicleInterpolate(%vehicle, %node, %weapon)
|
|
{
|
|
if(%weapon $= "") %weapon = 1;
|
|
if($multiInterpolate::weapon[%vehicle@%node@%weapon] $= "") setInterpolate(%vehicle@%node@%weapon, 0, 30, 3, 0.5, 0, 0);
|
|
$Player::maxLatencyTicks = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 0);
|
|
$Player::maxPredictionTicks = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 1);
|
|
$Player::maxWarpTicks = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 2);
|
|
$Player::minWarpTicks = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 3);
|
|
$ChangeOnFire = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 4);
|
|
$DefaultOnFire = getword($multiInterpolate::weapon[%vehicle@%node@%weapon], 5);
|
|
if($ChangeOnFire && !$isFiring) loadDefaultInterpolate();
|
|
}
|
|
function loadTurretInterpolate(%turret)
|
|
{
|
|
if($multiInterpolate::weapon[%turret] $= "") setInterpolate(%turret, 0, 30, 3, 0.5, 0, 0);
|
|
$Player::maxLatencyTicks = getword($multiInterpolate::weapon[%turret], 0);
|
|
$Player::maxPredictionTicks = getword($multiInterpolate::weapon[%turret], 1);
|
|
$Player::maxWarpTicks = getword($multiInterpolate::weapon[%turret], 2);
|
|
$Player::minWarpTicks = getword($multiInterpolate::weapon[%turret], 3);
|
|
$ChangeOnFire = getword($multiInterpolate::weapon[%turret], 4);
|
|
$DefaultOnFire = getword($multiInterpolate::weapon[%turret], 5);
|
|
if($ChangeOnFire && !$isFiring) loadDefaultInterpolate();
|
|
}
|
|
function loadDefaultInterpolate()
|
|
{
|
|
$Player::maxLatencyTicks = 0;
|
|
$Player::maxPredictionTicks = 30;
|
|
$Player::maxWarpTicks = 3;
|
|
$Player::minWarpTicks = 0.5;
|
|
}
|
|
function setInterpolate(%weapon, %maxLatency, %maxPrediction, %maxWarp, %minWarp, %change, %def)
|
|
{
|
|
if(%maxLatency $= "" || %maxPrediction $= "" || %maxWarp $= "" || %minWarp $= "") return;
|
|
$multiInterpolate::weapon[%weapon] = %maxLatency SPC %maxPrediction SPC %maxWarp SPC %minWarp SPC %change SPC %def;
|
|
maxLatencyTicks.setvalue(getword($multiInterpolate::weapon[%weapon], 0));
|
|
maxPredictionTicks.setvalue(getword($multiInterpolate::weapon[%weapon], 1));
|
|
maxWarpTicks.setvalue(getword($multiInterpolate::weapon[%weapon], 2));
|
|
minWarpTicks.setvalue(getword($multiInterpolate::weapon[%weapon], 3));
|
|
ChangeOnFire.setvalue(getword($multiInterpolate::weapon[%weapon], 4));
|
|
DefaultOnFire.setvalue(getword($multiInterpolate::weapon[%weapon], 5));
|
|
}
|
|
function multiInterpolateOptions::onWake(%this)
|
|
{
|
|
if(!MIN_WeaponsTab.getvalue() && !MIN_VehiclesTab.getvalue() && !MIN_TurretsTab.getvalue())
|
|
{
|
|
MIN_WeaponsTab.setValue(true);
|
|
MIN_VehiclesTab.setValue(false);
|
|
MIN_TurretsTab.setValue(false);
|
|
multiInterpolateOptions.SelectTab(weapons);
|
|
}
|
|
}
|
|
function multiInterpolateOptions::SelectTab(%this, %tab)
|
|
{
|
|
multiIntPopup.clear();
|
|
if(%tab $= "weapons")
|
|
{
|
|
for(%x = 0; %x < $WeaponsHudCount; %x++) multiIntPopup.add($WeaponsHudData[%x, itemDataName], %x);
|
|
%text = $WeaponsHudData[0, itemDataName];
|
|
}
|
|
else if(%tab $= "vehicles")
|
|
{
|
|
for(%x = 0; %x < $VehiclesHudCount; %x++) multiIntPopup.add($VehiclesHudData[%x, itemGameName], %x);
|
|
%text = $VehiclesHudData[0, itemDataName];
|
|
}
|
|
else if(%tab $= "turrets")
|
|
{
|
|
for(%x = 0; %x < $TurretsHudCount; %x++) multiIntPopup.add($TurretsHudData[%x, itemGameName], %x);
|
|
%text = $TurretsHudData[0, itemDataName];
|
|
}
|
|
multiIntPopup.setSelected(0);
|
|
if($multiInterpolate::weapon[%text] $= "") setInterpolate(%text, 0, 30, 3, 0.5, 0, 0);
|
|
setInterpolate(%text, getword($multiInterpolate::weapon[%text], 0), getword($multiInterpolate::weapon[%text], 1), getword($multiInterpolate::weapon[%text], 2), getword($multiInterpolate::weapon[%text], 3), getword($multiInterpolate::weapon[%text], 4), getword($multiInterpolate::weapon[%text], 5));
|
|
}
|
|
function multiIntPopup::onSelect(%this, %id, %text)
|
|
{
|
|
if(MIN_WeaponsTab.getvalue()) %text = $WeaponsHudData[%id, itemDataName];
|
|
else if(MIN_VehiclesTab.getvalue()) %text = $VehiclesHudData[%id, itemDataName];
|
|
else if(MIN_TurretsTab.getvalue()) %text = $TurretsHudData[%id, itemDataName];
|
|
if($multiInterpolate::weapon[%text] $= "") setInterpolate(%text, 0, 30, 3, 0.5, 0, 0);
|
|
setInterpolate(%text, getword($multiInterpolate::weapon[%text], 0), getword($multiInterpolate::weapon[%text], 1), getword($multiInterpolate::weapon[%text], 2), getword($multiInterpolate::weapon[%text], 3), getword($multiInterpolate::weapon[%text], 4), getword($multiInterpolate::weapon[%text], 5));
|
|
}
|
|
function multiInterpolateOptions::SetOption(%this, %job)
|
|
{
|
|
if(MIN_WeaponsTab.getvalue()) %text = $WeaponsHudData[multiIntPopup.getSelected(), itemDataName];
|
|
else if(MIN_VehiclesTab.getvalue()) %text = $VehiclesHudData[multiIntPopup.getSelected(), itemDataName];
|
|
else if(MIN_TurretsTab.getvalue()) %text = $TurretsHudData[multiIntPopup.getSelected(), itemDataName];
|
|
if(%job $= "new") setInterpolate(%text, maxLatencyTicks.getvalue(), maxPredictionTicks.getvalue(), maxWarpTicks.getvalue(), minWarpTicks.getvalue(), ChangeOnFire.getvalue(), DefaultOnFire.getvalue());
|
|
else if(%job $= "default") setInterpolate(%text, 0, 30, 3, 0.5, 0, 0);
|
|
}
|