Скорее всего из-за этого, хотя и не должно: я собирал библиотеку в режиме совместимости с XP. Попробуй ещё установить пакет Visual C++.
А Widescreen Fix у тебя работает?
Может ещё кто-нибудь с Windows XP протестировать карту?
Tumart, какая версия вара (работает только на 1.26a)? После запуска карты в папке с варом появился файл RenderEdge_mini.dll? Нет ли в папке с варкрафтом .mix файлов или библиотека d3d8.dll? Если есть, то попробуй убрать все .mix`ы оттуда.
Исправлены вылеты при загрузке сохранённой карты и перезапуске карты из игры;
Исправлена повторное внедрение динамической библиотеки функцией ExportAndInjectDLL, если она уже загружена.
Вылеты при сохранении карты исправить не получилось, и, возможно, уже не получится. Игра вылетает при выполнении следующего кода в функции UnlockMemory:
FTFire, вылетает, скорее всего, из-за вызова функций из библиотеки RenderEdge, так как она либо не загружается корректно, либо ей не удаётся перехватить окно варкрафта. Попробуй последнее обновление, если будет так же вылетать, то попробуй в триггере GUI заменить функцию Init на эту, и напиши, вылетает ли игра:
private function Init takes nothing returns nothing
call GetMouseX()
endfunction
Можно под мультиплейр правда придётся некоторые штуки подрезать и будет норм
Да, в мультиплеере всё отлично работает, нужно только удалить триггер RenderEdge и все функции из данной библиотеки, которые используются в других триггерах.
Vitalik8, какое отношение этот функционал имеет к моей библиотеке? RenderEdge - это библиотека, нацеленная в первую очередь на модификацию графической составляющей игры.
FrigatPlay, использование функций редактирования интерфейса происходит в триггере Demo в функции EditStandardInterface.
Отображение подсказок обязательно будет, как только я пойму, как это сделать.
Андреич, так в этой версии есть все нужные функции для редактирования стандартного интерфейса, а в основной версии эти же функции плюс возможность создать полностью свой интерфейс. Напиши поподробнее, что именно хочешь сделать с интерфейсом?
в мультиплеере работает не на всех компах, а точнее они вылетают
Можешь попробовать полностью удалить функции RenderEdge из карты и ещё раз протестировать в мультиплеере? Если не поможет, то можно попробовать удалить из карты RenderEdge_mini.dll.
Скорее всего это из-за того, как я отлавливаю экземпляр окна в RenderEdge_mini.dll. С эти также связаны проблемы, при которых функции из .dll возвращают 0, если во время загрузки карты свернуть игру или переключиться на другое окно. Уже исправил, в следующей версии подобных проблем не будет. JaBeN_Симфер:
Было бы полезно отображать аттачи на портрете.
Это вряд ли это можно реализовать с помощью мемхака. FrigatPlay:
Описание кнопок никак нельзя вернуть?
И я так понял что после установки библиотеки уже пользоватся GUI невозможно.
Я пока не нашёл адрес фрейма, отвечающего за всплывающие подсказки. В каком смысле невозможно пользоваться GUI, что вы имеете ввиду под этой аббревиатурой? Графические триггеры? Если да, то можно. mishanka122:
чет на новой версии выскакивает такое
На предыдущей ошибки не было? Это ошибка компилятора PJass, вы точно скачали экспериментальную версию из поста? Выключен ли cJass? Owain:
function GetUpperButtonBarText takes integer id returns integer
function GetResourceBarText takes integer id returns integer
function GetResourceBarIcon takes integer id returns integer
function GetInfoBarText takes integer id returns integer
function GetInfoBarIcon takes integer id returns integer
А вот эти фреймы я пока не искал.
Кстати, могу выложить .idb файл game.dll для IDA Pro, вдруг кто-нибудь захочет помочь искать новые адреса. Я уже восстановил некоторые имена функций, переменных, структуры.
Ige, нет, сделать произвольную форму нельзя, только прямоугольник.
А вот и функции для чтения данных о фрейме:
раскрыть
function GetFrameWidth takes integer pFrame returns real
return GetRealFromMemory(Memory[pFrame/4 + 22])
endfunction
function GetFrameHeight takes integer pFrame returns real
return GetRealFromMemory(Memory[pFrame/4 + 23])
endfunction
function GetFramePointParent takes integer pFrame, integer point returns integer
return Memory[Memory[pFrame/4 + point + 2]/4 + 1]
endfunction
function GetFramePointRelativePoint takes integer pFrame, integer point returns integer
return Memory[Memory[pFrame/4 + point + 2]/4 + 2]
endfunction
function GetFramePointX takes integer pFrame, integer point returns real
return GetRealFromMemory(Memory[Memory[pFrame/4 + point + 2]/4 + 3])
endfunction
function GetFramePointY takes integer pFrame, integer point returns real
return GetRealFromMemory(Memory[Memory[pFrame/4 + point + 2]/4 + 4])
endfunction
function GetRealFromMemory takes integer i returns real
return cleanReal(indexToReal(i))
endfunction
function SetRealIntoMemory takes real r returns integer
return cleanInt(realToIndex(r))
endfunction
Ige, скоро добавлю новые функции, включая GetFrameWidth/Height, остальные тоже попробую добавить.
А вот этого пока в планах нет: Ige:
function SetFrameFont takes string font returns nothing
function SetFrameFontColor takes integer rgba returns nothing 0xRRGGBBAA - ну вы поняли)
function SetFrameFontColor takes integer red, integer green, integer blue, integer alpha returns nothing
function SetFrameTextLength takes integer returns nothing длина текста во фрейме
Сейчас я работаю над основной версией RenderEdge, добавляю функции для редактирования стандартного интерфейса, уже готовы следующие функции:
ledoed, нет, можно посмотреть лишь, сколько всего мешей на сцене. Кристофер, тени пока работают очень плохо. Их лучше не включать, так как они используют очень много оперативной памяти, и при достижении определённого лимита игра вылетает.
Тени можно сделать менее тёмными, путём редактирования Ambient освещения на вкладке Sky Light.
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
А Widescreen Fix у тебя работает?
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
» RenderEdge / [RenderEdge] Memory Hack
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.4c
» RenderEdge / [RenderEdge] Memory Hack
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.4b
» RenderEdge / [RenderEdge] Memory Hack
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.4a
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.3b
» RenderEdge / [RenderEdge] Memory Hack
Отображение подсказок обязательно будет, как только я пойму, как это сделать.
» RenderEdge / [RenderEdge] Memory Hack
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.3a
» RenderEdge / [RenderEdge] Memory Hack
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
ledoed: Можешь попробовать полностью удалить функции RenderEdge из карты и ещё раз протестировать в мультиплеере? Если не поможет, то можно попробовать удалить из карты RenderEdge_mini.dll.
Скорее всего это из-за того, как я отлавливаю экземпляр окна в RenderEdge_mini.dll. С эти также связаны проблемы, при которых функции из .dll возвращают 0, если во время загрузки карты свернуть игру или переключиться на другое окно. Уже исправил, в следующей версии подобных проблем не будет.
JaBeN_Симфер: Это вряд ли это можно реализовать с помощью мемхака.
FrigatPlay: Я пока не нашёл адрес фрейма, отвечающего за всплывающие подсказки. В каком смысле невозможно пользоваться GUI, что вы имеете ввиду под этой аббревиатурой? Графические триггеры? Если да, то можно.
mishanka122:
Owain: Только 1.26a.
Owain: Портрет изменяется той же функцией, что и в игровом режиме. А вот фрейм текста нужно сначала найти.
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Что-то я сглупил: написал функцию для скрытия курсора, а оказалось, что она полностью идентична стандартной функции EnableUserControl.
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Ige:
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
Обновление v1.0.2a
Ред. ENAleksey
» RenderEdge / [RenderEdge] Memory Hack
А вот и функции для чтения данных о фрейме:
» RenderEdge / [RenderEdge] Memory Hack
А вот этого пока в планах нет:
Ige:
Ред. ENAleksey
» RenderEdge / [RenderEdge] Экспериментальная версия
Кристофер, тени пока работают очень плохо. Их лучше не включать, так как они используют очень много оперативной памяти, и при достижении определённого лимита игра вылетает.
Тени можно сделать менее тёмными, путём редактирования Ambient освещения на вкладке Sky Light.
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III