Войти
Вело-изобретателиФорумSR2D - софтовый 2D движок

2D движок SR2D, Софтверный движок для работы с 2D графикой на VB6, vb.net, C# (40 стр)

Страницы: 137 38 39 40 41 42 Следующая »
#585
(Правка: 8:59) 8:48, 9 фев. 2019

Подключил твою dll, но там не хватает ещё какого-то контрола Grid.
Но, скорее всего, проблема понятна. Многие контролы меняют текущую папку под себя, так поступает даже штатный микрософтовский диалог открытия файлов из Common Control. Если инициализация контрола проходит до первого обращения к функции из dll, то потом dll может быть не найдена. Дело в том, что dll ищется в текущей папке, а не в App.Path, и ищется при первом обращении.
Нужно либо перед инициализацией контрола (можно первой строкой в программе) однократно вызвать любую ф-цию из dll, например "x = ARGB(0,0,0,0)", либо перед первым обращением уже по тексту программы выполнить "ChDir App.Path". Первый вариант предпочтительнее, второй может сломать работу уже твоего контрола.

#586
9:52, 9 фев. 2019

А вообще, отказаться бы вообще от всех этих ActiveX контролов и референсов, с ними сплошные проблемы, то версия не та, то регистрация у конечного пользователя не идёт потому, что не из-под админа.
Можешь посмотреть исходник готовой игры на SR2D: https://yadi.sk/d/wUH4YsWj3R3ZnX
Там звук на DirectSound, использована эта tlb: https://gamedev.ru/community/bycircle/forum/?id=207643
У EXE никаких зависимостей, всё просто и надёжно.
В отладке может быть проблема - при остановке на стопе или на ошибке отладка падает, это виноват DirectSound, он на такое не рассчитан, просто при отладке отключай звук, снимай комментарий со строки:

'#Const SoundDisable = True
В принципе, это под "Танчики" переделывается просто, можешь даже оставить готовые решения, например, дым от снарядов и взрывов. Переделка в основном коснётся управления и ИИ противников.

#587
9:58, 9 фев. 2019

если я верно тебя понял, то сделал вот так:

    Dim X As Integer

    Dim tmpPicturePath As String

    X = ARGB(0, 0, 0, 0)
    tmpPicturePath = "F:\1.png"
    SprTest.Init 200, 200
    SprTest.LoadFromFile tmpPicturePath
    SprTest.PaintToDevice Form1.hDC
Теперь ошибка вылетает в строке:

X = ARGB(0, 0, 0, 0)
Ошибка такая же: "file not found SR2D"

Кинул тебе на почту grid, если ещё нужны какие-то файлы, пиши.

#588
(Правка: 10:00) 9:59, 9 фев. 2019

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

Я вот думаю, а какой контрол может мешать? как думаешь?

#589
10:05, 9 фев. 2019

Memfivosfey
> сделал вот так
Вопрос - где ты это сделал, строку с ARGB нужно вписать в Form_Load первой запускаемой формы первой строкой, или в Sub Main, если запуск через него.

#590
16:20, 9 фев. 2019

Mikle, запулил его в SUB Main, самой первой строкой, прежде всех строк.

    Dim X As Long
    X = ARGB(0, 0, 0, 0)

Ошибка не ушла. Появляется прямо на этой строке.

#591
(Правка: 20:45) 20:44, 9 фев. 2019

Memfivosfey
Распаковал проект, зарегистрировал prjSharedFunction.dll, добавил vsflex8.ocx, и то, и другое занёс в References, проект не пустился на строке VerifyExistDir, такой ф-ции нет. Заремил эти строки - проект остановился на Stop в sub_DrawGameFieldSR2D. Убрал Stop - проект пустился, ошибок нет.
Видимо эта VerifyExistDir, которой у меня почему-то нет, и меняет Path.
Попробуй в Sub Main перед X = ARGB(0, 0, 0, 0) добавить строку:

ChDir App.Path
#592
21:01, 9 фев. 2019

Mikle
> Попробуй в Sub Main перед X = ARGB(0, 0, 0, 0) добавить строку:
>
> ChDir App.Path
Сработало!!!

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

#593
9:40, 12 фев. 2019

Mikle привет, не забил еще?) на 64

#594
16:15, 12 фев. 2019

SilentPrayerCG
Перевёл часть на Си, тестирую в 32 битах. Как переведу всё - дам тебе скомпилировать в 64 бита.

#595
18:20, 13 фев. 2019

Mikle
оки

#596
19:28, 13 фев. 2019

SilentPrayerCG
Можешь посмотреть мои мучения: https://gamedev.ru/code/forum/?id=242177

#597
20:09, 14 фев. 2019

Mikle
Посмотрел.
Слишком сложно это все для меня конечно.

Про инструкции, у меня раньше был Phenom II x6 и в нем не было инструкции SSE4.1 или 4.2 (ну точнее обеих)
И были проблемы, потому что Corona Render требует 4.2 вроде, я использовал легаси версию, на данный момент они уже её не выпускают.
Товарищи свой рендер пишут, гпу (pt, mlt итд) тоже приходилось под меня подстраиваться, выкидывать некоторые инструкции которых у меня не было, и заменять их на код обычный, как я понял.

Еще вспомнил, FStorm Render тоже у меня не заводился, он гпу, но трансляция сцены похоже использовала 4.2 - мне разраб написал. Который как я потом выяснил, один из бывших постояльцев нашего полумертвого 3дцентра, он потом ушел в Otoy и сейчас вот этот фшторм пилит.

Сейчас у меня ryzen 2700x и думаю пока можно забыть про эти проблемы с инструкциями.

#598
21:05, 14 фев. 2019

SilentPrayerCG
> у меня раньше был Phenom II x6 и в нем не было инструкции SSE4.1 или 4.2 (ну
> точнее обеих)
Я не буду использовать выше SSE2. А до сих пор вообще был MMX.

#599
22:43, 14 фев. 2019

>Я не буду использовать выше SSE2.
Можно перегрузку функций устроить.
SSE 4.1
insertps/extractps удобно очень вставка/извлечение полей.
pinsrb/w/d/q и pextrb/w/d/q - очень удобные и шустрые вставка/извлечение байтов, слов и т.д.
roundps/roundpd удобно и шустро округлять по 2/4 значения сразу.
dpps, dppd - dot product встроенный.
ptest - проверка на ноль сразу 4-х значений.
Для векторных операций все это нужно.
4.2 мне только popcnt (подсчет битов нужен),
а так еще куча функций побитовых операций (шуффлинг, блендинг и т.п.).

Я наоборот от MMX отказался, хотя он и немного шустрее чем XMM.

Страницы: 137 38 39 40 41 42 Следующая »
Вело-изобретателиФорумSR2D - софтовый 2D движок