Team Ai
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes847downloads
Gr.txt182 linesDownload Raw Back to Gr
1 2#help_index "Sprites/Binary"3 4class CMeshTri5{6  I32 color;    //Give one of 0-7 colors.7//Colors 8-15 are 0-7 with intensity bit set.8  I32 nums[3];  //Vertex number9};10 11class CQueMeshTri12{13  CQueMeshTri *next,*last;14  U0 start;15  I32 color;16  I32 nums[3];17};18 19public class CSpriteBase20{21  U8 type;22};23 24public class CSpriteColor : CSpriteBase25{26  U8 color;27};28 29public class CSpriteDitherColor : CSpriteBase30{31  U16 dither_color;32};33 34public class CSpriteT : CSpriteBase35{36  I32 thick;37};38 39public class CSpritePt : CSpriteBase40{41  I32 x1;42  I32 y1;43};44 45public class CSpritePtRad : CSpritePt46{47  I32 radius;48};49 50public class CSpritePtPt : CSpritePt51{52  I32 x2;53  I32 y2;54};55 56public class CSpritePtPtAng : CSpritePtPt57{58  F64 angle;59};60 61public class CSpritePtWH : CSpritePt62{63  I32 width;64  I32 height;65};66 67public class CSpritePtWHU8s : CSpritePtWH68{69  U8 u[0];70};71 72public class CSpritePtWHAng : CSpritePtWH73{74  F64 angle;75};76 77public class CSpritePtWHAngSides : CSpritePtWHAng78{79  I32 sides;80};81 82public class CSpriteNumU8s : CSpriteBase83{84  I32 num;85  U8  u[0];86};87 88public class CSpriteNumPtU8s : CSpriteBase89{90  I32 num;91  I32 x;92  I32 y;93  U8  u[0];94};95 96public class CSpritePtStr : CSpritePt97{98  U8  st[0];99};100 101public class CSpriteMeshU8s : CSpriteBase102{103  I32 vertex_cnt;104  I32 tri_cnt;105  U8  u[0];106};107 108public class CSpritePtMeshU8s : CSpriteBase109{110  I32 x;111  I32 y;112  I32 z;113  I32 vertex_cnt;114  I32 tri_cnt;115  U8  u[0];116};117 118#define SPF_SEL                 128119#define SPf_SEL                 7120 121#define SPT_END                 0       //CSpriteBase122#define SPT_COLOR               1       //CSpriteColor123#define SPT_DITHER_COLOR        2       //CSpriteDitherColor124#define SPT_THICK               3       //CSpriteT125#define SPT_PLANAR_SYMMETRY     4       //CSpritePtPt126#define SPT_TRANSFORM_ON        5       //CSpriteBase127#define SPT_TRANSFORM_OFF       6       //CSpriteBase128#define SPT_SHIFT               7       //CSpritePt129#define SPT_PT                  8       //CSpritePt130#define SPT_POLYPT              9       //CSpriteNumPtU8s131#define SPT_LINE                10      //CSpritePtPt132#define SPT_POLYLINE            11      //CSpriteNumU8s133#define SPT_RECT                12      //CSpritePtPt134#define SPT_ROTATED_RECT        13      //CSpritePtPtAng135#define SPT_CIRCLE              14      //CSpritePtRad136#define SPT_ELLIPSE             15      //CSpritePtWHAng137#define SPT_POLYGON             16      //CSpritePtWHAngSides138#define SPT_BSPLINE2            17      //CSpriteNumU8s139#define SPT_BSPLINE2_CLOSED     18      //CSpriteNumU8s140#define SPT_BSPLINE3            19      //CSpriteNumU8s141#define SPT_BSPLINE3_CLOSED     20      //CSpriteNumU8s142#define SPT_FLOOD_FILL          21      //CSpritePt143#define SPT_FLOOD_FILL_NOT      22      //CSpritePt144#define SPT_BITMAP              23      //CSpritePtWHU8s145#define SPT_MESH                24      //CSpriteMeshU8s See ::/Apps/GrModels.146#define SPT_SHIFTABLE_MESH      25      //CSpritePtMeshU8s See ::/Apps/GrModels.147#define SPT_ARROW               26      //CSpritePtPt148#define SPT_TEXT                27      //CSpritePtStr149#define SPT_TEXT_BOX            28      //CSpritePtStr150#define SPT_TEXT_DIAMOND        29      //CSpritePtStr151#define SPT_TYPES_NUM           30152#define SPG_TYPE_MASK           0x7F153 154#help_index "Graphics/Sprite;Sprites;Sprites/Binary"155 156//See Sprites.  See ::/Adam/Gr/GrSpritePlot.HC and157//::/Demo/Graphics/SpriteRaw.HC for how CSprite are stored.158public class CSprite159{160  CSprite *next,*last;161  U0 start;162  union {163    U8 type;164    CSpriteBase         b;165    CSpriteColor        c;166    CSpriteDitherColor  d;167    CSpriteT            t;168    CSpritePt           p;169    CSpritePtPt         pp;170    CSpritePtPtAng      ppa;171    CSpritePtRad        pr;172    CSpritePtWHU8s      pwhu;173    CSpritePtWHAng      pwha;174    CSpritePtWHAngSides pwhas;175    CSpriteNumU8s       nu;176    CSpriteNumPtU8s     npu;177    CSpriteMeshU8s      mu;178    CSpritePtMeshU8s    pmu;179    CSpritePtStr        ps;180  }181};182