2431
Ромхакинг и программирование / Re: Ищу информацию и уроки
« : 16 Май 2011, 16:10:16 »Цитата
Насчет "ext.w", что оно выполняет? Я просто сеговский асм как-то не очень знаю.перевод из byte в word с учетом знака +-.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Насчет "ext.w", что оно выполняет? Я просто сеговский асм как-то не очень знаю.перевод из byte в word с учетом знака +-.
REP #$30 ;acc - 16 bitСпасибо, может так и сделать тогда на Снес, а потом обратно надо в 8? И ext.w как сделать.
ASL $0BC3 - будет тебе сдвиг 16-битный.
move.w d0,car_posbyZ_nu-mm(a4) ; $4e96(a4) (not used), и на снес туда не записывать.
Так кто нет, только в СНЕС еще есть "car_posby_Ztmp"$4e96 = $0BC3
Где ROL $0BC3 происходило тоже 5 раз.
хм.. ты анимацию робота маленького менял? он стойку сменил (когда долго ничего не делаешь)Нет, ничего не менял. Там только указывается другой оффсет для графики, если чар ID=0007.
да.. только мозгов маловато пока... попробуй, мож получится. У меня не вышло.Попробовал - 'графически' добавил.

Там и адреса такого нет.. в GG id зоны битвы отслеживается по адресу 00FFAABD, в idaНу видимо ID'шник то 'word'ом записан вот и всё. BC,BD 2байта, посколько уровней мало ты видишь только изменение BD, то есть с 0001 на 0002. Но игра считывает целиком 0001, а не 01.
после 00FFAABC сразу идет 00FFAABE (RAM)..
Как ты его нашел, у меня не получается
ты ОБЯЗАН его сделать!Идея с роботом и вправду хороша. ( Я например тоже думал, что можно сделать с CHC, если 5-ого игрока, то кого-багамута? Но у него явно всех поз нет
)
$80/9B0F A9 FF LDA #$FF A:1D18 X:0001 Y:0000 P:envMXdizc
$80/9B11 8D C6 0B STA $0BC6 [$80:0BC6] A:1D18 X:0001 Y:0000 P:envMXdizc ; move.b #$FF,car_posby_Ztmp+1-mm(a4)
.....
$80/9B46 20 53 9D JSR $9D53 [$80:9D53] A:1D18 X:0001 Y:0000 P:envMXdizc ; bsr.w jumping_phys_sub2
.....
$80/9D53 9C C3 0B STZ $0BC3 [$80:0BC3] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D56 AD BB 0B LDA $0BBB [$80:0BBB] A:1D1C X:0002 Y:0000 P:envMXdizC car_updown_tm2
$80/9D59 8D C4 0B STA $0BC4 [$80:0BC4] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D5C 10 03 BPL $03 [$9D61] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D5E CE C3 0B DEC $0BC3 [$80:0BC3] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D61 A0 05 LDY #$05 A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D63 0E C4 0B ASL $0BC4 [$80:0BC4] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D66 2E C3 0B ROL $0BC3 [$80:0BC3] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D69 88 DEY A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D6A D0 F7 BNE $F7 [$9D63] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D6C AD C6 0B LDA $0BC6 [$80:0BC6] A:1D1C X:0002 Y:0000 P:envMXdizC car_posby_Ztmp+1
$80/9D6F 18 CLC A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D70 6D C4 0B ADC $0BC4 [$80:0BC4] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D73 8D C6 0B STA $0BC6 [$80:0BC6] A:1D1C X:0002 Y:0000 P:envMXdizC car_posby_Ztmp+1
$80/9D76 AD C5 0B LDA $0BC5 [$80:0BC5] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D79 6D C3 0B ADC $0BC3 [$80:0BC3] A:1D1C X:0002 Y:0000 P:envMXdizC
$80/9D7C 8D C5 0B STA $0BC5 [$80:0BC5] A:1D1C X:0002 Y:0000 P:envMXdizC car_posby_Ztmp
$80/9D7F 60 RTS A:1D1C X:0002 Y:0000 P:envMXdizC
ROM:0000DB52 jumping_phys_sub2: ; CODE XREF: JUMPING_PHYS+94p
ROM:0000DB52 move.b car_updown_tm2-mm(a4),d0 ; $4e8e(a4)
ROM:0000DB56 ext.w d0
ROM:0000DB58 asl.w #5,d0 ; * 32
ROM:0000DB5A move.w d0,car_posbyZ_nu-mm(a4) ; $4e96(a4) (not used)
ROM:0000DB5E add.w d0,car_posby_Ztmp-mm(a4) ; $4e98(a4) byte
ROM:0000DB62 rts ; $4e99(a4)=car_posby_Ztmp+1
+атак бонус теперь дается и за таран. бонус за атаку напарника больше не дается.
+исправлен счетчик смертей , и некоторые баги с отображением его и денег.
+увеличены выплаты при переходах+немного дешевле шины/амортизаторы.
+отключен прыжок от двойного нажатия 'B' , теперь только XYZ.
+исправлено отображение моделей 3-ей и 4-ей машины (обновлялось не более 2 моделей за раз - теперь 4)
+начальные позиции на старте положение < и ^ изменены, так чтобы игрок1 не мог расстрелять сразу игрока 3, и 4-ый - 2-ого.
Добавлено позже:Я только карту тайлов+графу нашел распаковал; рисовал+ правил карту уже lipetsk.
там, например, нет герба нового
Что мешает добавить 4 ментата? в чем загвоздка? Покажите как выглядит любой из трех ментатов (офсеты таилов, карты, палитры и чем все это пожато).Ментат из спрайтов состоит, там и анимация еще и нарисовать его непросто, у меня нет желания там разбираться, если кто хочет делайте; только не спрашивайте как. Адреса гляну сейчас.
ROM:00025934 gfx_m_tors: dc.l gfx_m_tors_H ; DATA XREF: sub_25970+Ao
ROM:00025938 dc.l gfx_m_tors_A
ROM:0002593C dc.l gfx_m_tors_O
ROM:00025940 gfx_m_eye: dc.l gfx_m_eye_H ; DATA XREF: sub_25ECE:loc_26008o
ROM:00025944 dc.l gfx_m_eye_A
ROM:00025948 dc.l gfx_m_eye_0
ROM:0002594C gfx_m_rot: dc.l gfx_m_rot_H ; DATA XREF: sub_25ECE+15Ao
ROM:00025950 dc.l gfx_m_rot_A
ROM:00025954 dc.l gfx_m_rot_0
ROM:00025958 unk_25958: dc.b $FF ; DATA XREF: sub_25970+AEo
ROM:00025959 dc.b $F8 ; °
ROM:0002595A dc.w $10
ROM:0002595C dc.w 0
ROM:0002595E dc.w 0
ROM:00025960 dc.w $FFE8
ROM:00025962 dc.w 0
ROM:00025964 word_25964: dc.w $FFF8 ; DATA XREF: sub_25970+CCo
ROM:00025966 dc.w $10
ROM:00025968 dc.w 0
ROM:0002596A dc.w 0
ROM:0002596C dc.w $FFF0
ROM:0002596E dc.w 0
ROM:00025970
ROM:000257EC spritemap_ment: dc.l $A80D01 ; DATA XREF: sub_25970+78o
ROM:000257F0 dc.l $C5890001
ROM:000257F4 dc.l $A80D02
ROM:000257F8 dc.l $C5910021
ROM:000257FC dc.l $A80503
ROM:00025800 dc.l $C5990041
ROM:00025804 dc.l $A80D04
ROM:00025808 dc.l $C59D0001
ROM:0002580C dc.l $A80D05
ROM:00025810 dc.l $C5A50021
ROM:00025814 dc.l $A80506
ROM:00025818 dc.l $C5AD0041
ROM:0002581C dc.l $C00D07
ROM:00025820 dc.l $C5B10001
ROM:00025824 dc.l $C00D08
ROM:00025828 dc.l $C5B90021
..................ROM:000A2C3E mentat_pals: dc.w 0, $8A, $6CE, $2AC, $48, $24, $E0E, $E0E, $EEE, $AAA, $666, $AAA, $444, $EEE, $666, 0
ROM:000A2C3E ; DATA XREF: sub_25ECE+1B8o
ROM:000A2C3E
Но наверно стоит для начала поискать уже готовые эмуляторы, или эмуляторы процессоров которые идут в составе системы, и не только процессоров...Даж создатель генса, писал эмуль это на ядре, которое писал не он, только правил. Starscream 680x0 вот это.
Заставка это титульный экран что ли?Нет, там 'видео', состоящее из н-ких анимированных картинок + речь сюжета. А финальные заставки там если за атров пройти - императора сажают чтоли), за харконеннов - убивают, а за ордосов какие-то зверьки были. В ютубе это всё найти можно. Ну а выдрать из файлов пк-версии это просто XCC-mixerom.
Возможно по умолчанию у юнитов тип ИИ hunt стоит.Нет, там просо в коде, проверяется - если юнит фримен +труперов ему включается автоматически ИИ.
А у Сардукаров в хаке есть финальная концовка?Нету. А у кого она есть? Ни у кого. Ах, ну в ПК-версии всё же есть.
В архиве ром и сама миссия.Спасибо, даже не знаю. Да многое к ним привязано, например труперы автоматически ИИ управляются. В заводе кариалл - походу там им просто ничего не прописано. (в коде доступных юнитов фримены просто не учитываются).
Предлагайте свои эскизы, а я попробую вставить.А если кампанию за фрименов надумаешь создать? Ну они глючили, но когда были союзниками.. а если игрок ими? Надо проверить какие там баги. Хак поддерживает фрименов, нужно прописать вручную строки, для атров например - 0351 03E8 0343 03DE 0342 0048 034D 0019, а для фрименов B -
+за атак бонус теперь 1500$ дается.
+денежные бонусы при переходах теперь разные (проигрывающим больше дается).
+кол-во денег (money powerups) на трассе чуть больше.
+за 4-ое место - $1000.
+добавлена статистика атак бонусов и смертей.
+доп. ромы - фуллскрин для 1-ого для 3-ого и сплит 1+4.
А знаете ли вы,что Денди допускает проигрывание сэмплов с расширением .raw через канал DPCM(без потери качества,т.е. качество остаётся тем же,что у исходного сэмпла)А самих семплов из БТиДД случаем не завалялось? В оригинальном формате (то есть именно в таком как и в Роме), напрямую выдранные из него. (а не дампнутых в вав)
в игре 3 типа червей как я вычислял еще давно.это можно глянуть в реде открыв карты, это просто тип ИИ:
1е. Те которые не могут покрутиться у юнита , но не съесть и уползти. Но потом вернутся. Не пробуждаются игроком.
2е. Всегда жрут. Пробуждаются игроком, наткнувшись на карте.
3е. Жрут всегда. Не пробуждаются игроком (как в последней миссии за Atreides)
Хреново, что он жрёт всех и игрока в первую очередь.Да это на самом деле так, сам я код не видел, но про PC-версию читал, что там специально разрабами прописано чтобы жрал игрока.
Было бы интересно, если бы с одинаковой вероятностью жрал всех и случайное количество раз.было бы интересно червем управлять.
, может гляну как-то , в тот раз не досмотрел.
Как бы задроты не задротствовали, до уровня TAS им никогда не дорасти. Кроме того доказана принципиальная возможность воспроизведения TAS'a на реальной консоли - http://www.youtube.com/watch?v=2JNf0lAo3Ns; это стирает границу между "легитимными", записанными на реальной консоли прохождениями и TAS'ами.С таким девайсом можно будет обогнать задротские прохи, а ведь потом как определят ты ли кнопки нажимал или нет? Если на видео реальная консоль и телевизор, а девайс можно и спрятать.
- некоторые "пикантности";Смотрю червь и саботер с доделанными картинками, супер. А червь на скрине бесплатный, хм (ведь можно будет халявить выбивая из него спайс)
- новая графика;
Спиндеш без пересобиралок не реализовать, это ты поймешь, посмотрев тутор тутСмотря что имеется ввиду под словом 'пересобиралка', если получить ром без смещения кода, тупо вставку сделать не проблема, если код небольшой можно засунуть и без вставки, подправив если возможно соседний(видимо тоже что 'разницу оптимизуруй').
Запустите контру, зайдите в опции -> управление. Там внизу показаны нажатия кнопок. Mode всегда нажата. Вот это я и исправляю в играх, которые зависят от её нажатия...А ты RRR правил уже? Там то можно перекинуть скажем с mode на X или Z.
+дополнительные настройки турнира.
+музыка и звуки как и в RRRHack - можно вкл./выкл. в опциях.
+дополнительные улучшения против десинхов.
+исправлен один визуальный баг.
может она как-то по хитрому должна запускаться, не знаю.. короче один nop воткнул - заработалаКакая-то неведомая штука должна быть по адресам $400000 , на оригинальном карте. Интересно, пираты защищаются друг от друга? А ведь нормальные карты выше 4мб и не работают.
ROM:00001B24 move.b ($400000).l,(dword_0_FFFF0C).l
ROM:00001B2E move.b ($401000).l,(dword_0_FFFF0C+2).l