Pages: 1
  Print  
Author Topic: A few quick questions  (Read 25583 times)
Offline (Unknown gender) Lemon Pie
Posted on: January 16, 2013, 04:17:14 pm
Member
Joined: Mar 2012
Posts: 9

View Profile
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! =]
Logged
Offline (Male) Josh @ Dreamland
Reply #1 Posted on: January 16, 2013, 08:48:32 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) TheExDeus
Reply #2 Posted on: January 17, 2013, 10:39:42 am

Developer
Joined: Apr 2008
Posts: 1860

View Profile
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).
Logged
Offline (Unknown gender) Lemon Pie
Reply #3 Posted on: January 17, 2013, 12:10:35 pm
Member
Joined: Mar 2012
Posts: 9

View Profile
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.
Logged
Offline (Male) Josh @ Dreamland
Reply #4 Posted on: January 17, 2013, 09:03:12 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
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.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) The 11th plague of Egypt
Reply #5 Posted on: January 18, 2013, 11:31:58 am
Member
Joined: Dec 2009
Posts: 274

View Profile
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.
Logged
Offline (Male) Josh @ Dreamland
Reply #6 Posted on: January 18, 2013, 11:39:28 am

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
Ew, it's a VS project.
Anyway, I'll check it out at some point.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Pages: 1
  Print