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 / BIG Problem! Dark Shader and Dark AI not playing nice!

Author
Message
Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 15th Jun 2012 20:54
Ok, I purchaced Dark AI and Dark Shader. When I try to use them together they give me the following:
Quote: "1>DarkAI.lib(DarkAI.obj) : error LNK2005: "void __cdecl GetFunctionPointers(void)" (?GetFunctionPointers@@YAXXZ) already defined in shaderdata.lib(shaderdata.obj)
1>DarkAI.lib(DarkAI.obj) : error LNK2005: "struct sObject * (__cdecl* g_GetObject)(int)" (?g_GetObject@@3P6APAUsObject@@H@ZA) already defined in shaderdata.lib(shaderdata.obj)
"

What's going on? Is there a setting or something I'm not doing right?

The fastest code is the code never written.
Mr Bigglesworth
16
Years of Service
User Offline
Joined: 4th Mar 2008
Location:
Posted: 15th Jun 2012 23:13
It looks like "GetFunctionPointers(void)" and "struct sObject" are defined in both libs. I am not sure of a fix beside only using one of them.
Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 15th Jun 2012 23:19
I would have expected some issues like this from a free product, but something I paid for? There was nothing in the documentation about any incompatabilities. Considering both came from TGC, they should have expected people to use them together, and would have made them such!

Please tell me someone has a fix for this....

The fastest code is the code never written.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2012 23:47 Edited at: 15th Jun 2012 23:47
This problem has already been fixed in DarkGDK 2.0.

Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 15th Jun 2012 23:52
Is it finished yet? Is it ready to be purchaces? Can't they fix the problem at hand instead of saying "get this upgrade"?

Don't get me wrong, I like GDK, but when it comes to support for something that's supposed to work, I don't think I should have to get the next version. The fact sheet said GDK, not GDK 2.0.

The fastest code is the code never written.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2012 23:56
Quote: "Is it ready to be purchaces?"


You can purchase DarkGDK 2.0 right now at http://darkgdk.com. If you already own DarkGDK 1.0 commercial then you will receive a free upgrade.

I know this probably isn't the answer you were looking for but I am trying to help you find a solution. If you're unsatisfied with their free product you can ask to return your plugins citing incompatibility.

Seppuku Arts
Moderator
19
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 15th Jun 2012 23:59 Edited at: 16th Jun 2012 00:01
From what I understand, if you own the commericial version of Dark GDK, you get a free upgrade to 2.0, 2.0 is available for purchase at a 50% discount as it's currently pre-release, however, the release candidates are available, which are free to download at the moment and they are very much functional (have a look at the stickies).

[edit]Mistrel, on the ball as always. I do have a question, does it include those who acquired Dark GDK through Dark Game Studio? Or because it was so ridiculously cheap it's excluded? (Not being tight, I don't think I'd have the money spare for a little while given current financial circumstances, so I figured it's worth finding out)

Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 16th Jun 2012 00:39
Ok Mistrel, how much rewriting of my existing programs will I have to go through to make GDK 2.0 work?

The fastest code is the code never written.
Mr Bigglesworth
16
Years of Service
User Offline
Joined: 4th Mar 2008
Location:
Posted: 16th Jun 2012 04:39
Quote: "Don't get me wrong, I like GDK, but when it comes to support for something that's supposed to work, I don't think I should have to get the next version."


Yeah, TGC really screwed everyone that use DGDK 1.0, the latest update broke the 3D animation commands, it is riddled with bugs, plug-in incompatibilities, the list goes on...
Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 16th Jun 2012 04:50
Yea. I just 2.0 and I'm in the process of figuring it out. I can't seem to get it to go to full screen. This sucks!

The fastest code is the code never written.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 16th Jun 2012 05:53
Quote: "I can't seem to get it to go to full screen. This sucks!"


This is covered in the documentation:

How to > Basics for C++ > Fundamentals

See the section "How to change the resolution".

Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 16th Jun 2012 06:51
I finally found it. I clicked on the wrong one (pure basic). That was definitely the wrong place to be.....

I'm having some trouble converting my old programs. Some of the commands are just not available:
dbStr()
dbFirstToken() and ALL the file commands
dbLeft() dbRight().... Seems like all the string commands are gone.

And that's just the ones I have come accross in the past few hours. I'm also having to find comparable functions and change the syntax to match 2.0 like:
dbSprite(destID,int x,int y,srcID) to dbMakeSprite(int x,int y,destID,srcID)
(there seem to be MANY others)....
I'm sure there's a good reason for the changes, but this is setting me back quite a ways (perhapse several weeks just to get back to functionallity)

The fastest code is the code never written.
Olby
20
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 16th Jun 2012 12:23
To reduce clutter and inconsistencies commands that have equivalents in host language have been removed. So if you use C++ just use the ones provided by it. Obviously it's a major update and plenty of commands have been renamed as well so don't expect you code to work out of the box.


Intel Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP2, PureBasic 4.61 + DarkGDK 2.0
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 16th Jun 2012 19:01
Quote: "Obviously it's a major update and plenty of commands have been renamed as well so don't expect you code to work out of the box."

This is obviously a pitfall for DGDK 2.0, you can already see how happy Hawkblood is.

Quote: "To reduce clutter and inconsistencies commands that have equivalents in host language have been removed. So if you use C++ just use the ones provided by it."

Original DGDK also had DBPro functions missing, like the make array section, but now you are cutting it even more, breaking bridges with the DBPro community.

It is just an advice. If you treat DGDK 2.0 like a renamed PureGDK, then you are gonna crash.
Of course, I wish I'm not right about this.

Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 16th Jun 2012 21:23
Quote: "Original DGDK also had DBPro functions missing, like the make array section, but now you are cutting it even more, breaking bridges with the DBPro community."

Why would DarkGDK have functions that the C++ standard libraries already have(which DBPro uses anyways behind the scenes, or tries to implement with significant speed problems)? That's just being stubborn for the sake of being "backwards-compatible". If you really need a to make tokens out of a string, I suggest you use Boost.Tokenizer as it's a far more superior tokenizer than DBPro's.

Quote: "This is obviously a pitfall for DGDK 2.0, you can already see how happy Hawkblood is."

The change in primary version number for an API or library denotes a major change in functionality or structure and as such usually breaks perfect compatibility with earlier versions. If you don't want to recode some parts of your code to be compatible with the new update, then stay with the old version of DarkGDK. It's really that simple.

Olby
20
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 16th Jun 2012 22:39 Edited at: 16th Jun 2012 22:40
Quote: "Why would DarkGDK have functions that the C++ standard libraries already have(which DBPro uses anyways behind the scenes, or tries to implement with significant speed problems)? That's just being stubborn for the sake of being "backwards-compatible". If you really need a to make tokens out of a string, I suggest you use Boost.Tokenizer as it's a far more superior tokenizer than DBPro's."


Ditto. DBPro and GDK are separate products and should be treated that way.


Intel Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP2, PureBasic 4.61 + DarkGDK 2.0
Hawkblood
14
Years of Service
User Offline
Joined: 5th Dec 2009
Location:
Posted: 6th Sep 2012 22:43
Quote: "Ditto. DBPro and GDK are separate products and should be treated that way.
"

Woa.... Just now understood your post! I disagree completely. GDK IS built on DBPro code. 1.0 had (almost) all the same commands as DBP but used C++ as its native language-- and that goes for the 2.0 version as well. Mistral hasn't changed DBP code, he (assumed masculine) is only changing the way C++ talks to DBP. If that's true, then the functionallity should still be there for ALL DBP commands. If he is re-writing DBP code, then I could see where it would be different. At any rate, compatability with previous versions or not, the functionallity should not suffer from a version change. I do understand that there are some functions that would (and are) faster when using the C++ funtions that DBP uses for DBPro (as a compiler), but there are also funtions that don't even have a comparable C++ function. There are even some that you would have to write in DX/C++ just to make it work. For instance, dbCreateImage(..) or dbCreateImageFromMemblock(..), just isn't working. I had to resort to using a bitmap to write to and the getimage(..) to make a custom image-- this is unacceptable when 1.0 could do it. I was told by Mistrel that all the DBP compatable plugins were working in 2.0 to include Dark AI. Dark AI uses the DBP vector assignments and 2.0 excluded them. This is more than just a "not backwards compatable" issue, it's something that was told to me by the person in charge of "making it happen" not "making it happen".
I paid for rc4 but it hasn't lived up to my expectations or even those told to me by the programmer (Mistrel). Perhapse when the final version comes out, it will be everything I expect (and more), but for now, it's not even functional enough for me to use to make the game I want to make. If I hadn't decided to start another project in DX/C++, I would simply go back to 1.0 and work around the issues it has.
Don't get me wrong, I appreciate the work Mistrel (and anyone else that is working on 2.0) is doing, but it's not ready for the lime light. Perhapse it should go back to beta and get the compatability with DBP fixed first, and then send it to release candidate status.
I hope that soon it will be ready to use as a fully functional extension of DBP. I have learned a lot from programming using 1.0 and I think I could learn a lot more with 2.0 when it's ready. Please don't think I'm "dissing" Mistral; I know it's not easy to do what he's doing and I have great respect for that. I just wish he had told me how many problems 2.0 had before I invested so much time in it. I understand there are issues with every product, especially before it's ready to be released as "finished".

All the love to you fellow programmers.

The fastest code is the code never written.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 10th Sep 2012 17:12 Edited at: 10th Sep 2012 17:13
You could try to add this command /FORCE:MULTIPLE.

I know that DarkAI, DarkPhysics and DarkLights use the same data structures, but are all the same, so I believe you can safely force a multiple definition on them.

Good luck.

Cheers,

Login to post a reply

Server time is: 2024-03-29 10:30:05
Your offset time is: 2024-03-29 10:30:05