scotg 204 Posted March 15, 2018 (edited) Recently, I switched away from BIS' Addon Builder to Mikero's pboProject. Animations that were working in AB are now causing errors in the Mikero method; thus, binarizing is failing. Click the spoiler to see my binlog, which is the the only indication that there might be something wrong with the RTMs: binlog Spoiler This build is licensed to 'Bohemia Interactive a.s.' for use within the scope of the following projects/products: 'All'. 8:35:11: Warning: CfgVehicles missing in PreloadConfig - may slow down vehicle creation 8:35:11: Warning: CfgAmmo missing in PreloadConfig - may slow down vehicle creation 8:35:11: Warning: CfgNonAIVehicles missing in PreloadConfig - may slow down vehicle creation 8:35:11: PhysX3 SDK Init started ... 8:35:11: PhysX3 SDK Init ended. 8:35:11: <anim = "GIJOE\vhx_soft\gijoe_aweStriker\Anims\awes_cargo.rtm"> 8:35:11: Obsolete CfgSkeletons for OFP2_ManSkeleton, move to model.cfg 8:35:11: </anim> 8:35:11: <anim = "GIJOE\vhx_soft\gijoe_aweStriker\Anims\awes_driver.rtm"> 8:35:11: </anim> 8:35:11: Convert model GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d -> P:\temp\GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d 8:35:11: <model = "GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d"> 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:14: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:17: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:VIEW_CARGO Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:17: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:VIEW_CARGO Stage 1 has no texture to retrieve format from (while generating ST coordinates) 8:35:24: Warnings in gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:shadow(1000) 8:35:24: Warnings in gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:shadow(1000) 8:35:26: </model> 8:35:26: Extensions: When I comment out the custom driver/cargo animations from the config.cpp the problem persists, giving the same report above. When I actually remove the RTM files from the Anims folder AND comment them out, the pbo packs successfully (despite the other warnings about textures and shadows). Now that we have established that the RTMs are indeed the problem, what could I possibly be doing in creating them that does work with Addon Builder, but does not work with PboProject? ADDED, in case these are needed: model.cfg Spoiler class cfgSkeletons { class Default { isDiscrete=1; skeletonInherit=""; skeletonBones[]={}; }; class awesbones: Default { isDiscrete = 1; skeletonInherit = ""; SkeletonBones[]= { "drivewheel", "", "wheel_1_1_damper_land", "", "wheel_1_1_damper", "wheel_1_1_damper_land", "wheel_1_1_steering", "wheel_1_1_damper_land", "wheel_1_1", "wheel_1_1_steering", "wheel_1_1_unhide", "wheel_1_1", "wheel_1_1_hide", "wheel_1_1", "wheel_1_2_damper_land", "", "wheel_1_2_damper", "wheel_1_2_damper_land", "wheel_1_2_steering", "wheel_1_2_damper_land", "wheel_1_2", "wheel_1_2_steering", "wheel_1_2_unhide", "wheel_1_2", "wheel_1_2_hide", "wheel_1_2", "wheel_2_1_damper_land", "", "wheel_2_1_damper", "wheel_2_1_damper_land", "wheel_2_1_steering", "wheel_2_1_damper_land", "wheel_2_1", "wheel_2_1_steering", "wheel_2_1_unhide", "wheel_2_1", "wheel_2_1_hide", "wheel_2_1", "wheel_2_2_damper_land", "", "wheel_2_2_damper", "wheel_2_2_damper_land", "wheel_2_2_steering", "wheel_2_2_damper_land", "wheel_2_2", "wheel_2_2_steering", "wheel_2_2_unhide", "wheel_2_2", "wheel_2_2_hide", "wheel_2_2", "otocvez", "", "otochlaven", "otocvez", "damagehlaven", "otochlaven", "damagevez", "otocvez", "damagehide", "", "glass1", "damagehide", "glass2", "damagehide", "glass3", "damagehide", "glass4", "damagehide", "glass5", "damagehide", "glass6", "damagehide", "ukaz_rychlo", "", "ukaz_rychlo2", "", "ukaz_rpm", "", "mph", "", "rpm", "", "fuel", "", "temp", "", "oil", "", "volt", "", "fuel_3", "", "light_reverse", "", "daylights", "", "pedal_brake", "", "pedal_thrust", "", "door1", "", "door2", "", "door3", "", "door4", "", "door5", "", "door6", "", "display_off", "" }; }; }; class CfgModels { class Default { sections[]={}; sectionsInherit=""; skeletonName=""; }; class aweStriker1: Default { skeletonName="awesbones"; sections[]= { "glass1", "glass2", "glass3", "glass4", "glass5", "glass6", "zbytek", "light_r", "light_l", "camo1", "camo2", "zadni svetlo", "spz", "brzdove svetlo", "clan" }; class Animations { class damageHide { type="hide"; source="damage"; selection="damagehide"; minValue=0; maxValue=1; hideValue=1; animPeriod=0; initPhase=0; }; class damageHideVez { type="hide"; source="damage"; selection="otocvez"; minValue=0; maxValue=1; hideValue=1; animPeriod=0; initPhase=0; }; class damageHideHlaven { type="hide"; source="damage"; selection="otochlaven"; minValue=0; maxValue=1; hideValue=1; animPeriod=0; initPhase=0; }; class wheel_1_1_destruct { type="hide"; source="HitLFWheel"; selection="wheel_1_1_hide"; minValue=0; maxValue=1; hideValue=0.99998999; animPeriod=0; initPhase=0; }; class wheel_1_2_destruct { type="hide"; source="HitLBWheel"; selection="wheel_1_2_hide"; minValue=0; maxValue=1; hideValue=0.99998999; animPeriod=0; initPhase=0; }; class wheel_2_1_destruct { type="hide"; source="HitRFWheel"; selection="wheel_2_1_hide"; minValue=0; maxValue=1; hideValue=0.99998999; animPeriod=0; initPhase=0; }; class wheel_2_2_destruct { type="hide"; source="HitRBWheel"; selection="wheel_2_2_hide"; minValue=0; maxValue=1; hideValue=0.99998999; animPeriod=0; initPhase=0; }; class wheel_1_1_destruct_unhide { type="hide"; source="HitLFWheel"; selection="wheel_1_1_unhide"; sourceAddress="mirror"; minValue=-1; maxValue=0; hideValue=9.9999997e-006; animPeriod=0; initPhase=0; }; class wheel_1_2_destruct_unhide { type="hide"; source="HitLBWheel"; selection="wheel_1_2_unhide"; sourceAddress="mirror"; minValue=-1; maxValue=0; hideValue=9.9999997e-006; animPeriod=0; initPhase=0; }; class wheel_2_1_destruct_unhide { type="hide"; source="HitRFWheel"; selection="wheel_2_1_unhide"; sourceAddress="mirror"; minValue=-1; maxValue=0; hideValue=9.9999997e-006; animPeriod=0; initPhase=0; }; class wheel_2_2_destruct_unhide { type="hide"; source="HitRBWheel"; selection="wheel_2_2_unhide"; sourceAddress="mirror"; minValue=-1; maxValue=0; hideValue=9.9999997e-006; animPeriod=0; initPhase=0; }; class Glass1_destruct { type="hide"; source="HitGlass1"; selection="glass1"; minValue=0; maxValue=1; hideValue=0.99998999; animPeriod=0; initPhase=0; }; class wheel_1_1 { type="rotationX"; source="wheel"; selection="wheel_1_1"; axis="wheel_1_1_axis"; sourceAddress="loop"; minValue=0; maxValue=1; angle0=0; angle1=-6.2831855; animPeriod=0; initPhase=0; }; class wheel_2_1: wheel_1_1 { selection="wheel_2_1"; axis="wheel_2_1_axis"; }; class wheel_1_2: wheel_1_1 { selection="wheel_1_2"; axis="wheel_1_2_axis"; }; class Wheel_2_2: wheel_1_1 { selection="wheel_2_2"; axis="wheel_2_2_axis"; }; class daylights { type="hide"; source="rpm"; selection="daylights"; minValue=-0.80000001; maxValue=0.2; hideValue=0.2; unHideValue=1; animPeriod=0; initPhase=0; }; class reverse_light { type="hide"; source="Gear"; selection="light_reverse"; minValue=-1; maxValue=0; hideValue=0.2; animPeriod=0; initPhase=0; }; class pedal_thrust { type="rotation"; source="Throttle"; selection="pedal_thrust"; axis="pedal_thrust_axis"; minValue=0; maxValue=1; angle0=0; angle1=-0.52359879; animPeriod=1; initPhase=0; }; class pedal_brake { type="rotation"; source="Brake"; selection="pedal_brake"; axis="pedal_brake_axis"; minValue=0; maxValue=0.5; angle0=0; angle1=-0.52359879; animPeriod=1; initPhase=0; }; class wheel_1_1_Damage { type="translation"; source="HitLFWheel"; selection="wheel_1_1_damper_land"; axis="wheel_1_1_damper_land_axis"; minValue=0; maxValue=1; offset0=0; offset1=0.18000001; animPeriod=0; initPhase=0; }; class wheel_1_2_Damage: wheel_1_1_Damage { source="HitLBWheel"; selection="wheel_1_2_damper_land"; axis="wheel_1_2_damper_land_axis"; }; class wheel_2_1_Damage: wheel_1_1_Damage { source="HitRFWheel"; selection="wheel_2_1_damper_land"; axis="wheel_2_1_damper_land_axis"; }; class wheel_2_2_Damage: wheel_1_1_Damage { source="HitRBWheel"; selection="wheel_2_2_damper_land"; axis="wheel_2_2_damper_land_axis"; }; class wheel_1_1_Damper_Damage_BackAnim { type="translation"; source="HitLFWheel"; selection="wheel_1_1_damper_land"; axis="wheel_1_1_damper_land_axis"; minValue=0; maxValue=1; offset0=0; offset1=-0.18000001; animPeriod=0; initPhase=0; }; class wheel_1_2_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { source="HitLBWheel"; selection="wheel_1_2_damper_land"; axis="wheel_1_2_damper_land_axis"; }; class wheel_2_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { source="HitRFWheel"; selection="wheel_2_1_damper_land"; axis="wheel_2_1_damper_land_axis"; }; class wheel_2_2_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { source="HitRBWheel"; selection="wheel_2_2_damper_land"; axis="wheel_2_2_damper_land_axis"; }; class DrivingWheel { type="rotation"; source="drivingWheel"; selection="drivewheel"; axis="drivewheel_axis"; minValue=-1; maxValue=1; angle0=1.0; angle1=-1.0; animPeriod=0; initPhase=0; }; class Steering_1_1 { type="rotationY"; source="drivingWheel"; selection="wheel_1_1_steering"; axis="wheel_1_1_steering_axis"; minValue=-1.9; maxValue=1.9; angle0=0.8; angle1=-0.8; animPeriod=0; initPhase=0; }; class Steering_2_1: Steering_1_1 { selection="wheel_2_1_steering"; axis="wheel_2_1_steering_axis"; }; class IndicatorSpeed { type="rotation"; source="speed"; selection="mph"; axis="mph_axis"; minValue=0; maxValue=65.269997; angle0=0.8; angle1=-4.6; animPeriod=0; initPhase=0; }; class IndicatorRPM { type="rotation"; source="rpm"; selection="rpm"; axis="rpm_axis"; minValue=0; maxValue=5000; angle0=0.65; angle1=-4.2; animPeriod=0; initPhase=0; }; class fuel { type="rotation"; source="fuel"; selection="fuel"; axis="fuel_axis"; minValue=0; maxValue=1; angle0=0; angle1=1.5358899; animPeriod=0; initPhase=0; }; class wheel_1_1_Damper { type="translation"; source="damper"; selection="wheel_1_1_damper_land"; axis="wheel_1_1_damper_land_axis"; minValue=0; maxValue=1; offset0=-1; offset1=1; animPeriod=0; initPhase=0; }; class wheel_1_2_Damper: wheel_1_1_Damper { selection="wheel_1_2_damper_land"; axis="wheel_1_2_damper_land_axis"; }; class wheel_2_1_Damper: wheel_1_1_Damper { selection="wheel_2_1_damper_land"; axis="wheel_2_1_damper_land_axis"; }; class Wheel_2_2_Damper: wheel_1_2_Damper { selection="wheel_2_2_damper_land"; axis="wheel_2_2_damper_land_axis"; }; class fan_1 { type="rotation"; source="rpm"; selection="fan1"; axis="fan1_axis"; // sourceAddress = loop;// (default) minValue = 0.0; maxValue = 2000; angle0 = 0.0; angle1 = -6.2831855; animPeriod = 0.0; initPhase = 0.0; // memory = 0; }; class fan_2: fan_1 { selection="fan2"; axis="fan2_axis";// *probably* }; class Display_off_hide { type="hide"; source="rpm"; selection="display_off"; minValue=0; maxValue=1; hideValue=0.001; animPeriod=0; initPhase=0; }; }; }; }; config.cpp Spoiler #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 DefaultEventhandlers; class CfgPatches { class GIJoeAWEStriker { units[] = {"aweStriker1"}; 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"; }; }; //////// WHERE THE CHARACTER ANIMS ARE //////// class CfgMovesBasic { class Default; class DefaultDie; class ManActions { awes_driver = "awes_driver"; awes_cargo = "awes_cargo"; }; }; class CfgMovesMaleSdr: CfgMovesBasic { class States { class Crew; class awes_driver: Crew { file = "GIJOE\vhx_soft\gijoe_aweStriker\Anims\awes_driver.rtm"; InterpolateTo[] = {"Unconscious",0.1}; }; class awes_cargo: Crew { file = "GIJOE\vhx_soft\gijoe_aweStriker\Anims\awes_cargo.rtm"; actions = "CargoAction"; leaning = "crewShake"; InterpolateTo[] = {"Unconscious",0.1}; }; }; }; //////// END OF WHERE THE CHARACTER ANIMS ARE //////// class WeaponFireGun; class WeaponCloudsGun; class WeaponFireMGun; class WeaponCloudsMGun; class CfgVehicles { class LandVehicle; class Car: LandVehicle { class HitPoints; }; class Car_F: Car { class HitPoints { class HitLFWheel; class HitLF2Wheel; class HitRFWheel; class HitRF2Wheel; class HitGlass1; class HitGlass2; class HitGlass3; class HitGlass4; class HitGlass5; class HitGlass6; }; class EventHandlers; class AnimationSources; }; class aweStriker_01_base_F: Car_F { mapSize = 6.18; author = "Scot Gilmore"; _generalMacro = "aweStriker_01_base_F"; displayName = "AWE Striker"; class Library { libTextDesc = "All Weather Environment Striker"; }; model = "GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1"; picture = "GIJOE\vhx_soft\gijoe_aweStriker\data\UI\icon_aweStriker_co.paa"; Icon = "GIJOE\vhx_soft\gijoe_aweStriker\data\UI\map_aweStriker_co.paa"; accuracy = 0.25; cost = 50000; slingLoadCargoMemoryPoints[] = {"SlingLoadCargo1","SlingLoadCargo2","SlingLoadCargo3","SlingLoadCargo4"}; unitInfoType = "RscUnitInfoNoWeapon"; class Turrets{}; class HitPoints: HitPoints { class HitLFWheel: HitLFWheel { armor = 0.15; }; class HitLF2Wheel: HitLF2Wheel { armor = 0.15; }; class HitRFWheel: HitRFWheel { armor = 0.15; }; class HitRF2Wheel: HitRF2Wheel { armor = 0.15; }; class HitFuel { armor = 0.14; material = -1; name = "palivo"; visual = ""; passThrough = 1; }; class HitEngine { armor = 0.5; material = -1; name = "engine"; visual = ""; passThrough = 1; }; class HitGlass1: HitGlass1 { armor = 1; }; class HitGlass2: HitGlass2 { armor = 1; }; class HitGlass3: HitGlass3 { armor = 1; }; class HitGlass4: HitGlass4 { armor = 1; }; class HitGlass5: HitGlass5 { armor = 1; }; class HitGlass6: HitGlass6 { armor = 0.5; }; }; transportSoldier = 1; transportMaxBackpacks = 2; class TransportItems { class _xx_FirstAidKit { name = "FirstAidKit"; count = 4; }; }; showNVGCargo[] = {0,1}; driverAction = "awes_driver"; driverLeftHandAnimName = "drivewheel"; driverRightHandAnimName = "trup"; cargoAction[] = {"awes_cargo"}; cargoIsCoDriver[] = {1,0}; getInAction = "GetInLow"; getOutAction = "GetOutLow"; cargoGetInAction[] = {"GetInLow"}; cargoGetOutAction[] = {"GetOutLow"}; armor = 32; armorLights = 0.02; fuelExplosionPower = 2; fireResistance = 5; wheelDestroyRadiusCoef = 0.75; terrainCoef = 1; turnCoef = 2.1; precision = 20; brakeDistance = 20; acceleration = 18; weapons[] = {"SportCarHorn"}; class AnimationSources: AnimationSources { class Hide { source = "user"; animPeriod = 1; initPhase = 0; }; }; #include "sounds.hpp" //separate file for better work flow thrustDelay = 0.2; brakeIdleSpeed = 1.78; maxSpeed = 204; fuelCapacity = 45; maximumLoad = 4000; wheelCircumference = 3; antiRollbarForceCoef = 3.0; antiRollbarForceLimit = 5; antiRollbarSpeedMin = 10; antiRollbarSpeedMax = 200; idleRpm = 800; redRpm = 6800; 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"; }; simulation = "carx"; dampersBumpCoef = 0.3; differentialType = "rear_limited"; clutchStrength = 20.0; enginePower = 82; maxOmega = 600; peakTorque = 450; dampingRateFullThrottle = 0.1; //0.2; dampingRateZeroThrottleClutchEngaged = 1.0; dampingRateZeroThrottleClutchDisengaged = 0.35; torqueCurve[] = {{0.0,0.0},{0.185,0.713},{0.35,1.0},{0.5,0.975},{0.75,0.755},{0.85,0.627},{1.0,0.415}}; changeGearMinEffectivity[] = {0.95,0.15,0.65,0.65,0.65,0.55,0.55,0.55}; switchTime = 0.21; 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 = 30; MOI = 8; dampingRate = 0.3; dampingRateDamaged = 5; dampingRateInAir = 0.8; maxBrakeTorque = 2000; maxHandBrakeTorque = 0; suspTravelDirection[] = {0,-1,0}; suspForceAppPointOffset = "wheel_1_1_axis"; tireForceAppPointOffset = "wheel_1_1_axis"; maxCompression = 0.2; mMaxDroop = 0.1; sprungMass = 160; //163; springStrength = 3875; //4075 springDamperRate = 661; //651; 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 = 165; //163; springStrength = 4275; //4075 springDamperRate = 651; }; 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"; 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 Damage { tex[] = {}; mat[] = {"A3\soft_f_gamma\SUV_01\Data\SUV_01_ext.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_ext_damage.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_ext_destruct.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base_damage.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base_destruct.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board_damage.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board_destruct.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base_VP.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base_damage.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_base_destruct.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board_VP.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board_damage.rvmat","A3\soft_f_gamma\SUV_01\Data\SUV_01_int_board_destruct.rvmat","a3\data_f\glass_veh.rvmat","a3\data_f\Glass_veh_damage.rvmat","a3\data_f\Glass_veh_damage.rvmat","a3\data_f\Glass_veh_int.rvmat","a3\data_f\Glass_veh_damage.rvmat","a3\data_f\Glass_veh_damage.rvmat"}; }; hiddenSelections[] = {"Camo1"}; class Exhausts { class Exhaust1 { position = "exhaust_1"; direction = "exhaust_1_dir"; effect = "ExhaustsEffect"; }; class Exhaust2 { position = "exhaust_2"; direction = "exhaust_2_dir"; effect = "ExhaustsEffect"; }; }; class MFD { class AirplaneHUD { topLeft = "HUD_top_left"; topRight = "HUD_top_right"; bottomLeft = "HUD_bottom_left"; borderLeft = 0; borderRight = 0; borderTop = 0; borderBottom = 0.0; color[] = {0.15,0.15,1.0,1.0}; enableParallax = 0; class Bones{}; class Draw { color[] = {0.07,0.67,0.745}; alpha = 1; class ClockHour { type = "text"; source = "ClockHour"; sourceScale = 12; align = "right"; scale = 2; pos[] = {{0.05,0.0},1}; right[] = {{0.4,0.0},1}; down[] = {{0.05,1.0},1}; }; class ClockMinute { type = "text"; source = "ClockMinute"; sourceScale = 60; align = "right"; scale = 2; pos[] = {{0.55,0.0},1}; right[] = {{0.9,0.0},1}; down[] = {{0.55,1.0},1}; }; }; }; }; }; class aweStriker1: aweStriker_01_base_F { author = "Scot Gilmore"; _generalMacro = "aweStriker1"; scope = 2; crew = "awes_cargo"; typicalCargo[] = {"awes_cargo"}; side = 1; faction = "GIJOE"; displayName = "= AWE Striker ="; vehicleClass = "GIJoe_Ground"; accuracy = 1.25; hiddenSelectionsTextures[] = {"GIJOE\vhx_soft\gijoe_aweStriker\data\awes_ext_W_co.paa"}; class EventHandlers: EventHandlers { init = "if (local (_this select 0)) then {[(_this select 0), """", [], false] call bis_fnc_initVehicle;};"; }; }; }; Edited March 15, 2018 by scotg Added configs Share this post Link to post Share on other sites
mikero 79 Posted March 15, 2018 It's refreshing to see such detailed error reporting. It makes fixing it so much easier. Thank you for above. awes cargo rtm _probably_ contains 'bones' for the arma2 ofp2_manskeleton. Bis in their wisdom could not bring themselves to call a very different arma3 human skeleton ofp3_manskeleton. The logic behind that, clearly escaped them. as a result binarise has got itself in a knot. the other possibility, and a likely one, is you are expecting bis binarise to binarise two or more rtms which use different skeletons, one, the rather nice model.cfg you've shown above, which is clearly for a vehicle, and two, another rtm somewhere in the same pbo is a human static cargo pos. This, bis binarise cannot do. It can only crunch one skeleten type, per pbo 1 Share this post Link to post Share on other sites
mikero 79 Posted March 15, 2018 and, as you've probably guessed already, addon breaker will do everything possible to make a pbo, with errors if present (but not bother to tell you there are in fact errors). PboProject and it's friends will do everything possible to NOT make a pbo. I invite you to think on the difference. 1 Share this post Link to post Share on other sites
scotg 204 Posted March 15, 2018 (edited) @mikeroHey man, I'm sold on your tools, and I get the difference. We don't want to put product out there that breaks other mods or other people's computers. Although, I admit that sometimes I have trouble figuring out how to fix something even when the report tells me the problem. The vehicle is a buggy and has two occupants, a driver and a gunner. Since I have yet to set up the weapon, the gunner is actually a passenger for the moment. If possible, the final buggy will allow the gunner to turn off the weapon and set aside its controls. From here, the gunner can choose to just sit or to use his personal rifle/pistol as a human turret. That being said, I need at least two animations - one for each occupant. I have created two unique poses: awes_driver.rtm and awes_cargo.rtm. If you are interested in seeing these "weaponless" vehicle poses, as they were once included through Addon Breaker, then please see this video: I'd be willing to do some interface graphics for your tools if I could pick your brain on how to set up a mod better, make the tools more artist-friendly, and get my RTMs to work... and get Buldozer working in my dev environment. I should mention here that although the Mikero's Tools are working, I can no longer use Buldozer. Simply pointing to arma3.exe or arma3_x64.exe (as others have suggested) doesn't work. Edited March 15, 2018 by scotg Video overwrote content Share this post Link to post Share on other sites
scotg 204 Posted March 15, 2018 I just now realized how appropriate it is that the vehicle is a "buggy." Moving on, I tried removing only the cargo pose, awes_cargo.rtm, and its instances in the config.cpp. I kept awes_driver.rtm. Here's the report: Spoiler This build is licensed to 'Bohemia Interactive a.s.' for use within the scope of the following projects/products: 'All'. 12:58:41: Warning: CfgVehicles missing in PreloadConfig - may slow down vehicle creation 12:58:41: Warning: CfgAmmo missing in PreloadConfig - may slow down vehicle creation 12:58:41: Warning: CfgNonAIVehicles missing in PreloadConfig - may slow down vehicle creation 12:58:41: PhysX3 SDK Init started ... 12:58:41: PhysX3 SDK Init ended. 12:58:41: <anim = "GIJOE\vhx_soft\gijoe_aweStriker\Anims\awes_driver.rtm"> 12:58:41: Obsolete CfgSkeletons for OFP2_ManSkeleton, move to model.cfg 12:58:41: </anim> 12:58:42: Convert model GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d -> P:\temp\GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d 12:58:42: <model = "GIJOE\vhx_soft\gijoe_aweStriker\aweStriker1.p3d"> 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:44: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:45: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:45: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:0 Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:47: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:VIEW_CARGO Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:47: Warning: gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:VIEW_CARGO Stage 1 has no texture to retrieve format from (while generating ST coordinates) 12:58:54: Warnings in gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:shadow(1000) 12:58:54: Warnings in gijoe\vhx_soft\gijoe_awestriker\awestriker1.p3d:shadow(1000) 12:58:56: </model> 12:58:56: Extensions: EDIT: 2 hours ago, mikero said: ...one, the rather nice model.cfg you've shown above, which is clearly for a vehicle, and two, another rtm somewhere in the same pbo is a human static cargo pos. This, bis binarise cannot do. It can only crunch one skeleten type, per pbo Okay, now I get what you're saying. The vehicle skeleton is the first one. The second one was actually the second and third one - two occupant animations. ...I think that's what I'm picking up. So, how do I get two custom crew animations into the mod if pboProject won't include them? Getting them included via Addon Builder was a strange process that didn't seem consistent, I should add, but I could at least mess with it until it worked for each vehicle. 1 Share this post Link to post Share on other sites
mikero 79 Posted March 16, 2018 assuming ALL your rtms, (your p3d is irrelevant) ALL use ofp2_manskeleton, (eg they are ALL cargo poses) 1) create an anims subfolder and put ALL of them in there if you haven't done so already. 2) create a NameOfRtm.cfg file in the SAME folder. It doesn't matter which, of 20 different rtms, you have in there, just one of them needs a NameOfRtm.cfg This cfg file only contains a class cfgSkeletons.ofp2_manskeleton the 'right' skeleton to use is provided for you for arma1, arma2 and arma3 in the deRtm documentation folder Share this post Link to post Share on other sites
scotg 204 Posted March 16, 2018 I started with the same BIS sample model, so I'm assuming they haven't gotten a promotion somehow! LOL. However, I don't know how to tell if it's ofp2_manskeleton; it's whatever came out of the samples last fall, specifically Arma 3 Samples\Addons\TemplateRTM\Male.p3d. There is also a model.cfg in the same folder, but it only says "manskeleton" without the ofp2_. Here's what I found: BIS' TemplateRTM\model.cfg Spoiler class CfgSkeletons { class ManSkeleton { isDiscrete = 0; skeletonInherit = ""; skeletonBones[] = { "Pelvis","", "Spine","Pelvis", "Spine1","Spine", "Spine2","Spine1", "Spine3","Spine2", "Camera","Pelvis", "weapon","Spine1", "launcher","Spine1", // Head skeleton in hierarchy "neck","Spine3", "neck1","neck", "head","neck1", // New facial features "Face_Hub","head", "Face_Jawbone","Face_Hub", "Face_Jowl","Face_Jawbone", "Face_chopRight","Face_Jawbone", "Face_chopLeft","Face_Jawbone", "Face_LipLowerMiddle","Face_Jawbone", "Face_LipLowerLeft","Face_Jawbone", "Face_LipLowerRight","Face_Jawbone", "Face_Chin","Face_Jawbone", "Face_Tongue","Face_Jawbone", "Face_CornerRight","Face_Hub", "Face_CheekSideRight","Face_CornerRight", "Face_CornerLeft","Face_Hub", "Face_CheekSideLeft","Face_CornerLeft", "Face_CheekFrontRight","Face_Hub", "Face_CheekFrontLeft","Face_Hub", "Face_CheekUpperRight","Face_Hub", "Face_CheekUpperLeft","Face_Hub", "Face_LipUpperMiddle","Face_Hub", "Face_LipUpperRight","Face_Hub", "Face_LipUpperLeft","Face_Hub", "Face_NostrilRight","Face_Hub", "Face_NostrilLeft","Face_Hub", "Face_Forehead","Face_Hub", "Face_BrowFrontRight","Face_Forehead", "Face_BrowFrontLeft","Face_Forehead", "Face_BrowMiddle","Face_Forehead", "Face_BrowSideRight","Face_Forehead", "Face_BrowSideLeft","Face_Forehead", "Face_Eyelids","Face_Hub", "Face_EyelidUpperRight","Face_Hub", "Face_EyelidUpperLeft","Face_Hub", "Face_EyelidLowerRight","Face_Hub", "Face_EyelidLowerLeft","Face_Hub", "EyeLeft","Face_Hub", "EyeRight","Face_Hub", // Left upper side "LeftShoulder","Spine3", "LeftArm","LeftShoulder", "LeftArmRoll","LeftArm", "LeftForeArm","LeftArmRoll", "LeftForeArmRoll","LeftForeArm", "LeftHand","LeftForeArmRoll", "LeftHandRing","LeftHand", "LeftHandRing1","LeftHandRing", "LeftHandRing2","LeftHandRing1", "LeftHandRing3","LeftHandRing2", "LeftHandPinky1","LeftHandRing", "LeftHandPinky2","LeftHandPinky1", "LeftHandPinky3","LeftHandPinky2", "LeftHandMiddle1","LeftHand", "LeftHandMiddle2","LeftHandMiddle1", "LeftHandMiddle3","LeftHandMiddle2", "LeftHandIndex1","LeftHand", "LeftHandIndex2","LeftHandIndex1", "LeftHandIndex3","LeftHandIndex2", "LeftHandThumb1","LeftHand", "LeftHandThumb2","LeftHandThumb1", "LeftHandThumb3","LeftHandThumb2", // Right upper side "RightShoulder","Spine3", "RightArm","RightShoulder", "RightArmRoll","RightArm", "RightForeArm","RightArmRoll", "RightForeArmRoll","RightForeArm", "RightHand","RightForeArmRoll", "RightHandRing","RightHand", "RightHandRing1","RightHandRing", "RightHandRing2","RightHandRing1", "RightHandRing3","RightHandRing2", "RightHandPinky1","RightHandRing", "RightHandPinky2","RightHandPinky1", "RightHandPinky3","RightHandPinky2", "RightHandMiddle1","RightHand", "RightHandMiddle2","RightHandMiddle1", "RightHandMiddle3","RightHandMiddle2", "RightHandIndex1","RightHand", "RightHandIndex2","RightHandIndex1", "RightHandIndex3","RightHandIndex2", "RightHandThumb1","RightHand", "RightHandThumb2","RightHandThumb1", "RightHandThumb3","RightHandThumb2", // Left lower side "LeftUpLeg","Pelvis", "LeftUpLegRoll","LeftUpLeg", "LeftLeg","LeftUpLegRoll", "LeftLegRoll","LeftLeg", "LeftFoot","LeftLegRoll", "LeftToeBase","LeftFoot", // Right lower side "RightUpLeg","Pelvis", "RightUpLegRoll","RightUpLeg", "RightLeg","RightUpLegRoll", "RightLegRoll","RightLeg", "RightFoot","RightLegRoll", "RightToeBase","RightFoot" }; // location of pivot points (local axes) for hierarchical animation pivotsModel="Samples_F\TemplateRTM\ManSkeleton_Pivots.p3d"; }; }; class CfgModels { class Default { sectionsInherit=""; sections[] = {}; skeletonName = ""; }; class ArmaMan: Default { htMin = 60; // Minimum half-cooling time (in seconds) htMax = 1800; // Maximum half-cooling time (in seconds) afMax = 30; // Maximum temperature in case the model is alive (in celsius) mfMax = 0; // Maximum temperature when the model is moving (in celsius) mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). tBody = 37; // Metabolism temperature of the model (in celsius) sections[] = { "osobnost", "Head_Injury", "Body_Injury", "l_leg_injury", "l_arm_injury", "r_arm_injury", "r_leg_injury", "injury_body", "injury_legs", "injury_hands", "injury_head", "clan", "clan_sign", "Camo", "CamoB", "Camo1", "Camo2", "personality", "hl", "insignia" }; skeletonName = "ManSkeleton"; }; class bust: ArmaMan {}; class Male: ArmaMan {}; class MaleSkeleton_Pivots: ArmaMan {}; }; Would I need all of this, or are you saying skip all of this and just put "class cfgSkeletons.ofp2_manskeleton" at the top and then done? Share this post Link to post Share on other sites
scotg 204 Posted March 16, 2018 Well, using the model.cfg as is did not work, and renaming it awes_driver.cfg (because I have awes_driver.rtm and awes_cargo.rtm) did not work. Changing all instances of manskeleton to ofp2_manskeleton also did not work, and having just this did not work (not that is should have): class CfgSkeletons { class ofp2_manskeleton{}; }; Questions: - Do I need a PBOPREFIX file for every PBO? I have several projects that are intended to go into a group, a vehicles and gear mod, and possibly characters. I have yet to figure out how to use common folders in lower levels of the mod directory (used for textures, sounds, models - e.g.: vehicle radios, tires, etc.). - Do I need to first binarize the subfolder with the rtms, and then binarize the main vehicle folder? I'm confused. Share this post Link to post Share on other sites
mikero 79 Posted March 17, 2018 when all else fails, read the documentation $pboprefix$.txt WAS, originally there to state a prefix, it's now used for much more important things. >Would I need all of this, or are you saying skip all of this and just put "class cfgSkeletons.ofp2_manskeleton" at the top and then done? when all else fails, read the documentation Share this post Link to post Share on other sites
scotg 204 Posted March 17, 2018 3 hours ago, mikero said: when all else fails, read the documentation This is only helpful when one knows or can easily find which documentation applies to his situation. Searching for misleading or outdated (but well intended) results only adds to the frustration, yet I sift away still. In the case of your documentations, however, they are thorough and entertaining. I must admit I sometimes feel like I'm missing a key bit of information. Share this post Link to post Share on other sites
scotg 204 Posted March 17, 2018 On 3/16/2018 at 9:00 AM, mikero said: the 'right' skeleton to use is provided for you for arma1, arma2 and arma3 in the deRtm documentation folder I still cannot find this documentation. For that matter, I cannot find where/how to download deRtm... I must be overlooking something. Is it part of pboProject or something else? Share this post Link to post Share on other sites
mikero 79 Posted March 18, 2018 dertm is part of the subscriber toolset. But you can use any model.cfg (such as the one from samples) that contains an ofp2_manskeleton. What is provided in dertm is the skeletons for three different games. you only want arma3 Share this post Link to post Share on other sites
mikero 79 Posted March 18, 2018 ALL my documentation is in start programs (BIG button, bottm left corner of desktop)->all progams->mikero->depboTools->'pick a tool'->docs,readme, and blah this was told to you on the splash screen of every current tool you have installed. Share this post Link to post Share on other sites
scotg 204 Posted March 18, 2018 20 hours ago, mikero said: ALL my documentation is in start programs (BIG button, bottm left corner of desktop)->all progams->mikero->depboTools->'pick a tool'->docs,readme, and blah this was told to you on the splash screen of every current tool you have installed. ...except that it's not there. Following your example above, starting with my BIG, bottom-left button, the Mikero section has shortcuts to specific (named) programs, uninstalls of said programs, a few Web links, and a bunch of unknown programs and file folders - simply titled either "docs" or "readme" (about 20 in total). Examining each of the readmes shows that they only pertain to whatever programs are included in the free suite (the named ones in the BIG, bottom-left button menu). So "ALL" of your documentations (which I take to mean does not distinguish between the free or paid status of the software they cover) are not available. If I still had a subscription, then maybe I would have found the documentation. Incidentally, I had one in 2016 and just let it sit there until it expired while I concentrated on creating my models and textures, but have since then had to tidy up the HDD and re-install the whole free package (downloaded from Maverick Apps). Maybe that's the cause of the confusion; maybe you are unaware of what's missing in your own programs since they are not regularly maintained. Granted, many things haven't been quite right since Windows 10 FCU, but the re-install came after that. Since we're talking about the non-maintained versions, I get it. No matter if it's on purpose or an accident, when you say... On 3/16/2018 at 9:00 AM, mikero said: the 'right' skeleton to use is provided for you for arma1, arma2 and arma3 in the deRtm documentation folder ...it has no meaning to me, because it cannot be verified with what I have access to. Share this post Link to post Share on other sites
mikero 79 Posted May 1, 2018 If you don't have the tool, you don't have the documentation. Your argument about 'ALL' is illogical. As and when I add new tools for subscribers you seem to think the documentation for it will magically appear in the free tool set too. If i update the tools that you DO have, that documentation doesn't occur for you either. Share this post Link to post Share on other sites
scotg 204 Posted May 2, 2018 1 hour ago, mikero said: If you don't have the tool, you don't have the documentation. Your argument about 'ALL' is illogical. As and when I add new tools for subscribers you seem to think the documentation for it will magically appear in the free tool set too. If i update the tools that you DO have, that documentation doesn't occur for you either. I had already moved on, but since you want to poke the bear... There's documentation to some of your free stuff as well, and there's only a small piece of information floating around implying the documentation to the free stuff is outdated. Having been a paid subscriber in the past I can attest that the paid tools documentation has also been outdated and/or unintelligible (during my subscription period - 2016). Your consistency is compromised, thus my argument stands valid. I'm not here to argue, though. I just want to get to the best way to compile my work. Some people say Mikero Tools is best, and that's fine. Others say there's no need for the subscriber version. Still others say stay away from it all together - also fine. I've tried all three ways and found that pboProject is more thorough, but setting it all up jacks up my work environment. Its thoroughness is redundant in my case. You've got your reasons for making the tools whichever way you did; that's very clear. However, my confidence in them has been shaken, as I'm sure is the case with many others. I don't have any beef with you, but I do get annoyed with your fanboys that try to solve every problem with, "that's because you're not using Mikero's Tools," rather than offering any insightful input. The initial statement stands true, but perhaps it requires a qualifier that it stands true for the free version of pboProject. Share this post Link to post Share on other sites