CRM32Pro SDK

CRM32Pro

Overview

CRM32Pro is a cross-platform 2D game engine written in C++ and built on top of SDL 1.2. The library is free and open source for personal and commercial use under the LGPL license. It is also called C32 library.

The library was born in 2001 and since then, we have been adding new features and fixing bugs so it is quite powerful and robust. The conception idea was to take some useful, open, free and cross-platform libraries, add relevant interfaces and classes for creating a complete, stable, optimized and portable high level API. The final result allows you to quickly develop 2D games.

There are three important tools which further increase the SDK usefulness:

  • the resource manager (EditorDPF) which tremendously facilitates the creation and modification of images, tiles, sprites, fonts, buttons, sounds and config files (ini, xml, etc.) with no programmer skills needed as it is an easy to use graphic application based on Windows MFC.
  • Customized configuration system (SetupProject) for creating your own configuration software in a few steps and without coding anything.
  • Powerful tile-based scroll engine (MSTE) that allows you to develop almost any kind of 2D game. It supports maps created with Tiled Qt 0.81+ so you can also use that great map editor.

On the documentation side, we include a complete reference guide with all classes, structs and functions fully documented. Additionally, there are a few tutorials and examples illustrating the C32 capabilities. In case you still have any doubt or problem, you could contact us or use the forum where we are providing support for all C32 developers.

CRM32Pro CRM32Pro CRM32Pro

Details

  • General:
    General
    • Developed in C++ with optimized code paths on critical functions using x86 ASM with MMX/SSE.
    • High level API with all the needed functions to develop 2D games.
    • Operating systems and compilers supported: read below.
    • Designed and structured on a clean and efficient way.
    • Available as a dynamic library and static one only for debugging on Win32. The ABI is kept stable so you could replace old versions with new ones for getting bug fixes or increased performance.
  • Main modules:
    Main
    • Powerful log system.
    • Performance measure system (profiles).
    • Proprietary data package with optional security enhancements for all resources: graphics, sounds, fonts, …
    • Methods for preventing the binary modification of executables.
    • Full timing control with independent rates: rendering and logic.
    • Easy, fast and customizable system initialization.
    • Improved pseudo-random number generator.
    • XML parser for reading, writing or editing external XML or embedded on the data package format.
    • CRC32 methods.
  • Video and graphics modules:
    Graphics
    • Supports OpenGL for accelerating 2D blitting operations or software modes.
    • Proprietary image format with native BMP export/import. EditorDPF supports PNG and BMP file formats.
    • Scaled and rotated surfaces with optional smooth filter.
    • Customizable, easy and fast Fonts system allowing any kind of font type.
    • 11 special surface effects: gray conversion, fades, negative, noise, blur, gamma correction, wind, waves, …
    • Graphic primitives: draw points, lines, rectangles, …
    • Graphic User Interface (GUI) including mouse and cursor control and a efficient and fast button systems with multilayer support.
    • Optimized surface collision system.
    • Great tile system supporting standard surface attributes as alpha, alpha per-pixel, colorkey and RLE plus additional tileset mode.
    • Powerful sprite systems supporting standard surface attributes plus animation with states.
    • Automatic smooth sprites movement using interpolation (“tweening“).
    • Playback of MPEG-1 video format with optional real-time special effects.
  • Sound and music modules:
    Audio
    • Audio system with mono, stereo and multichannel support.
    • Some special effects.
    • Independent sound and music channels.
    • Supports Wav, Aiff, Voc, Ogg, XM, MOD, IT and S3M formats.
  • Network module:
    Network
    • Based on TCP/IP with a server/client architecture.
    • Server can run as a stand-alone process or shared with a client and your code.
    • Server has two working modes: non-authoritative mode (sent data is not processed by the server) or authoritative mode (sent data is processed by the server and it is accepted or denied).
    • Up to 16 clients with optional password login.
    • Secure transmission layer to avoid to expose information and any modification or hack.
    • Stable and with full logging system for debugging the application.

Operating systems and compilers supported

  • Linux:
    Linux
    • Any x86 Linux distribution based on kernels 2.6 or newer.
    • X11 libraries is recommended.
    • OpenGL 1.2 or later versions are recommended.
    • ALSA sound driver is also recommended.
    • GNU C/C++ 4.x compiler.
  • MacOS X:
    MacOS X
    • Any x86 version from 10.4 to 10.14.
    • Uses X11 and Quartz video drivers.
    • OpenGL 1.2 or later versions are recommended.
    • Uses CoreAudio sound driver.
    • GNU C/C++ 4.x compiler.
  • Windows:
    Windows
    • Any x86 Windows version from 95 to 10.
    • DirectX 5.0 or later versions are recommended.
    • OpenGL 1.2 or later versions are recommended.
    • Visual Studio 2008 or later versions.
    • GNU C/C++ 4.x compiler.

As the SDK is a standard dynamic library, it could also be used on other environments as Java, Visual Basic, Delphi, … but it has not been tested.

Third-party libraries

CRM32Pro is built on top of SDL plus other great and open-source libraries. Some of these libraries have been slightly modified and as they are under GPL or LGPL licenses, the full source code is also included on the download section.

Download

Last version: v5.22 (11-July-2016)
ChangeLog | Roadmap | LGPL license

Binaries
x86 32bits binaries for supported operating systems and compilers.
Documentation
Documentation and reference guide with detailed information.
Source code
Source code and make files for VS2008+ and GNU C/C++ 4.x and third-party libraries.
Previous releases
Get access to all releases repository.