Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: a70d33fc91
Fetching contributors…

Cannot retrieve contributors at this time

99 lines (81 sloc) 4.062 kb
Dune 2000 File Formats Specs. Specially for Programmers, who want make editor(s) for Dune 2000
Date: June 8, 2004
Author: Roman "Siberian GRemlin" Lotchenov
E-Mail #1:
E-Mail #2:
Graphics Resources - .R8 and .R16
ImageHeader: Record
ID: Byte; //0 - no data, 1 - picture with pallete,
//2 - picture with current pallete.
Width: LongInt; //Width of picture
Height: LongInt; //Height of picture
X_Offset: LongInt; //Pictures offset on an axis X (from left border(edge) of virtual frame)
Y_Offset: LongInt; //Pictures offset on an axis Y (from top border(edge) of virtual frame)
ImageHandle: LongInt; //Handle to picture (in memory), 0 - image not have picture
PaletteHandle: LongInt; //Handle to pallete (in memory), 0 - image not have pallete,
//and using pallete from palette.bin filr. format - 256*RGB
Bpp: Byte; //Bpp of picture
FrameHeight: Byte; //Height of virtual frame, in which is displayed the picture
FrameWidth: Byte; //Width of virtual frame, in which is displayed the picture
Align: Byte; //Alignment on even border
There is a matrix(array) of pixels by the size further:
For ImageHeader.Bpp = 8: ImageHeader.Width*ImageHeader.Height
For ImageHeader.Bpp = 16: ImageHeader.Width*ImageHeader.Height*2,
������� � ���� ������ �� ������������.
If PaletteOffset <> 0 and ImageHeader.ID = 1, then there is Pallete Header and Pallete
PalHeader: Record
Memory: LongInt; //The memory under a palette was allocated (There is no importance in a file)
PalHandle:LongInt; //Handle to colors array (in memory), if 0 - then game showe error message
Palette: array[0..511] of byte; //Pallete: 256 records of colors
//Color record: 2 bytes - 5 bit red component, 6 bit green component,
//5 bit blue component
Warning: In files UI_ENG.R16 and UI_ENG.R8, cuted ImageHeader.ID
Warning: Files UIBB.R8 and UIBB.R16 is only picture(pixels array) without any headers. Width=640, Height=400
Sound Resources - [Dune2000 Folder]\Data\GameSFX\SOUND.RS
HeaderSize: LongInt; //Size of RSoundHeader
RSoundBody: array[0..56] of record
FileName: Char[0..12]; //File name
Zero: Byte; //Always $00
FileOffset: DWord; //Offfset of WAVE
FileSize: DWord; //Size of Wave file
Text Resources - [Dune2000 Folder]\Data\UI_Data\TEXT.UIB
STUIBHeader: record
Strs: DWord; //Count of strings
STUIBBody: array[0..STUIHeader.Strs] of record
NameCount: Word; //Count of symbols(chars) in string name
StrName: array[0..STUIBBody.NameCount] of char; //String name
StrCount: word; //Count of symbols(chars) in string
Str: array[0..STUIBBody.StrCount] of char; //String
Fonts Resources - .FNT and .FPL
FontHeader of record
FontLoadedFlag: byte; //Must be $00
SpaceSize: byte; //Size of space (in pixels)
FirstSymbol: byte; //Code of first symbol in font
Interval: byte; //Size of interval between symbols (in pixels)
MaxHeight: byte; //Maximum height of symbol
Reserve: array[0..2] of byte; //not used
SymbolsHandle array[0..255] of LongInt; //Handle table to symbols in memory (There is no importance in a file)
Symbols: array[0..255] of record
Width: LongInt; //Width of symbol
Heigth: LongInt; //Heigth of symvol
Pixels: array[1..(Symbols.Width*Symbols.Heigth)] of byte;
Warning: FONTCOL.FNT using pallete from FONTCOL.FPL, Format - 256*RGBF, F=Junk!
Warning: [Dune2000 Folder]\Data\BIN\Font.BIN - is sybmol code(index) table(map)
Thanks to:
Michail Beschetnov for begins in R8 file format description
Magic Team for help with R8 file format and for Dune 2000 Image Converter
be-lam0r for help with FNT, R16 and R8
Please sorry for my english...
Jump to Line
Something went wrong with that request. Please try again.