= Canabis =
== Information & Features ==
[[Image(canabis_dev_screen1.jpg, width=134, align=right)]]Welcome to the temporary home of Canabis - the Open Source Canasta card-game for OS/2 Warp (including [http://www.ecomstation.com/ eComStation]) and Windows 9x/NT. The aim is to create a full-featured and easy-to-use but still very slim and functional Canasta game. As far as I know, it is the first Open Source Canasta game ever, too. It is planned to support the [http://en.wikipedia.org/wiki/Canasta Classic Canasta rules] and a lot of customizable rules (so it supports my [wiki:family_rules family's rules]). Currently it is single player against one computer opponent and it is unsure whether there will be some kind of multiplayer later. It aims to be as flexible as possible. You can easily install different card and language packages provided as compiled .DLL files and switch them at run-time. Also, you can customize colors, the window background and even enable primitive pseudotransparency. The whole user interface will conform the [wiki:cua Common User Access] guidelines.
Canabis is developed entirely in [http://www.openwatcom.org/ Open Watcom] FORTRAN/77 using the [http://svn.netlabs.org/fortrantk FORTRAN/TK] toolkit. Therefore it is cross-platform and can be compiled for OS/2 Warp (which includes eComStation) and Windows 32-bit systems. Actually, the focus of development is on OS/2. It will even support some OS/2-specific features like basic Workplace Shell integration. Of course there will always be some issues with the user interface related to flaws in the [http://www.vaeshiep.demon.nl/ Tcl/Tk OS/2 port] which Canabis relies on. There is going to be a native OS/2 and Windows help (thanks to [http://vyperhelp.netlabs.org/ VyperHelp]) as well as on-the-fly in-game help in the status bar.
Canabis is licensed under the [http://www.opensource.org/licenses/osl-2.1.php Open Software License v.2.1].
== Screenshots ==
Here are some development screenshots, where I played a bit with pseudotransparency, shot under eComStation and Windoze Vista (but I don't have it on my computer).
{{{
#!html
}}}
[[Image(canabis_dev_screen1.jpg, width=134)]] [[Image(canabis_dev_screen2.jpg, width=101)]] [[Image(canabis_dev_screen3.jpg, width=113)]] [[Image(canabis_dev_screen4.jpg, width=109)]]
{{{
#!html
}}}
== Releases & Binaries ==
Sorry, there are no official binary releases yet. There will be one soon when Canabis becomes "playable" - there are still some things missing from the basic "artificial intelligence" level.
== Additional card & language packages ==
For now, there are no card or language packages besides the packages included in the source archive or releases.
== Build instructions ==
If you do not want to use a precompiled release of Canabis or you want to have the latest version or whatever, you can of course build your own one.
You will need the following list of tools and libraries:[[BR]]
* !OpenWatcom FORTRAN/77 (v.1.6 recommended but earlier versions may work, too):[[BR]]
http://www.openwatcom.org/ [[BR]]
To compile FORTRAN/TK you'll also need the !OpenWatcom C compiler
* OS/2 and Windows binaries of Cook (including CMDSHELL):[[BR]]
http://hobbes.nmsu.edu/cgi-bin/h-search?key=cook+os2-nt&pushbutton=Search [[BR]]
I use Cook as a powerful make replacement.
* Resource Compiler:[[BR]]
OS/2 Developers Toolkit (OS/2 Warp) or WRC from !OpenWatcom FORTRAN/77 NT version (Windows)
* FORTRAN/TK (fortrantk.lib, include files and runtime libraries):[[BR]]
http://svn.netlabs.org/fortrantk [[BR]]
I recommend to use the latest FORTRAN/TK version from the repository because sometimes I implement new FORTRAN/TK features and APIs just for Canabis. You could try to use an official release or available nightly first but you have to compile it anyway on your own.
* EXPAT/77 (expat77.lib, include files and runtime library):[[BR]]
The official EXPAT/77 1.0 Beta will be released soon on [http://xml.netlabs.org/ Netlab's XML page]. In the meantime there's a nightly source release [qdlos.sourceforge.net/expat77_10.01.07_nightly.zip here].
* TECO editor (TECOC):[[BR]]
http://almy.us/teco.html [[BR]]
Har, har, har...
* PKZIP compatible ZIP, eg. Info-ZIP (if you want to create a zip package):[[BR]]
http://www.info-zip.org/
Be sure to install everything propely. Cook, TECO, Zip and the Resource Compiler should be in your PATH/LIBPATH. You need a compiled fortrantk.lib in your Canabis source directory and make sure that the FORTRAN/TK root directory is in your FINCLUDE-variable (FORTRAN/TK programs share some include files with the library). You also need the FORTRAN/TK runtime DLLs in the Canabis root to actually run the binary. You can find them under "fortrantk\examples\binos2\runtime" and "fortrantk\examples\binwin\runtime". Under Windows you need the Tk-library directory "fortrantk\examples\lib" one level under the Canabis directory (will be fixed someday). If you have problems try reading the FORTRAN/TK readme. Furthermore there should be an expat77.lib in your Canabis directory. The EXPAT/77 root should be in your FINCLUDE-variable, too. The expat runtime DLL is also necessary (to execute the binary). It's either expatmtd.dll (OS/2 Warp) or libexpat.dll (Windows NT/9x) that can be found in the EXPAT/77 root directory.
Now you should be able to "cook" Canabis with the following command on the command prompt. Read the [source:/trunk/Howto.cook Howto.cook] file for more information about possible variables and targets:
{{{
cook -book Howto.cook -no-list
}}}
== Contact ==
If you have questions or opinions or if you want to contribute, feel free to [mailto:robin.haberkorn@gmail.com send me an email].
[[Image(os2win.jpg, nolink, align=right)]]