forked from KolibriOS/kolibrios
The first stable version of N-sider. Level editor, 2 redraw technologies and save/load data added.
git-svn-id: svn://kolibrios.org@5266 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
d3647f7eed
commit
efd8f1922c
9
programs/games/nsider/Tupfile.lua
Normal file
9
programs/games/nsider/Tupfile.lua
Normal file
@ -0,0 +1,9 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" or tup.getconfig("NO_GCC") ~= "" then return end
|
||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||
tup.include(HELPERDIR .. "/use_gcc.lua")
|
||||
CFLAGS = CFLAGS .. " -I include"
|
||||
LDFLAGS = LDFLAGS .. " -T kolibri.ld"
|
||||
OBJS += tup.foreach_rule({"start.asm", "kolibrisys/*.asm"}, "fasm %f %o", "%B.o")
|
||||
compile_gcc{"game.c"}
|
||||
compile_gcc{"stdio/*.c"}
|
||||
link_gcc("nsider")
|
1
programs/games/nsider/compile.sh
Normal file
1
programs/games/nsider/compile.sh
Normal file
@ -0,0 +1 @@
|
||||
ktcc.kex simple.c libck.a -o program
|
697
programs/games/nsider/game.c
Normal file
697
programs/games/nsider/game.c
Normal file
@ -0,0 +1,697 @@
|
||||
//screen Width and Height
|
||||
#define Width 600
|
||||
#define Height 600
|
||||
int ScreenX=0;
|
||||
int ScreenY=0;
|
||||
int OffsetX=0;
|
||||
int OffsetY=0;
|
||||
int BufferDraw [Width][Height];
|
||||
char BufferCarry [Height][Width][3];
|
||||
int BufferCarry2 [Height][Width];
|
||||
int DRAW_TECH=0;
|
||||
int Analyx [Width][Height];
|
||||
int CollideVerts[10][2]={};
|
||||
int DeltaH [8]={11,16,19,20,21,22,23,23};
|
||||
//-1-quit, 0-menu, 1-game
|
||||
int GAME_TYPE=0;
|
||||
|
||||
int TactCount=0;
|
||||
int GLOBAL_SPEED=0;
|
||||
//colors
|
||||
int COLOR_INDEX=0;
|
||||
char RAINBOW_NAME[7][7]={"red","orange","yellow","green","blue","indigo","violet"};
|
||||
int RAINBOW_TABLE[7][5]= {{0x00ff0000, 0x00e80c7a, 0x00ff0dff, 0x00e82c0c, 0x00ff530d},
|
||||
{0x00ff4700, 0x00e8690c, 0x00ff970d, 0x00ff0d18, 0x00e8290c},
|
||||
{0x00ffff00, 0x00e8d20c, 0x00ffce0d, 0x009be80c, 0x0056ff0d},
|
||||
{0x0000ff00, 0x000ce84a, 0x0059e80c, 0x000dff96, 0x00b6ff0d},
|
||||
{0x0000ffff, 0x000d7fff, 0x000caeeb, 0x000dff76, 0x000ce8aa},
|
||||
{0x000000ff, 0x000c46eb, 0x00480ce8, 0x00910dff, 0x000d8cff},
|
||||
{0x006700ff, 0x00a00ce8, 0x00f20dff, 0x000d2eff, 0x00280ce8}};
|
||||
int GLOBAL_BLOCKCOLOR=0x00e80c7a;
|
||||
int GLOBAL_BATUTCOLOR=0x00ff0dff;
|
||||
int GLOBAL_PITCOLOR=0x00e82c0c;
|
||||
int GLOBAL_FLAGCOLOR=0x00ff530d;
|
||||
int GLOBAL_BACKGROUNDCOLOR=0x00000000;
|
||||
int GLOBAL_FRONTCOLOR=0x00ffffff;
|
||||
//menu settings
|
||||
int MENU_SELECTED=0;
|
||||
char NUMBER[100]="0";
|
||||
int CURRENT_LEVEL=3;
|
||||
int MAX_LEVEL=3;
|
||||
int TO_NEXT_LEVEL=0;
|
||||
int DeltaSpeed=0;
|
||||
int GLOBAL_CHECKPOINT=0;
|
||||
int SPAWN_Y=0;
|
||||
int isRestart=1;
|
||||
int CurrentCheck=0;
|
||||
|
||||
//Hero data
|
||||
int HeroX=100;
|
||||
int HeroY=100;
|
||||
int HeroSides=3;
|
||||
int HeroAngle=0;
|
||||
int HeroFly=0;
|
||||
char HeroIsDead=0;
|
||||
int HeroColor=0x00ff0000;
|
||||
char Key=0;
|
||||
|
||||
//Saveload folder
|
||||
int SAVE_FOLDER_TYPE=0;
|
||||
|
||||
//EDITOR
|
||||
int Tile_X=0;
|
||||
int Tile_Y=0;
|
||||
int Panel=0; //0-grid,1-tools, 2-props
|
||||
int Tile_Type=0;
|
||||
int Q_SELECTED=0;
|
||||
char TILENAME[6][11]={"empty","block","spike","jump pad","checkpt","finish"};
|
||||
|
||||
//TIMING
|
||||
int OLD_FPS=60;
|
||||
int NEW_FPS=60;
|
||||
|
||||
//OTHER
|
||||
int THE_END_COUNT=600;
|
||||
|
||||
//Libraries
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <kolibrisys.h>
|
||||
#include <Gamealphabet.h>
|
||||
#include <Shimath.h>
|
||||
#include <Draw2D.h>
|
||||
#include <Levels.h>
|
||||
#include <Gamefunctions.h>
|
||||
|
||||
|
||||
|
||||
//result of getKey is key character. Condition for Escape - if (getKey()==27)
|
||||
char getKey() {
|
||||
int NewKey=_ksys_get_key();
|
||||
NewKey/=256;
|
||||
return (NewKey%256);
|
||||
}
|
||||
void LoadData () {
|
||||
FILE *Profile;
|
||||
if (SAVE_FOLDER_TYPE==1) {
|
||||
Profile=fopen ("/usbhd0/1/Profile.bin","rb");
|
||||
} else {
|
||||
Profile=fopen ("Profile.bin","rb");
|
||||
}
|
||||
char Format=0;
|
||||
Format=fgetc (Profile);
|
||||
if (Format!='N') {
|
||||
DrawText (100,300,"error (cannot load data)",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
MENU_SELECTED=1;
|
||||
fclose (Profile);
|
||||
return;
|
||||
}
|
||||
//Loading operations
|
||||
fread (&(COLOR_INDEX), sizeof(int),1,Profile);
|
||||
HeroColor=COLOR_INDEX;
|
||||
fread (&(GLOBAL_BACKGROUNDCOLOR), sizeof(int),1,Profile);
|
||||
fread (&(GLOBAL_FRONTCOLOR),sizeof(int),1,Profile);
|
||||
Update();
|
||||
fread (&(DRAW_TECH),sizeof(int),1,Profile);
|
||||
Update();
|
||||
MAX_LEVEL=fgetc (Profile);
|
||||
CURRENT_LEVEL=MAX_LEVEL;
|
||||
fread (&(LevelProps[0][2]), sizeof(int),1, Profile);
|
||||
fread (USER_LEVEL0,1,9*LEVEL_MAXLEN,Profile);
|
||||
fread (&(LevelProps[1][2]), sizeof(int),1,Profile);
|
||||
fread (USER_LEVEL1,1,9*LEVEL_MAXLEN,Profile);
|
||||
fread (&(LevelProps[2][2]), sizeof(int),1,Profile);
|
||||
fread (USER_LEVEL2,1,9*LEVEL_MAXLEN,Profile);
|
||||
DrawText (100,300,"loaded successfully",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
Update();
|
||||
|
||||
MENU_SELECTED=1;
|
||||
fclose (Profile);
|
||||
}
|
||||
|
||||
void SaveData () {
|
||||
FILE *Profile;
|
||||
if (SAVE_FOLDER_TYPE==1) {
|
||||
Profile=fopen ("/usbhd0/1/Profile.bin","wb");
|
||||
} else {
|
||||
Profile=fopen ("Profile.bin","wb");
|
||||
}
|
||||
if (Profile==NULL) {
|
||||
DrawText (100,300,"error (cannot save data)",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
MENU_SELECTED=1;
|
||||
return;
|
||||
}
|
||||
fputc ('N',Profile);
|
||||
fwrite (&(COLOR_INDEX), sizeof(int),1,Profile);
|
||||
fwrite (&(GLOBAL_BACKGROUNDCOLOR), sizeof(int),1,Profile);
|
||||
fwrite (&(GLOBAL_FRONTCOLOR),sizeof(int),1,Profile);
|
||||
fwrite (&(DRAW_TECH),sizeof(int),1,Profile);
|
||||
fputc (MAX_LEVEL,Profile);
|
||||
fwrite (&(LevelProps[0][2]), sizeof(int),1, Profile);
|
||||
fwrite (USER_LEVEL0,1,9*LEVEL_MAXLEN,Profile);
|
||||
fwrite (&(LevelProps[1][2]), sizeof(int),1,Profile);
|
||||
fwrite (USER_LEVEL1,1,9*LEVEL_MAXLEN,Profile);
|
||||
fwrite (&(LevelProps[2][2]), sizeof(int),1,Profile);
|
||||
fwrite (USER_LEVEL2,1,9*LEVEL_MAXLEN,Profile);
|
||||
DrawText (100,300,"saved successfully",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
MENU_SELECTED=1;
|
||||
fclose (Profile);
|
||||
}
|
||||
|
||||
void MainMenu () {
|
||||
if (Key==27) GAME_TYPE=-1;
|
||||
if (MENU_SELECTED==10 && Key==' ') GAME_TYPE=-1;
|
||||
if (Key=='s') MENU_SELECTED++;
|
||||
if (Key=='w') MENU_SELECTED--;
|
||||
if (MENU_SELECTED<0) MENU_SELECTED=10;
|
||||
if (MENU_SELECTED>10) MENU_SELECTED=0;
|
||||
if (MENU_SELECTED==0 && Key==' ') {
|
||||
GAME_TYPE=1;
|
||||
GLOBAL_CHECKPOINT=0;
|
||||
return;
|
||||
}
|
||||
if (MENU_SELECTED==3 && (Key=='a' || Key=='d')) {
|
||||
if (GLOBAL_BACKGROUNDCOLOR==0) {
|
||||
GLOBAL_BACKGROUNDCOLOR=0x00ffffff;
|
||||
GLOBAL_FRONTCOLOR=0;
|
||||
} else {
|
||||
GLOBAL_BACKGROUNDCOLOR=0;
|
||||
GLOBAL_FRONTCOLOR=0x00ffffff;
|
||||
}
|
||||
}
|
||||
if (MENU_SELECTED==1) {
|
||||
if (Key=='a' && CURRENT_LEVEL>0) CURRENT_LEVEL--;
|
||||
if (Key=='d' && CURRENT_LEVEL<MAX_LEVEL) CURRENT_LEVEL++;
|
||||
HeroSides=LevelProps[CURRENT_LEVEL][2];
|
||||
}
|
||||
if (MENU_SELECTED==2) {
|
||||
if (Key=='a' && COLOR_INDEX>0) COLOR_INDEX--;
|
||||
if (Key=='d' && COLOR_INDEX<6) COLOR_INDEX++;
|
||||
HeroColor=RAINBOW_TABLE [COLOR_INDEX][0];
|
||||
GLOBAL_BLOCKCOLOR=RAINBOW_TABLE [COLOR_INDEX][1];
|
||||
GLOBAL_BATUTCOLOR=RAINBOW_TABLE [COLOR_INDEX][2];
|
||||
GLOBAL_PITCOLOR=RAINBOW_TABLE [COLOR_INDEX][3];
|
||||
GLOBAL_FLAGCOLOR=RAINBOW_TABLE [COLOR_INDEX][4];
|
||||
}
|
||||
if (MENU_SELECTED==7 && (Key=='a' || Key=='d')) {
|
||||
if (SAVE_FOLDER_TYPE==0) {
|
||||
SAVE_FOLDER_TYPE=1;
|
||||
} else {
|
||||
SAVE_FOLDER_TYPE=0;
|
||||
}
|
||||
}
|
||||
if (MENU_SELECTED==8 && (Key=='a' || Key=='d')) {
|
||||
int i=0;
|
||||
int j=0;
|
||||
for (i=0; i<Width; i++) {
|
||||
for (j=0; j<Height; j++) {
|
||||
BufferDraw[i][j]=GLOBAL_BACKGROUNDCOLOR;
|
||||
}
|
||||
}
|
||||
Update();
|
||||
if (DRAW_TECH==0) {
|
||||
DRAW_TECH=1;
|
||||
} else {
|
||||
DRAW_TECH=0;
|
||||
}
|
||||
Update();
|
||||
|
||||
}
|
||||
if (MENU_SELECTED==4 && Key==' ') LoadData();
|
||||
if (MENU_SELECTED==5 && Key==' ') SaveData();
|
||||
if (MENU_SELECTED==6 && Key==' ') {
|
||||
if (CURRENT_LEVEL>=3) {
|
||||
DrawText (300,300,"error",GLOBAL_FRONTCOLOR);
|
||||
DrawText (30,320,"(choose level 0/1/2 to edit them)",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
MENU_SELECTED=1;
|
||||
} else {
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
}
|
||||
}
|
||||
if (Key=='f' && CURRENT_LEVEL<3) {
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
}
|
||||
if (MENU_SELECTED==9 && Key==' ') GAME_TYPE=2;
|
||||
|
||||
|
||||
DrawTitle (60,100,GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,300,"start game",GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,320,"choose level < >",GLOBAL_FRONTCOLOR);
|
||||
IntToStr(CURRENT_LEVEL,NUMBER);
|
||||
DrawText (345,320,NUMBER,GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,340,"hero color < >",GLOBAL_FRONTCOLOR);
|
||||
DrawText (330, 340, RAINBOW_NAME [COLOR_INDEX], GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,360,"background color < >",GLOBAL_FRONTCOLOR);
|
||||
if (GLOBAL_BACKGROUNDCOLOR==0) {
|
||||
DrawText (430,360,"black",GLOBAL_FRONTCOLOR);
|
||||
} else {
|
||||
DrawText (430,360,"white",GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
|
||||
DrawText (100,400,"load game",GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,420,"save game",GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,440,"level editor",GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,460,"saveload folder < >",GLOBAL_FRONTCOLOR);
|
||||
if (SAVE_FOLDER_TYPE==0) {
|
||||
DrawText (400,460,"local",GLOBAL_FRONTCOLOR);
|
||||
} else {
|
||||
DrawText (400,460,"usbhd0/1/",GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
DrawText (100,480,"redraw technology < >",GLOBAL_FRONTCOLOR);
|
||||
if (DRAW_TECH==0) {
|
||||
DrawText (450,480,"frame",GLOBAL_FRONTCOLOR);
|
||||
} else {
|
||||
DrawText (450,480,"lines",GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
DrawText (100,520,"help",GLOBAL_FRONTCOLOR);
|
||||
DrawText (100,540,"quit",GLOBAL_FRONTCOLOR);
|
||||
DrawText (20,580,"developed by e_shi games 2014",GLOBAL_FRONTCOLOR);
|
||||
|
||||
if (MENU_SELECTED==0) DrawText (100,300,"start game",HeroColor);
|
||||
if (MENU_SELECTED==1) DrawText (100,320,"choose level < >",HeroColor);
|
||||
if (MENU_SELECTED==2) DrawText (100,340,"hero color < >",HeroColor);
|
||||
if (MENU_SELECTED==3) DrawText (100,360,"background color < >",HeroColor);
|
||||
if (MENU_SELECTED==4) DrawText (100,400,"load game",HeroColor);
|
||||
if (MENU_SELECTED==5) DrawText (100,420,"save game",HeroColor);
|
||||
if (MENU_SELECTED==6) DrawText (100,440,"level editor",HeroColor);
|
||||
if (MENU_SELECTED==7) DrawText (100,460,"saveload folder < >",HeroColor);
|
||||
if (MENU_SELECTED==8) DrawText (100,480,"redraw technology < >",HeroColor);
|
||||
if (MENU_SELECTED==9) DrawText (100,520,"help",HeroColor);
|
||||
if (MENU_SELECTED==10) DrawText (100,540,"quit",HeroColor);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void GamePlay () {
|
||||
DrawLine (0,500,800,500,GLOBAL_FRONTCOLOR);
|
||||
if (Objects==0 || DataBase[Objects-1][1]<=Width-40) {
|
||||
ReadLevel(CURRENT_LEVEL);
|
||||
}
|
||||
|
||||
if (HeroIsDead==0) {
|
||||
if (isRestart==1) {
|
||||
HeroAngle=(HeroAngle+10)%360;
|
||||
HeroIsDead=CheckCollision();
|
||||
HeroY+=HeroFly;
|
||||
DrawHero (125,HeroY, HeroSides, HeroAngle, HeroColor);
|
||||
} else {
|
||||
DrawHero (125,HeroY,HeroSides,HeroAngle,GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
if (TO_NEXT_LEVEL>0) {
|
||||
DrawText (Width-TO_NEXT_LEVEL,300,"jump to start new level",GLOBAL_FRONTCOLOR);
|
||||
if (TO_NEXT_LEVEL<500) {
|
||||
TO_NEXT_LEVEL+=2;
|
||||
} else {
|
||||
if (Key==' ' && TO_NEXT_LEVEL<=504) {
|
||||
CURRENT_LEVEL++;
|
||||
HeroSides=CURRENT_LEVEL;
|
||||
if (CURRENT_LEVEL>MAX_LEVEL) MAX_LEVEL=CURRENT_LEVEL;
|
||||
GLOBAL_CHECKPOINT=0;
|
||||
TO_NEXT_LEVEL=505;
|
||||
}
|
||||
if (TO_NEXT_LEVEL>=505) {
|
||||
TO_NEXT_LEVEL+=2;
|
||||
if (TO_NEXT_LEVEL>1000) TO_NEXT_LEVEL=0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
GLOBAL_SPEED=0;
|
||||
DeltaSpeed=0;
|
||||
TO_NEXT_LEVEL=0;
|
||||
HeroIsDead++;
|
||||
DrawPew (125,HeroY,HeroIsDead,HeroColor);
|
||||
if (HeroIsDead>100) {
|
||||
ResetLevel(CURRENT_LEVEL);
|
||||
if (GLOBAL_CHECKPOINT==0) {
|
||||
isRestart=1;
|
||||
HeroY=100;
|
||||
} else {
|
||||
isRestart=0;
|
||||
HeroY=SPAWN_Y+41-DeltaH[HeroSides];
|
||||
if (HeroSides>7) HeroY-=22;
|
||||
}
|
||||
HeroIsDead=0;
|
||||
HeroFly=0;
|
||||
if (HeroSides%2==0) {
|
||||
HeroAngle=360/(HeroSides*2);
|
||||
} else {
|
||||
HeroAngle=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Key=='f'&& CURRENT_LEVEL<3) {
|
||||
int i=0;
|
||||
Objects=0;
|
||||
for (i=0; i<11; i++) LevelProps[i][0]=0;
|
||||
isRestart=1;
|
||||
HeroIsDead=0;
|
||||
HeroY=100;
|
||||
HeroFly=1;
|
||||
TO_NEXT_LEVEL=0;
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
}
|
||||
if (Key==27) {
|
||||
GLOBAL_CHECKPOINT=0;
|
||||
int i=0;
|
||||
for (i=0; i<11; i++) ResetLevel (i);
|
||||
isRestart=1;
|
||||
HeroIsDead=0;
|
||||
HeroY=100;
|
||||
HeroFly=1;
|
||||
TO_NEXT_LEVEL=0;
|
||||
if (CURRENT_LEVEL<3) {
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
Key=' ';
|
||||
} else {
|
||||
GAME_TYPE=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ShowHelp() {
|
||||
DrawText (5,10,"controls",HeroColor);
|
||||
DrawText (5,30,"w/a/s/d_choose in menu/editor",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,50,"space_select/jump",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,70,"escape_return to menu/exit",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,100,"level editor notes",HeroColor);
|
||||
DrawText (5,120,"press e to switch grid/tools panel",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,140,"press q to switch grid/properties",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,160,"select save game to save all levels",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,180,"select load game to load all levels",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,200,"select level 0/1/2 to play/edit",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,220,"use f to go to level editor quickly",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,240+20,"use start column to test level from",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,260+20,"desired place (note _ you can test",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,280+20,"level from column which contains",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,300+20,"checkpoint)",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,360,"redraw technology notes",HeroColor);
|
||||
DrawText (5,380,"lines tech works faster but",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,400,"sometimes it can be unstable",GLOBAL_FRONTCOLOR);
|
||||
DrawText (5,420,"frame tech works slower but stable",GLOBAL_FRONTCOLOR);
|
||||
|
||||
if (Key=='f') {
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
}
|
||||
|
||||
if (Key==27) GAME_TYPE=0;
|
||||
}
|
||||
|
||||
void SaveArray() {
|
||||
FILE *ArrTxt;
|
||||
|
||||
if (SAVE_FOLDER_TYPE==1) {
|
||||
ArrTxt=fopen ("/usbhd0/1/LEVEL2D.txt","wb");
|
||||
} else {
|
||||
ArrTxt=fopen ("LEVEL2D.txt","wb");
|
||||
}
|
||||
if (ArrTxt==NULL) {
|
||||
DrawText (100,300,"error (cannot save data)",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
Panel=1;
|
||||
return;
|
||||
}
|
||||
char StringLevel[3*9*LEVEL_MAXLEN]="unsigned char NEW_LEVEL[9][LEVEL_MAXLEN]=\n{";
|
||||
int CurCharIndex=43;
|
||||
int i=0;
|
||||
int j=0;
|
||||
for (i=0;i<9;i++) {
|
||||
StringLevel[CurCharIndex]='{';
|
||||
CurCharIndex++;
|
||||
for (j=0; j<LEVEL_MAXLEN; j++) {
|
||||
StringLevel[CurCharIndex]= *(Levels[CURRENT_LEVEL]+i*LEVEL_MAXLEN+j)+48;
|
||||
CurCharIndex++;
|
||||
if (j<LEVEL_MAXLEN-1) {
|
||||
StringLevel[CurCharIndex]=',';
|
||||
CurCharIndex++;
|
||||
}
|
||||
}
|
||||
StringLevel[CurCharIndex]='}';
|
||||
CurCharIndex++;
|
||||
if (i<8) {
|
||||
StringLevel[CurCharIndex]=',';
|
||||
CurCharIndex++;
|
||||
}
|
||||
StringLevel[CurCharIndex]='\n';
|
||||
CurCharIndex++;
|
||||
}
|
||||
StringLevel[CurCharIndex]='}';
|
||||
CurCharIndex++;
|
||||
StringLevel[CurCharIndex]=';';
|
||||
CurCharIndex++;
|
||||
StringLevel[CurCharIndex]='\0';
|
||||
fwrite (StringLevel,1,CurCharIndex,ArrTxt);
|
||||
fclose (ArrTxt);
|
||||
}
|
||||
|
||||
void LevelEditor () {
|
||||
int i=0;
|
||||
int j=0;
|
||||
if (Panel==0) {
|
||||
if (Key=='d' && Tile_X<399) Tile_X++;
|
||||
if (Key=='a' && Tile_X>0) Tile_X--;
|
||||
if (Key=='s' && Tile_Y<8) Tile_Y++;
|
||||
if (Key=='w' && Tile_Y>0) Tile_Y--;
|
||||
if (Key==' ') {
|
||||
if (Tile_Type==5) {
|
||||
for (i=0; i<LEVEL_MAXLEN; i++) if (*(Levels[CURRENT_LEVEL]+0*LEVEL_MAXLEN+i)==5) *(Levels[CURRENT_LEVEL]+0*LEVEL_MAXLEN+i)=0;
|
||||
*(Levels[CURRENT_LEVEL]+0*LEVEL_MAXLEN+Tile_X)=5;
|
||||
} else {
|
||||
*(Levels[CURRENT_LEVEL]+Tile_Y*LEVEL_MAXLEN+Tile_X)=Tile_Type;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Panel==1) {
|
||||
if (Key=='s' && Tile_Type<5) Tile_Type++;
|
||||
if (Key=='w' && Tile_Type>0) Tile_Type--;
|
||||
}
|
||||
if (Panel==2) {
|
||||
if (Key=='s' && Q_SELECTED<5) Q_SELECTED++;
|
||||
if (Key=='w' && Q_SELECTED>0) Q_SELECTED--;
|
||||
if (Key==' ' && Q_SELECTED==0) {
|
||||
GAME_TYPE=1;
|
||||
if (GLOBAL_CHECKPOINT>0) {
|
||||
int isCheck=0;
|
||||
for (i=0;i<9; i++) {
|
||||
int CurBlock=*(Levels[CURRENT_LEVEL]+i*LEVEL_MAXLEN+GLOBAL_CHECKPOINT);
|
||||
if (CurBlock==4) {
|
||||
SPAWN_Y=(i+1)*43+41+70-DeltaH[HeroSides];
|
||||
isCheck=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isCheck==0) {
|
||||
DrawText (100,300,"error (checkpoint not found)",GLOBAL_FRONTCOLOR);
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
return;
|
||||
}
|
||||
ResetLevel(CURRENT_LEVEL);
|
||||
isRestart=0;
|
||||
HeroIsDead=0;
|
||||
HeroFly=0;
|
||||
HeroY=SPAWN_Y;
|
||||
if (HeroSides>7) HeroY-=22;
|
||||
if (HeroSides%2==0) {
|
||||
HeroAngle=360/(HeroSides*2);
|
||||
} else {
|
||||
HeroAngle=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Q_SELECTED==1) {
|
||||
if (Key=='d' && GLOBAL_CHECKPOINT<399) GLOBAL_CHECKPOINT++;
|
||||
if (Key=='a' && GLOBAL_CHECKPOINT>0) GLOBAL_CHECKPOINT--;
|
||||
}
|
||||
if (Key==' ' && Q_SELECTED==2) {
|
||||
for (i=0; i<9; i++) {
|
||||
for (j=0; j<LEVEL_MAXLEN; j++) {
|
||||
*(Levels[CURRENT_LEVEL]+i*LEVEL_MAXLEN+j)=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Key==' ' && Q_SELECTED==3) SaveArray();
|
||||
if (Q_SELECTED==4) {
|
||||
if (Key=='a' && LevelProps[CURRENT_LEVEL][2]>3) LevelProps[CURRENT_LEVEL][2]--;
|
||||
if (Key=='d' && LevelProps[CURRENT_LEVEL][2]<10) LevelProps[CURRENT_LEVEL][2]++;
|
||||
HeroSides=LevelProps[CURRENT_LEVEL][2];
|
||||
}
|
||||
if (Key==' ' && Q_SELECTED==5) GAME_TYPE=0;
|
||||
}
|
||||
if (Key=='e') {
|
||||
if (Panel==0) {
|
||||
Panel=1;
|
||||
} else {
|
||||
Panel=0;
|
||||
}
|
||||
}
|
||||
if (Key=='q') {
|
||||
if (Panel==0) {
|
||||
Panel=2;
|
||||
} else {
|
||||
Panel=0;
|
||||
}
|
||||
}
|
||||
//Draw grid
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (43*i,0,43*i,43*9,GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
for (i=0; i<=9; i++) {
|
||||
DrawLine (0,43*i,430,43*i,GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
//Draw panel
|
||||
DrawText (450,10,"e_tools",GLOBAL_FRONTCOLOR);
|
||||
IntToStr (Tile_X,NUMBER);
|
||||
DrawText (450,30,"(",GLOBAL_FRONTCOLOR);
|
||||
DrawText (470,30,NUMBER,GLOBAL_FRONTCOLOR);
|
||||
DrawText (530,30,"/",GLOBAL_FRONTCOLOR);
|
||||
IntToStr (Tile_Y,NUMBER);
|
||||
DrawText (550,30,NUMBER,GLOBAL_FRONTCOLOR);
|
||||
DrawText (570,30,")",GLOBAL_FRONTCOLOR);
|
||||
|
||||
DrawLine (480,70,530,70,GLOBAL_FRONTCOLOR);
|
||||
DrawLine (480,70,480,70+300,GLOBAL_FRONTCOLOR);
|
||||
DrawLine (530,70,530,70+300,GLOBAL_FRONTCOLOR);
|
||||
for (i=1;i<=6; i++) DrawLine (480,70+50*i,530,70+50*i,GLOBAL_FRONTCOLOR);
|
||||
//Empty block
|
||||
DrawLine (480+4,70+4,480+42,70+42,GLOBAL_FRONTCOLOR);
|
||||
DrawLine (480+4,70+42,480+42,70+4,GLOBAL_FRONTCOLOR);
|
||||
DrawBlock (480+4,70+4+50,GLOBAL_FRONTCOLOR);
|
||||
DrawPit (480+7,70+4+100,GLOBAL_FRONTCOLOR);
|
||||
DrawBatut (480+4,70+4+150,GLOBAL_FRONTCOLOR);
|
||||
DrawFlag (480+8,70+4+200,GLOBAL_FRONTCOLOR);
|
||||
DrawText (480+14,70+14+250,"f",GLOBAL_FRONTCOLOR);
|
||||
DrawText (450,400,TILENAME [Tile_Type],GLOBAL_FRONTCOLOR);
|
||||
|
||||
//Draw properties
|
||||
DrawText (10,410,"q_properties",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,430+20,"test level",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,470,"start column < >",GLOBAL_FRONTCOLOR);
|
||||
IntToStr (GLOBAL_CHECKPOINT,NUMBER);
|
||||
DrawText (270,470,NUMBER,GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,490,"reset level",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,510,"save as 2d array (for developers)",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,530,"hero sides < >",GLOBAL_FRONTCOLOR);
|
||||
IntToStr (LevelProps[CURRENT_LEVEL][2],NUMBER);
|
||||
DrawText (230,530,NUMBER,GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,550,"back to menu",GLOBAL_FRONTCOLOR);
|
||||
|
||||
if (Panel==0) {
|
||||
DrawLine ((Tile_X%10)*43,0,(Tile_X%10)*43,400,HeroColor);
|
||||
DrawLine ((Tile_X%10)*43+43,0,(Tile_X%10)*43+43,400,HeroColor);
|
||||
DrawLine (0,(Tile_Y%10)*43,440,(Tile_Y%10)*43,HeroColor);
|
||||
DrawLine (0,(Tile_Y%10)*43+43,440,(Tile_Y%10)*43+43,HeroColor);
|
||||
}
|
||||
if (Panel==1) {
|
||||
DrawText (450,10,"e_tools",HeroColor);
|
||||
DrawLine (480,70+Tile_Type*50,530,70+Tile_Type*50,HeroColor);
|
||||
DrawLine (480,70+Tile_Type*50,480,70+50+Tile_Type*50,HeroColor);
|
||||
DrawLine (480,70+Tile_Type*50+50,530,70+50+Tile_Type*50,HeroColor);
|
||||
DrawLine (530,70+Tile_Type*50,530,70+Tile_Type*50+50,HeroColor);
|
||||
DrawText (450,400,TILENAME [Tile_Type],HeroColor);
|
||||
}
|
||||
if (Panel==2) {
|
||||
DrawText (10,410,"q_properties",HeroColor);
|
||||
if (Q_SELECTED==0) DrawText (10,450,"test level",HeroColor);
|
||||
if (Q_SELECTED==1) DrawText (10,470,"start column < >",HeroColor);
|
||||
if (Q_SELECTED==2) DrawText (10,490,"reset level",HeroColor);
|
||||
if (Q_SELECTED==3) DrawText (10,510,"save as 2d array (for developers)",HeroColor);
|
||||
if (Q_SELECTED==4) DrawText (10,530,"hero sides < >",HeroColor);
|
||||
if (Q_SELECTED==5) DrawText (10,550,"back to menu",HeroColor);
|
||||
}
|
||||
|
||||
for (i=0; i<10; i++) {
|
||||
for (j=0; j<9; j++) {
|
||||
int CurBlock=*(Levels[CURRENT_LEVEL]+j*LEVEL_MAXLEN+Tile_X-Tile_X%10+i);
|
||||
if (CurBlock==1) DrawBlock (43*i,43*j,GLOBAL_BLOCKCOLOR);
|
||||
if (CurBlock==2) DrawPit (43*i,43*j,GLOBAL_PITCOLOR);
|
||||
if (CurBlock==3) DrawBatut (43*i,43*j,GLOBAL_BATUTCOLOR);
|
||||
if (CurBlock==4) DrawFlag (43*i,43*j,GLOBAL_FLAGCOLOR);
|
||||
|
||||
}
|
||||
if (*(Levels[CURRENT_LEVEL]+0*LEVEL_MAXLEN+Tile_X-Tile_X%10+i)==5) {
|
||||
for (j=0; j<9;j++) {
|
||||
DrawText (43*i+10,43*j+10,"f",GLOBAL_FRONTCOLOR);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Key==27) {
|
||||
GAME_TYPE=0;
|
||||
}
|
||||
}
|
||||
|
||||
void Authors () {
|
||||
if (THE_END_COUNT>0) THE_END_COUNT--;
|
||||
DrawText (240,10+THE_END_COUNT,"the end",HeroColor);
|
||||
DrawText (10,40+THE_END_COUNT,"dev team",HeroColor);
|
||||
DrawText (10,60+THE_END_COUNT,"game director _ shimanskey eugene",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,80+THE_END_COUNT,"level designer _ chuduk alexander", GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,100+THE_END_COUNT,"programmer _ shimanskey eugene", GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,120+THE_END_COUNT,"font designer _ chuduk alexander", GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,170+THE_END_COUNT,"this game is dedicated to our",GLOBAL_FRONTCOLOR);
|
||||
DrawText (10,190+THE_END_COUNT,"relatives and friends",GLOBAL_FRONTCOLOR);
|
||||
if (Key==27) {
|
||||
GAME_TYPE=0;
|
||||
THE_END_COUNT=600;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
_ksys_get_screen_size (&ScreenX, &ScreenY);
|
||||
OffsetX=ScreenX/2-Width/2;
|
||||
OffsetY=ScreenY/2-Height/2;
|
||||
draw_window();
|
||||
|
||||
int TIME_START=0;
|
||||
int TIME_END=0;
|
||||
int Delta_Hz=0;
|
||||
|
||||
TIME_START=_ksys_get_system_clock();
|
||||
while (!0) {
|
||||
TIME_END=_ksys_get_system_clock();
|
||||
if (TIME_START==TIME_END) {
|
||||
Delta_Hz++;
|
||||
} else {
|
||||
OLD_FPS=NEW_FPS;
|
||||
NEW_FPS=Delta_Hz;
|
||||
TIME_START=TIME_END;
|
||||
Delta_Hz=0;
|
||||
}
|
||||
_ksys_delay((OLD_FPS+NEW_FPS)/120);
|
||||
Key=getKey();
|
||||
if (GAME_TYPE==-1) return 0;
|
||||
if (GAME_TYPE==0) MainMenu ();
|
||||
if (GAME_TYPE==1) GamePlay ();
|
||||
if (GAME_TYPE==2) ShowHelp ();
|
||||
if (GAME_TYPE==3) LevelEditor();
|
||||
if (GAME_TYPE==4) Authors();
|
||||
Update();
|
||||
|
||||
}
|
||||
}
|
234
programs/games/nsider/include/DRAW2D.H
Normal file
234
programs/games/nsider/include/DRAW2D.H
Normal file
@ -0,0 +1,234 @@
|
||||
void draw_window() {
|
||||
_ksys_window_redraw(1);
|
||||
_ksys_draw_window(0, 0, ScreenX, ScreenY, 0, 0, 0, 0, 0);
|
||||
_ksys_window_redraw(2);
|
||||
}
|
||||
|
||||
void DrawLine(int x0, int y0, int x1, int y1, int color) {
|
||||
int Temp = 0;
|
||||
int x=0;
|
||||
int y=0;
|
||||
|
||||
//cases when line is out of screen
|
||||
if (y0 < 0 && y1 < 0) return;
|
||||
if (y0 >Height - 1 && y1>Height - 1) return;
|
||||
if (x0 < 0 && x1 < 0) return;
|
||||
if (x0>Width - 1 && x1>Width - 1) return;
|
||||
|
||||
if ((x1 - x0) == 0) {
|
||||
if (y1 == min(y0, y1)) {
|
||||
Temp = y1;
|
||||
y1 = y0;
|
||||
y0 = Temp;
|
||||
}
|
||||
//correcting borders
|
||||
if (y0 < 0) y0 = 0;
|
||||
if (y1>Height - 1) y1 = Height - 1;
|
||||
for (y = y0; y <= y1; y++) {
|
||||
BufferDraw[x0][y] = color;
|
||||
if (x0+1<=Width-1) BufferDraw[x0+1][y] = color;
|
||||
}
|
||||
}
|
||||
else if ((y1 - y0) == 0) {
|
||||
if (x1 == min(x0, x1)) {
|
||||
Temp = x1;
|
||||
x1 = x0;
|
||||
x0 = Temp;
|
||||
}
|
||||
if (x0 < 0) x0 = 0;
|
||||
if (x1>Width - 1) x1 = Width - 1;
|
||||
for (x = x0; x < x1; x++) {
|
||||
BufferDraw[x][y0] = color;
|
||||
if (y0+1<=Height-1) BufferDraw[x][y0+1] = color;
|
||||
}
|
||||
}
|
||||
else {
|
||||
int PartX=0;
|
||||
int PartY=0;
|
||||
|
||||
int LeftX=min(x0,x1);
|
||||
if (LeftX<0) LeftX=0;
|
||||
if (LeftX>Width-1) LeftX=Width-1;
|
||||
|
||||
int RightX=max(x0,x1);
|
||||
if (RightX<0) RightX=0;
|
||||
if (RightX>Width-1) RightX=Width-1;
|
||||
|
||||
int LeftY=min(y0,y1);
|
||||
if (LeftY<0) LeftY=0;
|
||||
if (LeftY>Height-1) LeftY=Height-1;
|
||||
|
||||
int RightY=max(y0,y1);
|
||||
if (RightY<0) RightY=0;
|
||||
if (RightY>Height-1) RightY=Height-1;
|
||||
|
||||
if (RightX-LeftX>=RightY-LeftY) {
|
||||
for (x=LeftX; x<=RightX; x++) {
|
||||
y=(y1-y0)*(x-x0)/(x1-x0)+y0;
|
||||
if (y<0) continue;
|
||||
BufferDraw[x][y]=color;
|
||||
if (y+1<=Height-1) BufferDraw[x][y+1]=color;
|
||||
}
|
||||
} else {
|
||||
for (y=LeftY; y<=RightY; y++) {
|
||||
x=(x1-x0)*(y-y0)/(y1-y0)+x0;
|
||||
if (x<0) continue;
|
||||
BufferDraw[x][y]=color;
|
||||
if (x+1<=Width-1) BufferDraw[x+1][y]=color;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void DrawText(int x, int y, char Text[] , int color) {
|
||||
int i=0;
|
||||
for (i=0; Text[i]!='\0'; i++) {
|
||||
int j=0;
|
||||
unsigned char isMatch=0;
|
||||
for (j=0; Alphabet[j]!='\0'; j++) {
|
||||
if (Text[i]==Alphabet[j]) {
|
||||
isMatch=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isMatch==0) {
|
||||
x+=17;
|
||||
continue;
|
||||
}
|
||||
int bitLen=15;
|
||||
int bitX=0;
|
||||
int bitY=0;
|
||||
for (bitX=0; bitX<bitLen; bitX++) {
|
||||
for (bitY=0; bitY<bitLen; bitY++) {
|
||||
if (*(AlphaGraphic[j]+bitY*bitLen+bitX)==1) {
|
||||
if (x+bitX>=0 && x+bitX<=(Width-1) && y+bitY>=0 && y+bitY<=(Height-1)) BufferDraw[x+bitX][y+bitY]=color;
|
||||
}
|
||||
}
|
||||
}
|
||||
x+=bitLen+2;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawPit (int x, int y, int color) {
|
||||
DrawLine (0+x,43+y,15+x,10+y,color);
|
||||
DrawLine (15+x,10+y,30+x,43+y,color);
|
||||
DrawLine (0+x,43+y,30+x,43+y,color);
|
||||
}
|
||||
|
||||
void DrawBlock (int x, int y, int color) {
|
||||
DrawLine (0+x,0+y,40+x,0+y,color);
|
||||
DrawLine (40+x,0+y,40+x,40+y,color);
|
||||
DrawLine (40+x,40+y,0+x,40+y,color);
|
||||
DrawLine (0+x,40+y,0+x,0+y,color);
|
||||
}
|
||||
|
||||
void DrawHero (int x, int y, int Verts, int InitAngle, int color) {
|
||||
int R=25;
|
||||
int PointX1=x+FloatToInt(R*sin(InitAngle));
|
||||
int PointY1=y-FloatToInt(R*cos(InitAngle));
|
||||
int PointX2=0;
|
||||
int PointY2=0;
|
||||
int i=0;
|
||||
for (i=0; i<Verts; i++) {
|
||||
InitAngle=(InitAngle+360/Verts)%360;
|
||||
PointX2=x+FloatToInt(R*sin(InitAngle));
|
||||
PointY2=y-FloatToInt(R*cos(InitAngle));
|
||||
DrawLine(PointX1,PointY1,PointX2,PointY2,color);
|
||||
PointX1=PointX2;
|
||||
PointY1=PointY2;
|
||||
CollideVerts[i][0]=PointX1;
|
||||
CollideVerts[i][1]=PointY1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void DrawBatut (int x, int y, int color) {
|
||||
DrawLine (x,y+20,x+43,y+20,color);
|
||||
DrawLine (x+43,y+20,x+43,y+43,color);
|
||||
DrawLine (x+43,y+43,x,y+43,color);
|
||||
DrawLine (x,y+43,x,y+20,color);
|
||||
DrawLine (x+10+2,y+35,x+30+2,y+35,color);
|
||||
DrawLine (x+10+2,y+35,x+20+2,y+27,color);
|
||||
DrawLine (x+20+2,y+27,x+30+2,y+35,color);
|
||||
|
||||
}
|
||||
void DrawFlag (int x,int y, int color) {
|
||||
DrawLine (x,y,x,y+43,color);
|
||||
DrawLine (x,y+43,x+10,y+43,color);
|
||||
DrawLine (x,y,x+30,y,color);
|
||||
DrawLine (x+30,y,x+30,y+20,color);
|
||||
DrawLine (x,y+20,x+30,y+20,color);
|
||||
DrawText (x+10,y+4,"c",color);
|
||||
}
|
||||
|
||||
void DrawScreen (int x,int y,int xsize, int ysize, void* image) {
|
||||
asm volatile("int $0x40"::"a"(7),"b"(image),"c"((xsize<<16)+ysize),"d"((x<<16)+y):"memory");
|
||||
}
|
||||
|
||||
void DrawTitle (int x, int y, int color) {
|
||||
int i=0;
|
||||
//n
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x,y+i,x+70,y+i,color);
|
||||
DrawLine (x+i,y,x+i,y+80, color);
|
||||
DrawLine (x+i+70,y+10,x+i+70,y+80,color);
|
||||
}
|
||||
//-
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+100,y+30+i,x+130,y+30+i,color);
|
||||
}
|
||||
//S
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+160,y+i,x+220, y+i, color);
|
||||
DrawLine (x+150+i,y+10,x+150+i,y+30,color);
|
||||
DrawLine (x+150,y+30+i,x+210,y+30+i,color);
|
||||
DrawLine (x+210+i,y+40,x+210+i,y+70,color);
|
||||
DrawLine (x+150,y+70+i,x+210,y+70+i,color);
|
||||
|
||||
}
|
||||
//i
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+240,y+i,x+255,y+i,color);
|
||||
DrawLine (x+242+i,y+20,x+242+i,y+80,color);
|
||||
}
|
||||
//D
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+270,y+i,x+320,y+i,color);
|
||||
DrawLine (x+270+i,y,x+270+i,y+80,color);
|
||||
DrawLine (x+270,y+i+70,x+320,y+70+i,color);
|
||||
DrawLine (x+320+i,y+10,x+320+i,y+70,color);
|
||||
}
|
||||
//E
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+350,y+i,x+410,y+i, color);
|
||||
DrawLine (x+350,y+35+i,x+410,y+35+i,color);
|
||||
DrawLine (x+350,y+70+i,x+410,y+70+i,color);
|
||||
}
|
||||
//R
|
||||
for (i=0; i<=10; i++) {
|
||||
DrawLine (x+430,y+i,x+480,y+i,color);
|
||||
DrawLine (x+430+i,y,x+430+i,y+80,color);
|
||||
DrawLine (x+480+i,y+10,x+480+i,y+40,color);
|
||||
DrawLine (x+430,y+40+i,x+480,y+40+i,color);
|
||||
DrawLine (x+480+i,y+52,x+480+i,y+80,color);
|
||||
}
|
||||
}
|
||||
|
||||
void DrawPew (int x,int y,int frame,int color) {
|
||||
frame-=15;
|
||||
DrawLine (x,y-25-frame,x,y-30-frame,color);
|
||||
DrawLine (x,y+25+frame,x,y+30+frame,color);
|
||||
DrawLine (x+25+frame,y,x+30+frame,y,color);
|
||||
DrawLine (x-25-frame,y,x-30-frame,y,color);
|
||||
DrawLine (x+15+frame,y+15+frame,x+20+frame,y+20+frame,color);
|
||||
DrawLine (x-15-frame,y-15-frame,x-20-frame,y-20-frame,color);
|
||||
DrawLine (x-15-frame,y+15+frame,x-20-frame,y+20+frame,color);
|
||||
DrawLine (x+15+frame,y-15-frame,x+20+frame,y-20-frame,color);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
749
programs/games/nsider/include/GameAlphabet.h
Normal file
749
programs/games/nsider/include/GameAlphabet.h
Normal file
@ -0,0 +1,749 @@
|
||||
char Alphabet[]="0123456789abcdefghijklmnopqrstuvwxyz/()<>_";
|
||||
|
||||
|
||||
unsigned char _emty[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _0[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,1,1},
|
||||
{1,1,0,0,0,0,1,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,1,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,1,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,1,1,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,1,1,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _1[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _2[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
unsigned char _3[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _4[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _5[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _6[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _7[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _8[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _9[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _a[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _b[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _c[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
unsigned char _d[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _e[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
unsigned char _f[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _g[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _h[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _i[15][15]=
|
||||
{{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _j[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _k[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _l[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
unsigned char _m[15][15]=
|
||||
{{1,1,1,1,1,1,1,0,0,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,0,0,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _n[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _o[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _p[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _q[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _r[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _s[15][15]=
|
||||
{{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _t[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _u[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,1,1,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _v[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,1,1,0,0,0,1,1,0,0,0,0},
|
||||
{0,0,0,0,1,1,0,0,0,1,1,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0}};
|
||||
|
||||
|
||||
|
||||
unsigned char _w[15][15]=
|
||||
{{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,1,1,0,0,0,0,1,1},
|
||||
{0,0,1,1,1,1,1,0,0,1,1,1,1,0,0},
|
||||
{0,0,1,1,1,1,1,0,0,1,1,1,1,0,0}};
|
||||
|
||||
unsigned char _x[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,1,1,1,1,1,1,1,0,0,0,0},
|
||||
{0,0,0,0,1,1,1,1,1,1,1,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _y[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,1,1,0,0,0,1,1,0,0,0,0},
|
||||
{0,0,0,0,1,1,0,0,0,1,1,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,1,0,0,0,0,0,0}};
|
||||
|
||||
|
||||
unsigned char _z[15][15]=
|
||||
{{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,1,1,1,1,1,1,1,0,0,0,0},
|
||||
{0,0,0,0,1,1,1,1,1,1,1,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
unsigned char _div[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,1,1,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,1,1,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,1,1,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,1,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,1,1,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,1,1,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _open[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _close[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _left[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,1,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,1,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,1,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}};
|
||||
|
||||
unsigned char _right[15][15]=
|
||||
{{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,0,0,0,0,0,0,0,0,0,0,0,0,0}};
|
||||
|
||||
unsigned char _downspace[15][15]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
|
||||
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//1-9,a-z and A-Z are left. Yahoo! for 0-9,a-z - 15x15 format, for A-Z - 30x30 format
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
unsigned char *AlphaGraphic[62]={&_0[0][0],&_1[0][0],&_2[0][0],&_3[0][0],&_4[0][0],&_5[0][0],&_6[0][0],&_7[0][0],&_8[0][0],&_9[0][0],&_a[0][0],&_b[0][0],&_c[0][0],&_d[0][0],&_e[0][0],&_f[0][0],&_g[0][0],&_h[0][0],&_i[0][0],&_j[0][0],&_k[0][0],&_l[0][0],&_m[0][0],&_n[0][0],&_o[0][0],&_p[0][0],&_q[0][0],&_r[0][0],&_s[0][0],&_t[0][0],&_u[0][0],&_v[0][0],&_w[0][0],&_x[0][0],&_y[0][0],&_z[0][0], &_div[0][0],&_open[0][0],&_close[0][0],&_left[0][0],&_right[0][0],&_downspace[0][0]};
|
158
programs/games/nsider/include/GameFunctions.h
Normal file
158
programs/games/nsider/include/GameFunctions.h
Normal file
@ -0,0 +1,158 @@
|
||||
void Update() {
|
||||
int x=0;
|
||||
int y=0;
|
||||
int X0=0;
|
||||
int X1=0;
|
||||
int CurColor=0;
|
||||
|
||||
//LINE DRAW
|
||||
if (DRAW_TECH==1) {
|
||||
//Buffer to Buffer
|
||||
for (x = 0; x < Width; x++) {
|
||||
for (y = 0; y < Height; y++) {
|
||||
BufferCarry2[x][y] = BufferDraw[x][y];
|
||||
}
|
||||
}
|
||||
//Convert Analyx to Drawmask Matrix
|
||||
for (x=0; x<Width; x++) {
|
||||
for (y=0; y<Height; y++) {
|
||||
if (Analyx[x][y]==BufferCarry2[x][y]) {
|
||||
Analyx[x][y]=1;
|
||||
} else {
|
||||
Analyx[x][y]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (x=0; x<Width; x++) {
|
||||
for (y=0; y<Height; y++) {
|
||||
if (Analyx[x][y]==1) continue;
|
||||
CurColor=BufferCarry2[x][y];
|
||||
//try vertical line
|
||||
int LineY=y;
|
||||
while (LineY<Height && BufferCarry2[x][LineY]==CurColor) LineY++;
|
||||
LineY--;
|
||||
|
||||
//try horizontal line
|
||||
int LineX=x;
|
||||
while (LineX<Width && BufferCarry2[LineX][y]==CurColor) LineX++;
|
||||
LineX--;
|
||||
|
||||
//chosing the greatest area and draw
|
||||
int LineYLen=LineY-y+1;
|
||||
int LineXLen=LineX-x+1;
|
||||
|
||||
if (LineXLen>=LineYLen) {
|
||||
_ksys_line(x+OffsetX,y+OffsetY,LineX+OffsetX,y+OffsetY,CurColor);
|
||||
int i=0;
|
||||
for (i=x; i<=LineX; i++) Analyx[i][y]=1;
|
||||
continue;
|
||||
}
|
||||
_ksys_line(x+OffsetX,y+OffsetY,x+OffsetX,LineY+OffsetY,CurColor);
|
||||
int i=0;
|
||||
for (i=y; i<=LineY; i++) Analyx[x][i]=1;
|
||||
}
|
||||
}
|
||||
|
||||
//From Buffer to Analyx and Reset Buffer
|
||||
for (x = 0; x < Width; x++) {
|
||||
for (y = 0; y < Height; y++) {
|
||||
Analyx[x][y]=BufferCarry2[x][y];
|
||||
BufferDraw[x][y]=GLOBAL_BACKGROUNDCOLOR;
|
||||
}
|
||||
}
|
||||
}
|
||||
//FULL FRAME DRAW
|
||||
if (DRAW_TECH==0) {
|
||||
for (x = 0; x < Width; x++) {
|
||||
for (y = 0; y < Height; y++) {
|
||||
BufferCarry[y][x][0] = BufferDraw[x][y]%256;
|
||||
BufferDraw[x][y]/=256;
|
||||
BufferCarry[y][x][1]=BufferDraw[x][y]%256;
|
||||
BufferDraw[x][y]/=256;
|
||||
BufferCarry[y][x][2]=BufferDraw[x][y]%256;
|
||||
BufferDraw[x][y]=GLOBAL_BACKGROUNDCOLOR;
|
||||
}
|
||||
}
|
||||
DrawScreen (OffsetX,OffsetY,Width,Height,BufferCarry);
|
||||
}
|
||||
//Drawing Level
|
||||
int i=0;
|
||||
for (i=0; i<Objects; i++) {
|
||||
if (DataBase[i][0]==1) {
|
||||
DrawBlock (DataBase[i][1],DataBase[i][2],GLOBAL_BLOCKCOLOR);
|
||||
}
|
||||
if (DataBase[i][0]==2) {
|
||||
DrawPit (DataBase[i][1],DataBase[i][2],GLOBAL_PITCOLOR);
|
||||
}
|
||||
if (DataBase[i][0]==3) {
|
||||
DrawBatut (DataBase[i][1],DataBase[i][2],GLOBAL_BATUTCOLOR);
|
||||
}
|
||||
if (DataBase[i][0]==4) {
|
||||
DrawFlag (DataBase[i][1],DataBase[i][2],GLOBAL_FLAGCOLOR);
|
||||
}
|
||||
DataBase[i][1]-=GLOBAL_SPEED;
|
||||
if (Objects>0 && DataBase[0][1]<120) isRestart=1;
|
||||
}
|
||||
CleanDataBase();
|
||||
|
||||
}
|
||||
|
||||
void Jump () {
|
||||
if (Key==' ') HeroFly=-13;
|
||||
}
|
||||
|
||||
|
||||
char CheckCollision() {
|
||||
int i=0;
|
||||
for (i=0; i<Objects; i++) {
|
||||
if (Abs(DataBase[i][1]-HeroX)>60) continue;
|
||||
int j=0;
|
||||
for (j=0;j<HeroSides; j++) {
|
||||
int PointX=CollideVerts[j][0];
|
||||
int PointY=CollideVerts[j][1];
|
||||
if (DataBase[i][0]==2 && PointX>=DataBase[i][1]+6 && PointX<=DataBase[i][1]+30-6 && PointY>=DataBase[i][2]+10 && PointY<=DataBase[i][2]+48) {
|
||||
return 1;
|
||||
}
|
||||
if (DataBase[i][0]==3 && PointX>=DataBase[i][1] && PointX<=DataBase[i][1]+43 && PointY>=DataBase[i][2]+25 && PointY<=DataBase[i][2]+48) {
|
||||
HeroFly=-25;
|
||||
return 0;
|
||||
}
|
||||
if (DataBase[i][0]==4 && PointX>=DataBase[i][1] && PointX<=DataBase[i][1]+43 && PointY>=DataBase[i][2] && PointY<=DataBase[i][2]+48) {
|
||||
DrawText (10,510,"checkpoint",GLOBAL_FLAGCOLOR);
|
||||
GLOBAL_CHECKPOINT=CurrentCheck;
|
||||
SPAWN_Y=DataBase[i][2];
|
||||
}
|
||||
|
||||
if (DataBase[i][0]==1 && PointX>=DataBase[i][1] && PointX<=DataBase[i][1]+43) {
|
||||
if (PointY>=DataBase[i][2] && PointY<=DataBase[i][2]+43) {
|
||||
if (HeroY>=DataBase[i][2] && HeroX<=DataBase[i][1]+6) {
|
||||
return 1;
|
||||
}
|
||||
if (HeroFly<0) {
|
||||
return 1;
|
||||
}
|
||||
//correcting edges
|
||||
HeroAngle=0;
|
||||
if (HeroSides%2==0) HeroAngle=360/HeroSides/2;
|
||||
HeroY=DataBase[i][2]-DeltaH[HeroSides-3];
|
||||
HeroFly=0;
|
||||
Jump();
|
||||
return 0;
|
||||
} else {
|
||||
if (DataBase[i][2]-HeroY<HeroFly && HeroFly>0 && DataBase[i][2]-HeroY>0) HeroFly=DataBase[i][2]-HeroY;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (HeroY<500-DeltaH[HeroSides-3]) {
|
||||
HeroFly++;
|
||||
} else {
|
||||
HeroFly=0;
|
||||
HeroAngle=0;
|
||||
if (HeroSides%2==0) HeroAngle=360/HeroSides/2;
|
||||
HeroY=500-DeltaH[HeroSides-3];
|
||||
Jump();
|
||||
}
|
||||
return 0;
|
||||
}
|
236
programs/games/nsider/include/LEVELS.H
Normal file
236
programs/games/nsider/include/LEVELS.H
Normal file
@ -0,0 +1,236 @@
|
||||
#define LEVEL_MAXLEN 400
|
||||
#define CONST_SPEED 5
|
||||
|
||||
|
||||
int DataBase[100][3];
|
||||
int Objects=0;
|
||||
|
||||
|
||||
unsigned char USER_LEVEL0[9][LEVEL_MAXLEN]={{}};
|
||||
unsigned char USER_LEVEL1[9][LEVEL_MAXLEN]={{}};
|
||||
unsigned char USER_LEVEL2[9][LEVEL_MAXLEN]={{}};
|
||||
//note: [0][0] holds Length high part, [0][1] length lo part, [0][2] holds column to read
|
||||
unsigned char Lvl03[9][LEVEL_MAXLEN]=
|
||||
{
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,1,1,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,3,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,2,2,2,1,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,2,0,0,1,1,1,2,1,1,1,1,2,2,1,0,0,0,0,0,0,0,0,2,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,1,0,0,1,1,1,0,0,0,0,0,0,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,1,1,2,2,1,1,1,1,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,3,0,0,1,1,1,1,1,1,0,1,1,1,2,1,1,1,1,2,2,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,2,2,2,0,0,0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,1,1,1,2,3,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,0,0,0,3,3,3,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
|
||||
};
|
||||
|
||||
//lvl 1 NI
|
||||
|
||||
unsigned char Lvl04[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,3,0,0,2,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,2,2,1,0,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
|
||||
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,2,0,2,0,0,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,2,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2},
|
||||
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,2,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,2,0,2,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2},
|
||||
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,2,2,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,2,2,0,0,0,0,0,3,0,1,0,0,0,0,1,0,0,0,0,0,1,1,1,2,2,2,2,2,1,1,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,1,1,2,2,2,2,2,1,1,0,0,0,4,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,2,2,3,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,3,2,2,2,2,0,0,0,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,2,2,1,2,2,3,2,2,2,0,0,0,0,0,0,4,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,2,2,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2}
|
||||
};
|
||||
|
||||
|
||||
//lvl 2 NO GEME NO RAIFU
|
||||
|
||||
unsigned char Lvl05[9][LEVEL_MAXLEN]=
|
||||
{{0,0,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,1,1,0,0,1,3,0,1,1,1,0,1,0,3,0,0,0,0,1,1,0,1,1,1,0,3,3,3,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
|
||||
{1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,2,2,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,2,2,2,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,3,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,4,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,3,2,2,2,2,0,0,4,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,1,1,1,1,2,2,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,2,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,2,2,2,2,2,1,0,0,3,3,2,2,2,0,0,0,0,4,0,0,3,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}
|
||||
};
|
||||
|
||||
|
||||
|
||||
//lvl 3 1+2
|
||||
|
||||
unsigned char Lvl06[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,3,0,1,1,1,0,1,0,3,0,0,0,0,1,1,0,1,1,1,0,3,3,3,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,3,0,0,2,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,2,2,1,0,0,0,0,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,2,0,2,0,0,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,2,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,3,2,2,2,2,0,0,4,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,2,0,0,0,0,0,0,4,0,0,1,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,1,3,0,0,0,0,0,2,2,0,0,0,0,0,3,0,1,0,0,0,0,1,0,0,0,0,0,1,1,1,2,2,2,2,2,1,1,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,1,1,2,2,2,2,1,1,1,0,0,0,4,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,2,2,0,0,3,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,4,0,0,1,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,2,3,2,1,2,2,1,2,3,2,2,2,2,2,2,0,0,0,0,4,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2}
|
||||
};
|
||||
|
||||
|
||||
|
||||
//lvl 4 NANO
|
||||
|
||||
unsigned char Lvl07[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,0,0,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,0,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,1,0,0,1,1,3,0,0,1,0,0,1,0,0,0,3,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,1,1,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,2,3,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,1,2,2,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,0,0,0,0,0,0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,2,1,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,2,2,0,0,2,2,0,0,4,0,0,2,1,0,0,0,0,0,0,1,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,1,1,1,0,2,2,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,4,0,0,3,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,2,2,2,2,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,1,2,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,3,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//lvl 5 MIGI
|
||||
|
||||
unsigned char Lvl08[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,4,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,0,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,2,0,1,1,1,1,1,2,2,1,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1},
|
||||
{0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2},
|
||||
{0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,1,0,2,1,1,1,1,2,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,2,2,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,1,0,1,3,0,0,0,0,3,0,0,0,0,0,0,0,0,2,2,0,0,2,2,0,0,0,0,0,3,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,2,0,0,1,0,0,0,0,4,0,3,1,1,1,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,2}
|
||||
};
|
||||
|
||||
|
||||
|
||||
//lvl 6 WWW(TETRIS)
|
||||
|
||||
unsigned char Lvl09[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,1,1,1,0,1,1,0,0,1,1,2,2,0,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,2,1,1,0,0,0,0,0,0,0,0,0,1,0,2,0,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,2,2,2,0,1,0,0,1,0,0,0,0,0,2,0,0,0,1,1,0,0,0,0,2,2,0,1,0,0,0,1,1,1,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,3,0,0,0,0,4,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,2,2,0,0,2,2,2,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,1,1,1,0,0,1,0,0,2,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,1,0,1,2,2,1,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,1,1,0,0,0,0,0,2,2,1,0,0,0,0,0,1,1,0,0},
|
||||
{0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,0,2,2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,1,1,0,0,0,1,1,0,1,0,0,0,0,0,2,2,0,0,0,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,1,0,3,3,3,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,2,0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,0,0,2,0,0,0,1,1,1,0,3,0,0,0,0,1,1,0,1,2,1,2,0,0,0,0,0,1,0,0,0,0,0,2,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,2,2,2,0,0,0,0,0,0,0,0,1,0,1,1,1,1,2,0,1,0,0,1,0,0,0,0,2,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,1,0,0,1,2,0,1,0,0,0,0,1,0,1,1,2,1,1,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,2,2,0,0,0,1,1,1,1,0,2,0,1,1,0,0,0,0,0,0,1,1,0,0,0,2,2,2,1,1,0},
|
||||
{0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4,3,2,2,2,2,1,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,1,0,0,0,0,2,2,0,0,2,2,2,0,1,1,1,1,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,3,0,2,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,2,2,2,0,0,0,3,0,0,1,1,1,1,0,0,0,0,1,1,0,0,2,2,2,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,2,2,2,2,0,0,0,0,0,1,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,4,0,3,0,0,0,1,1,0,1,1,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,1,1,0,1,0,0,0,0,2,0,0,3,0,0,0,0,1,1,0,0,0,3,0,0,0,0,3,0,0,0,1,1,0,1,1,1,1,0,0,1,0,0,2,2,2,1,0,0,2,2,2,2,0,2,2,2,0,0,0,0,0,2,2,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0,2,2,2,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,2,0,1,0,0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//???bonus lvl NO MERCY(PF)???
|
||||
|
||||
unsigned char Lvl10[9][LEVEL_MAXLEN]=
|
||||
{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,0,1,0,0,1,0,0,1,1,1,0,1,0,0,0,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,0,1,0,1,0,1,0,1,0,0,1,0,1,1,1,0,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,2,2,2,2,0,0,0,2,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,1,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,3,1,0,0,0,0,0,0,0,0,0,0,0,1,1,2,1,2,1,2,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,1,0,0,1,1,1,3,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,2,2,0,0,2,2,2,2,0,0,2,2,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1,0,1,1,1,0,0,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,0,0,1,0,1,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,2,2,2,1,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,0,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,2,2,3,3,2,2,2,2,3,2,2,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,2,0,0,3,0,0,0,1,0,2,0,2,0,2,0,0,0,0,0,1,1,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,1,0,0,0,1,0,0,1,0,1,0,0,1,1,1,1,0,0,1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{0,0,0,1,0,0,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,0,0,0,0,0,0,0,1,1,1,2,2,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0},
|
||||
{3,0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0,3,1,2,3,2,2,2,2,1,0,0,0,3,1,1,1,2,2,2,1,1,1,1,2,3,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,3,0,1,0,2,0,2,0,2,0,0,3,0,0,0,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//current column, level speed, HeroSides
|
||||
int LevelProps[11][3]= {{0,5,3},
|
||||
{0,5,3},
|
||||
{0,5,3},
|
||||
{0,5,3},
|
||||
{0,5,4},
|
||||
{0,5,5},
|
||||
{0,5,6},
|
||||
{0,5,7},
|
||||
{0,5,8},
|
||||
{0,5,9},
|
||||
{0,5,10}};
|
||||
|
||||
unsigned char *Levels[11]={&USER_LEVEL0[0][0],&USER_LEVEL1[0][0],&USER_LEVEL2[0][0],&Lvl03[0][0],&Lvl04[0][0],&Lvl05[0][0],&Lvl06[0][0],&Lvl07[0][0],&Lvl08[0][0],&Lvl09[0][0],&Lvl10[0][0]};
|
||||
|
||||
void Update();
|
||||
void CleanDataBase();
|
||||
void ResetLevel (int level);
|
||||
|
||||
void ReadLevel (int level) {
|
||||
int CurColumn=LevelProps[level][0];
|
||||
if (CurColumn>=LEVEL_MAXLEN || *(Levels[level]+CurColumn)==5) {
|
||||
if (CURRENT_LEVEL==10) {
|
||||
DrawText (40,300,"congratulations you are winner",GLOBAL_FRONTCOLOR);
|
||||
GLOBAL_CHECKPOINT=0;
|
||||
ResetLevel (CURRENT_LEVEL);
|
||||
MAX_LEVEL=10;
|
||||
HeroY=100;
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
GAME_TYPE=4;
|
||||
return;
|
||||
}
|
||||
if (CURRENT_LEVEL<3) {
|
||||
DrawText (200,300,"level completed",GLOBAL_FRONTCOLOR);
|
||||
GLOBAL_CHECKPOINT=0;
|
||||
ResetLevel (CURRENT_LEVEL);
|
||||
HeroY=100;
|
||||
Update();
|
||||
_ksys_delay(200);
|
||||
GAME_TYPE=3;
|
||||
Panel=1;
|
||||
return;
|
||||
} else {
|
||||
if (TO_NEXT_LEVEL==0) TO_NEXT_LEVEL=1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
int Cell=0;
|
||||
|
||||
GLOBAL_SPEED=LevelProps[level][1];
|
||||
int CurType=0;
|
||||
//init
|
||||
DataBase[Objects][0]=0;
|
||||
DataBase[Objects][1]=Width;
|
||||
DataBase[Objects][2]=0;
|
||||
Objects++;
|
||||
|
||||
for (Cell=0; Cell<9; Cell++) {
|
||||
CurType=*(Levels[level]+Cell*LEVEL_MAXLEN+CurColumn);
|
||||
if (CurType>0) {
|
||||
DataBase[Objects][0]=CurType;
|
||||
DataBase[Objects][1]=Width;
|
||||
DataBase[Objects][2]=43*(Cell+1)+70;
|
||||
if (CurType==4) CurrentCheck=CurColumn;
|
||||
Objects++;
|
||||
}
|
||||
}
|
||||
LevelProps[level][0]++;
|
||||
}
|
||||
|
||||
void ResetLevel (int level) {
|
||||
Objects=0;
|
||||
LevelProps[level][0]=GLOBAL_CHECKPOINT;
|
||||
}
|
||||
|
||||
|
||||
void CleanDataBase () {
|
||||
int i=0;
|
||||
for (i=0; i<Objects; i++) {
|
||||
if (DataBase[i][1]<-50) {
|
||||
int j=0;
|
||||
for (j=i+1; j<Objects; j++) {
|
||||
DataBase[j-1][0]=DataBase[j][0];
|
||||
DataBase[j-1][1]=DataBase[j][1];
|
||||
DataBase[j-1][2]=DataBase[j][2];
|
||||
}
|
||||
Objects--;
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
83
programs/games/nsider/include/SHIMATH.H
Normal file
83
programs/games/nsider/include/SHIMATH.H
Normal file
@ -0,0 +1,83 @@
|
||||
const float sctable[91]={0.000,0.017,0.035,0.052,0.069,0.087,0.104,0.121,0.139,0.156,0.173,
|
||||
0.190,0.207,0.225,0.242,0.259,0.275,0.292,0.309,0.325,0.342,
|
||||
0.358,0.374,0.390,0.406,0.422,0.438,0.454,0.469,0.485,0.500,
|
||||
0.515,0.530,0.545,0.560,0.573,0.588,0.602,0.616,0.629,0.643,
|
||||
0.656,0.669,0.682,0.695,0.707,0.719,0.731,0.743,0.754,0.766,
|
||||
0.777,0.788,0.798,0.809,0.819,0.829,0.838,0.848,0.857,0.866,
|
||||
0.875,0.883,0.891,0.899,0.906,0.913,0.920,0.927,0.934,0.939,
|
||||
0.945,0.951,0.956,0.961,0.965,0.970,0.974,0.978,0.982,0.985,
|
||||
0.987,0.990,0.992,0.994,0.996,0.997,0.998,0.999,0.999,1.000};
|
||||
|
||||
float sin (int angle) {
|
||||
float res=1;
|
||||
angle%=360;
|
||||
if (angle>180) res=-1;
|
||||
if (angle>=0 && angle<=90) return (res*sctable[angle]);
|
||||
if (angle>90 && angle<=180) return (res*sctable[180-angle]);
|
||||
if (angle>180 && angle<=270) return (res*sctable[angle-180]);
|
||||
if (angle>270) return (res*sctable[360-angle]);
|
||||
return res;
|
||||
}
|
||||
|
||||
float cos (int angle) {
|
||||
float res=1;
|
||||
angle%=360;
|
||||
if (angle>90 && angle<270) res=-1;
|
||||
if (angle>=0 && angle<=90) return (res*sctable[90-angle]);
|
||||
if (angle>90 && angle<=180) return (res*sctable[angle-90]);
|
||||
if (angle>180 && angle<=270) return (res*sctable[90-(angle-180)]);
|
||||
if (angle>270) return (res*sctable[90-(360-angle)]);
|
||||
return res;
|
||||
}
|
||||
|
||||
int FloatToInt (float a) {
|
||||
int sign=1;
|
||||
int result=0;
|
||||
if (a<1 && a>(-1)) return 0;
|
||||
if (a<0) {
|
||||
sign=-1;
|
||||
a*=(-1);
|
||||
}
|
||||
while (a>=1) {
|
||||
a--;
|
||||
result++;
|
||||
}
|
||||
return (result*sign);
|
||||
}
|
||||
|
||||
int min (int a, int b) {
|
||||
if (a<=b) return a;
|
||||
return b;
|
||||
}
|
||||
|
||||
int max (int a, int b) {
|
||||
if (a>=b) return a;
|
||||
return b;
|
||||
}
|
||||
|
||||
void IntToStr (int Value, char Str[]) {
|
||||
char Stack[100]="";
|
||||
int StackLen=0;
|
||||
if (Value==0) {
|
||||
Str[0]='0';
|
||||
Str[1]='\0';
|
||||
return;
|
||||
}
|
||||
while (Value!=0) {
|
||||
Stack[StackLen]=Value%10+48;
|
||||
Value/=10;
|
||||
StackLen++;
|
||||
}
|
||||
int i=0;
|
||||
for (i=0; i<StackLen; i++) {
|
||||
Str[i]=Stack[StackLen-i-1];
|
||||
}
|
||||
Str[i]='\0';
|
||||
}
|
||||
|
||||
int Abs (int a) {
|
||||
if (a<0) return (-1)*a;
|
||||
return a;
|
||||
}
|
||||
|
||||
|
35
programs/games/nsider/include/ctype.h
Normal file
35
programs/games/nsider/include/ctype.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
** All character classification functions except isascii().
|
||||
** Integer argument (c) must be in ASCII range (0-127) for
|
||||
** dependable answers.
|
||||
*/
|
||||
|
||||
#define ALNUM 1
|
||||
#define ALPHA 2
|
||||
#define CNTRL 4
|
||||
#define DIGIT 8
|
||||
#define GRAPH 16
|
||||
#define LOWER 32
|
||||
#define PRINT 64
|
||||
#define PUNCT 128
|
||||
#define BLANK 256
|
||||
#define UPPER 512
|
||||
#define XDIGIT 1024
|
||||
|
||||
extern char _is[128];
|
||||
|
||||
#define isalnum(c)(_is[c] & ALNUM ) /* 'a'-'z', 'A'-'Z', '0'-'9' */
|
||||
#define isalpha(c)(_is[c] & ALPHA ) /* 'a'-'z', 'A'-'Z' */
|
||||
#define iscntrl(c)(_is[c] & CNTRL ) /* 0-31, 127 */
|
||||
#define isdigit(c)(_is[c] & DIGIT ) /* '0'-'9' */
|
||||
#define isgraph(c)(_is[c] & GRAPH ) /* '!'-'~' */
|
||||
#define islower(c)(_is[c] & LOWER ) /* 'a'-'z' */
|
||||
#define isprint(c)(_is[c] & PRINT ) /* ' '-'~' */
|
||||
#define ispunct(c)(_is[c] & PUNCT ) /* !alnum && !cntrl && !space */
|
||||
#define isspace(c)(_is[c] & BLANK ) /* HT, LF, VT, FF, CR, ' ' */
|
||||
#define isupper(c)(_is[c] & UPPER ) /* 'A'-'Z' */
|
||||
#define isxdigit(c)(_is[c] & XDIGIT) /* '0'-'9', 'a'-'f', 'A'-'F' */
|
||||
|
||||
#define isascii(c) (!((c)&(~0x7f)))
|
||||
#define toascii(c) ((c)&0x7f)
|
||||
|
195
programs/games/nsider/include/kolibrisys.h
Normal file
195
programs/games/nsider/include/kolibrisys.h
Normal file
@ -0,0 +1,195 @@
|
||||
#ifndef kolibrisys_h
|
||||
#define kolibrisys_h
|
||||
/*
|
||||
#ifdef GNUC
|
||||
#define stdcall __stdcall
|
||||
#define cdecl __cdecl
|
||||
#else
|
||||
#define stdcall ((__stdcall))
|
||||
#define cdecl ((__cdecl))
|
||||
#endif
|
||||
*/
|
||||
//#ifdef GNUC
|
||||
//#define stdcall __stdcall
|
||||
//#else
|
||||
#define cdecl __attribute__ ((cdecl))
|
||||
#define stdcall __attribute__ ((stdcall))
|
||||
//#endif
|
||||
|
||||
typedef unsigned int dword;
|
||||
typedef unsigned char byte;
|
||||
typedef unsigned short word;
|
||||
|
||||
typedef unsigned int fpos_t;
|
||||
typedef unsigned int size_t;
|
||||
|
||||
typedef struct process_table_entry{
|
||||
int cpu_usage; //+0
|
||||
int window_pos_info; //+4
|
||||
short int reserved1; //+8
|
||||
char name[12]; //+10
|
||||
int memstart; //+22
|
||||
int memused; //+26
|
||||
int pid; //+30
|
||||
int winx_start; //+34
|
||||
int winy_start; //+38
|
||||
int winx_size; //+42
|
||||
int winy_size; //+46
|
||||
short int slot_info; //+50
|
||||
short int reserved2; //+52
|
||||
int clientx; //+54
|
||||
int clienty; //+58
|
||||
int clientwidth; //+62
|
||||
int clientheight; //+66
|
||||
unsigned char window_state;//+70
|
||||
char reserved3[1024-71]; //+71
|
||||
}__attribute__((packed));
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
//------------------------KolibriOS system acces to files----------------------------
|
||||
//-----------------------------------------------------------------------------------
|
||||
extern dword stdcall _ksys_get_filesize(char *filename);
|
||||
extern dword stdcall _ksys_readfile(char *filename,dword pos,dword blocksize,void *data);
|
||||
extern dword stdcall _ksys_rewritefile(char *filename,dword blocksize,void *data);
|
||||
extern dword stdcall _ksys_appendtofile(char *filename,dword pos,dword blocksize,void *data);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//----------------------Run program---------------------------------------------------
|
||||
extern void stdcall _ksys_run_program(char* filename,char* parameters);
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
//--------------------Debug output---------------------------------------------------
|
||||
extern void stdcall _ksys_debug_out(int c);
|
||||
extern void stdcall debug_out_str(char* str);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------Mouse state----------------------------------------------
|
||||
extern int stdcall _ksys_GetMouseXY(void);
|
||||
extern int stdcall _ksys_GetMouseButtonsState(void);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------get skin height------------------------------------------
|
||||
extern int stdcall _ksys_get_skin_height(void);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//----------------------------background---------------------------------------------
|
||||
extern void stdcall _ksys_set_background_size(int xsize,int ysize);
|
||||
extern void stdcall _ksys_write_background_mem(int pos,int color);
|
||||
extern void stdcall _ksys_draw_background(void);
|
||||
extern void stdcall _ksys_set_background_draw_type(int type);
|
||||
extern void stdcall _ksys_background_blockmove(void* src,int bgr_pos, int count);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//----------------------------functionf for draw window,lines.bar,etc.---------------
|
||||
extern void stdcall _ksys_draw_window(int xcoord,int ycoord, int xsize,
|
||||
int ysize,int workcolor,int type,
|
||||
int captioncolor,int windowtype,int bordercolor);
|
||||
extern void stdcall _ksys_window_redraw(int status);
|
||||
extern int stdcall _ksys_putpixel(int x,int y,int color);
|
||||
extern void stdcall _ksys_draw_bar(int x, int y, int xsize, int ysize, int color);
|
||||
extern void stdcall _ksys_line(int x1,int y1,int x2,int y2,int color);
|
||||
extern void stdcall _ksys_putimage(int x, int y, int xsize, int ysize, void* image);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------write text(system fonts 6x9)-----------------------------
|
||||
extern void stdcall _ksys_write_text(int x,int y,int color,char* text,int len);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//------------------ get screen size and bytes per pixel---------------------------
|
||||
extern int stdcall _ksys_get_screen_size(int* x,int* y);
|
||||
extern void stdcall _ksys_dga_get_resolution(int* xres, int* yres, int* bpp, int* bpscan);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//-------------------------------craete thread---------------------------------------
|
||||
extern void* stdcall _ksys_start_thread(void (* func_ptr)(void),int stack_size,int* pid);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//------------------system button(Old function. Better use libGUI functions.)--------
|
||||
extern void stdcall _ksys_make_button(int x, int y, int xsize, int ysize, int id, int color);
|
||||
extern int stdcall _ksys_get_button_id(void); //get state of system button
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
//----------------------system clock(in 1/100 sec.) and date--------------------------
|
||||
extern int stdcall _ksys_get_system_clock(void);
|
||||
extern int stdcall _ksys_get_date(void);
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
//-------------------------system delay(in 1/100 sec.)-------------------------------
|
||||
extern void stdcall _ksys_delay(int m);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//------------------------system events----------------------------------------------
|
||||
extern int stdcall _ksys_wait_for_event_infinite(void);
|
||||
extern int stdcall _ksys_check_for_event(void);
|
||||
extern int stdcall _ksys_wait_for_event(int time);
|
||||
extern void stdcall _ksys_set_wanted_events(int ev);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//----------------------------system exit program------------------------------------
|
||||
extern void stdcall _ksys_exit(void);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------system IPC send message-------------------------------
|
||||
extern void stdcall _ksys_send_message(int pid, void* msg, int size);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//---------------------------system work with IRQ from user mode---------------------
|
||||
extern void stdcall _ksys_define_receive_area(void* area, int size);
|
||||
extern int stdcall _ksys_get_irq_owner(int irq);
|
||||
extern int stdcall _ksys_get_data_read_by_irq(int irq, int* size, void* data);
|
||||
extern int stdcall _ksys_send_data_to_device(int port, unsigned char val);
|
||||
extern int stdcall _ksys_receive_data_from_device(int port,unsigned char* data);
|
||||
extern void stdcall _ksys_program_irq(void* intrtable, int irq);
|
||||
extern void stdcall _ksys_reserve_irq(int irq);
|
||||
extern void stdcall _ksys_free_irq(int irq);
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
//----------------------------system reserve diapason of ports----------------------
|
||||
extern int stdcall _ksys_reserve_port_area(int start,int end);
|
||||
extern int stdcall _ksys_free_port_area(int start,int end);
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
//-------------functions get key and set keyboard mode------------------------------
|
||||
extern int stdcall _ksys_get_key(void);
|
||||
extern void stdcall _ksys_set_keyboard_mode(int mode);
|
||||
//----------------------------------------------------------------------------------
|
||||
|
||||
//--------------simple work with MPU401 sound device---------------------------------
|
||||
extern void stdcall _ksys_midi_reset(void);
|
||||
extern void stdcall _ksys_midi_send(int data);
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
//--------------------------acces to PCI BUS from user mode---------------------------
|
||||
extern int stdcall _ksys_get_pci_version(void);
|
||||
extern int stdcall _ksys_get_last_pci_bus(void);
|
||||
extern int stdcall _ksys_get_pci_access_mechanism(void);
|
||||
extern int stdcall _ksys_pci_read_config_byte(int bus,int dev,int fn,int reg);
|
||||
extern int stdcall _ksys_pci_read_config_word(int bus,int dev,int fn,int reg);
|
||||
extern int stdcall _ksys_pci_read_config_dword(int bus,int dev,int fn,int reg);
|
||||
extern int stdcall _ksys_pci_write_config_byte(int bus,int dev,int fn,int reg,int value);
|
||||
extern int stdcall _ksys_pci_write_config_word(int bus,int dev,int fn,int reg,int value);
|
||||
extern int stdcall _ksys_pci_write_config_value(int bus,int dev,int fn,int reg,int value);
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
//------------------------Process information--------------------------------------
|
||||
extern int stdcall _ksys_get_process_table(struct process_table_entry *proctab,int pid); //if pid=-1 than get info about him.
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
//-----------------Old functions for work with sound(Sound Blaster only).---------
|
||||
extern void stdcall _ksys_sound_load_block(void* blockptr);
|
||||
extern void stdcall _ksys_sound_play_block(void);
|
||||
extern void stdcall _ksys_sound_set_channels(int channels);
|
||||
extern void stdcall _ksys_sound_set_data_size(int size);
|
||||
extern void stdcall _ksys_sound_set_frequency(int frequency);
|
||||
//--------------------------------------------------------------------------------
|
||||
|
||||
//------------------------------system speaker(integrated speaker)----------------
|
||||
extern void stdcall _ksys_sound_speaker_play(void* data);
|
||||
//--------------------------------------------------------------------------------
|
||||
|
||||
//------------------function for work with Dinamic Link Librarys(DLL)--------------
|
||||
extern dword* stdcall _ksys_cofflib_load(char* name);
|
||||
extern char* stdcall _ksys_cofflib_getproc(void* exp,char* sz_name);
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
#endif
|
179
programs/games/nsider/include/math.h
Normal file
179
programs/games/nsider/include/math.h
Normal file
@ -0,0 +1,179 @@
|
||||
/* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */
|
||||
/* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
|
||||
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
|
||||
|
||||
extern int stdcall integer(float number);
|
||||
|
||||
extern double acos(double _x);
|
||||
extern double asin(double _x);
|
||||
extern double atan(double _x);
|
||||
extern double atan2(double _y, double _x);
|
||||
extern double ceil(double _x);
|
||||
extern double cos(double _x);
|
||||
extern double cosh(double _x);
|
||||
extern double exp(double _x);
|
||||
extern double fabs(double _x);
|
||||
extern double floor(double _x);
|
||||
extern double fmod(double _x, double _y);
|
||||
extern double frexp(double _x, int *_pexp);
|
||||
extern double ldexp(double _x, int _exp);
|
||||
extern double log(double _y);
|
||||
extern double log10(double _x);
|
||||
extern double modf(double _x, double *_pint);
|
||||
extern double pow(double _x, double _y);
|
||||
extern double sin(double _x);
|
||||
extern double sinh(double _x);
|
||||
extern double sqrt(double _x);
|
||||
extern double tan(double _x);
|
||||
extern double tanh(double _x);
|
||||
|
||||
//#ifndef __STRICT_ANSI__
|
||||
|
||||
//#ifndef _POSIX_SOURCE
|
||||
|
||||
#define M_E 2.7182818284590452354
|
||||
#define M_LOG2E 1.4426950408889634074
|
||||
#define M_LOG10E 0.43429448190325182765
|
||||
#define M_LN2 0.69314718055994530942
|
||||
#define M_LN10 2.30258509299404568402
|
||||
#define M_PI 3.14159265358979323846
|
||||
#define M_PI_2 1.57079632679489661923
|
||||
#define M_PI_4 0.78539816339744830962
|
||||
#define M_1_PI 0.31830988618379067154
|
||||
#define M_2_PI 0.63661977236758134308
|
||||
#define M_2_SQRTPI 1.12837916709551257390
|
||||
#define M_SQRT2 1.41421356237309504880
|
||||
#define M_SQRT1_2 0.70710678118654752440
|
||||
#define PI M_PI
|
||||
#define PI2 M_PI_2
|
||||
|
||||
extern double acosh(double);
|
||||
extern double asinh(double);
|
||||
extern double atanh(double);
|
||||
extern double cbrt(double);
|
||||
extern double exp10(double _x);
|
||||
extern double exp2(double _x);
|
||||
extern double expm1(double);
|
||||
extern double hypot(double, double);
|
||||
extern double log1p(double);
|
||||
extern double log2(double _x);
|
||||
extern long double modfl(long double _x, long double *_pint);
|
||||
extern double pow10(double _x);
|
||||
extern double pow2(double _x);
|
||||
extern double powi(double, int);
|
||||
extern void sincos(double *, double *, double);
|
||||
|
||||
/* These are in libm.a (Cygnus). You must link -lm to get these */
|
||||
/* See libm/math.h for comments */
|
||||
/*
|
||||
#ifndef __cplusplus
|
||||
struct exception {
|
||||
int type;
|
||||
const char *name;
|
||||
double arg1;
|
||||
double arg2;
|
||||
double retval;
|
||||
int err;
|
||||
};
|
||||
#endif
|
||||
*/
|
||||
|
||||
extern double erf(double);
|
||||
extern double erfc(double);
|
||||
extern double gamma(double);
|
||||
extern int isinf(double);
|
||||
extern int isnan(double);
|
||||
extern int finite(double);
|
||||
extern double j0(double);
|
||||
extern double j1(double);
|
||||
extern double jn(int, double);
|
||||
extern double lgamma(double);
|
||||
extern double nan(void);
|
||||
extern double y0(double);
|
||||
extern double y1(double);
|
||||
extern double yn(int, double);
|
||||
extern double logb(double);
|
||||
extern double nextafter(double, double);
|
||||
extern double remainder(double, double);
|
||||
extern double scalb(double, double);
|
||||
//#ifndef __cplusplus
|
||||
//extern int matherr(struct exception *);
|
||||
//#endif
|
||||
extern double significand(double);
|
||||
extern double copysign(double, double);
|
||||
extern int ilogb(double);
|
||||
extern double rint(double);
|
||||
extern double scalbn(double, int);
|
||||
extern double drem(double, double);
|
||||
extern double gamma_r(double, int *);
|
||||
extern double lgamma_r(double, int *);
|
||||
extern float acosf(float);
|
||||
extern float asinf(float);
|
||||
extern float atanf(float);
|
||||
extern float atan2f(float, float);
|
||||
extern float cosf(float);
|
||||
extern float sinf(float);
|
||||
extern float tanf(float);
|
||||
extern float coshf(float);
|
||||
extern float sinhf(float);
|
||||
extern float tanhf(float);
|
||||
extern float expf(float);
|
||||
extern float frexpf(float, int *);
|
||||
extern float ldexpf(float, int);
|
||||
extern float logf(float);
|
||||
extern float log10f(float);
|
||||
extern float modff(float, float *);
|
||||
extern float powf(float, float);
|
||||
extern float sqrtf(float);
|
||||
extern float ceilf(float);
|
||||
extern float fabsf(float);
|
||||
extern float floorf(float);
|
||||
extern float fmodf(float, float);
|
||||
extern float erff(float);
|
||||
extern float erfcf(float);
|
||||
extern float gammaf(float);
|
||||
extern float hypotf(float, float);
|
||||
extern int isinff(float);
|
||||
extern int isnanf(float);
|
||||
extern int finitef(float);
|
||||
extern float j0f(float);
|
||||
extern float j1f(float);
|
||||
extern float jnf(int, float);
|
||||
extern float lgammaf(float);
|
||||
extern float nanf(void);
|
||||
extern float y0f(float);
|
||||
extern float y1f(float);
|
||||
extern float ynf(int, float);
|
||||
extern float acoshf(float);
|
||||
extern float asinhf(float);
|
||||
extern float atanhf(float);
|
||||
extern float cbrtf(float);
|
||||
extern float logbf(float);
|
||||
extern float nextafterf(float, float);
|
||||
extern float remainderf(float, float);
|
||||
extern float scalbf(float, float);
|
||||
extern float significandf(float);
|
||||
extern float copysignf(float, float);
|
||||
extern int ilogbf(float);
|
||||
extern float rintf(float);
|
||||
extern float scalbnf(float, int);
|
||||
extern float dremf(float, float);
|
||||
extern float expm1f(float);
|
||||
extern float log1pf(float);
|
||||
extern float gammaf_r(float, int *);
|
||||
extern float lgammaf_r(float, int *);
|
||||
|
||||
//#endif /* !_POSIX_SOURCE */
|
||||
//#endif /* !__STRICT_ANSI__ */
|
||||
//#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
|
||||
|
||||
//#ifndef __dj_ENFORCE_FUNCTION_CALLS
|
||||
//#endif /* !__dj_ENFORCE_FUNCTION_CALLS */
|
||||
|
||||
//#ifdef __cplusplus
|
||||
//}
|
||||
//#endif
|
||||
|
||||
//#endif /* _USE_LIBM_MATH_H */
|
||||
|
||||
//#endif /* !__dj_include_math_h_ */
|
57
programs/games/nsider/include/stdio.h
Normal file
57
programs/games/nsider/include/stdio.h
Normal file
@ -0,0 +1,57 @@
|
||||
#ifndef stdio_h
|
||||
#define stdio_h
|
||||
|
||||
#include "kolibrisys.h"
|
||||
|
||||
typedef char *va_list;
|
||||
#define _roundsize(n) ( (sizeof(n) + 3) & ~3 )
|
||||
#define va_start(ap,v) (ap = (va_list)&v+_roundsize(v))
|
||||
#define va_arg(ap,t) ( *(t *)((ap += _roundsize(t)) - _roundsize(t)) )
|
||||
#define va_end(ap) (ap = (va_list)0)
|
||||
|
||||
#define NULL ((void*)0)
|
||||
//extern int stdcall format_print(char *dest, size_t maxlen, const char *fmt0, va_list argp);
|
||||
|
||||
typedef struct {
|
||||
char* buffer;
|
||||
dword buffersize;
|
||||
dword filesize;
|
||||
dword filepos;
|
||||
char* filename;
|
||||
int mode;
|
||||
} FILE;
|
||||
|
||||
#define FILE_OPEN_READ 0
|
||||
#define FILE_OPEN_WRITE 1
|
||||
#define FILE_OPEN_APPEND 2
|
||||
#define FILE_OPEN_TEXT 4
|
||||
#define FILE_OPEN_PLUS 8
|
||||
#define EOF -1
|
||||
|
||||
extern FILE* fopen(const char* filename, const char *mode);
|
||||
extern void fclose(FILE* file);
|
||||
extern int feof(FILE* file);
|
||||
extern int fflush(FILE* file);
|
||||
extern int fgetc(FILE* file);
|
||||
extern int fgetpos(FILE* file,fpos_t* pos);
|
||||
extern int fsetpos(FILE* file,const fpos_t* pos);
|
||||
extern int fputc(int c,FILE* file);
|
||||
extern int fread(void* buffer,int size,int count,FILE* file);
|
||||
extern int fwrite(void *buffer,int size,int count,FILE* file);
|
||||
extern long ftell(FILE* file);
|
||||
#define SEEK_CUR 0
|
||||
#define SEEK_END 1
|
||||
#define SEEK_SET 2
|
||||
extern int fseek(FILE* file,long offset,int origin);
|
||||
extern void rewind(FILE* file);
|
||||
extern int cdecl fprintf(FILE* file, const char* format,...);
|
||||
extern int fscanf(FILE* file,const char* format,...);
|
||||
extern int ungetc(int c,FILE* file);
|
||||
|
||||
extern int cdecl printf(const char *format,...);
|
||||
|
||||
extern int vsnprintf(char *dest, size_t size,const char *format,va_list ap);
|
||||
extern int cdecl snprintf(char *dest, size_t size, const char *format,...);
|
||||
extern int cdecl sprintf(char *dest,const char *format,...);
|
||||
|
||||
#endif
|
24
programs/games/nsider/include/stdlib.h
Normal file
24
programs/games/nsider/include/stdlib.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef stdlib_h
|
||||
#define stdlib_h
|
||||
#include "kolibrisys.h"
|
||||
|
||||
#define RAND_MAX 65535
|
||||
|
||||
//#define isspace(c) ((c)==' ')
|
||||
#define abs(i) (((i)<0)?(-(i)):(i))
|
||||
|
||||
extern int atoib(char *s,int b);
|
||||
extern int atoi(char *s);
|
||||
extern unsigned char tolower(unsigned char c);
|
||||
extern unsigned char toupper(unsigned char c);
|
||||
extern void itoab(int n,char* s,int b);
|
||||
extern void itoa(int n,char* s);
|
||||
|
||||
extern void* stdcall malloc(dword size);
|
||||
extern void stdcall free(void *pointer);
|
||||
extern void* stdcall realloc(void* pointer,dword size);
|
||||
|
||||
extern int rand (void);
|
||||
extern void srand (unsigned int seed);
|
||||
|
||||
#endif
|
25
programs/games/nsider/include/string.h
Normal file
25
programs/games/nsider/include/string.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef string_h
|
||||
#define string_h
|
||||
extern void* memchr(const void*,int,int);
|
||||
extern int memcmp(const void*,const void*,int);
|
||||
extern void* memcpy(void*,const void*,int);
|
||||
extern void* memmove(void*,const void*,int);
|
||||
extern void* memset(void*,int,int);
|
||||
extern char* strcat(char*,const char*);
|
||||
extern char* strchr(const char*,int);
|
||||
extern int strcmp(const char*,const char*);
|
||||
extern int strcoll(const char*,const char*);
|
||||
extern char* strcpy(char*,const char*);
|
||||
extern int strcspn(const char*,const char*);
|
||||
extern int strlen(const char*);
|
||||
extern char* strncat(char*,const char*,int);
|
||||
extern int strncmp(const char*,const char*,int);
|
||||
extern char* strncpy(char*,const char*,int);
|
||||
extern char* strpbrk(const char*,const char*);
|
||||
extern char* strrchr(const char*,int);
|
||||
extern int strspn(const char*,const char*);
|
||||
extern char* strstr(const char*,const char*);
|
||||
extern char* strtok(char*,const char*);
|
||||
extern int strxfrm(char*,const char*,int);
|
||||
extern char* strdup(const char*);
|
||||
#endif
|
20
programs/games/nsider/kolibri.ld
Normal file
20
programs/games/nsider/kolibri.ld
Normal file
@ -0,0 +1,20 @@
|
||||
/*OUTPUT_FORMAT("binary")*/
|
||||
ENTRY(Start)
|
||||
SECTIONS
|
||||
{
|
||||
.text 0x000000:
|
||||
{
|
||||
*(.text)
|
||||
}
|
||||
|
||||
.data : {
|
||||
*(.data)
|
||||
hEnd = . ;
|
||||
}
|
||||
|
||||
.bss :
|
||||
{
|
||||
*(.bss)
|
||||
}
|
||||
Memory = . ;
|
||||
}
|
119
programs/games/nsider/kolibrisys/_ksys_files_acces.asm
Normal file
119
programs/games/nsider/kolibrisys/_ksys_files_acces.asm
Normal file
@ -0,0 +1,119 @@
|
||||
format COFF
|
||||
|
||||
section '.text' code
|
||||
|
||||
include '../../../proc32.inc'
|
||||
public __ksys_get_filesize
|
||||
public __ksys_readfile
|
||||
public __ksys_rewritefile
|
||||
public __ksys_appendtofile
|
||||
|
||||
align 4
|
||||
proc __ksys_get_filesize stdcall, filename:dword
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,[filename]
|
||||
mov [fileinfo.subproc],dword 5
|
||||
mov [fileinfo.offset_l],eax
|
||||
mov [fileinfo.offset_h],eax
|
||||
mov [fileinfo.size],eax
|
||||
mov [fileinfo.data],dword buffer_for_info
|
||||
mov [fileinfo.letter],al
|
||||
mov [fileinfo.filename],ebx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,fileinfo
|
||||
int 0x40
|
||||
|
||||
test eax,eax
|
||||
jnz error_for_file_size
|
||||
|
||||
mov eax,[buffer_for_info+32] ;file size
|
||||
|
||||
error_for_file_size:
|
||||
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
align 4
|
||||
proc __ksys_readfile stdcall,filename:dword,position:dword,sizeblock:dword,buffer:dword
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,[position]
|
||||
mov ecx,[sizeblock]
|
||||
mov edx,[buffer]
|
||||
mov esi,[filename]
|
||||
mov [fileinfo.subproc],eax
|
||||
mov [fileinfo.offset_l],ebx
|
||||
mov [fileinfo.offset_h],eax
|
||||
mov [fileinfo.size],ecx
|
||||
mov [fileinfo.data],edx
|
||||
mov [fileinfo.letter],al
|
||||
mov [fileinfo.filename],esi
|
||||
|
||||
mov eax,70
|
||||
mov ebx,fileinfo
|
||||
int 0x40
|
||||
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc __ksys_rewritefile stdcall,filename:dword,sizeblock:dword,data_write:dword
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,[sizeblock]
|
||||
mov ecx,[data_write]
|
||||
mov edx,[filename]
|
||||
mov [fileinfo.subproc],dword 2
|
||||
mov [fileinfo.offset_l],eax
|
||||
mov [fileinfo.offset_h],eax
|
||||
mov [fileinfo.size],ebx
|
||||
mov [fileinfo.data],ecx
|
||||
mov [fileinfo.letter],al
|
||||
mov [fileinfo.filename],edx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,fileinfo
|
||||
int 0x40
|
||||
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc __ksys_appendtofile stdcall,filename:dword,pos:dword,sizeblock:dword,data_append:dword
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,[pos]
|
||||
mov ecx,[sizeblock]
|
||||
mov edx,[data_append]
|
||||
mov esi,[filename]
|
||||
mov [fileinfo.subproc],dword 3
|
||||
mov [fileinfo.offset_l],ebx
|
||||
mov [fileinfo.offset_h],eax
|
||||
mov [fileinfo.size],ecx
|
||||
mov [fileinfo.data],edx
|
||||
mov [fileinfo.letter],al
|
||||
mov [fileinfo.filename],esi
|
||||
|
||||
mov eax,70
|
||||
mov ebx,fileinfo
|
||||
int 0x40
|
||||
|
||||
ret
|
||||
endp
|
||||
|
||||
struc FILEIO
|
||||
{
|
||||
.subproc rd 1
|
||||
.offset_l rd 1
|
||||
.offset_h rd 1
|
||||
.size rd 1
|
||||
.data rd 1
|
||||
.letter rb 1
|
||||
.filename rd 1
|
||||
}
|
||||
|
||||
fileinfo FILEIO
|
||||
buffer_for_info rd 11
|
15
programs/games/nsider/kolibrisys/clock.asm
Normal file
15
programs/games/nsider/kolibrisys/clock.asm
Normal file
@ -0,0 +1,15 @@
|
||||
format COFF
|
||||
|
||||
include "../../../proc32.inc"
|
||||
|
||||
section '.text' code
|
||||
public __ksys_get_system_clock
|
||||
|
||||
align 4
|
||||
proc __ksys_get_system_clock stdcall
|
||||
|
||||
mov eax,3
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
endp
|
11
programs/games/nsider/kolibrisys/delay.asm
Normal file
11
programs/games/nsider/kolibrisys/delay.asm
Normal file
@ -0,0 +1,11 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_delay,4
|
||||
;arg1 - time
|
||||
mov edx,ebx
|
||||
mov eax,5
|
||||
mov ebx,[esp+4]
|
||||
int 0x40
|
||||
mov ebx,edx
|
||||
ret 4
|
21
programs/games/nsider/kolibrisys/draw_bar.asm
Normal file
21
programs/games/nsider/kolibrisys/draw_bar.asm
Normal file
@ -0,0 +1,21 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_draw_bar,20
|
||||
;arg1 - x
|
||||
;arg2 - y
|
||||
;arg3 - xsize
|
||||
;arg4 - ysize
|
||||
;arg5 - color
|
||||
push ebx
|
||||
mov eax,13
|
||||
mov ebx,[esp+8]
|
||||
shl ebx,16
|
||||
mov bx,[esp+16]
|
||||
mov ecx,[esp+12]
|
||||
shl ecx,16
|
||||
mov cx,[esp+20]
|
||||
mov edx,[esp+24]
|
||||
int 0x40
|
||||
pop ebx
|
||||
ret 20
|
34
programs/games/nsider/kolibrisys/draw_window.asm
Normal file
34
programs/games/nsider/kolibrisys/draw_window.asm
Normal file
@ -0,0 +1,34 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_draw_window,36
|
||||
;arg1 - xcoord
|
||||
;arg2 - ycoord
|
||||
;arg3 - xsize
|
||||
;arg4 - ysize
|
||||
;arg5 - workcolor
|
||||
;arg6 - type
|
||||
;arg7 - captioncolor
|
||||
;arg8 - windowtype
|
||||
;arg9 - bordercolor
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
push ebx esi edi
|
||||
mov ebx,[ebp+8]
|
||||
shl ebx,16
|
||||
mov bx,[ebp+16]
|
||||
mov ecx,[ebp+12]
|
||||
shl ecx,16
|
||||
mov cx,[ebp+20]
|
||||
mov edx,[ebp+28]
|
||||
shl edx,24
|
||||
add edx,[ebp+24]
|
||||
mov esi,[ebp+36]
|
||||
shl esi,24
|
||||
add esi,[ebp+32]
|
||||
mov edi,[ebp+40]
|
||||
xor eax,eax
|
||||
int 0x40
|
||||
pop edi esi ebx
|
||||
pop ebp
|
||||
ret 36
|
29
programs/games/nsider/kolibrisys/keyboard.asm
Normal file
29
programs/games/nsider/kolibrisys/keyboard.asm
Normal file
@ -0,0 +1,29 @@
|
||||
format COFF
|
||||
|
||||
include "../../../proc32.inc"
|
||||
|
||||
section '.text' code
|
||||
|
||||
public __ksys_get_key
|
||||
public __ksys_set_keyboard_mode
|
||||
|
||||
align 4
|
||||
proc __ksys_get_key stdcall
|
||||
|
||||
mov eax,2
|
||||
int 0x40
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc __ksys_set_keyboard_mode stdcall, mode:dword
|
||||
|
||||
mov edx,ebx
|
||||
mov eax,66
|
||||
xor ebx,ebx
|
||||
inc ebx
|
||||
mov ecx,[mode]
|
||||
mov ebx,edx
|
||||
ret
|
||||
endp
|
21
programs/games/nsider/kolibrisys/line.asm
Normal file
21
programs/games/nsider/kolibrisys/line.asm
Normal file
@ -0,0 +1,21 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_line,20
|
||||
;arg1 - x1
|
||||
;arg2 - y1
|
||||
;arg3 - x2
|
||||
;arg4 - y2
|
||||
;arg5 - color
|
||||
push ebx
|
||||
mov ebx,[esp+8]
|
||||
shl ebx,16
|
||||
mov bx,[esp+16]
|
||||
mov ecx,[esp+12]
|
||||
shl ecx,16
|
||||
mov cx,[esp+20]
|
||||
mov edx,[esp+24]
|
||||
mov eax,38
|
||||
int 0x40
|
||||
pop ebx
|
||||
ret 20
|
38
programs/games/nsider/kolibrisys/memalloc.asm
Normal file
38
programs/games/nsider/kolibrisys/memalloc.asm
Normal file
@ -0,0 +1,38 @@
|
||||
format COFF
|
||||
|
||||
;include "proc32.inc"
|
||||
section '.text' code
|
||||
public _malloc
|
||||
public _free
|
||||
public _realloc
|
||||
|
||||
align 4
|
||||
_malloc:
|
||||
|
||||
mov eax,68
|
||||
mov ebx,12
|
||||
mov ecx,[esp+4] ;size
|
||||
int 0x40
|
||||
|
||||
ret 4
|
||||
|
||||
align 4
|
||||
_free:
|
||||
|
||||
mov eax,68
|
||||
mov ebx,13
|
||||
mov ecx,[esp+4]
|
||||
int 0x40
|
||||
|
||||
ret 4
|
||||
|
||||
align 4
|
||||
_realloc:
|
||||
|
||||
mov ebx,20
|
||||
mov eax,68
|
||||
mov ecx,[esp+4]
|
||||
mov edx,[esp+8]
|
||||
int 0x40
|
||||
|
||||
ret 8
|
7
programs/games/nsider/kolibrisys/public_stdcall.inc
Normal file
7
programs/games/nsider/kolibrisys/public_stdcall.inc
Normal file
@ -0,0 +1,7 @@
|
||||
macro public_stdcall name,size
|
||||
{
|
||||
public name
|
||||
public name#@#size
|
||||
name:
|
||||
name#@#size:
|
||||
}
|
15
programs/games/nsider/kolibrisys/screen.asm
Normal file
15
programs/games/nsider/kolibrisys/screen.asm
Normal file
@ -0,0 +1,15 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_get_screen_size,8
|
||||
;arg1 - x
|
||||
;arg2 - y
|
||||
mov eax,14
|
||||
int 0x40
|
||||
mov ecx,[esp+8]
|
||||
mov [ecx],ax
|
||||
mov word [ecx+2],0
|
||||
shr eax,16
|
||||
mov ecx,[esp+4]
|
||||
mov [ecx],eax
|
||||
ret 8
|
11
programs/games/nsider/kolibrisys/window_redraw.asm
Normal file
11
programs/games/nsider/kolibrisys/window_redraw.asm
Normal file
@ -0,0 +1,11 @@
|
||||
format COFF
|
||||
include "public_stdcall.inc"
|
||||
section '.text' code
|
||||
public_stdcall __ksys_window_redraw,4
|
||||
;arg1 - status
|
||||
mov edx,ebx
|
||||
mov eax,12
|
||||
mov ebx,[esp+4]
|
||||
int 0x40
|
||||
mov ebx,edx
|
||||
ret 4
|
44
programs/games/nsider/start.asm
Normal file
44
programs/games/nsider/start.asm
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
format MS COFF
|
||||
|
||||
public Start
|
||||
public ___path
|
||||
public _PARAM
|
||||
public ___main
|
||||
|
||||
extrn Memory
|
||||
extrn hEnd
|
||||
|
||||
extrn _main
|
||||
|
||||
section ".text" code
|
||||
db "MENUET01"
|
||||
dd 1, Start, hEnd, Memory, hStack, _PARAM, ___path
|
||||
|
||||
Start:
|
||||
|
||||
; èíèöèàëèçàöèÿ êó÷è
|
||||
mov eax, 68
|
||||
mov ebx, 11
|
||||
int 0x40
|
||||
|
||||
; âûçîâ ãëàâíîé ïðîöåäóðû
|
||||
call _main
|
||||
|
||||
; çàâåðøåíèå ðàáîòû ïðîãðàììû
|
||||
mov eax, -1
|
||||
int 0x40
|
||||
|
||||
___main:
|
||||
ret
|
||||
|
||||
section ".bss"
|
||||
|
||||
_PARAM:
|
||||
rb 256
|
||||
|
||||
___path:
|
||||
rb 256
|
||||
|
||||
rb 8*1024
|
||||
hStack:
|
9
programs/games/nsider/stdio/fclose.c
Normal file
9
programs/games/nsider/stdio/fclose.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void fclose(FILE* file)
|
||||
{
|
||||
free(file->buffer);
|
||||
free(file);
|
||||
}
|
5
programs/games/nsider/stdio/feof.c
Normal file
5
programs/games/nsider/stdio/feof.c
Normal file
@ -0,0 +1,5 @@
|
||||
#include <stdio.h>
|
||||
int feof(FILE* file)
|
||||
{
|
||||
return file->filepos>=file->filesize;
|
||||
}
|
7
programs/games/nsider/stdio/fflush.c
Normal file
7
programs/games/nsider/stdio/fflush.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <stdio.h>
|
||||
int fflush(FILE* file)
|
||||
{
|
||||
if ((file->mode & 3)==FILE_OPEN_READ)
|
||||
return 0;
|
||||
return(EOF);
|
||||
}
|
22
programs/games/nsider/stdio/fgetc.c
Normal file
22
programs/games/nsider/stdio/fgetc.c
Normal file
@ -0,0 +1,22 @@
|
||||
#include <stdio.h>
|
||||
int fgetc(FILE* file)
|
||||
{
|
||||
dword res;
|
||||
|
||||
if ((file->mode & 3!=FILE_OPEN_READ) && (file->mode & FILE_OPEN_PLUS==0)) return EOF;
|
||||
|
||||
if (file->filepos>=file->filesize)
|
||||
{
|
||||
return EOF;
|
||||
}
|
||||
else
|
||||
{
|
||||
res=_ksys_readfile(file->filename,file->filepos,1,file->buffer);
|
||||
if (res==0)
|
||||
{
|
||||
file->filepos++;
|
||||
return (int)file->buffer[0];
|
||||
}
|
||||
else return(res);
|
||||
}
|
||||
}
|
6
programs/games/nsider/stdio/fgetpos.c
Normal file
6
programs/games/nsider/stdio/fgetpos.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
int fgetpos(FILE* file,fpos_t* pos)
|
||||
{
|
||||
*pos=file->filepos;
|
||||
return 0;
|
||||
}
|
138
programs/games/nsider/stdio/fopen.c
Normal file
138
programs/games/nsider/stdio/fopen.c
Normal file
@ -0,0 +1,138 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
extern char __argv;
|
||||
extern char __path;
|
||||
|
||||
const char* getfullpath(const char *path){
|
||||
|
||||
int i,j,relpath_pos,localpath_size;
|
||||
int filename_size;
|
||||
char local_path;
|
||||
char *programpath;
|
||||
char *newpath;
|
||||
|
||||
i=0;
|
||||
local_path=1; //enable local path
|
||||
while((*(path+i)!='\0') || (*(path+i)!=0))
|
||||
{
|
||||
if (*(path+i)=='.')
|
||||
{
|
||||
if (*(path+i+1)=='/')
|
||||
{ //detected relative path
|
||||
relpath_pos=i+2;
|
||||
local_path=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (*(path+i)=='/')
|
||||
{ //disabple local path
|
||||
local_path=0;
|
||||
return(path);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
filename_size=i;
|
||||
|
||||
programpath=&__path;
|
||||
|
||||
if (local_path==1)
|
||||
{
|
||||
i=0x400;
|
||||
//find local path of program
|
||||
while(*(programpath+i)!='/')
|
||||
{
|
||||
i--;
|
||||
}
|
||||
localpath_size=i;
|
||||
newpath=malloc(0x400);
|
||||
//copy local path to the new path
|
||||
for(i=0;i<=localpath_size;i++)
|
||||
{
|
||||
*(newpath+i)=*(programpath+i);
|
||||
}
|
||||
//copy filename to the new path
|
||||
for(i=0;i<filename_size;i++)
|
||||
{
|
||||
*(newpath+localpath_size+1+i)=*(path+i);
|
||||
}
|
||||
return(newpath);
|
||||
}
|
||||
|
||||
//if we here than path is a relative
|
||||
i=0x400;
|
||||
//find local path of program
|
||||
while(*(programpath+i)!='/')
|
||||
{
|
||||
i--;
|
||||
}
|
||||
localpath_size=i;
|
||||
i=0;
|
||||
//find file name size
|
||||
while((*(path+relpath_pos+i)!='\0') || (*(path+relpath_pos+i)!=0))
|
||||
{
|
||||
i++;
|
||||
}
|
||||
filename_size=i;
|
||||
newpath=malloc(0x400);
|
||||
//copy local path to the new path
|
||||
for(i=0;i<=localpath_size;i++)
|
||||
{
|
||||
*(newpath+i)=*(programpath+i);
|
||||
}
|
||||
//copy filename to the new path
|
||||
for(i=0;i<filename_size;i++)
|
||||
{
|
||||
*(newpath+localpath_size+1+i)=*(path+relpath_pos+i);
|
||||
}
|
||||
return(newpath);
|
||||
}
|
||||
|
||||
|
||||
FILE* fopen(const char* filename, const char *mode)
|
||||
{
|
||||
FILE* res;
|
||||
int imode;
|
||||
imode=0;
|
||||
if (*mode=='r')
|
||||
{
|
||||
imode=FILE_OPEN_READ;
|
||||
mode++;
|
||||
}else if (*mode=='w')
|
||||
{
|
||||
imode=FILE_OPEN_WRITE;
|
||||
mode++;
|
||||
}else if (*mode=='a')
|
||||
{
|
||||
imode=FILE_OPEN_APPEND;
|
||||
mode++;
|
||||
}else
|
||||
return 0;
|
||||
if (*mode=='t')
|
||||
{
|
||||
imode|=FILE_OPEN_TEXT;
|
||||
mode++;
|
||||
}else if (*mode=='b')
|
||||
mode++;
|
||||
if (*mode=='+')
|
||||
{
|
||||
imode|=FILE_OPEN_PLUS;
|
||||
mode++;
|
||||
}
|
||||
if (*mode!=0)
|
||||
return 0;
|
||||
res=malloc(sizeof(FILE));
|
||||
res->buffer=malloc(256);
|
||||
res->buffersize=256;
|
||||
res->filesize=0;
|
||||
res->filepos=0;
|
||||
res->mode=imode;
|
||||
res->filename=getfullpath(filename);
|
||||
|
||||
if ((imode==FILE_OPEN_READ) || (imode==FILE_OPEN_APPEND))
|
||||
{
|
||||
res->filesize=_ksys_get_filesize(res->filename);
|
||||
}
|
||||
return res;
|
||||
}
|
35
programs/games/nsider/stdio/fputc.c
Normal file
35
programs/games/nsider/stdio/fputc.c
Normal file
@ -0,0 +1,35 @@
|
||||
#include <stdio.h>
|
||||
int fputc(int c,FILE* file)
|
||||
{
|
||||
dword res;
|
||||
|
||||
if ((file->mode & 3)==FILE_OPEN_READ) return EOF;
|
||||
|
||||
file->buffer[0]=c;
|
||||
if ((file->mode & 3)==FILE_OPEN_APPEND)
|
||||
{
|
||||
file->filepos=file->filesize;
|
||||
file->filesize++;
|
||||
res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
|
||||
if (res!=0) return(res);
|
||||
file->filepos++;
|
||||
return(0);
|
||||
}
|
||||
if ((file->mode & 3)==FILE_OPEN_WRITE)
|
||||
{
|
||||
if (file->filepos==0)
|
||||
{ //file not craeted
|
||||
res=_ksys_rewritefile(file->filename,1,file->buffer);
|
||||
if (res!=0) return(res);
|
||||
file->filepos++;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{ //file craeted and need append one byte
|
||||
res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
|
||||
if (res!=0) return(res);
|
||||
file->filepos++;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
26
programs/games/nsider/stdio/fread.c
Normal file
26
programs/games/nsider/stdio/fread.c
Normal file
@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
#include <kolibrisys.h>
|
||||
|
||||
int fread(void *buffer,int size,int count,FILE* file)
|
||||
{
|
||||
dword res;
|
||||
dword fullsize;
|
||||
|
||||
if ((file->mode!=FILE_OPEN_READ) || (file->mode==FILE_OPEN_PLUS)) return 0;
|
||||
|
||||
fullsize=count*size;
|
||||
if ((fullsize+file->filepos)>(file->filesize))
|
||||
{
|
||||
fullsize=file->filesize-file->filepos;
|
||||
if (fullsize<=0) return(0);
|
||||
}
|
||||
|
||||
res=_ksys_readfile(file->filename,file->filepos,fullsize,buffer);
|
||||
if (res==0)
|
||||
{
|
||||
file->filepos=file->filepos+fullsize;
|
||||
fullsize=fullsize/size;
|
||||
return(fullsize);
|
||||
}
|
||||
else return 0;
|
||||
}
|
11
programs/games/nsider/stdio/fseek.c
Normal file
11
programs/games/nsider/stdio/fseek.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include <stdio.h>
|
||||
int fseek(FILE* file,long offset,int origin)
|
||||
{
|
||||
if (origin==SEEK_CUR)
|
||||
offset+=file->filepos;
|
||||
else if (origin==SEEK_END)
|
||||
offset+=file->filesize;
|
||||
else if (origin!=SEEK_SET)
|
||||
return EOF;
|
||||
return fsetpos(file,offset);
|
||||
}
|
11
programs/games/nsider/stdio/fsetpos.c
Normal file
11
programs/games/nsider/stdio/fsetpos.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include <stdio.h>
|
||||
int fsetpos(FILE* file,const fpos_t * pos)
|
||||
{
|
||||
if (*pos>=0)
|
||||
{
|
||||
file->filepos=*pos;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return EOF;
|
||||
}
|
5
programs/games/nsider/stdio/ftell.c
Normal file
5
programs/games/nsider/stdio/ftell.c
Normal file
@ -0,0 +1,5 @@
|
||||
#include <stdio.h>
|
||||
long ftell(FILE* file)
|
||||
{
|
||||
return file->filepos;
|
||||
}
|
58
programs/games/nsider/stdio/fwrite.c
Normal file
58
programs/games/nsider/stdio/fwrite.c
Normal file
@ -0,0 +1,58 @@
|
||||
#include <stdio.h>
|
||||
#include <kolibrisys.h>
|
||||
|
||||
int fwrite(void *buffer,int size,int count,FILE* file)
|
||||
{
|
||||
dword res;
|
||||
dword fullsize;
|
||||
|
||||
if (file->mode==FILE_OPEN_READ) return 0;
|
||||
|
||||
if (file->mode==FILE_OPEN_APPEND)
|
||||
file->filepos=file->filesize;
|
||||
fullsize=count*size;
|
||||
|
||||
if ((file->filesize)<(file->filepos+fullsize)) file->filesize=file->filepos+fullsize;
|
||||
|
||||
/*
|
||||
if (file->mode==FILE_OPEN_APPEND)
|
||||
{
|
||||
file->filepos==file->filesize;
|
||||
res=_ksys_appendtofile(file->filename,file->filepos,fullsize,buffer);
|
||||
if (res==0)
|
||||
{
|
||||
file->filepos+=fullsize;
|
||||
fullsize=fullsize/size;
|
||||
return(fullsize);
|
||||
}
|
||||
else return(0);
|
||||
|
||||
}
|
||||
*/
|
||||
if ((file->mode==FILE_OPEN_WRITE) || (file->mode==FILE_OPEN_APPEND))
|
||||
{
|
||||
if (file->filepos==0)
|
||||
{ //file mot craeted yet
|
||||
res=_ksys_rewritefile(file->filename,fullsize,buffer);
|
||||
if (res==0)
|
||||
{
|
||||
file->filepos+=fullsize;
|
||||
fullsize=fullsize/count;
|
||||
return(fullsize);
|
||||
}
|
||||
else return(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
res=_ksys_appendtofile(file->filename,file->filepos,fullsize,buffer);
|
||||
if (res==0)
|
||||
{
|
||||
file->filepos+=fullsize;
|
||||
fullsize=fullsize/count;
|
||||
return(fullsize);
|
||||
}
|
||||
else return(0);
|
||||
}
|
||||
}
|
||||
else return(0);
|
||||
}
|
5
programs/games/nsider/stdio/rewind.c
Normal file
5
programs/games/nsider/stdio/rewind.c
Normal file
@ -0,0 +1,5 @@
|
||||
#include <stdio.h>
|
||||
void rewind(FILE* file)
|
||||
{
|
||||
file->filepos=0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user