Разговоры у барной стойки |
Здравствуйте, гость ( Авторизация | Регистрация )
Разговоры у барной стойки |
10.01.2011, 06:08
Сообщение
#11941
|
|
СССР Репутация: 760 Группа: Участник Сообщений: 4400 Регистрация: 28.12.2008 |
Дорогие друзья, хочу немного прояснить Вам ситуацию, во избежание превращения бара в "Филиал СП на gameru.net". 1. Флудилка будет такой, какой сделаете ее Вы, если все же у Вас возникнет непреодолимое желание превратить тему в шоу "Цирк уехал, клоуны остались", ни я ни администрация препятствовать в этом не будем, только подумайте оно вам надо. 2. Все правила описанные в первом посте, кроме нового по поводу архивов, действовали в данном разделе и ранее. 3. Напоминаю что данная тема предназначена прежде всего для свободного общения на около сталкеровские темы, но это не означает что в ней нужно обсуждать вопросы, для обсуждения которых созданы не только отдельные темы но и целые разделы. Например обсудить или задать вопросы по игре "Метро "2033" можно тут http://www.gameru.net/forum/index.php?showforum=257. И последнее не бойтесь создавать новые темы в Баре, если Вы сомневаетесь в адекватности темы и боитесь что за ее создание Вас могут забанить, пишите модератору раздела, разберемся. P.S. Не забывайте новое правило: В ДАННОЙ ТЕМЕ СТРОГО ЗАПРЕЩЕНО ВЫКЛАДЫВАТЬ ЗАПАРОЛЕННЫЕ АРХИВЫ, КАК С УКАЗАНИЕМ ПАРОЛЯ ТАК И БЕЗ ОНОГО. Сообщение отредактировал tom-m15 - 27.08.2017, 17:24
Причина редактирования: Напильник
-------------------- Internet Explorer это такая программа, с помощью которой можно зайти на сайт www.mozilla.com и скачать себе браузер...
На презентации Internet Explorer 9 парализованный мальчик встал и вышел =) Безалкогольное пиво - первый шаг к резиновой женщине. "...если человек не курит, не пьет... поневоле возникает вопрос - а не сволочь ли он…" А.П.Чехов |
 
|
|
|
|
01.04.2015, 00:36
Сообщение
#11942
|
|
Игровой Бог первой степени Репутация: 432 Группа: Участник Сообщений: 8787 Награды: 4 Регистрация: 21.03.2013 |
-------------------- |
 
|
|
01.04.2015, 01:16
Сообщение
#11943
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Надо было на депозит заливать - на ЯД всё видно без скачки))
-------------------- |
 
|
|
01.04.2015, 01:18
Сообщение
#11944
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
Build_3547_.rar Завидую вашему аплоуду... Shadows, что скажешь на моё последнее сообщение на предыдущей страничке? -------------------- |
 
|
|
01.04.2015, 01:27
Сообщение
#11945
|
|
Игровой Бог первой степени Репутация: 432 Группа: Участник Сообщений: 8787 Награды: 4 Регистрация: 21.03.2013 |
Годовщина
В этот день надлежит печь хлеб и стрелять в тирах Сообщение отредактировал Ruw - 01.04.2015, 01:28 -------------------- |
 
|
|
01.04.2015, 07:47
Сообщение
#11946
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
замедлится работа программы, ибо каждый файл надо будет проверять к какому архиву он относится ох... сначала читаются все архивы поочередно, создается ассоциированный список [ключ]={значение}, типа [имя файла] = {имя/номер архива, смещение, размер}. если в следующих архивах такой файл уже есть, то элемент обновляется (а не создается новая пара). время сканирования того же ТЧ — единицы секунд, а так как в дальнейшем работа идет только с этим списком в памяти (а не гуевым списком), то выборка из памяти и вовсе мгновенная. |
 
|
|
01.04.2015, 11:17
Сообщение
#11947
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
Ruw, слишком толсто
-------------------- no more running
|
 
|
|
01.04.2015, 12:24
Сообщение
#11948
|
|
Игровой Бог первой степени Репутация: 432 Группа: Участник Сообщений: 8787 Награды: 4 Регистрация: 21.03.2013 |
Ruw, слишком толсто Open 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 build -------------------- |
 
|
|
01.04.2015, 14:13
Сообщение
#11949
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
сначала читаются все архивы поочередно, создается ассоциированный список [ключ]={значение}, типа [имя файла] = {имя/номер архива, смещение, размер}. если в следующих архивах такой файл уже есть, то элемент обновляется (а не создается новая пара). Будет список определений по всем архивам по типу ини-файла: [678577379] Name=gamedata.db0 Key=-2947ru Comment=SOCRU FileList=678577379.fls [708434331] Name=gamedata.db1 Key=-2947ru Comment=SOCRU FileList=708434331.fls К примеру 708434331.fls - это текстовый файл с расширением .fls который содержит список файлов с сохранением структуры из архива gamedata.db1 При выборе архива\архивов программа узнаёт размер архива в байтах, затем ищет в этом списке нужный блок. Вся информация с этого блока передаётся в переменные, и так мы узнаем какой ключ подставлять к этому архиву, и какой список файлов использовать для этого архива... Но прикол вот в чём... к примеру сформировали список по всем найденным архивам... не проблема, список загрузился... и тут пользователь хочет выбрать 2 файла. Один файл относится к gamedata.db4, другой к gamedata.db7. До распаковки, с помощью цикла программе надо проверять в каком архиве какой файл находится. Это и затягивает время. Я ещё раз пишу... я не программист, всех тонкостей не знаю... кидаться в меня тапками необязательно. Если есть желание можете спокойно объяснить на пальцах... как-то так... -------------------- |
 
|
|
01.04.2015, 18:40
Сообщение
#11950
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
и тут пользователь хочет выбрать 2 файла. Один файл относится к gamedata.db4, другой к gamedata.db7. До распаковки, с помощью цикла программе надо проверять в каком архиве какой файл находится. Это и затягивает время. одному файлу должна соответствовать одна запись, именно файл (его имя) является уникальным ключом. поэтому не нужны множественные "файлы с сохранением структуры", где ключевым является имя архива. как я понимаю, сейчас используется типа такого: Код db["gamedata.db0"] = {"config/alife.ltx", "config/external.ltx", "config/defines.ltx", ...} db["gamedata.db1"] = {"config/alife.ltx", "config/external.ltx", ...} db["gamedata.db2"] = {"config/alife.ltx", ...} ... тут чтобы найти самый "свежий" файл действительно нужно перешерстить все архивы. я же говорю вот о чем: Код db["config/alife.ltx"] = {"gamedata.db2", ...} db["config/external.ltx"] = {"gamedata.db1", ...} db["config/defines.ltx"] = {"gamedata.db0", ...} ... |
 
|
|
01.04.2015, 18:48
Сообщение
#11951
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Rezzoxe, а без заранее заготовленных списков можно обойтись? Ибо не факт, что в данном архиве будет именно тот набор файлов - от модов геймдаты не распакует.
Я ещё раз пишу... я не программист, всех тонкостей не знаю... кидаться в меня тапками необязательно. Мне кажется стоит изучить какой-то более продвинутый api и написать толковый распаковщик, который кушал бы архивы от всех известных билдов и финалки. Только тогда он будет пользоваться спросом. Сообщение отредактировал Shadows - 01.04.2015, 18:55 -------------------- |
 
|
|
01.04.2015, 19:18
Сообщение
#11952
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
тут чтобы найти самый "свежий" файл действительно нужно перешерстить все архивы. я же говорю вот о чем: Если я правильно тебя понял ты предлагаешь сделать один список по всем архивам и напротив каждого пути (config/alife.ltx) указать к какому архиву он относится? Rezzoxe, а без заранее заготовленных списков можно обойтись? Ибо не факт, что в данном архиве будет именно тот набор файлов - от модов геймдаты не распакует. Тот ли это набор узнаётся при помощи получения размера архива в байтах, как программа получила размер, она шерстит свою базу, если находит список который совпадает с этим архивом, то она его загрузит. Если у какого-то мода был архив gamedata.dbz и после обновления мода изменился и размер архива, то программа просто проигнорирует этот архив... Ещё раз... это лишь gui... основана на converter.exe. По-файловая распаковка возможна вообще благодаря ключу -flt Другое дело написать алгоритм как у ДонРебы и без всяких списков программа будет знать какой файл в каком архиве находится... -------------------- |
 
|
|
01.04.2015, 19:48
Сообщение
#11953
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
01.04.2015, 19:59
Сообщение
#11954
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
Мне кажется стоит изучить какой-то более продвинутый api и написать толковый распаковщик, который кушал бы архивы от всех известных билдов и финалки. Только тогда он будет пользоваться спросом. В моём случае уйдёт не один год... а там уже актуальности вообще не будет )). Вчера копал патчи к тч\чн\зп... сверял архивы разнообразных финалок... и больше проблем вышло )). Например некоторые архивы от GOG по тч имеют другой размер и некоторые данные по отношению к первым изданиям. У меня есть оригинальные образа и версии 1.0000. С патчами тоже напряжёнка файл gamedata.dbb имеет три разных варианта, и это только для русской версии. Патчи от гог для чн и зп так же имеют другие размеры нежели то, что у нас было на дисках от первых издателей. Условий уйма... и подготавливать списки для каждого такого условия... конечно это бред. Есть один вариант. Есть человек который может написать алгоритм распаковки по новой, но более универсальный и не прихотливый. А пока приведу в порядок эту версию: http://www.gameru.net/forum/index.php?showtopic=40309 Некий ребрендинг... вместо отдельных кнопок по билдам будет отдельный блок по распаковке любых архивов, пользователю останется лишь подставить ключ для распаковки. Конечно там никакой по-файловой распаковки не будет, чисто архивами. Максимум что попробую так это для тч\чн\зп сделать распаковку по папкам. Полная распаковка будет поддерживаться только для ru версий. любые другие архивы можно будет распаковать в отдельном блоке. Может добавлю ещё и упаковку... Что-то типа этого, как я показывал ранее: ...создающийся (генерирующийся) в памяти в момент запуска. никаких заранее созданных "файлосписков", никакой идентификации по размеру архива. Каким образом я буду знать содержимое архива? )). Повторюсь гуи основана на этом: -------------------- |
 
|
|
01.04.2015, 20:21
Сообщение
#11955
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
Каким образом я буду знать содержимое архива? воспользовавшись Есть человек который может написать алгоритм распаковки по новой, но более универсальный и не прихотливый. универсальнее чем вышеприведенный конвертер, который портирован |
 
|
|
01.04.2015, 22:34
Сообщение
#11956
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
универсальнее чем вышеприведенный конвертер, который портирован даже в quickbms? Говорит что может... за что купил, за то продал, но сейчас занят он пока. воспользовавшись тем же источником. Да не поможет это мне... я лишь выучил синтаксис NeoBook... кучу всего она делает сама. Никогда я не занимался взрослыми языками. на худой конец заюзать у конвертера ключ "-ro", получить список файлов в текстовом виде и распарсить его А вот это уже другой разговор... даже и не знал о такой возможности! И почему все молчали, когда я писал что подготавливаю списки заранее -------------------- |
 
|
|
01.04.2015, 23:18
Сообщение
#11957
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
Всё правильно сделал?:
Стыдно-то как! с консолькой вожусь с 2009 года... а на этот ключ вообще не обращал внимания update: а в принципе и так можно: converter.exe -ro -2947ru gamedata.dba Сообщение отредактировал Rezzoxe - 01.04.2015, 23:36 -------------------- |
 
|
|
02.04.2015, 00:05
Сообщение
#11958
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
это если достаточно только названий файлов. но в конвертере есть и такое:
Код if (DB_DEBUG && fs.read_only()) { msg("%s", path.c_str()); msg(" offset: %u", offset); msg(" size (real): %u", size_real); msg(" size (compressed): %u", size_compressed); ... нужно только переопределить #define DB_DEBUG 1 и переделать вывод в более удобный, типа msg("%s;%u;%u;%u", path.c_str(), offset, size_compressed, size_real)". Цитата я лишь выучил синтаксис NeoBook... если этот "синтаксис" позволяет открыть файл и прочитать один байт, то этого вполне достаточно, чтобы реализовать свой вариант распаковщика ;) |
 
|
|
02.04.2015, 00:20
Сообщение
#11959
|
|
Игроман Репутация: 202 Группа: Участник Сообщений: 918 Награды: 6 Регистрация: 17.10.2009 |
есть и такое: На русский если можно если этот "синтаксис" позволяет открыть файл и прочитать один байт, то этого вполне достаточно, чтобы реализовать свой вариант распаковщика Есть плагин, оно: Цитата Общие функции: NeoHexCreate - Создать обьект редактора в прямоугольнике NeoHexRemove- Удалить обьект редактора из прямоугольника NeoHexLoad - Прочитать hex-данные из бинара и активизировать редактирование NeoHexSave - Сохранить данные из редактора в файл NeoHexUndo/NeoHexRedo - откат/возврат сделанной операции в редакторе Визуализация: NeoHexConfigure - настройка внешнего вида редактора NeoHexGetSettings - получает настройки редактора и сохраняет их в переменные Операции с файлом NeoHexFileToHex - сбрасывает содержимое бинара в hex-файл в виде набора байтов, их можно редактировать самому с помощью FileWrite и пр... )) NeoHexToFile - собирает из временного hex-файла бинар NeoHexFileToVar - сбрасывает содержимое бинара в указанную переменную NeoHexVarToFile - собирает бинар из указанной переменной -------------------- |
 
|
|
05.04.2015, 07:46
Сообщение
#11960
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Как убого смотрятся кадры из сталкира в 2015 году.
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
05.04.2015, 07:49
Сообщение
#11961
|
|
Почти Мастер Репутация: 174 Группа: Участник Сообщений: 1052 Награды: 5 Регистрация: 11.10.2006 |
Это все потому,что показали кадры из релиза, или близкого к релизу билда. Надо было показывать кадры из билдов 2003-2004 годов :3
-------------------- |
 
|
|
Текстовая версия | Сейчас: 16.06.2024, 17:53 |