Welcome Guest [Log In] [Register]
We hope you enjoy your visit.


You're currently viewing the Ultimate 3D Community as a guest. This means that you can only read posts, but can not create posts or topics by yourself. To be able to post you need to register. Then you can participate in the community active and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.

Join our community!

If you are already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Trouble with gmd and gm6s
Topic Started: Jul 5 2007, 10:16 AM (451 Views)
qwertyuiop23
Member
[ *  * ]
Hey,

I started creating a DLL using gm5 becuase i beleive that it has the best license agreement :). However now i need it to be converted into a .gm6 file so that it can be made to run with vista. Problem is that when i just copy the dll and change the extension it doesn't work. Any pointers on what should be changed when i am doing that?

Cheers
~qwertyuiop23

PS: Does the GM7 EULA cover the GM6.x exe to vista compatible exe?
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
In the Ultimate 3D scripts the following scripts have to be changed. The easiest way to do this is opening the basicGM6.gm6 and replacing the following scripts by the versions from the basicGM6.gm6:

  • Init()
  • MoveCamera()
  • SetSoundPosition()
  • The mouse control code in the camera step event.
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
Ok so why do you have to change these scripts?
Offline Profile Quote Post Goto Top
 
gamemakerguy1560
Member Avatar
Creator of Expedition: Prehistory
[ *  *  *  *  *  * ]
because the dll is different and the old scripts dont call the right parts of the dll, or at least not every part for a specific function. you can find the right scripts in the SDK found in the downloads section on the main page.
Posted Image
My Forums
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
Why is the DLL different?
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
The Ultimate3D.dll is the same, for every Game Maker version and the function calls are also the same. Only the scripts differ in some parts. Especially at places where Ultimate 3D retrieves information about the view ports and the size of the screen the Game Maker 5.x variables have to be replaced by their Game Maker 6.x pendants.

qwertyuiop23
 
Ok so why do you have to change these scripts?

Open your Game Maker file in a Game Maker 6.x instance at the right of the screen and the basicGM6.gm6 from the most current Ultimate 3D SDK at the left. Then open one of the listed scripts in the basicGM6.gm6 and in your Game Maker file. Select the complete script in the basicGM6.gm6 and copy it to the clipboard. Select the complete script in your Game Maker file and replace all by the contents of the clip board. Repeat this procedure for all of the listed scripts and pieces of code.
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
Ok then why won't MY DLL work when i convert it? WHat could be the reasons why?
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Sorry, I read your question a bit wrong. Thought it would have been about Ultimate 3D ;) .
There are different possible causes for this. Most likely you are using a Game Maker 5.x function/variable somewhere that has been renamed in Game Maker 6.x. For example view_width[0] in GM 5.x is view_wport[0] in GM 6.x. You have to find all occurrences of variables and function calls like this and have to replace them by their GM 6.x pendants. Another possible cause of the dll, not working with GM 6.x, is the instability of Game Maker 6.x. If your dll causes an access violation (e.g. if it reads data from an invalid pointer) this will make the program instable and if this instability meets the instability of Game Maker 6.x (which causes an exception whenever it gets executed) it may make the program crash.
What happens when you try to execute your Game Maker 6.x file?
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
The new window created by the DLL opens up and is black (the background colour) but nothing shows up. No models nothing but no error messages either. Could this be an access violation in the DLL?

CHeers
~Qwertyuiop23
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Most likely not. There are too many possible causes for this problem, to give a particular hint. Just check whether you replaced every GM 5.x function/variable, by it's GM 6.x pendant. It is somewhat like the search of a needle in a haystack.
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
I figured it out. The problem was that i wasn't using window_handle() to get the window and GM6 did not like that. Howver now that i use window_handle() the key board events do not work. Is there anyway around this?
Offline Profile Quote Post Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
You could try using keyboard_check_direct() to access the keyboard data.
Offline Profile Quote Post Goto Top
 
qwertyuiop23
Member
[ *  * ]
Thanks. I didn't do what you said at the end but it worked at te start. Then i realised my code used two different window calling functions so i fixed that and it worked.
Offline Profile Quote Post Goto Top
 
« Previous Topic · Off-topic · Next Topic »
Add Reply