mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-30 04:40:53 +00:00
218 lines
7.9 KiB
Text
218 lines
7.9 KiB
Text
|
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
|