NOTE: DEPRECATED! No longer used in PPSSPP! Various C++ utility code: OpenGL ES, JSON, etc, portable to Android.
C C++ HTML Java Assembly Objective-C Other
Latest commit af28ba3 Sep 13, 2015 @hrydgard atlastool mac buildfix
Permalink
Failed to load latest commit information.
android Remove usage of glstate. It will be moved into PPSSPP, and only used … Sep 6, 2015
audio We don't need a third set of typed-integer typedefs Sep 6, 2015
base Buildfix Sep 6, 2015
data Unicode prep Aug 26, 2013
ext DragonFly has bswap* like FreeBSD, Bitrig - like OpenBSD May 25, 2015
file We don't need a third set of typed-integer typedefs Sep 6, 2015
gfx Symbian buildfix Sep 6, 2015
gfx_es2 We don't need a third set of typed-integer typedefs Sep 6, 2015
i18n ChoiceWithValueDisplay: Allow translation of the value Jul 21, 2014
image We don't need a third set of typed-integer typedefs Sep 6, 2015
input Introduce DEVICE_ID_ANY, update operator == for KeyDef to match Aug 29, 2015
json Add drag capturing (useful to resolve conflicts between scrollviews a… Jan 31, 2014
math We don't need a third set of typed-integer typedefs Sep 6, 2015
midi Unicode prep Aug 26, 2013
net Http download : set completed flag even if failed. Use setThreadName … Jul 19, 2015
profiler Increase max profiler cats. Jul 3, 2015
thin3d Remove usage of glstate. It will be moved into PPSSPP, and only used … Sep 6, 2015
thread Set threadnames on Android Jul 19, 2015
tools atlastool mac buildfix Sep 13, 2015
ui Remove usage of glstate. It will be moved into PPSSPP, and only used … Sep 6, 2015
util We don't need a third set of typed-integer typedefs Sep 6, 2015
.gitignore define changes for mac from vit6969. May 6, 2013
Android.mk Android buildfix Sep 6, 2015
LICENSE.TXT Update README and add LICENSE Mar 31, 2012
README.md Switch out etcpack with the ZLIB licensed rg_etc1 library Mar 29, 2013
native.vcxproj Merge pull request #286 from hrydgard/vs-2015 Sep 6, 2015
native.vcxproj.filters Move gl_state.cpp/h out to PPSSPP Sep 6, 2015

README.md

native

This is my library of stuff that I use when writing C++ programs, mostly for Android but it's all written to enable easy portability between Android, Linux, Windows and MacOSX. The code is part ugly, part inconsistent but quite useful.

Features

  • JSON read/write (two libraries that should be made more similar)
  • basic OpenGL utility code, like compressed texture loading
  • 2D texture atlases and drawing code
  • ETC1 texture save/load support
  • basic logging
  • Really simple audio mixer with OGG sample support
  • RIFF file read/write
  • MIDI Input (only on Windows)

Notes

  • The associated tools to create ZIM texture files and atlases do not yet live here but I might move them here eventually.
  • This library is not really meant to be a public library but I see no reason not to set it free.
  • Note that the included VS project is probably not very useful for you and you're likely better off making your own.
  • Don't complain about inconsistent naming etc - this consists of code that has been cobbled together from a variety of my projects through the years. Fashions come and go.

Licenses

This library, for my convenience, incorporates code from a variety of public domain or similarly-licensed code. This is the list:

  • glew (GL extension wrangler), MIT license. TODO: should just use a submodule.
  • rg_etc1. ZLIB license.
  • sha1, public domain implementation by Dominik Reichl
  • vjson in a heavily modified form, originally by Ivan Vashchaev (TODO: break out into its own repo?)
  • libzip with attribution "Copyright (C) 1999-2007 Dieter Baron and Thomas Klausner"
  • stb_vorbis, public domain by Sean Barrett of RAD Tools

If you're not okay with the licenses above, don't use this code.

I hereby release all code here not under the licenses above under the MIT license.

Contact

If you find this useful for your own projects, drop me a line at hrydgard@gmail.com .

Henrik Rydgård