Нажал New Game - почему-то запустился Arctic Incident. Может я не тот XDM качал? Это наверное какая-то сборная солянка.
Цитата:
~ X ~ писал: Те, кто работал с XDM, в курсе, что любой объект в XDM может респауниться, и халвовские ремувы опасны.
А можно поинтерисоваться с какой целью сделан респавн абсолютно любого объекта? Это где-то используется?
Цитата:
~ X ~ писал: Про краши ЧЛ я сказал уже - я не помню, что там было.
Если ты не помнишь что там было значит ты это не пофиксил.
Цитата:
~ X ~ писал: У меня есть сейв где крашится ЧЛ под ХЛ, но ксаш не читает эти сейвы.
Я больше скажу - сам ловил вылеты ArcticIncident после смены уровня или сохранения\загрузки. И вылет был каждый раз в XDM.dll. Но сорцев у меня на тот момент не было и я соответственно не мог взапроверить что именно там вылетает. Но повторюсь вылетал не ксаш, а именно XDM. Хорошо, пойдем дальше. Ты утверждаешь что во всём виноват разный кейс. Как я понимаю оригинальные уровни имели другое название (в ловеркейсе), ты их переименовал, правильно? И начались проблемы.
А теперь простой вопрос - тестировал ли ты эти переименованные уровни под чистой халфой, с целью убедиться, что виноват именно ловеркейсы, а не сам XDM? Ну или пусть XF-Alien выскажется по этому поводу. Вы с таким уровнем подготовки будете дебажить XDM еще сто миллиардов лет.
~ X ~ писал: вы только не ездите в Москву - там вам шапку собьют
Как самоличный свидетель, слова Мастера подтверждаю. Рука у него нормально поставлена.
Добавлено 21-01-2018 в 18:44:
Цитата:
Дядя Миша писал: Я пытаюсь подружить ксаш с твоим модом значит, ты со своей стороны обещаешь при детектировании ксаша вызвать UTIL_FAIL.
Возможно, это фигура речи такая, а не реальные намерения. Не стоит воспринимать Мастера буквально, Дядя Миша. Я тебе багрепортил? И самолично увидел результаты. Прогресс есть. Всттечаются ещё проблемы, но их отладим постепенно...
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
~ X ~ писал: У нас в Москве память стирают еженедельно.
А всё потому что прав реально ДМ был выше:
Цитата:
Дядя Миша писал: Я думаю там экология поганая, в Москве-то.
Мы болеем тут.. Мастер вот с Декабря прошлого года температурит, мне периодически плохо становится...
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Хорошо, погодные условия и личные проблемы. Я останусь при своём мнении, внутри XDM претоилса коварный баг с чейнджлевелом, а может и не один.
И никакими ловеркейсами его не напугать.
Дядя Миша писал: Ну или пусть XF-Alien выскажется по этому поводу
Я рассчитывал, когда давал исходники карт, на то, что отдаю их в надёжные руки. Ровно столько и не больше. А что до вылетов, то я ловил их ещё в ХДМ до интеграции туда моего АИ. Правда, я понятие не имею с чем они были тогда связаны.
Может быть, позволить высказаться за ченджлевел более компетентным специалистам типа Митторна или Альбатроса, раз он тоже дебажили и нашли проблему?
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Поскольку в силу сложившихся обстоятельств мне переодически приходится ковыряться в XDM, не дам теме заглохнуть и задам автору новую порцыю острых вопросов:
1. под ксашем XDM ругается в консоль, мол команда mp3 не найдена, и ВСЁ РАВНО КАКИМ-ТО чудом запускает музыку, которую нельзя ни остановить, ни приглушить, ничего. Мне даже страшно подумать что будет когда я введу команду mp3. Сразу 2 трека будет играть, да?
2. Каким образом XDM определяет длину интерфейса в eiface.h? Есть ли разница в методах между 3037 и 3038? Потому что я вот подрезал интерфейс, так новый XDM работает, а старый, на котором Tyrian начал вылетать. Может это конечно Гуль накосорезил, но вопрос актуальный.
3. Этот вопрос волнует меня с 2005-го года, всё забываю спросить. Почему XDM в начале инициализации пишет в консоль загадочную строку "поддержка русского языка включена", но пишет её казябрами, причём в голдсорсе он ВСЕГДА эту строчку пишет казябрами и даже в лог кажется, мне пришлось создать ксаш, чтобы наконец-то увидеть что там написано на самом деле. Что эта строчка делает вообще, если голдсорс имеет мерзку привычку вылетать даже от хостнейма на русском языке.
Ghoul [BB] ну хоть ты-то всеобщим уездом крыши не заражайся, ладно?
Дядя Миша вся беда в том, что в ксаше так и не работают настройки из scr-файлов. Иначе бы ты уже 10 раз понял как что работает:
1. музыка в XDM имеет два back-end-а: fmod и hl mp3 (если он вообще работает). Соответственно, выбирается оно на клиенте при помощи квара. Серверные мессаги CD audio пришлось порезать из-за полной неадекватности. Музыка в меню вообще к DLL XDM отношения не имеет.
2. смотри коды h_export.cpp, по версии протокола подставляется заданная величина (мне её кто-то давно подсказал) таблицы функций, а всё остальное затыкается своими функциями-затычками. На клиенте используется минимальный набор функий АПИ, совместимый с ХЛ1110 (протокол 46).
По умолчанию используется минимальный набор протокола 46, так что, с ксашем проблем быть не должно.
3. эта строка из конфига. Когда у юзера есть поддержка русского, её видно, иначе - пустая строка. Это старинный лайфхак из ВОНа. Я и забыл про него - никогда этой самой поддержки с тех пор не видел. :'D
Если кто не понял, в те времена люди крутили fonts.wad как вздумается. Кое-кто туда пихал "сигналы" (LEDs) и активно юзал в чатах. С приходом VGUI2 оно, наверное, потеряло актуальность. А может, и не потеряло. В общем, если кто-то это видит, то у него есть русский язык в консоли. Инфа 100% В студии этот текст нормально виден, кстати.
-1. про ЧЛ: до вас когда-нибудь дойдет что строка может храниться в программе сколько угодно раз в разных местах, не? (это не только к ДМ, но и, в основном, к Гоулю и остальным "сочувствующим"). Я просто охреневаю от вас. Вот пример:
code:
char g_mapname[32];
char clmapname[32];
char valve_feels_bad_man[32];
// Вот это вызывается по команде "map YourAssIsFat"
SV_cmd_MAP()
{
strcpy(g_mapname, CMD_ARGV(1));
...
}
SV_Init()
{
...
strcpy(sv.world.name, g_mapname);
...
}
SV_InitSOmeMoreShit()
{
...
strcpy(clmapname, g_mapname);
...
strcpy(valve_feels_bad_man, g_mapname);
...
}
SOMEHUGESTDMACROFORYOUTOGETCONFUSED SV_FinallyInitTheFreakingWorld(void)
{
gameDLL.DispatchSpawn(sv.world);// ну, и где вы там собрались менять название карты?? Всё, приехали.
}
Правильно подсчитавшему, сколько раз "YourAssIsFat" встречается в памяти, ценный приз.
CWorld::Precache() вызывается уже из gameDLL.DispatchSpawn(), если кто не понял. В самом конце. В ней мы можем сделать хитрый финт задней частью тела и писануть в память по адресу движковых строк со смещением gpGlovals->mapname. Если жопа цела после осмотра Valve Anal Cheat и ничего не рухнуло, то... оно рухнет. Но позже.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
XF-Alien руки надежные, не волнуйся. Без твоих санкций сырцы никому даны не будут. )
~ X ~ писал: вся беда в том, что в ксаше так и не работают настройки из scr-файлов
Я в курсе. Но там изначально проблема была гораздо-гораздее, я и не мог их толком имплементировать в движок. Теперь это не составляет особой проблемы, так что сделаю.
Цитата:
~ X ~ писал: По умолчанию используется минимальный набор протокола 46, так что, с ксашем проблем быть не должно.
Да я разобрался уже. Это XBM.dll вылетал. И в версии 3038 он тоже вылетает.
Судя по всему скомпилен со включённым SVDLL_NEWFUNCTIONS.
Вот чего он мне пишет:
C++ Source Code:
1
XBM: GiveFnptrsToDll(): using enginefuncs_t size 576 (assuming protocol 46)
2
XBM will provide unavailable engine function stubs to the mod DLL
3
XBM: Unable to load dlls/XBM.arc
4
Sys_Crash: call 00000000 at address C0000005
Добавлено 10-02-2018 в 18:08:
Цитата:
~ X ~ писал: -1. про ЧЛ: до вас когда-нибудь дойдет что строка может храниться в программе сколько угодно раз в разных местах, не? (это не только к ДМ, но и, в основном, к Гоулю и остальным "сочувствующим"). Я просто охреневаю от вас
Я мало что понял из нижеописанного, но на всякий случай сделал защиту от UTIL_FAIL в движке.
Добавлено 10-02-2018 в 18:35:
Ну вообщем да, если интерфейс расширенный, то XBM не падает, а если короткий, как в WON-версии. то крашится. Проверь у себя.
Добавлено 10-02-2018 в 18:40:
Рискну предположить что вылетает вотэтавот
C++ Source Code:
1
#ifdefined (SVDLL_NEWFUNCTIONS)// this method is unavailable in older engine versions
2
if ((*pengfuncsFromEngine->pfnCheckParm)("-modsvdll", &pDLLName) > 0)
Дядя Миша писал: Ну вообщем да, если интерфейс расширенный, то XBM не падает, а если короткий, как в WON-версии. то крашится. Проверь у себя.
проверю.
Цитата:
Дядя Миша писал: Теперь это не составляет особой проблемы, так что сделаю.
Код парсинга и добавлядинга я уже написал - можешь взять, безвозмездно )
где-то в util_common.cpp
Цитата:
Дядя Миша писал: Я мало что понял из нижеописанного, но на всякий случай сделал защиту от UTIL_FAIL в движке.
в новой версии уже сделан новый UTIL_FAIL() { exit(1); }, а вообще это было глупо. Сделай тогда защиту от сообщений об ошибках. Чтоб выглядело как будто игра работает с делением на ноль )
Это исправление под ксашем не сработает, ну ничего, я тоже принял меры со своей стороны. И уже Гулю отправил новый билд. Но щто-то молчит он, не иначе как в Тайланд подался.