Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 25.05.2011, 13:51   #1
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Возможно ли в BMax

Возможно ли в BMax ниже перечисленное
Условная компиляция!
Виртуальные функции!
Указатели!
Загрузка текстур из ОЗУ и копирование кусков текстуры с масштабом!
И еще бы хотелось услышать про Blitz3D все выше перечисленное
За ранее Благодарю
__________________
(Offline)
 
Ответить с цитированием
Старый 25.05.2011, 14:35   #2
Черный крыс
 
Сообщений: n/a
Ответ: Возможно ли в BMax

(случайно нажал)
 
Ответить с цитированием
Старый 25.05.2011, 14:37   #3
Черный крыс
 
Сообщений: n/a
Ответ: Возможно ли в BMax

BMax :
1) Да.
2) Да.
3) Да.
4) Да.

оговорка №1 : Препроцессор БМакса не позволяет обьявлять свои лексемы, решение проблеммы : Написать свой препроцессор.

оговорка №2 : Смотря что ты имеешь ввиду по словом "виртуальный". В понятии БМакса следующий код :

Type TAbstract Abstract
    Function Load(path:String) Abstract
End Type
 
Type TImplement Extends TAbstract
    Function Load(path:String)
        ...
    End Function
End Type
То тут в классе TAbstract функция Load(path:String) - является виртуальной.

B3D :
1) Нет. Пиши свой препроцессор.
2) Нет.
3) Нет.
4) Нет. Да, если юзать сторонние либы.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (25.05.2011)
Старый 25.05.2011, 14:45   #4
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Возможно ли в BMax

А вот я находил препроцессор здесь на форуме на BMax, он я так понимаю тоже не позволяет объявлять свои лексемы? Или он единственный и существует?
__________________
(Offline)
 
Ответить с цитированием
Старый 25.05.2011, 14:55   #5
Черный крыс
 
Сообщений: n/a
Ответ: Возможно ли в BMax

Есть препроцессор, который написал Стас aka SBJoker, он позволяет почти все, только один минус - в режиме пошаговой отладки некорректно подсвечиваются строчки с ошибкой. Наскок я знаю, Стас забросил проект.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (25.05.2011)
Старый 26.05.2011, 08:09   #6
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
BMX Preprocessor

Или у меня руки кривые, или это баг в препроцессоре
Поставил вот этот препроцессор BMX Preprocessor но теперь не могу скомпилировать модули на BMax...
Раньше без препроцессора компилировал вот так:
Запускаю cmd перехожу в папку BlitzMax\bin и прописываю bmk makemods xorsteam.xors3d Но ни чего не получается! Может кто то объяснит мне, что ни так я делаю?

КТО НИБУДЬ
Добавлено:
И еще такой вопрос по BMax'y
Почему не работает в MaxIDE Build Modules ???
MinGW стоит, переменные прописал так:
Панель управления->Система->Дополнительно->Переменные среды
Системные переменные добавил в Path путь до MinGW\bin
Что опять не так делаю
__________________

Последний раз редактировалось maxturbo, 26.05.2011 в 10:18.
(Offline)
 
Ответить с цитированием
Старый 26.05.2011, 10:20   #7
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Возможно ли в BMax

теперь ты должен обращаться к bmk_orig емнип.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (26.05.2011)
Старый 26.05.2011, 11:32   #8
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: Возможно ли в BMax

Все с MinGW разобрался, что было так и не понял, но факт в том что все заработало
Добавлено:
Как структуры с С++ перевести на BMX?
Вот есть структура к примеру:
struct MAGIC_POSITION
{
	float x;
	float y;
	float z;
};
// Структура для хранения треугольника
struct MAGIC_TRIANGLE
{
	MAGIC_POSITION vertex1;
	MAGIC_POSITION vertex2;
	MAGIC_POSITION vertex3;
};
На BMX будет вроде так:
Type MAGIC_POSITION
	Field x:Float
	Field y:Float
	Field z:Float
End Type
А вот как будет выглядеть вторая структура (MAGIC_TRIANGLE) в BMX я не могу понять!
И еще:
// Структура для матриц 4x4
struct MAGIC_MATRIX
{
	union
	{
		struct
		{
			float _11, _12, _13, _14;
			float _21, _22, _23, _24;
			float _31, _32, _33, _34;
			float _41, _42, _43, _44;
		};
		float m[4][4];
	};
};
Как и ее перевести на BMX?
За ранее Благодарю
__________________
(Offline)
 
Ответить с цитированием
Старый 26.05.2011, 17:36   #9
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: Возможно ли в BMax

Сообщение от maxturbo Посмотреть сообщение
А вот как будет выглядеть вторая структура (MAGIC_TRIANGLE) в BMX я не могу понять!
Type MAGIC_TRIANGLE
	Field vertex1:MAGIC_POSITION
	Field vertex2:MAGIC_POSITION
	Field vertex3:MAGIC_POSITION
End Type
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (26.05.2011)
Старый 30.05.2011, 00:54   #10
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
BMX Preprocessor

Есть еще такой вопрос по части препроцессора!!! Возможно ли как нибудь в модуле использовать условную компиляцию???
__________________
(Offline)
 
Ответить с цитированием
Старый 30.05.2011, 05:46   #11
Venom2
 
Сообщений: n/a
Ответ: BMX Preprocessor

Сообщение от maxturbo Посмотреть сообщение
Есть еще такой вопрос по части препроцессора!!! Возможно ли как нибудь в модуле использовать условную компиляцию???
Help->Language->Conditional compiling

ЗЫ
По поводу структур (struct) и объединений (union) - в бмаксе их нет, type это класс для которого используется только динамическая память, потому MAGIC_POSITION еще может прокатить, а вот код MAGIC_TRIANGLE показаный baton4ik уже нет, т.к. поля в нем - указатели на данные, а в исходном варианте на С++ это сами данные.
Вообще же в данном случае лучше не обьявлять структуру, а использовать Float Ptr для всех трех структур. Неудобно да, но зато полностью совместимо и никакого оверхеда.
Насчет структуры матрицы - union дает возможность обьявить переменные которые занимают физически одну и ту же память, т.е. в случае с матрицей удобно иметь два варианта элементов - в виде массива и в виде отдельных переменных-компонент.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maxturbo (30.05.2011)
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com