About Store Forum Documentation Contact
Donations:
327$/mo



Post Reply 
Esenthel.Net
Author Message
Dynad Offline
Member

Post: #16
RE: Esenthel.Net
Very nice progress!

There is always evil somewhere, you just have to look for it properly.
06-29-2010 12:09 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Sarora Offline
Member

Post: #17
RE: Esenthel.Net
Problem with good wrappers like this is they sometimes dont get released.

Im not saying this one wont, just saying alot of times it gets a hype started, and then *puff*, people gone / stops adding on it, or desides not to release it and so on, and then it just gathers dust on some harddrive somewhere smile

I once started on a C# wrapper aswell, but it was just not that important for me at the time so desided against it, so im curious about this one for sure smile

Sys: Intel Quad @3.4 Ghz, ATI HD 5770 OC Ed (pri), NVIDIA 8800 Ultra (PhysX), 4 Gig Ram, 3.8 TB total HDD.
07-04-2010 04:08 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Nethrix Offline
Member

Post: #18
RE: Esenthel.Net
Hi,

I haven't actually posted on the forums before but i feel this deserves some feedback.

Ive been interested in the Esenthel engine for about 9 months and have been exploring / testing the engine. My skills in c++ are fairly week compared to c# and must admit... its brilliant to see it being ported / wrapped in c#/.net.

to be honest if this becomes a finished project, id probably be convinced to buy an Esenthel License.

so yeah... good luck, great work and i hope you finish pfft

cheers.

Nethrix
07-05-2010 04:43 PM
Find all posts by this user Quote this message in a reply
Kevin Offline
Member

Post: #19
RE: Esenthel.Net
Well, I will continue working on the project till it's finisherd. However, this is not my main project, so I don't spend that much time into it...

I started wrapping the WorldManager, and this is the result of the simple.world without any Objs, except the terrain of the world.

[Image: worldscs.jpg]

regards,
Kevin
07-06-2010 04:28 PM
Find all posts by this user Quote this message in a reply
Sarora Offline
Member

Post: #20
RE: Esenthel.Net
Well, if you dont have the time, once your ready i can convert all C++ samples to C# samples to include with the wrapper, if you dont have that much time to spend.

Just a suggestion smile

Beside that, and i think this is from all of us who is waiting.... spend more time on wrapper grin grin grin

Or, lets pull together alot of people and each take a segment of code (going out from your base code style so its all alike) then all post there segment, you add it all together and wambam its done grin apparently people want it, so why should you do all the work eh smile

Just idea's again smile
(This post was last modified: 07-06-2010 09:12 PM by Sarora.)
07-06-2010 09:11 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Kevin Offline
Member

Post: #21
RE: Esenthel.Net
Hi,
in the last few weeks I had no time to continue working on the project, so I must admit that I need some help grin
Since the project should be finished as fast as possible any help is highly appreciated, I've put the project on codeplex for quick access, it's already public, so anyone can take a look at the source code wink
There maybe some bugs in it, because it's WIP, but it would be nice if you could take a look at it. And if you want you can join me on working on this amazing project just send a mail or pm to me grin

Here is the codeplex project link!

There is still a lot of stuff to do, but the main problem at the moment, is getting the obj types of the world work. And converting the function pointers somehow to events or delegates. The rest of the project is a piece of cake I think grin

best regards,
Kevin
07-20-2010 10:47 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #22
RE: Esenthel.Net
I see you did lot of work on it smile
however isn't it unsafe to hardcode the enum values, like this:
Quote:Zoom =0x01, // zoom with mouse wheel
Rotate =0x02, // rotate on mouse move
Move =0x04, // move on mouse move
Move_XZ =0x08, // move.xz on mouse move
NoVelocityUpdate =0x1, // don't automatically update the velocities
what if I change them in the engine? will .net port will suddenly break?
and in the code above, novelocityupdate has incorrect value smile it has 0x1, while I guess it should have 0x10?
07-20-2010 11:30 PM
Find all posts by this user Quote this message in a reply
Kevin Offline
Member

Post: #23
RE: Esenthel.Net
Thanks, I'll fix this, and change it to:

Code:
public enum class CameraHandleFlags {
    Zoom        =EE::CAMH_ZOOM, // zoom  with mouse wheel
    Rotate          = EE::CAMH_ROT, // rotate  on mouse move
    Move         =EE::CAMH_MOVE, // move    on mouse move
    Move_XZ      =EE::CAMH_MOVE_XZ, // move.xz on mouse move
    NoVelocityUpdate =EE::CAMH_NO_VEL_UPDATE, // don't automatically update the velocities
    };
(and also for the other enums wink)

However, I am still unsure about the names of the enums. Whether I should use a more .Net like naming convention (CameraHandleFlags.Zoom) or the EE names (CameraHandleFlags.CAMH_ZOOM). What do you guys think? grin
(This post was last modified: 07-20-2010 11:40 PM by Kevin.)
07-20-2010 11:39 PM
Find all posts by this user Quote this message in a reply
fatcoder Offline
Member

Post: #24
RE: Esenthel.Net
Go with the .Net naming conventions.
07-21-2010 08:54 AM
Find all posts by this user Quote this message in a reply
Kevin Offline
Member

Post: #25
RE: Esenthel.Net
Okay, I'll use .Net naming convention.

Today I finally got simple ObjType loading done grin, here you can see a Chr loaded from a world:

[Image: basicobjtypes.jpg]
07-21-2010 02:43 PM
Find all posts by this user Quote this message in a reply
Dynad Offline
Member

Post: #26
RE: Esenthel.Net
haha great, i think there are lots of people will use this when its done smile

There is always evil somewhere, you just have to look for it properly.
07-21-2010 02:58 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Nethrix Offline
Member

Post: #27
RE: Esenthel.Net
(07-21-2010 02:58 PM)Dynad Wrote:  haha great, i think there are lots of people will use this when its done smile

indeed, tis looking awesome.
07-21-2010 03:11 PM
Find all posts by this user Quote this message in a reply
Rofar Offline
Member

Post: #28
RE: Esenthel.Net
(07-21-2010 08:54 AM)fatcoder Wrote:  Go with the .Net naming conventions.

Agreed.
(This post was last modified: 07-21-2010 10:19 PM by Rofar.)
07-21-2010 10:18 PM
Find all posts by this user Quote this message in a reply
liverol Offline
Member

Post: #29
RE: Esenthel.Net
this is really cool
(This post was last modified: 07-25-2010 12:49 AM by liverol.)
07-25-2010 12:48 AM
Find all posts by this user Quote this message in a reply
Kevin Offline
Member

Post: #30
RE: Esenthel.Net
Thanks, Currently I try to work through the tutorials and wrap all the classes and methods needed in there.
I have already wrapped a few:
Tutorials/"00 - Start" - "07 - Mesh"
Advanced/2-Animation, Physics, Rendering/Rendering/"01 - Rendering" - "07 - Motion Blur"

And at the moment I want to wrap some of the Game Basics stuff, but this isn't that easy. I have managed to wrap the stuff for the first two tutorials, but the third seems to be a bit harder to implement in C# and C++/CLI. wink

The current Problem: The Player class is inherited of EsenthelNet.Game.Chr, the Chr class looks (very roughly) like this (Chr : Obj inheritance is hidden):
Code:
public ref class Chr {
internal:
     EE::Game::Chr* chr;
public:
     virtual void Update() { ... }
};

Now in the wrapped World Manager only the EE Chr is updated, so only chr->update() gets called, but the managed Update method doesn't get called.
So the overriden Update method in the managed Player class never gets called. Solutions might be:
1) Manually iterate through all managed Players and call Update.
2) Somehow store the ObjMemx containers in the World Manager wrapper and call the managed update methods in the Update() method of the wrapper class.

But currently I'm still looking for cleaner and better solution for this, all the World Manager stuff seems to be pretty hard to wrap, and needs lots of tricks grin

best regards,
Kevin
07-25-2010 05:30 PM
Find all posts by this user Quote this message in a reply
Post Reply