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; }
//First Boot Message void firstBootInitiation() { firstBoot = setFileDefaultsInt("system/settings/boot.bin", 1, firstBoot); iconPackLoad(); //Loads our images into memory loadIcons(); background = oslLoadImageFile(backgroundPath, OSL_IN_RAM, OSL_PF_8888); cursor = oslLoadImageFilePNG(cursorPath, OSL_IN_VRAM, OSL_PF_8888); navbar = oslLoadImageFile(navbarPath, OSL_IN_RAM, OSL_PF_8888); navbar2 = oslLoadImageFile(navbar2Path, OSL_IN_RAM, OSL_PF_8888); //notif = oslLoadImageFile("system/home/menu/notif.png", OSL_IN_RAM, OSL_PF_8888); welcome = oslLoadImageFilePNG("system/home/icons/welcome.png", OSL_IN_RAM, OSL_PF_8888); transbackground = oslLoadImageFilePNG("system/home/icons/transbackground.png", OSL_IN_RAM, OSL_PF_8888); control = oslLoadImageFilePNG("system/home/menu/brightnesscontrol.png", OSL_IN_VRAM, OSL_PF_8888); ic_launcher_apollo = oslLoadImageFilePNG(apolloPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_browser = oslLoadImageFile(browserPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_calculator = oslLoadImageFilePNG(calcPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_filemanager = oslLoadImageFilePNG(fmPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_gallery = oslLoadImageFilePNG(galleryPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_game = oslLoadImageFilePNG(gamePath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_messenger = oslLoadImageFilePNG(messagesPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_settings = oslLoadImageFilePNG(settingsPath, OSL_IN_RAM, OSL_PF_8888); ic_launcher_umd = oslLoadImageFilePNG(umdPath, OSL_IN_RAM, OSL_PF_8888); usbdebug = oslLoadImageFilePNG("system/home/icons/usbdebug.png", OSL_IN_RAM, OSL_PF_8888); music = oslLoadImageFilePNG("system/home/icons/music.png", OSL_IN_RAM, OSL_PF_8888); //Debugger - Displays an error message if the following resources are missing. if (!background || !cursor || !ic_allapps || !ic_allapps_pressed || !navbar || !ic_launcher_apollo || !ic_launcher_settings || !ic_launcher_messenger || !ic_launcher_browser || !batt100 || !batt80 || !batt60 || !batt40 || !batt20 || !batt10 || !batt0 || !battcharge || !navbar2 || !usbdebug || !music) debugDisplay(); //Sets the cursor's original position on the screen cursor->x = 240; cursor->y = 136; if (firstBoot!= 0) { while (!osl_quit) { oslStartDrawing(); controls(); oslDrawImage(background); oslDrawImageXY(ic_launcher_apollo, 105, 190); oslDrawImageXY(ic_launcher_browser, 276, 190); oslDrawImageXY(ic_launcher_settings, 331, 190); oslDrawImageXY(ic_launcher_messenger, 160, 190); oslSetTransparentColor(RGB(0,0,0)); appDrawerIcon(); oslDisableTransparentColor(); oslIntraFontSetStyle(Roboto, 0.5f, WHITE, 0, INTRAFONT_ALIGN_LEFT); digitaltime(420,4,0,hrTime); volumeController(); battery(370,2,1); navbarButtons(0); oslDrawImageXY(transbackground, 0, 0); oslDrawImageXY(welcome, 0, 0); oslIntraFontSetStyle(Roboto, 0.8f,BLACK,0,INTRAFONT_ALIGN_LEFT); oslDrawStringf(20,30, "%s", lang_welcome[language][0]); oslIntraFontSetStyle(Roboto, 0.6f,DARKGRAY,0,INTRAFONT_ALIGN_LEFT); oslDrawStringf(20,60, "%s", lang_welcome[language][1]); oslDrawStringf(20,80, "%s", lang_welcome[language][2]); oslIntraFontSetStyle(Roboto, 0.6f,WHITE,0,INTRAFONT_ALIGN_LEFT); oslDrawStringf(385,110, "%s", lang_welcome[language][3]); oslDrawImage(cursor); if (cursor->x >= 388 && cursor->x <= 464 && cursor->y >= 98 && cursor->y <= 132 && osl_keys->pressed.cross) { FILE * firstBootTxt = fopen("system/settings/boot.bin", "w"); fprintf(firstBootTxt, "0"); fclose(firstBootTxt); oslPlaySound(KeypressStandard, 1); oslDeleteImage(welcome); oslDeleteImage(transbackground); unloadIcons(); home(); } captureScreenshot(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } } if (firstBoot == 0) { oslDeleteImage(welcome); oslDeleteImage(transbackground); unloadIcons(); lockscreen(); home(); } }
int calculator() { //int result; int x = 1; int y = 1; /* int enterednumber; int numberuse = 0; int suppression = 1; int Number = 0; */ calcbackground = oslLoadImageFile("system/app/calculator/calcbg.png", OSL_IN_RAM, OSL_PF_8888); oslSetFont(Roboto); if (!calcbackground) debugDisplay(); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); controls(); oslDrawImageXY(calcbackground, 0, 0); battery(370,2,1); digitaltime(420,4,0,hrTime); volumeController(); oslIntraFontSetStyle(Roboto, 0.8f,WHITE,0,0); oslDrawString(35,120,"7"); oslDrawString(90,120,"8"); oslDrawString(145,120,"9"); oslDrawString(35,160,"4"); oslDrawString(90,160,"5"); oslDrawString(145,160,"6"); oslDrawString(35,200,"1"); oslDrawString(90,200,"2"); oslDrawString(145,200,"3"); oslDrawString(90,240,"0"); oslDrawString(218,120,"/"); oslDrawString(218,160,"x"); oslDrawString(218,200,"-"); oslDrawString(218,240,"+"); oslIntraFontSetStyle(Roboto, 0.6f,WHITE,0,0); oslDrawString(260,120,"DEL"); oslDrawString(326,120,"sin"); oslDrawString(366,120,"cos"); oslDrawString(406,120,"tan"); oslDrawString(446,120,"ln"); if (osl_keys->pressed.left) x -= 1; if (x == 0) x = 8; if (osl_keys->pressed.right) x += 1; if (x == 10) x = 1; if (osl_keys->pressed.up) y -= 1; if (y == 0) y = 4; if (osl_keys->pressed.down) y += 1; if (y == 5) y = 1; if (y == 1 && x ==1) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(35,120,"7"); } else if (y == 1 && x == 2) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(90,120,"8"); } else if (y == 1 && x == 3) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(145,120,"9"); } else if (y == 1 && x == 4) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(218,120,"/"); } else if (y == 1 && x == 5) { oslIntraFontSetStyle(Roboto, 0.6f,RED,0,0); oslDrawString(260,120,"DEL"); } else if (y == 1 && x == 6) { oslIntraFontSetStyle(Roboto, 0.6f,RED,0,0); oslDrawString(326,120,"sin"); } else if (y == 1 && x == 7) { oslIntraFontSetStyle(Roboto, 0.6f,RED,0,0); oslDrawString(366,120,"cos"); } else if (y == 1 && x == 8) { oslIntraFontSetStyle(Roboto, 0.6f,RED,0,0); oslDrawString(406,120,"tan"); } else if (y == 1 && x == 9) { oslIntraFontSetStyle(Roboto, 0.6f,RED,0,0); oslDrawString(446,120,"ln"); } if (y == 2 && x == 1) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(35,160,"4"); } else if (y == 2 && x == 2) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(90,160,"5"); } else if (y == 2 && x == 3) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(145,160,"6"); } else if (y == 2 && x == 4) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(218,160,"x"); } if (y == 3 && x == 1) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(35,200,"1"); } else if (y == 3 && x == 2) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(90,200,"2"); } else if (y == 3 && x == 3) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(145,200,"3"); } else if (y == 3 && x == 4) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(218,200,"-"); } if (y == 4 && x == 1) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(90,240,"0"); } else if (y == 4 && x == 2) { oslIntraFontSetStyle(Roboto, 0.8f,RED,0,0); oslDrawString(218,240,"+"); } if (osl_keys->pressed.square) { powermenu(); } if (osl_keys->pressed.circle) { oslDeleteImage(calcbackground); appdrawer(); } if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } captureScreenshot(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return 0; }
static int image_init(PyImage *self, PyObject *args, PyObject *kwargs) { PyObject *initial; int location = OSL_IN_VRAM; int pf = OSL_PF_8888; if (!PyArg_ParseTuple(args, "O|ii:__init__", &initial, &location, &pf)) return -1; self->location = location; if (PyString_Check(initial)) { // Load from file char *filename = PyString_AsString(initial); self->pImg = oslLoadImageFile(filename, location, pf); if (!self->pImg) { PyErr_SetString(osl_Error, "Could not load image."); return -1; } } else if (PyTuple_Check(initial)) { int w, h; if (PyTuple_Size(initial) != 2) { PyErr_SetString(PyExc_TypeError, "Image dimension must be a 2-tuple"); return -1; } if (!PyInt_Check(PyTuple_GetItem(initial, 0))) { PyErr_SetString(PyExc_TypeError, "Image width must be an integer"); return -1; } if (!PyInt_Check(PyTuple_GetItem(initial, 1))) { PyErr_SetString(PyExc_TypeError, "Image height must be an integer"); return -1; } w = PyInt_AsLong(PyTuple_GetItem(initial, 0)); h = PyInt_AsLong(PyTuple_GetItem(initial, 1)); self->pImg = oslCreateImage(w, h, location, pf); if (!self->pImg) { PyErr_SetString(osl_Error, "Could not create image"); return -1; } } else { PyErr_SetString(PyExc_TypeError, "First argument must be a filename or a 2-tuple"); return -1; } if (location == OSL_IN_VRAM) { FREEIMG *pFree = (FREEIMG*)malloc(sizeof(FREEIMG)); pFree->bDelete = 0; pFree->pImg = self->pImg; pFree->next = (void*)pCurrent; pCurrent = pFree; } return 0; }
int oslShowSplashScreen2() { OSL_IMAGE *logo, *temp; int skip = 0; float y, vy; int frameNb, phase; float vyList[TABW]; float speeds[TABH][TABW]; int i, j, fade; float positions[TABH][TABW]; temp = oslLoadImageFile("logo/neoflash.png", OSL_IN_RAM, OSL_PF_5650); if (!temp) return 0; logo = oslCreateSwizzledImage(temp, OSL_IN_VRAM); oslDeleteImage(temp); if (!logo) return 0; y = -logo->sizeY; vy = 1.0f; frameNb = 0; phase = 1; fade = 0; for (i=0;i<LARG/TILE;i++) vyList[i] = (rand() % 7500) / 10000.f + 0.25f; for (j=0;j<HAUT/TILE;j++) for (i=0;i<LARG/TILE;i++) { speeds[j][i] = vyList[i] - (HAUT/TILE - j) * ((rand() % 1000) / 10000.0f + 0.04f); positions[j][i] = j * TILE; } while(!osl_quit && fade < 31 && frameNb < 220) { oslReadKeys(); if (phase < 9) { y += vy; if (y + logo->sizeY >= HAUT) { if (vy > 0) vy -= 0.8f; else vy -= 0.4f; if (phase % 2 == 1) phase++; } else if (phase == 1) vy += 0.4f; else { if (vy > 0) vy += 0.4f; else vy += 0.8f; if (phase % 2 == 0) phase++; } } else { y = 0; frameNb++; } if (frameNb > 120) { for (j=0;j<HAUT/TILE;j++) for (i=0;i<LARG/TILE;i++) { speeds[j][i] += 0.15f; if (speeds[j][i] > 0.0f) positions[j][i] += speeds[j][i]; } } if (fade > 0) fade++; if ((osl_keys->pressed.value & (OSL_KEYMASK_START|OSL_KEYMASK_CIRCLE|OSL_KEYMASK_CROSS)) && fade == 0) fade = 1; if (!skip) { oslStartDrawing(); oslClearScreen(0); if (frameNb <= 120) { logo->y = y; if (y < 0) { logo->stretchY = logo->sizeY; logo->stretchX = logo->sizeX; logo->x = 0; } else { logo->stretchY = logo->sizeY - y; logo->stretchX = logo->sizeX + y; logo->x = - y / 2; } oslDrawImage(logo); } else LogoDrawTiles(logo, positions); if (fade > 0) { oslSetAlpha(OSL_FX_RGBA, 0); oslDrawFillRect(0, 0, LARG, HAUT, RGBA(0, 0, 0, fade<<3)); /* oslSetAlpha(OSL_FX_SUB, 0xff); oslDrawFillRect(0, 0, LARG, HAUT, RGB(fade<<3, fade<<3, fade<<3)); oslSetAlpha(OSL_FX_DEFAULT, 0);*/ } oslEndDrawing(); } skip = oslSyncFrameEx(1,4,0); } oslDeleteImage(logo); return 1; }
/* Affiche le logo OSLib Ne cherchez pas à comprendre cette fonction si vous débutez :p */ int oslShowSplashScreen1() { OSL_IMAGE *texte, *etoile; OSL_IMAGE *fond; int skip=0; int x, y; int angle, nFrame, val; float dist; int pousNb; float pousX[100], pousY[100]; int i, imgAngle; float tblVitPous[8] = {0.2, 0.3, 0.15, 0.2, 0.35, 0.2, 0.15, 0.3}; int fade = 0; //Add these files to the list oslAddVirtualFileList((OSL_VIRTUALFILENAME*)__osl_logo_ram_files, oslNumberof(__osl_logo_ram_files)); texte = oslLoadImageFile("ram:/logo/texte.png", OSL_IN_VRAM | OSL_UNSWIZZLED, OSL_PF_8888); if (!texte) return 0; logoDecalePixels(texte); oslStartDrawing(); oslSetDithering(1); oslSetDrawBuffer(texte); oslDrawGradientRect(0,0, WIDTH,HEIGHT, RGB(0,0,0), RGB(0,0,128), RGB(0,0,128), RGB(0,0,0)); oslSetDrawBuffer(OSL_DEFAULT_BUFFER); oslEndDrawing(); oslMoveImageTo(texte, OSL_IN_RAM); oslSwizzleImage(texte); fond = logoCreeImageFond(); if (!fond) { oslDeleteImage(texte); return 0; } oslSetTransparentColor(RGB(255,0,254)); etoile = oslLoadImageFile("ram:/logo/etoile.png", OSL_IN_RAM, OSL_PF_5551); if (!etoile) { oslDeleteImage(texte); oslDeleteImage(fond); return 0; } oslDisableTransparentColor(); texte->centerX = texte->sizeX / 2; texte->centerY = texte->sizeY / 2; angle = 270; dist = 160.0f; nFrame = 0; pousNb=0; imgAngle = 78; while (!osl_quit) { if (!skip) { oslStartDrawing(); logoCreePaletteRotative(fond, 2000-nFrame*8); oslDrawImage(fond); x = WIDTH/2; y = HEIGHT/2; if (dist > 0) { x += oslCos(angle, dist); y -= oslSin(angle, dist); texte->stretchX = texte->sizeX * (1+dist*0.03f); texte->stretchY = texte->sizeY * (1+dist*0.03f); texte->angle = imgAngle; } else { texte->stretchX = texte->sizeX; texte->stretchY = texte->sizeY; texte->angle = 0; } oslSetBilinearFilter(1); //Effet spécial pour le texturage des nuages if (nFrame >= 50) { val = (nFrame - 50) * 6; if (val > 255) val = 255; oslSetAlpha(OSL_FX_ALPHA|OSL_FX_COLOR, RGBA(val,val,val,0xff)); } else oslSetAlpha(OSL_FX_ALPHA|OSL_FX_COLOR, RGBA(0,0,0,0xff)); oslDrawImageXY(texte, x, y); oslSetImageTileSize(etoile, 0,0, 16,16); oslCorrectImageHalfBorder(etoile); oslImageSetRotCenter(etoile); etoile->angle = 360 - ((nFrame * 3) % 360); etoile->stretchX = 16; etoile->stretchY = 16; oslSetAlpha(OSL_FX_ALPHA|OSL_FX_COLOR, RGBA(0xff,0,0,0xff)); oslDrawImageXY(etoile, 480-9, 272-9); //Dessine l'étoile if (nFrame >= 140 && nFrame < 240) { val = nFrame - 140; angle = (val * 5) % 360; i = nFrame - (240 - 256/12); if (val*16 < 255) oslSetAlpha(OSL_FX_ALPHA, val*16); else if (i > 0) oslSetAlpha(OSL_FX_ALPHA, 255-i*12); else oslSetAlpha(OSL_FX_RGBA, 0); etoile->angle = (val * 8) % 360; etoile->x = WIDTH/2 + oslCosi(angle, 120); etoile->y = HEIGHT/2 - oslSini(angle, 50); etoile->stretchX = 16 * 2; etoile->stretchY = 16 * 2; oslDrawImage(etoile); oslResetImageHalfBorder(etoile); } //Restaure l'environnement oslSetBilinearFilter(0); //Dessine les poussières oslSetAlpha(OSL_FX_ADD, 0xff); oslSetImageTileSize(etoile, 0,16, 8,8); oslImageSetRotCenter(etoile); for (i=0;i<pousNb;i++) oslDrawImageSimpleXY(etoile, pousX[i], pousY[i]); oslSetAlpha(OSL_FX_RGBA, 0); // oslSysBenchmarkDisplay(); //Fade if (nFrame < 32) oslDrawFillRect(0,0, WIDTH,HEIGHT, RGBA(0,0,0,255-(nFrame<<3))); if (fade > 0) { if (fade >= 31) fade = 31; oslDrawFillRect(0,0, WIDTH,HEIGHT, RGBA(0,0,0,(fade<<3))); } oslEndDrawing(); } nFrame++; //L'étoile tourne sur le logo if (nFrame >= 140 && nFrame < 240) { val = nFrame - 140; angle = (val * 5) % 360; if (angle >= 200 && angle <= 340) { pousX[pousNb] = WIDTH/2 + oslCos(angle, 120); pousY[pousNb] = HEIGHT/2 - oslSin(angle, 50); pousNb++; } } if (fade > 0) fade++; if (nFrame > 290 && fade == 0) fade = 1; for (i=0;i<pousNb;i++) { pousY[i] += tblVitPous[i%8]; } dist -= 2.0f; angle -= 4; imgAngle -= 1; if (angle < 0) angle += 360; skip = oslSyncFrameEx(1,4,0); //Lecture des touches oslReadKeys(); if ((osl_keys->pressed.value & (OSL_KEYMASK_START|OSL_KEYMASK_CIRCLE|OSL_KEYMASK_CROSS)) && fade == 0) fade = 1; if (fade >= 32) break; } oslSetAlpha(OSL_FX_RGBA, 0); oslDeleteImage(texte); oslDeleteImage(fond); oslDeleteImage(etoile); oslRemoveVirtualFileList((OSL_VIRTUALFILENAME*)__osl_logo_ram_files, oslNumberof(__osl_logo_ram_files)); return 1; }