Автор Тема: [SMD] хакинг Dune: The Battle for Arrakis  (Прочитано 1401602 раз)

0 Пользователей и 5 Гостей просматривают эту тему.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #570 : 12 Сентябрь 2009, 15:25:25 »
интересно, а спрайты зданий? =)
А что некрасивые?

Оффлайн pedro

  • Emu-Land Team
  • Сообщений: 8798
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #571 : 12 Сентябрь 2009, 16:13:48 »
Марат, ну думаю те что на PC вервии покрасивше будут))

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #572 : 12 Сентябрь 2009, 16:46:45 »
аи - это поведение юнита. у саботёра стоит всегда саботаж и он атакует вражескую базу. если указать аи саботаж танку и на карте появится вражеский солдат, танк автоматически поедет на него, следовательно задавит.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #573 : 12 Сентябрь 2009, 17:11:31 »
Цитата: Dunerunner
Кстати, респект за добавление диверсанту возможности повреждать\уничтожать различные строения! До этого против зданий он был бесполезен.
Эта проблема когда-то уже обсуждалась на этом форуме: диверсант наносит повреждения зданиям не во всех версиях игры/рома (видимо, ошибка разрабов). Вот только забыл, в каких именно версиях.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #574 : 12 Сентябрь 2009, 22:43:39 »
Я знаком только с версией U на сегу. никаких прочих не знаю, ни писишных, ни пиэсиксышных и т.д. так что у меня ничего неспрашивайте про другие дюны.

Оффлайн sergi

  • Пользователь
  • Сообщений: 1650
    • ВКонтакте
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #575 : 12 Сентябрь 2009, 22:59:33 »
Этот камикадзе забирает жизней много, когда стреляет может машинку одним выстрелом снять, видать стреляет прям водителю в голову

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

и танк с 2-х выстрелов, хотя прикольнее было бы чтобы он выносил здание с одного забега, а то ниодно целое здание не выкашивает с одного раза, хотя возможно какойнибудь силос выносит я точно не помню

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #576 : 21 Сентябрь 2009, 00:53:46 »
Segaman, не пробовал решить проблему старпорта? Мне Ti_ говорил, что там в роме вначале каждой миссии прописывается, какие юниты могут быть заказаны в старпорте в этой конкретной миссии. Я так понимаю, что в редакторе этого все равно сделать никак не получится, так может, если ты знаешь где в роме это прописано и как изменять, то сможешь, наверно, написать прожку, которая будет патчить ром соответствующим образом?

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

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #577 : 21 Сентябрь 2009, 01:19:23 »
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

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #578 : 21 Сентябрь 2009, 04:40:56 »
Я плохо код дюны знаю. Шарится в ней мне под надоело. Слишком сложная она. Вот если б там было всё проще, я б уже давно всю бы её перебрал и наделал кучу прог-патчеров. а тут ещё и мой новый жк монитор разбили. вообщем плохи мои дела и я ничем в данныи момент помочь не могу. ваапще из меня ромхакер некудышный, я код сеги даж до конца незнаю, а для ромхакера это желательный параметр.

я знаю только, что есть там код который текст пишет на экране и где, удалив одну сточку, можно заставки сега лишиться и всё. пробовал добавить свою заставку влепить. невышло, так как он после показа текста виснул. видимо это в коде прописано. если б я умел 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_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #579 : 21 Сентябрь 2009, 20:34:09 »
а ещё я знаю, как сейв-рам прописывать. можно было б дюну без кодов прописать, чисто с сейвами и даж можно было б прописать сохранение миссии прям посреди боя (естественно окончив его).
не актуально.
актуально хакнуть , чтобы сейвило 2игроков в каиллере и далее синх с сейва. (я не про дюну конечно  :D )
  да блин хотя бы для 1-ого игрока не блокировали бы кнопку! хотел проверить кое-что думал баг, так гадина не давала - cannot save during netplay ... вротимноги шоб их блейн скукожил.


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

и я подозрвеаю там всего 1указатель на карту на каждую карту.(т.е. не отдельно на юниты, здания,десант и т.д.)- или всё же н-ко и ты не все нашел?

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #580 : 21 Сентябрь 2009, 21:22:54 »
А я на соник ретро хакингу научился и подучил несколько функций. достаточно, шоб ром написать(мой проигрыватель тому док-во)

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

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #581 : 21 Сентябрь 2009, 21:26:53 »
вообщем ладно. вот только я непонял ничего про netplay и т.п. извини, я незнаю шо это и с чем его едят, если мож, разьясни.
netplay - gens-сетевая игра - kaillera - что тут непонятно то.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #582 : 21 Сентябрь 2009, 23:41:01 »
Цитата: Ti_
netplay - gens-сетевая игра - kaillera - что тут непонятно то.
Так он в генс по каиллере не играл, у него же безлимитки нету.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #583 : 22 Сентябрь 2009, 00:51:11 »
Map Cfg: начнем всё сначала (так как я тут рыться нехочу)

1) найдем примерное расположение карты в роме (это я знаю)
2) запускаем генсдебаг от Яковлева. запускаем дюну.  вводим код на уровень 8атрейдес и делаем сейв.  ставим брейк на чтение и PC в диапозон этой карты+немного больше.  жмем начать миссию.
вылезет окно бряк на чтение по 58DD2. Отлично. видимо это начало кфг карты.   теперь ищем ее точный конец. (оставляем чтение тока прибл. в конце.) конец получается - 598B8. : (FFFF)
3)выделяем этот участок , создаем файл atreides8.cfg.bin и туда ее копируем.  карта в отдельном файле для удобства.
4)теперь запускаем IDA, и по тому первому адресу что вылез анализируем код. из чего делаем вывод что ничего не ясно. так как 58DD2 находится в (A2)
5)тогда найдем откуда он там взялся. можно поставить в генсдебаг  на а2 58dd2 бряк. но я просто запустил gensmovie11 и кинул tracelog перед загрузкой.:
00:46BE  22 41  MOVE.L  D1,A1                    A0=FFFFFF82 A1=00052E22 A2=FFFFFF82 A3=00052D04 A4=00000000 A5=00C00004 A6=FFFFFFA6 A7=FFFFFF72 D0=00000000 D1=00052E27 D2=00000049 D3=00000001 D4=00000008 D5=00000000 D6=00000000 D7=00000000 xnzvc
00:46CA  20 2B  MOVE.L  $0004(A3),D0             A0=FFFFFF8F A1=00052E34 A2=FFFFFF82 A3=00052D04 A4=00000000 A5=00C00004 A6=FFFFFFA6 A7=FFFFFF72 D0=00000000 D1=00052E27 D2=00000049 D3=00000001 D4=00000008 D5=00000000 D6=00000000 D7=00000000 xnZvc
00:46CE  60 04  BRA     #$04 [00:46D4]           A0=FFFFFF8F A1=00052E34 A2=FFFFFF82 A3=00052D04 A4=00000000 A5=00C00004 A6=FFFFFFA6 A7=FFFFFF72 D0=00058DD2 D1=00052E27 D2=00000049 D3=00000001 D4=00000008 D5=00000000 D6=00000000 D7=00000000 xnzvc
           
6)анализируем этот участок в ИДЕ и опять смотрим.

ROM:000046B0                 lea     (off_52C34).l,a3
ROM:000046B6                 moveq   #0,d0
ROM:000046B8
ROM:000046B8 loc_46B8:                               ; CODE XREF: sub_46A8+2Aj
ROM:000046B8                 movea.l a2,a0
ROM:000046BA                 move.l  (a3),d1
ROM:000046BC                 beq.s   loc_46D4
ROM:000046BE                 movea.l d1,a1

7) ага по 52c34 походу то что мы ищем- таблица адресов конфигов карт.
8) идем в IDE по 52C34 и  нажимаем на  "O".   пока не найдем нужный адрес.
ROM:00052C34 off_52C34:      dc.l unk_52D60          ; DATA XREF: sub_46A8+8o
ROM:00052C34                                         ; sub_4A34+8o
ROM:00052C38                 dc.l unk_4DB30
ROM:00052C3C                 dc.l unk_52D6A
ROM:00052C40                 dc.l unk_4DF62
ROM:00052C44                 dc.l unk_52D75
ROM:00052C48                 dc.l unk_4E02A
ROM:00052C4C                 dc.l unk_52D7E
ROM:00052C50                 dc.l unk_4E188
ROM:00052C54                 dc.l unk_52D87
ROM:00052C58                 dc.l unk_52F2C
ROM:00052C5C                 dc.l unk_52D91
ROM:00052C60                 dc.l unk_53180
ROM:00052C64                 dc.l unk_52D9D
ROM:00052C68                 dc.l unk_5407C
ROM:00052C6C                 dc.l unk_52DA8
ROM:00052C70                 dc.l unk_54A3E
ROM:00052C74                 dc.l unk_52DB4
ROM:00052C78                 dc.l unk_556E6
ROM:00052C7C                 dc.l unk_52DC0
ROM:00052C80                 dc.l unk_56422
ROM:00052C84                 dc.l unk_52E41
ROM:00052C88                 dc.l unk_5A378
ROM:00052C8C                 dc.l unk_52E4E
ROM:00052C90                 dc.l unk_5A4EE
ROM:00052C94                 dc.l unk_52E5B
ROM:00052C98                 dc.l unk_5A74A
ROM:00052C9C                 dc.l unk_52E68
ROM:00052CA0                 dc.l unk_5AA48
ROM:00052CA4                 dc.l unk_52E75
ROM:00052CA8                 dc.l unk_5AF16
ROM:00052CAC                 dc.l unk_52E82
ROM:00052CB0                 dc.l unk_5B528
ROM:00052CB4                 dc.l unk_52E8F
ROM:00052CB8                 dc.l unk_5BBA0
ROM:00052CBC                 dc.l unk_52E9C
ROM:00052CC0                 dc.l unk_5C50E
ROM:00052CC4                 dc.l unk_52EA9
ROM:00052CC8                 dc.l unk_5D00C
ROM:00052CCC                 dc.l unk_52DCC
ROM:00052CD0                 dc.l unk_56FAE
ROM:00052CD4                 dc.l unk_52DD9
ROM:00052CD8                 dc.l unk_57144
ROM:00052CDC                 dc.l unk_52DE6
ROM:00052CE0                 dc.l unk_57378
ROM:00052CE4                 dc.l unk_52DF3
ROM:00052CE8                 dc.l unk_575E4
ROM:00052CEC                 dc.l unk_52E00
ROM:00052CF0                 dc.l unk_57A96
ROM:00052CF4                 dc.l unk_52E0D
ROM:00052CF8                 dc.l unk_58044
ROM:00052CFC                 dc.l unk_52E1A
ROM:00052D00                 dc.l unk_58654
ROM:00052D04                 dc.l unk_52E27
ROM:00052D08                 dc.l unk_58DD2

9) ура мы его нашли. да это точно он 58DD2 . стираем и пишем 100000.
10) добавляем 1мегабайт к файлу dune the battle for arrakis (u) [!].bin.
11) копируем нашу карту из 58DD2 или atreides8.cfg.bin  в адрес $100000.
12) удаляем карту (заполняем нулями) адрес 58dd2-598b8.
13) перезагружаем ром  в эмуле. загружаем сейв. стартуем карту. всё работает.  перемещение завершено.

никаких пересобираний ромов и ассембелеров. теперь у нас много места под создание/переделывание этой карты.    сделано за 10минут.+30минут на написание текста)




Ссылка на скачку
  (в архиве ром с перемещенной картой и сама карта отдельно)


« Последнее редактирование: 22 Сентябрь 2009, 01:14:49 от Ti_ »

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #584 : 22 Сентябрь 2009, 01:00:10 »
а вы что хотите в Дюну нетплэй ввести?  :wow: было бы здорово :) в Rock'n'roll Racing же смогли написать программу чтобы первый игрок видел только себя, вот и в Дюне так же надо

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #585 : 22 Сентябрь 2009, 01:02:42 »
а вы что хотите в Дюну нетплэй ввести?  :wow: было бы здорово :) в Rock'n'roll Racing же смогли написать программу чтобы первый игрок видел только себя, вот и в Дюне так же надо
был бы в дюне второй игрок, это почти нереально -забудь. я же в скобках спецом указал что к дюне это не относится)

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #586 : 22 Сентябрь 2009, 12:15:02 »
Цитата: Ti_
никаких пересобираний ромов и ассембелеров. теперь у нас много места под создание/переделывание этой карты.    сделано за 10минут.+30минут на написание текста)
Видимо, Segaman не из тех, кто ищет простых путей.  :)

Добавлено позже:
ALEX_230_VOLT, это же надо уметь на сегу программировать, чтобы ввести второго игрока в Дюну. Тут одним ромхакингом не обойдешься.
А было бы конечно круто, если мультиплеер ввести. Это же даст вторую жизнь игре! Писишная Дюна 2 только потому и не забыта фанатами, что мультиплеер в ней есть. Кстити и редакторы под нее тоже есть. А тут вот редактор есть, а мультиплеера нет. Вот про нее и забыли почти все геймеры (с компом же скучно играть).

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #587 : 22 Сентябрь 2009, 13:53:44 »
[Часть 2].  Теперь разберем полностью формат карт.

14) Копируем каждую карту в отдельный файл. как и предыдущ. (это понадобится нам для быстроого сравнения)

15) открываем PC-шный конфиг карт дюны ( я взял из dune2themaker) -выкладывал уже.

SNENO022.INI:

[BASIC]
LosePicture=LOSTBILD.WSA
WinPicture=WIN2.WSA
BriefPicture=SARDUKAR.WSA
TimeOut=0
MapScale=0
CursorPos=3422
TacticalPos=3160
LoseFlags=1
WinFlags=3


16) сравнием наши дампы карт. (открываем в винхексе сразу все). смотрим:

все карты:
00 00 00 0E LOSTBILD.WSA 00 00             или
00 00 00 0E LOSTVEHC.WSA 00 00

00 01 00 0A WIN1.WSA 00 57       или
00 01 00 0A WIN2.WSA 00 57

00 02 00 0C HARVEST.WSA 00 00     или
00 02 00 0E HEADQRTS.WSA 00 00    или
00 02 00 0A QUAD.WSA 00 57
00 02 00 0A LTANK.WSA 00 00
00 02 00 0C REPAIR.WSA 00 41
и др.

видимо:
00 00 = LosePicture , 00 0E - длина строки предполож.
00 01 = WinPicture
00 02 = BriefPicture


все карты:
00 03 00 00
00 03 = Timeout

(timeout= 00 00)     ; предполож. таймер.


первые две карты:
00 04 00 01,
остальные
00 04 00 00

00 04 = MapScale.        ; увелич. (для первых 2)

(mapscale = 00 00 или 00 01)

далее:
00 05 03 F3
00 06 03 F3

00 05 = CursorPos             ; позиции курсора и экрана
00 06 = TacticalPos

далее:
00 07 00 04
00 07 = LoseFlags?          ; флаги пораж.

далее:

00 08 00 06
00 08 = WinFlags?            ; флаги победы


SNENO022.INI:
[MAP]
Bloom=983,1762,2015,3343,3383
Field=83,130,156,177,231,381,567,1080
Seed=392

миссия 1:
01 53 00 01  ?  03 51 03 E8   03 43 03 ED   03 42 00 48  
миссия 2:
01 53 00 02  ? 01 42 00 03   02 42 03 CF   04 1C 03 51
миссия 3:
01 53 00 03  ? 02 51 00 00   02 43 01 3c   02 42 00 43
миссия 4:
01 42 00 02  ?  09 03 0D 77   01 53 00 04   02 51 00 00


? что-то связанное с картой(землей).
01 53 = карта земли  , 00 01 = ее номер.

далее должны идти дома:
SNENO022.INI:
[Harkonnen]
Quota=0
Credits=1500
Brain=CPU
MaxUnit=20


(вспоминаем что на 1ур мы атреидеc и нам дается 1000 кредитс)
1000>HEX>03E8

 
03 51 03 E8  = 1000cr?   03 51 = atreides quota       ; набрать кредит

03 43 03 ED = 990cr?     03 43 = atreides credits       ; старт кредиты

03 42 00 48          ; ? atreides brain = player           ;  мозг

03 4D 00 19          ; atreides max units = $19          ;  юнит лимит


(далее пойдет комп. ордос)

04 51 00 00 =             04 51 = ordos quota (0)

04 43 00 00               04 43 = ordos credits (0)

04 42 00 43              ; ordos brain = cpu

04 4D 00 10              ; ordos max units = $10  (16)


вычеркиваем пред.строки.(оказалось что там только номер земли, а ост. относится к дому)


далее в SNENO22.INI :
[CHOAM]
Trike=5
Quad=5
Tank=6
Launcher=5
Siege Tank=6
Harvester=4
MCV=2
Thopter=5
Carryall=2

видимо старпорт. (на 1-ой миссии его нет). как найдем юниты мы его поставим.


17) в теме уже описывались юниты и здания.
я знаю что в конце идут здания , перед ними юниты,
а вот между началом и ними и находятся старпорт и десант.

поэтому я вначале отделю юнитов и зданий.


(листаю тему).

Добавлено позже:
юниты: 08 01  00 02  00 04  01 00   00 41   00 80   00 0B
08 02  и т.д.

(0801 = UnitId)

здания:  у нас оно одно.
09 49  00 13   00 01  00 08   01 00    04 С8


18) отбрасываем юниты и здания (это уже много раз тут описывалось поэтому не буду про них писать),
перед ними остаются строки:

06 0D 00 05
06 0F 00 05
06 09 00 06
06 07 00 05
06 0A 00 06
06 10 00 04
06 11 00 02
06 01 00 05

десанта на 1уровне нет, значит это либо старпорт либо что-то еще. в любом случае если это не старпорт мы сможем найти его на других уровнях.

19) откроем наш файл и сменим тип здания на старпорт...


Добавлено позже:
09 49  00 13   00 01  00 08   01 00    04 С8,
где 00 08 - тип здания.
меняем на 00 0B  (стартпорт)

20)

06 0D 00 05
06 0F 00 05

судя по SCENO22.INO если это десант , то 0D - тип юнита. 00 05 - кол-во стока.

меняем тип и кол-во юнита:

06 0A 00 09   (соник-танк 9шт)
06 0B 00 09    (девастатор 9шт)

результат:

21) Добавлено позже:
остался десант:
листаем тему и на 13(!) старнице находим . о чудо!

Цитата: Ti_
0A05 0002 0006 0006 1111 - desant(ID), дом, юнит, unkn(base,home?), через сколько высадка.

, где  ID от 01 до 0F (насколько я помню лимит в 15)

также в SCENO22.INI
[REINFORCEMENTS]
1=Sardaukar,Troopers,Enemybase,12+
2=Atreides,Siege Tank,Enemybase,12+


Заключение: мы полностью разобрали cfg карты. Можем прописать дома,условия,юниты,здания, десант,старпорт. Из того что не можем прописать - доступные строения/апгрейды. Видимо задается где-то ещё.
Заключение2: сколько команд ассемблера нужно знать чтобы разобрать часть2: cfg карты?
правильно! 0 КОМАНД!
« Последнее редактирование: 22 Сентябрь 2009, 14:08:25 от Ti_ »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #588 : 23 Сентябрь 2009, 00:49:58 »

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

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #589 : 23 Сентябрь 2009, 16:53:12 »
Часть3:
1) находим в поиске кодов адрес номера уровня в ram.  (сравниаем ram после набора пароля на уровень по порядку с ~2 до 7).
выдаст н-ко значений, одно из них опредляет уровень целиком. (брифинги, карту, и т.д.), еще одно определяет только номер конфига карты., остальные вызывают всякие баги и вылеты я их не смотрел особо.
итого - номер уровня FFC050:xx ,  xx= от 00 до 09  (все дома)

2) смотри в ИДЕ к этому адресу слишком много обращений , так что фиг там разберешься.

3) пробуем менять этот адрес до загрузки карты и во время игры.
загружаем миссию 8 в игре строим ветряк и рефинери. , меняем ffc050 на 01 - заходим в сбор.двор. и видим что пропало старпорт из списка. ,строим радар, меняем ffc050 на 05 и видим что теперь необ.делать апгрейд до r-turret)
вообщем вывод что опрашивается номер уровня каждый раз когда мы заходим в сбор.двор и потом по нему определяются доступные здания.

4) ставим брейк на ffc050 на чтение. и заходим в сбор.двор. сразу вылезет окно c $FF52
ROM:0000FF52                 move.w  (levelnum).l,d2
ROM:0000FF58                 ext.l   d2
ROM:0000FF5A                 cmp.l   d0,d2
ROM:0000FF5C                 blt.s   loc_FFBA
ROM:0000FF5E                 moveq   #1,d0
ROM:0000FF60                 move.b  8(a2),d2
ROM:0000FF64                 ext.w   d2
ROM:0000FF66                 ext.l   d2
ROM:0000FF68                 lsl.l   d2,d0
ROM:0000FF6A                 moveq   #0,d2
ROM:0000FF6C                 move.b  $32(a3),d2

тут ниче не ясно,
но если нажать будет еще 7-8 таких опросов. с этим же адресом.  
смотрим чем они отличаются.(регистры). кроме всякой лабуды увидим A3=0006AFAE
на след нажатие A3=6B014;
A3=6B0E0.

5) идем по этим адресам в роме и видим:
ROM:0006AFAE word_6AFAE:     dc.w $E8                ; DATA XREF: ROM:off_6B954o
ROM:0006AFB0                 dc.b   0
ROM:0006AFB1                 dc.b   0
ROM:0006AFB2                 dc.b $BB ; ¬
ROM:0006AFB3                 dc.b $60 ; `
ROM:0006AFB4                 dc.b   0
ROM:0006AFB5                 dc.b $E9 ; ù

ROM:0006B014 word_6B014:     dc.w $EA                ; DATA XREF: ROM:0006B958o
ROM:0006B016                 dc.b   0
ROM:0006B017                 dc.b   0
ROM:0006B018                 dc.b $BB ; ¬
ROM:0006B019                 dc.b $72 ; r
ROM:0006B01A                 dc.b   0
ROM:0006B01B                 dc.b $EB ; û
ROM:0006B01C                 dc.b   0
ROM:0006B01D                 dc.b   0

и т.д.


заполняем их  00, ff, 01. и  получаем что-то вроде (скрин):

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


Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #590 : 23 Сентябрь 2009, 18:53:16 »
Ничёсе! мой интерес снова вырос! кстати редактор старпорта встроен, осталось добовление сделать. а ещё я магу заодно и десант всётаки написать

Если такой ефект дают эти байты, может они и енергию в ветрянках цифрами могут заставить показывать.

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

Добавлено позже:
Знаеш де надо искать (если незнаеш сравнения с пс версией), там де идёт запрос на поинты к обьект файлам. я этого не могу сам сделать, у мя моника пока что нет

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #591 : 23 Сентябрь 2009, 19:41:42 »
Добавлено позже:
А не мог бы ты ещё и winflags разобрать, чтоб я в редактор вписал
для Атр и Харк. миссии с 5 по 9 везде, и атредес3:
00 07 00 01  ;       lose flags=01

00 08 00 03 ;       win flags=03

что и соотв. PCшному .ini.

Харк  3и4 миссия, Атредес 4:
00 07 00 01
00 08 00 13


Атредес 2 миссия:
00 07 00 05
00 08 00 07

Харк 2миссия:
00 08 00 17

Атр1:
00 07 00 04
00 08 00 06


Если не считать "13" и "17" вмтсо 03/07 то можно сказать что на всех миссия 3-9, winflags= 00 03 ( разруш.здания)
на 1 миссии = winflags= 00 06 (собрать X кредитов)
на 2мисси = winflags = 00 07 (разруш.здания или собрать X кредитов)

ну на практике не проверял.  :)





Добавлено позже:
Добавлено позже:
Знаеш де надо искать (если незнаеш сравнения с пс версией), там де идёт запрос на поинты к обьект файлам. я этого не могу сам сделать, у мя моника пока что нет
что искать то? что за объект файлы? юниты? ты нашел их?

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #592 : 23 Сентябрь 2009, 21:00:20 »
Искать значения флагов. Там где ссылка на поинты, там и работа с данными, на которые поинты ссылаются, но я смотрю ты сам разобрался.

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #593 : 23 Сентябрь 2009, 22:12:27 »
Цитата
Писишная Дюна 2 только потому и не забыта фанатами, что мультиплеер в ней есть.
что в ней реально мультиплэер есть?! можно поподробнее? не припомню так кнопки netplay  :-\

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #594 : 23 Сентябрь 2009, 22:29:47 »
Искать значения флагов. Там где ссылка на поинты, там и работа с данными, на которые поинты ссылаются, но я смотрю ты сам разобрался.
я так понял под объект файлами ты понимаешь "ini-файлы" карт миссий.  а я под ними понимаю именно их самих (а под ландшафтом - карты земли) - всё таки они ведь содержат всю инфу о миссии, а не только объекты(юниты,здания).

и вот это фразы: "Знаеш де надо искать ";  "там де идёт запрос на поинты к обьект файлам"
НЕТ мля не знаю! а как я по-твоему описывал КФГ карты если я не знаю где он находится и как выглядит?
И зачем мне какой-то запрос искать? когда в часть1. я уже написал что там 1поинтер на всю карту. (хотя ты и сам это знаешь).



Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #595 : 23 Сентябрь 2009, 23:27:53 »
Цитата: ALEX_230_VOLT
что в ней реально мультиплэер есть?! можно поподробнее? не припомню так кнопки netplay  
Я имел в виду моды/хаки/римейки. Щас поищу ссылки. Где-то я на это натыкался.

Добавлено позже:
Беру свои слова обратно: не из-за мультиплеера писишная Дюна 2 до сих пор не забыта фанатами, а из-за большого количества клонов/хаков/модов/римейков и редактора (или редакторов, точно не знаю ли еще, помимо Dune II Maker'а) для ее изменения. А мультиплеер есть видимо только в Дюне 4 (ну и в предыдущей версии, Дюне 3). Есть еще проекты, где люди делают ремейки с поддержкой мультиплеера, но они еще не завершены.

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #596 : 23 Сентябрь 2009, 23:41:55 »
topos84, так вот именно что настоящей дюны с нетплэем нету ;) А Дюна 3 и Дюна 4 сильно отличаются от оригинала и играть в них по сети особо желания нету  <_<

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #597 : 24 Сентябрь 2009, 00:05:37 »
topos84, так вот именно что настоящей дюны с нетплэем нету ;) А Дюна 3 и Дюна 4 сильно отличаются от оригинала и играть в них по сети особо желания нету  <_<
да оригинал PCшный лучше) его хотябы в dosbox с 3x запустить можно))); а dune3 насколько я помню в 320x.

а если сравнивать по графике PC и SMD , то мой выбор только за SMD. - убогая "полу"изометрия делает всех PC-шных юнитов и здании уродами) (моё imho)
« Последнее редактирование: 24 Сентябрь 2009, 00:12:41 от Ti_ »

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #598 : 24 Сентябрь 2009, 02:16:59 »
Ti_, Дюна 4 по-моему в хай-резе, но только частично. Ну а графика мне тоже сеговская больше нравится - дизайн лучше продуман. Особенно юниты красиво прорисованы.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
[SMD] хакинг Dune: The Battle for Arrakis
« Ответ #599 : 24 Сентябрь 2009, 06:00:10 »
и вот это фразы: "Знаеш де надо искать ";  "там де идёт запрос на поинты к обьект файлам"
НЕТ мля не знаю! а как я по-твоему описывал КФГ карты если я не знаю где он находится и как выглядит?
И зачем мне какой-то запрос искать? когда в часть1. я уже написал что там 1поинтер на всю карту. (хотя ты и сам это знаешь).



Ну зачем так. Не забывай, я с тела всегда сдесь и могу чегото недоглядеть или вовсе проглядеть. Ну это уже скоро прекратится. Выходит новая опера, там полегче смотреть страницы (скачал бету) или инет врублю и буду на кампе сидеть(но это ток када с моником разберусь. радня мой забрала и случайно разбла). Так что не обижайтесь, а вежливо поправляйте, если что.
кстати старпорт уже работает, осталось добавление/удаление сделать. кстати хочу отметить, что независимо от последовательности записей старпорт показывает юниты по их порядковому номеру. т.е. если записано
0607 0005 - launcher
0600 0005 - carryall
в старпорте будет сначала carryall, потом launcher.
да ещё я и десант заодно напишу, в таком же интерфейсе как и в старпорте.