Что бы получить эту возможность, нужно раскодировать все контейнеры, ведь для каждого контейнера нужен строковой ресурс, а при изменении таблицы строк, меняются все адреса строковых ресурсов, что приведет к неминуемой ошибки.
создаёшь копию текущего состояния... ну ну.... копию чего? карты целиком? вместе с текстурными данными. и с hmap данными...
К примеру я редактирую слои, и потянул не так. По твоему прога должна будет сохранить всю карту при каждом моем клике? Тем более вернуть состояние это значит загрузить все с такими же параметрами что сложно.
Есть другой вариант, создать Сотни классов состояний... сохранять их в стек... что по моему равносильно написанию нового редактора....
Не майтесь ерундой. Есть форум, есть разделы форума, и раздел Флудилка. где будет хоть тысячи сообщений. Какое вам дело до них? Все что не по делу кидайте в этот раздел и нет проблем.
Одна лишь проблема, нужно придумать способ перехвата. Или это сделать прямо в игре, через вируальный процесс. Или сделать перехватывающую msvcr71.dll, которая и будет обрабатывать это дело...
Так как множества exe версий имеют защиту или разный код, то нужно поискать способ подгрузки моего перехватчика через msvcr71.dll...
Пока других идей нет...
Все желающие помочь проекту, пишите какие карты добавить в следующую версию.
Список карт:
List of maps v1.085:
1. Alien Juice Suckers( by W3D) 2. Atlantis Training Facility( by W3D) 3. A Bridge To Far( by Armageddon) 4. A Good Nights Sleep( by W3D) 5. A Leek in a Vegetable( by W3D) 6. A Quick Fix( by W3D) 7. Alien Invasion( by Martin) 8. ALPHA353 B( by GrenadeX) 9. Arctic Roper( by AlexBond) 10. Bad BnG Roper 6( by GrenadeX) 11. Banana Cup BnG( by GrenadeX) 12. Beefcake Breakfast Brawl( by W3D) 13. BiG Mega Tower( by GrenadeX) 14. BIG TREE Lands ( by GrenadeX) 15. Check Mate( by AlexBond) 16. Chess( by AlexBond) 17. Christmas Tree( by AlexBond) 18. Cocons( by AlexBond) 19. Costa Del Danges( by W3D) 20. Crate Britain( by W3D) 21. Crazy Roads( by AlexBond) 22. Crop Circle( by W3D) 23. Cubos 3( by AlexBond) 24. Cubos 5( by AlexBond) 25. D-Day( by W3D) 26. Death Staff( by AlexBond) 27. Earn Your Crust( by W3D) 28. Eiffel Tower( by AlexBond) 29. Falling For You( by W3D) 30. Farm Trouble( by Flamar) 31. Final War( by AlexGT) 32. Find Fox( by AlexBond) 33. Forest( by AlexBond) 34. Gold Island( by AlexGT) 35. Grave Danger( by W3D) 36. Hell Coming RoperX( by GrenadeX) 37. Helter Skelter( by W3D) 38. Hide and Peek( by W3D) 39. High Stakes( by W3D) 40. Ice, Ice, Maybe( by W3D) 41. In Space No-One Can Hear You Clean( by W3D) 42. Island Vilage 2( by AlexBond) 43. JetPack Challenge 1( by W3D) 44. JetPack Challenge 2( by W3D) 45. Lunar Stemps 6( by GrenadeX) 46. Motorbike( by AlexBond) 47. Mountains( by AlexBond) 48. Movie Mayhem( by W3D) 49. Nobody Rides For Free( by W3D) 50. Orange Island( by GrenadeX) 51. Pirates Seawar( by FinnishWorm) 52. Plaice Holder( by W3D) 53. Pleace Not More Island( by W3D) 54. Psyduck Island( by AlexBond) 55. Ragnarok and Roll( by W3D) 56. Remagen( by Lucas) 57. Return to Chateau Assassin( by W3D) 58. Roping Stadium( by AlexBond) 59. Sahara( by AlexBond) 60. Schools In For Summer( by W3D) 61. Shiver Me Timbers( by W3D) 62. Shotgun Callenge 3( by W3D) 63. Showdown at the OK( by W3D) 64. Snooker( by AlexBond) 65. Snow( by AlexBond) 66. South Park( by AlexBond) 67. Space Stations 2b( by GrenadeX) 68. Spiders( by AlexBond) 69. Stars( by AlexBond) 70. Statue Of Liberty( by AlexBond) 71. Submission( by W3D) 72. Super Sheep Challenge( by Remake) 73. Take My Cherry( by W3D) 74. The Driving Range( by W3D) 75. The Mighty Kong( by W3D) 76. Thee Village Trouble( by W3D) 77. Titanic( by W3D) 78. Titanic 2( by GrenadeX) 79. T-Rex( by AlexBond) 80. Trial Of The Damned( by W3D) 81. TriBanana Holly( by AlexBond) 82. Victory Or Death( by Nezon) 83. When Annelids Collide( by W3D) 84. Worms Monkey Island( by GrenadeX) 85. Zodd( by AlexBond)
Список карт из w3d: ********************** 50 new Maps... ************
1. Aliens Planet (by AlexBond) 2. Atoms (by Mambaczarna) 3. Aztec Temple (by PlaiceHolder) 4. Boeing 747-400 (by PlaiceHolder) 5. Business Jets (by PlaiceHolder) 6. Church of The Hell (by FinnishWorm) 7. Crazy Roads (by AlexBond) 8. Cubos 9 (by PlaiceHolder) 9. Deathmatch CS (by Konter) 10. Dinos Island (by GrenadeX) 11. DNA (by AlexBond) 12. Earthworm Jim (by AlexBond) 13. F-15 Eagle (War) (by PlaiceHolder) 14. Fall of the Warlords (by AlexBond) 15. Fruits (by AlexBond) 16. Giant's Garden (by FinnishWorm) 17. Gorillaz Island (by AlexBond) 18. Hell Zombies (by AlexBond) 19. Hiroshima Disaster (by PlaiceHolder) 20. House (by FinnishWorm) 21. Kill monkey 4 (by GrenadeX) 22. LAPUTA (by PlaiceHolder) 23. Lunar Stemps X12 (by GrenadeX) 24. Lunar Stemps X13 (by GrenadeX) 25. Lunar Stemps X14 (by GrenadeX) 26. Lunar Stemps X15 (by GrenadeX) 27. Lunar Stemps X16 (by GrenadeX) 28. Lunar Stemps X17 (by GrenadeX) 29. Lunar Stemps X18 (by GrenadeX) 30. Lunar Stemps X19 (by GrenadeX) 31. Lunar Stemps X20 (by GrenadeX) 32. Lunar Stemps X21 (by GrenadeX) 33. Oh My Tetris (by FinnishWorm) 34. Pirate Castle (by PlaiceHolder) 35. Seekery Maybe (by GrenadeX) 36. Skatepark (by FinnishWorm) 37. Ski Jump (by FinnishWorm) 38. Skyscraper (by FinnishWorm) 39. Sonic The Hedgehog (by AlexBond) 40. Star Wars (by Mambaczarna) 41. The Army of the Dead (by AlexBond) 42. They Sphinx It's All Over (by AlexBond) 43. Tree ICE Trouble (by FinnishWorm) 44. Turtle Island (by FinnishWorm) 45. Veranda (by PlaiceHolder) 46. War of the Hotels (by FinnishWorm) 47. Wild West (by FinnishWorm) 48. World On Three Turtles (by FinnishWorm) 49. Worm Temple 4 (by FinnishWorm) 50. XX Palm island XX (by GrenadeX)
Что происходит после нажатия кнопки run 1. создаем папку Data/Temp/ 2. копируем /Data/MapPacks/Scripts_W3Dv1085.xml -> /Data/Temp/Scripts.xml 3. обновляем файл launcher.cfg 4. записываем данные в реестр 5. запускаем \WORMS 4 MAYHEM.EXE через CreateProcess 6. если был аспект, то: ждем 10 секунд, выделяем память в процессе VirtualAllocEx. Записываем туда асемблерный код вычесления аспекта WriteProcessMemory. Меняем адресс функции glLoadMatrixf(вроде бы) на мой адресс через WriteProcessMemory код ассемблера такой var asmcode: array[0..25] of byte = ( ($8b),($44),($24),($04), //mov eax,[esp+4] ($d9),($40),($14), //fld [eax+14] ($c7),($00),($cd),($cc),($cc),($3f), //mov [eax],$3fcccccd ($d8),($30), //fdiv [eax] ($d9),($18), //fstp [eax] ($50), //push eax ($ff),($15),($18),($64),($77),($00), //call dword ptr [$00776418] ($c2),($04)); //ret $0004
7. Если включены w3d текстуры, то: проверяем наличие библиотеки w3dmapper.dll Выделяем память в процессе для подгрузки этой библиотеки. Записываем имя нашей библиотеки в память процесса. Узнаем адресс LoadLibraryA в процессе через GetProcAddress Создаем ветвь в процессе CreateRemoteThread Ветвь загружает библиотеку в процесс. ждем 5 секунд Получаем базовый адресс загруженной библиотеки через GetModuleAdress Узнаем абсолютный адресс нашей функции обработчика TextureLoader. И прописываем его на вызов функции fopen библиотеки msvcr71.dll в процессе. Ждем секунду. 8. Завершаем процесс.
Далее уже работает сам обработчик TextureLoader библиотеки w3dmapper.dll: 1. Берем имя файла 2. Если режим ReDirect Сверяем имя с .txt 2.1. Если он txt, то подменяем имя файла на Data/Temp/w3dt.txt 3. открываем файл через fopen библиотекой msvcr71.dll 3.1. Если он открылся то проверяем есть ли такой .xml 3.2. Если есть то проверяем есть ли такой .xan 3.3. Узнаем что грузится карта. 3.3.1. Очищаем папки Data/Temp/Custom/ и Data/Temp/ThemeCamelot/ 3.3.2. Проверяем есть ли файл .w3dt 3.3.2.1. Создаем папки Data/Temp/Custom/ , Data/Temp/Custom/Bank01 и Data/Temp/ThemeCamelot/ 3.3.2.2. Вызываем функцию MakeTextures . которая копирует текстуры во временные папки по связным именам и создает файл Data/Temp/w3dt.txt 3.3.2.3. Включаем режим ReDirect.
Эм... у меня один вопрос я так понимаю что прогу считывающую заданные перменные из памяти игры и записывающая их в txt не так уж сложно??? или тут малость не то???
прогу ...щую и ...щая не так уж сложно ... Где ж ты учился мальчик =) Русский язык совсем хромает...
Я тут вспомнил, я уже делал пересылку библиотеки. Ее просто создаешь в fasm как пустышку с адрессами. И можно заменить оригинальную. Вопрос лишь в том, создать две библиотеки, или одну...
Делать это никто не будет, я бы взялся. лишь если ты найдешь толковую модель человека в разрезе. Но вот проблема в том что "кишки" сделать не получится. тунельи делать с покселей очень сложно...
У меня была такая идея, сделать хотя бы череп, даже модель нашел, но так и не сделал....
Всем привет, есть идея сделать карточные карты. Я лично никогда не делаю карты для w4 только для w3d, но тут такое дело, в w3d текстуры нельзя вставлять свои, а в w4 можно, вот и решил сделать карту или несколько.
Ищу команду которая проявит инициативу в помощи создания текстур для карт. Хотелось бы сделать карты под стиль worms было бы прикольно. ну а общий вид карты будет такого плана:
Я думаю идея очень даже прикольная. Правда нужно сделать 55 текстур или 35. Если мастера Фотошопа не найду, сделаю стандартные карты
Кто ЗА?
Для разработки придется улучшать редактор карт, =) чтобы можно было подгружать папку W3DT
Текстура чтобы наносилась на весь объект кроме тех покселей которые были покрашены на текстуру 0 Потому что как мы будем красить объект по одному покселю это же очень долго!!!
Это делается командой через Replacer
(Texture=21>>13)
меняет 21-ю текстуру на 13-ю во всех покселях
Quote (Sergey)
Я предлагаю: 1)добавить инструмент "стёрка" а то каждый раз приходится лазить и сбрасывать нужную текстуру, и прописывать пустую строку 2)Увеличить максимальное число покселей с 30 до хотя бы 50 3)Возможность создания круглых объектах(отдельная кнопка, в сглажке)
1)Стерка... хорошая идея, подумаю 2)Увеличить нельзя, игра вылетает 3) процесс сложен, круглые объекты создаются лишь с полной сглажкой, и размером покселя 2x2