Разработка и ромхакинг > Ромхакинг

[SMD] хакинг Dune: The Battle for Arrakis

<< < (457/476) > >>

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

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

другой момент - автообновление через Updater. тут надо думать. сборщик изменился довольно сильно... а обновлятор не умеет проверять какая это версия сборщика. и соответственно если обновить редактор до 0.9е, то работать он на старой версии 82 сборщика не будет. и соответственно 0.9с (или d... не помню какая там последняя) - работать на новой 82 версии не будет. наверное надо делать ответвление чтоль... и запиливать второй Updater... который будет уже обновлять только начиная с 0.9е... ну не суть. главное ищем баги, пишем сюда, будем исправлять :)

SeregaZ:
поскольку сардукаров и фрименов настроек прибавилось... то думаю надо "виртуально" их добавить в лист справа, увеличив список с 32 юнитов до 36, добавив в конец этих самых фрименов и сардукаров.

значится файл unit_names.asm и unit_names_rus.asm - проблем быть не должно. они там как раз идут после последней орки и в количестве 4 штук. все пучком.

не пучком таблица иконок bmenuunits_ico: в include.asm. там после орки идет всякая шняга - иконки действий внутри завода и только потом нужные нам сардукары и фримены. а докучи icons_fremen и icons_sardaukar повторяется два раза, привнося еще больше путанницы :) видимо это различие на случай когда юнит одиночный строится на заводе и используется изначально как одиночный, и другой случай когда изначально это был тройник, а тут прибили двух братьев из трех и остался один. видимо с точки зрения игры это как бы не то-же самое, что изначально одиночный пехотинец с завода... ну не суть. тоже самое у больших иконок.





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




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



DrumMax:
Здравствуйте Все! Вобщем, я тут себя тестером теперь возомнил... Есть у меня Сега с разгоном моторолы до 10 МГц и я на ней сегодня играл в DUNE 2 Razor Mission DYNASTY выпуска от 31.07.2024. В первой же миссии были глюки. Сперва после минут 15ти игры я залез в меню Очистителя Спайса чтоб его отремонтировать. Зашёл в меню, навёл на кнопку РЕМОНТ, и как только нажал А то буквально на мгновение вся картинка замусорилась, потом потемнела и как обычно загрузился экран всей войны уже без мусора, но на мини карте появились точки, я фото приложу. Потом спустя пару минут игры зашёл в меню Казармы, ничего не выбирал, нажал на ВЫХОД и картинка потемнела насовсем. Музыка продолжала играть. Завис вобщем. Тестировал на MD2 VA1 ASIA. За разгон отвечает Swichless UNIMOD rev 3.4.3. от Руслана. Если у Вас есть советы как и что тестировать- я буду и учиться и тестировать. Вдруг я воды совершенно беспонтовой налил. Вы мне скажите что Вам важно- я дам Вам всё что у меня есть!


Я, собственно чего влез... Всё началось тут  https://www.emu-land.net/forum/index.php/topic,85792.0.html

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

однако меня терзают смутные сомнения уж не динамически ли определяется адрес куда будет писаться карта в памяти. типа 32х32 в $FF8DDD начинает. 64х64 вроде $FF7D9D... а 128х128 ваще походу в память не пишется, так как я с разбегу не нашел где оно там в памяти :) ну не суть. проблема заключается в том, что обновляется карта только если экран сдвинуть за пределы видимости и потом вернуть. видимо там какое-то событие есть, чтобы передернуть отрисовку карты на экране эмулятора, чтобы содержимое на экране стало соответствовать содержимому в оперативной памяти. вот можно ли как-то это переобновление текущего экрана вызывать в эмуляторе?

я конечно не уверен буду ли это добавлять в функционал... но по идее, если поковырять дальше в том смысле как это работает в оперативной памяти, то в теории, с помощью внешней программы - так сказать "сервера" - можно будет эмулировать какие-то события в игре. типа заспавнить армию танков. или скажем трайк ехал ехал и нашел пяток брошенных танков, которые при контакте превратились в твои танки, как в старкрафте было когда ты находил свои юниты, скрытые на карте. или наверное можно будет сделать интерактивный туман войны. пока юнит стоит - видит вокруг себя. только уехал с этого места - там опять темно. даже можно подумать про игру по сети с подобным влезанием в чужую память... но только подумать :)

Smoke_John:
Идея: добавить бонусы в ящиках на манер Дюны 2000

dimidrol:
SeregaZ, в моём хаке как раз есть несколько миссий, где бы такой функционал пригодился.
Я вроде тебе уже показывал, но на всякий случай освежу память. Суть таких миссий заключается в том, что бот получает с помощью рандомного десанта 3 mcv разных домов и какая первая доедет, того дома и будет база, таким образом имеем рандомного противника в миссии.
Есть то же для игрока, он получает в начале миссии 3 констракшена, но случайный десант саботёров выносит ему 2 констракшена из 3х и остаётся один, а на местах сломанных строятся боты. Рандом решает где будет на карте игрок и где боты, и от места зависят дома ботов.
Ну так вот. Есть у таких костылей значительный недостаток. Бот не может построить более 26 зданий. Бот не может построить стены и плиты. У бота нет охраны на базе на время строительства и вот эти вот танцы с рандомным десантом mcv. Надо чтобы червь не сожрал по дороге, надо чтобы на пипку не наехала, и так далее.
А если напрямую бы всё в память писалось по условию или по рандому, было бы вообще шикарно.
Вот пример такой миссии:
Если что-то пошло не так, то смотреть с 2:55:00

Turbo2000:
Добавил библиотеку распаковки графики и немного накрутил плеер (все вытаскивается в рантайме прямо из ромов):

Добавлено позже:
Вдруг кому надо, либа распаковывает графику по смещению в формат VDP (на каждый тайл по 32 байта):
https://github.com/DramaDesu/ym-smdtools

Попозже добавлю конвертацию в rgba формат, с палитрами, и с маппингами, под шейдера

SeregaZ:
ты не туда копаешь. подсказываю куда надо :) есть тут одне товарищи, которые шпилят в сетевую дюну в пвп. турниры типа и все такое... так вот клиент, по сути, получает всю инфу сразу от обоих игроков. то есть не как нормальные игры делают: что? ты вышел из тумана войны? значит послать клиенту. а если ты все еще в тумане, то ничего не слать, чтобы второй клиент даже не подозревал... как бы открытая карта это один момент. но главное не это - если расковырять что творится в оперативной памяти, то можно использовать эмулятор как сердце, или точнее ядро, где крутится вся математика, а на него поверх сделать надстройку с блек джеком и легкодоступными женщинами, которая могла бы читать куда больший размер окна, а главное поддерживать мышь, горячие клавиши, выделение мышкой целой группы юнитов... то есть современные финтифлюшки, до которых дошел прогресс ртс игр. понятно что с такими возможностями ногебать в пвп можно будет в одни ворота... хотя я больше все-таки за расширение сознания... эээ... расширение возможностей поиграть в ромхаки, чем читерить в пвп :)

Ti_:

--- Цитата: Ti_ от 27 Июль 2024, 11:53:41 ---DuneHack Rebuild R82C - 22.07.2024
(R82C_update_22.07.2024 - только обновлённые файлы для Dunehack_Rebuild_14_Jun_2021, включая файлы из предыдущего обновления R82C_update_08.07.2024 )
https://disk.yandex.ru/d/hNUyatG33NUZCc/r82/update_2024

--- Конец цитаты ---
Добавлено R82C_update_25.08.2024 (только обновление base roms для 22.07.2024) - изменены лимиты - ИИ запоминает до 50 зданий, вместо 26, но максимум строк записей десантов уменьшен с 55 до 25. 
* Если использовался какой-то оверлей/ram watch для отслеживания некоторых значений, для всех домов кроме харконненов они сместились.

Razor:

--- Цитата: Ti_ от 31 Август 2024, 10:22:09 ---ИИ запоминает до 50 зданий, вместо 26
--- Конец цитаты ---
Очень существенное изменение, бот теперь может даже огроменную базу восстановить при наличии Construction Yard и хотя бы одного Refinery.



Razor:
Обновил сборник Dune Razor Missions:

* Три разных русских озвучки. Для Атрейдесов с Фременами, для Ордосов, для Харконненов и Сардаукаров
* В русской версии добавлена озвучка "здание потеряно"
* В русской версии добавлена озвучка "захвачено здание"
* В русской версии добавлена озвучка "захвачено наше здание"
* Более ранняя активация бота на миссиях в связи с тем, что баланс позволяет это сделать
* В сборник CD музыки, помимо DOS музыки, добавлены лёгкие каверы на Sega треки
* Внесены изменения в карты некоторых миссий
* Исправлен баг, что ИИ Фремен мог переполнить лимит юнитов червями из дворца
Скачать можно тут, как обычно

Fentalin:
А в оригинале у фрименов и сардаукаров такие же значения? Или в оригинале у фрименов только жизни и повреждения х2 по сравнению с труперами, а сардаукары и вовсе без изменений (те же труперы)?



Axl89:
Razor, имхо, не хватает русского текста + оригинальной озвучки. Русская хоть и прикольная, но американская в фоне более незаметная + ностальгичная.
Хотя может это уже излишество и нет сложности в англ тексте.

Razor:

--- Цитата: Axl89 от 29 Сентябрь 2024, 21:44:44 ---оригинальной озвучки
--- Конец цитаты ---
Ради одной ностальгии возвращать оригинальную озвучку не буду. Это всегда скатывается, что ради ностальгии просят деградации до оригинала. Меня уже просили и баланс вернуть оригинальный, и графику юнитов оригинальную. Плюс сейчас добавлена озвучка на важные события. Типа потери здания, или его захвата противником. Что делать с этим? Из кусков озвучки дос версии Дюны фразы красиво склеить проблематично.

Добавлено позже:

--- Цитата: Fentalin от 29 Сентябрь 2024, 15:15:34 ---А в оригинале у фрименов и сардаукаров такие же значения? Или в оригинале у фрименов только жизни и повреждения х2 по сравнению с труперами, а сардаукары и вовсе без изменений (те же труперы)?
--- Конец цитаты ---
В оригинале сардаукары, фремены и труперы отличаются только иконкой. Единственная особенность, что при появлении из дворца фремены получают удвоенное хп.

Fentalin:
Razor, спасибо за инфу!

--- Цитата: Razor от 29 Сентябрь 2024, 23:27:37 ---Единственная особенность, что при появлении из дворца фремены получают удвоенное хп.
--- Конец цитаты ---
А дамаг разве не удваивается? Вроде Ti_ писал что есть модификатор дамага для фрименов.

Razor:

--- Цитата: Fentalin от 30 Сентябрь 2024, 00:06:41 ---Вроде Ti_ писал что есть модификатор дамага для фрименов.

--- Конец цитаты ---
Для Фременов из дворца есть только модификатор брони.

Fentalin:
Razor, нашел инфу от Ti_ где он писал про множитель на атаку: https://forum.dune2k.com/topic/18875-exe-editing-programming-issues/page/12/#comment-355582


--- Код: ---fremen_quanity: dc.b 5,5,4,4,3,2,1,1
--- Конец кода ---

Это кол-во фрименов из дворца - я так понимаю при спавне рандомно выбирается одно из этих чисел?

Razor:

--- Цитата: Fentalin от 30 Сентябрь 2024, 12:17:32 ---Это кол-во фрименов из дворца - я так понимаю при спавне рандомно выбирается одно из этих чисел?

--- Конец цитаты ---

--- Код: ---кол-во червей и фременов из дворца, относительно текущего их кол-ва
--- Конец кода ---
При создании проверяется сколько фременов есть на карте. И при создании берётся меньшее число из таблицы.

Razor:
Свежее обновление сборки R82C_update_28.09.2024_variable_maps

Основная фишка данного обновления - можно выставить в файле maps_size.asm произвольный размер карт в пределах максимального.

Демонстрация сборки:

Остальные изменения в сборке:

* В файле sounds.asm в voice_song_tbl перенесены звуки "запущена Рука Смерти", "прибыло подкрепление",
* В файле sounds.asm в voice_song_tbl добавлены звуки "захвачено вражеское здание" и "захвачено наше здание"
* Фикс озвучки, чтобы у Фременов и Сардаукаров корректно воспроизводился звук на "потеряно здание"
* Фиксы на случай если из-за новых сэмплов размер рома будет превышать 2Мб (размер рома надо вручную корректировать в include.asm параметром ROM_4MB = 1, по умолчанию стоит ROM_4MB = 0)

Lipetsk:

--- Цитата: Razor от 30 Сентябрь 2024, 20:11:43 ---Свежее обновление сборки R82C_update_28.09.2024_variable_maps
--- Конец цитаты ---
После Dunehack_Rebuild_14_Jun_2021 была куча обновлений. Неплохо бы их все в одно объединить, а то запутаться можно.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии