Compilation pour l'Universal Windows Platform

Pré-requis

  • SCons 3.0+ (see Compilation pour Windows pour d'autres détails).
  • Visual Studio 2017 ou plus tard. Voir Compilation pour Windows à propos des conditions d'installation et des différentes instructions.
  • Windows 10 SDK (peut être sélectionné dans l'installation de Visual Studio).
  • Source ANGLE. Utilisez la branche ms_master (par défault). Gardez-la dans un chemin(path) sans espaces pour éviter des problèmes.

Note

Le repo ANGLE par Microsoft a été abandonné et la branche ms_master a été effacée.

Cependant, une solution de contournement temporaire est encore possible een téléchargeant un ancien code source via le commit c61d048.

Cette page sera encore éventuellement mise à jour dans le futur pour refléter les nouvelles instructions de construction.

Voir aussi

Pour un aperçu général de l'utilisation de SCons pour Godot, voir Introduction au buildsystem.

Compilation

Vous devez ouvrir une invite Visual Studio adéquate pour cibler l'architecture que vous voulez construire. Vérifiez ref:doc_compiling_for_windows pour voir comment ces invites fonctionnent.

Il y a trois architectures cibles pour UWP : x86 (32-bits), x64 (64-bits) et ARM (32-bits). Pour la dernière, vous devez exécuter vcvarsall.bat avec x86_arm ou amd64_arm comme argument pour définir l'environnement.

Réglez``ANGLE_SRC_PATH`` dans le répertoire où vous avez téléchargé le code source de ANGLE. Le processus de construction voudra également construire ANGLE pour produire les DLLs nécessaires pour l'architecture sélectionnée.

Une fois que c'est défini, exécutez la commande SCons de la même manière que pour les autres plateformes :

C:\godot>scons platform=uwp

Création des modèles d'exportation UWP

Pour exporter à l'aide de l'éditeur, vous devez construire correctement le paquet de modèles. Vous avez besoin des trois architectures avec les modèles debug et release pour pouvoir exporter.

Ouvrez l'invite de commande pour une architecture et exécutez SCons deux fois (une fois pour chaque cible) :

C:\godot>scons platform=uwp target=release_debug
C:\godot>scons platform=uwp target=release

Répétez pour les autres architectures.

A la fin, votre dossier bin contiendra les binaires .exe avec un nom similaire à godot.uwp.opt.debug.32.x86.exe (avec des variations pour chaque cible/architecture).

Copiez l'un de ceux-ci dans misc/dist/uwp_template dans le dossier source de Godot et renommez le binaire en godot.uwp.exe. Depuis la source ANGLE, sous winrt/10/src/Release_%arch% (où %arch% peut être Win32, x64 ou ARM), récupérez le libEGL.dll et le libGLESv2.dll, en les mettant avec l'exécutable.

Ajoutez les fichiers du dossier uwp_template dans un ZIP. Renommez le ZIP résultant en fonction de la cible/architecture du modèle :

uwp_x86_debug.zip
uwp_x86_release.zip
uwp_x64_debug.zip
uwp_x64_release.zip
uwp_arm_debug.zip
uwp_arm_release.zip

Déplacez ces modèles dans le dossier [versionstring]\templates dans le chemin des paramètres de Godot, où versionstring est la version de Godot pour laquelle vous avez compilé les modèles d'exportation - par exemple 3.0.alpha pour la version alpha de Godot 3. Si vous ne souhaitez pas remplacer les modèles, vous pouvez définir la propriété "Custom Package" dans la fenêtre d'exportation.

Utilisation des applications UWP avec Visual Studio

Si vous souhaitez déboguer le port UWP ou simplement exécuter vos applications sans empaquetage ni signature, vous pouvez les déployer et les lancer à l'aide de Visual Studio. C'est peut-être le moyen le plus simple si vous testez sur un appareil tel qu'un téléphone Windows ou une Xbox One.

Dans le dossier source ANGLE, ouvrez templates et double-cliquez sur le fichier script install.bat. Cela installera les modèles de projet Visual Studio pour les applications ANGLE.

Si vous n'avez pas encore construit Godot, ouvrez la solution winrt/10/src/angle.sln à partir de la source d'ANGLE et construisez-le pour la cible Release/Win32. Vous pouvez également avoir besoin de le compiler pour ARM si vous prévoyez de fonctionner sur un appareil. Vous pouvez également utiliser MSBuild si vous êtes à l'aise avec la ligne de commande.

Créez un nouveau projet Windows App en utilisant le modèle de projet "App for OpenGL ES (Windows Universal)", qui se trouve dans la catégorie Visual C++/Windows/Universal.

Il s'agit d'un projet de base avec les dépendances ANGLE déjà mises en place. Cependant, par défaut, il choisit la version de débogage des DLL qui ont généralement de mauvaises performances. Donc, dans le filtre "Binaries", cliquez sur chacune des DLL à cet endroit et dans la fenêtre "Propriétés" et changez le chemin relatif de "Debug_Win32" en "Release_Win32" (ou "Release_ARM" pour les appareils).

Dans le même filtre "Binaries", sélectionnez "Add > Existing Item" et pointez vers l'exécutable Godot pour UWP que vous avez. Dans la fenêtre "Properties", mettez "Content" à True pour qu'il soit inclus dans le projet.

Faites un clic droit sur le fichier Package.appxmanifest et sélectionnez "Open With... > XML (Text) Editor". Dans l'élément Package/Applications/Application, remplacez l'attribut Executable $targetnametoken$.exe par godot.uwp.exe (ou tout autre nom donné à votre exécutable Godot). Changez également l'attribut EntryPoint en GodotUWP.App. Cela permettra de s'assurer que l'exécutable Godot est correctement appelé au démarrage de l'application.

Créez un dossier (pas un filtre) appelé game dans votre dossier de projet Visual Studio et vous pouvez y mettre soit un fichier data.pck soit vos fichiers de projet Godot. Après cela, assurez-vous d'inclure le tout avec la commande "Add > Existing Item" et mettez leur propriété "Content" à True pour qu'ils soient copiés dans l'application.

Pour faciliter le flux de travail, vous pouvez ouvrir "Solution Properties" et, dans la section "Configuration", décocher l'option "Build" de l'application. Vous devez encore construire au moins une fois pour générer certains fichiers nécessaires, vous pouvez le faire en cliquant avec le bouton droit de la souris sur le projet (pas la solution) dans "Solution Explorer" et en sélectionnant "Build".

Il vous suffit maintenant de lancer le projet et votre application devrait s'ouvrir. Vous pouvez également utiliser l'option "Start Without Debugging" du menu "Debug" (ou appuyer sur Ctrl + F5) pour accélérer le lancement.