From no-reply_wiki at metalforge.org Sat Sep 1 19:10:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Sep 2007 19:10:39 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1188691839.764733.29161.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/01 19:10 User : Edit Summary: autoconf2.5, python, cproto. python2.4-gd, sudo not required. @@ -2,8 +2,9 @@ FIXME make the svn checkout part common, things like that; split requirements between server and client; list only "top-level" requirements (ie SVN), don't go into details unless required ===== *nix ===== + ==== Requirements ==== FIXME -- requirements list needs some fine tuning @@ -21,9 +22,8 @@ * make - The GNU version of the "make" utility * subversion - advanced version control system (aka. svn) * libapr0 - the Apache Portable Runtime (required by subversion) * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion) - * sudo - Provide limited super user privileges to specific users As a quick reference: sudo apt-get install automake1.9 flex gcc libgd-tools libgd2-xpm-dev libtool make subversion @@ -31,19 +31,30 @@ === Recommended Packages === The recommended packages provide additional add-ons or features (summaries included, below) to the server or as a way to test new functions and features. + * autoconf2.5 - Not normally required for end-user builds, but it is useful if build scripts are not up to date. * check - unit test framework for C (used by the unit tests) * libsqlite3-0 - SQLite 3 shared library (used by cflogger) - * python2.4-gd - Python module wrapper for libgd (used by game features such as bank, post office, slot machines, etc.) - * are you sure about that one?? unless i'm mistaking it's a graphic library, and i don't see where it'd be used in the scripts... --- //Ryo 2007/03/22 04:48// - * I'm not positive, but it was the only reference to python that I saw in my bash history during the initial install and setup. --- //Leaf 2007/03/22 20:10// + * libpython2.4 - Python shared object library (used by game features such as bank, post office, slot machines, etc.) + * libpython2.4-devel - Required to compile python support into the server. As a quick reference: sudo apt-get install check libsqlite3-0 Installing Python and which version is still under investigation/discussion + * lib64python2.4-2.4.3 is known to work on Mandriva 2007.0 x86_64 + + === Useful Packages === + + These useful packages are not normally required for end-user builds, but they come in handy in cases where developers may have forgotten to check in changes to build scripts, etc. + + * autoconf2.5 - Running autogen.sh to fix up build scripts will require autoconf. + * cproto - supports `make proto` to automatically update prototype files. + * sudo - Provide limited super user privileges to specific users + * Not required, but `sudo make install` is useful for installing to system directories. + * Do not run `make` as the root user for security reasons. ==== START HERE ==== This is the starting point and confirms you are located in your home directory IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1182627224 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Sep 1 19:12:22 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Sep 2007 19:12:22 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1188691942.500855.29164.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/01 19:12 User : Edit Summary: Note sudo useful for installing packages. @@ -2,8 +2,9 @@ FIXME make the svn checkout part common, things like that; split requirements between server and client; list only "top-level" requirements (ie SVN), don't go into details unless required ===== *nix ===== + ==== Requirements ==== @@ -27,9 +28,9 @@ As a quick reference: sudo apt-get install automake1.9 flex gcc libgd-tools libgd2-xpm-dev libtool make subversion - === Recommended Packages === + ==== Recommended Packages ==== The recommended packages provide additional add-ons or features (summaries included, below) to the server or as a way to test new functions and features. * autoconf2.5 - Not normally required for end-user builds, but it is useful if build scripts are not up to date. @@ -44,16 +45,17 @@ Installing Python and which version is still under investigation/discussion * lib64python2.4-2.4.3 is known to work on Mandriva 2007.0 x86_64 - === Useful Packages === + ==== Useful Packages ==== These useful packages are not normally required for end-user builds, but they come in handy in cases where developers may have forgotten to check in changes to build scripts, etc. * autoconf2.5 - Running autogen.sh to fix up build scripts will require autoconf. * cproto - supports `make proto` to automatically update prototype files. * sudo - Provide limited super user privileges to specific users * Not required, but `sudo make install` is useful for installing to system directories. + * sudo is also useful for installing packages that are missing. * Do not run `make` as the root user for security reasons. ==== START HERE ==== IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1188691837 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Sep 1 19:20:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Sep 2007 19:20:44 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1188692444.648459.29182.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/01 19:20 User : Edit Summary: Clarify autogen.sh instructions. @@ -149,8 +149,9 @@ Double check that you are in the correct directory which is the server directory $ pwd /home//server.svn + ==== COMPILE ==== Now you are going to begin the compile process; choose one of the following: @@ -168,12 +169,12 @@ $ ./configure && make -k check && sudo make install Recent SVN commit (~2007-Mar-30) changed the build process for the server; use the following command in the server root directory: - $ sh autogen.sh; ./configure && make && sudo make install - + $ sh autogen.sh && make && sudo make install - autogen.sh script re-creates the configure (./configure) script while the rest of the command starts the compile (build) process. + autogen.sh script re-creates the configure (./configure) script while the rest of the command starts the compile (build) process. Pass the same options to autogen.sh as you would normally pass to ./configure since autogen.sh calls ./configure. + This command requires both autoconf and automake to be installed. ==== LAUNCH ==== Once the server has been successfully built (aka compiled), you need to launch the Crossfire Server application IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1188691940 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Sep 1 19:27:04 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Sep 2007 19:27:04 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: linux Message-ID: <1188692824.240032.29191.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/01 19:27 User : Edit Summary: Add link for crossfire client compile guide. @@ -2,11 +2,17 @@ Crossfire should install and run on any Linux variant that supports [[wp>X_Window_System|X]] and has the libraries which Crossfire requires. ===== Debian ===== Crossfire is available in all Debian distributions; oldstable, stable, testing and unstable. + ==== Installation ==== - The easiest way to install Crossfire on [[wp>Debian]] is to use the Debian package system and repository. The version there may lag somewhat behind the latest release, but it will be tested for Debian and automatically install any needed dependencies. (To stay current with the latest development version, see the [[http://crossfire.real-time.com/svn/index.html|Crossfire SVN page]] and the [[Crossfire Compile guide|crossfire_compile_guide]].) + The easiest way to install Crossfire on [[wp>Debian]] is to use the Debian package system and repository. The version there may lag somewhat behind the latest release, but it will be tested for Debian and automatically install any needed dependencies. + + To stay current with the latest development version, see also: + * [[http://crossfire.real-time.com/svn/index.html|Crossfire SVN page]] + * [[Crossfire Compile guide|crossfire_compile_guide]] + * [[Crossfire Client Compile guide|crossfire-client_compile_guide]] === Server === The server installation command is the following: IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/linux?rev=1183094885 New Revision: http://wiki.metalforge.net/doku.php/linux -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Sep 1 20:39:03 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Sep 2007 20:39:03 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: crossfire_client_compile_guide Message-ID: <1188697143.285004.29493.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/01 20:39 User : Edit Summary: Created an initial outline. It is mostly relevant, but needs work. This is a quide on how to download crossfire-client sources from SVN and basic instructions on compiling a crossfire client for local use or testing. Please post build instructions for various operating environments. ===== *nix ===== ==== Requirements ==== FIXME -- requirements list needs some fine tuning Many of these packages (listed alphabetically) may already be installed on your system, but this list may help with setup of a build environment. When in doubt, carefully look over the results of the ./configure step as it will often imply when packages are missing. Everything is not always required, but without everything, certain functionality may be disabled. ===General=== * autoconf2.5 - A tool for building configure scripts. * Normally autoconf is not required for building, but the current SVN client trunk does require it. * automake1.9 - A tool for generating GNU Standards-compliant Makefiles. * flex - A fast lexical analyzer generator * m4 - a macro processing language (required by flex) * gcc - The GNU C compiler * libgd-tools - GD command line tools and example code * libgd2-noxpm - GD Graphics Library version 2 (without XPM support) (required by libgd-tools) * libgd2-xpm-dev - GD Graphics Library version 2 (development version) * libtool - Generic library support script * make - The GNU version of the "make" utility * subversion - advanced version control system (aka. svn) * libapr0 - the Apache Portable Runtime (required by subversion) * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion) ===X11 Client=== * FIXME (more...) ===First GTK Client=== * FIXME (more...) ===Second GTK Client=== * libglade2.0_0-devel * libglade-2.0 * libgtk-x11-2.0 * libxml2 * libz * libgdk-x11-2.0 * libatk-1.0 * libgdk_pixbuf-2.0 * libm * libpangocairo-1.0 * libpango-1.0 * libcairo * libgobject-2.0 * libgmodule-2.0 * libdl * lglib-2 Note: For x86_64 systems, do not mix 64-bit and 32-bit libraries unless it cannot be helped. For example, libsvn0 is a 32-bit library, but lib64svn0 is the 64-bit equivalent. The build process may fail in the linkage stage if a 32-bit library is linked during a 64-bit build. ==== Recommended Packages ==== Recommended packages provide additional add-ons or functionality to the client, or allow more than one client to be built. It is quite possible to get a perfectly acceptable client functional without having all of the recommended packages. * libSDL * libSDL_image * FIXME (more...) ==== Useful Packages ==== These useful packages are not normally required for end-user builds, but they come in handy in cases where developers may have forgotten to check in changes to build scripts, etc. * cproto - supports `make proto` to automatically update prototype files. * sudo - Provide limited super user privileges to specific users * Not required, but `sudo make install` is useful for installing to system directories. * sudo is also useful for installing packages that are missing. * Do not run `make` as the root user for security reasons. ==== START HERE ==== This is the starting point and confirms you are located in your home directory $ cd ~ $ pwd /home/ ==== DOWNLOAD ==== * Trunk contains the newest features and development for the game * Branch contains the most recent "stable" version of the game * Tags is an official & stable release of the game **IMPORTANT** - One should be consistent with what is checked out; meaning use all trunk server & archetypes & maps or branches/1.x server & archetypes & maps or tags/1.10.0 server & archetypes & maps otherwise a strong risk of failure due to incompatibilities exists (broken maps, missing graphics, etc.) The follow steps may be used to download the client source files to your computer. === Trunk === $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/trunk client.svn === Branch === These steps have you download branches/1.x $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/branches/1.x client.svn === Tag === Here's how to download Tag using the 1.10.0 release as an example $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/tags/1.10.0 client.svn ==== SETUP ==== Confirm that you are still in your home directory $ cd ~ $ pwd /home/ Now change the working directory to the directory where the client sources were downloaded. $ cd client.svn Confirm that you are in the client source directory $ pwd /home//client.svn A "fool-proof" build preparation that should always work. By "fool" we're talking about a forgetful developer, not the builder, though nobody can really fool-proof software against bugs, so your mileage may vary. $ export CFLAGS="-ggdb -g -O0"; ./autogen.sh --prefix=${HOME} The export statement enables debugging and disables optimization to facilitate debugging. These settings are useful when running software that has not been released, and is the recommended practice so that if a bug is encountered, it will be possible to collect more data about the bug. The autogen.sh script re-creates the configure (./configure) script. It accepts the same options as would normally be pass to ./configure. This command requires both autoconf and automake to be installed. This process attempts to locate required resources, and also discover whether or not required resources are installed. It is okay to proceed directly to compilation, but almost certainly the output of the ./configure process needs to be review, and packages may need to be installed based upon what features or functionality is desired. The ./configure output generally indicates whether it will or will not build particular clients. ==== COMPILE ==== Now, begin the compile process; choose one of the following: $ make && make install ==== LAUNCH ==== Once the server has been successfully built (aka compiled), you need to launch the Crossfire Server application Double check that you are in the correct directory which is the server directory $ pwd /home//client.svn Note: For the GTK clients, the version numbers are sometimes confusing. The first client to use GTK is often called the GTK 1 client because it was originally compiled with GTK+-1.x, but now it is often compiled with GTK+-2.x. The second client developed with GTK is called the gtk-v2 client. It used to be built with GTK+-2.x, but has now been converted to build against libglade-2.0 (which requires GTK+-2.0 and other related libraries). The gtk-v2 client is designed to build with GTK+1.0 libraries. ===X11 Client=== FIXME ===Version 1 GTK Client=== FIXME ===Version 2 GTK Client=== Change directory the gtk-v2 directory $ cd gtk-v2/src Your file directory path should look like this: $ pwd /home//client.svn/gtk-v2/src Run this command to launch the server: $ ./crossfire-client-gtk2 & The command runs the Crossfire Client and returns you back to a shell prompt FIXME Add gdb instructions and discuss possible issues regarding .glade layout files. ===== Microsoft (c) Windows ===== FIXME IP-Address : 66.137.82.229 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/crossfire_client_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 11:53:41 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 11:53:41 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:kbulgrien Message-ID: <1188752021.107227.6183.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 11:53 User : Edit Summary: Experiment with writing a qemu crossfire test setup. =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== $ urpmq --fuzzy qemu\\ [[user:kbulgrien#dkms-kqemu|dkms-kqemu]]\\ [[user:kbulgrien#qemu|qemu]]\\ [[user:kbulgrien#qemu-img|qemu-img]]\\ [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ =====Installation===== $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher\\ To satisfy dependencies, the following packages are going to be installed:\\ dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64\\ perl-Gtk2-GladeXML-1.005-1mdk.x86_64\\ qemu-0.9.0-6mdv2007.0.x86_64\\ qemu-img-0.9.0-6mdv2007.0.x86_64\\ qemu-launcher-1.7.0-1mdv2007.0.noarch\\ Proceed with the installation of the 5 packages? (11 MB) (Y/n) y\\ ... installing qemu-launcher-1.7.0-1mdv2007.0.noarch.rpm perl-Gtk2-GladeXML-1.005-1mdk.x86_64.rpm dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64.rpm qemu-0.9.0-6mdv2007.0.x86_64.rpm qemu-img-0.9.0-6mdv2007.0.x86_64.rpm from /var/cache/urpmi/rpms Preparing... ############################################# 1/5: qemu-img ############################################# 2/5: dkms-kqemu ############################################# + /usr/sbin/dkms --rpm_safe_upgrade add -m kqemu -v 1.3.0pre11-3 Creating symlink /var/lib/dkms/kqemu/1.3.0pre11-3/source -> /usr/src/kqemu-1.3.0pre11-3 DKMS: add Completed. + /usr/sbin/dkms --rpm_safe_upgrade build -m kqemu -v 1.3.0pre11-3 Preparing kernel 2.6.17-14mdv for module build: (This is not compiling a kernel, just preparing kernel symbols) Storing current .config to be restored when complete Running Mandrakelinux style preparation routine make clean....(bad exit status: 2) using /proc/config.gz make oldconfig....(bad exit status: 2) running dkms_mkkerneldoth.... Building module: cleaning build area....(bad exit status: 2) ./configure --kernel-path=/lib/modules/2.6.17-14mdv/source && make....... cleaning build area.... DKMS: build Completed. + /usr/sbin/dkms --rpm_safe_upgrade install -m kqemu -v 1.3.0pre11-3 Running module version sanity check. kqemu.ko.gz: - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/2.6.17-14mdv/kernel/3rdparty/kqemu/ depmod..... DKMS: install Completed. + /sbin/modprobe kqemu 3/5: perl-Gtk2-GladeXML ############################################# 4/5: qemu-launcher ############################################# 5/5: qemu ############################################# $ =====Verification===== $ sudo lsmod | grep qemu kqemu 163368 0 ======qemu packages====== The following Mandriva packages are available via urpmi. =====qemu===== QEMU is a FAST! processor emulator. By using dynamic translation it achieves a reasonnable speed while being easy to port on new host CPUs. QEMU has two operating modes: * User mode emulation. In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. Linux system calls are converted because of endianness and 32/64 bit mismatches. Wine (Windows emulation) and DOSEMU (DOS emulation) are the main targets for QEMU. * Full system emulation. In this mode, QEMU emulates a full system, including a processor and various peripherials. Currently, it is only used to launch an x86 Linux kernel on an x86 Linux system. It enables easier testing and debugging of system code. It can also be used to provide virtual hosting of several virtual PC on a single server. This QEMU package provides support for KQEMU, the QEMU Accelerator module. This QEMU package provides support for KVM (Kernel-based Virtual Machine), a full virtualization solution for Linux on x86 hardware containing virtualization extensions (AMD-v or Intel VT). =====qemu-img===== This package contains the QEMU disk image utility that is used to create, commit, convert and get information from a disk image. =====qemu-launcher===== A launcher for Qemu that manages Qemu configs and creates disk images Qemu-launcher provides a point and click interface to Qemu. It also allows you to create, save, load, and run multiple Qemu VM configurations. It has a basic interface for creating or convertering disk images. =====dkms-kqemu===== QEMU Accelerator (KQEMU) is a driver allowing the QEMU PC emulator to run much faster when emulating a PC on an x86 host. Full virtualization mode can also be enabled (with -kernel-kqemu) for best performance. This mode only works with the following guest OSes: Linux 2.4, Linux 2.6, Windows 2000 and Windows XP. WARNING: for Windows 2000/XP, you cannot use it during installation. Use "qemu-system-x86_64" to benefit from the QEMU Accelerator Module. ====== IP-Address : 66.137.82.229 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 16:11:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 16:11:05 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188767465.922894.8114.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 16:11 User : Edit Summary: Incremental save ... setting up the virtual host. @@ -1,4 +1,25 @@ + This page contains information how to use **qemu** to test **crossfire** on a virtual host. + + Before beginning, see [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting up the virtual host. + + =======Virtual host workspace setup====== + + First, launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. The prompt will look like: + + [tux at localhost ~]$ + + Next, set up a work area for the crossfire sources. + + $ cd ~ + $ mkdir svn + $ cd svn + + This example will presume the use of //trunk// and //branch/1.x// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. + + $ svn co https:// + + =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== @@ -68,8 +89,127 @@ =====Verification===== $ sudo lsmod | grep qemu kqemu 163368 0 + + =====OS Setup===== + + Operating system images may be found at [[http://www.oszoo.org/wiki/index.php/Main_Page|oszoo.org]]. + + This example uses [[http://www.oszoo.org/wiki/index.php/Mandriva-one-2007-qemu-image.zip|Mandriva-One-2007]]. + + Download the .zip file... for purposes of this example to /home//Download/mandriva-one-2007-qemu-image.zip + + $ cd ~ + $ mkdir qemu + $ cd qemu + $ unzip ~/Download/mandriva-one-2007-qemu-image.zip + Archive: /home/krb/Download/mandriva-one-2007-qemu-image.zip + creating: mandriva-one-2007-qemu-image/ + inflating: mandriva-one-2007-qemu-image/mandriva-one-2007.qcow.img + inflating: mandriva-one-2007-qemu-image/mandriva-one-screen-shot.gif + inflating: mandriva-one-2007-qemu-image/README.txt + $ cd mandriva-one-2007-qemu-image + + NOTE: If you are not using an x86_64 system, the qemu command will vary based on your system. + + $ ls -l /usr/bin/qemu* + lrwxrwxrwx 1 root root 18 Sep 2 11:20 /usr/bin/qemu -> qemu-system-x86_64* + -rwxr-xr-x 1 root root 355832 Apr 18 09:40 /usr/bin/qemu-arm* + -rwxr-xr-x 1 root root 359552 Apr 18 09:40 /usr/bin/qemu-armeb* + -rwxr-xr-x 1 root root 513648 Apr 18 09:40 /usr/bin/qemu-i386* + -rwxr-xr-x 1 root root 123872 Apr 18 09:40 /usr/bin/qemu-img* + -rwxr-xr-x 1 root root 58646 Aug 14 2006 /usr/bin/qemu-launcher* + -rwxr-xr-x 1 root root 454416 Apr 18 09:40 /usr/bin/qemu-ppc* + -rwxr-xr-x 1 root root 487968 Apr 18 09:40 /usr/bin/qemu-sparc* + -rwxr-xr-x 1 root root 744880 Apr 18 09:40 /usr/bin/qemu-system-arm* + -rwxr-xr-x 1 root root 1209152 Apr 18 09:40 /usr/bin/qemu-system-i386* + -rwxr-xr-x 1 root root 1094848 Apr 18 09:40 /usr/bin/qemu-system-mips* + -rwxr-xr-x 1 root root 995632 Apr 18 09:40 /usr/bin/qemu-system-ppc* + -rwxr-xr-x 1 root root 871688 Apr 18 09:40 /usr/bin/qemu-system-sparc* + -rwxr-xr-x 1 root root 1366240 Apr 18 09:40 /usr/bin/qemu-system-x86_64* + + NOTE: The following echo command will create a launch script to start up the virtual system. Please note that the //-m 1024// option allocates 1Gb of RAM to the virtual system. If the host system does not have that much free RAM, you must lower the number accordingly. + + $ echo qemu-system-x86_64 -L . -hda mandriva-one-2007.qcow.img -m 1024 -boot c >launch.sh + $ cp /usr/share/qemu/*.bin . + $ bash launch.sh + + A QEMU/KQEMU window appears with a Mandriva boot menu. Select **linux-nonfb** and press //Enter//. The virtual system will boot up and eventually present you with a KDE desktop. You are auto-logged in as a user named ''tux''. + + If you click inside that window, your mouse pointer will be trapped inside the window until you press //Ctrl-Alt//, so keep this in mind whenever you wish to switch back and forth between the host and the virtual system. + + A **Mandriva Linux** window will pop up. Uncheck the **Open this window on startup** box, and press the **Close** button. + + On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to turn off key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. + + =====About your virtual system===== + + * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. + * The system's IP address is ''10.0.2.15''. + * The host system's IP address is ''10.0.2.2''. + * The virtual system has access the internet if you host system has access. + + =====About your host system===== + + This example makes certain presumptions about your host system set up. Among them are: + + * It is possible to //ssh// into your user account on the host system from **localhost**, and, that //scp// is installed. + * Your host system has internet access. + + =====About your skills===== + + This example does presume some things about your skills. + + * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. + * You are reasonably comfortable with using a BASH command-line when directed about what to type. + + =====Setting up the tool chain===== + + ====Give your user sudo priveleges==== + + First, you will need ''root'' access from time to time, so set that up first... + + $ su -l root -c urpmi\ sudo + Password: + + ftp://ftp.u-strasbg.fr... + installing sudo... + Preparing... + 1/1: sudo... + + The password for ''root'' (and ''tux'') is given above. + + Remember, the password was documented above in [[user:kbulgrien#About your virtual system|About your virtual system]]. + + $ su -l root -c visudo + + Uncomment the following line by removing the leading ''#'' and space character. Save your changes. You are in the //vi// editor. Use the arrow keys to move down to the first character of the line that reads ''# %wheel ALL=(ALL) ALL''. Press ''xx:wq''. Teaching you how to use ''vi'' is outside of the scope of this tutorial, so from here on, you are on your own. + + $ su -l root -c usermod\ -G\ wheel\ tux + + ====Set up a toolchain==== + + $ sudo urpmi subversion + To satisfy dependencies, the following packages are going to be installed: + libapr-util1... + libapr1... + libsvn0... + subversion... + Proceed with the installation of the 4 packages? (4 MB) (Y/n) y + ... + $ sudo urpmi gcc autoconf2.5 automake + To satisfy dependencies, the following packages are going to be installed: + autoconf2.1... + autoconf2.5... + automake1.8... + binutils... + gcc... + glibc-devel... + libbinutils2... + m4... + Proceed with the installation of the 8 packages? (30 MB) (Y/n) y + ... ======qemu packages====== The following Mandriva packages are available via urpmi. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188752019 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 16:40:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 16:40:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188769209.069937.8165.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 16:40 User : Edit Summary: More tools installed. Ready to condense. @@ -208,8 +208,21 @@ libbinutils2... m4... Proceed with the installation of the 8 packages? (30 MB) (Y/n) y ... + $ sudo urpmi libtool make cproto + To satisfy dependencies, the following packages are going to be installed: + cproto... + libtool... + libtool-base... + make + Proceed with the installation of the 4 packages? (4 MB) (Y/n) y + ... + $ sudo gdb + ... + $ exit + + Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. ======qemu packages====== The following Mandriva packages are available via urpmi. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188767464 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 17:07:30 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 17:07:30 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188770850.828138.8317.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 17:07 User : Edit Summary: Fix typos, condense the toolchain installation. @@ -143,32 +143,34 @@ On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to turn off key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. =====About your virtual system===== - * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. - * The system's IP address is ''10.0.2.15''. - * The host system's IP address is ''10.0.2.2''. - * The virtual system has access the internet if you host system has access. + * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. + * The system's IP address is ''10.0.2.15''. + * The host system's IP address is ''10.0.2.2''. + * The virtual system has access the internet if the host system has access. =====About your host system===== This example makes certain presumptions about your host system set up. Among them are: - * It is possible to //ssh// into your user account on the host system from **localhost**, and, that //scp// is installed. - * Your host system has internet access. + * It is possible to //ssh// into your user account on the host system from **localhost**, and, that //scp// is installed. + * Your host system has internet access. =====About your skills===== This example does presume some things about your skills. - * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. - * You are reasonably comfortable with using a BASH command-line when directed about what to type. + * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. + * You are reasonably comfortable with using a BASH command-line when directed about what to type. =====Setting up the tool chain===== - ====Give your user sudo priveleges==== + ====Give tux sudo privileges==== - First, you will need ''root'' access from time to time, so set that up first... + First, you will need ''root'' access from time to time, so set that up first. Open up a terminal session by clicking the **Terminal Program** icon on the start bar. Size and configure it to taste, and settle in for a session at the command prompt. The prompt will look like: + + [tux at localhost ~]$ $ su -l root -c urpmi\ sudo Password: @@ -188,41 +190,36 @@ $ su -l root -c usermod\ -G\ wheel\ tux ====Set up a toolchain==== - $ sudo urpmi subversion - To satisfy dependencies, the following packages are going to be installed: - libapr-util1... - libapr1... - libsvn0... - subversion... - Proceed with the installation of the 4 packages? (4 MB) (Y/n) y - ... $ sudo urpmi gcc autoconf2.5 automake To satisfy dependencies, the following packages are going to be installed: autoconf2.1... autoconf2.5... automake1.8... binutils... + cproto... gcc... glibc-devel... + libapr-util1... + libapr1... libbinutils2... - m4... - Proceed with the installation of the 8 packages? (30 MB) (Y/n) y - ... - $ sudo urpmi libtool make cproto - To satisfy dependencies, the following packages are going to be installed: - cproto... + libsvn0... libtool... libtool-base... + m4... make - Proceed with the installation of the 4 packages? (4 MB) (Y/n) y - ... - $ sudo gdb + subversion... + Proceed with the installation of the 17 packages? (43 MB) (Y/n) y ... $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. + + ====Backup the "clean" virtual host==== + + $ cd ~/qemu/mandriva-one-2007-qemu-image + $ tar -cjf mandriva-one-2007.qcow.img.devel.tar.bz2 mandriva-one-2007.qcow.img ======qemu packages====== The following Mandriva packages are available via urpmi. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188769206 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 17:20:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 17:20:01 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188771601.774020.8344.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 17:20 User : Edit Summary: Fix the wiki links in a box. @@ -22,13 +22,13 @@ =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== - $ urpmq --fuzzy qemu\\ - [[user:kbulgrien#dkms-kqemu|dkms-kqemu]]\\ - [[user:kbulgrien#qemu|qemu]]\\ - [[user:kbulgrien#qemu-img|qemu-img]]\\ - [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ + $ urpmq --fuzzy qemu\\ + [[user:kbulgrien#dkms-kqemu|dkms-kqemu]]\\ + [[user:kbulgrien#qemu|qemu]]\\ + [[user:kbulgrien#qemu-img|qemu-img]]\\ + [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ =====Installation===== $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher\\ IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188770848 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 17:24:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 17:24:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188771882.784591.8353.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 17:24 User : Edit Summary: @@ -30,16 +30,16 @@ [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ =====Installation===== - $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher\\ - To satisfy dependencies, the following packages are going to be installed:\\ - dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64\\ - perl-Gtk2-GladeXML-1.005-1mdk.x86_64\\ - qemu-0.9.0-6mdv2007.0.x86_64\\ - qemu-img-0.9.0-6mdv2007.0.x86_64\\ - qemu-launcher-1.7.0-1mdv2007.0.noarch\\ - Proceed with the installation of the 5 packages? (11 MB) (Y/n) y\\ + $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher + To satisfy dependencies, the following packages are going to be installed: + dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64 + perl-Gtk2-GladeXML-1.005-1mdk.x86_64 + qemu-0.9.0-6mdv2007.0.x86_64 + qemu-img-0.9.0-6mdv2007.0.x86_64 + qemu-launcher-1.7.0-1mdv2007.0.noarch + Proceed with the installation of the 5 packages? (11 MB) (Y/n) y ... installing qemu-launcher-1.7.0-1mdv2007.0.noarch.rpm perl-Gtk2-GladeXML-1.005-1mdk.x86_64.rpm dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64.rpm qemu-0.9.0-6mdv2007.0.x86_64.rpm qemu-img-0.9.0-6mdv2007.0.x86_64.rpm from /var/cache/urpmi/rpms Preparing... ############################################# IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188771598 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 18:11:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 18:11:43 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188774703.373553.8626.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 18:11 User : Edit Summary: Incremental save after checking out the sources. @@ -1,24 +1,82 @@ This page contains information how to use **qemu** to test **crossfire** on a virtual host. Before beginning, see [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting up the virtual host. - =======Virtual host workspace setup====== + Next, perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. - First, launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. The prompt will look like: + ======Development and testing====== - [tux at localhost ~]$ + =====Client===== - Next, set up a work area for the crossfire sources. + =====Server===== + + ======Crossfire development workspace setup====== + + Start the virtual system in a manner similar to: + + $ cd ~/qemu/mandriva-one-2007-qemu-image + $ bash launch.sh + + Boot the virtual machine. + + Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. + + =====Create a work area for the development sources===== + + Start the virtual system in a manner similar to: + + $ cd ~/qemu/mandriva-one-2007-qemu-image + $ bash launch.sh + + Boot the virtual machine. + + Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. + + Set up a work area for the crossfire sources. $ cd ~ - $ mkdir svn + $ mkdir -p svn/trunk $ cd svn - This example will presume the use of //trunk// and //branch/1.x// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. + =====Create some scripts help with subversion operations===== + + This example will presume the use of //trunk// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. Create a shell script called **svn-co.sh** that contains the following: + + #!/bin/bash + # + for dir in arch client maps server sounds + do + svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/${dir}/trunk trunk/${dir} + done + echo + + Create another shell script called **svn-up.sh** as follows: + + #!/bin/bash + # + for co in trunk + do + for dir in arch client maps server sounds + do + WORKING=${co}/${dir} + if [ -d ${CWD}/${WORKING} ] + then + echo; echo ${WORKING}; echo + cd ${CWD}/${WORKING} + svn update + cd ${CWD} + done + done + echo + + =====Checkout the Crossfire sources===== + + Execute the **svn-co.sh** script to check out the development sources. - $ svn co https:// + $ bash svn-co.sh + Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== @@ -214,12 +272,9 @@ $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. - ====Backup the "clean" virtual host==== - - $ cd ~/qemu/mandriva-one-2007-qemu-image - $ tar -cjf mandriva-one-2007.qcow.img.devel.tar.bz2 mandriva-one-2007.qcow.img + Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. ======qemu packages====== The following Mandriva packages are available via urpmi. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188771881 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 18:42:47 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 18:42:47 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188776567.207451.8677.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 18:42 User : Edit Summary: Add configure processes, and add tools to the virtual box. @@ -2,14 +2,37 @@ Before beginning, see [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting up the virtual host. Next, perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. + + Choose a package to work on. Processes are described for: + + * [[user:kbulgrien#Client|Client]] + * [[user:kbulgrien#Client configure|Client configure]] + * [[user:kbulgrien#Server|Server]] + * [[user:kbulgrien#Server configure|Server configure]] ======Development and testing====== =====Client===== + + Boot the virtual machine and open a terminal session. + + ====Client configure==== + + To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: + + $ cd ~/svn/trunk/client + $ bash ../../config.sh =====Server===== + + Boot the virtual machine and open a terminal session. + + ====Server configure==== + + $ cd ~/svn/trunk/server + $ bash ../../config.sh ======Crossfire development workspace setup====== Start the virtual system in a manner similar to: @@ -66,8 +89,16 @@ svn update cd ${CWD} done done + echo + + Create yet another shell script called **config.sh** as follows: + + #!/bin/bash + # + export CFLAGS=-ggdb\ -g\ -O0 + bash autogen.sh --prefix=${HOME} ${*} echo =====Checkout the Crossfire sources===== @@ -248,9 +279,9 @@ $ su -l root -c usermod\ -G\ wheel\ tux ====Set up a toolchain==== - $ sudo urpmi gcc autoconf2.5 automake + $ sudo urpmi autoconf2.5 automake cproto gcc gdb libtool make subversion To satisfy dependencies, the following packages are going to be installed: autoconf2.1... autoconf2.5... automake1.8... @@ -268,8 +299,9 @@ make subversion... Proceed with the installation of the 17 packages? (43 MB) (Y/n) y ... + $ sudo urpmi patch tree $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188774701 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:03:34 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:03:34 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188777814.663918.8823.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:03 User : Edit Summary: Add makedepend to tool chain; Fix config.sh; Add backup instructions. @@ -15,8 +15,10 @@ =====Client===== Boot the virtual machine and open a terminal session. + + ====Install client dependencies==== ====Client configure==== To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: @@ -26,8 +28,10 @@ =====Server===== Boot the virtual machine and open a terminal session. + + ====Install server dependencies==== ====Server configure==== $ cd ~/svn/trunk/server @@ -95,9 +99,9 @@ Create yet another shell script called **config.sh** as follows: #!/bin/bash # - export CFLAGS=-ggdb\ -g\ -O0 + CFLAGS=-ggdb\ -g\ -O0 bash autogen.sh --prefix=${HOME} ${*} echo =====Checkout the Crossfire sources===== @@ -105,9 +109,9 @@ Execute the **svn-co.sh** script to check out the development sources. $ bash svn-co.sh - Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. + Proceed to [[user:kbulgrien#Development and testing|Development and testing]]. =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== @@ -299,12 +303,17 @@ make subversion... Proceed with the installation of the 17 packages? (43 MB) (Y/n) y ... - $ sudo urpmi patch tree + $ sudo urpmi makedepend patch tree $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. + + Make a backup of a clean virtual box that only has the development tools installed on it. On the host computer, execute the following commands: + + $ cd ~/qemu + $ tar -cjf mandriva-one-2007-qemu-image.devel.tar.bz2 mandriva-one-2007-qemu-image Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. ======qemu packages====== IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188776564 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:13:56 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:13:56 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188778436.767291.8847.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:13 User : Edit Summary: Comment on why a backup is made of the clean system. @@ -312,8 +312,10 @@ Make a backup of a clean virtual box that only has the development tools installed on it. On the host computer, execute the following commands: $ cd ~/qemu $ tar -cjf mandriva-one-2007-qemu-image.devel.tar.bz2 mandriva-one-2007-qemu-image + + The reason to do this backup is so that it becomes possible to checkout, build, and test Crossfire sources on a clean system. It also gives us a backup that we can modify in the event that other tools need to be added to the clean development image. Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. ======qemu packages====== IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188777811 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:16:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:16:27 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188778587.182444.8856.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:16 User : Edit Summary: No point in linking all the tasks since the sidebar is there. @@ -6,11 +6,11 @@ Choose a package to work on. Processes are described for: * [[user:kbulgrien#Client|Client]] - * [[user:kbulgrien#Client configure|Client configure]] * [[user:kbulgrien#Server|Server]] - * [[user:kbulgrien#Server configure|Server configure]] + + See the side bar for specific tasks. ======Development and testing====== =====Client===== IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188778434 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:28:16 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:28:16 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188779296.774342.8874.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:28 User : Edit Summary: Improve the layout; edit the config.sh script; add instructions to backup scripts. @@ -64,19 +64,25 @@ $ cd ~ $ mkdir -p svn/trunk $ cd svn - =====Create some scripts help with subversion operations===== + =====Create some utility scripts===== + + ====Scripts to facilitate use of svn==== This example will presume the use of //trunk// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. Create a shell script called **svn-co.sh** that contains the following: + + ===svn-co.sh=== #!/bin/bash # for dir in arch client maps server sounds do svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/${dir}/trunk trunk/${dir} done echo + + ===svn-up.sh=== Create another shell script called **svn-up.sh** as follows: #!/bin/bash @@ -94,16 +100,28 @@ cd ${CWD} done done echo + + ====Scripts to facilitate development==== + + ===config.sh=== Create yet another shell script called **config.sh** as follows: #!/bin/bash # - CFLAGS=-ggdb\ -g\ -O0 + export CFLAGS="-ggdb -g -O0" bash autogen.sh --prefix=${HOME} ${*} echo + + ====Backup scripts on the host box==== + + Just to be safe, save the scripts just created outside of the virtual box to make it easier to recover them if the virtual box is rebuilt. Furthermore, they are as useful there as they are on the virtual system... + + In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. + + $ scp *.sh @10.0.2.2:/home//qemu =====Checkout the Crossfire sources===== Execute the **svn-co.sh** script to check out the development sources. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188778585 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:40:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:40:48 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188780048.956262.8904.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:40 User : Edit Summary: Add a notation about Konsole and vi in the virtual system. @@ -35,8 +35,16 @@ ====Server configure==== $ cd ~/svn/trunk/server $ bash ../../config.sh + + ======Notes about the virtual system environment====== + + =====Konsole shell===== + + * On the Mandriva One 2007 virtual machine, the **Konsole** terminal shell seems to have some issues. + - In the vi editor, it seems especially difficult to type quote characters (**"**). + * A workaround may be to use another editor. One possibility is the **Start | Office | Text Editor**. ======Crossfire development workspace setup====== Start the virtual system in a manner similar to: IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188779294 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 19:50:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 19:50:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188780653.753725.8919.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 19:50 User : Edit Summary: Backup the svn checkout so dependency determination can be easily retried. @@ -128,14 +128,24 @@ In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. $ scp *.sh @10.0.2.2:/home//qemu + =====Checkout the Crossfire sources===== Execute the **svn-co.sh** script to check out the development sources. $ bash svn-co.sh + + Shut down the virtual system with Star | Log Out... | Turn Off Computer. + + Make a backup of the virtual box that only has the Crossfire sources installed on it and **//does not//** have the client or server dependencies installed. On the host computer, execute the following commands: + + $ cd ~/qemu + $ tar -cjf mandriva-one-2007-qemu-image.cfsvn.tar.bz2 mandriva-one-2007-qemu-image + + The reason to do this backup is so that it becomes possible to undo the installation of libraries that the Crossfire sources depend on. The main reason to do it is to avoid having to re-checkout the svn sources just to retry dependency checking. Proceed to [[user:kbulgrien#Development and testing|Development and testing]]. =======Mandriva qemu setup for Crossfire testing====== IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188780046 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 20:06:22 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 20:06:22 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188781582.985951.9132.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 20:06 User : Edit Summary: Formatting fixes only. @@ -136,14 +136,14 @@ Execute the **svn-co.sh** script to check out the development sources. $ bash svn-co.sh - Shut down the virtual system with Star | Log Out... | Turn Off Computer. + Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. Make a backup of the virtual box that only has the Crossfire sources installed on it and **//does not//** have the client or server dependencies installed. On the host computer, execute the following commands: - $ cd ~/qemu - $ tar -cjf mandriva-one-2007-qemu-image.cfsvn.tar.bz2 mandriva-one-2007-qemu-image + $ cd ~/qemu + $ tar -cjf mandriva-one-2007-qemu-image.cfsvn.tar.bz2 mandriva-one-2007-qemu-image The reason to do this backup is so that it becomes possible to undo the installation of libraries that the Crossfire sources depend on. The main reason to do it is to avoid having to re-checkout the svn sources just to retry dependency checking. Proceed to [[user:kbulgrien#Development and testing|Development and testing]]. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188780651 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 20:28:30 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 20:28:30 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188782910.438012.9171.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 20:28 User : Edit Summary: Add first round of dependencies for the libglade-2.0 client. @@ -15,10 +15,44 @@ =====Client===== Boot the virtual machine and open a terminal session. + ====Install client dependencies==== + + For the present, the requirements for the three separate clients are not differentiated. These requirements are for the libglade-2.0 client: + + $ sudo urpmi libglade2.0_0-devel + To satisfy dependencies, the following packages are going to be installed: + glib-gettextize + libatk1.0_0-devel + libcairo2-devel + libfontconfig1-devel + libfreetype6-devel + libgdk_pixbuf2.0_0-devel + libglade2.0_0-devel + libglib2.0_0-devel + libgtk+2.0_0-devel + libice6-devel + libpango1.0_0-devel + libpng3-devel + libsm6-devel + libx11_6-devel + libxau6-devel + libxcursor1-devel + libxdmcp6-devel + libxext6-devel + libxfixes3-devel + libxft2-devel + libxi6-devel + libxinerama1-devel + libxml2-devel + libxrandr2-devel + libxrender1-devel + x11-proto-devel + zlib1-devel + Proceed with the installation of the 27 packages? (48 MB) (Y/n) y ====Client configure==== To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188781580 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 2 20:46:21 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Sep 2007 20:46:21 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188783981.462513.9207.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/02 20:46 User : Edit Summary: Add vim-enhanced to tool set. @@ -350,8 +350,9 @@ Uncomment the following line by removing the leading ''#'' and space character. Save your changes. You are in the //vi// editor. Use the arrow keys to move down to the first character of the line that reads ''# %wheel ALL=(ALL) ALL''. Press ''xx:wq''. Teaching you how to use ''vi'' is outside of the scope of this tutorial, so from here on, you are on your own. $ su -l root -c usermod\ -G\ wheel\ tux + ====Set up a toolchain==== $ sudo urpmi autoconf2.5 automake cproto gcc gdb libtool make subversion @@ -374,8 +375,14 @@ subversion... Proceed with the installation of the 17 packages? (43 MB) (Y/n) y ... $ sudo urpmi makedepend patch tree + $ sudo urpmi vim-enhanced + To satisfy dependencies, the following packages are going to be installed: + vim-common... + vim-enhanced... + Proceed with the installation of the 2 packages? (20 MB) (Y/n) y + ... $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188782907 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:11:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:11:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188796302.432308.10923.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:11 User : Edit Summary: @@ -71,14 +71,16 @@ $ cd ~/svn/trunk/server $ bash ../../config.sh ======Notes about the virtual system environment====== + =====Konsole shell===== * On the Mandriva One 2007 virtual machine, the **Konsole** terminal shell seems to have some issues. - In the vi editor, it seems especially difficult to type quote characters (**"**). * A workaround may be to use another editor. One possibility is the **Start | Office | Text Editor**. + * Also, installing vim-enhanced as part of the tool set seems to make the situation better. ======Crossfire development workspace setup====== Start the virtual system in a manner similar to: IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188783979 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:19:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:19:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188796754.545423.10935.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:19 User : Edit Summary: Add commentary on using qemu's kernel plug-in. @@ -249,13 +249,16 @@ 3/5: perl-Gtk2-GladeXML ############################################# 4/5: qemu-launcher ############################################# 5/5: qemu ############################################# $ + =====Verification===== $ sudo lsmod | grep qemu kqemu 163368 0 + + Note: Using the kernel plug-in may or may not work well. The author's experience was that the mouse froze and X on the host machine needed to be restarted. Therefore, this example does not actually use the kernel plug-in, though your mileage may vary. To try using the plug-in, refer to **README.txt** in the virtual box directory, and alter launch.sh to include the command argument //-kernel-kqemu//. =====OS Setup===== Operating system images may be found at [[http://www.oszoo.org/wiki/index.php/Main_Page|oszoo.org]]. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188796299 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:28:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:28:06 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188797286.056973.10950.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:28 User : Edit Summary: Remove redundancy and clarify sudo configuration. @@ -331,8 +331,9 @@ * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. * You are reasonably comfortable with using a BASH command-line when directed about what to type. =====Setting up the tool chain===== + ====Give tux sudo privileges==== First, you will need ''root'' access from time to time, so set that up first. Open up a terminal session by clicking the **Terminal Program** icon on the start bar. Size and configure it to taste, and settle in for a session at the command prompt. The prompt will look like: @@ -345,16 +346,18 @@ ftp://ftp.u-strasbg.fr... installing sudo... Preparing... 1/1: sudo... - - The password for ''root'' (and ''tux'') is given above. Remember, the password was documented above in [[user:kbulgrien#About your virtual system|About your virtual system]]. $ su -l root -c visudo - Uncomment the following line by removing the leading ''#'' and space character. Save your changes. You are in the //vi// editor. Use the arrow keys to move down to the first character of the line that reads ''# %wheel ALL=(ALL) ALL''. Press ''xx:wq''. Teaching you how to use ''vi'' is outside of the scope of this tutorial, so from here on, you are on your own. + You are in the //vim// editor. Use the arrow keys to move down to the first character of the line that reads: + + # %wheel ALL=(ALL) ALL + + Press ''xx:wq''. Teaching you how to use ''vim'' is outside of the scope of this tutorial, so from here on, you are on your own. $ su -l root -c usermod\ -G\ wheel\ tux IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188796752 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:30:37 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:30:37 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188797437.819154.10959.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:30 User : Edit Summary: Re-fix sudo instructions once again. @@ -331,8 +331,9 @@ * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. * You are reasonably comfortable with using a BASH command-line when directed about what to type. =====Setting up the tool chain===== + ====Give tux sudo privileges==== @@ -355,12 +356,15 @@ You are in the //vim// editor. Use the arrow keys to move down to the first character of the line that reads: # %wheel ALL=(ALL) ALL - Press ''xx:wq''. Teaching you how to use ''vim'' is outside of the scope of this tutorial, so from here on, you are on your own. + Press ''xx:wq''. Teaching you how to use ''vim'' is outside of the scope of this tutorial, so from here on, you are on your own. When you did it correctly, the above line will look like: - $ su -l root -c usermod\ -G\ wheel\ tux + %wheel ALL=(ALL) ALL + To finally give ''tux'' sudo rights, enter the following command. + + $ su -l root -c usermod\ -G\ wheel\ tux ====Set up a toolchain==== $ sudo urpmi autoconf2.5 automake cproto gcc gdb libtool make subversion IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188797283 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:33:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:33:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188797589.628075.10962.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:33 User : Edit Summary: Remove redundany in work area setup instructions. @@ -90,19 +90,11 @@ Boot the virtual machine. Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. + =====Create a work area for the development sources===== - - Start the virtual system in a manner similar to: - - $ cd ~/qemu/mandriva-one-2007-qemu-image - $ bash launch.sh - - Boot the virtual machine. - - Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. Set up a work area for the crossfire sources. $ cd ~ IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188797435 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:42:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:42:19 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188798139.009933.10986.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:42 User : Edit Summary: Minor restructure/rewrite to improve flow of entire process. @@ -1,18 +1,18 @@ This page contains information how to use **qemu** to test **crossfire** on a virtual host. - Before beginning, see [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting up the virtual host. + - See [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting a Mandriva virtual system. + - Perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]] to create scripts and get Crossfire sources. + - Once setup is complete, proceed to [[user:kbulgrien#Development and testing|Development and testing]] to get started on the fun stuff. - Next, perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. + ======Development and testing====== Choose a package to work on. Processes are described for: * [[user:kbulgrien#Client|Client]] * [[user:kbulgrien#Server|Server]] See the side bar for specific tasks. - - ======Development and testing====== =====Client===== Boot the virtual machine and open a terminal session. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188797586 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:49:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:49:01 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188798541.005189.10998.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:49 User : Edit Summary: Consistency fix. Begin command with $ for shell prompt. @@ -51,8 +51,9 @@ libxrender1-devel x11-proto-devel zlib1-devel Proceed with the installation of the 27 packages? (48 MB) (Y/n) y + ====Client configure==== @@ -62,9 +63,9 @@ $ bash ../../config.sh Feel free to append build options as arguments to the config.sh command. To find out about what options may be used, try the following command. A few of the more interesting options are shown here. - ./configure --help + $ ./configure --help --disable-sound Disable sound support default=implement sound support if supported libraries exist --disable-alsa9 Disable ALSA9 sound support default=use alsa9 sound support if alsa9 libraries exist --disable-alsa Disable ALSA sound support default=use alsa sound support if alsa libraries exist IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188798496 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 00:48:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 00:48:19 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188798499.671249.10995.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 00:48 User : Edit Summary: Discuss ./configure --help and show some useful options. @@ -51,15 +51,31 @@ libxrender1-devel x11-proto-devel zlib1-devel Proceed with the installation of the 27 packages? (48 MB) (Y/n) y + ====Client configure==== To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: $ cd ~/svn/trunk/client $ bash ../../config.sh + + Feel free to append build options as arguments to the config.sh command. To find out about what options may be used, try the following command. A few of the more interesting options are shown here. + + ./configure --help + + --disable-sound Disable sound support default=implement sound support if supported libraries exist + --disable-alsa9 Disable ALSA9 sound support default=use alsa9 sound support if alsa9 libraries exist + --disable-alsa Disable ALSA sound support default=use alsa sound support if alsa libraries exist + --disable-gtkv1 Do not make original gtk client default=make it if available + --disable-gtkv2 Do not make gtk-v2 client default=make it if available + --enable-cfgtk2 Enable building the original gtkv1 client with GTK+ 2 + --disable-sdl Disable linking with the SDL library, default is to use it if available + --disable-metaserver2 Do not build in metaserver2 support + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer =====Server===== Boot the virtual machine and open a terminal session. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188798136 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 01:03:31 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 01:03:31 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188799411.208854.20610.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 01:03 User : Edit Summary: Bulletproofing. Don't assume reader is in the right directory. @@ -165,17 +165,18 @@ # export CFLAGS="-ggdb -g -O0" bash autogen.sh --prefix=${HOME} ${*} echo + ====Backup scripts on the host box==== Just to be safe, save the scripts just created outside of the virtual box to make it easier to recover them if the virtual box is rebuilt. Furthermore, they are as useful there as they are on the virtual system... In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. + $ cd ~/svn $ scp *.sh @10.0.2.2:/home//qemu - =====Checkout the Crossfire sources===== Execute the **svn-co.sh** script to check out the development sources. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188798539 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 01:04:55 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 01:04:55 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188799495.141668.22504.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 01:04 User : Edit Summary: Bulletproofing. Don't assume reader is in the right directory. @@ -175,13 +175,15 @@ In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. $ cd ~/svn $ scp *.sh @10.0.2.2:/home//qemu + =====Checkout the Crossfire sources===== Execute the **svn-co.sh** script to check out the development sources. + $ cd ~/svn $ bash svn-co.sh Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188799405 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 01:43:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 01:43:59 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1188801839.547024.5991.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 01:43 User : Edit Summary: The GTK-V2 client port to libglade. @@ -6,8 +6,13 @@ ===== Changes to be merged ===== Please put most recent on bottom for month. Unless specified otherwise, changes are in both trunk and branch. + + + ==== September 2007 ==== + * (trunk) New user interface layouts exist for the libglade client + * (trunk) The newest GTK client has been ported to libglade ==== August 2007 ==== * (trunk) metaserver2 support through curllib * make map saving more robust, warn online DMs if failure IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1187287884 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 01:47:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 01:47:43 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1188802063.225153.6000.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 01:47 User : Edit Summary: Reword libglade announcement. @@ -6,13 +6,14 @@ ===== Changes to be merged ===== Please put most recent on bottom for month. Unless specified otherwise, changes are in both trunk and branch. + ==== September 2007 ==== - * (trunk) New user interface layouts exist for the libglade client - * (trunk) The newest GTK client has been ported to libglade + * (trunk) Several new **glade-2** Glade Designer main window layouts are available for the libglade client. + * (trunk) The GTK V2 client now uses libglade to allow changing the main window without re-compiling the code. ==== August 2007 ==== * (trunk) metaserver2 support through curllib * make map saving more robust, warn online DMs if failure IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1188801836 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 01:51:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 01:51:48 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: document_repository Message-ID: <1188802309.002842.6009.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 01:51 User : Edit Summary: Client compile page added. @@ -69,8 +69,9 @@ * [[The Elementals]] * [[The Lich]] * [[The Titan]] * [[The Vampire]] + ===== Developer Guides ===== Some information for developers. * [[dev:objects]] @@ -90,11 +91,12 @@ * [[Making Archetypes]] * [[Crossfire Release Cycle]] * [[Crossfire Release Guide]] - Steps need to make an official release of crossfire. * [[Crossfire Compile Guide]] - Simple guide for building a local or testing server from SVN source + * [[Crossfire Client Compile Guide]] - Guide for building a local or testing clients from SVN source * [[Quests]] - cross-reference for quests and lore * [[howto:add_body_slot]] ===== Website Links ===== * [[Server Home Pages]] * [[Development and Informational Links]] IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/document_repository?rev=1180041177 New Revision: http://wiki.metalforge.net/doku.php/document_repository -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 16:45:24 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 16:45:24 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: coding_style_guide Message-ID: <1188855924.786034.18934.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 16:45 User : kbulgrien Edit Summary: Various corrections; add doxygen/other notes; Some formatting. @@ -1,11 +1,11 @@ - The following is a wikified mirror of //crossfire/doc/Developers/programming_guide// from the server source. + The following is a wiki-fied mirror of //crossfire/doc/Developers/programming_guide// from the server source. - ====== Section 1 - currently used conventions/hints for new code writers: ====== + ====== Section 1 - Currently used conventions/hints for new code writers: ====== - - variable abbreviations - ''op'' is short for object pointer, ''ob'' is for object, and ''pl'' is for player. + - Variable abbreviations - ''op'' is short for object pointer, ''ob'' is for object, and ''pl'' is for player. - Some functions are named using the conventions above - the naming effects what options they take (''insert_ob_in_ob'' takes 2 object structures) - - Identation is 4 spaces. This can be a pain to read, but most functions should be consistent through the function. + - Indentation is 4 spaces. This can be a pain to read, but most functions should be consistent through the function. - Some structure elements should never be accessed directly - rather, there are other functions to use the values. * ''object->owner'': This contains the owner id for this object. Use ''set_owner'' and ''get_owner'' instead. Directly using object->owner is likely to get unpredictable results. * ''object->nrof'': This contains the number of an object. Since changing this will change the weight of an object, direct access should also be avoided. Use ''decrease_ob_nr'', ''split_ob'', ''and insert_ob_in_...'' - the later will merge the objects if applicable. - If using ''insert_ob_in_map'' and plan to do further actions with the object, check and make sure the object still exists after insertion - it is possible that the object gets destroyed while being inserted (eaten by an altar or such). @@ -13,73 +13,103 @@ ====== Section 2 - Style guide for new additions: ====== - - Use descriptive variable names. op and pl should only be used for temporary variables (cycling through the list or the like). For variables well defined, use an accurate name (ie, hitter, sack, etc). - - Only add name options with #ifdef's to the config file if the behaviour seriously changes the game. Adding a new spell does not warrant an #ifdef. There are already too many options in the config.h file. + - Use descriptive variable names. ''op'' and ''pl'' should only be used for temporary variables (cycling through the list or the like). For variables well defined, use an accurate name (ie, hitter, sack, etc). + - Only add name options with //#ifdef'//s to the ''config'' file if the behaviour seriously changes the game. Adding a new spell does not warrant an //#ifdef//. There are already too many options in the ''config.h'' file. - Log errors/diagnostics with the LOG function. When doing so, please include the function name - this is especially true for errors. - - If you want to add special debug code for certain compiles, generate a unique #define for it - don't use the global DEBUG. For example, NEWCS_DEBUG. + - If you want to add special debug code for certain compiles, generate a unique //#define// for it - don't use the global DEBUG. For example, NEWCS_DEBUG. - Try to use the [s/u]int[8/16/32] whenever possible. Use the one of appropriate size/type. If not sure, go for the next size up. Do not ever write code assuming that any of those will have an exact number of bits - those types only mean that you will get at least that many bits - you may get more. - - The exception to #5 above is strings. Continue to use 'char', since the signedness of functions that take string options can differ system to system, and generate excessive warnings if the wrong sign is used. + - The exception to #5 above is strings. Continue to use //char//, since the signed-ness of functions that take string options can differ system to system, and generate excessive warnings if the wrong sign is used. - When adding new function, include a comment of what the function is supposed to do, what options it takes, and what if any value it returns. This makes debugging of such functions easier, and also makes it better known to other developers if that function might be useful to them. - - Try to keep lines to less than 80 columns when possible. This is not a strict requirement - don't break up some complex comparison because the line would otherwise be 83 characters long. Xterms can be resized to most any width. However, use your judgement on whether breaking up a long line would make something more or less readable. - - Assume all names use one namespace. For example, if there is a struct called ''spell'', don't make the name of an optional parameter spell. This will break on ANSI C compilers that follow the spec strictly (gcc does not, even with -strict -ansi) - - As a followup on 9 above, don't use nonstandard gcc extensions (// for comment lines, ability to nest functions, declare arrays with variable bounds, etc.) Likewise, don't use special system functions - don't assume the target system will be bsd or svr4 - if using a potentially non standard function, add checks in the autoconf script and include a version of the function in case it is not on that system. They key word here is portability - don't assume everyone else has the same system as you do. - - Write code that can easily be maintained in the future, not code that is easiest to write at that second. This basically means don't do the quick and ugly hack, but instead fix it properly. - - Use 4 space indentation. While a lot of old code may have 2 space, the move to 4 space will make future readability easier. - - /* - * do block - * comment like - * this + - Try to keep lines to less than 80 columns when possible. This is not a strict requirement - don't break up some complex comparison because the line would otherwise be 83 characters long. Xterms can be resized to most any width. However, use your judgment on whether breaking up a long line would make something more or less readable. + - Assume all names use one name space. For example, if there is a //struct// called ''spell'', don't make the name of an optional parameter spell. This will break on ANSI C compilers that follow the spec strictly (gcc does not, even with -strict -ansi) + - As a followup on 9 above, do not use non-standard gcc extensions (%%//%% for comment lines, ability to nest functions, declare arrays with variable bounds, etc.) Likewise, do not use special system functions, for example, do not assume the target is a BSD or SVR4 system. If a potentially non-standard function must be used, add checks in the autoconf script and include a version of the function in case it is not on that system. The keyword here is portability; do not assume everyone else has the same system you have. + - Write code that can easily be maintained in the future, not code that is easiest to write quickly. In other words, do not do the quick and dirty hack, but instead always write code with maintainability and clarity in mind. + - Use 4 space indentation. While a lot of old code may use 2 spaces, a move to 4 spaces makes readability easier. + - Files are created with standard content blocks. char *rcsid_component_file_ext = + "$Id: file.ext$"; + /* + * Project name, brief description + * + * Copyright information + * + * GPL blurb here + * + * Contact information + */ + + /** + * @file file.ext + * A brief description. Detailed information may follow. + */ + * The //rcsid_// variable is useful for creating error and debug messages. For //component//, look at other files nearby. + * The @file comment block helps doxygen create meaningful output. + * The license block requirement is obvious. + - Functions are documented like this. /** + * A brief descriptive sentence summarizes the function. An overview ends + * at the first period and space, then the detailed information follows. + * + * @param bla + * This is a parameter + * @return + * returns NULL + */ + * This lets doxygen generate nice documentation. + - Use the following block commenting style. /* + * Do block comments like this. + * Get in the habit of using a + * brief and detailed style. */ /* and not like this */ - /* if you are doing a single line comment, this method is fine */Its much easier to spot the block comments if they all start with *, and these comments tend to be worth noticing. - - /** - * Functions should be commented like this. - * - * @param bla - * this is a parameter - * @return - * returns NULL - */ This lets doxygen generate nice documentation. + /* but single line comment using this method is fine */ + * It is much easier to spot the block comments if they all start with *, and they tend to be worth noticing. - As discussed on irc, the preferred style for expressions is like this: if (expression) { statement; statement; } if (expression), the space between the if and expression is required.\\ NOT like this: - if (expression) + if(expression) { statement; statement; } - The preferred style of formal parameters: void myFooFunction(param1, param2, param3) { statement; statement; - }No space after the left paren, no space before the right paren. Comma right after the formal param, space right after the comma. - - Local variable names. Just a rules of thumb. This are ok: + } + * No space after the left parenthesis + * No space before the right parenthesis + * Comma right after the formal parameters + * Space after the commas. + - Local variable names. Just a rules of thumb. These are ok: int mylongvarname; int my_long_var_name; - Please do NOT use caps expect for typedefs, enums and defines. + + * Do NOT use caps except for typedefs, enums and defines. + - To document variables in doxygen, format the comment as shown below: + int my_var_name; /**< Raison d'etre.. */ + - ====== Section 3 - sending in patches: ====== + ====== Section 3 - Sending in patches: ====== - - Please send patches on a bug fix or feature enhancement basis individually, and not make mega patches. A diff that changes 10 things is first more difficult for developers to look over and understand as unrelated changes might be going on. It is also harder to reject part of a patch (feature X is nice, but Y doesn't work). - - Please state in the message included with the patch what it fixes/changes. Too often, we get patches which is just a bunch of source code, and we have no idea if I want to incorporate it, or even if the bug is still there. Please also state what version of crossfire the diff is for. - - I will assume any patches mailed directly to me are to be included. If posting a patch on the mailing list (either source or ftp location), please explicity state whether or not you want that patch incorporated into the master source. Many times, a patch may be made available on an expiremental basis which is not ready for widespread distribution. - - When making patches, please make context diffs. Please also include the directory that the file is in (run the diff in the top level directory). Please make 5 line context diffs - large line context diffs are fine if you think that may make it easier.\\ Example: + - Send patches on a bug fix or feature enhancement basis individually, and do not make mega-patches. A diff that changes 10 things is more difficult for developers to review and understand as unrelated changes might be going on. It is also harder to reject part of a patch (feature X is nice, but Y doesn't work). + - Please state in the message included with the patch what it fixes/changes. Too often, patches are just a bunch of source code, with no indication why it should be incorporated. Without such commentary, it may be difficult to even determine if the bug it fixes is still there in the source it patches. Please also state what version of crossfire the diff is for. + - I will assume any patches mailed directly to me are to be included. If posting a patch on the mailing list (either source or ftp location), please explicitly state whether or not you want that patch incorporated into the master source. Many times, a patch may be made available on an expirimental basis which is not ready for widespread distribution. + - When making patches, please make context diffs. Please also include the directory that the file is in (run the diff in the top level directory). Please make 5 line context diffs - larger line context diffs are fine if you think that may make it easier.\\ Example: diff -c5 (oldfile) (newfile)You can also do diffs of entire directories. Do do this, type: diff -c5 -r (old_directory) (new_directory)An example: diff -c5 -r crossfire-0.90.1 crossfire-0.90.2 - Gnu diff will include files that did not exist before. Other diff programs may not do this. - If your diff looks excessively long and you made a lot of formatting changes, you can add -w to the diff options to have it ignore whitespace. Note that this will then mean that those formatting changes will then be lost. - - There is no need to make a seperate diff file for each file different (ie, treasure.diff, player.diff, etc). Assuming you follow steps 1-6, all the diffs can be contained in one file, and patch will deal with it just fine. - - If you need to send a map, new archetypes, or other new files where a diff doesn't make sense, a uuencoded tar file will work just fine. + - There is no need to make a separate diff file for each file that is different (ie, treasure.diff, player.diff, etc). Assuming you follow steps 1-6, all the diffs can be contained in one file, and patch will deal with it just fine. + - If you need to send a map, new archetypes, or other new files where a diff doesn't make sense, a uuencoded tar file will suffice. Submit all patches to the Sourceforge patch tracker on http://sourceforge.net/projects/crossfire, and mail an announcement to [[crossfire-devel at lists.real-time.com]]. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/coding_style_guide?rev=1174564935 New Revision: http://wiki.metalforge.net/doku.php/coding_style_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 17:55:26 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 17:55:26 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188860126.476820.19161.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 17:55 User : kbulgrien Edit Summary: Disabling key repeat is a bit annoying; change delay instead. @@ -269,8 +269,9 @@ $ sudo lsmod | grep qemu kqemu 163368 0 Note: Using the kernel plug-in may or may not work well. The author's experience was that the mouse froze and X on the host machine needed to be restarted. Therefore, this example does not actually use the kernel plug-in, though your mileage may vary. To try using the plug-in, refer to **README.txt** in the virtual box directory, and alter launch.sh to include the command argument //-kernel-kqemu//. + =====OS Setup===== Operating system images may be found at [[http://www.oszoo.org/wiki/index.php/Main_Page|oszoo.org]]. @@ -319,9 +320,9 @@ If you click inside that window, your mouse pointer will be trapped inside the window until you press //Ctrl-Alt//, so keep this in mind whenever you wish to switch back and forth between the host and the virtual system. A **Mandriva Linux** window will pop up. Uncheck the **Open this window on startup** box, and press the **Close** button. - On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to turn off key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. + On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to slow down or disable the key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and set **Delay** to about //1000 msec//, or uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. =====About your virtual system===== * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188799488 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 18:13:33 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 18:13:33 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1188861213.539821.19383.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 18:13 User : kbulgrien Edit Summary: The confirmed "minimum requirements" for libglade client. @@ -15,13 +15,22 @@ =====Client===== Boot the virtual machine and open a terminal session. + ====Install client dependencies==== - For the present, the requirements for the three separate clients are not differentiated. These requirements are for the libglade-2.0 client: + ===X11 Client=== + + ===GTK1 Client=== + + ===GTK2/Libglade Client=== + + ==--disable-metaserver2== + + These are the minimum requirements: $ sudo urpmi libglade2.0_0-devel To satisfy dependencies, the following packages are going to be installed: glib-gettextize IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188860123 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Sep 3 23:23:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Sep 2007 23:23:32 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: coding_style_guide Message-ID: <1188879812.816144.20537.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/03 23:23 User : kbulgrien Edit Summary: Delete leading spaces for copy/paste examples; Add for/while/switch to if () rule. @@ -25,49 +25,49 @@ - Assume all names use one name space. For example, if there is a //struct// called ''spell'', don't make the name of an optional parameter spell. This will break on ANSI C compilers that follow the spec strictly (gcc does not, even with -strict -ansi) - As a followup on 9 above, do not use non-standard gcc extensions (%%//%% for comment lines, ability to nest functions, declare arrays with variable bounds, etc.) Likewise, do not use special system functions, for example, do not assume the target is a BSD or SVR4 system. If a potentially non-standard function must be used, add checks in the autoconf script and include a version of the function in case it is not on that system. The keyword here is portability; do not assume everyone else has the same system you have. - Write code that can easily be maintained in the future, not code that is easiest to write quickly. In other words, do not do the quick and dirty hack, but instead always write code with maintainability and clarity in mind. - Use 4 space indentation. While a lot of old code may use 2 spaces, a move to 4 spaces makes readability easier. - - Files are created with standard content blocks. char *rcsid_component_file_ext = - "$Id: file.ext$"; - /* - * Project name, brief description - * - * Copyright information - * - * GPL blurb here - * - * Contact information - */ + - Files are created with standard content blocks.char *rcsid_component_file_ext = + "$Id: file.ext$"; + /* + * Project name, brief description + * + * Copyright information + * + * GPL blurb here + * + * Contact information + */ - /** - * @file file.ext - * A brief description. Detailed information may follow. - */ + /** + * @file file.ext + * A brief description. Detailed information may follow. + */ * The //rcsid_// variable is useful for creating error and debug messages. For //component//, look at other files nearby. * The @file comment block helps doxygen create meaningful output. * The license block requirement is obvious. - - Functions are documented like this. /** - * A brief descriptive sentence summarizes the function. An overview ends - * at the first period and space, then the detailed information follows. - * - * @param bla - * This is a parameter - * @return - * returns NULL - */ + - Functions are documented like this./** + * A brief descriptive sentence summarizes the function. An overview ends + * at the first period and space, then the detailed information follows. + * + * @param bla + * This is a parameter + * @return + * returns NULL + */ * This lets doxygen generate nice documentation. - - Use the following block commenting style. /* - * Do block comments like this. - * Get in the habit of using a - * brief and detailed style. - */ + - Use the following block commenting style./* + * Do block comments like this. + * Get in the habit of using a + * brief and detailed style. + */ - /* - and not - like this - */ + /* + and not + like this + */ - /* but single line comment using this method is fine */ + /* but single line comment using this method is fine */ * It is much easier to spot the block comments if they all start with *, and they tend to be worth noticing. - As discussed on irc, the preferred style for expressions is like this: if (expression) { statement; @@ -78,8 +78,9 @@ { statement; statement; } + * Also applies to for (), switch (), and while (). - The preferred style of formal parameters: void myFooFunction(param1, param2, param3) { statement; statement; IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/coding_style_guide?rev=1188855921 New Revision: http://wiki.metalforge.net/doku.php/coding_style_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Sep 5 09:37:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 05 Sep 2007 09:37:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: ui_proposals Message-ID: <1189003029.728537.25532.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/05 09:37 User : Edit Summary: casfhdim @@ -1,40 +1 @@ - ====== Crossfire UI Proposals ====== - - As of late there seems to have be alot of discussion on IRC about how the user interface should be changed. It certainly seems many are dissatisfied with the current user interfaces and believe much better could be done, therefore I am creating this page for people to post their own UI proposals and comment on those of others. When putting things here, remember it doesn't have to be a full mockup, in fact I suggest you don't make it a full mockup, as all we're looking at for now here is a sketch for the basic UI concept would work best. When commenting on UI designs of others, remember that these are just rough sketches and that specifics such as the relative sizing of things and the number of rows in an inventory view are probably not exact. Most importantly: Have fun :-) \\ - --- //[[user:Rednaxela|Alex Schultz]] 2007/02/25 10:17// - - ===== ===== - ==== Sketch ==== - - {{http://lauwenmark.ailesse.be/new/images/gallery/dirty/cfidea.png?200}} \\ - **Created by:** Lauwenmark/Gros - ==== Author's Notes ==== - top half: the "stats screen", displayed by a push on a single key/button. \\ bottom half: the playing screen. \\ The text area to enter commands appears between the fastbelt and the log area, only when Enter has been pressed, and text entry is thus active. The fastbelt - numbered F1-F12 - can contain spells, inventory objects, or maybe even batches of actions (arbitrary commands, as keybindings have). They are filled by using the "stats screen", by drag-n-dropping elements from the inv, the spell list, etc. on the Fx slots. The stats screen also displays the complete character stats, the skills/experience scores, and has an area which describes a currently selected element in one of the lists below. It is of course possible to apply, drop, or get objects from the stats screen. The objects on the floor appear on the main screen, in the bottom-right corner. Only two items visible at a time, with arrows to browse through them. - - ==== Comments ==== - - It looks like a good design to me. Some things that concern me a little, is that the inventory, spells, and skills lists on the stats screen seem to me like they might be a little bit squished. Also it might be helpful to have a floor view in the stats screen. I also think it would be a good addition, to have separate full screen views for inventory, spells, and skills, for cases where one is doing more manipulation within there instead of between the areas. --- //[[user:Rednaxela|Alex Schultz]] 2007/02/27 11:15// - - - I like the design. Focus should indeed be on play area, with other zones simply there when needed. Red's suggestion to have full screen / maximized for manipulation is nice. Ideally, the interface could be defined through a configuration file so it can be adjusted by players to their wish. But that may be overkill :) --- //[[user:ryo|Ryo Saeba]] 2007/06/10 03:00// - - ===== ===== - ==== Sketch ==== - {{user:rednaxela:cflayout.png?300|}} \\ - **Created by:** Rednaxela - ==== Author's Notes ==== - Here's a bit of an idea I have for one possible way to lay out a client interface, with four panels as shown, which are normally small providing a "summary" of the most important parts to be accessible, which can expand out to give full menus for things. Comments/criticisms/bashing welcome. :) - - ==== Comments ==== - - I like the idea, but there should be: - * a way to display both ground and inventory, for fast manipulation - * at least the last messages should be displayed, so player knows what happens (resistance change & such) - - --- //[[user:Ryo|Ryo Saeba]] 2007/06/18 13:04// - - > Well in terms of displaying the ground and inventory, I was thinking of having the menu (slightly misleadingly) labeled "inventory" include both of those. The last messages would indeed be displayed, as the 'tabs' would generally contain a 'summary' of their contents. Another elaboration that isn't in the design above that I was thinking about which may help with equipping, would be making fading messages of recent stat changes (not including hp, food, etc.) as they happen, in the form of an on-screen-display. - > - > --- //[[user:Rednaxela|Alex Schultz]] 2007/06/18 13:16// - - ===== ===== + ccppxjai http://kpvpzadn.com zlqvyziw fdneonxm krtqogxq [URL=http://qrgzmehk.com]tkwdixca[/URL] IP-Address : 121.140.251.55 Old Revision: http://wiki.metalforge.net/doku.php/ui_proposals?rev=1182192273 New Revision: http://wiki.metalforge.net/doku.php/ui_proposals -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Sep 5 11:10:18 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 05 Sep 2007 11:10:18 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: ui_proposals Message-ID: <1189008618.670496.26001.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/05 11:10 User : Edit Summary: old revision restored due to link spammer @@ -1 +1,40 @@ - ccppxjai http://kpvpzadn.com zlqvyziw fdneonxm krtqogxq [URL=http://qrgzmehk.com]tkwdixca[/URL] + ====== Crossfire UI Proposals ====== + + As of late there seems to have be alot of discussion on IRC about how the user interface should be changed. It certainly seems many are dissatisfied with the current user interfaces and believe much better could be done, therefore I am creating this page for people to post their own UI proposals and comment on those of others. When putting things here, remember it doesn't have to be a full mockup, in fact I suggest you don't make it a full mockup, as all we're looking at for now here is a sketch for the basic UI concept would work best. When commenting on UI designs of others, remember that these are just rough sketches and that specifics such as the relative sizing of things and the number of rows in an inventory view are probably not exact. Most importantly: Have fun :-) \\ + --- //[[user:Rednaxela|Alex Schultz]] 2007/02/25 10:17// + + ===== ===== + ==== Sketch ==== + + {{http://lauwenmark.ailesse.be/new/images/gallery/dirty/cfidea.png?200}} \\ + **Created by:** Lauwenmark/Gros + ==== Author's Notes ==== + top half: the "stats screen", displayed by a push on a single key/button. \\ bottom half: the playing screen. \\ The text area to enter commands appears between the fastbelt and the log area, only when Enter has been pressed, and text entry is thus active. The fastbelt - numbered F1-F12 - can contain spells, inventory objects, or maybe even batches of actions (arbitrary commands, as keybindings have). They are filled by using the "stats screen", by drag-n-dropping elements from the inv, the spell list, etc. on the Fx slots. The stats screen also displays the complete character stats, the skills/experience scores, and has an area which describes a currently selected element in one of the lists below. It is of course possible to apply, drop, or get objects from the stats screen. The objects on the floor appear on the main screen, in the bottom-right corner. Only two items visible at a time, with arrows to browse through them. + + ==== Comments ==== + + It looks like a good design to me. Some things that concern me a little, is that the inventory, spells, and skills lists on the stats screen seem to me like they might be a little bit squished. Also it might be helpful to have a floor view in the stats screen. I also think it would be a good addition, to have separate full screen views for inventory, spells, and skills, for cases where one is doing more manipulation within there instead of between the areas. --- //[[user:Rednaxela|Alex Schultz]] 2007/02/27 11:15// + + + I like the design. Focus should indeed be on play area, with other zones simply there when needed. Red's suggestion to have full screen / maximized for manipulation is nice. Ideally, the interface could be defined through a configuration file so it can be adjusted by players to their wish. But that may be overkill :) --- //[[user:ryo|Ryo Saeba]] 2007/06/10 03:00// + + ===== ===== + ==== Sketch ==== + {{user:rednaxela:cflayout.png?300|}} \\ + **Created by:** Rednaxela + ==== Author's Notes ==== + Here's a bit of an idea I have for one possible way to lay out a client interface, with four panels as shown, which are normally small providing a "summary" of the most important parts to be accessible, which can expand out to give full menus for things. Comments/criticisms/bashing welcome. :) + + ==== Comments ==== + + I like the idea, but there should be: + * a way to display both ground and inventory, for fast manipulation + * at least the last messages should be displayed, so player knows what happens (resistance change & such) + + --- //[[user:Ryo|Ryo Saeba]] 2007/06/18 13:04// + + > Well in terms of displaying the ground and inventory, I was thinking of having the menu (slightly misleadingly) labeled "inventory" include both of those. The last messages would indeed be displayed, as the 'tabs' would generally contain a 'summary' of their contents. Another elaboration that isn't in the design above that I was thinking about which may help with equipping, would be making fading messages of recent stat changes (not including hp, food, etc.) as they happen, in the form of an on-screen-display. + > + > --- //[[user:Rednaxela|Alex Schultz]] 2007/06/18 13:16// + + ===== ===== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/ui_proposals?rev=1189003026 New Revision: http://wiki.metalforge.net/doku.php/ui_proposals -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Sep 8 22:39:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 Sep 2007 22:39:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: coding_style_guide Message-ID: <1189309149.420295.11212.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/08 22:39 User : kbulgrien Edit Summary: Clarify need for path on @file doxygen comment. @@ -38,12 +38,14 @@ * Contact information */ /** - * @file file.ext + * @file path/to/file.ext * A brief description. Detailed information may follow. */ * The //rcsid_// variable is useful for creating error and debug messages. For //component//, look at other files nearby. + * The @file path is important when multiple files in the project may have the same name in different directories. + * Do not include //trunk// or //branches/1.x// in the @file comment header path. * The @file comment block helps doxygen create meaningful output. * The license block requirement is obvious. - Functions are documented like this./** * A brief descriptive sentence summarizes the function. An overview ends IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/coding_style_guide?rev=1188879809 New Revision: http://wiki.metalforge.net/doku.php/coding_style_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 9 14:52:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 09 Sep 2007 14:52:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1189367577.216158.13333.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/09 14:52 User : ryo Edit Summary: update @@ -16,8 +16,9 @@ ==== August 2007 ==== * (trunk) metaserver2 support through curllib * make map saving more robust, warn online DMs if failure * (trunk) update plugin / python documentation in doc directory, from the wiki + * (trunk) add ''glowing'' to attributes of an item * (trunk) code cleaning, bug fixes ==== July 2007 ==== * documentation fixes, including handbook/spoilers generation IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1189367514 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 9 14:51:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 09 Sep 2007 14:51:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1189367517.691947.13330.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/09 14:51 User : ryo Edit Summary: update @@ -6,14 +6,13 @@ ===== Changes to be merged ===== Please put most recent on bottom for month. Unless specified otherwise, changes are in both trunk and branch. - - ==== September 2007 ==== * (trunk) Several new **glade-2** Glade Designer main window layouts are available for the libglade client. * (trunk) The GTK V2 client now uses libglade to allow changing the main window without re-compiling the code. + * new ''empty'' command, to empty a container, or all, onto ground or into opened container ==== August 2007 ==== * (trunk) metaserver2 support through curllib * make map saving more robust, warn online DMs if failure IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1188802061 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Sep 9 14:54:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 09 Sep 2007 14:54:01 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1189367641.325353.13336.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/09 14:54 User : ryo Edit Summary: fix mistakes @@ -101,12 +101,12 @@ * when enchanting applied armor, it will be unapplied if player can't handle it anymore due to power item restriction * orcknuckle now requires dice to play ==== December 2006 ==== - * "Talisman of Evocation" renamed to "Talisman of Creation + * "Talisman of Evocation" renamed to "Talisman of Creation" * fix item power for generated items * initial items shouldn't be bad anymore - * blessed (by weapons now have an owner + * blessed (by gods) weapons now have an owner * change behaviour for fog casting * perceive self now displays glow radius * don't attack eg doors if there is a monster on the same spot, attack monster * custom monsters are not broken anymore by curse/diseases IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1189367575 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Sep 14 19:21:11 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 14 Sep 2007 19:21:11 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1189815671.384143.7027.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/14 19:21 User : Edit Summary: @@ -91,9 +91,13 @@ In the far upper right of the map, things such as the altars, stairs, message board, et al. reside on teleporters which then "transport" items to the map as they are obtained (drop x gold, return with a spectre, etc.) - those map tiles are not unique. So, when the map is reset (which is normal), already purchased items reappear in that area. From my testing, this does not cause any problems at the moment. But this should be corrected/fixed. Major chore: placing all the no_magic tiles under the regular floor tiles so they do not show up with the show invisible spell + ==== New or Suggested Features and Ideas ==== * Add an altar for Valkyrie in the basement map * Please add your suggestion here + + + These maps are now working, you can download them here https://sourceforge.net/tracker/index.php?func=detail&aid=1782975&group_id=13833&atid=313833. There is still some work to do, the kennel for example is still as it was, it seems pretty well useless, but it wasn't hurting anything so I left it alone. IP-Address : 66.45.178.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1187630629 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Sep 18 11:46:50 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 18 Sep 2007 11:46:50 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: known_client_issues Message-ID: <1190134010.166080.24266.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/18 11:46 User : Edit Summary: Update for the double text bug in gtkv2 client @@ -9,6 +9,7 @@ crossfire-client-gtk2 under Ubuntu Edgy (v1.9.1-1) and Feisty (v1.9.1-2) (untested on other versions or releases) * We've heard there's a weird seemingly ubuntu-specific bug in ubuntu's package of gcfclient2, with it repeating each keypress twice when typing... nobody except ubuntu package users seem to be able to reproduce this * Feb-22-2007: Bug reported at LaunchPad, https://launchpad.net/ubuntu/+source/crossfire-client/+bug/87194 + * Sept-18-2007: Player feedback indicates this problem has been "resolved" in v1.10.0 of the client or if the client is built from SVN source ===== 1.9.0 ===== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/known_client_issues?rev=1177459362 New Revision: http://wiki.metalforge.net/doku.php/known_client_issues -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Sep 27 14:11:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Sep 2007 14:11:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1190920317.921943.2637.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/27 14:11 User : leaf Edit Summary: DRAFT: Partial content for modify existing potion arch @@ -1,5 +1,5 @@ - ===== Making Archetypes ===== + ====== Making Archetypes ====== Monsters, walls, tiles, and practically everything else in Crossfire are Archetypes. Archetype is often abbreviated to "arch". To make and test your own archetype, you will need: @@ -7,8 +7,56 @@ * if you are under Linux {FIXME other architectures}, you need to have the server built * a working Crossfire server * the archetypes collection * Perl. + + ===== Items ===== + + FIXME -- Modify Exising Potion section is a draft and work in progress + + ==== Modify Existing Potion ==== + + - Locate the object name of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. + - Locate or search for the object name in the archetype files. You can use the grep command or search for text in the Archetype files that contains a key word in the potion name, this will probably require some trial and error. + - Edit the .arc file with the changes you want to make. Examples include changing the name, modifying the potion duration, the potion appearance (aka graphic), and so on. + - Save the file with your changes. + + Now, some decisions + + * If the potion name changed, check and see if the shop file needs to be updated. This file is located in the archetypes directory at: shop/Floors/shop_potion.trs + * You will need to update the alchemy formula file. This file is located in the server directory at: lib/formulae + * You will need to update the treasure generation file. This is located in the server directory at: lib/treasures + * You will need to search through all the map files and update any references to the old object name as well. + * If the potion is new, and you want it to show up in shops, the shop file needs to be updated. This file is located in the archetypes directory at: shop/Floors/shop_potion.trs + * Be sure to follow this format: + + more + arch potion_ + chance + + * If you want players to be able to create the potion through alchemy, you will need to update the alchemy formula file. This file is located in the server directory at: lib/formula + * Be sure to follow this format or syntax: + + # -- + Object + arch + chance + diff + exp + yield + skill alchemy + cauldron cauldron + ingred + + * If you want players to be able to find the potion in dungeons or through random chance, you will need to update the treasure generation file. This is located in the server directory at: lib/treasures + + ==== Modify Existing Potion (Example) ==== + + + ===== Monters ===== + + + ==== Modify Existing Monster (Example) ==== We will create a new goblin called "Goblin War Lord". - cd into your base arch directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1168012126 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Sep 27 14:50:25 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Sep 2007 14:50:25 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1190922625.508835.2706.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/27 14:50 User : ryo Edit Summary: update fields @@ -305,9 +305,11 @@ * **SpeedLeft**: ''Number'' * **LastSP**: ''Number'' * **LastGrace**: ''Number'' * Level: ''Number'' - * **Face**: ''Number'' + * **Face**: when reading, ''Number'' representing the face number. When writing, a ''String'' representing the face's name (eg: ''cobblesto1.111''). Will raise an error if invalid face. + * **Anim**: when reading, ''Number'' representing the animation number, 0 if none. When writing, a ''String'' representing the animation's name (eg: ''fireplace''). Will raise an error if invalid animation. + * **AnimSpeed**: ''Number'', the animation speed * **AttackType**: ''Number'' * BeenApplied: ''Boolean'' * Identified: ''Boolean'' * Alive: ''Boolean'' @@ -815,5 +817,4 @@ * 0: give the player the skill * 1: give player exp to total, no skill * 2: player gets nothing * race: if set, the player can only use once this item. - IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1180982276 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Sep 27 14:58:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Sep 2007 14:58:49 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1190923129.258992.2715.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/27 14:58 User : ryo Edit Summary: update fields @@ -124,8 +124,9 @@ === PlayerDirectory === Returns the system directory containing player files. === DataDirectory === Returns the system directory containing read-only data. + ==== Data access functions ==== Those functions enable the script to browse runtime data and objects (maps, players, ...). === FindPlayer === Parameter: @@ -159,8 +160,21 @@ Parameter: * map path (''String'') Returns the ''[[cfpython#crossfire.map_methods_and_attributes|Crossfire.Map]]'' with specified path, or ''None'' if such a map isn't loaded. Will not try to load the map, see ''[[cfpython#readymap|Crossfire.ReadyMap]]'' for that. + + === FindFace === + Parameter: + * face name (''String'') + + Returns the number of the specified face, 0 if it doesn't exist. The face name is the name as it appears in the archetypes, ie ''dcross-red1.111'', without the set name or extension. + + === FindAnimation === + Parameter: + * animation name (''String'') + + Returns the number of the specified animation, 0 if it doesn't exist. The name is has it appears in the archetypes, ie ''campfire'' or ''bat''. + ==== Action functions ==== Those functions enable the script to manipulate runtime objects. === ReadyMap === IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1190922619 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Sep 27 18:30:04 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Sep 2007 18:30:04 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1190935804.680562.4448.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/27 18:30 User : leaf Edit Summary: Updates and edits on creating or modifying Potions @@ -14,44 +14,52 @@ FIXME -- Modify Exising Potion section is a draft and work in progress ==== Modify Existing Potion ==== - - Locate the object name of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. + - Locate the //object name// of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. - Locate or search for the object name in the archetype files. You can use the grep command or search for text in the Archetype files that contains a key word in the potion name, this will probably require some trial and error. - Edit the .arc file with the changes you want to make. Examples include changing the name, modifying the potion duration, the potion appearance (aka graphic), and so on. - Save the file with your changes. - Now, some decisions + === If the potion name changed === - * If the potion name changed, check and see if the shop file needs to be updated. This file is located in the archetypes directory at: shop/Floors/shop_potion.trs - * You will need to update the alchemy formula file. This file is located in the server directory at: lib/formulae - * You will need to update the treasure generation file. This is located in the server directory at: lib/treasures - * You will need to search through all the map files and update any references to the old object name as well. - * If the potion is new, and you want it to show up in shops, the shop file needs to be updated. This file is located in the archetypes directory at: shop/Floors/shop_potion.trs - * Be sure to follow this format: + * You will need to update the shop file. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs + * FIXME - where is the shop_potion.trs file in branch? + * You will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formulae + * You will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures + * You will need to search through all the **map** files and update any references to the old (object) name as well. - more - arch potion_ - chance + ==== Making a New Potion ==== - * If you want players to be able to create the potion through alchemy, you will need to update the alchemy formula file. This file is located in the server directory at: lib/formula - * Be sure to follow this format or syntax: + Some may find it easier to take an existing potion and tweak all the stats on it to ultimately create a "new potion." - # -- - Object - arch - chance - diff - exp - yield - skill alchemy - cauldron cauldron - ingred + * If you want it to show up in shops, the shop file needs to be updated. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs + * Be sure to follow this format: - * If you want players to be able to find the potion in dungeons or through random chance, you will need to update the treasure generation file. This is located in the server directory at: lib/treasures + more + arch potion_ + chance + + * If you want players to be able to create the potion through alchemy, you will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formula + * Be sure to follow this format or syntax: + + # -- + Object + arch + chance + diff + exp + yield + skill alchemy + cauldron cauldron + ingred - ==== Modify Existing Potion (Example) ==== + * If you want players to be able to find the potion in dungeons or through random chance, you will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures + * Be sure to follow this format: + more + arch potion_ + chance ===== Monters ===== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1190920315 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Sep 28 04:52:47 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Sep 2007 04:52:47 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:fix_sound Message-ID: <1190973167.482351.3430.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/28 04:52 User : kbulgrien Edit Summary: Expand on idea to put sounds in archetypes. @@ -8,9 +8,28 @@ * Send which sound to play, as a string instead of number. * Or send numbers, but first let the client fetch a table of which numbers correspond to which sound names. * Eliminate the need for the ~/.crossfire/sounds file * Make new sounds - * Allow arches to define sounds for things + * Allow more data-centric elements in the game define sounds to play: + * Archetypes could specify a sound to associate with particular items. The sound might need to be played only under certain conditions. For example, maybe when a fountain/drink is applied, a water splashing or drinking sound is played, or when a save bed is applied someone booes/hisses ;-), etc. Different sounds might be played when different doors are opened - some doors might creak, others squeak, whereas the current system is restricted to one sound for all doors. + * Imagine that not only the sound is identified, but some use flag is also required. IE. If the item is applied, one sound is played, but if it is dropped, another, etc. Damage to items could trigger special sounds. + * Also, imagine that an audio cue indicating acid damage to an item may more effectively warning that the player may need to consider not meleeing this particular monster. + * When a player steps in a puddle... etc... a special sound might be played. + * Sounds could be associated with skills. + * For example, lockpicking, find traps, disarm traps, opening a chest, etc. could trigger a special sound. Depending on the capabilities of the system, the sound might be restricted or changed based on whether the skill was used successfully or not. + * This might be a bit more delicate than it initially seems as some skills are combative and some are for detecting attributes of items, etc. + * Sounds could be associated with commands. + * When a player issues a communication command like burp, cackle, sneeze, etc., an associated sound could be played. + * Sounds could be associated with other commands: IE ready_skill, killpets, usekeys, peaceful, etc. + * Probably to prevent hard-coding symptoms, all commands could have a sound association capability, but many would be set NULL where it is up to the developers whether a particular command should or should not have a sound mapped to it. + * Perhaps system events could be mapped to sounds as appropriate. + * For example, death of another player signals a sound. + * Sounds could be associated to announce changes in core statistics or protections. This might make it easier for players to accept clients that have these stats hidden on tabbed notebooks and might serve as a clue that something critical changed (stat/level loss) that might mean they might want to change tactics if fighting a monster that steals XP etc. + * The ability to map sounds to particular spells should be retained. + * Magic mouths could support sound playing. For example, in the red town tower, there is an invisible key in one room. A magic mouth says "Klang" as a clue that the player might want to cast detect invisible... An audio cue could be played in addition to the textual cue. + * Along the lines of the current ~/.crossfire/sounds (client/sound-src/sounds.dist) file, sounds would be given a logical name/code rather than a file name so that a player could customize their sound preferences by changing the location/name of a sound. + * Some care must be taken to make sure that playing sound did not get to be out of hand as it would be bad to drown the player in audio clutter or cause sounds to no longer be synchronous with game play in the event that sounds take a long time to play. In this vein, perhaps the sound server could selectively ignore the playing of a particular sound if it is played too closely in succession. + * Certainly some design work may be needed, but the point of the request is to move sound closer to the data-domain rather than the code-domain so that it is easier for mapmakers to enhance the game experience without requiring coding skills. * Some form of allowing the client to download sounds from the server and cache * So sounds can be added on the server, without having to have a new client sound package release * Include a full sound cache on clients by default, so this only has to be used for new sounds or updates to sounds * Given how sound files are not small, might it lag the server too much to send a sound to a client? IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound?rev=1158940682 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Sep 28 05:00:55 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Sep 2007 05:00:55 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:fix_sound Message-ID: <1190973655.765800.4115.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/28 05:00 User : kbulgrien Edit Summary: Grammatical improvement to last edit. @@ -8,9 +8,9 @@ * Send which sound to play, as a string instead of number. * Or send numbers, but first let the client fetch a table of which numbers correspond to which sound names. * Eliminate the need for the ~/.crossfire/sounds file * Make new sounds - * Allow more data-centric elements in the game define sounds to play: + * Allow data-centric elements in the game control playing of sounds and remove code-centric sound triggers: * Archetypes could specify a sound to associate with particular items. The sound might need to be played only under certain conditions. For example, maybe when a fountain/drink is applied, a water splashing or drinking sound is played, or when a save bed is applied someone booes/hisses ;-), etc. Different sounds might be played when different doors are opened - some doors might creak, others squeak, whereas the current system is restricted to one sound for all doors. * Imagine that not only the sound is identified, but some use flag is also required. IE. If the item is applied, one sound is played, but if it is dropped, another, etc. Damage to items could trigger special sounds. * Also, imagine that an audio cue indicating acid damage to an item may more effectively warning that the player may need to consider not meleeing this particular monster. * When a player steps in a puddle... etc... a special sound might be played. @@ -22,9 +22,9 @@ * Sounds could be associated with other commands: IE ready_skill, killpets, usekeys, peaceful, etc. * Probably to prevent hard-coding symptoms, all commands could have a sound association capability, but many would be set NULL where it is up to the developers whether a particular command should or should not have a sound mapped to it. * Perhaps system events could be mapped to sounds as appropriate. * For example, death of another player signals a sound. - * Sounds could be associated to announce changes in core statistics or protections. This might make it easier for players to accept clients that have these stats hidden on tabbed notebooks and might serve as a clue that something critical changed (stat/level loss) that might mean they might want to change tactics if fighting a monster that steals XP etc. + * Sounds could announce changes in core statistics or protections. This might make it easier for players to accept clients that have these stats hidden on tabbed notebooks and might serve as a clue that something critical changed (stat/level loss) that might mean they might want to change tactics if fighting a monster that steals XP etc. * The ability to map sounds to particular spells should be retained. * Magic mouths could support sound playing. For example, in the red town tower, there is an invisible key in one room. A magic mouth says "Klang" as a clue that the player might want to cast detect invisible... An audio cue could be played in addition to the textual cue. * Along the lines of the current ~/.crossfire/sounds (client/sound-src/sounds.dist) file, sounds would be given a logical name/code rather than a file name so that a player could customize their sound preferences by changing the location/name of a sound. * Some care must be taken to make sure that playing sound did not get to be out of hand as it would be bad to drown the player in audio clutter or cause sounds to no longer be synchronous with game play in the event that sounds take a long time to play. In this vein, perhaps the sound server could selectively ignore the playing of a particular sound if it is played too closely in succession. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound?rev=1190973164 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Sep 28 05:07:50 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Sep 2007 05:07:50 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:fix_sound Message-ID: <1190974070.535880.4124.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/28 05:07 User : kbulgrien Edit Summary: Add note about triggering sounds via "connections". @@ -13,8 +13,9 @@ * Archetypes could specify a sound to associate with particular items. The sound might need to be played only under certain conditions. For example, maybe when a fountain/drink is applied, a water splashing or drinking sound is played, or when a save bed is applied someone booes/hisses ;-), etc. Different sounds might be played when different doors are opened - some doors might creak, others squeak, whereas the current system is restricted to one sound for all doors. * Imagine that not only the sound is identified, but some use flag is also required. IE. If the item is applied, one sound is played, but if it is dropped, another, etc. Damage to items could trigger special sounds. * Also, imagine that an audio cue indicating acid damage to an item may more effectively warning that the player may need to consider not meleeing this particular monster. * When a player steps in a puddle... etc... a special sound might be played. + * Sounds could be associated with connections made inside inside the map files. * Sounds could be associated with skills. * For example, lockpicking, find traps, disarm traps, opening a chest, etc. could trigger a special sound. Depending on the capabilities of the system, the sound might be restricted or changed based on whether the skill was used successfully or not. * This might be a bit more delicate than it initially seems as some skills are combative and some are for detecting attributes of items, etc. * Sounds could be associated with commands. IP-Address : 66.137.82.229 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound?rev=1190973653 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:fix_sound -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Sep 28 16:46:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Sep 2007 16:46:39 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1191015999.132561.8548.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/09/28 16:46 User : leaf Edit Summary: Comment about name name changes and impact on Gridarta pickmaps @@ -26,8 +26,9 @@ * FIXME - where is the shop_potion.trs file in branch? * You will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formulae * You will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures * You will need to search through all the **map** files and update any references to the old (object) name as well. + * Let the developers on the Gridarta (map editor) project know about the change so they can update the pickmap (ex: trunk/crossfire/resource/pickmaps/treasure) ==== Making a New Potion ==== Some may find it easier to take an existing potion and tweak all the stats on it to ultimately create a "new potion." IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1190935800 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/