Merge branch 'master' of https://github.com/KoffeinFlummi/ACE3 into windWeatherOverhaul

This commit is contained in:
ulteq 2015-04-21 21:06:30 +02:00
commit 2fa39615f3
17 changed files with 112 additions and 48 deletions

View File

@ -891,6 +891,25 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
class OpticsIn class OpticsIn
{ {
class WideUnstabalized
{
opticsDisplayName = "WU";
initAngleX = 0;
minAngleX = -35;
maxAngleX = 10;
initAngleY = 0;
minAngleY = -100;
maxAngleY = 100;
initFov = 0.466;
minFov = 0.466;
maxFov = 0.466;
visionMode[] = {"Normal","Ti"};
thermalMode[] = {0,1};
gunnerOpticsColor[] = {0,0,0,1};
directionStabilized = 0;
horizontallyStabilized = 1;
gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F";
};
class Wide class Wide
{ {
opticsDisplayName = "W"; opticsDisplayName = "W";

View File

@ -95,9 +95,9 @@ if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false])
GVAR(workingMemory) set [1, _muzzleVelocity]; GVAR(workingMemory) set [1, _muzzleVelocity];
GVAR(workingMemory) set [2, _zeroRange]; GVAR(workingMemory) set [2, _zeroRange];
private ["_elevationCur", "_windageCur", "_elevationScopeStep", "_windageScopeStep"]; private ["_elevationCur", "_windageCur", "_clickSize", "_clickNumber", "_clickInterval"];
_elevationCur = parseNumber(ctrlText 402); _elevationCur = GVAR(workingMemory) select 10;
_windageCur = parseNumber(ctrlText 412); _windageCur = GVAR(workingMemory) select 11;
switch (GVAR(currentScopeUnit)) do { switch (GVAR(currentScopeUnit)) do {
case 0: { case 0: {
@ -109,11 +109,16 @@ switch (GVAR(currentScopeUnit)) do {
_windageCur = _windageCur / 1.047; _windageCur = _windageCur / 1.047;
}; };
case 3: { case 3: {
_elevationScopeStep = (GVAR(workingMemory) select 7); switch (GVAR(workingMemory) select 7) do {
_windageScopeStep = (GVAR(workingMemory) select 8); case 0: { _clickSize = 1; };
case 1: { _clickSize = 1 / 1.047; };
case 2: { _clickSize = 3.38; };
};
_clickNumber = GVAR(workingMemory) select 8;
_clickInterval = _clickSize / _clickNumber;
_elevationCur = _elevationCur * _elevationScopeStep; _elevationCur = Round(_elevationCur / _clickInterval);
_windageCur = _windageCur * _windageScopeStep; _windageCur = Round(_windageCur / _clickInterval);
}; };
}; };

View File

@ -5,7 +5,6 @@ class CfgWeapons {
class ACE_IR_Strobe_Item: ACE_ItemCore { class ACE_IR_Strobe_Item: ACE_ItemCore {
ACE_attachable = "ACE_IR_Strobe_Effect"; ACE_attachable = "ACE_IR_Strobe_Effect";
author = "$STR_ACE_Common_ACETeam";
scope = 2; scope = 2;
displayName = "$STR_ACE_IrStrobe_Name"; displayName = "$STR_ACE_IrStrobe_Name";
descriptionShort = "$STR_ACE_IrStrobe_Description"; descriptionShort = "$STR_ACE_IrStrobe_Description";

View File

@ -2,6 +2,7 @@
class CfgWeapons { class CfgWeapons {
class ItemCore; class ItemCore;
class ACE_ItemCore: ItemCore { class ACE_ItemCore: ItemCore {
author = "$STR_ACE_Common_ACETeam";
type = 4096;//4; type = 4096;//4;
detectRange = -1; detectRange = -1;
simulation = "ItemMineDetector"; simulation = "ItemMineDetector";
@ -13,6 +14,7 @@ class CfgWeapons {
}; };
class ACE_FakePrimaryWeapon: Rifle_Base_F { class ACE_FakePrimaryWeapon: Rifle_Base_F {
author = "$STR_ACE_Common_ACETeam";
scope = 2; scope = 2;
scopeCurator = 1; scopeCurator = 1;
@ -30,7 +32,6 @@ class CfgWeapons {
class InventoryItem_Base_F; class InventoryItem_Base_F;
class ACE_Banana: ACE_ItemCore { class ACE_Banana: ACE_ItemCore {
author = "$STR_ACE_Common_ACETeam";
scope = 2; scope = 2;
displayName = "$STR_ACE_Common_bananaDisplayName"; displayName = "$STR_ACE_Common_bananaDisplayName";
descriptionShort = "$STR_ACE_Common_bananaDescr"; descriptionShort = "$STR_ACE_Common_bananaDescr";

View File

@ -50,7 +50,7 @@ class CfgVehicles {
class Items_base_F; class Items_base_F;
class ACE_DefuseObject: Items_base_F { class ACE_DefuseObject: Items_base_F {
XEH_ENABLED; XEH_ENABLED;
author = "ACE"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_DefuseObject"; _generalMacro = "ACE_DefuseObject";
displayName = "ACE Defuse Helper"; displayName = "ACE Defuse Helper";
mapSize = 0.2; mapSize = 0.2;
@ -80,7 +80,7 @@ class CfgVehicles {
}; };
class ACE_Explosives_Place: Items_base_F { class ACE_Explosives_Place: Items_base_F {
XEH_ENABLED; XEH_ENABLED;
author = "ACE"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_Explosives_Place"; _generalMacro = "ACE_Explosives_Place";
displayName = "Multi-meter"; displayName = "Multi-meter";
mapSize = 0.2; mapSize = 0.2;

View File

@ -1,6 +1,7 @@
class CfgMagazines { class CfgMagazines {
class HandGrenade; class HandGrenade;
class ACE_HandFlare_Base: HandGrenade { class ACE_HandFlare_Base: HandGrenade {
author = "$STR_ACE_Common_ACETeam";
value = 2; value = 2;
nameSoundWeapon = "smokeshell"; nameSoundWeapon = "smokeshell";
nameSound = "smokeshell"; nameSound = "smokeshell";
@ -41,19 +42,23 @@ class CfgMagazines {
}; };
class ACE_M84: HandGrenade { class ACE_M84: HandGrenade {
ammo = "ACE_G_M84"; ammo = "ACE_G_M84";
author = "$STR_ACE_Common_ACETeam";
displayname = "$STR_ACE_Grenades_M84_Name"; displayname = "$STR_ACE_Grenades_M84_Name";
descriptionshort = "$STR_ACE_Grenades_M84_Description"; descriptionshort = "$STR_ACE_Grenades_M84_Description";
displayNameShort = "M84"; displayNameShort = "M84";
mass = 4;
model = PATHTOF(models\ACE_m84.p3d); model = PATHTOF(models\ACE_m84.p3d);
picture = PATHTOF(UI\ACE_m84_x_ca.paa); picture = PATHTOF(UI\ACE_m84_x_ca.paa);
}; };
class 3Rnd_UGL_FlareGreen_F; class 3Rnd_UGL_FlareGreen_F;
class 6Rnd_GreenSignal_F: 3Rnd_UGL_FlareGreen_F { class 6Rnd_GreenSignal_F: 3Rnd_UGL_FlareGreen_F {
author = "$STR_ACE_Common_ACETeam";
ammo = "F_40mm_Green"; ammo = "F_40mm_Green";
initSpeed = 120; initSpeed = 120;
}; };
class 6Rnd_RedSignal_F: 6Rnd_GreenSignal_F { class 6Rnd_RedSignal_F: 6Rnd_GreenSignal_F {
author = "$STR_ACE_Common_ACETeam";
ammo = "F_40mm_Red"; ammo = "F_40mm_Red";
initSpeed = 120; initSpeed = 120;
}; };

View File

@ -80,7 +80,7 @@ _affected = _grenade nearEntities ["CAManBase", 20];
//Add ace_medical pain effect: //Add ace_medical pain effect:
if ((isClass (configFile >> "CfgPatches" >> "ACE_Medical")) && {_strength > 0}) then { if ((isClass (configFile >> "CfgPatches" >> "ACE_Medical")) && {_strength > 0.1}) then {
[ACE_player, (_strength / 2)] call EFUNC(medical,adjustPainLevel); [ACE_player, (_strength / 2)] call EFUNC(medical,adjustPainLevel);
}; };

View File

@ -3,7 +3,6 @@ class CfgWeapons {
class ACE_ItemCore; class ACE_ItemCore;
class ACE_wirecutter: ACE_ItemCore { class ACE_wirecutter: ACE_ItemCore {
author = "$STR_ACE_Common_ACETeam";
displayName = "$STR_ACE_logistics_wirecutter_wirecutterName"; displayName = "$STR_ACE_logistics_wirecutter_wirecutterName";
descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription"; descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription";
model = "\A3\weapons_F\ammo\mag_univ.p3d"; model = "\A3\weapons_F\ammo\mag_univ.p3d";

View File

@ -4,10 +4,12 @@
<Key ID="TR_ACE_Medical_litterSimulationDetail"> <Key ID="TR_ACE_Medical_litterSimulationDetail">
<English>Litter Simulation Detail</English> <English>Litter Simulation Detail</English>
<Polish>Detale zużytych medykamentów</Polish> <Polish>Detale zużytych medykamentów</Polish>
<Spanish>Detalle de simulación de basura</Spanish>
</Key> </Key>
<Key ID="TR_ACE_Medical_litterSimulationDetail_Desc"> <Key ID="TR_ACE_Medical_litterSimulationDetail_Desc">
<English>Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting.</English> <English>Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting.</English>
<Polish>Opcja ta ustawia liczbę zużytych medykamentów, jakie pojawiają się lokalnie wokół gracza. Ich zbyt duża ilość może spowodować spadki FPS, dlatego jest to ustawienie tylko po stronie klienta.</Polish> <Polish>Opcja ta ustawia liczbę zużytych medykamentów, jakie pojawiają się lokalnie wokół gracza. Ich zbyt duża ilość może spowodować spadki FPS, dlatego jest to ustawienie tylko po stronie klienta.</Polish>
<Spanish>Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Medical_Inject_Atropine"> <Key ID="STR_ACE_Medical_Inject_Atropine">
<English>Inject Atropine</English> <English>Inject Atropine</English>

View File

@ -3,7 +3,6 @@ class CfgWeapons {
class InventoryItem_Base_F; class InventoryItem_Base_F;
class ACE_microDAGR: ACE_ItemCore { class ACE_microDAGR: ACE_ItemCore {
author = "$STR_ACE_Common_ACETeam";
scope = 2; scope = 2;
displayName = "$STR_ACE_microdagr_itemName"; displayName = "$STR_ACE_microdagr_itemName";
descriptionShort = "$STR_ACE_microdagr_itemDescription"; descriptionShort = "$STR_ACE_microdagr_itemDescription";

View File

@ -20,7 +20,7 @@ class CfgVehicles {
class ACE_Comanche_Test : B_Heli_Attack_01_F { class ACE_Comanche_Test : B_Heli_Attack_01_F {
displayName = "ACE_Comanche_Test"; displayName = "ACE_Comanche_Test";
author = "ACE Team"; author = "$STR_ACE_Common_ACETeam";
class Library { class Library {
libTextDesc = "ACE_Comanche_Test"; libTextDesc = "ACE_Comanche_Test";
}; };

View File

@ -17,6 +17,7 @@
<Key ID="STR_ACE_MissileGuidance_Desc"> <Key ID="STR_ACE_MissileGuidance_Desc">
<English>Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types.</English> <English>Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types.</English>
<Polish>Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych.</Polish> <Polish>Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych.</Polish>
<Spanish>Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Hydra70_DAGR"> <Key ID="STR_ACE_Hydra70_DAGR">
<English>Hydra-70 DAGR Missile</English> <English>Hydra-70 DAGR Missile</English>

View File

@ -218,6 +218,7 @@
<English>Option Menu UI Scaling</English> <English>Option Menu UI Scaling</English>
<French>Menu option: taille de l'UI</French> <French>Menu option: taille de l'UI</French>
<Polish>Skalowanie UI menu ustawień</Polish> <Polish>Skalowanie UI menu ustawień</Polish>
<Spanish>Opción de escalado del menú UI</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -5,7 +5,6 @@ class CfgWeapons {
class ACE_SpareBarrel: ACE_ItemCore { class ACE_SpareBarrel: ACE_ItemCore {
displayname = "$STR_ACE_Overheating_SpareBarrelName"; displayname = "$STR_ACE_Overheating_SpareBarrelName";
descriptionshort = "$STR_ACE_Overheating_SpareBarrelDescription"; descriptionshort = "$STR_ACE_Overheating_SpareBarrelDescription";
//model = "";
picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa));
scope = 2; scope = 2;
class ItemInfo: InventoryItem_Base_F { class ItemInfo: InventoryItem_Base_F {

View File

@ -3,7 +3,6 @@ class CfgWeapons {
class ACE_ItemCore; class ACE_ItemCore;
class ACE_key_master: ACE_ItemCore { class ACE_key_master: ACE_ItemCore {
author = "$STR_ACE_Common_ACETeam";
displayName = "Vehicle Key: Master"; displayName = "Vehicle Key: Master";
descriptionShort = "$STR_ACE_Vehicle_Item_Master_Description"; descriptionShort = "$STR_ACE_Vehicle_Item_Master_Description";
model = "\A3\weapons_F\ammo\mag_univ.p3d"; model = "\A3\weapons_F\ammo\mag_univ.p3d";

View File

@ -0,0 +1,27 @@
---
layout: wiki
title: Carry and Drag System
group: framework
order: 5
parent: wiki
---
# 1. Config Values
```
class CfgVehicles {
class MyVehicle {
ace_dragging_canDrag = 1; // can this object be dragged?; 1 yes, 0 no (0 default)
ace_dragging_dragPosition[] = {0,1.2,0} // Offset of the model from the body while dragging, comparable to the offset in attachTo (It's the same actually)
ace_dragging_dragDirection = 0; // how much degrees is the model rotatated after dragging it (a global setDir after attachTo)
ace_dragging_canCarry = 1; // can this object be carried?; 1 yes, 0 no (0 default)
ace_dragging_carryPosition[] = {0,1.2,0}; // Same as drag, but for carrying objects
ace_dragging_carryDirection = 0; // Same as drag, but for carrying objects
};
};
```

View File

@ -340,14 +340,14 @@ def copy_optionals_for_building(mod,pbos):
src_directories = os.listdir(optionals_root) src_directories = os.listdir(optionals_root)
current_dir = os.getcwd() current_dir = os.getcwd()
print("") print_blue("\nChecking Optionals folder...")
try: try:
#special server.pbo processing #special server.pbo processing
files = glob.glob(os.path.join(release_dir, "@ace","optionals","*.pbo")) files = glob.glob(os.path.join(release_dir, "@ace","optionals","*.pbo"))
for file in files: for file in files:
file_name = os.path.basename(file) file_name = os.path.basename(file)
print ("Adding the following file: " + file_name) #print ("Adding the following file: " + file_name)
pbos.append(file_name) pbos.append(file_name)
pbo_path = os.path.join(release_dir, "@ace","optionals",file_name) pbo_path = os.path.join(release_dir, "@ace","optionals",file_name)
if (os.path.isfile(pbo_path)): if (os.path.isfile(pbo_path)):
@ -364,13 +364,19 @@ def copy_optionals_for_building(mod,pbos):
try: try:
for dir_name in src_directories: for dir_name in src_directories:
mod.append(dir_name) mod.append(dir_name)
#userconfig requires special handling since it is not a PBO source folder.
#CfgConvert fails to build server.pbo if userconfig is not found in P:\
if (dir_name == "userconfig"): if (dir_name == "userconfig"):
if (os.path.exists(os.path.join(release_dir, "@ace","optionals",dir_name))):
shutil.rmtree(os.path.join(release_dir, "@ace","optionals",dir_name), True)
shutil.copytree(os.path.join(optionals_root,dir_name), os.path.join(release_dir, "@ace","optionals",dir_name))
destination = os.path.join(work_drive,dir_name) destination = os.path.join(work_drive,dir_name)
else: else:
destination = os.path.join(module_root,dir_name) destination = os.path.join(module_root,dir_name)
print("Temporarily copying " + os.path.join(optionals_root,dir_name) + " => " + destination + " for building.") print("Temporarily copying " + os.path.join(optionals_root,dir_name) + " => " + destination + " for building.")
shutil.rmtree(destination, True) if (os.path.exists(destination)):
shutil.rmtree(destination, True)
shutil.copytree(os.path.join(optionals_root,dir_name), destination) shutil.copytree(os.path.join(optionals_root,dir_name), destination)
except: except:
print_error("Copy Optionals Failed") print_error("Copy Optionals Failed")
@ -382,6 +388,7 @@ def cleanup_optionals(mod,pbos):
print("") print("")
try: try:
for dir_name in mod: for dir_name in mod:
#userconfig requires special handling since it is not a PBO source folder.
if (dir_name == "userconfig"): if (dir_name == "userconfig"):
destination = os.path.join(work_drive,dir_name) destination = os.path.join(work_drive,dir_name)
else: else:
@ -681,6 +688,7 @@ See the make.cfg file for additional build options.
# For each module, prep files and then build. # For each module, prep files and then build.
print_blue("\nBuilding...")
for module in modules: for module in modules:
print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) print_green("\nMaking " + module + "-"*max(1, (60-len(module))))
missing = False missing = False