purebasic.info

PureBasic forum
Текущее время: Вс июл 22, 2018 8:55 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср мар 14, 2012 4:19 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Запускаю этот код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
;
; ------------------------------------------------------------
;
;   PureBasic - World
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;
 
#PlayerSpeed = 15
 
IncludeFile "Screen3DRequester.pb"
 
Define.f KeyX, KeyY, MouseX, MouseY
 
 
If InitEngine3D()
 
  If InitSprite() = 0
    MessageRequester("Error", "OGRE package not found", 0) : End
  EndIf
 
  InitKeyboard()
  InitMouse()
 
  If Screen3DRequester()
   
    Quake3Base$ = "Quake\chiropteraDM.pk3"
     
    Add3DArchive(Quake3Base$, #PB_3DArchive_Zip)
    Add3DArchive("Data\"    , #PB_3DArchive_FileSystem)
   
    If LoadWorld("maps/chiropteradm.bsp")
 
      CreateCamera(0, 0, 0, 100, 100)
     
 
      Repeat
     
        Screen3DEvents()
       
       If ExamineKeyboard()
       
          If KeyboardPushed(#PB_Key_Left)
            KeyX = -#PlayerSpeed
          ElseIf KeyboardPushed(#PB_Key_Right)
            KeyX = #PlayerSpeed
          Else
            KeyX = 0
          EndIf
                   
          If KeyboardPushed(#PB_Key_Up)
            KeyY = -#PlayerSpeed
          ElseIf KeyboardPushed(#PB_Key_Down)
            KeyY = #PlayerSpeed
          Else
            KeyY = 0
          EndIf
         
        EndIf
       
        ExamineMouse()
        MouseX = -(MouseDeltaX()/10)*| style="color: #924B72;">#PlayerSpeed/2
        MouseY = -(MouseDeltaY()/10)*| style="color: #924B72;">#PlayerSpeed/2
       
        RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
        MoveCamera(0, KeyX, 0, KeyY)
        RenderWorld()
       
        FlipBuffers()
      Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
    Else
      MessageRequester("Error", "Can't load the Quake3 level", 0)
    EndIf
  EndIf
EndIf

Ошибка в строке If InitEngine3D() пишет невозможен доступ в памяти. В PureBasic 4.51 компилится нормально

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 14, 2012 4:31 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2282
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Цитата:
This function tries to load the 'Engine3D.dll' and DirectX 7, so if it fails, it's probably because the DLL or DirectX 7+ is not found.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 14, 2012 4:45 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11208
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
qpAHToMAS писал(а):
DirectX 7
В 4.60 используется DirectX 9.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 14, 2012 4:52 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Пётр писал(а):
В 4.60 используется DirectX 9
спасибо не знал

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 09, 2012 6:45 pm 
Не в сети
студент
Аватар пользователя

Зарегистрирован: Пн апр 09, 2012 10:54 am
Сообщений: 8
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Я себе добавил DX9 библеотечку. Вот ссылочка на неё.
http://www.purearea.net/pb/download/userlibs/DX9S_0_5.zip


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 3:36 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2282
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
У меня какая-то чушь.
Функция InitEngine3D() всегда возвращает нуль. Стандартные 3D примеры тоже, выдают ошибку "The 3D Engine can't be initialized".
Что делать? PB 5.11.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 4:27 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11208
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
qpAHToMAS писал(а):
Что делать? PB 5.11.
Выложи лог инициализации движка.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 4:29 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2282
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Пётр писал(а):
qpAHToMAS писал(а):
Что делать? PB 5.11.
Выложи лог инициализации движка.

Лога нет. Ведь функция возвращает 0.
Пробовал разные флаги (#PB_Engine3D_DebugLog в том числе).

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 4:37 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Хех... Такая же проблема, что и у Фантомаса... Пурик 5.20 Windows 8 x64 Лога так кже нет :cry: :cry: Пробую обновить DirectX

UPD: Фантомас, попробуйте обновить DirectX до последней версии. У меня заработало на 5.2, по идее должно и вам помочь

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 4:51 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6327
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
Никита Однороб писал(а):
Хех... Такая же проблема, что и у Фантомаса... Пурик 5.11 Windows 8 x64 Лога так кже нет :cry: :cry: Пробую обновить DirectX

С неделю назад жене ноут купил с W8 x64. Сразу установил DX9 последний. Все примеры Пурика летают.
Выпрямляйте руки, ребятки.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 5:23 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2282
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
У меня DirectX 11 (W7) со всеми нужными дровами и всё такое (успешно играю в контришку, правда она OpenGL).
Походу я подозреваю в чем проблема, на днях запускал xpy программу и походу она изменила записи в реестре, относящиеся к DirectX, вот функция и возвращает нуль.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 7:40 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6327
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
qpAHToMAS писал(а):
У меня DirectX 11 (W7)

Дык кто же спорит? И в win8 тоже по умолчанию DX11 стоит. Однако же на новом ноуте "из коробки" с лицензионной W8 Пурик в части 3D , как и некоторые старые игры работать отказались.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Ср окт 16, 2013 10:34 pm 
Не в сети
профессор

Зарегистрирован: Пт фев 20, 2009 12:57 pm
Сообщений: 1645
Откуда: Алматы
Благодарил (а): 14 раз.
Поблагодарили: 45 раз.
Пункты репутации: 5
а если выставить режим совместимости нашему ехешнику и посмотреть?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Чт окт 17, 2013 10:14 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2282
Откуда: Russia — Belarus
Благодарил (а): 6 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Пробовал устанавливать "directx_Jun2010_redist.exe" — не помогает, видимо эта установка не делает записи в реестр.

SereZa писал(а):
а если выставить режим совместимости нашему ехешнику и посмотреть?

Тоже самое.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Баг InitEngine3D() PureBasic 4.60
СообщениеДобавлено: Чт окт 17, 2013 10:24 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11208
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
qpAHToMAS писал(а):
Лога нет. Ведь функция возвращает 0.
Как одно связанно с другим?
В InitEngine3D() должен быть флаг #PB_Engine3D_DebugLog и рядом с прогой появится файл Ogre.log. Если конечно на папку с прогой есть права на создание и запись в файл.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB