31. alex_231 - 27 Декабря, 2015 - 13:37:56 - перейти к сообщению
Ок, сейчас попробую кодек наваять.
32. Mefistotel - 27 Декабря, 2015 - 13:43:31 - перейти к сообщению
Главное перерисовать сжатую графику и вставить её обратно.
33. Guyver - 27 Декабря, 2015 - 13:45:26 - перейти к сообщению
Главное мне потом сказать ск-ко какой пакет должен весить в сжатом состоянии. Ск-ко там тайлов и т.д. Чтобы я лишнего не затёр как обычно...
34. Guyver - 27 Декабря, 2015 - 18:54:51 - перейти к сообщению
Нашёл ещё 1 место в игре, где надо перерисовать графику. Если пройти 1 этап - просто добежать за 30 секунд до конца экрана справа и взять звезду, будет надпись
LEVEL COMPLETED!
TOTAL
Два эти слова не находятся никак в роме и графика их осталась незатронутой при перерисовке шрифта. Кажется, это картинка... Так как цифры - перерисованные вроде, я цифру "4" под букву "Ч" стилизовывал - и она тут именно такая. А алфавит слов этих не тронут остался...
LEVEL COMPLETED!
TOTAL
Два эти слова не находятся никак в роме и графика их осталась незатронутой при перерисовке шрифта. Кажется, это картинка... Так как цифры - перерисованные вроде, я цифру "4" под букву "Ч" стилизовывал - и она тут именно такая. А алфавит слов этих не тронут остался...
35. Mefistotel - 28 Декабря, 2015 - 13:36:29 - перейти к сообщению
Создал страницу перевода Call of Cthulhu: Shadow of the C omet.
Саня, помимо адресов сжатых пакетов, ты инструментарий то наваяешь?
Саня, помимо адресов сжатых пакетов, ты инструментарий то наваяешь?
36. alex_231 - 28 Декабря, 2015 - 15:05:38 - перейти к сообщению
Пытаюсь, там ни разу не LZ, вот сижу код ковыряю.
37. alex_231 - 28 Декабря, 2015 - 16:23:41 - перейти к сообщению
Офигеть... я сам не понял как декомпрессор написал , оказалось всего 4 условия в работе RLE алгоритма. Думал буду ещё долго ковыряться, а тут раз и готово .
Займусь тогда компрессором.
Займусь тогда компрессором.
38. Марат - 28 Декабря, 2015 - 17:50:41 - перейти к сообщению
alex_231 пишет:
Пытаюсь, там ни разу не LZ, вот сижу код ковыряю.
А, по-моему, LZ. Там в коде происходит оперирование смещениями и копирование, т.е. это словарное сжатие.
Спойлер (Отобразить)
39. alex_231 - 28 Декабря, 2015 - 18:29:56 - перейти к сообщению
Но оперирование смещениями здесь используется без масок, характерных для LZ, а параметры копирования задаются условием первого байта, читаемого на каждом шаге работы алгоритма. Это больше похоже на продвинутый RLE с копированием, чем на LZ.
40. Марат - 28 Декабря, 2015 - 19:18:32 - перейти к сообщению
Ну, это не классический LZ. А лишь один из вариантов его реализации. Как раз таки характерного копирования RLE байта здесь нет. А ведь именно по этому признаку можно говорить о том, что это RLE. Для LZ характерно копирование предыдущей строки длиной X байт.
Уверен, тебе придётся реализовывать скользящее окно. Процедуру поиска подстроки. Т.е. всё тоже самое, что ты делаешь, когда пишешь компрессор для LZ кодека.
Уверен, тебе придётся реализовывать скользящее окно. Процедуру поиска подстроки. Т.е. всё тоже самое, что ты делаешь, когда пишешь компрессор для LZ кодека.
41. Mefistotel - 28 Декабря, 2015 - 23:19:15 - перейти к сообщению
Если декомпрессор готов, то нужно скорее дать Гайву графику с картами для перерисовки.
42. alex_231 - 29 Декабря, 2015 - 01:53:05 - перейти к сообщению
Марат, может и так, я с теорией как-то не очень.
Вечером вытащу графику и карты.
Вечером вытащу графику и карты.
43. Guyver - 29 Декабря, 2015 - 09:19:02 - перейти к сообщению
УРЯ! Только алекс, постарайся расписать что да как, может я вставить попробую? Или это только ты своими утилитами сможешь?
44. alex_231 - 29 Декабря, 2015 - 13:42:08 - перейти к сообщению
Если кодек нормально напишу, то сам сможешь вставить.
45. Guyver - 29 Декабря, 2015 - 14:34:14 - перейти к сообщению
Давай, чел. Я очень надеюсь. Ибо на НГ больше ничего могу не успеть кроме санты. Так как то, что я на НЕС делаю, надо тестировать. А это рпг...
46. alex_231 - 29 Декабря, 2015 - 14:36:03 - перейти к сообщению
Вот графика и карты. Файлы с пометкой "orig" взяты из дампов памяти, так как декомпрессор их немного коряво вытаскивает, но я его сейчас поправлю.
47. Guyver - 29 Декабря, 2015 - 14:43:36 - перейти к сообщению
Можно рисовать?
48. alex_231 - 29 Декабря, 2015 - 14:54:33 - перейти к сообщению
Да, только там некоторые файлы 8bpp и карты SNES-овские двухбайтные, там где-то была прога для подобных случаев (map image, вроде).
49. Марат - 29 Декабря, 2015 - 15:08:39 - перейти к сообщению
Да и плагин есть на сайте для yy-chr.net для 8bpp snes графики.
50. Mefistotel - 29 Декабря, 2015 - 15:13:59 - перейти к сообщению
Новость создал, страницы переводов тоже.
51. alex_231 - 29 Декабря, 2015 - 15:25:28 - перейти к сообщению
Всё, декомпрессор доделал, возвращаюсь, к компрессору.
52. Guyver - 29 Декабря, 2015 - 15:39:35 - перейти к сообщению
Алекс, графика какая-то странная. Некоторые тайлы перевёрнуты вверх ногами, слева-направо и т.д. Жесть...
53. alex_231 - 29 Декабря, 2015 - 16:00:25 - перейти к сообщению
А я о чём, там эти все перевёртыши картой обрабатываются и получается нормальная картинка.
Я подозреваю, разрабы были извращенцами и жадинами и сделали такую фигню для трудности редактирования
Я подозреваю, разрабы были извращенцами и жадинами и сделали такую фигню для трудности редактирования
54. alex_231 - 29 Декабря, 2015 - 16:11:15 - перейти к сообщению
А ещё у них извращенский алгоритм сжатия, вернее границы копирования у него извращенские:
максимальное смещение - 65535 байт (64кб - это ещё терпимо), а максимальная длина копируемой последовательности - 8191 байт (8кб - а тут - полный абзац,
на моей памяти самой длинной копируемой последовательностью - в LZ - было 18 байт).
Как это вообще можно нормально заставить работать? Кодек будет полдня один файл сжимать, если реализовать макимальную степень сжатия.
максимальное смещение - 65535 байт (64кб - это ещё терпимо), а максимальная длина копируемой последовательности - 8191 байт (8кб - а тут - полный абзац,
на моей памяти самой длинной копируемой последовательностью - в LZ - было 18 байт).
Как это вообще можно нормально заставить работать? Кодек будет полдня один файл сжимать, если реализовать макимальную степень сжатия.
55. Guyver - 29 Декабря, 2015 - 16:18:00 - перейти к сообщению
Я при перерисовке стараюсь несколько тайлов сделать пустыми. Может, сжатие будет из-за этого лучше. Уже перерисовал пару картинок, без карты тайлов. Надо пробовать вставлять.
П.С. А карта тайлов-то в оригинале не пожата же, да?
Вот файл для пробы (1 игрок, 2 игрока, настройки)
П.С. А карта тайлов-то в оригинале не пожата же, да?
Вот файл для пробы (1 игрок, 2 игрока, настройки)
56. alex_231 - 29 Декабря, 2015 - 16:39:04 - перейти к сообщению
Я тут ещё один момент заметил: походу графика в игре сделана в какой-то программе с сигнатурой SNESTLHD, эта запись встречается перед каждым блоком, содержащим палитру, карту и тайлы, которые помечены сигнатурами "CMAP", "ФILE" и "ВODY" соответственно, причем CMAP может содержать любое количество цветов, задающееся переменной, идущей сразу за сигнатурой в мотороловском виде (как на сеге).
57. alex_231 - 29 Декабря, 2015 - 16:40:53 - перейти к сообщению
Всё пожато, кроме палитры, причем, я опасаюсь, что все эти ресурсы взаимосвязаны, и запихивать их будет обратно ох как непросто
58. Mefistotel - 29 Декабря, 2015 - 17:24:46 - перейти к сообщению
Марат, ты на Сеге не смотрел что там?
59. Марат - 29 Декабря, 2015 - 17:44:38 - перейти к сообщению
Mefistotel пишет:
Марат, ты на Сеге не смотрел что там?
Нет. Да и зачем? Ведь эта версия уже почти готова. alex_231 справиться.
60. Марат - 29 Декабря, 2015 - 17:55:31 - перейти к сообщению
alex_231 пишет:
Я тут ещё один момент заметил: походу графика в игре сделана в какой-то программе с сигнатурой SNESTLHD, эта запись встречается перед каждым блоком, содержащим палитру, карту и тайлы, которые помечены сигнатурами "CMAP", "ФILE" и "ВODY" соответственно, причем CMAP может содержать любое количество цветов, задающееся переменной, идущей сразу за сигнатурой в мотороловском виде (как на сеге).
Как я понял, это один из множества вариантов IFF формата хранения графики. Кому интересно вот https://ru.wikipedia.org/wiki/In...ange_File_Format .