Версия v0.3.0
Графическая модификация для игры WarCraft III.
287 86.9K
13
Извиняюсь, забыл проверить выравнивание относительно других элементов UI. Исправлено. Также исправлено отображение неправильной версии RenderEdge (v0.2.2a) в левом верхнем углу.

Обновление v0.2.3b

  • Исправлено выравнивание относительно других элементов интерфейса.
Используемый код
function TestAlignment takes nothing returns nothing
    local integer parentId = 1000 // -1

    call CtrlNew(1000, 100, 200, 400, 400)
    call CtrlSetTexture(1000, "Textures\\white.blp")
    call CtrlSetColor(1000, 0xA0FFFFFF)

    call CtrlNew(1001,  0,   0,  64, 64) // TOPLEFT
    call CtrlNew(1002, -32,  0,  64, 64) // TOP
    call CtrlNew(1003, -64,  0,  64, 64) // TOPRIGHT
    call CtrlNew(1004,  0,  -32, 64, 64) // LEFT
    call CtrlNew(1005, -32, -32, 64, 64) // CENTER
    call CtrlNew(1006, -64, -32, 64, 64) // RIGHT
    call CtrlNew(1007,  0,  -64, 64, 64) // BOTTOMLEFT
    call CtrlNew(1008, -32, -64, 64, 64) // BOTTOM
    call CtrlNew(1009, -64, -64, 64, 64) // BOTTOMRIGHT

    call CtrlSetAlignment(1001, parentId, ALIGN_TOPLEFT)
    call CtrlSetAlignment(1002, parentId, ALIGN_TOP)
    call CtrlSetAlignment(1003, parentId, ALIGN_TOPRIGHT)
    call CtrlSetAlignment(1004, parentId, ALIGN_LEFT)
    call CtrlSetAlignment(1005, parentId, ALIGN_CENTER)
    call CtrlSetAlignment(1006, parentId, ALIGN_RIGHT)
    call CtrlSetAlignment(1007, parentId, ALIGN_BOTTOMLEFT)
    call CtrlSetAlignment(1008, parentId, ALIGN_BOTTOM)
    call CtrlSetAlignment(1009, parentId, ALIGN_BOTTOMRIGHT)
endfunction
29
Кет, впаривать не карту, а полноценную игру) Как доту первую впаривают сразу вместе с кастомным варом
33
только надо вынудить игрока установить рендер эдж =/
29
Огонь! И не надо извращаться с глючным DGUI :D
13

Обновление v0.2.3a

  • Добавлена новая native функция CtrlSetSize;
  • добавлена новая native функция CtrlSetAlignment;
  • Функции CtrlSetPosition и CtrlNew теперь принимают offsetX и offsetY вместо x и y;
  • Удалена функция CtrlSetRect.
Видео - демонстрация графического интерфейса и управления камерой:

Использование функции ​Ctrl​Set​Alignment

Используемый код
private function TestAlignment takes nothing returns nothing
    call CtrlNew(1001,  0,   0,  64, 64) // TOPLEFT
    call CtrlNew(1002, -32,  0,  64, 64) // TOP
    call CtrlNew(1003, -64,  0,  64, 64) // TOPRIGHT
    call CtrlNew(1004,  0,  -32, 64, 64) // LEFT
    call CtrlNew(1005, -32, -32, 64, 64) // CENTER
    call CtrlNew(1006, -64, -32, 64, 64) // RIGHT
    call CtrlNew(1007,  0,  -64, 64, 64) // BOTTOMLEFT
    call CtrlNew(1008, -32, -64, 64, 64) // BOTTOM
    call CtrlNew(1009, -64, -64, 64, 64) // BOTTOMRIGHT

    call CtrlSetAlignment(1001, -1, ALIGN_TOPLEFT)
    call CtrlSetAlignment(1002, -1, ALIGN_TOP)
    call CtrlSetAlignment(1003, -1, ALIGN_TOPRIGHT)
    call CtrlSetAlignment(1004, -1, ALIGN_LEFT)
    call CtrlSetAlignment(1005, -1, ALIGN_CENTER)
    call CtrlSetAlignment(1006, -1, ALIGN_RIGHT)
    call CtrlSetAlignment(1007, -1, ALIGN_BOTTOMLEFT)
    call CtrlSetAlignment(1008, -1, ALIGN_BOTTOM)
    call CtrlSetAlignment(1009, -1, ALIGN_BOTTOMRIGHT)
endfunction
constant integer ALIGN_TOPLEFT = 0
constant integer ALIGN_TOP = 1
constant integer ALIGN_TOPRIGHT = 2
constant integer ALIGN_LEFT = 3
constant integer ALIGN_CENTER = 4
constant integer ALIGN_RIGHT = 5
constant integer ALIGN_BOTTOMLEFT = 6
constant integer ALIGN_BOTTOM = 7
constant integer ALIGN_BOTTOMRIGHT = 8

native CtrlSetAlignment takes integer id, integer parentId, integer alignment returns nothing
Чтобы выравнивание шло относительно всего окна, установите parentId равным -1.
13

Обновление v0.2.2a

  • Добавлена новая native функция IsGamePaused;
  • Добавлена новая native функция SetBlackBorders;
  • Обновлен Jass API, исправлены некоторые баги связанные с пользовательскими нативными функциями;
  • Исправлены нативные функции, которые принимают аргументы типа boolean;
  • Исправлено повторное добавление триггеров функциями TriggerRegister#Event после перезапуска карты;
  • Функция EnableVsync теперь работает без необходимости сворачивать игру;
  • Исправлена ошибка, при которой новые элементы GUI не имели зеленой текстуры по умолчанию;
  • Улучшен debug log. Лог файл очищается, если размер превышает 100 КБ.
Теперь вы можете изменить черные границы динамически:
Чтобы скрыть чёрные полосы сверху и снизу, вызовите функцию SetBlackBorders(float upper, float bottom), где upper и bottom установите равными 0.0. Значения по умолчанию: upper = -0.02, bottom = 0.13.
Версия v1.2.0b
Модификация добавляет в Варкрафт поддержку мониторов с соотношением сторон отличным от 4:3.
40 36.2K
13
выступает в качестве платформы для проверки тех или иных знаний
Именно. Я начал этот проект, потому что мне это было интересно, затем я стал использовать его в качестве платформы для реализации своих знаний, для своего собственного развития.
На данный у меня есть две цели: перенести тени и пост-эффекты из экспериментальной версии в основную и реализовать полноценный фикс интерфейса для широкоформатных мониторов. После этого работа над модом будет закончена, и я выложу исходники проекта.
Сейчас я сосредоточен на модификации стандартного интерфейса варкрафта, вот что имею на данный момент:
Сначала весь интерфейс будет перенесён в левую часть экрана, а затем выровнен по центру.
А здесь полностью скрыт стандартный интерфейс (включая чёрные полосы), кроме миникарты, расположение которой было изменено:
30
Всё хочу спросить: существует ли более-менее полно сформулированная цель проекта, или же он выступает в качестве платформы для проверки тех или иных знаний на практике и может длиться условно бесконечно?
13
Обновление:
  • Добавлена поддержка патча 1.28.5;
13
Обновление:
  • Добавлена поддержка патча 1.28.4;