Wrote a simple “injection API” that makes some friends cringe. :-D Anyway, it lets me kick some parameters out of the constructors, and removes the number of class dependencies on the GL stuff.
Fixed a bug where the player system was triggering methods of the sequencer out of order, and the sequencer wasn’t catching it.
VertexBuffer and IndexBuffer now wrap the Flash vertex and index buffers as well.
Cleaned up game object creation in Rule.hx, to fix a bug caused by the ident_ pointer.
Expanded net.rezmason.gl.Program from a type to a class. Chucked a lot of program-specific stuff into it.
Since Program ended up owning most of the methods on ProgramUtil, UtilitySet wasn’t all that important in the end. Merged the utility classes into GLSystem.
Grumbling about OutputBuffer.
Renamed GLSystem references from “util” to “glSys”.
Separated the OutputBuffer class into three subclasses.
Switched golems to a haxelib.
Oops! Flash textures don’t resize, so, we need to dispose of older ones if there are any.
Encapsulated Texture. Time to move forward.
Moved the GLSystem’s init callback from the constructor to a public var.
GL objects now extend Artifact, and only connect once their connect function is called. A little buggy at the moment.
Uniform and attributes locations should be owned and managed by their source Program.
GLSystem's callbacks are now on GLFlowControl, which must be granted and relinquished.
Takin’ a break from the GL stuff, messin’ with the Splash body.
All the low-level GL classes now disconnect– though there are still certainly bugs at some level.
GLSL2AGAL Program’s GLSL parser API is now decoupled from the Stage3D stuff.
All the higher level systems seem to handle fake context loss pretty well. All that’s left now is to detect and recover from actual context loss in GLSystem.
A little more cleanup, then merging back to master.