Home Page
Compass Module
FSM Module
Floating Point Checker Module
Zref Module
Project Page
SourceForge goodness!
Class API
Doxygen goodness!
File Vault
Browse the source!
Roadmap
Know where we're headed!

Introduction

Overview

Swiss GD Knife is a C++ middleware library for game developers. We've made it our mission to provide useful library modules that are either absent from most other libraries or implemented by other libraries in a manner that makes them unusable to most developers.

Download & Include

  1. Get the source code from this SourceForge page.
  2. Unzip into a directory of your choosing. We'll call this <lib-sgdk>.
  3. Add <lib-sgdk>/code/include to your list of include directories.

    • In GCC, that means passing in -I"<lib-sgdk>/code/include" as an additional command-line option when compiling your program.
    • If you use Dev-C++, then while editing a project, drop-down the Project menu, select Project Options, select the Directories tab in the resulting dialog box, select the Include Directories sub-tab, type <lib-sgdk>/code/include in the input text area, select Add, and hit OK.
    • If you use Microsoft Visual C++, then while editing a solution, drop-down the Project menu, select Properties, expand the Configuration Properties and C/C++ items in the resulting treeview, add <lib-sgdk>/code/include to the space-delimited Additional Include Directories text area, and hit OK.

What, No Binaries?

Swiss GD Knife is a middleware library. You're supposed to compile your own programs on top of it. The source code distribution includes example programs to help you get started.

Priority Features

Utility
Each Swiss GD Knife module must be useful in at least one major problem domain.
Correctness
Each Swiss GD Knife module should work as it was documented to work.
Modularity
Each Swiss GD Knife module should work equally well when used alone, with other Swiss GD Knife modules, or with other C++ libraries, especially the C++ Standard Library.
Genericity
Each main Swiss GD Knife class should be templatized as much as is reasonable, to encourage minimal code duplication by library users.
Efficiency
Each Swiss GD Knife module should perform efficiently for all applications that need it.
Standards Compliance
Swiss GD Knife source code must comply with the ISO C++ Specification and, if possible, the ANSI C++ Standard.
Portability
Swiss GD Knife source code should compile and behave correctly on any operating system and on any platform, using a reasonably standards-compliant compiler on that operating system and platform.

License

The Swiss GD Knife library is distributed under the terms of the GNU General Public License. The Free Software Foundation can explain it better than we can, but basically if you want to use our code in your program, you can sell, share, or give away your software as long as your customers also have the same distribution and selling rights you received; in other words, you also need to distribute your software under this license.

Contact

Hi, I'm Cromwell D. Enage, the project admin. Let me know whether or not you find this library useful for yourself and/or for others.

Hosted by SourceForge.net.

This page is Valid HTML 4.01 Transitional! This page uses valid CSS!