tu dis incompatible salle de dog
c'est à dire que la version ne passera pas en salle de dog
ou que la version ne permet pas de créer et faire voler des missions en type dog alors que c'est pour jouer une coop (arrivée tarmak, arrivée décalée ...)
Effectivement, elle plantera. Les parties de code qui ont été modifiées ne concernent que le jeu online ou en coop. La partie spécifique concernant le dogfight ne l’a pas été. Si l’on veut utiliser le jeu dans ce mode, il plantera.
Les missions online se font donc en mode coop, c’est à dire tout le monde dans son avion à la même heure. Seules les IAs, avec le système de triggers décollent lorsque l’on veut.
Il n’y a pas le MDS de Zuti, mais le RRR est remplacé par autre chose qui interdit d’utiliser le même avion entre deux missions si le temps de réparation, réarmement, refueling après la première mission est supérieur au temps entre les deux missions.
Ces temps dépendent de l’état de l’appareil, de l’habileté des personnels sols, de l’état des stocks en pièces/carburants, etc… pour donner le feu vert à la réutilisation de l’appareil.
De même pour un pilote, s’il est gravement blessé au cours de la première mission, il ne pourra pas en redémarrer une autre dans les 5 minutes qui suivent.
Bien sur, il existe une réserve d’appareil et de pilote (avec de noms différents ou des numéros de série différents) pour ne pas rester bêtement à regarder les autres voler. Chaque pilote a au moins une spécialité, c’est à dire qu’un pilote de chasseur, ne pourra pas piloter le lendemain un bombardier…
Tout cela est géré automatiquement entre le parser et FB à travers de fichiers d’échange dans un sens ou dans l’autre. Il n’y a toutefois aucun changement à faire dans FB pour les noms de pilote, car ils sont définis directement (y compris la réserve) dans le parser.
Ces quelques lignes peuvent te donner une idée que cette version est adaptée au offline/coop mais est devenue incompatible avec le dog.
Pour la dernière remarque, suffit peut être seulement de retrouver le véritable esprit du moddeur (à opposer à l'esprit du développeur "commercial").
Quel avenir pour le projet de notre jeune ami (ou pour tous les utilisateurs d'IL2) si tous les moddeurs du monde vous emboitaient le pas ?
Pour l’esprit de développeur commercial, il y a longtemps qu’il n’existe plus sur FB, la dernière version payante remontant à plusieurs années. Le fait d’avoir une étiquette officielle s’appuyant sur un contrat que personne n’a vu ne change rien à l’affaire.
Bien que le code des mods soit planqué de différentes façons ne veut pour autant pas dire que tout accord de fourniture soit impossible. Peut être que celà ramènerait un peu de bon sens dans ce que beaucoup appellent la jungle des mods et éviterait des situations telles que les dénonce Freddy.
Pour le projet de Franboy, au demeurant sympathique, attendons qu’il commence à devenir opérationnel pour voir ce qu’il y a à faire, mais qu'il regarde un peu autours de lui. Il ya d'ailleurs sur notre forum, y compris sur C6, beaucoup de posts (en français) ou pas mal de détails sur les mods ont été écrits.
[edit]
Pour l’obfurscation, il existe pas mal de programmes adaptés au java, mais dans le cas de FB, comme il est impossible de compiler tout le code de FB, il ne faut surtout pas mélanger le code modifié au milieu du code de base.
Il vaut mieux créer des classes dédiées avec pratiquement toutes les variables en private et associer à ces dernière des fonctions publiques pour les appeler. La fonction publique se contentant de servir d’interface.
Attention, ce n’est pas une sécurité à 100% et comme il existe des obfurscateur et il existe aussi des dé-obfurscateur….
La solution la plus mature sur le sujet, est d’utiliser des dll, mais la programmation et l’interfaçage de fonctions natives C ou C++ avec le Java est assez pointu. L’avantage, c’est que les fonctions où il y a beaucoup de calculs s’exécutent plus vite qu’en Java, par contre il y a un prix à payer qui est le passage des paramètres sur la pile qui coute du temps. Il y a une balance à faire, mais dès qu’il y a beaucoup de calculs, c’est bon.
La solution alternative est d’utiliser un mélange des deux pour optimiser le temps.
![Exit :exit:](./images/smilies/exit.gif)