On Fri, 8 June 2001 13:43, someone wrote:
I finally got the ship in bmp format. How did i do that? I downloaded infranview (which in my opinion is the best converter out there) and reformatted the png image from a moray to bmp format. Then i had to size it right so it was not to huge and then i doctored it a bit. I also download the ship rotator (which uses the 256 color). But by default what size of ship (in pixels) should i have.
One more thing where in the dat file do i edit the bmp?
The first part of your question is easy:
In theory any square size will work (if the dat is configured properly), in practice:
| Scout | 32x32 |
| Destroyer | 40x40 |
| Cruiser | 40x40 |
| Battleship | 64x64 |
| Dreadnought | 48x48 |
| Starbase | 80x80 |
| Freighter | 56x56 |
As for the second part of your question: this can be very tricky unless you understand how it all works together. Let's walk through it. We'll start with the entry in the .dat file (I'm using FirstContact.dat for my example).
ship bitmaps {
#INCLUDE sf_bmp_ships.sec([race]=Arcean, [nr]=0,
[r]=a)
#INCLUDE sf_bmp_ships.sec([race]=Terran, [nr]=1,
[r]=t)
#INCLUDE sf_bmp_ships.sec([race]=Drengin, [nr]=2, [r]=d)
#INCLUDE
sf_bmp_ships.sec([race]=Pirate, [nr]=3, [r]=p)
}
Which tells us we need to look at the sf_bmp_ships.sec file. Fortunately, this one is nicely documented:
**************************** bitmap sections
*******************************
*
* class : Bitmap class
* name :
Bitmap name. Used as a default in case object has no name
* file
: Bitmap filename without the .bmp and without the path
* nF
: Number of frames in bitmap. Frame 0 starts at bottom of bmp
*
and frame nF-1 is at the top.
* Sz :
Size of the bitmap. Used for collision detection in the game.
*
Saturn is a good example of why you would want to specify
this
* parameter at all.
* seqT :
Sequence type: time - Continuous cycle from frame 0 to frame nF-1
*
and starting back at frame 0 again.
*
spin - use
frame that corresponds to ship heading.
* tc : Transparent
color. 0 for black. Use something like 10 to set
*
all pixels darker than RGB 10:10:10 transparent.
* alpha :
Alpha factor. 100 sets all pixels to their full brightness. 50
*
is 50% brightness. 0 is completely
black.
****************************************************************************
*
class race name
file nF Sz
seqT tc alpha
*
---------------------------------------------------------------------------
#IF
[race] != Pirate
ship [race]
Scout[nr] sf-[r]-sc 36 32
spin 0 100
ship [race]
Destroyer[nr] sf-[r]-ds 36 40
spin 0 100
ship [race]
Cruiser[nr] sf-[r]-cr 36 40
spin 0 100
ship [race]
Battleship[nr] sf-[r]-bs 36 64
spin 0 100
ship [race]
Dreadnought[nr] sf-[r]-dn 36 48
spin 0 100
ship [race]
Starbase[nr] sf-[r]-sb 36 80
time 0 100
ship [race]
Freighter[nr] sf-[r]-fr 36 56
spin 0 100
#ENDIF
#IF [race] ==
Pirate
ship [race]
Destroyer[nr] sf-[r]-rd 36 40 spin
0 100
#ENDIF
OK, here goes. The server reads the .dat file, and finds #INCLUDE sf_bmp_ships.sec([race]=Arcean, [nr]=0, [r]=a), so it loads sf_bmp_ships.sec, replaces every instance of [race] with Arcean, every instance of [nr] with 0 and every [r] with a. The result is:
IF Arcean != Pirate
ship Arcean
Scout0 sf-a-sc 36 32 spin
0 100
ship Arcean
Destroyer0 sf-a-ds 36 40 spin
0 100
ship Arcean
Cruiser0 sf-a-cr 36 40 spin
0 100
ship Arcean
Battleship0 sf-a-bs 36 64 spin
0 100
ship Arcean
Dreadnought0 sf-a-dn 36 48 spin 0
100
ship Arcean
Starbase0 sf-a-sb 36 80 time
0 100
ship Arcean
Freighter0 sf-a-fr 36 56 spin
0 100
#ENDIF
#IF Arcean == Pirate
ship
Arcean Destroyer0 sf-a-rd 36
40 spin 0 100
#ENDIF
Then the logic is evaluated. != is Not Equals, so this would be reduced to:
* class race name
file nF Sz
seqT tc
alpha
*------------------------------------------------
ship
Arcean Scout0
sf-a-sc 36 32 spin 0 100
ship Arcean Destroyer0
sf-a-ds 36 40 spin 0 100
ship Arcean Cruiser0
sf-a-cr 36 40 spin 0 100
ship Arcean Battleship0
sf-a-bs 36 64 spin 0 100
ship Arcean Dreadnought0
sf-a-dn 36 48 spin 0 100
ship
Arcean Starbase0
sf-a-sb 36 80 time 0 100
ship Arcean Freighter0
sf-a-fr 36 56 spin 0 100
The file names for the Arcean fleet are therefore sf-a-sc.bmp ... sf-a-fr.bmp. The name field must be unique, which is why the race numbers are appended to them.
Now that the server is done for the Arceans, just go through the same process for each of the other races.
-Jason Kane