Aide sur le langage des .menu

Tout sur la création & l'utilisation des Mods pour le jeu, des courts aux animations en passant par les joueurs & tournois (ainsi que tous les bugs qu'ils peuvent créer ! ;) )

Aide sur le langage des .menu

Postby kersou » 28 Jul 2011, 08:58

Bonjour Manutoo,

Je sais que tu n'as pas trop de temps pour aider sur les mods...
Mais bon j'ai besoin d'un peu d'aide pour automatiser et factoriser certaines choses (et pour éviter que mon machin devient une trop grosse usine à gaz)

Je n'ai pas bien saisi la création de variables à partir de variables internes dans les menu (avec def $s1, ...).
Si dans une variable interne j'ai une chaine de caractères (par ex. le nom du tournoi), y a t il un moyen simple de créer dynamiquement une nouvelle variable contenant le nom d'un répertoire (par ex. Ico/Wimbledon) ? En gros est-ce possible de concatèner des variables ?
Ceci pour éviter de dupliquer les shaders définissant les images.

Je ne suis pas sûr d'être très clair...
Merci d'avance
Last edited by kersou on 07 Nov 2011, 16:27, edited 1 time in total.
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby Ptifilou018 » 28 Jul 2011, 12:45

J'ai rien compris perso :-)
Ptifilou018
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 52
Gaming Since: 12 Jun 2011, 17:10

Re: Aide sur le langage des .menu

Postby kersou » 28 Jul 2011, 16:04

Ptifilou018, tu as dû mal lire parce que c'est vachement bien expliqué... ;-)

Manutoo,

Autre question :
En plus de la gestion automatique des scoreboards, j'aimerais avoir dans le futur 2 scoreboards à l'écran :
- un simplifié (noms courts et scores) toujours affiché
- un "full info" (noms longs, drapeaux, nom du tournoi, ...) qui n'apparaît qu'à chaque début de jeu et qui disparait quand le joueur appuie sur un bouton ou quand l'ordinateur sert ou au bout d'un certain temps...
Je me dis que c'est possible puisque c'est un peu comme le infoboard qui apparait en haut à gauche.
A ton avis, est-ce possible ?
Si oui, y a t il une variable qui indique le changement de jeu (peut-être avec le score du jeu à 00/00 ?) et une autre pour l'appui sur un bouton (je pourrais voir comme c'est fait dans les autres menus...) ?

Merci d'avance pour tes réponses !!!
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 29 Jul 2011, 05:05

Bonjour,

0-- j'aide bcp + facilement les gens qui lisent la doc, le HowToMod.html et le forum, et qui donc ne posent pas des questions dont la réponse existe déjà, d'autant plus lorsque qu'ils créent des choses pour le jeu et aident les autres joueurs... ;)

1--
Code: Select all
   SetCfg $p /Intern/SectionMode
   CatCfg $p $_p$1

Si SectionMode contient "WorldTour" & $1 vaut 1, ceci va mettre "WorldTour_p1" dans $p.

Sans variable dans la chaîne à ajouter, la syntaxe est plus simple :
Code: Select all
CatCfg $p _p1

Par contre, tous les params de Image sont statiques, tu ne peux pas utiliser de variables (parce que c'est initialisé au chargement).

Donc tu ne peux pas faire ce que tu veux... Le mieux, c'est de faire un HudBoardScoreXX.menu & HudBoardScoreSubXX.menu par type de scoreboard, je pense... :thinking:

2-- Les menus ne reçoivent aucun input quand le jeu est actif ; et si les menus sont actif, le jeu est en pause.
Le Infoboard est lié à une variable temporelle et des paramètres qui sont assignées par le moteur du jeu.
Si tu veux, je peux te rajouter une variable /Intern/PointTime qui donnerait le temps en secondes depuis le début du point, ce qui te permettrait d'afficher qqchose pendant les 5 premières secondes par exemple (ou tu pourrais aussi ouvrir un menu quand PointTime est remis à 0).
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 29 Jul 2011, 10:55

Manutoo,

0-- Toujours un grand merci pour tes réponses précises et détaillées... surtout lorsque les questions ne priment pas par leur grande clarté !

1-- Ok pour la concaténation, ça m'ouvre pas mal de perspectives !
Pour les différents scoreboards, c'est effectivement ce que j'avais commencé à faire :
HudBoardScoreWIM.menu et HudBoardScoreSubWIM.menu pour Wimbledon (qui va chercher les images dans le sous-répertoires Wimbledon)
HudBoardScoreUSO.menu et HudBoardScoreSubUSO.menu pour US Open
...
Ca se passe bien mais je n'aimais pas trop le principe de tout dupliquer... Au final, le principal c'est que ça marche !

2-- Je pense que tu connais déjà ma réponse :D : un grand oui à la nouvelle variable /Intern/PointTime, c'est excellent !

3-- Forcément, ça ne serait pas rigolo si je n'avais pas une autre question.
Elle rejoint un peu la première d'ailleurs et concerne le problème de l'affichage des drapeaux.
pb des drapeaux
Pour afficher les drapeaux dans les scoreboard, j'utilise ce qui est fait dans le menu de la feuille des joueurs à savoir un parcours des drapeaux avec "SlideCountry" et la fonction Image avec un shader spécial (pour ne pas avoir l'animation).
As-tu une idée d'où peut venir le problème (la taille du drapeau semble exploser dans la page des joueurs) ?
Dans le traitement, il y a aussi la fonction "CycleButton" avec #Image comme argument.
Ce n'est pas très clair pour moi : dans le shader, on définit + ou - le chemin des images et "toto" est remplacé par ce qui suit le nom du shader.
Comment le #Image est passé à la commande Image ou ImageFlag ?

Allez soyons fous ! Voici le code de ma gestion des drapeaux (qui n'est pas terrible c'est sûr, surtout sur la double utilisation de Image et ImageFlag...) :
Code: Select all
//=== Countries flags only for singles
// 1/8 of SbgDx and center => 1/16
def Sdx SbgDx -0.0625
add Sdx -2
// TBD
// Not proud of the following lines...
// Code needed in order to activate the flags with Image instead of ImageFlag.
// Image function allows to have square flag
item
{
   ImageFlag FlagIco 0
   CycleButton #Image
   Pos -1000 -1000   
   OnAction
   {
      SlideCountry /InGame_p1/Country 0 /WT_Intern/NbCountry-1
   }
}
item
{
   //ImageFlag FlagIco 0.15
   Image FlagIco 9 9
   Pos /Intern/ScoreX+Sdx ScoreYu Center Center
   ShowIf /Intern/GameType 2
   ShowIfNot /WorldTour/PlayerCfg 3
}

item
{
   ImageFlag FlagIco 0.
   CycleButton #Image
   Pos -1000 -1000   
   OnAction
   {
      SlideCountry /InGame_p2/Country 0 /WT_Intern/NbCountry-1
   }
}
item
{
   //ImageFlag FlagIco 0.15
   Image FlagIco 9 9
   Pos /Intern/ScoreX+Sdx ScoreYd Center Center
   ShowIf /Intern/GameType 2
   ShowIfNot /WorldTour/PlayerCfg 3
}


Merci si déjà tu m'as lu jusqu'ici ! :?
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 30 Jul 2011, 06:19

2- Tu peux dl le patch, tu devrais avoir la variable ; c'est en secondes ; la valeur passent à 20s quand le joueur humain appuie sur le bouton pour démarrer son service, mais ne change pas quand le CPU démarre son service.

3- CycleButton #Image ne fait rien ; au début je voulais que ça puisse charger des images de type "NameXX", mais ct trop pénible pour gérer le chargement et nettoyage dynamique, alors j'ai fait #ImageGI à la place
ImageFlag va chercher le 1èr param de la 1ère commande OnAction.

Le prb de la taille, c'est que le système assume que tous les Items qui utilisent ImageFlag utilisent le même shader, et restaure la taille du précédent Item qd un nouvel item affiche un drapeau ; la taille est stockée dans la texture du shader, et donc ça foire quand 2 shaders différents sont utilisés ; c'est possible de régler ça, mais ça prendrait un peu de temps...
Ressaye p'tet avec le shader d'origine, je ne pense pas que ça ralentisse par rapport à ce que tu as actuellement... Là, tu charges et nettoie le drapeau 2 fois / image. Pour vraiment optimiser, il faudrait utiliser 2 shaders différents, 1 par joueur, afin que chaque Shader garde en mémoire le drapeau d'un joueur.
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 30 Jul 2011, 23:51

Salut

2- J'ai testé et c'est vraiment excellent ! J'en suis au tout début (faire apparaitre le logo et le nom du tournoi à chaque début de jeu) et ça marche nickel.
Bravo et merci pour la mise à disposition immédiate !

3- Effectivement, avec le shader d'origine, il n'y a plus le problème mais je vais devoir enlever l'animation sur le drapeau car mon pauvre PC est à la rue !
En fait, au départ, je ne voulais pas utiliser la fonction ImageFlag mais la fonction Image (pour maîtriser la taille du drapeau en pixel) mais avec cette fonction tout seule je n'arrive pas à ouvrir les drapeaux : y a t il une incompatibilité entre le SlideCountry et la fonction Image ?
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 31 Jul 2011, 04:45

3- je ne comprends pas trop pourquoi ça fait ramer ton PC... C'est juste une 2nde texture en scrolling... A moins que pour une raison étrange, ça mène au chargement des drapeaux au lieu de les garder en mémoire (mais d'après le code que tu m'as montré, cela ne devrait pas les garder en mémoire... :thinking: )

Image se contente d'afficher l'image indiquée (le shader pour être exact ;) ), cela ne fait rien de dynamique. ImageFlag regarde le paramètre de SlideCountry (mais cela pourrait être une autre Action, par exemple je pense que ds ton code, tu pourrais avoir "SetCfg /InGame_p2/Country 0" à la place, pour le même résultat), l'utilise pour trouver le drapeau & le charger, et ensuite passe la main à la function Image.
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 01 Aug 2011, 22:48

2- Je veux faire apparaître le full scoreboard à chaque changement de jeu (mise à zéro du score), et pendant 5s ou tant que le joueur n'a pas servi.
Ca marche presque car le scoreboard réapparaît si le joueur rate son premier service !
Y a t il une variable qui me permet de savoir si le joueur joue son 2ème service (ou a râté son 1er service...) ?

3- Tu as raison, j'ai l'impression que si j'affiche le drapeau avec l'animation ou sans l'animation, c'est pareil : mon PC rame !
Bon c'est un vieux PC de 7 ans aussi !!! (Le nouveau PC devrait arriver jeudi :D :dance: ...)
Quand j'affiche les drapeaux avec 2 shaders différents, l'ordi souffre moins mais après je me retrouve avec le pb de taille...
Il me tarde de voir sur le nouveau PC !

4- Les fichiers menu doivent être organisés à plat dans le répertoire Menu ou le système est-il capable de charger les menus dans des sous-répertoires ?
Je souhaitais avoir une arbo du type :
Menu/Spec/Wimbledon/hudxxx..menu
Menu/Spec/USOpen/hudxxx..menu
Bon après, à plat, ça marche bien...

D'avance merci !
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 02 Aug 2011, 05:50

2- non, y'a rien de pratique... Je rajouterai une autre variable avec la prochaine màj...

3- Je viens de penser à un moyen simple de régler ça : avec une taille de 0, le ImageFlag n'affiche rien, se contente de charger le drapeau et ne touche pas à la taille de l'Item précédent ; ça ne règlera pas le cas général, mais ça marchera pour ton cas.

4- yup, tout doit être dans le même répertoire
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 09 Aug 2011, 12:56

Bonjour Manutoo

Au niveau des flags, j'ai essayé avec une taille à 0 et/ou avec des shaders différents pour les 2 joueurs : ça ralentit mon vieux PC (le nouveau se faisant toujours attendre je ne sais pas ce que ça donne sur un pc un peu plus récent...).
Bon comme les drapeaux ne restent pas longtemps à l'écran, ce n'est pas trop gênant !

Autres questions sur les variables des menus :
J'ai un fichier WIM_hud.def dans lequel je définis des constantes (font, positions et tailles, ...) pour le hud de Wimbledon.
Ensuite, j'ai un fichier menu avec en entête une sorte de switch sensé gérer les 2 scoreboards (full ou simple).
Code: Select all
// $1: 0 for light scoreboard, 1 for full scoreboard
item
{
   OnEnter !Always
   OnActionIf $1 0
   {
      SetCfg /Intern/ScoreX LightScoreX
      SetCfg /Intern/ScoreY LightScoreY
   }   
   OnActionIf $1 1
   {
      SetCfg /Intern/ScoreX FullScoreX
      SetCfg /Intern/ScoreY FullScoreY
   }
   Invisible
}

Y a t il un moyen de définir une variable à partir de /Intern/ScoreX ?
Je voulais faire un truc du genre :
Code: Select all
def Sdx /Intern/ScoreX 0.75

Mais ça n'a pas l'air de marcher !

Merci pour tes éclaircissements
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 10 Aug 2011, 06:05

Ooops, pour la taille de 0, j'ai oublié de dire que ce sera fait pour la prochaine màj..! ;-)

"def Var" défini une variable statique.
Mais tu peux faire ce que tu veux avec une variable Ini :
Code: Select all
MulAddMulCfg /Intern/Sdx 0 /Intern/ScoreX 0.75
; et ensuite, tu l'utilises pour le Pos :
Code: Select all
Pos /Intern/Sdx Sdy
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 10 Aug 2011, 15:47

manutoo wrote:Ooops, pour la taille de 0, j'ai oublié de dire que ce sera fait pour la prochaine màj..! ;-)

Ah je me disais aussi !
manutoo wrote:"def Var" défini une variable statique.
Mais tu peux faire ce que tu veux avec une variable Ini :
Code: Select all
MulAddMulCfg /Intern/Sdx 0 /Intern/ScoreX 0.75
; et ensuite, tu l'utilises pour le Pos :
Code: Select all
Pos /Intern/Sdx Sdy

ok merci c'est ce que je faisais finalement...
Je posais la question au cas j'avais raté qq chose de plus simple !
En tout cas, ça marche !
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Re: Aide sur le langage des .menu

Postby manutoo » 03 Sep 2011, 10:11

==> /Intern/OverallPointTime ; incrémenté de 10s au moment où le joueur lance la balle au service (Humain ou CPU), et remis à 0 uniquement au tout 1er service de chaque point
Ca sera présent dans la prochaine màj, sortie d'ici 1 semaine...
ManuTOO
== Mana Games ==

>> I don't answer Private Message, except if it's really a _Private_ topic <<
User avatar
manutoo
Game Author
 
Messages: 18689
Gaming Since: 24 Jan 2004, 15:38
Location: France

Re: Aide sur le langage des .menu

Postby kersou » 03 Sep 2011, 15:01

Parfait ! Merci !

Pour info, par rapport à mon pb de drapeaux, mon nouveau PC ne souffre d'aucun ralentissement quand le scoreboard complet s'affiche !
D'ailleurs, le jeu prend une autre dimension avec mon nouveau PC... tellement ça va vite !!! Trop bon...
Kersou
kersou
crazy of the little yellow ball
crazy of the little yellow ball
 
Messages: 613
Gaming Since: 23 Jan 2011, 00:47
Location: France

Next

Return to Modding - TE2013 [Fr]

Who is online

Users browsing this forum: No registered users and 3 guests