Updates:

Fans are welcome!

Привет. Я - Anegorami.

Started by Anegorami, June 29, 2012, 12:15:28 AM

Previous topic - Next topic

Anegorami

#45
Часть скрипта, которая считывает и записывает пароли работает стабильно, потому выкладываю.

Скрипт:
Ссылка устарела.

Небольшая инструкция:
Заходим в меню сохранения (это тот экран, где как раз написан пароль) и нажимаем кнопку "Прочитать из памяти". Получаем пароль.
Теперь входим в меню загрузки (тот экран, где пароль нужно ввести). Копируем пароль в текстовое поле и жмем "Записать в память", после чего жмем "END" (внизу ничего не изменится - это нормально).

Скрипт работает под последней версией FCEUX (2.1.5).

arseniy

Это нужно в отдельный топик. И на англ ещё сделать топик.

Anegorami

Quote from: arseniy on July 06, 2012, 11:03:43 PM
Это нужно в отдельный топик. И на англ ещё сделать топик.
Я еще не проверил (дописал) скрипт полностью (там еще простенький записыватель паролей и карта), поэтому пока еще рано.

Anegorami

Пришла в голову интересная мысль: найти в оперативной памяти игры флаг текущего сектора\коридора, флаг воспроизведения музыки и на этой основе сделать воспроизведение MP3шек в зависимости от текущего места. Мысль возникла после того, как я нашел трек arseniyя Area1-2).

arseniy

Quote from: Anegorami on July 08, 2012, 10:43:16 PM
Пришла в голову интересная мысль: найти в оперативной памяти игры флаг текущего сектора\коридора, флаг воспроизведения музыки и на этой основе сделать воспроизведение MP3шек в зависимости от текущего места. Мысль возникла после того, как я нашел трек arseniyя Area1-2).
Для оригинальной игры в смысле? А какой проигрыватель будет играть музыку?

Anegorami

Quote from: arseniy on July 08, 2012, 11:48:02 PM
Для оригинальной игры в смысле?
Да.
Quote from: arseniy on July 08, 2012, 11:48:02 PM
А какой проигрыватель будет играть музыку?
Любой, у которого есть консольный режим подачи файла (например, "winamp play example.mp3") и циклическое воспроизведение. Далее просто пишется бинд, который будет посылать команды. От пользователя потребуется ввести полный путь до EXEшника плеера и выставить цикличность. По крайней мере так это выглядит в теории.

arseniy

Quote from: Anegorami on July 09, 2012, 12:07:54 AM
Quote from: arseniy on July 08, 2012, 11:48:02 PM
Для оригинальной игры в смысле?
Да.
Quote from: arseniy on July 08, 2012, 11:48:02 PM
А какой проигрыватель будет играть музыку?
Любой, у которого есть консольный режим подачи файла (например, "winamp play example.mp3") и циклическое воспроизведение. Далее просто пишется бинд, который будет посылать команды. От пользователя потребуется ввести полный путь до EXEшника плеера и выставить цикличность. По крайней мере так это выглядит в теории.
Тут ещё нужен РОМ хак в котором вырезана вся музыка. На форуме это только optomon может и я сомневаюсь, что он захочет это сделать  :-\

Anegorami

Quote from: arseniy on July 09, 2012, 12:12:40 AM
Тут ещё нужен РОМ хак в котором вырезана вся музыка. На форуме это только optomon может и я сомневаюсь, что он захочет это сделать  :-\
Не факт. Если занулить все флаги памяти, которые отвечают за воспроизведение музыки, можно добиться заглушки музыки. Осталось их только найти...

Anegorami

Первые успехи: поэкспериментируйте с адресом 0x0345 - результаты весьма забавны :redlander:.

Anegorami

Заранее прошу пощения за три своих поста подряд, поскольку радость переполняет. Предчувствие меня не обмануло - адреса с 0x035f по 0x0361 - музыкальные таймеры. Они отсчитывают, через сколько фреймов подать тот или иной звук музыки. После их зануления музыка стихла. Попробуйте, теоретически должно работать на любом роме - я просто не могу поверить, что все проще, чем в Riviera.

teremochek

Будет еще круче, если мы поймем как Музыку арсения зашить в ТГЛ ром.
Anegorami, ты в хакинге разбираешься ? Может стоить замутить Ром-Хак ?  :bluelander:
Вот-было-бы здорово сделать редактор уровней и графики..

arseniy

Quote from: teremochek on July 09, 2012, 10:13:45 AM
Будет еще круче, если мы поймем как Музыку арсения зашить в ТГЛ ром.
Anegorami, ты в хакинге разбираешься ? Может стоить замутить Ром-Хак ?  :bluelander:
Вот-было-бы здорово сделать редактор уровней и графики..

Если бы это было так легко, то оптомон так бы и сделал. Но там всё не так, как в нормальных языках.

Anegorami

Quote from: teremochek on July 09, 2012, 10:13:45 AM
Будет еще круче, если мы поймем как Музыку арсения зашить в ТГЛ ром.
Любая вещь на NES пишется под ассемблером NES. Музыка в том числе. Поэтому, чтобы зашить в ROM музыку arseniyя, нужно получить ее в формате байт-кода. Но это еще пол беды. Другая часть состоит в том, что мы не знаем, где находятся музыкальные данные, и как они закодированы (если что, каждая фирма, выпускавшая игру на NES кодировала музыку (а временами и графику) по своему). Поэтому предлагаю просто написать бинд под плеер.
Quote from: teremochek on July 09, 2012, 10:13:45 AM
Anegorami, ты в хакинге разбираешься ?
Немного. В свое время занимался переводом некоторых NESок. Теперь меня больше занимает подконтрольное изменение оперативной памяти игры (там данные хранятся в простейшем для изменения виде, поскольку игра их уже декодировала, к тому же, это не требует патча и главное не изменяет\портит ROM игры).
Quote from: teremochek on July 09, 2012, 10:13:45 AM
Может стоить замутить Ром-Хак ?  :bluelander:
Вот-было-бы здорово сделать редактор уровней и графики..
А смысл писать ROM, если есть нормальные движки\frameworkи? Я, конечно, понимаю что внутри ROMа находится вся логика игры, но не проще ли перенести логику под движок, чем писать редактор на ассемблере?

P.S.: Кто-нибудь пробовал занулять адреса с 0x035f по 0x0361? Если что - делается это через Cheat Menu того же FCEUXа.

Anegorami

Обновление скрипта: https://dl.dropbox.com/u/79803223/Forum/TGL/The%20Guardian%20Legend.zip

Небольшая инструкция:
Верхняя часть меню - профиль игрока. Для создания нового профиля нажмите "+". Для удаления, что логично, "-". Профиль "Без сохранения" не сохраняется (КО). Ниже расположен журнал паролей. Чтобы добавить пароль в журнал - заполните поля "Описание" и "Пароль" и нажмите кнопку "Добавить пароль". Для удаления пароля выберите его в списке и нажмите "Удалить". Для изменения уже вписанного пароля выберите его в списке, измените необходимые данные в полях и нажмите кнопку "Обновить пароль". Для сортировки списка используйте кнопки "Вверх" и "Вниз".

P.S.: Кнопки "Прочитать из памяти" и "Записать в память" никуда не делись и работают как раньше.

arseniy

Графику то можно менять прямо через эмулятор. Там есть редатор палитры и он же может редактировать спрайты типо пэинта.
По моему не оч хорошая идея однако. Тем более Оптомон уже сделал один РОМ хак.
Я бы лучше поиграл в отдельную версию с мп3 музыкой, нормальными звуками и наверное разрешением типо 1024х768. И визуальными эффектами.