Monkey and Windows

Monkey Archive Forums/Monkey Discussion/Monkey and Windows

AdamRedwoods(Posted 2011) [#1]
Newbie question:

Why does Monkey need Microsft Visual C++ 2010?
The install is around 2.5GB, and it installs .Net v4. Plus, MS asks you to register as a developer.

Is monkey dependent on .NET? I'm trying to create light software that doesn't have such heavy dependencies.


slenkar(Posted 2011) [#2]
you can use gLFW MINGW, it takes a bit of effort to get it going though


ziggy(Posted 2011) [#3]
Monkey does not depend on .NET. But the Microsoft Visual C++ target (wich is GLFW) uses the Microsoft Visual C+`compiler, so it needs it to compile your applications. Once compiled, your applications and games are completelly stand-alone and do not need anything special to run other than a OpenGL capable computer.

Other targets such as XNA does need .NET and XNA framework in the target computer. but that's another history.


AdamRedwoods(Posted 2011) [#4]
Thanks for the info.

I actually got mingw to compile a couple examples, but it looks like that GLFW apps are also dependent upon OpenAL dll's. I also could not remove them from monkey themselves, I had to DIG OUT the code.

In other words, the OpenAL is not a separate mojo library, but embedded into all mojo GLFW apps. Ideally, it should be separate so we could choose what to Import.


ziggy(Posted 2011) [#5]
OpenAL can be distributed with the EXE files. That's all what's required. You don't even need to "intall them" in the target machine, so IMHO not really somethign to worry about. You're going to distribute the media files with the game, so you're creating an installer or a ZIP or something to keep all files together. Well, keep OpenAL in the package and you're done.


AdamRedwoods(Posted 2011) [#6]
I've read that OpenAL DLLs are not recommended to be distributed (for whatever reason), but the installer can be made quiet.

Regardless, there should be an option and GLFW should not be dependent on it if we don't use audio.


ziggy(Posted 2011) [#7]
there should be an option and GLFW should not be dependent on it if we don't use audio.

Are you sure it is? When you make
Import mojo
you're importing all mojo modules, including mojo.audio If you do not include mojo.audio, there's a chance OpenAL is not required. (haven't tested, but sounds the think to expect).

You can:
Import mojo.app
Import mojo.graphics
Import mojo.input
This should not depend on OpenAL. Haven't tested but it should not, as it is not importing mojo.audio


AdamRedwoods(Posted 2011) [#8]
Tried that a while back, does not work. The audio is hard coded in main.cpp and under mojo/native.

I got it to work without OpenAL, but had to tear everything out.


Xaron(Posted 2011) [#9]
I don't understand the problem here. OpenAL is probably already installed on most machines where games are running and if not you just ship it together with your app.

I have never read about why not to ship the dll files together with the app. I'd be interested to know the reasons.


ziggy(Posted 2011) [#10]
@Xaron: The problem is exactly what you say. OpenAL is probably installed on most computers. wich means that it is probably not installed in some computers. Deploying the dlls with the binary file should prevent most errors such as missing dll or wrong version of OpenAL.


AdamRedwoods(Posted 2011) [#11]
I reviewed some forums (Ogre) discussing OpenAL and it turns out most people just distribute the dll. I guess complications arise with different versions floating around, but a mute point if it's kept in a local folder.

I must say, though, my experience with installing Monkey and getting the targets working has been a trying one. Lots of installs, but I now have glfw(mingw), flash, and android working.


therevills(Posted 2011) [#12]
my experience with installing Monkey and getting the targets working has been a trying one


I found it pretty easy... although it would be nice to have a whole download package, like the one for BlitzMax (BlitzMax Companion): http://www.blitzbasic.com/Community/posts.php?topic=79814