What I intent to do is document what I have added to my engine. This will include where it deviates from the original source in the Hazy Mind tutorial.
Here is a list of some of the things I have added and/or changed in my engine:
Altered Namespaces, classes have a prefix of RC rather than HM, probably not worth a mention but if you read any of my code snippets you might think, "where did he get that RCShaderManager class from?" etc...
Hashtable -> Dictionary
Have changed all Hashtables to be Dictionary, this cuts down on the amount of boxing and un-boxing needed to get to the objects stored in them as a Dictionary can be typed.
RCObject & RCScene
Additions to the base Object to allow retrieval from a scene by name as well as index.
More model properties to account for extra shaders I have found or written. Also, (still in progress) the ability to use annotation and semantics in shaders for models rather than hard coding shader variable names into the RCModel class.
Again, the ability to use semantics rather than hard code shader variable names in code.
RCBillboard - Billboard object
RCFire - Volume fire effect
RCParticle - Part of the Particle system
RCSkyDome - A sky dome class [Riemer]
RCSnowEmmiter - Part of the particle system
RCSpriteBatch - You guessed it, for sprite batch's
RC2SidedTexturdeQuad - A TQ with both sides rendered
RCTerrain - A Terrain class [Riemer]
RCWater - A water effect using the NVIDIA Ocean shader
RCRiemersWater - Another water effect (still under construction) [Riemer]
RCScenePicker - Used to Ray pick models in the scene
RCSound - Used to play sound effects and music
RCFont - Bitmap font manager
RCNuclexFont - Font manager using Nuclex fonts
RCHelper - Static class used to hold methods used throughout the engine
And a bit more still under development, I have a RCGUI namespace that holds my Graphical User Interface classes, like buttons, labels etc... There is also a debug screen and a RenderState viewer all yet to be finished off. There is also my RandomchaosContentPipelineManager for overriding the base content pipeline should I need it, this is used for the creation of bounding box's for a mesh and the bounding box's for that mesh's mesh's. Oh yes and the latest addition Mesh Animation.
I will probably start by documenting my changes to the base engine objects and then move on to my additions.