Ok, so... As usual, every new libnds release I get some problems converting it to pascal. This time a sprite related struct is changed and, when I saw the c source, my face looked like this one: :shock:
Ladies and Gentlemen, the scary "monster":
The main thing that drives me nuts is the fact that neither structs nor unions have a name, as some bit fields too. I could try to break this big nested struct in something smaller (and more readable), but I don't know how this change will be internally "digested" by the library.Code:typedef union { struct { struct { u16 posY: 8; union { struct { u8: 1; bool isHidden: 1; u8: 6; }; struct { bool isRotoscale: 1; bool rsDouble: 1; tObjMode objMode: 2; bool isMosaic: 1; tObjColMode colMode: 1; tObjShape objShape: 2; }; }; }; union { struct { u16 posX: 9; u8: 7; }; struct { u8: 8; union { struct { u8: 4; bool hFlip: 1; bool vFlip: 1; u8: 2; }; struct { u8: 1; u8 rsMatrixIdx: 5; tObjSize objSize: 2; }; }; }; }; struct { u16 tileIdx: 10; tObjPriority objPriority: 2; u8 objPal: 4; }; u16 attribute3; }; struct { uint16 attribute[3]; uint16 filler; }; } SpriteEntry, * pSpriteEntry;
Bookmarks