Skip to content
This repository has been archived by the owner on Apr 22, 2019. It is now read-only.

OlehKulykov/re-sdk

Repository files navigation

RECore is cross platform framework for creating 2D game applications. The main idea is to create applications with minimal effort to port to other platforms. Therefore, all the modules framework written in C++. You create a basic application code in your favorite operating system and development environment, then wraps the application for each supported operating system and connects your basic code.
The framework consists of the following modules: RECore, REGUI, REMedia, RENetwork. Of course, for some features can be used third-party libraries. Each additional library can be used or not by configuration settings file and can be linked as system provided or provided with framework source code. Which library use for linking also controlled by configuration settings file. For more details about using additional third-party libraries please read README file.
RECore - is the base module, the functionality of which can be used not only in the 2D games, but in the usual applications as additional functionality.
REGUI - module for rendering graphics, managing views.
REMedia - module for playing audio and video.
RENetwork - module for sending/receiving network requests.

Features:
Features marked with * sing can be added or removed from framework using configuration files for each supported platform on build process.

RECore features:
- Basic geometry objects, such as 2D/3D points and vectors, matrix, quaternions, edge insets, ranges, colors, angles, randomizers, timers, file management, some 2D algorithms, Base64, MD5, UTF8 strings, wide char strings presentation, encoding/decoding special HTML characters*.
- Compression/decompression memory buffers using ZIP* and LZMA* algorithm, reading from ZIP archives*.
- Arrays, lists, iterators and dictionary with possibility save/load objects to/from XML property lists.
- Reading PNG*, JPG/JPEG*, WebP* image formats and writing PNG* and WebP* image formats. Supports RGB(A), Luminance alpha and alpha pixel formats, scaling images, YUV to RGB(A) color conversion*.
- Threads and mutexes. Invoking/executing class methods in current or main thread with or without delays.
- Reading/writing SQLite data base*.
- Initializing base objects from URL*, resources or wrapper application callbacks*.

REGUI features:
- Basic render primitives such as view, buttons, labels, textfields, textures.
- View controllers for managing view hierarchy.
- Using TTF fonts. 
- Using OpenGL*, OpenGL ES 1*, DirectX 9* for rendering.
- Integration with Pyro Particles*.
- About 40 types of animation.

REMedia features:
- Using OpenAL for playing decoded sound data*.
- Playing Ogg Vorbis and all native supported audio formats using static callbacks*.
- Playing Ogg Theora video*.

RENetwork features:
- Sending/receiving network requests.


RECore can use next third-party libraries. 
Using this libs can be controlled by 'REConfig<OS Type>.h' configuration header file.
For getting list of features and third-party libraries call RECore::BuildInfo() method.
- Zlib 
URL: http://zlib.net
     https://github.com/madler/zlib
License URL: http://zlib.net/zlib_license.html


- Png
URL: http://www.libpng.org
     http://www.libpng.org/pub/png/libpng.html
License: Open Source     
License URL: http://www.libpng.org/pub/png/src/libpng-LICENSE.txt


- SQLite
URL: http://www.sqlite.org
License URL: http://www.sqlite.org/copyright.html


- FreeType
URL: http://www.freetype.org
License URL: http://www.freetype.org/FTL.TXT


- jpeg 
URL: http://www.ijg.org


- ogg
URL: http://www.xiph.org


- vorbis
URL: http://www.xiph.org


- theora
URL: http://www.xiph.org


- tremor
URL: http://www.xiph.org


- lzma
URL: http://www.7-zip.org/sdk.html
License URL: http://www.7-zip.org/license.txt


- cURL
URL: http://curl.haxx.se
License URL: http://curl.haxx.se/docs/copyright.html


- TinyXML
URL: http://sourceforge.net/projects/tinyxml
     http://www.grinninglizard.com/tinyxml/index.html
License: zlib/libpng License


- WebP
URL: https://code.google.com/p/webp
     https://developers.google.com/speed/webp


- Pyro Particle
URL: http://pyro.fenomen-games.com


- YUV2RGB
URL: http://www.wss.co.uk/pinknoise/yuv2rgb/index.html

About

Cross platform framework for creating 2D graphical applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published