khanat-opennel-code/code/ryzom/client/data/gamedev/interfaces/readme.txt

218 lines
7.9 KiB
Text
Raw Normal View History

2015-12-13 19:04:37 +00:00
Fichier "ctrls.txt" :
---------------------
D<EFBFBD>finir le type de chaque control.
C'est compos<6F> de l'identifiant du control(unique) et du type du control.
ATTENTION : Ne pas utiliser le control
Les types <20>tant :
- TEXT
- CAPTURE
- BUTTON
- RADIO
- BITMAP
- LIST
Ex:
[3] TEXT
[1] BITMAP
Dans l'exemple le bouton 3 sera un texte et le 1 une bitmap.
Rien oblige <20> ce que les num<75>ros se suivent.
Si le type est mal d<>fini, le control va quand m<>me <20>tre ins<6E>r<EFBFBD> dans la liste des controls,
mais comme <20>tant un control ind<6E>fini.
Fichier "texts.txt" :
---------------------
R<EFBFBD>pertorie les textes des interfaces en y associant un ID.
C'est ce fichier que l'on pourra localiser en changeant les textes mais pas les identifiants.
[xxx] ou xxx est 1 identifiant <20> donner au texte.
Suivi du texte.
Ex:
[1]CREATE
[2]Do you want to quit ?
le texte d'ID 1 sera remplac<61> par "CREATE".
le texte d'ID 2 sera remplac<61> par "Do you want to quit ?".
ATTENTION il est important que le texte soit directement apr<70>s le "]" et qu'ils ne comporte pas de "[" ou "]".
En effet les textes pouvant avoir des espaces cela permet d'en tenir compte facilement.
Fichier "textures.txt" :
------------------------
R<EFBFBD>pertorie les fichiers de textures utilis<69>es dans les interfaces en y associant un ID.
[xxx] ou xxx est 1 identifiant <20> donner <20> la texture.
Suivi du nom de la texture.
Ex:
[1]Bois.tga
[2]Brique.tga
la texture 1 sera ce qu'il y a dans le fichier bois.tga et
la texture 2 sera ce qu'il y a dans le fichier brique.tga.
ATTENTION il est important que le nom de fichier soit directement apr<70>s le "]".
En effet les nom de fichier pouvant avoir des espaces cela permet d'en tenir compte facilement.
Fichier "pens.txt" :
--------------------
D<EFBFBD>fini les stylos avec lesquels on <20>crit les diff<66>rents textes des interfaces.
Un "pen" est compos<6F> d'une taille de texture, d'un RGBA et d'une ombre ou non.
[...] -> permet de d<>finir l'aspect du stylo par d<>faut.
Sinon pour pr<70>ciser l'aspect d'un styloen particulier, on met l'ID du stylo entre crochets.
Le premier param<61>tre est la taille de la Font.
Les 4 suivant sont pour le RGBA(couleur(rouge-vert-bleu) et l'alpha(transparence))
Le suivant d<>fini s'il y a une ombre ou non (0 pour ne pas ombrer).
Fichier "buttons.txt" :
-----------------------
D<EFBFBD>fini l'aspect des boutons.
A Savoir qu'un bouton est a 3 <20>tats : Enfonc<6E>, Relach<63>, d<>sactiv<69>.
Qu'il y a 1 texture pour les 3 <20>tats et d'un RGBA par <20>tat.
[...] -> permet de d<>finir l'aspect des boutons par d<>faut.
Sinon pour pr<70>ciser l'aspect d'un bouton en particulier on met l'ID du bouton entre crochet.
Les 3 premiers param<61>tres sont des entiers d<>terminant les textures <20> utiliser.
Les suivant sont 3 s<>ries de 4 valeur -> 3 RGBA
1 RGBA est compos<6F> d'une valeur pour le rouge, une pour le vert, une pour le bleu et l'alpha.
Ex:
[...] 4 4 0 255 255 255 255 150 150 255 255 100 100 100 255
[2] 4 3 0 55 100 150 255 50 200 150 255 100 100 100 255
Les boutons seront tous avec la texture 4 en mode enfonc<6E> et relach<63> et 0 en d<>sactiv<69>,
SAUF le bouton d'ID 2 qui sera avec une texture 3 en mode relach<63>.
Le RGBA respect le m<>me ordre que les texture (enfonc<6E> - relach<63> - d<>sactiv<69>).
Fichier "backgrounds.txt" :
---------------------------
D<EFBFBD>fini la texture de background <20> utiliser dans chaque OSD (fen<65>tre d'interface).
[...] -> permet de d<>finir le background par d<>faut.
Sinon pour pr<70>ciser le background d'un OSD en particulier, on met l'ID de l'OSD entre crochets.
Ex:
[...] 4
[1] 2
[2] 3
Par defaut les OSD auront pour backgroud la texture 4, sauf
l'OSD 1 qui aura la texture 2, et
l'OSD 2 qui aura la texture 3.
Fichiers d<>crivant les OSD :
----------------------------
Un OSD est compos<6F> d'une premi<6D>re parti d<>crivant la fen<65>tre de fa<66>on g<>n<EFBFBD>ral(position-taille)
et d'une partie <20>tant la liste de tous les controls qu'il contient,
les control <20>tant lister par ordre d'affichage.
Ces controls pouvant <20>tre des :
1.Textes :
2.Bitmaps :
3.Boutons :
4.Listes :
5.Saisies :
6.Radio Boutons :
Une partie d<>crivant chaque control est commune :
"Parent:" = Un control peut <20> avoir c coordonn<6E>es relavies <20> un autre control (p<>re).
Il suffit de mettre l'ID du control devant <20>tre le p<>re. 0 ou si on ne pr<70>cise pas de parent,
<EFBFBD>tant l'OSD comme parent.
ATTENTION le parent doit <20>tre d<>clar<61> avant (A CHANGER PLUS TARD).
"Origin:" = Point du parent servant de r<>f<EFBFBD>rence par rapport au p<>re.
9 choix, les m<>me que pour le HotSpot,qui sont : BL BM BR ML MM MR TL TM TR.
Bottom(B) Middle(M) Top(T) Left(L) Right(R).
Si le p<>re esst un bouton, une Orgin: en BR signifierait qu'on prend comme point de rep<65>re (0,0);
l'angle en bas <20> droite du bouton p<>re pour afficher le control.
"HotSpot:" = D<>fini comment afficher le control par rapport <20> l'origine.
9 choix, les m<>me que pour l'"Origin:".
BR signifiera qu'on veut afficher le control en bas <20> droite de ce point.
BM en desous du point <20>galement, mais centr<74> en largeur.
"X:" = position X ente 0 et 1 du control.
(d<>pendant de la taille de l'OSD) (X positif sur la Droite)
"Y:" = position Y ente 0 et 1 du control.
(d<>pendant de la taille de l'OSD) (Y positif vers le Haut)
"X_Pixel:" = position X en Pixel du control.
(ind<6E>pendant de la taille de l'OSD) (converti puis ajout<75> <20> X:)
"Y_Pixel:" = position Y en Pixel du control.
(ind<6E>pendant de la taille de l'OSD) (converti puis ajout<75> <20> Y:)
"W:" = taille de la fen<65>tre en largeur entre 0 et 1.
(d<>pendant de la taille de l'OSD)
"H:" = taille de la fen<65>tre en hauteur entre 0 et 1.
(d<>pendant de la taille de l'OSD)
"W_Pixel:" = taille de la fen<65>tre en largeur en pixel.
(independant de la taille de l'OSD)
"H_Pixel:" = taille de la fen<65>tre en hauteur en pixel.
(independant de la taille de l'OSD)
REMARQUE : L'ordre des clefs n'importe pas !
Mais chaque type de control a <20>galement une partie de script qui lui est propre :
1.Textes :
D<>j<EFBFBD> il faut savoir que la Largeur et Hauteur (W: H: W_Pixel: H_Pixel:) ne servent pas pour les textes.
Les textes ont 2 clefs en plus ; l'ID du texte et le stylo <20> appliquer.
"Text:" = ID du text <20> afficher (voir "texts.txt").
"Pen:" = Stylo <20> utiliser pour <20>crire le texte (voir "pens.txt").
2.Bitmaps :
"Texture:" = Num<75>ro de la texture <20> afficher (voir "texture.txt").
"RGBA:" = 4 champs rouge vert bleu alpha (entre 0 et 255).
3.Boutons :
"Function:" = Num<75>ro de la fonction <20> appeler lors de l'appui sur le bouton.
"Text:" = ID du text du bouton <20> afficher.
"Pen:" = Stylo <20> appliquer pour le texte du bouton.
4.Listes :
"Pen:" = Stylo pour les textes de la liste <20> utiliser.
5.Saisies :
"Function:" = Num<75>ro de la fonction <20> appeler lors de l'appuie de la touche ENTER.
"Pen:" = Stylo <20> utiliser pour <20>crire.
6.Radio Boutons :
Pour les radios boutons la partie commune de clef ne sert <20> rien !
"Buttons" = Indique le d<>part de la liste des boutons qui vont <20>tre regroup<75>s.
Mettre des num<75>ros de control (Boutons seulement) apr<70>s et qui sont d<>j<EFBFBD> d<>fini avant.
Les boutons vont devenir en quelque sorte des fils du radio bouton.
"End" = Indique la fin de la liste.
Mettre cette clef une fois que tous les boutons <20> regrouper ont <20>taient list<73>s.
REMARQUE : Pour chaque control (ligne), l'ordre des clefs n'a aucune importance !
Ex:
Type: 1 X: 0.1 Y: 0.1 Width: 500 Height: 500 MoveX: 0 MoveY: 400 MoveWidth: 400 MoveHeight: 50
[0] Origin: TL HotSpot: BR X: 0.1 Y: -0.1 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Texture: 2 RGBA: 255 128 128 255
[1] Origin: TL HotSpot: BR X: 0 Y: -0.5 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 1 Text: 1 Pen: 1
[2] Parent: 1 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 2 Text: 2 Pen: 1
[3] Parent: 2 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 3 Text: 3 Pen: 1
[4] Parent: 3 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 4 Text: 4 Pen: 1
[5] Buttons: 1 2 3 4 End