Разработка и ромхакинг > Ромхакинг
[SMD] Rock 'n' Roll Racing -= Ломаем игру=-
<< < (3/112) > >>
Smoke:
Ti_, изучай: http://www.romhacking.net.ru/forum/5-34-1
SnowWorm:

--- Цитата: Ti_ от 29 Октябрь 2008, 17:03:50 ---Файлы:
RRRCared.rar - RRR Cared by Fever (редактор графики машин)
rocknrollracing_passwordgenerator.zip - Password generator
RnRR.rar - Password generator by Magus
rockroll.zip - генератор паролей на q-basic (source)
gaz24.rar - патч-хак, заменяет модели машин на модели Газ
RRR(Lunar_IPS).rar lips100.zip  - какой-то патч и патчер
RRRTrax.rar - отдельный ром с выдранной музыкой из RRR

Все сразу залил одним архивом: http://www.rapidshare.ru/814445

--- Конец цитаты ---

Может кто-то это перезалить (а то и эта ссылка тоже битая)? Или хотя бы генераторы паролей?
Smoke:

--- Цитата ---4) изменить код: чтобы был: full-screen для 2дж. при 2p. (ffb8ea:    8004 или 8014,  вот это менят split/full прямо во время игры.) (с этим я уже заманался просто :) )
--- Конец цитаты ---
Ti_, ты можешь сказать как проверить режим для двух игроков через кайлеру на одном компе? Я может на досуге поковыряюсь с этим.
CR_Racer:
Мой генератор паролей, думаю, не помешает:
http://alexanderms.narod.ru/rrrpg.exe
Есть исходник (Delphi), если нужно.
SnowWorm:

--- Цитата: CR_Racer от 16 Август 2009, 09:25:47 ---Мой генератор паролей, думаю, не помешает:
http://alexanderms.narod.ru/rrrpg.exe
Есть исходник (Delphi), если нужно.

--- Конец цитаты ---
вау, неплохо! А можешь переделать так чтобы было 8 планет, 8 цветов и 8 машин, как в некоторых других генераторах? Этот хак вроде как поддерживает все варианты паролей.


Я тут чуть чуть с трассами поигрался. В тех блоках по 16 байт получается что первый байт - тип участка (поворот, развилка, крест, итд), а с 4 по 10 байт - высота дорожного полотна. Изменяя их можно делать горочки, ямочки, итд.
При этом 4 байт нового участка должен равняться 10 байту предидущего, с которым он стыкуется.
А ещё на самом участке две соседние высоты не должны отличаться больше чем на 2.
Зачем нужно остальное я так и не осилил.

Вот, 1 уровень немного изменил. Но по сжатому размеру он получился больше чем надо, поэтому 2 уровень не грузится :/ После финиша всё завистает и больше не двигается. А ещё противники пытаются ехать по прежней трассе и застревают в повороте пытаясь проехать стену :ohmy: Как это исправить я пока не знаю (
в приложении скрины, патч, несжатый уровень
Smoke:

--- Цитата: SnowWorm ---Вот, 1 уровень немного изменил. Но по сжатому размеру он получился больше чем надо, поэтому 2 уровень не грузится :/ После финиша всё завистает и больше не двигается
--- Конец цитаты ---
Т.к. трасса первая, просто пишем измененную трассу в конец рома и по адресу $6B1AC в роме, пишем смещение нашей измененной трассы, которую засунули в конец рома.
CR_Racer:
Редактор паролей дополнил, теперь есть все возможности:
http://alexanderms.narod.ru/rrrpg.exe
SnowWorm:

--- Цитата: CR_Racer от 16 Август 2009, 17:19:28 ---Редактор паролей дополнил, теперь есть все возможности:
http://alexanderms.narod.ru/rrrpg.exe

--- Конец цитаты ---
удобно, полнофункционально, и даже с картинками! найс! :thumbup:


--- Цитата: Ti_ от 16 Август 2009, 16:20:03 ---если звук выключен, включить ,потом выключить. (или вкл.z80)

--- Конец цитаты ---
ой, точно. забыл про звук, и на хакнутость всё свалил. Но 2 трасса всё равно не загрузилась, оно и понятно, у неё там начало попорчено вышло предидущей хакнутой трассой


--- Цитата: Ti_ от 16 Август 2009, 16:20:03 ---нужно исправить AI waypoints

--- Конец цитаты ---
Ура, с вейпоинтами разобрался. А всё что надо было - переключить в винхексе вид с 16 колонок на 8, и вместо странного

--- Код: ---01 02 03 04 05 06 07 0F 00 FF FF FF FF FF FF 17
08 FF FF FF FF FF FF 1F 10 FF FF FF FF FF FF 27
18 FF FF FF FF FF FF 2F 20 FF FF FF FF FF FF 37
28 FF FF FF FF FF FF 3F 30 38 39 3A 3B 3C 3D 3E
--- Конец кода ---
получилось вполне понятное

--- Код: ---01 02 03 04 05 06 07 0F
00 FF FF FF FF FF FF 17
08 FF FF FF FF FF FF 1F
10 FF FF FF FF FF FF 27
18 FF FF FF FF FF FF 2F
20 FF FF FF FF FF FF 37
28 FF FF FF FF FF FF 3F
30 38 39 3A 3B 3C 3D 3E
--- Конец кода ---


--- Цитата: Ti_ от 16 Август 2009, 16:37:39 ---в хаке продолжение архива  $165000 1D0000 (165000+6B000),  (a= $6b37c),  там трассы из беты,можешь пихать и туда.
а не, по 1d0000 у меня буквы перемещенные, ну значит после них карты. следующий адрес вообщем сам посчитаешь, если не поймешь напишу.
(номера карт беты $76-$94   ( ($6bxxx-$6b000)/4  - $6B) ), 6b -offs для 1карты.
текс,вообщем для случая #1 (255 карт) .
ROM:000073D2                 addi.w  #$6B,d0          =>  addi.w #$200,d0
=>думаю так (на $100 у меня палитры новых планет просто)
6B800 a_1
6b804 a_2
нужно двигать ток все карты *_*,

--- Конец цитаты ---
мягко говоря я мало чего понял...


--- Цитата: Ti_ от 16 Август 2009, 16:37:39 ---SnowWorm отпишись если надумаешь сделать н-ко трасс для хака,  тогда сёня мошт сделаю v0008 с перемещенным архивом трасс.

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


--- Цитата: Ti_ от 16 Август 2009, 16:37:39 ---нет, так делать нельзя,т.к. перед этим адерсом идет другой, и начальный адрес 2-ой трассы= конечный 1-ой +1)

--- Конец цитаты ---
ужас.

Есть одна идея, только не знаю насколько это будет полезно. И пригодна она будет возможно лишь для оригинальной игры, а не для хака.
можно написать прогу которая из рома выдирает все карты. Как по тому адресу что ты дал вычислить указатель на начало трассы я разобрался, так что можно легко вычислить начальный и конечный адреса для каждой из трасс.
А потом пойти дальше. После изменений одной из трасс, чтобы небыло ошибок из-за неправильного размера - все трассы запихнуть в конец рома, а указатели на них расчитать заново и вписать куда надо (если не ошибаюсь, в оригинале они начинаются с 6B1AC и идут один за одним, да? Изменить их хватит для того чтобы игра читала трассы по новому адресу?).
Для меня самое идеальное было бы сделать так -
при добавлении карт даются два оффсета - оффсет откуда должны начинаться сжатые трассы, оффсет откуда должны начинаться указатели на трассы. И всё. Прога вставляет трассы одну за одной и сразу прописывает указатели на них

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

--- Цитата: SnowWorm ---можно написать прогу которая из рома выдирает все карты. Как по тому адресу что ты дал вычислить указатель на начало трассы я разобрался, так что можно легко вычислить начальный и конечный адреса для каждой из трасс.А потом пойти дальше. После изменений одной из трасс, чтобы небыло ошибок из-за неправильного размера - все трассы запихнуть в конец рома, а указатели на них расчитать заново и вписать куда надо (если не ошибаюсь, в оригинале они начинаются с 6B1AC и идут один за одним, да? Изменить их хватит для того чтобы игра читала трассы по новому адресу?).Для меня самое идеальное было бы сделать так - при добавлении карт даются два оффсета - оффсет откуда должны начинаться сжатые трассы, оффсет откуда должны начинаться указатели на трассы. И всё. Прога вставляет трассы одну за одной и сразу прописывает указатели на них
--- Конец цитаты ---
Ну это можно и вручную сделать, это несложно. Свою трассу вставил, остаток -- скопипастил, указатели где-надо переписал и готово. А если не в винхексе писать, а в блокноте скажем, потом компилировать, то копировать трассы вообще один раз придется(компилятор сам просчитает смещения новых меток)
SnowWorm:
немного поигрался с hex-кодом описывающим трассу. Слегка изменив трассу получилось что нарезаю круги - а их оставшееся количество как было 4, так и оставалось, хотя кругов я наездил порядочно. Оказалось, что там по оффсету 4C0-4CF - чекпоинты. Их надо проехать все, иначе круг не защитывается <_<
Так что просто задать блоками трассу не достаточно, надо ещё чекпониты рассовать по ней (максимум 16 штук, но можно и меньше).

ещё мысля пришла - можно делать не круговые трассы, а спринт (доехать из точки А в точку Б), или просто драг по прямой. Размер трассы сильно ограничен, так что не знаю можно ли что-то дельное сделать. Для теста - вот в приложении патч, ставится на оригинальную игру. 1-ая трасса будет как раз небольшой спринт

Ну и несжатый код трассы, если кому интересно, тоже в приложении
SnowWorm:

--- Цитата: Ti_ от 17 Август 2009, 22:38:07 ---номер твоей трассы 73 =  $49,  его нужно вписать в таблицу по $101B80 (таблица порядка трасс). или по $187B (таблица порядка трасс для vs.mode.)

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


--- Цитата: Ti_ от 17 Август 2009, 22:38:07 ---трассу можно пихнуть не сжимая, для этого надо написать FF потом копировать 8байт, опять писать FF копировать след. 8байт и т.д.  (ну и незабыв. D404 в самом начале)

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

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

А про создание трасс пока ничего нового сказать не могу, сегодня только с чекпоинтами разобрался и всё :-\
topos84:

--- Цитата: The GR ---Не понравилось уменьшение количества кругов в гонке. ИМХО, 4 это минимум.
--- Конец цитаты ---
А по мне так пусть минимум будет 3, а максимум - 5 (7 это уже перебор).


--- Цитата: The GR ---Температура планет указана в фаренгейтах, так что средняя температура Земли вряд ли 30F, скорее 80F
--- Конец цитаты ---
Действие игры происходит в далеком будущем, так что слишком низкая температура на Земле, наверно, есть результат неудачных экспериментов по борьбе с глобальным потеплением. :lol:
SnowWorm:
Ещё поковырядся с трассами. Оказывается, если случайно пропустить один чекпоинт - круг всё равно засчитается. Но только один и не больше.

С видами блоков (прямой участок, поворот, развилка итд) тоже разобрался (Ti_, у тебя там где-то в постах выше был перепутан код для _|_ и T, остальное всё вроде ок).

Видов расстановок машин на старте оказалось 5. Просто по прямой во все 4 стороны, плюс какой-то странный вид когда 2 машины направлены в одну сторону, а другие 2 - в противоположную. однако ехать в любом случае всем надо в одну сторону. Но если оставить только 2 чекпоинта, то в принципе вообще любую трассу можно проходить в любом направлении. Патч в приложении - ставится на оригинальный ром и можно посмотреть тот странный вид начальной расстановки, при этом первую трассу можно проходить как по часовой, так и против часовой стрелке. Толку эт этого хака трассы немного, так, только для демонстрации расстановки если интересно кому.

ещё - в тех блоках по 16 байт разобрался с 15 и 16 байтом.
16 байт - вид "препятствия" на дороге (01 - масло, 02 - липкая лужа, 03 - ускорялка вправо или вниз, 04 - ускорялка влево или вверх. ещё есть 05 и 06 - это тоже ускорялки, они направлены вбок относительно движения, и наехав на них игра зависает <_<)
15 байт - может быть 01, 02 или 03 и обозначает позицию препятствия (правая сторона дороги, левая сторона или середина).

зачем вообще нужны 2 и 11-14 байты я до сих пор не имею ни малейшего понятия, если не увижу ни одной трассы где они хоть как-то используются - значит просто оставлены разработчиками про запас. Ну и ладно...
3 байт - обычно 00 если блок трассы не используется (17), или 03 если использутеся. Зачем оно - тоже не понятно


С тем как hex-кодом описываются трассы я вроде разобрался (ну кроме $440 - $4BF и ещё там пары мест), для создания полноценной трассы уже хвататет. Пробовал какую-нибудь трассу состряпать - в итоге запутался в этих hex-кодах (64 строчки по 16 символов, для каждой надо помнить её позицию на карте, подгонять под высоту соседних блоков, и так далее - сложновато выходит) и ничего путного не вышло. <_< Лучше попробую в ближайшее время какой-нибудь простенький редактор сделать. Сейчас ни имею ни малейшего понятия какой ему интерфейс сделать (вид сверху? попытаться изобразить карту трассы в изометрии почти как в игре? как там изменения вносить? надо подумать). В общем что-то получится, но не обещаю что скоро. На днях напишу всё что знаю про создание карты, может кто захочет сам попробовать карту создать.
Про Игрок:

Мои варианты цветовой гаммы автомобилей для RRR
The GR:
Наверное лучше будет убрать обратную стрелку на 2й трассе.

Комп регулярно на ней зависает до конца гонки -_-
ALEX_230_VOLT:

--- Цитата ---понятия не имею с чем может быть связано, но я точно помню , что на реальной сеге иногда(очень редко) такое тоже бывало с обычным RRR.. музыка пропадала на 1 трассу ,а потом появлялась.
--- Конец цитаты ---
да, у меня такое тоже на рельной сеге было. Ещё иногда бывало что пропадали и звуки и оставался только коментатор. видать это близардовцы чёто намудрили :)
topos84:

--- Цитата: The GR от 22 Август 2009, 14:12:15 ---Да, именно так. Значит всё в норме (просто у нас на сеге такого никогда не было  :) )

--- Конец цитаты ---
У нас во дворе про такие случаи говорили: "картридж перегрелся". Самое удивительное, что все в это верили. :)
SnowWorm:
взяться за редактор трасс пока так и не получилось <_<
Зато привёл в порядок заметки которые делал пока ковырялся с трассами ^_^

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

п.с. знаю что описание не очень доступное, и без скриншотов, и надо уметь hex-редактором пользоваться, но пока хоть так
SnowWorm:
Сделал прогу для более удобного подбора цветов машин.
Можно выбрать 3 цвета, сразу будет видно как оно смотрится на машинах. (выбор цвета - щелчок мышкой по тем цветным прямоугольникам, сохранить картинку - по ней правой кнопкой и там save as)

патчить ром пока нельзя, Ti_, если напишешь оффсеты для всех трёх цветов всех 5 вариантов раскраски - тогда приделаю патчер, чтоб изменения сразу в ром вносились.

всё что пока можно - посмотреть код цвета и уже самому вручную пропатчить ром

скачать: http://twistedbytes.ucoz.ru/load/0-0-1-3-20




*обновлено
теперь можно патчить РОМ заменяя его стандартные палитры для машин на новые. Поддерживается как оригинальная игра, так и хак от Ti_.
И если у вас оригинальный ром - не надо пользоваться возможностью пропатчить палитры относящиеся к хаку. Больше цветов от этого не станет, и произойдёт неизвестно что.

п.с. оригинальные палитры патчатся вроде без проблем;
Ti_, палитры твоего хака добавлены, но не проверены :blush:
так что если что не так - пишите коды всех трёх цветов, и палитру куда добавляли их, в таком случае я гляну что там не так.
SnowWorm:
обновил патчер, см. пост выше, ссылка там-же

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

Перейти к полной версии