Edit Directory Structure

Breaking the Assembly in half. Moving all Gba related files to a
separate assembly, not referenced by the first. This helps organize the
functionality and supports the claim that this can be more than just a
Gba editor.
Add plugin code

- The split assemblies can now communicate with eachother using the MEF
plugin system.

- the Multi-Box close button works now
- The app is now aware of multiple parsers for displaying the data, and
allows the user to select between them.
- The plugins/scripting dlls are now copied to a subdirectory so the
output folder doesn't get too wide.
- The plugins are built first so building the main app can copy the dlls
correctly.
Fix the command bindings

Figured out a single line I could add that allows the UserControl to
contain the CommandBindings while still letting the window own the
commands.
Usage Updates

- updated pcs with more characters
- ctrl+arrows now correctly update the headers
- ruby arrays are parsed correctly
- ruby int results are displayed as hex
- breadcrumb bar acts more like it should (removes all breadcrumbs after
the point where you click instead of just removing one from the middle
of the list).
Icon Parser / Interpreter

Adding a parser / interpreter for icons. Includes visualizations for the
icons, with their correct palette.
Support for Icon Palettes

Icon palettes are now correctly parsed and interpreted.
map banks update

finally uncommenting / fixing the map bank code. It is now possible to
search "maps" and be brought to the head of the map banks, as found
dynamically from the maps.
Initial Revision of the Wild Data

Wild Data is an array of unknown length. We need to find both the array
and its length using the dynamic search system used form Maps. As such,
the search system has been promoted into a helper class, updated to work
with dynamic arrays, and the wild data structure has been added. Now
that the wild data has been correctly found (along with some possible
false positives), we need to test that it works in each rom, and find a
way to distinguish the real data from the false data.
Wild Data Parsing

Wild data is now parsed correctly.
Refactor

Very soon, I'll need the DataRuns to be able to return more complex
visuals. It's not enough for them just to use Geometries, but most of
them still will. I've broken that functionality out of the RunStorage
and moved it into a new ElementProvider interface with a default
implementation that uses Geometries.
Update README.md
Wild Data Parsing: maps and species

It is now possible use the map reference within the wild data as a
jump-link. The species now appears as an image instead of bytes.
Update datatype.conf

pokemon data includes an item index for opponent's with mon using type
3.

An outline for Trainer Data has been added. It's apparent from the
variable datastructure that Some amount of code will be needed in the
datastructure construction.
First Pass at DataType Builder

With the knowledge of the complexity of data types, I've decided to try
moving to a builder pattern. This changelist includes a first-pass at
the builder objects. The other classes need to be changed to use the
builders. Not quite sure how that would work yet.
Adding builder to the model factory

At some point, I'll actually want to use the builder in a script. So
I've added a ScriptedDataTypes RunParser that can read scripts from a
directory and run them. It provides utility methods for letting the
scripts call into the builder to find one or many matches.
Scripting Work

It seems IronRuby isn't as developed as IronPython, which is a shame,
given python's lack of good lambda's. Maybe I'll try ruby again once I
have everything else working. Perhaps I can even allow some
mixing/matching. We'll see.

This change pulls ruby in favor of python, and makes the needed changes
to the supporting files. It also includes a round of changes to support
running FindMany from a script. Seems to work fine, but more code is
needed before the maps are actually back.
Adding to the scripted mapLayout

adding more info to the scripted mapLayout and implementing more of the
DataTypeFinders.

- support for specific-length arrays
- eventLayout
Complete scripted map layout

The rest of the map layout scripting is now working correctly. Added
back the ruby version, as I prefer the lighter syntax and lambdas. Also,
python doesn't work as well for the one-liners.

Given that this is the second time I've switched scripting languages,
I've gone through the trouble of adding both python and ruby. You cannot
currently switch on the fly, but I expect that may become useful later.
A two-line compile time change is currently all I need to switch between
the two languages.
add wild data

added the wild datatype and the supporting code
Refactor

Cleaning up some ugly code.

- Removing redundant naming, changing to a namespace.
- Cleaning up wild.rb