Войти
Вело-изобретателиФорумdx_vb - порт DirectX9 для VB6

Портирование игры Pilots School 2 на C++.

Страницы: 1 2 Следующая »
#0
(Правка: 22:17) 17:02, 31 мая 2019

helldrg взялся с моей помощью переписать эту игру на C++ и какой-нибудь более современный, чем DX9, графический API.

#1
17:23, 31 мая 2019

Функции дружественные для того, что бы ими можно было пользоваться вне класса? Т.е. можно вместо friend поставить модификатор public? Пример:

Friend Sub CtrlR(ByVal v As Single)

#2
17:48, 31 мая 2019

Для описания проекта создаю UML диаграмму в Visio. Если есть программа лучше или иной, более интересный способ описания проекта предлагайте. Вот снимок текущей схемы.

+ Показать

По мере портирования кода будут добавляться остальные классы

#3
19:19, 31 мая 2019

Для контроля версии гит использовать и загружать на Github?
И я добавлю библиотеку ImGui для удобного дебага?

#4
20:02, 31 мая 2019

helldrg
> можно вместо friend поставить модификатор public?
Да. public от friend отличается тем, что виден не только везде внутри проекта, но и снаружи, например, в ActiveX dll. Поэтому в public нельзя использовать в параметрах типы, определённые внутри проекта. В таких случаях я заменяю public на friend.
Ещё какие могут быть неожиданности:
  В функциях, если у параметра нет ключевого слова ByVal, то параметр передаётся ByRef, то есть по ссылке, это аналог шарповского ref.
  При делении "/" целых типов результат получается не того же типа, а всегда Double, для целочисленного деления предусмотрен символ "\".

По Github и Visio - смотри, как тебе удобнее, я этим раньше не пользовался.

#5
(Правка: 18:41) 14:16, 1 июня 2019

Есть несколько вопросов. Игра состоит из двух проектов. PilotsSchool и game. Мне все в один проект собирать или так же делать 2? И можешь немного рассказать почему изначально из двух проектов состоит игра

#6
(Правка: 19:48) 19:24, 1 июня 2019

Собственно игра - это проект Game.vbp. PilotsSchool.vbp - это генератор ландшафта и заданий, всё сгенерированное сохраняется в файлы,
это пара текстовых файлов:
  airport.ini и lessons.ini, где хранятся данные о аэропортах и координатах целей в заданиях.
и картинки:
  land.png - четырёхслойный png (с альфаканалом), где находится карта высот, карта теней и карты распределения травы и снега на ландшафте.
  map.png - миникарта.
Так сделано потому, что я генерацию делал для конкурса, изначально игра была на фиксированной карте.
Проект Game.vbp - это полноценная игра без генерации ландшафта. Имеет смысл начать с него, а генерацию добавить по желанию.
Убери из Sub Main эти строки:

  If Trim(Command$) <> "x" Then
    MsgBox "Run PilotsSchool2.exe"
    Exit Sub
  End If
Это примитивная проверка, что Game.exe запущен из PilotsSchool.exe.
Классы, название которых начинается с "Direct", можно не переводить - это аналоги соответствующих интерфейсов DirectX.

#7
13:21, 4 июня 2019

Работа над портированием продолжается, просто оказывается я практически все забыл по DirectX, а копипастом не хочется заниматься, все вспоминаю и изучаю, как протестирую класс cMesh и cAP отпишусь.

#8
20:17, 5 июня 2019

Привет с Авсима! Буду следить за новостями, да и вообще, read-only я здесь не первый год.

#9
21:57, 5 июня 2019

Wobbit
Приветствую!
helldrg
Самое интересное начнётся, когда дойдём до шейдеров... они у меня ассемблерные.

#10
14:53, 6 июня 2019

Какие цели преследуете? Зачем портировать на с++?

#11
16:17, 6 июня 2019

Vitorio
с++ популярней все таки и я на нем программирую. Цель: перевести на другой язык, более новый директ использовать, а дальше видно будет. В ходе проектирования буду выкладывать скриншоты, скину ссылку на гитхаб. Будем рады вашим комментариям, особенно касающимся улучшением архитектуры и кода

#12
21:10, 7 июня 2019

Мне кажется, раз взялись переносить на плюсы, стоит отказаться от велосипедизма и использовать подходящие библиотеки, форматы и стандарты, где возможно. Желательно портабельные.

#13
15:08, 8 июня 2019

Wobbit
Для удобной отладки использую библиотеку ImGui, для отслеживания утечек памяти vdl. Так же стараюсь массивами из STL пользоваться. Архитектуру приложения взял как в книжке Френка Луна по директу

#14
16:48, 8 июня 2019

Mikle
Можешь рассказать как формируешь mesh файл, не получается индексы прочитать. Кол-во индексов и вертексов прочитал, вертексы все прочитал, а индексы не хотят читаться. Пробовал в тип int, long, unsigned long записать, но не правильные цифры получаются.

Страницы: 1 2 Следующая »
Вело-изобретателиФорумdx_vb - порт DirectX9 для VB6