Jump to content
Sign in to follow this  
TheFalconer

Ofp-engine interfaces

Recommended Posts

At last! I've got O2, too, and now only the sky is the limit...

...the sky or my lack of knowledge about the interfaces of the OFP-Engine. I do understand that in the config.bin (which is like a config.cpp, only huger (about 28.000 lines!wink.gif) everything is being defined, animations, sounds, units, vehicles, weapons, ammo etc. I also know that these definitions in terms of a programming language use >interfaces< of the OFP-engine, like in " simulation="helicopter" ", or "model="ec_135.p3d"" (where simualtion and model are the interfaces) and that these can also be found in the p3d models constructed in O2 by telling things to be the "velka vrtule" (=big rotor), which is needed for a helicopter to work.

Now, to effectivly create models I would like to know more about the OFP-engine and its interfaces, like "which other animations can be found besides "rotate"" or "where does the "velka vrtule" or the "stopa PLL" go (to which variable is it assigned)?" or "is it possible to refer to definitions of a specific object in the game (like the stopa of another vehicle in order to create a trailer by defining invisible stopas behind a truck and referring to them as the stopas of the trailer)?"

My friends and I do have A LOT of ideas, being soldiers, too, and knowing what these guy need on a battlefield. We even already created an EC135 helicopter, a 20mm Fieldcannon and a tent (all not ready yet, need some texture and instruments ;o) ) and want to bring the other ideas to live too, but it will only work if we get to know more about the OFP-engine and it's interfaces.

Thanks 2 all for help in advance and to all the tutorial-makers and tool-creators who helped us very very much and of course a big thank you to BIS for the great game and for releasing O2 at last ;o)

TheFalconer.

Share this post


Link to post
Share on other sites

i should say your questions can only be answered whenever ofp is open source wink.gif. all you ask for requires changes to the game engine.

all commands ofp accepts from "users" are those listed in the command reference. these commands are like doors to the engine. to get more control over the game, bis would have to open more doors...

that is if i´m not totally wrong biggrin.gif

Share this post


Link to post
Share on other sites

Right, go the Oxygen FAQ and look for 2 tutorials. Read Zwadar's first and then d/l the demo model files (see sticky at the top of this forum).

Open a demo model and have a look at LODs. See what is there and see where.

Then look at Colonel Klinks fine aircraft tutorial.

Have you looked at config.cpp files b4? They define what certain vertexes in the memory LOD do - for instance some vertexes are axes about which hatches open.

Read the tutorials and mess about with the demo models.

Share this post


Link to post
Share on other sites

Maybe I failed in explaining what I wanted to know, sorry for that...

@stoppelhopser: To use the engine effectivly, it is not necessary to get hold of its sources (it might even cause more harm than be useful). But it does require a complete list of interfaces, the "doors to the engine" as you called them.

I do have the latest command reference, which is very comprehensive, but useless for making addons. It only refers to the script language being accepted by OFP, which is comletely different to the c-like structured language of the addons' config.cpp (above all in its purpose: The script language is the one spoken by the "user" as you mentioned, I concider myself a developer and therefor ask for access to the backdoors of the config.cpp and the p3d ;o) )

@scousejedi: Thanks for your advice, I already did that. I do understand the drawing-level like structure of the p3d (even though not comletely like the necessity of a hitGeometry and hitPoints...) and I am in posession of the decrypted config.bin of OFP ver1.75 (just in case anybody might want to argue: I did not decrypt it myself, but downloaded it from the www. I also officially bought OFP and the Resistance addon...). You are right, a lot of things get clearer by reading it, but not everything.

For example: In the class CfgVehicle certain definitions for the units can be found. Among these definitions is the one for the tank, which is a LandVehicle, which itself belongs to Land class and so on.

Within that Tank definition, a class called wheels is being defined in order to specify the extra tank wheels by puting the names of the parts the p3d is referring to in the "Named selections" of O2 into arrays called rotR, rotL, upDownL, upDownR. The engine then takes these classes and the arrays within to work on them and display them (I am aware that I'm not that an explainer, but I hope you do understand what I mean...)

Now we know the name of the arrays for the extra wheels and even some other things the engine gets from the config.bin, config.cpp and the p3d. But where do the other things go that can not be founf in the config.bin? Which is for example the name of the variable or array "stopa PLL" is being put in? Is it possible to refer to the variable of a class (unit) within another one or are they all declared private?

Reading the config.bin and trying to figure things out is one solution, but it's quite time eating and we would only gain few knowledge from it. Things could be much more simpler and work could be easier with an API specification, i.e. a list of the "doors" that already ARE open (@ stoppelhopser). Maybe someone of BIS is present in this forum and could tell help us a bit...

TheFalconer.

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (TheFalconer @ Sep. 24 2002,22:44)</td></tr><tr><td id="QUOTE">... and I am in posession of the decrypted config.bin of OFP ver1.75<span id='postcolor'>

Commented config available at Breathe page might be even better for you - it is not only decrypted, but also commented (but it contains only 1.46 definitions). It is very unlikely we will provide any proper documentation (as it is very time consuming to produce), but a lot of information is available on this forum.

Share this post


Link to post
Share on other sites

Dear Suma,

first of all I want to thank you and BIS for the fine work you've done with OFP and for all the effort you put into satisfying the community (even by releasing O2, which I do consider as a SDK in its way and by you're spending time and resources to help people out in all the forums).

I want to let you know that none of my requests contain any complains about your policy. As a programmer I know how hard it is to watch others messing around with my code and the more I appreciate your patience with such a "want to know it all" like me...

It is also clear that providing a documentation for an engine afterwards is a quite nasty job, especially if there hadn't been planned to be one. Therefore my question can be considered as answered, also because I don't want you to spend too much time on old things and invest it in the new engine ;o)

Besides, you are right, the commented config is much more helpful than that "only decrypted" one, even though it is not the latest, so thank you for the advice.

Best wishes,

TheFalconer

P.S.: If I only could I would quit my job and join BIS ;o)

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (Suma @ Sep. 25 2002,09:10)</td></tr><tr><td id="QUOTE">Commented config available at Breathe page<span id='postcolor'>

Would it be possible to also get the "source" of resource.bin? It would be very helpful when learning the custom dialogs feature, plus makers of full modifications would propably appreciate the abilitity to change the looks of the menus and dialogs already in the game.

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  

×