Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - SeregaZ

Страницы: [1] 2 3 4 5 ... 78 Далее
2
а ты точно уверен что дело именно в неправильных контактах? мультиметром проверял что куда идет?

3
я тоже плевался, когда все это увидел. но по дурости сделал совместимо с yy-chr. а потом из-за этого пришлось лепить костыли поверх, чтобы сделать зеркала, которые yy-chr не умеет :(



сейчас то понятно - гори эти матрицы синим пламенем :) надо было сделать тупо вставить картинку и все. но из-за этого сраной совместимости сделал через матрицы. чтобы эти-же файлы можно было в yy-chr открывать. но потом приспичило зеркала и тут yy-chr вышел из чата окончательно.

4
там вроде сначала надо выбрать шаблон. если речь про спрайт, то видимо от 1х1 (8х8 пикселов) до 4х4 (32х32 пикселя). и рисовать уже в пределах этого шаблона. то есть если там стоит к примеру 4х4, то размер и будет всегда больше. то есть размер картинки больше, а ты рисуешь только в левой верхней части. поставь шаблон меньше.

сам не умею ею пользоваться. сделал свою в редакторе Дюны :)

5
Hard'n'Soft / Steam
« : 20 Март 2024, 10:18:46 »
Главное авторизоваться и качать-запускать игры он даёт?
да. полный функционал. ачивки получаются, игры играются, статистика сколько часов наиграно учитывается.

6
Hard'n'Soft / Steam
« : 19 Март 2024, 10:18:08 »
стим продолжает работать. висит плашка что 0 дней и мы все умрем, но продолжает работать. пока-что.

7
для меня нет. но видишь ли автор софта должен позаботиться обо всем заранее, чтобы пользователю софта было очень приятно пользоваться, без необходимости всяких танцев с бубном. а то тут получится как с той Идой... питон поставь, саму иду поставь, плагин поставь, что-то там настрой, и после один хрен оно работать с ASM68K.exe не будет. это же просто капец капецные костыли :)

особенно порадовала рекомендация про SSD. как раз таки он наоборот не любит, когда ему пишут и пишут без конца.





8
проблемы особо как бы и нет. это просто не вежливо миллион раз создавать файл на жестком диске. память то в этом плане гораздо удобнее и быстрее и ресурс у неё куда побольше будет, чем у жесткого диска.

9
то есть работу с эмулятором через образ памяти внутри эмулятора ты не сделал? то есть не создавая временный файл на жестком диске.

11
сжатие графики то вроде есть утилита. кто-то делал тут на форуме - декомпрессор там чото там... весь вопрос найти адреса где это лежит.

наврал. UMK3_CODEC.

12
конечно было бы здорово сделать сборщик мк3у, как Дюновский... но там жеж ромхакинг знать надо :) поэтому нет. не думаю что это возможно. даже начиная с элементарного - найти адреса, где эти экраны лежат - уже целая история. я только один находил - тот самый вильямс для изменения размера... но увы. куда-то дел эту папку и найти не могу...
хотя и подумываю сделать (попытаться) сдвиг кода, который в конце рома - наверх, чтобы как с обычным МК3 в свое время сделал для пересбора звуков - то есть чтобы код сдвинуть наверх, на место где раньше был звук, а сам звук дописывать в конец рома, не переживая за размер новых банков. но там затык, что мой декомпилер по три часа переформатирует выводные строки и это меня раздражает :) типа жму С на не разобранном коде и пол часа оно там думает... на маленьких ромах вроде ничего - шустро. а вот в МК3UHack - доооооооолго.

13
а я думал в честь 300-ой страницы обсуждения...

14
jmp еще надо :) чтоб все как у меня в декомпилере получилось.

15
хочу изменить разрешение экрана на титульнике. для этого надо было изготовить новую картинку под 320х224.

Добавлено позже:
а переделать тройку не такая уж проблема. минут десять затупливания мышкой и готово:



Добавлено позже:
Что это даёт?
два слоя с полностью уникальными тайлами невозможно сделать. поэтому надо обязательно делать оптимизацию. проблема то в чем - в тайловой карте под номер тайла отведено значение из 11 битов 0-10 биты, то есть $7FF = 2047 максимальное значение. тайловая карта для 320х224 = 2 240 байт. делим на 2 (два байта на описание тайла, то есть номер тайла, зеркала, палитра, приоритет) = 1120 тайлов на слой. соответственно на два слоя полностью уникальных тайлов надо 2240, а у нас лимит 2047. это один момент. момент номер два: память содержит не только тайлы, но и таблицу спрайтов и сами эти тайловые карты. получается идет сначала большой блок тайлов, прерывается на эти самые карты и таблицы спрайтов, небольшой блок тайлов опять, опять прерывается на карту, и в конце малый блок тайлов. малый в хаке используется под надписи - старт игры, опции, и видимо читерские пункты после ввода кода. хотя еще надо посмотреть вкуда они вписываются... поэтому фактический лимит даже еще меньше чем $7FF. в смысле чтобы не блудить дебри с разделением тайлового сета на 2 куска, а влезть в первый блок. от части конечно может помочь перенос таблицы тайлов наверх, как это кажется в Вектормене сделано. но это ж ромхакинг знать надо :) а сами мы не местные... поэтому придется вписываться в ограничения этого самого первого блока. для чего первый слой имеет самый нагруженный пикселями тайловый набор, где все, кроме одного повторяющегося - уникальные. а вот второй имеет самое маленькое количество пикселов, и докучи еще и оптимизирован, чтобы количество тайлов для второго слоя было минимально. в результате картинка влазит в 320х224, имеет 31 цвет, а не 15, и влазит в первый блок тайлов.


слева 16 цветов. справа 16 + дизеринг.


16
в процессе запиливания экрана сделал себе маленькую програмку, которая берет картинку из 31 цвета и раскладывает на 2 слоя (картинка 320х224 размером). сортирует по количеству пикселей цвета, запихивая в первую палитру самые тяжелые цвета, оставляя мелочь для второго слоя. после можно поковырять цвета на изображении, поменять местами типа из 1 палитры во 2 перенести, объединить какие-то похожие цвета и третья кнопка - подкрасить. то есть сначала левой кнопкой мышки выделяем тот цвет, который частично будет перекрашен, после правой выделяем тот цвет на который будет происходить перекраска и в ручную где нужно перекрашиваем. после каждой операции объединения цветов или подкраски - надо жать кнопку применить, чтобы запомнить изменения. экспортировать можно в тестовой ром, после собрать и посмотреть в эмуляторе готовый результат. то есть по итогу с помощью этих маневров можно уложится в лимит тайлов и сделать второй слой менее тайлоемкий. типа если первый слой, так и быть, отдаем полностью под все уникальные тайлы - $45F = 1119 штук, то вот за второй еще можно побороться. у меня по итогу картинка влезла в первый блок памяти, до тайловой карты.




17
иде модератор? пусть зайдет все почистит. чо срач разводить на пустом месте? танки игра рульная? рульная. на том и порешили.

18
дали сегодня пак из прототипа Star Wars :) надо добавить в базу.

19
оно как бы везде есть, просто эмули сами растягивают и приставка собственно тоже растягивает и как бы юзверь и не замечает. просто если ставить растягивание в эмуляторе - картинка чуть портится. у меня растягивание отключено в Gens и поэтому картинка скачет.

я понимаю что во времена когда деревья были большими и трава зеленее, то бились за каждый байт информации и такой экран действительно будет на десяток байт больше к примеру, но сейчас то уже, когда вон ромхак мк3у аж 6 мегабайт - то как бы пофиг уже на размер стало. посему хотелось бы уж эти экраны видеть человеческие, без метлешения размеров. но это исключительно мое диванно икспердное мнение :)

Добавлено позже:
да, стартовое меню тож обрезанное не 40тайлов в ширь, а 32 или сколько-то там... вильямс тоже видно что не по центру, то есть обрезанный.


20
это все фигня. как размер экрана вильямс изменить? я хочу чтоб размер экрана у всех титульников был одинаковый. а то меня раздражает когда размер экрана скачет. по моему еще входное меню тоже с маленьким размером. но то ладно... хотя бы этот для начала бы "починить". сам размер то я увеличил, нашел где он, распаковал, спаковал, засунул в конец игры....... нооооооо вот сам переключить где режим вывода - то есть размер экрана я хз.

21
крики и музыку видимо оставили чтобы у них ничего не поплыло в нумерации инструментов и семплов... хотя если у них оставались сурсы GEMS - то почему бы не пересобрать? еще может вариант что изначально был специалист, которые этим занимался, а потом он слинял, а те кто остался - не очень в этом шарили. впрочем это все конспирологические теории :)

и я, кстати, ультимейт всегда считал не официальной игрой, а каким-то не удачным ромхаком МК3...

22
пока тупик и продвижение в моих задумках нет - подумываю сделать сохранение ручного парсинга. наверное это будет текстовой файл, типа "название рома.adr", куда будут складываться все найденные адреса первый раз и добавленные вручную через С. соответственно при загрузке рома сначала будет произведена проверка: а не загружался ли данный ром ранее? если да, то загрузить лист адресов из этого файла. правда остается вопрос - исправленные адреса туда пихать, или все-таки оригинальные... то есть когда адрес прыгает не на начало команды, а на параметр.

а докучи бы еще цветовую подсветку. типа эти адреса были найдены друг за другом, при первоначальной загрузке рома, а эти вручную через С...

23
а бесполезно :) я объяснял объяснял человеку... потом плюнул и сделал свое. правда пока ума не хватает сделать с блекджеком и женщинами :)

еще зависит наверное от ассемблера. ASM68K.exe, зараза, иногда подкидывает сурпрызы. поэтому там умеючи надо.

24
неть, не помогло :) как тупил мk3uhack так и тупит... стало конечно быстрее, а с маленькими ромами так и вовсе почти как в иде шустро, но хотелось бы чтоб хоть 10 мегабайт ром загрузи - так-же молниеносно обрабатывало. еще наверное надо сохранение будет переработать. сейчас при сохранении опять перерасчет идет :)

да и если много баловаться С и R - вылетает, зараза :)

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

26
теперь дает заселектить только четные байты, и подсвечивает оба байта возможного опкода, если он разбит на строки или даже между ними метка. в случае если был нажат горячий дизасм - метка сама поменяется на метка+1 в том месте, откуда она ссылалась на этот адрес.

Добавлено позже:
однако затуп при горячем дизасме меня расстраивает :) я сделал так:
1. первоначальный парсинг. собирается только код и вносится в лист.
2. происходит копия этого листа в некую базовую копию.
3. происходит добавление в лист "бэшек" - то есть нераспарсенного кода. (получается дописывает в конец листа все блоки бэшек)
4. сортировка листа по адресу в роме. тут все становится на свои места. блоки кода правильно чередуются с блоками бэшек.

тут приспичило пользователю жмакнуть С - горячий дизасм на какой-то бэшке.
1. происходит восстановление копии первоначального парсинга кода в основной лист.
2. происходит добавление нового адреса, или даже адресов, что родились при горячем дизасме.
3. происходит добавление в лист бэшек.
4. сортировка листа по адресу.

пользователь остался недоволен и жмет R - reset, сброс, возврат к предыдущему состоянию.
1. происходит восстановление копии первоначального парсинга кода в основной лист.
2. происходит добавление в лист бэшек.
3. сортировка листа по адресу.
хотя пока писал и подумал что наверное надо делать копию текущего листа со всеми бэшками до нажатия C и восстанавливать её, если пользователь нажал R.

пользователь решил сохранить результат и жмет S - save.
1. к первоначальной копии листа "только код" добавляется новый адрес и код с этого адреса.
2. делается копия в базовую копию
3. происходит добавление в лист бэшек.
4. сортировка листа по адресу.
поэтому то и отмена, если пользователь все-таки сохранил результат - не возможна. то есть уже в сохраненную базовую копию были внесены изменения.

самое долгое во всем этом - добавление бэшек. это занимает 95% времени затупа. во время этого добавления происходит коллекционирование бэшек в 16 в ряд, печать, и если встречается метка - метка или код - делит блоки бэшек. и вот эта катавасия жрет основное время и портит мне все настроение, и портит впечатление от программы.

27
видимо в тот момент я думал о голых женщинах и все пропустил. значит будем прикручивать четность, чо уж...

Добавлено позже:
хныыыыыыыы... никогда такого не было и вот опять! поскольку у нас тут теперича религия четности, то хотелось бы чтоб нераспарсенный код всегда начинался с четного. а то сейчас селектица криво, если метка пришлась на нечет... вот значит я думаю надо добавить проверку на метки. если метка летит на нечетный адрес - сдвигать метку на 1 байт влево, а в той команде где она использовалась, добавлять плюсиком +$1, так-же как в других мутных местах уже делаю. хотя визуальная ценность сего решения весьма сомнительная... в том плане, что жмакнув на такой ссылке с плюсом - окно перекинет именно что без плюса, то есть будет не точная адресация для глаз пользователя... голова то дырявая и не удержит заметку, что там на самом деле +1.



Добавлено позже:
либо ладно хрен с ним. подумаю над селектом, чтобы он через строку прыгал и правильно подсвечивал зеленым два разных кусочка предполагаемого опкода - два байта.

28
и рано я радовался :) показалось что горячее дизассемблирование работает шустро, хотя по прогнозам должно было тухло работать... а это я тестовой ром маленький гонял и радовался :) загрузил хак мк3у и все... затуп в этот момент неимоверный :)

29
ну так в принципе готово. пока без этой проверки на четный байт для старта парсинга. по идее ида то дает возможность на любом байте начать парсить и на четном и на не четном. другое дело если команды только на четные байты - то тогда ида ошибается :) дальше уже эмулятор только подключать пытаться остается... ну или за ассемблер засесть. хотелось бы эмулятор всеж сначала - но там ваааааще не понимаю. с ассемблером то все понятно, за исключением добавления попаболи с математическими операциями внутри параметра. но я думаю можно хотя бы сначала без операций сделать ассемблер, с шаблонными параметрами. а вот эмулятор... не понятно.

30
ну из десятка ромов, которые я грузил в свой дизассемблер - такие "битые" ссылки встречались раза два всего. поэтому то я и подумал о косяках разрабов.

из соседней темы я узнал, что у меня есть огромная семья... что команды надо читать из четного байта. это прям закон закон? я к тому, что сейчас я мышкой тыкаю в любое не обработанное место и с этого адреса начинается попытка парсинга. то есть можно тыкнуть на нечетный байт. просто если реально команда может лежать только в четном байте, то я тогда должен буду переделать, чтобы селект можно было выставить только на четный байт и уже с него, если надо, стартовать парсинг. однако я сужу по примеру банков GEMS - там совсем не обязательно что банк будет размером кратно 2. то есть последующий байт после банка может быть не четным, а поскольку данные в роме идут друг за дружкой, то соответственно какая-то команда, получается, может выпасть на не четный байт. поэтому хотелось бы сей момент уточнить...

Добавлено позже:
SeregaZ, может этот LEA будет ссылаться на те байты внизу скрина, когда по итогу будет использован?
этот плюсик +$2 и делает прыг LEA точно таким-же, как он и был в оригинальном коде рома. то есть с точки зрения рома ничего не изменилось, то есть мой дизассемблер делает асм код такой, который ASM68K.exe на выходе собирает 1 в 1 как оригинальный ром. то есть в этой метке, не смотря что она теперь указывает на другое место, из-за дополнительного +$2 получается значение, какое и должно было быть. сами то метки в ром не попадают - они лишь маркеры для ASM68K.exe откуда производить расчеты. поэтому тут все в порядке :)

Добавлено позже:
предварительно вроде горячее дизассемблирование по кнопке С сделал. и она даже ругается, когда в результате парсинга найдет ошибки и просит вернуть как было. и поскольку с функционалом отмены тут целая история... то как в Иде я не сделаю. нужно будет вручную кнопками R - reset или S - save подтверждать или сбрасывать результат парсинга. это не совсем удобно... и если было подтверждено сохранение, то потом уже нельзя будет откатить, как ида делает. типа превратить обратно код в сырые байты - undefine. пока без того правила четных байт. подожду отмашки, что это прям реально закон и сделаю, если смогу. а то могу и не смогу... ведь получается у меня "бэшки", с целью более быстрого сохранения - сохраняет в ряд по 16 штук. и первый байт это совсем не обязательно что четный. надо кумекать как это сделать...

Страницы: [1] 2 3 4 5 ... 78 Далее