Jump to content

Josh

Staff
  • Posts

    24,628
  • Joined

  • Last visited

Everything posted by Josh

  1. Josh

    Codewerks

    It's not hard to add a command like this: void SetEntityPosition(entity,x,y,z) That calls this: entity.SetPosition(x,y,z) That's what I did with BlitzMax.
  2. I'm getting this error with my project: A search indicates this has to do with the fact I am including Lua/Lua-Jit, which is .c files (not .cpp). I can't find any solution to this for Visual Studio 2008.
  3. It would be a good easy route, but... 1. It would break continuity with the engine design. If all I was making was an easy game creator for Android, it would make sense, but Leadwerks is generally used by pretty good programmers. After the first month, I think there would be a lot of complaints about Lua. Most of the flowgraph functionality will be implemented in the editor, so it will work fine on Android. It's just me for the C++ core. The plan is to get that done myself, then add more programmers once there is a framework for them to work within. Once that core C++ code is done, we can do anything: add XBox support, add iPhone support, whatever. Thanks for your feedback. The purpose of Leadwerks is to provide decent programmers with a way to easily make the things they want. Therefore, when an Android version comes out, it will be released as a static library compiled through NDK, which can then be used with Google's official development route.
  4. XNA allows C# only. So the whole engine would have to be written just for C#, and it would be slow. I am focusing on functionality. Leadwerks 3 is a complete rewrite in C++. I am asking for feedback because I want to account for as much as possible when designing it.
  5. .lib wins. The DLL with C interface is a separate matter.
  6. How much do you think a license for an XBox version of Leadwerks would cost?
  7. Unreal doesn't allow any number of shadow-casting lights. It combines a lot of different lighting techniques with nice artwork. Why? Do you have an XBox developer license?
  8. Yeah, I think the C++ lib is the most versatile approach. If we aim for the noobs, the support costs will be higher, and they'll probably never be satisfied anyways.
  9. C++ isn't supported on Android for the whole application. There's a third-party compiler with a non-working OpenGL example, but it's not officially supported.
  10. I'm inclined to agree. It seems when you try to make things easier, sometimes the net effect can be to just attract the lowest-skilled users and raise support costs.
  11. In that case why would you use Leadwerks for Android, when you can get Airplay SDK and publish to all mobile platforms? For a programmable SDK for mobile development, it seems impossible to outdo what they have.
  12. I'm working with the Android SDK. There are three different ways I can go about making Leadwerks Engine 3 run on the Android: 1. Provide a static library compiled using the Android NDK for use with Java. You would program in Java with Eclipse, which seems to be the standard Android development route. It is possible to compile a pure C++ app for Android using a third-party compiler. 2. Provide a programming language and IDE. Codewerks can compile easy object-oriented code for Android and launch your app in the emulator, or create an Android package ready to install on your phone. 3. Focus support on Lua. By using LuaJIT, speed would be as fast as a regular Android app. With options 1 and 2, you would have to download and install about 4 different packages besides Leadwerks for Android and adjust various settings. This task took me about half an hour. With option 3, you could publish Android packages ready to install, and never even have to install the Android SDK. Your thoughts?
  13. I don't know what you are viewing that texture in, but I think the program background is pink, which explains how you are getting that color. There is a pixel shader that can use a separate spec map, but it is more efficient to merge it into the alpha channel of the bumpmap like that.
  14. Josh

    Friday

    My little precompiler is going well. It creates makefiles and can split a build up across multiple files. I am working out the interface with external libraries. Here's an example program: Print "Hello World!" And here's the code it outputs and compiles: #include "Hello World.h" using namespace codewerks; //============================================= // Main Loop //============================================= int main(int argc, char* argv[]) { Print(std::string("Hello World!")); } I'm confident this will work on both MacOS and Linux. Where things get a little foggier is on the iPhone, and especially on the Android. I'm looking for an Android and an iPhone developer to work with. It would be easiest in the long run if I can account for those platforms from the beginning.
  15. Do you want .a or .o or .lib?
  16. Agreed. Instead of a function pointer, the Lua routine can take a string name, so it will be like this: SetEntityCallback(entity, ENTITYCALLBACK_COLLISION, "MyCollisionFunction")
  17. Josh

    Codewerks

    You can just use a static lib if you want. The command set is mostly staying the same. I'm not going to change any command unless there is a clear reason to do so, or if it needs to be made consistent with the naming rules of LE3 commands.
  18. The networking command set can be found here: http://www.leadwerks.com/wiki/index.php?title=Networking
  19. That's pretty neat. Some examples and a video will help people appreciate how cool this actually is.
  20. Josh

    Codewerks

    For you or me?
  21. Josh

    Codewerks

    It actually is C++, since it runs through a C++ compiler. C++ is the only language out there that is supported on anything. Like I said, I don't know if it is possible for this to do everything I want, but it does seem to be going pretty well. I'll keep working with both this and Visual Studio and see what comes of it.
  22. Josh

    Codewerks

    It outputs a .cpp and .h file. I am working out the #include system now. Hopefully I can work something out that will only rebuild files that need it. The outputted code, when done, should be no different than what a person would normally program. Since I have companies that want to use the C++ source, I need to have something that looks nice. Not completely sure this will work, but I am just splitting my time between MSVC and this right now.
  23. Josh

    Codewerks

    You might have to have MinGW installed.
  24. Josh

    Codewerks

    I uploaded my current version here: http://www.leadwerks.com/post/codewerks.rar The example program is myprog.txt. You can use the included Code Editor, or just run the .bat file. Here is my current test program: Structure Vec3 Field x:Float Field y:Float Field z:Float Method Normalize:Vec3() Local v:Vec3 Local m:Float m=Sqrt( Self.x*Self.x + Self.y*Self.y + Self.z*Self.z ) v.x = Self.x / m v.y = Self.y / m v.z = Self.z / m Return v EndMethod Method Length:Float() Return Sqrt( Self.x*Self.x + Self.y*Self.y + Self.z*Self.z ) EndMethod Method Dot:Float( v:Vec3 ) Return Self.x*v.x + Self.y*v.y + Self.z*v.z EndMethod Method ToString:String() Return Self.x+", "+Self.y+", "+Self.z EndMethod Method Add:Vec3(v:Vec3) v.x=v.x+Self.x v.y=v.y+Self.y v.z=v.z+Self.z Return v EndMethod Method Subtract:Vec3(v:Vec3) v.x=Self.x-v.x v.y=Self.y-v.y v.z=Self.z-v.z Return v EndMethod Method Add:Vec3(f:Float) Local v:Vec3 v.x=Self.x+f v.y=Self.y+f v.z=Self.z+f Return v EndMethod EndStructure Class Entity Field position:Vec3 Field rotation:Vec3 Field scale:Vec3 Field parent:Entity EndClass Local a:Vec3 Local b:Vec3 a.x=3 b=a.Normalize() Print a Print b 'Produce divide by zero error: 'Local n:Int 'n=n/0
×
×
  • Create New...