コード例 #1
0
ファイル: main.cpp プロジェクト: VidaCruX/ConsolePlayer
// about
static void switchabout()
{    
    system("cls");
    if (about_is_show)
    {        
        about_is_show = false;       
        if (!visualization_isopen)
        {
            needupdatelist = true;
            needupdatevolume = true;
            needupdateprocbar = true;
            needshowhelp = true;            
        }
        force_refresh_procbar = true;
        return;
    }
    
    about_is_show = true;
    printf("\n\n\n\n\n\n\n\n");
    set_font_color(FONT_BLACK | BG_WHITE);
    printf(ABOUT_TEXT);
    set_font_color(FONT_WHITE);
    printf("\n\n\n\n"
           "                                < [A] Return >\n");
   
    move_screen_cur(24, 79);
}
コード例 #2
0
ファイル: main.cpp プロジェクト: VidaCruX/ConsolePlayer
static void show_processbar(short x, short y)
{
    const int probar_length = size;
    char probar[probar_length + 1];
    memset(probar, PROCESS_CHAR, probar_length);
    probar[probar_length] = '\0';

	// moving bar-block    
	if (current_sound >= 0 && sound_playing)
	{
        static int pos = 0;
        int new_pos = int(player->elapse() * float(probar_length) / sound_playing->length());
        if (!force_refresh_procbar)
        {
            if (new_pos == pos)
                return;
            pos = new_pos;
            if (pos > probar_length - 1)
                return;
        }
        force_refresh_procbar = false;
        move_screen_cur(x, y);
        probar[pos] = '\0';
        set_font_color(FONT_BLACK | BG_WHITE);
        printf(probar);
        set_font_color(FONT_WHITE);
        probar[pos] = PROCESS_CHAR;
        printf(probar + pos);
	}
    move_screen_cur(24, 79);
}
コード例 #3
0
ファイル: main.cpp プロジェクト: L3n-M3n/SchoolCode
// Prints a given array
void print_scroll(u8 **scroll_array, enum Direction direction)
{
	if (direction == horizontal)
	{
		consoleSelect(&bottom_screen);
		set_font_color(white);
		set_position(11, 1);
		for(u8 i = 0; i < 28; i++)
			iprintf("%c", *scroll_array[i]);
	} 
	else if (direction == vertical) 
	{
		consoleSelect(&bottom_screen);
		set_font_color(white);
		for(u8 i = 0; i < 21; i++)
		{
			set_position(2+i, 30);
			iprintf("%c", *scroll_array[i]);
		}
	}
	else if (direction == diagonal)
	{
		consoleSelect(&top_screen);
		set_font_color(white);
		for(u8 i = 0; i < 21; i++)
		{
			set_position(2+i, 4+i);
			iprintf("%c", *scroll_array[i]);
		}
	}
}
コード例 #4
0
ファイル: main.cpp プロジェクト: L3n-M3n/SchoolCode
// Clears the screen and rewrites the "Made by" sentence
void reset_screens()
{
	consoleSelect(&top_screen);
	consoleClear();
	set_font_color(cyan);
	iprintf("Made by Lennart Kroes, s1062295");
	consoleSelect(&bottom_screen);
	consoleClear();
	set_font_color(cyan);
	iprintf("Made by Lennart Kroes, s1062295");
}
コード例 #5
0
ファイル: nintendo_ds.cpp プロジェクト: L3n-M3n/SchoolCode
// Clears the screen and rewrites the "Made by" sentence on screen
void reset_screens()
{
	Color default_color = yellow;
	consoleSelect(&top_screen);
	consoleClear();
	set_font_color(default_color);
	puts("Made by Lennart Kroes, s1062295\n");
	consoleSelect(&bottom_screen);
	consoleClear();
	set_font_color(default_color);
	puts("Made by Lennart Kroes, s1062295\n");
}
コード例 #6
0
ファイル: screen.cpp プロジェクト: deedrah/nervici
void Screen::init_control (Control* par) {
    set_background (C_SCREEN_BACKGROUND);
    set_foreground (C_FOREGROUND);
    set_font_color (C_FOREGROUND);
    set_frame (0);
    reinitialize ();
}
コード例 #7
0
ファイル: test-files.c プロジェクト: BlockoS/everdrive-fat
init_screen(){
	/* setup fonts/screen */
	set_color_rgb(1, 7, 7, 7);
	set_font_color(1, 0);
	set_font_pal(0);
	load_default_font();
}
コード例 #8
0
ファイル: clock.cpp プロジェクト: L3n-M3n/SchoolCode
// Displays given Time object
void display_time(Time* t)
{
	set_position(t->position.x, t->position.y);
	set_font_color(t->color);
	printf("%s:", t->timezone->city);
	set_position(t->position.x + 1, t->position.y);
	printf("%02d:%02d:%02d", (t->clock->hour + t->timezone->time_diff), t->clock->minute, t->clock->second);
	if (t->timezone->time_diff < 0)
		printf(" (UTC%d)", t->timezone->time_diff);
	else
		printf(" (UTC+%d)", t->timezone->time_diff);
}
コード例 #9
0
ファイル: main.cpp プロジェクト: VidaCruX/ConsolePlayer
// music visualization
static void show_visualization(short row, short col)
{
    move_screen_cur(row, col);
    const int width = 79;
    const int height = 24;
    char screenlines[width][height];
	
    float ff_rate_step = 512.0f / width;
    for (int i = 0; i < width; i++)
	{
		float val = fft_rate[int(ff_rate_step * i)];
		val = val / -5.0f;
		if (val > height)
			val = height;
		char *line = screenlines[i];
		int iv = height - (int)val;
        if (iv < height)
            memset(line, ' ', height - iv);
		memset(line + height - iv, vis_char, iv);		
	}
        
    for (int i = 0; i < height; i++)
    {
        if (i > height * 0.8f)
            set_font_color(FONT_LIGHT_GREEN);
        else if (i > height * 0.6f)
            set_font_color(FONT_LIGHT_YELLOW);
        else
            set_font_color(FONT_LIGHT_RED);
        char outstr[width+1];
        for (int j = 0; j < width; j++)
        {           
            outstr[j] = screenlines[j][i];
        }
        outstr[width] = '\0';        
        printf("%s\n", outstr);
    }

	set_font_color(FONT_WHITE);    
}
コード例 #10
0
ファイル: main.cpp プロジェクト: VidaCruX/ConsolePlayer
static void show_list()
{
    if (!needupdatelist)
        return;
    needupdatelist = false;

	// move cursor to left-up bound
    move_screen_cur(0, 0);    
	printf(TITLE_TEXT);

	// show play-list
	for (int i = list_start; i <= list_end && i < SOUND_COUNT; i++)
	{		    
        bool cur_on = list_cur == i - list_start;
        bool playing_line = current_sound == i;

        if (cur_on)    
            set_font_color(FONT_BLACK | BG_WHITE);
        else if (playing_line)
            set_font_color(FONT_LIGHT_BLUE);
        else
            set_font_color(FONT_WHITE);

        if (playing_line && one_loop)
            putchar('L');
        else
            putchar(' ');
        
        const char *path = sounds[i] + 2; // +2È¥µôÇ°ÃæµÄ".\"
		char npath[80] = {0};
        _snprintf_s(npath, sizeof(npath), MAX_NAME_LENGTH, " %d %s", i + 1, path);
        printf("%-79.79s", npath);
		
        set_font_color(FONT_WHITE);
	}	
}
コード例 #11
0
ファイル: bonus.c プロジェクト: anil11/Tux-Racer-4-iOS
void draw_bonus(player_data_t *plyr) {
    bonus_data_t* bonus = bonus_list;

    int i=0;
    while (bonus!=NULL)
    {
        i++;
        bonus_data_t* next_bonus = bonus->next;
        scalar_t anim_time = g_game.time-bonus->start_time;
        if (anim_time < BONUS_TIME_ANIMATION) {
            char *binding;
            font_t *font;

            //Use the same font as for FPS
            binding = "bonus";

            if ( !get_font_binding( binding, &font ) ) {
                print_warning( IMPORTANT_WARNING,
                               "Couldn't get font for binding %s", binding );
                return;
            }

            char* string = bonus->bonus_string;

            set_font_color(font, color_from_time_delta(anim_time));
            set_font_size(font, scale_from_time_delta(anim_time) * 12);
            scalar_t width, a, d;
            get_font_metrics_scalar( font, string, &width, &a, &d);

            bind_font_texture( font );
            set_gl_options( TEXFONT );

            glPushMatrix();
            {
                glTranslatef( 800 * (1 - position_from_time_delta(anim_time)) - width/2 - 140, 200.0 + i*18.0, 0 );

                draw_string( font, string );
            }
            glPopMatrix();
        } else {
            remove_bonus(bonus);
        }

        bonus = next_bonus;

    }
}
コード例 #12
0
ファイル: main.c プロジェクト: bjorn-nah/Timefend
main()
{
	int joie;
	cls();
	init_satb();
	reset_satb();

	set_color(0,0); /* Je veux le noir */
	set_color(1,511); /* Je veux le blanc */
	set_font_color(1, 0);
	load_default_font();
	put_string("TimeFend", 12, 12);
	put_string("First presented at AC2015", 4, 13);
	put_string("by Cr30s & Bjorn", 8, 15);
	for(;;)
	{	
	joie = joy(0);
	if (joie & JOY_STRT) timefend();
	}
}
コード例 #13
0
ファイル: ac_test.c プロジェクト: ArtemioUrbina/huc
main()
{
	
	char i,j,k,l,m,n;
	
	
		
	disp_off();		/* <- I don't think this works.... */
	spr_set();
	spr_hide();
	load_default_font();
	set_screen_size(SCR_SIZE_32x32);
	disp_on();

	if(!sgx_detect())
	{  put_string("Halt: SGX not hardware found", 2, 13); for(;;){} }


	/* These NEED to be set, else you won't see the SGX 2nd layer BG or sprites. */
	vpc_win_size( VPC_WIN_A, 0x01ff);
	vpc_win_size( VPC_WIN_B, 0x01ff);
	vpc_win_reg( VPC_WIN_A, VDC_ON+VPC_NORM);
	vpc_win_reg( VPC_WIN_B, VDC_ON+VPC_NORM);
	vpc_win_reg( VPC_WIN_AB, VDC_ON+VPC_NORM);
	vpc_win_reg( VPC_WIN_NONE, VDC_ON+VPC_NORM);
	
	set_font_pal(4);
	set_font_color(14,0);
	load_default_font();
	put_string("SGX hardware found", 2, 3);
	
	sgx_set_screen_size(SCR_SIZE_32x32);
	sgx_load_vram(0x0000,map, 0x400);
	sgx_load_vram(0x1000,tile, 0x4000);
	load_palette(0, pal,16);
	
	sgx_spr_hide();
	sgx_spr_set(1);

	sgx_disp_on();
	
	
	put_string("Arcade Card: ", 2, 4);


	if ( ac_init() )
		{
			put_string("detected.", 15, 4);

			/* initialize AC register 0 to address 0x000000 and +1 auto-increment */
			ac_full_reg0(0x00,0x0000,0x0000,0x0001,0x11);
							
			put_string("CD->AC xfer... ", 2, 5);

			/* transfer 8k at a time from CD to AC memory via AC reg #0 */
			ac_cd_xfer(AC_REG0,0,0x1c2,4);
			ac_cd_xfer(AC_REG0,0,0x1c6,4);
			ac_cd_xfer(AC_REG0,0,0x1ca,4);
			ac_cd_xfer(AC_REG0,0,0x1ce,4);
			ac_cd_xfer(AC_REG0,0,0x1d2,4);
			ac_cd_xfer(AC_REG0,0,0x1d6,4);
			ac_cd_xfer(AC_REG0,0,0x1da,4);
			ac_cd_xfer(AC_REG0,0,0x1de,4);

			put_string("finished.", 17, 5);
						
			sgx_bg_on();
			
			/* reset AC reg #0 address to 0x000000 */		
			ac_addr_reg0(0x00,0x0000);
			ac_vram_dma(AC_REG0 ,0x1000,0x3c00, SGX);

			ac_addr_reg0(0x00,0x8000);
			ac_vram_dma(AC_REG0 ,0x0000,0x800, SGX);

			ac_addr_reg0(0x00,0x8800);
			ac_vce_copy( AC_REG0, 0x00, 0x100 );
			

			vsync(60);
			vsync(60);


		}
	else
		{ put_string("not detected.", 15, 4); for(;;){} }
			
	put_string("Scrolling SGX layer ", 2, 6);
	for(;;)
	{
		for( j=0; j<0xff; j++)
		{
			vsync();
			sgx_scroll( j , j);
		}
	}		
	
	
}
コード例 #14
0
ファイル: arpg.c プロジェクト: Lochlan/pce-arpg
run_game() {
    /* init variables */
    frame = 0;
    hero_walk_state = 0;
    spr_addr_hero = SPR_ADDR__HERO_D;
    joy1_dpad = 0;

     /* init sprites */
    init_satb();
    load_vram(SPR_ADDR__HERO_U, spr_hero_u, 0x400);
    load_vram(SPR_ADDR__HERO_UR, spr_hero_ur, 0x400);
    load_vram(SPR_ADDR__HERO_R, spr_hero_r, 0x400);
    load_vram(SPR_ADDR__HERO_DR, spr_hero_dr, 0x400);
    load_vram(SPR_ADDR__HERO_D, spr_hero_d, 0x400);
    load_vram(SPR_ADDR__HERO_DL, spr_hero_dl, 0x400);
    load_vram(SPR_ADDR__HERO_L, spr_hero_l, 0x400);
    load_vram(SPR_ADDR__HERO_UL, spr_hero_ul, 0x400);
    set_sprpal(PAL_NUM__HERO, pal_hero);

    /* hero sprite */
    spr_set(SPR_NUM__HERO);
    spr_x(hero_x);
    spr_y(hero_y);
    spr_pattern(spr_addr_hero);
    spr_ctrl(SIZE_MAS|FLIP_MAS, SZ_32x32|NO_FLIP);
    spr_pal(PAL_NUM__HERO);
    spr_pri(1);

    /* font */
    set_font_color(1, 0);
    set_font_pal(0);
    load_default_font();

    satb_update();
    vsync();

    /*******************************************************************************
        GAME LOOP
    *******************************************************************************/
    for(;;) {
        joy1 = joy(0);
        joy1a = joytrg(0);
        old_spr_addr_hero = spr_addr_hero;

        /* d-pad input */
        #asm
            lda         _joy1
            lsr4
            sta         _joy1_dpad
            bne         movement_input
            jmp         no_movement_input
        movement_input:
        #endasm
        if (joy1 & JOY_UP) hero_y--;
        else if (joy1 & JOY_DOWN) hero_y++;

        if (joy1 & JOY_LEFT) hero_x--;
        else if (joy1 & JOY_RGHT) hero_x++;

        if (frame % 8 == 0) hero_walk_state++;
        #asm
            ldx         _joy1_dpad
            ;// lower nibble of _spr_addr_hero already zeroed
            lda         tbl_hero_spr_addr,X
            sta         _spr_addr_hero+1
        no_movement_input:
        #endasm

        /* a/b input */
        if (joy1 & JOY_A) {
            spr_addr_hero_modifier = 0x300;
            if (spr_addr_hero != old_spr_addr_hero) {
                if (frame % 4) {
                    spr_addr_hero = old_spr_addr_hero;
                } else {
                    if (!(joy1a & JOY_A)) {
                        spr_addr_hero = old_spr_addr_hero + 0x400;
                        if (spr_addr_hero > 0x6C00) spr_addr_hero = 0x5000;
                    }
                }
            }
        } else if (joy1 & JOY_B) {
            spr_addr_hero_modifier = 0x300;
            if (spr_addr_hero != old_spr_addr_hero) {
                if (frame % 4) {
                    spr_addr_hero = old_spr_addr_hero;
                } else {
                    if (!(joy1a & JOY_B)) {
                        spr_addr_hero = old_spr_addr_hero - 0x400;
                        if (spr_addr_hero < 0x5000) spr_addr_hero = 0x6C00;
                    }
                }
            }
        } else {
            /* hero direction walk animation*/
            if (hero_walk_state == 1) {
                spr_addr_hero_modifier = 0x100;
            } else if (hero_walk_state == 3) {
                spr_addr_hero_modifier = 0x200;
            } else{
                spr_addr_hero_modifier = 0;
            }
        }

        spr_set(SPR_NUM__HERO);
        spr_pattern(spr_addr_hero + spr_addr_hero_modifier);
        spr_x(hero_x);
        spr_y(hero_y);

        hero_walk_state = hero_walk_state % 4;
        frame++;

        satb_update();
        vsync();
    }
}