Menu

Tree [a65e1d] master /
 History

HTTPS access


File Date Author Commit
 cmake 2017-07-23 partmedia partmedia [b0aaa8] Import CMake Vala modules
 common 2024-05-19 Kevin Zheng Kevin Zheng [a65e1d] Fix default options
 gtk-v2 2024-04-13 Kevin Zheng Kevin Zheng [80cb4f] Implement client side ticks
 pixmaps 2021-08-21 Kevin Zheng Kevin Zheng [dd2419] Remove SDL and OpenGL renderers
 utils 2024-04-14 Kevin Zheng Kevin Zheng [3a24dc] Update latency profiler to new client output fo...
 .gitignore 2021-05-08 Kevin Zheng Kevin Zheng [46c822] Add gitignore
 AUTHORS 2014-04-05 partmedia partmedia [6a8965] Update AUTHORS and README.
 CMakeLists.txt 2024-04-26 Kevin Zheng Kevin Zheng [672ad8] Raise minimum required CMake version
 COPYING 1999-03-29 uid200 uid200 [893f28] Initial revision
 ChangeLog 2024-04-11 Kevin Zheng Kevin Zheng [4d77f2] Update ChangeLog and bump version string to 1.75.3
 Doxyfile 2014-11-16 partmedia partmedia [96a9ba] Update Doxyfile
 README.rst 2024-04-11 Kevin Zheng Kevin Zheng [0dd9bb] Document missing version string
 TODO 2022-12-17 kbulgrien kbulgrien [7d3b7c] - seperate -> separate
 config.h.in 2024-04-14 Kevin Zheng Kevin Zheng [e24e04] Remove unused macro for checking sysconf existence
 resources.xml 2021-01-03 partmedia partmedia [8c9648] Load default key bindings from a GResource

Read Me

Crossfire Client

Crossfire is a free, open-source, cooperative multi-player RPG and adventure game. Since its initial release, Crossfire has grown to encompass over 150 monsters, 3000 areas to explore, an elaborate magic system, 13 races, 15 character classes, and many powerful artifacts scattered far and wide. Set in a fantastical medieval world, it blends the style of Gauntlet, NetHack, Moria, and Angband.

Installation

To build with the default options, change to the source directory and run:

$ mkdir build && cd build/
$ cmake ..
$ make
# make install

To build with minimal dependencies, use this CMake command instead:

$ cmake -DLUA=OFF -DMETASERVER2=OFF -DSOUND=OFF ..

To build with debugging symbols:

$ cmake -DCMAKE_BUILD_TYPE=Debug ..

Use ccmake instead of cmake to change these options and more interactively.

For more details, see Compiling the Crossfire Client on the Crossfire Wiki.

Dependencies

  • C compiler supporting C99
  • CMake
  • GTK+ 2
  • libpng
  • Perl
  • pkg-config
  • Vala

Optional:

  • libcurl (for metaserver support)
  • Lua 5 (for client-side Lua scripting)
  • SDL2_mixer (for sound support)

Sounds

To play with sounds, make sure the client is compiled with SOUND enabled. Download the sound archive and extract it to ${PREFIX}/share/crossfire-client. Then enable sound effects in the client preferences.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

See COPYING.

Release

To tag and prepare a client release:

  1. Update ChangeLog
  2. Update VERSION string in CMakeLists.txt and gtk-v2/ui/dialogs.ui
  3. Create an annotated tag (e.g. git tag -a v1.2.3 -m "Tag 1.2.3 release")
  4. Push tags
  5. Build the client normally (see above)
  6. Run git clean -fx to clean up local files
  7. Download/check out current sounds into sounds/ for inclusion in the source release
  8. In the build directory, run make package_source
  9. Inspect resulting source tarball, extract, build, test
  10. Upload source distribution, coordinate builds, announce
  11. Celebrate with a Chateau Navar '78