Разработка и ромхакинг > Ромхакинг
[SMD] Dune: The Battle for Arrakis
MrFlibble:
--- Цитата: Ti_ от 06 Января 2010, 20:20:47 ---в сеговской у компа десант всегда повторяется), а игроку только один раз приносят.
--- Конец цитаты ---
Интересно! Впрочем, я так и подумал :D
Вот еще какой вопрос хотел задать: в PC-версии были задуманы атакующие группы юнитов для ИИ, однако из-за ошибки в скриптах работали они только для пехоты, а легкую и тяжелую технику ИИ слал по одному на базу игрока по мере производства (как раз работала команда Hunt). В сеговской версии такие скрипты есть?
ALEX_230_VOLT:
--- Цитата: Ti_ от 06 Января 2010, 01:35:41 ---сделал почти что...
вот тестовая миссия - где 150 юнитов , сражение 75 танков на 75 ракетниц)
атредес-миссия 1
dunehackX
эмуль заново качаем, еще добавил разгон мгц (а то 15мгц стока не тянет юнитов)
GENS xz mhz +2mbram
можете сами еще побоьше поставить/отрегулировать или чтобы заново не качать
менять частоту по $2ECE06 , $15 на другое число. много не ставьте на слабых машинах если cама эмуляция может тормозить начать(фпс).
--- Конец цитаты ---
почему то dunehackX не запускается. пробовал на разных эмулях (в том числе на том что ты выкладывал в этом посте) и нифига - чёрный экран. смена расширения на bin тоже не помогла
Ti_:
кстати сами лимиты если кому над. (;C8- строки до 200расширил)
--- Код: ---#gui
162AA, 76B0
#ram-strings
26A1A, 0C43 00C9
43666, 0C41 00C9
43400, 0C46 00C8
43406, 0C43 00C8
43206, 0C43 00C9
435F8, 0C44 00C8
#index?(WTF)
6BCF6, 00C8
6BD52, 00C8
6BDAE, 00C8
6BE0A, 00C8
6BEC2, 00C8
6BF1e, 00C8
6BF7A, 00C8
6BFD6, 00C8
6C032, 00C8
6C08E, 00C8
6C0EA, 00C8
6C146, 00C8
6c1A2, 00C8
6C1FE, 00C8
6C25a, 00c8
--- Конец кода ---
список адресов ram юнитов - ROM:0004A85A (упоминалось уже), ($FEEE0 в хаке.)
Добавлено позже:
--- Цитата: ALEX_230_VOLT от 06 Января 2010, 20:30:04 ---почему то dunehackX не запускается. пробовал на разных эмулях (в том числе на том что ты выкладывал в этом посте) и нифига - чёрный экран. смена расширения на bin тоже не помогла
--- Конец цитаты ---
править crc рома поставь в свойстах эмуля. вроде правил значит забыл. (перезалью еще )
Добавлено позже:
--- Цитата: MrFlibble от 06 Января 2010, 20:26:39 ---В сеговской версии такие скрипты есть?
--- Конец цитаты ---
вроде нет, помню находили что-то в конфигах карт неясное, но это потом спайсовые точки вроде как оказалось и список кто в старпорте. , вообще потом еще гляну.
Добавлено позже:
--- Цитата: ALEX_230_VOLT от 06 Января 2010, 20:30:04 ---почему то dunehackX не запускается
--- Конец цитаты ---
перезалил с fixed checksum. (и в ссылке и на форуме)
ALEX_230_VOLT:
да я и сам уже понял как включать фикс контрольной суммы ;) Битва конечно мощная, но всё же тормозит. Наверное надо всё же использовать эмуль на 64 мгц
Ti_:
--- Цитата: ALEX_230_VOLT от 06 Января 2010, 21:06:53 ---Наверное надо всё же использовать эмуль на 64 мгц
--- Конец цитаты ---
в том что я выложил (XZ Mhz ) около 50. тут скорее сотню надо ,
это дюна кривая) много юнитов не любит.
вот 100... gens_100mhz_2RAM
p.s.в аську зайди -тут вроде думаем 4-ом счас рубануть RRR.
Ti_:
пока вроде как выяснил из-за чего глюк с пропаданием иконок, адреса новые используются не полностью, так в некотором случае он считает походу без учета полного адреса, последние 2байта только - т.е. опять FFxxxx., вместо xxxxxx.
строениям пробовал полностью новые адреса прописать - для всех строений новая память, так вот здания пашут- но перестает работать плитки-кокрит), а у меня этот глюк незаметен был потому что адреса как бы совмещенные получились типа FF4Eb8, Fe4eb8. и вроде прокатывает -или незаметно просто. конечно можно и так оставить, но в случае с юнитами надо фиксить, а как пока не знаю. (именно поэтому и получалось без глюков на 11 юнитов добавить- ведь у самолетов нет иконок и полосок жизни- а новые адреса там были как раз FE1000 ( как FF1000 для самолетов)
но зависание после 137-ого здания не из-за этого происходит), там еще походу 1или2 типа строк для зданий за что-то отвечающих) (кроме уже найденных и кругляшков) , тут поискать надо просто.
Добавлено позже:
кстати вот уточнение насчет кругляшков.
1) лампочки (те что горят на рефинери)
--- Код: ---RAM_:00FFD4B8 lampo4ki: ds.b 2 ; DATA XREF: sub_D65A+12Eo
RAM_:00FFD4BA ds.b 1
--- Конец кода ---
по 2байта для кажого здания.; 1цифра стоит другая меняется когда они мигают. (если здание без лампочек - 0000)
их ограничивалка:
--- Код: ---ROM:0000D77E cmpi.w #$49,(a2)
ROM:0000D788 lea (lampo4ki).l,a3
--- Конец кода ---
2) кругляшки (которые показывают какой дом)
--- Код: ---RAM_:00FFD54C kruglyashki: ds.b 1 ; DATA XREF: sub_D65A+4CCo
RAM_:00FFD54D ds.b 1
--- Конец кода ---
на каждое здание по байту, цифры все время крутятся) причем для кажого здания по-своему. (хотя внешне-то одинаково вращаются! ) (если здания нет - 0)
их ограничивалка:
--- Код: ---ROM:0000DB1E cmpi.w #$49,(a2) ; 'I'
ROM:0000DB22 bge.w loc_DC3A
ROM:0000DB26 lea (kruglyashki).l,a3
--- Конец кода ---
Segaman:
Не забывай записывать и выкладывать, как ты фсего добиваешся. Ато не прикольно когда ты один всё умеешь делать.
А так молодец, так держать.
Ti_:
--- Цитата: Segaman от 09 Января 2010, 19:52:03 ---Не забывай записывать и выкладывать, как ты фсего добиваешся.
--- Конец цитаты ---
тебя метод поиска интересует или что.
ALEX_230_VOLT:
--- Цитата: Ti_ от 09 Января 2010, 22:39:07 ---тебя метод поиска интересует или что.
--- Конец цитаты ---
ну хотябы азы обьясни ;) ну вот открыл я ром хекс редактором и что дальше? Как определить где кончается графа и звуки и начинается напосредственно игра?
topos84:
ALEX_230_VOLT, http://romhacking.net.ru/forum/4-45-1
А вообще, Ti_, пора тебе за написание книжки садиться: "Ромхакинг без программирования" :)
r57shell:
неайс неайс задумка :D, это получится тогда ресурс хакинг восновном ^^. но где-то можно догадаться, или кого-нить попросить ^^.
Добавлено позже:
Лучше напиши книгу "как тяжело хакать, без прогинга" :'(
Ti_:
--- Цитата: r57shell от 10 Января 2010, 00:29:15 ---Лучше напиши книгу "как тяжело хакать, без прогинга"
--- Конец цитаты ---
понимаешь основная проблема, когда новички спрашивают "я хочу научится ломать ромы", "я хочу что-нибудь изменить в игре" и им отвечают:
"тебе надо учить программирование" или "тебе надо учить ассемблер 68к".
ну и что они пойдут учить через годик выучат какой-нибудь язык только ради того чтобы что-то попробовать изменить в любимой игре? а что они поймут если прочитают этот ассемблер - вообще ничего.
Добавлено позже:
ещё интерес тот факт что многие знают программирование, а что такое хекс и ром и как они ломаются не понимают ну или не знают. :)
Добавлено позже:
--- Цитата: r57shell от 10 Января 2010, 00:29:15 ---это получится тогда ресурс хакинг восновном ^^
--- Конец цитаты ---
да понимаешь ресурс хакинг он уже ромхакинг. смотря что за игра, можно многого добиться без измения кода вообще.
самое главное понять что такое код,данные, где это в роме и как выглядит, а дальше уже сам смотришь на него в ИДЕ и решаешь - 1) да я его выучу это круто 2) нет мне лень учить, я лучше поизменяю все что не код.
Segaman:
Да я не о том ваапще. Я говорю, как ты юнитов добавил, строений, червей и т.д.
чтоб хаки можно было сделать. А я мог бы DuneCore написать. типа мугена, только про дюну на сегу.
Ti_:
--- Цитата: Segaman от 10 Января 2010, 09:41:09 ---Да я не о том ваапще. Я говорю, как ты юнитов добавил, строений, червей и т.д.
чтоб хаки можно было сделать.
--- Конец цитаты ---
червей я не добавил. вначале я добавил здания - , ну как 1)посчитали их макс. кол-во; 2) нашли в памяти текущее кол-во. 3)дебаг на это адрес. 4) оказалось что это только за иконку отвечает.(но уже не помню). 5) нашли строки и список адресов которые отвечают за распеределние зданий в рам. в IDE. это вообще вроде либо ты написал либо они там рядом были.
6)смотрим все xrefs'ы от этого списка и в каждом смотрим куске что-то связанное с $49 или $46, например cmpi.w $49; ($49=73 , 72 в оригинале здания или сколько там)
7)заменяем везде $49 на $69
8)проверяем пропал ли лимит, он пропал - но 73-е здание не ставится.
9)перемещаем и дописываем список адресов зданий в роме., добавляя новые адреса из новой рам.
10)кругляшки были рядом в рам после основных.
юниты - там было сложнее , потому что кол-во юнитов 77, а с $4D сравнение ток в 1месте и оно отвечает за значок перечекрунтый.
а остальные там либо $65 либо 66$, - лимит строк, если посчитать этот список 101получается; , если изучить память то видно что память юнитов начинается не с 1-ой а с 25-ой., поэтому также $66-$4D =$19, и с $19тоже сравнения идут. вообщем во всех xref'aх идут сравнения c $66 и $19, а не $4d, меняем $66 и $65 на $СС скажем, перемещаем и удваиваем список адресов. и ничего не получаем.
а все потому что в одном из кусков было еще 1сравнение которой каждый раз бралось разное, из рома а задавалось от-ным адресом.
--- Код: ---ROM:000433AA move.w $34(a4),d3
ROM:000433AE move.w $36(a4),d6
ROM:000433B2 lea (units_offs).l,a1
--- Конец кода ---
--- Код: ---ROM:000433E2 loc_433E2: ; CODE XREF: sub_4332E+98j
ROM:000433E2 cmp.w d6,d3
--- Конец кода ---
ну вот палим дебаг или трейс чему равно A4, добавляем +$36, и смотрим там опять теже 19$ и 65$, вот после этого уже пашут юниты.
http://www.emu-land.net/forum/index.php/topic,16864.885#msg502048
r57shell:
--- Цитата: Ti_ от 10 Января 2010, 01:41:01 ---понимаешь основная проблема, когда новички спрашивают "я хочу научится ломать ромы", "я хочу что-нибудь изменить в игре" и им отвечают:
"тебе надо учить программирование" или "тебе надо учить ассемблер 68к".
ну и что они пойдут учить через годик выучат какой-нибудь язык только ради того чтобы что-то попробовать изменить в любимой игре?
--- Конец цитаты ---
годик?) да ты гонишь )))) я вот язык (программный) изучаю за неделю (это редкость) обычно за день-два. Язык изучить - это тупо знать синтаксис, а все функции (инструкции) - найди того, кто все знает, сомневаюсь, что найдёшь, исключая разработчиков самого языка.
--- Цитата: Ti_ от 10 Января 2010, 01:41:01 ---а что они поймут если прочитают этот ассемблер - вообще ничего.
--- Конец цитаты ---
Вот если C++ только изучат - то наверно и не поймут. Для того, чтобы понять, надо именно знать ассэмблер, а вот теперь найди тех, кто его знает. Утверждаю, что большинство тех кто знает ассэмблер - поймут как хакать и без тебя :) (но это моё личное мнение) Просто может методы, которые они будут использовать, будут не совсем совершенными.
--- Цитата: Ti_ от 10 Января 2010, 01:41:01 ---Добавлено позже:
ещё интерес тот факт что многие знают программирование, а что такое хекс и ром и как они ломаются не понимают ну или не знают. :)
--- Конец цитаты ---
Может они думают, что они знают "программирование", а я тех кто не знает хекс, такими не считаю. Ещё есть такое: многие кто изучили хоть какой-то язык, думают что это означает они умеют программировать, а на самом деле, это означает, что они умеют кодить.
--- Цитата: Ti_ от 10 Января 2010, 01:41:01 ---Добавлено позже:
да понимаешь ресурс хакинг он уже ромхакинг. смотря что за игра, можно многого добиться без измения кода вообще.
самое главное понять что такое код,данные, где это в роме и как выглядит, а дальше уже сам смотришь на него в ИДЕ и решаешь - 1) да я его выучу это круто 2) нет мне лень учить, я лучше поизменяю все что не код.
--- Конец цитаты ---
Хм... есть два смысла "одно не другое":
1) Одно не другое в смысле что они не одно и то же. ("вода не жидкость" так как жидкость не вода.)
2) Одно не другое в смысле что одно не является частью другого. ("вода жидкость" так как вода же жидкая!!) Ну или как-то так. Не охото давать чёткое определение, надеюсь все поняли, что я иммею ввиду.
Тут таже самая фигня: Ресурсхакинг не Ромхакинг так как Ромхакинг не Ресурсхакинг, и в то же время, ресурсхакинг является состовляющей Ромхакинга. Такчто если ты в роме ресурсы хакаешь, это не означает что ты не занимаешься ромхакингом, но в тоже время означает что ты не занимаешься ромхакингом в целом, так как ты не трогаешь код :]
Надеюсь написал достаточно популярно.
topos84:
--- Цитата: r57shell ---1) Одно не другое в смысле что они не одно и то же. ("вода не жидкость" так как жидкость не вода.)
2) Одно не другое в смысле что одно не является частью другого. ("вода жидкость" так как вода же жидкая!!) Ну или как-то так. Не охото давать чёткое определение, надеюсь все поняли, что я иммею ввиду.
Тут таже самая фигня: Ресурсхакинг не Ромхакинг так как Ромхакинг не Ресурсхакинг, и в то же время, ресурсхакинг является состовляющей Ромхакинга. Такчто если ты в роме ресурсы хакаешь, это не означает что ты не занимаешься ромхакингом, но в тоже время означает что ты не занимаешься ромхакингом в целом, так как ты не трогаешь код :]
Надеюсь написал достаточно популярно.
--- Конец цитаты ---
Такая "популяризация" понятий "род" и "видовые отличия" запутают всякого, кто с этими понятиями еще не знаком. :lol:
Ti_:
--- Цитата: r57shell от 10 Января 2010, 20:53:11 ---изучаю за неделю (это редкость) обычно за день-два.
--- Конец цитаты ---
ок напиши книгу как научится прогить за неделю для новичков с нуля, и о том как это легко. а вторую неделю на асм и далее перед ними все пути в ромхакинге открыты.
--- Цитата: r57shell от 10 Января 2010, 20:53:11 ---Для того, чтобы понять, надо именно знать ассэмблер, а вот теперь найди тех, кто его знает. Утверждаю, что большинство тех кто знает ассэмблер - поймут как хакать и без тебя :)
--- Конец цитаты ---
ок все новички знают ассемблер. они поймут без меня я в этом не сомневаюсь.
--- Цитата: r57shell от 10 Января 2010, 20:53:11 ---но в тоже время означает что ты не занимаешься ромхакингом в целом, так как ты не трогаешь код :]
--- Конец цитаты ---
ромхакинг взлом ромов, что меняешь не важно. с таким же успехом я могу сказать ты в целом не ромхакер- ты музыку и звук не заменяешь - только код.
другое дело что интересный или качественный хак можно сделать только измением кода, исключение - создание новых уровней например которые кодом не являются. (миссия в дюне, трасса в rrr.), а также RRR hack v0004 ).
Добавлено позже:
--- Цитата: r57shell от 10 Января 2010, 20:53:11 ---1) Одно не другое в смысле что они не одно и то же. ("вода не жидкость" так как жидкость не вода.)
2) Одно не другое в смысле что одно не является частью другого. ("вода жидкость" так как вода же жидкая!!)
Надеюсь написал достаточно популярно.
--- Конец цитаты ---
напиши 1) и 2) на asm 68k может мне понятнее будет что ты хотел сказать.
Добавлено позже:
--- Цитата: Ti_ от 10 Января 2010, 01:41:01 ---да понимаешь ресурс хакинг он уже ромхакинг.
--- Конец цитаты ---
romhacking = (resourse hacking) or (graphic hacking) or (code hacking) or (music hacking) or (perevod) or (fcking 100500 hacks mario color)
хотя последние 2 я за ромхаки не считаю.
r57shell:
--- Цитата: Ti_ от 10 Января 2010, 21:18:21 ---ок напиши книгу как научится прогить за неделю для новичков с нуля, и о том как это легко. а вторую неделю на асм и далее перед ними все пути в ромхакинге открыты.
--- Конец цитаты ---
А чего не так чтоли?) если они это будут знать.
--- Цитата: Ti_ от 10 Января 2010, 21:18:21 ---ок все новички знают ассемблер.они поймут без меня я в этом не сомневаюсь.
--- Конец цитаты ---
Оу, я не говорил что все новички знают ассэмблер, я сказал что ТЕ кто знают ассэмблер (а это уже не новички) те поймут без тебя.
Сначало надо было понять вот это
--- Цитата: Ti_ от 10 Января 2010, 21:18:21 ---Добавлено позже:
напиши 1) и 2) на asm 68k может мне понятнее будет что ты хотел сказать.
--- Конец цитаты ---
которое я не хочу писать на asm 68к....
А потом уже говорить об этом:
--- Цитата: Ti_ от 10 Января 2010, 21:18:21 ---ромхакинг взлом ромов, что меняешь не важно....
--- Конец цитаты ---
Так как оно относится к предыдущей цитате...
И это тоже:
--- Цитата: Ti_ от 10 Января 2010, 21:18:21 ---Добавлено позже:
romhacking = (resourse hacking) or (graphic hacking) or (code hacking) or (music hacking) or (perevod) or (fcking 100500 hacks mario color)
хотя последние 2 я за ромхаки не считаю.
--- Конец цитаты ---
Ti_:
--- Цитата: r57shell от 10 Января 2010, 21:26:27 ---А чего не так чтоли?) если они это будут знать.
--- Конец цитаты ---
не знаю я когда заинтересовался про взлом ромов, искал всякий софт для ромхакинга, статьи, скачивал манулки всякие и ассемблер и сега док и прочее всё было, но про что там пишут 90% все равно ниче не ясно пока сам не попробуешь. смысл было читать то че не понимаешь что это такое.
ну а если "учи программирование под сегу" и научишься ромы ломать это как думаешь у меня было желание учить программирование спецом чтобы в игре че-нить изменить , да еще вопрос в том как его учить. и вообще не верю я что программирование так легко дается!! и уж точно не всем.
было у меня 2дизасма вначале я ради интереса их юзнул посмотреть что получится- ну текст какой-то и всё толку 0., посмотреть на него только. если бы сразу с IDA начал другое дело, потому что вначале через хекс делал, хорошо потом подсказали что IDA рулит, Смоук вроде бы, причем советал иммено для нахождения всяких таблиц) типа хар-ки машин игроков и прочее, так как код отделяется и сразу видно. а не то что забито всяким софтом ромхаксайты типа поинтерсечеры какие-то, круптары и прочая дребень оно вообще ненужно нахрен кто придумал. вот во всё этом тока путаются новички и не знают с чего начать.
ИДАпро единственно правильный подход я вам говорю, знаешь ты ассемлер или нет это неважно, главное понятна сразу структура рома становится, много найти можно , изменить и т.д.
Добавлено позже:
--- Цитата: r57shell от 10 Января 2010, 21:26:27 ---Я сказал что ТЕ кто знают ассэмблер (а это уже не новички) те поймут без тебя.
--- Конец цитаты ---
это я типа меньшими знаниями должен писать книгу там или че для тех кто знает ассемблер и вообще такой все знает и без меня.?
или это прикол такой? во чел мутит хакает при этом ваще ниче не знает, а мы такие умные знаем программирование хаха ..
Добавлено позже:
--- Цитата: r57shell от 10 Января 2010, 21:26:27 ---Сначало надо было понять вот этокоторое я не хочу писать на asm 68к....
А потом уже говорить об этом:
Так как оно относится к предыдущей цитате...
И это тоже:
--- Конец цитаты ---
ресурс хакинг это уже ромхакинг(один из видов, а не какая-то там всеголишь составляющая) какой-бы он не был плохой или хороший.
а ты пытаешься это отрицать, что будто тока кодахакинг тру!!, а все остальное лишь жалкие составляющие
r57shell:
--- Цитата: Ti_ от 10 Января 2010, 22:05:46 ---не знаю я когда заинтересовался про взлом ромов, искал всякий софт для ромхакинга, статьи, скачивал манулки всякие и ассемблер и сега док и прочее всё было, но про что там пишут 90% все равно ниче не ясно пока сам не попробуешь. смысл было читать то че не понимаешь что это такое.
ну а если "учи программирование под сегу" и научишься ромы ломать это как думаешь у меня было желание учить программирование спецом чтобы в игре че-нить изменить , да еще вопрос в том как его учить. и вообще не верю я что программирование так легко дается!! и уж точно не всем.
--- Конец цитаты ---
За пол года можно освоить программирование неслабо, а за год вообще...
--- Цитата: Ti_ от 10 Января 2010, 22:05:46 ---ИДАпро единственно правильный подход я вам говорю, знаешь ты ассемлер или нет это неважно, главное понятна сразу структура рома становится, много найти можно , изменить и т.д.
--- Конец цитаты ---
Согласен.
--- Цитата: Ti_ от 10 Января 2010, 22:05:46 ---Добавлено позже:
это я типа меньшими знаниями должен писать книгу там или че для тех кто знает ассемблер и вообще такой все знает и без меня.?
или это прикол такой? во чел мутит хакает при этом ваще ниче не знает, а мы такие умные знаем программирование хаха ..
--- Конец цитаты ---
Это да, прикол, и в каждой шутке есть доля правды.
--- Цитата: Ti_ от 10 Января 2010, 22:05:46 ---Добавлено позже:
ресурс хакинг это уже ромхакинг(один из видов, а не какая-то там всеголишь составляющая) какой-бы он не был плохой или хороший.
а ты пытаешься это отрицать, что будто тока кодахакинг тру!!, а все остальное лишь жалкие составляющие
--- Конец цитаты ---
Ну жаль что ты не понял что я кокраз это не отрицаю, а наоборот соглашаюсь.
Навигация
Перейти к полной версии