Jump to content
Sign in to follow this  
marker

Trying To get SU25 to work properly : Possible Config issue, maybe model.

Recommended Posts

Ok..

I thought I would mess around with the sample files from BIS / A2..

So, in my mind it should be easy enough to get the SU25 in game and possibly working 50/60%...

With the configs below, I can get the SU25 in game, with a texture, be able to fly it third person and fire the weapons.

The major problems are.

The config paths for the textures etc are bang on, I get cannot find icon.picture and textures when I place the SU25 down in the editor.

Also, it seems that it isn't using the rvmat etc as I cannot see out of the glass.

The model I think needs to be opened up in O2 to get the memory points for the weapons to attach to I think, and maybe also something in the model is still linking to ca\a2\texture path. The problem is I get a binarized error when I load it up in O2, I thought we were allowed to use the models to prot to A3?

Thanks and any advice is greatly appreciated!

config_.cpp

class CfgPatches
{
class AIR2_Su25
{
	units[] = {};
	weapons = "{}";
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Air_F"};
};
};

class CfgVehicles
{
#include "cfgVehicles.hpp"
};

config.cpp


class CfgPatches
{
class AIR2_Su25
{
	units[] = {Su25};
	weapons[] = {};
	requiredVersion = 0.100000;
	requiredAddons[] = {"A3_Air_F"};
};
};

class CfgVehicles
{
#include "cfgBase.hpp"

class Su25_IND_F: Su25_a3
{
	scope = 2;
	side = 1;
	faction=IND_F;
	crew= I_pilot_F;
	typicalCargo[]={I_pilot_F};
	displayName = "SU25";

	hiddenSelectionsTextures[] =
	{
		"air2\Su25\data\su25_body1_cdf_co.paa",
		"air2\Su25\data\su25_body2_cdf_co.paa"
	};
};
class Su25_Ind_G_F: Su25_a3
{
	scope = 2;
	side = 2;
	faction=IND_G_F;
	crew= I_pilot_F;
	typicalCargo[]={I_pilot_F};
	displayName = "SU25";

	hiddenSelectionsTextures[] =
	{
		"air2\Su25\data\su25_body1_rus_co.paa",
		"air2\Su25\data\su25_body2_rus_co.paa"
	};
};
class Su39: Su25_a3
{
	scope = 2;
	side = 0;
	faction=OPF_F;
	crew= O_pilot_F;
	typicalCargo[]={O_pilot_F};
	displayName = "SU39";



	hiddenSelectionsTextures[] =
	{
		"air2\Su25\data\su25_body1_rus_co.paa",
		"air2\Su25\data\su25_body2_rus_co.paa"
	};
	class Library
	{
		libTextDesc = "SU39_opf";
	};

};
};

cfgVehicles

// Generated by unRap v1.06 by Kegetys

class CfgVehicles {
class Air;	// External class reference

class Plane : Air {
	class NewTurret;	// External class reference
	class ViewPilot;	// External class reference
};

class Su25_base : Plane {
	destrType = "DestructWreck";
	model = "air2\su25\su25.p3d";
	displayName = "SU25";
	icon = "\air2\data\su25icomap_su25.paa";
	picture = "\air2\data\su25.paa";
	simulation = "airplane";
	animated = true;
	mapSize = 17;
	attenuationEffectType = "HeliAttenuation";

	class Library {
		libTextDesc = "Su25_cdf";
	};
	weapons[] = {"Cannon_30mm_Plane_CAS_02_F", "Missile_AA_03_Plane_CAS_02_F", "Missile_AGM_01_Plane_CAS_02_F", "Rocket_03_HE_Plane_CAS_02_F", "Rocket_03_AP_Plane_CAS_02_F", "Bomb_03_Plane_CAS_02_F", "CMFlareLauncher"};
	magazines[] = {"500Rnd_Cannon_30mm_Plane_CAS_02_F", "2Rnd_Missile_AA_03_F", "4Rnd_Missile_AGM_01_F", "2Rnd_Bomb_03_F", "20Rnd_Rocket_03_HE_F", "20Rnd_Rocket_03_AP_F", "120Rnd_CMFlare_Chaff_Magazine"};
	soundGetIn[] = {"A3\Sounds_F_EPC\CAS_02\getin", 0.562341, 1};
	soundGetOut[] = {"A3\Sounds_F_EPC\CAS_02\getout", 0.562341, 1, 40};
	soundDammage[] = {"", 0.562341, 1};
	soundEngineOnInt[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_start_int", 0.794328, 1.0};
	soundEngineOnExt[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_start_ext", 1.0, 1.0, 500};
	soundEngineOffInt[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_stop_int", 0.794328, 1.0};
	soundEngineOffExt[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_stop_ext", 1.0, 1.0, 500};
	soundLocked[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.1, 1};
	soundIncommingMissile[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.1, 1.5};
	soundGearUp[] = {"A3\Sounds_F_EPC\CAS_02\gear_up", 0.794328, 1.0, 150};
	soundGearDown[] = {"A3\Sounds_F_EPC\CAS_02\gear_down", 0.794328, 1.0, 150};
	soundFlapsUp[] = {"A3\Sounds_F_EPC\CAS_02\Flaps_Up", 0.630957, 1.0, 100};
	soundFlapsDown[] = {"A3\Sounds_F_EPC\CAS_02\Flaps_Down", 0.630957, 1.0, 100};

	class Sounds {
		class EngineLowOut {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_engine_idle_ext", db5, 1.0, 2100};
			frequency = "1.0 min (rpm + 0.5)";
			volume = "camPos*2*(rpm factor[0.95, 0])*(rpm factor[0, 0.95])";
		};

		class EngineHighOut {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_engine_max_ext", db6, 1.2, 2500};
			frequency = "1";
			volume = "camPos*4*(rpm factor[0.5, 1.1])*(rpm factor[1.1, 0.5])";
		};

		class ForsageOut {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_forsage_ext", 2.51189, 1.2, 2800};
			frequency = "1";
			volume = "engineOn*camPos*(thrust factor[0.6, 1.0])";
			cone[] = {3.14, 3.92, 2.0, 0.5};
		};

		class WindNoiseOut {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\noise", 0.562341, 1.0, 150};
			frequency = "(0.1+(1.2*(speed factor[1, 150])))";
			volume = "camPos*(speed factor[1, 150])";
		};

		class EngineLowIn {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_engine_idle_int", 0.630957, 1.0};
			frequency = "1.0 min (rpm + 0.5)";
			volume = "(1-camPos)*((rpm factor[0.7, 0.1])*(rpm factor[0.1, 0.7]))";
		};

		class EngineHighIn {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_engine_max_int", 0.630957, 1.2};
			frequency = "1";
			volume = "(1-camPos)*(rpm factor[0.85, 1.0])";
		};

		class ForsageIn {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\CAS_02_forsage_int", 0.630957, 1.2};
			frequency = "1";
			volume = "(1-camPos)*(engineOn*(thrust factor[0.6, 1.0]))";
		};

		class WindNoiseIn {
			sound[] = {"A3\Sounds_F_EPC\CAS_02\noise_int", db-6, 1.0};
			frequency = "(0.1+(1.2*(speed factor[1, 150])))";
			volume = "(1-camPos)*(speed factor[1, 150])";
		};
	};
	driverAction = "pilot_plane_cas_02";
	getinAction = "pilot_plane_cas_02_Enter";
	getoutaction = "pilot_plane_cas_02_Exit";
	precisegetinout = 1;
	viewDriverShadowDiff = 0.5;
	viewDriverShadowAmb = 0.5;
	accuracy = 0.2;	// accuracy needed to recognize type of this target
	landingSpeed = 220;
	acceleration = 250;
	maxSpeed = 900;	// max speed on level road, km/h
	armor = 75;
	damageResistance = 0.00485;
	armorStructured = 1;
	irScanRangeMin = 100;
	irScanRangeMax = 10000;
	irScanToEyeFactor = 3;
	aileronSensitivity = 0.9;	// relative aileron sensitivity
	elevatorSensitivity = 0.8;	// relative elevator sensitivity
	envelope[] = {0.0, 0.1, 0.65, 2.2, 3.7, 5.3, 6.0, 5.5, 5.6, 4.8, 3.6, 1.8, 0};
	//landingAoa = "rad 10";
	landingAoa = 0.174533;
	laserScanner = true;
	gunAimDown = 0.045;
	cabinOpening = 1;
	driverLeftHandAnimName = "";
	driverRightHandAnimName = "ControlStick";
	memoryPointLRocket = "L raketa";
	memoryPointRRocket = "P raketa";
	flapsFrictionCoef = 0.32;
	minFireTime = 30;	// minimal time spent firing on single target

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {1, 1, 1};



	class Reflectors {
		class Left {
			color[] = {0.8, 0.8, 1.0, 1.0};
			ambient[] = {0.07, 0.07, 0.07, 1.0};
			position = "L svetlo";
			direction = "konec L svetla";
			hitpoint = "L svetlo";
			selection = "L svetlo";
			size = 1;
			brightness = 1.0;

			class Attenuation {
				start = 0;
				constant = 0;
				linear = 5;
				quadratic = 2;
				hardLimitStart = 400;
				hardLimitEnd = 500;
			};
		};

		class Right {
			color[] = {0.8, 0.8, 1.0, 1.0};
			ambient[] = {0.07, 0.07, 0.07, 1.0};
			position = "P svetlo";
			direction = "konec P svetla";
			hitpoint = "P svetlo";
			selection = "P svetlo";
			size = 1;
			brightness = 1.0;

			class Attenuation {
				start = 0;
				constant = 0;
				linear = 5;
				quadratic = 2;
				hardLimitStart = 400;
				hardLimitEnd = 500;
			};
		};
	};
	hiddenSelections[] = {"camo1", "camo2"};
	hiddenSelectionsTextures[] = {"air2\Su25\data\su25_body1_cdf_co.paa", "air2\Su25\data\su25_body2_cdf_co.paa"};

	class Damage {
		tex[] = {};
		mat[] = {"\air2\Su25\data\su25_glass.rvmat", "\air2\Su25\data\su25_glass_damage.rvmat", "\air2\Su25\data\su25_glass_damage.rvmat", "\air2\Su25\data\su25_glass_in.rvmat", "\air2\Su25\data\su25_glass_in_damage.rvmat", "\air2\Su25\data\su25_glass_in_damage.rvmat", "\air2\Su25\data\su25_body1.rvmat", "\air2\Su25\data\su25_body1_damage.rvmat", "\air2\Su25\data\su25_body1_destruct.rvmat", "\air2\Su25\data\su25_body2.rvmat", "\air2\Su25\data\su25_body2_damage.rvmat", "\air2\Su25\data\su25_body2_destruct.rvmat", "\air2\Su25\data\su25_glass.rvmat", "\air2\Su25\data\su25_glass_damage.rvmat", "\air2\Su25\data\su25_glass_destruct.rvmat"};
	};

	class MFD {
		class AirplaneHUD {
			class Pos10Vector {
				type = "vector";
				pos0[] = {0.52, 0.03+0.06};
				pos10[] = {2.02, 1.29};
			};
			topLeft = "HUD LH";
			topRight = "HUD PH";
			bottomLeft = "HUD LD";
			borderLeft = 0;
			borderRight = 0;
			borderTop = 0;
			borderBottom = 0;
			color[] = {0, 1, 0, 0.1};

			class Bones {
				class ILS_H {
					type = "ils";
					pos0[] = {0.5, 0.5+0.06};
					pos3[] = {0.95, 0.5+0.06};
				};

				class ILS_W : ILS_H {
					pos3[] = {0.5, 0.92};
				};

				class PlaneW {
					type = "fixed";
					pos[] = {0.5, 0.5+0.06};
				};

				class HorizonBankMGun {
					type = "rotational";
					source = "HorizonBank";
					center[] = {0, 0};
					min = -6.28319;
					max = 6.28319;
					minAngle = -360;
					maxAngle = 360;
					aspectRatio = 0.8;
				};

				class HorizonBankReverted {
					type = "rotational";
					source = "HorizonBank";
					center[] = {0, 0};
					min = -3.14159265*2;
					max = 3.14159265*2;
					minAngle = 360;
					maxAngle = -360;
					aspectRatio = 0.8;
				};

				class HorizonDive {
					source = "horizonDive";
					type = "linear";
					min = -1;
					max = 1;
					minPos[] = {0.0, 1.06};
					maxPos[] = {0.0, 0.06};
				};

				class WeaponAim : Pos10Vector {
					source = "weapon";
				};

				class Target : Pos10Vector {
					source = "target";
				};

				class VelocityNotCenter : Pos10Vector {
					type = "vector";
					source = "velocity";
					pos0[] = {0.0, 0.0};
					pos10[] = {1.5, 1.2};
				};

				class SpdMove2 {
					source = "speed";
					min = 0;
					max = 200;
					type = "linear";
					minPos[] = {0.0, 0.0};
					maxPos[] = {0.0, 1.0};
				};

				class ASLMove1 {
					type = "linear";
					source = "altitudeASL";
					min = 0;
					max = 500;
					minPos[] = {0.0, 0.1};
					maxPos[] = {0.0, 0.8};
				};

				class Heading {
					type = "linear";
					source = "Heading";
					min = -36;
					max = 36;
					minPos[] = {0.0, 0.0};
					maxPos[] = {1.0, 0.0};
				};
			};

			class Draw {
				alpha = 0.6;
				color[] = {0.0, 0.3, 0.05};
				condition = "on";

				class Static {
					clipTL[] = {0.0, 0.1};
					clipBR[] = {1.0, 0.0};
					type = "line";
					points[] = {{"PlaneW", {-0.21, 7.34351e-009}, 1}, {"PlaneW", {-0.28, 9.79135e-009}, 1}, {}, {"PlaneW", {0.21, -2.00338e-009}, 1}, {"PlaneW", {0.28, -2.67117e-009}, 1}, {}, {"PlaneW", {-0.105, 0.145492}, 1}, {"PlaneW", {-0.14, 0.19399}, 1}, {}, {"PlaneW", {0.105, 0.145492}, 1}, {"PlaneW", {0.14, 0.19399}, 1}, {}, {"PlaneW", {-0.181865, 0.084}, 1}, {"PlaneW", {-0.242487, 0.112}, 1}, {}, {"PlaneW", {0.181865, 0.084}, 1}, {"PlaneW", {0.242487, 0.112}, 1}, {}, {"PlaneW", {-0.202844, 0.0434816}, 1}, {"PlaneW", {-0.270459, 0.0579755}, 1}, {}, {"PlaneW", {0.202844, 0.0434816}, 1}, {"PlaneW", {0.270459, 0.0579755}, 1}, {}, {"PlaneW", {-0.209201, 0.0146422}, 1}, {"PlaneW", {-0.244068, 0.0170825}, 1}, {}, {"PlaneW", {-0.20681, 0.0291729}, 1}, {"PlaneW", {-0.241278, 0.034035}, 1}, {}, {"PlaneW", {0.20681, 0.0291729}, 1}, {"PlaneW", {0.241278, 0.034035}, 1}, {}, {"PlaneW", {0.209201, 0.0146422}, 1}, {"PlaneW", {0.244068, 0.0170825}, 1}, {}};
				};

				class HorizonBank {
					clipTL[] = {0.0, 0.1};
					clipBR[] = {1.0, 0.9};
					type = "line";
					points[] = {{"PlaneW", 1, "HorizonBankReverted", {0.21, 0.0}, 1}, {"PlaneW", 1, "HorizonBankReverted", {0.07, 0.0}, 1}, {}, {"PlaneW", 1, "HorizonBankReverted", {-0.21, 0.0}, 1}, {"PlaneW", 1, "HorizonBankReverted", {-0.07, 0.0}, 1}, {}, {"PlaneW", 1, "HorizonBankReverted", {0.0, 0.14}, 1}, {"PlaneW", 1, "HorizonBankReverted", {0.0, 0.07}, 1}};
				};

				class HorizonDive {
					clipTL[] = {0.0, 0.1};
					clipBR[] = {1.0, 0.0};
					type = "line";
					points[] = {{"HorizonDive", {0.8, 0}, 1}, {"HorizonDive", {0.2, 0}, 1}};
				};

				class Missile {
					condition = "missile";

					class Target {
						type = "line";
						points[] = {{"Target", {0, -0.08}, 1}, {"Target", {0.05, -0.0696}, 1}, {"Target", {0.087, -0.50*0.10/(1.5/1.2)}, 1}, {"Target", {0.1, 0}, 1}, {"Target", {0.087, 0.04}, 1}, {"Target", {0.05, +0.87*0.10/(1.5/1.2)}, 1}, {"Target", {0, 0.08}, 1}, {"Target", {-0.05, 0.0696}, 1}, {"Target", {-0.087, +0.50*0.10/(1.5/1.2)}, 1}, {"Target", {-0.1, 0}, 1}, {"Target", {-0.087, -0.04}, 1}, {"Target", {-0.05, -0.87*0.10/(1.5/1.2)}, 1}, {"Target", {0, -0.08}, 1}};
					};
				};

				class Cros {
					condition = "on";

					class Cros {
						type = "line";
						points[] = {{"WeaponAim", {0.05, 0}, 1}, {"WeaponAim", {0.015, 0}, 1}, {}, {"WeaponAim", {0, 0.04}, 1}, {"WeaponAim", {0, 0.012}, 1}, {}, {"WeaponAim", {-0.05, 0}, 1}, {"WeaponAim", {-0.015, 0}, 1}, {}, {"WeaponAim", {0, -0.04}, 1}, {"WeaponAim", {0, -0.012}, 1}};
					};
				};

				class SpeedNumber {
					type = "text";
					align = "right";
					scale = 1;
					source = "speed";
					sourceScale = 3.6;
					pos[] = {{0.06, 0.07}, 1};
					right[] = {{0.14, 0.07}, 1};
					down[] = {{0.06, 0.12}, 1};
				};

				class AltNumber : SpeedNumber {
					source = "altitudeASL";
					sourceScale = 1;
					pos[] = {{0.86, 0.07}, 1};
					right[] = {{0.94, 0.07}, 1};
					down[] = {{0.86, 0.12}, 1};
				};

				class HeadingNumber : SpeedNumber {
					source = "HorizonDive";
					align = "right";
					sourceScale = 57.2958;
					pos[] = {"HorizonDive", {0.81, -0.05}, 1};
					right[] = {"HorizonDive", {0.89, -0.05}, 1};
					down[] = {"HorizonDive", {0.81, 0.0}, 1};
				};

				class MGun {
					condition = "mgun";

					class Lines {
						type = "line";
						points[] = {{"VelocityNotCenter", 0.001, "WeaponAim", 1, "HorizonBankMGun", {0.2, 0.0}, 1}, {"VelocityNotCenter", 0.1, "WeaponAim", 1, "HorizonBankMGun", {0.18, -0.01}, 1}, {"VelocityNotCenter", 0.2, "WeaponAim", 1, "HorizonBankMGun", {0.16, -0.03}, 1}, {"VelocityNotCenter", 0.3, "WeaponAim", 1, "HorizonBankMGun", {0.14, -0.06}, 1}, {"VelocityNotCenter", 0.4, "WeaponAim", 1, "HorizonBankMGun", {0.12, -0.1}, 1}, {"VelocityNotCenter", 0.5, "WeaponAim", 1, "HorizonBankMGun", {0.1, -0.15}, 1}, {"VelocityNotCenter", 0.6, "WeaponAim", 1, "HorizonBankMGun", {0.08, -0.21}, 1}, {"VelocityNotCenter", 0.7, "WeaponAim", 1, "HorizonBankMGun", {0.06, -0.28}, 1}, {"VelocityNotCenter", 0.8, "WeaponAim", 1, "HorizonBankMGun", {0.04, -0.4}, 1}, {}, {"VelocityNotCenter", 0.001, "WeaponAim", 1, "HorizonBankMGun", {-0.2, 0.0}, 1}, {"VelocityNotCenter", 0.1, "WeaponAim", 1, "HorizonBankMGun", {-0.18, -0.01}, 1}, {"VelocityNotCenter", 0.2, "WeaponAim", 1, "HorizonBankMGun", {-0.16, -0.03}, 1}, {"VelocityNotCenter", 0.3, "WeaponAim", 1, "HorizonBankMGun", {-0.14, -0.06}, 1}, {"VelocityNotCenter", 0.4, "WeaponAim", 1, "HorizonBankMGun", {-0.12, -0.1}, 1}, {"VelocityNotCenter", 0.5, "WeaponAim", 1, "HorizonBankMGun", {-0.1, -0.15}, 1}, {"VelocityNotCenter", 0.6, "WeaponAim", 1, "HorizonBankMGun", {-0.08, -0.21}, 1}, {"VelocityNotCenter", 0.7, "WeaponAim", 1, "HorizonBankMGun", {-0.06, -0.28}, 1}, {"VelocityNotCenter", 0.8, "WeaponAim", 1, "HorizonBankMGun", {-0.04, -0.4}, 1}};
					};
				};

				class weapons {
					type = "text";
					source = "weapon";
					align = "right";
					scale = 1;
					sourceScale = 1;
					pos[] = {{0.06, 0.88}, 1};
					right[] = {{0.12, 0.88}, 1};
					down[] = {{0.06, 0.92}, 1};
				};

				class ammo {
					type = "text";
					source = "ammo";
					align = "right";
					scale = 1;
					sourceScale = 1;
					pos[] = {{0.06, 0.93}, 1};
					right[] = {{0.12, 0.93}, 1};
					down[] = {{0.06, 0.97}, 1};
				};

				class ILS {
					condition = "ils";

					class Glideslope {
						clipTL[] = {0.0, 0.0};
						clipBR[] = {1.0, 1.0};

						class ILS {
							type = "line";
							points[] = {{ILS_W, {-0.4, 0}, 1}, {ILS_W, {0.4, 0}, 1}, {}, {ILS_W, {0, 0.04}, 1}, {ILS_W, {0, -0.04}, 1}, {}, {ILS_W, {0.2, 0.04}, 1}, {ILS_W, {0.2, -0.04}, 1}, {}, {ILS_W, {0.4, 0.04}, 1}, {ILS_W, {0.4, -0.04}, 1}, {}, {ILS_W, {-0.2, 0.04}, 1}, {ILS_W, {-0.2, -0.04}, 1}, {}, {ILS_W, {-0.4, 0.04}, 1}, {ILS_W, {-0.4, -0.04}, 1}, {}, {ILS_H, {0, -0.4}, 1}, {ILS_H, {0, 0.4}, 1}, {}, {ILS_H, {0.04, 0}, 1}, {ILS_H, {-0.04, 0}, 1}, {}, {ILS_H, {0.04, 0.2}, 1}, {ILS_H, {-0.04, 0.2}, 1}, {}, {ILS_H, {0.04, 0.4}, 1}, {ILS_H, {-0.04, 0.4}, 1}, {}, {ILS_H, {0.04, -0.2}, 1}, {ILS_H, {-0.04, -0.2}, 1}, {}, {ILS_H, {0.04, -0.4}, 1}, {ILS_H, {-0.04, -0.4}, 1}, {}};
						};
					};
				};
			};
		};
	};
	HeadAimDown = 4;
};
};

Share this post


Link to post
Share on other sites

weapons = "{}";

=>

weapons[] = {};

and upload the bin.log please

Share this post


Link to post
Share on other sites

Much obliged guys...

Figured some stuff out, mainly the paths for the textures wouldn't take unless I was in P: drive and also I didn't realise the rvmats also held their path in text format. A lot to learn, but as I am doing this mainly for enjoyment there is no rush! Can't believe I actually said enjoyment :)

Also please excuse any wrong terminology I use, first time ever messing around with models!

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
Sign in to follow this  

×