GabuEx / my-little-investigations

Source for the game executables for My Little Investigations, a MLP:FiM fan game.
MIT License
47 stars 10 forks source link

Add native Unix support #7

Open dos1 opened 10 years ago

dos1 commented 10 years ago

I'm aware that you're suggesting to use Windows version with Wine, but I can't see the reason to not support GNU/Linux and other Unix-systems at least in a compile-it-by-yourself fashion. I'm currently running quickly hacked, native Linux version of MLI and it seems to be working pretty well.

What I did:

I have played a bit and the only thing I found missing is support for saving and loading saved game - but I haven't touched that code at all yet, so I guess there are just empty functions now due to ifdefing for Mac OS X and Windows platforms.

Proper implementation of Linux support would of course need a bit more work than my quick hack, but I believe that it should be manageable to do in one evening by someone already familiar with the code base. If I find some spare time I might play with it as well and send some pull requests, but I'd like to get your feedback at least on the Screen/Font classes issue before I get on that.

I'm not exactly familiar with way Code::Blocks projects work, but considering creation of Debian packages for MLI could also be nice. Generally it's not hard to do (and I think you could create some proper Makefile out of CBP to make it even easier) and could make it even easier to install the game by Debian users (like me) or Ubuntu users (which are probably the biggest GNU/Linux users group that might be interested in the game).

PS. After looking around a bit in the code I'm pretty impressed that you managed to get it done! It's really refreshing to see proper programming work in this community after so many "gamemaker-tier" projects popping around. I've been working some time ago on a game called Super Derpy: Muffin Attack written in C (its repo is on my github profile), but its development slowed down and eventually completely stalled due to me being the only person behind its code and my available spare time to work on it has been getting more and more limited. I'm glad that you managed to avoid such fate with your project ;) Good work!

GabuEx commented 10 years ago

If you go to the trouble to getting things set up such that Linux can be fully natively supported without breaking functionality for the other two OSes, I'd be more than happy to pull those changes into the master depot and put that up on the website as an additional option for Linux users. :)

I'll have a look at what you've done so far when I get some time this evening.

mdevlamynck commented 10 years ago

Have also a look to thoses two forks : https://github.com/mbasaglia/my-little-investigations https://github.com/mdevlamynck/my-little-investigations mbasaglia and I where also doing linux ports. He managed to implement case loading and load / write saves. I'm not as far in this regard (not enough free time ATM) but I'have setup up a cmake build. We should merge our work (3 different ports are kinda useless ...).

And I think we should decide of the way the game will be updated and where files will be installed.

dos1 commented 10 years ago

Nice! Then forget my one, it was just a quick proof of concept and those two ports look like being already far ahead. IMO both of you should just make pull requests against this repo when you manage to get some "presentable" state of your changes, so GabuEx can review and merge in for him and all other forks around to benefit from :)

And +1 from me for cmake. It could be even used on other platforms as well as it's a really great build system.

thePalindrome commented 8 years ago

FWIW OSX is a Unix system ;)