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

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


Сообщения - road_t

Страницы: [1] 2 Далее
1
то что тут написано не относиться именно к ГИТХАБУ. Любой аналогичный хостинг сервис это умеет.
Я этого и не говорил. Это обычная командная разработка. Но конкретно этот проект хостится на гитхабе.

2
Репорты наладим - для меня просто m68k только на текущих - но не самая актуальная платформа.
А так во всем остальном: ща чуть освобожусь, и активно присоединюсь.
Вот в этом и вопрос. Я сейчас занят по сути одним проектом под MD, поэтому поддержка мегадрайва самая лучшая, но я надеюсь с вашей помощью улучшить поддержку и других актуальных платформ.

Такой шикарный и многоплатформенный проект.
 :thumbup: :thumbup: :thumbup:
ndivision, спасибо за поддержку  :blush:

Chaotix, open source-разработка подразумевает КОМАНДНУЮ РАБОТУ. Гитхаб, несмотря на все свои недостатки (включая вонючих хозяев-фашистов), предоставляет хорошие механизмы. Как это работает:
1. На странице проекта создается issue с подробным описанием бага/недостающей фичи.
2. Проект форкается.
3. В форке проблема решается и создается  пулреквест.
4. Maintainer репы делает код-ревью в рамках issue и, если все хорошо, принимает PR, в результате чего он становится частью кодовой базы проекта, а issue, соответственно, закрывается.

Что сделал ты:
1. Выкачал устаревшую ветку себе на комп.
2. Залил ее на какой-то клон гитхаба, без какой-либо физической связи с оригиналом.
3. Навайбкодил что-то, сломав мультиплатформенность и часть функционала, но не описав подробно ни одной проблемы.
4. Объявил себя д'Артаньяном и спасителем человечества.
5. Предложил создателю оригинального проекта (т.е. мне) клонировать твой форк со стороннего ресурса и заняться исследованием того, что же ты там и как изменил, чтобы потом каким-то неведомым образом интегрировать твой код в ветку, которая ушла вперед на несколько десятков коммитов.

Проект открытый, так что ты можешь с ним делать почти всё, что хочешь (в рамках лицензии), но обижаться на то, что я не имею возможности (да и желания) ковыряться в коде, который решает непонятно какие проблемы непонятно каким образом – это несерьезно.

Если ты хочешь участвовать в развития open source-проекта, то есть правила и схемы взаимодействия (описанные выше). Просто так что-то навайбкодить клодом и сказать, типа "я молодец, а вы теперь е-сь с этим" – это не круто, это не командная работа, сомнительная самодеятельность.

3
SegaMark, да, я знаю, как устроен заголовок ромов MD) я подумаю, как это лучше сделать. Сделать подсказки при наведении несложно, но мне таблицы нравятся. Сделаю и так и так.

Базово, нужно создать секцию и, через контекстное меню выбрать Type->Graphics->MD. Для настройки точнее лучше открыть виджет графики (View->Dock->Graphics). Скажи, плес, в какой игре ты смотришь и где – я попробую найти, вдруг там какие-то проблемы. Как заметил Chaotix, багов и правда много. Находить их все я физически не в состоянии, поэтому очень нужны багрепорты.


4
Chaotix, я не собираюсь поддерживать старую версию, которую ты форкнул. Если ты не понимаешь, что вытягивание коммитов из другой репы с последующим разрешением конфликтов – это, мягко говоря, сомнительная затея, то твоя компетенция вызывает большие сомнения.

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

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


5
Chaotix, кажется, обсуждение вышло за рамки темы и потеряло всякий смысл: ты перепилил продукт под себя, причем не самую актуальную его версию (поэтому ты не знаешь про поиск палитр и аудио), отношение к текущему RTHextion уже весьма относительное. Тред был создан для сбора фидбека и багрепортов по конкретно моему проекту.

Я же написал чтоб самому не отсчитывать. Вот ты знаешь что тебе нужно исправить определенный байт, скроллом пролистываешь до него(да я знаю что можно просто комбинацией перейти, но ситуации разные бывают), потом отсчитываешь байт от начала или тыкаешь и смотришь внизу его адрес. Проще сразу глазами увидеть и тыкнуть куда надо. Это сильно сокращает время разработки или модификации
Добавлю.


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


Добавлено позже:Охота прям значения в этих секциях видеть. Например где находиться чексумма, размер рома и тд и тп
Для известных типов ROM'ов чексумма исправляется автоматически (можно отключить). Выделить ее в секцию можно вручную. Размер рома написан в строке состояния.


Добавлено позже:Нет. С генерацией таблиц я боле-менее разобрался. Как сделать чтобы графика Сеги выводилась в панель graphics
Дай пример игры, давай посмотрим.


Добавлено позже:Ни в одном из них нету переноса строк. Только из за этого скачал и начал использовать этот редактор
За это благодарм Беларус, это была его идея.


Добавлено позже:Обычно этим занимаются другие разработчики, я кучу программ видел где кантрибьюиеров добавляли только потому что он перевел на свой язык. Можно сделать чтоб каждый перевод был в отдельном файле(возможно сейчас так, я еще не смотрел), и пулл реквестами можно было добавлять эти файлы
Разумеется, переводы в отдельных файлах
В целом, я уже пожалел, что добавил поддержку языков, т.к. не все из них я знаю достаточно хорошо, а поддерживать переводы в актуалном состоянии – тот еще гемор.

6
Я короче форкнул редактор для себя. Портебл версия:
Neohextion
Не гитхаб?.. даже не знаю, хорошо это или плохо.

Ну а чо делать, портебл ты делать не хочешь и говоришь, что в ini это не модно, надо писать в реестр. :(

Теперь портебл, настройки сохраняет в settings.ini, без вариантов. Так правильно. По умолчанию японский шрифт моноширинный встроен, 1:2 к английскому (что бы ровно).
Это какая-то странная тема. Есть настройки проекта, можно их расширить немного (хотя ты выкинул темы, так что, не знаю, что там расширять). Они сохраняются в настройках в новой версии, но не в .ini, да.

Только для Винды.
Ну вот в этом и проблема. Я виндой не пользуюсь больше десяти лет и не вернусь на неё. Смысл именно в кроссплатформенности.

Добавил иконку, без иконки было не солидно.
А иконки под виндой разве не было? Это баг.

Скомпилировано GCC, поэтому не должно требовать рантаймов visual c++ runtime.
А причем тут visual c++ runtime, если база – Qt? И какая разница, чем скомпилировано? Хоть шлангом.

На базе старой версии, до того как был добавлен дизассемблер. Потому что дизассемблер в гекс редакторе не_нужен. Разработка куда-то идёт не туда, если честно. Гекс редактор должен быть простым как wxMEdit. Но никто не слушает.  :neznayu:

А редатор в целом ведь норм, жалко его. Поэтому и приходится допиливать. Раз GNU, то не обижайтесь на самодеятельность.
Для этого он и GNU. Форкай сколько влезет) У меня другое видение: это должен быть не просто редактор, а полноценная среда для ромхакинга.

Этот ваш Qt6 компилировался три блин часа, между прочим! Поэтому, не хотелось влазить в это болото, но что делать. Всё ради портебл.
Оно рассчитано в основном на сборку на мощностях гитхаба. Если бы я у себя собирал – с ума бы сошел.

У меня работает, но на разных системах не тестил. Я доволен, теперь можно пользоваться, только иконки сделать как в 010 Editor, а не как на этих ваших Маках, разноцветные и большие. :-\
Надо как у Винды 98, маленькое и пикселявое. Но это потом.
Иконки мне тоже не нравятся.

Добавлено позже:
Если провести аналогию, то надо как на картинке по центру.
Сейчас идёт в сторону, как справа.

Дизассемблер m86k нужен, но не всем. Теряется универсальность, сильно большой заход в мегадрайв.
Для тех, кто редактит игры Cоньки или компа это лишнее, например.

Если напихивать дизассемблер и прочее прочее, то софтина перестаёт быть просто hex-редактором и превращается в среду разработки для моддинга ромов именно Genesis. А Saturn что? Чем редактить игры Сатурна? Где дизассемблер SH-2? А PlayStation 2? А PSP?

Но, я не смотрел как там сейчас сделано в RTHextion. Если плагином, который подключает дизассемблер нужной платформы и не сильно усложняет код, то наверное норм.
Если неотключаемая фишка, то нужно только ромхакерам Genesis.

Тут ещё проблема в том, что чем больше кода, тем сложнее в нем разобраться со стороны.
Ну вот ты посмотри. Там дизасмы для разных систем. Лучше всего работает для m68k – это правда, но, кроме этого есть Z80, 6502, ARM, R4300 и V30MZ.



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

(Ссылка на вложение)

типа как здесь
Можно, а зачем? ©

(Ссылка на вложение)

Добавлено позже:
Тут что то говорили про значения в хедере. В идеале хотелось бы чтоб это было, и списком, и как в DnSpy

(Ссылка на вложение)
А чем разбор хедера на секции не канает?


Добавлено позже:
Когда нажимаешь в Tables->Generate а потом вводишь например букву A. Программа зависает. Хотелось бы возможность отменить этот процесс и видеть прогрессбар
Тут не прогрессбар нужен, а защита))


Добавлено позже:Как ее использовать? Я как не пытался она у меня не показывалась?
Генерацию таблиц? Блин, нужно хелп делать, мне это показалось интуитивно-понятным: ты вводишь строку, прога ее находит по относительным значениям и строит таблицу для латинского алфавита.


Добавлено позже:
хотелось бы чтоб предыдущее и следующее положение работало не только на кнопках в программе но и на кнопках у мышки и с комбинацией клавиш alt+← и alt+→
Это работает через шорткаты как у джетбрейнса: ctrl/cmd + [ (назад) и ctrl/cmd + ] (вперед)


Добавлено позже:
а как обратную операцию от parse сделать? а то у меня текст воспринимается как код и приходиться заново переоткрывать файл
[/quote]
Ну, либо ctrl/cmd+z, либо выделить секции и объединить обратно. А так вообще через контекстное меню секции можно выбрать, в каком виде она должна отображаться.

Добавлено позже:
Список фич:
- текст (код) можно копировать как base64, что бы просто было копировать разным chatgpt на анализ.
Странно. Не сталкивался с таким. Текс дизасма принимает нормально, хексы тоже.

Самое главное, правой мышкой выделение отключил, оно мешало пользоваться контекстным меню. Выделаешь типо, нажимаешь правой и выделение сбилось. В HxD и других отключено, только в RTHextion можно было выделять и это создавало проблемы.
Это, очевидно баг, который я не заметил, т.к. не пытаюсь ничего выделять правой кнопкой мыши. Да и мыши-то у меня нету.

- добавил кнопку "Run". Что она запускает, можно настроить в настройках. Эта же кнопка есть в "Execute" менюшке.
Возможно, потом добавлю туда "translate code" и что еще можно запустить. Пока там только "Run"
А тут поподробнее, как это работает? Ты указываешь приложение и передаешь файл как параметр?

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

- Все значки заменил на Tango, стандартную для Linux и знакомую по KDE. Стало выглядеть солидно.
А лицензия у них какая?

- Добавил переключение кодировок прямо на панельку, потому что это важное. Shift-Jis поставил в самый верх, что бы просто было найти.
Я думал так сделать, но это ни разу не понадобилось. Зачем менять кодировку на ходу? Это, по сути, одноразовое действие.

- Переструктурировал меню, теперь в других местах. Старался сделать более логично, как в HxD и wxMEdit, насколько это было возможно, за короткое время. Например, "кодировки" уехали из меню "Файл" в "Просмотр -> Кодировка текста".
Но, там все равно запутанно немного, но лучше чем было.
Нужно сделать ревью меню, оно там разрослось и запуталось, это правда.

- Удалил фичи, которые забаговывали прогу: поддержку тем оформления, пресеты и всё это. Тему менять теперь нельзя  и глючной кнопки "Default" нету. Она всё равно ничего не сбрасывала, только ломала.
Весь геморрой исключительно из-за темной темы. Достаточно было выпилить ее. А так лучше конечно починить.

Что бы сбросить настройки, теперь можно просто удалить ini файл в папке программы.
А зачем тебе это?

Если вам нужно несколько тем оформления, ну можно же держать несколько копий редактора. Он не хранит в реестре настройки, как оригинал.
Тот же вопрос.

- Удалил поддержку IPS. Создание IPS, загрузка IPS и всё это меню.
Чем тебе IPS не угодил? Я бы сделал свой нормальный формат, но IPS, по сути, индустриальный стандарт.

"Просмотр изменений" переехал в Window меню.
Спорно.

- Удалил поддержку мультиязыка и все соответствующие меню. Оставил только английский. Редактор ведь для переводчиков, они обязаны знать этот язык. Иначе как они переводить-то будут.
Может и правильно. Мне, в целом, плевать, но некоторым очень нужно юзать софт на родном.

И другие фичи, что я забыл. Уже много изменений короче, но в основном на юзабилити, чем на функционал.

Вроде ничего не сломал.

upd: нашёл три бага, но так в оригинале было. Если тему переключаешь светлая/черная, то глючит.
А точнее?

Если открыть несколько файлов, то шрифт только в первом норм.
Что это значит?

Если жмешь "новый файл", то работает не так как этого ожидаешь.
А как ты ожидаешь?)

Шрифт косячный высплывающей подсказки, если навести курсор на "закрыть окно".
скрин?

Карта изменений глючит, бывает белой становится.
После чего это происходит?

upd2: cамые критичные баги пофиксил, в версии 2.2.1 и новее. Шрифт теперь нормально в подсказках и между табами, при открытии новых вкладок открывается редактор с 00.
Осталось мало багов, но уже надоело. Пока останется так.
[/spoiler]
Ну тут ты должен меня понять))

Скачать можно на Gitflic в релизах.
Это вот меня печалит. Изначальная идея была в редакторе, который доступен на все популярные современные платформы, а под винду этого добра как говна.

7
ndivision, спасибо, работаю)

Ох ты ж, сильно. Я посмотрю, что есть на эту тему. Наверняка должны быть либы. Но пока я не очень доволен тем, как работает дизассемблер, более-менее норм пашет для M68k, с остальными дела похуже.

8
SeregaZ, напиши в телегу, ник такой же, как тут. У меня нормально дизасмится.

9
Не, там, в основном, CapeStone.  А что за рэмбо-то? На какую платформу?

10
SeregaZ, ну ты не торопись. Я и так уже функционала навернул, нужно заставить его четко и стабильно работать для начала.
Мне бы связь пооперативнее, группу в тележке или типа того.

Дизассемблер запускать не надо, это просто вид для секции. Можно поменять вид для всего файла:
312791-0



Лучше распарсить файл (пока работает кривовато, полирую):
312793-1



А там уже секцию можно отображать как хочешь:
312795-2


lupus, давай-давай, я там проверку обновлений добавил. Пока, правда, в стиле Bambulab Studio, когда качать нужно самому, но это как-то безопаснее.

Guyver(X.B.M.), сам в шоке. Я ваще хотел просто перевод фанкотрона доделать, а то скоро 25 лет будет, как я начал.


11
Беларус, Chaotix, SeregaZ, налетайте RTHextion 3.0 alpha

Меня конкретно понесло, но...

Работа с секциями серьезно улучшена, появились группы и, главное, типы секций:

Текст с возможностью указать таблицу


Дизассемблер (пока лучше всего работает для Megadrive, но работа продолжается.


Несжатая графика:


Аудио в разных форматах:


Как всегда, жду ваши комментарии. Только не судите строго, это-таки альфа, даже не бета.

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

 
ini для портебл это не легаси, это хорошо себя зарекомендовавший способ хранить конфиги.
Потому что формат хорошо читаем и не требует вообще зависимостей.

А YAML или JSON в большинстве случаев это оверкилл, если можно обойтись простыми парами "ключ-значение".
ini в контексте винды я воспринимаю как легаси, в контексте *nix – норм тема. Но, в данном случае, я предпочту YAML – таки-более современное решение.


Добавлено позже:
То есть, автор форка взял opensource проект, добавил полезных фичей и не выложил исходный код?
Скотина.

13
Ну как бы объяснить.. Не веришь мне, послушай Claude Sonnet 4.6
Послушал, добавил в плейлист  :crazy:

Это была практика эпохи Windows XP/7
Примерно на этом моменте моя эпоха разработки под винду закончилась, а на восьмерке и использование.

Суть проблемы:
"Если зайти в File -> Preferences -> Themes и переключится на любую тему, то настройка цветов слетает и всё становится серым.

И сбросить настройки на дефолт я не нашёл как. Ты говорил что можно, но где это, загадка. Нету такой кнопки. Хочется просто кнопку: "Сбросить Настройки" (Default // Reset setting to default). Её нету, либо так запрятано, что без чтения мануалов найти нельзя.
312315-0М?..

Понял, оно работает. Просто не всегда хорошо видно на чёрном и настройки вроде нету.
Цвет на карте совпадает с цветом подсветки сущности – иначе будет совсем непонятно. Цвета все настраиваются.

Ну мануала же нету и F1 не работает, поэтому RTFM тут не катит. Что понятно автору, не всегда очевидно со стороны, особенно когда нету никакой справки и описания ключевых фич и как ими пользоваться
Я уже понял, что без доков не обойтись. Начиналось-то всё мирно  :wacko:

Я пользуюсь программой одной, которую кидаю в разные папки с проектами. В каждом проекте у неё получаются свои настройки. Мне так удобнее. Может, и тут будет так удобно? :neznayu: В портативных версиях программ это очень удобно...

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

ини файл рядом с ехешкой. каждому проекту свое получается. но можно и переключатель - типа "использовать глобальные настройки" - копии программы лезут в реестр в одно и то-же место и читают настройки оттуда, а можно переключатель поставить на "свои настройки" - тогда ини файл рядом с инишкой. типа три проекта лежат и используют глобальные, а два типа свои отдельные каждый свой. и парни сыты и девки целы как говорится. и типа для работы можно будет друг другу такую инишку пересылать. нооооо это всего-лишь мое мимопроходилинг диванно-икспердное мнение :)
Ну ini – это что-то вообще из 1995 года.
Но я вас услышал, сделаю тогда YAML (как проект). Пока не знаю, как это в макоси реализовать, чтобы в этом был смысл. Но, на худой конец, сложу в APPDATA в винде, а на остальных системах оставлю как есть.

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

14
А как включить "Mini Map", как на скрине? В смысле, узкую полосочку предпросмотра возле прокрутки слева.
Она не отображается. Вроде бы была когда-то в первых версиях, после этого больше никогда не видел. Как включить не понял, на View -> Maps не реагирует.
Ты о которой? Их там две: карта изменений и карта поинтеров. Первая отображается, если включить отображение изменений в доке изменений. А вторая, если есть найденные поинтеры. Но можно выключить через View->Dock.

Ещё настройки, они сохраняются в реестре. Можно сделать портативно, что бы сохранялись в settings.json в директорию к самой программе? Ну или в ini, смотря что удобнее заинклюдить.
Это должно быть просто сделать, просто подключить либу и перенести эти настройки в конфиг. json просто подключается, одним инклюдом.
Почему в реестр? Обычно никто не любит, когда проги пишут в реестр (еще со времён ePSXe), потому что удаляешь прогу, а в реестре остаётся мусор и относительно сложно вычистить или забэкапить. Было бы даже лучше и правильно ложить конфиг в Appdata.
Приложение мультиплатформенное, построено на Qt. Соответствено, сохранение настроек унифицировано. Реестр – это дефолтный способ хранить настройки в винде. Во времена, когда я виндой пользовался, 99% приложений их там и хранило. А в чем суть проблемы? Настройки не редактируются через окно настроек? Для пользователя разницы, как хранятся настройки, быть не должно вообще.

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

Еще как пользоваться "Virtually Format" не разобрался. Вроде бы, вообще ничего не делает. Точно не то, чего от этого ждешь. Я думал, что это "Fill Selection", но нет. Например, в HxD просто выделяешь, нажимаешь правой мышкой и выбираешь "Fill Selection", пишешь каким кодом заполнить, например FF и заполняет эту область, удобно.

Здесь "Virtually Format".. Может лучше бы было назвать тоже "Fill Selection"? Это было бы логично. Что такое это "виртуальное форматирование"? Указываешь количество линий. Ставлю 8, Hex, Character = FF, жму Ok. Ничего не делает, ничего не меняется, просто курсор прыгает куда-то вниз.
Хотелось бы просто Fill области, которой выделил, как в HxD. В линиях непонятно как считать. Ну или по оффсету хотя бы от 1E7C485 и до 1E7C4EA допустим или в байтах, 66 байт например.
Блин, сорян) это вообще другое.

Ты ищешь 'Fill with':
312289-0

А виртуальное форматирование – это автоматическое добавление виртуальных переносов с разбиением по определенному символу. Количество строк – это количество добавляемых переносов.

Выделяем фрагмент, кликаем правой кнопкой:
312291-1

Выбираем virtually format:
312293-2

Результат:
312295-3




З.Ы. Прикладывай по возможности скрины: не факт, что баг проявляется у меня и мы можем просто не понять друг друга без картинки.

15
Да ладно, неужели никто не догадался еще?.. покурю capstone, но разве редактор графики не важнее будет?..

Добавлено позже:
рассказываю: это должен быть софт мечты, то есть и хекс редактор и дизассемблер и ассемблер и эмулятор со всеми возможными окнами дебагов (оперативка, видеопамять, регистры, палитры) в одном флаконе. чтобы все происходило в оперативке, без создания внешних файлов. сейчас же херня творится: сначала дизассемблер создает асм файл, после ассемблер создает ром файл, после эмулятор загружает этот ром, после смотришь эти окна дебагов с дичайше неудобным интерфейсом жопой деланные и опять сохраняются файлы трассеров к примеру на диске, находишь мутные места, правишь, повторить с начала. я конечно понимаю что сообщество ромхакеров это сообщество мазохистов, но не на столько-же! в наш век, когда всякие артемиды бороздят просторы вселенной и мотаются автостопом к Луне и обратно уж можно было бы придумать что-то адекватное и современное, а не эти все калечные инструменты.
Звучит, конечно п-то, но это явно работа не для одного человека. Это уже тянет на очень коммерческий продукт.

Добавлено 10 апреля 2026 года:
Посоны, сделал базовую поддержку секций. Пока только работает как подсветка и навигация, но дальше будет больше.



RTHextion 2.1

16
road_t, о! а ты случаем дизассемблер не прикрутишь к своему редактору?
Если честно, я об этом думал, но превращать хекс-редактор в IDA – это, как будто, перебор. Плюс получается, что нужна поддержка модулей/плагинов, т.к. реализовать поддержку всех возможных платформ – это будет ппц, мягко говоря.

Это удаление удалило оформление и из проекта, даже когда при выходе я выбрал не сохранять.
А ещё - нижние окна не сохраняют своё состояние?
Это поправил. Пока не удалось побороть баг с неправильным сохранением положения курсора – он какой-то плавающий: то работает, то нет.
Ну и еще кое-что починил по мелочи.

Скачать RTHextion 2.0.1

17
Т.е. ты не ожыдаеш, што должна появитса пустая строка?
Это стандартное поведение при переносе строки, когда длина совпадает с шириной окна. Так себя ведет любой текстовый редактор.
Если сделать, как я сказал, то при изменении ширины области отображения там внезапно образуется два переноса, вместо ожидаемого одного.
Из двух зол я выбрал предсказуемое.

Есть, я делаю редактр графики универсальный, а не конкретно для Марио.
Мультплатформенный? Ссылка на гит?

18
Ну ты монстр :)
Я такой редактр планировал сделать через год-два, а теперь смогу пользоваться уже сейчас :thumbup:
:blush:
Ну главное, чтобы продукт был востребован  :biggrin:

Я сейчас ковыряю логотипы Марио и других игр, и мне приходилось всё долго рисовать в Пэйнте:


А теперь всё легко:

А разве нет редакторов Марио на все случаи жизни?..
Выглядит так, как будто возможность добавлять отступы все ещё нужна. В этой итерации я не осилил, еле заставил работать переносы, но я вернусь к вопросу.

Джвацать лет ждал такой редактр :ohmy:
Если когда-нибудь в будущем кончатса идеи на редактр, то представь, што справа не кракозябры, а тайлы, и они образуют картинку. Т.е. можно составить таблицу не только относительную и не только на иероглифы, но и на тайлы.
У меня есть тестовая ветка, где я добавил просмотр графики. Но там даже не знаю... сложность и так уже все красные линии перешла, я так-то хотел просто редактор с автоматическим апдейтом указателей сделать)
В общем, в целом, можно попробовать историю развить, но я боюсь усложнить до невозможности и код и интерфейс.

revert не сбрасывает всё это. Или как сбросить всё это форматирование?
Отдельные переходы удаляются интуитивно (как мне казалось) – бэкспейсом.
При переносе первого байта ничего не происходит, т.к. визуально менять нечего. Можно, в целом, проверять, первый ли он и добавлять два переноса, но, если расширить количество колонок, все станет весьма странным.
Удалить все форматирование можно либо выделив нужный фрагмент и кликнуть на соответствующий пункт контекстного меню:
311845-0
Либо из меню Edit (Редактирование).

19
Было бы хорошо иметь кнопку "сбросить настройки"
Кнопка-то есть и она сбрасывает стандартные темы к дефолту, но с работа с кастомными мне не нравится, надо починить.

Я еще заметил, что нету кнопки "New" (открыть новую вкладку с пустым файлом). Обычно, в гекс-редакторах (например, в популярном HxD или 010 Editor и других) идёт New, Open, Save. Здесь начинается сразу с Open, Save. Хотелось бы "New", как по-стандарту везде в гекс-редакторах. К такому уже машинальная память, тыкаешь, а кнопки "New" нету. Сделать новый файл можно только через "File" -> "New" в меню. Но, даже когда создаешь новую вкладку, там ничего нельзя писать и нельзя туда ничего скопировать. Это наверное баг, не открывается область редактора. Нужно что бы открывало пустой файл 0 байт ну или создавало его.
Тут немного неочевидно, но это не баг: в правом нижнем углу есть переключатель ВСТАВКА/ЗАМЕНА (ну или кнопка Insert, если она у тебя есть) – нужно переключить в режим INSERT. Я поправлю поведение по умолчанию, чтобы новый файл создавался с режимом вставки. Кнопку добавлю.

Но, наверное, если будет выделение цветом областей кода и закладки (список этих областей, с возможностью давать им имена), то "связанные вкладки" может и не нужны. Тогда если надо, допустим, шрифт, то нажимаешь на закладку "шрифт" и попадаешь в нужную область, где видишь его выделенным нужным цветом.
Да, это будет по-другому реализовано, надеюсь, что удобнее. Но не в 2.0)

И ещё было бы удобно, что бы была кнопка запускать какую-то прогу (ну, как в IDE запускать компилятор). Но, тогда антивирусы могут агрится на редактор.
Например, отредактировал файл, нажал кнопку, кнопка делает exec эмулятора с этим ромом и сразу тестишь отредактированный файл. Ну или запускает компиляцию, мало ли что нужно.

Вот, вроде бы для Beyond Zero Tolerance существует декомпил и там редактируешь не сразу ром, а его кусочки и потом запускаешь компиляцию. Например, вставил текстуру или звук, запускаешь компиляцию прямо из гекс редактора, могло бы пригодится в подобных случаях, экономить немного времени.[/spoiler]
Это интересная история, реализовать несложно, но я не совсем уверен, что это будет просто реализовать корректно для любых запускаемых инструментов.

Добавлено позже:
Выложил версию RTHextion 2.0

Исправил вроде всё, о чем вы, посоны, сообщили (спасибо вам большое ещё раз).

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

311839-0

Полный список изменений версии 2.0:



20
Chaotix, огромное спасибо за столь подробный репорт, вроде все починил:
1. Фон у двух иконок убрал.
2. Тултипы поправил
3. Иконки (там не чекбоксы) на док-окнах поправил
4. При первом запуске на системе с темной темой, применяется темная тема приложения.

Фичу с настройкой высветления нулей записал, надо подумать, как это лучше сделать.

Ещё было бы удобно, если бы можно было выделять мышкой области и через правый клик раскрашивать их разным цветом. Например, выделил блок, закрасил желтым. И что бы нельзя было редактировать ничего, кроме этого блока, если он выбран. Зачем? В тех случаях, если неизвестны поинтеры, что бы ориентироваться как-то и не сломать ничего. WinHex, кажется, такое умел.
Не критичные фичи, но добавили бы юзабилити.[/spoiler]
Что-то подобное у меня в планах, попробую в следующей версии запилить.

Беларус, немного за...устал, но переносы вроде корректно работают. Еще добавил автоматическое разбиение по символу через контекстное меню или через Edit->Virtually format Жду фидбек)

Качаем 2.0 beta 3

21
Да, это. Удобнее для глаз такое разделение, чем сплошное хекс-полотно, да?
Да, если честно, выглядит рили удобно. Странно, что раньше никто не сделал (ну или я не видел)

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

Тот хекс-кусок, который я кидал, он из UMK3 - там указатели на приёмы, на таблицы портретов и т.д.
Т.е. моя идея о разделении на секции (что-то вроде того, как это сделано в IDA) должна пригодиться?

22
Да я безработный пока  :lol:
Когда кидал скрин, был набросок, сейчас уже как будто работает чуток.

но ты не ответил. Ты это имел в виду? Единственное, что это только переводы строки. Табы и пробелы – совсем сатанизм, очень сложно будет отрисовку делать корректно. Точнее, отдебажить это.

23
Беларус учит русский, ты так себе это представляешь?

24
Win11 – горе в семье  :debile:
Ну, может 12 будет приемлемой.
Но тут дело не в ней, конечно. Блокнот, скорее всего, со времен XP не менялся особо. Он пытается кодировку определить по разным маркерам (если нет BOM). Собственно, RTHextion тоже пытается и тоже с переменным успехом. Реально дело непростое.

25
В блокноте Win11 сохраняю как UTF-8. Твой редактр внизу пишет ASCII.
вот если какой-нибудь байт изменить на ноль, то сохранит как UTF-16 LE.
Ну скинь файлы. А то пока звучит, как будто это проблема блокнота, который пытается определить кодировку и не понимает, что это такое ты сделал.

road_t, Шикарно! Буду разбираться с таким замечательным инструментом. И благо что под не последними версиями macOS - с виду работает нормально.
Благодарю! И буду обязательно следить за развитием проекта.
Спасибо, замечания и предложения приветствуются  :)

На системе до каталины не тестил, на монтерее и секвойе норм. Значит и на тахо будет ок.

26
цвет у нулей адреса по умолчанию не как у нулей хекса
Я решил поведение стандартное не менять. Думаешь, лучше по дефолту сразу их делать менее контрастными?

При первом запуске - малюсенькое окно, но это ладно. При каждом новом запуске окно не на весь экран (Win11, FullHD), приходитса раскрывать на полную - так и задумано?
О как. Надо на винде проверить, я там еще ни разу не запускал.

У меня такое странное поведение из всех програм на ПК только у Макса.
а вот щас обидно было  :cry:


Тот массив значений в спойлере, который кидал тебе до этово - сохранил ево в блокноте, открыл этот текстфайл в твоём редактре, потыкал наугад нули и сохранил. Теперь в блокноте вместо значений - иероглифы. Тоже так должно быть?
Тут бы поподробнее. В идеале – оригинальный файл и проект, чтобы видеть изменения. Ну и интересно, в какой кодировке он у тебя открывается при запуске (видно в строке состояния).

27
Так, я выложил beta 2 с кое-какими апдейтами, включая:
  • настройку цвета нулей в адресной области
  • Функцию 'Fill with' (только щас понял, что забыл переводы, в т.ч. и на русский)
  • Немного поигрался с механизмом загрузки файлов, вроде большие теперь обрабатываются без тормозов

Ага, непросто. Зато хекс можно привести в человеческий вид.
я собирался сделать разбиение на секции с навигацией и цветной подсветкой... но над твоей идеей я подумаю. Отрисовка, особенно на больших файлах может стать лютым геморроем  :wacko:


Этот редактр прям проклят - Марат вот тоже потерял исходники со своими наработками прямо во время активной разработки.
Блин, я пытался чуваку по имени Брайан Бенневиц написать на линкдине, но там вылетает ошибка  0_0

28
На сайте чифнета есть мод translhextion. Он имеет опцию search interval, где выбирается количество байт, которые могут быть между искомыми символами.
Нужно один раз попробовать, наверное.
В ромах для GB, например, я таким образом некоторые строки находил.
Не, смысл я понимаю, но сходу не могу придумать, как это выглядеть должно.

Эх, когда-то я неплохо поработал над Translhextion, исправил почти все баги и добавил пару функций... но был молодой и глупый и исходники никуда не загрузил. Они, соответственно, не сохранились(

29
Ещё не смотрел, но было бы интересно, как это умеет translhextion mod от чифнета:
1. Scan relative с возможностью составления таблицы кодировки по найденному
2. Поиск/скан с интервалом в указанное количество байт
3. Само собой, работа с таблицами 1-2 байта на символ
1. Умеет.
2. В планах. Буду благодарен, если опишешь, как это должно, по-твоему, выглядеть.
3. Умеет.

30
Респект за обесцвеченные нули. Не думал обесцветить их и в левой колонке адресов?
Цвета практически всего настраиваются, как и ширина адресной области. Реквест отдельной настройки цвета нулей в адресной области записал)

Также, не возникала идея добавить киллерфичу - перенос строки на новую в любом месте при нажатии Enter? Ну и добавление отступов Табом и пробелом. Был бы первым таким уникальным хекс-редактром. Я когда-то хотел сделать такой, но пока занят другим.
Звучит непросто с точки зрения реализации. А профит в чем?

Я пока не дома, запустить не могу. Как он работает с большими файлами (под несколько гигов)? Не глючит?
Попробовал на файле в 21 гиг. Сожрал 300 метров оперативки, но ничего тормозить не начало. Поиск или замены будут, разумеется, медленнее, чем для файла в 2Мб.

для ромхакинга это видно, а что здесь тут: для переводов?
Поиск указателей, поддержка нескольких таблиц перевода (в т.ч. для поиска и замены), импорт/экспорт скриптов (с автоматическим исправлением указателей) и редактирование скриптов на месте.

Выглядит круто :thumbup: правда я еще не попробовал. Интересно, есть ли функции:
-выделять текст в редакторе, а то в translhextion выделяются только байты.
-fill with, то бишь заполнение выделенного любым символом, translhextion умеет
-поддерживает ли таблицы, в которых букве соответствует 2 байта
 0_0, я как раз trinea ковыряю, ты делаешь перевод, или просто ради примера скинул?

– Выделение работает синхронно, можно выделять откуда нравится.
– Fill width добавлю, только нужно придумать, как это делать с точки зрения UX.
– Многобайтовые таблицы RTHextion поддерживает
– Trinea попала в примеры из-за того, что чувак с Romhacking.net пожаловался на некорректную работу предыдущего пункта))

Плохо в v2.0-beta1. Файл грузится полностью в ОЗУ. На 600 МБ у меня уже медленное переключение между байтами, при открытии 4 ГБ (было доступно около 10 ГБ ОЗУ) расширился файл подкачки на несколько ГБ, я принудительно закрыл программу, повторный запуск начал снова открывать файл, пришлось удалять настройки из реестра.
UPD: Для сравнения, 010 Editor после открытия 17 ГБ работает быстро как с маленьким файлом, занимает ОЗУ около 45 МБ.

Тут нужны детали. Какая ОС и сколько ОЗУ. Я сейчас спецом открыл кроме вышеупомянутого файла на 21Гб еще один на 3.7 и оперативки съедено всего 509 метров. Но месседж принял, постараюсь оптимизировать работу с большими файлами.

З.Ы. 010 editor у меня сожрал 200Мб только на этот один файл.

Страницы: [1] 2 Далее