Пример #1
0
bool Pass::Save(void* wrapper)
{
    EnumUtil::Ptr enumUtil = EnumUtil::Instance();

    std::vector<std::string> strs;
    std::string emptyStr;

    StartObject(wrapper);

    SaveKey(wrapper, "name");
    SaveValue(wrapper, m_Name);

    SaveKey(wrapper, "camera");
    SaveValue(wrapper, m_CameraNode == nullptr ? "" : m_CameraNode->GetName());

    std::vector<Shader::Ptr> shaders;
    shaders.reserve(m_ShaderMap.size());
    for (auto pair : m_ShaderMap)
        shaders.push_back(pair.second);

    SaveKey(wrapper, "shaders");
    SaveArray(wrapper, m_ShaderMap.size(), [&](unsigned int index)
    {
        SaveValue(wrapper, shaders[index]->GetName());
    });

    SaveKey(wrapper, "input");
    SaveArray(wrapper, m_InputTextures.size(), [&](unsigned int index)
    {
        SaveValue(wrapper, m_InputTextures[index]->GetName());
    });

    SaveKey(wrapper, "output");
    SaveArray(wrapper, m_OutputTextures.size(), [&](unsigned int index)
    {
        SaveValue(wrapper, m_OutputTextures[index]->GetName());
    });

    SaveKey(wrapper, "index");
    SaveValue(wrapper, (int&)m_RenderIndex);

    SaveKey(wrapper, "blendMode");
    SaveValue(wrapper, enumUtil->BlendModeToString(m_BlendMode));

    SaveKey(wrapper, "compareMode");
    SaveValue(wrapper, enumUtil->CompareModeToString(m_CompareMode));

    SaveKey(wrapper, "cullMode");
    SaveValue(wrapper, enumUtil->CullModeToString(m_CullMode));

    SaveKey(wrapper, "drawMode");
    SaveValue(wrapper, enumUtil->DrawModeToString(m_DrawMode));

    EndObject(wrapper);

    return true;
}
void SaveArray(CContextSave &rContext, const Type *pArray, int nElement, char delim = ' ')
{
    pnlString buf;
    
    SaveArray(buf, pArray, nElement, delim);
    rContext.AddText(buf.c_str());
}
Пример #3
0
	bool Shader::Save(void* wrapper)
	{
		StartObject(wrapper);

		SaveKey(wrapper, "name");
		SaveValue(wrapper, m_Name);

		SaveKey(wrapper, "type");
		SaveValue(wrapper, EnumUtil::ShaderTypeToString(m_Type));

		std::vector<ShaderTexture> enums;
		EnumUtil::GetShaderTextures(m_TextureFlags, enums);

		SaveKey(wrapper, "textures");
		SaveArray(wrapper, enums.size(), [&](unsigned int index)
		{
			SaveValue(wrapper, EnumUtil::ShaderTextureToString(enums[index]));
		});

		SaveKey(wrapper, "path");
		SaveValue(wrapper, m_FilePath);

		EndObject(wrapper);

		return true;
	}
Пример #4
0
void CHierarchicalDP::SaveResult( const char *dir )
{
	char dirname[256];
	char filename[256];

	strcpy( dirname , dir );
	int len = (int)strlen( dir );
	if( len==0 || dir[len-1] != '\\' || dir[len-1] != '/' ) strcat( dirname , "\\" );
	
	CreateDirectory( dirname , NULL );

	std::vector< std::vector<double> > Pz = GetPz_dk();
	sprintf( filename , "%sPz.txt" , dirname );
	SaveMatrix( Pz , (int)Pz[0].size() , (int)Pz.size() , filename );

	std::vector<int> classRes = GetClassificationResult_d();
	sprintf( filename , "%sClusteringResult.txt" , dirname );
	SaveArray( classRes , (int)classRes.size() , filename );	

}
Пример #5
0
void Config::SaveConfig(const std::string path)
{
	std::ofstream output_file(path);

	if (!output_file.good())
		return;

	Save(g_Options.misc_autoaccept, "misc_autoaccept");
	Save(g_Options.misc_revealAllRanks, "misc_revealAllRanks");
	Save(g_Options.misc_bhop, "misc_bhop");
	Save(g_Options.misc_autostrafe, "misc_autostrafe");
	Save(g_Options.misc_auto_pistol, "misc_auto_pistol");
	Save(g_Options.misc_chatspamer, "misc_chatspamer");
	Save(g_Options.misc_thirdperson, "misc_thirdperson");
	Save(g_Options.misc_thirdperson_bind, "misc_thirdperson_bind");
	Save(g_Options.misc_fakewalk, "misc_fakewalk");
	Save(g_Options.misc_fakewalk_bind, "misc_fakewalk_bind");
	Save(g_Options.misc_fakelag_enabled, "misc_fakelag_enabled");
	Save(g_Options.misc_fakelag_value, "misc_fakelag_value");
	Save(g_Options.misc_fakelag_activation_type, "misc_fakelag_activation_type");
	Save(g_Options.misc_fakelag_adaptive, "misc_fakelag_adaptive");
	Save(g_Options.misc_animated_clantag, "misc_animated_clantag");
	Save(g_Options.misc_spectatorlist, "misc_spectatorlist");
	Save(g_Options.misc_logevents, "misc_logevents");
	Save(g_Options.removals_flash, "removals_flash");
	Save(g_Options.removals_smoke, "removals_smoke");
	Save(g_Options.removals_smoke_type, "removals_smoke_type");
	Save(g_Options.removals_scope, "removals_scope");
	Save(g_Options.removals_novisualrecoil, "removals_novisualrecoil");
	Save(g_Options.removals_postprocessing, "removals_postprocessing");
	Save(g_Options.esp_enemies_only, "esp_enemies_only");
	Save(g_Options.esp_farther, "esp_farther");
	Save(g_Options.esp_fill_amount, "esp_fill_amount");
	SaveArray(g_Options.esp_player_fill_color_t, "esp_player_fill_color_t");
	SaveArray(g_Options.esp_player_fill_color_ct, "esp_player_fill_color_ct");
	SaveArray(g_Options.esp_player_fill_color_t_visible, "esp_player_fill_color_t_visible");
	SaveArray(g_Options.esp_player_fill_color_ct_visible, "esp_player_fill_color_ct_visible");
	Save(g_Options.esp_player_boundstype, "esp_player_boundstype");
	Save(g_Options.esp_player_boxtype, "esp_player_boxtype");
	SaveArray(g_Options.esp_player_bbox_color_t, "esp_player_bbox_color_t");
	SaveArray(g_Options.esp_player_bbox_color_ct, "esp_player_bbox_color_ct");
	SaveArray(g_Options.esp_player_bbox_color_t_visible, "esp_player_bbox_color_t_visible");
	SaveArray(g_Options.esp_player_bbox_color_ct_visible, "esp_player_bbox_color_ct_visible");
	Save(g_Options.esp_player_name, "esp_player_name");
	Save(g_Options.esp_player_health, "esp_player_health");
	Save(g_Options.esp_player_weapons, "esp_player_weapons");
	Save(g_Options.esp_player_snaplines, "esp_player_snaplines");
	Save(g_Options.esp_player_chams, "esp_player_chams");
	Save(g_Options.esp_player_chams_type, "esp_player_chams_type");
	SaveArray(g_Options.esp_player_chams_color_t_visible, "esp_player_chams_color_t_visible");
	SaveArray(g_Options.esp_player_chams_color_ct_visible, "esp_player_chams_color_ct_visible");
	SaveArray(g_Options.esp_player_chams_color_t, "esp_player_chams_color_t");
	SaveArray(g_Options.esp_player_chams_color_ct, "esp_player_chams_color_ct");
	Save(g_Options.esp_player_skelet, "esp_player_skelet");
	Save(g_Options.esp_player_anglelines, "esp_player_anglelines");
	Save(g_Options.esp_dropped_weapons, "esp_dropped_weapons");
	Save(g_Options.esp_planted_c4, "esp_planted_c4");
	Save(g_Options.esp_grenades, "esp_grenades");
	Save(g_Options.esp_grenades_type, "esp_grenades_type");
	Save(g_Options.esp_backtracked_player_skelet, "esp_backtracked_player_skelet");
	Save(g_Options.esp_lagcompensated_hitboxes, "esp_lagcompensated_hitboxes");
	Save(g_Options.esp_lagcompensated_hitboxes_type, "esp_lagcompensated_hitboxes_type");
	Save(g_Options.visuals_others_player_fov, "visuals_others_player_fov");
	Save(g_Options.visuals_others_player_fov_viewmodel, "visuals_others_player_fov_viewmodel");
	Save(g_Options.visuals_others_watermark, "visuals_others_watermark");
	Save(g_Options.visuals_others_grenade_pred, "visuals_others_grenade_pred");
	Save(g_Options.visuals_others_hitmarker, "visuals_others_hitmarker");
	Save(g_Options.visuals_others_bulletimpacts, "visuals_others_bulletimpacts");
	SaveArray(g_Options.visuals_others_bulletimpacts_color, "visuals_others_bulletimpacts_color");
	Save(g_Options.visuals_others_sky, "visuals_others_sky");
	Save(g_Options.glow_enabled, "glow_enabled");
	Save(g_Options.glow_players, "glow_players");
	SaveArray(g_Options.glow_player_color_t, "glow_player_color_t");
	SaveArray(g_Options.glow_player_color_ct, "glow_player_color_ct");
	SaveArray(g_Options.glow_player_color_t_visible, "glow_player_color_t_visible");
	SaveArray(g_Options.glow_player_color_ct_visible, "glow_player_color_ct_visible");
	Save(g_Options.glow_players_style, "glow_players_style");
	Save(g_Options.glow_others, "glow_others");
	Save(g_Options.glow_others_style, "glow_others_style");
	Save(g_Options.legit_enabled, "legit_enabled");
	Save(g_Options.legit_aimkey1, "legit_aimkey1");
	Save(g_Options.legit_aimkey2, "legit_aimkey2");
	Save(g_Options.legit_rcs, "legit_rcs");
	Save(g_Options.legit_trigger, "legit_trigger");
	Save(g_Options.legit_trigger_with_aimkey, "legit_trigger_with_aimkey");
	Save(g_Options.legit_preaim, "legit_preaim");
	Save(g_Options.legit_aftershots, "legit_aftershots");
	Save(g_Options.legit_afteraim, "legit_afteraim");
	Save(g_Options.legit_smooth_factor, "legit_smooth_factor");
	Save(g_Options.legit_fov, "legit_fov");
	Save(g_Options.rage_enabled, "rage_enabled");
	Save(g_Options.rage_aimkey, "rage_aimkey");
	Save(g_Options.rage_usekey, "rage_usekey");
	Save(g_Options.rage_silent, "rage_silent");
	Save(g_Options.rage_norecoil, "rage_norecoil");
	Save(g_Options.rage_autoshoot, "rage_autoshoot");
	Save(g_Options.rage_autoscope, "rage_autoscope");
	Save(g_Options.rage_autocrouch, "rage_autocrouch");
	Save(g_Options.rage_autostop, "rage_autostop");
	Save(g_Options.rage_autobaim, "rage_autobaim");
	Save(g_Options.rage_autocockrevolver, "rage_autocockrevolver");
	Save(g_Options.rage_baim_after_x_shots, "rage_baim_after_x_shots");
	Save(g_Options.rage_lagcompensation, "rage_lagcompensation");
	Save(g_Options.rage_lagcompensation_type, "rage_lagcompensation_type");
	Save(g_Options.rage_fixup_entities, "rage_fixup_entities");
	Save(g_Options.rage_mindmg, "rage_mindmg");
	Save(g_Options.rage_hitchance_amount, "rage_hitchance_amount");
	Save(g_Options.rage_hitbox, "rage_hitbox");
	Save(g_Options.rage_prioritize, "rage_prioritize");
	Save(g_Options.rage_multipoint, "rage_multipoint");
	Save(g_Options.rage_pointscale, "rage_pointscale");
	SaveArray(g_Options.rage_multiHitboxes, "rage_multiHitboxes");
	Save(g_Options.hvh_antiaim_x, "hvh_antiaim_x");
	Save(g_Options.hvh_antiaim_y, "hvh_antiaim_y");
	Save(g_Options.hvh_antiaim_y_fake, "hvh_antiaim_y_fake");
	Save(g_Options.hvh_antiaim_lby_breaker, "hvh_antiaim_lby_breaker");
	Save(g_Options.hvh_show_real_angles, "hvh_show_real_angles");
	Save(g_Options.hvh_resolver, "hvh_resolver");
	Save(g_Options.hvh_resolver_override, "hvh_resolver_override");
	Save(g_Options.hvh_resolver_override_key, "hvh_resolver_override_key");
	Save(g_Options.skinchanger_enabled, "skinchanger_enabled");

	output_file << std::setw(4) << config << std::endl;
	output_file.close();
}
Пример #6
0
inline HRESULT KAppFile::SaveRule(KRecordWriter* pWriter, KAppRule* pRule)
{
	// 保存id
	if (pRule->GetID())
		SaveStruct(pRule->GetID(), pWriter, AppRule_RuleID);

	// 保存exepath
	if (pRule->GetExePath())
		SaveString(pRule->GetExePath(), pWriter, AppRule_ExePath);

	INT nUserMode = pRule->GetUserMode();
	INT nTrustMode = pRule->GetTrustMode();
	SaveStruct(&nUserMode, pWriter, AppRule_UserMode);
	SaveStruct(&nTrustMode, pWriter, AppRule_TrustMode);
	SaveArray(pRule->m_checkSum, countof(pRule->m_checkSum), pWriter, AppRule_CheckSum);
	SaveStruct(pRule->GetLastFileTime(), pWriter, AppRule_LastFileTime);
	
	// 保存creator
	if (pRule->GetCreator())
		SaveString(pRule->GetCreator(), pWriter, AppRule_Creator);

	if (pRule->GetCreateDate())
		SaveStruct(pRule->GetCreateDate(), pWriter, AppRule_CreateDate);

	if (pRule->GetCreateReason())
		SaveString(pRule->GetCreateReason(), pWriter, AppRule_CreateReason);

	if (pRule->GetLastModifyDate())
		SaveStruct(pRule->GetLastModifyDate(), pWriter, AppRule_LastModifyDate);

	if (pRule->GetLastModifyer())
		SaveString(pRule->GetLastModifyer(), pWriter, AppRule_LastModifyer);

	KRecordWriter* pDenyList = pWriter->StartCompRecord(AppRule_DenyPortList);
	if (pRule->m_tcpRemoteDenyRange.size() > 0)
	{
		KRecordWriter* pRangeList = pDenyList->StartRecord(AppRule_TcpRemotePortList);
		KPortRange* pRange = &pRule->m_tcpRemoteDenyRange[0];
		pRangeList->Write(pRange, (INT)pRule->m_tcpRemoteDenyRange.size());
		pRangeList->EndRecord();
		delete pRangeList;
	}
	if (pRule->m_tcpLocalDenyRange.size() > 0)
	{
		KRecordWriter* pRangeList = pDenyList->StartRecord(AppRule_TcpLocalPortList);
		KPortRange* pRange = &pRule->m_tcpLocalDenyRange[0];
		pRangeList->Write(pRange, (INT)pRule->m_tcpLocalDenyRange.size());
		pRangeList->EndRecord();
		delete pRangeList;
	}
	if (pRule->m_udpRemoteDenyRange.size() > 0)
	{
		KRecordWriter* pRangeList = pDenyList->StartRecord(AppRule_UdpRemotePortList);
		KPortRange* pRange = &pRule->m_udpRemoteDenyRange[0];
		pRangeList->Write(pRange, (INT)pRule->m_udpRemoteDenyRange.size());
		pRangeList->EndRecord();
		delete pRangeList;
	}
	if (pRule->m_udpLocalDenyRange.size() > 0)
	{
		KRecordWriter* pRangeList = pDenyList->StartRecord(AppRule_UdpLocalPortList);
		KPortRange* pRange = &pRule->m_udpLocalDenyRange[0];
		pRangeList->Write(pRange, (INT)pRule->m_udpLocalDenyRange.size());
		pRangeList->EndRecord();
		delete pRangeList;
	}
	pDenyList->EndRecord();
	delete pDenyList;

	return S_OK;
}
Пример #7
0
void LevelEditor () {
	int i=0;
	int j=0;
	if (Panel==0) {
		if ((Key=='d' || Arrow=='M') && Tile_X<399) Tile_X++;
		if ((Key=='a' || Arrow=='K') && Tile_X>0) Tile_X--;
		if ((Key=='s' || Arrow=='P') && Tile_Y<8) Tile_Y++;
		if ((Key=='w' || Arrow=='H') && Tile_Y>0) Tile_Y--;
		if ((Key==' ' || Arrow==28)) {
			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' || Arrow=='P') && Tile_Type<5) Tile_Type++;
		if ((Key=='w' || Arrow=='H') && Tile_Type>0) Tile_Type--;
	}
	if (Panel==2) {
		if ((Key=='s' || Arrow=='P') && Q_SELECTED<5) Q_SELECTED++;
		if ((Key=='w' || Arrow=='H') && Q_SELECTED>0) Q_SELECTED--;
		if ((Key==' ' || Arrow==28) && 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' || Arrow=='M') && GLOBAL_CHECKPOINT<399) GLOBAL_CHECKPOINT++;
			if ((Key=='a' || Arrow=='K') && GLOBAL_CHECKPOINT>0) GLOBAL_CHECKPOINT--;
		}
		if ((Key==' ' || Arrow==28) && 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==' ' || Arrow==28) && Q_SELECTED==3) SaveArray();
		if (Q_SELECTED==4) {
			if ((Key=='a' || Arrow=='K') && LevelProps[CURRENT_LEVEL][2]>3) LevelProps[CURRENT_LEVEL][2]--;
			if ((Key=='d' || Arrow=='M') && LevelProps[CURRENT_LEVEL][2]<10) LevelProps[CURRENT_LEVEL][2]++;
			HeroSides=LevelProps[CURRENT_LEVEL][2];
		}
		if ((Key==' ' || Arrow==28) && 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;
	}
}