Wesnoth

From OLPC
Revision as of 13:06, 17 July 2009 by Jeremy Visser (talk | contribs) (Update to use SourceForge download location)
Jump to navigation Jump to search

Please find the README for Wesnoth below. Many thanks to Jeremy Visser who will create a new generation of addicted Wesnoth players. :)

Battle for Wesnoth (OLPC port)

Download

Credits

Ported by:

Thanks to:

  • All the testers who helped me test this port (muchly appreciated!):
    • Samy Boutayeb (Secrétaire OLPC France)
    • Christoph Derndorfer (OLPC News co-editor)
    • Mark McGinnes
    • Ray Lischner (and son)
    • Zooko, Irby, and Elliot
    • Thomas Edwards
  • All the folks who dedicated themselves to producing Wesnoth:
  • Albert Cahalan for his Sugarize library:
  • All the Sugar activities for allowing me to read and learn from them in order to produce this port.

License

Copyright (C) 2003 - 2007 by David White <dave@whitevine.net> Part of the Battle for Wesnoth Project http://www.wesnoth.org/

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 or at your option any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

See the COPYING file for more details.

Hacking

To rebuild Wesnoth, first download the Wesnoth 1.4.5 source tarball from: http://www.wesnoth.org/

To get it to work properly on Sugar, you should apply the "wesnoth-olpc-1.4.5.patch" patch which is found in the same directory as this README file. Without applying this patch, you will not be able to save Wesnoth preferences or save games in OS build 703 and later, and the game will take much longer to load.

Here is what I did to produce the binaries included in this XO bundle:

tar -jxvf wesnoth-1.4.5.tar.bz2
cd wesnoth-1.4.5
patch -p1 < /path/to/wesnoth-olpc-1.4.5.patch
./configure --prefix=/path/to/your/wesnoth/bundle --enable-server --enable-editor --enable-lowmem --enable-lite
make
make install

For more information on what the various parameters to ./configure do, run:

./configure --help

If you have severely modified Wesnoth to add new binary dependencies, you should check to see what they are after you have compiled the source:

ldd src/wesnoth

Any of the .so files listed that are not already shipped on OLPC's stable images should be shipped in the 'lib' directory of your XO bundle.

In addition, you must either launch Wesnoth like this:

./wesnoth /path/to/share/wesnoth

or create a wrapper script (like the bundled "wesnoth-activity" script) to do it.

To get Wesnoth to display at the correct resolution on the XO, you should launch it like this:

./wesnoth -r 1200x900

or add it to your wrapper script.

Happy hacking!

Bugs & Known Issues

If you find any bugs with this port of Wesnoth (or if you have suggestions), please report them to Jeremy at <jeremy@visser.name>, and I will then either fix the bug (if it is a problem with my port), or direct you to file your bug at http://www.wesnoth.org/

Here are some known issues:

  • Wesnoth uses a lot of memory, and due to a memory leak bug, Wesnoth may crash after a several hours of play.
  • Normally, the Sugar user interface buttons on the XO (Home, Neighbourhood, Vol Up, Vol Down, Brightness buttons) work fine, but if you select "Toggle full screen" from the Display preferences, Wesnoth takes them over, and they do not work while the game is running. To prevent this happening, please do not use the "Toggle full screen" option, as Wesnoth will use the entire screen anyway.
  • Normally, the Sugar "frame" is still accessible by moving the mouse cursor to a corner of the screen. However, if you select "Toggle full screen" from the Display preferences, Wesnoth takes over the mouse, preventing Sugar from detecting that the mouse is in the corner of the screen. Again, please do not use the "Toggle full screen" option.
  • While you can select "Network Player" as a player type when creating a Local Game in Multiplayer, there appears to be no way to actually join the game from another machine. This is most likely a user interface bug in Wesnoth. It is advised you run a dedicated server from a the command line instead (see "Tips" section).
  • Though the Wesnoth Map Editor has been shipped (bin/wesnoth_editor), there is no launcher to start this executable. To run the map editor, you will need to create a new wrapper script based on wesnoth-activity in order to launch the editor.

Tips

  • If you plan on setting up a multiplayer game on the XO, be aware that this port _is_ compatible with any PC or Mac version of Wesnoth that is also version 1.4.x. You can play between just XOs, or mix-and-match XOs and PCs. You can even play online on the official Wesnoth server.
  • Due to what appears to be a user interface bug in Wesnoth 1.4 (at least, as of 1.4.5), you cannot join an ad-hoc Wesnoth network game. Instead, if you want to play without an Internet connection, or don't want to use the official Wesnoth gaming server, you will have to run your own Wesnoth lobby server, and have other clients connect to it.
  • The executable "wesnoth-server" has been bundled with this package for this reason. Run wesnoth-server in a terminal, then use the "Connect to Server" dialog within Wesnoth to connect to the created lobby server by entering the IP address of the XO which is running the lobby server.