forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Jam Session 4 (http://forum.boolean.name/forumdisplay.php?f=155)
-   -   JS4 - мой проект (http://forum.boolean.name/showthread.php?t=15040)

Reizel 12.07.2011 00:05

Ответ: JS4 - мой проект
 
Видео

impersonalis 12.07.2011 01:03

Ответ: JS4 - мой проект
 
Конфиг ПК на котором идёт разработка хотелось бы увидеть.

Reizel 12.07.2011 01:13

Ответ: JS4 - мой проект
 
Название ОС: Microsoft Windows XP Professional
Версия ОС: 5.1.2600 Service Pack 3 сборка 2600
Сборка ОС: Uniprocessor Free
Изготовитель системы: Hewlett-Packard
Модель системы: HP Compaq 6720s
Тип системы: X86-based PC
Процессор(ы): Число процессоров - 1.
[01]: x86 Family 6 Model 15 Stepping 10 GenuineIntel ~1729 МГц

Полный объем физической памяти: 1*015 МБ
Доступная физическая память: 474 МБ
Виртуальная память: Макс. размер: 2*048 МБ
Виртуальная память: доступно: 1*990 МБ
Виртуальная память: используется: 58 МБ

видео: Mobile intel(R) 965 Express Chipset Family
PS очень слабый комп. Даже тени хорсовые не тащит :(

Reks888 12.07.2011 10:28

Ответ: JS4 - мой проект
 
Сложно быть скрытным когда ты можешь раз******ить весь уровень к чертям

Reizel 12.07.2011 12:51

Ответ: JS4 - мой проект
 
Конечно. Благо такая мощная бомба будет одна. На весь уровень. На всякий случай ;-)

Reizel 12.07.2011 14:39

Ответ: JS4 - мой проект
 
Ура. Я сделал воду) построена на юзании оператора лапласа. Ничего сложного, как оказалось))
Статья
Правда, ума не приложу теперь, как визуализировать ее в блице. Походу это нереально :(

В планах: Огонь, который будет сжигать все, что горит)

Reizel 17.07.2011 00:10

Ответ: JS4 - мой проект
 
Уфф...
В общем, запарился конкретно.
Не могу отрисовать DrawPoly на fastimage. Ну никак! Фэйлишко в том, что один из параметров - блицевый банк. Но это не главное. В FI он передается в виде простого INT, а не как указатель. Ну это фигня.
Помучавшись, написал DLL специально для изучения блицевых банков. Оказалось, что:

bank = CreateBank(size)

bank - это указатель на банк, в котором:
0..24 байта - служебные
с 8-го байта лежит int - размерность банка
после него лежит невнятное число на 12 большее базмера банка. ХЗ зачем оно.
Вокруг этого лежит ересь, и вот начиная с 24 байта идут сами данные.

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

Сейчас я написал недостающий в B3D SDK класс для работы с этими банками. Банки хорошо создаются, все гуд. Даже функция DrawPoly возвращает true. Даже не вылетает, если подставить адрес банка на единичку больше-меньше. НО нихера не рисует.

Я уже не знаю что делать, в инете нет информации о структуре блицевых банках, никто из знакомых не знает, МихаилV недоступен вечно.

PS И главное - примитивные функции работают - DrawRect, DrawLine , SetBlend, SetAlpha...

Проект встал :(

wolfhound512 17.07.2011 00:40

Ответ: JS4 - мой проект
 
Про банки
На самом деле блицевский банк очень прост:
смещение 0 байт - размер банка
смещение 4 байта - указатель на данные

пример:
Код:

sVertex data[10];
int bank[2] = { sizeof(sVertex) * 10, (int)data };
int result = vpFI->DrawPoly( x, y, (int)bank, image, ...);


impersonalis 17.07.2011 01:02

Ответ: JS4 - мой проект
 
ЕМНИП, MihailV выкладывал расшифровки большинства блитц-объектов

Reizel 17.07.2011 07:38

Ответ: JS4 - мой проект
 
Цитата:

Сообщение от impersonalis (Сообщение 195775)
ЕМНИП, MihailV выкладывал расшифровки большинства блитц-объектов

Находил, там есть все кроме банков.

to wolfhound512:
записывал в банк байтами обычную строку, в dll принимал указатель на банк:

st$ = "Lol"
bank = CreateBank(100)
for K=1 to len(st)
ch$ = mid(st,k,1)
PokeByte bank,k-1,asc(ch)
next
test(bank)

В dll читал память по байту с этого адреса, и выяснилось что реальные данные лежат со смещением в 24 байта (если в decls оформлено как test(bank%)), иначе (test(bank*)) в dll приходит указатель на реальные данные.

А воду мне все же удалось отрендерить! Блицевые банки не прокатили, поэтому я подсмотрел структуру в PureBasic, сделал так же в сях, и все заработало! как так блин, ведь в банк аналогичным образом данные упаковывал...

wolfhound512 17.07.2011 12:12

Ответ: JS4 - мой проект
 
То что они лежали со смещение в 24 байта, это случай. Я делаю так как описал выше и все работает, этот способ мне MihailV подсказал.
Но если ты используешь версию ФИ для СДК, то вряд ли там используются блицевские банки.

Reizel 30.07.2011 00:13

Ответ: JS4 - мой проект
 
Вся суть игры была на 2Д разрушаемости и физике 2Д объектов. Именно из-за разрушаемости попиксельной невозможно было привернуть какой-либо Box2D или другой физ.движок. Пишу сам, но не успею до окончания конкурса. Аминь.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot