A.I.M. Jagged Alliance2

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
15.09.2019 в 11:06:52

Главная Главная Помощь Помощь Поиск Поиск Участники Участники Вход Вход Регистрация Регистрация
A.I.M. « Кое-что о файлах STI »
   A.I.M.
   Обсуждаем игры
   Гробокопатели
(Модератор: ThunderBird)
   Кое-что о файлах STI
« Предыдущая Тема | Следующая Тема »
  Тема:  Кое-что о файлах STI             Страниц: 1 2 3 4 5 6 7 Прочитано 27609 раз
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Кое-что о файлах STI
« от 22.02.2008 в 09:59:22 »

STСI (Sir-Tech's Crazy Image) формат.

 
Формат STСI используется для хранения графических объектов в игре Jagged Alliance 2. Каждый STСI файл может содержать одно или несколько изображений. Изображения кодируются с помощью 16-битного (16bppRGB565) или 8-битного (8bppIndexed) алгоритмов. 16-битные файлы содержат всегда только одно изображение, большая часть их находится в папке LOADSCREENS.
 
Заголовок (64 байта, структура STCIHeader).

 
Структура STCIHeader описана в Standard Gaming Platform\imgfmt.h.
 
1-4 байты – буквы “STCI” (кодировка ASCII) идентификатор формата.
5-8 байты (UINT32) – исходный размер изображений в байтах. Для файлов содержащих несколько изображений здесь хранится бессмысленное большое число.
9-12 байты (UINT32) – размер изображений в байтах после сжатия.  
13-16 байты (UINT32) – номер прозрачного цвета в палитре, всегда равно 0. Имеет смысл только для 8-битных файлов.
17-20 байты (UINT32) – флаги.
  1 бит – всегда равен 0, назначение неясно (STCI_TRANSPARENT).
  2 бит – всегда равен 0, назначение неясно (STCI_ALPHA).
  3 бит – 1 если файл 16-битный (STCI_RGB).
  4 бит – 1 если файл 8-битный (STCI_INDEXED).
  5 бит – 1 если алгоритм сжатия ZLIB (STCI_ZLIB_COMPRESSED).
  6 бит – 1 если алгоритм сжатия ETRLE (STCI_ETRLE_COMPRESSED).
  7-32 биты – всегда равны 0, не используются.
Повидимому, флаги всегда равны 4, 40 или 41.
  4 – для 16-битных файлов.
  40 – для 8-битных неанимированных файлов.
  41 – для 8-битных анимированных файлов.
21-22 байты (UINT16) – высота изображения в пикселях. Имеет смысл только для 16-битных файлов.
23-24 байты (UINT16) – ширина изображения в пикселях. Имеет смысл только для 16-битных файлов.
 
Значение следующих 20 байт разнится в зависимости от алгоритма кодирования.
 
25-44 байты для 16-битных файлов:
 
25-28 байты (UINT32) – маска красного цвета. По-видимому, всегда равна 63488
(00000000 00000000 11111000 00000000) .
29-32 байты (UINT32)– маска зелёного цвета. По-видимому, всегда равна 2016
(00000000 00000000 00000111 11100000) .
33-36 байты (UINT32) – маска синего цвета. По-видимому, всегда равна 31
(00000000 00000000 00000000 00011111) .
37-40 байты (UINT32)– маска альфа канала. По-видимому, всегда равна 0.
41  байт – глубина красного цвета. По-видимому, всегда равна 5.  
42  байт – глубина зелёного цвета. По-видимому, всегда равна 6.
43 байт – глубина синего цвета. По-видимому, всегда равна 5.
44 байт – глубина альфа канала. По-видимому, всегда равна 0.
Значения масок и глубин цветов соответствует алгоритму кодирования 16bppRGB565.
 
25-44 байты для 8-битных файлов:
 
25-28 байты (UINT32)– число цветов в палитре, по видимому всегда равно 256.
29-30 байты (UINT16)– число изображений в файле.
31 байт – глубина красного цвета. По видимому, всегда равна 8.
32 байт – глубина зелёного цвета. По видимому, всегда равна 8.
33 байт – глубина синего цвета. По видимому, всегда равна 8.
34-44 байты – не используются.
Алгоритм кодирования 8-битных файлов – 8bppIndexed c 24-битной палитрой на 256 цветов.
 
45 байт – глубина цвета. Число бит на пиксель. Равен 8 для  8-битных файлов, и 16 для 16-битных.
46-49 байты (UINT32)– размер данных приложения (Application Data) в байтах. Не равно нулю только для анимированных файлов. По-видимому, всегда равно количеству изображений умноженное на 16.  
49-64 байты – не используются.
 
По-видимому, существует тип STCI файлов, в которых 46-48 байты не используются размер данных приложения при этом сдвигается на три байта. Это не соответствует структуре в исходниках. Возможно это зависит от локализации. В английской 1.12, Буке и .NET StiEditore используется именно такой порядок байт.
 
45 байт – глубина цвета. Число бит на пиксель. Равен 8 для  8-битных файлов, и 16 для 16-битных.
46-48 байты – не используются.
49-52 байты (UINT32)– размер данных приложения (Application Data) в байтах. Не равно нулю только для анимированных файлов. По-видимому, всегда равно количеству изображений умноженное на 16.  
53-64 байты – не используются.

 
Изображения.

 
В 16-битных файлах после заголовка и до конца файла идут данные изображения закодированые в формате 16bppRGB565.
 
В 8-битных файлах после заголовка файла идут  256 * 3 = 768 байт палитры.
После палитры идут заголовки изображений, которые занимают (кол-во изображений) * 16 байт.
 
 
Заголовок изображения(16 байт, структура STCISubImage).

 
Структура STCISubImage описана в Standard Gaming Platform\imgfmt.h.
 
1-4 байты (UINT32)– сдвиг в байтах от начала данных изображений до начала данных данного изображения. Для первого изображения равен 0. Для второго – размер первого и т. д.
5-8 байты (UINT32)– размер данных изображения в байтах.
9-10 байты (INT16)– смещение левого верхнего угла изображения по горизонтали в пикселях.
11-12 байты (INT16)– смещение левого верхнего угла  изображения по вертикали в пикселях.
Для анимированных файлов смещения отсчитываются от центра изображения тайла, для неанимироанных от левого верхнего угла изображения тайла.  
13-14 байты (UINT16)– высота изображения в пикселях.
15-16 байты (UINT16)– ширина изображения в пикселях.
 
После заголовков изображений идут данные изображений. Каждый байт соответствует порядковому номеру цвета пикселя в палитре. Данные изображений сжаты алгоритмом сжатия ETRLE, о котором ниже. Алгоритмом сжатия ZLIB, повидимому, не использется.
Неанимированные 8-битные файлы на этом заканчиваются
 
У анимированных файлов есть ещё данные приложения (Application Data). Размер – (кол-во изображений) * 16.  
Данные приложения хранятся в структурах AuxObjectData. Aux - повидимому сокращение от "auxiliary" - вспомогательный.
 
Структура AuxObjectData описана в Standard Gaming Platform\imgfmt.h.
 
Для изображений являющихся началом нового ракурса (направления)
1 байт - ориентация стены (ubWallOrientation). Всегда равен 0.
2 байт - количество тайлов (ubNumberOfTiles). Всегда равен 0.
3-4 байт - координаты объекта в тайлах (usTileLocIndex). Всегда равен 0.
5-7 байты - не используются.
8 байт – текущий кадр (ubCurrentFrame). Всегда равен 0.
9 байт – равен числу изображений в данном ракурсе.
10 байт – флаги.
  1 бит - (AUX_FULL_TILE)
  2 бит - 1 если файл анимироанный (AUX_ANIMATED_TILE)
  3 бит - (AUX_DYNAMIC_TILE)
  4 бит - (AUX_INTERACTIVE_TILE)
  5 бит - (AUX_IGNORES_HEIGHT)
  6 бит - (AUX_USES_LAND_Z )
  7-8 бит - не используются.
Данные приложения есть только у анимированных файлов, флаги всегда равны 2.
11-16 байты – не используются.
 
Для изображений не являющихся началом нового ракурса (направления) все значения равны нулю.
 
 
Алгоритм сжатия ETRLE.

 
Расшифровка аббривиатуры ETRLE не известна. Последние три буквы вероятно означают Run-Length Encoding.
 
Сжимаемая последовательность разбивается на подпоследовательности нулевых и ненулевых байт.  
Каждая последовательность нулевых байт заменяется на один байт, старший бит которого равен 1. А значение равно 128 плюс число нулей в подпоследовательности.  
Перед каждой последовательностью ненулевых байт ставится служебный байт, старший бит которого равен 0. А значение равно числу байт в подпоследовательности.
Если длина нулевой подпоследовательности более 127, то для её кодирования аналогичным образом используется несколько байт, тоже самое можно сказать и о ненулевых последовательностях.  
В конце каждой строки ставится нулевой байт (признак конца строки).
« Изменён в : 12.10.2014 в 05:48:41 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #1 от 22.02.2008 в 10:09:25 »

Вот составил описание STI формата, который на самом деле STCI.
Описание базируется на изучении исходников JA2, на изучении  
STI-файлов с помощью HEX-редактора и на моём здравом смысле. :)
Если есть замечания, уточнения, вопросы, пишите, буду рад.
« Изменён в : 22.02.2008 в 10:10:34 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Lesh
[Лещь]
Псих

Ну и повезло же мне!




Пол:
Репутация: +100
Re: Кое-что о файлах STI
« Ответ #2 от 22.02.2008 в 20:39:18 »

Quote:
Сжимаемая последовательность разбивается на подпоследовательности нулевых и ненулевых байт.  
Каждая последовательность нулевых байт заменяется на один байт, младший полубайт которого равен 127, а старший равен числу нулей в подпоследовательности.
Перед каждой последовательностью ненулевых байт ставится служебный байт, старший полубайт которого равен 0, а младший равен числу байт в подпоследовательности.
Если длина нулевой подпоследовательности более 127, то для её кодирования аналогичным образом используется несколько байт, тоже самое можно сказать и о ненулевых последовательностях.  

Близко к правде, но следует внести поправки:
 
Сжимаемая последовательность разбивается на подпоследовательности прозрачных и непрозрачных байт (у Сиров прозрачный цвет равен нулю).
 
Каждая последовательность прозрачных пикселов заменяется на один байт, старший бит (это 7-ой бит) которого равен 1, а оставшиеся биты (0-6) формируют количество прозрачных пикселов в подпоследовательности.
 
Каждая последовательность непрозрачных пикселов заменяется на несколько байт, первым из которых является длина последовательности, а остальными - несжатые пикселы изображения. У длины старший бит (7-ой) всегда сброшен в ноль. В принципе, при помощи именно этого бита и определяется, какая будет последовательность: прозрачная или нет.
 
По окончании каждой строки изображения ставится нулевой байт (т.е. если длина последовательности равна нулю, то имеем конец строки изображения, переходим к следующей).
 
Вот, как-то так...
Зарегистрирован

1.13 Team
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #3 от 22.02.2008 в 21:07:37 »

2Lesh:  
Да, верно. Что-то я с полубайтами какой-то ерунды нагородил.  ;D  
Хорошо когда есть знающие люди. Спасибо.
Описание ща поправлю.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #4 от 22.02.2008 в 21:25:54 »

2Lesh:  
Quote:
Сжимаемая последовательность разбивается на подпоследовательности прозрачных и непрозрачных байт (у Сиров прозрачный цвет равен нулю).  

 
А где ещё данный алгоритм используется, кроме как у Сиров?
ETRLE как расшифровывается не знаешь, случайно?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

lalien
[Alien. Light edition]
Прирожденный Джаец




WWW

Пол:
Репутация: +204
Re: Кое-что о файлах STI
« Ответ #5 от 26.02.2008 в 15:38:17 »

2pipetz:  А можно это описание на английском? Я бы поставил его на wiki.
Зарегистрирован

JA2 v1.13 Team
http://ja2.discusrock.org/bugzilla/
http://www.ja-galaxy-forum.com
http://ja2v113.pbwiki.com

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #6 от 26.02.2008 в 15:52:53 »

2lalien:  
С английским у меня плохо. Может кто-нить другой переведёт, переводить то не много, вроде.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

jarni
[Гарный хлопец]
Прирожденный Джаец

Мне нечего сказать.


Ё-мэйл

Пол:
Репутация: +306
Re: Кое-что о файлах STI
« Ответ #7 от 26.02.2008 в 18:41:27 »

Могу перевести. Потом кто знает англицкий получше может подкорректировать. Готово будет завтра, макс. послезавтра, потому как дома компа временно нету, придется на работе.
Зарегистрирован

Don't worry, be happy.
Lesh
[Лещь]
Псих

Ну и повезло же мне!




Пол:
Репутация: +100
Re: Кое-что о файлах STI
« Ответ #8 от 26.02.2008 в 22:05:59 »

Quote:
А где ещё данный алгоритм используется, кроме как у Сиров?
ETRLE как расшифровывается не знаешь, случайно?

Насчёт ET не знаю. Наверное, Extended Type. Остальное действительно Run-length encoding.
 
А где используется? Раньше использовали старые игры. Например (ЕМНИП), графика старого доброго Doom упакована им, только не построчно, а поколоночно.
Зарегистрирован

1.13 Team
bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах STI
« Ответ #9 от 27.02.2008 в 07:23:07 »

2Lesh:
Quote:
ЕМНИП

Не изменяет, не изменяет. Всё именно так и было.
Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

jarni
[Гарный хлопец]
Прирожденный Джаец

Мне нечего сказать.


Ё-мэйл

Пол:
Репутация: +306
Re: Кое-что о файлах STI
« Ответ #10 от 27.02.2008 в 10:34:59 »

STСI (Sir-Tech's Crazy Image) file format.
 
STСI format is used to store graphical objects of Jagged Alliance 2 game. Every STCI file can hold one or more images. Images are stored using either 16-bit (16bppRGB565) or 8-bit (8bppIndexed) format. 16-bit file holds just one noncompressed image. The most of them are in LOADSCREENS folder.  
 
 
Header (64 bytes, STCIHeader structure).
 
 
STCIHeader structure is described in Standard Gaming Platform\imgfmt.h.  
 
1-4 bytes – character string  “STCI”, the format identifier.
5-8 bytes – initial size of the image in bytes. For files with multiple images there is large senseless number.
9-12 bytes – image size in bytes after compression.
13-16 bytes – number of the transparent color in the palette, always 0. Used only for 8-bit files.  
17-20 bytes – flags.  
  1 bit – always 0, unknown purpose (STCI_TRANSPARENT).  
  2 bit – always 0, unknown purpose (STCI_ALPHA).  
  3 bit – 1 tells if file is the 16-bit file (STCI_RGB).  
  4 bit – 1 tells if file is the 8-bit file (STCI_INDEXED).  
  5 bit – 1 if ZLIB compression algorithm used (STCI_ZLIB_COMPRESSED).  
  6 bit – 1 if ETRLE compression algorithm used (STCI_ETRLE_COMPRESSED).  
  7-32 bits – 0, not used.  
It seems to be that flags always equals to 4, 40 or 41.  
  4 – for 16-bit files.  
  40 – for 8-bit non-animated files (single image).  
  41 – for 8-bit animated files (multiple images).  
21-22 bytes – height of the image in pixels. Used in 16-bit files only.  
23-24 bytes – width of the image in pixels. Used in 16-bit files only.  
 
Values of the next 20 bytes depend on encoding algorithm.  
 
25-44 bytes for 16-bit files:  
 
25-28 bytes – red color mask. Seems to always equal to 63488  
(00000000 00000000 11111000 00000000).  
29-32 bytes – green color mask. Seems to always equal to 2016  
(00000000 00000000 00000111 11100000).  
33-36 bytes – blue color mask. Seems to always equal to 31  
(00000000 00000000 00000000 00011111).  
37-40 bytes – alpha-channel mask. Seems to always equal to 0.  
41  byte – red color depth. Seems to always equal to 5.  
42  byte – green color depth. Seems to always equal to 6.  
43 byte – blue color depth. Seems to always equal to 5.  
44 byte – alpha-channel depth. Seems to always equal to 0.  
Colors depth and mask values correspond to 16bppRGB565 encoding algorithm.
 
25-44 bytes for 8-bit files:  
 
25-28 bytes – number of colors in a palette, seems to be always 256.  
29-30 bytes – number of images in the file.  
31 byte – red color depth. It seems to be always 8.
32 byte – green color depth. It seems to be always 8.  
33 byte – blue color depth. It seems to be always 8.  
34-44 bytes – not used.
Algorithm used for encoding 8-bit files – 8bppIndexed with 24-bit palette for 256 colors.  
 
45 byte – color depth. Number of bits for one pixel. 8 for  8-bit files  and 16 for 16-bit files.  
46-49 bytes – size of Application Data in bytes. Other than 0 only for animated files. It seems to be equaled to number of images multiplied on 16.  
49-64 bytes – not used.  
 
There is a possibility that such type of STCI file exists where 46-48 bytes are not used, os the size of the application data shifts 3 bytes. Maybe it depends on localization. In .NET StiEditor such byte order is used.  
 
Images.
 
 
In 16-bit files after header and to the end of file there are image data encoded in 16bppRGB565 format.  
In 8-bit files after header there are 256*3 = 768 bytes of palette.
After palette there are image headers of total size (number of images) x 16 bytes.  
 
 
Image header (16 bytes,  STCISubImage structure).
 
 
STCISubImage structure is described in Standard Gaming Platform\imgfmt.h.  
 
1-4 bytes – shift in bytes from the beginning of images data to beginning of the current image data. 0 for the first image. Size of the first image for the second and so on.
5-8 bytes – image data size in bytes.
9-10 bytes – horizontal image shift in pixels.  
11-12 bytes – vertical image shift in pixels.  
13-14 bytes – image height in pixels.  
15-16 bytes – image width in pixels.  
 
There are images data after image headers. Every byte corresponds to ordinal number (index) of pixel’s color in palette. Image data are compressed using ETRLE compression algorithm (see below). It seems to be that ZLIB compression is not used.  
Non-animated 8-bit files are finished here.
 
Animated files have additional Application Data. Size – (number of images) x 16. Content follows:  
 
For images which are the beginning of new foreshortening (direction):  
1-8 bytes – 0, unknown purpose.  
9 byte – equals to number of images in current direction.  
10 byte – 2, unknown purpose.  
11-16 bytes – 0, unknown purpose.  
 
For images which are not the beginning of new direction:  
1-16 bytes – 0, unknown purpose.  
 
 
ETRLE compression algorithm.
 ETRLE abbreviation meaning is unknown. Last three letters most likely mean Run-Length Encoding.  
 
Compressed sequence consist of multiple subsequences of transparent and non-transparent bytes (SirTech have transparent color as zero).
Every subsequence on transparent bytes is replaced by one byte with highest bit set to 1. Lower 7 bits hold number of transparent bytes. If sequence of transparent bytes is longer than 127, then new byte for transparent bytes encoding used and so on.
One service byte used before subsequence of non-transparent bytes. Its highest bit is set to 0. Lower 7 bits hold number of non-transparent byte in subsequence. If non-transparent bytes subsequence exceeds 127, new service byte is used and so on.  
Every row has zero byte on its end.
« Изменён в : 27.02.2008 в 15:18:07 пользователем: jarni » Зарегистрирован

Don't worry, be happy.
jarni
[Гарный хлопец]
Прирожденный Джаец

Мне нечего сказать.


Ё-мэйл

Пол:
Репутация: +306
Re: Кое-что о файлах STI
« Ответ #11 от 27.02.2008 в 10:36:20 »

Коррекция нужна 100%.
Зарегистрирован

Don't worry, be happy.
bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах STI
« Ответ #12 от 27.02.2008 в 12:03:43 »

Моя коррекция:
 
STСI (Sir-Tech's Crazy Image) file format.
 
 
STСI format is used to store graphical objects of Jagged Alliance 2 game. Every STCI file can hold one or more images. Images are stored using either 16-bit (16bppRGB565) or 8-bit (8bppIndexed) format. 16-bit file holds just one noncompressed image. The most of them are in LOADSCREENS folder.
 
....
 
ETRLE abbreviation meaning is unknown. Last three letters most likely mean Run-Length Encoding.  
 
Compressed sequence consist of multiple subsequences of transparent and non-transparent bytes (SirTech have transparent color to as zero).
Every subsequence on transparent bytes is replaced by one byte with highest bit set to 1. Lower 7 bits hold number of transparent bytes. If sequence of transparent bytes is longer than 127, then new byte for transparent bytes encoding used and so on.
One service byte used before subsequence of non-transparent bytes. Its highest bit is set to 0. Lower 7 bits hold number of non-transparent byte in subsequence. If non-transparent bytes subsequence exceeds 127, new service byte is used and so on.  
Every row has zero byte on its end.  
 
Коррекция нужна 100%. :)
 
ЗЫ Кстати, буква С в STCI местами расшифровывается как Cool. А Crazy как раз больше похоже на шутку.
« Изменён в : 27.02.2008 в 12:05:31 пользователем: bugmonster » Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #13 от 27.02.2008 в 13:07:04 »

2bugmonster:   Quote:
ЗЫ Кстати, буква С в STCI местами расшифровывается как Cool. А Crazy как раз больше похоже на шутку.

Непосредственно в Standard Gaming Platform\imgfmt.h, где описана спецификация формата написано Crazy.  :)
 
« Изменён в : 27.02.2008 в 13:07:56 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

bugmonster
[Баги! Баги везде!]
Source

ПРОГРАММИРЫ НЕ УЧИТЫВАЛИ ЭТУ СИТУАЦИЮ




Пол:
Репутация: +1335
Re: Кое-что о файлах STI
« Ответ #14 от 27.02.2008 в 13:16:24 »

2pipetz: Oh, those crazy Canadians!  :D
Зарегистрирован

Восславим же радость и мужество,
Труда и науки содружество
Восславим мудрую партию,
Помолимся за неё.

А Пентагон в свои руки поганые,
Пусть возьмёт свои доллары сраные
И в ж... себе затолкает

jarni
[Гарный хлопец]
Прирожденный Джаец

Мне нечего сказать.


Ё-мэйл

Пол:
Репутация: +306
Re: Кое-что о файлах STI
« Ответ #15 от 27.02.2008 в 15:18:53 »

2bugmonster: Внес коррекции.
Зарегистрирован

Don't worry, be happy.
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #16 от 19.03.2008 в 14:36:52 »

Вопрос к знатокам исходников.  
Если объект занимает несколько тайлов, то от какого из них отсчитываются
смещения в стишке?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах STI
« Ответ #17 от 19.03.2008 в 15:30:43 »

2pipetz:  
Не понимаю о чем здесь говорится, но может ты найдешь ответ на свой вопрос
http://www.ja2.org/index.php?p=25
Зарегистрирован

Raty
[Крыс]
Прирожденный Джаец

Роскомнадзор... да не вырос




Пол:
Репутация: +95
Re: Кое-что о файлах STI
« Ответ #18 от 19.03.2008 в 15:38:28 »

Quote:
от какого из них отсчитываются  

ЕМНИП надо смотреть в соответствующей JSD какой тайл назначен начальным(нулевым). Логика подсказывает, что обычно это центральный тайл. Если смотреть JSDedit'ом, то это тот tile item, у которого bXPosRelToBase и bYPosRelToBase стоят по нулям. Он обычно первый для каждой проекции.
Как-то так (с)
ps А вообще, я всё же не рискну утверждать это на 100%.
Зарегистрирован

Гордимся инженерами коллайдера адронного, ибо крепко верим мы в монстра макаронного!
MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах STI
« Ответ #19 от 19.03.2008 в 15:40:04 »

Quote:
ЕМНИП надо смотреть в соответствующей JSD какой тайл назначен начальным(нулевым).

Вот-вот, ВМ так и советует делать.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #20 от 19.03.2008 в 15:48:56 »

2MAn:  
Quote:
http://www.ja2.org/index.php?p=25

Вау! Это то что надо!  ;D Читал эту страничку, но уже давно, когда был не в
теме. А это файлик ja_tile_size.psd где лежит?
Там на нём где-то зелёная точка, от которой отсчитывается начало мира.  :)
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

VM
[Генеральный застройщик пустоши]
Прирожденный Джаец

Советские часы - самые быстрые в мире!




Пол:
Репутация: +969
Re: Кое-что о файлах STI
« Ответ #21 от 19.03.2008 в 16:02:44 »

Quote:
А это файлик ja_tile_size.psd где лежит?

Там и лежит: http://www.ja2.org/files/_jafall_tools/ja_tile_size.rar
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #22 от 19.03.2008 в 16:39:22 »

2VM:  
Спасибо.  
А каким образом этот файлик был получен? Кто поставил на нём "зелёную точку"?  :)
Он где-то в ресурсах хранится или как-то эксперементальными методами получен?  
 
PS. А! Я понял как получена зелёная точка. Это просто левый верхний угол изображения тайла.
Глупый каюсь.  :)
« Изменён в : 19.03.2008 в 20:03:27 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Кое-что о файлах STI
« Ответ #23 от 19.03.2008 в 20:58:47 »

2pipetz:  
Не претендую на точность, но когда-то я пытался применить рекомендуемый ВМ"ом способ для подбора х/у в какой-то анимации. ЕМНИП, в анимашках координаты отсчитываются аккурат от центра тайла, то бишь от точки, лежащей на пересечении диагоналей.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #24 от 19.03.2008 в 21:00:33 »

2MAn: 2Raty: 2VM:  
Спасибо. Разобрался со смещениями окончательно наконец-то.
Что интересно для анимированных STI смещения отсчитываются
от центра изображения тайла, для неанимированных, действительно,
от левого верхнего угла.
 
Соответственно в последней версии редактора 1.0.0.20 у меня немного не верно
отрисовывается тайл. На лежачих стишках особенно хорошо заметно.  
 
PS. Внёс дополнение в описание формата.
« Изменён в : 19.03.2008 в 21:13:25 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #25 от 19.03.2008 в 21:02:58 »

2MAn:  
Quote:
ЕМНИП, в анимашках координаты отсчитываются аккурат от центра тайла, то бишь от точки, лежащей на пересечении диагоналей.

Опередил.  :)
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #26 от 29.03.2008 в 23:26:28 »

Данные приложения (Application Data) хранятся в структурах AuxObjectData.  
Структура вспомогательная, большинство её полей используются при работе
программы для хранения промежуточных состояний и в STI-файле не хранятся.
Служит также для связи STI- и JSD-структур.
 
PS. Внёс соответствующие дополнения в описание STI-формата.
« Изменён в : 29.03.2008 в 23:27:30 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #27 от 04.04.2008 в 18:38:07 »

Такой вопрос, а где камни, валуны? В каком они файле лежат?  
В стишках, вроде нет, в .PCX тоже не нашёл.
И зачем вообще понадобились .PCX файлы?
Почему нельзя было хранить всю графику в одном формате?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

G.E.M.
[Добрый волшебник]
Псих

Истина как-то тут, а я ее где-то там.


Ё-мэйл

Пол:
Репутация: +274
Re: Кое-что о файлах STI
« Ответ #28 от 04.04.2008 в 18:51:38 »

Quote:
В стишках, вроде нет, в .PCX тоже не нашёл.
- в стишках они, но не помню сейчас какая именно.  
Quote:
И зачем вообще понадобились .PCX файлы?
- а это вроде только карта и менюшка лептопа.
Зарегистрирован

Я счастлив, а остальное побоку. :)


pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #29 от 04.04.2008 в 19:19:33 »

2G.E.M.:  
  Quote:
- а это вроде только карта и менюшка лептопа.

Не. В тайлсетах много PCX. Возможно там где нужен 24-битный цвет там PCX
используется. PCX поддерживает 24-битный цвет.
 
2G.E.M.:  
В стишка есть камни, но они мелкие какие-то. Вот такие:
Вот прицепился!       MDROCK.gif
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах STI
« Ответ #30 от 04.04.2008 в 20:03:23 »

2pipetz: крупные каменья тоже должны быть в сти, тайлсет обзывался кажется rocks (или стишка?)
 
а правда, зачем в дирах tilesets pcx файлы валяются? имхо это заготовки для стишек
Зарегистрирован

Offtop:

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #31 от 04.04.2008 в 20:10:58 »

2ddd:  
Есть ROCKS.STI но там тоже мелкие, тоьлко другого цвета.
Вот такие:
 
А понял я в чём дело. Не все тайлсеты распаковал из SLF. Их же надо по разным папкам раскладывать.  
А я выделил всё и распаковал в одну папку. :)
Вот прицепился!       ROCKS.gif
« Изменён в : 04.04.2008 в 23:01:08 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #32 от 04.04.2008 в 23:54:31 »

2ALL:  
Подскажите как быстро раскидать файлы из TILESETS.SLF по нужным папкам.
Папки я сгенерил: TILESETS/0..49 и TILESETS/0..49/T. Это всё или ещё какие  
нужны? Теперь надо по ним файлы раскидать. Slf_manager_A генерит путь только  
для одного файла, насколько я понял. Если выделить несколько то генерация  
пути становится недоступной. Если руками выделять нужные файлы и извлекать
их в соответствующий путь, то получится очень долго, 150 однотипных
операций надо сделать. Обязательно будут ошибки.  
Как-нить можно автоматизировать?  
Пробовал искать по форуму находит много, да всё не то. В "Редактируем Ja2"  
много интересного, вот только всё не перечитаешь. Вот если бы кто-нить из
ветеранов собрал  "Редактируем Ja2 - избранное", было бы круто.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах STI
« Ответ #33 от 05.04.2008 в 08:55:08 »

2pipetz: попробуй unslf, судя по описанию вроде как умеет с путями экстрактить
 
а каменюки ищи тщательнее, они точно в рокс.сти должны быть, я же себе заменил ;-)
« Изменён в : 05.04.2008 в 09:00:58 пользователем: ddd » Зарегистрирован

Offtop:

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #34 от 05.04.2008 в 09:36:48 »

2ddd:  
Offtop:

 
Что за unslf, где лежит? Немецкий Slf-explorer пытался юзать да там нефига непонятно
по немецки всё.
« Изменён в : 05.04.2008 в 09:49:42 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

ddd
[Х-х-хол-л-л-о-ддд-но!]
Псих

Небесный Дятел




Репутация: +77
Re: Кое-что о файлах STI
« Ответ #35 от 05.04.2008 в 10:22:51 »

2pipetz:  
унслф качать тут http://slil.ru/25655589
Зарегистрирован

Offtop:

Zed
[SIG edition ;)]
A.I.M.Director

Была такая игра Z


Ё-мэйл

Пол:
Репутация: +530
Re: Кое-что о файлах STI
« Ответ #36 от 05.04.2008 в 13:55:27 »

Забросил unslf на сайт
Зарегистрирован

Кровавый ГБист, душитель свободы.
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #37 от 06.04.2008 в 19:48:11 »

Slf_Manager_A при попытке извлечь несколько файлов в одну папку путь отбрасывает,  
а файлы с одинаковыми именами молча перезапиыает.
Вообще, как я понял, он "заточен" под извлечение одиночных файлов.
unslf нормально распаковывает с генерацией соответствующих папок.
Только при распаковке TILESETS.SLF он падает на файле 26/T/.      
26/T/ - какой-то странный STI-файл с пустым именем, который состоит из нескольких  
STI-файлов.  
« Изменён в : 06.04.2008 в 19:48:42 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Raty
[Крыс]
Прирожденный Джаец

Роскомнадзор... да не вырос




Пол:
Репутация: +95
Re: Кое-что о файлах STI
« Ответ #38 от 07.04.2008 в 08:53:22 »

2pipetz:  
В чем трабла с Slf-explorer? Я тока щас увидел, что он на немецком, на надписи как-то внимания до этого не обращал.
Значит открываешь им tilesets.slf. Слева содержимое, справа путь извлечения. Выделяешь и мышой перетаскиваешь направо. Всё.
Зарегистрирован

Гордимся инженерами коллайдера адронного, ибо крепко верим мы в монстра макаронного!
pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #39 от 09.04.2008 в 11:29:07 »

2Raty:  
Quote:
В чем трабла с Slf-explorer?  

Как-то не срослось.  :)
 
Где-нить есть описание формата SLF-архивов? Как они устроены?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Strax5
[Пятижды пуганый]
Прирожденный Джаец

Дорогу осилит бегущий


Ё-мэйл

Пол:
Репутация: +638
Re: Кое-что о файлах STI
« Ответ #40 от 09.04.2008 в 14:46:43 »

2pipetz: У Артёма13 нужно спросить это он SLF-manager писал.
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #41 от 18.04.2008 в 13:02:17 »

Оставлю здесь то что ответил Артём, чтоб не затерялось.
  Quote:
Вобщем, структура архива достаточно простая и описывается следующим образом:
 
// SLF Structs
//Заголовок SLF-файла.
typedef struct _slf_header_t
{
   char    szSLFName[256]; // название SLF-файла
   char    szSLFRoot[256]; // имя эмулируемого каталога
   int32   dwEntries; // число содержащихся файлов
   int32   dwEntries2; // совпадает с dwEntries
   char[5] // по моему контрольная сумма заголовка
   char[7] // всегда 0
}
_slf_header_t;
 
// Структура элементов каталога, который находится в конце SLF-файла.
typedef struct _slf_dir_entry_t
{
   char    szName[256]; // имя файла
   int32   dwOffset; // смещение к началу файла в SLF-файле
   int32   dwSize; // длина файла
   int всегда = 0;
   char всегда= 0;
    char[7] // контрольная сумма файла;
    int всегда = 0;
}
_slf_dir_entry_t;
 
// Между заголовком SLF-файла и его каталогом содержатся хранимые файлы.
// Начало_каталога = Длина_SLF - dwEntries * sizeof(_slf_dir_entry_t)
 
Как собирались контрольные суммы в оригинальных slf я, чесно говоря не знаю
Обходился без них, все работало.
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Strax5
[Пятижды пуганый]
Прирожденный Джаец

Дорогу осилит бегущий


Ё-мэйл

Пол:
Репутация: +638
Re: Кое-что о файлах STI
« Ответ #42 от 05.05.2008 в 13:12:18 »

Наткнулся на форуме на похожую тему:
 
http://forum.ja2.spb.ru/cgi-bin/yabb/YaBB.pl?board=a_all_about;action=di...
 
Интересно, а S-Vertal, Johan, Tashkin что нарисовали? И гдк это можно посмотреть? Или как обычно - нарисовали и замылили...  :(
Зарегистрирован

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #43 от 06.05.2008 в 19:53:57 »

Дык, жёлтый цвет в палитрах всех стишек анимационных есть. Цвета 1-11.
10 оттенков как и у кожи, в них то рукава  Farah_Aydid и перекрасил.
Интересно в Ja2pal.dat цвета 1-11 не используются. Зачем они тогда в стишках
заготовлены?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Farah_Aydid
[Блэк Хок Даун]
Полный псих

Доктор Джекил и мистер Хайд - кем я буду сегодня?




Пол:
Репутация: +128
Re: Кое-что о файлах STI
« Ответ #44 от 06.05.2008 в 20:25:28 »

2pipetz: Может быть обувь была изначально желтая, когда разрабы болванки заготавливали. А потом надобность в переменном цвете ботинок отпала. и боты - одинаковы для всех?
но по градации вроде все четко получается? каждый цвет в нормальных взаимоотношениях?
Зарегистрирован

Всех джайцев сослать в страну Африканского Рога!!! =)
http://www.ja2.su/mods/Ja2v113/Farah_Aydid/JA2_113_HoA_in_progress.rar
Устарело. Обнова скоро будет.

http://kunt.mybrute.com
Воруй@Убивай

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #45 от 06.05.2008 в 21:31:37 »

Не 10 оттенков жёлтого, а 11.  :) С 1-11, 11 будет совсем считать разучился.
А для ботинок 15 оттенков. И не во всех стишках жёлтый есть, например в  
S_DIEHARDB.STI нет. Этому рукава не перекрасишь как ты делал, наверное.
Попробуй.
Одним словом дело тёмное. Возможно этот жёлтый используется где-то как  
родной, незаменяемый, так-же как цвета ботинок, крови, часов.  
 
ЗЫ. А ну да это вспышка выстрела, как ты и предполагал.  
А под огонь там в другом месте цвета с 45 по 85 примерно.
Так что вот. С произвольным цветом рукавов ничего,
ИМХО, не получится.
« Изменён в : 06.05.2008 в 21:43:02 пользователем: pipetz » Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Farah_Aydid
[Блэк Хок Даун]
Полный псих

Доктор Джекил и мистер Хайд - кем я буду сегодня?




Пол:
Репутация: +128
Re: Кое-что о файлах STI
« Ответ #46 от 06.05.2008 в 21:47:10 »

Quote:
Этому рукава не перекрасишь как ты делал, наверное.
Попробуй.  
попробовал. очень даже перекрашивается. а какая разница? розовый - он везде одинаковый. я просто его меняю скролом хью/сатюрейшен в фотошопе всегда на одинаковое значение (+120). следовательно, и желтый цвет во всех моих стишках будет одинаков.
кстати, попробовал в игре камуфлированным мерком побегать. руки остаются желтыми, ничем не закрашиваются)) значит, я все-таки нашел уникальный цвет, который никак нигде не фигурирует!
Зарегистрирован

Всех джайцев сослать в страну Африканского Рога!!! =)
http://www.ja2.su/mods/Ja2v113/Farah_Aydid/JA2_113_HoA_in_progress.rar
Устарело. Обнова скоро будет.

http://kunt.mybrute.com
Воруй@Убивай

pipetz
[пипец всему!]
Прирожденный Джаец

Я очень люблю этот Форум!


Ё-мэйл

Пол:
Репутация: +291
Re: Кое-что о файлах STI
« Ответ #47 от 06.05.2008 в 21:51:26 »

2Farah_Aydid:  
Quote:
попробовал. очень даже перекрашивается.

Можешь прислать  S_DIEHARDB.STI  с жёлтыми рукавами?
Зарегистрирован

- Джаец?
- Джаиц, джаиц.
- Ну, джаец, ну погоди!
https://github.com/egorovav/Ja2Project

Farah_Aydid
[Блэк Хок Даун]
Полный псих

Доктор Джекил и мистер Хайд - кем я буду сегодня?




Пол:
Репутация: +128
Re: Кое-что о файлах STI
« Ответ #48 от 06.05.2008 в 21:53:20 »

2pipetz: ок. щас через 15 мин сделаю. а тоя когда смотрел всего одну бмпшку в фотошоп вынул и с цветом поиграл)
Зарегистрирован

Всех джайцев сослать в страну Африканского Рога!!! =)
http://www.ja2.su/mods/Ja2v113/Farah_Aydid/JA2_113_HoA_in_progress.rar
Устарело. Обнова скоро будет.

http://kunt.mybrute.com
Воруй@Убивай

Farah_Aydid
[Блэк Хок Даун]
Полный псих

Доктор Джекил и мистер Хайд - кем я буду сегодня?




Пол:
Репутация: +128
Re: Кое-что о файлах STI или как-то можно
« Ответ #49 от 06.05.2008 в 22:23:28 »

2pipetz: Черт возьми! а ты прав. в фотошопе все ок. а когда вставлять начал, цвет рукавов на коричневый сменился.
вот стишка. первые кадры
 
и что с этим делать? похоже, придется все-тки под цвет штанов. или как-то можно исправить?
 
пс. фон не исправил. он там черный. я пока в немецком редакторе работаю.
 
ппс: хорошо, что я не кинулся сразу переделывать. вот обломался бы! зато теперь я точно знаю, как именно делать. если желтый не прокатит, то просто под штаны зафигачу.)
 
пппс: а может все-таки как-то можно расширить палитру? и стоит ли оно того?
Вот прицепился!       S_DIEHARD.rar
« Изменён в : 06.05.2008 в 22:28:49 пользователем: Farah_Aydid » Зарегистрирован

Всех джайцев сослать в страну Африканского Рога!!! =)
http://www.ja2.su/mods/Ja2v113/Farah_Aydid/JA2_113_HoA_in_progress.rar
Устарело. Обнова скоро будет.

http://kunt.mybrute.com
Воруй@Убивай

Страниц: 1 2 3 4 5 6 7  Послать Тему Послать Тему Печатать Печатать

« Предыдущая Тема | Следующая Тема »

Статистика. Размер данных: 166805 GZip: off
A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.