The Land xx class

From Bohemia Interactive Community
Revision as of 01:34, 12 January 2016 by Mikero (talk | contribs) (Created page with "A great deal of angst, frustration and misunderstandings surround would be map makers using animated buildings on their maps. The very first, and very infamous misunderstandi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A great deal of angst, frustration and misunderstandings surround would be map makers using animated buildings on their maps.

The very first, and very infamous misunderstanding is that your animated building opens doors when you place it in the game editor, but simply does not work when you bake it into a map (wrp).

For this magic to happen, you must have class land_nameOfP3d and model = NameOfp3d;

It is that simple.


And for these animations to happen at all in the in-game editor or otherwise, your p3d has to have it's geolod property set to class=house

It is that simple.

class inherited_class; // generally house, or house_f
class land_my_great_building: inherited_class
{
    model=\some\location\my_great_building.p3d;
    ..... the rest doesn;t matter
};
  • Note that you can have land classes for other p3d class 'types', and they are optional. But if you wish to use the unique and very special properties of class=house, you must have a land_xx to go with it.

It is that simple.


Architecturally, and indeed, in the engine itself, the class name for an animated building is of no consequence. It can be named anything and will 'work'. This is sometimes encountered in arma2 where bis have used a different bis binarise to the one released to the community. For the community, bis binarise is not so kind to you. It has a primitive search facility that insists

nameOfp3d = class land_nameofP3d.

And for this magic to happen, bis binarise must be able to locate the config.cpp where this land_xx is declared.

When porting arma2 assets, whether genuine bis product, or other people's:

  • there may not be a corresponding land_xx. It was never coded. Or (much much much more likely)
  • you haven't told bis binarise where to look.

pboProject from Mikero looks at the wrp that bis binarise produces, and checks whether or not every p3d with class=house has a corresponding land_xx.

If some are missing you have several choices

  • remove or at least change the geolod property to something else using dep3d.exe. If you don't want animations or the p3d was wrongly classed.
  • use wingrep to locate where the config.cpp is on your p:\drive and tell pboProject about it. (so that bis binarise can go sniffing)
  • create your own land_xx class in your own config for those land_classes that genuinely do not exist.