Source for Linux+Windows (engine): https://github.com/DusteDdk/excessiveOverkill
Source for Linux+Windows (editor): https://github.com/DusteDdk/eoEdit
Not that much, have a look at the source for the games, i've made with it.
- Load and play audio files in stereo.
- Load 3D models from obj files, use properties from mtl files, with texture and uvmap.
- Per-object selection of rendermode: Clay, Wireframe or Material.
- Scene-graph with top-level "world", game-objects can be children of the world or other game-objects.
- Particle systems
- (Very bad, but fairly fast) 3D box collision detection.
- Input handlers are registered by client-code and become available for keybinding via console. (keydown/keyup/keyhold/mousemove)
- Functions and variables can be registered as console-variables so they can be read/set via console (int, float, float, string).
- Camera concept, which support simple recording/playback of movements (for "handheld camera" kind of cutscenes), also supports mouselook.
- 2D GUI overlay with mouse-cursor and widgets: buttons, labels, icons/images, windows, multiple root-windows supported (one displayed at a time), windows can be inside windows.
- Support for picking 3D objects with the 2D mouse cursor (color-picking) with adjustable resolution.
- Game-Objects have "think" and "touch" callbacks (called per-frame and when colliding respectively)