Este projeto foi completamente cancelado e não receberá nenhuma atualização porque não faço mais parte da comunidade HOI4 e a base de código se tornou uma bagunça, tornando impossível melhorar as coisas sem reescrever tudo (obrigado C++) . A linguagem é funcional, mas é extremamente lenta, tem muitos bugs e não deve ser usada seriamente. Planejo possivelmente criar uma linguagem com sintaxe semelhante à HPL, mas não será focada em HOI4 e o back-end será completamente diferente.
A solução moderna de desenvolvedor para modding HOI4.
A linguagem de programação HOI4 (HPL) é uma linguagem de programação de intérprete de domínio específico feita para o desenvolvimento de modding HOI4 sensato. Seu principal objetivo é melhorar substancialmente a experiência atual de modding do HOI4, retrabalhando a sintaxe do HOI4 para ser uma sintaxe muito mais amigável e fornecendo novos recursos para um desenvolvimento mais eficiente e rápido, ao mesmo tempo que dá ao usuário bastante espaço para personalização.
Uma das coisas que sofre o cenário de modding HOI4 é a baixa oferta de codificadores HOI4 que sejam habilidosos com a linguagem Clausewitz. A razão é que, embora seja simples de aprender, é realmente tedioso usar e depurar tanto para partes simples quanto complexas de modding. O que também não ajuda é que faltam vários recursos simples de linguagem de programação que melhorariam muito a experiência dos desenvolvedores.
As pessoas tentaram melhorar a experiência do desenvolvedor criando ferramentas CLI e GUI para fazer tudo para os desenvolvedores, porém, na maioria das vezes, esses projetos falham devido a uma série de razões, são muito limitantes ou não têm valor. No entanto, criar uma linguagem adequada para modding HOI4 é uma das melhores soluções para este problema, já que uma linguagem como HPL pode dar muitas opções aos desenvolvedores sobre como eles desejam resolver seus problemas relacionados à modding HOI4 enquanto são atualizados constantemente. Você pode usar HPL para criar vários scripts pequenos, mas eficazes, ou até mesmo criar ambientes inteiros de desenvolvedor.
A HPL não se concentrará apenas em obter compatibilidade total com a modificação do HOI4, mas também em otimizar a própria modificação do HOI4. Em vez de precisar de dezenas de linhas de código para um evento simples (ou até mais), a HPL será capaz de fornecer o mesmo resultado, mas com muito menos linhas de código, melhorando drasticamente a experiência de desenvolvimento no processo. HPL ainda reduz quantos caracteres e palavras você precisa escrever por linha com isso.
general - Mostra os recursos gerais de programação do HPL e o que você pode fazer com ele.
país - Cria uma nação.
event - Um exemplo de criação de eventos HOI4 simples.
Uma rápida visão geral da maioria dos recursos do HPL:
string
, int
, float
, bool
, scope
) e tipo genérico auto
..dds
, redimensionamento de imagens, criação/remoção de arquivos e pastas, etc.if
declarações.f-string
do Python.+
para combinar strings.++
, --
, +=
, -=
, =
, /=
, %=
).descriptor.mod
. Nota: Atualmente, a principal plataforma direcionada para HPL é o Windows 10 e superior. Devido a isso, as versões Unix do HPL (especialmente as compilações Linux) podem conter bugs ou ser instáveis. Além disso, apenas binários x86
para Windows, MacOS e Linux serão fornecidos e suportados.
git clone https://github.com/EimaMei/HPL/tree/canary.git
cd HPL
make
Por enquanto apenas o Windows possui instalador.
Para instalar o HPL no Windows, tudo que você precisa fazer é executar o script installer.ps1
no PowerShell uma vez e ele configurará tudo para você
Para tornar o desenvolvimento em HPL muito mais colorido, divertido e moderno, o programador Allyedge criou uma extensão VSC para programação em HPL. Por enquanto ele possui apenas um marcador de sintaxe e alguns recursos básicos de suporte à linguagem, porém no futuro terá muito mais recursos para tornar o desenvolvimento ainda mais fácil (pense nisso como a extensão VSC C/C++).
Para baixá-lo basta procurar 'HPL' no marketplace e baixar o primeiro resultado, ou acessar este link.
SOIL2 (versão bifurcada) - para a função principal convertToDds
(HPL usa uma versão modificada do SOIL2 para remover requisitos OpenGL desnecessários).
Allyedge - para criar a extensão HPL VSC. (esse cara é realmente assustador, aliás)