Esempio n. 1
0
// drawEndMessage - draws the message at games end (i.e. winner, loser, quitter)
void drawEndMessage(short int ending) {
	short int x, offset = 0;
	unsigned short int *sprite = endings[--ending];

	for (x = 8; x < 152; x += 16) {
		Sprite16(x,38,25,sprite+offset,LCD_MEM,SPRT_AND);
		Sprite16(x,38,25,sprite+offset,LCD_MEM,SPRT_OR);
		offset += 25;
	}
}
Esempio n. 2
0
/*===========================================================================*/
static inline short Test16(void) {
    unsigned long  measure_val;
    char           tmpstr[100];
    short          x,y;
    long           count;

    //-------------------------------------------------------------------------
    // original sprite functions
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16(x,y,8,spritedata16,LCD_MEM,SPRT_AND);
            Sprite16(x,y,8,spritedata16,LCD_MEM,SPRT_OR);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"TIGCCLIB AND+OR: %lu tics for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

#if __TIGCCLIB_VERSION__ >= 272
    //-------------------------------------------------------------------------
    // original sprite functions with RPLC (GCC4TI 0.96 Beta 10+)
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16(x,y,8,spritedata16,LCD_MEM,SPRT_RPLC);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"TIGCCLIB RPLC: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;
#endif

    //-------------------------------------------------------------------------
    // modified sprite functions using separate and/or
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16_AND_R(x,y,8,spritedata16,LCD_MEM);
            Sprite16_OR_R(x,y,8,spritedata16,LCD_MEM);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"ExtGraph AND+OR: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

    //-------------------------------------------------------------------------
    // modified sprite functions using just one call
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16_MASK_R(x,y,8,spritedata16,spritedata16,LCD_MEM);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"ExtGraph MASK: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16_BLIT_R(x,y,8,spritedata16,0x0000,LCD_MEM);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"ExtGraph BLIT: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16_RPLC_R(x,y,8,spritedata16,LCD_MEM);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"ExtGraph RPLC: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

    //-------------------------------------------------------------------------
    // original sprite functions
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16(x,y,8,spritedata16,LCD_MEM,SPRT_XOR);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"TIGCCLIB XOR: %lu tics for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    if (ngetchx() == KEY_ESC) return KEY_ESC;

    //-------------------------------------------------------------------------
    // modified sprite functions
    //-------------------------------------------------------------------------
    count = 0;
    ClrScr();

    OSTimerRestart(USER_TIMER);
    for (y=0;y<100-16;y++) {
        for (x=0;x<160-16;x++) {
            count++;
            Sprite16_XOR_R(x,y,8,spritedata16,LCD_MEM);
        }
    }

    measure_val = OSTimerCurVal(USER_TIMER);
    sprintf(tmpstr,"ExtGraph XOR: %lu ticks for %ld sprites",INITIAL_TIMER_VALUE-measure_val,count);
    ST_helpMsg(tmpstr);
    return ngetchx();
}
Esempio n. 3
0
inline void drawRType(POSITION pos) {
	Sprite16(pos.x*8,pos.y*8,R_TYPE_HT,r_type_light,GrayGetPlane(LIGHT_PLANE),SPRT_XOR);
	Sprite16(pos.x*8,pos.y*8,R_TYPE_HT,r_type_dark,GrayGetPlane(LIGHT_PLANE),SPRT_XOR);
	Sprite16(pos.x*8,pos.y*8,R_TYPE_HT,r_type_mid,GrayGetPlane(DARK_PLANE),SPRT_XOR);
	Sprite16(pos.x*8,pos.y*8,R_TYPE_HT,r_type_dark,GrayGetPlane(DARK_PLANE),SPRT_XOR);
}
Esempio n. 4
0
// same stuff for the other sprites
inline void drawShip(POSITION pos, int map_x_location) {
    Sprite16((pos.x-map_x_location)*8,pos.y*8,SHIP_HT,ship_light,GrayGetPlane(LIGHT_PLANE),SPRT_XOR);
    Sprite16((pos.x-map_x_location)*8,pos.y*8,SHIP_HT,ship_dark,GrayGetPlane(LIGHT_PLANE),SPRT_XOR);
    Sprite16((pos.x-map_x_location)*8,pos.y*8,SHIP_HT,ship_mid,GrayGetPlane(DARK_PLANE),SPRT_XOR);
    Sprite16((pos.x-map_x_location)*8,pos.y*8,SHIP_HT,ship_dark,GrayGetPlane(DARK_PLANE),SPRT_XOR);
}