Modules

Modules provide packages of additional functionality for BlitzMax. Modules are stored in the mod folder within your BlitzMax installation directory.

The entire base of BlitzMax is provided by modules (all managed by Blitz Research Limited (BRL)). This section documents not only the official modules by BRL, but also popular third party modules.

Modules can be native BlitzMax code, or code in one of the following languages: C, C++, ObjectiveC, or Assembly. Fasm is used to compile x86 assembly, GNU Build Tools for the other languages.

=Import and Framework=

You can control which modules are compiled with your program by using Import and Framework. By default all modules from scopes BRL and Pub are imported. If you specify some module with Framework, only that module and ones it imports are compiled with your code. You can then import additional modules using Import. Common framework modules are BRL.Basic and BRL.Max2D, for console and 2d applications, respectively.

Example code: Framework BRL.Basic ' Enough for simple console applications Import BRL.Random ' BRL.Basic imports BRL.Random, so to use the Rand function we do not need to import BRL.Random (but it wont hurt)

Print(Rand(1, 10))

Or in a more module-specific way: Framework BRL.Blitz ' This module is the base for everything, and does not import other modules Import BRL.StandardIO ' This module is needed for Print Import BRL.Random ' This module is needed for Rand

Print(Rand(1, 10))

=List of modscopes= Official
 * BRL - BRL's main modules
 * MaxGUI - BRL's MaxGUI modules
 * Pub - BRL's public modules

Third Party
 * BaH - Brucey's main modules
 * wxMax - Brucey's wxMax module group


 * Koriolis - Koriolis' modules

=List of modules= All modules are cross-platform and freely available unless otherwise noted.

Audio

 * BRL
 * Audio
 * AudioSample


 * Pub
 * OpenAL
 * FreeAudio
 * OGGVorbis


 * BaH
 * BASS
 * BASS_FX
 * FMOD
 * irrKlang
 * GME
 * GMEBASS
 * GMEOpenAL
 * TagLib

Audio Drivers

 * BRL
 * DirectSoundAudio
 * FreeAudioAudio
 * OpenALAudio


 * BaH
 * FMODAudio
 * irrKlangAudio

Audio loaders

 * BRL
 * OGGLoader
 * WAVLoader

BASIC

 * BRL
 * Basic
 * Retro
 * Random


 * BaH
 * Random

Collections

 * BRL
 * LinkedList
 * Map

Communication

 * BaH
 * Interprocess

Cryptology

 * BaH
 * Base64
 * Crypto

Data

 * BRL
 * Bank


 * Pub
 * ZLib

Database

 * BaH
 * Database
 * DBMySQL
 * DBODBC
 * DBOracle
 * DBPostgreSQL
 * DBXbase
 * DBSQLite

Events

 * BRL
 * Event
 * EventQueue
 * Hook

Fonts

 * BRL
 * Font
 * FreeTypeFont


 * Pub
 * FreeType

Graphics

 * BRL
 * Max2D
 * GLMax2D
 * D3D7Max2D
 * Graphics
 * GLGraphics
 * DXGraphics


 * Pub
 * OpenGL
 * DirectX
 * Glew


 * BaH
 * Cairo
 * Graphviz
 * GraphvizMax2D
 * libtcod

GUI

 * MaxGUI (non-free)
 * MaxGUI (non-free)
 * Drivers (non-free)
 * Win32MaxGUIEx (non-free)
 * FLTKMaxGUI (non-free)
 * CocoaMaxGUI (non-free)
 * ProxyGadgets (non-free)


 * BaH
 * GTKMaxGUI (requires MaxGUI)
 * GTKWebGTKHTML (requires MaxGUI)
 * GTKWebMozilla (requires MaxGUI)

Imagery

 * BRL
 * Pixmap


 * Pub
 * LibPNG
 * LibJPEG


 * BaH
 * FreeImage
 * Magick
 * GDAL

Image loaders

 * BRL
 * BMPLoader
 * PNGLoader
 * JPGLoader
 * TGALoader

Internet

 * BaH
 * ClearSilver
 * Flickcurl
 * FTPParser
 * libcurl
 * libcurlssl
 * libssh2
 * Raptor

Mathematics

 * BRL
 * Math


 * BaH
 * MAPM
 * MathToolkit
 * muParser
 * Rational

Miscellaneous

 * BaH
 * UniMotion (MacOS only)

Networking

 * BRL
 * Socket
 * GNet


 * Pub
 * ENet


 * BaH
 * RakNet
 * RakNetRooms
 * RakNetVoice
 * RakNetVoiceFMOD

Physics

 * BaH
 * Box2D
 * Chipmunk

Scripting

 * BRL
 * MaxLua


 * Pub
 * Lua

Streams

 * BRL
 * Stream
 * BankStream
 * EndianStream
 * HTTPStream
 * RAMStream
 * SocketStream
 * TextStream

System

 * BRL
 * Blitz
 * AppStub
 * Threads
 * MaxUtil
 * System
 * FileSystem
 * StandardIO
 * Reflection


 * Pub
 * StdC
 * FreeProcess


 * BaH
 * AppStub
 * Boost
 * Curses
 * Growl (MacOS only)
 * libusb
 * MaxUnit
 * Persistence
 * Volumes

Text

 * BaH
 * Expat
 * Format
 * Locale
 * RegEx
 * RTL
 * Tesseract
 * XLWriter
 * LibXml
 * Libxslt

Time

 * BRL
 * Timer


 * BaH
 * DateTime

User Input

 * BRL
 * KeyCodes
 * PolledInput

Video

 * BaH
 * AVBin

Operating System

 * Pub
 * MacOS
 * Win32