forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Непонятная проблема Xors3d и C++. (http://forum.boolean.name/showthread.php?t=12146)

St_AnGer 08.03.2010 03:22

Непонятная проблема Xors3d и C++.
 
Доброй ночи всем! Столкнулся с какой то непонятной мне проблемой при загрузке объектов в игре своей.А проблема такая - не загружаются некоторые модели.

Но! Не загружаются как то специфично очень. Компилирую exe файл в рабочей папке проекта, запускаю, не работает. Копирую полностью все файлы проекта в папку в корне диска, запускаю, работает. Копирую в какую нибудь другую папку - не работает. И так много раз. Когда то работает, когда то нет. Причём даже если в корни дисков кидать проект полностью, всё равно когда то работает, а когда то нет, зависит от того на какой диск кинешь.

Все пути до файлов проверены, перепроверены, переписаны и снова перепроверены миллион и ещё два раза. Свойства проекта так же проверены, в них проблем нет никаких (пробовал прописывать рабочий каталог приложения - толку никакого). При компиляции никаких ошибок нет, код составлен правильно. В чём проблема выяснить не могу. Сам исходный код по разумным причинам выкладывать не буду, слишком уж он большой по объёму. Просто скажите мне - кто нибудь с таким сталкивался? И если да, то как побороли и побороли ли это вообще? Весь проект встал из за такой вот неприятности =(

З.Ы.: Все имена каталогов, куда пробовал копировать, на английском языке и не содержат в именах пробелов. И ещё, в зависимости от каталога не может загрузить те или иные модели (это было выяснено путём долгого разделения загрузки на разные стадии).

.Squid 08.03.2010 03:41

Ответ: Непонятная проблема Xors3d и C++.
 
Какая ревизия? Полный лог и небольшой кусок кода, с которым связана описанная проблема сюда или на мыло.

St_AnGer 08.03.2010 12:03

Ответ: Непонятная проблема Xors3d и C++.
 
Ревизия 445.
Лог-файла нету, ошибка только при запуске приложения вне визуал студии, если в ней - никаких ошибок.
Ошибка вылетает при загрузке меша. Вот кусок кода с загрузкой модели машины (рендер ворлдом и текстом как раз и выяснял где ошибки вылетают):


Код:

float razm = 0.7;

xRenderWorld(1, false);
        xText (600, 390, "Loading process: loading hummer_temp_mesh...");
xFlip();
int mesh_korp = xLoadMesh("GameData/Models/Cars/hummer_h1/mesh.FBX");

xRenderWorld(1, false);
        xText (600, 105, "Loading process: loading hummer_mesh...");
xFlip();
cCar::mesh = xCopyEntity(mesh_korp, NULL, true);
xScaleEntity (cCar::mesh, .03*razm, .03*razm, .03*razm);
xRotateMesh (cCar::mesh, 0, 0, 0);
xEntityPickMode (cCar::mesh, 2);
xEntityType (cCar::mesh, 2);

После вылетания ошибки при нажатии на "отладка" пишет: "Unhfndled exception in pxsEngine (Xors3d.dll): 0xC0000005: Access Violation". И посылает в окно дизасемблирования на такую строку: "00818FE3 mov eax,dword ptr [eax]"

p.s.: Копирования меши не должно быть, просто думал это как то исправит проблему. Но думать оказалось вредно.

p.s.s.: перешёл на Visual Studio 2008, ошибку она озвучила так: "Unhandled exception at 0x0079e467 in pxsEngine.exe: 0xC0000005: Access violation reading location 0x00000000." Я так понимаю что ругается именно на путь к файлу?

хм... Интересно, в С++ 6.0 ругался на загрузку меша и ошибку выдавал на Xors3d.dll, а в С++ 9.0 ругается на отстуствие пути файла и ошибку выдаёт на самом приложении. Как так? Не понимаю...

Knightmare 08.03.2010 15:42

Ответ: Непонятная проблема Xors3d и C++.
 
FBX SDK написан мудаками не слышавшими о кодировках отличных от ASCII. Любые русские символы в пути к файлу приведут к фейлу.

.Squid 08.03.2010 18:17

Ответ: Непонятная проблема Xors3d и C++.
 
Цитата:

Сообщение от St_AnGer (Сообщение 141121)
Лог-файла нету

xCreateLog(LOG_HTML, LOG_INFO, "log.html");

Цитата:

Сообщение от St_AnGer (Сообщение 141121)
После вылетания ошибки при нажатии на "отладка" пишет: "Unhfndled exception in pxsEngine (Xors3d.dll): 0xC0000005: Access Violation". И посылает в окно дизасемблирования на такую строку: "00818FE3 mov eax,dword ptr [eax]"

Ну тут сразу все понятно...

St_AnGer 08.03.2010 23:20

Ответ: Непонятная проблема Xors3d и C++.
 
Цитата:

FBX SDK написан мудаками не слышавшими о кодировках отличных от ASCII. Любые русские символы в пути к файлу приведут к фейлу.
Русских символов нету в пути. Но информация полезная! Спасибо.

Цитата:

Ну тут сразу все понятно...
что именно понятно? Объясните пожалуйста.

Цитата:

xCreateLog(LOG_HTML, LOG_INFO, "log.html");
сейчас сделаю лог и выложу, если ещё требуется...

Knightmare 08.03.2010 23:22

Ответ: Непонятная проблема Xors3d и C++.
 
Цитата:

Сообщение от St_AnGer (Сообщение 141199)
Русских символов нету в пути.

Учти что я имел ввиду абсолютный путь, а не тот что ты указываешь.

St_AnGer 08.03.2010 23:29

Ответ: Непонятная проблема Xors3d и C++.
 
Вложений: 1
Цитата:

Сообщение от Knightmare (Сообщение 141200)
Учти что я имел ввиду абсолютный путь, а не тот что ты указываешь.

русских символов нет в пути вообще. Я не использую русские символы в именах папок и файлов.


Вот два лог-файла (один в варианте загрузившемся до конца, второй - в выдавшем ошибку). Бегло посмотрел, в рабочем варианте ругается на текстуры от моделей (модельки выдраны из некоторых игр), но всё равно всё грузится и работает. А второй лог заканчивается там, где выдаёт ошибку в приложении. Ну это мне понятно. Не понятно что это за ошибка и как с ней бороться.

St_AnGer 09.03.2010 16:15

Ответ: Непонятная проблема Xors3d и C++.
 
.Squid
Лично мне фраза Access Violation говорит только о том, что доступ нарушен. Но как он может быть нарушен, если внутренняя струкрута папок остаётся неизменной, а я просто переношу всю папку (!!!) с проектом в корень другого hdd? Может это как раз из за FBX-формата? Ошибки вылетают только на загружаемых файлах, и именно на моделях.
Попробую сейчас все модели в b3d перевести, может получится что нибудь. Я уже просто не знаю что делать, код свой уже проверил, перепроверил и наизусть выучил до последней "}" :)

St_AnGer 09.03.2010 19:24

Ответ: Непонятная проблема Xors3d и C++.
 
Всё заработало сразу же после конвертации всех моделей в b3d. Спасибо за полученные разъяснения по поводу формата FBX. В будущем их учту.


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

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