Jump to content

Criteria for inclusion in SDK


Josh
 Share

Recommended Posts

If you would like your C# header to be included in the Leadwerks Engine SDK, the command set must be an exact 1:1 duplicate of the default C command set, as documented in the command reference here:

http://www.leadwerks.com/werkspace/page/Documentation/le2/_/command-reference/

 

This is so we don't have to write another set of docs.

 

You can build an additional object-oriented layer on top of that if you like, and distributed it on the forum, but any official C# header must follow the C API exactly.

 

Thanks.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I believe everything needs to be in a class, so the C structure could be duplicated BUT they would be static methods of a class. So you would have something like LE.EntityParent() instead of just EntityParent(). Is that acceptable?

 

FYI, this is basically what LE.NET is and why I liked it so much, but the .NET community wasn't thrilled about it.

 

Would you be open if your C++ structure is duplicated because honestly that would be something the .NET community would enjoy more and it could be much closer to the actual C++ docs, which I assume you'll have?

 

FYI, this would be sweet because it would could lead into XNA port which means we could run LE on WP7 and XBox, and those are good platforms to hit because WP7 is only growing & Xbox is already huge and getting developing for the 2 platforms only requires you to get a $99/yr subscription.

Link to comment
Share on other sites

I believe everything needs to be in a class, so the C structure could be duplicated BUT they would be static methods of a class. So you would have something like LE.EntityParent() instead of just EntityParent(). Is that acceptable?

Yeah, if that is necessary.

 

Would you be open if your C++ structure is duplicated because honestly that would be something the .NET community would enjoy more and it could be much closer to the actual C++ docs, which I assume you'll have?

That would be fine, but every time anyone has made an object-oriented C# header they always go off on their own designs that are unrelated to C++. I don't want to document all that.

 

FYI, this would be sweet because it would could lead into XNA port which means we could run LE on WP7 and XBox, and those are good platforms to hit because WP7 is only growing & Xbox is already huge and getting developing for the 2 platforms only requires you to get a $99/yr subscription.

Leadwerks for XNA would have no physics and no scripting, because C++ is not allowed, as far as I know. If that ever changes I will be interested in those platforms.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

That would be fine, but every time anyone has made an object-oriented C# header they always go off on their own designs that are unrelated to C++.

 

Because you have never given them an object oriented design to follow like you are now. After you release LE3 it'll be easy to just duplicate your C++ design.

 

 

Leadwerks for XNA would have no physics and no scripting, because C++ is not allowed, as far as I know. If that ever changes I will be interested in those platforms.

 

A port could be made that follows the C#/C++ LE structure but just uses XNA behind the scenes instead of OpenGL, use a different .NET physics engine, and could most likely use Lua still. I won't hold my breathe but it would be cool.

Link to comment
Share on other sites

It would seem a big criteria for Josh to officially support is documentation. So unless Leadwerks.NET is structured the same as LE3 C++ it seems it won't do.

*sigh* Damn. It's upsetting that the libraries cannot be in the format that best suits the language, though I understand Josh's reasons. If it's a direct copy of the API, you will want to look at LE.Net, which ZioRed has taken the responsibility of managing.

 

I think Leadwerks.Net will become the "optimized" version, still giving users an option to choose a particular style.

 

At least the language will be officially supported, which is a big plus!

Link to comment
Share on other sites

That's why I am saying make a procedural header that follows the C API exactly, and then you can go crazy with an unofficial OO addition on top of that.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

That's why I am saying make a procedural header that follows the C API exactly, and then you can go crazy with an unofficial OO addition on top of that.

That's exactly what I did with the LE.NET, but only a few used it.

 

I suggested that (exactly as you do) the Leadwerks .NET guys should use it as a base for their more specialized and extended ideas. To make a long story short. They didn't. By now I'm feed up with working on language wrappers that get flushed out into space, so I have left that behind and will use C++ and Lua. However ZioRed still supports the LE.NET I think and he's a great guy and understands the idea with LE.NET.

 

I totally agree with Josh, 100%.

 

First make a 1-1 wrapper which acts as a stable base. Then use that for all other experiments and ideas. I said it back then and still think this is the correct way to go.

 

Hopefully someone that can accept this model of achieving stable results will continue supporting the LE.NET idea. ZioRed has done this since I ended my work with that. Maybe he would be the guy, that he has to decide him self.

 

Anyway I wish all C# efforts good luck.

Roland

AV MX Linux

Link to comment
Share on other sites

First make a 1-1 wrapper which acts as a stable base. Then use that for all other experiments and ideas. I said it back then and still think this is the correct way to go.

 

The interesting thing is when LE3 comes out, what is the 1 for 1 wrapper? I don't think it's the C API since it'll be written in C++ and object oriented. I guess LE2's original library is in BMax and I think it is OO there too, so really the .NET folks could/should have followed that OO design.

 

I would think following the C++ OO design of LE3 (which Josh seems to be OK with) would at least give .NET folks an OO version which is what they/we want right? The community would just have to be satisfied with Josh's design but come LE3 the OO design he has in C++ will most likely be popular enough where copy that on the .NET side will be a good idea.

 

 

 

Josh, I know you once listed all the C functions before, but do you have the OO design all set currently?

Link to comment
Share on other sites

That's exactly what I did with the LE.NET, but only a few used it.

Is LE.NET complete?

 

I would think following the C++ OO design of LE3 (which Josh seems to be OK with) would at least give .NET folks an OO version which is what they/we want right? The community would just have to be satisfied with Josh's design but come LE3 the OO design he has in C++ will most likely be popular enough where copy that on the .NET side will be a good idea.

You have to declare all the procedural functions anyways to make an OO wrapper, so why not just do that minimal amount of work and have something finished? An OO wrapper is more work, and still doesn't seem to satisfy C# programmers, so it has a way of never getting done. At least it can be used as a base for people to add whatever crazy syntax they want in an unofficial add-on.

 

Josh, I know you once listed all the C functions before, but do you have the OO design all set currently?

It's all documented in the command reference.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

LEO has had a few updates, mostly due to missing commands. So it has now all commands, which the C API has too. All LEO changes are documented in the changes.txt file in the LEO folder.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Where do I download LE.Net? And is there a project wizard template for it?

Here is the project builder including the template for LE.NET among others.

Leadwerks Builder

 

The Leadwerks builder comes with LE.NET template.

There additional templates in the tools section. If all of them are installed you will have

 

AV MX Linux

Link to comment
Share on other sites

I have a problem with the use of the logo here, and this is a good time to talk about it. I'd prefer if people use this image from now on:

http://www.leadwerks.com/werkspace/files/file/236-powered-by-leadwerks-logo

 

This will avoid confusion so people don't think your project is made by Leadwerks, so you get full credit for what you're doing. It's also not good when people start modifying the logo or adding their own slogans to it, because a person who sees it may not realize that's not Leadwerks the company's message or product.

 

Everything looks good for inclusion of LE.Net. I am going to wait a couple weeks so I can write a release a proper announcement about support for C#, and make a big deal of it, and I want to stagger news releases.

 

Thanks!

 

 

Link to comment
Share on other sites

Exciting news. See Roland, what you did was amazing. You shouldn't have given up on it so fast :)

Thanks :)

Maybe you are right there, but as it was rejected for use by Leadwerk .NET, I did not see any reason to fight against the will of the masters. :rolleyes:

AV MX Linux

Link to comment
Share on other sites

I have a problem with the use of the logo here, and this is a good time to talk about it. I'd prefer if people use this image from now on:

http://www.leadwerks.com/werkspace/files/file/236-powered-by-leadwerks-logo

 

This will avoid confusion so people don't think your project is made by Leadwerks, so you get full credit for what you're doing. It's also not good when people start modifying the logo or adding their own slogans to it, because a person who sees it may not realize that's not Leadwerks the company's message or product.

 

Everything looks good for inclusion of LE.Net. I am going to wait a couple weeks so I can write a release a proper announcement about support for C#, and make a big deal of it, and I want to stagger news releases.

 

Thanks!

Changing that logo should not be any problem.

AV MX Linux

Link to comment
Share on other sites

Thanks :)

Maybe you are right there, but as it was rejected for use by Leadwerk .NET, I did not see any reason to fight against the will of the masters. :rolleyes:

 

The "masters" are purists, but this is the real world where Josh doesn't have time or the money to put towards documenting and maintaining something that goes off the path of what he's doing. What you did was really great and has helped move the .NET community in LE farther than anyone else. Hope you are proud of that because you should be :)

 

Given this news I think I'll come back to .NET for LE. Exciting stuff.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...