Esempio n. 1
0
/* Handlers... WHY?!
 * GOTTA FIND A MODULAR SOLUTION!!
 */
 void joyAtkHandler ( u16 joy, u16 joyChanged, u16 state )
{
	int xc = fix32ToInt(p1.x);
	int yc = fix32ToInt(p1.y);

	// Player 1
	if (joy == JOY_1)
	{
		if ( (state & BUTTON_A) || (state & BUTTON_B) || (state & BUTTON_C) )
		// if (state & BUTTON_B )
		{
			if (p1_dir.y != 0)
			{
				VDP_drawText( "XXX", xc - 1, fix32ToInt(p1.y - p1_dir.y) );
				VDP_drawText( "XXX", xc - 1, fix32ToInt(p1.y - 2*p1_dir.y) );
			}
			else if (p1_dir.x != 0)
			{
				VDP_drawText( "XX", fix32ToInt(p1.x + 2*p1_dir.x), yc - 1 );
				VDP_drawText( "XX", fix32ToInt(p1.x + 2*p1_dir.x), yc     );
				VDP_drawText( "XX", fix32ToInt(p1.x + 2*p1_dir.x), yc + 1 );
			}
		}
		
		VDP_setTileMapXY( VDP_PLAN_A, 0, xc, yc );
		VDP_setTileMapXY( VDP_PLAN_A, 0, fix32ToInt(p1.x + p1_dir.x), fix32ToInt(p1.y - p1_dir.y) );
	}
}
Esempio n. 2
0
File: string.c Progetto: clbr/SGDK
void fix32ToStr(fix32 value, char *str, s16 numdec)
{
    u32 len;
    fix32 v;
    u32 frac;
    u8 strFrac[8];

    len = 0;
    if (value < 0)
    {
        v = -value;
        str[len++] = '-';
    }
    else v = value;

    len += uintToStr_(fix32ToInt(v), &str[len], 1, 16);
    str[len++] = '.';

    // get fractional part
    frac = fix32Frac(v) * 1000;
    frac /= 1 << FIX32_FRAC_BITS;

    // get fractional string
    uintToStr(frac, strFrac, 3);

    if (numdec >= 3) strcpy(&str[len], strFrac);
    else strncpy(&str[len], strFrac, numdec);
}
Esempio n. 3
0
void fix32ToStr(fix32 value, char *str, s16 numdec)
{
    u32 len;
    fix32 v;

    len = 0;
    if (value < 0)
    {
        v = -value;
        str[len++] = '-';
    }
    else v = value;

    len += uintToStr_(fix32ToInt(v), &str[len], 1, 16);
    str[len++] = '.';
    uintToStr_((fix32Frac(v) * 1000) / (1 << FIX32_FRAC_BITS), &str[len], 1, numdec);
}