Автор Тема: Типы переменных на разных платформах  (Прочитано 4609 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Вот оператива марио
http://tasvideos.org/GameResources/NES/SuperMarioBros.html#MemoryAddresses

iddqd, чо там непросто?

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #1 : 30 Декабрь 2011, 21:09:34 »
feos, ткни пальцем, плизз, где там адреса X и Y координат Марио)

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #2 : 30 Декабрь 2011, 21:30:33 »
feos, ткни пальцем, плизз, где там адреса X и Y координат Марио)
я тебе могу скрипт написать, который будет показывать тебе позицию марио в уровне на данный момент. позиция состоит из двух байтов. младший - 0086 и старший - 006D. когда младший переваливает за 256, старший возрастает на единицу. странно, что ты не знаешь.

у координаты игрек нет второго байта. вот она - 00CE.

тебе в скрипт субпиксели добавлять?

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #3 : 30 Декабрь 2011, 23:12:13 »
feos, спасибо, скрипт можешь не писать, если лень. Я как-то довольно давно искал как 4 байта целое. И я не знаю что такое субпиксели:)

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #4 : 30 Декабрь 2011, 23:20:20 »
в денди играх обычно эти 2 байта разбросаны и не составляют слово. субпиксели это дробные доли пикселей, которые помогают просчитать ускорение и сделать тректории более плавными.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #5 : 31 Декабрь 2011, 00:36:03 »
feos, не понял. Ты имеешь в виду, что координаты объектов могут быть неабсолютными (т.е. одна координата Y на полэкрана, вторая на остальные полэкрана, или вроде того)? Я не встречал такого в Nes играх, но вообще знаю что такое бывает. Сорри, если что - наверное ты о другом:)
В игре Treasure Master для каждого экрана свои координаты игрока, кстати. Вот нашел у себя координаты Y (не помню какому экрану какая из них соответствует, проверять неохота), 4 байта целое:
00D6
00D3
0568

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #6 : 31 Декабрь 2011, 00:59:55 »
feos, feos, вы оффтопите, ребята.

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #7 : 31 Декабрь 2011, 01:18:32 »
topos84, если мы перейдем в ЛС, я не смогу прилюдно показать насколько я крут :rofl:
к тому же мы обсуждаем НЕПОСРЕДСТВЕННО то, что было показано в хрониках.

iddqd, есть игры, в которых позиция объекта вычисляется АБСОЛЮТНО - то есть на карте (всегда нужны 2 байта, больше в денди не встречается). есть игры, где вычисляется абсолютная позиция КАМЕРЫ на карте, а объект - только относительно камеры (Zen IGN, James Bond Jr, причем в зене уровни крупные, координаты камеры двухбайтовые, а в бонде уровни поделены на маленькие экраны, позиция камеры определяется одним байтом). есть игры, где просчитываются и абсолютная позиция на уровне, и относительная позиция на экране (движок жаб).

ты вообще про какую игру говоришь? про Treasure Master? ты запостил только 3 байта.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #8 : 31 Декабрь 2011, 01:38:37 »
topos84, сорри..
feos, ты меня слегка не понял. Это не три байта, а три отдельных 4-х байтовых (ну или 2-х байтовых, раз больше 2-х байт нету) адреса Y координат для трех разных экранов в первом уровне Treasure Master.

>есть игры, в которых позиция объекта вычисляется АБСОЛЮТНО

Чаще всего в играх такие и есть (не только Nes).

За инфу - спасибо!

>я крут

Я и не сомневался)

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #9 : 31 Декабрь 2011, 01:41:38 »
четырехбайтовость в нес вообще не существует лол. между 0xd3 и 0xd6 нет расстояния в 3 байта ,с чего ты взял вообще что они 4-байтовые.

Цитата
Чаще всего в играх такие и есть (не только Nes).
ромхакеры говорят обратное.

тебе надо все координаты для трежер мастера?

отвчай мне в личку, мне тоже интересно.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #10 : 31 Декабрь 2011, 02:56:07 »
Вообще есть трехбайтовость в Nes точно. Про 4 байта - большое спасибо, не знал. А смещение между этими двумя адресами Y просто провтыкал.

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #11 : 31 Декабрь 2011, 02:58:55 »
iddqd, ты говоришь как инопланетянин. тебе нужны чертовы координаты для трежер мастер или нет? если да, то какие именно?

в нес даже использование двух байтов подряд для одной цели является редкостью, три байта же к ряду это нонсенс.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #12 : 31 Декабрь 2011, 03:21:46 »
Есть ли в играх ZX Spectrum целые значения длиной больше одного байта?

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #13 : 31 Декабрь 2011, 03:22:46 »
feos, есть в Nes целое 3 байта. Координаты для этой игры не нужны.
На всякий случай вот скрин из чит-поисковика Nes эмулятора VirtuaNes:


Добавлено позже:
Большая просьба команде эму-лэнд нас за оффтоп не пинать, а сообщения перенести сюда.
Заранее спасибо!

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #14 : 31 Декабрь 2011, 03:33:19 »
Нет, двухбайтная адресация, однобайтные значения.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #15 : 31 Декабрь 2011, 03:36:23 »
EdHell, спасибо! А что с Dos играми - может там быть целый тип больше двух байтов?
Также хочется узнать про эти системы:
Atari 8-bit - во встроенном поисковике эмулятора Altirra есть целое 1 байт, целое 2 байта и всё. Может ли быть больше?
Commodore 64 - не знаю.
Atari 2600 - тоже не знаю.


Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #16 : 31 Декабрь 2011, 03:36:36 »
и что я должен увидеть на этом скрине? наличие 4 радиокнопок? стандартное меню большинства эмуляторов всех консолей.

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #17 : 31 Декабрь 2011, 03:41:38 »
Вероятнее всего тоже нет.

Оффлайн iddqd

  • Пользователь
  • Сообщений: 5885
  • Пол: Мужской
  • murderforkill
    • Просмотр профиля
Re: Типы переменных на разных платформах
« Ответ #18 : 31 Декабрь 2011, 03:48:21 »
Спасибо за ответ на #15.
//feos все же чит-поисковик в VirtuaNes свой оригинальный, а не как стандартный в эмуляторе FCEUX (взятый из PCSX-ReRecording, также имеется в PCEjin и PSXjin). Повторюсь - это скрин на всякий случай.

ЗЫ. Посты перемешались от переноса.. :( На всякий случай:
#12 -> ответ в #14
#15 ->  ответ в #17
« Последнее редактирование: 31 Декабрь 2011, 04:19:29 от iddqd »