Разработка и ромхакинг > Ромхакинг
[SMD] Dune: The Battle for Arrakis
Milkmax:
Проект по воссозданию исходного кода сеговской версии Дюны теперь живёт здесь: https://github.com/OpenDUNESega/OpenDUNESega.
Пояснения дюновских типов данных с картинками
Это номер клетки на карте, умещающийся в 12 бит: yyyyyyxxxxxx. Клетки нумеруются слева-направо сверху-вниз, образуя квадрат со стороной $40 (64).
На первых двух уровнях карта имеет сторону $20 (32). На остальных уровнях карта имеет сторону $3E (62). Карта всегда находится в центре квадрата со стороной $40 (64).
Номер клетки, над которой расположен курсор можно найти по адресу FFC240.w.
Это uint32, в котором старший/левый uint16 (обозначаемый y) – это y-координата, а младший/правый uint16 (обозначаемый x) – это x-координата. Длина стороны одной клетки на карте равна $100 (256).
Юниты стоят в центре клетки, поэтому их координаты заканчиваются на $80.
Координаты не могут быть больше $3FFF3FFF (предельное значение на карте 64x64).
Это uint8, значение от 0 до $FF (255), представляющее угол, где 0 – это вверх, и далее – по часовой стрелке.
Описание соглашения о вызове
Все аргументы складываются на стек с выравниванием по 2-байтовой границе. Например, если аргументы – uint8 arg1, uint16 arg2, uint32 arg3, то после вызова процедуры они должны лежать по адресам 5(sp), 6(sp) и 8(sp). (По адресу (sp) будет лежать адрес возврата, имеющий тип uint32.) См. флаг -mshort в GCC.
Все регистры, кроме d0, d1, d2, a0 и a1, не должны измениться при вызове функции. См. флаги -fcall-used-reg и -fcall-saved-reg в GCC.
Возвращаемое значение кладётся в регистр d0 или, если это указатель, в регистр a0.
SeregaZ:
по поводу углов и расположения юнитов в сборщике по моему такое есть. в смысле углы юнитов в файлах миссий. а расположение юнитов в конфиг файлов юнитов. в смысле расположение юнита относительно квадрата 32х32 пикселя. и углы и это расположение по моему можно регулировать в редакторе. так-же можно переключать модель поведения у юнитов на карте миссий. типа ареа гвард, и что-то там такое - у нас их всего 4 чтоль. а так их в игре больше, просто нам не все подойдут. типа стоп. это имеется ввиду окончание движения, а не как задание юниту какую-то модель поведения.
что касается самого кода - в дискорде был один товарищ, которому все это было интересно. именно что код и все такое - он это дело портировал. но только в последнее время в дискорде он ничо не спрашивает :) может охладел. попробуй найти в дискорде PromiSe#6475 и поинтересоваться по сим вопросам.
SeregaZ:
Milkmax, полный порт именно сеговской версии на РС делаешь? :)
Milkmax:
SeregaZ, нет, я пытаюсь декомпилировать сеговскую версию.
SeregaZ:
так а ты сам сборщик распоследней версии смотрел или просто в тему пришел, не читая? ведь Тай много чего разобрал. правда там и тюнинга добавил... типа 5 домов, дополнительные переходы для тестов - типа пропуск стартовой заставки, меню, выбора дома - сразу в бой. ai компов - в сборщике компьютер умеет констракшн ярд отстраивать после его разрушения. если два дома на карте компы-союзники, то второй может приехать помогать первому от игрока отбиваться. карты могут быть 128х128, а не только х64. и расширение экрана больше... но это правда и эмулятор нужен химичений. ясное дело на оригинале такое не пойдет.
Добавлено позже:
ааа... забыл :) из-за бестолковой политики форума - посты, старше 1 месяца больше нельзя редактировать. так что если будешь все это время код добавлять в старое сообщение, то через пару недель уже там пропадет кнопка редактирования.
Milkmax:
Да, я разглядывал сборщик от Ti_, и остался восхищён количеством работы, которая, должно быть, на него ушла: я не смог найти хоть что-нибудь из графики, музыки или конфигураций, чего бы не было разобрано. Очевидно, что некоторая часть кода так или иначе была разобрана, чтобы добиться упомянутых изменений, но (как я понимаю) в сборщике она в открытом виде не опубликована. Я хотел бы помочь с превращением кода в исходные файлы на Си, начиная с механик уровня.
SeregaZ:
заходи в дискорд: https://discord.me/dune2/ скачивать приложение не нужно. можно прям в браузере, только регистрация нужна. там папки заседают :) правда тоже активность никакая... но зато хоть в сети нет нет, да бывают. тут-же как-то тухловато. то есть твой пост то классный, и он здесь нужен, потому как все расписано и в одном месте, и он будет гуглится. а вот потрындеть о чем-то лучше в дискорде - дискордные чаты в гугель не попадают. там даже специальный раздел сделали: разговоры программистов.
Radnor:
прикольно :cool:
плюшевыйТедди:
Кто может скинуть адрес сайта с онлайн Дюной?
SeregaZ:
https://www.dune2slava.com/ но навигация там... ужос :)
плюшевыйТедди:
Благодарю. Ни чё, как-нибудь занавигируемся. Или занавигаруемся. Или занавигацуемся.
Lipetsk:
Настройка меднафена для игры в Дюну по сети
Omnius:
Удобный запуск сделали, молодцы!
А можно больше карт на кооп? Хотя бы карты Липеска или Рейзора, а то вдвоем проходить стандартные карты слишком легко.
Lipetsk:
Примерно через 10 минут стрим на канале 100% Ромхак
[SMD] Dune 2: DUNEvent №2 (Младшая лига)
https://www.youtube.com/Romhack/live
https://www.twitch.tv/romhack_video
https://goodgame.ru/channel/Romhack
Поддержать канал: https://donatepay.ru/d/romhack
t_slon_tyt:
а для оригинальной сеги будет хак с локалкой? как в zero tolerance
Lipetsk:
Миссии для DUNEventа для тренировки игровых "лавыков"
в Dune_PVP_Romhack_Edition и посевной:
1."НАПАДЕНИЕ" - Миссия за Харконенов против компа.
Цель: вынести базу противника за максимально короткое время (максимально 30 мин.).
Результат: время миссии.
Примечание: если игрок не потерял все свои здания, но и не выполнил миссию по окочании отведенного времени, в результат записывается максимальное время 30 минут + 1 штрафная минута.
2."ОБОРОНА" - Миссия за Атрейдесов против компа.
Цель: продержаться в обороне как можно дольше (максимально 30 мин.).
Результат: время миссии.
Примечание: если игрок смог вынести бота до окончания отведенного времени, в результат записывается максимальное время 30 минут + 1 бонусная минута.
3."СБОР СПАЙСА" - Миссия за Ордосов против компа.
Цель: собрать как можно больше спайса за отведенное время (15 мин.), при этом его не обязательно накапливать, а наоборот лучше свободно тратить на эффективный сбор.
Результат: количество собранного спайса.
Скачать: https://yadi.sk/d/0FTEJg6zhBBO1A
dimidrol:
Я тут редактор DuneAMC_183 потерял. Но Razor нашёл.
во https://yadi.sk/d/Bc9rsMIp0BBINw
The GR:
Наконец-то, спустя 12 лет.
Не новая палитра для якобы ещё одного Дома, не набор странных миссий, не странный ребаланс, а ТО САМОЕ ради чего эта тема и жила - мультиплеерная The battle for Arrakis !!! :wow:
Причём не трёхмерная пародия, не старкрафт со спрайтами дюны, а ТА САМАЯ сеговская The battle for Arrakis !!! :wow:
Smoke_John:
The GR, Это мега круто
Razor:
--- Цитата: The GR от 12 Декабря 2020, 03:41:16 ---ТА САМАЯ сеговская The battle for Arrakis !!! :wow:
--- Конец цитаты ---
На видео как раз-таки не та самая. Баланс там переделан полностью. При этом это не единственная сборка. кроме Dune II - Tournament Edition есть ещё Dune PVP Romhack Edition, где помимо всего ещё добавлены новые юниты и развиты некоторые механики.
В общем, кому интересно - заходите в Дискорд, вся движуха там.
Навигация
Перейти к полной версии