| Разработка и ромхакинг > Ромхакинг и программирование |
| [SMD] Хак Zero Tolerance |
| << < (16/99) > >> |
| FireWing:
Пока следующего релиза нет, могу дать инфу по формату данных для эпизодов, в ZT (в BZT там еще кое-чего добавилось, но пока эти данные не систематизировал): --- Код: ---Episode map data format 1. 4 bytes: Signature ("ZMAP") 2. 4096 bytes: Textures definition: - A texture is 128x64, consists of 8 tiles (32x32), tile order is: 1 3 5 7 2 4 6 8 - Has 256 records - A record consists of 8 tile numbers (2 bytes per tile number, big-endian): T1_Tile1 T1_Tile2 T1_Tile3 T1_Tile4 T1_Tile5 T1_Tile6 T1_Tile7 T1_Tile8 T2_Tile1 T2_Tile2 T2_Tile3 T2_Tile4 T2_Tile5 T2_Tile6 T2_Tile7 T2_Tile8 .. T256_Tile1 T256_Tile2 T256_Tile3 T256_Tile4 T256_Tile5 T256_Tile6 T256_Tile7 T256_Tile8 3. 2048 bytes: Texture orders: - Describes which texture to use on each side of each cell ID (#0 - #255) 4. 256 bytes: Cell types definiton, one byte per cell, for types explanation, see [CellDefs] section of ztedit.ini. 5. 16 bytes: Level environment, one byte per one level, possible values are: - 00: Bright light - 01: Dim light - 02: Haze - 03: No ceiling - 04: Black ceiling 6. 16384 bytes: Map data: - Each episode has 16 levels - Each level is 32x32, one byte per cell, first byte is upper-left corner, last byte is lower-right corner. - Each byte defines the cell ID to be placed. E.g. byte 0Ah (10d) causes the game to render the cell according to 10th record of cell types definition set. --- Конец кода --- |
| Nemesis_c:
о.. полезная инфа.. а я все думал где потолок прописывается.. |
| pedro:
На многострадальную Русь на сей раз ополчились не кто-нибудь, а космические пришельцы. Но на их пути встают бесстрашные агенты ФСБ! Однажды над Москвой завис космический корабль. Люди верили, что они пришли с миром. В тоже время начинается целая серия исчезновений самолетов и вертолетов вместе с их экипажам, которые пытались приблизиться к кораблю. Наконец в руках спецслужб оказываются два свидетеля - люди, побывавшие на корабле и успевшие с него удрать, используя трофейные телепортеры, до того как их чуть не переработали на колбасу роботы. Был подобран целый отряд сорви голов, посланных на корабль пришельцев. :wow: |
| gorgor:
pedro, :wow: ня! Добавлено позже: FireWing, а реально увеличить кол-во эпизодов, подробив имеющиеся на куски??? |
| FireWing:
--- Цитата: gorgor от 04 Март 2011, 21:07:05 ---FireWing, а реально увеличить кол-во эпизодов, подробив имеющиеся на куски??? --- Конец цитаты --- Реально-то оно реально, можно и не дробить - хоть 20 эпизодов сделать, можно ром увеличить до максимума в 4 мб и напихать туда чего угодно. Но для этого нужно ковырять уже сам код от m68k, кто-нибудь достаточно в нем разбирается? Кстати, в BZT оригинальные уровни из ZT никуда не делись. Новые там находятся не вместо них, а в другом месте совершенно. |
| Smoke:
Я думаю, кол-во карт в эпизоде все-таки будет ограничено не сколько размером рома, а скорей размером оперативки. Т.к. в начале эпизода все карты сразу грузятся в RAM, а далее отдельные карты уже читаются не из рома, а из оперативы. Конечно можно переписать и грузить при каждом переходе карту из рома, но тогда наверно игра станет еще тормознутей |
| gorgor:
Smoke, как тебе такая идея с разбиением эпизодов, чтобы были в них заставки с текстом? Там можно будет прописать сюжет и текущую миссию с описанием врагов и способом прохождения, допустим. |
| FireWing:
Да нет, я не думаю. зачем им грузиться из оперативы-то? Скорость чтения из рома довольно высока, а оперативки мало. Весь эпизод займет почти половину всей оперативки, поэтому вряд ли. В любом случае, надо какой-то отладчик, дизассемблер и какие-нибудь средства разработки. Тут уже ковыряние байтов не особо поможет. |
| Ti_:
--- Цитата: gorgor от 04 Март 2011, 18:14:58 ---Ну а если разделить на небольшие, чтобы по 5-6-7-8 уровней каждый эпизод, и так можно сюжет какой-нить придумать... :? --- Конец цитаты --- стоит делить если боссов новых добавлять на каждый, и текстуры. |
| gorgor:
--- Цитата: FireWing ---m68k --- Конец цитаты --- у нас сегодня как раз шла речь о процессорах... 8080 - 8 бит (1974 г) 8086 - 16 бит (1978 г) компания интел Добавлено позже: --- Цитата: Ti_ ---стоит делить если боссов новых добавлять на каждый, и текстуры. --- Конец цитаты --- по моему вы заблуждаетесь.. |
| FireWing:
--- Цитата: gorgor от 04 Март 2011, 21:37:17 ---у нас сегодня как раз шла речь о процессорах... 8080 - 8 бит (1974 г) 8086 - 16 бит (1978 г) компания интел --- Конец цитаты --- Там хоть ладно интел. А тут совершенно другая архитектура, Motorola 68000. Она еще использовалась изначально в маках и амигах. Но у меня не было ни того ни другого, поэтому дела я с ней не имел вообще. |
| Lin:
На рынке видел русскую версию бейонд зиро толеранс. Никто её не пробовал? Может там все исправлено? |
| Nemesis_c:
pedro, молодэц ;) я думаю разрабы были не совсем тупыми и не зря сделали по 16 уровней на эпизод.. 16 я тестил - работает нормально.. притормаживает иногда но в пределах нормы и явно не от количества уровней :) Зачем увеличивать вообще не понятно.. уменьшать тоже не логично.. кто боссов рисовать будет? это понятно, что можно в zt вставить огромного чувака из bzt, а в bzt вставить трех боссов из zt... а дальше? :) в принципе и одним эпизодом с 16 уровнями можно игрока ушатать.. 16 дробленый этажей и 60 лифтов - всего один верный путь.. но это не весело. Сейчас затестил пару карт - вот там весело ))) Добавлено позже: --- Цитата: Lin от 04 Март 2011, 22:32:30 ---На рынке видел русскую версию бейонд зиро толеранс. Никто её не пробовал? Может там все исправлено? --- Конец цитаты --- пробовали - то же самое, только с "пириводом" - надо ж с деток денег поиметь... |
| pedro:
Nemesis_c,сколько спрайтов и в каком разрешении нужны для боссов? |
| Nemesis_c:
в zt если ниче не путаю высота босса как у стены 64 то есть две текстурки в высоту и в ширину вроде так же.. не помню. кадров дофига, но не больше чем в bzt :lol: нормально обьяснил - самому понравилось.. пролистай на две странички назад, там ti_ выкладывал рип со всей графикой - там хорошо видно |
| FireWing:
Поковырял немного подобием отладчика в Gens KMod. Да, и правда весь эпизод грузится в оперативку :( Заодно нашел оффсет в роме ZT, где указаны адреса начала данных для каждого эпизода. Например, в 0x10BE указан адрес начала данных первого эпизода. Попробуйте там поменять что-нибудь - первый эпизод превратится в набор мусора с кривой палитрой :) |
| Nemesis_c:
FireWing, этот эмуль попробуй - в нем удобнее. |
| Ti_:
--- Цитата: FireWing от 04 Март 2011, 21:36:02 --- В любом случае, надо какой-то отладчик, дизассемблер и какие-нибудь средства разработки. --- Конец цитаты --- IDA Pro GEN/BIN loader (5.2) да и других тем по хакингу тут хватает. Добавлено позже: --- Цитата: Nemesis_c от 04 Март 2011, 22:51:45 ---FireWing, этот эмуль попробуй - в нем удобнее. --- Конец цитаты --- удобнее , ток в нем глюк с ram.dmp в файл. вот тут манулы можешь глянуть: БИБЛИОТЕКА РОМ ХАКИНГА лично я использую: 68khtml.rar и SM68K.rar |
| Smoke:
--- Цитата: FireWing ---Да нет, я не думаю. зачем им грузиться из оперативы-то? Скорость чтения из рома довольно высока, а оперативки мало. Весь эпизод займет почти половину всей оперативки, поэтому вряд ли. В любом случае, надо какой-то отладчик, дизассемблер и какие-нибудь средства разработки. Тут уже ковыряние байтов не особо поможет. --- Конец цитаты --- Из оперативы 100%. Я на этом принципе свой способ подсчета врагов на уровне замутил. В начале идет подсчет врагов на нетронутых картах, а далее при убийстве/появлении врагов, уменьшается пока не дойдет до нуля. А в оригинале -- обычный пересчет байтов карты через определенные интервалы времени и при различных ситуациях. |
| Nemesis_c:
--- Цитата: Ti_ от 04 Март 2011, 23:10:37 ---удобнее , ток в нем глюк с ram.dmp в файл. --- Конец цитаты --- ну это не повод отказываться от простоты и удобства.. апельсина попросить исправить глюк и все. тот что я выложил - это кажется новейшая версия, то есть не та что тут в соседней теме и не та что у нас на сайте. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |