UnrealKaraulov / newbspguy

Goldsrc map viewer/editor without decompiling. Also can view .MDL models.
The Unlicense
70 stars 14 forks source link

Option to cut off path of WADs + WAD information #31

Closed Qwertyus3D closed 1 year ago

Qwertyus3D commented 2 years ago

Повтор запроса на улучшение, сделанного в ветке исходной программы. Добавить функцию стирания путей к WAD-файлам в свойствах карты. Это может быть частью оптимизации, либо сделать отдельную кнопочку где-то в окне свойств WORLDSPAWN. Пути нужны только при компиляции, а в готовой карте они мешают чтению списка WAD.

Чтобы было: halflife.wad;xeno.wad;liquids.wad вместо: /my lovely Steam directory location/steamapps/common/Half-Life/valve/halflife.wad;/my lovely Steam directory location/steamapps/common/Half-Life/valve/xeno.wad;/my lovely Steam directory location/steamapps/common/Half-Life/valve/liquids.wad;

Некоторые мододелы вставляют более десятка WAD в карту, и чтение этой информации представляет серьёзную проблему.

Также можно было бы добавить информацию об используемых WAD в виджет Debug info. Чтобы был виден весь список WAD карты, и какие из них на данный момент подключены, а каких не хватает (а то иногда текстур не видно и пойди разберись). И ещё иногда получается так, что в список WAD карты попадают WAD, которые фактически не задействованы. Т. е. ни одна текстура из них не используется. Получается, что карта требует WAD, который ей не нужен. И была бы полезна информация о том, какие текстуры не найдены, либо о том, что из данного WAD никакие текстуры на карте не используются.

UnrealKaraulov commented 1 year ago

@Qwertyus3D информации предостаточно, но вопрос в том как научиться ее использовать:)

На счёт краша если открыть пустую карту(просто bspguy.exe запустить), то не крашит? Если потом создать bsp модель, сразу краш?

UnrealKaraulov commented 1 year ago

@Qwertyus3D нет возможности скачать Visual Studio 2022 ?) Там было бы видно откуда краш произошел(открыть проект, выбрать debug, в свойствах проекта bspguy ввести в вкладке "отладка" путь к любой карте в аргументы вместо того что там и нажать запустить отладку :)

UnrealKaraulov commented 1 year ago

В общем завтра отменю изменения переделаю вывод списка wad, или есть ещё предположение где могло бы крашить, сегодня на работе до утра

Qwertyus3D commented 1 year ago

Visual Studio 2022... И сколько гигов хлама придётся поставить? :)

Qwertyus3D commented 1 year ago

У меня какая-то версия стоит вообще-то, но у меня нет опыта, что там нужно использовать.

UnrealKaraulov commented 1 year ago

@Qwertyus3D хлама много)) ладно я завтра буду разбираться, возможно придётся вставить свою geforce видеокарту старую что бы баг поймать)

Qwertyus3D commented 1 year ago

На счёт краша если открыть пустую карту(просто bspguy.exe запустить), то не крашит? Если потом создать bsp модель, сразу краш?

Эм, так у меня программа вообще никогда без карты не запускалась сроду. Она всегда на долю секунды мигает окном, и всё. Я могу её только путём клика на файле с нужной картой открыть, больше никак.

Qwertyus3D commented 1 year ago

Там мелькает какое-то консольное окно, скорее всего, со справкой по использованию командной строки, большего разглядеть невозможно.

Qwertyus3D commented 1 year ago

BSPGuyInfo.zip Может это поможет? Файлики, которые поячвились после запуска прог glewinfo.exe и visualinfo.exe.

Qwertyus3D commented 1 year ago

Хах, хотя сейчас порылся и нашёл пару версий старых, которые открываются без карты.

Qwertyus3D commented 1 year ago

В общем, реально, старые билды показывают окно без карты, вот этот последний рабочий у меня: Fix main command line / help Те, что позже, открывать редактор перестают.

Qwertyus3D commented 1 year ago

И ещё, программа где-то дополнительно хранит файл конфигурации, кроме папки с самой программой. Я убрал оттуда все конфиги, а она всё равно подгружает откуда-то настройки, ничего не понимаю.

Qwertyus3D commented 1 year ago

Ага, видимо, тут: C:\Users...\AppData\Roaming\bspguy

Qwertyus3D commented 1 year ago

Хм, оказалось, последний билд тоже открывает окно программы. Но при загрузке карты вылет. Теперь уже тестировал, удалив все настройки.

UnrealKaraulov commented 1 year ago

@Qwertyus3D да я делал для удобства потом случайно убрал, ну так как для ImGui существует файловый браузер, то грех было им не воспользоваться)) То есть по умолчанию должен редактор открываться, с пустой картой (которая доступна для редактирования, хотя я не пробовал создавать карту через создание bsp моделей, это уже какое-то извращение получится :) )))

@Qwertyus3D я примерно понимаю откуда мог бы взяться краш, завтра верну async загрузку текстур, я ее убрал только из-за того что крашилось при работе с std::map из другого потока.

UnrealKaraulov commented 1 year ago

@Qwertyus3D последний билд все еще крашится или наконец то перестал ?

https://github.com/UnrealKaraulov/newbspguy/commit/4ff3b7361d263b7f74039a46144ac5006fe1dc0d

Qwertyus3D commented 1 year ago

@UnrealKaraulov Заработал, родимый :D

Qwertyus3D commented 1 year ago

Напоминаю про опечатку https://github.com/UnrealKaraulov/newbspguy/issues/31#issuecomment-1336390855

И по поводу списка текстур по WAD, добавить бы туда пункт, который бы показывал список текстур, которые не найдены в подключенных WAD. Т. е. допустим, если нужные WAD вообще не подключены, то туда выводится весь список текстур карты. А когда подключены, то отдельным списком не найденные текстуры.

Qwertyus3D commented 1 year ago

И я так понял, текстуры из decals.wad учитываются, как использованные, но не отображаются.

UnrealKaraulov commented 1 year ago

@Qwertyus3D добавил вывод не найденных текстур и опечатку

на счет decals.wad немного не понял :(

Qwertyus3D commented 1 year ago

Ну практически любую карту ХЛ открыть, текстур в ней использовано больше, чем сумма текстур в загруженных WAD. При этом файл decals.wad в списке текстур не отображается. Видимо, потому, что сам редактор его не подгружает. Текстуры в infodecal считает, но т. к. фактически их не отрисовывает, то и пропускает в списке WAD. dec

Qwertyus3D commented 1 year ago

Можно сделать тогда, например, пункт infodecal, по имени энтити, и туда выводить список деколей карты.

UnrealKaraulov commented 1 year ago

@Qwertyus3D аа, эти текстуры их нет в карте. Сделаю отдельно как-нибудь :)

Qwertyus3D commented 1 year ago

Ну, как нет. В infodecal прописаны, значит есть :)

UnrealKaraulov commented 1 year ago

@Qwertyus3D в самой карте нет, они только прописаны в этих сущностях, программа не читает их и не рисует ну то есть не поддерживает на данный момент

Qwertyus3D commented 1 year ago

Ну, я и имел в виду, что сделать парсинг имён текстур из infodecal карты и добавить в список, для полноты.

UnrealKaraulov commented 1 year ago

Добавил в DEBUG окно "decals.wad" со списком используемых текстур

UnrealKaraulov commented 1 year ago

Закрываю пока что, если нет вопросов

Qwertyus3D commented 1 year ago

Спасибо, теперь полный функционал!