Перейти к содержимому
DeidaraNT

Помощь по ромхакингу

Рекомендуемые сообщения

Ты редактируешь "пустышки", они имеют такой цвет лишь пару мили-секунд, а потом она переключается на циклы. Палитра циклов называется c

Тоесть опять заходить через SonMapEd, только через какое меню там открывать файл?

 

UPD: Уже не надо, нашёл и сделал. Спасибо.

Поделиться сообщением


Ссылка на сообщение

Здравствуйте, уважаемые ромхакеры! Случилась у меня проблема, никакими способами решить не получается. И посему хочу прибегнуть к вашей помощи.

 

В общем, вот это код splash-screen'а - я хочу поставить splash-screen вместо логотипа сеги:

 

 

SegaScreen:

move.b #$E4,d0

jsr PlaySound_Special ; Stop the music

jsr ClearPLC ; Clear the PLC

jsr Pal_FadeFrom ; Fade out

move #$2700,sr

 

Splash_SetupVDP:

lea ($C00004).l,a6 ; Setup teh VDP

move.w #$8004,(a6) ; Mode register 1 setting

move.w #$8230,(a6) ; Map Plane A setting

move.w #$8407,(a6) ; Map Plane B setting

move.w #$9001,(a6) ; Plane size setting

move.w #$9200,(a6) ; Window vertical position

move.w #$8B03,(a6) ; Mode register 3 setting

move.w #$8720,(a6) ; Backdrop color setting

clr.b ($FFFFF64E).w

jsr ClearScreen ; Clear the actual screen

lea ($FFFFD000).w,a1 ; Clear $FFD000-$FFD7FF

moveq #0,d0

move.w #$7FF,d1

 

Splash_ClrObjRam:

move.l d0,(a1)+

dbf d1,Splash_ClrObjRam

 

Splash_Art: move.l #$40000000,($C00004).l ; VRAM $0000

lea (Nem_SplashSc).l,a0 ; Image's tiles

jsr NemDec ; Decompress

;Here, you may add the art used for your objects

; move.l #$54C00000,($C00004).l

; lea (Nem_ObjSplash).l,a0

; jsr NemDec

 

Splash_Mappings:

lea ($FF0000).l,a1 ; Load screen mappings

lea (Eni_Splash).l,a0

move.w #0,d0

jsr EniDec

 

Splash_ShowOnVDP: lea ($FF0000).l,a1 ; Show screen

move.l #$40000003,d0 ; Location

moveq #$27,d1

moveq #$1B,d2

jsr ShowVDPGraphics

 

Splash_Palette:

move.l d0,(a1)+

dbf d1,Splash_Palette ; fill pallet with 0 (black)

 

lea (Pal_SegaBG21).l,a1

lea ($FFFFFB80).w,a2

moveq #$1F,d0

@loop: move.l (a1)+,(a2)+

dbf d0,@loop

 

Splash_Music:

move.w #$BF,d0

jsr (PlaySound).l ; play extra continue sound

; The own palette for your object.

; moveq #$19,d0 ; load Sonic's pallet

; jsr PalLoad2

Splash_LoadObj:

jsr Pal_Fadeto

;Set the object's ID on $FFFFD000

move.b #$00,($FFFFD000).w ; load your object

jsr ObjectsLoad

jsr BuildSprites

; ---------------------------------------------------------------------------------------------------------------------

Splash_Loop:

move.b #$2,($FFFFF62A).w

jsr DelayProgram

add.w #1,($FFFFFFCD).w ; add 1 to frame counter

cmp.w #200,($FFFFFFCD).w ; is the frame 380?

beq.s Splash_Next ; if yes, branch

andi.b #$80,($FFFFF605).w ; is Start button pressed?

beq.w Splash_Loop ; if not, branch

 

Splash_Next:

clr.w ($FFFFFFCD).w ; clear frame counter

move.b #2,($FFFFF62A).w

move.b #$4,($FFFFF600).w ; go to splash screen

rts

 

 

Pal_SegaBG21: incbin "palasm.bin"

even

Nem_SplashSc: incbin "tilesasm_n.bin"

even

Eni_Splash: incbin "mapsasm_e.bin"

even

 

Но как только я запускаю скомпилированный ром, отображается только синий экран! И самое интересное: когда я выхожу на сегаскрин путем нажимания на Sound Test в портированной менюшке из Sonic 2, он отображается как надо! Пожалуйста, подскажите что следует делать в такой ситуации.

Поделиться сообщением


Ссылка на сообщение
Здравствуйте, уважаемые ромхакеры! Случилась у меня проблема, никакими способами решить не получается. И посему хочу прибегнуть к вашей помощи.

 

В общем, вот это код splash-screen'а - я хочу поставить splash-screen вместо логотипа сеги:

 

 

 

 

Но как только я запускаю скомпилированный ром, отображается только синий экран! И самое интересное: когда я выхожу на сегаскрин путем нажимания на Sound Test в портированной менюшке из Sonic 2, он отображается как надо! Пожалуйста, подскажите что следует делать в такой ситуации.

То есть тебе не нужен сегаскрин?Если да, то просто убери его GameMode(дальше не помню название).

Поделиться сообщением


Ссылка на сообщение

Туповато-нубский вопрос.

Какой файл надо открыть в сонмапеде, чтобы отобразился еггман на своем еггподе, и какой файл надо открыть чтобы отобразились его подручные средства ( Это которые маятник, копье которым он ломает блоки, странная штука для стрельбы огнем и шипами?)

Поделиться сообщением


Ссылка на сообщение
Туповато-нубский вопрос.

Какой файл надо открыть в сонмапеде, чтобы отобразился еггман на своем еггподе, и какой файл надо открыть чтобы отобразились его подручные средства ( Это которые маятник, копье которым он ломает блоки, странная штука для стрельбы огнем и шипами?)

Что бы отразился Эггман, нужно подгрузить тайлы bossmain.bin и маппинги eggman.bin(название маппингов точно не помню).объекты грузятся отдельно.

Поделиться сообщением


Ссылка на сообщение
Здравствуйте, уважаемые ромхакеры! Случилась у меня проблема, никакими способами решить не получается. И посему хочу прибегнуть к вашей помощи.

 

В общем, вот это код splash-screen'а - я хочу поставить splash-screen вместо логотипа сеги:

 

Но как только я запускаю скомпилированный ром, отображается только синий экран! И самое интересное: когда я выхожу на сегаскрин путем нажимания на Sound Test в портированной менюшке из Sonic 2, он отображается как надо! Пожалуйста, подскажите что следует делать в такой ситуации.

 

О, это же сплешскрин ASM To Sega Genesis, форума украденных хоммингов. Автор взял за основу код Trox'а, и разумеется, ни слова про это не сказал. Оригинал кода: http://sonicresearch.org/forums/index.php?showtopic=2680

 

Сам код Trox'а написан довольно криво, уже неровные отступы, то табы, то пробелы и кривые комменты не внушают доверия. Но эта шаткая конструкция работала в нужном для себя месте - после лого Сеги, стоило условиям измениться, все пошло под откос. Только что протестил этот код и лично увидел этот загадочный баг. Баг коварен, незаметен и связан не с логической ошибкой в коде, а с ошибкой видеопроцессора.

 

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

 

В своем коде сплэшскрина Trox, как выяснилось, этого не сделал. И вот, что примечательно - когда сплэш скрин отображается после какого-либо экрана, DISPLAY уже заранее включен за него и проблем не возникает (кроме того, что графика и маппинги загружаются крайне неэффективно). А вот если сплэш скрин должен появиться первым - и возникает проблема. Вывод картинки на экран не включен, и вместо картинки весь экран заполняется "фоновым" цветом - отсюда синий экран.

 

Чтобы исправить проблему, и сделать все должным образом, после строки:

			move.w	#$8720,(a6)		   ; Backdrop color setting

Добавь:

		move.w	#$8134,($C00004).l

 

После "Splash_LoadObj:" добавь:

		move.w	#$8174,($C00004).l

 

Если интересно, $8134 и $8174 - это команды для видепроцессора (VDP). Не буду вдаваться в подробный их разбор, иначе придется углублятся в устройство железа, если коротко, то первая выключает DISPLAY на время загрузки графики, вторая - снова включает, когда все готово и пора отображать сплэшскрин.

Поделиться сообщением


Ссылка на сообщение

Как в SonMapEd изменить задний план Скрап брейн зоны акт 2?

Поделиться сообщением


Ссылка на сообщение
Как в SonMapEd изменить задний план Скрап брейн зоны акт 2?

Подгрузить тайлы, составить маппинги, экспортировать, перерисовать, импортировать, сохранить тайлы.

А вообще юзайте SonED2.

Поделиться сообщением


Ссылка на сообщение

Как в SonMapEd изменить задний план Скрап брейн зоны акт 2?

Подгрузить тайлы, составить маппинги, экспортировать, перерисовать, импортировать, сохранить тайлы.

А вообще юзайте SonED2.

 

Да, а если точнее, юзать для этого нужно только SonED.

SonMapEd для спрайтов. Использовать его для редактирования задников - немыслимо и бредово. Собрать маппинги будет либо почти нереально, либо вообще не получится, если в SonMapED есть ограничение на количество спрайтов. Об экспортировании/импортировании их даже и речи не идет. Сделать что-то можно только с тайлами, но ничего путного с таким раскладом все равно не сделаешь.

 

Впрочем, SonMapEd для редактирования задников - это еще что. Я видел парня, который Потрером уровни из S3&K в S1HS портировать пытался.

Поделиться сообщением


Ссылка на сообщение

Так и не понял, как запустить PlaneED....

 

Английский во всю учу, но до уровня PlaneED\ReadMe.txt не дошёл :)

Поделиться сообщением


Ссылка на сообщение
Так и не понял, как запустить PlaneED....

 

Английский во всю учу, но до уровня PlaneED\ReadMe.txt не дошёл :)

Плюсуюсь.Я вроде как перевел,но запустить так и не получилось.

Поделиться сообщением


Ссылка на сообщение

Так и не понял, как запустить PlaneED....

 

Английский во всю учу, но до уровня PlaneED\ReadMe.txt не дошёл :)

 

Плюсуюсь.Я вроде как перевел,но запустить так и не получилось.

Не бойтесь, вы не одни такие, еще пол мира имеют проблемы с ПланЭдом =Р

 

Хотя я не нахожу в этом особых трудностей - в программе есть примеры, которые показывают, как должны выглядеть файлы проектов. При ошибке создатся файл sdlerr.txt с конктерным ее описанием.

Не знаю, поможет ли это, но еще очень давно я написал на Сканфе статью о ПланЭде, позаботившись о небольшой (совсем микроскопической) инструкции к программе: http://info.sonicscanf.org/PlaneED

 

ПланЭд спартанский, хотя с ним можно продуктивно работать, если настроиться. К сожалению, альтернатив пока еще нет. Хотя я тут подумывал об одной...

 

S1HS_SecretPlaner.png

 

Эту программу я начал примерно полгода назад, забросил примерно полгода минус 3 дня назад. Делал ее для себя, чтобы собрать лого Сеги, которое я потом использовал не-помню-где, позже оно увидело свет в проекте Sonic 3 in 1. Как только я выполнил миссию и собрал лого - оставил программу с ее багами и незавершенными компонентами. Лого Сеги - единственное, что повидала экспериментальная версия Planer'а.

 

К сожалению, программа в текущем состоянии не готова к публичному релизу. Если многие захотят увидеть замену PlaneEd'у, я могу подумать об ее продолжении. Однако, скорого релиза не обещаю, сейчас у меня другие приоритеты.

Изменено пользователем vladikcomper

Поделиться сообщением


Ссылка на сообщение

Весьма благоодно с твоей стооны - я только 'за'! :(

Поделиться сообщением


Ссылка на сообщение

Спасибо большое! :(

 

Всё работает!

Поделиться сообщением


Ссылка на сообщение

Я тоже за! Будет и вправду благородно.

Поделиться сообщением


Ссылка на сообщение

Что будет, если создать новый чанк на этом пустом чанке( Обведенено красным)?

3039544e14e8.jpg

Поделиться сообщением


Ссылка на сообщение
Что будет, если создать новый чанк на этом пустом чанке( Обведенено красным)?

Так есть ограничение по кол-ву чанков, больше ты не сможешь рисовать.

По-моему, первые несколько пустых чанков можно использовать.

Поделиться сообщением


Ссылка на сообщение

Я зарисовал первые два пустых чанка, и Соник проходя через них падает.

Изменено пользователем Solaris

Поделиться сообщением


Ссылка на сообщение
Я зарисовал первые два пустых чанка, и Соник проходя через них падает.

 

Для каждого чанка есть состояние "твёрдости"

Q/W переключает режими видения "твёрдости"

 

Наведи курсор на любой из блоков в текущем чанке и нажми G и тогда блок поменяет состояние твёрдости.

 

Этих состояний несколько:

Твёрд со всех сторон

Твёрд только сверху_вниз

Твёрд только слева_направо и справо_налево

Поделиться сообщением


Ссылка на сообщение
Так есть ограничение по кол-ву чанков, больше ты не сможешь рисовать.

По-моему, первые несколько пустых чанков можно использовать.

 

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

 

Я зарисовал первые два пустых чанка, и Соник проходя через них падает.

 

Нужно давать атрибут твердости каждому блоку, которые должны быть твердыми (в данном случае это трава). Нажми правой кнопкой на блоке, который ты хочешь сделать твердым и нажми клавишу G (ты сразу заметишь, что надпись NOT SOLID (под надписью CHUNK ID) сменилась на ALL SOLID - это значит что этот блок будет твердым в игре). Нажимая на микроскопические стрелочки рядом с NOT SOLID ты можешь выбирать различные варианты твердости (TOP SOLID - блок твердый только если Соник на нем стоит сверху, этот атрибут полезно ставить когда, например, нужно чтобы Соник мог запрыгнуть куда-то снизу; L&R SOLID - соответственно, блок твердый только с боковых сторон, если встать на этот блок сверху он не будет твердым).

 

P.S. В твоем случае будет разумнее присваивать траве не ALL SOLID, а TOP SOLID.

Изменено пользователем Cool-Spot

Поделиться сообщением


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

 

Но ведь они не все отображаются? Я имел только ввиду те, которые можно отобразить.

Прошу прощения <_<

 

Нажимая на микроскопические стрелочки рядом с NOT SOLID

 

Рекомендую пользоваться F4 - для полноэкранного отображения.

Поделиться сообщением


Ссылка на сообщение

Cool-Spot, Borus - спасибо, помогло.

Поделиться сообщением


Ссылка на сообщение

Немножко странный вопрос.

Можно ли сделать так чтобы не на каждом этапе, а каждом акте были разные названия?

Поделиться сообщением


Ссылка на сообщение
Немножко странный вопрос.

Можно ли сделать так чтобы не на каждом этапе, а каждом акте были разные названия?

Каждая зона имеет по три акта. Разве можно сделать так, чтобы на каждом акте было разное название зон? о_0

Поделиться сообщением


Ссылка на сообщение

А тогда и у меня есть свой вопрос. Как сделать в первом акте день, во втором вечер, в третем ночь?

Поделиться сообщением


Ссылка на сообщение

Сам я этого не знаю, но думаю что если из зоны в зону меняется палитра и названия зон, то можно найти этот параметр отвечающий за всё это и поставить его между уровнями соответственно изменив названия зон. Про палитру незнаю =/

Поделиться сообщением


Ссылка на сообщение
Сам я этого не знаю, но думаю что если из зоны в зону меняется палитра и названия зон, то можно найти этот параметр отвечающий за всё это и поставить его между уровнями соответственно изменив названия зон. Про палитру незнаю =/

Не понял.

Поделиться сообщением


Ссылка на сообщение

На подробнейшее объяснение уйдёт много времени. В АСМе надо рыться. И вообще не рановато ли вам такие сложные вещи изучать? Сначала сделайте хак, а потом уже думайте о сложных фичах!

Изменено пользователем Smile-X

Поделиться сообщением


Ссылка на сообщение

Я же не прошу хоминг, пил аут, милисекунды, мне просто интересно, возможно ли такое и как?

Поделиться сообщением


Ссылка на сообщение

Думаю что такое возможно. Всё возможно если знать как это делать.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×