![](http://img.youtube.com/vi/aWP1gHoDoOw/default.jpg)
![](http://img.youtube.com/vi/j5RBYrkvxPo/default.jpg)
![](http://img.youtube.com/vi/LJ5PnzsM_eI/default.jpg)
![](http://img.youtube.com/vi/_9lzkDV9S9A/default.jpg)
"Сумасшедшая Оклахома" или приручаем Game Explorer
![](datas/defaultav/std_av.png)
На данный момент патчей доступно... 2
Патч "Сумасшедшая Оклахома" для S.T.A.L.K.E.R. Windows Vista Game Explorer v0.2.1
Патч "Сумасшедшая Оклахома" для UEFA Champions League 2006-2007 v0.1
Внимательно ознакомьтесь с readme внутри архива - там подробно описано, как устанавливать патч!
![](datas/avatars/37038-avatar.gif)
Raiker, ага... на сщет реестра это ты точно подметил... но, есть еще способ) открыв библеотеку gameux.dll ты там волшебным абсолютно образом найдешь тот чудесный XML, о котором ты писал выше) вот в нем, построчно находится вся информация об играх (там шикарный список игр, я о таих и не слышал), разработчик, дата выхода, описание.. остальное, конечно, типа версии файла уже черпается из самого .exe файла игры.. именно таким способом наш всеми любимый Half-Life 2, прекрасно там отображается в игровом проводнике.... вот думаю стоит внести коррективы именно в эту библеотеку...
![](datas/defaultav/std_av.png)
когда-то это был первый пост...
Сегодня я начал свое небольшое расследование относительно того, как добавить дополнительную информацию к игре, которая не поддерживается Game Explorer (Игры). Я только начал разбираться в этом, поэтому только то, что я знаю точно.
Система такая. В идеале разработчик создает *.GDF файл - этот файл фактически представляет собой XML код. Этот файл можно создать как вручную (написав код в блокноте) либо через особый инструмент из состава DirectX SDK (последнее проще, там человеческий GUI). В этом файле прописывается все: описани еигры, разработчик, издатель, рейтинг, адрес на иконку (256х256), название, заголовок. В общем все то, что вы можете видеть в Game Explorer о других играх, поддерживаемых. Создав файл - *.GDF, разработчик должен интегрировать его либо в DLL библиотеку игры, либо в исполнительный EXE файл. Отдельно (сам по себе), GDF использован быть не может. После всего этого, разработчик (насколько я понимаю) прописывает базовую информацию об игре и адрес к файлу (библиотеке или исполнительному), содержащему GDF файл. Эта информация (об игре) хранится по следующему адресу:
[quote]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games[/quote]
Это в идеале. А теперь посмотрим на игры, которые не поддерживаются Game Explorer. Система работает следующим образом. Если игра не поддерживает Vista, то вы перетаскиваете ярлык игры в папку. Это добавляет базовую информацию в реестр (адрес смотри выше, только подраздел игры помещается не в Games, а в отдельным, новый раздел). Далее - опять же в идеале - система должна проверять дополнительную информацию об игре на сайте http://allgame.com и, при наличие таковой, скачивать. Тут начинается самое интересное =)
Возьмем пример S.T.A.L.K.E.R. Он не поддерживает Game Explorer + несмотря на то, что он присутствует в списках allgame.com, информация о нем не скачивается в Game Explorer. Здесь начинается все самое интересное, то, что мне хочется добиться.
В теории можно поступить так. Самостоятельно скомпилировать GDF файл с подробной информацией в игре. Засунуть его в DLL-пустышку. Далее прописать в реестре (см. выше) адрес к этой DLL. По логике вещей - информация должна отобразиться в Game Explorer. Чтобы не тратить времени зря, я просто прописал путь к исполнительному файлу Сапера, в котором хранится GDF файл Сапера. Как я (наивный) думал, Game Explorer отобразит под ярлыком S.T.A.L.K.E.R. информацию о Сапере. Не тут-то было, вообще 0 эмоций. Видимо, все не так просто.
Продолжение следует...
теперь посмотрим на игры, которые не поддерживаются Game Explorer. Система работает следующим образом. Если игра не поддерживает Vista, то вы перетаскиваете ярлык игры в папку. Это добавляет базовую информацию в реестр (адрес смотри выше, только подраздел игры помещается не в Games, а в отдельным, новый раздел). Далее - опять же в идеале - система должна проверять дополнительную информацию об игре на сайте
Возьмем пример S.T.A.L.K.E.R. Он не поддерживает Game Explorer + несмотря на то, что он присутствует в списках allgame.com, информация о нем не скачивается в Game Explorer. Здесь начинается все самое интересное, то, что мне хочется добиться.
В теории можно поступить так. Самостоятельно скомпилировать GDF файл с подробной информацией в игре. Засунуть его в DLL-пустышку. Далее прописать в реестре (см. выше) адрес к этой DLL. По логике вещей - информация должна отобразиться в Game Explorer. Чтобы не тратить времени зря, я просто прописал путь к исполнительному файлу Сапера, в котором хранится GDF файл Сапера. Как я (наивный) думал, Game Explorer отобразит под ярлыком S.T.A.L.K.E.R. информацию о Сапере. Не тут-то было, вообще 0 эмоций. Видимо, все не так просто.
Продолжение следует...[/code]
Dargalon, хм, надо будет посмотреть. Но это слишком, на мой взгляд, трудоемко. Вариант с пустышкой DLL и веткой реестра позволит фактически создавать всю информацию по игре и хоть распространять по интернету - абсолютно свободно. Нужно будет только скопировать в определенную папку DLL, подправить .reg и установить его. Хочу отработать этот вариант, если не получится начну копаться в gameux.dll
P.S. Сейчас качаю DirectX SDK и VS 2005 Express. Буду эксперементировать.
P.P.S. Я, кажется, понял, почему информация по Саперу не отобразилась в S.T.A.L.K.E.R. в случае, описанном выше. Там, кажется, имеет значение ID приложения. Он (ID) прописывается и в GDF, и в реестре. И вот по этой самой причине информация GDF от одного AppID никогда не отобразиься в игре с другим AppID. Но это все догадки, нужен VS и DX SDK, тогда опробую и скажу точнее.
![](datas/avatars/37038-avatar.gif)
![](datas/defaultav/std_av.png)
Dargalon писал:Raiker, на сайте MSDN, я видел мануал для разработчиков игр... именно мануал по созданию этого файла для инициализации данных игры и отображение в игровом проводнике.....
Я сегодня этот мануал весь день изучаю, все изученное - на русском читай выше.
Файл, конечно, можно создать вручную, но с помощью DX SDK - куда легче.
Я так понимаю ты имел в виду не gameux.dll (я там ничего не нашел), а GameUXLegacyGDFs.dll? Посмотрел. Интересно там сделано. Описания там нет - только ссылка на него. Странно как-то там все, даже ссылки на рисунок нет (откуда он берется, спрашивается). Надо разбираться.
Что бы всем читателям темы было понятно, что я хочу сделать и как это будет работать.
Если мои эксперименты завершаться успешно, то созданием DLL-файла с интегрированным GDF (создается самостоятельно) и соответсвующим REG файлом можно будет установить поддержку игры для Game Explorer на любом компьютере с Vista.
![](datas/avatars/37038-avatar.gif)
Raiker, надеюсь в итоге у нас будет точная схема, с помощью которой можно будет легко добавлять инфу в игровой проводник... но скорее всего.. эта система, по которой все игры инициализируется, далека от идеала... похоже, что игоровой проводник, добавляет в себя только те игры, информация о которых (в виде WMID) встроена в библеотеку GameUXLegacyGDFs.dll... если разработчик игры не позаботился о наличии такого файла в игровом .exe, тогда нам придется вручную это дело монтировать... или по крайней мере ждать SP1, где наверное эту библеотеку обновят... или может выпустят отдельный апдейт...
![](datas/defaultav/std_av.png)
Dargalon, верно, только вот вовсе не обязательно, чтобы GDF был встроен именно в игровой EXE. Он может быть встроен в любой исполняемый файл или любую библиотеку (DLL). А указывается этот файл - в реестре, насколько я понимаю, за него отвечает строковой параметр ConfigGDFBinaryPath. Так же в реестре прописывается параметр ApplicationId, который должен соответствовать (насколько я понял) этому параметру в GDF файле. Монтировать GDF в уже существующий EXE / DLL вряд ли получится. А вот создать абсолютно новый EXE в том же Visual Studio с встроенным туда как ресурсом GDF файлом - раз плюнуть. То есть последовательность действий будет такая:
* Создается GDF файл (либо через DirectX SDK, либо вручную) с полной информацией об игре и каким-либо (можно и просто сгенерировать) ApplicationID.
* В Visual Studio создается исполняемый файл или библиотека, куда как ресурс вставляется этот GDF файл. Компилируется.
* В реестре прописывается ConfigGDFBinaryPath (на тот скомпилированный в п.2 файл) и ApplicationId, равный тому, что был указан в GDF.
* В Game Explorer все должно отобразиться, как мы и хотели.
В общем завтра все скачаю и посмотрю что к чему. Если ты меня не опередишь ;)
Dargalon писал:надеюсь в итоге у нас будет точная схема, с помощью которой можно будет легко добавлять инфу в игровой проводник
Вот это вряд ли будет. Мой способ приведенный выше, даже если он каким-то чудом сработает, легким не назовешь. Слишком много инструментов нужно. А на то, что кто-нибудь напишет программу генерирующую GDF, компилирующего его в составе DLL и прописывающего в реестре автоматически () уповать не приходиться.
![](datas/avatars/60645-avatar.gif)
Скажите пожалуйста как мне картинку привезать к ярлыку в Game Explorer????????
![](datas/defaultav/std_av.png)
Klerik112 писал:Скажите пожалуйста как мне картинку привезать к ярлыку в Game Explorer????????
Пока что проверенный способ только один: конвертнуть ее в формат ico с разрешением 256х256 и установить как обычную иконку для ярлыка.
![](datas/avatars/60645-avatar.gif)
А как её установить?
![](datas/defaultav/std_av.png)
Klerik112 писал:А как её установить?
Ну вы блин даете. Windows 95 когда-нибудь пользовались? Ну вот, в Vista все так же ;)
Правый щелчок по ярлыку > Свойства > Сменить значок > выбираете ваш ICO. Далее, после того, как иконка примениться, просто перетаскиваете ее в Game Explorer.
![](datas/avatars/60645-avatar.gif)
А ну это я понял.Теперь кокой прогой сделать ico файл с разрешением256х256?
Raiker, если дашь точные указания то можно и программу попробовать написать...
![](datas/defaultav/std_av.png)
Klerik112 писал:А ну это я понял.Теперь кокой прогой сделать ico файл с разрешением256х256?
Этого я не знаю. Google тебе да в помощь.
Ride писал:Raiker, если дашь точные указания то можно и программу попробовать написать...
Я сейчас как раз заканчиваю разбираться в всей этой кухне, остается понять как написать этот ключевой скрипт и уже смогу сообщить о результатах. Надеюсь что-нибудь да получиться, а там видно будет.
Ну что, мои опыты закончились полным провалом. В принципе я понимаю, что нужно делать, но проблема в том, что я - не программист. В общем, нужен человек понимающий, чтобы мог скомпилировать EXE или DLL файл с GDF / PNG / и описанием внутри. После того, как такой файл будет, уже можно двигаться дальше. Пока что у меня ничего не получилось. Если кто считает себя сильным в программировании и готов помочь (в принципе там элементарные основы) - пишите в ПМ.
достиг определенного прогресса. Сейчас докачиваю некоторые инструменты и потом точно скажу - работает это или нет. Если сработает то ближе к вечеру выложу подробный мануал как да что делать. Пока что остается только надеяться.
Уродны. Их VS 2005 C++ Express не поддерживает редактирование ресурсных скриптов ака RC. Нужна прошка. А у меня с прошкой диск битый... буду его мучить, я кажется в шаге до финишной прямой.
Добавлено: с грехом пополам ставлю VS 2005 Pro. Все что остается - скомпилить dll-ку и вперед...
Результаты.
Способ не заработал. Я еще буду разбираться почему и как. DLL c GDF и иконкой для STALKER была мною скомпилированна и прописана в реестре. Game Explorer это проигнорировал. Также еще один интересный нюанс был мною открыт. Если игра устаревшая и информация о ней берется из GameUXLegacyGDFs.dll, то вся информация прописывается в реестре (вплоть до описания, ссылки на картинку и т.п). А вот если вручную прописать эту информацию - она не принимается. В общем есть еще много в чем нужно разобраться, многое остается лично мне непонятным. Если будет какая-нибудь новая информация обязательно отпишусь.
Сегодня в 0:56 по Москве был совершен прорыв в области добавления собственной информации об игре. Дело в том, что я, совместно с Dasus, отыскали исходники скрипта для добавления информации в Game Explorer. Вся картина почти что прояснилась, но все еще остается куча вопросов, которые будут разрешены на свежую голову завтра утром.
Совместными усилиями были созданы:
* EXE файл-пустышка, содержащая GDF файл и 256х256 иконку. Мне кажется, что этот файл сделан полностью правильно.
* Патч, который должен устанавливать вышеуказанную EXE в Game Explorer. Пока что не работает.
Проблема пока неизвестна, пытаюсь разобраться. Видимо, где-то ошибка закралась. Патч взят из сэмлов, а вот почему он отказывается регистрировать нашу, а не оригинальную exe, пока неясно.
![](datas/defaultav/std_av.png)
Черт побери, получилось! Не совсем так, как я хотел, получается патчится оригинальная exe игры, но - получилось!
datas/users/666-stalker_ge.jpg