Jump to content
scotg

File paths and common assets

Recommended Posts

I have several pbos, part of a larger mod, that utilize common textures and materials. Currently, these textures are copied into each sub-project's data folder, but I would like to create a common directory for them to help reduce file size of the final mod. I've tried setting up a directory system using a common folder in the root folder, but it's not a straightforward process between all the tools (e.g.: Object Builder, Addon Builder), the computer's directory, and the packed mod. So, is there some trick to it? I've searched, and the results I found turned out to be not really on point. I thought I had come across a tutorial for this kind of thing, but I cannot re-locate it.

Can someone explain this process, or at least point me in the right direction?

Share this post


Link to post
Share on other sites

Removed post; content was obsolete and not useful to anyone.

Edited by scotg

Share this post


Link to post
Share on other sites
9 hours ago, scotg said:

I have several pbos, part of a larger mod, that utilize common textures and materials. Currently, these textures are copied into each sub-project's data folder, but I would like to create a common directory for them to help reduce file size of the final mod. I've tried setting up a directory system using a common folder in the root folder, but it's not a straightforward process between all the tools (e.g.: Object Builder, Addon Builder), the computer's directory, and the packed mod. So, is there some trick to it? I've searched, and the results I found turned out to be not really on point. I thought I had come across a tutorial for this kind of thing, but I cannot re-locate it.

Can someone explain this process, or at least point me in the right direction?

Why is it not straightforward?

Make a common folder with a PBOPREFIX.

Put your stuff in there.
And then if anything uses the stuff in there let them use "commonstuff\folder\filename" as their path.
I would recommend the ACE/CBA style directory structure.
Aka "z\modname\addons\pboname\<files>"
So you would have
"z\scotgMod\addons\common" as your PBOPREFIX for your common folder.
Then use "z\scotgMod\addons\common\commonTexture.paa" as your texture.
And the final pbo name would be `scotgMod_common.pbo`

  • Like 1

Share this post


Link to post
Share on other sites

Cool, but it's a bit more complex than that.

I've got several vehicles I've made across multiple types, each one being packed on its own, and stored within relevant file paths. I've tried the straightforward approach but then either models or textures (incl. materials) come up missing.

Here's what's working (using your illustration):
z\scotgMod\addons\vehicle\land\soft\scotgCar1\data\(specific files and common files)
z\scotgMod\addons\vehicle\land\soft\scotgCar2\data\(specific files and common files, duplicated from above)

Here's what isn't working, but what I'd like:
z\scotgMod\addons\vehicle\land\soft\scotgCar1\data\(specific files)
z\scotgMod\addons\vehicle\land\soft\scotgCar2\data\(specific files)
z\scotgMod\addons\data_f\(common files)

I've also tried it without putting in the extra "addons" folder in the directory, since it's already required, unpacked, in the overall mod folder.

Edited by scotg
It's 2AM here

Share this post


Link to post
Share on other sites

Object Builder adds to the confusion of the path problem. The .p3d files aren't recognizing textures and materials unless their paths begin with the folder LEVEL containing the .p3d itself.
For example, I have the directory parked like this:
z\scotgMod\addons\vehicle\land\soft\scotgCar1\<scotgCar1.p3d>
z\scotgMod\addons\vehicle\land\soft\scotgCar1\data\<textures and materials files>
BUT... How I have to assign texture groups in OB:
Exterior
Texture:
scotgCar1\data\<scotgCar1_ext_co.paa>
Mats:
scotgCar1\data\<scotgCar1_ext.rvmat>

Sounds normal until I realized I can access lateral folders this way, and it all displays like it thinks it's normal:
Texture:
scotgCar1\data\<scotgCar_int_co.paa>
Mats:
scotgCar2\data\<scotgCar2_wtf.rvmat>

Analogy: To me, it seems like accessing the 5th floor of the next building from the 5th floor of the building I'm in, via some magical secret skyway. But if I wanted to access the second floor of another building, I can't even do that by going downstairs 5 floors of my building and then going up one floor of that one! (speaking in American, where the 2nd floor is one after the ground floor.)

Share this post


Link to post
Share on other sites

Sounds like you are missing a proper P-drive setup?

You would basically have the "z" folder on your P: drive. Then you can set P drive path in OB settings. Then it will find the textures and materials when you use the full path starting with "z\..."

Also make sure the PBOPREFIX is correct and that your pbo packing tool supports them properly. Mikeros pboProject is what I would recommend.

Arma's Addon builder ignores PBOPREFIX files and you need to manually set it in the Addon builder settings.

 

"The .p3d files aren't recognizing textures and materials"
What does that mean? Doesn't show up in OB or Bulldozer or Arma after packed as PBO?

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, Dedmen said:

Sounds like you are missing a proper P-drive setup?

You would basically have the "z" folder on your P: drive. Then you can set P drive path in OB settings. Then it will find the textures and materials when you use the full path starting with "z\..."

Also make sure the PBOPREFIX is correct and that your pbo packing tool supports them properly. Mikeros pboProject is what I would recommend.

Arma's Addon builder ignores PBOPREFIX files and you need to manually set it in the Addon builder settings.

 

"The .p3d files aren't recognizing textures and materials"
What does that mean? Doesn't show up in OB or Bulldozer or Arma after packed as PBO?

That means they won't show up in Buldozer or ARMA, and the Resource Library panel in OB represents them with yellow "?" instead of nice little green or blue icons.

I'm not surprised with the P: drive being improperly set up. It has been on and off again since 2013, and just a big headache. I have it on, but only because Buldozer won't run without it. In previous times, I had thought P: encompassed anything within a certain location of the Arma Tools folder, where my mod is located. However, this time it pretty much only encompassed barely anything it needed to allow for it to exist, if that makes any sense.

Perhaps, this is the typical result when a determined digital artist tries to be tech-savvy.

Share this post


Link to post
Share on other sites

My mod folder is 
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE
E: is an HDD, secondary to C:, which is primary and an SSD (in case any of that is important).
wa
Here are a few specific asset paths:
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\vehicle\land\soft\gijoe_aweStriker\<aweStriker1.p3d, config.cpp, model.cfg>
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\vehicle\land\soft\gijoe_aweStriker\data\<PAAs and RVMATs for buggy>
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\vehicle\land\soft\gijoe_vamp\data\<vamp1.p3d, config.cpp, model.cfg>
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\vehicle\land\soft\gijoe_vamp\data\<PAAs and RVMATs for jeep>
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\data_f\comms\<common asset radio textures and mats>
E:\Program Files (x86)\Steam\SteamApps\common\Arma 3 Tools\GIJOE\data_f\vhx_gear\<common asset vehicle parts and gear, like tires, pioneer tools, decals, gerrycans, etc. - textures and mats>

All together, I have 10 vehicles, 2 helmets, and more assets on the way. Can I simply copy-paste the GIJOE folder with all these assets into the P: directory, and still be able to add more as they become ready for import? Or is there a more official method? This is the part I do not understand. Also, I looked up PBOPREFIX to determine if I had the right thing in mind, but it turned out I had no idea what it was. I had a paid version of the mikeroTools in 2016, but my project wasn't ready to adequately utilize it at that point. It just sat there while I was busy creating models and trying to figure out configs.

Share this post


Link to post
Share on other sites
18 hours ago, scotg said:

I had a paid version of the mikeroTools in 2016, but my project wasn't ready to adequately utilize it at that point. It just sat there while I was busy creating models and trying to figure out configs.

 

You don't need paid mikeros tools.

https://forums.bohemia.net/forums/topic/172825-tutorial-introduction-to-modding-in-arma-videotext-tutorial-series/

 

18 hours ago, scotg said:

Can I simply copy-paste the GIJOE folder with all these assets into the P: directory, and still be able to add more as they become ready for import?

 

Yes.. You can put files into folders :D
That is how that works yes.

 

If you don't have the PBOPREFIX setup correctly Arma won't find your files after you packed your PBO's.

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for all the help! :-)
It's now starting to look like I'll be able to get things in order.

Share this post


Link to post
Share on other sites
On 3/6/2018 at 7:38 AM, Dedmen said:

If you don't have the PBOPREFIX setup correctly Arma won't find your files after you packed your PBO's.

Sigh... in these files I have seen unique values called sha or shakeys. According to Mikero's documentation for pboProject, there is an SVN generated by vbs2lite? What's the difference, how is either one generated, and what are the consequences of skipping them?

Share this post


Link to post
Share on other sites
2 hours ago, scotg said:

Sigh... in these files I have seen unique values called sha or shakeys. According to Mikero's documentation for pboProject, there is an SVN generated by vbs2lite? What's the difference, how is either one generated, and what are the consequences of skipping them?

What what what?

PBOPREFIX file just contains the file path. The prefix.

dePbo also adds other stuff when unpacking. You have to remove that.

Share this post


Link to post
Share on other sites
6 hours ago, Dedmen said:

What what what?

PBOPREFIX file just contains the file path. The prefix.

dePbo also adds other stuff when unpacking. You have to remove that.

Oh good. See, I didn't actually get that from the reading. Any idea why I might be getting a binarize error when I "Crunch?" Also, I still cannot use buldozer.

This is an issue I am having, posted on a different thread on how to set up the Work Drive, but I now think the setup and file path issues are somehow related:

On 3/6/2018 at 5:58 PM, scotg said:

Prior to streamlining my mod's internal directory and setting the texture path in OB constant for every model, everything was working. Prior to making the move to utilize more of Mikero Tools, my mod components were pumping out. It was a few more steps, but vehicles were visible with proper textures in Buldozer, and more importantly they were coming out nicely in the game environment. I even made some videos featuring many of my vehicles. Between BIS, Mikero, and Windows 10 Fall Creators Update I think they are all conspiring against me :-P But seriously, after re-install of Mikero's Tools, Arma 3 Tools, and Arma 3 itself, I finally got to a point where the pboProject was giving me actual output. Now encountering a binarize error:
Noisy:

  Reveal hidden contents

22:46:38: Extensions:
"</texheaders>"
#define _ARMA_
//ndefs=13
enum {
destructengine = 2,
destructdefault = 6,
destructwreck = 7,
destructtree = 3,
destructtent = 4,
stabilizedinaxisx = 1,
stabilizedinaxesxyz = 4,
stabilizedinaxisy = 2,
stabilizedinaxesboth = 3,
destructno = 0,
stabilizedinaxesnone = 0,
destructman = 5,
destructbuilding = 1
};
//Class E:/Program Files (x86)/Steam/SteamApps/common/Arma 3/Addons/soft_f/a3/soft_f/MRAP_02/config.bin{
class DefaultEventhandlers;
class CfgPatches
{
class GIJoeVAMP
{
units[] = {"vamp1"};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"A3_Soft_F"};
};
};
class CfgFactionClasses
{
class GIJOE
{
displayName = "GI*JOE";
author = "Scot Gilmore";
icon = "GIJOE\data_f\faction_gijoe_co.paa";
priority = 2;
side = 1;
};
};
class CfgVehicleClasses
{
class GIJoe_Ground
{
displayName = "GI*JOE Ground";
};
};
/*
class CfgMovesBasic
{
class Default;
class DefaultDie;
class ManActions
{
vamp_driver = "vamp_driver";
vamp_cargo = "vamp_cargo";
};
};
class CfgMovesMaleSdr: CfgMovesBasic
{
class States
{
class Crew;
class vamp_driver: Crew
{
file = "GIJOE\vhx_soft\gijoe_vamp\Anims\vamp_driver.rtm";
InterpolateTo[] = {"Unconscious",0.1};
};
class vamp_cargo: Crew
{
file = "GIJOE\vhx_soft\gijoe_vamp\Anims\vamp_cargo.rtm";
actions = "CargoAction";
leaning = "crewShake";
InterpolateTo[] = {"Unconscious",0.1};
};
};
};
*/
class WeaponFireGun;
class WeaponCloudsGun;
class WeaponFireMGun;
class WeaponCloudsMGun;
class RCWSOptics;
class CfgVehicles
{
class LandVehicle;
class Car: LandVehicle
{
class NewTurret;
class HitPoints;
};
class Car_F: Car
{
class AnimationSources;
class Turrets
{
class MainTurret: NewTurret{};
};
class HitPoints
{
class HitLFWheel;
class HitLF2Wheel;
class HitRFWheel;
class HitRF2Wheel;
class HitGlass1;
class HitGlass2;
class HitGlass3;
class HitGlass4;
class HitGlass5;
};
};
class vamp_01_base_F: Car_F
{
mapSize = 8.5;
author = "Scot Gilmore";
_generalMacro = "vamp_01_base_F";
displayName = "VAMP";
class Library
{
libTextDesc = "Vehicle, Assault/Multi-Purpose";
};
model  = "GIJOE\vhx_soft\gijoe_vamp\vamp1";
picture = "GIJOE\vhx_soft\gijoe_vamp\Data\UI\icon_vamp_co.paa";
Icon = "GIJOE\vhx_soft\gijoe_vamp\Data\UI\map_vamp_co.paa";
transportMaxBackpacks = 2;
//vehicleClass = "Car";
transportSoldier = 0;
hideWeaponsDriver = 1;
hideWeaponsCargo = 1;
maxFordingDepth = 0.5;
waterResistance = 1;
crewVulnerable = 1;
crewCrashProtection = 0.15;
crewExplosionProtection = 0.4999;
slingLoadCargoMemoryPoints[] = {"SlingLoadCargo1","SlingLoadCargo2","SlingLoadCargo3","SlingLoadCargo4"};
unitInfoType = "RscUnitInfoNoWeapon";
armor = 50;
armorStructural = 6;
cost = 500000;
threat[] = {0.8,0.6,0.3};
class complexGearbox
{
GearboxRatios[] = {"R1",-6.575,"N",0,"D1",4.827,"D2",2.855,"D3",1.716,"D4",1.073,"D5",0.755,"D6",0.575};
TransmissionRatios[] = {"High",5.69};
gearBoxMode = "auto";
moveOffGear = 1;
driveString = "D";
neutralString = "N";
reverseString = "R";
};
wheelDamageThreshold = 0.7;
wheelDestroyThreshold = 0.99;
wheelDamageRadiusCoef = 0.95;
wheelDestroyRadiusCoef = 0.45;
terrainCoef = 1.5;
turnCoef = 2.5;
precision = 15;
driverAction = "driver_mantis";
cargoAction[] = {"passenger_MRAP_03exgunner"};
getInAction = "GetInLow";
getOutAction = "GetOutLow";
cargoGetInAction[] = {"GetInLow"};
cargoGetOutAction[] = {"GetOutLow"};
commanderCanSee = 31;
driverDoor = "";
cargoDoors[] = {};
weapons[] = {"TruckHorn"};
//magazines[] = {"SmokeLauncherMag"};
thrustDelay = 1.5;
brakeIdleSpeed = 1.78;
maxSpeed = 225;
fuelCapacity = 90;
wheelCircumference = 2.8;
antiRollbarForceCoef = 4.5;
antiRollbarForceLimit = 5;
antiRollbarSpeedMin = 10;
antiRollbarSpeedMax = 200;
idleRpm = 800;
redRpm = 7800;
simulation = "carx";
dampersBumpCoef = 0.3;
differentialType = "all_limited";
frontRearSplit = 0.5;
frontBias = 1.9;
rearBias = 1.9;
clutchStrength = 50.0;
enginePower = 376;
maxOmega = 520;
peakTorque = 1046;
dampingRateFullThrottle = 0.1;
dampingRateZeroThrottleClutchEngaged = 1.0;
dampingRateZeroThrottleClutchDisengaged = 0.35;
torqueCurve[] = {{0.0,0.1},{0.178,0.5},{0.25,0.85},{0.4,0.95},{0.5,1.0},{0.625,0.95},{0.75,0.7},{1.0,0.5}};
changeGearMinEffectivity[] = {0.95,0.15,0.95,0.95,0.95,0.95,0.95,0.98};
switchTime = 0.2;
latency = 0.25;
class Wheels
{
class LF
{
boneName = "wheel_1_1_damper";
side = "left";
steering = 1;
center = "wheel_1_1_axis";
boundary = "wheel_1_1_bound";
width = "0.2";
mass = 20;
MOI = 10;
dampingRate = 0.3;
dampingRateDamaged = 5;
dampingRateInAir = 0.8;
maxBrakeTorque = 4000;
maxHandBrakeTorque = 0;
suspTravelDirection[] = {0,-1,0};
suspForceAppPointOffset = "wheel_1_1_axis";
tireForceAppPointOffset = "wheel_1_1_axis";
maxCompression = 0.14;
mMaxDroop = 0.14;
sprungMass = 566; //163;
springStrength = 30800; //4075
springDamperRate = 1651;
longitudinalStiffnessPerUnitGravity = 100000;
latStiffX = 40; //25; //2.5;
latStiffY = 18; //180.0;
frictionVsSlipGraph[] = {{0,1},{0.5,1},{1,1}};
};
class LR: LF
{
boneName = "wheel_1_2_damper";
steering = 0;
center = "wheel_1_2_axis";
boundary = "wheel_1_2_bound";
suspForceAppPointOffset = "wheel_1_2_axis";
tireForceAppPointOffset = "wheel_1_2_axis";
maxHandBrakeTorque = 12000;
sprungMass = 560; //163;
};
class RF: LF
{
boneName = "wheel_2_1_damper";
side = "right";
center = "wheel_2_1_axis";
boundary = "wheel_2_1_bound";
suspForceAppPointOffset = "wheel_2_1_axis";
tireForceAppPointOffset = "wheel_2_1_axis";
};
class RR: LR
{
boneName = "wheel_2_2_damper";
side = "right";
steering = 0;
center = "wheel_2_2_axis";
boundary = "wheel_2_2_bound";
suspForceAppPointOffset = "wheel_2_2_axis";
tireForceAppPointOffset = "wheel_2_2_axis";
};
};
class PlayerSteeringCoefficients /// steering sensitivity configuration
{
turnIncreaseConst  = 0.5; //0.3; // basic sensitivity value, higher value = faster steering
turnIncreaseLinear = 2.0; //1.0; // higher value means less sensitive steering in higher speed, more sensitive in lower speeds
turnIncreaseTime   = 0.5; //1.0; // higher value means smoother steering around the center and more sensitive when the actual steering angle gets closer to the max. steering angle
turnDecreaseConst  = 5.0; // basic caster effect value, higher value = the faster the wheels align in the direction of travel
turnDecreaseLinear = 3.0; // higher value means faster wheel re-centering in higher speed, slower in lower speeds
turnDecreaseTime   = 1.0; //0.0; // higher value means stronger caster effect at the max. steering angle and weaker once the wheels are closer to centered position
maxTurnHundred     = 0.5; //0.7; // coefficient of the maximum turning angle @ 100km/h; limit goes linearly to the default max. turn. angle @ 0km/h
};
class Reflectors
{
class Left
{
color[] = {1900,1800,1700};
ambient[] = {5,5,5};
position = "Light_L";
direction = "Light_L_end";
hitpoint = "Light_L";
selection = "Light_L";
size = 1;
innerAngle = 100;
outerAngle = 179;
coneFadeCoef = 10;
intensity = 1;
useFlare = 1;
dayLight = 0;
flareSize = 1.0;
class Attenuation
{
start = 1.0;
constant = 0;
linear = 0;
quadratic = 0.25;
hardLimitStart = 60;
hardLimitEnd = 120;
};
};
class Right: Left
{
position = "Light_R";
direction = "Light_R_end";
hitpoint = "Light_R";
selection = "Light_R";
};
};
aggregateReflectors[] = {{"Left","Right"}};
class Exhausts
{
class Exhaust1
{
position = "exhaust1_pos";
direction = "exhaust1_dir";
effect = "ExhaustEffectHTruck";
};
class Exhaust2
{
position = "exhaust2_pos";
direction = "exhaust2_dir";
effect = "ExhaustEffectHTruck";
};
};
class Damage
{
tex[] = {};
mat[] = {"A3\Data_F\Glass_veh.rvmat","A3\Data_F\Glass_veh_armored_damage.rvmat","A3\Data_F\Glass_veh_armored_damage.rvmat","A3\Data_F\Glass_veh_int.rvmat","A3\Data_F\Glass_veh_armored_damage.rvmat","A3\Data_F\Glass_veh_armored_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_01.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_01_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_01_destruct.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_02.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_02_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_ext_02_destruct.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base_destruct.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board_destruct.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base_VP.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_base_destruct.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board_VP.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board_damage.rvmat","A3\Soft_F\MRAP_02\Data\MRAP_02_int_board_destruct.rvmat"};
};
hiddenSelections[] = {"Camo1"};
class AnimationSources: AnimationSources
{
class Door_LF
{
source = "door";
animPeriod = 0.8;
};
class Door_RF
{
source = "door";
animPeriod = 0.8;
};
class Door_rear
{
source = "door";
animPeriod = 0.8;
};
class HitGlass6
{
source = "Hit";
hitpoint = "HitGlass6";
raw = 1;
};
class HitGlass7: HitGlass6
{
hitpoint = "HitGlass7";
};
class HitGlass8: HitGlass6
{
hitpoint = "HitGlass8";
};
class HitGlass9: HitGlass6
{
hitpoint = "HitGlass9";
};
};
class HitPoints: HitPoints
{
class HitLFWheel: HitLFWheel
{
armor = 1;
explosionShielding = 4;
radius = 0.33;
};
class HitLF2Wheel: HitLF2Wheel
{
armor = 1;
explosionShielding = 4;
radius = 0.33;
};
class HitRFWheel: HitRFWheel
{
armor = 1;
explosionShielding = 4;
radius = 0.33;
};
class HitRF2Wheel: HitRF2Wheel
{
armor = 1;
explosionShielding = 4;
radius = 0.33;
};
class HitReserveWheel
{
armor = 1;
material = -1;
name = "wheel_reserve_hit";
visual = "";
passThrough = 0.3;
explosionShielding = 0.8;
};
class HitFuel
{
armor = 1.0;
material = -1;
name = "palivo";
visual = "";
passThrough = 1.0;
minimalHit = 0.2;
explosionShielding = 0.1;
radius = 0.25;
};
class HitEngine
{
armor = 1.0;
material = -1;
name = "motor";
visual = "";
passThrough = 0.2;
minimalHit = 0.2;
explosionShielding = 0.4;
radius = 0.45;
};
class HitBody
{
armor = 8.0;
material = -1;
name = "karoserie";
visual = "zbytek";
passThrough = 1.0;
minimalHit = 0.01;
explosionShielding = 0.6;
radius = 0.45;
};
class HitGlass1: HitGlass1
{
armor = 3;
explosionShielding = 3;
radius = 0.25;
};
class HitGlass2: HitGlass2
{
armor = 3;
explosionShielding = 3;
radius = 0.25;
};
class HitGlass3: HitGlass3
{
armor = 3;
explosionShielding = 3;
radius = 0.25;
};
class HitGlass4: HitGlass4
{
armor = 3;
explosionShielding = 3;
radius = 0.25;
};
class HitGlass5: HitGlass5
{
armor = 3;
explosionShielding = 3;
radius = 0.25;
};
class HitGlass6: HitGlass5
{
name = "glass6";
visual = "glass6";
};
class HitGlass7: HitGlass5
{
name = "glass7";
visual = "glass7";
};
class HitGlass8: HitGlass5
{
name = "glass8";
visual = "glass8";
};
class HitGlass9: HitGlass5
{
name = "glass9";
visual = "glass9";
};
class HitGlass10: HitGlass5
{
name = "glass10";
visual = "glass10";
};
class HitGlass11: HitGlass5
{
name = "glass11";
visual = "glass11";
};
};
class UserActions
{
class DoorLF_Open
{
userActionID = 50;
displayName = "$STR_A3_CfgVehicles_MRAP_02_base_F_UserActions_DoorLF_Open0";
displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
textToolTip = "$STR_DN_OUT_O_DOOR";
priority = 0.1;
radius = 2.5;
radiusView = 0.2;
showIn3D = 17;
available = 0;
position = "door1_axis";
showWindow = 1;
onlyForPlayer = 1;
shortcut = "";
condition = "((this doorPhase 'Door_LF')  ==  0) && (alive this) && this != vehicle player && false";
statement = "this animateDoor ['Door_LF', 1]";
};
class DoorLF_Close: DoorLF_Open
{
userActionID = 51;
displayName = "$STR_A3_CfgVehicles_MRAP_02_base_F_UserActions_DoorLF_Close0";
displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
textToolTip = "$STR_DN_OUT_C_DOOR";
condition = "((this doorPhase 'Door_LF') > 0) && (alive this) && false";
statement = "this animateDoor ['Door_LF', 0]";
};
class DoorRF_Open: DoorLF_Open
{
userActionID = 52;
displayName = "$STR_A3_CfgVehicles_MRAP_02_base_F_UserActions_DoorRF_Open0";
position = "door3_axis";
condition = "((this doorPhase 'Door_RF')  ==  0) && (alive this) && this != vehicle player && false";
statement = "this animateDoor ['Door_RF', 1]";
};
class DoorRF_Close: DoorRF_Open
{
userActionID = 53;
displayName = "$STR_A3_CfgVehicles_MRAP_02_base_F_UserActions_DoorRF_Close0";
displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
textToolTip = "$STR_DN_OUT_C_DOOR";
condition = "((this doorPhase 'Door_RF') > 0) && (alive this) && false";
statement = "this animateDoor ['Door_RF', 0]";
};
};
#include "sounds.hpp" //separate file for better work flow
attenuationEffectType = "CarAttenuation";
soundGetIn[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_door",0.56234133,1};
soundGetOut[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_door",0.56234133,1,40};
soundDammage[] = {"",0.56234133,1};
soundEngineOnInt[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_start",0.39810717,1};
soundEngineOnExt[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_start",0.4466836,1,200};
soundEngineOffInt[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_stop",0.39810717,1};
soundEngineOffExt[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_stop",0.4466836,1,200};
buildCrash0[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_1",1.2589254,1,200};
buildCrash1[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_2",1.2589254,1,200};
buildCrash2[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_3",1.2589254,1,200};
buildCrash3[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_4",1.2589254,1,200};
soundBuildingCrash[] = {"buildCrash0",0.25,"buildCrash1",0.25,"buildCrash2",0.25,"buildCrash3",0.25};
WoodCrash0[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1",1.2589254,1,200};
WoodCrash1[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1",1.2589254,1,200};
WoodCrash2[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1",1.2589254,1,200};
WoodCrash3[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1",1.2589254,1,200};
soundWoodCrash[] = {"woodCrash0",0.25,"woodCrash1",0.25,"woodCrash2",0.25,"woodCrash3",0.25};
armorCrash0[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_1",1.2589254,1,200};
armorCrash1[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_2",1.2589254,1,200};
armorCrash2[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_3",1.2589254,1,200};
armorCrash3[] = {"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_4",1.2589254,1,200};
soundArmorCrash[] = {"ArmorCrash0",0.25,"ArmorCrash1",0.25,"ArmorCrash2",0.25,"ArmorCrash3",0.25};
class Sounds
{
class Idle_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_idle",0.22387211,1,150};
frequency = "0.9 + ((rpm/ 6900) factor[(400/ 6900),(1150/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(400/ 6900),(700/ 6900)]) * ((rpm/ 6900) factor[(1100/ 6900),(900/ 6900)]))";
};
class Engine
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1000",0.2818383,1,200};
frequency = "0.8 + ((rpm/ 6900) factor[(900/ 6900),(2100/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(870/ 6900),(1100/ 6900)]) * ((rpm/ 6900) factor[(2100/ 6900),(1300/ 6900)]))";
};
class Engine1_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1400",0.3548134,1,240};
frequency = "0.8 +  ((rpm/ 6900) factor[(1300/ 6900),(3100/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(1250/ 6900),(2050/ 6900)]) * ((rpm/ 6900) factor[(3100/ 6900),(2300/ 6900)]))";
};
class Engine2_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_2000",0.39810717,1,280};
frequency = "0.8 + ((rpm/ 6900) factor[(2200/ 6900),(4100/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(2250/ 6900),(3050/ 6900)]) * ((rpm/ 6900) factor[(4100/ 6900),(3300/ 6900)]))";
};
class Engine3_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_3200",0.4466836,1,320};
frequency = "0.8 + ((rpm/ 6900) factor[(3300/ 6900),(4900/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(3250/ 6900),(4050/ 6900)]) * ((rpm/ 6900) factor[(4870/ 6900),(4200/ 6900)]))";
};
class Engine4_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_4000",0.5011872,1,360};
frequency = "0.8 + ((rpm/ 6900) factor[(4200/ 6900),(6200/ 6900)])*0.2";
volume = "engineOn*camPos*(((rpm/ 6900) factor[(4150/ 6900),(4800/ 6900)]) * ((rpm/ 6900) factor[(6150/ 6900),(5150/ 6900)]))";
};
class Engine5_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_5000",0.56234133,1,420};
frequency = "0.95 + ((rpm/ 6900) factor[(5100/ 6900),(6900/ 6900)])*0.15";
volume = "engineOn*camPos*((rpm/ 6900) factor[(5100/ 6900),(6100/ 6900)])";
};
class IdleThrust
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_idle",0.5011872,1,200};
frequency = "0.9 + ((rpm/ 6900) factor[(400/ 6900),(1150/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(400/ 6900),(700/ 6900)]) * ((rpm/ 6900) factor[(1100/ 6900),(900/ 6900)]))";
};
class EngineThrust
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1000_exh",0.56234133,1,250};
frequency = "0.8 + ((rpm/ 6900) factor[(900/ 6900),(2100/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(870/ 6900),(1100/ 6900)]) * ((rpm/ 6900) factor[(2100/ 6900),(1300/ 6900)]))";
};
class Engine1_Thrust_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1400_exh",0.63095737,1,280};
frequency = "0.8 +  ((rpm/ 6900) factor[(1300/ 6900),(3100/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(1250/ 6900),(2050/ 6900)]) * ((rpm/ 6900) factor[(3100/ 6900),(2300/ 6900)]))";
};
class Engine2_Thrust_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_2000_exh",0.70794576,1,320};
frequency = "0.8 + ((rpm/ 6900) factor[(2200/ 6900),(4100/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(2250/ 6900),(3050/ 6900)]) * ((rpm/ 6900) factor[(4100/ 6900),(3300/ 6900)]))";
};
class Engine3_Thrust_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_3200_exh",0.7943282,1,360};
frequency = "0.8 + ((rpm/ 6900) factor[(3300/ 6900),(4900/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(3250/ 6900),(4050/ 6900)]) * ((rpm/ 6900) factor[(4870/ 6900),(4200/ 6900)]))";
};
class Engine4_Thrust_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_4000_exh",1,1,400};
frequency = "0.8 + ((rpm/ 6900) factor[(4200/ 6900),(6200/ 6900)])*0.3";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(4150/ 6900),(4800/ 6900)]) * ((rpm/ 6900) factor[(6150/ 6900),(5150/ 6900)]))";
};
class Engine5_Thrust_ext
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_5000_exh",1.2589254,1,450};
frequency = "0.9 + ((rpm/ 6900) factor[(5100/ 6900),(6900/ 6900)])*0.2";
volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/ 6900) factor[(5100/ 6900),(6100/ 6900)])";
};
class Idle_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_idle",0.17782794,1};
frequency = "0.9 + ((rpm/ 6900) factor[(400/ 6900),(1150/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(400/ 6900),(700/ 6900)]) * ((rpm/ 6900) factor[(1100/ 6900),(900/ 6900)]))";
};
class Engine_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1000",0.19952622,1};
frequency = "0.8 + ((rpm/ 6900) factor[(900/ 6900),(2100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(870/ 6900),(1100/ 6900)]) * ((rpm/ 6900) factor[(2100/ 6900),(1300/ 6900)]))";
};
class Engine1_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1400",0.25118864,1};
frequency = "0.8 +  ((rpm/ 6900) factor[(1300/ 6900),(3100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(1250/ 6900),(2050/ 6900)]) * ((rpm/ 6900) factor[(3100/ 6900),(2300/ 6900)]))";
};
class Engine2_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_2000",0.2818383,1};
frequency = "0.8 + ((rpm/ 6900) factor[(2200/ 6900),(4100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(2250/ 6900),(3050/ 6900)]) * ((rpm/ 6900) factor[(4100/ 6900),(3300/ 6900)]))";
};
class Engine3_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_3200",0.31622776,1};
frequency = "0.8 + ((rpm/ 6900) factor[(3300/ 6900),(4900/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(3250/ 6900),(4050/ 6900)]) * ((rpm/ 6900) factor[(4870/ 6900),(4200/ 6900)]))";
};
class Engine4_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_4000",0.3548134,1};
frequency = "0.8 + ((rpm/ 6900) factor[(4200/ 6900),(6200/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(((rpm/ 6900) factor[(4150/ 6900),(4800/ 6900)]) * ((rpm/ 6900) factor[(6150/ 6900),(5150/ 6900)]))";
};
class Engine5_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_5000",0.5011872,1};
frequency = "0.95 + ((rpm/ 6900) factor[(5100/ 6900),(6900/ 6900)])*0.15";
volume = "engineOn*(1-camPos)*((rpm/ 6900) factor[(5100/ 6900),(6100/ 6900)])";
};
class IdleThrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_idle",0.31622776,1};
frequency = "0.9 + ((rpm/ 6900) factor[(400/ 6900),(1150/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(400/ 6900),(700/ 6900)]) * ((rpm/ 6900) factor[(1100/ 6900),(900/ 6900)]))";
};
class EngineThrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1000_exh",0.3548134,1};
frequency = "0.8 + ((rpm/ 6900) factor[(900/ 6900),(2100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(870/ 6900),(1100/ 6900)]) * ((rpm/ 6900) factor[(2100/ 6900),(1300/ 6900)]))";
};
class Engine1_Thrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_1400_exh",0.39810717,1};
frequency = "0.8 +  ((rpm/ 6900) factor[(1300/ 6900),(3100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(1250/ 6900),(2050/ 6900)]) * ((rpm/ 6900) factor[(3100/ 6900),(2300/ 6900)]))";
};
class Engine2_Thrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_2000_exh",0.4466836,1};
frequency = "0.8 + ((rpm/ 6900) factor[(2200/ 6900),(4100/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(2250/ 6900),(3050/ 6900)]) * ((rpm/ 6900) factor[(4100/ 6900),(3300/ 6900)]))";
};
class Engine3_Thrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_3200_exh",0.5011872,1};
frequency = "0.8 + ((rpm/ 6900) factor[(3300/ 6900),(4900/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(3250/ 6900),(4050/ 6900)]) * ((rpm/ 6900) factor[(4870/ 6900),(4200/ 6900)]))";
};
class Engine4_Thrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_4000_exh",0.56234133,1};
frequency = "0.8 + ((rpm/ 6900) factor[(4200/ 6900),(6200/ 6900)])*0.3";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 6900) factor[(4150/ 6900),(4800/ 6900)]) * ((rpm/ 6900) factor[(6150/ 6900),(5150/ 6900)]))";
};
class Engine5_Thrust_int
{
sound[] = {"GIJOE\vhx_soft\gijoe_vamp\Sounds\motor_5000_exh",0.63095737,1};
frequency = "0.9 + ((rpm/ 6900) factor[(5100/ 6900),(6900/ 6900)])*0.2";
volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/ 6900) factor[(5100/ 6900),(6100/ 6900)])";
};
class Movement
{
sound = "soundEnviron";
frequency = "1";
volume = "0";
};
class TiresRockOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_1",1,1,60};
frequency = "1";
volume = "camPos*rock*(speed factor[2, 20])";
};
class TiresSandOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-sand1",1,1,60};
frequency = "1";
volume = "camPos*sand*(speed factor[2, 20])";
};
class TiresGrassOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_2",1,1,60};
frequency = "1";
volume = "camPos*grass*(speed factor[2, 20])";
};
class TiresMudOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-mud2",1,1,60};
frequency = "1";
volume = "camPos*mud*(speed factor[2, 20])";
};
class TiresGravelOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_gravel_1",0.70794576,1,60};
frequency = "1";
volume = "camPos*gravel*(speed factor[2, 20])";
};
class TiresAsphaltOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_asfalt_2",1,1,60};
frequency = "1";
volume = "camPos*asphalt*(speed factor[2, 20])";
};
class NoiseOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_ext_car_3",1.2589254,1,90};
frequency = "1";
volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])";
};
class TiresRockIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_1",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*rock*(speed factor[2, 20])";
};
class TiresSandIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-sand2",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*sand*(speed factor[2, 20])";
};
class TiresGrassIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_2",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*grass*(speed factor[2, 20])";
};
class TiresMudIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-mud2",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*mud*(speed factor[2, 20])";
};
class TiresGravelIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_gravel_1",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*gravel*(speed factor[2, 20])";
};
class TiresAsphaltIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_asfalt_2",0.7943282,1};
frequency = "1";
volume = "(1-camPos)*asphalt*(speed factor[2, 20])";
};
class NoiseIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_int_car_3",1.2589254,1};
frequency = "1";
volume = "(damper0 max 0.1)*(speed factor[0, 8])*(1-camPos)";
};
class breaking_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04",1.2589254,1,80};
frequency = 1;
volume = "engineOn*camPos*asphalt*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15])";
};
class acceleration_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.2589254,1,80};
frequency = 1;
volume = "engineOn*camPos*asphalt*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2])";
};
class turn_left_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.2589254,1,80};
frequency = 1;
volume = "engineOn*camPos*asphalt*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15])";
};
class turn_right_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.2589254,1,80};
frequency = 1;
volume = "engineOn*camPos*asphalt*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15])";
};
class breaking_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking",1.2589254,1,60};
frequency = 1;
volume = "engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15])";
};
class acceleration_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration",1.2589254,1,60};
frequency = 1;
volume = "engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 1])";
};
class turn_left_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt",1.2589254,1,60};
frequency = 1;
volume = "engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[1, 15])";
};
class turn_right_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt",1.2589254,1,60};
frequency = 1;
volume = "engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15])";
};
class breaking_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int",1.2589254,1};
frequency = 1;
volume = "engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15])";
};
class acceleration_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.2589254,1};
frequency = 1;
volume = "engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2])";
};
class turn_left_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.2589254,1};
frequency = 1;
volume = "engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15])";
};
class turn_right_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.2589254,1};
frequency = 1;
volume = "engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15])";
};
class breaking_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking_int",1.2589254,1};
frequency = 1;
volume = "engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[-01, -0.4])*(Speed Factor[2, 15])";
};
class acceleration_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration_int",1.2589254,1};
frequency = 1;
volume = "engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2])";
};
class turn_left_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int",1.2589254,1};
frequency = 1;
volume = "engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15])";
};
class turn_right_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int",1.2589254,1};
frequency = 1;
volume = "engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15])";
};
};
#uninclude //GIJOE\vhx_soft\gijoe_vamp\sounds.hpp
class TransportMagazines
{
class _xx_150Rnd_762x54_Box
{
magazine = "150Rnd_762x54_Box";
count = 4;
};
};
class TransportItems
{
class _xx_FirstAidKit
{
name = "FirstAidKit";
count = 10;
};
};
/*class TransportWeapons
{
class _xx_arifle_Katiba_F
{
weapon = "arifle_Katiba_F";
count = 2;
};
};*/
};
class vamp1: vamp_01_base_F
{
author = "Scot Gilmore";
_generalMacro = "vamp1";
scope = 2;
crew = "vamp_cargo";
typicalCargo[] = {"vamp_cargo"};
side = 1;
faction = "GIJOE";
displayName = "** VAMP **";
vehicleClass = "GIJoe_Ground";
accuracy = 1.25;
hiddenSelectionsTextures[] = {"GIJOE\vhx_soft\gijoe_vamp\data\vamp_ext_co.paa"};
transportSoldier = 0;
cost = 600000;
threat[] = {1,0.4,0.6};
class AnimationSources: AnimationSources
{
class muzzle_rot
{
source = "ammorandom";
weapon = "HMG_127";
};
class muzzle_hide
{
source = "reload";
weapon = "HMG_127";
};
};
cargoDoors[] = {};
class Turrets: Turrets
{
class MainTurret: MainTurret
{
body = "mainTurret";
gun = "gunbase";
memoryPointGun[] = {"muzzle_1","muzzle_2"};
/*
gunBeg = "muzzle";
gunEnd = "chamber";
*/
weapons[] = {"HMG_127"};
magazines[] = {"200Rnd_127x99_mag_Tracer_Green","200Rnd_127x99_mag_Tracer_Green","200Rnd_127x99_mag_Tracer_Green","200Rnd_127x99_mag_Tracer_Green"};
selectionFireAnim = "zasleh";
soundServo[] = {"A3\sounds_f\dummysound",0.01,1.0,10};
gunnerAction = "gunner_MRAP_01";
viewGunnerInExternal = 1;
hideWeaponsGunner = 1;
castGunnerShadow = 1;
stabilizedInAxes = 3;
memoryPointGunnerOptics = "pip3_pos";
gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};
discreteDistanceInitIndex = 2;
turretInfoType = "RscOptics_crows";
usePip = 1;
minElev = -6.5;
maxElev = 48;
LODTurnedIn = 1000;
class ViewOptics: RCWSOptics{};
class ViewGunner: ViewOptics
{
initAngleX = -45;
minAngleX = -55;
maxAngleX = -20;
initFov = 0.9;
minFov = 0.42;
maxFov = 0.9;
visionMode[] = {};
};
class HitPoints: HitPoints
{
class HitTurret
{
armor = 1.2;
material = -1;
name = "vez";
visual = "vez";
passThrough = 0;
minimalHit = 0.1;
explosionShielding = 0.4;
radius = 0.6;
};
class HitGun
{
armor = 0.6;
material = -1;
name = "zbran";
visual = "zbran";
passThrough = 0;
minimalHit = 0.1;
explosionShielding = 0.2;
radius = 0.6;
};
};
gunnerDoor = "";
};
};
class RenderTargets
{
class LeftMirror
{
renderTarget = "rendertarget1";
class CameraView1
{
pointPosition = "pip1_pos";
pointDirection = "pip1_dir";
renderVisionMode = 0;
renderQuality = 2;
fov = 0.7;
};
};
class RightMirror
{
renderTarget = "rendertarget2";
class CameraView1
{
pointPosition = "pip2_pos";
pointDirection = "pip2_dir";
renderQuality = 2;
renderVisionMode = 0;
fov = 0.7;
};
};
class GunnerCam
{
renderTarget = "rendertarget3";
class CameraView1
{
pointPosition = "pip3_pos";
pointDirection = "pip3_dir";
renderQuality = 2;
renderVisionMode = 0;
fov = 0.1;
};
};
};
};
};
//};

rebuilding GIJOE\vhx_soft\gijoe_vamp\config.cpp.cfgPatches.units[]=...(no changes)
rapify x64UnicodeVersion 1.76, Dll 6.44 "config.cpp"
No Error(s)
Output is to p:\temp\GIJOE\vhx_soft\gijoe_vamp\config.bin

P:\temp\GIJOE\vhx_soft\gijoe_vamp\config.bin
1 File(s) copied
GIJOE\vhx_soft\gijoe_vamp\texHeaders.bin
1 File(s) copied
"<Bis Binarise...>"
""E:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\Binarize\Binarize.exe" -targetBonesInterval=56 -textures=p:\temp -binPath=P:\ GIJOE\vhx_soft\gijoe_vamp p:\temp\GIJOE\vhx_soft\gijoe_vamp"


I don't know how it's supposed to work, but I wonder if it's supposed to have the space in "-binPath=P:\ GIJOE\vhx_soft\gijoe_vamp" between P:\_and_GIJOE? If not, then what's causing it? I tried to use "Addon Breaker" to see if it would still push it out as before. The result is an empty entry in the virtual garage that causes the character to spawn without a vehicle, and I cannot select other vehicles. Using alt+F4 yields an error message after killing it. So, whatever changes made in the all-encompassing effort of getting Mikero's Tools to work also affected Addon Builder, probably Binarize.exe to be specific. If it's a problem with my config or model, then sorry, but I still think there's a setup mishap somewhere.

  • Confused 1

Share this post


Link to post
Share on other sites

@Dedmen It's understandably confusing, because it all seems so convoluted to me.


EDIT: Okay, forget everything that was here. It turned out to be a fix that wasn't taking hold, which seems to happen more frequently when packing from a P:\ folder. It was missing damper axes in the memory LOD, which were actually named differently, but the change wasn't sticking. I commented out the sections of the model.cfg that called for these axes, crunched it, and got a new error... hopefully a progressive one. Going over the .p3d and model.cfg I made sure each part was matched and had the proper axis. It finally worked and again I got the new error... Yay-ish~!

 

The new error is more inline with this thread. It cannot find a config.cpp for the common RVMATs, which are called for in the .p3d. In other words, my common textures folder is just sitting there without a config - at least I think that's what the problem is. And... indeed I have no config in that folder.

Share this post


Link to post
Share on other sites

Update.
Still using pboProject, it was finally able to pack a vehicle with no errors... I had to put the "common" PAAs and RVMATs back into the specific vehicle data folder, because I have no idea how to tell the engine where to look. That means I'll have to do the same thing for all the other vehicles, now that I know it's going to work - at least until I figure out a config for common assets.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×