Skinner's Pack 
==============

Version: 1
Date: 23.10.2003
Author: Wolfram "Osram" Kuss.


Chapter 0: Overview
*******************

This pack for 2D modders (skinners) eases your work in several ways:
- You can work in pcx format, while Rowan used their own *.x8 file format. This means you can load and save directly from almost any paint program. 
- To change the resolution of a texture, simply save it in that new resolution, there is no need to somehow tell BoB the new resolution.
- BoB runs in a window. You can, while it is paused, change a texture and unpause it and it automatically finds out that a texture has changed, which one,
and reloads it.

You have to do two small one time jobs to get up and running.

Chapter 1: Installation
***********************

Unzip into your game directory (where the bob.exe is).

In windows explorer, double click the x8_to_pcx.bat. For each converted texture it prints a dot.
At the end, there will be a text on what to do if there was an error. Even if there are errors, they might not 
affect you if they are files that you will not work on.

The x8_to_pcx.bat will NOT overwrite any .pcx files that are in the BoB 
folders when you execute it. So, if you have recently modified some, they are safe :-).
There will be a list of all files it tried to write, but that already existed. If you run a BoB version
later than 0.978, this may be due to the fact, that the new BoB version ships more PCX files.

Chapter 2: Working on a file
****************************

Start BoB once, go into the BDG game screen, and exit again.  This updates the bdg.txt, adding all the new bdg.txt variables like

SKINNERS_MODE

Search for this in an ascii editor like notepad and change it to "ON". By default only some of the Skinner's Features"
mentioned in the overview are enabled. With SKINNERS_MODE on "ON", all of them are enabled. 
In other words, whenever you skin, it should be on.
When you are advanced, as an alternative look into chapter 6 on how to enable/disable individual features.


Find the PCX file you want to change. Later we will have lists helping you. 
One way is to use a "picture browser" like Irfanview to quickly look through all PCX files for what you are looking for.
For example cockpm16\sight2.pcx is the sight of the Me109.
It has an alfa (it is partly transparent); This is in sight2_trans.pcx. You can change them in any paint proggie and save
them. You can also change the size, for example from 256 x 256 to 512 x 512. Always use powers of two like
1, 2, 4, 8, 16, 32, 6, 128, 256, 512, 1024, 2048 etc. Computer graphics cards love powers of two :). 
It can be rectangular (non square) like 512 x 256 if you need more resolution in one direction than the other.
Save the file over the previous one (you will want to back that up first).

IMPORTANT:
Make sure you have maximal 256 colours and use palletted mode (not true colour rgb mode).
256 colours  with optimal palette for plane textures looks virtually as good as true colour,
but needs less video memory, so it is used even by the newest flight sims like Il2:FB as well.

When you start BoB the next time, you are in skinner mode. The most obvious thing is that it works in a window. 
Also, it loads all the PCX files instead of *.x8 that it can find. So, you already see the change you did to that PCX!

Say that the texture does not completely satisfy yet and you want to tweak further. You pause BoB ("p" key), edit the texture and save it.
When you unpause BoB, it looks for changed textures and loads them. You should see the change in BoB straight away.

When you run BoB in a window, do not use the window close widget (the cross), but just shut BoB down normally via "Alt X" etc.

Unfortunately, while running, BoB picks up ALL keypresses, even those to other programs. We have tried and are tyring to change this.
The only workaround is to try to use as many mouse clicks and as few keypresses as possible while painting, or leaving BoB while 
doing other things or restart the mission if for example you bailed out by accident :-/.

Also, when running the desktop in 1024x768, and if you use windowed mode, then while exiting 3D there might be a problem.
Ignore this problem, run in a higher res or in fullscreen mode. Lastly, the aspect ratio, at least for some people is slightly
different, so small changes in proportion are possible.

Chapter 3: About alfa and PCX
*****************************

This is indeed a bit of a problem, since a PCX can not have an alfa channel, so BoB needs to read two files. 
It finds the transparency file by adding "_trans" to the file name. So, if it reads Do17.pcx and if there is no "Do17_trans.pcx", 
there is no alfa. If there is, then it reads it and uses it as alfa plane.


Chapter 4: Background
*********************

BoB does still recognize *.x8.

To find out what textures are used by a bin, viper-'s tool is still the best.

The dirdirtool which is an extra download is currently only needed for advanced operations like adding a file, for example a texture.

The phrase "auto texture res" means you can save the texture in any resolution you like and it just works, without tedious bin changes.
The phrase "auto texture change" means you can save the texture while BoB is running and BoB automatically finds and loads the changed texture.

The Skinner mode does:
- Runs BoB in a window
- forces AutoTextureRes to on
- checks for changed textures after pause
- loads pcx or dds instead of x8 if available.

Chapter 5: (ARTISTIC) tips on day to day work
*********************************************

- Increase the xy res of the texture, IOW the width and height. It might seem overkill to generate high quality textures 
now when the geometry is not up to it, but I think we will be able to use the textures after modifying the geometry. 
To put the argument the other way, 
it would be bad to do textures now in a res that "matches" the 3D "resolution" and then have to redo them later on.
Also, when you work in high resolution, after being done with your changes, you can "sample it down", in other words,
reduce size and see how it looks. If it looks virtually identical, you can ship the smaller res file
to the users and keep the high res one, for example for high res svreenshots, or later after adding more detail etc.

Do not worry about speed with textures of reasonable size (some 1024x0124 or even 2048x2048, rest of lower res).

OTOH, when increasing the res, do not do this without any reason. For example, a simple square without fine detail and without
slanted lines will not lead to jaggies (aka staircase effect) even in low resolution and therefore high resolution would just be a 
waste of video ram. Things with strong contrast (say red cross on white), which are slanted (so there are jaggies)
on a part which people especially look at (say pilots face) should have an especially high resolution.

We will definately need higher res textures in the medium term - so creating low res textures now would just mean you have to redo them later.

You should decide yourself which textures to leave, which to double and maybe even quadruple some. You can also make them 
non-square and for example change 256x256 to 256x512.

Roughly speaking:
- Each texture needs the same number of pixels per meter of the plane that it covers, so a wing needs more pixels than a wheel.
- If the texture is something people will notcie especially, like an emblem or pilots, it should be higher res than the other textures
- If there is only low contrats on the texture, a smaller res is enough.

The "pixelsPerInch" that you paint proggie shows is completey irrelevant.

performance:
Most video cards today have texture mem to spare in BoB, and no degredation of performance during normal flight 
(no re-loading during flight) at all will happen.

The loading time during 3D startup is neglible.
I would guess the main time spend is often the moval of the head on the HD to the file anyway, so 
a double sized file will certainly not mean double the loading time. A typical loading time is IMVHO 30 ms. 
Say loading time doubles (because you increase widht and depth by a factor of 2) for 30 textures (a lot), 
that would be about a second more during 3D startup if they are loaded there. No biggie at all. 
If loaded during flight, its a bit worse, since the "loading hiccups" will get worse. Even then it would be 
worth it for me, each Do17 texture is only loaded once, so it can not lead to a hiccup every second.

Also, I think I would go to 24 bits WHILE WORKING. So, during work, you need to use another file format. 
So, during work you do not need to mind a palette etc. When you want to test (or are finished), then you save as 8 bit PCX 
with individual (optimal) palette and let your paint proggie generate a palette for you. You can then test it 
immediatly (no further conversion needed).

Most or even all good skinners work with layers. There are several tutorials on how to use this and for example
have rivets/panel lines in one, the "main body" in on, dirt in one etc.

Alfa means different parts of the texture are (possibly to a different degree) transparent. For example, like all textures, 
the sun texture is rectangular, so it has an alfa layer to make the part outside of the sun disc transparent

You can find more tips/tutorials on the BDG website ( www.bob-ma.org ) in the downloads section.

Chapter 6: Individual features
******************************

With the SKINNERS_MODE you enable 4 features. However, some people might not want to use all four, so here are the individual switches.
If SKINNERS_MODE is "ON", then the individual swiches will be ignored by BoB.


ENABLE_AUTO_TEXTURE_RES
Means that changing textures XxY resolutions works, even without changing the texture coordinates inside the bin files.
This is now "always on" and can ony be turned off for onr session for debugging purposes.

USE_PCX_OR_DDS
Like the name says, if there is an pcx file, it is always used instead of the x8 file. No change of "dir.dir" files is
necessary.

FORCE_WINDOWED_MODE
This will start BoB in a window instead of full screen.

AUTO_TEXTURE_CHANGE
When unpausing, BoB will look in thisn mode for changed textures and reload them.

