/* * "ESCGLINE.C" * * Part of The Escotia Playstation Library * * Author: ScoTT Campbell * Date: 10/9/98 * */ #include "..\headers\escgline.h" /******************************/ /* Start of GsGLINE functions */ /******************************/ void InitGLine(GsGLINE* linePtr, int xStart, int yStart, int xEnd, int yEnd) { linePtr->x0 = xStart; linePtr->x1 = xEnd; linePtr->y0 = yStart; linePtr->y1 = yEnd; linePtr->attribute = 0; linePtr->r0 = linePtr->g0 = linePtr->b0 = 0; linePtr->r1 = linePtr->g1 = linePtr->b1 = 255; }/* InitGLine */ void SetGLinePosition(GsGLINE* linePtr, int xStart, int yStart, int xEnd, int yEnd) { linePtr->x0 = xStart; linePtr->x1 = xEnd; linePtr->y0 = yStart; linePtr->y1 = yEnd; }/* SetGLinePosition */ void SetGLineStartPosition(GsGLINE* linePtr, int xStart, int yStart) { linePtr->x0 = xStart; linePtr->y0 = yStart; }/* SetGLineStartPosition */ void SetGLineXStartPosition(GsGLINE* linePtr, int xStart) { linePtr->x0 = xStart; }/* SetGLineXStartPosition */ void SetGLineYStartPosition(GsGLINE* linePtr, int yStart) { linePtr->y0 = yStart; }/* SetGLineYStartPosition */ void SetGLineEndPosition(GsGLINE* linePtr, int xEnd, int yEnd) { linePtr->x1 = xEnd; linePtr->y1 = yEnd; }/* SetGLineEndPosition */ void SetGLineXEndPosition(GsGLINE* linePtr, int xEnd) { linePtr->x1 = xEnd; }/* SetGLineXEndPosition */ void SetGLineYEndPosition(GsGLINE* linePtr, int yEnd) { linePtr->y1 = yEnd; }/* SetGLineYEndPosition */ void MoveGLine(GsGLINE* linePtr, int xAmount, int yAmount) { linePtr->x0 += xAmount; linePtr->x1 += xAmount; linePtr->y0 += yAmount; linePtr->y1 += yAmount; }/* MoveGLine */ void MoveGLineStart(GsGLINE* linePtr, int xAmount, int yAmount) { linePtr->x0 += xAmount; linePtr->y0 += yAmount; }/* MoveGLineStart */ void MoveGLineEnd(GsGLINE* linePtr, int xAmount, int yAmount) { linePtr->x1 += xAmount; linePtr->y1 += yAmount; }/* MoveGLineEnd */ void SetGLineColourVectors(GsGLINE* linePtr, CVECTOR* startVectorPtr, CVECTOR* endVectorPtr) { linePtr->r0 = startVectorPtr->r; linePtr->g0 = startVectorPtr->g; linePtr->b0 = startVectorPtr->b; linePtr->r1 = endVectorPtr->r; linePtr->g1 = endVectorPtr->g; linePtr->b1 = endVectorPtr->b; }/* SetGLineColourVectors */ void SetGLineStartColourVector(GsGLINE* linePtr, CVECTOR* colourVectorPtr) { linePtr->r0 = colourVectorPtr->r; linePtr->g0 = colourVectorPtr->g; linePtr->b0 = colourVectorPtr->b; }/* SetGLineStartColourVector */ void SetGLineEndColourVector(GsGLINE* linePtr, CVECTOR* colourVectorPtr) { linePtr->r1 = colourVectorPtr->r; linePtr->g1 = colourVectorPtr->g; linePtr->b1 = colourVectorPtr->b; }/* SetGLineEndColourVector */ void SetGLineColours(GsGLINE* linePtr, unsigned char r0, unsigned char g0, unsigned char b0, unsigned char r1, unsigned char g1, unsigned char b1) { linePtr->r0 = r0; linePtr->g0 = g0; linePtr->b0 = b0; linePtr->r1 = r1; linePtr->g1 = g1; linePtr->b1 = b1; }/* SetGLineColours */ void SetGLineStartColour(GsGLINE* linePtr, unsigned char r, unsigned char g, unsigned char b) { linePtr->r0 = r; linePtr->g0 = g; linePtr->b0 = b; }/* SetGLineStartColour */ void SetGLineEndColour(GsGLINE* linePtr, unsigned char r, unsigned char g, unsigned char b) { linePtr->r1 = r; linePtr->g1 = g; linePtr->b1 = b; }/* SetGLineEndColour */ void SetGLineAttributes(GsGLINE* linePtr, unsigned long int attributes) { /* Clear the top 4 bits */ linePtr->attribute &= 0x0FFFFFFF; /* Set the bits we want */ linePtr->attribute |= attributes; }/* SetGLineAttributes */ /****************************/ /* End of GsGLINE functions */ /****************************/