Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
I have a little question about compiling from source.
I understand that Visual Studio 2003 was used to compile the source, but I was wondering if it were possible to import the source code into another compiler & build the binary with little or no modifications.
I'm asking because I actually use Open Watcom C++ under Windows XP (& both Open Watcom C++ & DJGPP under MS-DOS). Since I can't readily get a copy of Visual Studio 2003, I'm unable to compile the source code properly (forcing me to debug MSVS-only code & convert it into more standards-based code).
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
The most recent versions uses visual studio 2008 to compile. The libraries needed are MFC and DirectX SDK, so I don't think you can compile it without visual studio.
I've looked into porting the app to Qt but that would be a huge project. Another option is wxWidgets which is like MFC, but that's gonna take a lot of time also.
Then I'd better find myself a good working copy of Visual Studio 2008 (something I was hoping to avoid because I find Visual Studio very bloated when compared to other IDEs, especially on my old laptop).
Thanks anyways, JSR.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
It is not too difficult to create a UI using the low-level win32 widgets. You can fairly easily code your own widgets too.
I've written lots of win32 (gui and console) software. I avoid MFC like the plague.
A few years ago I wrote a ROM editor for the NES game "Faria" in win32. My code contains examples on custom widgets.
jsr, more people might be able to contribute to FT it if could be compiled without the use of MFC. If fact, a "regular old win32 app" can fairly easily be compiled on Linux (or FreeBSD or Solaris) using winelib. I did that for an openGl game that I once worked on. It started out as just a windows app, but I was able to port it to Linux using winelib fairly easily.
I plan to study the source code to FT soon. jsr, if you are interested, I can take a stab at starting a port directly to win32. MFC framework is so different though, any port to pure win32 will probably be a complete rewrite. Lots of work. The question is, is the benefit worth it?
I'm in total agreement with you; if the MFC libraries were avoided in development, source code will be compatible across most (if not all) OSes. It would solve so many issues involving NES game developers who work on Linux computers, as well as help tons of F/OSS programmers make some contributions that MFC libraries could otherwise not fulfill.
And especially if it were made with standard Win32 libraries, it could at least be compatible with an open-source IDE (because not everyone can buy, pirate, install or run the latest Visual Studio IDE without suffering some kind of an incompatibility problem on 5-year-old equipment).
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
Windows.h isn't exactly an exclusive header file for Visual Studio; Open Watcom also has its own windows.h file (& most read/write operations programmed under Visual Studio also work in Open Watcom, including standard file pointers, OS-level read/write file access & even OS-dependent shell commands).
If a Win32 library were to have been exclusively used instead of sharing its code base with the MFC library, the code could work 100% in IDEs like Open Watcom & DJGPP, compiled Windows-only binaries can actually run properly under WINE (because WINE has difficulty supporting MFC applications) & Linux users (who also have GCC & Open Watcom available to them) can port the source code much easier.
But indeed; it does look like a rewrite would be necessary.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
I never said that windows.h is a only Visual Studio library, I said that windows.h makes FT dependent to Windows.
And using WINE to tell me that you can run applications built for Windows, simply makes no sense, with that thought, you can install a virtual machine on linux, and run Famitracker. But Famitracker still is a not portable software.
If you want to use WINE, go ahead and remove the dependency on MFC, but I think the best would do a full port.
I also said that doing a full port would be good; all I mentioned was that even using non-MFC libraries that run with Windows would make it easier to do a full port.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
This is really interesting. I am a blind FamiTracker user, and I'm a bit concerned about some keyboard focus issues in certain dialogs. The instrument editor, for example, seems to put keyboard focus on the DPCM Samples page when it is first opened. For this reason, I have to press Import, then close the "Open" dialog to get to the Instrument Settings page. Wonder if not using MFC will fix this problem?
Oh, and I forgot to mention that the Configuration dialog has a similar problem. When it opens, focus is on the "Wrap cursor" check box. I can't use Tab to get to any of the other controls. I downloaded V0.3.6 Beta 4 a few days ago and nothing's changed. I should probably have posted this under bug reports, but I thought that this would be a better place since modifying the source code seems to be the only way of fixing the problem and also because it isn't really something that can be considered a bug. Thanks for the otherwise fantastic program, JSR! Before I found FamiTracker, I'd been looking for an accessible way of making NES music for years!
Well, MFC itself is designed to be a set of programming libraries that enables Windows-specific functions (like graphics/windows, OS-specific error messages, etc.) to be incorporated into a C/C++ program. In other words, for any functions that you take several lines of code in standard C language, you can complete with only one line of code using MFC.
Apart from MFC, there are other (more global) programming libraries that can be used in place of MFC, if only the FamiTracker's source code were modified a great deal.
_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!
By the way, there is a free version of Visual Studio 2008: [url=http://www.microsoft.com/express/Downloads/]http://www.microsoft.com/express/Downloads/
It should actually run alright on a 5 year old laptop.
It's missing a few things, like the form designer, but I think it should be able to compile and run FamiTracker.
I am not a fan of MFC, myself, but... we're stuck with it for FamiTracker unless somebody feels like rewriting it. I dunno, I don't really see that happening unless maybe someone capable gets passionate about making a Mac port or something.