Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Структура BSA архива

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Сен 06, 2006 5:16 pm    Заголовок сообщения: Структура BSA архива Ответить с цитатой

Вот решил написать прогу для перевода The Elder Scrolls: Arena(PC), но для полноценного перевода необходимо перевести и некоторую графику, запакованную в BSA архиве. Пока самому мне разбираться времени нет, поэтому хочу спросить: никто случаем её не знает? Вроде бы как там LZ.

Последний раз редактировалось: HoRRoR (Чт Сен 07, 2006 1:23 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Сен 07, 2006 12:17 am    Заголовок сообщения: Ответить с цитатой

Ну раз PC, то бери OllyDebug и всё.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
gottax



Зарегистрирован: 16.11.2003
Сообщения: 588
Откуда: Курск

СообщениеДобавлено: Чт Сен 07, 2006 7:53 am    Заголовок сообщения: Ответить с цитатой

Может, это поможет? Хотя утилита для TES:Daggerfall, но формат архива, возможно, один и тот же.
http://www.svatopluk.com/andux/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Сен 07, 2006 2:07 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Ну раз PC, то бери OllyDebug и всё.

Эх, знать бы мне ещё асм...

gottax писал(а):
Может, это поможет? Хотя утилита для TES:Daggerfall, но формат архива, возможно, один и тот же.

Спасибо за ссылку. Жалко, что не помогло.

Я тут по форумам полазил, похоже эту игру раз десять перевести пытались, может мне не стоит заканчивать прогу?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Сен 07, 2006 3:12 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Я тут по форумам полазил, похоже эту игру раз десять перевести пытались, может мне не стоит заканчивать прогу?


Ну, вот лично я бы не стал заниматься переводом PC-игры. Confused
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Сен 07, 2006 3:23 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Ну, вот лично я бы не стал заниматься переводом PC-игры. Confused

Почему? Игра вроде хорошая, принцип перевода почти тот же, что и на консолях. Там даже шрифт в 1bpp 16x16.
Хотя переводить я её пока не собирался - только прогу писал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Чт Сен 07, 2006 7:28 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
АнС писал(а):
Ну раз PC, то бери OllyDebug и всё.

Эх, знать бы мне ещё асм...

Ну, почему же так происходит? Я знаю и 16 и 32 битный ассемблер, но помочь не могу... Crying or Very sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Вт Фев 06, 2007 12:39 am    Заголовок сообщения: Ответить с цитатой

Народ уже начинал это дело... Если интересно, могу порыться - кажись у меня валялись какие-то редакторы для неё (и для Даггерфолла тож найдётся)
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Tigran



Зарегистрирован: 27.08.2006
Сообщения: 328
Откуда: Саратов

СообщениеДобавлено: Вт Фев 06, 2007 1:05 am    Заголовок сообщения: Ответить с цитатой

LG.BALUKATION писал(а):
Народ уже начинал это дело... Если интересно, могу порыться - кажись у меня валялись какие-то редакторы для неё (и для Даггерфолла тож найдётся)

Немного не в тему, но Даггерфол уже перевели.
_________________
Russian Romhacking Compo 2008
Сайт конкурса
Форум
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Вт Фев 06, 2007 1:28 am    Заголовок сообщения: Ответить с цитатой

А можно ещё счутка поффтопить, ладно? ;-)

Кто и когда перевёл ДаггерФолл???? Есть перевод Фаргуса - палево то ещё... Есть перевод Vortex Dragon'а, но он тож не полон :-( Мне бы очень хотелось поиграть в TES1 и 2, но я не знаю достаточно хорошо англицкий и полных переводов просто нет :-(
Зато на сайте (http://vxdao.hut1.ru/) уже упоминавшегося товарисча Vortexx Dragon'а (его кстати можно застать в конференции сайта http://www.elite-games.ru/) можно найти кроме его перевода, ещё и утилиты для перевода Арены и Даггерфолла (последние с сырцами на Builder'е).
В довесок скажу, что на SourceForge.Net есть любопытный проект - http://sourceforge.net/projects/dfcode/ (есть подобный проект и для TES4, а к Морровинду там вообще альтернативный CS клепали).
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Tigran



Зарегистрирован: 27.08.2006
Сообщения: 328
Откуда: Саратов

СообщениеДобавлено: Вт Фев 06, 2007 1:47 am    Заголовок сообщения: Ответить с цитатой

Вообще я имел в виду перевод VorteX DrAgON'а. Но так как я сам его перевод не смотрел, то не знал, что он не полный. Smile
_________________
Russian Romhacking Compo 2008
Сайт конкурса
Форум
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Вт Фев 06, 2007 2:44 am    Заголовок сообщения: Ответить с цитатой

Tigran писал(а):
Вообще я имел в виду перевод VorteX DrAgON'а. Но так как я сам его перевод не смотрел, то не знал, что он не полный. :)
Как я понял, перевод заброшен :-(
Один мой знакомый был не прочь попродолжать, но его в армию забрали :-( Так что ждём ещё годик-другой, там мож чего и выйдет...
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Фев 06, 2007 1:28 pm    Заголовок сообщения: Ответить с цитатой

Если кто-нибудь возьмёт на себя ответственность за перевод, я могу взять на себя ответственность за хакинг. Только не обещаю быстрого результата.
Сейчас у меня больше опыта, и, следовательно, больше возможностей и шансов на перевод.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Вт Фев 06, 2007 9:06 pm    Заголовок сообщения: Ответить с цитатой

http://vxdao.hut1.ru/tools.html писал(а):
The Elder Scrolls: Arena
- редактор TEMPLATE.DAT (по совместительству конвертор текстов)
- редактор шрифтов (*FNT.DAT и FONT*.DAT)
- редактор исполняемого файла игры
Как я понимаю, уже почти всё взломано. А BSA в том движке не совсем тож самое, что и в TES3/4 - ИМХО там текста нет, тока текстуры и ещё что-нить...
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Вт Фев 06, 2007 9:19 pm    Заголовок сообщения: Ответить с цитатой

LG.BALUKATION писал(а):
Как я понимаю, уже почти всё взломано. А BSA в том движке не совсем тож самое, что и в TES3/4 - ИМХО там текста нет, тока текстуры и ещё что-нить...

А чего там ломать то? Самый гемморой с архивом. А проги примитивные, т.к. расчитаны только на одну кодировку.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Вт Фев 06, 2007 11:45 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
А чего там ломать то? Самый гемморой с архивом. А проги примитивные, т.к. расчитаны только на одну кодировку.
Дело твоё, я просто перечислил что мне известно...
Одна кодировка - эт хорошая мысль, к ней все системы постепенно идут. Ток сомневаюсь что ТАМ юникод ;-)
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Фев 07, 2007 7:57 am    Заголовок сообщения: Ответить с цитатой

Там своя кодировка, русские буквы на кодах английских. Лучше бы таблицы использовалию Да, забыл, там ещё нельзя длину строки менять.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
crazy_coder



Зарегистрирован: 21.02.2007
Сообщения: 15

СообщениеДобавлено: Чт Мар 08, 2007 6:09 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Хотя утилита для TES:Daggerfall, но формат архива, возможно, один и тот же.

разные

вот что я в свое время написал - вырезка из моего плагина для win commander-а, но я где-тто и враппер для Unix был. Формат кстати юзали еще и в Terminator Rampage

Код:
// *************************** BSA Format *******************************


// Bethesda Softworks Archive (Old and New format supported)
// Used In "The Elder Scrolls (TES)" Series By Bethesda Softworks
// and probably in other games from other developers
//
// They usualy holds many DDS, and NIF files
// DDS - DirectX image file with special channels
// NIF - 3D model file

// Morrowind BSA - File Structure
//
// 1:<16> - header
//  1.1:4 - id == 00000100H
//  1.2:4 - number of files
//  1.3:4 - <offset to end of filename list> - 12
//  1.4:4 - unknown
// 2:<1.2> - offsets & filesizes section
//  2.2:4: filesize
//  2.1:4: offset
// 3:<1.2> - file name offsets
//  3.1:4 - fn offset
// 4:<1.2> - filename section
//  4.1:? - zeroended filename string
// 5:<1.2>: - unknwon section
//  5.1:4 - unknown
//  5.2:4 - unknown
// 6:<?> - bodies for files
bool load_bsa(GAEAHandle *h)
{
   bool r = 0;
   u1 hdr[12];
   u1 *b, *p, *q;
   char const *st; // pointer to string table
   int i, ftsz;

   if(FREAD(hdr, 12) != 12) goto end_return;

   if(mkdwlsb(hdr) == 0x00000100)
   { // TES: Morrowind
      h->total_entries = mkdwlsb(hdr+8);
      ftsz = mkdwlsb(hdr+4);
      ftsz += 8 * h->total_entries;

      b = new u1[ftsz];
      if(FREAD(b, ftsz) != ftsz) goto end;

      h->flist = new fnode[h->total_entries];

      p = b;
      q = b + 8 * h->total_entries; // pointer to string length table
      st = (char const*)(b + 12 * h->total_entries);
      for(i = 0; i < h->total_entries; i++, p += 8, q += 4)
      {
         s8 fsize = mkdwlsb(p);
         s8 offset = mkdwlsb(p+4) + ftsz + 12;
         if(h->flist[i].fsize > h->fsize || h->flist[i].offset > h->fsize) goto del_flist_end;
         init_fnode(h->flist+i, fsize, offset, st + mkdwlsb(q));
      }
   }
   else // try old formats
   {
      int maxsz, curoff;

      // determine BSA type
      u4 magic = mkdwmsb(hdr);
      if(magic == 0x89095900 || magic == 0x5f046d70) curoff = 2; // TES: ARENA or RAMPAGE
      else curoff = 4; // newer TES: DAGGERFALL

      h->total_entries = mkwlsb(hdr);

#ifdef WCX_DEBUG
   fprintf(h->debug_log, "total_entries:%d\n\n", h->total_entries);
#endif
      ftsz = h->total_entries * 18;
      if(!h->total_entries || FSEEK(-ftsz, SEEK_END)) goto end_return;
   
      p = b = new u1[ftsz];
      if(FREAD(b, ftsz) != ftsz) goto end;

      maxsz = ftell(h->file) - curoff - ftsz;

      h->flist = new fnode[h->total_entries];

      for(i = 0; i < h->total_entries; i++, p += 18)
      {
         u2 pad = mkwlsb(p+12); // pad must always be zero
         s8 fsize = mkdwlsb(p+14);
         s8 offset = curoff;

         // make sure that readed values are valid
         if(fsize > maxsz || offset > maxsz+4 || pad) goto del_flist_end;
         init_fnode(h->flist+i, fsize, offset, (const char*)p);
         curoff += (int)h->flist[i].fsize;

#ifdef WCX_DEBUG
      fprintf(h->debug_log, "fname:%s\n", h->flist[i].fname);
      fprintf(h->debug_log, "\toffset:0x%x\n", h->flist[i].offset);
      fprintf(h->debug_log, "\tfsize:%d\n", h->flist[i].fsize);
      fprintf(h->debug_log, "\n");
#endif
      }
   }
   r = 1;
end:
   delete [] b;
end_return:
   return r;

del_flist_end:
   while(--i >= 0) delete h->flist[i].fname;
   delete [] h->flist;
   h->flist = 0;
   goto end;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Чт Мар 08, 2007 7:09 pm    Заголовок сообщения: Ответить с цитатой

Блин, в очередной раз пожалел, что выучил VB а не C++ Sad
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
crazy_coder



Зарегистрирован: 21.02.2007
Сообщения: 15

СообщениеДобавлено: Чт Мар 08, 2007 7:43 pm    Заголовок сообщения: Ответить с цитатой

HoRRoR писал(а):
Блин, в очередной раз пожалел, что выучил VB а не C++ Sad

а чего жалеть? - учить надо.

ЗЫ: это не C++, а простая Сишка - хакеру-крякеру C++ вообще не нужен, как и все высокоуровневое.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
LG.BALUKATION



Зарегистрирован: 05.08.2006
Сообщения: 141
Откуда: Saint-Patersburg

СообщениеДобавлено: Чт Мар 08, 2007 10:50 pm    Заголовок сообщения: Ответить с цитатой

Так этот исходник для TES3. ИМХО в каждой версии TES формат малость свой... Тем более у TES3 новое двигло не как у предыдущих частей.
ЗЫ: у меня есть консольный паковщик/распаковщик с сырцами, но тока под винду. На арене не пробовал, но Обливион он не воспринял :-(
_________________
Zwei Drachen betrachten einander
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
crazy_coder



Зарегистрирован: 21.02.2007
Сообщения: 15

СообщениеДобавлено: Пт Мар 09, 2007 12:44 am    Заголовок сообщения: Ответить с цитатой

LG.BALUKATION писал(а):
Так этот исходник для TES3. ИМХО в каждой версии TES формат малость свой... Тем более у TES3 новое двигло не как у предыдущих частей.
ЗЫ: у меня есть консольный паковщик/распаковщик с сырцами, но тока под винду. На арене не пробовал, но Обливион он не воспринял Sad

я его для каждого TES вплоть до обливиона писал (просто камент объясняет структуру 3-го). это давно оч было.

Цитата:
(Old and New format supported)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VorteX DrAgON
Гость





СообщениеДобавлено: Чт Апр 12, 2007 6:19 am    Заголовок сообщения: Ответить с цитатой

Если вы хотите все таки переводить Арену, то распаковывать *.BSA архив с текстами не нужно. Все, что надо, уже давно распаковано и расшифровано. Тулзы написаны, остается только вооружиться ресурсами игры и в путь.

Лично мне сейчас не до Арены, увы (все равно мне ее так и не сладилось пройти), занимаюсь переводом другой игры, потом быть может бэтлспайром займусь
Вернуться к началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group