1

laquel de ces 2 libs est la + rapide?
Les smiley ont déjà commencé à envahir la terre... Yaronet est leur base principale!

http://perso.wanadoo.fr/dreamcastmemory

2

Vertel magic

Et de TRES loin si tu sais bien l'utiliser smile
Demande à MacIntoc ce qu'il en pense love
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

oki.. cool, j'aaurai pas à refaire le peu que j'ai déjà fait...
Les smiley ont déjà commencé à envahir la terre... Yaronet est leur base principale!

http://perso.wanadoo.fr/dreamcastmemory

4

fliiiiiiiiiiib grin
avatar
納 豆パワー!
I becamed a natto!!!1!one!

5

LOL

liquid fo pas déconner non plus rotfl
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

6

Vertel est en C ou en ASM?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

7

en C, l'asm pour moi c'est une suite d'instructions incompréhensibles grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

pas que pour toi grin
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

9

Il parrait que pour certaines mauvaises langues, mes sources sont également des suites incompréhensibles grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

10

ce ne sont pas des mauvaises langues grin
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

11

Mais si mais si... Tu verrais les sources de la nouvelle vertel rollgrin

au fait t'es pas sensé bosser toi ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

si, je pars là justement grin
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

13

Vas bosser tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

Vertyos a écrit :
Il parrait que pour certaines mauvaises langues, mes sources sont également des suites incompréhensibles grin

grin
Vark a écrit :
ce ne sont pas des mauvaises langues grin

Je confirme. grin

Quelques conseils:
* Utilise plus de 3 lettres pour la partie vraiment intéressante des noms de variables! Pour l'instant, tu as des noms de variables de 7 lettres, dont 4 inutiles (nom de type en 3 lettres et '_'). Le C permet des noms de variables de longueur arbitraire, il n'y a aucune raison de te limiter à 7 lettres!
* Il n'y a aucune raison non plus d'utiliser des noms de 7 lettres quand 1 lettre suffit (i au lieu de int_idx). En général:
- utilise i, j, k pour des indices de tableaux, sauf si tu as beaucoup d'indices qu'il faut savoir différencier
- utilise n, m pour des nombres d'éléments
- utilise x, y (et z pour du 3D) pour des coordonnées
- utilise des noms complets ou des abbréviations compréhensibles (par exemple filehdl - filehdls pour les tableaux - est acceptable pour "file handle", fhd ne l'est pas) pour tout le reste
* Arrête d'utiliser des préfixes tbl_!
- Ça ne sert à rien, on sait seulement que c'est un tableau, mais pas de quel type (ce qui est plus important).
- Il y a une convention établie pour faire reconnaître un tableau: on utilise un nom de variable au pluriel (et un au singulier pour les autres variables)! Évidemment, pour ça, il faut utiliser des noms reconnaissables comme des noms communs, pas des noms de 3 lettres.
* Arrête d'utiliser des préfixes int_, tout le monde sait que la plupart des variables sont des entiers.
* Si tu n'arrives pas à te passer des noms de types, mets-les à la fin, pas au début:
- C'est plus logique: "name_str" = "name string" (anglais grammaticalement correct) (ou "name of type string" si tu préfères, c'est également une interprétation correcte), "str_name" = "string name"? (anglais incorrect), "string of name"? (anglais incorrect).
- Ça permet de voir de quoi il s'agit à première vue d'œil. Là, dans tes sources, on n'arrive pas à distinguer tes variables, on voit plein de int_... et de tab_... (préfixes qui d'ailleurs sont inutiles).


Quelques exemples bidons (qui ne sont tirés d'aucun programme concret) pour montrer ton style et ce qu'il faut faire pour en faire du code lisible:

- style Vertyos: tbl_spr[int_idx]=tbl_spr[int_idx-1];
- style lisible: [i]sprites=sprites[i-1]
(Remarque l'absence totale d'indications de type redondantes, l'utilisation d'un mot complet pour sprite(s) et de i plutôt que idx.)

- style Vertyos: sym_sav=tbl_sav[int_num];
- style lisible: savestate_sym_entry=savestate_sym_entries[n];
(Remarque l'absence du préfixe int_, l'indication du type SYM_ENTRY à la fin, l'écriture de savestate et de sym_entry en entier, l'utilisation du pluriel, et le nom n à la place de (int_)num.)

- style Vertyos: if (int_enx<int_plx)
- style lisible: if (enemy_x<x)
(absence de int_, utilisation de x, absence de pl(ayer) - c'est évident: x tout seul est celui du personnage principal -, écriture de enemy en entier)

- style Vertyos: wnd_hms=FirstWindow;
- style lisible: homescr_window=FirstWindow;
(type à la fin, utilisation d'une abréviation compréhensible pour "home screen")
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Bon... J'ai amélioré ça en recommençant Vertel. Maintenant les 3 lettres avant le type de la variable indiquent TOUT grin

Démonstration :

while(!(ssc_jmp&1))
{
switch(GetArgType(sxe_arg))
{
case LIST_TAG: arg_list(&sxe_arg); break;
case STR_TAG: if(!arg_strn(&sxe_arg)) ssc_jmp=3; break;
case POSINT_TAG: case NEGINT_TAG: arg_long(&sxe_arg); break;
default: ssc_jmp=1; break;
}
}
while(ssc_jmp&1)
{
ssc_arg=0;
ssi_for=0;
do
{
if(tse_lsc[(tss_ind[0]=ssi_for)] && !arg_strn(&(tse_lsc[tss_ind[0]]))) ssc_jmp&=2;
if(tse_lsl[(tss_ind[1]=ssi_for)] && !arg_long(&(tse_lsl[tss_ind[1]]))) ssc_jmp&=2;
} while(++ssi_for<10);
if(ssc_jmp&1)
{
if(!ssc_arg) ssc_jmp&=2;
...


C'est tout de suite plus lisible non ? grin
Plus serieusement, c'est comme ça que je m'y retrouve moi... C'est un système que vous trouvez peut-être tordu mais qui me va très bien :

xyz_nam : x=s:single ou t:tableau ; y=s:signed ou u:unsigned ou x:ni l'un ni l'autre ; z=s:short ou i:int ou c:char, etc...
tss_ind : t=tableau ; s=signed ; s=short ; _ ; ind=indicateur
ssc_jmp : s=single ; s=signed ; s=char ; _ ; jmp=jump
sxe_arg : s=single ; x=pas de signed/unsigned pour ce type ; e=ESI ; _ ; arg=argument
etc...

Et franchement quand on y est habitué, ça va très vite pour reconnaitre une variable smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

Ça se rapproche déjà plus de la notation hongroise d'origine, mais ça reste une horreur (même pire parce qu'il y a encore plus d'abbréviations d'une lettre). Les seuls noms lisibles sont les noms de fonctions, qui ne suivent pas cette "convention" affreuse.

Voilà les noms que je donnerais:
while(!(jump_flags&1))
{
switch(GetArgType(argptr))
{
case LIST_TAG: ParseListArg(&argptr); break;
case STR_TAG: if(!ParseStrnArg(&argptr)) jump_flags=3; break;
case POSINT_TAG: case NEGINT_TAG: ParseLongArg(&argptr); break;
default: jump_flags=1; break;
}
}
while(jump_flags&1)
{
argnum=0;
i=0;
do
{
if(string_args[(argtype_indicator[0]=i)] && !ParseStrnArg(&(string_args[argtype_indicator[0]]))) jump_flags&=2;
if(long_args[(argtype_indicator[1]=i)] && !ParseLongArg(&(long_args[argtype_indicator[1]]))) jump_flags&=2;
} while(++i<10);
if(jump_flags&1)
{
if(!argnum) jump_flags&=2;

...
C'est déjà beaucoup plus clair!

Il reste comme problèmes de lisibilité:
- l'utilisation de jump_flags (ssc_jmp) pour contrôler l'éxécution. C'est vraiment lourd.
- cette boucle:
i=0;
do
{
if(string_args[(argtype_indicator[0]=i)] && !ParseStrnArg(&(string_args[argtype_indicator[0]]))) jump_flags&=2;
if(long_args[(argtype_indicator[1]=i)] && !ParseLongArg(&(long_args[argtype_indicator[1]]))) jump_flags&=2;
} while(++i<10);

à recoder:
[i]for (i=0;i<10;i++)
{
if(string_args[(argtype_indicator[0]=i)] && !ParseStrnArg(&(string_args[i]))) jump_flags&=2;
if(long_args[(argtype_indicator[1]=i)] && !ParseLongArg(&(long_args))) jump_flags&=2;
}

- pour certains, le manque de sauts de ligne et d'indentation. Personnellement, je trouve que ça va, mais on m'a souvent gueulé dessus parce que je code parfois comme ça.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

Berk grin
Je préfere ma source comme elle est en ce moment... Et puis tu as quand même réussi à trouver le sens d'une grande majorité de mes variables, et ce sans aucun entrainement, donc mon système n'est pas si tordu que ça grin

Et puis les trucs genre "++i" pour moi c'est pas très parlant non plus...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

Vertyos a écrit :
Berk grin
Je préfere ma source comme elle est en ce moment... Et puis tu as quand même réussi à trouver le sens d'une grande majorité de mes variables, et ce sans aucun entrainement, donc mon système n'est pas si tordu que ça grin

1. Tu avais donné le sens des 3 variables les plus dures à deviner.
2. J'ai perdu environ 10 minutes à déchiffrer tes noms et deviner leur sens, et ceci sur un extrait de quelques lignes seulement.
3. En disant "Et puis tu as quand même réussi à trouver le sens d'une grande majorité de mes variables", tu viens d'avouer qu'il y a un travail de recherche à faire pour tes noms alors que mes noms disent clairement de quoi il s'agit.

Et puis les trucs genre "++i" pour moi c'est pas très parlant non plus...

C'est pour ça que je propose d'utiliser une boucle for à la place...

Au lieu d'utiliser un while avec un nom de variable suggérant que c'est en réalité un for, autant utiliser directement une boucle for... Sinon ssi_for ne dit rien de plus que i, c'est juste un gaspillage de 6 caractères. (On sait bien qu'un compteur est un entier, et inutile de préciser que c'est un entier signé, ça fait juste plein de trucs à changer inutilement si on veut le remplacer par un entier non signé ou par un long plus tard, alors que moi, je change juste la déclaration de i et c'est bon.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

19

3. En disant "Et puis tu as quand même réussi à trouver le sens d'une grande majorité de mes variables", tu viens d'avouer qu'il y a un travail de recherche à faire pour tes noms alors que mes noms disent clairement de quoi il s'agit.

Pour toi oui, mais le premier interessé par cette source c'est quand même moi, et ces noms m'indiquent dès le 1er coup d'oeil de quoi il s'agit...
alors que moi, je change juste la déclaration de i et c'est bon.

Edition > Remplacer "ssi_for" par "sui_for" > Tout
Temps estimé : 5 secondes...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

bon, je m'exprimerais ce soir, si g le tempsgrin
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

21

je suis pas le seul à trouver que les sources de Bob sont illisible s grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

22

non, il ne faut pas tourner ta phrase dans ce sens :
Bob est le seul a trouver ses sourvces lisibles grin
avatar

23

quand est-ce que bob ajoute un utilityaire de compression à Vertel?
Les smiley ont déjà commencé à envahir la terre... Yaronet est leur base principale!

http://perso.wanadoo.fr/dreamcastmemory

24

Quand tu m'auras filé l'algo.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

25

Vertyos a écrit :
Edition > Remplacer "ssi_for" par "sui_for" > Tout Temps estimé : 5 secondes...

Édition / Remplacer / Tout est la meilleure manière d'introduire des erreurs subtiles. (Par exemple, changer ssi_for avec un "Remplacer tout" pourrait aussi changer des trucs comme ssi_force.) Je n'utilise presque jamais ça, je vérifie presque toujours chaque remplacement pour voir si c'est bon. Et puis ça reste une opération inutile, vu qu'il suffit de ne pas mettre de type pour éviter de devoir faire ce genre de remplacements.

D'ailleurs, si tu es un fan de "Remplacer tout", je te conseille de remplacer tout de suite:
- "ssc_jmp" par "jump_flags"
- "sxe_arg" par "argptr"
- "arg_list" par "ParseListArg"
- "arg_strn" par "ParseStrnArg"
- "arg_long" par "ParseLongArg"
- "ssc_arg" par "argnum"
- "ssi_for" par "i"
- "tse_lsc" par "string_args"
- "tss_ind" par "argtype_indicator"
- "tse_lsl" par "long_args"
... grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

26

(Par exemple, changer ssi_for avec un "Remplacer tout" pourrait aussi changer des trucs comme ssi_force.)

Oui... Mais ssi_force ça fait 9 lettres, donc je ne mettrais JAMAIS une variable avec un nom comme ça, donc quand je fais "remplacer tout", je suis sûr de ne remplacer QUE ce que je veux tongue (et hop, un avantage non négligable smile)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

27

De toutes facons, laisse tomber Kevin, les sources de bob seront lisibles le jour ou tu vanteras les mérites des kernels grin
avatar

28

rotfl
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

29

grinAllez Bob un effort grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

30

Jamaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiis grin

Nan serieusement je code comme ça depuis longtemps, et je n'ai aucune envie de changer, pour moi c'est plus lisible que n'importe quel nom "évoquateur" pour vous smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)