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


Внимание!

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


Фотография

Cabela's Dangerous Hunts 2013 [.CRF]


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

#1 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 13 Апрель 2013 - 14:08

http://rusfolder.ru/35970298
Пишу скрипт для QuickBMS, но никак не могу понять как найти размер файла
Изображение

#2 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 13 Апрель 2013 - 15:04

Как-то вот так, наверное. Если есть несжатые файлы, то скрипт может работать неверно, так как в предоставленных архивах, вроде бы, все файлы сжаты.

Запускать:

quickbms.exe -d uncrf.bms scripts.crf .

Вместо "scripts.crf" подставляем любой архив из игры.
Код скрипта "uncrf.bms":
# Cabela's Dangerous Hunts 2013 .CRF unpacker
# (c) CTPAX-X Team 2013
# http://www.ctpax-x.org/

ImpType Standard

IDString "!CPF"
# version?..
Get TMP Long
Get FileCount Long

For I = 1 To FileCount
  SavePos TOC
# skip some data
  Math TOC += 16
  GoTo TOC
# read file data
  Get FileSize Long
  Get FileOffs Long
# blocks in packed file
  Get BlockNum Long
  Get TMP Long
# read filename
  GetDString FileName 260
# get file packed size
  SavePos TOC

# create memory file - output buffer
  Log MEMORY_FILE 0 0
# append enabled
  Append
  For J = 1 To BlockNum
    GoTo FileOffs
    Get FilePack Long
    Math FileOffs += 4
# packed flag?..
    If FilePack & 0x80000000
      Math FilePack ^= 0x80000000
# LZO packed file
      ComType lzo1x
      CLog MEMORY_FILE FileOffs FilePack FileSize
      ComType copy
    Else
# unpacked?..
      Log MEMORY_FILE FileOffs FilePack
    EndIf
    Math FileOffs += FilePack
  Next J
# flush memory file to disk
  Get FileSize ASIZE MEMORY_FILE
# append disabled
  Append
  Log FileName 0 FileSize MEMORY_FILE

# back to TOC
  GoTo TOC

Next I


#3 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 16 Апрель 2013 - 07:13

http://rusfolder.com/36002852
Можете посмотреть еще этот?
DDS текстуры загружается только верхняя часть изображения.
Изображение

#4 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 16 Апрель 2013 - 14:14

Поправил скрипт.
Файлы записаны упакованными блоками.

#5 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 16 Апрель 2013 - 21:42

Спасибо!:) Теперь вроде бы все работает!

#6 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 16 Декабрь 2013 - 22:52

В последней версии QuickBms стала возникать ошибка:

Invalid operator 'T'



#7 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 17 Декабрь 2013 - 12:15

Какой-то косяк, видимо.
Чтобы поправить нужны архивы .CRF для тестов - у меня их не осталось, а все ссылки сдохли.

#8 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 15 Февраль 2019 - 08:21

Прошло 5 лет :)

 

Вывод данной ошибки в последней версии:

Error: Invalid Math operator 't'

Last script line before the error or that produced the error: 
   37 If (FilePack & 0x80000000) != 0 Then

Подскажите куда, если потребуется, выложить пример файла.



#9 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 18 Февраль 2019 - 14:15

Я там протупил и использовал ключевое слово "Then" из Delphi, которого нет в QuickBMS.
Код скрипта в сообщении выше обновлён (кстати говоря, ещё год назад).

#10 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 18 Февраль 2019 - 16:01

Версия 0.9.2

- error in src\extra\xalloc.c line 703: xdbg_realloc()

Error: memory allocation problem

Самая старая версия доступная на сайте разработчика 0.7.7

Error: the requested amount of bytes to allocate is negative (0x800000cf)

Last script line before the error or that produced the erorr:
  45 Log MEMORY_File FileOffs FilePack



#11 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 20 Февраль 2019 - 17:41

Всё должно работать. Последняя версия скрипта точно из сообщения выше скопирована?
Ещё пару вещей в скрипте поменял - просьба проверить.
Если нет, то нужен какой-нибудь маленький .CRF файл для тестов на обменнике не требующем регистрации для скачивания (MediaFire.com или Mega.nz).

#12 ExPlOrER

ExPlOrER

    Старшина

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

Отправлено 21 Февраль 2019 - 15:13

Всё должно работать. Последняя версия скрипта точно из сообщения выше скопирована?
Ещё пару вещей в скрипте поменял - просьба проверить.
Если нет, то нужен какой-нибудь маленький .CRF файл для тестов на обменнике не требующем регистрации для скачивания (MediaFire.com или Mega.nz).

Теперь работает.
scripts.crf

#13 [email protected]=-

[email protected]=-

    Полковник

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

Отправлено 21 Февраль 2019 - 16:39

Спасибо за проверку и отчёт!
Добавил год выхода игры в название темы, ибо, как оказалось, есть аналогичная игра (с тем же именем), но 2003 года выпуска, с совершенно другим форматом ресурсов.