Pages: 1
Author Topic: A few quick questions  (36,231 Views)
Offline (Unknown gender) Lemon Pie

Member
Joined: Mar 2012
Posts: 9
View profile
Posted on: January 16, 2013, 09:17:14 PM
3 quick questions:
1) Is there an equivalent to if (variable_local_exists('var')){} that will work in ENIGMA?
2) Are there any GM 3D graphics DLLs (like Ultimate3D or GMOgre) known working in ENIGMA?
3) Assuming that we have a game tweaked to compile in ENIGMA, but uses a DirectX DLL built for GM for 3D (like Ultimate3D), would that game likely work correctly? (On Windows, of course)

Thanks! =]
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #1 Posted on: January 17, 2013, 01:48:32 AM
1) Not at the moment. Possibly not ever; chances are, the thing you were using it for in GM is no longer required in ENIGMA. Nine times in ten, that function is used to check if room instance creation code has set a variable already. In ENIGMA, the room creation codes are executed after the object creation codes.

2) You have the entirety of OpenGL at your disposal; I would encourage you to write an Ogre system to replace the main graphics system (in ENIGMA, the graphics system is interchangeable). If you don't want to, you can either include C++ sources in the ENIGMA engine directly, or modify and rebuild the DLL to hijack ENIGMA's classes instead. Stop in on the IRC on a quiet day and one of us would be happy to help you integrate such a system.

3) Those DLL's are what we'd call a "hack"; last I checked (this may have changed in the meantime), they work by dismissing GM's own DirectX context, replacing the context in the window with their own. That fundamentally will not work in ENIGMA since the windows are named differently. However, a modification should be relatively easy. Again, feel free to stop in on the IRC if you are interested in making such a modification.

If you have the source to those DLLs, I don't mind walking you through installing them in ENIGMA from here in this topic, either.
Offline (Unknown gender) TheExDeus

Developer
Joined: Apr 2008
Posts: 1,860
View profile
Reply #2 Posted on: January 17, 2013, 03:39:42 PM
Josh, FYI, DLL's probably don't work. No one has tested them in years and the last time when I tried GMPhysics to work I noticed that DLL init function broke the whole thing (i.e. crashed the game).
Offline (Unknown gender) Lemon Pie

Member
Joined: Mar 2012
Posts: 9
View profile
Reply #3 Posted on: January 17, 2013, 05:10:35 PM
Quote from: Josh @ Dreamland on January 17, 2013, 01:48:32 AM
1) Not at the moment. Possibly not ever; chances are, the thing you were using it for in GM is no longer required in ENIGMA. Nine times in ten, that function is used to check if room instance creation code has set a variable already. In ENIGMA, the room creation codes are executed after the object creation codes.
Ahh ok. I was only going to use it for testing question 3 (if no one could give a definite answer), so no harm to me.

Quote
2) You have the entirety of OpenGL at your disposal; I would encourage you to write an Ogre system to replace the main graphics system (in ENIGMA, the graphics system is interchangeable). If you don't want to, you can either include C++ sources in the ENIGMA engine directly, or modify and rebuild the DLL to hijack ENIGMA's classes instead. Stop in on the IRC on a quiet day and one of us would be happy to help you integrate such a system.

3) Those DLL's are what we'd call a "hack"; last I checked (this may have changed in the meantime), they work by dismissing GM's own DirectX context, replacing the context in the window with their own. That fundamentally will not work in ENIGMA since the windows are named differently. However, a modification should be relatively easy. Again, feel free to stop in on the IRC if you are interested in making such a modification.

If you have the source to those DLLs, I don't mind walking you through installing them in ENIGMA from here in this topic, either.
I'd love to write a 3d engine for ENIGMA, or to help write one, however, the only programming language I know is GML... And, thus, I would only really be helpful in testing it, & not much else.
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #4 Posted on: January 18, 2013, 02:03:12 AM
If you have the source code for GMOgre or the other 3D library you mentioned, you could plug them in directly with very little modification. Or one of us could on your behalf. I don't know if that source code is available.
Offline (Unknown gender) The 11th plague of Egypt

Member
Joined: Dec 2009
Posts: 274
View profile
Reply #5 Posted on: January 18, 2013, 04:31:58 PM
GMOgre is open source under the LGPL license.
http://code.google.com/p/gmogre3d/source/checkout

However, "The DirectX renderer requires a version of DirectX 9 dated Nov 2008 or higher."
http://gmc.yoyogames.com/index.php?showtopic=455439

Last update to the project was on Aug 2012, so maybe there's hope of finding the author on the GMC.
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #6 Posted on: January 18, 2013, 04:39:28 PM
Ew, it's a VS project.
Anyway, I'll check it out at some point.
Pages: 1