Jump to content
Sign in to follow this  
seancombs

Finding out the addons used

Recommended Posts

Hi is there a way to find a list of addons used in a specific mission,

editing the mission.sqm in notepad doesn’t show all of them. 

 

Thanks in advance

Share this post


Link to post
Share on other sites

The mission.sqm shows all objects which were placed by the mission designer in the editor for Intro, Outro and the mission itsself. It does not indicate any vehicles or objects which might be spawned during the mission itsself.

You can try searching the whole folder of the mission for the createVehicle and camCreate commands and see if any class names are mentioned which would not be part of the addons mentioned in the mission.sqm file (Notepad++ can do this). Depending on the mission it can become tedious since it's hard - if not impossible - to connect class names to be used for those commands with the addons to which they belong.

Share this post


Link to post
Share on other sites

The problem is precisely that even if a unit is placed the name of the addon for it in mission.sqm does not correspond neither to class name, nor to .pbo name. And it is unknown where does it come from.

Share this post


Link to post
Share on other sites

OK, but it is not a question of the certain mission, but of principle. For example I place Pz4H tank from WWII pack and Pz4f2 tank and soviet medic from Liberation mod on desert island. The mission.sqm would be as follows. As it seen, the addon name does not correspond to class name and, even more, there are no addon name for "lib_pzIVf2" and "lib1_medic", neither in mission.sqm, nor in addons folder ("pz4_tank" also does not correspond neatly to pz4h.pbo in folder). Alternatively, there can be situation when there are some addons in .sqm, but not actually used.

 

Quote

version=11;
class Mission
{
    addOns[]=
    {
        "pz4_tank"
    };
    addOnsAuto[]=
    {
        "pz4_tank"
    };
    randomSeed=3383811;
    class Intel
    {
    };
    class Groups
    {
        items=3;
        class Item0
        {
            side="EAST";
            class Vehicles
            {
                items=1;
                class Item0
                {
                    position[]={9758.040039,29.352945,4013.866455};
                    id=0;
                    side="EAST";
                    vehicle="pz4h_b";
                    player="PLAYER COMMANDER";
                    leader=1;
                    skill=0.600000;
                };
            };
        };
        class Item1
        {
            side="WEST";
            class Vehicles
            {
                items=1;
                class Item0
                {
                    position[]={9834.839844,26.730000,4011.199707};
                    id=1;
                    side="WEST";
                    vehicle="lib_pzIVf2";
                    leader=1;
                    skill=0.600000;
                };
            };
        };
        class Item2
        {
            side="EAST";
            class Vehicles
            {
                items=1;
                class Item0
                {
                    position[]={9809.240234,26.730000,3936.533203};
                    id=2;
                    side="EAST";
                    vehicle="lib1_medic";
                    leader=1;
                    skill=0.600000;
                };
            };
        };
    };
};
class Intro
{
    randomSeed=15048195;
    class Intel
    {
    };
};
class OutroWin
{
    randomSeed=185347;
    class Intel
    {
    };
};
class OutroLoose
{
    randomSeed=2388483;
    class Intel
    {
    };
};

 

Share this post


Link to post
Share on other sites
11 hours ago, Dunkelheit II said:

As it seen, the addon name does not correspond to class name and, [...]

Yes. The addon names which are listed in the addons and addonsAuto arrays of the mission.sqm file correspond to the names defined in the CfgPatches class of the addon's config file. The names in the CfgPatches do not have to match the .pbo file in which the config is packaged.

 

The only way to find out which vehicle class names correspond to which addons mentioned in the addons array of the mission.sqm is to compare all vehicle class names from the mission.sqm with the config files corresponding to all CfgPatches names from addons section.

Mando_OFPClass could somewhat help with that, I've never used it but it claims to extract all vehicle class names from a mission.sqm file.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks, it is a useful program. But the problem is that although class names in .sqm and CfgPatches are exactly identical, it is not so for addons names and class names, because addons names are absent from config files. Moreover, there are sometimes no config files for the addons at all. These names come from unknown source, but can prevent mission from loading if some of these so called addons are missing.

Share this post


Link to post
Share on other sites
1 hour ago, Dunkelheit II said:

Thanks, it is a useful program. But the problem is that although class names in .sqm and CfgPatches are exactly identical, it is not so for addons names and class names, because addons names are absent from config files.

Yes, that's what I've said (if by "addon names" you mean the .pbo files).

I've not been aware of addons not showing up in the addons section of the mission file. But I usually don't spend any time verifying the mission.sqm's content.

 

What exactly are you trying to achieve? To you have problems loading a specific mission file? What error message does the mission editor display to you? Then it might help if you post the file as Prof suggested.

Share this post


Link to post
Share on other sites
1 hour ago, zwobot said:

Yes, that's what I've said (if by "addon names" you mean the .pbo files).

By "addon names" I mean names which are listed in the addons and addonsAuto arrays of the mission.sqm. They are absent everywhere, except .sqm. For example, for class "pz4h_b" there is addon "pz4h.pbo", but addon name  is "pz4_tank", which are not present in .pbo config file. I simply want to combine some units from several addon packs and select only those addons which are used in this mission. When I load full addons packs together there is no problem, but when I try to select the mods used precisely in this mission, I have inconformity between the .pbo pack and addon names list in .sqm, and mission does not load or crashes as if I missed some addons.

Share this post


Link to post
Share on other sites

Well, your problem is that the Liberation mod organization is quite complex. Most of the units aren't defined in the pbo files but directly in the config.bin file (or hpp files). The name you find in the mission.sqm (vehicle="lib1_medic") is the class name. Some mods (as mine or libmod) aren't supposed to be mixed with others, and are based on one particular main config.

Share this post


Link to post
Share on other sites
1 hour ago, ProfTournesol said:

Well, your problem is that the Liberation mod organization is quite complex.

 

Yes, but it is only a part of a problem. The main thing is that game while checking addons uses first of all addon list in mission.sqm, which does not correspond to class names and .pbos. So, I can actually have all .pbos needed for a mission, but too general or inadequate addon name will count addons as missing. It is possible, for example, that I want to add one plane, but addon name for it would be sometihing like "air" and if there will be no all .pbos under this title present, I will have an error of missing addons. So, the main question is - where do these names come from and how to edit them?

Share this post


Link to post
Share on other sites

Been gone so long I forgot my login :)

 

Try this addon scanner, it works on all pbo's...missions, campaigns and addons. It will list all classnames without having to depbo.

 

http://www.mediafire.com/file/qvtzqdlilxum9fm/addonscanner2.31.zip

 

Of course class names don't really tell you the addon name but this is all we have to work with.

  • Like 1

Share this post


Link to post
Share on other sites
On 25.05.2018 at 4:20 AM, zulu1 said:

Try this addon scanner, it works on all pbo's...

Thanks, but program does not work, because on my Windows 7 64 there is no System folder, and placing depbo.dll to System32 (or creating System folder) does not help. But why class names "of course" don't really tell us about addon name? They must come from somewhere, don't they?

Share this post


Link to post
Share on other sites

The vhicle calss names have absolutely nothing in common with the addon name (.pbo file), that's what everyone is telling you all the time and I think you did not fully understand this.

 

An addon is a file of type .pbo and it usually contains a configuration file: config.cpp

The config.cpp consists of several parts. One of it is the CfgPatches class. As the Biki says, it contains meta-information about the addon. To be precise, the name of the addon which you will find in the mission.sqm's addons array is defined in the name attribute of the CfgPatches class of an addon.

 

To be able to use the addon in Ofp it has to be packaged into a .pbo file - when you put everything into a .pbo file you tell the tool you're using for that which file name to store the addon with. Now this file name can be completely arbitrary. I. e. you can name your .pbo file "My_super_addon.pbo" but in the config.cpp wich is put into this file you can have the name in the CfgPatches calss defined as "xyz_who_cares_about_pbo_names".

When you have the addon "My_super_addon.pbo" loaded in Ofp and place a vehicle from this addon in the mission and save it, then the addons array will contain the value "xyz_who_cares_about_pbo_names"!

 

How do you know that "xyz_who_cares_about_pbo_names" corresponds to "My_super_addon.pbo"? You don't! Unless you are the author of the addon or check the contents of the .pbo files to find out what their names defined in the CfgPatches is.

Share this post


Link to post
Share on other sites
Quote

The vhicle calss names have absolutely nothing in common with the addon name (.pbo file), that's what everyone is telling you all the time and I think you did not fully understand this.

This is precisely what I understood from the start. What I could not understand, but now see, is that both addon name and class name are (or should be at least) listed in CfgPatches. Thanks, but you say this for the first time. But again, in CfgPatches both addon name and class name are marked as CLASS, which creates confusion.

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  

×