Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Constructor / Street Wars Underground [DATA.FIL]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 progman

progman

    Рядовой

  • Пользователи
  • 3 сообщений

Отправлено 04 March 2008 - 19:31

собственно сабж такой:
есть старые еще DOSовские игры Constructor и Street Wars Undeground
ресы в них упакованы в нечто под названием data.fil
звук я расковырял - не сложно оказалось, а вот с графикой не асилил.

если кто решил уже проблему буду признателен за любую помощь.

#2 kjin

kjin

    Младший сержант

  • Ожидающие
  • 19 сообщений

Отправлено 06 March 2008 - 08:52

напиши прогу которой открыл, если сам сделал прогу то зашарь\линк обязательно!
(облегчи нашу ношу))

#3 progman

progman

    Рядовой

  • Пользователи
  • 3 сообщений

Отправлено 08 March 2008 - 19:50

вопрос решен!
1. распаковка. решена до меня гарным хлопцем Rheini.
распаковщик тут: http://forum.xentax....php?f=10&t=2689

2. выдергивание картинки из полученных SPR файлов он до конца ни асилил.
но натолкнул меня на пару мыслей: http://forum.xentax....php?f=18&t=2696

далее сам написал программульку, которая извлекает ресы из SPR файлов от игр "Constructor" и "Street Wars" она же Constructor2

код выкладываю как копипаст из проги, саму прогу не дам. ибо стыдно за содержание )))
вот функция:
Код

void CExtractorDlg::OnBnClickedButton()
{
memset( (DWORD*)mBitmapData, 0xFF000000, 800*600 );
DWORD count = *(DWORD*)&mFileData[ 0 ];

for( int frame = 0; frame < count; frame ++ )
{
 int offset = *(DWORD*)&mFileData[ 4 + 4*frame ];  

 int j = 0;
 WORD sx = *(WORD*)&mFileData[ offset + 4 ];
 WORD sy = *(WORD*)&mFileData[ offset + 6 ];

 int i = offset + 8;
 if( !offset )
  continue;
/* закомментаренный кусок ТОЛЬКО для MICE.SPR
 int it = 0;
 DWORD* mBitmap = new DWORD[ sx*sy ];
 for(int y = 0; y< sy; y++ )
  for(int x = 0; x< sx; x++ )
  {
   BYTE c1 = mFileData[ i ];

   BYTE r = palette[3*c1 + 0];
   BYTE g = palette[3*c1 + 1];
   BYTE b = palette[3*c1 + 2];

   mBitmap[ it ] = RGB( b, g, r);
   it ++;
   i ++;
  }
*/

 int it = 0;
 for(;;)
 {
  BYTE c1 = mFileData[ i ];
  i  ++;

  if( 0 == c1 )
  {
   int repl = mFileData[ i ];
   memset( &mBitmap[ it ], 0xFFFF00FF, repl );
   it += repl;
   i ++;

   if( it >= sx*sy )
    break;

   continue;
  }

 
  BYTE r = palette[3*c1 + 0];
  BYTE g = palette[3*c1 + 1];
  BYTE b = palette[3*c1 + 2];
 
  mBitmap[ it ] = RGB( b, g, r);
  it ++;

  if( it >= sx*sy )
   break;
 }

//сохраняю BMP на диск.
 char str[MAX_PATH]={0};
 sprintf( str, "%s.%.3d.bmp5678", m_CurrentFile.GetBuffer(m_CurrentFile.GetLength()), frame );
 WriteWindowToDIB( str, (BYTE*)&mBitmap[0], sx, sy );

 for( int y = 0; y< sy; y++ )
  for( int x = 0; x< sx; x++ )
   setPixel( x, y, mBitmap[ x + y*sx ] );

 delete[] mBitmap;
 this->RedrawWindow();
}
}

в массиве mFileData должен быть счита SPR файл полностью.
массив DWORD palette[256] под палитру, если она найдена в SPR файле
иначе надо в нее загрузить MICE.COL - он лежит в папке PALLETE игры "Street wars" в конструкторе я ее не нашел )))

#4 Kitaviys

Kitaviys

    Рядовой

  • Пользователи
  • 2 сообщений

Отправлено 28 November 2010 - 18:08

вопрос решен!
1. распаковка. решена до меня гарным хлопцем Rheini.
распаковщик тут: http://forum.xentax....php?f=10&t=2689


А может кто перезалить распаковщик? а то там все ссылки загнулись.

#5 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 28 November 2010 - 18:43

А может кто перезалить распаковщик? а то там все ссылки загнулись.

Вообще-то он там прикреплён ко второму сообщению, просто загрузка доступна только для зарегистрированных пользователей, все остальные видят это:

You do not have the required permissions to view the files attached to this post.

Чтобы загрузить программу можно либо зарегистрироваться, либо bugmenot.

#6 Kitaviys

Kitaviys

    Рядовой

  • Пользователи
  • 2 сообщений

Отправлено 28 November 2010 - 19:44

Вообще-то он там прикреплён ко второму сообщению, просто загрузка доступна только для зарегистрированных пользователей, все остальные видят это:


Чтобы загрузить программу можно либо зарегистрироваться, либо bugmenot.


Большое спасибо

#7 aloech

aloech

    Рядовой

  • Пользователи
  • 1 сообщений

Отправлено 09 December 2013 - 00:30

Вообще-то он там прикреплён ко второму сообщению, просто загрузка доступна только для зарегистрированных пользователей, все остальные видят это:


Чтобы загрузить программу можно либо зарегистрироваться, либо bugmenot.

Акки с  bugmenot не работают , жертвовать 5 евро как то не хочется с учетом что потом с этими файлами еще долго мучиться, не мог бы кто-то скачать ?



#8 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 13 December 2013 - 16:32

Увы, я ничем помочь не могу - у меня нет там аккаунта.
В своё время не завёл, а теперь, видимо, уже всё.

#9 ExPlOrER

ExPlOrER

    Старшина

  • Пользователи
  • 81 сообщений
  • Пол:Мужчина

Отправлено 16 December 2013 - 11:44

Если еще нужен.

http://rusfolder.com/39179961