Пример #1
0
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;
}
Пример #2
0
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
}
Пример #3
0
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!
}
Пример #4
0
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
}
Пример #5
0
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();
}
Пример #6
0
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;
}
Пример #7
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
}