Files @ f28757bb21cb
Branch filter:

Location: ATITD-Tools/Desert-Paint-Lab/README.md

jmaltzen
Refactor recipe / reaction computation into a common class. Add some file utilities for supporting Mac bundles. Add some scripts for building Mac app bundles. Add a help window that shows the missing reactions.
# Desert Paint Lab

This is a tool for players to record their [Pigment Laboratory](http://www.atitd.org/wiki/tale6/Pigment_Laboratory)
ingredient reactions in [A Tale in the Desert](http://www.atitd.com/).

### Features

* Easily scans your screen for the paint bench reaction values, without any math, measuring, or manual number entry.
* Warns you when a reaction clipped below 0.
* Supports multiple character profiles.
* Can export to [PracticalPaint](http://www.atitd.org/wiki/tale7/File:PracticalPaint.Zip) data format.
* Includes simulator for experimenting with recipes without spending ingredients.

## Tale 7

This application has been updated for Tale 7.  The current version is a **RELEASE CANDIDATE**.  It may be buggy.
If you find any problems with it, please [open an issue](https://bitbucket.org/Malkyne/desert-paint-lab/issues) or /chat Afrah or Snoerr
in the game.

## Directions

### Download Desert Paint Lab

You can always find the available downloads, on [the download page](https://bitbucket.org/Malkyne/desert-paint-lab/downloads).

The most recent version is [T7 Release Candidate 4](https://bitbucket.org/Malkyne/desert-paint-lab/downloads/DesertPaintLab_T7_RC4.zip).

This application should run under Mono on Mac, Linux, and Windows.  If you are on Windows,
and do not have Mono installed, you can install [GTK# for .NET](http://www.mono-project.com/download/#download-win),
without the need for installing Mono. On Mac or Linux, download and install the [Mono runtime](http://www.mono-project.com/download).

### Set Up a Profile

The first time you run Desert Paint Lab, it will prompt you to make a profile.  You may either create a new profile, or import an existing PracticalPaint reactions.txt file.

### Start Testing!

Add two ingredients to your paint bench.  Select those same ingredients in Desert Paint Lab.  Then, with the Pigment Lab dialog unobstructred, select the **Capture** button.  Once you are satisfied with the result, click the **Record** button.  The data will automatically be added to your profile.

### Clipped?  Huh?

Occasionally, you will see a warning dialog that informs you that a "Reaction clipped."  That means that one or more of the color components moved outside of the testable range.  This makes it impossible to calculate the reaction from these two ingredients.

You can solve this by doing a three-way test.  To do this, select a third ingredient that has known reaction values with the two ingredients you are attempting to pair, and which will adjust the color component that was clipping, so that it is no longer doing so.  Combine that with your two ingredients.  In Desert Paint Lab, you'll want to select a known pairing in the first two boxes, and the other ingredient in the third.  Desert Paint Lab can then do all the math to figure out the mystery reaction.

In many cases, it may be easiest to go back and do these three-way tests after you have finished all of your other testing.

### Finishing Up

When you're done testing your reactions, you can either use the built-in Pigment Lab simulator (`Window > Run Simulator`) to experiment with recipes, without dipping into your precious ingredient stocks.  Alternatively, you can export your reactions in PracticalPaint format.

## Known Issues

### Slowness

If you are running on a multi-screen system, or a very high-resolution screen, you may find that Desert Paint Lab is rather slow in determining paint reactions.  That's because you have a lot of screen real-estate to scan, to look for the Pigment Lab dialog.  You can speed up the scanning process by ensuring that your Pigment Lab Dialog is as far to the upper-left of the screen as possible.

### Retina / High-Density Screens

High DPI screens may be displaying the game at something other than a 1:1 game-pixel to screen-pixel ratio.  These screens didn't exist, back when Desert Paint Lab was created. The current version now prompts you for your screen resolution when it starts to work around this. If you see a crash when trying to capture a reaction, it's likely because the resolution is incorrect. For example, Snoerr's MacBook Pro has a retina screen with a resolution of 2880x1800. Mono (and therefore DesertPaintLab) detects it as having a resolution of 1440x900. He enters his resolution as 2880x1800 and sets the Game pixel width in screen pixels to 2.

## Mac user FAQ

Q: How do I find my native screen resolution?
A: You can find it by opening up "About this Mac" from the Apple menu and clicking on the "Displays" tab. That should show the screen size and resolution to enter.

Q: Why not a native Mac app bundle? Why make me use the command line?
A: That's in the works, along with a Windows installer that bundles up the GTK# dependencies so you don't have to install that separately.

## For Developers

This application was developed using [MonoDevelop](http://www.monodevelop.com/), using the [Stetic GTK UI designer](http://www.monodevelop.com/documentation/stetic-gui-designer/).