Jump to content

Some thoughts about upgrading.


Thareh
 Share

Recommended Posts

Hi,

I'm considering an upgrade to 2.3, but before I upgrade I want to know if a few issues have been solved.

Can you define where your DLLs are? (I don't want the DLLs in the same directory as my EXE.)

Are the 2D bugs solved? (DrawLine, DrawRect etc wasn't accurate and causing me alot of problems.)

That's all I want to know ;)

Core2Duo, 3.33GHz, Radeon HD 5850 Black Edition, 4GB RAM, 4 TB HDD, Windows 7.

Core2Duo, 2.00GHz, Geforce 9500m, 4GB RAM, 320 GB HDD, Windows 7.

Link to comment
Share on other sites

From what I know IF you use engine.exe to make your game you don't need any dll's. I think it's all linked statically. I must be honest though, that seems like a very silly reason not to upgrade. I'm interested in why it really matters if the dll's are in the same directory or not as the exe.

Link to comment
Share on other sites

You have been always able to put the dll's in any directory, just add that directory to the system path (your game can set also its local path in its own environment, so it doesn't change the system path).

 

Gamelib has improved 2D functions, which are 5 times faster and accurate. You can use gamelib, or copy whatever functions you want from it.

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

GameLib is a community-created collection of commonly used classes and functions in Leadwerks Engine projects:

http://leadwerks.com/werkspace/index.php?/topic/483-leadwerks-community-gamelib/

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

Okey, so GameLib is using Leadwerks commands?

And how would I go ahead and add a directory to the system path?

I'd like a much simpler way of defining where you have your DLLs. (In like 2.2 or something you could have the DLLs in your AbstractPath)

Core2Duo, 3.33GHz, Radeon HD 5850 Black Edition, 4GB RAM, 4 TB HDD, Windows 7.

Core2Duo, 2.00GHz, Geforce 9500m, 4GB RAM, 320 GB HDD, Windows 7.

Link to comment
Share on other sites

The simplest way, without modifying the system, would be to make a batch file, like mygame.cmd to start your game:

@echo off
path c:\games\shared\dlls
mygame1.exe

Now you can put engine.dll, newton.dll, jointlibrary.dll and any additional dlls you need for all your game projects into c:\games\shared\dlls.

 

Alternatively, you could also modify the system path under My Computer/Properties/Advanced/Environment Variables/System Variables: PATH=<existing entries>;c:\games\shared\dlls

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

Then you can also make a game launcher exe, which does the same thing as the batch file. That SHOULD be good enough even for commercial games. And such launcher exe might be needed anyway, when you change some settings in the game, which need a restart of the game.

 

Yes, GameLib uses Leadwerks commands, but since the Leadwerks Commands are rather API/SDK style commands to do elemental functions, GameLib uses them to create more high level game related functions. For example GameLib's MouseLook() command, which does the same with one line of code as you would need to code yourself with 10-20 lines of code using raw Leadwerks commands.

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

Okey, Thanks Lumooja :)

I posted a feature request instead for the DLL Path issue.

But how about the 2D now, Is it any better than before or is it still inaccurate?

(And I don't want to use GameLib, I prefer to write my own such functions ^^)

Core2Duo, 3.33GHz, Radeon HD 5850 Black Edition, 4GB RAM, 4 TB HDD, Windows 7.

Core2Duo, 2.00GHz, Geforce 9500m, 4GB RAM, 320 GB HDD, Windows 7.

Link to comment
Share on other sites

Then just copy the 2D functions from gamelib (color, line, rect), as they won't change anyway. The inaccuracy of the 2D functions in LE is just caused by raw/wrong usage of OpenGL functions. A line's horizontal width can never be 0 (vertical can be), and although OpenGL allows it, it's just a theoretical setting which has no practical use, so gamelib adjusts it to be at least width 1, and then it works accurate in all situations.

 

Besides it makes sense to use direct OpenGL commands in the language you are compiling for such functions anyway (which LE allows to be used seamlessly with its own OpenGL commands), since then the full power of C++ inlining and assembler level optimization comes to shine, which is much faster than calling any DLL functions which are calling other functions which are calling other functions. That's why gamelib's 2D functions are 5 times faster than LE's, even if LE would be doing exactly the same thing.

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

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...