About Store Forum Documentation Contact



Post Reply 
Who uses the API documentation?
Author Message
kaito Offline
Member

Post: #1
Who uses the API documentation?
I would like someone to explain "'how to use the API documentation'" to find a function, for example to 'rotate a mesh' or 'move camera'.

If i search for 'move camera' in API documentation, see:

TITLE
=======================================
Esenthel Engine: Esenthel Namespace Reference
Esenthel Engine: EsenthelEngine.h File Reference
Esenthel Engine: Camera.h File Reference
Esenthel Engine: Mesh Struct Reference
Esenthel Engine: Esenthel::Mesh Struc Reference
Esenthel Engine: Game::Chr Struct Reference
Esenthel Engine: Class Members

If I search for 'Camera' only, see many more results.

Finally, I search from the sample .cpp files.

Regards.
01-17-2009 08:16 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
Re: Who uses the API documentation?
API reference is only a list of functions, classes and headers

info on certain topics should be found in comments in headers, tutorials, and some in the documentation (but not the API reference, but english.chm)
01-17-2009 09:01 PM
Find all posts by this user Quote this message in a reply
kaito Offline
Member

Post: #3
Re: Who uses the API documentation?
Before Esenthel, I tested Dark GDK. This engine group functions (Core, Text, Input, File, Display, Basic2D, Bitmap, Sound, Music, Sprite, Image, Light, Camera, Basic3D, Matrix, World, Particles, 3D Maths, FTP, Memblocks, Multiplayer, System, Terrain) with their definitions in a .chm file. (this would be a suggestion).

I have grouped all the Esenthel .cpp files in a .txt file to search functions.
This is the file: <!-- m --><a class="postlink" href="http://perso.orange.es/tomas_cg75/EsenthelCode.html">http://perso.orange.es/tomas_cg75/EsenthelCode.html</a><!-- m -->

See you soon.
01-17-2009 09:29 PM
Find all posts by this user Quote this message in a reply
iPi Offline
Member

Post: #4
Re: Who uses the API documentation?
I also used Dark GDK before Esenthel. for about five seconds smile Please don't copy dark gdk, do it your own way esenthel smile

At least as far as the engine goes smile
01-19-2009 04:16 PM
Find all posts by this user Quote this message in a reply
Pancakes Offline
Member

Post: #5
Re: Who uses the API documentation?
kaito Wrote:Before Esenthel, I tested Dark GDK. This engine group functions (Core, Text, Input, File, Display, Basic2D, Bitmap, Sound, Music, Sprite, Image, Light, Camera, Basic3D, Matrix, World, Particles, 3D Maths, FTP, Memblocks, Multiplayer, System, Terrain) with their definitions in a .chm file. (this would be a suggestion).

I have grouped all the Esenthel .cpp files in a .txt file to search functions.
This is the file: <!-- m --><a class="postlink" href="http://perso.orange.es/tomas_cg75/EsenthelCode.html">http://perso.orange.es/tomas_cg75/EsenthelCode.html</a><!-- m -->

See you soon.

thank you for that incredible resource!

I do have a questino though at some times you will see a variable followed by an asterix, what is the significance of that? I think it means that the variable is a pointer to something, but could anyone tell me why you use pointer variables in some cases but not in others

Example:
Code:
tds.color=BLACK; // set black color
      tds.scale*=1.4f; // change scale

Scale has an asterix but color doesn't. Thank you for any advice you have :E

Here is another example:
Code:
Esenthel Engine SDK  : \Rendering\16 - Blood.cpp
================================================================================​
/******************************************************************************/
#include "stdafx.h"
#include <EsenthelEngine/EsenthelEngine.h>
/******************************************************************************/
Mesh   *chr   ; // character mesh
Gfx    *main  , // main   blood texture
       *single; // single blood texture
BloodFx blood ; // blood particle effect
/******************************************************************************/

*mesh, *main,*single

but blood doesn't have an asterix. Thank you for any advice. This is one of the core concepts of C++ that I do not presently understand. Just a little tip could help =)
01-28-2009 08:34 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #6
Re: Who uses the API documentation?
Hi smile

in here

tds.color=BLACK; // set black color
tds.scale*=1.4f;

it doesn't mean that scale is a pointer but *= is a multiplication operator

x *= 2; is the same as multiplying x by 2, you can write this this way too
x= x*2;



in this code

Mesh *chr ; // character mesh
Gfx *main , // main blood texture
*single; // single blood texture
BloodFx blood ; // blood particle effect

chr , main, single are pointer because they will not contain something, but point to a resource which will be stored in some other place
pointers are used for example when you want to access resources from a Data Cache
you can have a Cache of models, in the engine it's called 'Meshs' (cache of Mesh objects)
having such cache 'Meshs' you can access meshes from the disk by using this command
Meshs("d:\folder\mesh.mesh"); // this will return a pointer to a loaded Mesh
having a pointer you can store it into a pointer variable

Mesh *mesh=Meshs("d:\folder\mesh.mesh");
then you can operate on the mesh by this command for example
mesh->draw(..);


BloodFx blood doesn't have '*' because it will not be used as a pointer to object placed somewhere in the memory, but here 'blood' will contain the objects memory by itself.

you can use
Mesh mesh;
and you can use
Mesh *mesh;

but for meshes it's easier to use Mesh *mesh;
because for most of the time you'll simply be accessing meshes from the Cache
Mesh *mesh=Meshs("mesh.mesh");
01-28-2009 09:14 PM
Find all posts by this user Quote this message in a reply
Pancakes Offline
Member

Post: #7
Re: Who uses the API documentation?
ok thank you for that, just one more question

so...

when you say
Mesh *mesh=Meshs("d:\folder\mesh.mesh");

whenever you say
mesh->draw(..);
anywhere else within the scope of the pointer, "mesh->" is then going to refer to the data that is contained within ("d:\folder\mesh.mesh");

therefore for your next mesh you will need to say
Mesh *mesh2=Meshs("d:\folder\mesh2.mesh");

I noticed that when you were declaring the pointer variable that the code says:
Mesh *chr

why does it say "*chr"? When we are naming the pointer anything we want to name it?
Does chr == char?

Thank you I feel i have a 20% understanding of pointers, with 30% understanding I think I will be able to tackle your tutorials a bit better.

And one more question: I will leave you alone after this.

I have installed the files from the SDK Installation directory into my VC 2008 lib and Include directories. I'm still a very beginner to coding. How exactly do I set up a project file to begin running code into the SDK? Do I use a precompiled header? I'm sorry, I'm really new.

Thanks again!
01-28-2009 11:51 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #8
Re: Who uses the API documentation?
Quote:Mesh *mesh2=Meshs("d:\folder\mesh2.mesh");
yes this is good

Quote:When we are naming the pointer anything we want to name it?
yes, it's just a variable, and we can name the variable just the way we want

Quote: chr == char?
no these are 2 totally different things

'chr' is just a shortcut of the word "Character" (something like a Player/human/AI)
'char' is a c++ native keyword, which stands for single word character (like 'a', or 'b' or '0')

Quote:Do I use a precompiled header?
yes you can, but for simple projects (with few CPP files you don't have to)
for starting the best way would be just to use the already prepared Tutorials project.
for example create your own CPP file on the desktop, then drag and drop it to the Visual Studio\Solution Explorer\Tutorials project\Source folder
and in that source folder remove any other CPP files that come from the tutorials.

this way you don't have to create a new project but use the ready.
and remember to don't keep your custom files in the EsenthelEngineSDK folder, becase later you may accidentally delete them when updating the engine to the newest version.
01-29-2009 11:45 AM
Find all posts by this user Quote this message in a reply
flim Offline
Member

Post: #9
Re: Who uses the API documentation?
kaito Wrote:Before Esenthel, I tested Dark GDK. This engine group functions (Core, Text, Input, File, Display, Basic2D, Bitmap, Sound, Music, Sprite, Image, Light, Camera, Basic3D, Matrix, World, Particles, 3D Maths, FTP, Memblocks, Multiplayer, System, Terrain) with their definitions in a .chm file. (this would be a suggestion).

I have grouped all the Esenthel .cpp files in a .txt file to search functions.
This is the file: <!-- m --><a class="postlink" href="http://perso.orange.es/tomas_cg75/EsenthelCode.html">http://perso.orange.es/tomas_cg75/EsenthelCode.html</a><!-- m -->

See you soon.

Maintain a good manual is a big task. But I'd like to group functions like that.

Not intended to advertise another engine here, just for reference:

<!-- m --><a class="postlink" href="http://www.blitzbasic.com/b3ddocs/command_list_3d_cat.php">http://www.blitzbasic.com/b3ddocs/comma ... 3d_cat.php</a><!-- m -->
<!-- m --><a class="postlink" href="http://manual.3dgamestudio.net/">http://manual.3dgamestudio.net/</a><!-- m -->
<!-- m --><a class="postlink" href="http://www.leadwerks.com/wiki/index.php?title=Main_Page">http://www.leadwerks.com/wiki/index.php?title=Main_Page</a><!-- m -->
02-23-2009 12:24 PM
Find all posts by this user Quote this message in a reply
Post Reply