Modding Fusion · UNITS / AVIA / LAND/DOM
EnglishSources et limites
Le catalogue est un relevé des fichiers de Fusion, accompagné d’explications. Il couvre UNITS, AVIA et les réglages LAND/DOM du jeu, de l’éditeur et des archives d’environnement.
Les exemples conservent les valeurs d’origine. Les séquences inhabituelles ne constituent pas des modèles à copier sans vérification.
Le guide de création d’unités de Fusion a été ajouté le 1er octobre 2026. Ce document récent n’est pas une preuve indépendante du comportement du moteur ou de l’éditeur. Les fichiers cités ont été vérifiés, mais la procédure complète n’a pas été testée ici. Son explication des entrées préfixées par * dans l’éditeur reste à vérifier.
Lecteur du moteur : le code de HS2Engine permet de vérifier la lecture de la propriété. Il ne prouve pas tous les effets en jeu. Les notes signalent les particularités connues.
Observation des fichiers : la propriété existe dans Fusion. Son comportement exact reste à confirmer. Cela concerne notamment certaines propriétés de l’éditeur.
Des entrées supplémentaires décrivent les propriétés reconnues par le moteur mais absentes des fiches Fusion. Chaque entrée porte une indication de source. Son exemple de syntaxe ne vient pas d’une fiche Fusion. Les projectiles et tables globales servent de références liées.
Les archives chargées et leur ordre dépendent de l’installation. Ce catalogue ne résout pas les remplacements entre archives. Les listes de classes indiquent les appartenances observées dans les registres.
Les textes français utilisent des phrases courtes. Les textes anglais suivent les règles et le vocabulaire ASD-STE100, Issue 9. Les identifiants techniques et les exemples restent inchangés.
Termes techniques
Une unité est un type d’objet que le jeu crée à partir d’une définition UNITS. Une fiche contient les propriétés de ce type.
Une propriété est une entrée nommée de la fiche. Un lecteur du moteur est le code qui lit cette entrée et stocke ses valeurs.
Un registre liste les classes et les identifiants des définitions. Un identifiant relie une définition, une ressource ou une classe.
La précision de l’arme désigne le champ accuracy. Ce champ n’est pas un pourcentage. Une paire contient deux valeurs dont le sens dépend de la propriété.
Un drapeau est un réglage du moteur activé ou désactivé. Un schéma sonore est un groupe nommé de ressources sonores.
Bâtiments et ressources
Le relevé couvre 53 fichiers de réglages, 20 propriétés et 18 conteneurs de bâtiments. Les témoins conservent une ligne pour chaque séquence distincte, avec son sélecteur. Ils ne représentent pas toutes les occurrences.
La matrice ci-dessous distingue les champs lus des effets encore inconnus. Le relevé des ressources signale les limites des contrôles graphiques. Les chemins de fichiers remplacent les liens vers les dépôts privés.
Un indice d’objet identifie une case de dom.res. Une classe de ressource est son type numérique. Un état de dégâts choisit un groupe d’images et de contributions HP. Ces noms sont distincts des classes UNITS et de seltype.
Bilan de la recherche
La recherche a commencé par 23 propriétés dont la lecture restait à confirmer. Elle ajoute 19 propriétés absentes des fiches Fusion. Les notes de chaque propriété distinguent les résultats confirmés des détails encore inconnus.
Propriétés supplémentaires du moteur (19)
twosoldbonus(UNITS)animaterun(UNITS)helltimefactor(UNITS)press_possibility(UNITS)reloadtime(UNITS)captivevistime(UNITS)captivevisradius(UNITS)spyfurg(UNITS)idlesnd_reload(UNITS)shot_startburstsound(UNITS)shot1_startburstsound(UNITS)shot2_startburstsound(UNITS)shot_grn_startburstsound(AVIA)shot_grn_endburstsound(AVIA)shot_air_startburstsound(AVIA)shot_air_endburstsound(AVIA)shot_air_altitude(AVIA)reloadtime(AVIA)dropaltitude(AVIA)
Détails encore à confirmer
Le moteur du jeu ignore les préfixes *. L’utilisation de ces entrées par l’éditeur reste à vérifier. Pour les autres entrées ci-dessous, la lecture est connue mais certaines conditions d’action restent inconnues.
*canbereinf(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.*comment(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.*guncrewunit(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.*name(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.*nationtype(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.*picture(UNITS) — Le jeu ignore toute entrée dont le nom commence par *. Le lecteur du jeu cité confirme ce point. Aucun lecteur Mapeditor ni essai dans l’éditeur ne confirme ici l’utilisation de cette entrée par l’éditeur.marad(UNITS) — L’action compare random(32767) × taux de reload avec marad pour chaque type de munition. Une comparaison réussie ajoute une munition, sans dépasser la capacité. Le déclencheur de l’action reste à confirmer.name(AVIA) — Cette entrée apparaît dans une archive de l’éditeur. Aucun lecteur AVIA du jeu inspecté n’accepte name. Ne l’ajoutez pas à une fiche AVIA du jeu.animaterun(UNITS) — Le lecteur conserve cette valeur sans changement. La différence exacte d’animation reste à confirmer.press_possibility(UNITS) — La lecture est confirmée. Le calcul exact de la probabilité reste à confirmer.reloadtime(UNITS) — Ce champ appartient à l’unité plane. Il est distinct du rechargement des armes AVIA. Son usage exact pendant la partie reste à confirmer.captivevistime(UNITS) — Le code de visibilité des prisonniers utilise cette valeur. Les conditions complètes de capture et de visibilité restent à confirmer.captivevisradius(UNITS) — Le code de visibilité des prisonniers utilise cette valeur. Les conditions complètes de capture et de visibilité restent à confirmer.
Bâtiments : détails à confirmer
La lecture des 20 propriétés LAND/DOM est confirmée dans le code. Aucun essai de cette procédure dans Fusion ou Mapeditor n’a été exécuté ici. Les fonctions de santé, de combat, d’entrée et de détection des bâtiments restent en partie dans la DLL originale. Les unités des délais, la capacité, les facteurs de bonus et certains effets restent à confirmer.
armor— Le lecteur limite 256 moins chaque valeur entre 0 et 256. Les arguments numériques absents valent zéro : ils ne répètent pas la première valeur. Les faces et le calcul des dégâts des bâtiments restent à confirmer.bonus_shotdeadzone— Le lecteur stocke l’entier sans conversion. Le sens du facteur et la modification de la portée minimale restent à confirmer.bonus_shotrange— Le lecteur stocke l’entier sans conversion. Une valeur de 150 ne prouve pas un bonus de 150 %. Le calcul en jeu reste à confirmer.bonus_sight— Le lecteur accepte un entier signé, dont -1. L’effet sur les occupants et son unité restent à confirmer.delaybeforefight— La condition de reprise du combat et l’unité du délai restent à confirmer.level— Cette ligne est lue avant les ressources. Elle ne choisit pas l’état de dégâts d’un bâtiment placé. Son effet exact reste à confirmer.ondmg_addexplosion— Le format est celui de onhit_addexplosion. Les points-virgules terminent les groupes. Le déclenchement exact des effets reste à confirmer.ondmg_sound— Le lecteur utilise onDamage plutôt que onHit. Le déclenchement exact lors des dégâts ou changements d’état reste à confirmer.onhit_addexplosion— one et cell valent 1 et 2 dans le lecteur. La fraction est convertie en fraction de 256, plafonnée à 255. Les bornes sont stockées sur un octet. Le traitement exact des zones reste à confirmer.onhit_sound— Le point-virgule termine la référence sonore. Ce n’est pas un commentaire. Le déclenchement exact en jeu reste à confirmer.protection— La table est distincte du blindage. Les nombres absents valent zéro. Le lien exact avec les dégâts subis par les occupants reste à confirmer dans le code de santé des bâtiments.ruinedname— Le lecteur copie le texte sans recherche $ dans desc.lng. La condition exacte d’affichage reste à confirmer.timequantum— Le lecteur ne convertit pas la valeur. Son usage et son unité restent à confirmer.transferdelay— Les transferts concernés et l’unité du délai restent à confirmer.unloaddelay— L’unité du délai et la cadence de sortie restent à confirmer.unloadhp— Le lien avec une évacuation forcée reste à confirmer.
Matrice des preuves des bâtiments
| Propriété | Champ lu | Source observée |
|---|---|---|
armor | +0x3F8 | asien_unit/land/dom:27 |
bonus_shotdeadzone | +0x700 | asien_unit/land/dom:17 |
bonus_shotrange | +0x6FC | asien_unit/land/dom:16 |
bonus_sight | +0x6F8 | asien_unit/land/dom:15 |
delaybeforefight | +0x70C | asien_unit/land/dom:19 |
explosiontype | Damage[4] +0x04 | asien_unit/land/dom:6 |
hp | Damage[4] +0x00 | asien_unit/land/dom:5 |
level | Kind +0x0C | asien_unit/land/dom:4 |
name | +0x3D0 | asien_unit/land/dom:11 |
ondmg_addexplosion | Damage[4].onDamage.explosion | asien_unit/land/dom:8 |
ondmg_sound | Damage[4].onDamage.sound | asien_unit/land/dom:2 |
onhit_addexplosion | Damage[4].onHit.explosion | asien_unit/land/dom:9 |
onhit_sound | Damage[4].onHit.sound | asien_unit/land/dom:1 |
protection | +0x578 | ete_unit/LAND/dom:35 |
ruinedname | +0x710 | asien_unit/land/dom:20 |
seltype | +0x704 | asien_unit/land/dom:12 |
timequantum | +0x708 | asien_unit/land/dom:21 |
transferdelay | +0x730 | asien_unit/land/dom:18 |
unloaddelay | +0x3F4 | asien_unit/land/dom:14 |
unloadhp | +0x3F0 | asien_unit/land/dom:13 |
Pour résoudre ces questions : inspecter les fonctions originales de santé, combat, entrée et détection ; puis mesurer une seule modification sur une carte de test. Noter la DLL, les options de mods, les archives, l’indice et le résultat.
Preuves dans la DLL originale
L’inspection utilise l’image reconstruite Game_Dll.ref.dll. Les adresses citées dans les fiches sont des adresses virtuelles de cette image. La décompilation a été comparée au désassemblage pour les champs du lecteur et les conditions du bonus d’équipage. Cette vérification n’exécute pas le jeu.
SHA-256: 801c81fda0935cadcc5bac861c7df13d8c7b2e63f87d119f5d659435ec548ca6