//---------------------------------------------- bool myDepthGenerator::setup(xn::NodeInfo const& node, int num){ if ( thisNum == 0) bDraw[thisNum] = true; depthMAX = 8000; depthMIN = 0; thisNum = num; XnStatus result = XN_STATUS_OK; result = node.GetInstance(depth_generator); if (result != XN_STATUS_OK) { ofLogError("myDepthGenerator.setup()", xnGetStatusString(result)); return false; } else { depth_generator.SetMapOutputMode(out_put_modes); return true; } for (int i = 0; i < TOTAL_PIXEL; i++) { bgDepth[i] = depthMAX; bgDepthChar[i] = 0; } bgImg.allocate(CAPTURE_WIDTH, CAPTURE_HEIGHT, OF_IMAGE_GRAYSCALE); depthBgPixel.allocate(CAPTURE_WIDTH, CAPTURE_HEIGHT, 1); loadBgImage(); vboMesh.setMode(OF_PRIMITIVE_POINTS); vboMesh.disableNormals(); }
void GuiGameCarousel::setSelectedGame(int idx) { if(pagesize == 0) return; if(idx < 0) idx = 0; if(idx >= pagesize) idx = pagesize-1; selectedGame = idx; loadBgImage(selectedGame); //! normalize to 360° currDegree = ((int)(currDegree + 0.5f)) % 360; if(currDegree < 0.0f) currDegree += 360.0f; destDegree = 90.0f + selectedGame * DEG_OFFSET; // // f32 angleDiff = (circleTargetPosition - currDegree); // if(angleDiff > 180.0f) // circleTargetPosition -= 360.0f; // else if(angleDiff < -180.0f) // circleTargetPosition += 360.0f; touchClickDelay = 20; circleSpeedLimit = 1.8f; refreshDrawMap = true; }
//------------------------------------------------- void myDepthGenerator::checkSwitchMethods(){ if (bCaptureBg[thisNum]) { bgSet(); bCaptureBg[thisNum] = false; } if (trLoadBg[thisNum]) { loadBgImage(); trLoadBg[thisNum]; } if (bSaveBgAsImage[thisNum]) { saveBgImage(); bSaveBgAsImage[thisNum]; } }
void GuiGameCarousel::OnTouchRelease(GuiButton *button, const GuiController *controller, GuiTrigger *trigger) { f32 degreeAdd = lastTouchDifference * 0.04f; if(touchClickDelay || fabsf(degreeAdd) < 2.0f) { updateDrawMap(); if(bWasDragging && selectedGameOnDragStart != selectedGame) { setSelectedGame(selectedGame); gameSelectionChanged(this, selectedGame); } return; } currDegree = ((int)(currDegree + 0.5f)) % 360; if(currDegree < 0.0f) currDegree += 360.0f; f32 partDegree = DEG_OFFSET; destDegree = currDegree - degreeAdd * partDegree; //! round to nearest game position at the target position destDegree = ((int)(destDegree / partDegree + 0.5f)) * partDegree; circleSpeedLimit = 10.0f; int iMin = 0; int iDegreeMin = destDegree; for(int i = 0; i < pagesize; i++) { f32 setDegree = (destDegree - DEG_OFFSET * i); int degree = labs(((int)setDegree - 90) % 360); if(degree < iDegreeMin) { iDegreeMin = degree; iMin = i; } } selectedGame = iMin; gameSelectionChanged(this, selectedGame); loadBgImage(selectedGame); refreshDrawMap = true; }
void GuiGameCarousel::refresh() { for (int i = 0; i < pagesize; i++) { //------------------------ // Index //------------------------ //gameIndex[i] = GetGameIndex( i, listOffset, GameList::instance()->size() ); //------------------------ // Image //------------------------ delete coverImg[i]; std::string filepath; filepath += "sd:"; filepath += SD_LOADIINE_PATH; filepath += "/apps/loadiine_gx2/covers3d/"; filepath += GameList::instance()->at(i)->id + ".png"; coverImg[i] = new GuiImageAsync(filepath, &noCover); //------------------------ // GameButton //------------------------ delete game[i]; game[i] = new GuiButton(coverImg[i]->getWidth(), coverImg[i]->getHeight()); game[i]->setAlignment(ALIGN_CENTER | ALIGN_MIDDLE); game[i]->setImage(coverImg[i]); game[i]->setParent(this); game[i]->setTrigger(&touchTrigger); game[i]->setSoundClick(buttonClickSound); game[i]->setEffectGrow(); game[i]->clicked.connect(this, &GuiGameCarousel::OnGameButtonClick); drawOrder[i] = i; } currDegree = 270.0f + pagesize * 0.5f * DEG_OFFSET - 0.5f * DEG_OFFSET; destDegree = 90.0f + pagesize * 0.5f * DEG_OFFSET - 0.5f * DEG_OFFSET; selectedGame = (int)((pagesize * 0.5f) + 0.5f); // round to nearest loadBgImage(selectedGame); }
void GameLauncherMenu::setHeader(const discHeader * header) { this->header = header; gameLauncherMenuFrame.remove(coverImg); std::string filepath = CSettings::getValueAsString(CSettings::GameCover3DPath) + "/" + header->id + ".png"; if(coverImg) { coverImg->imageLoaded.disconnect_all(); AsyncDeleter::pushForDelete(coverImg); coverImg = NULL; } coverImg = new GuiImageAsync(filepath, &noCover); coverImg->setAlignment(ALIGN_LEFT); coverImg->setPosition(50,0); coverImg->setScale((5.0/3.0) * windowScale); coverImg->imageLoaded.connect(this, &GameLauncherMenu::OnCoverLoadedFinished); gameLauncherMenuFrame.append(coverImg); loadBgImage(); //Set game title std::string gamename = header->name; if(gamename.length() > 40){ gamename = gamename.substr(0,38) + "..."; } titleText.setText(gamename.c_str()); DirList updatefolder(header->gamepath + UPDATE_PATH,NULL,DirList::Dirs); log_printf("Found %d update folders for %s:\n",updatefolder.GetFilecount(),header->name.c_str()); updatePaths.clear(); updatePaths[COMMON_UPDATE_PATH] = COMMON_UPDATE_PATH; for(int i = 0; i < updatefolder.GetFilecount(); i++) { updatePaths[updatefolder.GetFilename(i)] = updatefolder.GetFilename(i); log_printf("%s\n",updatefolder.GetFilename(i)); } //gameTitle.setText(gamename.c_str()); bool result = CSettingsGame::getInstance()->LoadGameSettings(header->id,gamesettings); if(result){ log_print("Found "); } log_printf("Game Setting for: %s\n\n",header->id.c_str()); log_printf("Update Folder: \"%s\"\n",gamesettings.updateFolder.c_str()); log_printf("Extra Save: %d\n",gamesettings.extraSave); log_printf("Launch Method: %d\n",gamesettings.launch_method); log_printf("Save Method: %d\n",gamesettings.save_method); log_print("--------\n"); //getting selected Items for selectboxes std::map<std::string, std::string>::iterator itr; int i = 0; int updatePathID = 0; for(itr = updatePaths.begin(); itr != updatePaths.end(); itr++) { if(itr->second.compare(gamesettings.updateFolder) == 0){ updatePathID = i; break; } i++; } int savemodeID = 0; i=0; for(itr = saveModeNames.begin(); itr != saveModeNames.end(); itr++) { if(atoi(itr->second.c_str()) == gamesettings.save_method){ savemodeID = i; } i++; } int launchmodeID = 0; i = 0; for(itr = launchModeNames.begin(); itr != launchModeNames.end(); itr++) { if(atoi(itr->second.c_str()) == gamesettings.launch_method){ launchmodeID = i; } i++; } pathSelectBox.Init(updatePaths,updatePathID); //TODO: change to set Value saveModeSelectBox.Init(saveModeNames,savemodeID); launchModeSelectBox.Init(launchModeNames,launchmodeID); extraSaveBox.setValue(gamesettings.extraSave); dlcEnableBox.setValue(gamesettings.EnableDLC); gamesettingsChanged = false; bChanged = true; }