User Tag List

Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 101

Тема: Cauldron 1

  1. #21

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



    Ну, компилятор "с зауминами", но к стилю уже немного привыкается (лишь бы не разучится нормальному ассемблеру).
    Часть процедур (арифметика, булевы, сравнения) для работы с базовым типом i16 уже отмечены, циклы (похожие на бывший FOR до компиляции) очень узнаваемы - предустановка нескольких переменных начальное/конечное/шаг в памяти, туда же адрес начала цикла, сразу перед этим самым адресом... в хвосте цикла, где был NEXT, всегда jp (hl). Также через jp (hl) вызов нескольких процедур в кодах (чуть почище, чем от компилятора) в районе Cxxxh.

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

    По адресу 0x8628 идет код примерно с такой логикой

    Скрытый текст


    if obj.type!=OT_LAVA { random(60) } else { 20000 }
    [свернуть]

    как раз задающий время "страха" NPC, пока оно не бросится в атаку. Если прибавить константу к случайному числу, то NPC никогда не будут бросаться сразу. Подобрать только константу.

    Кстати, из этого кода также следует, что у лавы из вулкана терпение тоже не безгранично . Если долго-долго ждать, лава бросится на нас.
    Последний раз редактировалось TomCaT; 20.03.2019 в 22:17.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  2. #22

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от TomCaT Посмотреть сообщение
    Пока что в IDA отметил ключевые места.
    Сначала плачет, что формат базы старый, и при попытке сконвертить вопит, что файл создан пиратской версией, открыть не даёт.

  3. #23

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Bedazzle, это либо у вас лицензионная IDA, либо не до конца доломанная.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  4. #24

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таким небольшим патчем можно поправить чрезмерную кровожадность "нечисти".
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  5. #25

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от marinovsoft Посмотреть сообщение
    Bedazzle, это либо у вас лицензионная IDA, либо не до конца доломанная.
    Ну конечно же первое, ага.

  6. #26

    Регистрация
    13.10.2010
    Адрес
    Мурманск
    Сообщений
    51
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Cauldron 1 - одна из самых любимых игр. Хотя и особо много в неё не играл, прыгать в подземельях по этим островкам - про это только нехорошим словом можно сказать. Так и не прошёл до конца. Но есть в ней какая-то "магия". Может потому, что эта игра была на первой моей кассете )). А вот вторая часть совсем не зашла.

  7. #27

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тоже была на первой кассете. Несмотря на всю простоту отображения - есть атмосфера Хеллоуина. Музыку еще нужно в тему .

    По адресу 8C32 (и далее до 8D18) идет логика определения опоры под ногами. Оперирует по цветам с экрана, которые получает процедура, вызываемая в 8C32. Она забирает цвета 6 квадратов, три под ногами колдуньи и три по ее высоте, вроде перевернутой буквы Т, и немного корректирует красный цвет камней в вулкане, похожий на лаву.

    Затем идут проверки (не все взятые квадраты используются), в результате которых остаются 2 цвета - под ногами (clr.down) и чуть выше (гусары, молчать) (clr.middown). Если под ногами не фон, а чуть выше - фон, то это опора.

    Скрытый текст


    clr=get_hag_model_colors();

    // если на уровне низа комнаты
    if hag.alt==0x17 {
    // над водой или лавой - это гибель
    if (clr.down==0x41)||(clr.down==0x42) { hag.died=1; }
    }

    // на полу склепа - это опора
    if (hag.alt==0x17)&&(clr.down==0x44) { clr.middown=BACK_CLR; }

    // пролетая мимо опоры
    if clr.middown!=BACK_CLR {
    // цвета камней в пещерах - опоры нет
    if (clr.down==0x45)||(clr.down==0x42) { clr.down=BACK_CLR; }
    }

    // хитрый момент - если находиться возле колонн склепа - опоры нет, если колдунья не двигается,
    // это позволяет двигаться мимо колонны, опираясь на горизонтальный транспортер,
    // но вызовет падение, если на мгновение остановится на транспортере возле колонны
    // даже если транспортер все еще под ногами - в цветах, с которыми работает движок, он неразличим
    if (clr.middown!=BACK_CLR)&&(clr.down==0x44)&&(clr.up==0x44)&&(hag.hid_compass==0) { clr.down=BACK_CLR; }
    [свернуть]


    Если эти условия немного изменить, опора должна стать надежнее - очень неудобно определение опоры у левых краев площадок.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  8. #28

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Самый нужный патч - чтоб в пещере можно было летать на метле
    Я так и не осилил, но ковырял слабо, можно было мощней, сейчас уже понимаю...

  9. #29

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    внутри игры результат компиляции с неведомого языка.
    Хорошо бы заиметь декомпиляторы с хотя бы самых ходовых языков. Мне бы вот получить исх с Турбопаскаля 3 в CP/M, игры есть, исходников нет... И такие вот игры бы, получил исх текст, пусть не совсем то, что было у автора, главное что бы оно потом компилилось один в один и можно было бы править.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  10. #30

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Скрытый текст


    if (clr.down==BACK_CLR)&&(hag.hid_compass!=0) {
    if (clr.down_left==BACK_CLR)&&(clr.down_right!=BACK_CLR)&&(clr.middown_right==BACK_CLR) { clr.down=clr.down_right }
    if (clr.down_right==BACK_CLR)&&(clr.down_left!=BACK_CLR)&&(clr.middown_left==BACK_CLR) { clr.down=clr.down_left }
    }

    if hag.alt==0x17 {
    if (clr.down==0x41)||(clr.down==0x42) { hag.died=1; }
    if clr.down==0x44 { clr.middown=BACK_CLR; }
    }

    if clr.middown!=BACK_CLR {
    if (clr.down==0x45)||(clr.down==0x42) { clr.down=BACK_CLR; }
    if (clr.down==0x44)&&(clr.up==0x44)&&(hag.hid_compass==0) { clr.down=BACK_CLR; }
    }

    if (clr.down==BACK_CLR) { hag.jumpfall=HJF_FALL }

    if (clr.down!=BACK_CLR) && (clr.middown==BACK_CLR)&&(hag.jftime>game.hardfall) { hag.died=1; }

    if (clr.down!=BACK_CLR) && (clr.middown==BACK_CLR) {
    hag.jumpfall=HJF_NORMAL;
    hag.jftime=0;
    hag.hid_fired=0;
    }
    [свернуть]
    Последний раз редактировалось TomCaT; 26.05.2019 в 23:18.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


Страница 3 из 11 ПерваяПервая 1234567 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Странный глюк, Cauldron 1.
    от TomCaT в разделе Игры
    Ответов: 1
    Последнее: 20.12.2006, 13:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •