summaryrefslogblamecommitdiff
path: root/docs/INSTALL/win32.txt
blob: 3bcc0d039aceb4975e6f2c42083b0eda5b0d8a11 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                               



                                      
                                          
 
 



                     


                                    



               
                                                                              


                                                                              
 
                                                               
 


            
                
           
          
         

          




                     


                                                                              
 
                           
 
                                            
 
 

                                    
 
                                                                                
                                                          

                   
                                                          

 




                                                                              


                                                                            
                                                                           


                                                                             
                                                                             
                        
 

                                                                              
 
                                       
 







                                                                    
 
                                                     
 
                                                                       
 
                                 
                             
 


                                                                             

                                                                            
 

                                                                            

            
                                                            
 

                                                                         




                           


                                                                           
 
                                                            



                                                                             
 
                                                                             
                                                                             
                                                                          




              
                   
                
 


                            



               
 



                                                                            
                                
How setup Dev-C++ to compile TMW on a Win32 Box
===============================================

The Mana World project
======================
Homepage: themanaworld.sourceforge.net
IRC:      irc.freenode.net / #themanaworld


0. Index
========
1. Requirements
2. Installing Dev-C++
3. Installing the required libraries
4. Compiling The Mana World


1. Requirements
===============

In this tutorial we will use Dev-C++ because of the fact that it's a very good
free IDE for Win32 built around GCC. Remember, Win32 was not meant for GCC and
stuff so you will probably run into trouble unless you really know what you're
doing, so best stick with Dev-C++.

Besides a C++ compiler, TMW depends on the following libraries:

1) SDL
2) SDL_mixer
3) SDL_image
4) Guichan 0.5.0
5) libiconv
5) libxml2
6) PhysFS
7) zlib
8) libcurl


2. Installing Dev-C++
=====================

This tutorial is written and tested with the latest beta version, which is
4.9.9.2 at the time of writing. You'll probably run into problems when you try
the old stable version, so don't do that. Get Dev-C++ here:

  http://www.bloodshed.net/
 
After you fetched it simply run and install.


3. Installing the required libraries
====================================

The easy way is to get our development package which should work with the latest
development code (I'll try to update it as much as I can).
You can find it at:

  http://themanaworld.sourceforge.net/files/tmw-svn.DevPak


Just install this one and you should be ready to go. (Although please remember
to remove anything the devpak might overlap before installing, for example the
previous devpak.) Remember to copy the required dlls from your dll folder in
the Dev-Cpp root directory, to the folder where you have your copy of The Mana
World. You also have to add the SDL include folder in your C++ include paths.
If you're using Dev-C++, this means: Tools -> Compiler options ->
-> Directories -> C++ includes -> Browse... (browse to MinGW/include/SDL) ->
-> Add -> Ok.
If you can't get the package or you are experiencing problems with it, just
send me an email at elvenprogrammer@gmail.com or continue reading. (Coming to
bug us on the IRC channel is a valid alternative too.)

If you installed the tmw-svn.DevPak, you already have all you need so you can
skip ahead to compiling.

Most of the libs have DevPaks that are very easy drop-ins for Dev-C++, without
any complex actions on your side.

Get the following DevPaks and archives:

- SDL            (http://devpaks.org/details.php?devpak=12)
- SDL_mixer      (http://old.devpaks.org/show.php?devpak=8)
- SDL_image      (http://old.devpaks.org/show.php?devpak=142)
- Guichan        (http://guichan.sourceforge.net/downloads.shtml)
- libxml2    *   (ftp://ftp.zlatkovic.com/pub/libxml/)
- PhysFS    **   (http://icculus.org/physfs/downloads/unsupported/)
- zlib     ***   (http://gnuwin32.sourceforge.net/packages/zlib.htm)
- libcurl ****   (http://curl.haxx.se/download.html)

Install them all through the Dev-C++ package manager.

*) For libxml2, download the following files (these or newer versions):

        libxml2-2.6.19+.win32.zip
        iconv-1.9.1.win32.zip

     From each file, copy the headers to your include directory, the libs to
     the lib direcotry and the dlls (in bin direcotry) to your tmw directory.

**) For PhysFS copy the headers to your include directory, the libs to
    the lib directory and the dlls (in bin direcotry) to your tmw directory.

***) Download developer files and put headers and libs in to include and lib
     directories of Dev-Cpp. Download binaries and place the dll inside tmw
     folder.

****) Get latest win32 - mingw package and install as usual.

You should now be fully equipped for compiling the latest TMW development
code!


4. Compiling The Mana World
===========================

Check out The Mana World from Subversion using either the command line svn
tool or TortoiseSVN, pick what you like to use most and install that. Next,
check out the following directory from our repository:

  https://svn.sourceforge.net/svnroot/themanaworld/tmw/trunk

Open "The Mana World.dev" in Dev-C++. From there on you should be able to
start compilition with Excute -> Compile. A file called tmw.exe should appear
in the same directory as where you opened the .dev from.

Before you can actually run the executable be sure to copy over the following
DLLs from your Dev-Cpp/dll directory to the directory containing tmw.exe (or 
alternatively into your c:\windows\system\ for a more universal solution):

 SDL.dll
 SDL_image.dll
 SDL_mixer.dll
 guichan.dll
 guichan_opengl.dll
 guichan_sdl.dll

And also make sure you have:

 libxml2.dll
 libcurl-3.dll
 libiconv-2.dll
 physfs.dll
 zlib1.dll

Additionally don't forget to copy any updated .dll (when libs are updated,
the dll are usually updated too) to the folder containing tmw.exe (or to the
c:\windows\system\).

Have fun hacking The Mana World!