Version: b1.1
Author: Prey
This project ended up pulling me in two directions; concentrate on the rendering which is the bit I'm interested in, or concentrate on the functionality which is the bit my target audience(hey guys) is probably interested in?.. In the end I think I did equal amounts of concentrating, but you be the judge!
Code: Select all
Change Log
-------------
b1.0 --> b1.1
- DXT compressed textures will now inject into the map properly.
So hopefully I've peaked your interest. The app is attached to the bottom of this post, along with source if your a wantin. What follows is now a bit of a tutorial on how to use:
Load your map
Maps load much faster with the new internal design. Mainly, models and textures are now cached so there's never two of one thing. This has cut down load times and memory usage substantially, by half at least I think.
The goto feature
The coords, lightmap, skin and spawns tabs all have the goto feature. It allows you to zoom from your current location to a specific point on the map, be it a bookmark or object you're editing. Bookmarks are there in case you have places on your map you want to come back to at a later date (just remember to save the bookmark!)
The lightmap editor
Nothing you haven't seen before, but this time edit's will show up in the render window almost as soon as you change a value. I say almost, as when you have all lightmaps selected there can be a 3 second delay.
The skin editor
Here's a (or rather, the) feature from Prophet, but this time round much more fine-tuned. Whereas Prophet only let you edit what it though was the diffuse map, or the bump map, etc (and it wasn't always right), now Orbit will show you all a shader's bitmaps and just tell you in brackets what one it is using for what.
One thing to note about this tab is the Import button: It can inject textures that are bigger or smaller than the texture it is replacing, meaning you can inject anything anywhere! But do remember though you must keep the format the same.. i.e. don't inject DXT1 over a DXT2, etc, otherwise it may break your map.
Spawns
Select a spawn and move it around with the IJKL, UO keys. What's nice is the movement is relative to your camera position, so it's pretty easy to move spawns wherever you want.
Save
No explanation needed here I think: just check what you want to be saved and click the button.
The render window
The main reason I started this project was to better my skills with the XNA framework (a 3D toolkit), so the renderer was really my main focus. I got sidetracked along the way though adding in all the editing tools, so I didn't get to everything not yet a least anyway. Sooo what is implemented, new stuff-wise?:
- - Transparent geometry, for the most part, can be seen through properly.
- Alpha textures, and the bump map's alpha channel, are combined with diffuse textures for transparency in the right places.
- Detail textures are rendered.
- Only default model permutations are loaded.
- More light is applied to textures, to mimic in-game textures
It's not working!!!
There's two pre-requisties required to run this aplication.
1. The .Net Framework 3.5 and
2. The XNA Runtime 3.1
Well I think I've touched on everything, so enjoy.
Special thanks to brok3n halo, tf6, XIU, Starglider, Photonic, MJP, jwatte and rentreg for their help.