Разработка и ромхакинг > Ромхакинг
Battle City - 4 players ; P.O.W. и Duck Tales 2 - 2 players hacks - релиз хаков.
<< < (5/7) > >>
Mad:

--- Цитата: Ti_ от 03 Январь 2019, 16:05:48 ---Можно сравнить 1.4 версии, чтобы найти где менять.

--- Конец цитаты ---
Так как для вас это дело нескольких минут, а я даж не представляю, где именно нужно сравнивать хаки - попрошу помощи.
MRGYV:

--- Цитата: Ti_ от 26 Декабрь 2014, 11:47:55 ---1-2 игрока может быть когда-то сделаю.  :)
Насчёт 'выбора звёзд' не понял что значит.

--- Конец цитаты ---
Добрый ночи!

Обалденный хак. Подскажите не планируете делать для 1-2 игрока? Может как в танк 1990 сделать, если сложно меню переделывать? Например выбираем режим А, там 1 и 2 игрока. Режим B, там 3-4.
Просто очень нравится хак. Хочется в него играть и на телефоне и вдвоем)))
Cyneprepou4uk:
001
* Выбор от 1 до 4 игроков
* Каждая опция по умолчанию YES на любых эмуляторах
* Перемещение курсора кнопками вверх/вниз
* Прочие мелкие изменения для корректной работы игры при любом количестве игроков

002
* Сохранение состояния опций после Soft Reset
* Исправлен мелкий баг с таймером на главном экране
AlexanderSh88:
Здравствуйте, подскажите, на каком эмуляторе работает 4 игрока? пробовал Nestopia (windows) в настройках настроил управление на 4 игрока, но работают только 2, остальные не двигаются..
на ретроарч (android) такая же ситуация.. хотя другие игры прекрасно играют на 4ых.. в чем проблема может быть?
Sharpnull:
AlexanderSh88, обычно в эмуляторах нужно включать поддержку Four Score / 4-Players Adaptor. В FCEUX достаточно поставить галочку в настройках ввода. В старой Nestopia 1.40 нужно включить в Machine -> Input -> Port 3 -> Pad 3 и также для 4-го. В RetroArch думаю похожая история, поищите.
--------
Если не работает, уточните используемый ром, я брал Battle City (4 players hack v1.3) (addendum 002).zip от Cyneprepou4uk и проверял в FCEUX и Nestopia 1.40. В RetroArch возможно нужно специально выбрать один из Four Score или 4-Players Adaptor и это зависит от используемого ядра.
MRGYV:
Спасибо огромное! Отличный хак стал ещё лучше.
Подскажите, пожалуйста, планируются ли ещё какие-либо изменения?
 
Как Вы думаете, может  в настройках добавить возможность отключения неуязвимости при появлении и количество танков? Это сильно упростило бы игру, если играешь 1 на телефоне.
Также, подскажи, можно ли добавить изменение количество танков
Например 1 раз кликнул 20, 2 раза 40 и т.д. А то для одного на планшете даже 1 уровень жесткий)))) Никак не получается потренероваться перед игрой с друзьями))))

А Вы не играли в версию, где правой кнопкой мыши можно ракетой стрелять?

Да, может кому пригодится. Я долго мучался. Для эмулятора VirtuaNES для управления отдельно 1 и 3 игроком я отключил в опциях Options->emulators->enable nes type 4 player adapter. Иначе игроки управлялись одновременно.

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

--- Цитата: Cyneprepou4uk от 28 Август 2019, 00:20:16 ---001
* Выбор от 1 до 4 игроков


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

Тут кстати  про ракетный танк написано, может захотите добавить:

https://promodj.com/x/blog/1012328/Battle_City_Super_Tank_1990_Tank_1991_Missile_Tank_1994_Missile_Tank_1995

Он доступен в модификациях: TANK 08 - TANK 14, TANK 22 - TANK 28.

Добавлено позже:
Также хотел предложить в настройках сделать побольше вариантов с количеством танков из которых выпадает бонус. Чтобы можно было их увеличить. Раз 15 переиграл первые 2 уровня. Так и не апгрейдил за них свой танк до последнего уровня. Раньше я к 3 уровню всегда приезжал в полной готовности.
Phil:
Здравствуйте!
Пишу именно здесь, хотя может показаться, что не по теме.
10.09.2014 я писал про:

--- Цитата: Phil от 10 Сентябрь 2014, 16:46:29 ---Ti_, огромная к тебе просьба! Дело в том, что несколько лет назад evgeny начал делать один хак танчиков. Хак не был завершён. Однако там присутствовала очень интересная фишка - это ЛАВА. Здесь немного описано об этом.
http://tv-games.ru/forum/showpost.php?s=258e81cda747334cabbf57ab0c1b5a02&p=64047&postcount=45
Однако evgeny писал, что "Только в игре палитр не хватает, чтобы одновременно и лаву делать и воду." Но это значит лишь, что мы не увидим и воду и лаву одновременно.
Так вот, огроменная просьба! Можно ли добавить лаву в твой хак в виде опции? В настройках.Например во всех уровнях вода меняется на лаву. Или новые уровни с лавой.
http://cs.cmle.ru/cs309326/v309326496/8f90/gnTjWGYH0Ic.jpg
Недоделанный хак от evgeny (c его согласия) прилагаю. См. третий уровень!
Заранее спасибо!
--- Конец цитаты ---
http://www.emu-land.net/forum/index.php/topic,70637.msg1067481.html#msg1067481

На сколько я помню, как таковую лаву добавить нельзя из-за ограничения РОМа. Но, я подумал, что может добавить эту фичу в меню: чтобы она переключала например ЛЁД на ЛАВУ, или ВОДУ на ЛАВУ... как бы летнее и зимнее время... Тогда и карты уровней не нужно переделывать. Единственное должны меняться свойства.
Опять же, чтобы ознакомится с лавой смотрите УРОВЕНЬ №3.
Ti_:

--- Цитата: Phil от 17 Сентябрь 2022, 12:08:09 ---Здравствуйте!
Пишу именно здесь, хотя может показаться, что не по теме.
10.09.2014 я писал про

На сколько я помню, как таковую лаву добавить нельзя из-за ограничения РОМа. Но, я подумал, что может добавить эту фичу в меню: чтобы она переключала например ЛЁД на ЛАВУ, или ВОДУ на ЛАВУ... как бы летнее и зимнее время...

--- Конец цитаты ---
Сделал версию с лавой, но только под 1.3 без аддендума, может потом гляну и перенесу изменения.

На ромхакинг.нет также залил апдейт P.o.w. 2p v1.6 (хотел там больше исправить, но так у меня он больше года и провалялся).
Phil:

--- Цитата ---Сделал версию с лавой, но только под 1.3 без аддендума, может потом гляну и перенесу изменения.
--- Конец цитаты ---
Ti_, спасибо! Вот это настоящий новогодний подарок!
Mad:

--- Цитата: Ti_ от 05 Январь 2023, 16:17:15 ---
На ромхакинг.нет также залил апдейт P.o.w. 2p v1.6 (хотел там больше исправить, но так у меня он больше года и провалялся).


--- Конец цитаты ---
Ti, спасибо большое, давно хотел поиграть в хак на двоих с нормальной скоростью.
Evgen72:
Всем привет. Играю в Battle City (4 players hack v1.3) (addendum 002). Начал заниматься ромхакингом только из-за этой игры. Перевёл на русский, сделал сборку со своими уровнями. Хотел ещё под себя немного переделать и не получается. Нашел что адрес 468e отвечает за количество врагов, а переключатель в меню умножает их на 2. Дак вот при изменении значения в ячейке появляются глюки в виде мигающих кирпичей и со временем пропадает информация с правой стороны (кол-во жизней и левел). Как это исправить? А вообще мне надо чтобы можно было выбрать (в идеале) 40 или 250 врагов, (или хотябы) 40 или 80 врагов. И думаю что счётчик врагов лучше отображать в цифрах как в приложеном роме и на скриншоте. Кто может подсказать хоть что нибудь?
Sharpnull:

--- Цитата: perfect_genius от 10 Январь 2023, 01:21:49 ---Это значение в памяти или роме?
--- Конец цитаты ---
Это он указал позицию в файле хака "Battle City (4 players hack v1.3) (addendum 002)".

--- Цитата: Evgen72 от 09 Январь 2023, 08:04:37 ---при изменении значения в ячейке появляются глюки в виде мигающих кирпичей и со временем пропадает информация с правой стороны (кол-во жизней и левел). Как это исправить?
--- Конец цитаты ---
Очевидно, менять код отображения. Сразу замечу, что бонусные враги указаны в коде, если сделать 80 вместо 40, то бонусные враги будут только у 40. Отображение кол-ва оставшихся врагов в это хаке (4 players hack v1.3) (addendum 002) с CPU $DC6D:

--- Код: ---DC6D:
  JSR $E49F ; Сделать врага, это нам не нужно смотреть
  DEC $7F ; Уменьшить кол-во оставшихся
  LDA $7F
  LDY $0112
  BEQ $DC7A
  LSR A ; 40 врагов, а не 20
DC7A:
  JMP $C930 ; Убрать тайл врага справа

C930:
  JSR $C914 ; На основе кол-ва врагов сохраняем в X и Y регистры координаты X и Y на NT (фоне)
  LDA #$D4 ; В $11-$12 CPU адрес серого тайла (это 11 FF) с FF на конце вместо тайла танка справа
  STA $12
  LDA #$80
  STA $11
  JMP $D783 ; Добавить тайлы на NT (фон), где в X, Y - координаты
--- Конец кода ---
Разбирайте и меняйте как хотите. Есть разобранный код Battle City, там можно посмотреть как всё устроено.
UPD:

--- Цитата: Evgen72 от 09 Январь 2023, 08:04:37 ---счётчик врагов лучше отображать в цифрах как в приложеном роме и на скриншоте. Кто может подсказать хоть что нибудь?
--- Конец цитаты ---
Код отображения врагов в "Battle City - 2 vs 255" с CPU $BF20, туда передаётся в регистре A число, число делится на 100 и на 10, чтобы получить отдельные цифры. Вообще в Battle City для записи в PPU в RAM с $0180 записывается PPU адрес и тайлы с FF на конце, в этом коде так записываются цифры, а в оригинале стирался тайл врага справа.
Evgen72:

--- Цитата: Sharpnull от 10 Январь 2023, 02:27:08 ---Разбирайте и меняйте как хотите. Есть разобранный код Battle City, там можно посмотреть как всё устроено
--- Конец цитаты ---

Не подскажете чем разобрать rom и где взять разобранный код Battle City. Я пока что работал только с HEX редактором и редактором графики
Cyneprepou4uk:
Evgen72, добавил в игру счетчик врагов. Этот код для меня делал Тай еще в 2014м (в приложении).
Также вместо переключателя 20/40 танков с умножением на 2, я вывел оба значения в отдельную таблицу, редактируется в 0x71BE.

Исходник оригинала можешь посмотреть здесь https://github.com/cyneprepou4uk/NES-Games-Disassembly
Sharpnull:
Cyneprepou4uk, можно сделать короче на 7 байтов процедуру добавления счёта:

--- Код: ---ScrBuffer_Pos: equ $C
Screen_Buffer equ $180

Draw_R_Count:
LDX ScrBuffer_Pos
LDY #0 ; 10's
STY 0 ; 100's

subtract100:
CMP #100
BCC lower_than100
SBC #100
INC 0 ; 100's
BNE subtract100
lower_than100:

subtract10:
CMP #10
BCC lower_than10
SBC #10
INY ; 10's
BNE subtract10
lower_than10:

ADC #$6E
STA Screen_Buffer+4,X ; 1's

LDA #$11
STA Screen_Buffer+3,X ; 10's
STA Screen_Buffer+2,X ; 100's

LDA 0 ; if 100's = 0
BEQ draw_empty_100
ADC #$6E ; numbers base tile
STA Screen_Buffer+2,X ; 100's
BNE draw_10
draw_empty_100:
TYA ; and 10's = 0
BEQ draw_empty_10
draw_10:
TYA
ADC #$6E
STA Screen_Buffer+3,X ; 10's
draw_empty_10:

LDA #$20 ; vram h - position on screen
STA Screen_Buffer+0,X
LDA #$7C ; vram l - position on screen
STA Screen_Buffer+1,X
LDA #$FF ; endflag
STA Screen_Buffer+5,X

TXA
ADC #6
STA ScrBuffer_Pos
RTS
--- Конец кода ---
varezhkin:

--- Цитата: Ti_ от 05 Январь 2023, 16:17:15 ---P.o.w. 2p v1.6
--- Конец цитаты ---
глубокое Вам мерси!  :hi:
Cyneprepou4uk:
Sharpnull,
Evgen72:


--- Цитата: Cyneprepou4uk от 10 Январь 2023, 16:53:34 --- Battle City (4 players hack v1.3) (addendum 002) enemy counter.zip
--- Конец цитаты ---

Спасибо. Только осталось разобраться с тем что если я делаю 250 врагов, то бонусных танков нет. Можно сделать через каждые 10 или 15 обычных идёт бонусный. И тогда один РОМ будет заменять все возможные модификации
А так ещё в планах:
1. общие жизни на всех. А кто чаще умирает тот дольше ждёт в следующий раз респауна
2. отредачить экран подсчёта очков (ребенку не нравиться что непонятно кто сколько настреллял)). На скрине накидал эскиз
3. сократить 2 ноля в очках за сбитые танки
4. Увеличить кол-во уровней до 105 или более

Раз вы счётчик прикрутили за один вечер, может и это не сложно будет сделать :D
Я сам конечно хочу немного разобраться и научиться. Нашёл вот интересное видео, новичкам будет интересно https://www.youtube.com/watch?v=3H3vSKkVORg&t=121s
Cyneprepou4uk:
Evgen72, я-то могу, но не стану лишать тебя удовольствия учиться самому. Я тоже с танчиков начинал.

Дам пару подсказок. Бонусные враги выбираются во время их респауна на основании счетчика врагов, в оригинале это $007F и $0080, не помню какой точно нужен. Ставь на него бряк на чтение, в хаке увидишь большой список сравниваемых индексов.

Чтобы сделать общие жизни, достаточно заменить команды $жизни,Х на $жизни.
Kinbeas:

--- Цитата: Cyneprepou4uk от 11 Январь 2023, 14:15:18 ---Evgen72, я-то могу, но не стану лишать тебя удовольствия учиться самому.
--- Конец цитаты ---
А зачем столько хакеров? Количество хакеров превышает количество хаков. В чём прикол?
Ну то есть один научиться хакать за пару лет, второй, третий. а хак так и будет полигры с каждого нового...
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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