| Разработка и ромхакинг > Ромхакинг и программирование |
| Battletoads & Double Dragon - Хакинг и секреты |
| << < (10/22) > >> |
| dekster88:
Ti_,пля не знал, что ропер свеоей воздушкой перебивает удар с кнопки турбо, вообщем немало жжёной глины из штанов вытряхнул пока выстегнул его ;) Злой он, не добрый >:( |
| feos:
Segaman, я думаю надо это выделить в новую тему, так как вопрос насущный, и мне непонятно, как именно работать с командами, которые ты в ЛС написал. Надеюсь, найдутся добрые люди и подмогнут, ведь не для себя одного стараюсь. тока не знаю, самому эту тему щас создать, или модераторы сами, перенеся ветку отсюда. я там еще выкладок добавлю. |
| Ti_:
--- Цитата: feos от 02 Апрель 2011, 21:58:03 ---есть ли варианты повлиять на цвета для рр? просто все сообщество вгмапс вздохнет с облегчением, если получится менять фон внутри генса-рр. --- Конец цитаты --- ну я не знаю, попробовать перекомпилировать его с файлом save.cpp от обычного генса; но я этим заниматся не буду, пусть сообщество попросит кого-нить. а по поводу что там хранится(в сейвах) кроме ОЗу думаю vram+cram+регистры процев. Добавлено позже: --- Цитата: dekster88 от 02 Апрель 2011, 23:56:04 ---Ti_,пля не знал, что ропер свеоей воздушкой перебивает удар с кнопки турбо, вообщем немало жжёной глины из штанов вытряхнул пока выстегнул его ;) Злой он, не добрый >:( --- Конец цитаты --- Ну а кто знал? я его не менял), как мне сказали ропер самый сильный в сеговской версии, а в снес самый легкий. |
| r57shell:
--- Цитата: feos от 02 Апрель 2011, 21:58:03 ---один разраб с тасвидеос впрочем сказал, что луа не сможет влиять на этот регистр. --- Конец цитаты --- Правильно. Пока в Gens-rr в Lua есть только: vdp.readcell vdp.writecell vdp.readpalette vdp.writepalette и memory.getregister memory.setregister которые только для M68k. Теперь на счёт сэйвов: Исходники к gens-rr открыты, берёшь да и смотришь как и где они сохраняют регистры vdp, а именно 1) в сэйве есть номер версии сэйва :) Data[0x50]; 2) for(i = 0; i < 24; i++) Set_VDP_Reg(i, Data[0xFA + i]); Объясняю что значит... 1) Data - массивчик сэйва 2) 0x50 - 0x значит что HEX 3) Data[offset] = байту по адресу offset. 4) for - цикл 5) Set_VDP_Reg функция установки регистра. короче регистры VDP похоже по адресу 0xFA. Если этого ответа не достаточно, то увы, спросили регистры VDP - вот я и ответил :crazy:. Как нашел: Кэп мне подсказал что надо искать в save.cpp; а потом догадался что в save.cpp->Load_State->Load_State_From_Buffer->Import_Genesis. а там собсно всё что надо. |
| dekster88:
r57shell,мне бы в раю после смерти такой вопрос задали бы o_0 да уж действительно зачет :D |
| Ti_:
--- Цитата: Segaman от 02 Апрель 2011, 23:54:55 ---Хак скачаю прям щас и затестю на гофере (ололо) Спасиб большое за хак, очень рад, что бт наконецто хакнули по самые сардаукары. ХЫ-ХЫ! XD --- Конец цитаты --- долго тестим, чем дело кончилось? :D (либо у меня на форуме время криво показывает o_0 ) |
| Roket:
--- Цитата ---пля не знал, что ропер свеоей воздушкой перебивает удар с кнопки турбо, вообщем немало жжёной глины из штанов вытряхнул пока выстегнул его Подмигивающий Злой он, не добрый Злой --- Конец цитаты --- Не, это просто его таким сделали сильным. Хакингство здесь не причём. |
| feos:
r57shell, в save.cpp я эту команду щас нашел, но как так переправить рекординговый сейв, чтобы в нем изменился фон - так и не понял. ибо в игровом программировании ноль. Фон имеется в виду тот, который остается при выключении ВСЕХ трех слоев (canvas). он дефолтно черный. в Gens KMod modifications for mapping он регулируется галочкой с черного на розовый. с фсеухом тем же совсем просто - залез в конфиг и поменял значение gNoBGFillColor а с сегой приходится поковыряться. я бы и был доволен указанным модом, но там глючат мувики, при проигрывании с отключенными слоями спрайтов и параллакса идет десинхрон, да и перезапись невозможна. вот что мне написал Сегамен по этой теме: --- Цитата ---Значит берёшь код чтения контроллера, встраиваешь туда сыль на твой код, а в своём коде прописываешь запись цвета в ту палитру, в которой прозрачный цвет юзается фоновым. Адрес сгенерировать мона моей прогой Gens Vaideo. Запрос выйдет примерно такой: move.l #$x000xxxx,($C00004).l move.w #$color,($C00000).l rts где x - адрес в памяти палитры, а color - твой цвет. Можно кстати сделать хитрее. Ищешь в оперативе палитру и её заменяешь, а там она уже сама загрузится. --- Конец цитаты --- --- Цитата ---Возьми Gens KMod, сохрани в нём палитру. Затем файл открой, поменяй местами каждые 2 байта. Т.е. 2й с1м, 4й с3м и т.д. И вот тебе и палитра. Ищи её уже в рам --- Конец цитаты --- я опять же, ничего не понял :wall: --- Цитата: Ti_ ---попробовать перекомпилировать его с файлом save.cpp от обычного генса --- Конец цитаты --- а может ререкординг перекомпилировать с добавлением того переключения цвета задника, как в Gens KMod modifications for mapping? сорс его тоже имеется. |
| r57shell:
Итак, а теперь рассказываю в чём ты пень. Дело в том что 7-й регистр VDP это номер цвета в палитре, которым заполнять фон. ключевое "в палитре". То есть этот 7-й байт от 0xFA это НОМЕР. а раз номер то???? вывод???? включи мозги. То твой цвет которым ты заполняешь фон - должен быть в палитре! Вывод такой: нужно скрипт который заменяет цвет под этим номером - в фиолетовый. Увы номер этого цвета из регистра не выудишь, но если ты знаешь номер из вне... Например если ты знаешь что он всегда равен нулю, то просто меняешь цвет 0 на фиолетовый, а такой скрипт элементарен. Нужно before frame прочитать палитру, забить первый цвет в фиолетовый, и обратно записать. vdp.readpalette vdp.writepalette увы, мне лень. Не сегодня точно. Попроси того чувака который про Lua заикался. |
| Segaman:
Хак ништяк. Погамал на гофере. На 2м сьело континиум и на 3м 2конти. Ропер своей тупостью убивает. Очень понравилась чёрная баба, особенно одна там сверепая, жуть, какая была. Улыбнула ворона вылетевшая из лифта. Ещё понравилась пушка с палитрой от синей бабы. Кстати надумал, каг лаги в игру вставить. Тупо паузой вешать игру и всё, но так чтоб музьё жить оставалось. Кста звук драв я мог бы на 68к замутить, с большим количеством каналов, но мешает 43 дня до дембеля. Так что видать я вам пока не помошник. Очень хочю помочь. В 4-м можно заменить некоторые метеориты летающими тарелками. Было б весело. Кстати попробуй обьекты с 2х мерных левелав ткнуть в 3х мерные и наоборот. А ещё босов смешать. и посреди игры попробуй панаставить. Щас ещё рас сыгранул. На 3м уровне после 1го спуска если чёрную бабу за край экрана ударить, то она там несможет допрыгнуть обратно и так там и останеца. Сделай рестарт левла скажем при нажатии а+б+ц |
| feos:
По поводу звуков ударов и лага от них прошу заметить, что звук при коронном ударе один, при ударе ногой дракона в прыжке - другой, менее лаговый. Есть еще удар палкой и еще какойто, не помню откуда он. Прикрепляю рипнутые семплы. |
| r57shell:
--- Код: ---gens.registerbefore(function(address,size) -- let's draw something at the mouse cursor too for the heck of it: local p,t=vdp.readpalette(1,1); local c=pal.getcolor(t[1],1); c.A=255; c.B=255; c.G=0; c.R=255; pal.setcolor(t[1],1,c); vdp.writepalette(1,t[1]); end) --- Конец кода --- |
| feos:
r57shell, мою благодарность я даже не в силе выразить. :'( спасибо!!! |
| r57shell:
:lol: магические 10 строчек. И не такое можно на Lua фигачить. Я в свой мод Gens-rr хочу добавить в Lua Script функцию вызова окошка отладки, чтобы можно было отлаживать через луа скрипт, будет просто нечто. Брейкпоинты по функции, крута же. |
| Segaman:
Тай, када продолжение хака? Мой гофер некаг не дождёца. Эти 3 левела уже дотёр до дыр. Кстати про ту бабу, што не допрыгивает наврал, где она. Она последняя перед первым спуском, а не после него. Есть мыслишка, када дембельнусь, попробовать замутить игру на 4-х. Благо игроков достаточно. Кстати в моих планах ещё вверху окно повесить. Ато там некрасиво и спрайты ячейки хавают. |
| Roket:
Да, кстати, может тогда огласить список глюков, чтобы игроки в дальнейшем не могли на них наткнуться ;). 1 уровень- После победы над любым Абобо, если вас убил враг, вы потеряете жизнь, но играть дальше не сможете, так как игрок станет лежать на полу. 2 уровень- На втором подуровне не уходите в лифт пока не разберётесь со вторым гранатометателем, иначе следующий подуровень начнётся без врагов. 3 уровень-встретив в первом подуровне перед спуском последнюю тётку с кнутом ( она спускается по шестерням к вам), не позволяйте ей упасть за экран, старайтесь расправиться с ней в самом низу. Иначе если она упадёт за пределы экрана, то не сможет к вам подойти и вы не сможете продолжать уровень дальше. Также не зажимайте в захват и тут же отпускайте эту и предыдущую тётку в непосредственно близи к шестерням. Иначе враг уедет по шестерне дальше за пределы экрана, откуда не сможет выбраться. Это пока всё, возможно появятся ещё глюки. ;) |
| Ti_:
п.3 я в курсе, починю когда уж следующий левел сделаю. (там же ещё и глюк с вороной есть более редкий) ; с абобо глюк легко обойти, просто когда 1загнется ненадо его добавить, пока второго не убили. Добавлено позже: --- Цитата: Segaman от 06 Апрель 2011, 12:55:03 ---Тай, када продолжение хака? --- Конец цитаты --- сам пока не знаю (как настроение будет :) ) Добавлено позже: --- Цитата: Segaman от 06 Апрель 2011, 12:55:03 ---Эти 3 левела уже дотёр до дыр. --- Конец цитаты --- 2-ем сыграйте. Что интересно будет если 1 зайдет в дверь, а другой нет) (на тех динамитчиках) Добавлено позже: --- Цитата: Segaman от 06 Апрель 2011, 12:55:03 ---Эти 3 левела уже дотёр до дыр. --- Конец цитаты --- на 3-3 из стены бонусы доставал? ^_^ |
| Segaman:
Да доставал. Правда не всегда удаётся. Ты кстати уж подкрути 4-й левел малость. Ато хак будет казаться не полным, если 1 левел будет упущен. Кстати, расскажи о структуре левелаф. Очь интересно, как всё там работает Добавлено позже: Попробуй мотоциклы влепить на 1 левил |
| Ti_:
--- Цитата: Segaman от 07 Апрель 2011, 08:04:26 ---Кстати, расскажи о структуре левелаф. Очь интересно, как всё там работает --- Конец цитаты --- Был бы смысл, а то все равно никто ж делать не будет. Ну если просто ради интереса вкратце могу сказать - в конфигах строчки из 12байт-объекты, между ними натыканы могут быть XXFD XXXX - смена палитр, 00FE -ожидание пред.объектов, 00FF - конец лвл. Объекты - (ID).w, (map).w, (xpos).w, (ypos).w, (zpos).w, (atr1).b, (atr2).b. - ид объекта, позиция левела когда создавать, координаты, atr1-всякие св-ва, atr2-доп.жизни. |
| feos:
Кто-нибудь может сказать, как в НЕС варианте реализован скроллинг пола во втором уровне? Он же создает эффект не просто двух или более слоев с независимым скроллингом, а именно трехмерности пола! Имеются в виду эти вертикальные полоски. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |