About Store Forum Documentation Contact



Post Reply 
EEDevTools (Developer's Console / Project Creator / Luabind Generator)
Author Message
Driklyn Offline
Member

Post: #1
EEDevTools (Developer's Console / Project Creator / Luabind Generator)
--------------------

EEDevTools
A set of development tools for the Esenthel Engine.


Wiki
Download



Overview:

EEDevTools is a set of development tools for the Esenthel Engine. Currently, four tools are available: a developer's console, an events system (deprecated), a project creator, and the brand new tool, Luabind Generator.


Tools:


Last Updated: 1/12/12


--------------------


Luabind Generator:

Luabind Generator is a tool which wraps nearly the entire Esenthel Engine automatically for you by processing the C++ header files of the engine and outputting the Luabind-equivalent code, allowing you to use (most of) the engine through Lua scripts.

Boost, Lua, and Luabind are all required for the use of this tool. All the necessary files for include Lua and Luabind in your project are included with EEDevTools; however, Boost (http://www.boost.org) needs to be downloaded separately. Just place the extracted /Boost folder in the /Include folder of your project (if following the tutorial).

[Image: cpfGC6poOr4yS7acwqjQXA]


--------------------


Project Creator:

Easily create ready-to-go Microsoft Visual Studio 2008/2010 projects for your Esenthel Engine game! Simply place the tool inside the EsenthelEngineSDK/Tools folder, fill out the form, and press 'Create'. VoilĂ ! Your brand new project has been created.

This tool works by using the VS projects included in the EsenthelEngineSDK\Tutorials folder as a template.

[Image: dese9G7mqr4i7-acwqjQYw]


--------------------


Events Overview:

The events system allows you to visually create timelines of events for nearly all object types (excluding OBJ_DECAL and OBJ_MESH_OVERLAY) using the included tool, Events Editor. These events are then loaded into your game and executed from left-to-right order as they appear in each timeline.

An event timeline consists of three items: 1) an event type, 2) a function name, and 3) a target.

  1. An event type defines when the event should occur.
  2. The function name defines the function to be triggered by the event type, whenever it occurs.
  3. The target defines the actor that the function assigned to the function name should be triggered on.

Please watch the video tutorial* for more information.

* It is recommended to first download EEDevTools before watching the tutorial, so you may follow along with it.


Events Preview:

   
   


--------------------


Console Overview:

Included in the download is the source (written using Code Editor, support for Visual Studio also included) and a sample project that you can use to get the ball rolling. It includes things like changing graphics quality, renderers, wireframe mode, player models, and spawning items - all in real-time and all from within the console! These are, of course, just samples.


Console Features: (from Wiki)


Fully Customizable:

Code:
Color      autocompleteRectColor  = Color( 64,  64,  64, 128);
Color      autocompleteTextColor  = Color(192, 192, 192, 255);
CChar     *blinkChar              = "|";
Bool       clearOnClose           = true;
Bool       closeOnExecute         = true;
Bool       eatKeys                = true;
Bool       enabled                = false;
Color      invalidTextColor       = RED;
Byte       maxHistory             = 3;
Byte       maxSearchResults       = 5;
Color      rectColor              = Color(  0,   0,   0, 128);
Color      selectedIndexRectColor = Color(128, 128, 128, 128);
Color      textColor              = WHITE;
KB_BUTTON  toggleKey              = KB_TILDE;
Note: Descriptions of each member is available in the source and should appear in the autocompletion window for both Code Editor and Visual Studio.


Compatible With Nearly All Data Types:

Bool, I8, U8 (Byte), I16, U16, I32 (Int), U32 (UInt), I64, U64, void, void(Byte)

Examples:

Code:
Bool displayFPS = false;
console.setCommand("cg_displayFPS", displayFPS);

----------

void setRenderer(Byte value)
{
    Renderer.type((RENDER_TYPE)(RT_NUM - value));
}

console.setCommand("cg_setRenderer", setRenderer, 1, 3);

----------

void exit()
{
    Exit();
}

console.setCommand("exit", exit);
console.setCommand("quit", exit);
Note: User inputted values are automatically clamped to the specified min/max values.


Polish Comes Standard:
  • Autocomplete (like a search engine for your commands)
  • Command prediction (the first autocomplete result is appended to the user input for quicker access, hit Enter to accept)
  • History of executed commands (provides quicker access for calling the same command several times)


Console Preview:

   
   
   
(This post was last modified: 01-12-2012 08:15 AM by Driklyn.)
04-29-2011 10:29 AM
Find all posts by this user Quote this message in a reply
llynx Offline
Member

Post: #2
RE: EEDevTools
Very flexible framework and a really good idea!
(This post was last modified: 04-29-2011 01:18 PM by llynx.)
04-29-2011 10:33 AM
Find all posts by this user Quote this message in a reply
Morto Offline
Member

Post: #3
RE: EEDevTools
Driklyn,

just to say great job.
04-29-2011 11:39 AM
Find all posts by this user Quote this message in a reply
siwykon Offline
Member

Post: #4
RE: EEDevTools
I have a problem with this!
I use it in Microsoft Visual C++ 2010 and it comile good! When I use '~' I see console!
It work good!

But I don't see text.
I see only that:
[Image: Tutorials_hnnrnpe.jpg]
04-29-2011 01:19 PM
Find all posts by this user Quote this message in a reply
Driklyn Offline
Member

Post: #5
RE: EEDevTools
Thanks llynx and Morto!

(04-29-2011 01:19 PM)siwykon Wrote:  It work good!

But I don't see text.

I have had this happen to me a few times actually. Not really sure why it occurs, but I believe simply Rebuilding the project solved the issue. That was with using Code Editor though, it might not be the same with Visual Studio.

Also, are you using Dx9 or Dx10+? The console works fine for me in Dx9, but freezes the game so-to-speak in Dx10+ whenever I open it. The game isn't actually frozen cause I can still close it by pressing Esc, but no input appears and it won't let me close the console. Not exactly sure what's going on there.
04-29-2011 10:19 PM
Find all posts by this user Quote this message in a reply
Dandruff Offline
Member

Post: #6
RE: EEDevTools
Great stuff Driklyn, im gonna have an awesome time going through your code this weekend smile Im also loving the drop down command list, it's very well done. I can't wait for more!

edit: hmm, i too can't see the text.. wonder whats wrong
edit2: working fine in code editor
(This post was last modified: 05-01-2011 01:10 AM by Dandruff.)
04-29-2011 11:54 PM
Find all posts by this user Quote this message in a reply
Barthap Offline
Member

Post: #7
RE: EEDevTools
I cant see text too. I use DX9 and Visual Studio. I rebuilt it, changed font and nothing happens.
04-30-2011 02:13 PM
Find all posts by this user Quote this message in a reply
Driklyn Offline
Member

Post: #8
RE: EEDevTools
Just so everyone knows, I have fixed this issue. Just waiting for confirmation that the way I fixed it is okay to do before I upload the fix. This also fixed the Dx10+ issue I was having.
05-01-2011 01:27 AM
Find all posts by this user Quote this message in a reply
Brad_Mclain Offline
Member

Post: #9
RE: EEDevTools
This looks very cool, I will be following it closely.
05-02-2011 01:30 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Driklyn Offline
Member

Post: #10
RE: EEDevTools
No text and Dx10+ bug has been fixed and uploaded. Be sure to re-download!
(This post was last modified: 05-03-2011 12:09 AM by Driklyn.)
05-03-2011 12:07 AM
Find all posts by this user Quote this message in a reply
Dandruff Offline
Member

Post: #11
RE: EEDevTools
Everything works now. Thanks for the fix
05-03-2011 02:16 AM
Find all posts by this user Quote this message in a reply
Barthap Offline
Member

Post: #12
RE: EEDevTools
Works great! I have question: What will Debug part of EEDevTools include? What features?
05-03-2011 11:31 AM
Find all posts by this user Quote this message in a reply
Driklyn Offline
Member

Post: #13
RE: EEDevTools
Not entirely sure. Still thinking of ideas, but one of them is easier drawing of variables to the screen.

I always found it a pain if you have a local variable inside of an update function and you need to draw it to the screen, so you can know its exact value. I would always end up having to make the variable be apart of the class and adding a D.text() to the main Draw() function to draw it. This is just too much of a hassle for me and takes longer than it should...

With the Debug tool, you will be able to draw any variable to the screen by adding just 1 line of code to the appropriate part of the code, no matter what the variable's scope is and, if it's a local variable, no matter what function it's declared in. At least, that's the plan so far.

If you have any other ideas, let me know and I'll see if I can get them working...

But, right now I am planning on starting on a different tool, one that isn't listed above...
05-03-2011 10:08 PM
Find all posts by this user Quote this message in a reply
siwykon Offline
Member

Post: #14
RE: EEDevTools
It works now. Thanks for it!
05-04-2011 04:45 AM
Find all posts by this user Quote this message in a reply
Barthap Offline
Member

Post: #15
RE: EEDevTools
Hello, I have a font bug. When you write in console, the font dynamically changes (red for bad command, white for normal) but it changes everywhere (inventory, pause gui), not only in console (after writing bad command in console i have red item names in inventory).
05-15-2011 05:08 PM
Find all posts by this user Quote this message in a reply
Post Reply