Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / What is the best version of DarkGDK source code to make changes to?

Author
Message
Sedit
6
Years of Service
User Offline
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 21st Jan 2018 20:02 Edited at: 21st Jan 2018 20:22
I am considering the possibility of updated the DarkGDK source code to be better suited for today's C++ environment. Where would I find the best source to work with. Vectors and smart pointers were not even a thing when DarkGDK was made were they? It was made before C++ 11 so if that is the case there is large amount of room for improvement and I would like to tackle a few of those and see if we can get it up to par with today's standards.


Also, is there anything I should know. Can anyone that has managed to get it to compile give me any insight into the whole thing and maybe help jumpstart progress into working on it? Where to start.... What to focus on. What would be the greatest improvement etc.
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);
The Tall Man
10
Years of Service
User Offline
Joined: 16th Nov 2013
Location: Earth
Posted: 23rd Jan 2018 15:02 Edited at: 23rd Jan 2018 15:33
@Sedit,

Some attempts were made in the past to update DarkGDK, I think in some ways you suggested. However many of those changes failed to compile, and others severely crippled performance. The result was a completely broken, uncompilable version that was ultimately useless and then left for dead. So in the interest of having a latest compilable version, when I found it that way, I sent a request to Lee Bamber for check-in privileges to the official repository and then I regressed to earlier versions of offending modules as a quick fix, as well as fixing a few things and making a handful of improvements... ultimately resulting in r113 (official). r114 is, of course, the latest and I assume the best starting point by now. I think @s_i can tell you about that and where to get it. However, you may be interested to glance at some of the offending versions I removed... that is if you can find a way to still access them. Google has since halted and archived the repository, and I'm not sure if earlier versions and their check-in comments are still accessible.

The archived repository is here:
http://code.google.com/p/darkbasicpro/

Although since those earlier versions didn't work, it'd probably be simpler to just forget them anyway and make your own updates, starting with the r114, and with your vision for updates. I'm hardly personally familiar with r114, but as of r113, there were a plethora of inefficiencies still remaining in the code. I think @WickedX addressed some of those in his r114. But with all the updates in video hardware and DirectX since DarkGDK was created, If I were just coming on the scene today, I'd probably not bother with DarkGDK, but just create my own wrapper from scratch at this point.

One piece of advice when dealing with commercial software though (such as Microsoft)... the historical track record has been that often the latest, fanciest, or most popularly-used or recommended software features are severely inefficiently implemented (such as a 20:1 slow-down) under the hood, and one would be ill-advised to use them blindly without evaluating their performance first. Also, just because some college professor teaches or mega-corporation "recommends" (sells) them doesn't mean they're advisable to use. Never assume anything from "authorities" or "official" or corporate dogmas. Hear and consider those others, learn what you can from them. But be a scientist... Test it. Always measure and observe for yourself, and trust your own observations.

Good luck!
Judging what we see is the greatest blinder and self-limiter in the universe.

What we perceive is never reality. It is only a story we tell ourselves based on our current perspective, which has far more to do with our beliefs about ourselves than with anything else.
Sedit
6
Years of Service
User Offline
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 16th Feb 2018 19:48
Thank you, That was like... The perfect answer Tall man. Sadly all my efforts so far to compile the source code has failed. I have tinkered here and their with it between other projects but have not been successful. I notice that all DarkGDK programs eat memory which is more than likely memory leaking somewhere which can not be good for performance considering your memory will get more and more fragmented as it runs and further allocations could suffer.

When I get a chance I will attempt that version you provided and see if I can have any luck with that.
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);
The Tall Man
10
Years of Service
User Offline
Joined: 16th Nov 2013
Location: Earth
Posted: 17th Feb 2018 08:23 Edited at: 17th Feb 2018 08:28
You're welcome Glad it was helpful!

Keep in mind, the solutions and projects were all created by and for Visual Studio 2008. Although for r114, I believe they've created updated solutions/projects that will compile on later versions of Visual Studio.
Judging what we see is the greatest blinder and self-limiter in the universe.

What we perceive is never reality. It is only a story we tell ourselves based on our current perspective, which has far more to do with our beliefs about ourselves than with anything else.
Sedit
6
Years of Service
User Offline
Joined: 3rd Sep 2017
Location: Ghetto of NJ
Posted: 3rd Mar 2018 08:47
My Laptop is finally fixed after like 4 months or more and will be far more capable then this computer to succeed in compiling the solution so maybe with any luck Ill get everything setup and run it on my Laptop because as long as others have gotten it working there is no reason I should not be able to. That's not true for this Desktop sadly, Just because people got it working does not suddenly make my computer not a steaming pile of dog **** lol
Sphere sphere = new Sphere(0.5f);
InsanelyRedundantJava insanelyredundantjava = new InsanelyRedundantJava(Redundancy1, Redundancy2);

Login to post a reply

Server time is: 2024-04-24 21:48:11
Your offset time is: 2024-04-24 21:48:11