Разработка и ромхакинг > Ромхакинг и программирование
[SMD] хакинг Dune: The Battle for Arrakis
<< < (29/447) > >>
Марат:
В общем, выложу пока Пакер, а то у меня что-то с Дельфи проблемы возникли. Целый день уже маюсь не могу решить.
http://slil.ru/27957920

Как искать сжатую графику:
1. Запускаем игру в эмуляторе Gens VKNT Tracer от Юрия Яковлева.
2. Перед тем как грузится нужный участок с графикой ставим бряк в дебагере на выполнение инструкции по адресу $000C32 и смотрим в регистр A2. Число в регистре - это и есть адрес начала графики в РОМе. Далее ставим бряк на выполнение инструкции по адресу $000CCA, число, на которое указывает регистр A2 - это уже адрес начала другого куска сжатой графики. Соответственно, если от этого числа отнять 1 получится адрес конца искомой графики. Если найдёте какие-нибудь баги, то отписывайтесь здесь.
Segaman:
Слушай, меня тут очередная утренняя гениальная мысль посетила, а не вар всё в одном слепить?
Марат:
У меня и так все в одном.
Держи http://slil.ru/27959764 дописал распаковщик.
Segaman:
Там помоему несколько форматов сжатия. всё что нужно твой пакер невзял. посмотри ещё раз.
Марат:
Так ты скажи, что нужно?
Я-то думал ты хочешь объекты перерисовать.

Добавлено позже:
Можешь скрины приложить, чтоб наверняка.

Добавлено позже:

--- Цитата ---Перед тем как грузится нужный участок с графикой ставим бряк в дебагере на выполнение инструкции по адресу $000C32 и смотрим в регистр A2.
--- Конец цитаты ---
Здесь я немного ошибся, нужно не в регистр A2 смотреть, а в регистр A0. Пересылка в регистр А2 происходит немного ниже.
Segaman, напиши конкретно какие ресурсы тебя интересуют. Я сейчас посмотрел, графика титульника тоже пожата этим алгоритмом.

Добавлено позже:
И карты и спрайты - всё пожато этим методом сжатия.
Вот главный титл с логотипом Weswood и Virgin

 и планета Arrakis.


Добавлено позже:
Сжатый массив данных чаще всего начинается с числа $81 и всегда заканчивается числом $80.
$80 - означает прекратить распаковку данных.
Segaman:
Я извиняюсь, но у меня вся охота отбилась, что либо с дюной делать. Поэтому непосмотрю и напишу какие файлы нераспаковываются.
Dunerunner:
Привет всем. Недавно скачал редактор DuneMapEd последней версии, от Segaman`а. Огромный респект его создателю! :thumbup: Это моя давняя мечта, редактировать уровни Дюны на сеге! Первые впечатления от редактирования: Редактор удобен, не слишком сложен в освоении (особенно с мануалом), притом памяти жрёт немало, но это пустяки. Пробовал сделать свою миссию, получилось запустить в игре с 7-го раза, до этого вылетало. Прочитал всю тему на этом форуме, нашёл какие числа ставить в misc1, 2, 3, вроде заработало, но только при изменении 9-й миссии за Харконенов, остальные, изменённые мной миссии, вылетают. Ещё, редактор грузит не все миссии (objpos), на некоторых зависает (Атрейдес 7, Ордос 9).
Так вот, изменил 9-ю миссию за Харконенов, перестроил ландшафт, сделал новую базу имперцам, игроку поставил Ордосов. Всё в игре запустилось отлично. Затем начались проблемы:
Имперцы почему то лишились десанта, за 3 часа игры, у меня ни один вражеский носитель не высадил на моей базе ни одного танка, естессно из-за этого, первыми имперцы не напали, хотя ждал минут 40 (в оригинале высаживали десант через 10-11 минут). Дальше: атака врага почему то стала слишком слабой, посылает 2-3 танка в 2 минуты, хотя врагу я поставил целых 3 завода по производству техники, соотвессно сдержать его напор не составило труда; это малость огорчило, т. к. хотел чтоб миссия была трудная (в оригинале атака была много мощнее). Кстати, респект за добавление диверсанту возможности повреждать\уничтожать различные строения! :thumbup: До этого против зданий он был бесполезен.
Собснно хотелось бы знать, как запустить высадку десанта врагам и как сделать, чтоб он посылал в атаку много мощной техники.
Segaman:
пока што только вручную. в этой теме написано, из чего состоят десанты.

сёдня скачал среду C++, попробую освоить и написать на нём. так что ждите. будет и функция редактирования десантов.

Добавлено позже:
А ты ещё танку поставь аи саботаж, так он мужиков давить будет. только привстрече с вр. танком, упротся в него. тоже и с вражеской базой.
Dunerunner:

--- Цитата: Segaman от 12 Сентябрь 2009, 13:04:15 ---так что ждите. будет и функция редактирования десантов.
--- Конец цитаты ---
Это радует. Кстати, я сделал, чтобы комп атаковал первым. Для этого, в угол карты поставил отряд имперских пехотинцев, чтоб они с начала миссии шли к моей базе, а пока они идут, можно немного отстроиться.

--- Цитата: Segaman ---А ты ещё танку поставь аи саботаж, так он мужиков давить будет. только привстрече с вр. танком, упротся в него. тоже и с вражеской базой.
--- Конец цитаты ---
Так ведь танк итак может давить вражеских солдат или ты имеешь ввиду возможность давить солдат игрока своим же танком? o_0
pedro:

--- Цитата ---Всё, что выгледит некрасиво и заменю на красивое. например титл скрин. ну и т.д.
--- Конец цитаты ---

интересно, а спрайты зданий? =)
Марат:

--- Цитата: pedro от 12 Сентябрь 2009, 13:58:21 ---интересно, а спрайты зданий? =)

--- Конец цитаты ---
А что некрасивые?
pedro:
Марат, ну думаю те что на PC вервии покрасивше будут))
Segaman:
аи - это поведение юнита. у саботёра стоит всегда саботаж и он атакует вражескую базу. если указать аи саботаж танку и на карте появится вражеский солдат, танк автоматически поедет на него, следовательно задавит.
topos84:

--- Цитата: Dunerunner ---Кстати, респект за добавление диверсанту возможности повреждать\уничтожать различные строения! До этого против зданий он был бесполезен.
--- Конец цитаты ---
Эта проблема когда-то уже обсуждалась на этом форуме: диверсант наносит повреждения зданиям не во всех версиях игры/рома (видимо, ошибка разрабов). Вот только забыл, в каких именно версиях.
Segaman:
Я знаком только с версией U на сегу. никаких прочих не знаю, ни писишных, ни пиэсиксышных и т.д. так что у меня ничего неспрашивайте про другие дюны.
sergi:
Этот камикадзе забирает жизней много, когда стреляет может машинку одним выстрелом снять, видать стреляет прям водителю в голову

Говорят что профессиональные снайпера снимали механиков-водителей в БМП наших

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

Да, и как там успехи с десантами? Есть какой-нибудь прогресс?
Ti_:

--- Цитата: topos84 от 21 Сентябрь 2009, 00:53:46 ---Segaman, не пробовал решить проблему старпорта? Мне Ti_ говорил, что там в роме вначале каждой миссии прописывается, какие юниты могут быть заказаны в старпорте в этой конкретной миссии.

Да, и как там успехи с десантами? Есть какой-нибудь прогресс?

--- Конец цитаты ---
именно там. где и юниты, строения и т.д.  соб-но десант лимитирован в кол-ве 16или 15 штук.(это на всех сразу; и можно сделать "повторять высадку бесконечно(насчет Nраз непомню) или только 1 раз прислать".
и тут даже в этой теме должно быть описание про десант (так как я его менял - должен был выложить)


в писишной дюне дляя старпорта идет что-то вроде:

--- Код: ---[CHOAM]
Trike=5
Quad=5
Tank=6
Launcher=5
Siege Tank=6
Harvester=4
MCV=2
Thopter=5
Carryall=2
--- Конец кода ---
а потом [units]
Segaman:
Я плохо код дюны знаю. Шарится в ней мне под надоело. Слишком сложная она. Вот если б там было всё проще, я б уже давно всю бы её перебрал и наделал кучу прог-патчеров. а тут ещё и мой новый жк монитор разбили. вообщем плохи мои дела и я ничем в данныи момент помочь не могу. ваапще из меня ромхакер некудышный, я код сеги даж до конца незнаю, а для ромхакера это желательный параметр.

я знаю только, что есть там код который текст пишет на экране и где, удалив одну сточку, можно заставки сега лишиться и всё. пробовал добавить свою заставку влепить. невышло, так как он после показа текста виснул. видимо это в коде прописано. если б я умел vdp-шкой управлять, давно бы всё разобрал, а я даже незнаю, что означает sr, sp и pc в асм-коде сеги.

ваапще, я щас самообучением занимаюсь. тут на форуме есть тема, про sound driver из соника 1. там я ром-проигрыватель пишу и драйвер наворачиваю, а заодно и, кодом балуясь, обучаюсь ему. кстати, я 4pad reader рипнул из бомбермена. работает, все 4 пада читает. вот тема http://www.emu-land.net/forum/index.php/topic,30754.new.html. ром пока что я не вылажил, но там уже интерфейс есть, даже для пад-ридера. а ещё я планирую рипнуть экран соунд теста из Knuckles Chaotix. уж очень он там красивый. а ещё можно будет редактор голосов сделать.

Ещё я новую среду C++ скачал, чтоб проги лепить, но не как в ней разобраться немогу, как компилить проги. так бы я уже приступил бы к последнему редактору.

а ещё я знаю, как сейв-рам прописывать. можно было б дюну без кодов прописать, чисто с сейвами и даж можно было б прописать сохранение миссии прям посреди боя (естественно окончив его). О! меня тут осенило. можно адреса крякнуть, чтоб он чтение и запись карты и юнитов в сейв рам-е проделывал. правда как-нибудь надо написать код для загрузки миссии из сейв рам-а, а я незнаю как и где ваапще находится код загрузки и как он вызывается. вообщем для такой красоты надо ещё работать и работать, а у меня работать неначем. 2 моника сгорели и я на телике сижу, а телик меньше чем мои мониторы. у мего разрешение гдет 400х300, а видюха моя такое не держит, да где прога, которая с таким разрешением работает. щас миниму надо 1024х768. у меня даж дебаггер на экране непомещается. и мало того ещё и нифига нивидно, а лупа пол экрана занимает. страшно неудобно. щас полезу искать приличную лупу в инете.
Ti_:

--- Цитата: Segaman от 21 Сентябрь 2009, 04:40:56 ---а ещё я знаю, как сейв-рам прописывать. можно было б дюну без кодов прописать, чисто с сейвами и даж можно было б прописать сохранение миссии прям посреди боя (естественно окончив его).

--- Конец цитаты ---
не актуально.
актуально хакнуть , чтобы сейвило 2игроков в каиллере и далее синх с сейва. (я не про дюну конечно  :D )
  да блин хотя бы для 1-ого игрока не блокировали бы кнопку! хотел проверить кое-что думал баг, так гадина не давала - cannot save during netplay ... вротимноги шоб их блейн скукожил.


Добавлено позже:

--- Цитата: Segaman от 21 Сентябрь 2009, 04:40:56 ---Шарится в ней мне под надоело.

--- Конец цитаты ---
Что надоело верю. А про то что не знаешь это бред..  я вообще знал только jsr, rts, nop, move.b(pc) (не обращая внимания что такое .b) и не использовал всяких ассембелеров и этого мне хватило чтобы сделать хак.
а дюну вообще делал вообще без всего. конфиг карты - проверяется всё практикой . меняем смотрим че изменилось (здание сменили/подвинули) и т.д.

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

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