KbfxPlasmaCanvasItem::KbfxPlasmaCanvasItem ( QCanvasPixmapArray * a , QCanvas * canvas ) :KbfxPlasmaCanvasAbstractItem ( a, canvas ) { this->setItemMode ( 1 ); setAnimated ( false ); m_desktopFile = 0L; m_isCurrent = false; // m_pixmapArray = a; QPixmap * _img = this->image ( 0 ); m_commentText ="No Comment Set By Plugin"; m_height =_img->height(); m_width =_img->width(); connect ( this,SIGNAL ( clicked() ),this,SLOT ( exec() ) ); m_type = OTHER; // ConfigInit().read(); m_noComments = ConfigInit().m_noComments; m_source = 0; m_margin = ConfigInit().m_commentMargine; m_lineColor = ConfigInit().m_lineColor; m_iconSize = ConfigInit().m_iconSize; m_commentColor = ConfigInit().m_fontAppCommentColor; m_commentFont = ConfigInit().m_fontAppCommentFont; m_fontAppNameColor = ConfigInit().m_fontAppNameColor; m_fontAppNameFont = ConfigInit().m_fontAppNameFont; m_sepNameFont = ConfigInit().m_sepNameFont; m_boldFonts = ConfigInit().m_fontHoverBold; }
KbfxSpinxScrollBar::KbfxSpinxScrollBar ( QWidget * parent, const char *name, int type ) : QWidget ( parent, name ) { if (type == 0){ m_normal = ( *KbfxPlasmaPixmapProvider::pixmap ( "scrollnormal" ) ); } else { m_normal = ( *KbfxPlasmaPixmapProvider::pixmap ( "scrollnormalbot" ) ); } QImage _tmp_img = m_normal.convertToImage(); _tmp_img = _tmp_img.smoothScale ( ConfigInit().m_itemView_w, m_normal.height (),QImage::ScaleFree ); m_normal = QPixmap ( _tmp_img ); this->resize ( m_normal.width (), m_normal.height () ); _x = this->x () /40; _y = this->y (); w = this->width () / 40; h = this->height () / 2; _x += ( this->width () - w ) / 2; _y += ( this->height () - h ) / 2; m_triAngle = QPointArray ( 3 ); m_dir = DOWN; m_timer = new QTimer ( this,"ScrollTimer" ); connect ( m_timer,SIGNAL ( timeout() ),this,SLOT ( timeoutslot() ) ); m_pressed = false; }
SYS_DRV_ErrorCode_t Pvware_DRV_Init( void ) { int iRet = 0; if( 1 == g_DrivesInitFlag ) { return SYS_DRV_NO_ERROR; } OS_API_Init(); #if 0 iRet = DRV_I2C_Open(); if( 0 != iRet ) { pbierror("%s DRV_I2C_Open error!\n", __FUNCTION__ ); } #endif ConfigInit(); iRet = DRV_Tuner_Init(); if( 0 != iRet ) { pbierror("%s DRV_Tuner_Init error!\n", __FUNCTION__ ); } /* The DRV_AV_Init before SFILTER_Init */ iRet = SFILTER_Init(); if( 0 != iRet ) { pbierror("%s SFILTER_Init error!\n", __FUNCTION__ ); } iRet = DRV_AV_Init(); if( 0 != iRet ) { PBIDEBUG("DRV_AV_Init error!"); } /* PVR INIT */ iRet = SFILTER_PVR_Init(); if( 0 != iRet ) { pbierror("%s SFILTER_PVR_Init error!\n", __FUNCTION__ ); } iRet = DRV_PVR_Init(); if( 0 != iRet ) { pbierror("%s DRV_PVR_Init error!\n", __FUNCTION__ ); } //CtrlTunerLockLed(1); //CtrlTunerLockLed(1); //CtrlTunerLockLed(1); g_DrivesInitFlag = 1; return SYS_DRV_NO_ERROR; }
int IcInit() { /* Create root directory, then add basic directories. */ InfoInit(); ConfigInit(); return 0; }
void GetGameOptions( Config *conf, GameInput *input, GameOptions *options ) { ConfigInit( conf, 8, 50, 50, 500); //ConfigAddNumberRange( conf, "Sound volume", 5, 0, 10 ); //ConfigAddNumberRange( conf, "Music Volume", 5, 0, 10 ); ConfigAddToggle( conf, "Play sounds", &options->playSound ); ConfigAddToggle( conf, "Play music", &options->playMusic ); ConfigAddNumberRange( conf, "Starting level", &(options->startLevel), 1, 9 ); ConfigAddKey( conf, "Rotation Key", &input->key_rotate_right ); ConfigAddKey( conf, "Left Key", &input->key_left ); ConfigAddKey( conf, "Right Key", &input->key_right ); ConfigAddKey( conf, "Down Key", &input->key_down ); ConfigAddSimpleText( conf, "Press Escpape to return to main menu" ); return; }
void ConfigProperty::ConfigInit() { std::vector<std::string> cmd; LWPR::ProcessUtil::GetProcessCmdline(cmd); char **argv = new char*[cmd.size() + 1]; argv[cmd.size()] = NULL; for (size_t i = 0; i < cmd.size(); i++) { argv[i] = (char *)cmd[i].c_str(); } ConfigInit(cmd.size(), argv); delete[] argv; }
void Sound_init(UI * ui, bool recording) { // init devices NutLoadConfig(); if (ConfigInit()) { /* No configuration memory, run with factory defaults. */ ConfigResetFactory(); } else { if (ConfigLoad()) { /* No configuration info, use factory defaults. */ ConfigResetFactory(); ConfigSave(); } } ResetDevice(); int i; SoundStruct *ss = malloc( sizeof(SoundStruct) ); ss->buffer = malloc( WIN_SIZE * CEPS_COUNT * sizeof(short) ); ss->ui = ui; ss->recording = recording; ss->ceps_count = 0; ss->dtwTable = malloc( (CEPS_COUNT+1)*sizeof(short*) ); for( i = 0; i< CEPS_COUNT+1; i++) ss->dtwTable[i] = malloc((CEPS_COUNT+1) * sizeof(short)); printf("Create Thread\n"); fflush(stdout); NutThreadCreate("SoundRecord", SoundRecord, (void *)(ss), 2048); NutThreadCreate("SoundFFT", SoundFFT, (void *)(ss), 1024); }
/* functions exported outside of libmupen64plus to front-end application */ EXPORT m64p_error CALL CoreStartup(int APIVersion, const char *ConfigPath, const char *DataPath, void *Context, void (*DebugCallback)(void *, int, const char *), void *Context2, void (*StateCallback)(void *, m64p_core_param, int)) { if (l_CoreInit) return M64ERR_ALREADY_INIT; /* very first thing is to set the callback functions for debug info and state changing*/ SetDebugCallback(DebugCallback, Context); SetStateCallback(StateCallback, Context2); /* check front-end's API version */ if ((APIVersion & 0xffff0000) != (FRONTEND_API_VERSION & 0xffff0000)) { DebugMessage(M64MSG_ERROR, "CoreStartup(): Front-end (API version %i.%i.%i) is incompatible with this core (API %i.%i.%i)", VERSION_PRINTF_SPLIT(APIVersion), VERSION_PRINTF_SPLIT(FRONTEND_API_VERSION)); return M64ERR_INCOMPATIBLE; } /* next, start up the configuration handling code by loading and parsing the config file */ if (ConfigInit(ConfigPath, DataPath) != M64ERR_SUCCESS) return M64ERR_INTERNAL; /* set default configuration parameter values for Core */ if (ConfigOpenSection("Core", &g_CoreConfig) != M64ERR_SUCCESS || g_CoreConfig == NULL) return M64ERR_INTERNAL; if (!main_set_core_defaults()) return M64ERR_INTERNAL; /* The ROM database contains MD5 hashes, goodnames, and some game-specific parameters */ romdatabase_open(); l_CoreInit = 1; return M64ERR_SUCCESS; }
int _main( int argc, char *argv[] ) { //BSS is in DATA section so IOS doesnt touch it, we need to manually clear it //dbgprintf("memset32(%08x, 0, %08x)\n", &__bss_start, &__bss_end - &__bss_start); memset32(&__bss_start, 0, &__bss_end - &__bss_start); sync_after_write(&__bss_start, &__bss_end - &__bss_start); s32 ret = 0; u32 DI_Thread = 0; u8 MessageHeap[0x10]; BootStatus(0, 0, 0); thread_set_priority( 0, 0x79 ); // do not remove this, this waits for FS to be ready! thread_set_priority( 0, 0x50 ); thread_set_priority( 0, 0x79 ); //Disable AHBPROT EnableAHBProt(-1); //Load IOS Modules ES_Init( MessageHeap ); //Early HID for loader HIDInit(); //Enable DVD Access write32(HW_DIFLAGS, read32(HW_DIFLAGS) & ~DI_DISABLEDVD); dbgprintf("Sending signal to loader\r\n"); BootStatus(1, 0, 0); mdelay(10); //Loader running, selects games while(1) { sync_before_read((void*)RESET_STATUS, 0x20); vu32 reset_status = read32(RESET_STATUS); if(reset_status != 0) { if(reset_status == 0x0DEA) break; //game selected else if(reset_status == 0x1DEA) goto DoIOSBoot; //exit write32(RESET_STATUS, 0); sync_after_write((void*)RESET_STATUS, 0x20); } HIDUpdateRegisters(1); mdelay(10); } ConfigSyncBeforeRead(); u32 UseUSB = ConfigGetConfig(NIN_CFG_USB); SetDiskFunctions(UseUSB); BootStatus(2, 0, 0); if(UseUSB) { ret = USBStorage_Startup(); dbgprintf("USB:Drive size: %dMB SectorSize:%d\r\n", s_cnt / 1024 * s_size / 1024, s_size); } else { s_size = PAGE_SIZE512; //manually set s_size ret = SDHCInit(); } if(ret != 1) { dbgprintf("Device Init failed:%d\r\n", ret ); BootStatusError(-2, ret); mdelay(4000); Shutdown(); } //Verification if we can read from disc if(memcmp(ConfigGetGamePath(), "di", 3) == 0) RealDI_Init(); //will shutdown on fail BootStatus(3, 0, 0); fatfs = (FATFS*)malloca( sizeof(FATFS), 32 ); s32 res = f_mount( fatfs, fatDevName, 1 ); if( res != FR_OK ) { dbgprintf("ES:f_mount() failed:%d\r\n", res ); BootStatusError(-3, res); mdelay(4000); Shutdown(); } BootStatus(4, 0, 0); BootStatus(5, 0, 0); FIL fp; s32 fres = f_open_char(&fp, "/bladie", FA_READ|FA_OPEN_EXISTING); switch(fres) { case FR_OK: f_close(&fp); case FR_NO_PATH: case FR_NO_FILE: { fres = FR_OK; } break; default: case FR_DISK_ERR: { BootStatusError(-5, fres); mdelay(4000); Shutdown(); } break; } if(!UseUSB) //Use FAT values for SD s_cnt = fatfs->n_fatent * fatfs->csize; BootStatus(6, s_size, s_cnt); BootStatus(7, s_size, s_cnt); ConfigInit(); if (ConfigGetConfig(NIN_CFG_LOG)) SDisInit = 1; // Looks okay after threading fix dbgprintf("Game path: %s\r\n", ConfigGetGamePath()); BootStatus(8, s_size, s_cnt); memset32((void*)RESET_STATUS, 0, 0x20); sync_after_write((void*)RESET_STATUS, 0x20); memset32((void*)0x13002800, 0, 0x30); sync_after_write((void*)0x13002800, 0x30); memset32((void*)0x13160000, 0, 0x20); sync_after_write((void*)0x13160000, 0x20); memset32((void*)0x13026500, 0, 0x100); sync_after_write((void*)0x13026500, 0x100); BootStatus(9, s_size, s_cnt); DIRegister(); DI_Thread = thread_create(DIReadThread, NULL, ((u32*)&__di_stack_addr), ((u32)(&__di_stack_size)) / sizeof(u32), 0x78, 1); thread_continue(DI_Thread); DIinit(true); BootStatus(10, s_size, s_cnt); GCAMInit(); EXIInit(); BootStatus(11, s_size, s_cnt); SIInit(); StreamInit(); PatchInit(); //Tell PPC side we are ready! cc_ahbMemFlush(1); mdelay(1000); BootStatus(0xdeadbeef, s_size, s_cnt); mdelay(1000); //wait before hw flag changes dbgprintf("Kernel Start\r\n"); //write32( 0x1860, 0xdeadbeef ); // Clear OSReport area //sync_after_write((void*)0x1860, 0x20); u32 Now = read32(HW_TIMER); u32 PADTimer = Now; u32 DiscChangeTimer = Now; u32 ResetTimer = Now; u32 InterruptTimer = Now; USBReadTimer = Now; u32 Reset = 0; bool SaveCard = false; if( ConfigGetConfig(NIN_CFG_LED) ) { set32(HW_GPIO_ENABLE, GPIO_SLOT_LED); clear32(HW_GPIO_DIR, GPIO_SLOT_LED); clear32(HW_GPIO_OWNER, GPIO_SLOT_LED); } set32(HW_GPIO_ENABLE, GPIO_SENSOR_BAR); clear32(HW_GPIO_DIR, GPIO_SENSOR_BAR); clear32(HW_GPIO_OWNER, GPIO_SENSOR_BAR); set32(HW_GPIO_OUT, GPIO_SENSOR_BAR); //turn on sensor bar write32( HW_PPCIRQMASK, (1<<30) ); write32( HW_PPCIRQFLAG, read32(HW_PPCIRQFLAG) ); //This bit seems to be different on japanese consoles u32 ori_ppcspeed = read32(HW_PPCSPEED); if((ConfigGetGameID() & 0xFF) == 'J') set32(HW_PPCSPEED, (1<<17)); else clear32(HW_PPCSPEED, (1<<17)); u32 ori_widesetting = read32(0xd8006a0); if(IsWiiU) { if( ConfigGetConfig(NIN_CFG_WIIU_WIDE) ) write32(0xd8006a0, 0x30000004); else write32(0xd8006a0, 0x30000002); mask32(0xd8006a8, 0, 2); } while (1) { _ahbMemFlush(0); //Does interrupts again if needed if(TimerDiffTicks(InterruptTimer) > 15820) //about 120 times a second { sync_before_read((void*)INT_BASE, 0x80); if((read32(RSW_INT) & 2) || (read32(DI_INT) & 4) || (read32(SI_INT) & 8) || (read32(EXI_INT) & 0x10)) write32(HW_IPC_ARMCTRL, (1 << 0) | (1 << 4)); //throw irq InterruptTimer = read32(HW_TIMER); } #ifdef PATCHALL if (EXI_IRQ == true) { if(EXICheckTimer()) EXIInterrupt(); } #endif if (SI_IRQ != 0) { if ((TimerDiffTicks(PADTimer) > 7910) || (SI_IRQ & 0x2)) // about 240 times a second { SIInterrupt(); PADTimer = read32(HW_TIMER); } } if(DI_IRQ == true) { if(DiscCheckAsync()) DIInterrupt(); else udelay(200); //let the driver load data } else if(SaveCard == true) /* DI IRQ indicates we might read async, so dont write at the same time */ { if(TimerDiffSeconds(Now) > 2) /* after 3 second earliest */ { EXISaveCard(); SaveCard = false; } } else if(UseUSB && TimerDiffSeconds(USBReadTimer) > 149) /* Read random sector every 2 mins 30 secs */ { DIFinishAsync(); //if something is still running DI_CallbackMsg.result = -1; sync_after_write(&DI_CallbackMsg, 0x20); IOS_IoctlAsync( DI_Handle, 2, NULL, 0, NULL, 0, DI_MessageQueue, &DI_CallbackMsg ); DIFinishAsync(); USBReadTimer = read32(HW_TIMER); } udelay(10); //wait for other threads //Baten Kaitos save hax /*if( read32(0) == 0x474B4245 ) { if( read32( 0x0073E640 ) == 0xFFFFFFFF ) { write32( 0x0073E640, 0 ); } }*/ if( WaitForRealDisc == 1 ) { if(RealDI_NewDisc()) { DiscChangeTimer = read32(HW_TIMER); WaitForRealDisc = 2; //do another flush round, safety! } } else if( WaitForRealDisc == 2 ) { if(TimerDiffSeconds(DiscChangeTimer)) { //identify disc after flushing everything RealDI_Identify(false); //clear our fake regs again sync_before_read((void*)DI_BASE, 0x40); write32(DI_IMM, 0); write32(DI_COVER, 0); sync_after_write((void*)DI_BASE, 0x40); //mask and clear interrupts write32( DIP_STATUS, 0x54 ); //disable cover irq which DIP enabled write32( DIP_COVER, 4 ); DIInterrupt(); WaitForRealDisc = 0; } } if ( DiscChangeIRQ == 1 ) { DiscChangeTimer = read32(HW_TIMER); DiscChangeIRQ = 2; } else if ( DiscChangeIRQ == 2 ) { if ( TimerDiffSeconds(DiscChangeTimer) > 2 ) { DIInterrupt(); DiscChangeIRQ = 0; } } _ahbMemFlush(1); DIUpdateRegisters(); #ifdef PATCHALL EXIUpdateRegistersNEW(); GCAMUpdateRegisters(); BTUpdateRegisters(); HIDUpdateRegisters(0); if(DisableSIPatch == 0) SIUpdateRegisters(); #endif StreamUpdateRegisters(); CheckOSReport(); if(EXICheckCard()) { Now = read32(HW_TIMER); SaveCard = true; } sync_before_read((void*)RESET_STATUS, 0x20); vu32 reset_status = read32(RESET_STATUS); if (reset_status == 0x1DEA) { write32(RESET_STATUS, 0); sync_after_write((void*)RESET_STATUS, 0x20); DIFinishAsync(); break; } if (reset_status == 0x3DEA) { if (Reset == 0) { dbgprintf("Fake Reset IRQ\n"); write32( RSW_INT, 0x2 ); // Reset irq sync_after_write( (void*)RSW_INT, 0x20 ); write32(HW_IPC_ARMCTRL, (1 << 0) | (1 << 4)); //throw irq Reset = 1; } } else if (Reset == 1) { write32( RSW_INT, 0x10000 ); // send pressed sync_after_write( (void*)RSW_INT, 0x20 ); ResetTimer = read32(HW_TIMER); Reset = 2; } /* The cleanup is not connected to the button press */ if (Reset == 2) { if (TimerDiffTicks(ResetTimer) > 949219) //free after half a second { write32( RSW_INT, 0 ); // done, clear sync_after_write( (void*)RSW_INT, 0x20 ); Reset = 0; } } if(reset_status == 0x4DEA) PatchGame(); if(reset_status == 0x5DEA) { SetIPL(); PatchGame(); } if(reset_status == 0x6DEA) { SetIPL_TRI(); write32(RESET_STATUS, 0); sync_after_write((void*)RESET_STATUS, 0x20); } if(read32(HW_GPIO_IN) & GPIO_POWER) { DIFinishAsync(); #ifdef PATCHALL BTE_Shutdown(); #endif Shutdown(); } //sync_before_read( (void*)0x1860, 0x20 ); //if( read32(0x1860) != 0xdeadbeef ) //{ // if( read32(0x1860) != 0 ) // { // dbgprintf( (char*)(P2C(read32(0x1860))), // (char*)(P2C(read32(0x1864))), // (char*)(P2C(read32(0x1868))), // (char*)(P2C(read32(0x186C))), // (char*)(P2C(read32(0x1870))), // (char*)(P2C(read32(0x1874))) // ); // } // write32(0x1860, 0xdeadbeef); // sync_after_write( (void*)0x1860, 0x20 ); //} cc_ahbMemFlush(1); } //if( UseHID ) HIDClose(); IOS_Close(DI_Handle); //close game thread_cancel(DI_Thread, 0); DIUnregister(); /* reset time */ while(1) { sync_before_read( (void*)RESET_STATUS, 0x20 ); if(read32(RESET_STATUS) == 0x2DEA) break; wait_for_ppc(1); } if( ConfigGetConfig(NIN_CFG_LED) ) clear32(HW_GPIO_OUT, GPIO_SLOT_LED); if( ConfigGetConfig(NIN_CFG_MEMCARDEMU) ) EXIShutdown(); if (ConfigGetConfig(NIN_CFG_LOG)) closeLog(); #ifdef PATCHALL BTE_Shutdown(); #endif //unmount FAT device free(fatfs); fatfs = NULL; f_mount(NULL, fatDevName, 1); if(UseUSB) USBStorage_Shutdown(); else SDHCShutdown(); //make sure we set that back to the original write32(HW_PPCSPEED, ori_ppcspeed); if(IsWiiU) { write32(0xd8006a0, ori_widesetting); mask32(0xd8006a8, 0, 2); } DoIOSBoot: sync_before_read((void*)0x13003000, 0x420); IOSBoot((char*)0x13003020, 0, read32(0x13003000)); return 0; }
int _main( int argc, char *argv[] ) { //BSS is in DATA section so IOS doesnt touch it, we need to manually clear it //dbgprintf("memset32(%08x, 0, %08x)\n", &__bss_start, &__bss_end - &__bss_start); memset32(&__bss_start, 0, &__bss_end - &__bss_start); sync_after_write(&__bss_start, &__bss_end - &__bss_start); s32 ret = 0; u32 HID_Thread = 0, DI_Thread = 0; u8 MessageHeap[0x10]; //u32 MessageQueue=0xFFFFFFFF; BootStatus(0, 0, 0); thread_set_priority( 0, 0x79 ); // do not remove this, this waits for FS to be ready! thread_set_priority( 0, 0x50 ); thread_set_priority( 0, 0x79 ); //MessageQueue = ES_Init( MessageHeap ); ES_Init( MessageHeap ); BootStatus(1, 0, 0); #ifndef NINTENDONT_USB BootStatus(2, 0, 0); ret = SDHCInit(); if(!ret) { dbgprintf("SD:SDHCInit() failed:%d\r\n", ret ); BootStatusError(-2, ret); mdelay(2000); Shutdown(); } #endif BootStatus(3, 0, 0); fatfs = (FATFS*)malloca( sizeof(FATFS), 32 ); s32 res = f_mount( 0, fatfs ); if( res != FR_OK ) { dbgprintf("ES:f_mount() failed:%d\r\n", res ); BootStatusError(-3, res); mdelay(2000); Shutdown(); } BootStatus(4, 0, 0); BootStatus(5, 0, 0); int MountFail = 0; s32 fres = -1; FIL fp; while(fres != FR_OK) { fres = f_open(&fp, "/bladie", FA_READ|FA_OPEN_EXISTING); switch(fres) { case FR_OK: f_close(&fp); case FR_NO_PATH: case FR_NO_FILE: { fres = FR_OK; } break; default: case FR_DISK_ERR: { f_mount(0, NULL); //unmount drive todo: retry could never work MountFail++; if(MountFail == 10) { BootStatusError(-5, fres); mdelay(2000); Shutdown(); } mdelay(5); } break; } if(STATUS_ERROR == -7) { // FS check timed out on PPC side dbgprintf("FS check timed out\r\n"); mdelay(3000); Shutdown(); } } #ifndef NINTENDONT_USB s_size = 512; s_cnt = fatfs->n_fatent * fatfs->csize; #endif BootStatus(6, s_size, s_cnt); #ifdef NINTENDONT_USB s32 r = LoadModules(55); //dbgprintf("ES:ES_LoadModules(%d):%d\r\n", 55, r ); if( r < 0 ) { BootStatusError(-6, r); mdelay(2000); Shutdown(); } #endif BootStatus(7, s_size, s_cnt); ConfigInit(); if (ConfigGetConfig(NIN_CFG_LOG)) SDisInit = 1; // Looks okay after threading fix dbgprintf("Game path: %s\r\n", ConfigGetGamePath()); BootStatus(8, s_size, s_cnt); memset32((void*)0x13002800, 0, 0x30); sync_after_write((void*)0x13002800, 0x30); memset32((void*)0x13160000, 0, 0x20); sync_after_write((void*)0x13160000, 0x20); memset32((void*)0x13026500, 0, 0x100); sync_after_write((void*)0x13026500, 0x100); bool UseHID = ConfigGetConfig(NIN_CFG_HID); if( UseHID ) { ret = HIDInit(); if(ret < 0 ) { dbgprintf("ES:HIDInit() failed\r\n" ); BootStatusError(-8, ret); mdelay(2000); Shutdown(); } write32(0x13003004, 0); sync_after_write((void*)0x13003004, 0x20); HID_Thread = thread_create(HID_Run, NULL, HID_ThreadStack, 0x400, 0x78, 1); thread_continue(HID_Thread); } BootStatus(9, s_size, s_cnt); DIRegister(); DI_Thread = thread_create(DIReadThread, NULL, DI_ThreadStack, 0x400, 0x78, 1); thread_continue(DI_Thread); DIinit(true); BootStatus(10, s_size, s_cnt); GCAMInit(); EXIInit(); ret = Check_Cheats(); if(ret < 0 ) { dbgprintf("Check_Cheats failed\r\n" ); BootStatusError(-10, ret); mdelay(4000); Shutdown(); } BootStatus(11, s_size, s_cnt); bool PatchSI = !ConfigGetConfig(NIN_CFG_NATIVE_SI); if (PatchSI) SIInit(); StreamInit(); PatchInit(); //This bit seems to be different on japanese consoles u32 ori_ppcspeed = read32(HW_PPCSPEED); if((ConfigGetGameID() & 0xFF) == 'J') set32(HW_PPCSPEED, (1<<17)); else clear32(HW_PPCSPEED, (1<<17)); //write32( 0x1860, 0xdeadbeef ); // Clear OSReport area //Tell PPC side we are ready! cc_ahbMemFlush(1); mdelay(1000); BootStatus(0xdeadbeef, s_size, s_cnt); u32 Now = read32(HW_TIMER); u32 PADTimer = Now; u32 DiscChangeTimer = Now; u32 ResetTimer = Now; #ifdef NINTENDONT_USB u32 USBReadTimer = Now; #endif u32 Reset = 0; bool SaveCard = false; if( ConfigGetConfig(NIN_CFG_LED) ) { set32(HW_GPIO_ENABLE, GPIO_SLOT_LED); clear32(HW_GPIO_DIR, GPIO_SLOT_LED); clear32(HW_GPIO_OWNER, GPIO_SLOT_LED); } EnableAHBProt(-1); //disable AHBPROT write32(0xd8006a0, 0x30000004), mask32(0xd8006a8, 0, 2); //widescreen fix while (1) { _ahbMemFlush(0); //Check this. Purpose is to send another interrupt if wasn't processed /*if (((read32(0x14) != 0) || (read32(0x13026514) != 0)) && (read32(HW_ARMIRQFLAG) & (1 << 30)) == 0) { write32(HW_IPC_ARMCTRL, (1 << 0) | (1 << 4)); //throw irq }*/ #ifdef PATCHALL if (EXI_IRQ == true) { if(EXICheckTimer()) EXIInterrupt(); } #endif if ((PatchSI) && (SI_IRQ != 0)) { if (((read32(HW_TIMER) - PADTimer) > 7910) || (SI_IRQ & 0x2)) // about 240 times a second { SIInterrupt(); PADTimer = read32(HW_TIMER); } } if(DI_IRQ == true) { if(DI_CallbackMsg.result == 0) DIInterrupt(); } else if(SaveCard == true) /* DI IRQ indicates we might read async, so dont write at the same time */ { if((read32(HW_TIMER) - Now) / 1898437 > 2) /* after 3 second earliest */ { EXISaveCard(); SaveCard = false; } } #ifdef NINTENDONT_USB else if((read32(HW_TIMER) - USBReadTimer) / 1898437 > 9) /* Read random sector after about 10 seconds */ { DI_CallbackMsg.result = -1; sync_after_write(&DI_CallbackMsg, 0x20); IOS_IoctlAsync( DI_Handle, 2, NULL, 0, NULL, 0, DI_MessageQueue, &DI_CallbackMsg ); while(DI_CallbackMsg.result) { udelay(10); //wait for other threads BTUpdateRegisters(); } USBReadTimer = read32(HW_TIMER); } #endif udelay(10); //wait for other threads //Baten Kaitos save hax /*if( read32(0) == 0x474B4245 ) { if( read32( 0x0073E640 ) == 0xFFFFFFFF ) { write32( 0x0073E640, 0 ); } }*/ if ( DiscChangeIRQ == 1 ) { DiscChangeTimer = read32(HW_TIMER); DiscChangeIRQ = 2; } else if ( DiscChangeIRQ == 2 ) { if ( (read32(HW_TIMER) - DiscChangeTimer ) > 2 * 243000000 / 128) { //dbgprintf("DIP:IRQ mon!\r\n"); set32( DI_SSTATUS, 0x3A ); sync_after_write((void*)DI_SSTATUS, 4); DIInterrupt(); DiscChangeIRQ = 0; } } _ahbMemFlush(1); DIUpdateRegisters(); #ifdef PATCHALL EXIUpdateRegistersNEW(); GCAMUpdateRegisters(); BTUpdateRegisters(); #endif StreamUpdateRegisters(); CheckOSReport(); if(EXICheckCard()) { Now = read32(HW_TIMER); SaveCard = true; } if (PatchSI) { SIUpdateRegisters(); if (read32(DIP_IMM) == 0x1DEA) { DIFinishAsync(); break; } if (read32(DIP_IMM) == 0x3DEA) { if (Reset == 0) { dbgprintf("Fake Reset IRQ\n"); write32(EXI2DATA, 0x2); // Reset irq write32(HW_IPC_ARMCTRL, (1 << 0) | (1 << 4)); //throw irq Reset = 1; } } else if (Reset == 1) { write32(EXI2DATA, 0x10000); // send pressed ResetTimer = read32(HW_TIMER); Reset = 2; } /* The cleanup is not connected to the button press */ if (Reset == 2) { if ((read32(HW_TIMER) - ResetTimer) / 949219 > 0) //free after half a second { write32(EXI2DATA, 0); // done, clear write32(DIP_IMM, 0); Reset = 0; } } } if(read32(DIP_IMM) == 0x4DEA) PatchGame(); CheckPatchPrs(); if(read32(HW_GPIO_IN) & GPIO_POWER) { DIFinishAsync(); #ifdef PATCHALL BTE_Shutdown(); #endif Shutdown(); } //sync_before_read( (void*)0x1860, 0x20 ); //if( read32(0x1860) != 0xdeadbeef ) //{ // if( read32(0x1860) != 0 ) // { // dbgprintf( (char*)(P2C(read32(0x1860))), // (char*)(P2C(read32(0x1864))), // (char*)(P2C(read32(0x1868))), // (char*)(P2C(read32(0x186C))), // (char*)(P2C(read32(0x1870))), // (char*)(P2C(read32(0x1874))) // ); // } // write32(0x1860, 0xdeadbeef); // sync_after_write( (void*)0x1860, 0x20 ); //} cc_ahbMemFlush(1); } if( UseHID ) { /* we're done reading inputs */ thread_cancel(HID_Thread, 0); } IOS_Close(DI_Handle); //close game thread_cancel(DI_Thread, 0); DIUnregister(); write32( DIP_IMM, 0 ); /* reset time */ while(1) { if(read32(DIP_IMM) == 0x2DEA) break; wait_for_ppc(1); } if( ConfigGetConfig(NIN_CFG_LED) ) clear32(HW_GPIO_OUT, GPIO_SLOT_LED); if( ConfigGetConfig(NIN_CFG_MEMCARDEMU) ) EXIShutdown(); if (ConfigGetConfig(NIN_CFG_LOG)) closeLog(); #ifdef PATCHALL BTE_Shutdown(); #endif //unmount FAT device f_mount(0, NULL); #ifndef NINTENDONT_USB SDHCShutdown(); #endif //make sure we set that back to the original write32(HW_PPCSPEED, ori_ppcspeed); IOSBoot((char*)0x13003020, 0, read32(0x13003000)); return 0; }
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow) { MSG msg; WINDOWPLACEMENT w; BOOL bQuit = FALSE; InitCommonControls(); hInst = hInstance; // Find location of configuration file ConfigInit(); /* Register our custom classes */ RegisterWindowClasses(); hMain = CreateWindow(szAppName, /* window class name */ szAppName, /* window caption */ WS_OVERLAPPEDWINDOW, /* window style */ 0, 0, 0, 0, /* initially zero size; changed below */ NULL, /* parent window handle */ NULL, /* window menu handle */ hInstance, /* program instance handle */ NULL); /* creation parameters */ if (!hMain) { char buf[256]; DWORD err = GetLastError(); sprintf(buf, "Error - Couldn't Create Client Window : %d", err); MessageBox(NULL, buf, "ERROR!", MB_OK); MainQuit(hMain); exit(1); } if (config.debug) CreateDebugWindow(); if (lpszCmdParam && strlen(lpszCmdParam) > 0) ConfigOverride(lpszCmdParam); w.length = sizeof(WINDOWPLACEMENT); WindowSettingsLoad(&w); SetWindowPlacement(hMain, &w); D3DRenderInit(hMain); ModulesInit(); // Set up data structures for modules /* attempt make a crc16 on the meridian.exe */ GenerateCRC16(); MainInitState(STATE_OFFLINE); UpdateWindow(hMain); while (!bQuit) { MainIdle(); while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if (!GetMessage(&msg, NULL, 0, 0)) { bQuit = TRUE; break; } // Forward appropriate messages for tooltips if (state == STATE_GAME) TooltipForwardMessage(&msg); /* Handle modeless dialog messages separately */ if ((hCurrentDlg == NULL || !IsDialogMessage(hCurrentDlg, &msg))) { TranslateMessage(&msg); DispatchMessage(&msg); } } } /* Unregister our custom classes--not good to leave them around */ UnregisterWindowClasses(); return msg.wParam; // Return value of PostQuitMessage }
int main(int argc, char *argv[]) { Ms2Struct *Ms2Client; IoFktStruct *IoFunctions; ConfigStruct *Config; pid_t ChildPid; time_t Now; int Ret, NumArgs; char **ValArgs; Config = ConfigCreate(); if (Config != (ConfigStruct *)NULL) { NumArgs = argc; ValArgs = argv; ConfigInit(Config, MRSYSTEM_CONFIG_FILE); ConfigReadfile(Config); ConfigCmdLine(Config, "a:i:p:c:fs:vz:?", NumArgs, ValArgs); if (ConfigGetIntVal(Config, CfgUsageVal)) { usage(argv[0]); Ret = 1; } else if (ConfigGetIntVal(Config, CfgForkVal)) { ChildPid = fork(); if (ChildPid == -1) { puts("ERROR: can not go to backgound"); Ret = 4; } else if (ChildPid == 0) { if (ConfigGetIntVal(Config, CfgVerboseVal)) puts("child running"); IoFunctions = CanClientInit(ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgCanIfVal)); if (IoFunctions != (IoFktStruct *)NULL) { Ms2Client = Ms2Create(); if (Ms2Client != (Ms2Struct *)NULL) { Ms2Init(Ms2Client, ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgIfaceVal), ConfigGetStrVal(Config, CfgAddrVal), ConfigGetIntVal(Config, CfgPortVal), ConfigGetIntVal(Config, CfgZentraleVal), IoFunctions); Ms2Run(Ms2Client); Ms2Destroy(Ms2Client); Ret = 0; } else { puts("ERROR: can not create Ms2Client module"); Ret = 1; } CanClientExit(IoFunctions); } else { puts("ERROR: can not create IoFunctions module"); Ret = 1; } } else { puts("parent terminates"); signal(SIGCHLD, SIG_IGN); Ret = 0; } } else { Now = time(NULL); if (ConfigGetIntVal(Config, CfgVerboseVal)) printf("start with no fork at %s\n", asctime(localtime(&Now))); IoFunctions = CanClientInit(ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgCanIfVal)); if (IoFunctions != (IoFktStruct *)NULL) { Ms2Client = Ms2Create(); if (Ms2Client != (Ms2Struct *)NULL) { Ms2Init(Ms2Client, ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgIfaceVal), ConfigGetStrVal(Config, CfgAddrVal), ConfigGetIntVal(Config, CfgPortVal), ConfigGetIntVal(Config, CfgZentraleVal), IoFunctions); Ms2Run(Ms2Client); Ms2Destroy(Ms2Client); Ret = 0; } else { puts("ERROR: can not create Ms2Client module"); Ret = 1; } CanClientExit(IoFunctions); } else { puts("ERROR: can not create IoFunctions module"); Ret = 1; } } ConfigExit(Config); ConfigDestroy(Config); } else { puts("ERROR: can not create Config module"); Ret = 3; } return(Ret); }
void main(int argc, char *argv[]) { // Process command-line parameteres. if (!Parameters(argc, argv)) { exit(0); } // Check disk space and file's existence. if (!DATAFILE_Check(DataFile)) { exit(0); } // Initialize configuration file variables once. ConfigInit(); // Load the first (and possibly the only) configuration file. if (!ConfigLoad(ConfigFile[0])) { exit(0); } printf("--------------------configload finished\n"); // Initialize variables, etc. Initialize(); // Create list of trials to run. TrialList(); // Position of sphere in simulation. SpherePosition.zeros(); SpherePosition(3, 1) = -20.0; SpherePosition(2, 1) -= 20; SpherePosition_Goal.zeros(); //RobotFakePosition.zeros(); SpherePosition_Goal(3, 1) = -20.0; SpherePosition_Goal(1, 1) += 20.0; //printf("================%f, %f, %f", SpherePosition(1, 1), SpherePosition(2, 1), SpherePosition(3, 1)); // Start robot. //if (RobotStart()) if (DeviceStart()) { // Start graphics. if (GraphicsStart()) { GraphicsMainLoop(); } /* // from DynamicLearning.cpp // Start the graphics system. if (GraphicsStart(argc, argv)) { // The experiment is run as part of graphics processing. GraphicsMainLoop(); } */ } }
int main(int argc, char *argv[]) { int done = FALSE; opterr = 0; //fprintf(stderr, "ctrack started."); c_control = C_RUN; srand((int)time(NULL)); ErrorInit(); ConfigInit(); // initializes verbose; must be called before any output ReadConfig(TRUE); // default loc. TorrentDBCreate(); unsigned int p; while (!done) { switch (getopt(argc, argv, "+vqVhrdt:u:p:c:")) { // + means "don't shuffle args" case '?': // invalid option PrintSyntax(1); case 'h': // help option PrintSyntax(0); case 'V': printf("ctrack " VERSION "\n"); return 0; break; case 'v': SetConfigBool(CFG_VERBOSE, TRUE); log("Verbose mode"); break; case 'q': SetConfigBool(CFG_VERBOSE, FALSE); log("Quiet mode"); break; case 't': if (b_assign(atoi(optarg),1,65535,(int *)&p)) SetConfigUInt(CFG_HTTP_PORT, p); break; case 'u': if (b_assign(atoi(optarg),1,65535,(int *)&p)) SetConfigUInt(CFG_UDP_PORT, p); break; case 'p': if (b_assign(atoi(optarg),1,65535,(int *)&p)) SetConfigUInt(CFG_SERVER_PORT, p); break; case 'd': SetConfigBool(CFG_DAEMON, TRUE); break; case 'c': //config file SetConfigString(CFG_CONFIG_FILE, optarg); ReadConfig(FALSE); break; case -1: //end of options done = TRUE; break; default: PrintSyntax(1); break; }//switch }//while int i; for (i = optind; i < argc; i++) { PTorrentInfo t; char ibuffer[20]; if (strtohash(argv[i], ibuffer)) { NewTorrentInfo(&t, ibuffer); } else { errorm("Invalid hash: %s", argv[i]); } }//for //TODO:parse args //TODO:init torrent db #ifdef DAEMON_SUPPORT if (GetConfigBool(CFG_DAEMON) == TRUE) { /* Our process ID and Session ID */ pid_t pid, sid; /* Fork off the parent process */ pid = fork(); if (pid < 0) { exit(EXIT_FAILURE); } /* If we got a good PID, then we can exit the parent process. */ if (pid > 0) { exit(EXIT_SUCCESS); } /* Change the file mode mask */ umask(0); /* Create a new SID for the child process */ sid = setsid(); if (sid < 0) { errorm("setsid() failed: %s", str_error()); exit(EXIT_FAILURE); } /* Change the current working directory */ if ((chdir("/")) < 0) { errorm("chdir() failed: %s", str_error()); exit(EXIT_FAILURE); } /* Close out the standard file descriptors */ close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); if (daemon(TRUE, FALSE) != 0) errorf(E_SYSTEM, "daemon() failed: %S", str_error()); } else { extern int asdaemon; asdaemon = TRUE; } #endif //SetupSignalHandlers sigset_t set; int sig; while (c_control == C_RUN) { sigfillset(&set); pthread_sigmask(SIG_SETMASK, &set, NULL); if (GetConfigBool(CFG_HTTP_SERVER)) { // HTTP server if (SetUpListener()) HTTPThreadInit(); } if (GetConfigBool(CFG_UDP_SERVER)) { // UDP server UDPThreadInit(); } //TODO: sigwait while (c_control == C_RUN) { sigwait(&set, &sig); logf("Caught signal #%d", sig); switch (sig) { case SIGINT: c_control = C_TERMINATE; log("Exitting..."); break; case SIGHUP: c_control = C_RESTART; log("Restarting..."); ReadConfig(FALSE); break; case SIGSEGV: c_control = C_TERMINATE; log("Exitting..."); }//switch }//while ThreadsDestroy(); CloseTCPSocket(); CloseUDPSocket(); if (c_control == C_RESTART) { c_control = C_RUN; } }//while log("exit "); return ((sig==SIGINT) ? EXIT_SUCCESS : EXIT_FAILURE); }
//u32 Loopmode=0; int _main( int argc, char *argv[] ) { s32 ret = 0; u8 MessageHeap[0x10]; //u32 MessageQueue=0xFFFFFFFF; BootStatus(0, 0, 0); thread_set_priority( 0, 0x79 ); // do not remove this, this waits for FS to be ready! thread_set_priority( 0, 0x50 ); thread_set_priority( 0, 0x79 ); //MessageQueue = ES_Init( MessageHeap ); ES_Init( MessageHeap ); BootStatus(1, 0, 0); #ifndef NINTENDONT_USB BootStatus(2, 0, 0); ret = SDHCInit(); if(!ret) { dbgprintf("SD:SDHCInit() failed:%d\r\n", ret ); BootStatusError(-2, ret); mdelay(2000); Shutdown(); } #endif BootStatus(3, 0, 0); fatfs = (FATFS*)malloca( sizeof(FATFS), 32 ); s32 res = f_mount( 0, fatfs ); if( res != FR_OK ) { dbgprintf("ES:f_mount() failed:%d\r\n", res ); BootStatusError(-3, res); mdelay(2000); Shutdown(); } BootStatus(4, 0, 0); BootStatus(5, 0, 0); int MountFail = 0; s32 fres = -1; while(fres != FR_OK) { fres = f_open(&GameFile, "/bladie", FA_READ|FA_OPEN_EXISTING); switch(fres) { case FR_OK: f_close(&GameFile); case FR_NO_PATH: case FR_NO_FILE: { fres = FR_OK; } break; default: case FR_DISK_ERR: { f_mount(0, 0); //unmount drive todo: retry could never work MountFail++; if(MountFail == 10) { BootStatusError(-5, fres); mdelay(2000); Shutdown(); } mdelay(5); } break; } } #ifdef NINTENDONT_USB BootStatus(6, s_size, s_cnt); s32 r = LoadModules(55); //dbgprintf("ES:ES_LoadModules(%d):%d\r\n", 55, r ); if( r < 0 ) { BootStatusError(-6, r); mdelay(2000); Shutdown(); } #endif BootStatus(7, s_size, s_cnt); ConfigInit(); BootStatus(8, s_size, s_cnt); SDisInit = 1; memset32((void*)0x13002800, 0, 0x30); sync_after_write((void*)0x13002800, 0x30); u32 HID_Thread = 0; bool UseHID = ConfigGetConfig(NIN_CFG_HID); if( UseHID ) { ret = HIDInit(); if(ret < 0 ) { dbgprintf("ES:HIDInit() failed\r\n" ); BootStatusError(-8, ret); mdelay(2000); Shutdown(); } write32(0x13003004, 0); sync_after_write((void*)0x13003004, 0x20); memset32((void*)0x13003420, 0, 0x1BE0); sync_after_write((void*)0x13003420, 0x1BE0); HID_Thread = thread_create(HID_Run, NULL, (u32*)0x13003420, 0x1BE0, 0x78, 1); thread_continue(HID_Thread); } BootStatus(9, s_size, s_cnt); DIinit(); BootStatus(10, s_size, s_cnt); EXIInit(); BootStatus(11, s_size, s_cnt); SIInit(); //fixes issues in some japanese games if((ConfigGetGameID() & 0xFF) == 'J') write32(HW_PPCSPEED, 0x2A9E0); //Tell PPC side we are ready! cc_ahbMemFlush(1); mdelay(1000); BootStatus(0xdeadbeef, s_size, s_cnt); /* write32( HW_PPCIRQFLAG, read32(HW_PPCIRQFLAG) ); write32( HW_ARMIRQFLAG, read32(HW_ARMIRQFLAG) ); set32( HW_PPCIRQMASK, (1<<31) ); set32( HW_IPC_PPCCTRL, 0x30 ); */ u32 Now = read32(HW_TIMER); u32 PADTimer = Now; bool SaveCard = false; if( ConfigGetConfig(NIN_CFG_LED) ) { set32(HW_GPIO_ENABLE, GPIO_SLOT_LED); clear32(HW_GPIO_DIR, GPIO_SLOT_LED); clear32(HW_GPIO_OWNER, GPIO_SLOT_LED); } write32(0xd8006a0, 0x30000004), mask32(0xd8006a8, 0, 2); while (1) { _ahbMemFlush(0); if(EXI_IRQ == true) { if(EXICheckTimer()) EXIInterrupt(); } if(SI_IRQ == true) { if((read32(HW_TIMER) - PADTimer) >= 65000) // about 29 times a second { SIInterrupt(); PADTimer = read32(HW_TIMER); } } if(DI_IRQ == true) { if(DI_Args->Buffer == 0xdeadbeef) DIInterrupt(); } else if(SaveCard == true) /* DI IRQ indicates we might read async, so dont write at the same time */ { if((read32(HW_TIMER) - Now) / 1898437 > 2) /* after 3 second earliest */ { EXISaveCard(); SaveCard = false; } } udelay(10); //wait for other threads //Baten Kaitos save hax if( read32(0) == 0x474B4245 ) { if( read32( 0x0073E640 ) == 0xFFFFFFFF ) { write32( 0x0073E640, 0 ); } } if( Streaming ) { if( (read32(HW_TIMER) * 19 / 10) - StreamTimer >= 5000000 ) { // dbgprintf("."); StreamOffset += 64*1024; if( StreamOffset >= StreamSize ) { StreamOffset = StreamSize; Streaming = 0; } StreamTimer = read32(HW_TIMER) * 19 / 10; } } if( DiscChangeIRQ ) { if( read32(HW_TIMER) * 128 / 243000000 > 2 ) { //dbgprintf("DIP:IRQ mon!\r\n"); set32( DI_SSTATUS, 0x3A ); sync_after_write((void*)DI_SSTATUS, 4); DIInterrupt(); DiscChangeIRQ = 0; } } _ahbMemFlush(1); DIUpdateRegisters(); EXIUpdateRegistersNEW(); SIUpdateRegisters(); if(EXICheckCard()) { Now = read32(HW_TIMER); SaveCard = true; } if(read32(DI_SCONFIG) == 0x1DEA) { while(DI_Args->Buffer != 0xdeadbeef) udelay(100); break; } cc_ahbMemFlush(1); } if( UseHID ) { /* we're done reading inputs */ thread_cancel(HID_Thread, 0); } thread_cancel(DI_Thread, 0); write32( DI_SCONFIG, 0 ); sync_after_write( (void*)DI_SCONFIG, 4 ); /* reset time */ while(1) { _ahbMemFlush(0); sync_before_read( (void*)DI_SCONFIG, 4 ); if(read32(DI_SCONFIG) == 0x2DEA) break; wait_for_ppc(1); cc_ahbMemFlush(1); } if( ConfigGetConfig(NIN_CFG_LED) ) clear32(HW_GPIO_OUT, GPIO_SLOT_LED); if( ConfigGetConfig(NIN_CFG_MEMCARDEMU) ) EXIShutdown(); IOSBoot((char*)0x13003020, 0, read32(0x13003000)); return 0; }
void KbfxPlasmaCanvasItem::drawContent ( QPainter * pe ) { if ( m_isCurrent ) { this->setFrame ( 1 ); } else { this->setFrame ( 0 ); } //int _currentFrame = QCanvasPixmap *cp = this->image ( this->frame () ); m_height = cp->height(); m_width = cp->width(); //Draw the Background if ( m_skined == true ) { pe->drawPixmap ( this->boundingRect (), *cp ); } else { pe->setPen ( QColor ( 91,178,62 ) ); pe->drawRect ( this->boundingRect() ); pe->setPen ( QColor ( 0,10,0 ) ); } /** We will split the Item box into two **/ QRect tmp ( 0,0,0,0 ); //TODO: Should be read from kbfxconfig.cpp // QRect * rectTop = new QRect ( m_margin, ( int ) y(), cp->width() - m_margin, cp->height() /2 ); QRect * rectBot = new QRect ( m_margin, ( int ) y() + rectTop->height(), cp->width() - m_margin, cp->height() /2 ); ///Draw Icon //TODO::remover hard coded icon size : read from config if ( !m_isCurrent ) pe->drawPixmap ( QRect ( ( m_margin-m_iconSize ) /2, ( int ) y() + ( cp->height()-m_iconSize ) /2,m_iconSize,m_iconSize ),m_icon ); else pe->drawPixmap ( QRect ( ( m_margin-m_iconSize ) /2, ( int ) y() + ( cp->height()-m_iconSize ) /2,m_iconSize+2,m_iconSize+2 ),m_icon ); //End of DrawIcon QFont * _font = new QFont ( m_fontAppNameFont ); QFont * _font_comment = new QFont ( m_commentFont ); QFont * _font_separator = new QFont ( m_sepNameFont ); pe->setFont ( *_font ); if ( this->type() == EXECUTABLE ) { pe->setPen ( m_fontAppNameColor ); if ( m_noComments == false ) { if ( m_isCurrent && m_boldFonts == true ) { _font->setBold ( true );pe->setFont ( *_font ); } pe->drawText ( *rectTop, Qt::AlignLeft| Qt::AlignBottom ,QString ( m_labelText ), -1, &tmp,0 ); pe->setPen ( m_lineColor ); pe->drawLine ( m_margin, ( int ) y() + rectTop->height(), ( int ) cp->width() - 2, ( int ) y() + rectTop->height() ); pe->setFont ( *_font_comment ); pe->setPen ( m_commentColor ); pe->drawText ( *rectBot, Qt::AlignLeft| Qt::AlignTop ,QString ( m_commentText ), -1, &tmp,0 ); } else { pe->drawText ( QRect ( m_margin+1, ( int ) y()+1,cp->width(),cp->height() ), Qt::AlignLeft | Qt::AlignVCenter ,QString ( m_labelText ), -1, &tmp,0 ); // pe->drawText ( QRect ( m_margin, ( int ) y(),cp->width(),cp->height() ), Qt::AlignLeft | Qt::AlignVCenter ,QString ( m_labelText ), -1, &tmp,0 ); } } else { if ( this->type() == SEPARATOR ) { pe->setFont ( *_font_separator ); pe->setPen ( ConfigInit().m_sepNameColor ); } else { pe->setPen ( m_fontAppNameColor ); } pe->drawText ( QRect ( ( int ) x(), ( int ) y(),cp->width(),cp->height() ), Qt::AlignCenter ,QString ( m_labelText ), -1, &tmp,0 ); } ///Draw the line delete rectTop; delete rectBot; delete _font; delete _font_comment; delete _font_separator; }
/*++ DbInit Initializes the procedure table and database connection pool. Arguments: getProc - Pointer to ioFTPD's GetProc function. Return Values: If the function succeeds, the return value is nonzero (true). If the function fails, the return value is zero (false). --*/ BOOL FCALL DbInit(Io_GetProc *getProc) { DWORD result; #if 0 // Wait for debugger to be attached before proceeding WaitForDebugger(); #endif TRACE("refCount=%d", refCount); // Only initialize the database pool once if (InterlockedIncrement(&refCount) > 1) { TRACE("Already initialized, returning."); return TRUE; } // Initialize procedure table result = ProcTableInit(getProc); if (result != ERROR_SUCCESS) { TRACE("Unable to initialize procedure table (error %lu).", result); return FALSE; } // Initialize configuration structures result = ConfigInit(); if (result != ERROR_SUCCESS) { TRACE("Unable to initialize configuration system (error %lu).", result); return FALSE; } // Initialize logging system result = LogInit(); if (result != ERROR_SUCCESS) { TRACE("Unable to initialize logging system (error %lu).", result); return FALSE; } // // Now that the logging system has been initialized, the LOG_* macros are // available for use. Prior to this point, the TRACE macro must be used. // // Load configuration options result = ConfigLoad(); if (result != ERROR_SUCCESS) { TRACE("Unable to load configuration (error %lu).", result); DbFinalize(); return FALSE; } // Create connection pool result = PoolCreate(&dbPool, dbConfigPool.minimum, dbConfigPool.average, dbConfigPool.maximum, dbConfigPool.timeoutMili, ConnectionOpen, ConnectionCheck, ConnectionClose, NULL); if (result != ERROR_SUCCESS) { LOG_ERROR("Unable to initialize connection pool (error %lu).", result); DbFinalize(); return FALSE; } LOG_INFO("nxMyDB v%s loaded, using MySQL Client Library v%s.", STRINGIFY(VERSION), mysql_get_client_info()); return TRUE; }
// Initialise this in OnInit, not statically bool MyApp::OnInit(void) {//===================== int j; wxChar *p; char param[80]; if(argc > 1) { p = argv[1]; j = 0; while((param[j] = p[j]) != 0) j++; if((strcmp(param,"--help")==0) || (strcmp(param,"-h")==0)) { printf(about_string2,espeak_Info(NULL)); printf("%s", help_text); exit(0); } ConfigInit(); if(strcmp(param,"--compile")==0) { LoadPhData(NULL); samplerate_native = samplerate = 22050; CompilePhonemeData(); CompileIntonation(); } exit(0); } ConfigInit(); gui_flag = 1; // It seems that the wctype functions don't work until the locale has been set // to something other than the default "C". Then, not only Latin1 but also the // other characters give the correct results with iswalpha() etc. if(setlocale(LC_CTYPE,"en_US.UTF-8") == NULL) { if(setlocale(LC_CTYPE,"UTF-8") == NULL) setlocale(LC_CTYPE,""); } if((frame_w == 0) || (frame_h == 0)) { frame_w = 800; frame_h = 768; } // Create the main frame window myframe = new MyFrame(NULL, -1, AppName, wxPoint(frame_x, frame_y), wxSize(frame_w, frame_h), wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE | wxHSCROLL | wxVSCROLL); // Make a menubar myframe->SetMenuBar(MakeMenu(0, voice_name2)); myframe->CreateStatusBar(); myframe->SetVoiceTitle(voice_name2); // myframe->Maximize(); myframe->Show(TRUE); SetTopWindow(myframe); wxInitAllImageHandlers(); // wxImage::AddHandler(wxPNGHandler); return TRUE; }
void check1dir(char *dir) { struct stat sbuf; if (stat(dir, &sbuf)) { /* ** LCC only has the short mkdir(). Fortunately, we do a chmod ** immediately afterward, so it's a don't care. */ #ifdef __LCC__ if (errno != ENOENT || mkdir(dir) < 0) { #else if (errno != ENOENT || mkdir(dir, set_dirmode) < 0) { #endif if (errno != EEXIST) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\".", lang[MSG_CANNOT_CREATE_DIRECTORY], dir); progerr(errmsg); } } if (set_showprogress) printf(" %s \"%s\", %s %o.\n", lang[MSG_CREATING_DIRECTORY], dir, lang[MSG_MODE], set_dirmode); if (chmod(dir, set_dirmode) == -1) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\" to %o.", lang[MSG_CANNOT_CHMOD], dir, set_dirmode); progerr(errmsg); } } } /* ** This tries to create and chmod a path to a directory. */ void checkdir(char *dir) { register char *p; struct stat sbuf; int ch; p = dir; if (*p && *p == '/') /* get off root */ p++; for (;; ++p) { if (!*p || *p == '/') { ch = *p; *p = '\0'; if (stat(dir, &sbuf)) { /* See comment in check1dir */ #ifdef __LCC__ if (errno != ENOENT || mkdir(dir) < 0) { #else if (errno != ENOENT || mkdir(dir, set_dirmode) < 0) { #endif if (errno != EEXIST) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\".", lang[MSG_CANNOT_CREATE_DIRECTORY], dir); progerr(errmsg); } } if (set_report_new_folder) { printf("%s\n", dir); } if (set_showprogress) printf(" %s \"%s\", %s %o.\n", lang[MSG_CREATING_DIRECTORY], dir, lang[MSG_MODE], set_dirmode); if (chmod(dir, set_dirmode) == -1) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\" to %o.", lang[MSG_CANNOT_CHMOD], dir, set_dirmode); progerr(errmsg); } } *p = ch; if (!*p) break; } } } char *getfilecontents(char *filename) { FILE *infile; struct stat finfo; char *retval; if ((infile = fopen(filename, "r")) == NULL) return (NULL); if (fstat(fileno(infile), &finfo) != 0) { (void)fclose(infile); return (NULL); } if (finfo.st_size == 0) { (void)fclose(infile); return (NULL); } else { if (!(retval = (char *)malloc((unsigned)finfo.st_size + 1))) { (void)fclose(infile); return (NULL); } if (!fread(retval, (size_t) finfo.st_size, 1, infile)) { (void)fclose(infile); free(retval); return (NULL); } *(retval + finfo.st_size) = '\0'; } (void)fclose(infile); return (retval); } /* ** expand_path - fill in values substituting for magic cookies ** ** Substitution cookies supported ** ** %d - two digit day of month (1-28/30/31) ** %D - three letter day of the week ** %m - two digit month of year (1-12) ** %M - three letter month of year (Jan, Feb, ..., Dec) ** %y - four digit year (1990,..2001) ** ** Returns: expanded path string */ char *dirpath(char *frmptr) { register char *aptr; char dtstr[DATESTRLEN]; char c; struct tm *now; time_t clk; struct Push buff; INIT_PUSH(buff); clk = time((time_t *)0); now = localtime(&clk); aptr = frmptr; while ((c = *aptr++)) { if (c == '%') { switch (*aptr++) { case '%': /* Add the % character */ PushByte(&buff, '%'); continue; case 'd': /* two digit day of month (1-31) */ sprintf(dtstr, "%.2d", now->tm_mday); PushString(&buff, dtstr); continue; case 'D': /* three letter day of week */ PushString(&buff, days[now->tm_wday]); continue; case 'j': /* julian date */ sprintf(dtstr, "%.3d", now->tm_yday); PushString(&buff, dtstr); continue; case 'm': /* two digit month of year (1-12) */ sprintf(dtstr, "%.2d", now->tm_mon + 1); PushString(&buff, dtstr); continue; case 'M': /* three letter month of year */ PushString(&buff, months[now->tm_mon]); continue; case 'y': /* 4 digit year */ sprintf(dtstr, "%.4d", now->tm_year + 1900); PushString(&buff, dtstr); continue; default: PushString(&buff, "%?"); continue; } /* end switch */ } PushByte(&buff, c); } /* end while */ RETURN_PUSH(buff); } /* ** Reads a configuration file if it exists and puts all the right ** values into the right variables. */ void readconfigs(char *path, int cmd_show_variables) { if (path && path[0] == '~') { char *ep; char tmppath[MAXFILELEN]; /*AUDIT biege: pathname + filename is more then 4KB long on linux */ struct passwd *pp; #ifndef __LCC__ /* ** Getting password data from /etc/passwd is pretty silly in ** Win9x systems since nearly everybody builds this file after ** they set up $HOME. Just skip this try at finding a default ** location for the config file and go on to try $HOME. */ if ((pp = getpwuid(getuid())) != NULL) { snprintf(tmppath, sizeof(tmppath), "%s%s", pp->pw_dir, path + 1); /* AUDIT biege: who gurantees that path+1 contains data? */ ConfigInit(tmppath); } else #endif if ((ep = getenv("HOME")) != NULL) { /* AUDIT biege: possible BOF.. but it's not setuid.. so why to care? */ snprintf(tmppath, sizeof(tmppath), "%s%s", ep, path + 1); /* AUDIT biege: who gurantees that path+1 contains data? */ ConfigInit(tmppath); } /* * So what happens here if the above two conditions fail ???? * Simply use the compiled in defaults ? */ } else { ConfigInit(path); if (set_showprogress && !cmd_show_variables) printf("%s: %s\n", lang[MSG_PATH], path); } } void symlink_latest() { /* ** Symlinks work so differently in Windows that I think we'll just ** skip that whole thing and ignore that option. */ #ifdef __LCC__ snprintf(errmsg, sizeof(errmsg), "WARNING: latest_folder not supported in Win32 environment.\n"); fprintf(stderr, "%s", errmsg); #else char filename[MAXFILELEN]; struct stat stbuf; if (!latest_folder_path) return; /* haven't created new folder this time? */ trio_snprintf(filename, MAXFILELEN, "%s%s", set_dir, set_latest_folder); if (!stat(filename, &stbuf) && unlink(filename)) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\" (latest_folder option).", lang[MSG_CANNOT_UNLINK], filename); progerr(errmsg); return; } if (symlink(latest_folder_path, filename)) { snprintf(errmsg, sizeof(errmsg), "%s \"%s\" (latest_folder option).", lang[MSG_CANNOT_CREATE_SYMLINK], filename); progerr(errmsg); return; } #endif }
int main(int argc, char *argv[]) { Cs2ethStruct *Cs2eth; ConfigStruct *Config; pid_t ChildPid; time_t Now; int Ret, NumArgs; char **ValArgs; Config = ConfigCreate(); if (Config != (ConfigStruct *)NULL) { NumArgs = argc; ValArgs = argv; ConfigInit(Config, MRSYSTEM_CONFIG_FILE); ConfigReadfile(Config); #ifdef TRACE ConfigCmdLine(Config, "a:b:p:ftv?", NumArgs, ValArgs); #else ConfigCmdLine(Config, "a:b:p:fv?", NumArgs, ValArgs); #endif if (ConfigGetIntVal(Config, CfgUsageVal)) { usage(argv[0]); Ret = 1; } else if (ConfigGetIntVal(Config, CfgForkVal)) { ChildPid = fork(); if (ChildPid == -1) { if (ConfigGetIntVal(Config, CfgVerboseVal)) puts("ERROR: can not go to backgound"); ConfigExit(Config); ConfigDestroy(Config); Ret = 4; } else if (ChildPid == 0) { if (ConfigGetIntVal(Config, CfgVerboseVal)) puts("child running"); Cs2eth = Cs2ethCreate(); if (Cs2eth != (Cs2ethStruct *)NULL) { Cs2ethInit(Cs2eth, ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgIfaceVal), ConfigGetStrVal(Config, CfgAddrVal), ConfigGetIntVal(Config, CfgPortVal), ConfigGetIntVal(Config, CfgBcVal), ConfigGetStrVal(Config, CfgUdpBcVal) #ifdef TRACE , ConfigGetIntVal(Config, CfgTraceVal) #endif ); Cs2ethRun(Cs2eth); Cs2ethDestroy(Cs2eth); Ret = 0; } else { Ret = 2; } } else { if (ConfigGetIntVal(Config, CfgVerboseVal)) puts("parent terminates"); signal(SIGCHLD, SIG_IGN); Ret = 0; } } else { Now = time(NULL); if (ConfigGetIntVal(Config, CfgVerboseVal)) printf("start with no fork at %s\n", asctime(localtime(&Now))); Cs2eth = Cs2ethCreate(); if (Cs2eth != (Cs2ethStruct *)NULL) { Cs2ethInit(Cs2eth, ConfigGetIntVal(Config, CfgVerboseVal), ConfigGetStrVal(Config, CfgIfaceVal), ConfigGetStrVal(Config, CfgAddrVal), ConfigGetIntVal(Config, CfgPortVal), ConfigGetIntVal(Config, CfgBcVal), ConfigGetStrVal(Config, CfgUdpBcVal) #ifdef TRACE , ConfigGetIntVal(Config, CfgTraceVal) #endif ); Cs2ethRun(Cs2eth); Cs2ethDestroy(Cs2eth); Ret = 0; } else { Ret = 2; } } ConfigExit(Config); ConfigDestroy(Config); } else { Ret = 3; } return(Ret); }
BOOL ConfigLoad(char *file) { int i; BOOL ok = TRUE; // Setup and initialize configuration variables. ConfigSetup(); ConfigInit(); // Load configuration file. if (!CONFIG_read(file)) { printf("ConfigLoad(%s) Cannot read file.\n", file); return(FALSE); } // Set graphics mode (if specified). if (!STR_null(GraphicsModeString)) { if (!GRAPHICS_DisplayMode(GraphicsMode, GraphicsModeString)) { ok = FALSE; } } // Count the number of targets. for (TargetCount = 0; ((TargetAngles[TargetCount] < 360.0) && (TargetCount < TARGETS)); TargetCount++); if (TargetCount == 0) { printf("%s: No targets specified.\n", file); ok = FALSE; } // Count the number of catch trial targets (if specified). for (CatchTargetCount = 0; ((CatchTargetAngles[CatchTargetCount] < 360.0) && (CatchTargetCount < TARGETS)); CatchTargetCount++); if (STR_null(RobotName)) { printf("No robot specified.\n"); ok = FALSE; } printf("ConfigLoad(%s) Load %s.\n", file, STR_OkFailed(ok)); CONFIG_list(printf); printf("TargetCount=%d\n", TargetCount); for (i = 0; (i < TargetCount); i++) { printf("%d: %.1lf (deg)\n", i, TargetAngles[i]); } printf("TargetCount=%d\n", TargetCount); for (i = 0; (i < TargetCount); i++) { printf("%d: %.1lf (deg)\n", i, TargetAngles[i]); } printf("CatchTargetCount=%d\n", CatchTargetCount); for (i = 0; (i < CatchTargetCount); i++) { printf("%d: %.1lf (deg)\n", i, CatchTargetAngles[i]); } return(ok); }