Jump to content
Sign in to follow this  
Johno89

PBO Project - Bis Binarise error

Recommended Posts

Hi guys,

 

I'm trying to add a custom faction to Arma 3. This is the Republic from Star Wars and (for now) will include a Clone trooper. Using PBO project (I think) Ive removed all errors from my config files. However when I click crunch, I receive an error stating Arma 3 has stopped working. This happens when bis binarise tries to pack my P3D files for the clone trooper. It fails to do this, then moves onto my other folders and packs them successfully.  Here is the error reporting;

 

 

scanning for jobs to do....

Processing @Star Wars - Clone Assault\SWCA_Characters\CloneTrooper
creating texheaders.bin
Creating texture headers file...
3 texture headers saved to file "@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\texHeaders.bin"
using binarise.exe
Creating temp\project folder(s)
        copying/crunching to temp...
        <Bis Binarise...>
        Binarise crashed with error status -1073741819.
        Depending on the number of goats you sacrificed,
        this may, or may not matter.
        </Bis binarise>
        stripping the binlog
 
MakePbo x64UnicodeVersion 1.90, Dll 5.24 "CloneTrooper"
 
No error(s)
 
signing E:\Program Files (x86)\Steam\steamapps\common\Arma 3\@Star Wars - Clone Assault\Addons\CloneTrooper.pbo...
Done
Processing @Star Wars - Clone Assault\SWCA_Data
creating texheaders.bin
Creating texture headers file...
1 texture headers saved to file "@Star Wars - Clone Assault\SWCA_Data\texHeaders.bin"
MakePbo x64UnicodeVersion 1.90, Dll 5.24 "SWCA_Data"
 
No error(s)
 
signing E:\Program Files (x86)\Steam\steamapps\common\Arma 3\@Star Wars - Clone Assault\Addons\SWCA_Data.pbo...
Done
Processing @Star Wars - Clone Assault\SWCA_Factions
creating texheaders.bin
Creating texture headers file...
2 texture headers saved to file "@Star Wars - Clone Assault\SWCA_Factions\texHeaders.bin"
MakePbo x64UnicodeVersion 1.90, Dll 5.24 "SWCA_Factions"
 
No error(s)
 
signing E:\Program Files (x86)\Steam\steamapps\common\Arma 3\@Star Wars - Clone Assault\Addons\SWCA_Factions.pbo...
Done
Job(s) completed in 7secs on Tue Jun 14 17:25:46 2016
 

 

When I look A3's directory. I can see that two out of the 3 PBO's appear correct. However, instead of seeing 'SWCA_Characters' PBO. I see 'Clonetrooper' PBO which is a folder within SWCA_Characters. 

 

I am a noob at this, but If anyone could enlighten me on what to do I'd appreciate this.

 

Thanks.

Share this post


Link to post
Share on other sites

If you only have a config.cpp in your CloneTrooper folder but not in your SWCA_character folder then you will end up with a CloneTrooper.pbo.

Share this post


Link to post
Share on other sites

So I need another config at the root of SWCA_Characters? What would this detail as I have defined the clone trooper already. 

Share this post


Link to post
Share on other sites

I couldn't tell you exactly what you need as I've never done a character pack, I just happened to know the behaviour of PBOProject in this case.

 

I suppose the config.cpp you have now only defines the Clonetrooper unit? If you make it mimick the characters_f config.cpp for BIS' own units, that would be a good starting point as it defines multiple units in one go. If you post the config for your Clonetrooper I'll be more than willing to try help you figure it out.

Share this post


Link to post
Share on other sites

Yeah Sure. To give you a little more info, using PBO manager I extracted the PBO's from the cancelled Star Wars Imperial Assault. This was to gain an insight into how to structure the files and to write the configs. I know this may be frowned upon, but I'm just using their work as a template on how to do things (I havn't and won't try to unbinarize their p3d files). Anywho, here is my config for the clone trooper:


class CfgPatches 
{;
	class SWCA_Characters_Clonetrooper {	
		units[] = {"Clonetrooper"};
		weapons[] = {"Clone_helmet", "Clone_armor", "Clone_comsuit"};
		requiredVersion = 0.100000;
		requiredAddons[] = {};
	};
};

class cfgWeapons {
	/*extern*/ class ItemCore;
	/*extern*/ class InventoryItem_Base_F;
	/*extern*/ class HeadgearItem;
	/*extern*/ class Vest_NoCamo_Base;
	/*extern*/ class VestItem;
	/*extern*/ class UniformItem;
	/*extern*/ class Uniform_Base;

	class Clone_helmet: ItemCore {
		scope = 2;
		author = "John";
		weaponPoolAvailable = 1;
		displayName = "Clonetrooper Helmet";
		picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonehelmet_ca";
		model = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_helmet.p3d";

		class ItemInfo: HeadgearItem {
			mass = 100;
			uniformModel = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_helmet";
			modelSides[] = {3, 1};
			armor = "3*0.5";
			passThrough = 0.800000;
		};
	};

	class Clone_armor: Vest_NoCamo_Base {
		scope = 2;
		author = "John";
		displayName = "Clonetrooper Armor";
		picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonearmor_ca.paa";
		model = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_armor";

		class ItemInfo: VestItem {
			uniformModel = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_armor";
			containerClass = "Supply180";
			mass = 60;
			armor = "5*0.6";
			passThrough = 0.700000;
		};
	};

	class Clone_comsuit: Uniform_Base {
		scope = 2;
		author = "John";
		displayName = "Clonetrooper Compression Suit";
		picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonecomsuit_ca.paa";
		model = "E:\Program Files (x86)\Steam\steamapps\common\Arma 3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

		class ItemInfo: UniformItem 
		{
			uniformModel = "-";
			uniformClass = "Clonetrooper";
			containerClass = "Supply10";
			mass = 60;
		};
	};
};

class CfgVehicles {
	/*extern*/ class O_Soldier_base_F;

	class Clonetrooper: O_Soldier_base_F {
		scope = 2;
		faction = "Republic";
		author = "John";
		vehicleClass = "Men";
		model = "\@Star Wars - Clone Assault\SWCA_Characters\Clonetrooper\Clone_Csuit";
		displayName = "Clonetrooper";
		identityTypes[] = {"CC-2224"};
		uniformClass = "Clone_comsuit";
		linkeditems[] = {"Clone_armor", "Clone_helmet", "ItemGPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
		respawnlinkeditems[] = {"Clone_armor", "Clone_helmet", "ItemGPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
		//weapons = {"BH_E11BlasterRifle_Scoped", "BH_SE14r_Scoped", "Throw", "Put"};
		//respawnWeapons = {"BH_E11BlasterRifle_Scoped", "BH_SE14r_Scoped", "Throw", "Put"};
		//magazines = {"BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_SE14r_Mag", "BH_SE14r_Mag", "BH_BCCK_ThermalD"};
		//respawnMagazines = {"BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_SE14r_Mag", "BH_SE14r_Mag", "BH_BCCK_ThermalD"};
		cost = 600000;
		genericNames = "NATOMen";
	};
};

class cfgMods {
	author = "";
	timepacked = "";
};

Like I say I am a noob at this, there is ALOT I don't know. 

Share this post


Link to post
Share on other sites

At least you're upfront about what you're doing :) but I'm afraid I have to ask first, where did you get the models you're using?

Share this post


Link to post
Share on other sites

I made them all myself in 3ds Max. Then imported them into Object Builder. I would show you pictures but I'm unsure how to do this. The P3D files include:

 

Clone_armor

Clone_Csuit

Clone_Helmet

Share this post


Link to post
Share on other sites

This may or may not help with your particular problem, but you have an errant semi-colon in your config:

 

class CfgPatches 
{;

 

remove that ; on line 2

  • Like 1

Share this post


Link to post
Share on other sites

Hi Johno

 

When bis binarise crashes it doesn't actually report good or bad status the above messages are simply that pboProject noticed it. Half the time, the crash(es) appear to be irrelevant and occur when binarise is simply closing down, hence pboPro lets the processing carry on. It should not do that really, and subsequent versions do in fact stop.

 

No one knows the cause of any of the different crashes we get with binarise because there's no progress information of what it's doing at the time. The best people have noticed is that it _appears_ to be caused by a p3d it doesn't like. (as opposed to say a bad config, paa, or rvmat)

 

---

As others have commented, pboProject builds pbos plural, and addons plural (all-in-one-go. (if you let it).  The definition of an addon is that it has a config.cpp. It is quite legal, to have addons within addons, eg multiple configs in the same pbo. PboProject considers the first config.cpp it disccovers to be the boundary of the pbo. Hence subsequent configs in the child folders are merely addons in the same pbo.

 

---

sorry, but there is no easy answer for you re the binarise crash. You will have to do what everyone else has to do, and use the 'halve and halve again' rule. This simply means start taking out large chunks of data out of your pbo until it packs successfully, then progressively add things back, to locate the problem.

  • Like 1

Share this post


Link to post
Share on other sites

Sorry, real life demanded some attention and I didn't get around to answering you.

 

Not sure but I think renaming SWCA_Characters_Clonetrooper to SWCA_Characters and moving the config.cpp up one level into the mod's rootfolder might work. The {; uk_apollo mentioned would've landed you an error at some point.

 

class CfgPatches 
{
    class SWCA_Characters {    
        units[] = {"Clonetrooper"};
        weapons[] = {"Clone_helmet", "Clone_armor", "Clone_comsuit"};
        requiredVersion = 0.100000;
        requiredAddons[] = {};
    };
};

class cfgWeapons {
    /*extern*/ class ItemCore;
    /*extern*/ class InventoryItem_Base_F;
    /*extern*/ class HeadgearItem;
    /*extern*/ class Vest_NoCamo_Base;
    /*extern*/ class VestItem;
    /*extern*/ class UniformItem;
    /*extern*/ class Uniform_Base;

    class Clone_helmet: ItemCore {
        scope = 2;
        author = "John";
        weaponPoolAvailable = 1;
        displayName = "Clonetrooper Helmet";
        picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonehelmet_ca";
        model = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_helmet.p3d";

        class ItemInfo: HeadgearItem {
            mass = 100;
            uniformModel = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_helmet";
            modelSides[] = {3, 1};
            armor = "3*0.5";
            passThrough = 0.800000;
        };
    };

    class Clone_armor: Vest_NoCamo_Base {
        scope = 2;
        author = "John";
        displayName = "Clonetrooper Armor";
        picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonearmor_ca.paa";
        model = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_armor";

        class ItemInfo: VestItem {
            uniformModel = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\Clone_armor";
            containerClass = "Supply180";
            mass = 60;
            armor = "5*0.6";
            passThrough = 0.700000;
        };
    };

    class Clone_comsuit: Uniform_Base {
        scope = 2;
        author = "John";
        displayName = "Clonetrooper Compression Suit";
        picture = "\@Star Wars - Clone Assault\SWCA_Characters\CloneTrooper\dta\ui\icon_Clonecomsuit_ca.paa";
        model = "E:\Program Files (x86)\Steam\steamapps\common\Arma 3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";

        class ItemInfo: UniformItem
        {
            uniformModel = "-";
            uniformClass = "Clonetrooper";
            containerClass = "Supply10";
            mass = 60;
        };
    };
};

class CfgVehicles {
    /*extern*/ class O_Soldier_base_F;

    class Clonetrooper: O_Soldier_base_F {
        scope = 2;
        faction = "Republic";
        author = "John";
        vehicleClass = "Men";
        model = "\@Star Wars - Clone Assault\SWCA_Characters\Clonetrooper\Clone_Csuit";
        displayName = "Clonetrooper";
        identityTypes[] = {"CC-2224"};
        uniformClass = "Clone_comsuit";
        linkeditems[] = {"Clone_armor", "Clone_helmet", "ItemGPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
        respawnlinkeditems[] = {"Clone_armor", "Clone_helmet", "ItemGPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
        //weapons = {"BH_E11BlasterRifle_Scoped", "BH_SE14r_Scoped", "Throw", "Put"};
        //respawnWeapons = {"BH_E11BlasterRifle_Scoped", "BH_SE14r_Scoped", "Throw", "Put"};
        //magazines = {"BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_SE14r_Mag", "BH_SE14r_Mag", "BH_BCCK_ThermalD"};
        //respawnMagazines = {"BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_E11BlasterRifle_Mag", "BH_SE14r_Mag", "BH_SE14r_Mag", "BH_BCCK_ThermalD"};
        cost = 600000;
        genericNames = "NATOMen";
    };
};

class cfgMods {
    author = "";
    timepacked = "";
};

Share this post


Link to post
Share on other sites

Thanks for the replys guys, since my last message I've managed to pack my helmet and armour seperately. They appear in-game and fit the arma man (need tweaking) but its a good start. I forgot to triangulate my armor, hence why it looks abit crap. Obj doesnt like smoothing groups?

 

33tlb2q.jpg

Share this post


Link to post
Share on other sites

Nice clone wars mod. Massive star wars fan and was thinking of making one myself, good luck. Try to get a black magnetic body glove in to match the armor.

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  

×