Автор Тема: реализация вывода текстуры  (Прочитано 7947 раз)

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
реализация вывода текстуры
« : Ноябрь 23, 2013, 07:05:03 pm »
Мне бы хотелось реализовать вывод текстуры на экран по вызову опкода, такая штука есть например которая выводит загрузочные экраны, но это выводится на весь экрна а хотелось бы выводить это по координатам экрана, собственно говоря такая тука в вс есть - это худ но вот вопрос в том как сделать ее опкодом.

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #1 : Ноябрь 23, 2013, 07:31:49 pm »
Опкоды по выводу текстур, уже существуют:

0391: release_txd_dictionary
0390: load_txd_dictionary 'MFPASS'
038F: load_texture 'MAP' as 1 // Load dictionary with 0390 first   
03F0: enable_text_draw 1   
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 1 position 15@ 14@ size 13@ 13@ RGBA 255 255 255 255

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #2 : Ноябрь 23, 2013, 07:33:32 pm »
спасибо!___))

хм, у меня проблема :( в IDA я нашел опкод 0390 но в самом sanny builder при поиске опкодов - его нет O_O и если по опкоду ищу нет, и по имени вообще не пойму в чем дело, сектор откудого ты их скопировал?
« Последнее редактирование: Ноябрь 23, 2013, 08:44:38 pm от Sektor »

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #3 : Ноябрь 23, 2013, 08:21:07 pm »
3.1.2

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #4 : Ноябрь 23, 2013, 08:43:13 pm »
Хорошо. значит как я понял они не прописаны в VICESCM.INI для компилятора Sanny Builder.

Тут я выкладываю данный файл VICESCM.INI

1. Скачать и заменить его в директории где установлена сама программа. У меня это выглядит так:

"C:\Program Files\Sanny Builder 3\data\vc"

2. Естественно перезапустить Sanny Builder, ну и по пробовать, скопилировать.




Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #5 : Ноябрь 23, 2013, 08:45:33 pm »
нет в vcscmini он есть  :) просто в коде стандартного майн.сцм я не нашел, сейчас буду тестировать)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #6 : Ноябрь 23, 2013, 08:47:26 pm »
Цитировать
просто в коде стандартного майн.сцм я не нашел, сейчас буду тестировать)
В стандартном scm, врядли когда они использовались.



Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #7 : Ноябрь 23, 2013, 08:55:05 pm »
Сектор, подскажи пожалуйста как можно узнать координаты экрана?

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #8 : Ноябрь 23, 2013, 08:58:17 pm »
Цитировать
Сектор, подскажи пожалуйста как можно узнать координаты экрана?

На экране, по крайне мере только методом, того что пробовать выводить изначально все вручную. Или же писать специальный скрипт, который скажем будет выводить квадратик, а мышкой мы будем его передвигать и тут же внизу будет показано его положение в виде цифр.

Советую прочитать подробно про то как вывести свою текстуру:
Рисование на экране

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #9 : Ноябрь 23, 2013, 09:06:11 pm »
Вообщем нчиего у меня не работает :( есть 2 варианта:
1 - сам опкод не работает в вайсе, кстати в vicescm написано "never used in VC or GTA 3"
2 - неправильные координаты прописал как в теме на гтмоддинге: 160.0 112.0.
вот код:
0391: release_txd_dictionary
0390: load_txd_dictionary 'FONTS'
038F: load_texture 'FONT2' as 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 1 position 480.0 112.0 size 256 256 RGBA 255 255 255 0
« Последнее редактирование: Ноябрь 23, 2013, 09:11:17 pm от mike43842 »

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #10 : Ноябрь 23, 2013, 09:17:05 pm »
Цитировать
"never used in VC or GTA 3"
Это означает, что не когда не использовалось. Это не значит что не рабочий.

Естественно оно не будет работать.

038D: draw_texture 1 position 480.0 112.0 size 256 256 RGBA 255 255 255 0
Это помещается в цикл, подобно как работают проверочные сферы.


Ради примера по пробуй сделать так:

//Сперва загрузим и сделаем все нужные операции
0391: release_txd_dictionary
0390: load_txd_dictionary 'FONTS'
038F: load_texture 'FONT2' as 1
03E3: set_texture_to_be_drawn_antialiased 1


//Затем загоним в цикл

:loopdraw
038D: draw_texture 1 position 480.0 112.0 size 256 256 RGBA 255 255 255 0
wait 0
jump @loopdraw


Ну и посмотри что получиться. Честно сказать я последний раз скриптел в 2007 году что-ли. Ну вообщем как-то так.




« Последнее редактирование: Ноябрь 23, 2013, 09:20:04 pm от Sektor »

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #11 : Ноябрь 23, 2013, 09:19:48 pm »
Тогда мне нужно функцию hud-a переписывать как опкод.

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #12 : Ноябрь 23, 2013, 09:21:43 pm »
Цитировать
Тогда мне нужно функцию hud-a переписывать как опкод.
По пробуй сделать так, как я написал выше и скажешь что получилось. Ведь в справке что я давал, там как раз таки был цикл.

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: реализация вывода текстуры
« Ответ #13 : Ноябрь 23, 2013, 09:22:34 pm »
ok

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: реализация вывода текстуры
« Ответ #14 : Ноябрь 23, 2013, 09:24:06 pm »
Кстати еще по пробуй на других текстурах, не обязательно сразу хвататься за fonts.