Ben j'ai surtout esasyé de comprendre en m'aidant des tips de chacun, plutôt que de recopier un exemple comme celui de Ximoon. Merci à tous au fait !!!
Sally -> Pour l'histoire du scope des fonctions, j'imaginais que le fait de lui dire qu'elle était "extern" lui donnait subitement une portée globale. Mal lu, mal compris. t1 j'ai failli abandonner avec cette saloperie pour continuer un jeu en asm
Bon, autre question !
J'ai des relogements quand je fais ça :
if (TmpY0 > DrawingData.Curs.y1)
{
DrawingData.Curs.y0 = DrawingData.Curs.y1;
DrawingData.Curs.y1 = TmpY0;
}
J'essaye donc ce genre de ruse éléphantesque :
short* TmpPtr;
if (TmpX0 > DrawingData.Curs.x1)
{
TmpPtr = &(DrawingData.Curs.x0);
*TmpPtr = DrawingData.Curs.x1;
DrawingData.Curs.x1 = TmpX0;
}
Malheureusement, j'arrive pas à berner le compilateur, j'imagine qu'il sucre tout simplement le pointeur TmpPtr.
J'ai essayé d'autres trucs, d'une finesse tout aussi étonnante :
if (TmpY0 > DrawingData.Curs.y1)
{
*&(DrawingData.Curs.y0) = DrawingData.Curs.y1;
*&(DrawingData.Curs.y1) = TmpY0;
}
Pareil, il veut pas marcher le bougre.
Un moyen simple d'éviter ces relogements ? Sinon, je rendrai tout simplement "extern" un pointeur sur la structure, et je l'utiliserai un peu partout, il m'avait pas fait de relogement lorsque je passais ce pointeur en argument ici et là.