Subversion Repository Public Repository


This repository has no backups
This repository's network speed is throttled to 100KB/sec

Entry Size Revision Updated
Headers 804 Thu 01 Dec, 2016 17:20:59 +0000
ALWrapper.cpp 1.3K 804 Thu 01 Dec, 2016 17:20:59 +0000

Commits for Divide-Framework/trunk/Source Code/Platform/Audio/openAl

Revision Author Commited Message
804 IonutCava picture IonutCava Thu 01 Dec, 2016 17:20:59 +0000

- Singleton elimination update Part I: get it to compile
— The following classes are no longer Singletons: GFXDevice, GL_API, DX_API, SFXWrapper, FmodWrapper, SDLWrapper, ALWrapper, PXDevice, InputInterface, RenderPassManager, SceneManager and ResourceManager;
— Refactor system to a Context / Component based implementation (Pass relevant context to objects: e.g. GFXDevice object to Textures, GUI to GUIElements, etc)
— Make devices and managers components of the kernel
— Allow multiple Resource caches to co-exist. This may prove useful for later when a more fragmented memory model is need (per frame / per scene / global caches / etc)

  • next steps: part II – cleanup/refactor new code, part III – optimise code, part IV – remove remaining Singletons (e.g. Application, ParamHandler, FrameListenerManager, Recast, PostFX and DebugInterface)
746 IonutCava picture IonutCava Thu 30 Jun, 2016 10:53:30 +0000

- Add multiple playlist support for music.
— Needs more testing
— No cross-fading between tracks because SDL_mixer doesn’t support that.
-— Build cross-fade in the tracks instead?

745 IonutCava picture IonutCava Wed 29 Jun, 2016 20:14:50 +0000

- Added on click sounds for buttons
- Added music playlist options for scenes (configurable via XML)
- Cache sound chunks and music files in SDLWrapper.cpp

715 IonutCava picture IonutCava Fri 27 May, 2016 16:19:22 +0000

- Added initial Fade In / Fade Out post effect (used for scene transitions for now)
- Added a GUI Interface that handles a list of GUI elements (used by GUI and SceneGUIElements)
- Fixed some race conditions related to multi-threaded scene loading (a lot remain to be fixed)
- Improved per-thread GPU sync system a bit
- Simplified Singleton define macros (although we should get rid of singletons all together)

709 IonutCava picture IonutCava Thu 19 May, 2016 16:21:46 +0000

- Massive rewrite of the resource system:
— ResourceCache now uses a map of weak pointers and passes shared pointers to the call point of CreateResource
— RemoveResource is no longer needed, but resource based smart pointers use a custom deleter that calls unload()
— Keep a shared_ptr of the resource in the entity that needs it and pass shared_ptr references from getter methods
-— All of this removed the need for calls to RemoveResource, REGISTER_TRACKED_DEPENDENCY and UNREGISTER_TRACKED_DEPENDENCY reducing the number of mutex locks and atomic exchanges
- Singleton cleanup:
— Removed ShaderManager singleton and merged it’s data and responsibilities in static methods in both ShaderProgram and Shader classes.
Explanation: Due to the complex interdependency chains in the system, copying, updating, tracking the cache in a thread safe way became a lot more slower than a straight forward smart pointer based implementation. (e.g. scene graph nodes have 3d objects and material instances, 3d objects have materials, materials have textures and shaders, etc)

648 IonutCava picture IonutCava Sun 21 Feb, 2016 16:32:52 +0000

- Update copyright notice
- Move BoundingBox and BoundingSphere to a new BoundsComponent
— Add a temp hack in SceneGraphNode to update these

448 IonutCava picture IonutCava Tue 26 May, 2015 16:00:37 +0000

- Library dependency cleanup:
— All required libraries listed in PlatformDefinesWindows.cpp
— Removed glsl_optimiser as it was very out-of-date

366 IonutCava picture IonutCava Tue 10 Mar, 2015 16:56:30 +0000

- More type safe enum replacement

358 IonutCava picture IonutCava Sun 01 Mar, 2015 22:44:38 +0000

- Fixed some OpenGL initialization issues and function calls (no proper support for DSA yet)
- Cleanup up the Sound and Physics Wrappers
- Some readability improvements here and there

350 IonutCava picture IonutCava Tue 10 Feb, 2015 16:25:39 +0000

- Simplified some Util-namespace level functions by using STL algorithms where possible
- Formatted the entire codebase using clang-format with the following style: "{BasedOnStyle: Google, IndentWidth: 4}"
- Attempted to make ProfileTimer thread-safe (temp fix until std::chrono works properly in Visual Studio)