diff options
-rw-r--r-- | INSTALL | 287 | ||||
-rw-r--r-- | The Mana World.dev | 10 | ||||
-rwxr-xr-x | configure.ac | 2 | ||||
-rw-r--r-- | docs/INSTALL/linux.txt | 35 | ||||
-rw-r--r-- | docs/INSTALL/win32.txt | 10 | ||||
-rw-r--r-- | src/Makefile.am | 1 | ||||
-rw-r--r-- | src/game.cpp | 53 |
7 files changed, 115 insertions, 283 deletions
@@ -1,231 +1,66 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free -Software Foundation, Inc. - -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - -These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - -You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - -By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PREFIX', the package will -use PREFIX as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. +How to compile and run TMW on your GNU/Linux Box +================================================ -Sharing Defaults -================ - -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - -Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - -`configure' recognizes the following options to control how it operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. +Homepage: http://themanaworld.sourceforge.net/ +IRC: irc.freenode.net / #manaworld -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. +1) Requirements +2) Compiling The Mana World +3) Notes -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. +1. Requirements +=============== +You are expected to have either checked out TMW from CVS or you have downloaded +a source release. To get The Mana World to compile, you need a compiler (GCC) +and some libraries. The required libraries are: + +1) SDL http://www.libsdl.org/ +2) SDL_mixer http://www.libsdl.org/projects/SDL_mixer/ +3) SDL_image http://www.libsdl.org/projects/SDL_image/ +4) Guichan 0.2.0 http://guichan.darkbits.org/ +5) libxml2 http://www.xmlsoft.org/ + +If you checked TMW out from CVS you will also need these tools to compile: + +6) GNU automake http://www.gnu.org/software/automake/ +7) GNU autoconf http://www.gnu.org/software/autoconf/ + +Installing these dependencies is distributions-specific, and we'll leave it to +you to figure this out. + + +2. Compiling The Mana World +=========================== + +1) Go to the directory you have extracted the source to. +2) If you checked out from CVS, run "./autogen.sh" to generate configure. +3) Run "./configure" +4) Run "make" + +It should have generated the executable in src/tmw, you should run it like +"src/tmw" for it to be able to find its data. + + + EXPERIMENTAL: For those people with modern video cards and fast OpenGL + performance, we have been working on OpenGL support. At the moment there is + no way to switch between SDL and OpenGL dynamically and you need to do this + at compile time. To try this perform step 3 as follows: + + "./configure CXXFLAGS=-DUSE_OPENGL" + + And rebuild the executable from scratch using "make clean" and then "make". + + +3. Notes +======== + +There is at the moment no way to install The Mana World on your sytem, we still +need to figure out how to make that possible using the GNU autotools. Any help +on this will be greatly appreciated. + +If you have any problems, you are welcome to post your questions on our forums, +or talk about them in our IRC channel. + +- The Mana World Dev Team diff --git a/The Mana World.dev b/The Mana World.dev index f90e6cd2..be17f086 100644 --- a/The Mana World.dev +++ b/The Mana World.dev @@ -32,23 +32,19 @@ CompilerSettings=0010001001001000001101 [VersionInfo] Major=0 Minor=0 -Release=9 -<<<<<<< The Mana World.dev -Build=809 -======= +Release=10 Build=0 ->>>>>>> 1.76 LanguageID=1033 CharsetID=1252 CompanyName=The Mana World Development Team -FileVersion=0.0.9 +FileVersion=0.0.10 FileDescription=The Mana World InternalName=tmw.exe LegalCopyright=2004 (C) LegalTrademarks= OriginalFilename=tmw.exe ProductName=The Mana World MMORPG -ProductVersion=0.0.9 +ProductVersion=0.0.10 AutoIncBuildNr=0 [Unit8] diff --git a/configure.ac b/configure.ac index f5775626..597ac857 100755 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([The Mana World], [0.0.9], [umperio@users.sourceforge.net]) +AC_INIT([The Mana World], [0.0.10], [umperio@users.sourceforge.net]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) AC_LANG_CPLUSPLUS diff --git a/docs/INSTALL/linux.txt b/docs/INSTALL/linux.txt index 6d56e1e5..d2622ec7 100644 --- a/docs/INSTALL/linux.txt +++ b/docs/INSTALL/linux.txt @@ -1,45 +1,46 @@ -How to compile and install TMW on my GNU/Linux Box -================================================== +How to compile and run TMW on your GNU/Linux Box +================================================ -The Mana World project -====================== -Homepage: themanaworld.sourceforge.net +Homepage: http://themanaworld.sourceforge.net/ IRC: irc.freenode.net / #manaworld 1) Requirements -2) Installing The Mana World +2) Compiling The Mana World 3) Notes 1. Requirements =============== -To get The Mana World to compile, you need a compile (GCC) and some libraries. -The required libraries are: +You are expected to have either checked out TMW from CVS or you have downloaded +a source release. To get The Mana World to compile, you need a compiler (GCC) +and some libraries. The required libraries are: 1) SDL http://www.libsdl.org/ 2) SDL_mixer http://www.libsdl.org/projects/SDL_mixer/ 3) SDL_image http://www.libsdl.org/projects/SDL_image/ 4) Guichan 0.2.0 http://guichan.darkbits.org/ +5) libxml2 http://www.xmlsoft.org/ + +If you checked TMW out from CVS you will also need these to compile: + +6) GNU automake http://www.gnu.org/software/automake/ +7) GNU autoconf http://www.gnu.org/software/autoconf/ Installing these dependencies is distributions-specific, and we'll leave it to you to figure this out. -2. Installing The Mana World -============================ - -The final step... I assume you have already downloaded the latest tarball or -checked out a recent version from the CVS. -In any case follow the last 3 steps: (recommend) +2. Compiling The Mana World +=========================== 1) Go to the directory you have extracted the source to. -2) Run "./autogen.sh" (only when using CVS, not when using a source release) +2) If you checked out from CVS, run "./autogen.sh" to generate configure. 3) Run "./configure" 4) Run "make" -It should have generated the executable in src/tmw, you should run it from the -main directory for it to be able to find its data. +It should have generated the executable in src/tmw, you should run it like +"src/tmw" for it to be able to find its data. If this does not work for you try the following: (not recommend) diff --git a/docs/INSTALL/win32.txt b/docs/INSTALL/win32.txt index 31ca123a..602b3690 100644 --- a/docs/INSTALL/win32.txt +++ b/docs/INSTALL/win32.txt @@ -53,11 +53,11 @@ You can find it at: http://themanaworld.sourceforge.net/files/tmw-cvs.DevPak -Just install this one and you should be ready to go. 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. -If you can't get the package or experiencing problems with it, just send me an -email at elvenprogrammer@gmail.com or continue reading. +Just install this one and you should be ready to go. 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. If you can't get the package or +experiencing problems with it, just send me an email at +elvenprogrammer@gmail.com or continue reading. All the libs have DevPaks that are very easy drop-ins for Dev-C++, without any complex actions on your side. diff --git a/src/Makefile.am b/src/Makefile.am index b4c4ad97..7cdf49a9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -75,6 +75,7 @@ tmw_SOURCES = graphic/graphic.cpp \ net/network.h \ net/protocol.cpp \ net/protocol.h \ + net/win2linux.h \ resources/image.cpp \ resources/image.h \ resources/resource.cpp \ diff --git a/src/game.cpp b/src/game.cpp index 9044a711..2d9c4cc7 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -120,7 +120,8 @@ void game() { close_session(); } -void do_init() { +void do_init() +{ if (!tiledMap.load(map_path)) { error("Could not find map file"); } @@ -130,8 +131,6 @@ void do_init() { // Initialize timers tick_time = 0; - - // The SDL way SDL_AddTimer(10, refresh_time, NULL); SDL_AddTimer(1000, second, NULL); @@ -242,31 +241,31 @@ void do_input() if (keysym.mod & KMOD_CTRL) { // Workaround for Win and else - #if __USE_UNIX98 - SDL_WM_ToggleFullScreen(screen); - if ((int)config.getValue("screen", 0) == 0) { - config.setValue("screen", 1); - } - else { - config.setValue("screen", 0); - } - #else - int displayFlags = 0; - if ((int)config.getValue("screen", 0) == 0) { +#if __USE_UNIX98 + SDL_WM_ToggleFullScreen(screen); + if ((int)config.getValue("screen", 0) == 0) { + config.setValue("screen", 1); + } + else { + config.setValue("screen", 0); + } +#else + int displayFlags = 0; + if ((int)config.getValue("screen", 0) == 0) { displayFlags |= SDL_FULLSCREEN; - config.setValue("screen", 1); - } - else { - config.setValue("screen", 0); - } - if ((int)config.getValue("hwaccel", 0)) { - displayFlags |= SDL_HWSURFACE | SDL_DOUBLEBUF; - } - else { - displayFlags |= SDL_SWSURFACE; - } - screen = SDL_SetVideoMode(800, 600, 32, displayFlags); - #endif + config.setValue("screen", 1); + } + else { + config.setValue("screen", 0); + } + if ((int)config.getValue("hwaccel", 0)) { + displayFlags |= SDL_HWSURFACE | SDL_DOUBLEBUF; + } + else { + displayFlags |= SDL_SWSURFACE; + } + screen = SDL_SetVideoMode(800, 600, 32, displayFlags); +#endif } } } // End key down |