Design rediscovered

When I was randomly googling yesterday I rediscovered SRG Design or Steven R Gilmore which is his real name. He's a really talented designer with alot of great designs under his belt including cover art for A Perfect Circle, Iggy Pop, Skinny Puppy and ohGh! Here are a couple of samples

©Steven R Gilmore

Sweet nebula

A fellow gamedev member recently posted this in the "image of the day" gallery:

Now that's some sweet looking nebula and an interesting use of strange attractors if you ask me! The nebula is going to be used for Infinity, a space-based MMOG in development.


Slight modifications

I've been working as a desk clerk for the last week. It's been tiresome and I'm not used to getting up at 6 o'clock so I haven't been coding that much lately. The only thing I've done with my current projects is adding a "recent files" feature to ChunkyHacker and that wasn't much work since I got most of the code from this place: Most Recently Used (MRU) Menu class for .NET 2.0 in C#.

I did a couple of modifications to the source though. I added support for xml saving/loading instead of using the registry. I also changed the code that shortened the filename because it acted a bit strange. The code I replaced it with was ripped from Coding Horror and it uses the PathCompactPathEx win32 API function.

I'm expecting to get som code snippets from my projects in this blog soon, but first I'll have to find a nice syntax highlighter that I can use with blogger - if you know of one that's good then please do post a comment!


ChunkyHacker 0.1 released!

Ok, so this is actually my first ever for releasing a program. I've made alot of tools for myself but never released anything.

What is ChunkyHacker?
ChunkyHacker is an advanced Chunky Viewer for Relic Chunky formats. Its interface is based on chunky viewer but I've added some needed functionality:
  • Byte offset - Keep track of where in the chunks data section you are.
  • Character view - Allows you to view the data as characters.
  • Byte interpretation - Interpret the bytes as most basic datatypes used in binary files.
The program can be dowloaded here!
Please mail me if you find any bugs or have any suggestions!

Textures in DOW

The Relic Developers Network (RDN) DOW WIKI states that apart from DDS files (Direct X texture files) there are three other texture formats used in DOW:
  • .RSH – Shader files (texture and material properties)
  • .DDS – Textures
  • .WTP – Team Pattern file (layers that are blended with user colors) for the army painter
  • .RTX – Preset team color for each player slot when a player turns off team coloring. Also used in campaigns through the Misc_PlayerTeamcolor() SCAR function to set the colours of the armies.
(copied from http://www.relic.com/rdn/wiki/DOWFileFormats)

After poking around in these files and posting a question on Relic's Adeptus Modificatus forum I think I've got the fundamentals on how these formats fit together.

The RSH files can be considered the main textures while the other files add "capabilities". RSH files contain the base texture and a SHDR (Shader) section which I haven't had time to look any closer at.

The WTP files contain information for the army painter. It's got one base texture and up to 6 different grescale layers that define different regions for the army painter. The regions I found are:

  • Primary
  • Secondary
  • Trim
  • Weapon
  • Eyes (Trim2)
  • Dirt
All these layers except dirt are available in the army painter so it's pretty obvious what they do. When it comes to the dirt layer I haven't checked it out yet but I guess it defines areas that should be covered with a dirt textrue - possibly from the base texture. I'll look more into this and report my findings.

The RTX files are preset team colors as the WIKI states. There are as many RTX file for each model as there are possible team numbers to select from and they're loaded when team colors are set to off.


DOW Model Viewer

I thought I might show off the model viewer I'm working on as well. It's not really supposed to be used for anything else than testing some of the other things I'm coding. I'm currently (and always) in the process of a major restructure of the base library I'm using for the DOW tools but the next step is to add textures.

The model is ©Relic Entertainment.

Current project

I'm currently working on a couple of MOD tools for Dawn of War - in my opinion one of the best RTS games ever! Since the different formats used in the game aren't all that well documented, I've decided to use this blog to write down my findings and even give you some source code.

For general information on DOW modding look at one of these places: RDN Wiki, Relic's DOW Forum, Hive World Terra Forum, Hive World Terra and Basic initiation Mod Tutorial for DOW.

For an overview on the different file formats used in DOW look at the Wiki page dedikated to just that. I'll refer to that page later on since it's a great resource although a bit short on information.

The first tool I made for this project is called ChunkyHacker and it's used to extract information from most of the formats used in DOW (Dawn of War uses a chunk based format which is really simple to hack). I expect to release this tool when it's ready - until then here's a screenshot.

I've coded the tool in C# using WinForms and Be.HexEditor 1.1.1 which is a great hex edit control by Bernhard Elbl.


So I'm finally here...

So I'm finally here - my first blog is set up and ready to go. I didn't really see any use for a blog until I wanted to share some of my code with other people. I know there are great online places like Codeproject and Sourceforge for code sharing, but I'm too lazy (and stressed out of my mind) to write complete tutorials or articles and I never seem to get my code in a state where I'm willing to publish it. After having some programming trouble where I found the solution in a blog (and after my sister started hers - wasp-in-a-jar) I realized that it's a great way to share information and general bullshit.