Этот проект был полностью отменен и не будет получать никаких новых обновлений, поскольку я больше не являюсь частью сообщества HOI4, а кодовая база превратилась в беспорядок, что делает невозможным улучшение ситуации без переписывания всего проекта (спасибо C++). . Язык функционален, но чрезвычайно медленный, с большими ошибками, и его не следует использовать серьезно. Я планирую, возможно, создать язык с синтаксисом, похожим на HPL, но он не будет ориентирован на HOI4, а серверная часть будет совершенно другой.
Современное решение для разработчиков модов HOI4.
Язык программирования HOI4 (HPL) — это предметно-ориентированный язык программирования-интерпретатора, созданный для разумной разработки моддинга HOI4. Его главная цель — существенно улучшить текущий опыт моддинга HOI4, переработав синтаксис HOI4, сделав его более удобным для пользователя, и предоставив новые функции для более эффективной и быстрой разработки, одновременно давая пользователю достаточно места для настройки.
Одна из проблем, от которой страдает сцена моддинга HOI4, — это нехватка программистов HOI4, владеющих языком Клаузевица. Причина в том, что, хотя его легко освоить, его очень утомительно использовать и отлаживать как для простых, так и для сложных частей моддинга. Что также не помогает, так это то, что ему не хватает множества простых функций языка программирования, которые бы значительно улучшили работу разработчиков.
Люди пытались улучшить опыт разработки, создавая инструменты CLI и GUI, которые делали бы все за разработчиков, однако чаще всего эти проекты либо терпели неудачу по множеству причин, либо были слишком ограниченными, либо не имели никакой ценности. Однако создание подходящего языка для моддинга HOI4 — одно из лучших решений этой проблемы, поскольку такой язык, как HPL, может предоставить разработчикам множество вариантов решения проблем, связанных с моддингом HOI4, при этом постоянно обновляясь. Вы можете использовать HPL для создания множества небольших, но эффективных сценариев или даже для создания целых сред разработки.
HPL сосредоточится не только на достижении полной совместимости модов HOI4, но и на оптимизации самого моддинга HOI4. Вместо того, чтобы требовать десятки строк кода для простого события (или даже больше), HPL сможет обеспечить тот же результат, но с гораздо меньшим количеством строк кода, что значительно улучшит процесс разработки. Благодаря этому HPL даже сокращает количество символов и слов, которые вам нужно написать в строке.
General — Показывает общие возможности программирования HPL и то, что с ним можно делать.
страна - Создает нацию.
event — пример создания простых событий HOI4.
Краткий обзор большинства функций HPL:
string
, int
, float
, bool
, scope
) и общий тип auto
..dds
, изменять размер изображений, создавать/удалять файлы и папки и т. д.if
утверждения.f-string
Python.+
для объединения строк.++
, --
, +=
, -=
, =
, /=
, %=
).descriptor.mod
. Примечание. В настоящее время основной целевой платформой для HPL является Windows 10 и более поздние версии. Из-за этого версии HPL для Unix (особенно сборки для Linux) могут содержать ошибки или работать нестабильно. Кроме того, будут предоставляться и поддерживаться только двоичные файлы x86
для Windows, MacOS и Linux.
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
На данный момент установщик есть только в Windows.
Чтобы установить HPL в Windows, все, что вам нужно сделать, это один раз запустить сценарий installer.ps1
в PowerShell, и он все настроит за вас.
Чтобы сделать разработку с использованием HPL более красочной, увлекательной и современной, программист Allyedge создал расширение VSC для программирования на HPL. На данный момент у него есть только подсветка синтаксиса и несколько основных функций поддержки языка, однако в будущем у него будет гораздо больше функций, которые сделают разработку еще проще (подумайте об этом как о расширении C/C++ VSC).
Чтобы загрузить его, вы можете просто найти «HPL» на рынке и загрузить первый результат или перейти по этой ссылке.
SOIL2 (раздвоенная версия) — для основной функции convertToDds
(HPL использует модифицированную версию SOIL2 для удаления ненужных требований OpenGL).
Allyedge — за создание расширения HPL VSC. (кстати, этот парень на самом деле съеживается)