W4MapLauncher или Мега - Крэзи ИДЕЯ W4 с W3D текстурами!!!! - Форум
W4Tweaks
Меню сайта
Последние файлы
Последние темы


Вход



Мини-чат
 
500

Статистика
Онлайн:

Сегодня заходили: 4erveR


Друзья сайта

Если вы хотите увидеть в этом спиcке свой сайт загляните сюда

Наш баннер:



· Регистрация · Вход
[ Новые сообщения · Участники · Подписки · Поиск · RSS ]
Страница 1 из 6123456»
Форум » Worms 4 Mayhem » 0.3. Прочие идеи и их обсуждение » W4MapLauncher или Мега - Крэзи ИДЕЯ W4 с W3D текстурами!!!!
W4MapLauncher или Мега - Крэзи ИДЕЯ W4 с W3D текстурами!!!!
AlexBond
Дата: ПТ, 08.05.2009, 15:30:47 | Сообщение # 1
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Вчера обнаружив на форуме Team17 патч OMG для W4, я его скачал, после чего сильно разочаровался, Текстуры на новых картах в W4 ужасно убогие...

И у меня возникла идея!!!!!

1. Итак, текстуры загружаются при загрузке игры.
2. Все текстуры являются файлами, и чтобы попасть в игру проходят через функцию kernel32.CreateFile или msvcr71.fopen
3. Создав перехватчик этой функции МЫ МОЖЕМ открывать любой файл, вместо заданного!!!!!

Первые наброски:
1. Создается перехватчик функции, в виде загрузчика, который будет перехватывать все имена файлов для открытия, сравнивать их с заданной таблицей, и изменять.
1.1 Найти нужное место для перехвата.
1.1.1 Исследовать открытие файлов.
1.2 Создать загрузчик перехвата.
1.3 На ассемблере написать функцию обработки перехвата и сравнения с таблицей.

1.4 Организовать корректную работу.
2. Создать таблицу где текстураW4 = ТекстуреW3D
3. Создать конвертер, который возьмет все текстурные файлы и заменит в них текстуры согласно таблице
4. Создать генератор databank.xml и scripts.xml из scripts.xom
5. Достать все текстуры из W3D и положить их в отдельную папку для W4.
6. Организовать правильную работу.
7. Создать Патч W3D карт для W4 =)

И не говорите мне, что это не риально =)

Прикрепления: 7727185.jpg(79Kb) · 7963396.jpg(69Kb)


 
firsacho
Дата: ПТ, 08.05.2009, 16:48:57 | Сообщение # 2
firsacho
ICQ = 453-163-541
Группа: Админы
Сообщений: 3636
Репутация: 71
Статус: Offline
Ну... wink Я бы этим заниматься не стал, даже если бы знал столько, скока ты знаешь... Потому что это очень сложно и муторно, а ради пары десятков человек, которые это действительно оценят, не стоит столько париться. Лучше пойди, взломай вконтакте...




Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

www.w4mod.tk - моя модификация для worms4

www.fir-st.narod.ru - моя домашняя творческая страничка

www.botarena.by.ru - мой сайт об игре robot arena 2 (битвы роботов)
 
AlexBond
Дата: ПТ, 08.05.2009, 18:25:49 | Сообщение # 3
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Я ГЕНИЙ!!!!!!!!

Я нашел способ без муторного перехвата функции!!!!!!!

Короче W4 работает следующим образом:

берется имя ресурса, и производится поиск его в директориях:

Quote

Data/Frontend/Icons/ +.xom (Data/Frontend/Icons/ThemeCamelot\C02.tga.xom)
Data/Frontend/Mechanics/ +.xom
Data/Weapons/Custom/ +.xom
Data/Weapons/ +.xom
Data/Misc Objects/ +.xom
Data/Character/ +.xom
Data/HUD/ +.xom
Data/Objects/ +.xom
Data/HUD/Weapons/ +.xom
Data/HUD/Flags/ +.xom
Data/Maps/ +.xom
Data/Logos/ +.xom
Data/scripts/ +.xom
Data/Language/PC/ +.xom
Data/Audio/ +.xom
Data/databanks/ +.xom
Data/Tweak/ +.xom
Data/Frontend/Levels/ +.xom
Data/Effects/ParticleData/ +.xom
Data/Effects/ +.xom
Data/Themes/ +.xom
Data/ +.xom
+.xom
Data/Frontend/Icons/ (Data/Frontend/Icons/ThemeCamelot\C02.tga)
Data/Frontend/Mechanics/
Data/Weapons/Custom/
Data/Weapons/
Data/Misc Objects/
Data/Character/
Data/HUD/
Data/Objects/
Data/HUD/Weapons/
Data/HUD/Flags/
Data/Maps/
Data/Logos/
Data/scripts/
Data/Language/PC/
Data/Audio/
Data/databanks/
Data/Tweak/
Data/Frontend/Levels/
Data/Effects/ParticleData/
Data/Effects/
Data/Themes/ (Data/Themes/ThemeCamelot\C02.tga PASS)
Data/
*

Итак, все что нам требуется это выбрать директорию которая загружается раньше чем Текстуры.
Я выбрал Data/Logos она меньше всего содержит файлов.

Итак в чем прикол!!!!!
1. Создаем папку LogosW3D и LogosW4.
2. Мы кидаем в LogosW3D все текстуры из W3D названные как W4.
3. Перед запуском игры, Прогой смены текстур, запускаем выбор текстур!!!!!
4. Прога переименовывает LogosW3D в Logos. или LogosW4 в Logos. И следит какую куда и как переименовать.
5. При загрузке игры, грузятся текстуры из папки Logos, остальные же не грузятся.
6. Играемс!!!!!!

Задача #1 создать таблицу смежности W4=W3D текстур
Задача #2 достать текстуры из W3D и переименовать их в зависимости от таблицы.
Задача #3 написать конвертер файлов txt в формат W4.
Задача #4 обработать все карты убрав эмиттеры, если есть.

P.S. вконтакт я не взламывал, но 150000 спамных аудиозаписей от УПЧКА удалил скриптом =)


 
AlexBond
Дата: ПТ, 08.05.2009, 18:58:29 | Сообщение # 4
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Quote
410 текстур в W4
858 текстур в W3D

Проблемачка для таблицы смежности...


 
Герыч
Дата: ПТ, 08.05.2009, 21:08:50 | Сообщение # 5
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
Это ооочень круто, особенно последняя новость!

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
AlexBond
Дата: ПТ, 08.05.2009, 22:43:32 | Сообщение # 6
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Проблема с количеством текстур. я удалил очень похожие текстуры, и в итоге у меня осталось
477, а надо чтобы было 410.... на этом моменте пока ступор......


 
AlexBond
Дата: СР, 13.05.2009, 16:57:05 | Сообщение # 7
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Появилась альтернативная идея, которая немного упростит задачу и позволит создать УНИВЕРСАЛЬНЫЙ загрузчик текстур.

Итак, мне похрен что это никому не надо, но записи свои я буду вести тут, чтобы не забыть:

Code


Data/Temp
   map_databanks.xml
        <XStringResourceDetails id="Databank.MaterialFile">
        <Value>map_texture.w3d</Value>  
        <Name>Databank.MaterialFile</Name>  
        <Flags>64</Flags>  
        </XStringResourceDetails>

В процессе отлавливающем fopen, делаю проверку на имя ".w3d"
Если разрешение совпадает, то запускаю прогу подготовки ресурсов "GetW3DFiles.exe map_texture.w3d"  с ожиданием ее завершения.

GetW3DFiles.exe считывает файл текстур map_texture.txt создает список использующихся текстур и копирует их в Data/Temp/ThemeCamelot/ из Data/Temp/W3DTextures/
Так же она создает файл Data/Temp/ThemeCamelot/ThemeCamelot.txt в котором индексы соответствуют текстурам.
Завершает свое выполнение.

Процесс fopen открывает файл ThemeCamelot.txt и отдает выполнение игре.


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

Весь процесс будет происходить при загрузки карты, и будет практически незаметен.

Одна лишь проблема, нужно придумать способ перехвата. Или это сделать прямо в игре, через вируальный процесс. Или сделать перехватывающую msvcr71.dll, которая и будет обрабатывать это дело...


 
Kevin
Дата: СР, 13.05.2009, 17:21:52 | Сообщение # 8
Kevin
Реальный чел
Группа: Проверенные
Сообщений: 519
Репутация: 15
Статус: Offline
Это много кому нужно, но лично я даже текстуры в w3mapedit ставить не умею <_<


 
AlexBond
Дата: СР, 13.05.2009, 22:49:29 | Сообщение # 9
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
ДЕЛА СУПЕР!!!!!!! cool Я научился подгружать в exe свою dll и земенять функцию!!!!! Жесть!!!!!! cool Переквалифицируюсь в Хакера скоро =)

Уточнение, карты тоже можно пихать в папку Temp

Короче структура такая:

Temp/Maps
Temp/ThemeCamelot
Temp/Custom
Temp/
и т.д.

для тех кто хочет посмотреть как прога ищет файлы. вылаживаю мой log, созданный перехватной dll.

Прикрепления: TextureLoader.rar(33Kb)


 
AlexBond
Дата: ПТ, 15.05.2009, 16:51:01 | Сообщение # 10
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Т.к. удаленно не получилось вклиниться в экзешник, пришлось писать загрузчик...

Выслушаю все предложения по поводу его, а пока, он выглядит вот так:



 
Герыч
Дата: ПТ, 15.05.2009, 20:02:19 | Сообщение # 11
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
перевод будет? Advanced что значит? если ключики, то сделать выпадающий список ключиков

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
Герыч
Дата: ПТ, 15.05.2009, 20:04:07 | Сообщение # 12
Герыч
Админ
Группа: Админы
Сообщений: 1240
Репутация: 60
Статус: Offline
хм... а ещё на будушее сделай, чтобы твою прогу можно было запускать без UI, как утилиту для загрузки текстур(принимающие пару ключиков), это поможет другим программистам, если таковые есть писать свои ланчеры)

________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
DrHitman27
Дата: СБ, 16.05.2009, 10:02:28 | Сообщение # 13
DrHitman27
•Polarized•
Группа: Заблокированные
Сообщений: 2107
Репутация: 52
Статус: Offline
выложи её в файлах) потестить хочу на висте)

 
AlexBond
Дата: СБ, 16.05.2009, 17:49:31 | Сообщение # 14
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
Quote (Герыч)
перевод будет? Advanced что значит? если ключики, то сделать выпадающий список ключиков

Перевода не будет. Адвансед - это коммандная строка.
Quote (Герыч)
можно было запускать без UI,

Попробую добавить такую функцию.
Quote (hitman27)
потестить хочу на висте)

рана еще тестить, еще не готова прога... Но дизайн я изменил...


 
AlexBond
Дата: ВС, 17.05.2009, 02:29:57 | Сообщение # 15
AlexBond
Легендарный червь
Группа: Админы
Сообщений: 1029
Репутация: 105
Статус: Offline
ГОТОВА ПРОГА!!!!!!!



И аспект и текстуры!!! жесть! cool B)


 
Форум » Worms 4 Mayhem » 0.3. Прочие идеи и их обсуждение » W4MapLauncher или Мега - Крэзи ИДЕЯ W4 с W3D текстурами!!!!
Страница 1 из 6123456»
Поиск:

Copyright W4Tweaks™ 2008-2016 Хостинг от uCoz