|
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
21.03.2006, 18:24
|
#1
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Доброе время суток!
Очередной крик души. Сегодня днем, не к ночи будет сказано, я столкнулся с леденяшшой кровь багой, повергшей наши ряды в моём лице в состояние крайнего разброда, шатания, катарсиса и прочего ужоснаха.
Итак, дано:
-Рабочий код на 6000+ строк (точнее не считал).
-Блиц3Д вер.1.94
Требуется:
-Скомпилировать код в ЕХЕ-шник.
Решение:
-Давлю "Криёйт эхекутабль".
...И вот тут начался тот самый КОШМАР-Р-Р с большой буквы "У"(жос)...
Код радостно компилится, и даже запускается. Но (гыхх!) в начале главного цикла столь же радостно вылетает, из вежливости даже не сопровождая сеё событие всякими пошлыми "Мемори аксесс"... и так на двух машинах...
И, шо характерно, Установка ЕХЕ-шнику режима совместимости с Видной-95,98 или Ме - заставляет таки его снова заработать, но звук в проге начинает хрипеть, заикаться и всячески дебоширить.
Сижу теперь и тупо качаю к Блицу кучу разнообразных апдейтов, а к железу- не меньшую поленницу дров. Ждите новых сводок с фронта... %))
P.S. С кем-нибудь нечто подобное бывало? Просто интересно: может это какой-нибудь новый критический баг Блица, вроде "террайновой нетерпимости"? Ж)
|
(Offline)
|
|
21.03.2006, 18:51
|
#3
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Дык попробуй на 1.96 скомпилить. или откатывайся к 1.91 (сам на ней сижу)
__________________
|
(Offline)
|
|
21.03.2006, 18:53
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
У меня краш был при загрузке большого Меша (более 100000 треугольников) командой LoadMesh на операторе RenderWorld, а с оператором LoadAnimMash не было... других крашев у меня особо небыло, или я просто забыл про них...
|
(Offline)
|
|
21.03.2006, 18:55
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Originally posted by tormoz@21.3.2006, 18:51
Дык попробуй на 1.96 скомпилить. или откатывайся к 1.91 (сам на ней сижу)
|
А где взять 1.96?
|
(Offline)
|
|
21.03.2006, 19:08
|
#6
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Все нашел. Спасибо что сообщили о выходе новой версии.
|
(Offline)
|
|
21.03.2006, 22:23
|
#7
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Итак, очередная с-водка-с с фронта-с.
Версии Блица 1.91, 1.94, 1.95 и 1.96 ведут себя абсолютно одинаково: то есть совершенно никак себя положительно не проявляют. Сейчас ищу любимую 1.85-ю, но "задается мне, Тото, мы больше не в Канзасе..."
Переустановка дров тоже ничего не решает.
Переустановка Блица- тоже.
Смена ИДЕ (да, я и этим занимался) - не исправляет, но
замечательные результаты показывает наблюдение за Дебагером в новом ИДЕ. При первом (после перезагрузки машины) запуске неоткомпиленого кода, он стартует, но при входе в главный цикл вылетает на безобидном ЁнтитиПике с МемориАксесом. Если убрать этот Пик, он вылетает на другом, причем находящемся в функции, которая на данном этапе вообще не вызывается и вызываться не может! Если убрать и его- что-ж, начинает выдавать МемориАксесс вообще без всяких указаний на причину. При повторных запусках- всё чудесным образом начинает работать, но после завершения программы- с небольшими промежутками вылезают ДВА МемориАксесса и затем после паузы- матюки Винды в адрес компилера "блитзцц.ехе": "Сообщите об этом деле в Мелкософт"...
Картина абсолютно одинакова на двух совершенно различных машинах.
Никто не знает, есть ли в Блице какие-нибудь ограничения, вроде количества локальных/глобальых переменных, инклюдов, типов?..
Не было ли багов с создаваемыми повертексно мешами? (количество полигонов куда меньше 65000) Может были какие-то глюки в ЁнтитиПиках?
|
(Offline)
|
|
21.03.2006, 22:42
|
#8
|
|
я один раз заставил блиц инвертнуть все нормали - на обсолютно всех обектах, помойму камеру к пивоту припарентил как то
могу дать все промежуточные версии.. 1.86,1.87,1.88,1.89,1.90 и тд
|
|
|
22.03.2006, 00:03
|
#9
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Баг я нашел.
Ребята, огромное спасибо всем, кто откликнулся и помогал!
Извините за то, что вылез сюда до того, как всё решил.
Как оказалось, ничего общего с ЁнтитиПиками, ЁнтитиВизиблами да и Ентитями вообще он не имел. Глючил (догадайтесь-ка с трех раз!)- MouseHit. Строка в общих чертах выглядела следующим образом:
IF KeyHit(ControlKey) OR MouseHit(ControlKey-237) THEN
, где КонтролКей- некая переменная, хранящая сканкод клавиши от 1 до 237 или клавишу мыша от 238 (1) до 240 (3). Таким образом я хранил данные конфигурации клавиш игры.
Такую схему я использовал и в СтилВинде, однако заглючила она лишь сейчас.
Воссоздать баг на тестах не удалось, поэтому я предполагаю, что непереносимость МаусХит-а к отрицательным значениям появляется лишь в результате нагромождения кода: равно как и креши стандартных террайнов.
Возможно, у кого-нибудь будут комментарии.
Может быть, кто-то решит задать вопросы.
Может быть, этот идиотский вопрос заслуживает места в ФАК-е, чтоб никто больше не поседел, пытаясь решить несществующую загадку.
Но в остальном- тема себя исчерпала. Можнро гасить. Еще раз спасибо.
P.S. Зато теперь у меня есть целая коллекция апдейтов для Блица: могу продавать по спекулятивным ценам... ))
|
(Offline)
|
|
22.03.2006, 01:36
|
#10
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Diplomat
Ну ты и извращенец !
Загнать в MouseHit переменную - это очень сексуально !
игру то покажешь ?
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:23.
|