Raw explorer is a tool designed to let you visually browse, edit, and create Raw files for Dwarf Fortress. All the objects defined in the raws are categorized and displayed in a tree, with all the tokens of the selected object displayed in a searchable grid. The tokens can be edited directly in the grid with simple controls that help ensure the proper syntax. Thanks to a great community almost all the major tokens and their arguments are fully documented. An easy to use definition editor will let you upload definitions for undocumented, or new tokens with just a few clicks, making them available to anyone else.
Screenshots:
Browsing the Creatures:
(http://i.imgur.com/vrtTI.png)
Complex Argument Editing:
(http://i.imgur.com/dxodW.png)
Token Definition Editor:
(http://i.imgur.com/rx0Ky.png)
Custom Building Designer:
(http://i.imgur.com/9p865.png)
(http://i.imgur.com/dXSl7.png)
(http://i.imgur.com/kBvK3.png)
(http://i.imgur.com/eGJJx.png)
Language Editor:
(http://i.imgur.com/mwWcV.png)
Graphic Set / Tile Editor:
(http://i.imgur.com/GAq93.png)
(http://i.imgur.com/JBVu3.png)
(http://i.imgur.com/LxXsV.png)
Recent Changes:
- Beta 13
- Bug fixes for Workshop designer
- Added Object Templates
- Beta 12
- Beta 11
- Beta 10
- Full Graphic Set Editing and Creation
- When inserting a token you can select and insert multiple tokens at one time.
- Newly inserted objects are sorted correctly now.
- Right clicking the empty area of grids should show the context menu now. (fixes being able to use it on empty grids)
- Window positions and sizes are remembered
- A fabulous new application icon.
- Many more small bug fixes that I've lost track of.
- Beta 9
- Fixed ability to delete Objects and Tokens.
- Added Graphic set Editing with Tile Editor. Look for it under the "Library" menu.
- Context menu in Object Editor now works when there are no tokens.
- Creating a new object will default the object to the type of the currently selected object.
- Added context menu to object category tree nodes to allow creation of a new object of the selected type.
Download (http://www.gumpstudio.com/RawExplorer-Beta-13.zip) Beta 13DFFD Mirror (http://dffd.wimbli.com/file.php?id=6298)
Raw Explorer requires the .NET Framework version 4.0.
I've got another teaser screenshot, this time showing a simple editor for the color raws (they were the easiest to do first).
(http://i.imgur.com/kFBD9.png)
Certain tokens I know can be like that. The [BODY] token in creature definitions is a big one, as it can take any number of body part definitions. There's also the [TL_COLOR_MODIFIER] token in creatures, which will take any number of possible colors. (e.g. [TL_COLOR_MODIFIER:GREEN:1] or [TL_COLOR_MODIFIER:GREEN:1:BLUE:1:BLACK:1])
Most syndrome tokens [CE_*] have several optional arguments, such as END:<number>, BP:<bodypart>:<tissue>, and the SIZE_DILUTES, RESISTABLE, and similar tags. I can't think of any other tokens with varying numbers of arguments at the moment, but there may be some more.
Thanks, that's exactly what I was looking for!
Now a question of terminology. In a raw file that looks like this:
item_pants
[OBJECT:ITEM]
[ITEM_PANTS:ITEM_PANTS_PANTS]
[PREPLURAL:pairs of]
[NAME:trousers:trousers]
[LBSTEP:MAX]
[LAYER:OVER]
[COVERAGE:100]
[LAYER_SIZE:15]
[LAYER_PERMIT:30]
[MATERIAL_SIZE:4]
[SOFT]
[LEATHER]
[STRUCTURAL_ELASTICITY_WOVEN_THREAD]
"ITEM" is commonly referred to as the object's "type" on the wiki, but I haven't seen a term for the "ITEM_PANTS" part. I've been referring to this in code as the object's "sub-type". Is that the correct term for this, or is there a more commonly used word to refer to this string?
EDIT: Oh, and I do request a feature: Read out inorganic materials and make them sortable by different tags/values. Very important to find out which metal is better for blunt or edged, and so forth.
Your wish is my command! It needs a bit of work obviously, but it was pretty easy.
(http://i.imgur.com/hfwn8.png)
*EDIT*
Now with sortable columns... Which was WAY more complicated than I was expecting. It involved typing stuff like this:
Dim orderByExpression As Expression(Of Func(Of List(Of T), IEnumerable(Of T))) = Expression.Lambda(Of Func(Of List(Of T), IEnumerable(Of T)))(Expression.[Call](orderByMethod, New Expression() {sourceParameter, propertySelectorLambda}), sourceParameter)
this is amazing and would save me hours upon hours of work... if I only could get it to work. I tried a fresh download and run it on the raws of an unmodded vanilla DF raw folder, and get the same crash. My net framework is updated, so I cant really tell whats wrong.
I get this message: (This part is german: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt. and means translated: An elemant with the same key has already been added.)
System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
bei System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
bei RawExplorer.RawObjectDictionary.add(RawObject obj)
bei RawExplorer.RawLibrary..ctor(String rawDirectory)
bei RawExplorer.RawExplorer.parseRawFile()
bei RawExplorer.RawExplorer.mnuParse_Click(Object sender, EventArgs e)
bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
You got any idea whats wrong ? Besides the crash, Thanks a lot for your effort :)
Well, I am already finished with what I wanted to do. :)
Here, have a look:(https://lh5.googleusercontent.com/-L_q8Qa-cjrE/T1XBYgy9Z5I/AAAAAAAAKIU/jhBxqmpHHAM/s2012/Material%2520Guide.PNG)
Besides that, things I noticed: I have no scroll bar for the displayed tags. The Inorganic Viewer has one, but if I open a creature, or entity, I cant scroll down and only see the topmost tags.
If I open the tissue template I get an error, the program still runs, though.
Would be a nice option to filter unneeded stuff, for example in the buildings the entire color/block tags/workspace tags. But this might be just me.
I take a guess here, but I am fairly certain that quite a few people would be interested in something like the Inorganic Viewer, just for Plants. To see which seasons/biomes/growdurations each plant has, and which ones can be used for dye, thread, booze and so on.
The categories in the Inorganic Viewer can be sorted, but not made smaller/bigger btw. I mean the little box saying: Density, Molar Mass, Material_Value and so on. I can move unwanted things aside, but I cant make the fields smaller, which results in massive fields for short numbers, simply because the title is long.
Just random observations, I am really impressed how easy this programs seems to come to you ;) And thanks to you my players have a metal guide :)
Preview of inline token rendering (And working scrollbars again on the grid). Inline editing comes next, where you can click on a tag value and edit inside the grid cell, or inside a popup control if it's a more complex type.
(http://i.imgur.com/wlvva.png)
Some slightly more useful inline editing.
(http://i.imgur.com/Qwqnn.png)
Showing tiles for creatures now! Correct colorization is coming next, then I'll add pulling the image from the graphic set if it has one.
(http://i.imgur.com/VVX7e.png)
Ha!! I win!!! At least for creatures. That took a LOT more in depth experimenting with the game, screen shots and image editing programs than I would have liked. I thought I was going to go nuts for a bit trying to figure this one out.
Part of my problem was that I had hard coded the color values in the program based on DF's default colors. But I'm testing with IronHand's graphic set, which uses different colors by default. I kept seeing different colors in game than what I was getting from the program. Once I realized that I had it read colors.txt and use the actual colors that the game was using and everything started working perfectly.
If anyone is curious, this is the actual drawing procedure I'm using now.
1. draw the background color
2. per pixel: get an average value from the R, G and B channels.
3. calculate a scaler by dividing that value by 255
4. set each of the R, B and B values of that pixel to the forecolor value channel times the scaler calculated in the previous step.
(http://i.imgur.com/oKKDn.png)
Creature graphic sets are now working!
(http://i.imgur.com/bkvRm.png)
I had an unhandled exception when clicking on the "Description" text box for the "Bird_KIWI" entry. I'm using Ironhand 0.66.
Picture of Error:
(http://i41.tinypic.com/mmycev.jpg)
Error Text:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at RawExplorer.ColorHelper.getForeColorFromTriplett(Token token, RawObject obj, Int32 colorIndex, Boolean useBright)
at RawExplorer.ColorHelper.getForeColorFromTriplett(Token token, RawObject obj)
at RawExplorer.ColorTriplettArgPainter.paint(Token token, RawObject obj, Graphics g, Font font, Rectangle bounds)
at RawExplorer.TokenGrid.updateBuffer()
at RawExplorer.TokenGrid.TokenGrid_Paint(Object sender, PaintEventArgs e)
at System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.UserControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.261 (RTMGDR.030319-2600)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/test/Documents/DF3405/DF/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.261 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.235 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Edit: I can't get this error to happen again. I have noticed a few graphical glitches as well, with certain fields not updating completely. I will just put this all down to you not having gotten around to it yet, as you've only just started working on it :P Very cool program so far!
Bug Report (probably just the size of the mess I'm running is freaking it out... almost 6mb and 257 things in the raw dir. lots of cv and caste work)
No Screenshot -nothing interesting to see-
Error Report:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at RawExplorer.RawLibrary.processToken(Token token, RawObject obj)
at RawExplorer.RawLibrary.parseFile(String filename)
at RawExplorer.RawLibrary.parseDirectory(String directory)
at RawExplorer.RawLibrary..ctor(String rawDirectory)
at RawExplorer.RawExplorer.mnuParse_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.261 (RTMGDR.030319-2600)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///P:/Games/RawExplorer-alpha-3/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.261 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.235 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Just a quick update since it's been a while.
I'm currently working on the tool to edit and maintain the token definition file that. That's the file that will tell Raw Explorer what the different tokens are, what objects they can be used on, and what their arguments are. Right now it starts off with a dump of the tokens that Raw Explorer generates with the "Export" function. That creates a file with a list of all the tokens and what items they were used on. The Definition Editor takes that and lets you edit the different ways the token can be used before saving it off as an XML file.
Currently it looks like this:
(http://i.imgur.com/2ms6d.png)
You can also see the new grids I'm going to be using in the main program in there.
Just a quick progress update today.
Most of my time since the last post has been taken up with ripping out my old UI controls and replacing them with a new UI library that has a lot more functionality. Now that all that is done, and I'm just about back to where I was before, new features should start coming quickly. Other than that I've created a program for editing token and argument definitions. I've added "sanity checking" to the raws, so you can scan for any conflicts of errors, like conflicting tokens, tokens with bad data, duplicate objects, and other stuff like that.
Here is a quick screenshot of the program with the new UI library.
(http://i.imgur.com/hGsv7.png)
That nested grid you can see there for the color will eventually list out the arguments as name value pairs that comprise the token's value. In the case of COLOR, it would be the "foreground", "background", and "bright". This should give some guidance as to what the arguments for a token are, and the ability for the program to restrict them to valid values.
The program will eventually support pluggable editors that can enhance it's functionality. There are 3 "levels" of editor that can be made. "Object" editors will allow you an easy way to edit an object as a whole without directly messing with the tokens. Token editors will let you edit token values without getting down to the argument level. And finally argument editors, which give the finest level of control. Editor plugins can be created by anyone with .NET experience.
I'm planning a public web based app for maintaining a "dictionary" of tokens, their arguments and other meta data such as conflicting tags. Anyone will be able to edit tag definitions through the site as new uses for tokens are discovered by modders, or new tokens are added by Toady. The dictionary will be freely available for use by any other program or website that needs information about raws in xml format. Thinks of it like the token section of the wiki, but more programmatic and automated. Raw explorer will be able to automatically update it's definitions from the site so it will always be up to date.
Update showing token definitions and arguments in the editor window.
(http://i.imgur.com/s91jk.png)
(http://i.imgur.com/Dg7n2.png)
The website for adding / editing token and argument definitions is almost ready. There are a lot of tokens in the wiki that will need to be entered in the library. I'm going to need your help with that part to make this successful.
The website is coming along nicely. For now editing is done in xml format, but I'll try to add some fancier controls to make it easier when I have time. I want to get back to the "fun" stuff (I've never liked web design).
(http://i.imgur.com/YQeS2.png)
.....and I just noticed the html bug in the argument list. But you get the idea.
Let's talk Token Definition Scheme!
As an example of the full scheme I'm made up a hypothetical COLOR token. It's values are not "correct" as dwarf fortress actually uses COLO, but this is for example purposes only.
<token name="COLOR">
<allowedOn type="BUILDING" subType="BUILDING_WORKSHOP" />
<allowedOn type="CREATURE" subType="CREATURE" />
<allowedOn type="ENTITY" subType="ENTITY" />
<usage type="ALL" subType="ALL">
<description>Controls the color</description>
</usage>
<usage type="CREATURE" subType="CREATURE">
<description>Controls the display color of the creature.</description>
<argument name="foreground" type="integer" typeData="1 100">Foreground color of the creature</argument>
<argument name="background" type="colorNumber">Background color of the creature</argument>
<argument name="foregroundBright" type="bit">Is the foreground "bright"? (adds 8 to the color value)</argument>
</usage>
<usage type="BUILDING" subType="BUILDING_WORKSHOP" flags="1">
<description></description>
</usage>
</token>
This token's name is "COLOR", it is allowed to be used on custom workshops, creatures, and entities.
Each "usage" defines token's description and arguments depending on which object type it is placed on. The usage with the type and subtype of "ALL" is a default usage, and the CREATURE CREATURE Usage is a specific usage. In Raw Explorer, if I were to place this token on an Item (even though it isn't allowed there), it would pick up the ALL ALL usage since none of the specific usages match. It always looks from most specific to least specific. A single usage entry of type of ALL:ALL will be the most common.
The CREATURE usage has a textual description that explains what the token does in a general way. It has 3 arguments named foreground, background and foregroundBright.
Foreground is of type "integer", which is a numeric data type. This particular integer must be a number from 1 to 100. Raw explorer will give a warning if you try to use 200 as the first argument in this token on a creature. If you leave out the typeData attribute any integer will be accepted.
The 2nd argument is named background. It's is of type "color", which means when raw Explorer lets you edit this argument it will display a color picker. There is no typeData on this argument, but types of "color" can be restricted to the 8 dark colors, or allow all 16 colors (default if none is specified).
The 3rd param, "foregroundBright", is a bit. This means it can only have 2 values, on or off. By default Raw Explorer will show this as a checkbox, but though the use of the typeData it can be made to display as yes / no, on / off, 1 / 0, etc...
You will notice that the usage for BUILDING has as the "flag" attribute on it with a value of 1. This value means that the usage doesn't use standard arguments. In this case when color is used on the building the number of arguments varies with the number of columns and rows in the custom building. Currently Raw Explorer will only let you edit this type of value directly as a string
I've gone through the raws and looked at the different tokens and tried to break their arguments down in to types. I've explained the integer, color, and bit types. So far I've come up with the following types. I've sure that there are some that I've missed, if you know of any, let me know.
- string - Textual data
- integer - numeric data, whole numbers only
- number - numeric data with decimal places
- bit - true of false data
- colorNumber - 1 of DF's 16 colors
- degreesUrist - a temperature
- lookup - an argument that's value comes from other places in the raws. The typeData will define where this comes from. For example, if the type is "lookup", and the typeData is "ITEM:ITEM_TOOL", Raw Explorer will display a drop down list of all the tools defined in your raws when editing this argument.
- list - an item from a predefined list of options
- filename - a filename on the hard drive
- charCode - a single character or ASCII number
Each of these types will be able to be controlled in different ways via the typeData attribute. The website will have all the documentation once I've figured it all out.
Speaking of which, the website is almost ready for some limited beta testing. If anyone wants to volunteer to test it just let me know. The website will allow anyone to view tokens. Editing a token will require an account. All edits will go in to a queue for approval before they show up live. I hope to have a few trusted people who can help me as moderators approving submissions once the site is running.
Stay tuned, exciting things are happening!
Behold! Actual Functionality!
(http://i.imgur.com/f7MFW.png)
Preview of the tile picker used to select the character tiles and graphics from graphic sets.
(http://i.imgur.com/ivnEr.png)
Just want to inform you of an error I found in the latest version.
So every time I started it up it failed to update the tokens and whenever I asked it to download the update version it gave me an error. Then I opened up your .exe file and saw that you had the wrong link listed for the download connection. The proper link should be http://dftokens.gumpstudio.com:8080/DownloadXml.ashx and if you paste this into the .exe file then it works fine.
Edit 1:Also I'm getting an error that showed up when I double clicked on a caste name:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at RawExplorer.RawExplorerForm.getUsageFromRowHandle(Int32 gvTokenRowHandle) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 473
at RawExplorer.RawExplorerForm.gvTokens_CustomRowCellEditForEditing(Object sender, CustomRowCellEditEventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 291
at DevExpress.XtraGrid.Views.Grid.GridView.RequestCellEditor(GridCellInfo cell)
at DevExpress.XtraGrid.Views.Grid.GridView.ActivateEditor(GridCellInfo cell)
at DevExpress.XtraGrid.Views.Grid.GridView.ShowEditor()
at DevExpress.XtraGrid.Views.Base.BaseView.ShowEditorByMouse()
at DevExpress.XtraGrid.Views.Grid.Handler.GridRegularRowNavigator.OnMouseDown(GridHitInfo hitInfo, DXMouseEventArgs e)
at DevExpress.XtraGrid.Views.Grid.Handler.GridHandler.OnMouseDown(MouseEventArgs ev)
at DevExpress.Utils.Controls.BaseHandler.ProcessEvent(EventType etype, Object args)
at DevExpress.XtraGrid.Views.Base.Handler.BaseViewHandler.ProcessEvent(EventType etype, Object args)
at DevExpress.XtraGrid.GridControl.OnMouseDown(MouseEventArgs ev)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
at DevExpress.XtraGrid.GridControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I'm running Windows 7 64 bit on Boot Camp if that's important.
Edit 2: Also I would love to help start really defining some of the tokens, but I'm not quite sure how some of the formatting works out, particularly with the "list" option.
Thanks for the bugs! I fixed the update url, and I think I fixed the crash on double clicking a caste (I wasn't never able to reproduce it myself, but you error text showed the line number where it happened). I'll have the new version uploaded just as soon as I take a look at the other bugs people reported over night.
The format the "list" type is pretty easy, just separate each option with a space. For lists it's easiest to place them inside their own typeData element inside the argument. Here is an example from the DEFAULT token in graphic sets, It also shows the format for "lookup". I may have left out some of the options on that last argument, if I did feel free to add them.
<token name="DEFAULT">
<allowedOn type="GRAPHICS" subType="CREATURE_GRAPHICS" />
<usage type="ALL" subType="ALL">
<description>Sets the default graphics for the creature.</description>
<argument name="graphic" type="lookup" typeData="GRAPHICS:TILE_PAGE" />
<argument name="col" type="integer" />
<argument name="row" type="integer" />
<argument name="colorMode" type="list">
<typeData>AS_IS ADD_COLOR</typeData>
</argument>
<argument name="state" type="list">
<typeData>DEFAULT ANIMATED GHOST</typeData>
</argument>
</usage>
</token>
I took a little time and threw up some descriptions for 50ish tokens and a few descriptions/arguments for those with them.
ABUSE_BODIES
ADOPTS_OWNER
ACTIVE_SEASON
BENIGN
SPRING
SUMMER
AUTUMN
WINTER
UNDERSWIM
UTTERANCES
WET
DRY
AQUIFER
WAFERS
DEEP_SPECIAL
DEEP_SURFACE
EQUIPS
AMPHIBIOUS
AQUATIC
ARENA_RESTRICTED
AMBUSHPREDATOR
ALL_ACTIVE
DIURNAL
VESPERTINE
MAXAGE
MEANDERER
MISCHIEVOUS
NO_AUTUMN
NO_DRINK
NO_EAT
NO_DIZZINESS
NO_FEVERS
NO_SLEEP
NO_SPRING
NO_THOUGHT_CENTER_FOR_MOVEMENT
NO_WINTER
NOBONES
NOBREATHE
NOEMOTION
NOEXERT
NOFEAR
NOMEAT
NONAUSEA
NOPAIN
NOSKIN
NOSKULL
NOSMELLYROT
NOSTUCKINS
NOSTUN
NOT_BUTCHERABLE
NOT_LIVING
PARALYZEIMMUNE
Also I discovered 2 creature tokens that (probably because they don't occur in vanilla DF) didn't show up on your token list.
OPPOSED_TO_LIFE
MATUTINAL
Lastly I wanted to do the temperature tokens (FIXED_TEMP, HOMEOTHERM, etc.) but I couldn't quite figure out how to get it to accept the degreesUrist type and if it required a subtype or not.
Getting close to having a good definition editor in the application. It should be ready sometime tonight unless I hit a major snag. This should be a lot easier than editing the raw XML.
(http://i.imgur.com/Xrf5Y.png)
(http://i.imgur.com/TR8Ig.png)
3)The last problem showed up when I took a stab at the APPOINTED_BY token. The token uses the list of positions that is defined in the entity, so I would assume that a "lookup" type would probably function best in this case. The problem then comes that since the various positions are defined inside of a normal entry, I couldn't see a way to point the lookup to find the defined positions inside of the entity.
I'm reworking the typeData for lookup types to handle this (don't worry, existing data will be backwards compatible).
The new format will start with a "command", either "object" or "token" so far.
"object" works like the current format, where it returns a list of objects that match a type and subtype. "object:ITEM:ITEM_SHOES" to return all "shoe" items in the raws.
"token" is a bit more complex, but it will support to the more advanced feature you will need for things like APPOINTED_BY.
The format is "<objectId>:<TokenName>:<argumentIndex>". So "token:MOUNTAIN:POSITION:0" will return a list of all the POSITION tokens within the MOUNTAIN object (0 for the first argument of that token). There is one more step needed to actually do the APPOINTED_BY token though, "replacements". Anything between a set of "%" in the type data will be replaced with the value of a token in the current object being edited. Anything between "~self~" will represent that the source is from the same object.
Using all this the typeData for APPOINTED_BY would be "token:~self~:POSITION:0" (if I managed to follow my own logic). This will start working in a future version, it's not finalized yet, so don't try to enter tokenData using this format yet.
UPDATE
IT WORKS!!!! My crazy scheme actually works! MWAhahahhahahahahhahahaha.
(http://i.imgur.com/f9RYF.png)(http://i.imgur.com/C7owF.png)
Now I'm off to go stuff myself full of ham.
Alpha 13 is released! This adds full clipboard support for the token grid, and copy support (paste in next version) for the object tree. Not only can you paste the tokens you copy in to raw explorer, you can also paste them directly in to any text editor and get proper Raw formatted text! This also works for objects you copy.
For example, this was copied by right-clicking "Aardvark_man", and selecting copy, then pasting directly in to this window.
[CREATURE:AARDVARK_MAN]
[COPY_TAGS_FROM:AARDVARK]
[APPLY_CREATURE_VARIATION:ANIMAL_PERSON]
[APPLY_CURRENT_CREATURE_VARIATION]
[GO_TO_END]
[SELECT_CASTE:MALE]
[CASTE_NAME:aardvark man:aardvark men:aardvark man]
[SELECT_CASTE:FEMALE]
[CASTE_NAME:aardvark woman:aardvark women:aardvark woman]
[SELECT_CASTE:ALL]
[APPLY_CREATURE_VARIATION:PUNCH_ATTACK]
[APPLY_CREATURE_VARIATION:KICK_ATTACK]
[APPLY_CREATURE_VARIATION:NAIL_SCRATCH_ATTACK]
[APPLY_CREATURE_VARIATION:TOOTH_BITE_ATTACK]
[APPLY_CURRENT_CREATURE_VARIATION]
[GO_TO_START]
[NAME:aardvark man:aardvark men:aardvark man]
[DESCRIPTION:A person with the head and tail of an aardvark.]
[POPULATION_NUMBER:30:50]
[CLUSTER_NUMBER:1:5]
[MAXAGE:60:80]
[CREATURE_TILE:'a'][COLOR:7:0:0]
[GO_TO_TAG:USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE]
[TISSUE_LAYER:BY_CATEGORY:FINGER:NAIL:FRONT]
This version also fixed a fairly major bug in exporting the raws.
The next step is adding the ability to create new objects, along with full copy/paste of them.
The next version will include batch scripting. You will be able to run 2 different kinds of scripts, the first works at the library level, the 2nd works on specific selected objects only.
Scripts will be stored as text files in the "Scripts" folder, which will be read out when the program starts and will show up as a menu. They can be organized by sub folder, and the script menu will mimic it's layout with submenus.
This is an example of a script that can be run on an entire library to remove the aquifers from the game.
imports RawExplorer
public class Script
public sub Run(library as RawLibrary)
for each obj as RawObject in library.getAllObjects
obj.removeToken("AQUIFER")
next
end sub
end class
I'm still working out the details, so things will probably change slightly. For those of you familiar with it, this script is indeed written in VB.NET, I plan to also support C#. I originally tried both LUA and Javascript, but couldn't get it working the way I wanted.
It'll probably be a few days yet before I have this working the way I want and get all the bugs worked out, but I'll be posting updates and snippets of scripts to use as examples of doing different things.
Final form of a script in vb.net to remove the aquifer tokens:
imports RawExplorer
public class Script
inherits ScriptBase
public overrides sub runGlobalScript(library as RawLibrary)
for each obj as RawObject in library.getAllObjects()
obj.removeToken("AQUIFER")
next
end sub
end class
Same script in C#:
using RawExplorer;
public class Script : ScriptBase
{
public override void runGlobalScript(RawLibrary library)
{
foreach (RawObject obj in library.getAllObjects) {
obj.removeToken("AQUIFER");
}
}
}
Each script can override "runGlobalSCript", "runBatchScript", or both. runGlobalScript is run once each time the script is run, before runBatchScript is called. runBatchScript is called once per object in the batch of selected objects. Both function are passed a reference to the RawLibrary that has all of the objects and sources in it so that you can do things like add or remove objects from the library, or mess with all of the objects in some way. runBatchScript is passed a reference to one RawObject each time it's called, as well as a reference to the RawLibrary that it's in.
You will be able to make full use of the .net framework and call any public classes that RawExplorer has defined internally as well as any public methods on them. You should be able to do almost anything with this, from popping of dialogs and prompting for input on what actions to take to reading and writing files.
My brain is now fried... But it sacrificed it's self to bring you this image...
(http://i.imgur.com/7YiuP.png)
Good news Everyone! </farnsworth>
I figured out what was stopping the incremental search feature (the thing that lets you type in the grid and it moves to matching rows, like explorer in windows) from working.
As an example of how it works...
Typing "cas":
(http://i.imgur.com/GObYr.png)
pressing ctrl+down arrow to move to the next instance (ctrl + up/down arrows are used to navigate between matching rows):
(http://i.imgur.com/Z7DhR.png)
Pressing ctrl + down arrow once more would move it to the next CASTE token in the list.
I've still got a few more bugs to fix up, and features to polish off before releasing this version, but it's looking good for tomorrow.
It's amazing what you discover when you accidentally hit a key combination sometimes.... I thought I had notepad focused and hit ctrl-F, but the token grid in raw explorer was focused instead. It popped up a little search panel that I never knew was built in to the grid! So, yeah, new feature! yay!
(http://i.imgur.com/ntPY5.png)
Wow, that was easier than I thought!
(http://i.imgur.com/QdDcE.png)
There are still several kinks to work out, but it's not looking like it will be too hard to do after all.
The hardest part was parsing the token and correctly interpreting the dynamic arguments. Now that that's out of the way I can build a really nice editor for it.
Fun with Editors!
(http://i.imgur.com/oQFuZ.png)
Hey look! This aardvark's tendons are made out of Jumping Spider Heart!
More options:
(http://i.imgur.com/rZszw.png)
(http://i.imgur.com/ieDYz.png)
It's smart enough to know that if you are editing a Creature you can't use "LOCAL_PLANT_MAT", and no "LOCAL_CREATURE_MAT" when editing plants. The reaction materials are also only available when editing a reaction object.
System.ArgumentException: Der angeforderte Wert "GEAR" konnte nicht gefunden werden.
bei System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
bei System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
bei System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
bei RawExplorer.RawLibrary.parseFile(String filename) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:Zeile 138.
bei RawExplorer.RawLibrary.parseDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:Zeile 118.
bei RawExplorer.RawLibrary.parseRawDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:Zeile 108.
bei RawExplorer.RawExplorerForm.mnuLoadRaws_Click(Object sender, ItemClickEventArgs e) in ... <snip>
that's what happens trying to open masterwork raws :(
i was hoping for an alphabetized export option to make weapons/armors/stones/creature-materials etc come up in alphabetical order ingame; i'll try again next time!
and, oh, when you config the dwarf.exe, you can get a crash by entering only path, then clicking the ellipsies; also, why prompt me for the path to the raws? ok, multiples might be cool, but you already know a likely root for where to look; and oh, the directory picker object can't accept a pasted path as usual, so if you could maybe reuse the file-picker and have that look for language_all.txt one use pasted paths there.
at least masterwork uses its own neato flags-set-on-the-same-line mechanics to create conditional sections; it'd be cool to explore them too; and to not have them blown away on exit. yes? ...
screenies look awesome though, keep up the good work!
Beta 5 is now available!
This version adds proper BODYGLOSS support in import, editing, and exporting.
It also has an option to sort the objects alphabetically when exporting.
(http://i.imgur.com/YIYcZ.png)
Just a preview of what's coming for the next version:
(http://i.imgur.com/hQjGs.png)
The UI is still a work in progress, some things may change.
More previews:
(http://i.imgur.com/oqzgG.png)
(http://i.imgur.com/de9wd.png)
I've also started planning out the custom workshop designer, which will roll out sometime soon. I'll post some images when I get a bit farther in to it.
Tiles for plants are in for the next version. This was actually a lot harder than I expected due to the way plants have multiple tiles and different colors associated with each life state.
(http://i.imgur.com/H5FWJ.png)
It choose the first tile in the list:
TREE_TILE
SHRUB_TILE
SAPLING_TILE
DEAD_TREE_TILE
PICKED_TILE
DEAD_SHRUB_TILE
GRASS_TILES
that it finds for each plant.
I think this is the UI I'm going to go with for the Workshop Designer.
(http://i.imgur.com/FQeM1.png)
I'll clean up the red border and add proper grid lines before it's all done.
The (almost finished) custom workshop designer.
(http://i.imgur.com/9p865.png)
(http://i.imgur.com/dXSl7.png)
(http://i.imgur.com/kBvK3.png)
(http://i.imgur.com/eGJJx.png)
I'm still trying to come up with a good way to indicate that the tile in the editor will be drawn with the building material color in the game. I was thinking maybe use some color that isn't normally found in DF, or perhaps an overlay color similar to the way the work area and blocking tiles are drawn.
Hey when I import my raws I get this error message by microsoft .net framework:
"Unhandled exception has occured in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.
Conversion from string "16x 16" to type 'Integer' is not valid."
The detail list is as follows;
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.InvalidCastException: Conversion from string "16x16" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format.
at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
--- End of inner exception stack trace ---
at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
at RawExplorer.Token.get_argumentAsInteger(Int32 index) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\Token.vb:line 57
at RawExplorer.RawLibrary.processToken(Token token, RawObject obj) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 256
at RawExplorer.RawLibrary.parseFile(String filename) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 197
at RawExplorer.RawLibrary.parseDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 120
at RawExplorer.RawLibrary.parseRawDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 113
at RawExplorer.RawExplorerForm.mnuLoadRaws_Click(Object sender, ItemClickEventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 184
at DevExpress.XtraBars.BarItem.OnClick(BarItemLink link)
at DevExpress.XtraBars.BarItemLink.OnLinkClick()
at DevExpress.XtraBars.BarButtonItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
at DevExpress.XtraBars.ViewInfo.BarSelectionInfo.UnPressLink(BarItemLink link)
at DevExpress.XtraBars.Controls.CustomLinksControl.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraBars.Controls.CustomControl.WndProc(Message& msg)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.Utils.v11.2.DLL
----------------------------------------
DevExpress.Data.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.Data.v11.2.DLL
----------------------------------------
DevExpress.XtraTreeList.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.XtraTreeList.v11.2.DLL
----------------------------------------
DevExpress.XtraEditors.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.XtraEditors.v11.2.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/Common.DLL
----------------------------------------
DevExpress.XtraGrid.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.XtraGrid.v11.2.DLL
----------------------------------------
DevExpress.XtraBars.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.XtraBars.v11.2.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
DevExpress.XtraLayout.v11.2
Assembly Version: 11.2.10.0
Win32 Version: 11.2.10.0
CodeBase: file:///C:/Users/victor/Downloads/DF%20Genesis%20MLR4%203.29/mod/DevExpress.XtraLayout.v11.2.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
When I click continue it will just load for hours without result.
Part of the refactoring I'm working on called for a new way of dealing with the graphic sets, tile sets, and color configurations. All of which required a new options dialog to set everything up. The old method of pointing Raw Explorer to the path of the Dwarf Fortress program made using multiple configurations a pain. Now you are presented with different options about which tile set and color scheme you want to use. tile set images can be dropped in to the data folder, as can color text files with different themes in them. Raw Explorer can switch between them on the fly with the new options menu. This makes dealing with different sized graphic sets a lot easier. The color sets will be editable and exportable via this GUI also.
Now that a lot of the background graphic infrastructure has been refactored in to a more sane system I can get back to adding support for the missing features.
(http://i.imgur.com/gt8e7.png)
(http://i.imgur.com/WsurB.png)
(http://i.imgur.com/YQ1cF.png)
(http://i.imgur.com/vaTk5.png)
A quick preview of the language editing dialog.
(http://i.imgur.com/EGuXk.png)
I've tried a few things to try and properly display the accented characters, but I'm not having any luck so far.
Of course the quick find (ctrl-f) is working too, which seems useful language related stuff.
(http://i.imgur.com/VQCnt.png)
*update*
Now with a little bit more functionality!
(http://i.imgur.com/ACzpa.png)
Refactoring the object's token editing grid in to it's own control has turned out to be a fantastic investment in time. With just a few lines of code I can place a token editing grid anywhere that it would be useful to have one.
Sorry for the slow progress lately, but I'm still working!
New Languages and words can now be added.
(http://i.imgur.com/b6bp7.png)
Alright, while applying creature graphics to raws, I had some opportunity to find bugs.
- the symbol for creature graphics doesn't get larger than 16x16. I tested with 18x18
- loading too many creature graphics crashes the program (64bit win7). According to the main window, it loaded 4760 objects from raws
steps to reproduce
- start program
- import raws (a lot of creature graphics from an otherwise vanilla 34.11 DF)
- unfold raws, unfold creatures
- scroll down
it crashes at about 2/3rds from the top
Here's the error log.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at RawExplorer.RawLibrary.getCreatureGraphic(RawObject obj, Config config)
at RawExplorer.RawExplorerForm.getImageForObject(RawObject obj)
at RawExplorer.RawExplorerForm.treObjects_CustomDrawNodeImages(Object sender, CustomDrawNodeImagesEventArgs e)
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawImages(RowInfo ri)
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawRow(TreeListDrawInfo e, RowInfo ri)
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawRows()
at DevExpress.XtraTreeList.Painter.TreeListPainter.DoDraw(TreeListViewInfo viewInfo, DXPaintEventArgs e)
at DevExpress.XtraTreeList.TreeList.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
at DevExpress.XtraTreeList.TreeList.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.269 (RTMGDR.030319-2600)
CodeBase: file:///D:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.269 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.278 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.282 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.Utils.v12.1.DLL
----------------------------------------
DevExpress.Data.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.Data.v12.1.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.XtraTreeList.v12.1.DLL
----------------------------------------
DevExpress.XtraEditors.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.XtraEditors.v12.1.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.XtraBars.v12.1.DLL
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300)
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
DevExpress.XtraGrid.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.XtraGrid.v12.1.DLL
----------------------------------------
DevExpress.XtraLayout.v12.1
Assembly Version: 12.1.4.0
Win32 Version: 12.1.4.0
CodeBase: file:///F:/games/DF/utilities/Raw%20Explorer/RawExplorer-Beta-8/DevExpress.XtraLayout.v12.1.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.275 built by: RTMGDR
CodeBase: file:///D:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
I will upload the raws I used later.
EDIT: here they are: http://dffd.wimbli.com/file.php?id=5945
Again, this is an extremely useful tool and it saved me a lot of time!
Here is a VERY early preview of the graphics editing screen. So early in fact, that it doesn't even show the graphics yet, but it does give you some idea of the layout I'm going for. I'm not sure where in the field order I want to place the graphic picker, I'm thinking either after "Image", or as the last field. I'm also not sure how I feeling about the way the grouping is handled (entity position level items will show up as a 3rd category along with General and Profession)
(http://i.imgur.com/Uk5D9.png)
Opinions on these different options?
Option 1:
(http://i.imgur.com/sveWi.png)
Option 2:
(http://i.imgur.com/GqCkC.png)
Personally, I'm leaning towards #2
Here is another option:
(http://i.imgur.com/AtCQj.png)
I can even do away with the "category" field completely... So many choices.
(http://i.imgur.com/stMnN.png)
(http://i.imgur.com/emtTv.png)
Preview of the graphic set editor with working graphic selector! I've also cleaned up the grid significantly, but it still needs a bit more tweaking. I still need to figure out an interface for adding new entries for creatures.
(http://i.imgur.com/f7jeu.png)
Suggestion: Could you add an indicator to show what source file the current creature is in? For instance, when you right click on a creature and choose 'Move to Source...', it would list Adder as > "** creature_temperate_new.txt"
Thanks!
I keep meaning to add this but I always get distracted by something else. My intent is to add it to the status bar at the bottom when an object is selected.
*UPDATE*
In for next version:
(http://i.imgur.com/SwAoo.png)
Not a huge feature, but a nice little convenience; you can now select your tileset and colors from the toolbar. This helps fill up some of the empty white space that has been bugging me for a long time. Also, this fixes the refresh bug in the object tree when changing tilset sizes.
(http://i.imgur.com/8WR4L.png)
My current work in progress:
(http://i.imgur.com/D2o2M.png)
More progress:
(http://i.imgur.com/0YEjP.png)
The color picker isn't quite right as far as allowing the full range of colors, so that will probably change slightly. I'll probably borrow some concepts from Paint.NET for the UI.
The toolbar at the top will let you select from different tools. People will eventually be able to write tool plugins if they want, but it will come with at least the pencil and an eye dropper initially. You will be able to save the tile back to the same x,y coords or save it to a new location (even expanding the sheet if needed automatically).
I don't really want to go /too/ far in depth with the graphic editor, but I want to have some basics for quick touch ups.
Well, I don't think showing the color pallet of the entire tileset is going to be very useful. I got it working and it produced this:
(http://i.imgur.com/rUtvW.png)
Notice the size and location of the scroll bar. There are WAY too many colors to be useful there. I even tried different ways of sorting and grouping them based on HSV Hues and Brightness, Z-Order Transforms, and Hilbert Curves. None of it produced useful looking results.
I think I'll just stick with the colors from the local tile, the color theme, and the user customizable pallet.
I thought of a new drawing tool that I /think/ will be useful for editing tiles. It's a "blending dropper". You click down on one color, drag the a 2nd color and release the mouse. You will get a color that is the average of those 2 colors. It should be good for cleaning up complex shading areas.
Anyway, here is the current state of the Tile Editing UI:
(http://i.imgur.com/Ww6tD.png)
after installing the damn thing i get the same error, index out of range. it output this message in portuguese, google translator would probably as good a job as i would translating it
Consulte o fim desta mensagem para obter detalhes sobre como invocar a depuração
JIT (just-in-time) em vez desta caixa de diálogo.
************** Texto da excepção **************
System.ArgumentOutOfRangeException: O índice estava fora do intervalo. Tem de ser não negativo e inferior ao tamanho da colecção.
Nome do parâmetro: index
em System.ThrowHelper.ThrowArgumentOutOfRangeException()
em System.Collections.Generic.List`1.get_Item(Int32 index)
em RawExplorer.RawLibrary.parseFile(String filename)
em RawExplorer.RawLibrary.parseDirectory(String directory)
em RawExplorer.RawLibrary.parseRawDirectory(String directory)
em RawExplorer.RawExplorerForm.mnuLoadRaws_Click(Object sender, ItemClickEventArgs e)
em DevExpress.XtraBars.BarItem.OnClick(BarItemLink link)
em DevExpress.XtraBars.BarBaseButtonItem.OnClick(BarItemLink link)
em DevExpress.XtraBars.BarItemLink.OnLinkClick()
em DevExpress.XtraBars.BarItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
em DevExpress.XtraBars.BarButtonItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
em DevExpress.XtraBars.BarItemLink.OnLinkActionCore(BarLinkAction action, Object actionArgs)
em DevExpress.XtraBars.ViewInfo.BarSelectionInfo.ClickLink(BarItemLink link)
em DevExpress.XtraBars.ViewInfo.BarSelectionInfo.UnPressLink(BarItemLink link)
em DevExpress.XtraBars.Controls.CustomLinksControl.OnMouseUp(MouseEventArgs e)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em DevExpress.XtraBars.Controls.CustomControl.WndProc(Message& msg)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Assemblagens carregadas **************
mscorlib
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.269 (RTMGDR.030319-2600)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Versão da assemblagem: 1.0.0.0
Versão Win32: 1.0.0.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Versão da assemblagem: 10.0.0.0
Versão Win32: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.269 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.278 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.282 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.Utils.v12.1.DLL
----------------------------------------
DevExpress.Data.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.Data.v12.1.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.XtraTreeList.v12.1.DLL
----------------------------------------
DevExpress.XtraEditors.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.XtraEditors.v12.1.DLL
----------------------------------------
Common
Versão da assemblagem: 1.0.0.0
Versão Win32: 1.0.0.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.XtraBars.v12.1.DLL
----------------------------------------
System.Data
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.237 (RTMGDR.030319-2300)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
DevExpress.XtraGrid.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.XtraGrid.v12.1.DLL
----------------------------------------
DevExpress.XtraLayout.v12.1
Versão da assemblagem: 12.1.4.0
Versão Win32: 12.1.4.0
CodeBase: file:///C:/Users/Joana/Desktop/dfmod/RawExplorer-Beta-8/DevExpress.XtraLayout.v12.1.DLL
----------------------------------------
System.Configuration
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Windows.Forms.resources
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_pt_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
Versão da assemblagem: 4.0.0.0
Versão Win32: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_pt_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
************** Depuração JIT **************
Para activar a depuração just-in-time (JIT), o ficheiro .config para esta
aplicação ou computador (machine.config) tem de ter o
valor jitDebugging definido na secção system.windows.forms.
A aplicação também tem de ser compilada com a depuração
activada.
Por exemplo:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Quando a depuração JIT está activada, qualquer excepção não processada
será enviada para o depurador JIT registado no computador
em vez de ser processada por esta caixa de diálogo.
I'm very close to a new release with a fully working graphics set editor. I didn't realize how much was actually left to get done in the previous release.
Here is the last bit I'm working on polishing up:
(http://i.imgur.com/LxXsV.png)
This form is used to edit and create tile pages in the graphic sets. The red and blue squares are there to help get all the sizes aligned correctly. They dynamically adjust based on the values in the Page and Tile size boxes at the top.
I've started working on a proper icon... My lack of artistic skill should be apparent. I'll gladly take submissions for a replacement if anyone is feeling motivated or creative.
(http://i.imgur.com/rfbaL.png)
(http://i.imgur.com/KT65O.png)
(http://i.imgur.com/w0Yp0.png)
(http://i.imgur.com/GMNtT.png)
The stability fixes are very much appreciated. However, one beef I still have with the tool: the "Import raws ..." dialogue doesn't actually import anything, instead it replaces whatever was in the editing window with the new raws. Too bad, I was hoping to use it for merging mods and resolving conflicts right at the spot.
Also, a bug: Open the program, right-click on "Objects" in the lower left pane, pick "New Object ..." -> crash with NPE at ...
RawExplorer.NewObjectForm.cboType_SelectedIndexChanged(Object sender, EventArgs e)
DevExpress.XtraEditors.ComboBoxEdit.UpdatePopupEditValueIndex(Int32 prevIndex)
RawExplorer.NewObjectForm.NewObjectForm_Load(Object sender, EventArgs e)
(onLoad() and Windows boilerplate skipped)
EDIT: Another, rather annoying bug: While importing, the tool reads the definitions from non-textfiles (for example, from the jEdit backup files ending in "txt~"), resulting in lots of false import errors.
Interesting, I never thought about using import that way. I will look in to doing something like that for merging different sets of data. Thank you for that idea! In the mean time you can add objects from other mods by copying the text for them from the raw file and pasting it in to the object tree. Raw explorer will parse the text and generate objects from them. I know it won't handle merge conflicts, and it's kind of slow for bringing in objects from multiple files. I'll try and get your idea implemented as soon as I can though.
I'll get right on fixing those 2 bugs you mentioned too.
Curse you Microsoft!
When using the asterisk wildcard character in a searchPattern, such as "*.txt", the matching behavior when the extension is exactly three characters long is different than when the extension is more or less than three characters long. A searchPattern with a file extension of exactly three characters returns files having an extension of three or more characters, where the first three characters match the file extension specified in the searchPattern. A searchPattern with a file extension of one, two, or more than three characters returns only files having extensions of exactly that length that match the file extension specified in the searchPattern. When using the question mark wildcard character, this method returns only files that match the specified file extension. For example, given two files, "file1.txt" and "file1.txtother", in a directory, a search pattern of "file?.txt" returns just the first file, while a search pattern of "file*.txt" returns both files.
Oh bloody hell, I just hit a key combo for 'back' and lost a big fat message. Here we go again...
After having spent some time looking over the Raw Explorer there's an element missing that I'd like to bring to your attention. I'm not sure if you haven't gotten to implementing it or, because you're not a modder, are unaware of it. Looking at the Inorganic Analyser I see that CERAMIC_EARTHENWARE is listed as having a MAX_EDGE of 0. However, CERAMIC_EARTHENWARE does have a MAX_EDGE, it has the MAX_EDGE from STONE_TEMPLATE, which is 1000.
For reference here is CERAMIC_EARTHENWARE. Note the second line, the USE_MATERIAL_TEMPLATE. This is, what you'd call a macro, copy, or import statement (depending on what languages you've used). It is a directive to pull into the definition of the object RIGHT NOW the values from that material template. The reason I say RIGHT NOW is (and I know this works for plants, so it probably does inorganics too) any tokens you define in the object before the USE_MATERIAL_TEMPLATE statement are subsequently overwritten by the values pulled in from the template.
[INORGANIC:CERAMIC_EARTHENWARE]
[USE_MATERIAL_TEMPLATE:STONE_TEMPLATE]
[STATE_NAME_ADJ:ALL:earthenware]
[DISPLAY_COLOR:6:0:0][TILE:'#']
[SOLID_DENSITY:1360]
[IS_STONE]
[MATERIAL_VALUE:3]
[ABSORPTION:10]
[BLOCK_NAME:brick:bricks]
[DISPLAY_UNGLAZED]
[NO_STONE_STOCKPILE]
...and here is the original STONE_TEMPLATE
[MATERIAL_TEMPLATE:STONE_TEMPLATE]
[STATE_COLOR:ALL_SOLID:GRAY]
[STATE_NAME:ALL_SOLID:stone]
[STATE_ADJ:ALL_SOLID:stone]
[STATE_COLOR:LIQUID:ORANGE]
[STATE_NAME:LIQUID:magma]
[STATE_ADJ:LIQUID:magma]
[STATE_COLOR:GAS:ORANGE]
[STATE_NAME:GAS:boiling magma]
[STATE_ADJ:GAS:boiling magma]
[DISPLAY_COLOR:7:0:0]
[MATERIAL_VALUE:1]
[SPEC_HEAT:800]
[IGNITE_POINT:NONE]
[MELTING_POINT:11500]
[BOILING_POINT:14000]
[HEATDAM_POINT:NONE]
[COLDDAM_POINT:NONE]
[MAT_FIXED_TEMP:NONE]
[SOLID_DENSITY:2670]
[LIQUID_DENSITY:3300]
[MOLAR_MASS:36000]
[IMPACT_YIELD:120000]
[IMPACT_FRACTURE:120000]
[IMPACT_STRAIN_AT_YIELD:100]
[COMPRESSIVE_YIELD:120000]
[COMPRESSIVE_FRACTURE:120000]
[COMPRESSIVE_STRAIN_AT_YIELD:100]
[TENSILE_YIELD:15000]
[TENSILE_FRACTURE:15000]
[TENSILE_STRAIN_AT_YIELD:100]
[TORSION_YIELD:15000]
[TORSION_FRACTURE:15000]
[TORSION_STRAIN_AT_YIELD:100]
[SHEAR_YIELD:15000]
[SHEAR_FRACTURE:15000]
[SHEAR_STRAIN_AT_YIELD:100]
[BENDING_YIELD:15000]
[BENDING_FRACTURE:15000]
[BENDING_STRAIN_AT_YIELD:100]
[MAX_EDGE:1000]
[ABSORPTION:0]
[ITEMS_HARD]
[ITEMS_QUERN]
[REACTION_CLASS:CAN_GLAZE]
...and so, with the inclusion of the USE_MATERIAL_TEMPLATE, here is CERAMIC_EARTHENWARE's actual, full definition. The items in normal font are what were inherited from the STONE_TEMPLATE. The items that are struck out are what is in the STONE_TEMPLATE but are overridden by CERAMIC_EARTHENWARE definition. Finally, the items in bold are new from the CERAMIC_EARTHENWARE definition.
[INORGANIC:CERAMIC_EARTHENWARE]
[STATE_COLOR:ALL_SOLID:GRAY]
[STATE_NAME:ALL_SOLID:stone]
[STATE_ADJ:ALL_SOLID:stone]
[STATE_COLOR:LIQUID:ORANGE]
[STATE_NAME:LIQUID:magma]
[STATE_ADJ:LIQUID:magma]
[STATE_COLOR:GAS:ORANGE]
[STATE_NAME:GAS:boiling magma]
[STATE_ADJ:GAS:boiling magma]
[STATE_NAME_ADJ:ALL:earthenware]
[DISPLAY_COLOR:7:0:0]
[DISPLAY_COLOR:6:0:0]
[TILE:'#']
[MATERIAL_VALUE:1]
[MATERIAL_VALUE:3]
[SPEC_HEAT:800]
[IGNITE_POINT:NONE]
[MELTING_POINT:11500]
[BOILING_POINT:14000]
[HEATDAM_POINT:NONE]
[COLDDAM_POINT:NONE]
[MAT_FIXED_TEMP:NONE]
[SOLID_DENSITY:2670]
[SOLID_DENSITY:1360]
[LIQUID_DENSITY:3300]
[MOLAR_MASS:36000]
[IMPACT_YIELD:120000] used marble
[IMPACT_FRACTURE:120000]
[IMPACT_STRAIN_AT_YIELD:100]
[COMPRESSIVE_YIELD:120000]
[COMPRESSIVE_FRACTURE:120000]
[COMPRESSIVE_STRAIN_AT_YIELD:100]
[TENSILE_YIELD:15000]
[TENSILE_FRACTURE:15000]
[TENSILE_STRAIN_AT_YIELD:100]
[TORSION_YIELD:15000]
[TORSION_FRACTURE:15000]
[TORSION_STRAIN_AT_YIELD:100]
[SHEAR_YIELD:15000]
[SHEAR_FRACTURE:15000]
[SHEAR_STRAIN_AT_YIELD:100]
[BENDING_YIELD:15000]
[BENDING_FRACTURE:15000]
[BENDING_STRAIN_AT_YIELD:100]
[MAX_EDGE:1000]
[ABSORPTION:0]
[ABSORPTION:10]
[ITEMS_HARD]
[ITEMS_QUERN]
[REACTION_CLASS:CAN_GLAZE]
[IS_STONE]
[BLOCK_NAME:brick:bricks]
[DISPLAY_UNGLAZED]
[NO_STONE_STOCKPILE]
What follows is simply what I would create if my lazy ass was going to, take from it what you will - if any.
The modding tool that I want to see would, when it pulls in the raws, fully resolve every token of every object but would be aware of which values on an object are the 'default' values that it inherited and which ones are changed for that object. Then there would be an option to, when viewing objects, show the default values. When all tokens are displayed, I'd imagine the object-specific values would be in a black forecolor and the inherited defaults would be displayed with a gray forecolor. I would want to see the objects all properly related/linked up in the modding tool's memory such that if a material is changed, any object that inherits that material will be updated so it would display the new default values when viewed through the modding tool without having to save the raws out and then completely reload.
In a related vein, if an object has a token value assigned, and that value is the same as the default, I'd like to see the modding tool somehow indicate this, maybe with forecolor blue. We would want to always preserve a token which is the same as a template, since a template can change and that token would allow the object to keep the value it is meant to have.
Another related item. There are some tokens which allow updating of multiple token values. For example STATE_NAME_ADJ sets the STATE_NAME and STATE_ADJ at the same time. I think the tool should read from the was whatever sort of token is in them and populate the individual token items from it. Then, when it saves the objects back to the raws in the most efficient manner. So if an object has [STATE_NAME:moose] and [STATE_ADJ:moose] when original read in, when written back it out could be changed to [STATE_NAME_ADJ:moose].
I've just noticed how long this post is, I'll stop here.
Bug Report: When trying to use the Workshop Designer, I am getting an Unhandled Exception.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at RawExplorer.WorkshopDesigner.Editor.Editor_Load(Object sender, EventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\WorkshopDesigner\Editor.vb:line 203
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.296 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.278 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.282 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.Utils.v12.1.DLL
----------------------------------------
DevExpress.Data.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.Data.v12.1.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.XtraTreeList.v12.1.DLL
----------------------------------------
DevExpress.XtraEditors.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.XtraEditors.v12.1.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.XtraBars.v12.1.DLL
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
DevExpress.XtraGrid.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.XtraGrid.v12.1.DLL
----------------------------------------
DevExpress.XtraLayout.v12.1
Assembly Version: 12.1.8.0
Win32 Version: 12.1.8.0
CodeBase: file:///C:/Dropbox/Dwarf%20Fortress/RawExplorer-Beta-11/DevExpress.XtraLayout.v12.1.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.298 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Other than that, this has been a fantastic tool to add and change things!
I'm getting some difficulty importing RAWs.
It comes up with this errorSee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List`1.get_Item(Int32 index)
at RawExplorer.RawLibrary.parseFile(String filename) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 162
at RawExplorer.RawLibrary.parseDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 135
at RawExplorer.RawLibrary.parseRawDirectory(String directory) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawLibrary.vb:line 124
at RawExplorer.RawExplorerForm.mnuLoadRaws_Click(Object sender, ItemClickEventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 190
at DevExpress.XtraBars.BarItem.OnClick(BarItemLink link)
at DevExpress.XtraBars.BarItemLink.OnLinkClick()
at DevExpress.XtraBars.BarButtonItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
at DevExpress.XtraBars.ViewInfo.BarSelectionInfo.UnPressLink(BarItemLink link)
at DevExpress.XtraBars.Controls.CustomLinksControl.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraBars.Controls.CustomControl.WndProc(Message& msg)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18051 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 11.0.50709.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18045 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18046 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18022 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.Utils.v12.2.DLL
----------------------------------------
DevExpress.Data.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.Data.v12.2.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.XtraTreeList.v12.2.DLL
----------------------------------------
DevExpress.XtraEditors.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.XtraEditors.v12.2.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.XtraBars.v12.2.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18046 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
DevExpress.XtraGrid.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.XtraGrid.v12.2.DLL
----------------------------------------
DevExpress.XtraLayout.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Michael/Desktop/RawExplorer/DevExpress.XtraLayout.v12.2.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
and then nothing. Before, it would load anyway, but today is not the case apparently. Anyone got any tips? I'd like to get this working so I can continue writing pages for the Wiki.
Not sure if you are still working on this, but I use it all the time and just ran into a little issue. I am trying to use the graphics designer but keep getting this error and a giant red x (although if I click on the screen it still shows that there is stuff there, just can't see any of it).
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at RawExplorer.ColorSet.getColorFromTriplett(Token token, RawObject obj, Int32 colorIndex, Boolean useBright) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\ColorSet.vb:line 123
at RawExplorer.ColorSet.getForeColorFromTriplett(Token token, RawObject obj) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\ColorSet.vb:line 144
at RawExplorer.GraphicSetsEditorForm.gvGraphics_CustomDrawCell(Object sender, RowCellCustomDrawEventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\Forms\GraphicSetsEditorForm.vb:line 375
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawRowCell(GridViewDrawArgs e, GridCellInfo cell)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawRegularRowCell(GridViewDrawArgs e, GridCellInfo ci)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawRegularRow(GridViewDrawArgs e, GridDataRowInfo ri)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawRow(GridViewDrawArgs e, GridRowInfo ri)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawRows(GridViewDrawArgs e)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.DrawContents(GridViewDrawArgs e)
at DevExpress.XtraGrid.Views.Grid.Drawing.GridPainter.Draw(ViewDrawArgs ee)
at DevExpress.XtraGrid.Views.Base.BaseView.Draw(GraphicsCache e)
at DevExpress.XtraGrid.GridControl.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
at DevExpress.XtraGrid.GridControl.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1008 (RTMGDR.030319-1000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.233 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1002 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.Utils.v12.2.DLL
----------------------------------------
DevExpress.Data.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.Data.v12.2.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.XtraTreeList.v12.2.DLL
----------------------------------------
DevExpress.XtraEditors.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.XtraEditors.v12.2.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.XtraBars.v12.2.DLL
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1015 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1015 (RTMGDR.030319-1000)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
DevExpress.XtraGrid.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.XtraGrid.v12.2.DLL
----------------------------------------
DevExpress.XtraLayout.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///C:/Users/Miles/Desktop/Dwarf%20Fortress/RawExplorer/DevExpress.XtraLayout.v12.2.DLL
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1015 built by: RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
load masterwork raws (tested with 4g) editing tiles and scrolling through plants results in the following error:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at RawExplorer.RawExplorerForm.getImageForObject(RawObject obj) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 385
at RawExplorer.RawExplorerForm.treObjects_CustomDrawNodeImages(Object sender, CustomDrawNodeImagesEventArgs e) in C:\Users\bradley.uffner\Documents\Visual Studio 2010\Projects\Raw Explorer\Trunk\RawExplorer\RawExplorer\RawExplorerForm.vb:line 423
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawImages(RowInfo ri)
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawRow(TreeListDrawInfo e, RowInfo ri)
at DevExpress.XtraTreeList.Painter.TreeListPainter.DrawRows()
at DevExpress.XtraTreeList.Painter.TreeListPainter.DoDraw(TreeListViewInfo viewInfo, DXPaintEventArgs e)
at DevExpress.XtraTreeList.TreeList.OnPaint(PaintEventArgs e)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
at DevExpress.XtraTreeList.TreeList.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18051 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
RawExplorer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/RawExplorer.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 11.0.50709.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18045 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18046 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18022 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
DevExpress.Utils.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.Utils.v12.2.DLL
----------------------------------------
DevExpress.Data.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.Data.v12.2.DLL
----------------------------------------
DevExpress.XtraTreeList.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.XtraTreeList.v12.2.DLL
----------------------------------------
DevExpress.XtraEditors.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.XtraEditors.v12.2.DLL
----------------------------------------
Common
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/Common.DLL
----------------------------------------
DevExpress.XtraBars.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.XtraBars.v12.2.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18046 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
DevExpress.XtraGrid.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.XtraGrid.v12.2.DLL
----------------------------------------
DevExpress.XtraLayout.v12.2
Assembly Version: 12.2.6.0
Win32 Version: 12.2.6.0
CodeBase: file:///Z:/Users/josh/Downloads/dwarf%20fortress/RawExplorer-Beta-13/DevExpress.XtraLayout.v12.2.DLL
----------------------------------------
WindowsBase
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18058 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
The open source WPF version is coming along nicely.
(http://i.imgur.com/Ubh35Ap.png)
I've been on vacation at the beach since Saturday, but I had some time over a rainy day to get some more things working in the WPF version. WPF is very different than WinForms, I have to totally change the way I think about things.
Screenshot:
(http://i.imgur.com/6KFyfXw.png)
Now we are starting to get someplace! I've really been enjoying the opportunity to learn WPF by re-writing the application. Plus it's given me some renewed interest in it's development, which is good for everyone.
(http://i.imgur.com/S1boWMc.png)