예제 #1
0
void init_song_select_ui(void *_data, int data_length) 
{
    item_count = data_length;
    data = (song_select_info_t *)_data;

    if (fnt == NULL) {
        fnt = oslLoadIntraFontFile("flash0:/font/jpn0.pgf", INTRAFONT_STRING_UTF8 | INTRAFONT_CACHE_LARGE);
        alt_fnt = oslLoadIntraFontFile("flash0:/font/gb3s1518.bwfon", INTRAFONT_STRING_UTF8 | INTRAFONT_CACHE_LARGE);
        intraFontSetAltFont(fnt->intra, alt_fnt->intra);
    }
    oslSetFont(fnt);    

    is_dirty = 1;
}
예제 #2
0
파일: text.c 프로젝트: DavisDev/oslib-mod
OSL_FONT *oslLoadFontFile(const char *filename)		{
	OSL_FONTINFO fi;
	OSL_FONT_FORMAT_HEADER fh;
	VIRTUAL_FILE *f;
	OSL_FONT *font = NULL;
	unsigned char tcTaillesCar[256], *tcCaracteres;

    char *start = (char *)filename + (strlen(filename) - 4);
    char *bwfon = (char *)filename + (strlen(filename) - 6);			//<-- STAS: BWFON intrafont support
    if (!strncmp(start, ".pgf", 4)   || !strncmp(start, ".PGF", 4) ||
        !strncmp(bwfon, ".bwfon", 6) || !strncmp(bwfon, ".BWFON", 6)) {
        font = oslLoadIntraFontFile(filename, intra_options);
    }else{
        f = VirtualFileOpen((void*)filename, 0, VF_AUTO, VF_O_READ);
        if (f)			{
            //Lit l'en-tête de la fonte
            VirtualFileRead(&fh, sizeof(fh), 1, f);
            //Vérifie l'en-tête
            if (!strcmp(fh.strVersion, "OSLFont v01"))		{
                fi.pixelFormat = fh.pixelFormat;
                //VERIFIER 1 <= PIXELFORMAT <= 4
                if (fh.variableWidth)		{
                    VirtualFileRead(tcTaillesCar, 256 * sizeof(unsigned char), 1, f);
                    fi.charWidths = tcTaillesCar;
                }
                else
                    fi.charWidths = NULL;
                fi.charWidth = fh.charWidth;
                fi.charHeight = fh.charHeight;
                fi.lineWidth = fh.lineWidth;
                fi.addedSpace = fh.addedSpace;
                //Lit les données des caractères
                tcCaracteres = (u8*)malloc(fh.lineWidth*fi.charHeight*256);
				if (!tcCaracteres)
					return NULL;
                if (VirtualFileRead(tcCaracteres, fh.lineWidth*fi.charHeight*256, 1, f) > 0)			{
                    fi.fontdata = tcCaracteres;
                    fi.paletteCount = fh.paletteCount;
                    fi.paletteData = NULL;
                    //Est-ce qu'il reste encore des couleurs à charger?
                    if (fi.paletteCount > 0)			{
                        fi.paletteData = (unsigned long*)malloc(fi.paletteCount * sizeof(unsigned long));
                        if (fi.paletteData)			{
                            //Lit les entrées de palette
                            if (VirtualFileRead(fi.paletteData, fi.paletteCount * sizeof(unsigned long), 1, f) == 0)			{
                                //Do not use these entries as they were not read correctly
                                fi.paletteCount = 0;
                            }
                        }
                    }
                    //On peut finalement la charger
                    font = oslLoadFont(&fi);
                    if (fi.paletteData){
                        free(fi.paletteData);
                        fi.paletteData = NULL;
                    }
                }
                free(tcCaracteres);
            }
            VirtualFileClose(f);
        }
        if (!font)
            oslHandleLoadNoFailError(filename);
        else
            font->fontType = OSL_FONT_OFT;
    }
	return font;
}
예제 #3
0
int main()
{
	initOSLib(); //Initializes OsLib
	oslIntraFontInit(INTRAFONT_CACHE_ALL | INTRAFONT_STRING_UTF8); //Initializes OSL fonts

	//Loads our audio tones
	camera_click = oslLoadSoundFile("system/media/audio/ui/camera_click.wav", OSL_FMT_NONE);
	KeypressStandard = oslLoadSoundFile("system/media/audio/ui/KeypressStandard.wav", OSL_FMT_NONE);
	Lock = oslLoadSoundFile("system/media/audio/ui/Lock.wav", OSL_FMT_NONE);
	Unlock = oslLoadSoundFile("system/media/audio/ui/Unlock.wav", OSL_FMT_NONE);
	
	strcpy(backgroundPath, setFileDefaultsChar("system/settings/background.bin", "system/framework/framework-res/res/background1.png", backgroundPath));
	strcpy(fontPath, setFileDefaultsChar("system/settings/font.bin", "system/fonts/Roboto.pgf", fontPath));
	
	hrTime = setFileDefaultsInt("system/app/clock/timeSet.bin", 0, hrTime);
	language = setFileDefaultsInt("system/settings/language.bin", 0, language);
	batteryM = setFileDefaultsInt("system/settings/battery.bin", 1, batteryM);
	experimentalF = setFileDefaultsInt("system/settings/experimentalFeatures.bin", 0, experimentalF);
	DARK = setFileDefaultsInt("system/settings/darkTheme.bin", 0, DARK);
	fontSize = setFileDefaultsFloat("system/settings/fontSize.bin", 0.5, fontSize);
	
	checkGBootActivation();
	createDirs();
	themesLoad();
	
	FILE *temp;
	 
	if (!(fileExists(rgbValuesPath)))
	{
		temp = fopen(rgbValuesPath, "w");
		fprintf(temp, "0\n149\n135");
		fclose(temp);
	}
	
	temp = fopen(rgbValuesPath, "r");
	fscanf(temp, "%d %d %d", &r, &g, &b);
	fclose(temp);
	
	quickSettings = oslLoadImageFile(quickSettingsBgPath, OSL_IN_VRAM, OSL_PF_8888);
	batt100 = oslLoadImageFile("system/home/icons/100.png", OSL_IN_VRAM, OSL_PF_8888);
	batt80 = oslLoadImageFile("system/home/icons/80.png", OSL_IN_VRAM, OSL_PF_8888);
	batt60 = oslLoadImageFile("system/home/icons/60.png", OSL_IN_VRAM, OSL_PF_8888);
	batt40 = oslLoadImageFile("system/home/icons/40.png", OSL_IN_VRAM, OSL_PF_8888);
	batt20 = oslLoadImageFile("system/home/icons/20.png", OSL_IN_VRAM, OSL_PF_8888);
	batt10 = oslLoadImageFile("system/home/icons/10.png", OSL_IN_VRAM, OSL_PF_8888);
	batt0 = oslLoadImageFile("system/home/icons/0.png", OSL_IN_VRAM, OSL_PF_8888);
	battcharge = oslLoadImageFile("system/home/icons/charge.png", OSL_IN_VRAM, OSL_PF_8888);
	volumeBar = oslLoadImageFilePNG("system/home/menu/volumeBar.png", OSL_IN_RAM, OSL_PF_8888);
	volumeControl = oslLoadImageFile(volumeControlPath, OSL_IN_RAM, OSL_PF_8888);
	layerA = oslLoadImageFilePNG("system/home/icons/layerA.png", OSL_IN_RAM, OSL_PF_8888);
	layerB = oslLoadImageFilePNG("system/home/icons/layerB.png", OSL_IN_RAM, OSL_PF_8888);
	navbarHighlight = oslLoadImageFilePNG(navbarHighlightPath, OSL_IN_RAM, OSL_PF_8888);
	navbarHighlight2 = oslLoadImageFilePNG(navbarHighlight2Path, OSL_IN_RAM, OSL_PF_8888);
	
	Roboto = oslLoadIntraFontFile(fontPath, INTRAFONT_CACHE_ALL | INTRAFONT_STRING_UTF8);
	oslSetFont(Roboto); //Load and set font
	
	SceUID kModule[3];
	
	kModule[0] = pspSdkLoadStartModule("modules/display.prx", PSP_MEMORY_PARTITION_KERNEL);
	kModule[1] = pspSdkLoadStartModule("modules/control.prx", PSP_MEMORY_PARTITION_KERNEL);
	kModule[2] = pspSdkLoadStartModule("modules/impose.prx", PSP_MEMORY_PARTITION_KERNEL);
	
	int i;
	
	for (i = 0; i < 3; i++)
	{
		if (kModule[i] < 0)
		{
			pspDebugScreenPrintf("Error 0x%08X starting module.\n", kModule[i]);
			break;
		}
	}
	
	deleteUpdateFile(); //Delete update.zip
	
	setCpuBoot(); //Set default CPU or load pre-existing value
	setPowerManagement(); //Set default power save settings or load pre-existing values.
	
	getPSPNickname(); //Get PSP name before hand
	strcpy (pspname, nickname);
	
	//Main loop to run the program
	while (!osl_quit)
	{		
		bootAnimation();
		
		//Ends Printing and Drawing
		oslEndDrawing(); 

		//End's Frame
        oslEndFrame(); 
		
		//Synchronizes the screen 
		oslSyncFrame();	
	}
	
	//Terminates/Ends the program
	oslQuit();
	return 0;
}