void _LOAD_GAME(void) { // Procedure _LOAD_GAME aint STREFA=0, NSAVE=0, KONIEC=0, JEST=0; astr PAT_S=""; rysuj(); SDIR(GS("225"),17,16); // SDIR["Archives - Load Game",17,16] WaitVbl(); PAT_S=Param_S; // PAT$=Param$ do { // Repeat ProcessEvents(); if( MouseClick()==1 ) { // If Mouse Click=1 STREFA=MouseZone(); // STREFA=Mouse Zone if( STREFA>0 && STREFA<6 && Exists(PAT_S+"zapis"+Str_S(STREFA)) ) {// If STREFA>0 and STREFA<6 and Exist(PAT$+"zapis"+Str$(STREFA)) NSAVE=STREFA; // NSAVE=STREFA KONIEC=-1; // KONIEC=True ZOKNO(); // ZOKNO JEST=-1; // JEST=True _LOAD_GAME_ODCZYT(PAT_S,NSAVE); // Gosub ODCZYT } // End If if( STREFA==6 ) { // If STREFA=6 ZOKNO(); // ZOKNO KONIEC=-1; // KONIEC=True } // End If } // End If } while( KONIEC==0 ); // Until KONIEC // Goto OVER // OVER: // End Proc[JEST] Param = JEST; }
void PRZYGODA_INFO(aint NR) { // Procedure PRZYGODA_INFO[NR] aint TYP=0, DL=0, ZN=0; astr A_S="", L_S="", R_S=""; OKNO(70,100,180,23); // OKNO[70,100,180,23] TYP=PRZYGODY[NR][P_TYP]; // TYP=PRZYGODY(NR,P_TYP) A_S=PRZYGODY_S[TYP][0]; // A$=PRZYGODY$(TYP,0) if( IM_PRZYGODY_S[NR] != "" ) { // If IM_PRZYGODY$(NR)<>"" DL=Len(A_S); // DL=Len(A$) ZN=Instr(A_S,"$"); // ZN=Instr(A$,"$") if( ZN>0 ) { // If ZN>0 A_S=Minus_S(A_S,"$"); // A$=A$-"$" L_S=Left_S(A_S,ZN-1); // L$=Left$(A$,ZN-1) R_S=Right_S(A_S,DL-ZN-1); // R$=Right$(A$,DL-ZN-1) A_S=L_S+IM_PRZYGODY_S[NR]+R_S;// A$=L$+IM_PRZYGODY$(NR)+R$ } // End If } // End If GADGET(OKX+4,OKY+4,172,15,A_S,31,2,30,1,-1);// GADGET[OKX+4,OKY+4,172,15,A$,31,2,30,1,-1] do { // Repeat rysuj(); GADGET(OKX+4,OKY+4,172,15,A_S,31,2,30,1,-1);// GADGET[OKX+4,OKY+4,172,15,A$,31,2,30,1,-1] WaitVbl(); } while( MouseClick()!=1 ); // Until Mouse Click=1 ZOKNO(); // ZOKNO // End Proc }
void arm9_wifiInit() { // send fifo message to initialize the arm7 wifi REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_SEND_CLEAR; // enable & clear FIFO u32 Wifi_pass= Wifi_Init(WIFIINIT_OPTION_USELED); REG_IPC_FIFO_TX=0x12345678; REG_IPC_FIFO_TX=Wifi_pass; *((volatile u16 *)0x0400010E) = 0; // disable timer3 irqSet(IRQ_TIMER3, arm9_wifiTimer); // setup timer IRQ irqEnable(IRQ_TIMER3); irqSet(IRQ_FIFO_NOT_EMPTY, arm9_fifo); // setup fifo IRQ irqEnable(IRQ_FIFO_NOT_EMPTY); REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_RECV_IRQ; // enable FIFO IRQ Wifi_SetSyncHandler(arm9_synctoarm7); // tell wifi lib to use our handler to notify arm7 // set timer3 *((volatile u16 *)0x0400010C) = -(131062*WifiTimerInterval_ms/1000); // 131062 * 256 cycles = ~1000ms; *((volatile u16 *)0x0400010E) = 0x00C2; // enable, irq, 1/256 clock while(Wifi_CheckInit()==0) { // wait for arm7 to be initted successfully WaitVbl(); // wait for vblank } // wifi init complete - wifi lib can now be used! }
void _SAVE_GAME(void) { // Procedure _SAVE_GAME aint STREFA=0, NSAVE=0, KONIEC=0; astr NAME_S=""; rysuj(); SDIR(GS("224"),21,20); // SDIR["Archives - Save Game",21,20] WaitVbl(); do { // Repeat ProcessEvents(); if( MouseClick()==1 ) { // If Mouse Click=1 STREFA=MouseZone(); // STREFA=Mouse Zone if( STREFA>0 && STREFA<6 ) { // If STREFA>0 and STREFA<6 NSAVE=STREFA; // NSAVE=STREFA //WPISZ(OKX+14,OKY+38+((STREFA-1)*20),31,6,20,0); // WPISZ[OKX+14,OKY+38+((STREFA-1)*20),31,6,20] NAME_S=_sdir_get_file_name(STREFA-1); SET_BACKGROUND(119.0f/255.0f,102.0f/255.0f,85.0f/255.0f,1.0f); SET_FOREGROUND(255.0f/255.0f,255.0f/255.0f,255.0f/255.0f,1.0f); _rysuj_tlo_savegame = rysuj_ekran_ptr; rysuj_ekran_ptr = _rysuj_savegame; WPISZ_PC(OKX+16,OKY+39+((STREFA-1)*20)-TextBase(),100,10,20,NAME_S,3); rysuj_ekran_ptr = _rysuj_tlo_savegame; NAME_S=WPI_S; // NAME$=WPI$ if( NAME_S=="" ) NAME_S="Zapis "+Str_S(STREFA); // If NAME$="" : NAME$="Zapis "+Str$(STREFA) : End If _ZAPIS(NAME_S,NSAVE); // Gosub ZAPIS rysuj(); SDIR(GS("224"),21,20); WaitVbl(); } // End If if( STREFA==6 ) { // If STREFA=6 KONIEC=-1; // KONIEC=True } // End If // } // End If // } while( KONIEC==0 ); // Until KONIEC ZOKNO(); // ZOKNO // Goto OVER // // OVER: // End Proc }
void _M_RUCH_INFO(astr A_S) { aint KONIEC=0; rysuj(); MouseClick(); // INFO: OKNO(90,100,158,22); // OKNO[90,100,158,22] GADGET(OKX+4,OKY+4,150,15,"",31,2,30,1,0);// GADGET[OKX+4,OKY+4,150,15,"",31,2,30,1,0] gad_text(1.0); Text(OKX+8,OKY+15,A_S); // Ink 1,30 : Text OKX+8,OKY+15,A$ void *sb=StoreBuffer(OKX-1,OKY-1,158+2,22+2); do { // Repeat rysuj(); RestoreBuffer(sb); WaitVbl(); if( MouseClick() ) { // If Mouse Click=1 KONIEC=-1; // KONIEC=True } // End If } while( KONIEC==0 ); // Until KONIEC ZOKNO(); // ZOKNO FreeBuffer(sb); rysuj(); WaitVbl(); }
static int arm9_wifiConnect() { int j = 0, state = 5, delay; arm9_wifiInit(); PJ_LOG(3,(THIS_FILE, "Connecting to AP...")); while(1) { WaitVbl(); switch(state) { case 5: // connect to AP state=6; // firmware Wifi_AutoConnect(); PJ_LOG(3,(THIS_FILE, "Connecting to Access Point...")); case 6: j=Wifi_AssocStatus(); if(j == ASSOCSTATUS_ASSOCIATED) state=30; if(j == ASSOCSTATUS_CANNOTCONNECT) state=20; break; case 20: PJ_LOG(3,(THIS_FILE, "Cannot connect to Access Point.")); return 0; case 30: delay=60; state=31; case 31: PJ_LOG(3,(THIS_FILE, "Connected!")); if(!(delay--)) return 1; break; } } return 0; }
void _ARMIA(aint A) { // Procedure ARMIA[A] aint AX=0,AY=0,PL=0,KONIEC=0,TEREN=0,I=0,DANE=0; aint STREFA=0,KONIEC2=0,STREFA2=0,TER2=0; _rysuj_armia_nr = A; AX=ARMIA[A][0][TX]; // AX=ARMIA(A,0,TX) AY=ARMIA[A][0][TY]; // AY=ARMIA(A,0,TY) PL=ARMIA[A][0][TMAG]; // PL=ARMIA(A,0,TMAG) if( PREFS[5]==1 ) { WJAZD(AX,AY,80,80,150,100,4); // If PREFS(5)=1 : WJAZD[AX,AY,80,80,150,100,4] : End If } if( A<20 ) { DANE=-1; } else { if( ARMIA[A][0][TMAGMA]==0 || ARMIA[A][0][TMAGMA]==100 ) { DANE=-1; } } if( DANE!=0 ) { TEREN=ARMIA[A][0][TNOGI]; AX=ARMIA[A][0][TX]; AY=ARMIA[A][0][TY]; } rysuj(); _ARMIA_RYSUJ_INFO(A); void *sb=0, *sb2=0; sb = StoreBuffer(OKX-1,OKY-1,150+2,100+2); do { // Repeat rysuj(); RestoreBuffer(sb); WaitVbl(); if( MouseClick() ) { // If Mouse Click=1 STREFA=MouseZone(); // STREFA=Mouse Zone if( STREFA==1 || STREFA==0 ) { // If STREFA=1 or STREFA=0 KONIEC=-1; // KONIEC=True ZOKNO(); // ZOKNO } // End If if( STREFA==11 ) { // If STREFA=11 //WPISZ(OKX+50,OKY+15,1,30,14,0); // WPISZ[OKX+50,OKY+15,1,30,14] _rysuj_tlo_armia = rysuj_ekran_ptr; rysuj_ekran_ptr = _rysuj_armia; WPISZ_PC(OKX+50,OKY+15-TextBase(),100,10,14,ARMIA_S[A][0],2); //rysuj tylko tlo i kursor rysuj_ekran_ptr = _rysuj_tlo_armia; sb = StoreBuffer(OKX-1,OKY-1,150+2,100+2); ARMIA_S[A][0]=WPI_S; // ARMIA$(A,0)=WPI$ } // End If if( STREFA==10 && A<20 ) { // If STREFA=10 and A<20 ZOKNO(); // ZOKNO KONIEC=-1; // KONIEC=True rysuj(); _ARMIA_RYSUJ_ROZKAZY(A); // Gosub RYSUJ_ROZKAZY sb2 = StoreBuffer(OKX-1,OKY-1,80+2,150+2); KONIEC2=0; // KONIEC2=False do { // Repeat rysuj(); RestoreBuffer(sb2); WaitVbl(); if( MouseClick() ) { // If Mouse Click=1 STREFA2=MouseZone(); // STREFA2=Mouse Zone if( STREFA2>0 && STREFA2<4 ) {// If STREFA2>0 and STREFA2<4 ZOKNO(); // ZOKNO M_RUCH(A,STREFA2); // M_RUCH[A,STREFA2] KONIEC2=-1; KONIEC=-1; // KONIEC2=True : KONIEC=True } // End If if( STREFA2==4 && TEREN<70 ) {// If STREFA2=4 and TEREN<70 ZOKNO(); // ZOKNO ARMIA[A][0][TTRYB]=4; // ARMIA(A,0,TTRYB)=4 KONIEC2=-1; KONIEC=-1; // KONIEC=True : KONIEC2=True } // End If if( STREFA2==4 && TEREN>69 ) {// If STREFA2=4 and TEREN>69 if( MIASTA[TEREN-70][0][M_CZYJE]==1 ) {// If MIASTA(TEREN-70,0,M_CZYJE)=1 ZOKNO(); // ZOKNO ARMIA[A][0][TTRYB]=0; // ARMIA(A,0,TTRYB)=0 REKRUTACJA(10,TEREN-70,A);// REKRUTACJA[10,TEREN-70,A] _ARMIA_RYSUJ_ROZKAZY(A); // Gosub RYSUJ_ROZKAZY } // End If } // End If // if( STREFA2==6 ) { // If STREFA2=6 ZOKNO(); // ZOKNO SpriteOnOff(2,false); // Sprite Off 2 // 'Auto View Off _LOAD(KAT_S+"dane/gad","dane:gad","Dane",1); // _LOAD[KAT$+"dane/gad","dane:gad","Dane",1] ScreenOpen(1,320,160,32,LOWRES);// Screen Open 1,320,160,32,Lowres Screen(1); // Screen 1 // Curs Off : Flash Off ReserveZone(60); // Reserve Zone 60 : Get Bob Palette : Set Font FON1 SetFont(FON1); GOBY=44; // GOBY=44 // 'Auto View On ARM=A; // ARM=A for(I=1;I<=10;++I) { // For I=1 To 10 if( ARMIA[A][I][TE]>0 ) { // If ARMIA(A,I,TE)>0 NUMER=I; // NUMER=I I=10; // I=10 } // End If } // Next WYBOR(1); // WYBOR[1] ScreenClose(1); // Screen Close 1 for(I=1;I<=50;++I) { // For I=1 To 50 DelBob(GOBY+1); // Del Bob GOBY+1 } // Next Screen(0); // Screen 0 Sprite(2,SPX,SPY,1); // Sprite 2,SPX,SPY,1 _ARMIA_RYSUJ_ROZKAZY(A); // Gosub RYSUJ_ROZKAZY } // End If // if( STREFA2==8 ) { // If STREFA2=8 KONIEC=-1;KONIEC2=-1; // KONIEC=True : KONIEC2=True ARMIA[A][0][TWAGA]=1; // ARMIA(A,0,TWAGA)=1 ARM=A; WRG=40; // ARM=A : WRG=40 SpriteOnOff(2,false); // Sprite Off 2 SETUP(GS("070"),GS("071"),GS("072")); // SETUP["","Action",""] if( TEREN>69 ) { // If TEREN>69 TER2=MIASTA[TEREN-70][1][M_X];// TER2=MIASTA(TEREN-70,1,M_X) RYSUJ_SCENERIE(TER2,TEREN-70);// RYSUJ_SCENERIE[TER2,TEREN-70] WRG=40; // WRG=40 // 'ustaw wieôniaków for(I=1;I<=7;++I) { // For I=1 To 7 : NOWA_POSTAC[40,I,9] : Next I NOWA_POSTAC(40,I,9); } for(I=8;I<=10;++I) { // For I=8 To 10 : NOWA_POSTAC[40,I,Rnd(8)] : Next I NOWA_POSTAC(40,I,Rnd(8)); } for(I=1;I<=7;++I) { // For I=1 To 7 : ARMIA(40,I,TKORP)=20 : Next I ARMIA[40][I][TKORP]=20; } for(I=8;I<=10;++I) { // For I=8 To 10 : ARMIA(WRG,I,TKORP)=40 : Next I ARMIA[WRG][I][TKORP]=40; } ARMIA[40][0][TE]=10; // ARMIA(40,0,TE)=10 USTAW_WOJSKO(WRG,1,1,1); // USTAW_WOJSKO[WRG,1,1,1] } else { // Else ARMIA[WRG][0][TE]=0; // ARMIA(WRG,0,TE)=0 RYSUJ_SCENERIE(TEREN,-1); // RYSUJ_SCENERIE[TEREN,-1] } // End If USTAW_WOJSKO(ARM,1,1,0); // USTAW_WOJSKO[ARM,1,1,0] MAIN_ACTION(); // MAIN_ACTION // 'skasuj wieôniaków for(I=0;I<=10;++I) { // For I=0 To 10 : ARMIA(40,I,TE)=0 : Next I ARMIA[40][I][TE]=0; } SETUP0(); // SETUP0 VISUAL_OBJECTS(); // VISUAL_OBJECTS CENTER(AX,AY,0); // CENTER[AX,AY,0] Sprite(2,SPX,SPY,1); // Sprite 2,SPX,SPY,1 } // End If // if( STREFA2==5 ) { // If STREFA2=5 ZOKNO(); // ZOKNO ARMIA[A][0][TTRYB]=0; // ARMIA(A,0,TTRYB)=0 KONIEC=-1;KONIEC2=-1; // KONIEC=True : KONIEC2=True } // End If if( STREFA2==7 ) { // If STREFA2=7 ZOKNO(); // ZOKNO KONIEC2=-1; // KONIEC2=True } // End If } // End If } while( 0==KONIEC2 ); // Until KONIEC2 } // End If if( STREFA==10 && A>19 ) { // If STREFA=10 and A>19 if( ARMIA[A][0][TMAGMA]==0 ) { // If ARMIA(A,0,TMAGMA)=0 gad_text(1.0); // Ink 31,6 : Text OKX+48,OKY+89,"@" Text(OKX+48,OKY+89,"@"); ARMIA[A][0][TMAGMA]=100; // ARMIA(A,0,TMAGMA)=100 goto SKIP; // Goto SKIP } // End If if( ARMIA[A][0][TMAGMA]==100 ) { // If ARMIA(A,0,TMAGMA)=100 gad_text(1.0); // Gr Writing 1 : Ink 6,6 Text(OKX+47,OKY+89," "); // Text OKX+47,OKY+89," " ARMIA[A][0][TMAGMA]=0; // ARMIA(A,0,TMAGMA)=0 } // End If if( ARMIA[A][0][TMAGMA]>0 && ARMIA[A][0][TMAGMA]<100 ) {// If ARMIA(A,0,TMAGMA)>0 and ARMIA(A,0,TMAGMA)<100 ZOKNO(); // ZOKNO KONIEC=-1; // KONIEC=True SZPIEGUJ(A,1); // SZPIEGUJ[A,1] } // End If SKIP: // SKIP: ; } // End If } // End If } while( KONIEC==0 ); // Until KONIEC FreeBuffer(sb); FreeBuffer(sb2); // Goto OVER // OVER: // End Proc }