Sally (./175) :
je suppose que c'est un ROM call, il te donne juste son adresse...
Oui,
*(*200u+1620u), c'est le
ROM_CALL nº1620/4.
Folco (./176) :
Ok, j'avais pas pensé à caster, chsuikon ! Je déclare pas ça en WIN_RECT, parce que ces données (4 shorts) me servent tantôt à afficher un point (là faut des shorts), une ligne (idem), ou des rectangles (et là, on est sur du WIN_RECT)...
Et ben, tu le déclares en
WIN_RECT, et tu utilises
Data->CursX0.x0 etc. comme il faut quand tu as besoin des
short directement.
Folco (./177) :
Et voilà, ça, ça marche :
DrawClipRect((WIN_RECT*)&(Data->CursX0),&(Data->Clip),Data->RectangleModePlane0);
Ce cast est une violation des règles d'aliasing, tu n'as pas le droit de faire ça, même si ça a l'air de marcher.
Folco (./185) :
Donc j'ai pas nommé l'union.
C'est une union anonyme, tu peux accéder à ses éléments directement sans passer par un nom d'union. C'est une extension GNU. (Et insérer
WIN_RECT; sans nom est une extension de Visual C/C++ que GCC gère avec le flag
-fms-extensions, activé par défaut dans TIGCC (en interne dans le compilateur).)