Дядя Миша:
Скачал я Dependency Walker и открыл в нём hl.dll мода. Никаких сторонних линков не увидел, кроме kernel32.dll и ntdll.dll. Файл в аттаче, посмотри сам. Кроме того, прохожу сейчас мод, само прохождение нормальное, но после карты col1 начались и продолжаются постоянные вылеты при переходе на новую карту. После перезапуска Ксаша переход происходит нормально, а при переходе на очередную карту - опять вылет.
Сообщения в логе по типу этого:
code:*Graph Loaded!
Loading game from save/col2.HL1...
Transferring player (1)
**Graph Pointers Set!
Transferring weapon_shotgun (168)
Transferring weapon_9mmhandgun (169)
Transferring weapon_crowbar (170)
Loading decals from col2
Loading game from save/pipe1.HL1...
ERROR: couldn't open.
Game started
Server restarted
Spooling demo header.
level loaded at 0.62 sec
Sys_Crash: call 03CCB95F at address C0000094
Причём последняя строчка регулярно повторяется в engine.log от вылета к вылету.
Вложение: hl.rar (320.8 кб)
Этот файл был скачан 3106 раз.
Это ты про допуск-31 говоришь?
Там кастомный фонарик какой-то, который при смене уровня вызывает деление на ноль. Если фонарик выключен - ошибки нет.
Да гавняный мод. Я попытался это дело исправить, но выяснилось, что оно там гораздо глубже сидит, чем я предполагал.
Начал проходить мод Sweet Half-Life. Ксаш почему-то сплэш-скрин его неправильно отображает (нулл-текстура какая-то вместо картинки). Прикрепляю к сообщению.
Вложение: splash.rar (109.3 кб)
Этот файл был скачан 3118 раз.
Qwertyus писал: Попробовал начать мод Mistake (продолжение Mistake-1):
это нетак. Помоему эти мистайки все - одна и та же игра. Просто некоторые калечные.
Добавлено 01-07-2012 в 18:09:
А крашится потому что нарезалка кнопок рассчитана на вполне конкретные размеры этой картинки. Если картинка меньшей длины - происходит вылет. А тут она шибко короткая.
Дядя Миша писал: это нетак. Помоему эти мистайки все - одна и та же игра. Просто некоторые калечные.
А вот и нет. Mistake - это совершенно отдельный классный хоррор-мод, вышедший в 2007 году. А Mistake-1 вышел позже, в 2008. Общее в модах - только главный "поциент", Steve Rick. Если внимательно почитать инфу, то становится ясно, что Mistake-1 - это предыстория Mistake. Но по факту моды полностью независимы друг от друга. Mistake - хоррор без лишних заморочек, довольно короткий, но атмосферный эпизод, мне очень понравился. В Mistake-1 уже добавлен рендер Паранойи, детализирующие текстуры, бамп, другие монстры. Также в нём более отчётливо обрисован сюжет. Но минус - в наличии всяких неочевидных заморочек при прохождении.
Цитата:
Дядя Миша писал: А тут она шибко короткая.
Ну, вот обычный ХЛ к данному меню отлично относится. И отображает, кстати, только некоторые пункты меню, а не все, как Ксаш. Пруф в аттаче.
Кстати, в меню модов в Ксаше сортировка дурацкая, как я понял - по имени папки мода. Лучше сделать по имени мода.
Вообще, насколько я приметил, в Ксаше немного не доработана совместимость игрового меню с содержимым WON-меню (хотя основано меню Ксаша именно на нём). К примеру, переведённый файл strings.lst (из папки valve\gfx\shell), который в обычном ХЛ 1.1.1.0 у меня русифицирует всё меню игры, под Ксашем русифицирует только некоторые пункты. Конкретно даже он русифицирует всего лишь подписи к пунктам основного меню и подписи к вариантам выбора сложности игры. В подменю настроек управления и системы и настроек мультиплеера все подписи идут на английском, хотя в моём strings.lst эти строки переведены.
Вот, прикрепляю файл в аттаче.
Вложение: strings.rar (4.3 кб)
Этот файл был скачан 3098 раз.
Можешь даже немножко покодить, если хочешь.
В папке source code\mainui\ есть два файлика.
menu_strings.h и menu_strings.cpp
В первом лежат макросы сопоставления имён, вида:
C++ Source Code:
1
#define HINT_DISPLAYMODE 132
2
#define HINT_REVERSE_MOUSE 171
3
#define HINT_MOUSE_SENSE 184
4
#define HINT_RESUME_GAME 188
5
#define HINT_NEWGAME 189
6
#define HINT_HAZARD_COURSE 190
7
#define HINT_LOADGAME 191
Это название нигде не будет отображаться, его видит только программист в коде, чтобы понять об чём идет речь.
А во втором файлике лежат, собственно сами строки, которые рисуются в меню, вида
C++ Source Code:
1
"",
2
"Return to game.",
3
"Start a new game.",
4
"", // 190
5
"Load a previously saved game.",
6
"Load a saved game, save the current game.",
7
"Change game settings, configure controls",
Если в строке только кавычки - значит она не заполнена. Узнать номер строки можно ориентируясь по моим меткам, которые расставлены через каждые 10 строчек, иначе никак.
Если бы ты позаполнял эти строки дефолтными значениями, ориентируясь на халфу, то я бы подключил их к основному код и смело юзал.
Ну и разумеется в файлике с расширением .h посоздавал бы новых описаний с номерами.
Пример, допустим ты нашел под номером 190 строку "My super description".
Открываешь menu_string.h
и помещаешь туда вот такое объявление
#define HINT_MYSUPERDESCRIPTION 190
затем открываешь menu_strings.cpp
находишь 190-ю строку (там как раз напротив нее комментарий 190).
и между кавычков вставляешь текст "my super description"
И вот такое проделать ажно для всех 550 строк. Хотя я убежден, что все 550 строк ты не заполнишь, да это вообщем-то и не требуется.
Достаточно найти еще 20-30 наиболее часто используемых.
А смотреть соответствие и делать выводы можно либо по файликам strings.lst в самих модах, а потом подглядев как эта же строка выглядит в халфе. Либо найти описание от Valve. Но ето врядли.