Home Games CRM32Pro C/C++ Code Updated

CRM32Pro SDK overview


     CRM32Pro is a free software development kit(SDK) written in C++ and built on top of SDL that facilitates the multimedia software development, specially, of games. This SDK was born in 2001 and since then, we have been testing and adding new features. It encapsulates a few cross platform libraries, then it adds interfaces and classes to create a high level API, complete, stable, optimized and portable. It is perfect to create quickly games in 2D with the option to use OpenGL to develop games in 2D/3D.

     A reference guide is included with all classes,structs and functions documented. Also, we have added a few examples to illustrate its use and functionality. Anyway, the library header is easily understandable and for any question,doubt or suggestion, you could contact with us using email or forum.

     As part of the SDK, a resources manager(EditorDPF) is included, which tremendously facilitates the creation and modification of images,tiles,sprites,fonts,buttons,sounds and config files(ini, xml, etc.) with no need to recompile. EditorDPF is very useful,stable and easy to use, we fully recommend you to use it. For further information, visit EditorDPF section.

     Another important part of the SDK is a full customized configuration system(SetupProject), you could create your own config software in a few steps and without to code anything. More information can be found in SetupProject section.

     Recently, we have added a poweful tile-based game 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.


1.Working scheme

     Finally, the SDK is cross platform, so the same source code of your application, can be compiled on Win32, Linux and MacOS X platforms. And do not forget that everything is free.

     If you decide to use CRM32Pro SDK, you will only have to develop your software and you will forget all low-level functions.


CRM32Pro SDK features

dot General.
 - Developed in C++ and compiled with Visual Studio 2003 and GNU GCC.
- High level API with all the functions necessary to develop 2D games.
- Cross platform, right now Win32, Linux and MacOS X.
- Design, programming and structure using a clean and efficient way.
- Heavily optimized for each current CPU and its instrucction set (MMX and SSE).
- Available as a DLL or static library(only Win32). If you use the DLL, minor changes, updates
   and optimizations done in the SDK, will not affect to your software, and, generally, it will not be
   necessary to recompile it.
dot Main modules.
 - Powerful log system of the library and your software.
- Performance measures system (profiles).
- Proprietary system to package all your resources as graphics, sound,fonts,etc.
   Possibility to protect your package with a password.
- Functions to prevent that your software will be modified.
- Full timing control with two independent rates: Rendering and Logic.
- Easy,fast and customizable system initialization.
- True random number generator.
- XML parser to read,write,edit or create new XML from files or embedded on a DPF.
- CRC32 functions.
dot Video and graphics modules.
 - Supports OpenGL to accelerate 2D blitting operations.
Proprietary image format with native BMP export/import. EditorDPF also supports PNG/BMP.
- Scaled surfaces with smooth filter.
- Fonts system fully customizable that allow to use any font type.
- 11 FX effects: grays conversion, fades, negative, noise, blur, gamma correction, wind, waves..
- Graphics primitives: draw points,lines, etc.
- Graphic User Interface(GUI): cursor control and powerful button system with multilayer support.
- Optimized collision system between sprites and surfaces.
- Full  tiles system: tileset, alpha, alpha per pixel, colorkey, RLE...
- Full sprites system: alpha, colorkey, alpha per pixel,RLE,animation,states...
 - Automatic smooth sprites movement (using interpolation).
- Playback of MPEG-1 video format with realtime effects.
dot Sound and music module.
 - Full sound system with mono,stereo and multichannel support.
- Support following formats: Wav,Aiff,Voc,Ogg,XM,MOD,IT and S3M.
- Several FX effects.
- Independent channels of sound and music.
dot Network module.
 - Network system interface based on TCP/IP.
- Client/server architecture.
- Two working methods: server running on single mode or on authoritative mode.
- Support up to 16 clients.
- Automatic reception queue.
 - Possibility to hook a function in the server core to pre-process and to validate the sent data.
- Secure transmision layer to avoid to expose the information, its manipulation and to replay it.
 - Robust, client login using password, full internal  log system, etc..

CRM32Pro SDK requirements and systems supported


dot Hardware:
 - CPU with MMX instruction set is required.
 - Processor speed, memory and disk space will depend on your development.
 - Video card with decent OpenGL support is recommended.
 - Almost any sound card will work with the SDK.

dot Win32 system:
 - Any Windows version from 95 to 7.
    - DirectX 5.0 or later versions are recommended but not necessary.
    - OpenGL 1.2 driver recommended.
    - Support Visual Studio 6.0 and later versions. We use 2003 version.
    - Support mingw32 with GNU GCC 3.x and 4.x versions.

dot Linux system:
 - Any Linux distribution. It  uses X11, OpenGL and Framebuffer video backends and Alsa sound.
    - Support GNU C/C++ 3.x and 4.x versions.

MacOS X system:
 - Supports x86 versions: 10.3, 10.4, 10.5 and 10.6. Uses Quartz,  X11 and OpenGL as video
      backends and coreaudio.
    - Support GNU C/C++ 4.x versions.

     It could be used on others environment as Java, Visual Basic or even Delphi, due to, CRM32Pro is a DLL,but it has not been tested.


CRM32Pro SDK third party libraries


     These are all the cross platform and free libraries used in this SDK:

- SDL http://www.libsdl.org
- SMPEG - http://www.icculus.org/smpeg
- UCL - http://www.oberhumer.com
- SDL_mixer - http://www.libsdl.org/projects/SDL_mixer
- MikMod - http://mikmod.raphnet.net
- LibVorbis and LibOgg - http://www.vorbis.com
- SDL_net - http://www.libsdl.org/projects/SDL_net
    - Mersenne Twister - http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
- TinyXml - http://www.sourceforge.net/projects/tinyxml
     SDL_mixer, MikMod and SDL libraries, have been slightly modified and due to they are under GNU license (GPL and LGPL), we have included all its source code, projects and the generated static libraries to downloads section.


CRM32Pro SDK roadmap


dot Future - 2013:
 - Add four new examples: how to use XML parser, tiles, sprites and new config system.
dot Away future:
 - Add a particle system.

Would you like a new feature? The SDK is on a continuous development so feel free to contact us by email or using the forum.

Copyright (c) 2013 MegaStorm Systems. All rights reserved.