                   ..:: Orbit ::..    ~ By Prey                                                          [W, S] - Move Up/Down

[10.Jul.10] - Finally found a way of generating mipmaps for dxt compressed dds files! Uses
                  a combination of texture2D.loadfile in sizes that differ in powers of 2,
                  and then makes use of save() to re-encode the image.

[08.Jul.10] - Changed how subsets are selected by the cursor, so now picking works 100%! Only
                  error is can select culled faces. Spawns can now be moved with the IJKL and UO
                  keys: movement is relative to camera position also which makes it nice and easy to
                  do. Although, preferably would have been able to drag with the mouse but can't
                  figure out how to do that at the moment. Export and Import bitmap buttons now
                  work. Only problem is dds files with dxt compression can't be imported: In Prophet
                  you could because for each mipmap the user had to choose a seperate dds file. In
                  this implementation I auto-generate mipmaps, which requires; decoding the input
                  texture; creatin mipmaps; encoding all mipmaps and puttin in map. Only problem
                  is I have no dxt encode code, and I can't find any on the net (and I'm definitely
                  not coding it!). Only solution is to extract mipmaps from dds file, but haven't
                  found a code sample on how to do this yet. Added an option so if user has a
                  pixel shader below 2.0, they can still view most render states. The terrain of
                  the maps uses a form of texture splattering, which is why the detail maps for
                  the ground look wrong. This technique is new to me so no implementation yet..
                  for now detail maps on the ground have been disabled. First beta release.

[07.Jul.10] - Save Changes code implemented, should work...  Camera is jolty.. VertexShader and 
                  PixelShader versions added to titlebar, replaced by map name when a map is
                  loaded. Reset button for lightmap tab. Changed 'main' tab to 'save' tab.
                  On a selection in the render window, the selected subset/spawn is highlighted
                  on the lists on the tab pages. Spawns x y z textboxes now display spawn coords
                  and change spawn position on edit. Reverted back to normal cursor when over
                  render window.

[04.Jul.10] - Can now pick spawns. Picking is still for some reason buggy: some things just won't 
                  select. 'Goto' bug where the camera would look in the wrong direction when the user
                  tried to move, after going to a location, is fixed. The problem was arcsin and arctan
                  return only the closest angle. Picking an object in the render window will now
                  update the lightmap and skin tabs. Selecting an object on a tab will highlight
                  it in the render window.

[02.Jul.10] - Have picking almost working at polygon level now; produces very accurate results, but 
                  sometimes selects the completely wrong item.

[01.Jul.10] - Finally got Picking to work for bsp/perm aabb's: had to set mouse.windowhandle... Lightmap
                  loading has been improved as only unique lightmaps are loaded now. Lightmap editor is
                  quicker at showing changes in the render window too, but moving the code to the shader
                  is an idea if I want it to be realtime, instead of ~3secs. Spawns code has been revised
                  so models and shaders are now cached and referenced multiple times decreasing memory use
                  and load times nicely.

[30.Jun.10] - Bulk of the work done on the lightmap editor. Only default permutations are loaded for
                   spawn models now, giving very big increase in frames.

[29.Jun.10] - Changed cursor when over render window. Restructured the skin tab so you can no longer swap 
                   shaders like Prophet could: this is because  I can't see a need for it, you only really 
                   ever need to swap the bitmaps the shader uses. One case where it could be useful is if 
                   you want to use a different shader for a piece of geometry, but keep the shader the same 
                   for other geometry that reference it. This will require chunk cloning though so no interest 
                   in programming this feature yet. Can change bitmaps in skin tab (still need to make it save 
                   changes in map). Added goto feature to coords, skin and spawns tabs; selecting an item will 
                   now zoom to it's location! Skin and spawns goto option need a bit more work though to be 
                   perfect. Fixed focus problem when another program was in use. Fixed prob with null ltmp/detail 
                   maps by adding 'hasTexture' booleans to the 'simple' shader. Switched to lowest LOD for spawns 
                   for now; added around 10 more frames!

[24.Jun.10] - Setup input focus between interface and render window: depending on where the mouse is depends 
                   on what is input focused. Instance geometry/permutations and spawns are now frustum culled 
                   giving a nice increase in frames.
                
[23.Jun.10] - Integrated xna project into windows forms! Now I can use a more advanced UI. Also made a 
                   decision on the name: 'Orbit' - is related to flying around, and isn't a word anyone else 
                   has used yet ;)
                
[21.Jun.10] - Corrected spawn placements by doing translation * rotation for their position matrices, instead 
                   of the other way round. Added code so other models apart from the BR were loaded fixing the 
                   problem with BR's bing everywhere. Only spawns not rendering now are ones I need to make models 
                   for (such as spheres, etc). On a bad note; frame rate is poor; spawns look like crap; and the 
                   'spawn's load code' needs cleaning up to better handle loading shaders and models, as it's not 
                   too efficent currently..
                
[20.Jun.10] - Implemented spawn code. Not all spawns rendering yet though, some are in the wrong places, and 
                   some are wrong items (mostly battle rifles replacing vehicles and other weapons)
                
[19.Jun.10] - Alpha textures support added (mostly used for grates). 'open another map' option added. User is 
                   now queried for resource maps when needed, and the map paths are saved too.
                
[18.Jun.10] - Auto-generated mipmaps giving increase in frames and no anti-aliasing :). At a later date should 
                   really take mipmaps from map file instead.
                
[16.Jun.10] - 'camera speed' option added. Some textures have alpha textures to compliment them; need to add 
                   support some time for these as texture is fully transparent currently.
                
[15.Jun.10] - Opaque and alpha subsets drawn separately fixing alpha problem. Need to sort alpha subsets by 
                   distance fom camera though to see alpha-through-alpha from some angles. Have basic subset 
                   highlighting working, needs further development though [to polygon level] for completely 
                   accurate results...
                
[13.Apr.10] - Detail maps are rendering. Boundingboxes are rendering. Frame rate is horrible. Added basic 
                   interface to switch to different views (diffuseOnly, ltmpOnly, etc).
                
[08.Apr.10] - Now draws as sub-clusters. Fixed missing vertices problem(face count not index count!..). 
                   Corrected colour channels (abgr, not agrb) fixing transparency.
                
[06.Apr.10] - First build with textures - everything's transparent.. what!

[05.Apr.10] - Fixed Camera.

[04.Apr.10] - Dynamic texture2ds require information as integers not bytes. First working xna build. 