int connectToAP(int config){ oslStartDrawing(); oslDrawImageXY(bkg, 0, 0); oslDrawString(30, 200, "Connecting to AP..."); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); int result = oslConnectToAP(config, 30, connectAPCallback); if (!result){ char ip[30] = ""; char resolvedIP[30] = ""; oslStartDrawing(); oslDrawImageXY(bkg, 0, 0); oslGetIPaddress(ip); sprintf(buffer, "IP address: %s", ip); oslDrawString(30, 170, buffer); sprintf(buffer, "Resolving %s", ADDRESS); oslDrawString(30, 200, buffer); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); result = oslResolveAddress(ADDRESS, resolvedIP); oslStartDrawing(); oslDrawImageXY(bkg, 0, 0); oslGetIPaddress(ip); if (!result) sprintf(buffer, "Resolved IP address: %s", ip); else sprintf(buffer, "Error resolving address!"); oslDrawString(30, 230, buffer); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); sceKernelDelayThread(3*1000000); }else{ oslStartDrawing(); oslDrawImageXY(bkg, 0, 0); sprintf(buffer, "Error connecting to AP!"); oslDrawString(30, 200, buffer); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); sceKernelDelayThread(3*1000000); } oslDisconnectFromAP(); return 0; }
void refresh(song_select_info_t *data, int scroll_idx, int selected_idx) { int i; oslStartDrawing(); oslClearScreen(RGB(0, 0, 0)); oslIntraFontSetStyle(fnt, 0.8, 0xffffffff, 0x000000ff, 0); for (i = 0; i < item_per_page && i < item_count; ++ i) { if (i+scroll_idx == selected_idx) { oslIntraFontSetStyle(fnt, 0.8, 0xff0000ff, 0x000000ff, 0); } oslDrawStringLimited(0, i * item_height, 400, data[scroll_idx+i].title); if (i+scroll_idx == selected_idx) { oslDrawStringf(401, i * item_height, "%s\xe2\x98\x86\xc3\x97%d%s", course_idx > 0 ? "\xe2\x86\x90" : " ", data[scroll_idx+i].course_info[course_idx].course_level, course_idx < data[scroll_idx+i].course_cnt-1 ? "\xe2\x86\x92" : " ") oslIntraFontSetStyle(fnt, 0.8, 0xffffffff, 0x000000ff, 0); } } oslEndDrawing(); oslSyncFrame(); is_dirty = 0; }
int scanDirCallback(char *dirName){ oslStartDrawing(); drawCommonGraphics(); drawButtonBar(MODE_MEDIA_LIBRARY); int startX = (480 - scanBkg->sizeX) / 2; int startY = (272 - scanBkg->sizeY) / 2; oslDrawImageXY(scanBkg, startX, startY); skinGetColor("RGBA_POPUP_TITLE_TEXT", tempColor); skinGetColor("RGBA_POPUP_TITLE_TEXT_SHADOW", tempColorShadow); setFontStyle(fontNormal, defaultTextSize, RGBA(tempColor[0], tempColor[1], tempColor[2], tempColor[3]), RGBA(tempColorShadow[0], tempColorShadow[1], tempColorShadow[2], tempColorShadow[3]), INTRAFONT_ALIGN_LEFT); oslDrawString((480 - oslGetStringWidth(langGetString("SCANNING"))) / 2, startY + 3, langGetString("SCANNING")); skinGetColor("RGBA_POPUP_MESSAGE_TEXT", tempColor); skinGetColor("RGBA_POPUP_MESSAGE_TEXT_SHADOW", tempColorShadow); setFontStyle(fontNormal, defaultTextSize, RGBA(tempColor[0], tempColor[1], tempColor[2], tempColor[3]), RGBA(tempColorShadow[0], tempColorShadow[1], tempColorShadow[2], tempColorShadow[3]), INTRAFONT_ALIGN_LEFT); getFileName(dirName, buffer); if (strlen(buffer) > 70) buffer[70] = '\0'; oslDrawString((480 - oslGetStringWidth(buffer)) / 2, startY + 30, buffer); oslReadKeys(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); return 0; }
char * langBrowse(const char * path) { folderScan(path); dirVars(); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); oldpad = pad; sceCtrlReadBufferPositive(&pad, 1); langDisplay(); langControls(); //0 is to used for selecting a font if (strlen(returnMe) > 4) break; oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return returnMe; }
void displayLangSelection(char * browseDirectory) { langSelection = oslLoadImageFilePNG("system/settings/langSelection.png", OSL_IN_RAM, OSL_PF_8888); oslSetFont(Roboto); browseDirectory = langBrowse("system/settings/language"); //For language if (!langSelection) debugDisplay(); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); centerText(480/2, 272/2, browseDirectory, 50); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } }
//The client is connected and can send data: void clientConnected(struct remotePsp *aPsp) { int skip = 0; char mess[100] = "Hello distant World !!!"; while(!osl_quit){ if (!skip){ oslStartDrawing(); printInfo(); oslDrawStringf(10, 60, "Press O to send a message to %s", aPsp->name); oslDrawString(10, 70, "Press O to abort"); oslEndDrawing(); } oslEndFrame(); skip = oslSyncFrame(); oslReadKeys(); if (osl_keys->released.cross) { oslPlaySound(KeypressStandard, 1); oslQuit(); } else if (osl_keys->released.circle) { oslAdhocSendData(aPsp, mess, strlen( mess)); } } }
char * mp3Browse(const char * path) { folderScan(path); dirVars(); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); oldpad = pad; sceCtrlReadBufferPositive(&pad, 1); mp3FileDisplay(); mp3Controls(); if (strlen(returnMe) > 4) break; oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return returnMe; }
void tmHelp(void) { oslClearScreen(RGBA(0, 0, 0, 255)); while (!osl_quit) { oslStartDrawing(); oslReadKeys(); tmDrawGrid(); oslDrawFillRect(0, 0, 480, 272, RGBA(0, 0, 0, 125)); oslDrawString(1, 10, "ToneMatrix is a 16-step drum machine. The X axis represents one"); oslDrawString(1, 20, "4/4 measure in sixteenth notes, and the Y axis represents eight"); oslDrawString(1, 30, "different sounds. Select a node on the grid with the D-pad and the"); oslDrawString(1, 40, "sound will be played in time."); oslDrawString(1, 60, "Press O (circle) to stop or resume playing. Press [] (square) to"); oslDrawString(1, 70, "mute the row the cursor is on. Press /\\ (triangle) to mute every"); oslDrawString(1, 80, "row except the row the cursor is on. You can mute more than one row"); oslDrawString(1, 90, "at once."); oslDrawString(1, 110, "Press START to use the menu, and use the D-pad to select a menu"); oslDrawString(1, 120, "item or change a value (like the tempo), and X (cross) to confirm"); oslDrawString(1, 130, "to confirm your choice."); oslDrawString(1, 150, "You can play up to sixteen measures in a row by using the R and L"); oslDrawString(1, 160, "triggers, or by switching the \"grid\" value in the START menu."); oslDrawString(1, 170, "If \"loop all\" is on, then the measures will play one after"); oslDrawString(1, 180, "another. If it is off, it will only repeat one measure. It is"); oslDrawString(1, 190, "recommended that you stop playback before editing another grid."); oslDrawString(1, 210, "Press SELECT to hide this screen."); if (osl_keys->pressed.select) break; oslEndDrawing(); oslSyncFrame(); } return; }
int scanMS(){ char strFound[10] = ""; char *scannedMsg; cpuBoost(); ML_checkFiles(checkFileCallback); int found = ML_scanMS(userSettings->mediaLibraryRoot, fileExt, fileExtCount-1, scanDirCallback, NULL); cpuRestore(); snprintf(strFound, sizeof(strFound), "%i", found); while(!osl_quit && !exitFlagMediaLibrary){ oslStartDrawing(); drawCommonGraphics(); drawButtonBar(MODE_MEDIA_LIBRARY); strcpy(buffer, langGetString("MEDIA_FOUND")); scannedMsg = replace(buffer, "XX", strFound); drawMessageBox(langGetString("SCAN_FINISHED"), scannedMsg); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); oslReadKeys(); if(getConfirmButton()) break; } return 0; }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Draw the whole video with query running message: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void drawQueryRunning(){ oslStartDrawing(); drawCommonGraphics(); drawButtonBar(MODE_MEDIA_LIBRARY); drawMenu(&commonMenu); drawMLinfo(); drawWait(langGetString("QUERY_RUNNING_TITLE"), langGetString("QUERY_RUNNING")); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Connect to Access Point: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int connectAPCallback(int state){ oslStartDrawing(); oslDrawImageXY(bkg, 0, 0); oslDrawString(30, 200, "Connecting to AP..."); sprintf(buffer, "State: %i", state); oslDrawString(30, 230, buffer); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); return 0; }
int initiateMessage() { char* nickname = (char*)malloc(100); int skip = 0; oslSetFont(Roboto); oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, INTRAFONT_ALIGN_LEFT); while(!osl_quit) { if (!skip) { oslStartDrawing(); if (oslIsWlanPowerOn()) { oslDrawString(10, 10, "Please Enter nickname By Pressing X (Client)..."); oslDrawString(10, 25, "Please Press O To Act As Server..."); if (oslOskIsActive()){ oslDrawOsk(); if (oslGetOskStatus() == PSP_UTILITY_DIALOG_NONE) { if (oslOskGetResult() == OSL_OSK_CANCEL) { nickname = (char*)"Client"; } else { oslOskGetText(nickname); } oslEndOsk(); } } else { oslDrawString(10, 40, "Please turn on the wlan switch!"); } oslEndDrawing(); } oslEndFrame(); skip = oslSyncFrame(); oslReadKeys(); if (osl_keys->released.cross && oslIsWlanPowerOn()) { oslInitOsk((char*)"Please enter nickname!", (char*)"Client", 99, 1, -1); } } } sceKernelExitGame(); return 0; }
static PyObject* osl_endDrawing(PyObject *self, PyObject *args, PyObject *kwargs) { if (!PyArg_ParseTuple(args, ":endDrawing")) return NULL; oslEndDrawing(); Py_INCREF(Py_None); return Py_None; }
//The server accepted the connection and it's ready to receive data: void serverConnected(struct remotePsp *aPsp) { int skip = 0; char buffer[100] = ""; int dataLength = 0; while(!osl_quit){ if (dataLength <= 0) dataLength = oslAdhocReceiveData(aPsp, buffer, 100); if (!skip){ oslStartDrawing(); printInfo(); if (dataLength <= 0) { oslDrawStringf(10, 40, "Waiting for data from %s", aPsp->name); } else { oslDrawStringf(10, 40, "Data received from %s:", aPsp->name); oslDrawStringf(10, 55, buffer); oslDrawString(10, 70, "Press O to receive more data"); } oslDrawString(150, 250, "Press X to quit"); oslEndDrawing(); } oslEndFrame(); skip = oslSyncFrame(); oslReadKeys(); if (osl_keys->released.cross) { oslQuit(); } else if (osl_keys->released.circle && dataLength > 0) { dataLength = 0; memset(buffer, sizeof(buffer), 0); } } }
//<-- STAS: --> int oslDialogDrawAndWait(int dialogType) { int status = OSL_DIALOG_STATUS_INIT; OSL_IMAGE* img = oslCreateImage(480, 272, OSL_IN_RAM, OSL_PF_8888); oslSyncDrawing(); oslCopyImageTo(img, OSL_DEFAULT_BUFFER); // Save the currently drawn image while((status >= 0) && (status != OSL_DIALOG_STATUS_NONE) && !osl_quit) { if (!oslSyncFrameEx(0,0,1)) { oslStartDrawing(); oslCopyImageTo(OSL_DEFAULT_BUFFER, img); // Restore the image drawn by the user app switch (dialogType) { case OSL_DIALOG_MESSAGE: case OSL_DIALOG_ERROR: case OSL_DIALOG_NETCONF: oslDrawDialog(); status = oslGetDialogStatus(); break; case OSL_DIALOG_OSK: oslDrawOsk(); status = oslGetOskStatus(); break; case OSL_DIALOG_SAVELOAD: oslDrawSaveLoad(); status = oslGetLoadSaveStatus(); break; case OSL_DIALOG_BROWSER: oslDrawBrowser(); status = oslGetBrowserStatus(); break; } oslEndDrawing(); } oslEndFrame(); } oslDeleteImage(img); return (status < 0)? status : 0; }
bool tmDeleteWarning(int slot) { bool x = FALSE; char msg[50]; sprintf(msg, "Are you sure you want to delete song%d.tms ?", slot); while (!osl_quit) { oslStartDrawing(); oslReadKeys(); tmDrawGrid(); oslDrawFillRect(0, 0, 480, 272, RGBA(0, 0, 0, 125)); oslDrawString(13, 70, msg); oslDrawString(100, 90, "X - Yes"); oslDrawString(100, 100, "O - No"); if (osl_keys->pressed.cross) { x = TRUE; break; } if (osl_keys->pressed.circle) break; oslEndDrawing(); oslSyncFrame(); } return x; }
int mp3View(char * browseDirectory) { mp3bg = oslLoadImageFilePNG(apolloBgPath, OSL_IN_RAM, OSL_PF_8888); mp3_select = oslLoadImageFilePNG(apolloSelectorPath, OSL_IN_RAM, OSL_PF_8888); oslSetFont(Roboto); char * Directory = mp3Browse(browseDirectory); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); centerText(480/2, 272/2, Directory, 50); // Shows the path that 'Directory' was supposed to receive from mp3Browse(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return 0; }
bool tmClearAllWarning(void) { oslClearScreen(RGBA(0, 0, 0, 255)); bool x = FALSE; while (!osl_quit) { oslStartDrawing(); oslReadKeys(); tmDrawGrid(); oslDrawFillRect(0, 0, 480, 272, RGBA(0, 0, 0, 125)); oslSetTextColor(RGBA(255,0,0,255)); oslDrawString(200, 50, "WARNING:"); oslSetTextColor(RGBA(255,255,255,255)); oslDrawString(3, 70, "Are you sure you want to clear all grids? This cannot be undone."); oslDrawString(13, 80, "Press X to clear all grids, or press O to cancel."); if (osl_keys->pressed.cross) { x = TRUE; break; } if (osl_keys->pressed.circle) break; oslEndDrawing(); oslSyncFrame(); } return x; }
void MP3Play(char * path) { struct ID3Tag ID3; nowplaying = oslLoadImageFilePNG(nowplayingBgPath, OSL_IN_RAM, OSL_PF_8888); mp3Play = oslLoadImageFilePNG("system/app/apollo/play.png", OSL_IN_RAM, OSL_PF_8888); mp3Pause = oslLoadImageFilePNG("system/app/apollo/pause.png", OSL_IN_RAM, OSL_PF_8888); if (!nowplaying) debugDisplay(); scePowerSetClockFrequency(333, 333, 166); pspAudioInit(); int i, mp3Min = 0; MP3ME_Init(1); ParseID3(path, &ID3); MP3ME_Load(path); MP3ME_Play(); isPlaying = 1; while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); oslReadKeys(); oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, 0); if (MP3ME_playingTime > 59) { mp3Min += 1; MP3ME_playingTime = 0; } oslDrawImageXY(nowplaying, 0, 0); oslDrawStringf(240,76, "Playing: %.19s", folderIcons[current].name); oslDrawStringf(240,96, "Title: %.21s", ID3.ID3Title); oslDrawStringf(240,116, "Artist: %.20s", ID3.ID3Artist); oslDrawStringf(240,136, "Album: %.21s", ID3.ID3Album); oslDrawStringf(240,156, "Year: %.22s", ID3.ID3Year); oslDrawStringf(240,176, "Genre: %.21s", ID3.ID3GenreText); oslDrawStringf(435,206, "0%d:%.f", mp3Min, MP3ME_playingTime); if (MP3ME_isPlaying == 1) oslDrawImageXY(mp3Play, 230, 224); if (MP3ME_isPlaying == 0) oslDrawImageXY(mp3Pause, 230, 224); battery(370,2,1); digitaltime(420,4,0,hrTime); volumeController(); if(osl_keys->pressed.select) { oslDeleteImage(nowplaying); oslDeleteImage(mp3Play); oslDeleteImage(mp3Pause); return; } if(MP3ME_isPlaying == 1 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); MP3ME_Pause(); for(i=0; i<10; i++) { sceDisplayWaitVblankStart(); } } else if (MP3ME_isPlaying == 0 && osl_keys->pressed.cross) { MP3ME_Play(); } if (MP3ME_EndOfStream() == 1) { isPlaying = 0; endAudioLib(); MP3ME_Stop(); releaseAudio(); MP3ME_Play(); } if(osl_keys->pressed.circle) { endAudioLib(); MP3ME_Stop(); releaseAudio(); oslDeleteImage(nowplaying); oslDeleteImage(mp3Play); oslDeleteImage(mp3Pause); isPlaying = 0; setCpuBoot(); //Restore previous CPU state return; } if (osl_keys->pressed.square) { powermenu(); } if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } captureScreenshot(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } }
int mp3player() { mp3bg = oslLoadImageFilePNG(apolloBgPath, OSL_IN_RAM, OSL_PF_8888); mp3_select = oslLoadImageFilePNG(apolloSelectorPath, OSL_IN_RAM, OSL_PF_8888); if (!mp3bg || !mp3_select) debugDisplay(); oslSetFont(Roboto); int MenuSelection = 1; // Pretty obvious int selector_x = 8; //The x position of the first selection int selector_y = 43; //The y position of the first selection int selector_image_x; //Determines the starting x position of the selection int selector_image_y = 55; //Determines the starting y position of the selection int numMenuItems = 3; //Amount of items in the menu int selection = 0; while (!osl_quit) { LowMemExit(); selector_image_x = selector_x+(mp3XSelection*MenuSelection); //Determines where the selection image is drawn for each selection selector_image_y = selector_y+(mp3YSelection*MenuSelection); //Determines where the selection image is drawn for each selection oslStartDrawing(); oslReadKeys(); oslClearScreen(RGB(0,0,0)); oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, 0); oslDrawImageXY(mp3bg, 0, 0); oslDrawImageXY(mp3_select, selector_image_x, selector_image_y); oslDrawStringf(20,108,"MUSIC"); oslDrawStringf(20,163,"PSP/MUSIC"); oslDrawStringf(20,218,"PSP/GAME/CyanogenPSP/Downloads"); battery(370,2,1); digitaltime(420,4,0,hrTime); volumeController(); if (osl_keys->pressed.down) MenuSelection++; //Moves the selector down if (osl_keys->pressed.up) MenuSelection--; //Moves the selector up if (MenuSelection > numMenuItems) MenuSelection = 1; //Sets the selection to the first if (MenuSelection < 1) MenuSelection = numMenuItems; //Sets the selection back to last if (MenuSelection == 1 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(mp3bg); oslDeleteImage(mp3_select); mp3View("ms0:/MUSIC"); } else if (MenuSelection == 2 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(mp3bg); oslDeleteImage(mp3_select); mp3View("ms0:/PSP/MUSIC"); } else if (MenuSelection == 3 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(mp3bg); oslDeleteImage(mp3_select); mp3View("ms0:/PSP/GAME/CyanogenPSP/downloads"); } if (osl_keys->pressed.circle) { oslDeleteImage(mp3bg); oslDeleteImage(mp3_select); appdrawer(); } if (osl_keys->pressed.square) { powermenu(); } if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } captureScreenshot(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return selection; }
int soundPlay(char * path) { nowplaying = oslLoadImageFilePNG(nowplayingBgPath, OSL_IN_RAM, OSL_PF_8888); mp3Play = oslLoadImageFilePNG("system/app/apollo/play.png", OSL_IN_RAM, OSL_PF_8888); mp3Pause = oslLoadImageFilePNG("system/app/apollo/pause.png", OSL_IN_RAM, OSL_PF_8888); OSL_SOUND * sound = oslLoadSoundFile(path, OSL_FMT_NONE); if (!nowplaying) debugDisplay(); oslInitAudioME(3); oslPlaySound(sound,0); isPlaying = 1; int Play = 1; while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); oslReadKeys(); oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, 0); oslDrawImageXY(nowplaying, 0, 0); if (Play == 1) oslDrawImageXY(mp3Play, 230, 224); else if (Play == 0) oslDrawImageXY(mp3Pause, 230, 224); oslDrawStringf(240,76, "%.28s", folderIcons[current].name); battery(370,2,1); digitaltime(420,4,0,hrTime); volumeController(); if(osl_keys->pressed.select) { oslDeleteImage(nowplaying); oslDeleteImage(mp3Play); oslDeleteImage(mp3Pause); return 1; } if(osl_keys->pressed.cross && Play == 1) { Play = 0; oslPlaySound(KeypressStandard, 1); oslPauseSound(sound,-1); } else if(osl_keys->pressed.cross && Play == 0) { Play = 1; oslPlaySound(KeypressStandard, 1); oslPauseSound(sound,-1); } if(osl_keys->pressed.circle) { isPlaying = 0; oslStopSound(sound); oslDeleteSound(sound); oslDeleteImage(nowplaying); oslDeleteImage(mp3Play); oslDeleteImage(mp3Pause); return 1; } if (osl_keys->pressed.square) { powermenu(); } if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } captureScreenshot(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } oslStopSound(sound); oslDeleteSound(sound); oslDeleteImage(nowplaying); oslDeleteImage(mp3Play); oslDeleteImage(mp3Pause); return 0; }
void newMessage() { new_message = oslLoadImageFilePNG("system/app/messenger/new_message.png", OSL_IN_RAM, OSL_PF_8888); if (!new_message) debugDisplay(); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); controls(); oslDrawImageXY(new_message, 0, 0); navbarButtons(2); battery(330,2,0); digitaltime(381,4,0,hrTime); androidQuickSettings(); volumeController(); oslDrawImage(cursor); if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } if (osl_keys->pressed.circle) { oslDeleteImage(new_message); messenger(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 157 && cursor->y <= 213) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); messenger(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 76 && cursor->y <= 155) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); home(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 19 && cursor->y <= 75) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); multitask(); } captureScreenshot(); if (cursor->x >= 7 && cursor->x <= 435 && cursor->y >= 55 && cursor->y <= 86 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); doServer(); } oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, INTRAFONT_ALIGN_LEFT); oslDrawString(14, 245, tempMessage); if (cursor->x >= 10 && cursor->x <= 362 && cursor->y >= 228 && cursor->y <= 270 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); openOSK("Enter Message", "", 128, -1); } if ((cursor->x >= 10 && cursor->x <= 405 && cursor->y >= 88 && cursor->y <= 118 && osl_keys->pressed.cross) && oslIsWlanPowerOn()) doClient(); else if ((cursor->x >= 410 && cursor->x <= 442 && cursor->y >= 92 && cursor->y <= 118 && osl_keys->pressed.cross) && oslIsWlanPowerOn()) doServer(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } }
int messenger() { messengerbg = oslLoadImageFilePNG("system/app/messenger/messengerbg.png", OSL_IN_RAM, OSL_PF_8888); if (!messengerbg) debugDisplay(); oslSetFont(Roboto); while (!osl_quit) { LowMemExit(); oslStartDrawing(); oslClearScreen(RGB(0,0,0)); oslIntraFontSetStyle(Roboto, fontSize, BLACK, 0, INTRAFONT_ALIGN_LEFT); controls(); oslDrawImageXY(messengerbg, 0, 0); navbarButtons(2); battery(330,2,0); digitaltime(381,4,0,hrTime); androidQuickSettings(); volumeController(); oslDrawImage(cursor); if (osl_keys->pressed.square) { powermenu(); } if (osl_keys->pressed.L) { oslPlaySound(Lock, 1); lockscreen(); } if (osl_keys->pressed.circle) { oslDeleteImage(messengerbg); appdrawer(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 157 && cursor->y <= 213) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); appdrawer(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 76 && cursor->y <= 155) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); home(); } if ((cursor->x >= 444 && cursor->x <= 480) && (cursor->y >= 19 && cursor->y <= 75) && (osl_keys->pressed.cross)) { oslPlaySound(KeypressStandard, 1); multitask(); } captureScreenshot(); if (cursor->x >= 385 && cursor->x <= 428 && cursor->y >= 210 && cursor->y <= 258 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); newMessage(); } /* if (cursor->x >= 378 && cursor->x <= 434 && cursor->y >= 20 && cursor->y <= 52 && osl_keys->pressed.cross) { oslPlaySound(KeypressStandard, 1); oslDeleteImage(messengerbg); doClient(); } */ oslEndDrawing(); oslEndFrame(); oslSyncFrame(); } return 0; }
unsigned char tmMenu(void) { int x; char mstrings[MAX_MENU_ITEMS][40]; char ver[25]; while (!osl_quit) { oslStartDrawing(); oslReadKeys(); tmDrawGrid(); oslDrawFillRect(0, 0, 480, 272, RGBA(0, 0, 0, 125)); tempo = tmTempo(bpm); bpm = tmBPM(tempo); for (x = 0; x < MAX_MENU_ITEMS; x++) { bzero(mstrings[x], sizeof(mstrings[x])); switch (x) { case SAVEM: sprintf(mstrings[x], "%s Save song", (menuoption == x) ? "->" : " "); break; case LOADM: sprintf(mstrings[x], "%s Load song", (menuoption == x) ? "->" : " "); break; case HELPM: sprintf(mstrings[x], "%s Help me", (menuoption == x) ? "->" : " "); break; case LOOPM: sprintf(mstrings[x], "%s Loop all: %s", (menuoption == x) ? "->" : " ", (loopall) ? "on" : "off"); break; case TEMPOM: sprintf(mstrings[x], "%s Tempo: %d BPM", (menuoption == x) ? "->" : " ", tmBPM(tempo)); break; case GRIDM: sprintf(mstrings[x], "%s Grid: %d", (menuoption == x) ? "->" : " ", (current+1)); break; case CUTM: sprintf(mstrings[x], "%s Cut grid", (menuoption == x) ? "->" : " "); break; case COPYM: sprintf(mstrings[x], "%s Copy grid", (menuoption == x) ? "->" : " "); break; case PASTEM: if (tmIsGridEmpty(clipboard)) oslSetTextColor(RGBA(255,0,0,255)); sprintf(mstrings[x], "%s Paste grid", (menuoption == x) ? "->" : " "); break; case CLEARM: sprintf(mstrings[x], "%s Clear grid", (menuoption == x) ? "->" : " "); break; case CLEARALLM: sprintf(mstrings[x], "%s Clear all grids", (menuoption == x) ? "->" : " "); break; } oslDrawString(10, (60+(x*10)), mstrings[x]); oslSetTextColor(RGBA(255,255,255,255)); } bzero(ver, sizeof(ver)); // sprintf(ver, "ToneMatrix %s by Babkock", VERSION); oslDrawString(10, 240, ver); if ((osl_keys->pressed.up) && (menuoption > 0)) { menuoption--; if (menuoption == BREAK) menuoption--; } if ((osl_keys->pressed.down) && (menuoption < (MAX_MENU_ITEMS-1))) { menuoption++; if (menuoption == BREAK) menuoption++; } if (osl_keys->pressed.left) { switch (menuoption) { case GRIDM: if (current > 0) current--; break; case LOOPM: loopall = (loopall) ? FALSE : TRUE; break; case TEMPOM: if (bpm > MIN_BPM) bpm -= 5; tempo = tmTempo(bpm); break; } } if (osl_keys->pressed.right) { switch (menuoption) { case GRIDM: if (current < (MAX_GRIDS-1)) current++; break; case LOOPM: loopall = (loopall) ? FALSE : TRUE; break; case TEMPOM: if (bpm < MAX_BPM) bpm += 5; tempo = tmTempo(bpm); break; } } if (osl_keys->pressed.cross) { if ((menuoption != LOOPM) && (menuoption != TEMPOM) && (menuoption != GRIDM) && (menuoption != CUTM) && (menuoption != COPYM) && (menuoption != PASTEM)) return menuoption; else { switch (menuoption) { case CUTM: clipboard = tmClear(); clipboard = data[current]; data[current] = tmClear(); break; case COPYM: clipboard = tmClear(); clipboard = data[current]; break; case PASTEM: if (!tmIsGridEmpty(clipboard)) { data[current] = tmClear(); data[current] = clipboard; } break; } } } if (osl_keys->pressed.start) break; oslEndDrawing(); oslSyncFrame(); } return 69; }
//Waits for a connection from a psp: void doServer() { int skip = 0; int quit = 0; char message[100] = ""; int dialog = OSL_DIALOG_NONE; int connected = 0; int init = oslAdhocInit("ULUS99999"); if (init) { snprintf(message, sizeof(message), "adhocInit error: %i", init); oslMessageBox(message, "Debug", oslMake3Buttons(OSL_KEY_CROSS, OSL_MB_OK , 0, 0, 0, 0)); return; } while(!osl_quit && !quit){ struct remotePsp *reqPsp = oslAdhocGetConnectionRequest(); if (!skip){ oslStartDrawing(); printInfo(); oslDrawString(10, 40, "Press O to abort"); if (reqPsp == NULL) { oslDrawString(10, 100, "Waiting for a connection request..."); } else { snprintf(message, sizeof(message), "Accept request from psp : %s", reqPsp->name); oslDrawString(10, 100, message); if (oslGetDialogType() == OSL_DIALOG_NONE) oslInitMessageDialog(message, 1); } dialog = oslGetDialogType(); if (dialog){ oslDrawDialog(); if (oslGetDialogStatus() == PSP_UTILITY_DIALOG_NONE){ if (dialog == OSL_DIALOG_MESSAGE){ int button = oslGetDialogButtonPressed(); if (button == PSP_UTILITY_MSGDIALOG_RESULT_YES) { oslAdhocAcceptConnection(reqPsp); connected = 1; } else if (button == PSP_UTILITY_MSGDIALOG_RESULT_NO) { oslAdhocRejectConnection(reqPsp); } } oslEndDialog(); } } oslEndDrawing(); } oslEndFrame(); skip = oslSyncFrame(); if (connected) serverConnected(reqPsp); oslReadKeys(); if (dialog == OSL_DIALOG_NONE) { if (osl_keys->released.circle) { quit = 1; } } } oslAdhocTerm(); }
//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(); } }
//Connects to a psp: void doClient() { int skip = 0; int quit = 0; int i = 0; int current = 0; int init = oslAdhocInit("ULUS99999"); if (init) { char message[100] = ""; sprintf(message, "adhocInit error: %i", init); oslMessageBox(message, "Debug", oslMake3Buttons(OSL_KEY_CROSS, OSL_MB_OK , 0, 0, 0, 0)); return; } while(!osl_quit && !quit){ if (!skip){ oslStartDrawing(); printInfo(); if (oslAdhocGetRemotePspCount()) oslDrawString(10, 60, "Press X to request a connection"); oslDrawString(10, 70, "Press O to abort"); for (i=0; i < oslAdhocGetRemotePspCount(); i++) { if (i == current) oslIntraFontSetStyle(Roboto, 1.0, RGBA(100,100,100,255), RGBA(0,0,0,0), INTRAFONT_ALIGN_LEFT); else oslIntraFontSetStyle(Roboto, 1.0, RGBA(255,255,255,255), RGBA(0,0,0,0), INTRAFONT_ALIGN_LEFT); oslDrawString(10, 100 + 15 * i, oslAdhocGetPspByIndex(i)->name); } oslEndDrawing(); } oslEndFrame(); skip = oslSyncFrame(); oslReadKeys(); if (osl_keys->released.down) { if (++current >= oslAdhocGetRemotePspCount()) current = 0; } else if (osl_keys->released.up) { if (--current < 0) current = oslAdhocGetRemotePspCount() - 1; } else if (osl_keys->released.cross && oslAdhocGetRemotePspCount()) { //Request a connection: int ret = oslAdhocRequestConnection(oslAdhocGetPspByIndex(current), 30, NULL); if (ret == OSL_ADHOC_ACCEPTED || ret == OSL_ADHOC_ESTABLISHED) { clientConnected(oslAdhocGetPspByIndex(current)); } } else if (osl_keys->released.circle) { quit = 1; } } oslAdhocTerm(); }
/* Call this when you've finished to draw on the screen. */ VALUE Graphics_endDraw(VALUE self) { oslEndDrawing(); return Qnil; }
int bootAnimation() { int currentFrame = 0, i = 0; bootAnimActivator = setFileDefaultsInt("system/boot/bootAnimActivator.bin", 0, bootAnimActivator); firstBoot = setFileDefaultsInt("system/settings/boot.bin", 1, firstBoot); if (bootAnimActivator != 1) { if (firstBoot == 1) displayLangSelection("system/settings/language"); else firstBootInitiation(); } bootAnim[0] = oslLoadImageFilePNG("system/boot/part1/boot0.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[1] = oslLoadImageFilePNG("system/boot/part1/boot1.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[2] = oslLoadImageFilePNG("system/boot/part1/boot2.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[3] = oslLoadImageFilePNG("system/boot/part1/boot3.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[4] = oslLoadImageFilePNG("system/boot/part1/boot4.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[5] = oslLoadImageFilePNG("system/boot/part1/boot5.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[6] = oslLoadImageFilePNG("system/boot/part1/boot6.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[7] = oslLoadImageFilePNG("system/boot/part1/boot7.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[8] = oslLoadImageFilePNG("system/boot/part1/boot8.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[9] = oslLoadImageFilePNG("system/boot/part1/boot9.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[10] = oslLoadImageFilePNG("system/boot/part1/boot10.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[11] = oslLoadImageFilePNG("system/boot/part1/boot11.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); bootAnim[12] = oslLoadImageFilePNG("system/boot/part1/boot12.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888); while(!osl_quit) { oslStartDrawing(); oslDrawImageXY(bootAnim[currentFrame], 80, -25); sceDisplayWaitVblankStart(); oslEndDrawing(); oslEndFrame(); oslSyncFrame(); sceKernelDelayThread(10000 * 2); currentFrame++; if(currentFrame > 12) { currentFrame = 0; i++; } if (i > 21) { for (i = 0; i <=12; i++) { oslDeleteImage(bootAnim[i]); } if (firstBoot == 1) displayLangSelection("system/settings/language"); else firstBootInitiation(); } } oslEndDrawing(); oslEndFrame(); oslSyncFrame(); return 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; }