Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Создание псевдо-архивов при программировании игр Добавлено: 12.10.04 02:54  

Автор вопроса:  Unheilig | Web-сайт: www.tarjaturunen.narod.ru | ICQ: 336859855 
В игровой индустрии широко применяются различные способы запихивания ресурсов игры в архивы (не обязательно с сжатием, главное чтобы не смогли открыть его).Так вот может есть описания для создания такого архива (типа *.рак или др.) в ВБ, хотелось бы узнать по-подробнее. У кого есть опыт, и/или исходники, статьи, прошу поделится в этом топике.

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #1 Добавлено: 12.10.04 05:39
ochen` prosto. mozhet byt` 2 varianta:
esli tebe prosto fajly nuzhny, i esli s imenami ihnimi
esli pervoe, to hranish kol-vo fajlov, i pri nachale kazhdogo fajla ego dlinu. esli vtoroe, to mozhno libo v samom nachale hranit` spisok imen fajlov i offset-y k nachalam i dliny ih, ili kol-vo fajlov, i pri nachale kazhdogo dlinu imeni, imya, dlinu fajla, fajl.

ne ochen` slozhno, esli nado -- pishi ili v forum ili na mylo, ya uzhe takoe delal.

Ответить

Номер ответа: 2
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #2 Добавлено: 12.10.04 09:54
А чем тебе не нравятся ресурсы? Пихается все в экзешник, только текстовая информация видна будет. Конечно, экстракторами ресурсов можно вытянуть и другое, но это если уж очень нужно - а в таком случае и архивы с паролями вскрываются :)

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 12.10.04 19:14
Создай файл, создай в нем заголовок с данными о смещениях, и используй...

Ответить

Номер ответа: 4
Автор ответа:
 Unheilig



ICQ: 336859855 

Вопросов: 9
Ответов: 32
 Web-сайт: www.tarjaturunen.narod.ru
 Профиль | | #4
Добавлено: 12.10.04 20:35
2 sne:

Вот а как такое реализовать. Файл я создать могу, а что за заголовок в нём? И вроде это должен быть архив или файл ресурсов, ведь в текстовый файл - нонсенс. Обьясните, plz.

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 12.10.04 22:25
Во, я знаю!
Короче, берем EXE самой проги, далее записываем ему прямо в КоНэЦ нужонный вам ресурс и все!
Ну, а считать почти просто. Зато никаким архиватором...

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 13.10.04 08:37
Создаешь файл, можно вручную с пом. HEX редактора, можно с пом. VB, смотришь все файлы что нужно объединить, поочередно каждый файл присоединяем в одну заданныую переменную/файл, при этом запоминая начало файла и его длинну в переменной/файле куда производится запись. Далее либо в самом конце, либо в начале файла пишем данные о смещениях, дабы можно было бы все то прочитать что мы туда позаписывали... вот собственно и все... можно туда же понаписать еще какую-нить доп. информацию... скажем название или еще что-нить...

Ответить

Номер ответа: 7
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #7 Добавлено: 13.10.04 08:52
2LamerOnLine, угу учите его EXE делать :)
А если у "игрока" антивирус? Знаешь как он его (EXE) долго и тщательно
проверять будет? :)

Ответить

Номер ответа: 8
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #8 Добавлено: 13.10.04 09:55
Ну, это не фактор. Антивирусов боятся - программ не писать.

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 13.10.04 12:22
Unheilig,
 Заголовок сделай и не мучся.
Например из трёх полей:
Смещение | Размер | Смещение к имени
 Long | Long | Long

А для считывания создай тип. Например
 Type PakHDR
  Offset As Long
  Size As Long
  NameOffset As Long
 End Type

 И считывай бинарно тип до тех пор пока не встретишь 3 нуля.

 Что то типа такого:
Dim DataHeader As PakHDR
Open ";Data.Pak" For Binary As 1
Do
 if Seek(1)=Lof(1) Then Exit Do
 Get #1,,DataHeader
 'Здесь обрабатываешь загруженные данные
 ...
 'Ну и проверка на конец таблицы
 With DataHeader
  If (.Offset Or .Size Or .NameOffset) = 0 'Then Exit Do
 End With
Loop
Close 1

Ответить

Номер ответа: 10
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #10 Добавлено: 13.10.04 20:08
CyRax,
gad, moyu ideyu styril.......
u menya kstati och. pohozhe na eto napisano.....

Ответить

Номер ответа: 11
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #11
Добавлено: 13.10.04 20:55
AASoft, чес слово больше не буду. Зато как у меня код стройно выглядит а? Давай ты у меня в ответ стыряешь кирилицу в свою систему. Тогда будем квиты :)

 PS: Разве ж этой идея. Вот если бы ты движок для базы данных написал, тогда бы было посерьёзней.

Ответить

Номер ответа: 12
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #12
Добавлено: 14.10.04 11:56
2 AASoft: эта идея уже который год используется в почтовых базах
TheBat :) Так что скорее всего, либо никто ничего не украл, либо одно
из двух...

Ответить

Номер ответа: 13
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #13 Добавлено: 14.10.04 21:22
gy, tak ya ved` v shutku skazal ved`.....izvinite esli obidel......a naschet kirillicy, prosto uzhe privyk za 3 goda v Kanade k angliskoj klaviature, i proshe mne na angliskov pechatat`......esli uzh tak neponyatno ili slozhno, budu na russkom, a esli ponyatno, nu togda chitaj kak est`.....
a naschet dvizhka -- nu.....ee...ee...um.......nado konechno....napisAt`......koroche, u menya shas b igre cheto tipa etogo napisano, mogu konech`no sdelat`, no smysl? kak budto ktoto yuzat` budet.........?..hotya....ideya.....ladno, budu pisAt`, mozhet cheto putnoe i sdelayu. a vashe, est` zhe polno DLL'ek kotorye cheto takogo tipa delayut, tak chto......naverna ne stoit.

a naschet koda ne ponyal...che znachit strojno? tebe che, ne nravitsya kak ya kodyu ili che?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам